JPWO2010137229A1 - Periodic process execution system, periodic process execution method, and periodic process execution program - Google Patents

Periodic process execution system, periodic process execution method, and periodic process execution program Download PDF

Info

Publication number
JPWO2010137229A1
JPWO2010137229A1 JP2011515852A JP2011515852A JPWO2010137229A1 JP WO2010137229 A1 JPWO2010137229 A1 JP WO2010137229A1 JP 2011515852 A JP2011515852 A JP 2011515852A JP 2011515852 A JP2011515852 A JP 2011515852A JP WO2010137229 A1 JPWO2010137229 A1 JP WO2010137229A1
Authority
JP
Japan
Prior art keywords
trigger
time
transmission
transmitted
external device
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.)
Pending
Application number
JP2011515852A
Other languages
Japanese (ja)
Inventor
俊夫 小出
俊夫 小出
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2010137229A1 publication Critical patent/JPWO2010137229A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

定期処理実行システムは、定期処理を実行させるためのトリガを送信する複数の外部装置と、外部装置に対して定期的に処理を実行させる定期処理実行装置とを備えている。定期処理実行装置は、トリガ送信判断手段と、トリガ送信手段とを備えている。トリガ送信判断手段は、外部装置からトリガを受信したことを契機として、トリガの送信対象となる外部装置に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、外部装置に対してトリガを送信すると判断する。トリガ送信手段は、トリガ送信判断手段がトリガを送信すると判断したことに基づいて、外部装置にトリガを送信する。The periodic process execution system includes a plurality of external devices that transmit a trigger for executing a periodic process, and a periodic process execution device that causes the external device to periodically execute a process. The periodic process execution device includes trigger transmission determination means and trigger transmission means. The trigger transmission determining means triggers the reception of the trigger from the external device, and the elapsed time from the time when the trigger was transmitted in the past to the external device that is the trigger transmission target has reached a predetermined trigger transmission interval. On the condition that the trigger is transmitted to the external device. The trigger transmission unit transmits the trigger to the external device based on the determination that the trigger transmission determination unit transmits the trigger.

Description

本発明は、定期的に処理を実行する定期処理実行システム、及びその定期処理実行システムに適用される定期処理実行装置、定期処理実行方法、定期処理実行プログラムに関する。   The present invention relates to a periodic processing execution system that periodically executes processing, and a periodic processing execution device, a periodic processing execution method, and a periodic processing execution program that are applied to the periodic processing execution system.

定期的な処理を必要とするシステムが各種存在する。定期処理が必要なシステムとして、例えば、分散ハッシュ表(Distributed Hash Table。以下、DHTと記す。)を構築して利用するシステムが挙げられる。   There are various systems that require regular processing. An example of a system that requires periodic processing is a system that constructs and uses a distributed hash table (hereinafter referred to as DHT).

ここで、DHTを使用したネットワークについて説明する。DHTを実現するアルゴリズムの一つにコード(Chord)がある。コード(Chord)は、0から2の160乗−1までのIDを利用したアルゴリズムである。コード(Chord)は、ID「2の160乗−1」の次を、ID「0」につなげることでループ状の空間を形成する。各ノードには、空間を形成するIDの中から一つのIDが付与される。さらに、各ノードは、自分のIDの前後いくつかと、自分から2のn乗離れたIDを持つノードリストを保持する。各ノードが、分散したノードリストを保持し、そのノードリスト内のノードの接続状況を確認することで、空間内のノードを管理する。なお、コード(Chord)で使用可能なIDの個数をIDの空間サイズと記すこともある。例えば、0から2の160乗−1までのIDを利用した場合、IDの空間サイズは2の160乗になる。   Here, a network using DHT will be described. One of the algorithms for realizing DHT is a code (Chord). The code (Chord) is an algorithm using IDs from 0 to 2 to the 160th power -1. The code (Chord) forms a loop-shaped space by connecting the ID “2 to the 160th power−1” next to the ID “0”. Each node is assigned one ID from among the IDs forming the space. Further, each node holds a node list having IDs that are somewhere before and after its own ID and IDs that are 2 to the power of n. Each node maintains a distributed node list, and manages the nodes in the space by checking the connection status of the nodes in the node list. The number of IDs that can be used in the code (Chord) may be described as the ID space size. For example, when IDs from 0 to 2 to the 160th power −1 are used, the ID space size is 2 to the 160th power.

DHTを使用したネットワーク(以下、DHTネットワークと記す。)では、そのネットワーク内のノードの接続状況を、各ノードが定期的に確認する必要がある。そのため、例えば、DHTネットワークにノードが参加、あるいは脱退することにより、各ノードが担当する部分空間が変更される場合、その変更に伴ってノードリストを定期的に再構成する必要がある。このようなネットワークでは、ノードリストの再構成処理を、各ノード自身が定期的に起動して実行したり、他の装置からの定期的な起動指示に応じて実行したりする。このようにして各ノードは、ノードリストの再構成を定期的に行う。   In a network using DHT (hereinafter referred to as a DHT network), it is necessary for each node to periodically check the connection status of the nodes in the network. Therefore, for example, when a partial space assigned to each node is changed due to the participation or withdrawal of the node in the DHT network, it is necessary to periodically reconfigure the node list in accordance with the change. In such a network, the node list reconfiguration process is periodically started and executed by each node itself, or in response to a periodic start instruction from another device. In this way, each node periodically reconstructs the node list.

上記のようなシステムでは、定期的な処理を実現するため、処理を行うための実行指示(以下、トリガと記す。)を定期的に発生させる技術を利用している。例えば、Linux(登録商標)のOS(Operating System)で提供されるcron(決められた時間や間隔でプログラムを実行する機能)等の技術を利用することにより、定期的にトリガを発生させることができる。また、1つのプロセスを永続的に立ち上げ、処理を繰り返すことによって定期的にトリガを発生させることができる。これらの方法によって発生したトリガを他の装置に送信することにより、トリガを受信する装置が行う処理を定期的に実行させることができる。   The system as described above uses a technique for periodically generating an execution instruction (hereinafter referred to as a trigger) for performing processing in order to realize periodic processing. For example, a trigger can be generated periodically by using a technology such as cron (function to execute a program at a predetermined time or interval) provided by an OS (Operating System) of Linux (registered trademark). it can. In addition, it is possible to generate a trigger periodically by starting one process permanently and repeating the process. By transmitting the trigger generated by these methods to another device, the processing performed by the device that receives the trigger can be periodically executed.

また、特許文献1には、P2Pネットワークに参加している任意のノードが離脱した時にそのP2Pネットワークを修復できる通信システムが記載されている。特許文献1に記載された通信システムでは、DHT管理部23が、キープアライブメッセージの送受信を定期的に実施する。そして、DHT管理部23は、あるコンテンツノードが離脱したことを検出した場合、離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを上流のノードに送信する。上記メッセージを待っていた他のDHT管理部23は、そのメッセージを送信してきたコンテンツノードとキープアライブメッセージを送受信しあうことでリングの修復を行う。   Patent Document 1 describes a communication system capable of repairing a P2P network when an arbitrary node participating in the P2P network leaves. In the communication system described in Patent Document 1, the DHT management unit 23 periodically transmits and receives keep-alive messages. When the DHT management unit 23 detects that a certain content node has left, the DHT management unit 23 transmits a content search message with a ring repair option for searching for the disjoined content node to the upstream node. The other DHT management unit 23 waiting for the message restores the ring by transmitting and receiving a keep-alive message with the content node that has transmitted the message.

特開2008−276551号公報(段落0048〜0050、図3)Japanese Patent Laying-Open No. 2008-276551 (paragraphs 0048 to 0050, FIG. 3)

図12は、一般的なDHTネットワークを示すブロック図である。図12に示す例では、複数のWebサーバ92が通信ネットワーク91に接続されていることを示す。Webサーバ92は、通信部93と、実行部94と、トリガ発生部95とを備えている。トリガ発生部95が、cron等を利用して定期的にトリガを発生させると、実行部94は、そのトリガをきっかけに、通信部93を介してネットワーク91上のノード(例えば、Webサーバ92)の参加や離脱を確認する。もしくは、トリガ発生部95が、cron等を利用して定期的にトリガを発生させると、実行部94は、そのトリガをきっかけに、他のWebサーバ92に対して、定期的にノードの参加や離脱を確認するよう指示を与える。他のWebサーバ92は、その指示に応じてノードの参加や離脱を定期的に確認する   FIG. 12 is a block diagram showing a general DHT network. In the example illustrated in FIG. 12, a plurality of Web servers 92 are connected to the communication network 91. The Web server 92 includes a communication unit 93, an execution unit 94, and a trigger generation unit 95. When the trigger generation unit 95 generates a trigger periodically using cron or the like, the execution unit 94 is triggered by the trigger on the node on the network 91 (for example, the Web server 92) via the communication unit 93. Confirm participation and withdrawal of. Alternatively, when the trigger generation unit 95 periodically generates a trigger by using cron or the like, the execution unit 94 causes the other Web server 92 to periodically participate in the node, Give instructions to confirm withdrawal. The other Web server 92 periodically confirms the participation or withdrawal of the node according to the instruction.

しかし、cronやプロセスの永続的な立ち上げ等を利用して定期的な処理を実行する場合、設定によっては自装置に負荷をかけるおそれがある。そのため、レンタルサーバ等では、cronの利用やプロセスの永続的な立ち上げに対して制限が課され、例えば、ユーザや他の装置からのリクエストが発生したときにのみ処理を実行することが許されている場合がある。このような装置では、他の装置にトリガを送信するための処理を開始する場合、別の装置から送信されるリクエストなどを利用する必要がある。   However, when periodic processing is performed by using cron or a permanent startup of a process, there is a possibility that a load is applied to the own apparatus depending on the setting. For this reason, a rental server or the like places restrictions on the use of cron and the permanent startup of processes, and is allowed to execute processing only when a request from a user or another device occurs, for example. There may be. In such an apparatus, when a process for transmitting a trigger to another apparatus is started, it is necessary to use a request transmitted from another apparatus.

しかし、別の装置から送信されるリクエストは、必ずしも定期的に送信されてくるわけではない。そのため、このようなリクエストに応じてトリガを発生させ、他の装置にそのトリガを送信する場合、そのトリガが他の装置に送信される時間間隔は一定にならないという課題がある。   However, a request transmitted from another device is not necessarily transmitted periodically. Therefore, when a trigger is generated in response to such a request and the trigger is transmitted to another device, there is a problem that the time interval at which the trigger is transmitted to the other device is not constant.

例えば、先に説明したDHTネットワークでは、各装置が、定期的な他者の生存確認や参加脱退等の処理(以下、DHT維持処理と記す。)をユーザからのリクエストに依らず、定期的に行う必要がある。しかし、cronの利用やプロセスの永続的な立ち上げ等が制限されているレンタルサーバでは、DHT維持処理を実行するためのトリガを自装置内で定期的に発生させることができず、また、他の装置に対して定期的にDHT維持処理のトリガを送信することもできない。   For example, in the DHT network described above, each device periodically performs processing such as periodic confirmation of the existence of another person or withdrawal of participation (hereinafter referred to as DHT maintenance processing) regardless of a request from the user. There is a need to do. However, in the rental server in which the use of cron or the permanent start-up of the process is restricted, a trigger for executing the DHT maintenance process cannot be periodically generated in the own device. It is also impossible to periodically send a DHT maintenance process trigger to the device.

また、特許文献1に記載された通信システムは、各ノードが、キープアライブメッセージの送受信を定期的に実施する必要がある。そのため、メッセージの送信処理を各ノード内で定期的に起動できない装置であっても、他の装置に対して定期的にメッセージを送信できることが望ましい。   Further, in the communication system described in Patent Document 1, it is necessary for each node to periodically transmit and receive keep-alive messages. Therefore, it is desirable that a message can be periodically transmitted to other devices even if the device cannot regularly start message transmission processing within each node.

そこで、本発明は、定期的にトリガを発生する発生源を利用できない場合であっても、定期処理を実行できる定期処理実行システム、及びその定期処理実行システムに適用される定期処理実行装置、定期処理実行方法、定期処理実行プログラムを提供することを目的とする。   Therefore, the present invention provides a periodic processing execution system that can execute periodic processing even when a generation source that periodically generates a trigger cannot be used, and a periodic processing execution device that is applied to the periodic processing execution system. It is an object to provide a process execution method and a periodic process execution program.

本発明による定期処理実行装置は、定期処理を実行させるためのトリガを外部の装置から受信したことを契機として、トリガの送信対象となる外部の装置に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、その外部の装置に対してトリガを送信すると判断するトリガ送信判断手段と、トリガ送信判断手段がトリガを送信すると判断したことに基づいて、外部の装置にトリガを送信するトリガ送信手段とを備えたことを特徴とする。   The periodic process execution device according to the present invention is triggered by the fact that the trigger for executing the periodic process is received from the external device, from the time when the trigger was transmitted in the past to the external device that is the trigger transmission target. On the condition that the elapsed time has reached a predetermined trigger transmission interval, the trigger transmission determining means for determining that the trigger is transmitted to the external device, and the trigger transmission determining means having determined that the trigger is transmitted And trigger transmitting means for transmitting a trigger to an external device.

本発明による定期処理実行システムは、定期処理を実行させるためのトリガを送信する複数の外部装置と、外部装置に対して定期的に処理を実行させる定期処理実行装置とを備え、定期処理実行装置が、外部装置からトリガを受信したことを契機として、トリガの送信対象となる外部装置に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、その外部装置に対してトリガを送信すると判断するトリガ送信判断手段と、トリガ送信判断手段がトリガを送信すると判断したことに基づいて、外部装置にトリガを送信するトリガ送信手段とを備えたことを特徴とする。   A periodic process execution system according to the present invention includes a plurality of external devices that transmit a trigger for executing a periodic process, and a periodic process execution device that causes the external device to periodically execute a process. However, when the trigger is received from the external device, the elapsed time from the time when the trigger was transmitted in the past to the external device that is the trigger transmission target has reached the predetermined trigger transmission interval. Trigger transmission determining means for determining that a trigger is transmitted to the external device, and trigger transmission means for transmitting a trigger to the external device based on the determination that the trigger transmission determining means transmits a trigger. It is characterized by that.

本発明による定期処理実行方法は、定期処理を実行させるためのトリガを外部の装置から受信したことを契機として、トリガの送信対象となる外部の装置に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、その外部の装置に対してトリガを送信すると判断し、トリガを送信すると判断したことに基づいて、外部の装置にトリガを送信することを特徴とする。   The periodic process execution method according to the present invention is based on the fact that the trigger for executing the periodic process is received from the external device, and the trigger is transmitted from the time when the trigger was transmitted to the external device in the past. On the condition that the elapsed time has reached a predetermined trigger transmission interval, it is determined that the trigger is transmitted to the external device, and the trigger is transmitted to the external device based on the determination that the trigger is transmitted. It is characterized by transmitting.

本発明による定期処理実行プログラムは、コンピュータに、定期処理を実行させるためのトリガを外部の装置から受信したことを契機として、トリガの送信対象となる外部の装置に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、その外部の装置に対してトリガを送信すると判断するトリガ送信判断処理、および、トリガ送信判断処理でトリガを送信すると判断したことに基づいて、外部の装置にトリガを送信するトリガ送信処理を実行させることを特徴とする。   The periodic process execution program according to the present invention has transmitted a trigger in the past to an external apparatus to which a trigger is to be transmitted, when a trigger for causing the computer to execute the periodic process is received from the external apparatus. A trigger is transmitted in the trigger transmission determination process and the trigger transmission determination process for determining that a trigger is transmitted to the external device on the condition that the elapsed time from the time has reached a predetermined trigger transmission interval. Based on the determination, trigger transmission processing for transmitting a trigger to an external device is executed.

本発明によれば、定期的にトリガを発生する発生源を利用できない場合であっても、定期処理を実行できる。   According to the present invention, it is possible to execute periodic processing even when a source that periodically generates a trigger cannot be used.

