(57)【要約】  定期処理実行システムは、定期処理を実行させるためのトリガを送信する複数の外部装置と、外部装置に対して定期的に処理を実行させる定期処理実行装置とを備えている。定期処理実行装置は、トリガ送信判断手段と、トリガ送信手段とを備えている。トリガ送信判断手段は、外部装置からトリガを受信したことを契機として、トリガの送信対象となる外部装置に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、外部装置に対してトリガを送信すると判断する。トリガ送信手段は、トリガ送信判断手段がトリガを送信すると判断したことに基づいて、外部装置にトリガを送信する。
2010137229.tif 000002
【特許請求の範囲】
【請求項１】
定期処理を実行させるためのトリガを外部の装置から受信したことを契機として、トリガの送信対象となる外部の装置に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、当該外部の装置に対してトリガを送信すると判断するトリガ送信判断手段と、
前記トリガ送信判断手段がトリガを送信すると判断したことに基づいて、前記外部の装置にトリガを送信するトリガ送信手段とを備えた
ことを特徴とする定期処理実行装置。
【請求項２】
定期処理実行装置に対してトリガを送信する外部の装置との距離を算出する距離算出手段と、
トリガの送信を滞留させる時間である滞留時間を前記距離に基づいて算出する滞留時間算出手段とを備え、
トリガ送信判断手段は、過去にトリガを送信した時刻からトリガを受信した時刻までの経過時間とトリガ送信間隔との差分である送信禁止時間よりも、前記滞留時間の方が大きい場合に、当該滞留時間の経過後に外部の装置に対してトリガを送信すると判断し、前記滞留時間が前記送信禁止時間以下の場合に、過去にトリガを送信した時刻からの経過時間がトリガ送信間隔に達していることを条件に、外部の装置に対してトリガを送信すると判断する
請求項１記載の定期処理実行装置。
【請求項３】
滞留時間算出手段は、滞留時間を縮めるための係数を当該滞留時間に乗じて算出する
請求項２記載の定期処理実行装置。
【請求項４】
トリガの送信対象候補となる装置を特定可能な装置情報を複数記憶する装置情報記憶手段を備え、
トリガ送信手段は、前記装置に対するトリガの送信に失敗したときに、当該装置とは異なる装置であって、前記装置情報記憶手段に記憶された装置情報で特定される装置にトリガを送信する
請求項１から請求項３のうちのいずれか１項に記載の定期処理実行装置。
【請求項５】
トリガ送信判断手段は、予め定められた確率に基づいて、装置情報記憶手段に記憶された装置情報で特定されるいずれかの装置にトリガを送信すると判断する
請求項４記載の定期処理実行装置。
【請求項６】
トリガ送信手段がトリガの送信対象候補となる装置に対して過去にトリガを送信した送信時刻を、当該装置と対応付けて記憶する送信時刻記憶手段を備え、
トリガ送信判断手段は、前記送信時刻記憶手段に記憶された装置のうち、前記送信時刻からの経過時間がトリガ送信間隔に達している装置に対してトリガを送信すると判断する
請求項１記載の定期処理実行装置。
【請求項７】
トリガ送信判断手段がトリガを送信するか否か判断するたびに、送信間隔より小さいランダムな値であるランダム時間間隔を決定するランダム間隔決定手段を備え、
トリガ送信判断手段は、過去にトリガを送信した送信時刻からの経過時間が、トリガ送信間隔に前記ランダム時間間隔を加味した時間経過している装置に対してトリガを送信すると判断する
請求項６記載の定期処理実行装置。
【請求項８】
トリガを受信したときに定期処理を実行する実行手段を備えた
請求項１から請求項７のうちのいずれか１項に記載の定期処理実行装置。
【請求項９】
定期処理を実行させるためのトリガを送信する複数の外部装置と、
外部装置に対して定期的に処理を実行させる定期処理実行装置とを備え、
前記定期処理実行装置は、
前記外部装置から前記トリガを受信したことを契機として、トリガの送信対象となる外部装置に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、当該外部装置に対してトリガを送信すると判断するトリガ送信判断手段と、
前記トリガ送信判断手段がトリガを送信すると判断したことに基づいて、前記外部装置にトリガを送信するトリガ送信手段とを備えた
ことを特徴とする定期処理実行システム。
【請求項１０】
定期処理実行装置にトリガを送信する外部装置との距離を算出する距離算出手段と、
トリガの送信を滞留させる時間である滞留時間を前記距離に基づいて算出する滞留時間算出手段とを備え、
トリガ送信判断手段は、過去にトリガを送信した時刻からトリガを受信した時刻までの経過時間とトリガ送信間隔との差分である送信禁止時間よりも、前記滞留時間の方が大きい場合に、当該滞留時間の経過後に外部装置に対してトリガを送信すると判断し、前記滞留時間が前記送信禁止時間以下の場合に、過去にトリガを送信した時刻からの経過時間がトリガ送信間隔に達していることを条件に、外部の装置に対してトリガを送信すると判断する
請求項９記載の定期処理実行システム。
【請求項１１】
距離算出手段は、各装置を識別するための識別子であって、当該識別子全体でループを形成する識別子をもとに、各装置との距離を算出し、
トリガ送信手段は、前記距離が一番近い外部装置にトリガを送信する
請求項９または請求項１０に記載の定期処理実行システム。
【請求項１２】
外部装置と定期処理実行装置とがリング状のネットワークを形成し、
トリガ送信手段は、前記ネットワークに沿って他の装置に順次トリガを送信する
請求項９から請求項１１のうちのいずれか１項に記載の定期処理実行システム。
【請求項１３】
トリガ送信手段がトリガの送信対象候補となる装置に対して過去にトリガを送信した送信時刻を、当該装置と対応付けて記憶する送信時刻記憶手段を備え、
トリガ送信判断手段は、前記送信時刻記憶手段に記憶された装置のうち、前記送信時刻からの経過時間がトリガ送信間隔に達している装置に対してトリガを送信すると判断する
請求項９記載の定期処理実行システム。
【請求項１４】
定期処理を実行させるためのトリガを外部の装置から受信したことを契機として、トリガの送信対象となる外部の装置に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、当該外部の装置に対してトリガを送信すると判断し、
トリガを送信すると判断したことに基づいて、前記外部の装置にトリガを送信する
ことを特徴とする定期処理実行方法。
【請求項１５】
外部からトリガを送信する装置との距離を算出し、
トリガの送信を滞留させる時間である滞留時間を前記距離に基づいて算出し、
外部の装置に対してトリガを送信するか否かを判断する際、過去にトリガを送信した時刻からトリガを受信した時刻までの経過時間とトリガ送信間隔との差分である送信禁止時間よりも、前記滞留時間の方が大きい場合に、当該滞留時間の経過後に外部の装置に対してトリガを送信すると判断し、前記滞留時間が前記送信禁止時間以下の場合に、過去にトリガを送信した時刻からの経過時間がトリガ送信間隔に達していることを条件に、外部の装置に対してトリガを送信すると判断する
請求項１４記載の定期処理実行方法。
【請求項１６】
外部の装置に対してトリガを送信するか否かを判断する際、トリガの送信対象候補となる装置と当該装置にトリガを送信した送信時刻とを対応付けて記憶する送信時刻記憶手段に記憶された装置のうち、前記送信時刻からの経過時間がトリガ送信間隔に達している装置に対してトリガを送信すると判断する
請求項１４記載の定期処理実行方法。
【請求項１７】
コンピュータに、
定期処理を実行させるためのトリガを外部の装置から受信したことを契機として、トリガの送信対象となる外部の装置に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、当該外部の装置に対してトリガを送信すると判断するトリガ送信判断処理、および、
前記トリガ送信判断処理でトリガを送信すると判断したことに基づいて、前記外部の装置にトリガを送信するトリガ送信処理
を実行させるための定期処理実行プログラム。
【請求項１８】
コンピュータに、
外部からトリガを送信する装置との距離を算出する距離算出処理、および、
トリガの送信を滞留させる時間である滞留時間を前記距離に基づいて算出する滞留時間算出処理を実行させ、
トリガ送信判断処理で、過去にトリガを送信した時刻からトリガを受信した時刻までの経過時間とトリガ送信間隔との差分である送信禁止時間よりも、前記滞留時間の方が大きい場合に、当該滞留時間の経過後に外部の装置に対してトリガを送信すると判断させ、前記滞留時間が前記送信禁止時間以下の場合に、過去にトリガを送信した時刻からの経過時間がトリガ送信間隔に達していることを条件に、外部の装置に対してトリガを送信すると判断させる
請求項１７記載の定期処理実行プログラム。
【請求項１９】
トリガ送信手段がトリガの送信対象候補となる装置に対して過去にトリガを送信した送信時刻を、当該装置と対応付けて記憶する送信時刻記憶手段を備えたコンピュータに適用される定期処理実行プログラムであって、
前記コンピュータに、
トリガ送信判断処理で、前記送信時刻記憶手段に記憶された装置のうち、前記送信時刻からの経過時間がトリガ送信間隔に達している装置に対してトリガを送信すると判断させる
請求項１７記載の定期処理実行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、定期的に処理を実行する定期処理実行システム、及びその定期処理実行システムに適用される定期処理実行装置、定期処理実行方法、定期処理実行プログラムに関する。
【背景技術】
【０００２】
定期的な処理を必要とするシステムが各種存在する。定期処理が必要なシステムとして、例えば、分散ハッシュ表（Distributed Hash Table。以下、ＤＨＴと記す。）を構築して利用するシステムが挙げられる。【０００３】
ここで、ＤＨＴを使用したネットワークについて説明する。ＤＨＴを実現するアルゴリズムの一つにコード（Ｃｈｏｒｄ）がある。コード（Ｃｈｏｒｄ）は、０から２の１６０乗−１までのＩＤを利用したアルゴリズムである。コード（Ｃｈｏｒｄ）は、ＩＤ「２の１６０乗−１」の次を、ＩＤ「０」につなげることでループ状の空間を形成する。各ノードには、空間を形成するＩＤの中から一つのＩＤが付与される。さらに、各ノードは、自分のＩＤの前後いくつかと、自分から２のｎ乗離れたＩＤを持つノードリストを保持する。各ノードが、分散したノードリストを保持し、そのノードリスト内のノードの接続状況を確認することで、空間内のノードを管理する。なお、コード（Ｃｈｏｒｄ）で使用可能なＩＤの個数をＩＤの空間サイズと記すこともある。例えば、０から２の１６０乗−１までのＩＤを利用した場合、ＩＤの空間サイズは２の１６０乗になる。【０００４】
ＤＨＴを使用したネットワーク（以下、ＤＨＴネットワークと記す。）では、そのネットワーク内のノードの接続状況を、各ノードが定期的に確認する必要がある。そのため、例えば、ＤＨＴネットワークにノードが参加、あるいは脱退することにより、各ノードが担当する部分空間が変更される場合、その変更に伴ってノードリストを定期的に再構成する必要がある。このようなネットワークでは、ノードリストの再構成処理を、各ノード自身が定期的に起動して実行したり、他の装置からの定期的な起動指示に応じて実行したりする。このようにして各ノードは、ノードリストの再構成を定期的に行う。【０００５】
上記のようなシステムでは、定期的な処理を実現するため、処理を行うための実行指示（以下、トリガと記す。）を定期的に発生させる技術を利用している。例えば、Ｌｉｎｕｘ（登録商標）のＯＳ（Operating System）で提供されるｃｒｏｎ（決められた時間や間隔でプログラムを実行する機能）等の技術を利用することにより、定期的にトリガを発生させることができる。また、１つのプロセスを永続的に立ち上げ、処理を繰り返すことによって定期的にトリガを発生させることができる。これらの方法によって発生したトリガを他の装置に送信することにより、トリガを受信する装置が行う処理を定期的に実行させることができる。【０００６】
また、特許文献１には、Ｐ２Ｐネットワークに参加している任意のノードが離脱した時にそのＰ２Ｐネットワークを修復できる通信システムが記載されている。特許文献１に記載された通信システムでは、ＤＨＴ管理部２３が、キープアライブメッセージの送受信を定期的に実施する。そして、ＤＨＴ管理部２３は、あるコンテンツノードが離脱したことを検出した場合、離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを上流のノードに送信する。上記メッセージを待っていた他のＤＨＴ管理部２３は、そのメッセージを送信してきたコンテンツノードとキープアライブメッセージを送受信しあうことでリングの修復を行う。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２７６５５１号公報（段落００４８〜００５０、図３）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
図１２は、一般的なＤＨＴネットワークを示すブロック図である。図１２に示す例では、複数のＷｅｂサーバ９２が通信ネットワーク９１に接続されていることを示す。Ｗｅｂサーバ９２は、通信部９３と、実行部９４と、トリガ発生部９５とを備えている。トリガ発生部９５が、ｃｒｏｎ等を利用して定期的にトリガを発生させると、実行部９４は、そのトリガをきっかけに、通信部９３を介してネットワーク９１上のノード（例えば、Ｗｅｂサーバ９２）の参加や離脱を確認する。もしくは、トリガ発生部９５が、ｃｒｏｎ等を利用して定期的にトリガを発生させると、実行部９４は、そのトリガをきっかけに、他のＷｅｂサーバ９２に対して、定期的にノードの参加や離脱を確認するよう指示を与える。他のＷｅｂサーバ９２は、その指示に応じてノードの参加や離脱を定期的に確認する【０００９】
しかし、ｃｒｏｎやプロセスの永続的な立ち上げ等を利用して定期的な処理を実行する場合、設定によっては自装置に負荷をかけるおそれがある。そのため、レンタルサーバ等では、ｃｒｏｎの利用やプロセスの永続的な立ち上げに対して制限が課され、例えば、ユーザや他の装置からのリクエストが発生したときにのみ処理を実行することが許されている場合がある。このような装置では、他の装置にトリガを送信するための処理を開始する場合、別の装置から送信されるリクエストなどを利用する必要がある。【００１０】
しかし、別の装置から送信されるリクエストは、必ずしも定期的に送信されてくるわけではない。そのため、このようなリクエストに応じてトリガを発生させ、他の装置にそのトリガを送信する場合、そのトリガが他の装置に送信される時間間隔は一定にならないという課題がある。【００１１】
例えば、先に説明したＤＨＴネットワークでは、各装置が、定期的な他者の生存確認や参加脱退等の処理（以下、ＤＨＴ維持処理と記す。）をユーザからのリクエストに依らず、定期的に行う必要がある。しかし、ｃｒｏｎの利用やプロセスの永続的な立ち上げ等が制限されているレンタルサーバでは、ＤＨＴ維持処理を実行するためのトリガを自装置内で定期的に発生させることができず、また、他の装置に対して定期的にＤＨＴ維持処理のトリガを送信することもできない。【００１２】
また、特許文献１に記載された通信システムは、各ノードが、キープアライブメッセージの送受信を定期的に実施する必要がある。そのため、メッセージの送信処理を各ノード内で定期的に起動できない装置であっても、他の装置に対して定期的にメッセージを送信できることが望ましい。【００１３】
そこで、本発明は、定期的にトリガを発生する発生源を利用できない場合であっても、定期処理を実行できる定期処理実行システム、及びその定期処理実行システムに適用される定期処理実行装置、定期処理実行方法、定期処理実行プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明による定期処理実行装置は、定期処理を実行させるためのトリガを外部の装置から受信したことを契機として、トリガの送信対象となる外部の装置に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、その外部の装置に対してトリガを送信すると判断するトリガ送信判断手段と、トリガ送信判断手段がトリガを送信すると判断したことに基づいて、外部の装置にトリガを送信するトリガ送信手段とを備えたことを特徴とする。【００１５】
本発明による定期処理実行システムは、定期処理を実行させるためのトリガを送信する複数の外部装置と、外部装置に対して定期的に処理を実行させる定期処理実行装置とを備え、定期処理実行装置が、外部装置からトリガを受信したことを契機として、トリガの送信対象となる外部装置に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、その外部装置に対してトリガを送信すると判断するトリガ送信判断手段と、トリガ送信判断手段がトリガを送信すると判断したことに基づいて、外部装置にトリガを送信するトリガ送信手段とを備えたことを特徴とする。【００１６】
本発明による定期処理実行方法は、定期処理を実行させるためのトリガを外部の装置から受信したことを契機として、トリガの送信対象となる外部の装置に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、その外部の装置に対してトリガを送信すると判断し、トリガを送信すると判断したことに基づいて、外部の装置にトリガを送信することを特徴とする。【００１７】
本発明による定期処理実行プログラムは、コンピュータに、定期処理を実行させるためのトリガを外部の装置から受信したことを契機として、トリガの送信対象となる外部の装置に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、その外部の装置に対してトリガを送信すると判断するトリガ送信判断処理、および、トリガ送信判断処理でトリガを送信すると判断したことに基づいて、外部の装置にトリガを送信するトリガ送信処理を実行させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、定期的にトリガを発生する発生源を利用できない場合であっても、定期処理を実行できる。
【図面の簡単な説明】
【００１９】
【図１】本発明の最小構成を示すブロック図である。
【図２】本発明の第１の実施形態における定期処理実行システムの例を示すブロック図である。
【図３】定期処理実行システムが実現されるネットワーク構成、及びＵＲＬリストの例を示す説明図である。
【図４】トリガ送信判断部３４ａの処理の例を示すフローチャートである。
【図５】トリガの送信タイミングの例を示す説明図である。
【図６】トリガの送信タイミングが早い場合及び遅い場合の例を示す説明図である。
【図７】トリガを増やす場合及び減らす場合の例を示す説明図である。
【図８】本発明の第２の実施形態における定期処理実行システムの例を示すブロック図である。
【図９】定期処理実行システムが実現されるネットワーク構成、及び次ホップリストの例を示す説明図である。
【図１０】トリガ送信判断部３４ｂの処理の例を示すフローチャートである。
【図１１】各Ｗｅｂサーバがトリガを送信する動作の例を示す説明図である。
【図１２】一般的なＤＨＴネットワークを示すブロック図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態を図面を参照して説明する。
【００２１】
まず、本発明の最小構成を説明する。図１は、本発明の最小構成を示すブロック図である。本発明による定期処理実行システムは、定期処理を実行させるためのトリガを送信する複数の外部装置７０と、外部装置７０に対して定期的に処理を実行させる定期処理実行装置８０とを備えている。
【００２２】
定期処理実行装置８０は、トリガ送信判断手段８１と、トリガ送信手段８２とを備えている。
【００２３】
トリガ送信判断手段８１は、外部装置７０からトリガを受信したことを契機として、トリガの送信対象となる外部装置７０に対して過去にトリガを送信した時刻からの経過時間が予め定められたトリガ送信間隔に達していることを条件に、その外部装置７０に対してトリガを送信すると判断する。
【００２４】
トリガ送信手段８２は、トリガ送信判断手段８１がトリガを送信すると判断したことに基づいて、外部装置７０にトリガを送信する。
【００２５】
このような構成により、定期的にトリガを発生する発生源を利用できない場合であっても、定期処理を実行できる。すなわち、ある装置が定期的にトリガを発生する発生源を利用できない場合であっても、外部装置７０からトリガを受信した定期処理実行装置８０が、予め定められたトリガ送信間隔に達していることを条件に、その装置に対してトリガを送信する。そのため、その装置は、定期処理を実行できる。
【００２６】
実施形態１．
図２は、本発明の第１の実施形態における定期処理実行システムの例を示すブロック図である。本実施形態における定期処理実行システムは、Ｗｅｂサーバ２１ａと、Ｗｅｂサーバ２２〜２５とを備えている。Ｗｅｂサーバ２１ａとＷｅｂサーバ２２〜２５とは、通信ネットワーク１００を介して相互に接続される。なお、通信ネットワーク１００は、インターネット等により実現されるが、通信ネットワーク１００の形態は特に限定されない。なお、以下の説明では、Ｗｅｂサーバのことを、ノードと記すこともある。
【００２７】
また、本実施形態における定期処理実行システムは、各Ｗｅｂサーバがリング状のネットワークを構成し、そのネットワークに沿って他のＷｅｂサーバに順次トリガを送信する。そして、トリガを受信した各Ｗｅｂサーバは、受信したトリガをもとに処理を行う。なお、最初のトリガは、例えば、ユーザによりシステム内に入力される。
【００２８】
Ｗｅｂサーバ２１ａは、通信部３１と、トリガ入力部３２と、実行部３３と、トリガ送信判断部３４ａと、トリガ送信時刻管理部３５と、次ホップリスト部３６ａと、トリガ出力部３７と、トリガ送信時刻記憶部３８とを備えている。
【００２９】
トリガ送信時刻記憶部３８は、Ｗｅｂサーバ２１ａから他のＷｅｂサーバ２２〜２５（以下、単に、他のＷｅｂサーバと記す。）に対して、前回トリガを送信した時刻（以下、トリガ送信時刻ｔｌと記す。）を記憶する。トリガ送信時刻記憶部３８は、具体的には、Ｗｅｂサーバ２１ａが備える磁気ディスク装置等によって実現される。トリガ送信時刻ｔｌは、後述のトリガ送信時刻管理部３５によりトリガ送信時刻記憶部３８に記憶される。
【００３０】
通信部３１は、通信ネットワーク１００を介して他のＷｅｂサーバからトリガ（クエリと記すこともある。）を受信すると、そのクエリにて指示された処理を起動する。本実施形態では、他のＷｅｂサーバからクエリを受信したときに、通信部３１が、トリガ入力部３２に処理を実行させる場合について説明する。
【００３１】
トリガ入力部３２は、通信部３１を介してトリガが入力されると、実行部３３及びトリガ送信判断部３４ａに処理を実行させるよう指示を行う。
【００３２】
実行部３３は、Ｗｅｂサーバ２１ａが定期的に実行する処理（タスク）を実行する。具体的には、実行部３３は、トリガ入力部３２の指示に応じて、定期処理を実行する。例えば、実行部３３は、ＤＨＴネットワーク内のノードの参加や離脱を確認する処理（すなわち、ＤＨＴ維持処理）をＬｉｎｕｘ（登録商標）のＯＳで提供されるｐｉｎｇやＴＣＰ／ＩＰ等を使用して実行するが、実行部３３が行う処理はＤＨＴ維持処理に限定されない。例えば、実行部３３は、ウェブログ（以下、ブログと記す。）の更新情報を定期的に収集したり、ＤＨＴを利用して管理されるファイルシステムにおけるファイル更新情報を定期的に通知したりしてもよい。
【００３３】
トリガ送信判断部３４ａは、他のＷｅｂサーバに前回トリガの送信を指示した送信時刻（すなわち、トリガ送信時刻ｔｌ）に基づき、トリガ送信の可否やトリガ送信の待ち時間などを判断する。例えば、トリガ送信判断部３４ａは、他のＷｅｂサーバに対して過去にトリガを送信した時刻からの経過時間が、トリガを発生させる間隔として予め定められた期間（以下、トリガ送信間隔ｔｄと記す。）を経過しているときに、そのＷｅｂサーバにトリガを送信すると判断する。そして、トリガ送信判断部３４ａは、トリガを送信すると判断すると、トリガ送信指示をトリガ出力部３７に対して行う。トリガ送信判断部３４ａは、トリガ送信指示を行うと、トリガ送信時刻ｔｌをトリガ送信時刻記憶部３８に記憶させる旨の指示をトリガ送信時刻管理部３５に対して行う。
【００３４】
また、トリガ送信判断部３４ａは、トリガ送信時刻管理部３５に対し、トリガ送信禁止時間ｔｒの算出指示を行う。トリガ送信禁止時間ｔｒとは、他のＷｅｂサーバに対するトリガ送信間隔ｔｄを守るため、トリガの発生を一時滞留させる時間のことである。具体的には、トリガ送信禁止時間ｔｒは、前回のトリガ送信時刻ｔｌから現在時刻ｔまでに経過した時間を経過時間ｔｅとしたとき、トリガ送信間隔ｔｄから経過時間ｔｅを減じて算出される。すなわち、トリガ送信禁止時間ｔｒは、過去にトリガを送信した時刻からトリガを受信した時刻までの経過時間とトリガ送信間隔ｔｄとの差分であるといえる。トリガ送信判断部３４ａは、トリガ送信禁止時間ｔｒが０になったときに、他のＷｅｂサーバへトリガ送信を行うと判断し、トリガ送信指示をトリガ出力部３７に対して行う。
【００３５】
このように、トリガ送信判断部３４ａが、トリガ送信禁止時間ｔｒを算出し、そのトリガ送信禁止時間ｔｒの経過後にトリガの送信指示を行うため、他のＷｅｂサーバに対するトリガの送信間隔を調整できる。
【００３６】
また、トリガ送信判断部３４ａは、トリガ送信禁止時間ｔｒ以外の値を使用してトリガの送信指示タイミングを調整してもよい。例えば、トリガ送信判断部３４ａは、Ｗｅｂサーバ２１ａに対してトリガを送信する他のＷｅｂサーバと、Ｗｅｂサーバ２１ａとの距離を算出し、その距離に基づいて、トリガの送信を滞留させる時間（以下、トリガ滞留時間ｔｗと記す。）を算出する。そして、算出したトリガ滞留時間ｔｗがトリガ送信禁止時間ｔｒよりも大きい場合には、トリガ送信判断部３４ａは、トリガ滞留時間ｔｗの経過後にトリガを送信すると判断してもよい。
【００３７】
以下、トリガ滞留時間ｔｗを算出する方法について説明する。以下の説明では、各Ｗｅｂサーバに、コード（Ｃｈｏｒｄ）に基づくＩＤがリング状につながるように付与され、各Ｗｅｂサーバは、自装置に一番近い距離に存在するＷｅｂサーバに順次トリガの送信指示を行う場合について説明する。すなわち、このＩＤは、各Ｗｅｂサーバを識別する識別子であり、このＩＤ全体でループを形成していると言える。トリガ送信判断部３４ａは、各Ｗｅｂサーバに付与されたＩＤの差をＩＤの空間サイズで割った値（以下、正規化距離ｄｎと記す。）をＷｅｂサーバ間の距離として算出する。そして、トリガ送信判断部３４ａは、トリガ送信間隔ｔｄに正規化距離ｄｎを乗じてトリガ滞留時間ｔｗを算出する。
【００３８】
正規化距離ｄｎは、トリガがリング状を一周すると１になる値である。そのため、各Ｗｅｂサーバがトリガを受信後、トリガ送信間隔ｔｄに正規化距離ｄｎを乗じて算出される時間の経過後にトリガをそれぞれ送信することにより、自身のＷｅｂサーバにトリガが戻ってくる時間がｔｄになる。各Ｗｅｂサーバがこのように算出されたトリガ滞留時間ｔｗの経過後にトリガを送信することにより、一定のトリガ送信間隔ｔｄに調整してトリガを送信できる。
【００３９】
なお、上記ループ内のトリガ送信指示数（すなわち、ループ内に維持されるトリガ）が複数存在する場合、そのトリガの個数（以下、ループ内トリガ個数ｎｔと記す。）を乗じた値をトリガ滞留時間ｔｗとしてもよい。こうすることにより、ループ内でトリガが複数送信される場合であっても、一定のトリガ送信間隔ｔｄに調整してトリガ送信指示を行うことができる。
【００４０】
一方、ネットワーク遅延やＷｅｂサーバの処理遅延などにより、トリガの送信タイミングが遅延することがある。そのため、トリガ送信判断部３４ａは、トリガ滞留時間ｔｗを縮めるための係数（以下、加速係数ｋと記す。）をトリガ滞留時間ｔｗに乗じてもよい。ここで、加速係数ｋは１以下の正の数である。トリガ送信判断部３４ａは、このようにしてトリガ滞留時間ｔｗを算出することにより、トリガの到着が遅い場合であっても、トリガ送信間隔ｔｄを一定のタイミングに調整することができる。
【００４１】
このように、トリガ送信判断部３４ａが、トリガ滞留時間ｔｗとトリガ送信禁止時間ｔｒとを使用してトリガ送信タイミングの調整を行うことにより、トリガの到着間隔がずれた場合でも、トリガ送信指示を行うタイミングを一定のトリガ送信間隔ｔｄに調整できる。
【００４２】
また、トリガ送信判断部３４ａは、トリガ送信指示を行った後、ＵＲＬリストの中から任意に選択したＷｅｂサーバにクエリを送信する旨の指示を予め定められた確率ｐに基づいてトリガ出力部３７に行ってもよい。このとき、トリガ出力部３７は、ＵＲＬリストの中からランダム値に基づいて選択したＷｅｂサーバに対してトリガを送信してもよいが、Ｗｅｂサーバを選択する方法は、上記方法に限定されない。例えば、トリガ送信判断部３４ａは、リストの並び順に従って選択したＷｅｂサーバに対してトリガを送信してもよい。
【００４３】
定期的行われるトリガ送信指示が、Ｗｅｂサーバのダウンやネットワーク障害など（以下、トリガ送信障害等と記す。）の原因で他のＷｅｂサーバへ伝搬せずに消滅してしまう場合がある。このような場合でも、定期的に行われるトリガ送信指示以外にもトリガ送信指示を行うことで、システム全体で行われるトリガ送信指示が完全に消滅してしまうことを防止できる。以下の説明では、この確率ｐのことをトリガ複製確率ｐと記す。トリガ複製確率ｐは、定期処理実行システムを適用するシステムに応じて定められるパラメータであり、順次送信されるトリガの数が減衰する割合に応じて定められる。
【００４４】
一方、トリガ送信判断部３４ａは、他のＷｅｂサーバに対するトリガ送信指示を待機しているときに、他のＷｅｂサーバからトリガを受信した場合、受信したトリガに基づいて行う新たなトリガ送信指示を抑制してもよい。このようにトリガ送信指示を抑制することにより、ネットワーク上のトリガ送信指示の個数が増え過ぎる事を防止できる。
【００４５】
これらの方法を用いることにより、トリガ送信障害等によりノード間のトリガ伝搬が途中で切れることにより、トリガ送信指示が途切れてしまうことや、トリガ送信指示が多くなりすぎることにより、ノードやネットワークがダウンしてしまうといったことを防止できる。
【００４６】
トリガ送信時刻管理部３５は、トリガ送信判断部３４ａの指示に応じ、トリガ送信時刻記憶部３８にトリガ送信時刻ｔｌを記憶させる。また、トリガ送信時刻管理部３５は、トリガ送信判断部３４ａの指示に応じ、トリガ送信禁止時間ｔｒを算出し、トリガ送信判断部３４ａに通知する。
【００４７】
次ホップリスト部３６ａは、ＷｅｂサーバのＵＲＬ（Uniform Resource Locator）リストを記憶する。次ホップリスト部３６ａは、具体的には、Ｗｅｂサーバ２１ａが備える磁気ディスク装置等によって実現される。次ホップリスト部３６ａは、Ｗｅｂサーバ２１ａとの距離が近いＷｅｂサーバから順に、そのＷｅｂサーバのＵＲＬを予め定められた個数分記憶する。
【００４８】
図３は、定期処理実行システムが実現されるネットワーク構成、及びＵＲＬリストの例を示す説明図である。図３（ａ）の例に示すネットワークでは、円周上に示したＷｅｂサーバ間の距離が、その円周上に並んだ順に近いことを示す。すなわち、図３（ａ）に示す例では、ＷｅｂサーバＡに近いＷｅｂサーバがＷｅｂサーバＢであり、以降、ＷｅｂサーバＥまで順に並んでいることを示す。なお、この距離は、正規化距離ｄｎに基づいて決定してもよい。また、図３（ｂ）に示す例では、円周上に示す矢印の方向を順方向としてＷｅｂサーバのＵＲＬリストが作成されていることを示す。例えば、ＷｅｂサーバＡ〜Ｅが図３（ａ）に例示する内容で接続されている場合、ＷｅｂサーバＡの次ホップリスト部３６ａは、図３（ｂ）に例示するように、ＷｅｂサーバＢからＷｅｂサーバＥの順に並べたＵＲＬリストを記憶する。
【００４９】
また、次ホップリスト部３６ａに記憶されるＷｅｂサーバのＵＲＬは、Ｗｅｂサーバ２１ａとの距離が近いＷｅｂサーバだけに限られない。例えば、ＤＨＴネットワークの場合、Ｗｅｂサーバ２１ａに付与されたＩＤから、２の階乗ごとに離れたＩＤに対応するＷｅｂサーバのＵＲＬを記憶してもよい。
【００５０】
ＵＲＬリストの内容は、例えば、実行部３３が、ノードの参加や離脱などを検知したときに更新される。なお、ＵＲＬリストを更新する方法は広く知られているため、ここでは説明を省略する。
【００５１】
トリガ出力部３７は、トリガ送信判断部３４ａから、他のＷｅｂサーバにトリガを送信する旨の指示を受けると、次ホップリスト部３６ａに記憶されたＵＲＬリストの中から一番近い距離のＷｅｂサーバにクエリを送信する。なお、トリガ出力部３７は、受信したトリガの内容でそのまま次のＷｅｂサーバに転送してもよいし、新たなトリガを生成して次のＷｅｂサーバに送信してもよい。また、トリガ出力部３７は、トリガ送信障害等により、一番近い距離のＷｅｂサーバに対するクエリ送信に失敗した場合、次ホップリスト部３６ａに記憶されたＵＲＬリストの中から、次に近い距離のＷｅｂサーバにクエリを送信する。以下、トリガ出力部３７は、クエリの送信に成功するまで、近い距離のＷｅｂサーバに順次クエリの送信を試みる。
【００５２】
なお、トリガ出力部３７は、クエリの送信に失敗した場合、ＵＲＬリスト内のＵＲＬに、送信に失敗した旨のフラグを設定しておいてもよい。トリガ出力部３７が、このフラグが設定されているＷｅｂサーバに対してクエリの送信を抑制することで、送信に失敗したＷｅｂサーバへの不要な通信を抑制できる。
【００５３】
他のＷｅｂサーバ（すなわち、Ｗｅｂサーバ２２〜２５）の構成は、Ｗｅｂサーバ２１ａと同様であるため、詳細な説明を省略する。なお、上記説明では、定期処理実行システムが他のＷｅｂサーバを４台備えている場合について説明した。本発明によれば、定期処理実行システムが備える他のＷｅｂサーバは、４台に限られず、１台であってもよく、２台以上であってもよい。
【００５４】
なお、本システムにおけるＷｅｂサーバの全てが、必ずしもＷｅｂサーバ２１ａと同様の機能を備えていなくてもよい。本システム内の一部にあたる複数台のＷｅｂサーバがＷｅｂサーバ２１ａと同様の機能を備えていてもよく、また、システム内の１つのサーバのみＷｅｂサーバ２１ａと同様の機能を備えていてもよい。この場合、Ｗｅｂサーバ２１ａと同様の機能を備えていないＷｅｂサーバは、トリガを受信して、他の装置にトリガを送信する機能を備えていればよく、時間間隔を調整する機能（すなわち、トリガ送信判断部３４ａ、アクセス時刻管理部３５、アクセス時刻記憶部３８）を備えていなくてもよい。なお、システム内のより多くのサーバがＷｅｂサーバ２１ａと同様の機能（すなわち、時間間隔を調整する機能）を備えることにより、定期処理の精度が高まるため、より好ましいといえる。
【００５５】
通信部３１と、トリガ入力部３２と、実行部３３と、トリガ送信判断部３４ａと、トリガ送信時刻管理部３５と、トリガ出力部３７とは、プログラム（定期処理実行プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、Ｗｅｂサーバ２１ａの記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、通信部３１、トリガ入力部３２、実行部３３、トリガ送信判断部３４ａ、トリガ送信時刻管理部３５及びトリガ出力部３７として動作してもよい。また、通信部３１と、トリガ入力部３２と、実行部３３と、トリガ送信判断部３４ａと、トリガ送信時刻管理部３５と、トリガ出力部３７とは、それぞれが専用のハードウェアで実現されていてもよい。また、通信部３１が、一般的なＷｅｂサーバのサービスを実現するプログラムに従って動作するコンピュータのＣＰＵによって実現されてもよい。
【００５６】
次に、動作について説明する。図４は、トリガ送信判断部３４ａが、トリガ入力部３２の指示に応じてトリガの送信有無を判断し、その判断に応じてトリガの送信指示をトリガ出力部３７に行うまでの処理の例を示すフローチャートである。以下の説明では、各ノードには、コード（Ｃｈｏｒｄ）に基づくＩＤが付与され、このＩＤが付与された各ノードが形成するネットワーク上に、例えば、ユーザ等により与えられるトリガがループ内トリガ個数ｎｔ存在するものとする。すなわち、ループ内トリガ個数ｎｔは、ループ内に維持されるトリガの個数の期待値ということができる。
【００５７】
トリガ送信判断部３４ａは、現在トリガ出力部３７に対するトリガ送信指示待ちの状態か否かを判断する（ステップＳ１１）。トリガ送信指示待ちの場合（ステップＳ１１におけるＹＥＳ）、以降の判断処理を行わずに処理を終了する。一方、トリガ送信指示待ちではない場合（ステップＳ１１におけるＮＯ）、トリガ送信判断部３４ａは、近隣のノード（すなわち、他のＷｅｂサーバ）からトリガを受信しているか否かを判断する（ステップＳ１２）。トリガを受信している場合（ステップＳ１２におけるＹＥＳ）、トリガ送信判断部３４ａは、送信元ノードと自ノード間の正規化距離ｄｎを算出する（ステップＳ１３）。すなわち、トリガ送信判断部３４ａは、ノードに付与されたＩＤの差をＩＤの空間サイズで割った値をノード間の距離として算出する。一方、近隣のノードからトリガを受信していない場合には（ステップＳ１２におけるＮＯ）、トリガ送信判断部３４ａは、正規化距離ｄｎを０と決定する（ステップＳ１４）。
【００５８】
次に、トリガ送信判断部３４ａは、トリガ滞留時間ｔｗを算出する（ステップＳ１５）。トリガ滞留時間ｔｗは、加速係数ｋと、正規化距離ｄｎと、トリガ送信間隔ｔｄと、ループ内トリガ個数ｎｔとを乗じて算出される。トリガ送信判断部３４ａは、トリガ滞留時間ｔｗが、自身のノードが処理を待つことができる最大の時間（すなわち、Ｗｅｂサーバが耐えうる最長待ち時間。以下、最長許容待ち時間ｔｗ＿ｍａｘと記す。）を超えているか否かを判断する（ステップＳ１６）。Ｗｅｂサーバ２１ａは、最長許容待ち時間ｔｗ＿ｍａｘを超える処理を待つことができない。そのため、トリガ滞留時間ｔｗが最長許容待ち時間ｔｗ＿ｍａｘを超えている場合（ステップＳ１６におけるＹＥＳ）、トリガ送信判断部３４ａは処理を終了する。すなわち、トリガ送信判断部３４ａは、トリガ送信指示を行わない。
【００５９】
一方、トリガ滞留時間ｔｗが最長許容待ち時間ｔｗ＿ｍａｘを超えていない場合（ステップＳ１６におけるＮＯ）、トリガ送信判断部３４ａは、トリガ送信時刻管理部３５にトリガ送信禁止時間ｔｒの算出指示を行い、トリガ送信時刻管理部３５から算出結果の入力を受け取る（ステップＳ１７）。トリガ送信判断部３４ａは、トリガ滞留時間ｔｗとトリガ送信禁止時間ｔｒを比較し、時間の大きい方の時間だけトリガ送信指示を待機する（ステップＳ１８）。待機時間の経過後、トリガ送信判断部３４ａは、トリガ出力部３７に対して、近隣ノードへのトリガ送信指示を行う。トリガ出力部３７は、トリガ送信判断部３４ａからのトリガ送信指示に応じ、近隣ノードへクエリ（トリガ）の送信を行う（ステップＳ１９）。例えば、トリガ出力部３７は、次ホップリスト部３６ａに記憶されたＵＲＬリストの中から一番近い距離のＷｅｂサーバにクエリを送信する。
【００６０】
一方、トリガ送信判断部３４ａは、トリガ出力部３７にトリガ送信指示を行った後、トリガ送信時刻管理部３５に対し、トリガ送信時刻記憶部３８にトリガ送信時刻ｔｌを記憶させる旨の指示を行う。トリガ送信時刻管理部３５は、トリガ送信判断部３４ａの指示に応じ、トリガ送信時刻記憶部３８にトリガ送信時刻ｔｌを記憶させる（ステップＳ２０）。また、トリガ送信判断部３４ａは、トリガ送信指示後、トリガ出力部３７に対して、トリガ複製確率ｐに基づき、ＵＲＬリストの中からランダムに選択したノードにトリガの送信指示を行うよう指示する（ステップＳ２１）。
【００６１】
以上の処理が実行されることにより、リング状に構成されたネットワーク上のＷｅｂサーバ間をトリガが順次送信される。また、トリガ送信判断部３４ａが送信間隔を調整して定期的にトリガを送信するため、トリガを受信した各Ｗｅｂサーバは定期的に処理を実行できる。
【００６２】
なお、最初にシステムを稼働させる際には、ユーザ等により最初のトリガが入力されたことに基づいてトリガの送信が開始される。そして、以降はシステム内のＷｅｂサーバ間で自動的にトリガの送信が行われるため、定期処理が継続的に実行される。
【００６３】
図５〜図７は、トリガの送信タイミングの例を示す説明図である。以下、図５〜図７を用いて、トリガの送信タイミングについて説明する。なお、以下の説明では、各Ｗｅｂサーバに対し、コード（Ｃｈｏｒｄ）に基づくＩＤがＷｅｂサーバＡ〜Ｆの順にリング状につながるように付与され、各Ｗｅｂサーバは、ＡからＦの順（ただし、Ｆの次はＡ）に隣接するＷｅｂサーバへ順次トリガを送信する場合について説明する。また、図５〜図７の例に示す縦線間の距離がＷｅｂサーバ間の正規化距離ｄｎを表し、縦下方向が時間の経過を表す。また、リング状に形成されたネットワーク内のトリガ数（すなわち、ループ内トリガ個数ｎｔ）は２である。
【００６４】
図５に例示する「１」のタイミングでＷｅｂサーバＡからＷｅｂサーバＢにトリガが送信されると、ＷｅｂサーバＢは、正規化距離ｄｎと、トリガ送信間隔ｔｄと、ループ内トリガ個数ｎｔ（ここでは、２）とを乗じた時間（すなわち、トリガ滞留時間ｔｗ）経過後にＷｅｂサーバＣにトリガを送信する。ＷｅｂサーバＣからＷｅｂサーバＤへのトリガ送信、ＷｅｂサーバＤからＷｅｂサーバＥへのトリガ送信、ＷｅｂサーバＥからＷｅｂサーバＦへのトリガ送信及びＷｅｂサーバＦからＷｅｂサーバＡへのトリガ送信も、上記と同様に算出されるトリガ滞留時間ｔｗ経過後に行われる。トリガ滞留時間ｔｗは、正規化距離ｄｎにより決まるため、トリガは、図５に例示する点線斜線が各サーバの縦線と交わるタイミングごとに送信される。
【００６５】
「１」のタイミングからトリガ送信間隔ｔｄ経過後の「２」のタイミングでＷｅｂサーバＡからＷｅｂサーバＢにトリガが送信される場合も、各Ｗｅｂサーバは、トリガ滞留時間ｔｗ経過後にトリガを送信する。よって、複数のトリガが存在する場合も、一定のトリガ送信間隔ｔｄでトリガが送信される。
【００６６】
図６は、トリガが早く送信された場合、及び、トリガが遅れて送信された場合の例を示す説明図である。図６に例示する「イ）」のタイミングでＷｅｂサーバＣにトリガが送信されると、トリガ送信禁止時間ｔｒがトリガ滞留時間ｔｗよりも大きくなる場合がある。この場合、トリガ送信判断部３４ａは、トリガ送信間隔ｔｄが経過する（すなわち、トリガ送信禁止時間が０になる）まで待ってから、ＷｅｂサーバＤに対するトリガ送信指示をトリガ送信部３７に行う。このため、各Ｗｅｂサーバは、トリガ送信間隔ｔｄを保つことができる。
【００６７】
一方、図６に例示する「ロ）」のタイミングでＷｅｂサーバＡにトリガが送信されると、ＷｅｂサーバＡに到着するトリガが遅れているため、ＷｅｂサーバＢに対するトリガの送信も遅れる恐れがある。そのため、トリガ送信判断部３４ａは、加速係数ｋを乗じたトリガ滞留時間ｔｗの経過後にＷｅｂサーバＢに対するトリガ送信指示をトリガ送信部３７に行う。以下同様に、各Ｗｅｂサーバが、加速係数ｋを乗じたトリガ滞留時間ｔｗの経過後にトリガを送信することで、少しずつトリガの送信間隔が縮まるため、トリガを送信する間隔をトリガ送信間隔ｔｄに収束させることができる。
【００６８】
図７は、トリガ複製確率ｐに応じてトリガが発生（すなわち、トリガのコピーが発生）した場合の例、及び、トリガの送信を抑制する場合の例を示す説明図である。トリガ送信判断部３４ａは、トリガ複製確率ｐに応じ、例えば、図７に例示する「ハ）」のタイミングで、新たなトリガ送信指示を行う。以降の処理は、図５及び図６に示す内容と同様である。一方、図７に例示する「ニ）」のタイミングでＷｅｂサーバＥにトリガが送信されると、トリガ送信判断部３４ａが、他のＷｅｂサーバに対するトリガ送信指示を待機している場合や、トリガ滞留時間ｔｗが最長許容待ち時間ｔｗ＿ｍａｘを超えている場合がある。このとき、トリガ送信判断部３４ａは、受信したトリガに基づく新たなトリガ送信指示を抑制し、以後のトリガ送信指示を行わない。このようにすることで、ループ内のトリガ数を一定の数（例えば、ループ内トリガ個数ｎｔ）に保つことができる。
【００６９】
以上のように、本実施形態によれば、Ｗｅｂサーバ２１ａがトリガを受信したことを契機として、トリガ送信判断部３４ａが、他のＷｅｂサーバとの距離（例えば、正規化距離ｄｎ）を算出し、その距離に基づいてトリガ滞留時間ｔｗ算出するトリガ滞留時間ｔｗを算出する。トリガ送信判断部３４ａは、過去にトリガを送信した時刻からトリガを受信した時刻までの経過時間ｔｅとトリガ送信間隔ｔｄとの差分であるトリガ送信禁止時間ｔｒよりも、トリガ滞留時間ｔｗの方が大きい場合に、トリガ滞留時間ｔｗの経過後にＷｅｂサーバに対してトリガを送信すると判断する。一方、トリガ送信判断部３４ａは、トリガ滞留時間ｔｗがトリガ送信禁止時間ｔｒ以下の場合に、過去にトリガを送信した時刻からの経過時間ｔｅがトリガ送信間隔ｔｄに達していることを条件に、Ｗｅｂサーバに対してトリガを送信すると判断する。そして、トリガ出力部３７は、トリガ送信判断部３４ａがトリガを送信すると判断したことに基づいて、他のＷｅｂサーバにトリガを送信する。よって、定期的にトリガを発生する発生源を利用できない場合であっても、定期処理を実行できる。
【００７０】
例えば、ＷｅｂサーバがＤＨＴを構築する用途に用いられる場合、そのＷｅｂサーバには定期的にトリガを発生させる機能を利用できないレンタルサーバが用いられることが多く、そのままでは、そのＷｅｂサーバは定期処理を容易に実行できない。このような場合に、本実施形態で示した定期処理実行システムを用いれば、Ｗｅｂサーバが定期的にトリガを発生する発生源を利用できない場合であっても定期処理を実行できる。
【００７１】
実施形態２．
図８は、本発明の第２の実施形態における定期処理実行システムの例を示すブロック図である。なお、第１の実施形態と同様の構成については、図２と同一の符号を付し、説明を省略する。本実施形態における定期処理実行システムは、Ｗｅｂサーバ２１ｂ及びＷｅｂサーバ２２〜２５を備えている。Ｗｅｂサーバ２１ｂ及びＷｅｂサーバ２２〜２５は、通信ネットワーク１００を介して相互に接続される。
【００７２】
Ｗｅｂサーバ２１ｂは、通信部３１と、トリガ入力部３２と、実行部３３と、トリガ送信判断部３４ｂと、次ホップリスト部３６ｂと、トリガ出力部３７と、時刻取得部３９とを備えている。
【００７３】
次ホップリスト部３６ｂは、ＷｅｂサーバのＵＲＬと、そのＷｅｂサーバにトリガ送信指示を行った時刻（以下、最終送信時刻と記す。）の組を記憶する。次ホップリスト部３６ｂは、具体的には、Ｗｅｂサーバ２１ｂが備える磁気ディスク装置等によって実現される。次ホップリスト部３６ｂは、Ｗｅｂサーバがリング状につながるように、予め定められた個数のＵＲＬと最終送信時刻の組（以下、次ホップリストと記す。）を記憶する。
【００７４】
図９は、定期処理実行システムが実現されるネットワーク構成、及び次ホップリストの例を示す説明図である。図９（ａ）の例に示すネットワークでは、円周上に示したＷｅｂサーバ間の距離が、その円周上に並んだ順に近いことを示す。すなわち、図９（ａ）に示す例では、ＷｅｂサーバＡに近いＷｅｂサーバがＷｅｂサーバＢであり、以降、ＷｅｂサーバＥまで順に並んでいることを示す。また、図９（ｂ）に示す例では、円周上に示す矢印の方向を順方向として次ホップリストが作成されていることを示す。例えば、ＷｅｂサーバＡ〜Ｅが図９（ａ）に例示する内容で接続されている場合、ＷｅｂサーバＡの次ホップリスト部３６ｂは、図９（ｂ）に例示する内容の次ホップリストを記憶する。
【００７５】
時刻取得部３９は、トリガ送信判断部３４ｂの指示に応じ、現在時刻を算出して（取得して）トリガ送信判断部３４ｂに出力する。
【００７６】
トリガ送信判断部３４ｂは、他のＷｅｂサーバに過去にトリガの送信を指示した送信時刻（すなわち、トリガ送信時刻ｔｌ）に基づき、トリガ送信指示を行うＷｅｂサーバを判断する。例えば、トリガ送信判断部３４ｂは、トリガ送信時刻ｔｌからの経過時間がトリガ送信間隔ｔｄに達しているＷｅｂサーバに対してトリガを送信すると判断する。そして、トリガ送信判断部３４ｂは、そのＷｅｂサーバに対してトリガを送信する旨をトリガ出力部３７に対して指示する。
【００７７】
具体的には、トリガ送信判断部３４ｂは、次ホップリスト部３６ｂに記憶された最終送信時刻からトリガを受信した現在時刻ｔまでの経過時間ｔｅを、予め定められたトリガ送信間隔ｔｄから減じたトリガ送信禁止時間ｔｒを算出する。そして、トリガ送信判断部３４ｂは、トリガ送信禁止時間ｔｒが０以下の値になる最終送信時刻に対応するＷｅｂサーバにトリガ送信指示を行うと判断する。すなわち、トリガ送信判断部３４ｂは、最終更新時刻からトリガ送信間隔ｔｄを加算した時刻よりも現在時刻ｔが進んでいる場合に、その最終更新時刻に対応するＷｅｂサーバにトリガ送信指示を行うと言うことができる。なお、トリガ送信判断部３４ｂがトリガ送信指示を行うと判断するための条件は、以下の（式１）で表わすことができる。
【００７８】
トリガ送信禁止時間ｔｒ＝トリガ送信間隔ｔｄ−（現在時刻ｔ−最終送信時刻）≦０  （式１）
【００７９】
また、（式１）は、以下の（式２）のように変形することができる。
【００８０】
最終送信時刻＋トリガ送信間隔ｔｄ＜現在時刻ｔ  （式２）
【００８１】
これは、最終更新時刻からトリガ送信間隔ｔｄを加算した時刻よりも現在時刻ｔが進んでいることを意味する。
【００８２】
また、トリガ送信判断部３４ｂは、トリガ送信禁止時間ｔｒがランダム値Ｒよりも小さいときに、最終送信時刻に対応するＷｅｂサーバにトリガ送信指示を行うと判断してもよい。ここで、ランダム値Ｒは、トリガ送信間隔ｔｄよりも小さい値であって、トリガ送信手段がトリガ送信禁止時間ｔｒを計算するたびにトリガ送信判断部３４ｂが決定するランダムな値である。この場合に、トリガ送信判断部３４ｂがトリガ送信指示を行うと判断するための条件は、以下の（式３）で表わすことができる。
【００８３】
トリガ送信禁止時間ｔｒ＝トリガ送信間隔ｔｄ−（現在時刻ｔ−最終送信時刻）＜Ｒ  （式３）
【００８４】
また、（式３）は、以下の（式４）のように変形することができる。
【００８５】
最終送信時刻＋トリガ送信間隔ｔｄ−Ｒ＜現在時刻ｔ  （式４）
【００８６】
これは、過去にトリガを送信した送信時刻からの経過時間が、トリガ送信間隔ｔｄにランダム値Ｒを加味した時間経過しているときに条件を満たすと言える。
【００８７】
複数のノードの最終送信時刻に同一の時刻が設定されると、それらのノードに対して次回行われるトリガの送信も同時に行われることになってしまう。すると、複数のノードに対するトリガ送信が同時に行われることにより、Ｗｅｂサーバの過負荷やアクセス集中のおそれがある。そこで、本実施形態では、上記ランダム値Ｒを使用することにより、最終送信時刻を分散させている。そのため、トリガの送信が分散し、Ｗｅｂサーバへの過負荷やアクセス集中を回避できる。
【００８８】
なお、以下の説明では、（式２）で表わされる条件を「条件Ａ１」と記し、（式４）で表わされる条件を「条件Ａ２」と記す。
【００８９】
また、トリガ送信判断部３４ｂは、次ホップリスト部３６ｂに記憶された最終更新時刻のうち、トリガの送信指示を行ったＷｅｂサーバの最終更新時刻をトリガの送信指示を行った時刻に更新する。
【００９０】
通信部３１、トリガ入力部３２、実行部３３及びトリガ出力部３７は、第１の実施形態と同様の構成のため、説明を省略する。
【００９１】
また、他のＷｅｂサーバ（すなわち、Ｗｅｂサーバ２２〜２５）の構成は、Ｗｅｂサーバ２１ｂと同様であるため、詳細な説明を省略する。なお、上記説明では、定期処理実行システムが他のＷｅｂサーバを４台備えている場合について説明した。本発明によれば、定期処理実行システムが備える他のＷｅｂサーバは、４台に限られず、１台であってもよく、２台以上であってもよい。
【００９２】
なお、本システムにおけるＷｅｂサーバの全てが、必ずしもＷｅｂサーバ２１ｂと同様の機能を備えていなくてもよい。本システム内の一部にあたる複数台のＷｅｂサーバがＷｅｂサーバ２１ｂと同様の機能を備えていてもよく、また、システム内の１つのサーバのみＷｅｂサーバ２１ｂと同様の機能を備えていてもよい。この場合、Ｗｅｂサーバ２１ｂと同様の機能を備えていないＷｅｂサーバは、トリガを受信して、他の装置にトリガを送信する機能を備えていればよい。そのため、他のＷｅｂサーバは、時間間隔を調整する機能（すなわち、トリガ送信判断部３４ｂ、時刻取得部３９）を備えていなくてもよい。システム内のより多くのサーバがＷｅｂサーバ２１ｂと同様の機能（すなわち、時間間隔を調整する機能）を備えることにより、定期処理の精度が高まるため、より好ましいといえる。
【００９３】
通信部３１と、トリガ入力部３２と、実行部３３と、トリガ送信判断部３４ｂと、トリガ出力部３７と、時刻取得部３９とは、プログラム（定期処理実行プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、Ｗｅｂサーバ２１ｂの記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、通信部３１、トリガ入力部３２、実行部３３、トリガ送信判断部３４ｂ、トリガ出力部３７及び時刻取得部３９として動作してもよい。また、通信部３１と、トリガ入力部３２と、実行部３３と、トリガ送信判断部３４ｂと、トリガ出力部３７と、時刻取得部３９とは、それぞれが専用のハードウェアで実現されていてもよい。また、通信部３１が、一般的なＷｅｂサーバのサービスを実現するプログラムに従って動作するコンピュータのＣＰＵによって実現されてもよい。
【００９４】
次に、動作について説明する。図１０は、トリガ送信判断部３４ｂが、トリガ入力部３２の指示に応じて、トリガの送信指示をトリガ出力部３７に行うまでの処理の例を示すフローチャートである。なお、以下の説明では、トリガ送信判断部３４ｂがトリガ送信指示を行うか否かの判断を、「条件Ａ２」に基づいて行うものとする。
【００９５】
Ｗｅｂサーバ２１ｂがトリガを受信すると、トリガ送信判断部３４ｂは、「条件Ａ２」を満たす最終送信時刻に対応するＵＲＬの中から１つを選択する（ステップＳ３１）。トリガ送信判断部３４ｂは、例えば、条件を満たすＵＲＬのうち、最も早い最終送信時刻に対応するＵＲＬを選択してもよいが、トリガ送信判断部３４ｂがＵＲＬを選択する方法は、上記方法に限定されない。以下、選択されたＵＲＬをＵＲＬｓと記す。トリガ送信判断部３４ｂは、ＵＲＬｓで特定されるＷｅｂサーバに対してトリガを送信するようトリガ送信部３７に対して指示する。また、トリガ送信判断部３４ｂは、次ホップリスト部３６ｂに記憶された最終更新時刻のうち、ＵＲＬｓに対応する最終更新時刻をトリガの送信指示を行った時刻に更新する（ステップＳ３２）。
【００９６】
トリガ送信判断部３４ｂは、「条件Ａ２」を満たす最終送信時刻に対応するＵＲＬが他に存在するか否かを判断する（ステップＳ３３）。「条件Ａ２」を満たす最終送信時刻に対応するＵＲＬが他に存在する場合（ステップＳ３３におけるＹＥＳ）、トリガ送信判断部３４ｂは、ステップＳ３１以降の処理を繰り返す。一方、「条件Ａ２」を満たす最終送信時刻に対応するＵＲＬが他に存在しない場合（ステップＳ３３におけるＮＯ）、トリガ送信判断部３４ｂは、処理を終了する。
【００９７】
トリガ送信判断部３４ｂが、他のＷｅｂサーバにトリガを送信する動作について、他の例を用いて説明する。図１１は、各Ｗｅｂサーバがトリガを送信する動作の例を示す説明図である。図１１に示す例では、Ａ〜ＥはＷｅｂサーバを示し、各Ｗｅｂサーバが矢印の方向に向かってそれぞれトリガを送信していることを示す。
【００９８】
まず、ＷｅｂサーバＡに対してトリガが送信されると（ステップＳ４１）、ＷｅｂサーバＡのトリガ送信判断部３４ｂは、条件（例えば、条件Ａ１）をもとにトリガを送信するＷｅｂサーバを判断する。例えば、条件を満たすＷｅｂサーバがＷｅｂサーバＢだけの場合、ＷｅｂサーバＡのトリガ送信判断部３４ｂはＷｅｂサーバＢにトリガを送信すると判断し、トリガ出力部３７はＷｅｂサーバＢにトリガを送信する（ステップＳ４２）。ＷｅｂサーバＢに対してトリガが送信されると、ＷｅｂサーバＢのトリガ送信判断部３４ｂは、条件をもとにトリガを送信するＷｅｂサーバを判断する。例えば、条件を満たすＷｅｂサーバがＷｅｂサーバＤだけの場合、ＷｅｂサーバＢのトリガ送信判断部３４ｂはＷｅｂサーバＤにトリガを送信すると判断し、トリガ出力部３７はＷｅｂサーバＤにトリガを送信する（ステップＳ４３）。
【００９９】
同様に、ＷｅｂサーバＤに対してトリガが送信され、条件を満たすＷｅｂサーバがＷｅｂサーバＥより先のＷｅｂサーバだけの場合、ＷｅｂサーバＤのトリガ送信判断部３４ｂはＷｅｂサーバＥより先のＷｅｂサーバにトリガを送信すると判断し、トリガ出力部３７はそのＷｅｂサーバにトリガを送信する（ステップＳ４４）。
【０１００】
一方、ＷｅｂサーバＡに対して再度トリガが送信されると（ステップＳ４５）、ＷｅｂサーバＡのトリガ送信判断部３４ｂは、条件をもとにトリガを送信するＷｅｂサーバを判断する。例えば、最近トリガを送信したＷｅｂサーバＢは条件を満たさず、ＷｅｂサーバＣのみが条件を満たす場合、ＷｅｂサーバＡのトリガ送信判断部３４ｂはＷｅｂサーバＣにトリガを送信すると判断し、トリガ出力部３７はＷｅｂサーバＣにトリガを送信する（ステップＳ４６）。同様に、ＷｅｂサーバＣに対してトリガが送信され、条件を満たすＷｅｂサーバがＷｅｂサーバＤだけの場合、ＷｅｂサーバＣのトリガ送信判断部３４ｂはＷｅｂサーバＤにトリガを送信すると判断し、トリガ出力部３７はＷｅｂサーバＤにトリガを送信する（ステップＳ４７）。また、ＷｅｂサーバＤに対してトリガが送信され、条件を満たすＷｅｂサーバがＷｅｂサーバＥだけの場合、ＷｅｂサーバＤのトリガ送信判断部３４ｂはＷｅｂサーバＥにトリガを送信すると判断し、トリガ出力部３７はＷｅｂサーバＥにトリガを送信する（ステップＳ４８）。ＷｅｂサーバＥに対してトリガが送信され、条件を満たすＷｅｂサーバがＷｅｂサーバＥより先のＷｅｂサーバだけの場合、ＷｅｂサーバＥのトリガ送信判断部３４ｂはＷｅｂサーバＥより先のＷｅｂサーバにトリガを送信すると判断し、トリガ出力部３７はそのＷｅｂサーバにトリガを送信する（ステップＳ４９）。
【０１０１】
また、ＷｅｂサーバＢに対してＷｅｂサーバＡより前からトリガが送信されると（ステップＳ５０）、ＷｅｂサーバＢのトリガ送信判断部３４ｂは、条件をもとにトリガを送信するＷｅｂサーバを判断する。例えば、最近トリガを送信したＷｅｂサーバＤは条件を満たさず、ＷｅｂサーバＣのみが条件を満たす場合、ＷｅｂサーバＢのトリガ送信判断部３４ｂはＷｅｂサーバＣにトリガを送信すると判断し、トリガ出力部３７はＷｅｂサーバＣにトリガを送信する（ステップＳ５１）。同様に、ＷｅｂサーバＣに対してＷｅｂサーバＢからトリガが送信され、最近トリガを送信したＷｅｂサーバＤが条件を満たさず、ＷｅｂサーバＥのみが条件を満たす場合、ＷｅｂサーバＣのトリガ送信判断部３４ｂは、ＷｅｂサーバＥにトリガを送信すると判断し、トリガ出力部３７はＷｅｂサーバＥにトリガを送信する（ステップＳ５２）。また、ＷｅｂサーバＥに対してトリガが送信され、条件を満たすＷｅｂサーバがＷｅｂサーバＥより先のＷｅｂサーバであって、最近トリガを送信していないＷｅｂサーバに対してトリガを送信すると判断し、トリガ出力部３７はそのＷｅｂサーバにトリガを送信する（ステップＳ４９）。
【０１０２】
このように、１つのＷｅｂサーバに、大量のトリガ送信指示が行われる場合、前回トリガ送信指示を行ってから一定間隔があいていないことからトリガの送信中断が発生するため、トリガ送信指示が減少する。逆に、１つのＷｅｂサーバに行われるトリガ送信指示が少ない場合、前回トリガ送信指示を行ってから一定間隔があいていることから複数のノードに対してトリガ送信指示が行われる。したがって、ネットワーク全体でトリガ送信指示が行われる個数が一定に保たれる。
【０１０３】
以上のように、本実施形態によれば、Ｗｅｂサーバ２１ｂがトリガを受信したことを契機として、トリガ送信判断３４ｂが、次ホップリスト部３６ｂに記憶されたＷｅｂサーバのうち、最終更新時刻からの経過時間（例えば、現在時刻ｔ−最終送信時刻）がトリガ送信間隔ｔｄに達しているＷｅｂサーバに対してトリガを送信すると判断する。そして、トリガ出力部３７は、トリガ送信判断部３４ｂがトリガを送信すると判断したことに基づいて、他のＷｅｂサーバにトリガを送信する。よって、定期的にトリガを発生する発生源を利用できない場合であっても、定期処理を実行できる。
【０１０４】
本発明における定期処理実行システムによれば、ｃｒｏｎの利用やプロセスの永続的な立ち上げ等が制限されているレンタルサーバを用いたシステムであってもＤＨＴ維持処理を実現することができる。なお、本発明における定期処理実行システムを適用する処理はＤＨＴ維持処理を行う場合に限定されるものではなく、例えば、デーモンを起動させることにより定期的に処理を実行させる他のケースについても同様に適用が可能である。
【０１０５】
例えば、ＤＮＳ（Domain Name System）にも適用可能である。本システムを適用することにより、あるＤＮＳサーバからの指示に基づいて、ホスト名とＩＰ（Internet Protocol ）アドレスとを対応付ける処理等（以下、ＤＮＳ維持処理と記す。）を定期的に実行できると共に、他のＤＮＳサーバにＤＮＳ維持処理を実行させるためのトリガを定期的に送信できる。
【０１０６】
他にも、例えば、ユーザが閲覧したいブログの更新情報を定期的に収集したい場合にも適用可能である。一般的に、ユーザがブログの更新情報を定期的に収集するためには、ユーザが使用するコンピュータ上にデーモンを起動させておき、そのデーモンによって定期的に情報を更新する必要がある。しかし、本システムによれば、ブログを管理するサーバからの指示に基づいて、コンピュータ内のＲＳＳ（Resource description framework Site Summary ）情報を定期的に更新できる。
【０１０７】
さらに、例えば、ＤＨＴを利用してネットワーク上に分散するファイルを管理する場合にも適用できる。ファイルを管理する各サーバは、他のファイルを管理するサーバの更新情報を受信すると、自サーバ内の管理情報を更新の上、他のサーバに対して送信間隔を調整したうえで更新情報を通知することができる。
【０１０８】
なお、少なくとも以下に示すような定期処理実行装置及び定期処理実行システムも、上記に示すいずれかの実施形態に記載されていると言える。
【０１０９】
（１）定期処理を実行させるためのトリガを外部の装置から受信したことを契機として、トリガの送信対象となる外部の装置に対して過去にトリガを送信した時刻（例えば、トリガ送信時刻ｔｌ、最終送信時刻）からの経過時間（例えば、経過時間ｔｅ、現在時刻ｔ−最終送信時刻）が予め定められたトリガ送信間隔（例えば、トリガ送信間隔ｔｄ）に達していることを条件に、その外部の装置に対してトリガを送信すると判断するトリガ送信判断手段（例えば、トリガ送信判断部３４ａ，ｂ）と、トリガ送信判断手段がトリガを送信すると判断したことに基づいて、外部の装置（例えば、他のＷｅｂサーバ）にトリガを送信するトリガ送信手段（例えば、トリガ出力部３７）とを備えたことを特徴とする定期処理実行装置。
【０１１０】
（２）定期処理実行装置（例えば、Ｗｅｂサーバ２１ａ）にトリガを送信する外部の装置との距離（例えば、正規化距離ｄｎ）を算出する距離算出手段（例えば、トリガ送信判断部３４ａ）と、トリガの送信を滞留させる時間である滞留時間（例えば、トリガ滞留時間ｔｗ）を距離に基づいて算出する滞留時間算出手段（例えば、トリガ送信判断部３４ａ）とを備え、トリガ送信判断手段が、過去にトリガを送信した時刻からトリガを受信した時刻までの経過時間とトリガ送信間隔との差分である送信禁止時間（例えば、トリガ送信禁止時間ｔｒ）よりも、滞留時間の方が大きい場合に、その滞留時間の経過後に外部の装置に対してトリガを送信すると判断し、滞留時間が送信禁止時間以下の場合に、過去にトリガを送信した時刻からの経過時間がトリガ送信間隔に達していることを条件に、外部の装置に対してトリガを送信すると判断する定期処理実行装置。
【０１１１】
（３）滞留時間算出手段が、滞留時間を縮めるための係数（例えば、加速係数ｋ）をその滞留時間に乗じて算出する定期処理実行装置。
【０１１２】
（４）トリガの送信対象候補となる装置を特定可能な装置情報（例えば、ＵＲＬ）を複数記憶する装置情報記憶手段（例えば、次ホップリスト部３６ａ）を備え、トリガ送信手段が、装置に対するトリガの送信に失敗したときに、その装置とは異なる装置であって、装置情報記憶手段に記憶された装置情報で特定される装置にトリガを送信する定期処理実行装置。
【０１１３】
（５）トリガ送信判断手段が、予め定められた確率（例えば、トリガ複製確率ｐ）に基づいて、装置情報記憶手段に記憶された装置情報で特定されるいずれかの装置にトリガを送信すると判断する定期処理実行装置。
【０１１４】
（６）トリガ送信手段がトリガの送信対象候補となる装置に対して過去にトリガを送信した送信時刻を、その装置と対応付けて記憶する送信時刻記憶手段（例えば、トリガ送信判断部３４ｂ）を備え、トリガ送信判断手段が、送信時刻記憶手段に記憶された装置のうち、送信時刻からの経過時間がトリガ送信間隔に達している装置に対してトリガを送信すると判断する定期処理実行装置。
【０１１５】
（７）トリガ送信判断手段がトリガを送信するか否か判断するたびに、送信間隔より小さいランダムな値であるランダム時間間隔（例えば、ランダム値Ｒ）を決定するランダム間隔決定手段（例えば、トリガ送信判断部３４ｂ）を備え、トリガ送信判断手段が、過去にトリガを送信した送信時刻からの経過時間が、トリガ送信間隔にランダム時間間隔を加味した時間経過している装置に対してトリガを送信すると判断する定期処理実行装置。
【０１１６】
（８）トリガを受信したときに定期処理を実行する実行手段（例えば、実行部３３）を備えた定期処理実行装置。
【０１１７】
（９）定期処理を実行させるためのトリガを送信する複数の外部装置（例えば、Ｗｅｂサーバ２２〜２５）と、外部装置に対して定期的に処理を実行させる定期処理実行装置（例えば、Ｗｅｂサーバ２１ａ，ｂ）とを備え、定期処理実行装置が、外部装置からトリガを受信したことを契機として、トリガの送信対象となる外部装置に対して過去にトリガを送信した時刻（例えば、トリガ送信時刻ｔｌ、最終送信時刻）からの経過時間（例えば、経過時間ｔｅ、現在時刻ｔ−最終送信時刻）が予め定められたトリガ送信間隔（例えば、トリガ送信間隔ｔｄ）に達していることを条件に、その外部装置に対してトリガを送信すると判断するトリガ送信判断手段（例えば、トリガ送信判断部３４ａ，ｂ）と、トリガ送信判断手段がトリガを送信すると判断したことに基づいて、外部装置にトリガを送信するトリガ送信手段（例えば、トリガ出力部３７）とを備えたことを特徴とする定期処理実行システム。
【０１１８】
（１０）定期処理実行装置にトリガを送信する外部装置との距離（例えば、正規化距離ｄｎ）を算出する距離算出手段（例えば、トリガ送信判断部３４ａ）と、トリガの送信を滞留させる時間である滞留時間（例えば、トリガ滞留時間ｔｗ）を距離に基づいて算出する滞留時間算出手段（例えば、トリガ送信判断部３４ａ）とを備え、トリガ送信判断手段が、過去にトリガを送信した時刻から今回トリガを受信した時刻までの経過時間とトリガ送信間隔との差分である送信禁止時間（例えば、トリガ送信禁止時間ｔｒ）よりも、滞留時間の方が大きい場合に、その滞留時間の経過後に外部装置に対してトリガを送信すると判断し、滞留時間が送信禁止時間以下の場合に、過去にトリガを送信した時刻からの経過時間がトリガ送信間隔に達していることを条件に、外部の装置に対してトリガを送信すると判断する定期処理実行システム。
【０１１９】
（１１）距離算出手段が、各装置を識別するための識別子であって、その識別子全体でループを形成する識別子（例えば、コード（Ｃｈｏｒｄ）に基づくＩＤ）をもとに、各装置との距離を算出し、トリガ送信手段が、距離が一番近い外部装置にトリガを送信する定期処理実行システム。
【０１２０】
（１２）外部装置と定期処理実行装置と（例えば、各Ｗｅｂサーバ）がリング状のネットワークを形成し、トリガ送信手段が、ネットワークに沿って他の装置（例えば、他のＷｅｂサーバ）に順次トリガを送信する定期処理実行システム。
【０１２１】
（１３）トリガ送信手段がトリガの送信対象候補となる装置に対して過去にトリガを送信した送信時刻を、その装置と対応付けて記憶する送信時刻記憶手段（例えば、トリガ送信判断部３４ｂ）を備え、トリガ送信判断手段が、送信時刻記憶手段に記憶された装置のうち、送信時刻からの経過時間がトリガ送信間隔に達している装置に対してトリガを送信すると判断する定期処理実行システム。
【０１２２】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１２３】
この出願は、２００９年５月２６日に出願された日本特許出願２００９−１２６８４１を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１２４】
本発明は、定期的に処理を実行する定期処理実行システムに好適に適用される。
【符号の説明】
【０１２５】
２１ａ，２１ｂ，２２〜２５  Ｗｅｂサーバ
３１  通信部
３２  トリガ入力部
３３  実行部
３４ａ，３４ｂ  トリガ送信判断部
３５  トリガ送信時刻管理部
３６ａ，３６ｂ  次ホップリスト部
３７  トリガ出力部
３８  トリガ送信時刻記憶部
３９  時刻取得部
１００  通信ネットワーク
【図１】
2010137229.tif 000003
【図２】
2010137229.tif 000004
【図３】
2010137229.tif 000005
【図４】
2010137229.tif 000006
【図５】
2010137229.tif 000007
【図６】
2010137229.tif 000008
【図７】
2010137229.tif 000009
【図８】
2010137229.tif 000010
【図９】
2010137229.tif 000011
【図１０】
2010137229.tif 000012
【図１１】
2010137229.tif 000013
【図１２】
2010137229.tif 000014
【国際調査報告】
2010137229.tif 000015
2010137229.tif 000016