本発明の最小構成を示すブロック図である。It is a block diagram which shows the minimum structure of this invention. 本発明の第1の実施形態における定期処理実行システムの例を示すブロック図である。It is a block diagram which shows the example of the regular process execution system in the 1st Embodiment of this invention. 定期処理実行システムが実現されるネットワーク構成、及びURLリストの例を示す説明図である。It is explanatory drawing which shows the example of the network structure by which a periodic process execution system is implement | achieved, and a URL list. トリガ送信判断部34aの処理の例を示すフローチャートである。It is a flowchart which shows the example of a process of the trigger transmission judgment part 34a. トリガの送信タイミングの例を示す説明図である。It is explanatory drawing which shows the example of the transmission timing of a trigger. トリガの送信タイミングが早い場合及び遅い場合の例を示す説明図である。It is explanatory drawing which shows the example when the transmission timing of a trigger is early and late. トリガを増やす場合及び減らす場合の例を示す説明図である。It is explanatory drawing which shows the example in the case of increasing and decreasing a trigger. 本発明の第2の実施形態における定期処理実行システムの例を示すブロック図である。It is a block diagram which shows the example of the regular process execution system in the 2nd Embodiment of this invention. 定期処理実行システムが実現されるネットワーク構成、及び次ホップリストの例を示す説明図である。It is explanatory drawing which shows the example of the network structure by which a periodic process execution system is implement | achieved, and a next hop list | wrist. トリガ送信判断部34bの処理の例を示すフローチャートである。It is a flowchart which shows the example of a process of the trigger transmission judgment part 34b. 各Webサーバがトリガを送信する動作の例を示す説明図である。It is explanatory drawing which shows the example of operation | movement which each web server transmits a trigger. 一般的なDHTネットワークを示すブロック図である。1 is a block diagram showing a general DHT network. FIG.

以下、本発明の実施形態を図面を参照して説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

まず、本発明の最小構成を説明する。図1は、本発明の最小構成を示すブロック図である。本発明による定期処理実行システムは、定期処理を実行させるためのトリガを送信する複数の外部装置70と、外部装置70に対して定期的に処理を実行させる定期処理実行装置80とを備えている。   First, the minimum configuration of the present invention will be described. FIG. 1 is a block diagram showing the minimum configuration of the present invention. The periodic processing execution system according to the present invention includes a plurality of external devices 70 that transmit a trigger for executing periodic processing, and a periodic processing execution device 80 that causes the external device 70 to periodically execute processing. .

定期処理実行装置80は、トリガ送信判断手段81と、トリガ送信手段82とを備えている。   The regular process execution device 80 includes a trigger transmission determination unit 81 and a trigger transmission unit 82.

トリガ送信判断手段81は、外部装置70からトリガを受信したことを契機として、トリガの送信対象となる外部装置70に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、その外部装置70に対してトリガを送信すると判断する。   The trigger transmission determination means 81 is triggered transmission that has been determined in advance from the time when the trigger was transmitted to the external device 70 that is the trigger transmission target in response to reception of the trigger from the external device 70. It is determined that a trigger is transmitted to the external device 70 on the condition that the interval has been reached.

トリガ送信手段82は、トリガ送信判断手段81がトリガを送信すると判断したことに基づいて、外部装置70にトリガを送信する。   The trigger transmission unit 82 transmits a trigger to the external device 70 based on the determination that the trigger transmission determination unit 81 transmits a trigger.

このような構成により、定期的にトリガを発生する発生源を利用できない場合であっても、定期処理を実行できる。すなわち、ある装置が定期的にトリガを発生する発生源を利用できない場合であっても、外部装置70からトリガを受信した定期処理実行装置80が、予め定められたトリガ送信間隔に達していることを条件に、その装置に対してトリガを送信する。そのため、その装置は、定期処理を実行できる。   With such a configuration, it is possible to execute periodic processing even when a source that periodically generates a trigger cannot be used. That is, even when a device that regularly generates a trigger cannot be used, the periodic processing execution device 80 that has received the trigger from the external device 70 has reached a predetermined trigger transmission interval. The trigger is transmitted to the apparatus on the condition of. Therefore, the apparatus can perform periodic processing.

実施形態1.
図2は、本発明の第1の実施形態における定期処理実行システムの例を示すブロック図である。本実施形態における定期処理実行システムは、Webサーバ21aと、Webサーバ22〜25とを備えている。Webサーバ21aとWebサーバ22〜25とは、通信ネットワーク100を介して相互に接続される。なお、通信ネットワーク100は、インターネット等により実現されるが、通信ネットワーク100の形態は特に限定されない。なお、以下の説明では、Webサーバのことを、ノードと記すこともある。
Embodiment 1. FIG.
FIG. 2 is a block diagram illustrating an example of a periodic process execution system according to the first embodiment of the present invention. The regular processing execution system in the present embodiment includes a Web server 21a and Web servers 22 to 25. The web server 21 a and the web servers 22 to 25 are connected to each other via the communication network 100. In addition, although the communication network 100 is implement | achieved by the internet etc., the form of the communication network 100 is not specifically limited. In the following description, the Web server may be referred to as a node.

また、本実施形態における定期処理実行システムは、各Webサーバがリング状のネットワークを構成し、そのネットワークに沿って他のWebサーバに順次トリガを送信する。そして、トリガを受信した各Webサーバは、受信したトリガをもとに処理を行う。なお、最初のトリガは、例えば、ユーザによりシステム内に入力される。   In the periodic processing execution system according to the present embodiment, each Web server forms a ring-shaped network, and triggers are sequentially transmitted to other Web servers along the network. Each Web server that has received the trigger performs processing based on the received trigger. The first trigger is input into the system by the user, for example.

Webサーバ21aは、通信部31と、トリガ入力部32と、実行部33と、トリガ送信判断部34aと、トリガ送信時刻管理部35と、次ホップリスト部36aと、トリガ出力部37と、トリガ送信時刻記憶部38とを備えている。   The Web server 21a includes a communication unit 31, a trigger input unit 32, an execution unit 33, a trigger transmission determination unit 34a, a trigger transmission time management unit 35, a next hop list unit 36a, a trigger output unit 37, a trigger And a transmission time storage unit 38.

トリガ送信時刻記憶部38は、Webサーバ21aから他のWebサーバ22〜25(以下、単に、他のWebサーバと記す。)に対して、前回トリガを送信した時刻(以下、トリガ送信時刻tlと記す。)を記憶する。トリガ送信時刻記憶部38は、具体的には、Webサーバ21aが備える磁気ディスク装置等によって実現される。トリガ送信時刻tlは、後述のトリガ送信時刻管理部35によりトリガ送信時刻記憶部38に記憶される。   The trigger transmission time storage unit 38 transmits a previous trigger (hereinafter referred to as trigger transmission time tl) from the Web server 21a to the other Web servers 22 to 25 (hereinafter simply referred to as other Web servers). Remember). Specifically, the trigger transmission time storage unit 38 is realized by a magnetic disk device or the like included in the Web server 21a. The trigger transmission time tl is stored in the trigger transmission time storage unit 38 by the trigger transmission time management unit 35 described later.

通信部31は、通信ネットワーク100を介して他のWebサーバからトリガ(クエリと記すこともある。)を受信すると、そのクエリにて指示された処理を起動する。本実施形態では、他のWebサーバからクエリを受信したときに、通信部31が、トリガ入力部32に処理を実行させる場合について説明する。   When the communication unit 31 receives a trigger (also referred to as a query) from another Web server via the communication network 100, the communication unit 31 starts processing instructed by the query. In the present embodiment, a case will be described in which the communication unit 31 causes the trigger input unit 32 to execute a process when a query is received from another Web server.

トリガ入力部32は、通信部31を介してトリガが入力されると、実行部33及びトリガ送信判断部34aに処理を実行させるよう指示を行う。   When a trigger is input via the communication unit 31, the trigger input unit 32 instructs the execution unit 33 and the trigger transmission determination unit 34a to execute processing.

実行部33は、Webサーバ21aが定期的に実行する処理(タスク)を実行する。具体的には、実行部33は、トリガ入力部32の指示に応じて、定期処理を実行する。例えば、実行部33は、DHTネットワーク内のノードの参加や離脱を確認する処理(すなわち、DHT維持処理)をLinux(登録商標)のOSで提供されるpingやTCP/IP等を使用して実行するが、実行部33が行う処理はDHT維持処理に限定されない。例えば、実行部33は、ウェブログ(以下、ブログと記す。)の更新情報を定期的に収集したり、DHTを利用して管理されるファイルシステムにおけるファイル更新情報を定期的に通知したりしてもよい。   The execution unit 33 executes processing (tasks) periodically executed by the Web server 21a. Specifically, the execution unit 33 executes a periodic process in response to an instruction from the trigger input unit 32. For example, the execution unit 33 executes a process for confirming the participation or withdrawal of a node in the DHT network (that is, the DHT maintenance process) using ping, TCP / IP, or the like provided by the Linux (registered trademark) OS. However, the process performed by the execution unit 33 is not limited to the DHT maintenance process. For example, the execution unit 33 periodically collects update information of a web log (hereinafter referred to as a blog) or periodically notifies file update information in a file system managed using DHT. May be.

トリガ送信判断部34aは、他のWebサーバに前回トリガの送信を指示した送信時刻(すなわち、トリガ送信時刻tl)に基づき、トリガ送信の可否やトリガ送信の待ち時間などを判断する。例えば、トリガ送信判断部34aは、他のWebサーバに対して過去にトリガを送信した時刻からの経過時間が、トリガを発生させる間隔として予め定められた期間(以下、トリガ送信間隔tdと記す。)を経過しているときに、そのWebサーバにトリガを送信すると判断する。そして、トリガ送信判断部34aは、トリガを送信すると判断すると、トリガ送信指示をトリガ出力部37に対して行う。トリガ送信判断部34aは、トリガ送信指示を行うと、トリガ送信時刻tlをトリガ送信時刻記憶部38に記憶させる旨の指示をトリガ送信時刻管理部35に対して行う。   The trigger transmission determination unit 34a determines whether or not trigger transmission is possible, a trigger transmission waiting time, and the like based on the transmission time (that is, the trigger transmission time tl) at which the other Web server is instructed to transmit the previous trigger. For example, the trigger transmission determination unit 34a describes a time period (hereinafter referred to as a trigger transmission interval td) that is determined in advance as an interval for generating a trigger from the time when the trigger was transmitted in the past to another Web server. ) Is determined to transmit a trigger to the Web server. When the trigger transmission determining unit 34 a determines to transmit a trigger, the trigger transmission determining unit 34 a issues a trigger transmission instruction to the trigger output unit 37. When the trigger transmission determination unit 34 a issues a trigger transmission instruction, the trigger transmission determination unit 34 a instructs the trigger transmission time management unit 35 to store the trigger transmission time tl in the trigger transmission time storage unit 38.

また、トリガ送信判断部34aは、トリガ送信時刻管理部35に対し、トリガ送信禁止時間trの算出指示を行う。トリガ送信禁止時間trとは、他のWebサーバに対するトリガ送信間隔tdを守るため、トリガの発生を一時滞留させる時間のことである。具体的には、トリガ送信禁止時間trは、前回のトリガ送信時刻tlから現在時刻tまでに経過した時間を経過時間teとしたとき、トリガ送信間隔tdから経過時間teを減じて算出される。すなわち、トリガ送信禁止時間trは、過去にトリガを送信した時刻からトリガを受信した時刻までの経過時間とトリガ送信間隔tdとの差分であるといえる。トリガ送信判断部34aは、トリガ送信禁止時間trが0になったときに、他のWebサーバへトリガ送信を行うと判断し、トリガ送信指示をトリガ出力部37に対して行う。   In addition, the trigger transmission determination unit 34a instructs the trigger transmission time management unit 35 to calculate the trigger transmission prohibition time tr. The trigger transmission prohibition time tr is a time during which the generation of a trigger is temporarily retained in order to keep the trigger transmission interval td with respect to another Web server. Specifically, the trigger transmission prohibition time tr is calculated by subtracting the elapsed time te from the trigger transmission interval td, where the elapsed time te is the time elapsed from the previous trigger transmission time tl to the current time t. That is, the trigger transmission prohibition time tr can be said to be a difference between the elapsed time from the time when the trigger is transmitted in the past to the time when the trigger is received and the trigger transmission interval td. When the trigger transmission prohibition time tr becomes 0, the trigger transmission determination unit 34a determines that the trigger transmission is performed to another Web server, and issues a trigger transmission instruction to the trigger output unit 37.

このように、トリガ送信判断部34aが、トリガ送信禁止時間trを算出し、そのトリガ送信禁止時間trの経過後にトリガの送信指示を行うため、他のWebサーバに対するトリガの送信間隔を調整できる。   As described above, the trigger transmission determining unit 34a calculates the trigger transmission prohibition time tr and issues a trigger transmission instruction after the trigger transmission prohibition time tr has elapsed, so that the trigger transmission interval with respect to another Web server can be adjusted.

また、トリガ送信判断部34aは、トリガ送信禁止時間tr以外の値を使用してトリガの送信指示タイミングを調整してもよい。例えば、トリガ送信判断部34aは、Webサーバ21aに対してトリガを送信する他のWebサーバと、Webサーバ21aとの距離を算出し、その距離に基づいて、トリガの送信を滞留させる時間(以下、トリガ滞留時間twと記す。)を算出する。そして、算出したトリガ滞留時間twがトリガ送信禁止時間trよりも大きい場合には、トリガ送信判断部34aは、トリガ滞留時間twの経過後にトリガを送信すると判断してもよい。   The trigger transmission determination unit 34a may adjust the trigger transmission instruction timing using a value other than the trigger transmission prohibition time tr. For example, the trigger transmission determination unit 34a calculates the distance between another Web server that transmits a trigger to the Web server 21a and the Web server 21a, and based on the distance, the time during which the trigger transmission is retained (hereinafter referred to as “trigger transmission”) , Written as the trigger residence time tw). When the calculated trigger residence time tw is greater than the trigger transmission inhibition time tr, the trigger transmission determination unit 34a may determine that the trigger is transmitted after the trigger residence time tw has elapsed.

以下、トリガ滞留時間twを算出する方法について説明する。以下の説明では、各Webサーバに、コード(Chord)に基づくIDがリング状につながるように付与され、各Webサーバは、自装置に一番近い距離に存在するWebサーバに順次トリガの送信指示を行う場合について説明する。すなわち、このIDは、各Webサーバを識別する識別子であり、このID全体でループを形成していると言える。トリガ送信判断部34aは、各Webサーバに付与されたIDの差をIDの空間サイズで割った値(以下、正規化距離dnと記す。)をWebサーバ間の距離として算出する。そして、トリガ送信判断部34aは、トリガ送信間隔tdに正規化距離dnを乗じてトリガ滞留時間twを算出する。   Hereinafter, a method for calculating the trigger residence time tw will be described. In the following description, an ID based on a code (Chord) is given to each Web server so as to be connected in a ring shape, and each Web server sequentially sends a trigger transmission instruction to the Web server that is closest to the own device. The case of performing will be described. That is, this ID is an identifier for identifying each Web server, and it can be said that the entire ID forms a loop. The trigger transmission determination unit 34a calculates a value (hereinafter, referred to as a normalized distance dn) obtained by dividing the difference between the IDs assigned to each Web server by the ID space size as a distance between the Web servers. Then, the trigger transmission determination unit 34a calculates the trigger residence time tw by multiplying the trigger transmission interval td by the normalized distance dn.

正規化距離dnは、トリガがリング状を一周すると1になる値である。そのため、各Webサーバがトリガを受信後、トリガ送信間隔tdに正規化距離dnを乗じて算出される時間の経過後にトリガをそれぞれ送信することにより、自身のWebサーバにトリガが戻ってくる時間がtdになる。各Webサーバがこのように算出されたトリガ滞留時間twの経過後にトリガを送信することにより、一定のトリガ送信間隔tdに調整してトリガを送信できる。   The normalized distance dn is a value that becomes 1 when the trigger goes around the ring shape. Therefore, after each Web server receives the trigger, each trigger is transmitted after the elapse of time calculated by multiplying the trigger transmission interval td by the normalized distance dn. td. Each Web server transmits a trigger after the trigger residence time tw calculated in this way has elapsed, so that the trigger can be transmitted while adjusting to a constant trigger transmission interval td.

なお、上記ループ内のトリガ送信指示数(すなわち、ループ内に維持されるトリガ)が複数存在する場合、そのトリガの個数(以下、ループ内トリガ個数ntと記す。)を乗じた値をトリガ滞留時間twとしてもよい。こうすることにより、ループ内でトリガが複数送信される場合であっても、一定のトリガ送信間隔tdに調整してトリガ送信指示を行うことができる。   When there are a plurality of trigger transmission instruction numbers (that is, triggers maintained in the loop) in the loop, a value obtained by multiplying the number of triggers (hereinafter referred to as the number of triggers in the loop nt) is the trigger retention. It is good also as time tw. By doing so, even if a plurality of triggers are transmitted in the loop, the trigger transmission instruction can be performed by adjusting to a constant trigger transmission interval td.

一方、ネットワーク遅延やWebサーバの処理遅延などにより、トリガの送信タイミングが遅延することがある。そのため、トリガ送信判断部34aは、トリガ滞留時間twを縮めるための係数(以下、加速係数kと記す。)をトリガ滞留時間twに乗じてもよい。ここで、加速係数kは1以下の正の数である。トリガ送信判断部34aは、このようにしてトリガ滞留時間twを算出することにより、トリガの到着が遅い場合であっても、トリガ送信間隔tdを一定のタイミングに調整することができる。   On the other hand, the trigger transmission timing may be delayed due to a network delay or a Web server processing delay. Therefore, the trigger transmission determining unit 34a may multiply the trigger residence time tw by a coefficient (hereinafter referred to as an acceleration coefficient k) for shortening the trigger residence time tw. Here, the acceleration coefficient k is a positive number of 1 or less. By calculating the trigger residence time tw in this way, the trigger transmission determination unit 34a can adjust the trigger transmission interval td to a constant timing even when the arrival of the trigger is late.

このように、トリガ送信判断部34aが、トリガ滞留時間twとトリガ送信禁止時間trとを使用してトリガ送信タイミングの調整を行うことにより、トリガの到着間隔がずれた場合でも、トリガ送信指示を行うタイミングを一定のトリガ送信間隔tdに調整できる。   As described above, the trigger transmission determination unit 34a adjusts the trigger transmission timing using the trigger residence time tw and the trigger transmission prohibition time tr, so that the trigger transmission instruction is issued even when the trigger arrival interval is deviated. The timing to perform can be adjusted to a constant trigger transmission interval td.

また、トリガ送信判断部34aは、トリガ送信指示を行った後、URLリストの中から任意に選択したWebサーバにクエリを送信する旨の指示を予め定められた確率pに基づいてトリガ出力部37に行ってもよい。このとき、トリガ出力部37は、URLリストの中からランダム値に基づいて選択したWebサーバに対してトリガを送信してもよいが、Webサーバを選択する方法は、上記方法に限定されない。例えば、トリガ送信判断部34aは、リストの並び順に従って選択したWebサーバに対してトリガを送信してもよい。   In addition, the trigger transmission determination unit 34a performs an instruction to transmit a query to a Web server arbitrarily selected from the URL list after giving a trigger transmission instruction, based on a predetermined probability p, a trigger output unit 37. You may go to At this time, the trigger output unit 37 may transmit the trigger to the Web server selected based on the random value from the URL list, but the method of selecting the Web server is not limited to the above method. For example, the trigger transmission determination unit 34a may transmit a trigger to a Web server selected according to the order of the list.

定期的行われるトリガ送信指示が、Webサーバのダウンやネットワーク障害など(以下、トリガ送信障害等と記す。)の原因で他のWebサーバへ伝搬せずに消滅してしまう場合がある。このような場合でも、定期的に行われるトリガ送信指示以外にもトリガ送信指示を行うことで、システム全体で行われるトリガ送信指示が完全に消滅してしまうことを防止できる。以下の説明では、この確率pのことをトリガ複製確率pと記す。トリガ複製確率pは、定期処理実行システムを適用するシステムに応じて定められるパラメータであり、順次送信されるトリガの数が減衰する割合に応じて定められる。   A trigger transmission instruction that is periodically performed may disappear without propagating to another Web server due to a Web server down or network failure (hereinafter referred to as “trigger transmission failure”). Even in such a case, it is possible to prevent the trigger transmission instruction performed in the entire system from completely disappearing by performing the trigger transmission instruction in addition to the trigger transmission instruction performed periodically. In the following description, this probability p is referred to as a trigger replication probability p. The trigger duplication probability p is a parameter determined according to a system to which the periodic process execution system is applied, and is determined according to a rate at which the number of triggers sequentially transmitted is attenuated.

一方、トリガ送信判断部34aは、他のWebサーバに対するトリガ送信指示を待機しているときに、他のWebサーバからトリガを受信した場合、受信したトリガに基づいて行う新たなトリガ送信指示を抑制してもよい。このようにトリガ送信指示を抑制することにより、ネットワーク上のトリガ送信指示の個数が増え過ぎる事を防止できる。   On the other hand, when the trigger transmission determination unit 34a waits for a trigger transmission instruction to another Web server and receives a trigger from another Web server, the trigger transmission determination unit 34a suppresses a new trigger transmission instruction to be performed based on the received trigger. May be. By suppressing trigger transmission instructions in this way, it is possible to prevent the number of trigger transmission instructions on the network from increasing excessively.

これらの方法を用いることにより、トリガ送信障害等によりノード間のトリガ伝搬が途中で切れることにより、トリガ送信指示が途切れてしまうことや、トリガ送信指示が多くなりすぎることにより、ノードやネットワークがダウンしてしまうといったことを防止できる。   By using these methods, trigger transmission between nodes is interrupted due to a trigger transmission failure, etc., trigger transmission instructions are interrupted, and too many trigger transmission instructions cause a node or network to be down. Can be prevented.

トリガ送信時刻管理部35は、トリガ送信判断部34aの指示に応じ、トリガ送信時刻記憶部38にトリガ送信時刻tlを記憶させる。また、トリガ送信時刻管理部35は、トリガ送信判断部34aの指示に応じ、トリガ送信禁止時間trを算出し、トリガ送信判断部34aに通知する。   The trigger transmission time management unit 35 stores the trigger transmission time tl in the trigger transmission time storage unit 38 in response to an instruction from the trigger transmission determination unit 34a. In addition, the trigger transmission time management unit 35 calculates a trigger transmission prohibition time tr in response to an instruction from the trigger transmission determination unit 34a and notifies the trigger transmission determination unit 34a.

次ホップリスト部36aは、WebサーバのURL(Uniform Resource Locator)リストを記憶する。次ホップリスト部36aは、具体的には、Webサーバ21aが備える磁気ディスク装置等によって実現される。次ホップリスト部36aは、Webサーバ21aとの距離が近いWebサーバから順に、そのWebサーバのURLを予め定められた個数分記憶する。   The next hop list unit 36a stores a URL (Uniform Resource Locator) list of the Web server. Specifically, the next hop list unit 36a is realized by a magnetic disk device or the like included in the Web server 21a. The next hop list unit 36a stores a predetermined number of URLs of the Web server in order from the Web server closest to the Web server 21a.

図3は、定期処理実行システムが実現されるネットワーク構成、及びURLリストの例を示す説明図である。図3(a)の例に示すネットワークでは、円周上に示したWebサーバ間の距離が、その円周上に並んだ順に近いことを示す。すなわち、図3(a)に示す例では、WebサーバAに近いWebサーバがWebサーバBであり、以降、WebサーバEまで順に並んでいることを示す。なお、この距離は、正規化距離dnに基づいて決定してもよい。また、図3(b)に示す例では、円周上に示す矢印の方向を順方向としてWebサーバのURLリストが作成されていることを示す。例えば、WebサーバA〜Eが図3(a)に例示する内容で接続されている場合、WebサーバAの次ホップリスト部36aは、図3(b)に例示するように、WebサーバBからWebサーバEの順に並べたURLリストを記憶する。   FIG. 3 is an explanatory diagram illustrating an example of a URL configuration and a network configuration in which the periodic processing execution system is realized. In the network shown in the example of FIG. 3A, the distance between the Web servers shown on the circumference is close to the order in which they are arranged on the circumference. That is, in the example illustrated in FIG. 3A, the Web server close to the Web server A is the Web server B, and thereafter, the Web server E is sequentially arranged. This distance may be determined based on the normalized distance dn. In the example shown in FIG. 3B, the URL list of the Web server is created with the direction of the arrow shown on the circumference as the forward direction. For example, when the Web servers A to E are connected with the contents illustrated in FIG. 3A, the next hop list unit 36a of the Web server A is transmitted from the Web server B as illustrated in FIG. A URL list arranged in the order of Web server E is stored.

また、次ホップリスト部36aに記憶されるWebサーバのURLは、Webサーバ21aとの距離が近いWebサーバだけに限られない。例えば、DHTネットワークの場合、Webサーバ21aに付与されたIDから、2の階乗ごとに離れたIDに対応するWebサーバのURLを記憶してもよい。   Further, the URL of the Web server stored in the next hop list section 36a is not limited to the Web server that is close to the Web server 21a. For example, in the case of a DHT network, the URL of a Web server corresponding to an ID that is separated every 2 factories from the ID assigned to the Web server 21a may be stored.

URLリストの内容は、例えば、実行部33が、ノードの参加や離脱などを検知したときに更新される。なお、URLリストを更新する方法は広く知られているため、ここでは説明を省略する。   The contents of the URL list are updated, for example, when the execution unit 33 detects joining or leaving of a node. Since the method for updating the URL list is widely known, the description thereof is omitted here.

トリガ出力部37は、トリガ送信判断部34aから、他のWebサーバにトリガを送信する旨の指示を受けると、次ホップリスト部36aに記憶されたURLリストの中から一番近い距離のWebサーバにクエリを送信する。なお、トリガ出力部37は、受信したトリガの内容でそのまま次のWebサーバに転送してもよいし、新たなトリガを生成して次のWebサーバに送信してもよい。また、トリガ出力部37は、トリガ送信障害等により、一番近い距離のWebサーバに対するクエリ送信に失敗した場合、次ホップリスト部36aに記憶されたURLリストの中から、次に近い距離のWebサーバにクエリを送信する。以下、トリガ出力部37は、クエリの送信に成功するまで、近い距離のWebサーバに順次クエリの送信を試みる。   When the trigger output unit 37 receives an instruction from the trigger transmission determination unit 34a to transmit a trigger to another Web server, the Web server at the closest distance from the URL list stored in the next hop list unit 36a. Send a query to The trigger output unit 37 may transfer the received trigger content as it is to the next Web server, or may generate a new trigger and transmit it to the next Web server. Further, when the trigger transmission unit 37 fails to transmit a query to the Web server at the nearest distance due to a trigger transmission failure or the like, the trigger output unit 37 selects the Web at the next closest distance from the URL list stored in the next hop list unit 36a. Send a query to the server. Hereinafter, the trigger output unit 37 sequentially tries to transmit a query to a Web server at a short distance until the query is successfully transmitted.

なお、トリガ出力部37は、クエリの送信に失敗した場合、URLリスト内のURLに、送信に失敗した旨のフラグを設定しておいてもよい。トリガ出力部37が、このフラグが設定されているWebサーバに対してクエリの送信を抑制することで、送信に失敗したWebサーバへの不要な通信を抑制できる。   Note that when the query transmission fails, the trigger output unit 37 may set a flag indicating that the transmission failed in the URL in the URL list. The trigger output unit 37 can suppress unnecessary communication to the Web server that failed to transmit by suppressing transmission of the query to the Web server in which this flag is set.

他のWebサーバ(すなわち、Webサーバ22〜25)の構成は、Webサーバ21aと同様であるため、詳細な説明を省略する。なお、上記説明では、定期処理実行システムが他のWebサーバを4台備えている場合について説明した。本発明によれば、定期処理実行システムが備える他のWebサーバは、4台に限られず、1台であってもよく、2台以上であってもよい。   Since the configuration of the other Web servers (that is, the Web servers 22 to 25) is the same as that of the Web server 21a, detailed description thereof is omitted. In the above description, the case where the periodic process execution system includes four other Web servers has been described. According to the present invention, the number of other Web servers provided in the periodic process execution system is not limited to four, and may be one or two or more.

なお、本システムにおけるWebサーバの全てが、必ずしもWebサーバ21aと同様の機能を備えていなくてもよい。本システム内の一部にあたる複数台のWebサーバがWebサーバ21aと同様の機能を備えていてもよく、また、システム内の1つのサーバのみWebサーバ21aと同様の機能を備えていてもよい。この場合、Webサーバ21aと同様の機能を備えていないWebサーバは、トリガを受信して、他の装置にトリガを送信する機能を備えていればよく、時間間隔を調整する機能(すなわち、トリガ送信判断部34a、アクセス時刻管理部35、アクセス時刻記憶部38)を備えていなくてもよい。なお、システム内のより多くのサーバがWebサーバ21aと同様の機能(すなわち、時間間隔を調整する機能)を備えることにより、定期処理の精度が高まるため、より好ましいといえる。   Note that all of the Web servers in this system do not necessarily have the same function as the Web server 21a. A plurality of Web servers corresponding to a part of the system may have the same function as the Web server 21a, or only one server in the system may have the same function as the Web server 21a. In this case, a Web server that does not have the same function as the Web server 21a only needs to have a function of receiving a trigger and transmitting the trigger to another device, and a function of adjusting a time interval (that is, a trigger). The transmission determination unit 34a, the access time management unit 35, and the access time storage unit 38) may not be provided. In addition, it can be said that it is more preferable because more servers in the system have the same function as the Web server 21a (that is, the function of adjusting the time interval), so that the accuracy of the regular processing is increased.

通信部31と、トリガ入力部32と、実行部33と、トリガ送信判断部34aと、トリガ送信時刻管理部35と、トリガ出力部37とは、プログラム(定期処理実行プログラム)に従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、Webサーバ21aの記憶部(図示せず)に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、通信部31、トリガ入力部32、実行部33、トリガ送信判断部34a、トリガ送信時刻管理部35及びトリガ出力部37として動作してもよい。また、通信部31と、トリガ入力部32と、実行部33と、トリガ送信判断部34aと、トリガ送信時刻管理部35と、トリガ出力部37とは、それぞれが専用のハードウェアで実現されていてもよい。また、通信部31が、一般的なWebサーバのサービスを実現するプログラムに従って動作するコンピュータのCPUによって実現されてもよい。   The communication unit 31, the trigger input unit 32, the execution unit 33, the trigger transmission determination unit 34a, the trigger transmission time management unit 35, and the trigger output unit 37 are computers that operate according to a program (periodic process execution program). Implemented by the CPU. For example, the program is stored in a storage unit (not shown) of the Web server 21a, and the CPU reads the program, and according to the program, the communication unit 31, the trigger input unit 32, the execution unit 33, the trigger transmission determination unit 34a, The trigger transmission time management unit 35 and the trigger output unit 37 may operate. The communication unit 31, the trigger input unit 32, the execution unit 33, the trigger transmission determination unit 34a, the trigger transmission time management unit 35, and the trigger output unit 37 are each realized by dedicated hardware. May be. In addition, the communication unit 31 may be realized by a CPU of a computer that operates according to a program that realizes a general Web server service.

次に、動作について説明する。図4は、トリガ送信判断部34aが、トリガ入力部32の指示に応じてトリガの送信有無を判断し、その判断に応じてトリガの送信指示をトリガ出力部37に行うまでの処理の例を示すフローチャートである。以下の説明では、各ノードには、コード(Chord)に基づくIDが付与され、このIDが付与された各ノードが形成するネットワーク上に、例えば、ユーザ等により与えられるトリガがループ内トリガ個数nt存在するものとする。すなわち、ループ内トリガ個数ntは、ループ内に維持されるトリガの個数の期待値ということができる。   Next, the operation will be described. FIG. 4 illustrates an example of processing until the trigger transmission determination unit 34a determines whether or not to transmit a trigger according to an instruction from the trigger input unit 32, and performs a trigger transmission instruction to the trigger output unit 37 according to the determination. It is a flowchart to show. In the following description, each node is given an ID based on a code (Chord), and, for example, a trigger given by a user or the like on the network formed by each node to which this ID is given is an in-loop trigger number nt. It shall exist. That is, the in-loop trigger number nt can be said to be an expected value of the number of triggers maintained in the loop.

トリガ送信判断部34aは、現在トリガ出力部37に対するトリガ送信指示待ちの状態か否かを判断する(ステップS11)。トリガ送信指示待ちの場合(ステップS11におけるYES)、以降の判断処理を行わずに処理を終了する。一方、トリガ送信指示待ちではない場合(ステップS11におけるNO)、トリガ送信判断部34aは、近隣のノード(すなわち、他のWebサーバ)からトリガを受信しているか否かを判断する(ステップS12)。トリガを受信している場合(ステップS12におけるYES)、トリガ送信判断部34aは、送信元ノードと自ノード間の正規化距離dnを算出する(ステップS13)。すなわち、トリガ送信判断部34aは、ノードに付与されたIDの差をIDの空間サイズで割った値をノード間の距離として算出する。一方、近隣のノードからトリガを受信していない場合には(ステップS12におけるNO)、トリガ送信判断部34aは、正規化距離dnを0と決定する(ステップS14)。   The trigger transmission determination unit 34a determines whether or not the trigger transmission instruction 37 is currently waiting for a trigger transmission instruction (step S11). When waiting for a trigger transmission instruction (YES in step S11), the process ends without performing the subsequent determination process. On the other hand, when not waiting for a trigger transmission instruction (NO in step S11), the trigger transmission determining unit 34a determines whether or not a trigger is received from a neighboring node (that is, another Web server) (step S12). . When the trigger is received (YES in step S12), the trigger transmission determining unit 34a calculates a normalized distance dn between the transmission source node and the own node (step S13). That is, the trigger transmission determination unit 34a calculates a value obtained by dividing the difference between IDs assigned to nodes by the ID space size as a distance between the nodes. On the other hand, when a trigger is not received from a neighboring node (NO in step S12), the trigger transmission determining unit 34a determines that the normalized distance dn is 0 (step S14).

次に、トリガ送信判断部34aは、トリガ滞留時間twを算出する(ステップS15)。トリガ滞留時間twは、加速係数kと、正規化距離dnと、トリガ送信間隔tdと、ループ内トリガ個数ntとを乗じて算出される。トリガ送信判断部34aは、トリガ滞留時間twが、自身のノードが処理を待つことができる最大の時間(すなわち、Webサーバが耐えうる最長待ち時間。以下、最長許容待ち時間tw_maxと記す。)を超えているか否かを判断する(ステップS16)。Webサーバ21aは、最長許容待ち時間tw_maxを超える処理を待つことができない。そのため、トリガ滞留時間twが最長許容待ち時間tw_maxを超えている場合(ステップS16におけるYES)、トリガ送信判断部34aは処理を終了する。すなわち、トリガ送信判断部34aは、トリガ送信指示を行わない。   Next, the trigger transmission determining unit 34a calculates the trigger residence time tw (step S15). The trigger residence time tw is calculated by multiplying the acceleration coefficient k, the normalized distance dn, the trigger transmission interval td, and the number of triggers nt in the loop. The trigger transmission determination unit 34a sets the maximum time that the trigger residence time tw can wait for processing of its own node (that is, the longest waiting time that the Web server can withstand. Hereinafter, the maximum allowable waiting time tw_max). It is determined whether or not it exceeds (step S16). The Web server 21a cannot wait for processing that exceeds the maximum allowable waiting time tw_max. Therefore, when the trigger residence time tw exceeds the maximum allowable waiting time tw_max (YES in step S16), the trigger transmission determination unit 34a ends the process. That is, the trigger transmission determination unit 34a does not issue a trigger transmission instruction.

一方、トリガ滞留時間twが最長許容待ち時間tw_maxを超えていない場合(ステップS16におけるNO)、トリガ送信判断部34aは、トリガ送信時刻管理部35にトリガ送信禁止時間trの算出指示を行い、トリガ送信時刻管理部35から算出結果の入力を受け取る(ステップS17)。トリガ送信判断部34aは、トリガ滞留時間twとトリガ送信禁止時間trを比較し、時間の大きい方の時間だけトリガ送信指示を待機する(ステップS18)。待機時間の経過後、トリガ送信判断部34aは、トリガ出力部37に対して、近隣ノードへのトリガ送信指示を行う。トリガ出力部37は、トリガ送信判断部34aからのトリガ送信指示に応じ、近隣ノードへクエリ(トリガ)の送信を行う(ステップS19)。例えば、トリガ出力部37は、次ホップリスト部36aに記憶されたURLリストの中から一番近い距離のWebサーバにクエリを送信する。   On the other hand, when the trigger residence time tw does not exceed the maximum allowable waiting time tw_max (NO in step S16), the trigger transmission determination unit 34a instructs the trigger transmission time management unit 35 to calculate the trigger transmission prohibition time tr, and triggers The calculation result input is received from the transmission time management unit 35 (step S17). The trigger transmission determination unit 34a compares the trigger residence time tw with the trigger transmission prohibition time tr, and waits for a trigger transmission instruction for the longer time (step S18). After the standby time elapses, the trigger transmission determination unit 34 a instructs the trigger output unit 37 to transmit a trigger to a neighboring node. The trigger output unit 37 transmits a query (trigger) to neighboring nodes in response to a trigger transmission instruction from the trigger transmission determination unit 34a (step S19). For example, the trigger output unit 37 transmits a query to the Web server closest to the URL list stored in the next hop list unit 36a.

一方、トリガ送信判断部34aは、トリガ出力部37にトリガ送信指示を行った後、トリガ送信時刻管理部35に対し、トリガ送信時刻記憶部38にトリガ送信時刻tlを記憶させる旨の指示を行う。トリガ送信時刻管理部35は、トリガ送信判断部34aの指示に応じ、トリガ送信時刻記憶部38にトリガ送信時刻tlを記憶させる(ステップS20)。また、トリガ送信判断部34aは、トリガ送信指示後、トリガ出力部37に対して、トリガ複製確率pに基づき、URLリストの中からランダムに選択したノードにトリガの送信指示を行うよう指示する(ステップS21)。   On the other hand, after sending a trigger transmission instruction to the trigger output unit 37, the trigger transmission determination unit 34a instructs the trigger transmission time management unit 35 to store the trigger transmission time tl in the trigger transmission time storage unit 38. . The trigger transmission time management unit 35 stores the trigger transmission time tl in the trigger transmission time storage unit 38 in response to an instruction from the trigger transmission determination unit 34a (step S20). In addition, after the trigger transmission instruction, the trigger transmission determination unit 34a instructs the trigger output unit 37 to instruct the node selected at random from the URL list to transmit the trigger based on the trigger replication probability p ( Step S21).

以上の処理が実行されることにより、リング状に構成されたネットワーク上のWebサーバ間をトリガが順次送信される。また、トリガ送信判断部34aが送信間隔を調整して定期的にトリガを送信するため、トリガを受信した各Webサーバは定期的に処理を実行できる。   By executing the above processing, triggers are sequentially transmitted between Web servers on a network configured in a ring shape. In addition, since the trigger transmission determination unit 34a periodically transmits a trigger by adjusting the transmission interval, each Web server that has received the trigger can periodically execute the process.

なお、最初にシステムを稼働させる際には、ユーザ等により最初のトリガが入力されたことに基づいてトリガの送信が開始される。そして、以降はシステム内のWebサーバ間で自動的にトリガの送信が行われるため、定期処理が継続的に実行される。   When operating the system for the first time, trigger transmission is started based on the input of the first trigger by a user or the like. Thereafter, since the trigger is automatically transmitted between the Web servers in the system, the periodic process is continuously executed.

図5〜図7は、トリガの送信タイミングの例を示す説明図である。以下、図5〜図7を用いて、トリガの送信タイミングについて説明する。なお、以下の説明では、各Webサーバに対し、コード(Chord)に基づくIDがWebサーバA〜Fの順にリング状につながるように付与され、各Webサーバは、AからFの順(ただし、Fの次はA)に隣接するWebサーバへ順次トリガを送信する場合について説明する。また、図5〜図7の例に示す縦線間の距離がWebサーバ間の正規化距離dnを表し、縦下方向が時間の経過を表す。また、リング状に形成されたネットワーク内のトリガ数(すなわち、ループ内トリガ個数nt)は2である。   5 to 7 are explanatory diagrams illustrating examples of trigger transmission timing. Hereinafter, the trigger transmission timing will be described with reference to FIGS. In the following description, an ID based on a code (Chord) is given to each Web server so as to be connected in a ring shape in the order of Web servers A to F, and each Web server is in the order of A to F (however, Next to F, the case where triggers are sequentially transmitted to the Web server adjacent to A) will be described. Also, the distance between the vertical lines shown in the examples of FIGS. 5 to 7 represents the normalized distance dn between the Web servers, and the vertical downward direction represents the passage of time. The number of triggers in the network formed in a ring shape (that is, the number of triggers in the loop nt) is 2.

図5に例示する「1」のタイミングでWebサーバAからWebサーバBにトリガが送信されると、WebサーバBは、正規化距離dnと、トリガ送信間隔tdと、ループ内トリガ個数nt(ここでは、2)とを乗じた時間(すなわち、トリガ滞留時間tw)経過後にWebサーバCにトリガを送信する。WebサーバCからWebサーバDへのトリガ送信、WebサーバDからWebサーバEへのトリガ送信、WebサーバEからWebサーバFへのトリガ送信及びWebサーバFからWebサーバAへのトリガ送信も、上記と同様に算出されるトリガ滞留時間tw経過後に行われる。トリガ滞留時間twは、正規化距離dnにより決まるため、トリガは、図5に例示する点線斜線が各サーバの縦線と交わるタイミングごとに送信される。   When a trigger is transmitted from the Web server A to the Web server B at the timing “1” illustrated in FIG. 5, the Web server B transmits the normalized distance dn, the trigger transmission interval td, and the number of triggers nt in the loop (here Then, the trigger is transmitted to the Web server C after the time multiplied by 2) (that is, the trigger residence time tw) has elapsed. The trigger transmission from the Web server C to the Web server D, the trigger transmission from the Web server D to the Web server E, the trigger transmission from the Web server E to the Web server F, and the trigger transmission from the Web server F to the Web server A are also described above. It is performed after the trigger residence time tw calculated in the same manner as described above. Since the trigger residence time tw is determined by the normalized distance dn, the trigger is transmitted at each timing when the dotted diagonal line illustrated in FIG. 5 intersects with the vertical line of each server.

「1」のタイミングからトリガ送信間隔td経過後の「2」のタイミングでWebサーバAからWebサーバBにトリガが送信される場合も、各Webサーバは、トリガ滞留時間tw経過後にトリガを送信する。よって、複数のトリガが存在する場合も、一定のトリガ送信間隔tdでトリガが送信される。   Even when the trigger is transmitted from the Web server A to the Web server B at the timing “2” after the trigger transmission interval td elapses from the timing “1”, each Web server transmits the trigger after the trigger residence time tw has elapsed. . Therefore, even when there are a plurality of triggers, the trigger is transmitted at a constant trigger transmission interval td.

図6は、トリガが早く送信された場合、及び、トリガが遅れて送信された場合の例を示す説明図である。図6に例示する「イ)」のタイミングでWebサーバCにトリガが送信されると、トリガ送信禁止時間trがトリガ滞留時間twよりも大きくなる場合がある。この場合、トリガ送信判断部34aは、トリガ送信間隔tdが経過する(すなわち、トリガ送信禁止時間が0になる)まで待ってから、WebサーバDに対するトリガ送信指示をトリガ送信部37に行う。このため、各Webサーバは、トリガ送信間隔tdを保つことができる。   FIG. 6 is an explanatory diagram illustrating an example when the trigger is transmitted early and when the trigger is transmitted late. When a trigger is transmitted to the Web server C at the timing “A)” illustrated in FIG. 6, the trigger transmission prohibition time tr may be longer than the trigger residence time tw. In this case, the trigger transmission determination unit 34a waits until the trigger transmission interval td elapses (that is, the trigger transmission prohibition time becomes 0), and then instructs the trigger transmission unit 37 to transmit a trigger to the Web server D. For this reason, each Web server can maintain the trigger transmission interval td.

一方、図6に例示する「ロ)」のタイミングでWebサーバAにトリガが送信されると、WebサーバAに到着するトリガが遅れているため、WebサーバBに対するトリガの送信も遅れる恐れがある。そのため、トリガ送信判断部34aは、加速係数kを乗じたトリガ滞留時間twの経過後にWebサーバBに対するトリガ送信指示をトリガ送信部37に行う。以下同様に、各Webサーバが、加速係数kを乗じたトリガ滞留時間twの経過後にトリガを送信することで、少しずつトリガの送信間隔が縮まるため、トリガを送信する間隔をトリガ送信間隔tdに収束させることができる。   On the other hand, if a trigger is transmitted to the Web server A at the timing of “B)” illustrated in FIG. 6, the trigger that arrives at the Web server A is delayed, so that the transmission of the trigger to the Web server B may also be delayed. . Therefore, the trigger transmission determination unit 34a gives the trigger transmission unit 37 a trigger transmission instruction for the Web server B after the elapse of the trigger residence time tw multiplied by the acceleration coefficient k. Similarly, since each Web server transmits a trigger after the trigger residence time tw multiplied by the acceleration coefficient k has elapsed, the trigger transmission interval is gradually reduced, so that the trigger transmission interval is set to the trigger transmission interval td. It can be converged.

図7は、トリガ複製確率pに応じてトリガが発生(すなわち、トリガのコピーが発生)した場合の例、及び、トリガの送信を抑制する場合の例を示す説明図である。トリガ送信判断部34aは、トリガ複製確率pに応じ、例えば、図7に例示する「ハ)」のタイミングで、新たなトリガ送信指示を行う。以降の処理は、図5及び図6に示す内容と同様である。一方、図7に例示する「ニ)」のタイミングでWebサーバEにトリガが送信されると、トリガ送信判断部34aが、他のWebサーバに対するトリガ送信指示を待機している場合や、トリガ滞留時間twが最長許容待ち時間tw_maxを超えている場合がある。このとき、トリガ送信判断部34aは、受信したトリガに基づく新たなトリガ送信指示を抑制し、以後のトリガ送信指示を行わない。このようにすることで、ループ内のトリガ数を一定の数(例えば、ループ内トリガ個数nt)に保つことができる。   FIG. 7 is an explanatory diagram illustrating an example in which a trigger is generated according to the trigger duplication probability p (that is, a trigger copy is generated) and an example in which transmission of the trigger is suppressed. The trigger transmission determination unit 34a issues a new trigger transmission instruction at the timing of “c” illustrated in FIG. 7 according to the trigger replication probability p, for example. The subsequent processing is the same as the contents shown in FIGS. On the other hand, when a trigger is transmitted to the Web server E at the timing “d)” illustrated in FIG. 7, the trigger transmission determination unit 34a waits for a trigger transmission instruction to another Web server, or the trigger stays. The time tw may exceed the maximum allowable waiting time tw_max. At this time, the trigger transmission determination unit 34a suppresses a new trigger transmission instruction based on the received trigger, and does not perform a subsequent trigger transmission instruction. By doing in this way, the number of triggers in the loop can be kept constant (for example, the number of triggers in the loop nt).

以上のように、本実施形態によれば、Webサーバ21aがトリガを受信したことを契機として、トリガ送信判断部34aが、他のWebサーバとの距離(例えば、正規化距離dn)を算出し、その距離に基づいてトリガ滞留時間tw算出するトリガ滞留時間twを算出する。トリガ送信判断部34aは、過去にトリガを送信した時刻からトリガを受信した時刻までの経過時間teとトリガ送信間隔tdとの差分であるトリガ送信禁止時間trよりも、トリガ滞留時間twの方が大きい場合に、トリガ滞留時間twの経過後にWebサーバに対してトリガを送信すると判断する。一方、トリガ送信判断部34aは、トリガ滞留時間twがトリガ送信禁止時間tr以下の場合に、過去にトリガを送信した時刻からの経過時間teがトリガ送信間隔tdに達していることを条件に、Webサーバに対してトリガを送信すると判断する。そして、トリガ出力部37は、トリガ送信判断部34aがトリガを送信すると判断したことに基づいて、他のWebサーバにトリガを送信する。よって、定期的にトリガを発生する発生源を利用できない場合であっても、定期処理を実行できる。   As described above, according to the present embodiment, the trigger transmission determination unit 34a calculates a distance (for example, normalized distance dn) from another Web server when the Web server 21a receives a trigger. The trigger residence time tw for calculating the trigger residence time tw is calculated based on the distance. The trigger transmission determination unit 34a is configured such that the trigger residence time tw is greater than the trigger transmission prohibition time tr, which is the difference between the elapsed time te from the time when the trigger is transmitted in the past to the time when the trigger is received and the trigger transmission interval td. If it is larger, it is determined that the trigger is transmitted to the Web server after the trigger residence time tw has elapsed. On the other hand, when the trigger residence time tw is equal to or shorter than the trigger transmission prohibition time tr, the trigger transmission determination unit 34a is on condition that the elapsed time te from the time when the trigger was transmitted in the past has reached the trigger transmission interval td. It is determined that a trigger is transmitted to the Web server. Then, the trigger output unit 37 transmits the trigger to another Web server based on the determination that the trigger transmission determination unit 34a transmits the trigger. Therefore, even when a source that periodically generates a trigger cannot be used, the periodic process can be executed.

例えば、WebサーバがDHTを構築する用途に用いられる場合、そのWebサーバには定期的にトリガを発生させる機能を利用できないレンタルサーバが用いられることが多く、そのままでは、そのWebサーバは定期処理を容易に実行できない。このような場合に、本実施形態で示した定期処理実行システムを用いれば、Webサーバが定期的にトリガを発生する発生源を利用できない場合であっても定期処理を実行できる。   For example, when a Web server is used for constructing a DHT, a rental server that cannot use a function that periodically generates a trigger is often used for the Web server. Cannot be easily executed. In such a case, if the periodic processing execution system shown in the present embodiment is used, the periodic processing can be executed even when the Web server cannot use a source that periodically generates a trigger.

実施形態2.
図8は、本発明の第2の実施形態における定期処理実行システムの例を示すブロック図である。なお、第1の実施形態と同様の構成については、図2と同一の符号を付し、説明を省略する。本実施形態における定期処理実行システムは、Webサーバ21b及びWebサーバ22〜25を備えている。Webサーバ21b及びWebサーバ22〜25は、通信ネットワーク100を介して相互に接続される。
Embodiment 2. FIG.
FIG. 8 is a block diagram illustrating an example of a periodic process execution system according to the second embodiment of the present invention. In addition, about the structure similar to 1st Embodiment, the code | symbol same as FIG. 2 is attached | subjected and description is abbreviate | omitted. The regular processing execution system in this embodiment includes a Web server 21b and Web servers 22-25. The web server 21b and the web servers 22 to 25 are connected to each other via the communication network 100.

Webサーバ21bは、通信部31と、トリガ入力部32と、実行部33と、トリガ送信判断部34bと、次ホップリスト部36bと、トリガ出力部37と、時刻取得部39とを備えている。   The web server 21 b includes a communication unit 31, a trigger input unit 32, an execution unit 33, a trigger transmission determination unit 34 b, a next hop list unit 36 b, a trigger output unit 37, and a time acquisition unit 39. .

次ホップリスト部36bは、WebサーバのURLと、そのWebサーバにトリガ送信指示を行った時刻(以下、最終送信時刻と記す。)の組を記憶する。次ホップリスト部36bは、具体的には、Webサーバ21bが備える磁気ディスク装置等によって実現される。次ホップリスト部36bは、Webサーバがリング状につながるように、予め定められた個数のURLと最終送信時刻の組(以下、次ホップリストと記す。)を記憶する。   The next hop list unit 36b stores a set of a URL of a Web server and a time when a trigger transmission instruction is given to the Web server (hereinafter referred to as a final transmission time). Specifically, the next hop list unit 36b is realized by a magnetic disk device or the like included in the Web server 21b. The next hop list unit 36b stores a predetermined number of sets of URLs and last transmission times (hereinafter referred to as a next hop list) so that the Web server is connected in a ring shape.

図9は、定期処理実行システムが実現されるネットワーク構成、及び次ホップリストの例を示す説明図である。図9(a)の例に示すネットワークでは、円周上に示したWebサーバ間の距離が、その円周上に並んだ順に近いことを示す。すなわち、図9(a)に示す例では、WebサーバAに近いWebサーバがWebサーバBであり、以降、WebサーバEまで順に並んでいることを示す。また、図9(b)に示す例では、円周上に示す矢印の方向を順方向として次ホップリストが作成されていることを示す。例えば、WebサーバA〜Eが図9(a)に例示する内容で接続されている場合、WebサーバAの次ホップリスト部36bは、図9(b)に例示する内容の次ホップリストを記憶する。   FIG. 9 is an explanatory diagram illustrating an example of a network configuration in which the periodic process execution system is realized and a next hop list. In the network shown in the example of FIG. 9A, the distance between the Web servers shown on the circumference is close to the order in which they are arranged on the circumference. That is, in the example illustrated in FIG. 9A, the Web server close to the Web server A is the Web server B, and thereafter, the Web server E is sequentially arranged. In the example shown in FIG. 9B, the next hop list is created with the direction of the arrow on the circumference as the forward direction. For example, when the Web servers A to E are connected with the content illustrated in FIG. 9A, the next hop list unit 36b of the Web server A stores the next hop list with the content illustrated in FIG. 9B. To do.

時刻取得部39は、トリガ送信判断部34bの指示に応じ、現在時刻を算出して(取得して)トリガ送信判断部34bに出力する。   The time acquisition unit 39 calculates (acquires) the current time according to an instruction from the trigger transmission determination unit 34b and outputs the current time to the trigger transmission determination unit 34b.

トリガ送信判断部34bは、他のWebサーバに過去にトリガの送信を指示した送信時刻(すなわち、トリガ送信時刻tl)に基づき、トリガ送信指示を行うWebサーバを判断する。例えば、トリガ送信判断部34bは、トリガ送信時刻tlからの経過時間がトリガ送信間隔tdに達しているWebサーバに対してトリガを送信すると判断する。そして、トリガ送信判断部34bは、そのWebサーバに対してトリガを送信する旨をトリガ出力部37に対して指示する。   The trigger transmission determining unit 34b determines the Web server that performs the trigger transmission instruction based on the transmission time (that is, the trigger transmission time tl) instructed to transmit the trigger to the other Web server in the past. For example, the trigger transmission determination unit 34b determines to transmit a trigger to a Web server whose elapsed time from the trigger transmission time tl has reached the trigger transmission interval td. Then, the trigger transmission determination unit 34b instructs the trigger output unit 37 to transmit a trigger to the Web server.

具体的には、トリガ送信判断部34bは、次ホップリスト部36bに記憶された最終送信時刻からトリガを受信した現在時刻tまでの経過時間teを、予め定められたトリガ送信間隔tdから減じたトリガ送信禁止時間trを算出する。そして、トリガ送信判断部34bは、トリガ送信禁止時間trが0以下の値になる最終送信時刻に対応するWebサーバにトリガ送信指示を行うと判断する。すなわち、トリガ送信判断部34bは、最終更新時刻からトリガ送信間隔tdを加算した時刻よりも現在時刻tが進んでいる場合に、その最終更新時刻に対応するWebサーバにトリガ送信指示を行うと言うことができる。なお、トリガ送信判断部34bがトリガ送信指示を行うと判断するための条件は、以下の(式1)で表わすことができる。   Specifically, the trigger transmission determination unit 34b subtracts the elapsed time te from the last transmission time stored in the next hop list unit 36b to the current time t when the trigger is received from the predetermined trigger transmission interval td. The trigger transmission inhibition time tr is calculated. Then, the trigger transmission determining unit 34b determines that a trigger transmission instruction is issued to the Web server corresponding to the final transmission time at which the trigger transmission prohibition time tr is 0 or less. That is, when the current time t is ahead of the time obtained by adding the trigger transmission interval td from the last update time, the trigger transmission determination unit 34b instructs the Web server corresponding to the last update time to send a trigger. be able to. The condition for determining that the trigger transmission determining unit 34b issues a trigger transmission instruction can be expressed by the following (Equation 1).

トリガ送信禁止時間tr=トリガ送信間隔td−(現在時刻t−最終送信時刻)≦0 (式1)   Trigger transmission inhibition time tr = Trigger transmission interval td− (current time t−final transmission time) ≦ 0 (Expression 1)

また、(式1)は、以下の(式2)のように変形することができる。   Further, (Equation 1) can be modified as the following (Equation 2).

最終送信時刻+トリガ送信間隔td<現在時刻t (式2)   Last transmission time + trigger transmission interval td <current time t (Expression 2)

これは、最終更新時刻からトリガ送信間隔tdを加算した時刻よりも現在時刻tが進んでいることを意味する。   This means that the current time t is ahead of the time obtained by adding the trigger transmission interval td from the last update time.

また、トリガ送信判断部34bは、トリガ送信禁止時間trがランダム値Rよりも小さいときに、最終送信時刻に対応するWebサーバにトリガ送信指示を行うと判断してもよい。ここで、ランダム値Rは、トリガ送信間隔tdよりも小さい値であって、トリガ送信手段がトリガ送信禁止時間trを計算するたびにトリガ送信判断部34bが決定するランダムな値である。この場合に、トリガ送信判断部34bがトリガ送信指示を行うと判断するための条件は、以下の(式3)で表わすことができる。   Further, when the trigger transmission prohibition time tr is smaller than the random value R, the trigger transmission determination unit 34b may determine that a trigger transmission instruction is issued to the Web server corresponding to the final transmission time. Here, the random value R is a value smaller than the trigger transmission interval td, and is a random value determined by the trigger transmission determination unit 34b every time the trigger transmission unit calculates the trigger transmission prohibition time tr. In this case, the condition for determining that the trigger transmission determining unit 34b performs the trigger transmission instruction can be expressed by the following (Equation 3).

トリガ送信禁止時間tr=トリガ送信間隔td−(現在時刻t−最終送信時刻)<R (式3)   Trigger transmission inhibition time tr = Trigger transmission interval td− (current time t−final transmission time) <R (Expression 3)

また、(式3)は、以下の(式4)のように変形することができる。   Further, (Equation 3) can be modified as the following (Equation 4).

最終送信時刻+トリガ送信間隔td−R<現在時刻t (式4)   Last transmission time + trigger transmission interval td-R <current time t (Formula 4)

これは、過去にトリガを送信した送信時刻からの経過時間が、トリガ送信間隔tdにランダム値Rを加味した時間経過しているときに条件を満たすと言える。   This can be said to satisfy the condition when the elapsed time from the transmission time at which the trigger was transmitted in the past has elapsed with the random value R added to the trigger transmission interval td.

複数のノードの最終送信時刻に同一の時刻が設定されると、それらのノードに対して次回行われるトリガの送信も同時に行われることになってしまう。すると、複数のノードに対するトリガ送信が同時に行われることにより、Webサーバの過負荷やアクセス集中のおそれがある。そこで、本実施形態では、上記ランダム値Rを使用することにより、最終送信時刻を分散させている。そのため、トリガの送信が分散し、Webサーバへの過負荷やアクセス集中を回避できる。   If the same time is set as the final transmission time of a plurality of nodes, the next trigger transmission to those nodes will be performed at the same time. Then, trigger transmission to a plurality of nodes is performed at the same time, which may cause overload of the Web server and concentration of access. Therefore, in the present embodiment, the final transmission time is distributed by using the random value R. Therefore, the transmission of triggers is distributed, and overload and access concentration on the Web server can be avoided.

なお、以下の説明では、(式2)で表わされる条件を「条件A1」と記し、(式4)で表わされる条件を「条件A2」と記す。   In the following description, the condition represented by (Expression 2) is referred to as “condition A1”, and the condition represented by (Expression 4) is referred to as “condition A2”.

また、トリガ送信判断部34bは、次ホップリスト部36bに記憶された最終更新時刻のうち、トリガの送信指示を行ったWebサーバの最終更新時刻をトリガの送信指示を行った時刻に更新する。   In addition, the trigger transmission determination unit 34b updates the last update time of the Web server that issued the trigger transmission instruction to the time when the trigger transmission instruction was issued, among the last update times stored in the next hop list unit 36b.

通信部31、トリガ入力部32、実行部33及びトリガ出力部37は、第1の実施形態と同様の構成のため、説明を省略する。   Since the communication unit 31, the trigger input unit 32, the execution unit 33, and the trigger output unit 37 have the same configuration as in the first embodiment, description thereof is omitted.

また、他のWebサーバ(すなわち、Webサーバ22〜25)の構成は、Webサーバ21bと同様であるため、詳細な説明を省略する。なお、上記説明では、定期処理実行システムが他のWebサーバを4台備えている場合について説明した。本発明によれば、定期処理実行システムが備える他のWebサーバは、4台に限られず、1台であってもよく、2台以上であってもよい。   The configuration of the other Web servers (that is, the Web servers 22 to 25) is the same as that of the Web server 21b, and thus detailed description thereof is omitted. In the above description, the case where the periodic process execution system includes four other Web servers has been described. According to the present invention, the number of other Web servers provided in the periodic process execution system is not limited to four, and may be one or two or more.

なお、本システムにおけるWebサーバの全てが、必ずしもWebサーバ21bと同様の機能を備えていなくてもよい。本システム内の一部にあたる複数台のWebサーバがWebサーバ21bと同様の機能を備えていてもよく、また、システム内の1つのサーバのみWebサーバ21bと同様の機能を備えていてもよい。この場合、Webサーバ21bと同様の機能を備えていないWebサーバは、トリガを受信して、他の装置にトリガを送信する機能を備えていればよい。そのため、他のWebサーバは、時間間隔を調整する機能(すなわち、トリガ送信判断部34b、時刻取得部39)を備えていなくてもよい。システム内のより多くのサーバがWebサーバ21bと同様の機能(すなわち、時間間隔を調整する機能)を備えることにより、定期処理の精度が高まるため、より好ましいといえる。   Note that all of the Web servers in this system do not necessarily have the same function as the Web server 21b. A plurality of Web servers corresponding to a part of the system may have the same function as the Web server 21b, or only one server in the system may have the same function as the Web server 21b. In this case, a Web server that does not have the same function as the Web server 21b may have a function of receiving a trigger and transmitting the trigger to another device. For this reason, other Web servers may not have the function of adjusting the time interval (that is, the trigger transmission determination unit 34b and the time acquisition unit 39). Since more servers in the system have the same function as the Web server 21b (that is, the function of adjusting the time interval), it can be said that it is more preferable because the accuracy of the regular processing is increased.

通信部31と、トリガ入力部32と、実行部33と、トリガ送信判断部34bと、トリガ出力部37と、時刻取得部39とは、プログラム(定期処理実行プログラム)に従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、Webサーバ21bの記憶部(図示せず)に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、通信部31、トリガ入力部32、実行部33、トリガ送信判断部34b、トリガ出力部37及び時刻取得部39として動作してもよい。また、通信部31と、トリガ入力部32と、実行部33と、トリガ送信判断部34bと、トリガ出力部37と、時刻取得部39とは、それぞれが専用のハードウェアで実現されていてもよい。また、通信部31が、一般的なWebサーバのサービスを実現するプログラムに従って動作するコンピュータのCPUによって実現されてもよい。   The communication unit 31, the trigger input unit 32, the execution unit 33, the trigger transmission determination unit 34b, the trigger output unit 37, and the time acquisition unit 39 are performed by a CPU of a computer that operates according to a program (periodic process execution program). Realized. For example, the program is stored in a storage unit (not shown) of the Web server 21b, and the CPU reads the program, and according to the program, the communication unit 31, the trigger input unit 32, the execution unit 33, the trigger transmission determination unit 34b, The trigger output unit 37 and the time acquisition unit 39 may operate. Further, the communication unit 31, the trigger input unit 32, the execution unit 33, the trigger transmission determination unit 34b, the trigger output unit 37, and the time acquisition unit 39 may be realized by dedicated hardware. Good. In addition, the communication unit 31 may be realized by a CPU of a computer that operates according to a program that realizes a general Web server service.

次に、動作について説明する。図10は、トリガ送信判断部34bが、トリガ入力部32の指示に応じて、トリガの送信指示をトリガ出力部37に行うまでの処理の例を示すフローチャートである。なお、以下の説明では、トリガ送信判断部34bがトリガ送信指示を行うか否かの判断を、「条件A2」に基づいて行うものとする。   Next, the operation will be described. FIG. 10 is a flowchart illustrating an example of processing until the trigger transmission determination unit 34 b issues a trigger transmission instruction to the trigger output unit 37 in response to an instruction from the trigger input unit 32. In the following description, it is assumed that the determination as to whether or not the trigger transmission determination unit 34b issues a trigger transmission instruction is based on “Condition A2”.

Webサーバ21bがトリガを受信すると、トリガ送信判断部34bは、「条件A2」を満たす最終送信時刻に対応するURLの中から1つを選択する(ステップS31)。トリガ送信判断部34bは、例えば、条件を満たすURLのうち、最も早い最終送信時刻に対応するURLを選択してもよいが、トリガ送信判断部34bがURLを選択する方法は、上記方法に限定されない。以下、選択されたURLをURLsと記す。トリガ送信判断部34bは、URLsで特定されるWebサーバに対してトリガを送信するようトリガ送信部37に対して指示する。また、トリガ送信判断部34bは、次ホップリスト部36bに記憶された最終更新時刻のうち、URLsに対応する最終更新時刻をトリガの送信指示を行った時刻に更新する(ステップS32)。   When the Web server 21b receives the trigger, the trigger transmission determination unit 34b selects one of the URLs corresponding to the last transmission time that satisfies the “condition A2” (step S31). For example, the trigger transmission determination unit 34b may select the URL corresponding to the earliest last transmission time among the URLs that satisfy the conditions, but the method by which the trigger transmission determination unit 34b selects the URL is limited to the above method. Not. Hereinafter, the selected URL is referred to as URLs. The trigger transmission determination unit 34b instructs the trigger transmission unit 37 to transmit a trigger to the Web server specified by URLs. In addition, the trigger transmission determination unit 34b updates the last update time corresponding to the URLs among the last update times stored in the next hop list unit 36b to the time when the trigger transmission instruction is issued (step S32).

トリガ送信判断部34bは、「条件A2」を満たす最終送信時刻に対応するURLが他に存在するか否かを判断する(ステップS33)。「条件A2」を満たす最終送信時刻に対応するURLが他に存在する場合(ステップS33におけるYES)、トリガ送信判断部34bは、ステップS31以降の処理を繰り返す。一方、「条件A2」を満たす最終送信時刻に対応するURLが他に存在しない場合(ステップS33におけるNO)、トリガ送信判断部34bは、処理を終了する。   The trigger transmission determination unit 34b determines whether there is another URL corresponding to the final transmission time that satisfies the “condition A2” (step S33). If there is another URL corresponding to the final transmission time that satisfies “condition A2” (YES in step S33), the trigger transmission determination unit 34b repeats the processing from step S31 onward. On the other hand, when there is no other URL corresponding to the final transmission time that satisfies “condition A2” (NO in step S33), the trigger transmission determination unit 34b ends the process.

トリガ送信判断部34bが、他のWebサーバにトリガを送信する動作について、他の例を用いて説明する。図11は、各Webサーバがトリガを送信する動作の例を示す説明図である。図11に示す例では、A〜EはWebサーバを示し、各Webサーバが矢印の方向に向かってそれぞれトリガを送信していることを示す。   An operation in which the trigger transmission determination unit 34b transmits a trigger to another Web server will be described using another example. FIG. 11 is an explanatory diagram illustrating an example of an operation in which each Web server transmits a trigger. In the example illustrated in FIG. 11, A to E indicate Web servers, and each Web server transmits a trigger in the direction of the arrow.

まず、WebサーバAに対してトリガが送信されると(ステップS41)、WebサーバAのトリガ送信判断部34bは、条件(例えば、条件A1)をもとにトリガを送信するWebサーバを判断する。例えば、条件を満たすWebサーバがWebサーバBだけの場合、WebサーバAのトリガ送信判断部34bはWebサーバBにトリガを送信すると判断し、トリガ出力部37はWebサーバBにトリガを送信する(ステップS42)。WebサーバBに対してトリガが送信されると、WebサーバBのトリガ送信判断部34bは、条件をもとにトリガを送信するWebサーバを判断する。例えば、条件を満たすWebサーバがWebサーバDだけの場合、WebサーバBのトリガ送信判断部34bはWebサーバDにトリガを送信すると判断し、トリガ出力部37はWebサーバDにトリガを送信する(ステップS43)。   First, when a trigger is transmitted to the Web server A (step S41), the trigger transmission determination unit 34b of the Web server A determines a Web server that transmits the trigger based on a condition (for example, condition A1). . For example, when only the Web server B satisfies the condition, the trigger transmission determination unit 34b of the Web server A determines to transmit a trigger to the Web server B, and the trigger output unit 37 transmits the trigger to the Web server B ( Step S42). When the trigger is transmitted to the Web server B, the trigger transmission determination unit 34b of the Web server B determines the Web server that transmits the trigger based on the condition. For example, when only the Web server D satisfies the condition, the trigger transmission determination unit 34b of the Web server B determines to transmit a trigger to the Web server D, and the trigger output unit 37 transmits the trigger to the Web server D ( Step S43).

同様に、WebサーバDに対してトリガが送信され、条件を満たすWebサーバがWebサーバEより先のWebサーバだけの場合、WebサーバDのトリガ送信判断部34bはWebサーバEより先のWebサーバにトリガを送信すると判断し、トリガ出力部37はそのWebサーバにトリガを送信する(ステップS44)。   Similarly, when a trigger is transmitted to the Web server D and the only Web server that satisfies the condition is the Web server earlier than the Web server E, the trigger transmission determination unit 34b of the Web server D determines that the Web server E is a Web server earlier than the Web server E. The trigger output unit 37 transmits a trigger to the Web server (step S44).

一方、WebサーバAに対して再度トリガが送信されると(ステップS45)、WebサーバAのトリガ送信判断部34bは、条件をもとにトリガを送信するWebサーバを判断する。例えば、最近トリガを送信したWebサーバBは条件を満たさず、WebサーバCのみが条件を満たす場合、WebサーバAのトリガ送信判断部34bはWebサーバCにトリガを送信すると判断し、トリガ出力部37はWebサーバCにトリガを送信する(ステップS46)。同様に、WebサーバCに対してトリガが送信され、条件を満たすWebサーバがWebサーバDだけの場合、WebサーバCのトリガ送信判断部34bはWebサーバDにトリガを送信すると判断し、トリガ出力部37はWebサーバDにトリガを送信する(ステップS47)。また、WebサーバDに対してトリガが送信され、条件を満たすWebサーバがWebサーバEだけの場合、WebサーバDのトリガ送信判断部34bはWebサーバEにトリガを送信すると判断し、トリガ出力部37はWebサーバEにトリガを送信する(ステップS48)。WebサーバEに対してトリガが送信され、条件を満たすWebサーバがWebサーバEより先のWebサーバだけの場合、WebサーバEのトリガ送信判断部34bはWebサーバEより先のWebサーバにトリガを送信すると判断し、トリガ出力部37はそのWebサーバにトリガを送信する(ステップS49)。   On the other hand, when the trigger is transmitted again to the Web server A (step S45), the trigger transmission determination unit 34b of the Web server A determines the Web server that transmits the trigger based on the condition. For example, when the Web server B that recently transmitted the trigger does not satisfy the condition and only the Web server C satisfies the condition, the trigger transmission determination unit 34b of the Web server A determines to transmit the trigger to the Web server C, and the trigger output unit 37 transmits a trigger to the Web server C (step S46). Similarly, when a trigger is transmitted to the Web server C and the only Web server that satisfies the condition is the Web server D, the trigger transmission determination unit 34b of the Web server C determines to transmit a trigger to the Web server D, and trigger output The unit 37 transmits a trigger to the Web server D (Step S47). If the trigger is transmitted to the Web server D and the only Web server that satisfies the condition is the Web server E, the trigger transmission determination unit 34b of the Web server D determines that the trigger is transmitted to the Web server E, and the trigger output unit 37 transmits a trigger to the Web server E (step S48). When a trigger is transmitted to the Web server E, and the only Web server that satisfies the condition is the Web server before the Web server E, the trigger transmission determination unit 34b of the Web server E triggers the trigger to the Web server before the Web server E. The trigger output unit 37 determines to transmit, and transmits a trigger to the Web server (step S49).

また、WebサーバBに対してWebサーバAより前からトリガが送信されると(ステップS50)、WebサーバBのトリガ送信判断部34bは、条件をもとにトリガを送信するWebサーバを判断する。例えば、最近トリガを送信したWebサーバDは条件を満たさず、WebサーバCのみが条件を満たす場合、WebサーバBのトリガ送信判断部34bはWebサーバCにトリガを送信すると判断し、トリガ出力部37はWebサーバCにトリガを送信する(ステップS51)。同様に、WebサーバCに対してWebサーバBからトリガが送信され、最近トリガを送信したWebサーバDが条件を満たさず、WebサーバEのみが条件を満たす場合、WebサーバCのトリガ送信判断部34bは、WebサーバEにトリガを送信すると判断し、トリガ出力部37はWebサーバEにトリガを送信する(ステップS52)。また、WebサーバEに対してトリガが送信され、条件を満たすWebサーバがWebサーバEより先のWebサーバであって、最近トリガを送信していないWebサーバに対してトリガを送信すると判断し、トリガ出力部37はそのWebサーバにトリガを送信する(ステップS49)。   When a trigger is transmitted to Web server B from before Web server A (step S50), trigger transmission determination unit 34b of Web server B determines the Web server that transmits the trigger based on the conditions. . For example, when the Web server D that recently transmitted the trigger does not satisfy the condition and only the Web server C satisfies the condition, the trigger transmission determination unit 34b of the Web server B determines to transmit the trigger to the Web server C, and the trigger output unit 37 transmits a trigger to the Web server C (step S51). Similarly, when a trigger is transmitted from the Web server B to the Web server C, and the Web server D that recently transmitted the trigger does not satisfy the condition, and only the Web server E satisfies the condition, the trigger transmission determination unit of the Web server C 34b determines to transmit a trigger to the Web server E, and the trigger output unit 37 transmits the trigger to the Web server E (step S52). Further, a trigger is transmitted to the Web server E, and it is determined that the Web server that satisfies the condition is a Web server earlier than the Web server E and the trigger is transmitted to a Web server that has not recently transmitted a trigger, The trigger output unit 37 transmits a trigger to the Web server (step S49).

このように、1つのWebサーバに、大量のトリガ送信指示が行われる場合、前回トリガ送信指示を行ってから一定間隔があいていないことからトリガの送信中断が発生するため、トリガ送信指示が減少する。逆に、1つのWebサーバに行われるトリガ送信指示が少ない場合、前回トリガ送信指示を行ってから一定間隔があいていることから複数のノードに対してトリガ送信指示が行われる。したがって、ネットワーク全体でトリガ送信指示が行われる個数が一定に保たれる。   As described above, when a large number of trigger transmission instructions are issued to one Web server, the trigger transmission is interrupted because there is no fixed interval since the last trigger transmission instruction is issued, so the trigger transmission instructions are reduced. To do. Conversely, when there are few trigger transmission instructions given to one Web server, the trigger transmission instruction is issued to a plurality of nodes since a predetermined interval has passed since the previous trigger transmission instruction was issued. Therefore, the number of trigger transmission instructions to be issued throughout the network is kept constant.

以上のように、本実施形態によれば、Webサーバ21bがトリガを受信したことを契機として、トリガ送信判断34bが、次ホップリスト部36bに記憶されたWebサーバのうち、最終更新時刻からの経過時間(例えば、現在時刻t−最終送信時刻)がトリガ送信間隔tdに達しているWebサーバに対してトリガを送信すると判断する。そして、トリガ出力部37は、トリガ送信判断部34bがトリガを送信すると判断したことに基づいて、他のWebサーバにトリガを送信する。よって、定期的にトリガを発生する発生源を利用できない場合であっても、定期処理を実行できる。   As described above, according to the present embodiment, triggered by the Web server 21b receiving a trigger, the trigger transmission determination 34b is from the last update time among the Web servers stored in the next hop list unit 36b. It is determined that the trigger is transmitted to the Web server whose elapsed time (for example, current time t−final transmission time) has reached the trigger transmission interval td. Then, the trigger output unit 37 transmits the trigger to another Web server based on the determination that the trigger transmission determination unit 34b transmits the trigger. Therefore, even when a source that periodically generates a trigger cannot be used, the periodic process can be executed.

本発明における定期処理実行システムによれば、cronの利用やプロセスの永続的な立ち上げ等が制限されているレンタルサーバを用いたシステムであってもDHT維持処理を実現することができる。なお、本発明における定期処理実行システムを適用する処理はDHT維持処理を行う場合に限定されるものではなく、例えば、デーモンを起動させることにより定期的に処理を実行させる他のケースについても同様に適用が可能である。   According to the periodic process execution system of the present invention, the DHT maintenance process can be realized even in a system using a rental server in which the use of cron or the permanent startup of a process is restricted. Note that the process of applying the periodic process execution system according to the present invention is not limited to the case of performing the DHT maintenance process. For example, the same applies to other cases in which a process is periodically executed by starting a daemon. Applicable.

例えば、DNS(Domain Name System)にも適用可能である。本システムを適用することにより、あるDNSサーバからの指示に基づいて、ホスト名とIP(Internet Protocol )アドレスとを対応付ける処理等(以下、DNS維持処理と記す。)を定期的に実行できると共に、他のDNSサーバにDNS維持処理を実行させるためのトリガを定期的に送信できる。   For example, it can be applied to DNS (Domain Name System). By applying this system, processing such as associating a host name with an IP (Internet Protocol) address (hereinafter referred to as DNS maintenance processing) can be periodically executed based on an instruction from a DNS server. A trigger for causing another DNS server to execute the DNS maintenance process can be transmitted periodically.

他にも、例えば、ユーザが閲覧したいブログの更新情報を定期的に収集したい場合にも適用可能である。一般的に、ユーザがブログの更新情報を定期的に収集するためには、ユーザが使用するコンピュータ上にデーモンを起動させておき、そのデーモンによって定期的に情報を更新する必要がある。しかし、本システムによれば、ブログを管理するサーバからの指示に基づいて、コンピュータ内のRSS(Resource description framework Site Summary )情報を定期的に更新できる。   In addition, for example, the present invention can be applied to a case where update information of a blog that the user wants to browse is collected periodically. In general, in order for a user to periodically collect blog update information, it is necessary to activate a daemon on a computer used by the user and periodically update the information using the daemon. However, according to the present system, RSS (Resource description framework Site Summary) information in the computer can be periodically updated based on an instruction from a server that manages the blog.

さらに、例えば、DHTを利用してネットワーク上に分散するファイルを管理する場合にも適用できる。ファイルを管理する各サーバは、他のファイルを管理するサーバの更新情報を受信すると、自サーバ内の管理情報を更新の上、他のサーバに対して送信間隔を調整したうえで更新情報を通知することができる。   Furthermore, for example, the present invention can also be applied to managing files distributed on a network using DHT. When each server that manages files receives the update information of the server that manages other files, it updates the management information in its own server, and notifies the update information after adjusting the transmission interval to other servers. can do.

なお、少なくとも以下に示すような定期処理実行装置及び定期処理実行システムも、上記に示すいずれかの実施形態に記載されていると言える。   In addition, it can be said that the periodic process execution device and the periodic process execution system as described below are also described in any of the embodiments described above.

(1)定期処理を実行させるためのトリガを外部の装置から受信したことを契機として、トリガの送信対象となる外部の装置に対して過去にトリガを送信した時刻(例えば、トリガ送信時刻tl、最終送信時刻)からの経過時間(例えば、経過時間te、現在時刻t−最終送信時刻)が予め定められたトリガ送信間隔(例えば、トリガ送信間隔td)に達していることを条件に、その外部の装置に対してトリガを送信すると判断するトリガ送信判断手段(例えば、トリガ送信判断部34a,b)と、トリガ送信判断手段がトリガを送信すると判断したことに基づいて、外部の装置(例えば、他のWebサーバ)にトリガを送信するトリガ送信手段(例えば、トリガ出力部37)とを備えたことを特徴とする定期処理実行装置。 (1) When a trigger for executing a periodic process is received from an external device, the time when the trigger was transmitted in the past to an external device that is a trigger transmission target (for example, trigger transmission time tl, On the condition that the elapsed time from the last transmission time (for example, elapsed time te, current time t−final transmission time) has reached a predetermined trigger transmission interval (for example, trigger transmission interval td), the external Trigger transmission determination means (for example, trigger transmission determination units 34a and 34b) that determines that a trigger is transmitted to the device of the above, and an external device (for example, A periodic processing execution apparatus comprising trigger transmission means (for example, a trigger output unit 37) for transmitting a trigger to another Web server.

(2)定期処理実行装置(例えば、Webサーバ21a)にトリガを送信する外部の装置との距離(例えば、正規化距離dn)を算出する距離算出手段(例えば、トリガ送信判断部34a)と、トリガの送信を滞留させる時間である滞留時間(例えば、トリガ滞留時間tw)を距離に基づいて算出する滞留時間算出手段(例えば、トリガ送信判断部34a)とを備え、トリガ送信判断手段が、過去にトリガを送信した時刻からトリガを受信した時刻までの経過時間とトリガ送信間隔との差分である送信禁止時間(例えば、トリガ送信禁止時間tr)よりも、滞留時間の方が大きい場合に、その滞留時間の経過後に外部の装置に対してトリガを送信すると判断し、滞留時間が送信禁止時間以下の場合に、過去にトリガを送信した時刻からの経過時間がトリガ送信間隔に達していることを条件に、外部の装置に対してトリガを送信すると判断する定期処理実行装置。 (2) distance calculation means (for example, trigger transmission determination unit 34a) for calculating a distance (for example, normalized distance dn) with an external device that transmits a trigger to a periodic process execution device (for example, Web server 21a); A residence time calculating unit (for example, trigger transmission determining unit 34a) that calculates a residence time (for example, trigger residence time tw) that is a time for which the transmission of the trigger is retained, based on the distance, If the residence time is longer than the transmission prohibition time (for example, the trigger transmission prohibition time tr), which is the difference between the elapsed time from the time when the trigger is transmitted to the time when the trigger is received and the trigger transmission interval, Elapsed from the time the trigger was sent in the past if it is determined that the trigger will be sent to an external device after the residence time has elapsed and the residence time is less than the transmission prohibition time During the condition that has reached the trigger transmission interval, periodic processing execution unit determines to transmit a trigger to an external device.

(3)滞留時間算出手段が、滞留時間を縮めるための係数(例えば、加速係数k)をその滞留時間に乗じて算出する定期処理実行装置。 (3) A periodic processing execution device in which the residence time calculation means calculates the residence time by multiplying the residence time by a coefficient (for example, an acceleration coefficient k) for shortening the residence time.

(4)トリガの送信対象候補となる装置を特定可能な装置情報(例えば、URL)を複数記憶する装置情報記憶手段(例えば、次ホップリスト部36a)を備え、トリガ送信手段が、装置に対するトリガの送信に失敗したときに、その装置とは異なる装置であって、装置情報記憶手段に記憶された装置情報で特定される装置にトリガを送信する定期処理実行装置。 (4) A device information storage unit (for example, a next hop list unit 36a) that stores a plurality of device information (for example, URLs) that can specify a device that is a transmission target candidate of the trigger is provided, A periodic processing execution device that transmits a trigger to a device that is different from the device and that is specified by the device information stored in the device information storage means when the transmission of the device fails.

(5)トリガ送信判断手段が、予め定められた確率(例えば、トリガ複製確率p)に基づいて、装置情報記憶手段に記憶された装置情報で特定されるいずれかの装置にトリガを送信すると判断する定期処理実行装置。 (5) Based on a predetermined probability (for example, trigger replication probability p), the trigger transmission determination unit determines to transmit a trigger to any device specified by the device information stored in the device information storage unit Regular processing execution device.

(6)トリガ送信手段がトリガの送信対象候補となる装置に対して過去にトリガを送信した送信時刻を、その装置と対応付けて記憶する送信時刻記憶手段(例えば、トリガ送信判断部34b)を備え、トリガ送信判断手段が、送信時刻記憶手段に記憶された装置のうち、送信時刻からの経過時間がトリガ送信間隔に達している装置に対してトリガを送信すると判断する定期処理実行装置。 (6) A transmission time storage unit (for example, trigger transmission determination unit 34b) that stores a transmission time when the trigger transmission unit transmits a trigger in the past to a device that is a transmission target candidate of the trigger in association with the device. A periodic processing execution device that determines that the trigger transmission determination unit transmits a trigger to a device that has elapsed from the transmission time and has reached the trigger transmission interval among the devices stored in the transmission time storage unit.

(7)トリガ送信判断手段がトリガを送信するか否か判断するたびに、送信間隔より小さいランダムな値であるランダム時間間隔(例えば、ランダム値R)を決定するランダム間隔決定手段(例えば、トリガ送信判断部34b)を備え、トリガ送信判断手段が、過去にトリガを送信した送信時刻からの経過時間が、トリガ送信間隔にランダム時間間隔を加味した時間経過している装置に対してトリガを送信すると判断する定期処理実行装置。 (7) Random interval determination means (for example, trigger) that determines a random time interval (for example, random value R) that is a random value smaller than the transmission interval each time the trigger transmission determination means determines whether or not to transmit a trigger. A transmission determination unit 34b), wherein the trigger transmission determination means transmits a trigger to an apparatus in which the elapsed time from the transmission time at which the trigger was transmitted in the past has elapsed by adding a random time interval to the trigger transmission interval. A periodic processing execution device that determines that this is the case.

(8)トリガを受信したときに定期処理を実行する実行手段(例えば、実行部33)を備えた定期処理実行装置。 (8) A periodic process execution device including execution means (for example, the execution unit 33) that executes a periodic process when a trigger is received.

(9)定期処理を実行させるためのトリガを送信する複数の外部装置(例えば、Webサーバ22〜25)と、外部装置に対して定期的に処理を実行させる定期処理実行装置(例えば、Webサーバ21a,b)とを備え、定期処理実行装置が、外部装置からトリガを受信したことを契機として、トリガの送信対象となる外部装置に対して過去にトリガを送信した時刻(例えば、トリガ送信時刻tl、最終送信時刻)からの経過時間(例えば、経過時間te、現在時刻t−最終送信時刻)が予め定められたトリガ送信間隔(例えば、トリガ送信間隔td)に達していることを条件に、その外部装置に対してトリガを送信すると判断するトリガ送信判断手段(例えば、トリガ送信判断部34a,b)と、トリガ送信判断手段がトリガを送信すると判断したことに基づいて、外部装置にトリガを送信するトリガ送信手段(例えば、トリガ出力部37)とを備えたことを特徴とする定期処理実行システム。 (9) A plurality of external devices (for example, Web servers 22 to 25) that transmit a trigger for executing periodic processing, and a periodic processing execution device (for example, Web server) that causes the external devices to periodically execute processing 21a, b), and the time at which the periodic process execution device has transmitted the trigger to the external device that is the trigger transmission target in response to the reception of the trigger from the external device (for example, the trigger transmission time) tl, the last transmission time) (for example, elapsed time te, current time t-final transmission time) on condition that the predetermined trigger transmission interval (for example, trigger transmission interval td) has been reached. Trigger transmission determination means (for example, trigger transmission determination units 34a and 34b) that determines that a trigger is transmitted to the external device, and trigger transmission determination means transmit the trigger. Based on that determination the periodic processing execution system, characterized in that it includes a trigger transmitting unit configured to transmit a trigger to an external device (e.g., a trigger output unit 37).

(10)定期処理実行装置にトリガを送信する外部装置との距離(例えば、正規化距離dn)を算出する距離算出手段(例えば、トリガ送信判断部34a)と、トリガの送信を滞留させる時間である滞留時間(例えば、トリガ滞留時間tw)を距離に基づいて算出する滞留時間算出手段(例えば、トリガ送信判断部34a)とを備え、トリガ送信判断手段が、過去にトリガを送信した時刻から今回トリガを受信した時刻までの経過時間とトリガ送信間隔との差分である送信禁止時間(例えば、トリガ送信禁止時間tr)よりも、滞留時間の方が大きい場合に、その滞留時間の経過後に外部装置に対してトリガを送信すると判断し、滞留時間が送信禁止時間以下の場合に、過去にトリガを送信した時刻からの経過時間がトリガ送信間隔に達していることを条件に、外部の装置に対してトリガを送信すると判断する定期処理実行システム。 (10) Distance calculation means (for example, trigger transmission determination unit 34a) for calculating a distance (for example, normalized distance dn) with an external device that transmits a trigger to the periodic process execution device, and a time for which the trigger transmission is held A dwell time calculating means (for example, trigger transmission determining unit 34a) for calculating a certain dwell time (for example, trigger dwell time tw) based on the distance, and the trigger transmission determining means from the time when the trigger was transmitted in the past to this time When the residence time is longer than the transmission prohibition time (for example, the trigger transmission prohibition time tr) that is the difference between the elapsed time up to the time when the trigger is received and the trigger transmission interval, the external device If the residence time is less than the transmission prohibition time, the elapsed time from the time the trigger was sent in the past has reached the trigger transmission interval. On condition Rukoto, periodic process execution system determines to transmit a trigger to an external device.

(11)距離算出手段が、各装置を識別するための識別子であって、その識別子全体でループを形成する識別子(例えば、コード(Chord)に基づくID)をもとに、各装置との距離を算出し、トリガ送信手段が、距離が一番近い外部装置にトリガを送信する定期処理実行システム。 (11) The distance calculation means is an identifier for identifying each device, and the distance from each device based on an identifier (for example, an ID based on a code (Chord)) that forms a loop with the entire identifier. The periodic processing execution system in which the trigger transmission means transmits the trigger to the external device closest to the distance.

(12)外部装置と定期処理実行装置と(例えば、各Webサーバ)がリング状のネットワークを形成し、トリガ送信手段が、ネットワークに沿って他の装置(例えば、他のWebサーバ)に順次トリガを送信する定期処理実行システム。 (12) The external device and the periodic processing execution device (for example, each Web server) form a ring-shaped network, and the trigger transmission means sequentially triggers another device (for example, another Web server) along the network. A periodic processing execution system that sends

(13)トリガ送信手段がトリガの送信対象候補となる装置に対して過去にトリガを送信した送信時刻を、その装置と対応付けて記憶する送信時刻記憶手段(例えば、トリガ送信判断部34b)を備え、トリガ送信判断手段が、送信時刻記憶手段に記憶された装置のうち、送信時刻からの経過時間がトリガ送信間隔に達している装置に対してトリガを送信すると判断する定期処理実行システム。 (13) A transmission time storage unit (for example, trigger transmission determination unit 34b) that stores a transmission time when the trigger transmission unit transmits a trigger in the past to a device that is a transmission target candidate of the trigger in association with the device. A periodic processing execution system for determining that the trigger transmission determination unit transmits a trigger to a device whose elapsed time from the transmission time has reached the trigger transmission interval among the devices stored in the transmission time storage unit.

以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。   Although the present invention has been described with reference to the embodiments and examples, the present invention is not limited to the above embodiments and examples. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

この出願は、2009年5月26日に出願された日本特許出願2009−126841を基礎とする優先権を主張し、その開示の全てをここに取り込む。   This application claims the priority on the basis of the JP Patent application 2009-126841 for which it applied on May 26, 2009, and takes in those the indications of all here.

本発明は、定期的に処理を実行する定期処理実行システムに好適に適用される。   The present invention is preferably applied to a periodic processing execution system that periodically executes processing.

21a,21b,22〜25 Webサーバ
31 通信部
32 トリガ入力部
33 実行部
34a,34b トリガ送信判断部
35 トリガ送信時刻管理部
36a,36b 次ホップリスト部
37 トリガ出力部
38 トリガ送信時刻記憶部
39 時刻取得部
100 通信ネットワーク
21a, 21b, 22-25 Web server 31 communication unit 32 trigger input unit 33 execution unit 34a, 34b trigger transmission determination unit 35 trigger transmission time management unit 36a, 36b next hop list unit 37 trigger output unit 38 trigger transmission time storage unit 39 Time acquisition unit 100 Communication network

Claims (19)

定期処理を実行させるためのトリガを外部の装置から受信したことを契機として、トリガの送信対象となる外部の装置に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、当該外部の装置に対してトリガを送信すると判断するトリガ送信判断手段と、
前記トリガ送信判断手段がトリガを送信すると判断したことに基づいて、前記外部の装置にトリガを送信するトリガ送信手段とを備えた
ことを特徴とする定期処理実行装置。
Trigger transmission with a predetermined elapsed time from the time when the trigger was transmitted in the past to the external device that is the trigger transmission target, triggered by the reception of the trigger for executing the periodic processing from the external device Trigger transmission determination means for determining that a trigger is transmitted to the external device on the condition that the interval has been reached;
A periodic processing execution device comprising: a trigger transmission unit configured to transmit a trigger to the external device based on the determination that the trigger transmission determination unit transmits a trigger.
定期処理実行装置に対してトリガを送信する外部の装置との距離を算出する距離算出手段と、
トリガの送信を滞留させる時間である滞留時間を前記距離に基づいて算出する滞留時間算出手段とを備え、
トリガ送信判断手段は、過去にトリガを送信した時刻からトリガを受信した時刻までの経過時間とトリガ送信間隔との差分である送信禁止時間よりも、前記滞留時間の方が大きい場合に、当該滞留時間の経過後に外部の装置に対してトリガを送信すると判断し、前記滞留時間が前記送信禁止時間以下の場合に、過去にトリガを送信した時刻からの経過時間がトリガ送信間隔に達していることを条件に、外部の装置に対してトリガを送信すると判断する
請求項1記載の定期処理実行装置。
Distance calculating means for calculating a distance from an external device that transmits a trigger to the periodic processing execution device;
A dwell time calculation means for calculating a dwell time that is a dwell time of transmission of the trigger based on the distance;
The trigger transmission determination means determines that the staying time is longer when the staying time is longer than the transmission prohibition time that is the difference between the elapsed time from the time when the trigger is transmitted to the time when the trigger is received and the trigger transmission interval. It is determined that a trigger is transmitted to an external device after a lapse of time, and when the stay time is equal to or shorter than the transmission prohibition time, the elapsed time from the time when the trigger was transmitted in the past has reached the trigger transmission interval. The periodical processing execution device according to claim 1, wherein it is determined that a trigger is transmitted to an external device on the condition of.
滞留時間算出手段は、滞留時間を縮めるための係数を当該滞留時間に乗じて算出する
請求項2記載の定期処理実行装置。
The periodic processing execution device according to claim 2, wherein the residence time calculation means calculates the residence time by multiplying the residence time by a coefficient for reducing the residence time.
トリガの送信対象候補となる装置を特定可能な装置情報を複数記憶する装置情報記憶手段を備え、
トリガ送信手段は、前記装置に対するトリガの送信に失敗したときに、当該装置とは異なる装置であって、前記装置情報記憶手段に記憶された装置情報で特定される装置にトリガを送信する
請求項1から請求項3のうちのいずれか1項に記載の定期処理実行装置。
Device information storage means for storing a plurality of device information capable of specifying devices that are trigger transmission candidates,
The trigger transmission unit transmits a trigger to a device that is different from the device and is specified by device information stored in the device information storage unit when transmission of a trigger to the device fails. The periodic process execution device according to any one of claims 1 to 3.
トリガ送信判断手段は、予め定められた確率に基づいて、装置情報記憶手段に記憶された装置情報で特定されるいずれかの装置にトリガを送信すると判断する
請求項4記載の定期処理実行装置。
The periodic processing execution device according to claim 4, wherein the trigger transmission determination unit determines to transmit the trigger to any device specified by the device information stored in the device information storage unit based on a predetermined probability.
トリガ送信手段がトリガの送信対象候補となる装置に対して過去にトリガを送信した送信時刻を、当該装置と対応付けて記憶する送信時刻記憶手段を備え、
トリガ送信判断手段は、前記送信時刻記憶手段に記憶された装置のうち、前記送信時刻からの経過時間がトリガ送信間隔に達している装置に対してトリガを送信すると判断する
請求項1記載の定期処理実行装置。
A transmission time storage means for storing a transmission time when the trigger transmission means transmits a trigger in the past for a device that is a transmission target candidate of the trigger in association with the device, and
2. The periodic transmission according to claim 1, wherein the trigger transmission determination unit determines to transmit a trigger to a device whose elapsed time from the transmission time has reached a trigger transmission interval among the devices stored in the transmission time storage unit. Processing execution device.
トリガ送信判断手段がトリガを送信するか否か判断するたびに、送信間隔より小さいランダムな値であるランダム時間間隔を決定するランダム間隔決定手段を備え、
トリガ送信判断手段は、過去にトリガを送信した送信時刻からの経過時間が、トリガ送信間隔に前記ランダム時間間隔を加味した時間経過している装置に対してトリガを送信すると判断する
請求項6記載の定期処理実行装置。
Random interval determination means for determining a random time interval that is a random value smaller than the transmission interval each time the trigger transmission determination means determines whether to transmit a trigger,
The trigger transmission determining means determines that the trigger is transmitted to a device whose elapsed time from the transmission time at which the trigger was transmitted in the past has elapsed with the random time interval added to the trigger transmission interval. Regular processing execution device.
トリガを受信したときに定期処理を実行する実行手段を備えた
請求項1から請求項7のうちのいずれか1項に記載の定期処理実行装置。
The periodic processing execution device according to any one of claims 1 to 7, further comprising execution means for executing periodic processing when a trigger is received.
定期処理を実行させるためのトリガを送信する複数の外部装置と、
外部装置に対して定期的に処理を実行させる定期処理実行装置とを備え、
前記定期処理実行装置は、
前記外部装置から前記トリガを受信したことを契機として、トリガの送信対象となる外部装置に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、当該外部装置に対してトリガを送信すると判断するトリガ送信判断手段と、
前記トリガ送信判断手段がトリガを送信すると判断したことに基づいて、前記外部装置にトリガを送信するトリガ送信手段とを備えた
ことを特徴とする定期処理実行システム。
A plurality of external devices that transmit triggers for executing periodic processing;
A periodic processing execution device that periodically executes processing on an external device;
The periodic process execution device includes:
When the trigger is received from the external device, the elapsed time from the time when the trigger was transmitted in the past to the external device that is the trigger transmission target has reached a predetermined trigger transmission interval. Trigger transmission determination means for determining that a trigger is transmitted to the external device as a condition,
A periodic processing execution system comprising: a trigger transmission unit that transmits a trigger to the external device based on the determination that the trigger transmission determination unit transmits a trigger.
定期処理実行装置にトリガを送信する外部装置との距離を算出する距離算出手段と、
トリガの送信を滞留させる時間である滞留時間を前記距離に基づいて算出する滞留時間算出手段とを備え、
トリガ送信判断手段は、過去にトリガを送信した時刻からトリガを受信した時刻までの経過時間とトリガ送信間隔との差分である送信禁止時間よりも、前記滞留時間の方が大きい場合に、当該滞留時間の経過後に外部装置に対してトリガを送信すると判断し、前記滞留時間が前記送信禁止時間以下の場合に、過去にトリガを送信した時刻からの経過時間がトリガ送信間隔に達していることを条件に、外部の装置に対してトリガを送信すると判断する
請求項9記載の定期処理実行システム。
A distance calculating means for calculating a distance from an external device that transmits a trigger to the periodic processing execution device;
A dwell time calculation means for calculating a dwell time that is a dwell time of transmission of the trigger based on the distance;
The trigger transmission determination means determines that the staying time is longer when the staying time is longer than the transmission prohibition time that is the difference between the elapsed time from the time when the trigger is transmitted to the time when the trigger is received and the trigger transmission interval. It is determined that a trigger is transmitted to an external device after the elapse of time, and when the stay time is equal to or shorter than the transmission prohibition time, the elapsed time from the time when the trigger was transmitted in the past has reached the trigger transmission interval. The periodic processing execution system according to claim 9, wherein it is determined that a trigger is transmitted to an external device as a condition.
距離算出手段は、各装置を識別するための識別子であって、当該識別子全体でループを形成する識別子をもとに、各装置との距離を算出し、
トリガ送信手段は、前記距離が一番近い外部装置にトリガを送信する
請求項9または請求項10に記載の定期処理実行システム。
The distance calculation means is an identifier for identifying each device, and calculates a distance from each device based on an identifier that forms a loop with the entire identifier,
The regular processing execution system according to claim 9 or 10, wherein the trigger transmission unit transmits a trigger to an external device having the closest distance.
外部装置と定期処理実行装置とがリング状のネットワークを形成し、
トリガ送信手段は、前記ネットワークに沿って他の装置に順次トリガを送信する
請求項9から請求項11のうちのいずれか1項に記載の定期処理実行システム。
The external device and the periodic processing execution device form a ring network,
The periodic processing execution system according to any one of claims 9 to 11, wherein the trigger transmission unit sequentially transmits a trigger to another device along the network.
トリガ送信手段がトリガの送信対象候補となる装置に対して過去にトリガを送信した送信時刻を、当該装置と対応付けて記憶する送信時刻記憶手段を備え、
トリガ送信判断手段は、前記送信時刻記憶手段に記憶された装置のうち、前記送信時刻からの経過時間がトリガ送信間隔に達している装置に対してトリガを送信すると判断する
請求項9記載の定期処理実行システム。
A transmission time storage means for storing a transmission time when the trigger transmission means transmits a trigger in the past for a device that is a transmission target candidate of the trigger in association with the device, and
10. The periodic transmission determination unit according to claim 9, wherein the trigger transmission determination unit determines to transmit a trigger to a device whose elapsed time from the transmission time has reached a trigger transmission interval among the devices stored in the transmission time storage unit. Processing execution system.
定期処理を実行させるためのトリガを外部の装置から受信したことを契機として、トリガの送信対象となる外部の装置に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、当該外部の装置に対してトリガを送信すると判断し、
トリガを送信すると判断したことに基づいて、前記外部の装置にトリガを送信する
ことを特徴とする定期処理実行方法。
Trigger transmission with a predetermined elapsed time from the time when the trigger was transmitted in the past to the external device that is the trigger transmission target, triggered by the reception of the trigger for executing the periodic processing from the external device It is determined that a trigger is transmitted to the external device on the condition that the interval has been reached,
A periodic processing execution method, comprising: transmitting a trigger to the external device based on determining that a trigger is to be transmitted.
外部からトリガを送信する装置との距離を算出し、
トリガの送信を滞留させる時間である滞留時間を前記距離に基づいて算出し、
外部の装置に対してトリガを送信するか否かを判断する際、過去にトリガを送信した時刻からトリガを受信した時刻までの経過時間とトリガ送信間隔との差分である送信禁止時間よりも、前記滞留時間の方が大きい場合に、当該滞留時間の経過後に外部の装置に対してトリガを送信すると判断し、前記滞留時間が前記送信禁止時間以下の場合に、過去にトリガを送信した時刻からの経過時間がトリガ送信間隔に達していることを条件に、外部の装置に対してトリガを送信すると判断する
請求項14記載の定期処理実行方法。
Calculate the distance to the device that sends the trigger from the outside,
Based on the distance, the residence time, which is the time for which the transmission of the trigger is retained, is calculated.
When determining whether to send a trigger to an external device, than the transmission prohibition time, which is the difference between the elapsed time from the time when the trigger was transmitted in the past to the time when the trigger was received and the trigger transmission interval, When the stay time is greater, it is determined that a trigger is transmitted to an external device after the stay time has elapsed, and when the stay time is equal to or shorter than the transmission prohibition time, the trigger is transmitted in the past. The periodical process execution method according to claim 14, wherein it is determined that a trigger is transmitted to an external device on the condition that the elapsed time has reached the trigger transmission interval.
外部の装置に対してトリガを送信するか否かを判断する際、トリガの送信対象候補となる装置と当該装置にトリガを送信した送信時刻とを対応付けて記憶する送信時刻記憶手段に記憶された装置のうち、前記送信時刻からの経過時間がトリガ送信間隔に達している装置に対してトリガを送信すると判断する
請求項14記載の定期処理実行方法。
When determining whether or not to transmit a trigger to an external device, the device is stored in a transmission time storage unit that stores a device that is a trigger transmission target candidate and a transmission time at which the trigger is transmitted to the device in association with each other. The periodic processing execution method according to claim 14, wherein among the devices that have been transmitted, a trigger is determined to be transmitted to a device whose elapsed time from the transmission time has reached a trigger transmission interval.
コンピュータに、
定期処理を実行させるためのトリガを外部の装置から受信したことを契機として、トリガの送信対象となる外部の装置に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、当該外部の装置に対してトリガを送信すると判断するトリガ送信判断処理、および、
前記トリガ送信判断処理でトリガを送信すると判断したことに基づいて、前記外部の装置にトリガを送信するトリガ送信処理
を実行させるための定期処理実行プログラム。
On the computer,
Trigger transmission with a predetermined elapsed time from the time when the trigger was transmitted in the past to the external device that is the trigger transmission target, triggered by the reception of the trigger for executing the periodic processing from the external device Trigger transmission determination processing for determining that a trigger is transmitted to the external device on the condition that the interval has been reached; and
A periodic process execution program for causing a trigger transmission process to transmit a trigger to the external device based on the determination that a trigger is transmitted in the trigger transmission determination process.
コンピュータに、
外部からトリガを送信する装置との距離を算出する距離算出処理、および、
トリガの送信を滞留させる時間である滞留時間を前記距離に基づいて算出する滞留時間算出処理を実行させ、
トリガ送信判断処理で、過去にトリガを送信した時刻からトリガを受信した時刻までの経過時間とトリガ送信間隔との差分である送信禁止時間よりも、前記滞留時間の方が大きい場合に、当該滞留時間の経過後に外部の装置に対してトリガを送信すると判断させ、前記滞留時間が前記送信禁止時間以下の場合に、過去にトリガを送信した時刻からの経過時間がトリガ送信間隔に達していることを条件に、外部の装置に対してトリガを送信すると判断させる
請求項17記載の定期処理実行プログラム。
On the computer,
Distance calculation processing for calculating the distance to the device that transmits the trigger from the outside, and
A dwell time calculation process for calculating a dwell time that is a dwell time of the trigger based on the distance is executed,
In the trigger transmission determination process, if the stay time is larger than the transmission prohibition time that is the difference between the trigger transmission interval and the elapsed time from the time when the trigger was transmitted in the past to the time when the trigger was received, When the trigger is transmitted to an external device after the elapse of time and the stay time is equal to or shorter than the transmission prohibition time, the elapsed time from the time when the trigger was transmitted in the past has reached the trigger transmission interval. The periodic processing execution program according to claim 17, wherein the program determines that a trigger is to be transmitted to an external device on the condition.
トリガ送信手段がトリガの送信対象候補となる装置に対して過去にトリガを送信した送信時刻を、当該装置と対応付けて記憶する送信時刻記憶手段を備えたコンピュータに適用される定期処理実行プログラムであって、
前記コンピュータに、
トリガ送信判断処理で、前記送信時刻記憶手段に記憶された装置のうち、前記送信時刻からの経過時間がトリガ送信間隔に達している装置に対してトリガを送信すると判断させる
請求項17記載の定期処理実行プログラム。
A periodic processing execution program applied to a computer having a transmission time storage means for storing a transmission time when a trigger transmission means has transmitted a trigger in the past to a device that is a transmission target candidate of the trigger in association with the device. There,
In the computer,
The periodic transmission according to claim 17, wherein the trigger transmission determination process determines that a trigger is transmitted to a device whose elapsed time from the transmission time has reached a trigger transmission interval among the devices stored in the transmission time storage means. Processing execution program.
JP2011515852A 2009-05-26 2010-04-14 Periodic process execution system, periodic process execution method, and periodic process execution program Pending JPWO2010137229A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009126841 2009-05-26
JP2009126841 2009-05-26
PCT/JP2010/002714 WO2010137229A1 (en) 2009-05-26 2010-04-14 Periodical-processing execution system, periodical-processing execution method, and periodical-processing execution program

Publications (1)

Publication Number Publication Date
JPWO2010137229A1 true JPWO2010137229A1 (en) 2012-11-12

Family

ID=43222361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011515852A Pending JPWO2010137229A1 (en) 2009-05-26 2010-04-14 Periodic process execution system, periodic process execution method, and periodic process execution program

Country Status (2)

Country Link
JP (1) JPWO2010137229A1 (en)
WO (1) WO2010137229A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022031258A1 (en) * 2020-08-03 2022-02-10 Hitachi Vantara Llc Randomization of heartbeat communications among multiple partition groups

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4622755B2 (en) * 2005-09-08 2011-02-02 ブラザー工業株式会社 Information communication system, information communication method, node device included in information communication system, and information processing program
JP2008015722A (en) * 2006-07-05 2008-01-24 Hitachi Electronics Service Co Ltd Data processing system
JP4780075B2 (en) * 2007-09-21 2011-09-28 ブラザー工業株式会社 Peer-to-peer communication system, node device, and program

Also Published As

Publication number Publication date
WO2010137229A1 (en) 2010-12-02

Similar Documents

Publication Publication Date Title
JP5567683B2 (en) Method and apparatus for locating services in a peer-to-peer network
JP6700308B2 (en) Data copy method and device
JP6191159B2 (en) Server, backup system, backup method, and computer program
CN106453460B (en) File distribution method, device and system
JP2009020757A (en) Data registration apparatus, data registration method and program
JP2013097548A (en) Information processing system, information processing device, client terminal, information processing method and program
JP4635615B2 (en) Information processing apparatus, system, data synchronization method, and program
JP4335907B2 (en) Method and apparatus for mobility churn processing for a peer-to-peer lookup system
WO2010137229A1 (en) Periodical-processing execution system, periodical-processing execution method, and periodical-processing execution program
JP5544521B2 (en) State management method, processing device, and state management program
US10680972B2 (en) State report control method and apparatus
JP2016091201A (en) Information processing device, synchronization control method, and program
JP2011039681A (en) Relay device, information processing method related to transfer rule, and program
JP2008040918A (en) Document processing system, document distribution management server device, document distribution management program, processor, processing program, device, and document distribution program
JP2006079488A (en) Data collection apparatus, data collection system and data collection method
JP6459654B2 (en) Event-driven system, information processing apparatus, event-driven program, and event-driven method
CN111125142B (en) Data updating method and system
CN110647298B (en) Data storage control method and device
JP5445177B2 (en) Deterministic clock determination program and method, and node device
WO2011013282A1 (en) Periodic process execution system, periodic process execution method and periodic process execution program
JP2006338624A (en) Server access control system, server access control method and server access control program
JP6665697B2 (en) Past information providing program, past information providing method, and past information providing device
JP6251203B2 (en) Streaming data distribution system and streaming data distribution method
WO2015165034A1 (en) Webpage loading method and device
KR100872170B1 (en) Multiple routing method on p2p network