(57)【要約】【課題】状態通知にかかる通信トラフィックの増大を防ぐこと。【解決手段】エッジ装置Ｅｉは、自装置の状態に関する補正情報を管理装置１０１に通知するか否かを判定する際に用いる閾値Ｔｈを、処理完了率（処理Ｐｉの完了率）に応じて、調整する。例えば、処理完了率が「２０［％］」の場合、閾値Ｔｈは、処理完了率「２０［％］」に対応する「５０」となる。また、処理完了率が「８０［％］」の場合、閾値Ｔｈは、処理完了率「８０［％］」に対応する「３０」となる。閾値Ｔｈが「５０」の場合、閾値Ｔｈが「３０」の場合に比べて、管理装置１０１への補正情報の通知頻度が下がり、通信トラフィックの増大を防ぐことができる。一方、閾値Ｔｈが「３０」の場合は、閾値Ｔｈが「５０」の場合に比べて、管理装置１０１への補正情報の通知頻度が上がり、予測精度を向上させることができる。【選択図】図１４
2020098546.tif 000002
【特許請求の範囲】
【請求項１】
処理を実行する情報処理装置と、前記情報処理装置における前記処理の完了時刻を、前記情報処理装置から通知される情報に基づき予測する管理装置と、を含み、
前記情報処理装置は、
前記管理装置が認識している前記情報処理装置の状態に関する誤差についての閾値を、前記処理の完了率に応じて調整し、
前記誤差が前記閾値を超える場合に、前記情報処理装置の状態に関する補正情報を前記管理装置に通知すると判定する、
ことを特徴とする情報処理システム。
【請求項２】
前記閾値は、前記処理の完了率が高くなるほど、前記閾値が小さくなるような値に調整される、ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記補正情報は、所定の時点における前記処理の完了率と、前記所定の時点以降の前記処理の完了率の単位時間当たりの変化量を特定する情報を含み、
前記情報処理装置は、
前記変化量を算出する際に、前記所定の時点における前記処理の完了率に応じて、前記変化量を算出する方法を切り替える、ことを特徴とする請求項１または２に記載の情報処理システム。
【請求項４】
前記情報処理装置は、
前記所定の時点における前記処理の完了率が所定値以下の場合、前記所定の時点における、前記処理の完了率と処理開始からの経過時間とに基づき、前記変化量を算出し、
前記所定の時点における前記処理の完了率が前記所定値を超えた場合には、前記所定の時点における前記処理の完了率と、前記所定の時点よりも所定時間前の時点における前記処理の完了率とに基づき、前記変化量を算出する、
ことを特徴とする請求項３に記載の情報処理システム。
【請求項５】
処理をそれぞれ実行する複数の情報処理装置を含み、
前記管理装置は、
前記複数の情報処理装置の各情報処理装置における前記処理の完了時刻を、前記各情報処理装置から通知される情報に基づき予測し、
予測した前記各情報処理装置の前記処理の完了時刻に基づいて、前記各情報処理装置について、前記処理の完了率と前記閾値との対応関係を規定する閾値関数を決定し、
決定した前記閾値関数を特定する情報を前記各情報処理装置に通知し、
前記各情報処理装置は、
通知された前記情報から特定される閾値関数に従って、前記閾値を調整する、ことを特徴とする請求項１〜４のいずれか一つに記載の情報処理システム。
【請求項６】
処理を実行する実行部と、
自装置から通知される情報に基づき前記処理の完了時刻を予測する管理装置が認識している自装置の状態に関する誤差についての閾値を、前記実行部による前記処理の完了率に応じて調整する調整部と、
前記誤差が前記閾値を超える場合に、自装置の状態に関する補正情報を前記管理装置に通知すると判定する判定部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムおよび情報処理装置に関する。
【背景技術】
【０００２】
ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）の進展にともなって、エンドデバイスが生み出すデータ量が増加し、全てのデータの処理やデバイスの制御をクラウドで行うことが難しくなってきている。このため、エッジコンピューティングによる分散処理環境に注目が集まっている。エッジコンピューティングは、コンピュータネットワーク上で、利用者に近い場所に複数のエッジ装置を配置して、負荷の分散と通信の低遅延化を図る技術である。
【０００３】
先行技術としては、サーバ・クライアント型システムにおいて、クライアント装置が、処理予測時間を計測するタイマーを備え、サーバで算出したクライアント装置からの処理要求に対応した処理予測時間をタイマーに設定し、タイムアウト時に初めてサーバに状態取得要求を送出するものがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３５８２８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、クラウド側でエッジ装置の状態を把握するために、エッジ装置から通知される情報の数が増えて通信トラフィックが増大するという問題がある。
【０００６】
一つの側面では、本発明は、状態通知にかかる通信トラフィックの増大を防ぐことを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様では、処理を実行する情報処理装置と、前記情報処理装置における前記処理の完了時刻を、前記情報処理装置から通知される情報に基づき予測する管理装置と、を含み、前記情報処理装置は、前記管理装置が認識している前記情報処理装置の状態に関する誤差についての閾値を、前記処理の完了率に応じて調整し、前記誤差が前記閾値を超える場合に、前記情報処理装置の状態に関する補正情報を前記管理装置に通知すると判定する、情報処理システムが提供される。
【発明の効果】
【０００８】
本発明の一側面によれば、状態通知にかかる通信トラフィックの増大を防ぐことができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、情報処理システム１００のシステム構成例を示す説明図である。
【図２】図２は、処理完了率の時間的変化の一例を示す説明図である。
【図３】図３は、エッジ装置Ｅｉのハードウェア構成例を示すブロック図である。
【図４】図４は、補正情報の具体例を示す説明図である。
【図５】図５は、処理進捗ログＤＢ１３０の記憶内容の一例を示す説明図である。
【図６】図６は、データ格納情報ＤＢ１５０の記憶内容の一例を示す説明図である。
【図７】図７は、エッジ状態ＤＢ１６０の記憶内容の一例を示す説明図である。
【図８】図８は、管理装置１０１の機能的構成例を示すブロック図である。
【図９】図９は、エッジ装置Ｅｉの状態に関する誤差の補正例を示す説明図である。
【図１０】図１０は、エッジ装置Ｅｉの機能的構成例を示すブロック図である。
【図１１】図１１は、閾値関数の一例を示す説明図である。
【図１２】図１２は、エッジ装置Ｅｉの状態に関する誤差の一例を示す説明図である。
【図１３】図１３は、傾きを算出する方法の一例を示す説明図である。
【図１４】図１４は、閾値Ｔｈの調整例を示す説明図である。
【図１５】図１５は、管理装置１０１の状態管理処理手順の一例を示すフローチャートである。
【図１６】図１６は、エッジ装置Ｅｉの実行処理手順の一例を示すフローチャートである。
【図１７】図１７は、補正情報通知処理の具体的処理手順の一例を示すフローチャートである。
【図１８】図１８は、実施の形態２にかかる管理装置１０１の機能的構成例を示すブロック図である。
【図１９】図１９は、閾値関数情報ＤＢ１９００の記憶内容の一例を示す説明図である。
【図２０】図２０は、閾値関数の決定例を示す説明図である。
【図２１】図２１は、管理装置１０１の状態管理処理手順の一例を示すフローチャートである。
【図２２】図２２は、閾値制御処理の具体的処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、本発明にかかる情報処理システムおよび情報処理装置の実施の形態を詳細に説明する。
【００１１】
（実施の形態１）
まず、実施の形態１にかかる情報処理システム１００のシステム構成例について説明する。情報処理システム１００は、例えば、エッジコンピューティングによる分散処理環境に適用される。
【００１２】
図１は、情報処理システム１００のシステム構成例を示す説明図である。図１において、情報処理システム１００は、エッジ装置Ｅ１〜Ｅｎ（ｎ：２以上の自然数）と、管理装置１０１と、クライアント装置１０２と、を含む。情報処理システム１００において、エッジ装置Ｅ１〜Ｅｎ、管理装置１０１およびクライアント装置１０２は、有線または無線のネットワーク１１０を介して接続される。ネットワーク１１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００１３】
以下の説明では、エッジ装置Ｅ１〜Ｅｎのうちの任意のエッジ装置を「エッジ装置Ｅｉ」と表記する場合がある（ｉ＝１，２，…，ｎ）。
【００１４】
ここで、エッジ装置Ｅｉは、処理を実行する情報処理装置（コンピュータ）である。例えば、エッジ装置Ｅｉは、サーバ、ゲートウェイ装置、アクセスポイント、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などである。処理は、例えば、デバイス１０３から送出されるデータに対する処理である。
【００１５】
デバイス１０３は、例えば、自動車用センサ、機器センサ、環境センサ、カメラなどである。デバイス１０３から送出されるデータは、例えば、各種センサのセンシングデータやカメラによって撮像される画像などである。データに対する処理としては、例えば、センシングデータを分析したり演算したりする処理や、画像を解析する処理などがある。
【００１６】
以下の説明では、エッジ装置Ｅｉで実行される処理を「処理Ｐｉ」と表記する場合がある。
【００１７】
エッジ装置Ｅｉは、処理対象データＤＢ（ＤａｔａＢａｓｅ）１２０、処理進捗ログＤＢ１３０および送信ログＤＢ１４０を有する。処理対象データＤＢ１２０は、処理対象となるデータを記憶する。処理対象となるデータは、例えば、デバイス１０３から送出されるデータである。
【００１８】
処理進捗ログＤＢ１３０は、処理Ｐｉの進捗を示すログを記憶する。処理進捗ログＤＢ１３０の記憶内容については、図５を用いて後述する。送信ログＤＢ１４０は、エッジ装置Ｅｉから管理装置１０１に送信された情報（例えば、後述の図４に示す補正情報４００）に関するログを記憶する。
【００１９】
管理装置１０１は、各エッジ装置Ｅｉの状態を管理する情報処理装置（コンピュータ）である。エッジ装置Ｅｉの状態は、例えば、処理Ｐｉの完了率や、処理Ｐｉの完了率の単位時間当たりの変化量などである。また、管理装置１０１は、各エッジ装置Ｅｉから通知される情報に基づいて、各処理Ｐｉの完了時刻を予測する。例えば、管理装置１０１は、クラウドコンピューティングのサーバである。
【００２０】
管理装置１０１は、データ格納情報ＤＢ１５０、エッジ状態ＤＢ１６０および受信ログＤＢ１７０を有する。データ格納情報ＤＢ１５０は、処理対象となるデータの格納場所を示す情報を記憶する。データ格納情報ＤＢ１５０の記憶内容については、図６を用いて後述する。
【００２１】
エッジ状態ＤＢ１６０は、エッジ装置Ｅ１〜Ｅｎの状態に関する情報を記憶する。エッジ状態ＤＢ１６０の記憶内容については、図７を用いて後述する。受信ログＤＢ１７０は、エッジ装置Ｅｉから受信した情報（例えば、補正情報）に関するログを記憶する。
【００２２】
クライアント装置１０２は、情報処理システム１００の利用者が使用するコンピュータである。利用者は、例えば、デバイス１０３から得られるデータを解析したり、分析したりする場合に情報処理システム１００を利用する。例えば、クライアント装置１０２は、ＰＣ、タブレットＰＣ、スマートフォンなどである。
【００２３】
ここで、データ自体はクラウド側（例えば、管理装置１０１）に送らず、データに対する処理をエッジ装置（例えば、エッジ装置Ｅｉ）で実行して処理結果のみをクラウド側に送る、いわゆる、データ近傍処理により、広域ネットワークを流れる通信トラフィックを削減することができる。
【００２４】
このようなエッジ装置とクラウドとが協調動作するシステムを構築するにあたり、クラウド側で各エッジ装置の状態を管理することは、各エッジ装置の処理の進捗状況を把握するために重要である。例えば、クラウド側でエッジ装置の状態を管理すべく、エッジ装置で処理（１つのプロセス）が完了した際に、その都度クラウド側に通知することが考えられる。
【００２５】
ところが、エッジ装置で実行される処理には、１つ１つのプロセスは一瞬で終わるものの、大量にプロセスがあるために時間がかかるという特徴があるものが多い。したがって、プロセス完了ごとにエッジ装置の状態に関する情報をクラウド側に送るようにすると、通信トラフィックの増大を招いてしまう。
【００２６】
このため、クラウド側に送るエッジ装置の状態に関する情報を制限することにより、通信トラフィックを削減することが考えられる。例えば、クラウドでは、エッジ装置から通知される限られた情報を用いて、エッジ装置の状態を計算する。エッジ装置では、クラウドが計算しているエッジ装置の状態を同じ計算で求め、エッジ装置で把握している実際の状態と計算で得られた状態との差が大きくなったときだけ、エッジ装置の状態に関する補正情報をクラウドに通知する。
【００２７】
しかし、利用者の観点からすると、図２に示すように、エッジ装置における処理の完了時刻の予測結果として、中間時点では大まかに安定した予測結果が欲しく、完了直前は精度の高い予測結果が欲しい傾向がある。
【００２８】
図２は、処理完了率の時間的変化の一例を示す説明図である。図２において、グラフ２０１は、エッジ装置における処理完了率の時間的変化を示す。中間時点の時刻ｔａでは、利用者は、例えば、５〜６時間後といった粒度で予測結果が得られると嬉しく、３〜２４時間後のように予測結果が乱高下すると戸惑う。
【００２９】
一方、完了直前の時刻ｔｂでは、利用者は、予測が細かく変化しても、エッジ装置の現状態が反映された予測結果が得られると嬉しく、例えば、処理完了と表示されているのに、実際はまだ実行中で残り１時間かかるというのは困る。換言すれば、処理開始から処理完了までのどの段階かによって、利用者によって要求される予測精度は異なるといえる。
【００３０】
そこで、本実施の形態では、エッジ装置Ｅｉは、自装置の状態に関する補正情報を管理装置１０１に通知するか否かの判定に用いる閾値Ｔｈを、処理Ｐｉの完了率に応じて調整する。閾値Ｔｈは、エッジ装置Ｅｉが認識している自装置の状態と、管理装置１０１が認識しているエッジ装置Ｅｉの状態との差、すなわち、管理装置１０１が認識しているエッジ装置Ｅｉの状態に関する誤差についての閾値である。
【００３１】
これにより、エッジ装置Ｅｉの状態に関する補正情報の通知頻度を制御して、状況に対して効果的な通知頻度を実現することができる。例えば、閾値Ｔｈを大きくするほど、管理装置１０１への補正情報の通知の頻度を下げることができる。この場合、予測精度は低下する傾向があるものの、管理装置１０１への状態通知にかかる通信トラフィックを削減することができる。また、閾値Ｔｈを小さくするほど、管理装置１０１への補正情報の通知の頻度を上げることができる。この場合、管理装置１０１への状態通知にかかる通信トラフィックは増えるものの、予測精度を向上させることができる。
【００３２】
図２の例では、エッジ装置Ｅｉは、処理Ｐｉの完了率が高くなるほど、閾値Ｔｈが小さくなるように調整する。これにより、処理開始から中間時点あたりまでは、管理装置１０１への補正情報の通知頻度を抑えて、通信トラフィックの増大を防ぐことができる。これに対して、処理完了が近づくと、管理装置１０１への補正情報の通知頻度を上げて予測精度を向上させることができる。
【００３３】
（エッジ装置Ｅｉのハードウェア構成例）
図３は、エッジ装置Ｅｉのハードウェア構成例を示すブロック図である。図３において、エッジ装置Ｅｉは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、ディスクドライブ３０３と、ディスク３０４と、通信Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０５と、可搬型記録媒体Ｉ／Ｆ３０６と、可搬型記録媒体３０７と、を有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００３４】
ここで、ＣＰＵ３０１は、エッジ装置Ｅｉの全体の制御を司る。ＣＰＵ３０１は、複数のコアを有していてもよい。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭがＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラムを記憶し、ＲＯＭがアプリケーションプログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００３５】
ディスクドライブ３０３は、ＣＰＵ３０１の制御に従ってディスク３０４に対するデータのリード／ライトを制御する。ディスク３０４は、ディスクドライブ３０３の制御で書き込まれたデータを記憶する。ディスク３０４としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００３６】
通信Ｉ／Ｆ３０５は、通信回線を通じてネットワーク１１０に接続され、ネットワーク１１０を介して外部のコンピュータ（例えば、図１に示した管理装置１０１、他のエッジ装置）に接続される。そして、通信Ｉ／Ｆ３０５は、ネットワーク１１０と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信Ｉ／Ｆ３０５には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００３７】
可搬型記録媒体Ｉ／Ｆ３０６は、ＣＰＵ３０１の制御に従って可搬型記録媒体３０７に対するデータのリード／ライトを制御する。可搬型記録媒体３０７は、可搬型記録媒体Ｉ／Ｆ３０６の制御で書き込まれたデータを記憶する。可搬型記録媒体３０７としては、例えば、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリなどが挙げられる。
【００３８】
なお、エッジ装置Ｅｉは、上述した構成部のほかに、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、入力装置、ディスプレイ等を有することにしてもよい。また、エッジ装置Ｅｉは、上述した構成部のうち、例えば、ディスクドライブ３０３、ディスク３０４、可搬型記録媒体Ｉ／Ｆ３０６、可搬型記録媒体３０７を有していなくてもよい。また、図１に示した管理装置１０１、クライアント装置１０２についても、エッジ装置Ｅｉと同様のハードウェア構成により実現することができる。ただし、クライアント装置１０２は、上述した構成部のほかに、入力装置、ディスプレイなどを有する。
【００３９】
（補正情報の具体例）
つぎに、図４を用いて、エッジ装置Ｅｉから管理装置１０１に通知される、エッジ装置Ｅｉの状態に関する補正情報の具体例について説明する。
【００４０】
図４は、補正情報の具体例を示す説明図である。図４において、補正情報４００は、時刻ｔと、処理完了率と、傾きとを含む。ここで、時刻ｔは、エッジ装置Ｅｉにおいて処理完了率が測定された時刻である。なお、時刻ｔは、エッジ装置Ｅｉにおける処理Ｐｉの処理開始からの経過時間によって表されることにしてもよい。
【００４１】
処理完了率は、時刻ｔにおける処理Ｐｉの完了率を示す（単位：［％］）。処理完了率は、例えば、処理Ｐｉ全体（例えば、複数のプロセス）に対する現在完了している処理（例えば、プロセス）の割合によって表される。傾きは、時刻ｔ以降の処理完了率の時間的変化を示す（単位：［％／ｓ］）。傾きは、例えば、時刻ｔ以降の処理完了率を予測する際に用いられる。ここでは、予測値は一次式でモデル化するものとする。
【００４２】
（処理進捗ログＤＢ１３０の記憶内容）
つぎに、図５を用いて、エッジ装置Ｅｉが有する処理進捗ログＤＢ１３０の記憶内容について説明する。なお、エッジ装置Ｅｉが有する各種ＤＢは、例えば、図３に示したメモリ３０２、ディスク３０４などの記憶装置により実現される。
【００４３】
図５は、処理進捗ログＤＢ１３０の記憶内容の一例を示す説明図である。図５において、処理進捗ログＤＢ１３０は、時刻ｔおよび処理完了率のフィールドを有し、各フィールドに情報を設定することで、処理進捗ログ（例えば、処理進捗ログ５００−１〜５００−３）をレコードとして記憶する。
【００４４】
ここで、時刻ｔは、エッジ装置Ｅｉにおいて処理完了率が測定された時刻である。時刻ｔ０は、処理開始時刻を示す。なお、時刻ｔは、エッジ装置Ｅｉにおける処理Ｐｉの処理開始からの経過時間によって表されることにしてもよい。処理完了率は、時刻ｔにおける処理Ｐｉの完了率を示す（単位：［％］）。
【００４５】
（データ格納情報ＤＢ１５０の記憶内容）
つぎに、図６を用いて、管理装置１０１が有するデータ格納情報ＤＢ１５０の記憶内容について説明する。なお、管理装置１０１が有する各種ＤＢは、例えば、管理装置１０１のメモリ、ディスクなどの記憶装置により実現される。
【００４６】
図６は、データ格納情報ＤＢ１５０の記憶内容の一例を示す説明図である。図６において、データ格納情報ＤＢ１５０は、ファイルＩＤ、データ取得時刻、データ受信時刻、取得場所、格納エッジＩＤ、ファイルパス／ファイル名、ファイル種別、ファイルサイズおよびメタデータのフィールドを有する。各フィールドに情報を設定することで、データ格納情報（例えば、データ格納情報６００−１〜６００−３）がデータ格納情報ＤＢ１５０にレコードとして記憶される。
【００４７】
ここで、ファイルＩＤは、処理対象となるデータを一意に識別する識別子である。ここでは、処理対象となるデータとして、ファイルを例に挙げて説明する。データ取得時刻は、データが取得された時刻を示す。データは、例えば、図１に示したデバイス１０３により取得される。データ受信時刻は、データが受信された時刻を示す。例えば、データ受信時刻は、デバイス１０３から送出されたデータをエッジ装置Ｅｉが受信した時刻である。
【００４８】
取得場所は、データが取得された場所の座標（例えば、緯度、経度）を示す。格納エッジＩＤは、データを格納しているエッジ装置Ｅｉを一意に識別する識別子である。格納エッジＩＤとしては、例えば、エッジ装置Ｅｉの名前、ＦＱＤＮ（Ｆｕｌｌｙ  Ｑｕａｌｉｆｉｅｄ  Ｄｏｍａｉｎ  Ｎａｍｅ）、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスなどが用いられる。
【００４９】
ファイルパス／ファイル名は、データの格納場所／名前を示す。ファイル種別は、データの種別を示す。ファイルサイズは、データのサイズを示す。メタデータは、データの特徴を示す。メタデータは、例えば、どのような処理が実行可能なデータであるかを判別するために用いられる。
【００５０】
（エッジ状態ＤＢ１６０の記憶内容）
つぎに、図７を用いて、管理装置１０１が有するエッジ状態ＤＢ１６０の記憶内容について説明する。
【００５１】
図７は、エッジ状態ＤＢ１６０の記憶内容の一例を示す説明図である。図７において、エッジ状態ＤＢ１６０は、エッジＩＤ、時刻ｔ、処理完了率、傾きおよび予測処理完了時刻のフィールドを有し、各フィールドに情報を設定することで、エッジ状態情報（例えば、エッジ状態情報７００−１）をレコードとして記憶する。
【００５２】
ここで、エッジＩＤは、エッジ装置Ｅｉを一意に識別する識別子である。時刻ｔは、エッジ装置Ｅｉにおいて処理完了率が測定された時刻である。なお、時刻ｔは、エッジ装置Ｅｉにおける処理Ｐｉの処理開始からの経過時間によって表されることにしてもよい。処理完了率は、時刻ｔにおける処理Ｐｉの完了率を示す（単位：［％］）。
【００５３】
傾きは、時刻ｔ以降の処理完了率の時間的変化を示す（単位：［％／ｓ］）。予測処理完了時刻は、エッジ装置Ｅｉにおける処理Ｐｉの実行が完了すると予測された時刻である。なお、エッジ状態情報には、例えば、エッジ装置Ｅｉにおいて処理Ｐｉの実行が開始された処理開始時刻が含まれていてもよい。
【００５４】
（管理装置１０１の機能的構成例）
つぎに、管理装置１０１の機能的構成例について説明する。
【００５５】
図８は、管理装置１０１の機能的構成例を示すブロック図である。図８において、管理装置１０１は、要求受付部８０１と、処理指示部８０２と、情報受付部８０３と、状態予測部８０４と、出力部８０５と、を含む。具体的には、例えば、要求受付部８０１〜出力部８０５は、管理装置１０１のメモリ、ディスクなどの記憶装置に記憶されたプログラムをＣＰＵに実行させることにより、または、通信Ｉ／Ｆにより、その機能を実現する。各機能部の処理結果は、例えば、メモリ、ディスクなどの記憶装置に記憶される。
【００５６】
要求受付部８０１は、処理実行要求を受け付ける。ここで、処理実行要求は、データに対する処理の実行を要求するものである。処理実行要求には、例えば、どのようなデータに対してどのような処理（分析、解析、演算処理など）を行うのかを特定する情報が含まれる。
【００５７】
具体的には、例えば、要求受付部８０１は、図１に示したクライアント装置１０２から処理実行要求を受信することにより、受信した処理実行要求を受け付ける。また、要求受付部８０１は、不図示の入力装置を用いたユーザの操作入力により、処理実行要求を受け付けることにしてもよい。
【００５８】
処理指示部８０２は、エッジ装置Ｅｉに対して処理Ｐｉの実行を指示する。具体的には、例えば、処理指示部８０２は、図６に示したデータ格納情報ＤＢ１５０を参照して、処理実行要求から特定される処理を実行可能なデータを格納しているエッジ装置Ｅｉを特定する。そして、処理指示部８０２は、特定したエッジ装置Ｅｉに対して、処理実行要求から特定される処理Ｐｉの実行指示を送信する。
【００５９】
処理Ｐｉの実行指示には、例えば、処理対象となるデータと、処理Ｐｉの処理内容とを特定する情報が含まれる。処理Ｐｉの処理内容としては、例えば、処理対象となるデータに対する分析、解析、演算処理などが挙げられる。なお、処理実行要求から特定される処理を実行可能なデータを格納しているエッジ装置が複数特定された場合は、処理指示部８０２は、特定した複数のエッジ装置それぞれに対して、処理の実行指示を送信する。
【００６０】
情報受付部８０３は、エッジ装置Ｅｉの状態に関する情報を受け付ける。ここで、エッジ装置Ｅｉの状態に関する情報は、処理Ｐｉの処理状況を特定するための情報であり、例えば、処理Ｐｉの処理開始からの経過時間や処理Ｐｉの完了率を特定する情報、処理Ｐｉの完了率の時間的変化を予測するための情報などが含まれる。
【００６１】
エッジ装置Ｅｉの状態に関する情報としては、例えば、補正情報および処理完了通知がある。補正情報は、管理装置１０１が認識しているエッジ装置Ｅｉの状態に関する誤差を補正するために通知される情報であり、例えば、図４に示した補正情報４００である。なお、補正情報には、例えば、処理Ｐｉの実行が開始された後、エッジ装置Ｅｉから最初に通知される状態に関する情報（初回通知）も含まれる。
【００６２】
処理完了通知は、処理Ｐｉの実行が完了したことに応じて、エッジ装置Ｅｉから通知される情報である。なお、図示は省略するが、処理完了通知は、図４に示したような補正情報４００と同様のデータ構造により実現することができる。この場合、処理完了通知に含まれる処理完了率は「１００［％］」となる。
【００６３】
具体的には、例えば、情報受付部８０３は、クライアント装置１０２からエッジ装置Ｅｉの状態に関する情報（補正情報または処理完了通知）を受信することにより、受信した情報を受け付ける。なお、エッジ装置Ｅｉから情報（補正情報または処理完了通知）を受信すると、受信した情報に関するログが、例えば、図１に示した受信ログＤＢ１７０に記録される。
【００６４】
状態予測部８０４は、情報受付部８０３が受け付けた情報に基づいて、エッジ装置Ｅｉの状態を予測する。具体的には、例えば、状態予測部８０４は、受信ログＤＢ１７０を参照して、エッジ装置Ｅｉから通知された補正情報（最新の補正情報）に含まれる時刻ｔにおける処理完了率および傾きを特定する。そして、状態予測部８０４は、特定した時刻ｔにおける処理完了率および傾きに基づいて、時刻ｔ以降の処理完了率の時間変化を予測する。
【００６５】
より具体的には、例えば、状態予測部８０４は、補正情報に含まれる時刻ｔにおける処理完了率および傾きに基づいて、予測処理完了時刻を算出する。予測処理完了時刻は、エッジ装置Ｅｉにおける処理Ｐｉの実行が完了する時刻である。ここで、図４に示した補正情報４００を例に挙げて、予測処理完了時刻の算出例について説明する。
【００６６】
まず、状態予測部８０４は、補正情報４００に含まれる処理完了率「５５．４［％］」および傾き「０．０１２４０［％／ｓ］」に基づいて、処理完了率が５５．４［％］から１００［％］となるまでの経過時間を算出する。ここでは、経過時間は、「３５９７［ｓ］」となる。そして、状態予測部８０４は、補正情報４００に含まれる時刻ｔに経過時間「３５９７［ｓ］」を足すことにより、予測処理完了時刻を算出する。ここでは、予測処理完了時刻は、「２０１８／１０／１７  １２：４３：２７」となる。
【００６７】
予測された予測処理完了時刻は、例えば、補正情報に含まれる時刻ｔ、処理完了率および傾きと対応付けて、図７に示したエッジ状態ＤＢ１６０に記憶される。例えば、補正情報４００の通知元をエッジ装置Ｅ１とする。この場合、予測処理完了時刻「２０１８／１０／１７  １２：４３：２７」が、補正情報４００に含まれる時刻ｔ、処理完了率および傾きと対応付けて、エッジ装置Ｅ１のエッジ状態情報の各フィールドに設定される。
【００６８】
これにより、管理装置１０１が認識しているエッジ装置Ｅ１の状態に関する誤差を補正することができる。ここで、図９を用いて、エッジ装置Ｅｉの状態に関する誤差の補正例について説明する。
【００６９】
図９は、エッジ装置Ｅｉの状態に関する誤差の補正例を示す説明図である。図９において、グラフ９０１は、エッジ装置Ｅｉの実際の状態をあらわす。グラフ９０２は、管理装置１０１が認識（予測）しているエッジ装置Ｅｉの状態をあらわす。ここでは、管理装置１０１が認識している時刻ｔにおけるエッジ装置Ｅｉの状態に関する誤差が大きくなり、エッジ装置Ｅｉから管理装置１０１に補正情報が通知されたとする。
【００７０】
この場合、管理装置１０１が認識（予測）するエッジ装置Ｅｉの状態は、時刻ｔにおける処理完了率および傾きが補正されて、グラフ９０３のようになる。
【００７１】
出力部８０５は、状態予測部８０４によって予測された予測結果を出力する。出力部８０５の出力形式としては、例えば、通信Ｉ／Ｆによる他のコンピュータへの送信、ディスプレイへの表示、プリンタへの印刷出力、メモリ、ディスクなどの記憶装置への記憶などがある。
【００７２】
具体的には、例えば、出力部８０５は、クライアント装置１０２に対して、予測されたエッジ装置Ｅｉの予測処理完了時刻を表示することにしてもよい。この際、出力部８０５は、現時点のエッジ装置Ｅｉの処理完了率や、予測処理完了時刻までの残り時間をあわせて表示することにしてもよい。
【００７３】
また、クライアント装置１０２からの処理実行要求に応じて、複数のエッジ装置で処理を実行中の場合がある。この場合、出力部８０５は、クライアント装置１０２に対して、複数のエッジ装置それぞれの予測処理完了時刻のうち、最も遅い予測処理完了時刻を、処理全体の予測処理完了時刻として表示することにしてもよい。また、出力部８０５は、複数のエッジ装置それぞれの予測処理完了時刻を表示することにしてもよい。
【００７４】
（エッジ装置Ｅｉの機能的構成例）
つぎに、エッジ装置Ｅｉの機能的構成例について説明する。
【００７５】
図１０は、エッジ装置Ｅｉの機能的構成例を示すブロック図である。図１０において、エッジ装置Ｅｉは、処理受付部１００１と、実行部１００２と、判定部１００３と、調整部１００４と、生成部１００５と、通知部１００６と、を含む。具体的には、例えば、処理受付部１００１〜通知部１００６は、図３に示したメモリ３０２、ディスク３０４などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、通信Ｉ／Ｆ３０５により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２、ディスク３０４などの記憶装置に記憶される。
【００７６】
処理受付部１００１は、処理Ｐｉの実行指示を受け付ける。ここで、処理Ｐｉの実行指示には、例えば、処理対象となるデータと、処理Ｐｉの処理内容とを特定する情報が含まれる。具体的には、例えば、処理受付部１００１は、管理装置１０１から処理Ｐｉの実行指示を受信することにより、受信した処理Ｐｉの実行指示を受け付ける。
【００７７】
実行部１００２は、処理Ｐｉの実行指示に応じて、処理Ｐｉを実行する。具体的には、例えば、実行部１００２は、処理対象データＤＢ１２０（図１参照）から、処理Ｐｉの実行指示から特定される処理対象となるデータを取得する。そして、実行部１００２は、取得した処理対象となるデータに対して、処理Ｐｉの実行を開始する。処理Ｐｉの処理内容は、処理Ｐｉの実行指示から特定される。
【００７８】
また、実行部１００２は、処理Ｐｉの進捗を示す情報を記録する。具体的には、例えば、実行部１００２は、処理Ｐｉの実行を開始してから、処理Ｐｉの実行が完了するまで、所定のタイミングで、処理Ｐｉの進捗を示す処理進捗ログを、図５に示した処理進捗ログＤＢ１３０に記録する。
【００７９】
処理進捗ログには、例えば、時刻ｔおよび処理完了率が含まれる。処理完了率は、時刻ｔにおける処理Ｐｉの完了率を示す（単位：［％］）。処理完了率は、例えば、処理Ｐｉ全体（例えば、複数のプロセス）に対する現在完了している処理（例えば、プロセス）の割合を求めることにより測定される。
【００８０】
また、処理進捗ログを記録するタイミングは、任意に設定可能である。例えば、実行部１００２は、一定量（例えば、１ＭＢ、１０ファイル分など）のデータに対する処理または一定時間（例えば、数分）処理を実行する度に、処理Ｐｉの進捗を示す処理進捗ログを記録することにしてもよい。
【００８１】
判定部１００３は、管理装置１０１が認識している自装置の状態に関する誤差が閾値Ｔｈを超えるか否かに基づき、自装置の状態に関する補正情報を管理装置１０１に通知するか否かを判定する。具体的には、例えば、判定部１００３は、実際の自装置の状態（エッジ装置Ｅｉが認識している自装置の状態）と、管理装置１０１が認識しているエッジ装置Ｅｉの状態との差が閾値Ｔｈを超えたか否かを判断する。
【００８２】
ここで、差が閾値Ｔｈを超えた場合、判定部１００３は、自装置の状態に関する補正情報を管理装置１０１に通知すると判定する。一方、差が閾値Ｔｈ以下の場合には、判定部１００３は、自装置の状態に関する補正情報を管理装置１０１に通知しないと判定する。
【００８３】
エッジ装置Ｅｉの状態は、例えば、現在の処理Ｐｉの完了率（処理完了率）となるまでの経過時間、すなわち、処理開始からの経過時間によって表すことができる。ただし、エッジ装置Ｅｉの状態は、処理Ｐｉの完了率によって表すことにしてもよい。なお、判定部１００３の具体的な処理内容については、図１２を用いて後述する。
【００８４】
調整部１００４は、処理Ｐｉの完了率に応じて、閾値Ｔｈを調整する。ここで、閾値Ｔｈは、管理装置１０１が認識しているエッジ装置Ｅｉの状態に関する誤差についての閾値であり、エッジ装置Ｅｉの状態に関する補正情報を管理装置１０１に通知するか否かを判定する際に用いられる値である。例えば、エッジ装置Ｅｉの状態を、現在の処理完了率となるまでの経過時間によって表す場合には、閾値Ｔｈは、エッジ装置Ｅｉが認識している経過時間と管理装置１０１が認識している経過時間との誤差に関する閾値となる。
【００８５】
具体的には、例えば、調整部１００４は、処理Ｐｉの完了率が高くなるほど、閾値Ｔｈが小さくなるように調整することにしてもよい。また、調整部１００４は、処理Ｐｉの完了率が所定値以上となったら、処理Ｐｉの完了率が高くなるほど、閾値Ｔｈが小さくなるように調整することにしてもよい。
【００８６】
より具体的には、例えば、調整部１００４は、予め設定された閾値関数に基づいて、処理Ｐｉの完了率に応じて、閾値Ｔｈを調整することにしてもよい。閾値関数とは、処理Ｐｉの完了率と閾値Ｔｈとの対応関係を規定する関数である。閾値関数を特定する情報は、例えば、メモリ３０２、ディスク３０４などの記憶装置に記憶されている。
【００８７】
ここで、図１１を用いて、閾値関数の一例について説明する。
【００８８】
図１１は、閾値関数の一例を示す説明図である。図１１において、閾値関数１１００は、処理完了率（処理Ｐｉの完了率）と閾値Ｔｈとの対応関係を規定する関数である。ここでは、閾値Ｔｈの単位は［ｓ］である。閾値関数１１００では、処理完了率が所定値（６０［％］）以上となるまでは、閾値Ｔｈは一定値（５０［ｓ］）をとる。また、処理完了率が所定値以上となったら、処理完了率が高くなるほど、閾値Ｔｈが徐々に小さくなる。
【００８９】
閾値関数１１００によれば、調整部１００４は、処理完了率が６０［％］となるまでは、閾値Ｔｈを一定値（５０［ｓ］）とすることができる。また、調整部１００４は、処理完了率が６０［％］以上となったら、処理完了率が高くなるほど、閾値Ｔｈが徐々に小さくなるように調整することができる。
【００９０】
図１０の説明に戻り、生成部１００５は、エッジ装置Ｅｉの状態に関する補正情報を生成する。補正情報は、例えば、所定の時点における処理Ｐｉの完了率と、所定の時点以降の処理Ｐｉの完了率の単位時間当たりの変化量を特定する情報を含む。処理Ｐｉの完了率の予測値を一次式でモデル化すると、所定の時点以降の処理Ｐｉの完了率の単位時間当たりの変化量は、傾きによって表すことができる。また、補正情報は、例えば、判定部１００３によって管理装置１０１に補正情報を通知すると判定された場合に生成される。
【００９１】
具体的には、例えば、生成部１００５は、図５に示した処理進捗ログＤＢ１３０を参照して、時刻ｔ以降の処理完了率（処理Ｐｉの完了率）の傾きを算出する。時刻ｔは、例えば、処理進捗ログＤＢ１３０内の最新の時刻である。より詳細に説明すると、例えば、生成部１００５は、時刻ｔの処理完了率と、時刻ｔ以前のいずれかの時刻の処理完了率とに基づいて、時刻ｔ以降の処理完了率の傾きを算出する。
【００９２】
この際、生成部１００５は、時刻ｔにおける処理Ｐｉの完了率に応じて、時刻ｔ以降の処理完了率の傾きを算出する方法を決定することにしてもよい。具体的には、例えば、生成部１００５は、時刻ｔにおける処理Ｐｉの完了率が所定値Ｋ以下の場合は、第１の算出方法に決定する。また、生成部１００５は、時刻ｔにおける処理Ｐｉの完了率が所定値Ｋを超えた場合は、第２の算出方法に決定する。
【００９３】
所定値Ｋは、任意に設定可能であり、例えば、７０〜８０［％］程度の値に設定される。すなわち、生成部１００５は、時刻ｔにおける処理完了率が所定値Ｋを超えたことに応じて、時刻ｔ以降の処理完了率の傾きを算出する方法を、第１の算出方法から第２の算出方法に切り替える。
【００９４】
ここで、第１の算出方法は、時刻ｔ（所定の時点）における、処理完了率と処理開始からの経過時間とに基づき、時刻ｔ以降の処理完了率の傾きを算出する方法である。また、第２の算出方法は、時刻ｔにおける処理完了率と、時刻ｔよりも所定時間前の時刻ｔ’における処理完了率とに基づき、時刻ｔ以降の処理完了率の傾きを算出する方法である。
【００９５】
所定時間は、任意に設定可能である。例えば、時刻ｔ’は、時刻ｔの数分程度前の時刻であってもよく、また、処理進捗ログＤＢ１３０内の時刻ｔ（最新の時刻）の直前の時刻であってもよい。なお、第１の算出方法および第２の算出方法については、図１３を用いて後述する。
【００９６】
通知部１００６は、生成部１００５によって生成された補正情報を通知する。具体的には、例えば、通知部１００６は、判定部１００３によって自装置の状態に関する補正情報を管理装置１０１に通知すると判定された場合に、生成部１００５によって生成された補正情報を管理装置１０１に通知する。
【００９７】
また、通知部１００６は、処理Ｐｉの実行が完了すると、管理装置１０１に処理完了通知を送信する。処理完了通知は、処理Ｐｉの実行が完了したことを示す情報である。処理Ｐｉの処理結果は、例えば、処理Ｐｉの実行が完了したことに応じて、エッジ装置Ｅｉから管理装置１０１にまとめて送信される。
【００９８】
なお、エッジ装置Ｅｉから管理装置１０１に情報（補正情報または処理完了通知）が送信されると、送信された情報に関するログが、例えば、図１に示した送信ログＤＢ１４０に記録される。
【００９９】
（判定部１００３の具体的な処理内容）
つぎに、図１２を用いて、判定部１００３の具体的な処理内容について説明する。
【０１００】
図１２は、エッジ装置Ｅｉの状態に関する誤差の一例を示す説明図である。図１２において、グラフ１２０１は、エッジ装置Ｅｉの実際の状態をあらわす。グラフ１２０２は、管理装置１０１が認識（予測）しているエッジ装置Ｅｉの状態をあらわす。
【０１０１】
まず、判定部１００３は、処理進捗ログＤＢ１３０を参照して、現在の処理完了率ｒmと、実際の経過時間Ｔmとを取得する。現在の処理完了率ｒmは、処理進捗ログＤＢ１３０内の最新の時刻における処理完了率である。実際の経過時間Ｔmは、処理Ｐｉの処理開始時刻から現在時刻までの時間である。現在時刻は、処理進捗ログＤＢ１３０内の最新の時刻である。
【０１０２】
つぎに、判定部１００３は、送信ログＤＢ１４０を参照して、管理装置１０１に最後に送信した補正情報を取得する。そして、判定部１００３は、取得した最後の補正情報に含まれる時刻ｔj、時刻ｔjにおける処理完了率ｒjおよび時刻ｔj以降の傾きａjを特定する。傾きａjは、グラフ１２０２の傾きに相当する。
【０１０３】
つぎに、判定部１００３は、管理装置１０１が認識している見込み経過時間Ｔexを算出する。ここで、見込み経過時間Ｔexは、現在の処理完了率ｒmとなるまでの経過時間として管理装置１０１で認識される時間である。具体的には、例えば、判定部１００３は、下記式（１）を用いて、見込み経過時間Ｔexを算出することができる。ただし、ｔ0は、処理Ｐｉの処理開始時刻である。
【０１０４】
Ｔex＝（ｒm−ｒj）／ａj＋（ｔj−ｔ0）      ・・・（１）
【０１０５】
そして、判定部１００３は、算出した見込み経過時間Ｔexと実際の経過時間Ｔmとの差（｜Ｔex−Ｔm｜）が閾値Ｔｈを超えるか否かを判定する。閾値Ｔｈは、調整部１００４によって現在の処理完了率ｒmに応じて調整されたものである。ここで、差が閾値Ｔｈを超えた場合、判定部１００３は、管理装置１０１に補正情報を通知すると判定する。一方、差が閾値Ｔｈ以下の場合には、判定部１００３は、管理装置１０１に補正情報を通知しないと判定する。
【０１０６】
一例として、処理Ｐｉの処理開始時刻ｔ0を「２０１８／１０／１７  １０：２９：０３」とし、現在の処理完了率ｒmを「５６．０［％］」とし、現在の処理完了率ｒmに応じた閾値Ｔｈを「５０［ｓ］」とする。この場合、現在時刻を「２０１８／１０／１７  １１：４５：１０」とすると、実際の経過時間Ｔmは「４５６７［ｓ］」となる。
【０１０７】
また、管理装置１０１に最後に送信した補正情報を、図４に示した補正情報４００とする。この場合、見込み経過時間Ｔexは、「Ｔex＝（５６．０−５５．４）／０．０１２４０＋４４６７＝４５１５［ｓ］」となる。なお、「４４６７」は、（ｔj−ｔ0）に相当する。また、見込み経過時間Ｔexと実際の経過時間Ｔmとの差（｜Ｔex−Ｔm｜）は、「５２［ｓ］」となる。この場合、差が閾値Ｔｈを超えるため、判定部１００３は、管理装置１０１に補正情報を通知すると判定する。
【０１０８】
（第１の算出方法および第２の算出方法）
つぎに、図１３を用いて、時刻ｔ以降の処理完了率の傾きを算出する第１の算出方法および第２の算出方法について説明する。
【０１０９】
図１３は、傾きを算出する方法の一例を示す説明図である。図１３において、グラフ１３０１は、エッジ装置Ｅｉの実際の状態をあらわす。ここでは、時刻ｔにおける処理完了率が所定値Ｋを超えるか否かに応じて、時刻ｔ以降の処理完了率の傾きを算出する方法が、第１の算出方法から第２の算出方法に切り替わる。
【０１１０】
第１の算出方法では、生成部１００５は、例えば、時刻ｔにおける処理完了率を、時刻ｔにおける処理開始からの経過時間で割ることにより、時刻ｔ以降の処理完了率の傾きを算出する。第１の算出方法によれば、高速に処理されるとき、低速に処理されるときが平均化されるため、補正時の状況に左右されない安定した予測が可能となる。したがって、第１の算出方法は、長期的な予測、すなわち、処理完了までの時間が長い状況に向いているといえる。このため、第１の算出方法は、処理完了率が所定値Ｋ以下の場合に適用する。
【０１１１】
第２の算出方法では、生成部１００５は、時刻ｔにおける処理完了率と、時刻ｔよりも所定時間前の時刻ｔ’における処理完了率とに基づき、時刻ｔ以降の処理完了率の傾きを算出する。すなわち、補正時の実際の状態の傾きで補正する。第２の算出方法によれば、エッジ装置Ｅｉの状態が局所的に変動した場合に追随した予測が可能となる。したがって、第２の算出方法は、短期的な予測に向いているといえる。このため、第２の算出方法は、処理完了率が所定値Ｋを超えた場合に適用する。
【０１１２】
一例として、所定値Ｋを「８０［％］」とし、時刻ｔにおける処理完了率を「５６．０［％］」とする。この場合、処理完了率が所定値Ｋ以下のため、第１の算出方法を用いて、時刻ｔ以降の処理完了率の傾きが算出される。ここで、処理開始からの経過時間を「４５６７［ｓ］」とすると、現在時刻ｔ以降の処理完了率の傾きは、「０．０１２２６［％／ｓ］」となる。
【０１１３】
（閾値Ｔｈの調整例）
つぎに、図１４を用いて、エッジ装置Ｅｉにおける処理完了率（処理Ｐｉの完了率）に応じた閾値Ｔｈの調整例について説明する。
【０１１４】
図１４は、閾値Ｔｈの調整例を示す説明図である。図１４において、処理完了率が「２０［％］」の場合のエッジ装置Ｅｉと、処理完了率が「８０［％］」の場合のエッジ装置Ｅｉとが示されている。ここでは、エッジ装置Ｅｉが、閾値関数１４００に基づいて、エッジ装置Ｅｉの状態に関する補正情報を管理装置１０１に通知するか否かを判定する際に用いる閾値Ｔｈを調整する場合を想定する。
【０１１５】
処理完了率が「２０［％］」の場合、エッジ装置Ｅｉは、閾値関数１４００に基づいて、閾値Ｔｈを、処理完了率「２０［％］」に対応する「Ｔｈ＝５０」とする。一方、処理完了率が「８０［％］」の場合、エッジ装置Ｅｉは、閾値関数１４００に基づいて、閾値Ｔｈを、処理完了率「８０［％］」に対応する「Ｔｈ＝３０」とする。
【０１１６】
このように、エッジ装置Ｅｉは、処理完了率に応じて閾値Ｔｈを調整することで、エッジ装置Ｒｉの状態に関する補正情報の通知頻度を制御する。ここでは、閾値Ｔｈが「５０」の場合は、閾値Ｔｈが「３０」の場合に比べて、補正情報の通知頻度が下がり、通信トラフィックの増大を防ぐことができる。一方、閾値Ｔｈが「３０」の場合は、閾値Ｔｈが「５０」の場合に比べて、補正情報の通知頻度が上がり、予測精度を向上させることができる。
【０１１７】
（管理装置１０１の状態管理処理手順）
つぎに、図１５を用いて、管理装置１０１の状態管理処理手順について説明する。
【０１１８】
図１５は、管理装置１０１の状態管理処理手順の一例を示すフローチャートである。図１５のフローチャートにおいて、まず、管理装置１０１は、処理実行要求を受け付けたか否かを判断する（ステップＳ１５０１）。ここで、管理装置１０１は、処理実行要求を受け付けるのを待つ（ステップＳ１５０１：Ｎｏ）。
【０１１９】
そして、管理装置１０１は、処理実行要求を受け付けた場合（ステップＳ１５０１：Ｙｅｓ）、データ格納情報ＤＢ１５０を参照して、処理実行要求から特定される処理を実行可能なデータを格納しているエッジ装置Ｅｉを特定する（ステップＳ１５０２）。
【０１２０】
つぎに、管理装置１０１は、特定した各エッジ装置Ｅｉに対して、処理実行要求から特定される処理Ｐｉの実行指示を送信する（ステップＳ１５０３）。そして、管理装置１０１は、エッジ装置Ｅｉの状態に関する補正情報または処理完了通知を、エッジ装置Ｅｉから受信したか否かを判断する（ステップＳ１５０４）。
【０１２１】
ここで、管理装置１０１は、補正情報または処理完了通知を受信するのを待つ（ステップＳ１５０４：Ｎｏ）。そして、管理装置１０１は、補正情報または処理完了通知を受信した場合（ステップＳ１５０４：Ｙｅｓ）、全処理が完了したか否かを判断する（ステップＳ１５０５）。
【０１２２】
なお、全処理の完了とは、実行指示を送信した各エッジ装置Ｅｉの処理Ｐｉが全て完了したことを示す。例えば、複数のエッジ装置に実行指示が送信された場合、複数のエッジ装置それぞれにおける処理が全て完了した場合に、全処理が完了したと判断される。
【０１２３】
ここで、全処理が完了していない場合（ステップＳ１５０５：Ｎｏ）、管理装置１０１は、受信した補正情報または処理完了通知に基づいて、エッジ装置Ｅｉの予測処理完了時刻を算出する（ステップＳ１５０６）。なお、処理完了通知が受信された場合は、エッジ装置Ｅｉの予測処理完了時刻は、処理完了通知に含まれる時刻ｔとなる。
【０１２４】
そして、管理装置１０１は、算出した予測処理完了時刻を用いて、エッジ状態ＤＢ１６０内のエッジ装置Ｅｉのエッジ状態情報を更新して（ステップＳ１５０７）、ステップＳ１５０４に戻る。なお、エッジ状態ＤＢ１６０内に該当レコードが存在しない場合は、エッジ装置Ｅｉに対応する新規レコードが作成される。
【０１２５】
また、ステップＳ１５０５において、全処理が完了した場合（ステップＳ１５０５：Ｙｅｓ）、管理装置１０１は、本フローチャートによる一連の処理を終了する。
【０１２６】
これにより、エッジ装置Ｅｉから通知される、エッジ装置Ｅｉの状態に関する補正情報に基づいて、管理装置１０１が認識するエッジ装置Ｅｉの状態を更新することができる。このため、クライアント装置１０２に対して、各エッジ装置Ｅｉの状態（例えば、各エッジ装置Ｅｉの予測処理完了時刻）や、全処理の予測処理完了時刻などを表示することが可能となる。
【０１２７】
（エッジ装置Ｅｉの実行処理手順）
つぎに、図１６を用いて、エッジ装置Ｅｉの実行処理手順について説明する。
【０１２８】
図１６は、エッジ装置Ｅｉの実行処理手順の一例を示すフローチャートである。図１６のフローチャートにおいて、まず、エッジ装置Ｅｉは、管理装置１０１からの処理Ｐｉの実行指示を受け付けたか否かを判断する（ステップＳ１６０１）。
【０１２９】
ここで、エッジ装置Ｅｉは、処理Ｐｉの実行指示を受け付けるのを待つ（ステップＳ１６０１：Ｎｏ）。そして、エッジ装置Ｅｉは、処理Ｐｉの実行指示を受け付けた場合（ステップＳ１６０１：Ｙｅｓ）、処理Ｐｉについて、一定量／時間の処理を実行する（ステップＳ１６０２）。
【０１３０】
なお、一定量／時間の処理とは、一定量（例えば、１ＭＢ、１０ファイル分など）のデータに対する処理、または、一定時間分（例えば、数分）の処理である。
【０１３１】
つぎに、エッジ装置Ｅｉは、処理Ｐｉの進捗を示す処理進捗ログを処理進捗ログＤＢ１３０に記録する（ステップＳ１６０３）。つぎに、エッジ装置Ｅｉは、現在時刻ｔの処理完了率を処理Ｐｉの処理開始時刻からの経過時間で割ることにより、初回の傾きを算出する（ステップＳ１６０４）。
【０１３２】
そして、エッジ装置Ｅｉは、現在時刻ｔにおける処理完了率と初回の傾きとを含む補正情報（初回通知）を管理装置１０１に通知する（ステップＳ１６０５）。補正情報（初回通知）には、例えば、処理Ｐｉの処理開始時刻が含まれていてもよい。つぎに、エッジ装置Ｅｉは、処理Ｐｉについて、一定量／時間の処理を実行する（ステップＳ１６０６）。そして、エッジ装置Ｅｉは、処理進捗ログＤＢ１３０に処理進捗ログを記録する（ステップＳ１６０７）。
【０１３３】
つぎに、エッジ装置Ｅｉは、処理Ｐｉが完了したか否かを判断する（ステップＳ１６０８）。ここで、処理Ｐｉが完了していない場合（ステップＳ１６０８：Ｎｏ）、エッジ装置Ｅｉは、補正情報通知処理を実行して（ステップＳ１６０９）、ステップＳ１６０６に戻る。
【０１３４】
なお、補正情報通知処理の具体的な処理手順については、図１７を用いて後述する。
【０１３５】
また、ステップＳ１６０８において、処理Ｐｉが完了した場合（ステップＳ１６０８：Ｙｅｓ）、エッジ装置Ｅｉは、管理装置１０１に処理完了通知を送信して（ステップＳ１６１０）、本フローチャートによる一連の処理を終了する。これにより、管理装置１０１から実行指示された処理Ｐｉを実行することができる。
【０１３６】
つぎに、図１７を用いて、ステップＳ１６０９の補正情報通知処理の具体的な処理手順について説明する。
【０１３７】
図１７は、補正情報通知処理の具体的処理手順の一例を示すフローチャートである。図１７のフローチャートにおいて、まず、エッジ装置Ｅｉは、処理進捗ログＤＢ１３０を参照して、現在の処理完了率ｒmと、実際の経過時間Ｔmとを取得する（ステップＳ１７０１）。
【０１３８】
つぎに、エッジ装置Ｅｉは、送信ログＤＢ１４０を参照して、管理装置１０１に最後に送信した補正情報を取得する（ステップＳ１７０２）。そして、エッジ装置Ｅｉは、取得した最後の補正情報に含まれる時刻ｔj、時刻ｔjにおける処理完了率ｒjおよび時刻ｔj以降の傾きａjに基づいて、管理装置１０１が認識している見込み経過時間Ｔexを算出する（ステップＳ１７０３）。
【０１３９】
つぎに、エッジ装置Ｅｉは、閾値関数（例えば、図１１に示した閾値関数１１００）に基づいて、現在の処理完了率ｒmに応じた閾値Ｔｈを特定する（ステップＳ１７０４）。つぎに、エッジ装置Ｅｉは、算出した見込み経過時間Ｔexと実際の経過時間Ｔmとの差を算出する（ステップＳ１７０５）。
【０１４０】
そして、エッジ装置Ｅｉは、算出した差が、特定した閾値Ｔｈを超えるか否かを判断する（ステップＳ１７０６）。ここで、算出した差が閾値Ｔｈ以下の場合（ステップＳ１７０６：Ｎｏ）、エッジ装置Ｅｉは、補正情報通知処理を呼び出したステップに戻る。この場合、管理装置１０１への補正情報の通知は行われない。
【０１４１】
一方、算出した差が閾値Ｔｈを超えた場合（ステップＳ１７０６：Ｙｅｓ）、エッジ装置Ｅｉは、現在の処理完了率ｒmが所定値Ｋを超えるか否かを判断する（ステップＳ１７０７）。ここで、現在の処理完了率ｒmが所定値Ｋ以下の場合（ステップＳ１７０７：Ｎｏ）、エッジ装置Ｅｉは、第１の算出方法で、現在時刻ｔ以降の処理完了率の傾きを算出して（ステップＳ１７０８）、ステップＳ１７１０に移行する。現在時刻ｔは、現在の処理完了率ｒmに対応する時刻ｔである。
【０１４２】
一方、現在の処理完了率ｒmが所定値Ｋを超えた場合（ステップＳ１７０７：Ｙｅｓ）、エッジ装置Ｅｉは、第２の算出方法で、現在時刻ｔ以降の処理完了率の傾きを算出する（ステップＳ１７０９）。そして、エッジ装置Ｅｉは、現在時刻ｔにおける処理完了率ｒmと、算出した現在時刻ｔ以降の処理完了率の傾きとを含む補正情報を管理装置１０１に通知して（ステップＳ１７１０）、補正情報通知処理を呼び出したステップに戻る。
【０１４３】
これにより、管理装置１０１が認識しているエッジ装置Ｅｉの状態に関する誤差が閾値Ｔｈを超えた場合に、エッジ装置Ｅｉの状態に関する補正情報を管理装置１０１に通知することができる。また、現在の処理完了率ｒmに応じて、閾値Ｔｈを調整することができる。また、現在の処理完了率ｒmに応じて、現在時刻ｔ以降の処理完了率の傾きを算出する方法を切り替えることができる。
【０１４４】
なお、上述した説明では、閾値Ｔｈを処理完了率に応じて調整することにしたが、これに限らない。例えば、閾値Ｔｈは、予め決められた固定値としてもよい。
【０１４５】
以上説明したように、実施の形態１にかかるエッジ装置Ｅｉによれば、管理装置１０１が認識している自装置の状態に関する誤差についての閾値Ｔｈを、処理Ｐｉの完了率に応じて調整し、誤差が閾値Ｔｈを超える場合に、自装置の状態に関する補正情報を管理装置１０１に通知すると判定することができる。
【０１４６】
これにより、エッジ装置Ｅｉの状態に関する補正情報の通知頻度を制御して、状況に対して効果的な通知頻度を実現することができる。
【０１４７】
また、エッジ装置Ｅｉによれば、処理Ｐｉの完了率が高くなるほど、閾値Ｔｈが小さくなるような値に調整することができる。
【０１４８】
これにより、処理開始から中間時点あたりまでは、管理装置１０１への補正情報の通知頻度を抑えて、通信トラフィックの増大を防ぎつつ、処理完了が近づくと、管理装置１０１への補正情報の通知頻度を上げて予測精度を向上させることができる。
【０１４９】
また、エッジ装置Ｅｉによれば、時刻ｔ以降の処理Ｐｉの完了率の傾きを算出するにあたり、時刻ｔにおける処理Ｐｉの完了率に応じて、傾きを算出する方法を切り替えることができる。これにより、処理Ｐｉの完了時刻を予測するにあたり、状況に応じて性質の異なる予測を行うことが可能となる。
【０１５０】
例えば、エッジ装置Ｅｉによれば、時刻ｔにおける処理Ｐｉの完了率が所定値Ｋ以下の場合、時刻ｔにおける、処理Ｐｉの完了率と処理開始からの経過時間とに基づき、時刻ｔ以降の処理Ｐｉの完了率の傾きを算出することができる。これにより、高速に処理されるとき、低速に処理されるときが平均化され、補正時の状況に左右されない安定した予測が可能となる。
【０１５１】
また、エッジ装置Ｅｉによれば、時刻ｔにおける処理Ｐｉの完了率が所定値Ｋを超えた場合には、時刻ｔにおける処理Ｐｉの完了率と、時刻ｔよりも所定時間前の時刻ｔ’における処理Ｐｉの完了率とに基づき、時刻ｔ以降の処理Ｐｉの完了率の傾きを算出することができる。これにより、エッジ装置Ｅｉの状態が局所的に変動した場合であっても、それに追随した予測が可能となる。
【０１５２】
これらのことから、実施の形態１にかかる情報処理システム１００によれば、状況に対して効果的な通知頻度を実現することで、利用者が要求する予測精度を確保しつつ、状態通知にかかる通信トラフィックの増大を適切に防ぐことができる。
【０１５３】
（実施の形態２）
つぎに、実施の形態２にかかる情報処理システム１００について説明する。なお、実施の形態１で説明した箇所と同一の箇所については、同一符号を付して図示および説明を省略する。
【０１５４】
情報処理システム１００において、クライアント装置１０２等からの処理実行要求に応じて管理装置１０１から実行指示された処理を実行するエッジ装置が多数存在すると、その分多くの補正情報が情報処理システム１００内で送受信される。例えば、エッジ装置が数百台存在すると、１台のときに比べて、数百倍の通信トラフィックが生じる。
【０１５５】
一方で、利用者が欲しい情報は、個々のエッジ装置の処理がいつ完了するかという情報よりも、全てのエッジ装置での処理がいつ完了するかという情報であることが多い。エッジ装置ごとに処理量や処理性能が異なると、処理が完了する時刻もそれぞれ異なるものとなるが、複数のエッジ装置の中で、処理がすぐに完了するエッジ装置は、全体の処理の完了時刻に影響しない。
【０１５６】
そこで、実施の形態２では、複数のエッジ装置の中で、処理がすぐに完了することが見込まれるエッジ装置については、処理完了が近づいても、閾値Ｔｈを小さくしないようにすることで、補正情報の通知頻度を抑えて通信トラフィックの増大を防ぐ。
【０１５７】
（管理装置１０１の機能的構成例）
ここで、実施の形態２にかかる管理装置１０１の機能的構成例について説明する。以下の説明では、処理実行要求に応じて管理装置１０１から実行指示された処理を実行する複数のエッジ装置を「複数のエッジ装置Ｅ」と表記し、管理装置１０１から実行指示された処理を「処理Ｐ」と表記する場合がある。
【０１５８】
図１８は、実施の形態２にかかる管理装置１０１の機能的構成例を示すブロック図である。図１８において、管理装置１０１は、要求受付部８０１と、処理指示部８０２と、情報受付部８０３と、状態予測部８０４と、出力部８０５と、閾値制御部１８０１と、を含む。具体的には、例えば、要求受付部８０１〜出力部８０５および閾値制御部１８０１は、管理装置１０１のメモリ、ディスクなどの記憶装置に記憶されたプログラムをＣＰＵに実行させることにより、または、通信Ｉ／Ｆにより、その機能を実現する。各機能部の処理結果は、例えば、メモリ、ディスクなどの記憶装置に記憶される。
【０１５９】
閾値制御部１８０１は、複数のエッジ装置Ｅの各エッジ装置Ｅの予測処理完了時刻に基づいて、各エッジ装置Ｅについて、閾値関数を決定する。ここで、予測処理完了時刻は、状態予測部８０４によって算出（予測）された各エッジ装置Ｅにおける処理Ｐの完了時刻である。閾値関数は、エッジ装置Ｅにおける処理Ｐの完了率と閾値Ｔｈとの対応関係を規定する関数である。
【０１６０】
具体的には、例えば、閾値制御部１８０１は、複数のエッジ装置Ｅのうち、予測処理完了時刻が相対的に遅い１以上のエッジ装置Ｅを特定する。そして、閾値制御部１８０１は、特定したエッジ装置Ｅについて、処理Ｐの完了率（処理完了率）が高くなるほど、閾値Ｔｈが小さくなる対応関係を規定する閾値関数に決定することにしてもよい。また、閾値制御部１８０１は、複数のエッジ装置Ｅのうち、特定したエッジ装置Ｅを除く他のエッジ装置Ｅについては、処理Ｐの完了率に対する閾値Ｔｈが一定である閾値関数に決定することにしてもよい。
【０１６１】
より詳細に説明すると、例えば、複数のエッジ装置Ｅのうち、予測処理完了時刻が最も遅いエッジ装置Ｅとの予測処理完了時刻の差が所定時間以内（例えば、１０分以内）のエッジ装置Ｅを特定する。そして、閾値制御部１８０１は、特定したエッジ装置Ｅについて、閾値関数Ａに決定する。また、閾値制御部１８０１は、複数のエッジ装置Ｅのうち、特定したエッジ装置Ｅを除く他のエッジ装置Ｅについては、閾値関数Ｂに決定する。
【０１６２】
ここで、閾値関数Ａ，Ｂは、処理Ｐの完了率と閾値Ｔｈとの対応関係を規定する関数であり、互いに関数形状が異なる。閾値関数Ａは、例えば、処理Ｐの完了率が所定値となるまでは、閾値Ｔｈを一定とし、処理Ｐの完了率が所定値以上となったら、処理Ｐの完了率が高くなるほど、閾値Ｔｈが小さくなる対応関係を規定した関数である。また、閾値関数Ｂは、処理Ｐの完了率にかかわらず、閾値Ｔｈが一定となる対応関係を規定する関数である。閾値関数Ａ，Ｂの具体例については、図２０を用いて後述する。
【０１６３】
決定された決定結果は、例えば、図１９に示すような閾値関数情報ＤＢ１９００に記憶される。ここで、閾値関数情報ＤＢ１９００の記憶内容について説明する。
【０１６４】
図１９は、閾値関数情報ＤＢ１９００の記憶内容の一例を示す説明図である。図１９において、閾値関数情報ＤＢ１９００は、エッジＩＤおよび関数形状のフィールドを有し、各フィールドに情報を設定することで、閾値関数情報（例えば、閾値関数情報１９００−１〜１９００−３）をレコードとして記憶する。
【０１６５】
ここで、エッジＩＤは、エッジ装置Ｅｉを一意に識別する識別子である。関数形状は、閾値関数を特定する情報である。ここでは、関数形状として、閾値関数の関数名が設定されている。例えば、閾値関数情報１９００−１は、エッジ装置Ｅ１の関数形状「関数Ｂ」を示す。
【０１６６】
なお、関数形状フィールドには、ｐｉｅｃｅ  ｗｉｓｅ  ｌｉｎｅａｒな関数の形状パラメータを設定することにしてもよい。形状パラメータとしては、例えば、処理完了率が０％と１００％のときの閾値Ｔｈ、および、閾値Ｔｈが減り始めるときの処理完了率が設定される。
【０１６７】
閾値制御部１８０１は、各エッジ装置Ｅについて、決定した閾値関数を特定する情報を各エッジ装置Ｅに通知する。この場合、各情報処理装置は、通知された情報から特定される閾値関数に従って、閾値Ｔｈを調整する、ここで、閾値関数を特定する情報は、関数名であってもよく、また、ｐｉｅｃｅ  ｗｉｓｅ  ｌｉｎｅａｒな関数の形状パラメータであってもよい。
【０１６８】
例えば、各エッジ装置Ｅが複数種類の閾値関数（例えば、閾値関数Ａ，Ｂ）を予め保持しているとする。この場合、閾値関数を特定する情報は、関数名でよい。各情報処理装置は、予め保持している複数種類の閾値関数のうち、通知された関数名から特定される閾値関数を選択し、選択した閾値関数に従って、閾値Ｔｈを調整する。
【０１６９】
一方、各エッジ装置Ｅが複数種類の閾値関数を保持していない場合、閾値関数を特定する情報は、ｐｉｅｃｅ  ｗｉｓｅ  ｌｉｎｅａｒな関数の形状パラメータとする。この場合、各情報処理装置は、通知された形状パラメータから特定される閾値関数に従って、閾値Ｔｈを調整する。
【０１７０】
（閾値関数の決定例）
ここで、図２０を用いて、閾値関数の決定例について説明する。
【０１７１】
図２０は、閾値関数の決定例を示す説明図である。図２０において、時間軸上のマーク２００１〜２０１３は、複数のエッジ装置Ｅの各エッジ装置Ｅの予測処理完了時刻を示す。ここでは、複数のエッジ装置Ｅのうち、予測処理完了時刻が遅い上位３つのエッジ装置Ｅ（マーク２０１１〜２０１３に対応）について、閾値関数Ａに決定されている。また、複数のエッジ装置Ｅのうち、他のエッジ装置Ｅ（マーク２００１〜２０１０に対応）について、閾値関数Ｂに決定されている。
【０１７２】
閾値関数Ａによれば、処理完了率が６０［％］となるまでは、閾値Ｔｈを一定値（５０［ｓ］）とすることができ、処理完了率が６０［％］以上となったら、処理完了率が高くなるほど、閾値Ｔｈが徐々に小さくなるように調整することができる。閾値関数Ｂによれば、処理完了率にかかわらず、閾値Ｔｈを一定値（５０［ｓ］）とすることができる。
【０１７３】
なお、閾値関数Ａを形状パラメータで表すと、「（０，５０）（６０，５０）（１００，１０）」となる。閾値関数Ｂを形状パラメータで表すと、「（０，５０）（１００，５０）」となる。
【０１７４】
（管理装置１０１の状態管理処理手順）
つぎに、図２１を用いて、実施の形態２にかかる管理装置１０１の状態管理処理手順について説明する。
【０１７５】
図２１は、管理装置１０１の状態管理処理手順の一例を示すフローチャートである。図２１のフローチャートにおいて、まず、管理装置１０１は、処理実行要求を受け付けたか否かを判断する（ステップＳ２１０１）。ここで、管理装置１０１は、処理実行要求を受け付けるのを待つ（ステップＳ２１０１：Ｎｏ）。
【０１７６】
そして、管理装置１０１は、処理実行要求を受け付けた場合（ステップＳ２１０１：Ｙｅｓ）、データ格納情報ＤＢ１５０を参照して、処理実行要求から特定される処理を実行可能なデータを格納しているエッジ装置Ｅを特定する（ステップＳ２１０２）。
【０１７７】
つぎに、管理装置１０１は、特定した各エッジ装置Ｅに対して、処理実行要求から特定される処理Ｐの実行指示を送信する（ステップＳ２１０３）。そして、管理装置１０１は、エッジ装置Ｅの状態に関する補正情報または処理完了通知を、エッジ装置Ｅから受信したか否かを判断する（ステップＳ２１０４）。
【０１７８】
ここで、管理装置１０１は、補正情報または処理完了通知を受信するのを待つ（ステップＳ２１０４：Ｎｏ）。そして、管理装置１０１は、補正情報または処理完了通知を受信した場合（ステップＳ２１０４：Ｙｅｓ）、全処理が完了したか否かを判断する（ステップＳ２１０５）。なお、全処理の完了とは、実行指示を送信した各エッジ装置Ｅの処理Ｐが全て完了したことを示す。
【０１７９】
ここで、全処理が完了していない場合（ステップＳ２１０５：Ｎｏ）、管理装置１０１は、受信した補正情報または処理完了通知に基づいて、エッジ装置Ｅの予測処理完了時刻を算出する（ステップＳ２１０６）。なお、処理完了通知が受信された場合は、エッジ装置Ｅの予測処理完了時刻は、処理完了通知に含まれる時刻ｔとなる。
【０１８０】
そして、管理装置１０１は、算出した予測処理完了時刻を用いて、エッジ状態ＤＢ１６０内のエッジ装置Ｅｉのエッジ状態情報を更新する（ステップＳ２１０７）。なお、エッジ状態ＤＢ１６０内に該当レコードが存在しない場合は、エッジ装置Ｅｉに対応する新規レコードが作成される。
【０１８１】
つぎに、管理装置１０１は、閾値制御処理を実行して（ステップＳ２１０８）、ステップＳ２１０４に戻る。閾値制御処理の具体的な処理手順については、図２２を用いて後述する。また、ステップＳ２１０５において、全処理が完了した場合（ステップＳ２１０５：Ｙｅｓ）、管理装置１０１は、本フローチャートによる一連の処理を終了する。
【０１８２】
これにより、各エッジ装置Ｅから通知される、各エッジ装置Ｅの状態に関する補正情報に基づいて、管理装置１０１が認識する各エッジ装置Ｅの状態を更新することができる。
【０１８３】
つぎに、図２２を用いて、図２１に示したステップＳ２１０８の閾値制御処理の具体的な処理手順について説明する。
【０１８４】
図２２は、閾値制御処理の具体的処理手順の一例を示すフローチャートである。図２２のフローチャートにおいて、まず、管理装置１０１は、エッジ状態ＤＢ１６０を参照して、全エッジ装置Ｅの予測処理完了時刻を取得する（ステップＳ２２０１）。そして、管理装置１０１は、取得した各エッジ装置Ｅの予測処理完了時刻に基づいて、各エッジ装置Ｅの閾値関数（次状態）を決定する（ステップＳ２２０２）。
【０１８５】
つぎに、管理装置１０１は、実行指示を送信した１以上のエッジ装置Ｅの中から選択されていない未選択のエッジ装置Ｅを選択する（ステップＳ２２０３）。そして、管理装置１０１は、閾値関数情報ＤＢ１９００を参照して、選択したエッジ装置Ｅの閾値関数（現状態）を特定する（ステップＳ２２０４）。
【０１８６】
つぎに、管理装置１０１は、特定した閾値関数（現状態）と、決定した閾値関数（次状態）とが異なるか否かを判断する（ステップＳ２２０５）。ここで、閾値関数（現状態）と閾値関数（次状態）とが同じ場合（ステップＳ２２０５：Ｎｏ）、管理装置１０１は、ステップＳ２２０８に移行する。
【０１８７】
一方、閾値関数（現状態）と閾値関数（次状態）とが異なる場合（ステップＳ２２０５：Ｙｅｓ）、管理装置１０１は、選択したエッジ装置Ｅについて、決定した閾値関数（次状態）により、閾値関数情報ＤＢ１９００内の閾値関数情報を更新する（ステップＳ２２０６）。
【０１８８】
そして、管理装置１０１は、選択したエッジ装置Ｅに、決定した閾値関数（次状態）を特定する情報を通知する（ステップＳ２２０７）。つぎに、管理装置１０１は、実行指示を送信した１以上のエッジ装置Ｅの中から選択されていない未選択のエッジ装置Ｅがあるか否かを判断する（ステップＳ２２０８）。
【０１８９】
ここで、未選択のエッジ装置Ｅがある場合（ステップＳ２２０８：Ｙｅｓ）、管理装置１０１は、ステップＳ２２０３に戻る。一方、未選択のエッジ装置Ｅがない場合（ステップＳ２２０８：Ｎｏ）、管理装置１０１は、本フローチャートによる一連の処理を終了する。
【０１９０】
これにより、実行指示した各エッジ装置Ｅの予測処理完了時刻に応じて、各エッジ装置Ｅにおいて閾値Ｔｈを調整する際の閾値関数を制御することができる。
【０１９１】
以上説明したように、実施の形態２にかかる管理装置１０１によれば、複数のエッジ装置Ｅの各エッジ装置Ｅから通知される補正情報に基づいて、各エッジ装置Ｅにおける処理の完了時刻（予測処理完了時刻）を算出（予測）することができる。また、管理装置１０１は、算出（予測）した各エッジ装置Ｅの予測処理完了時刻に基づいて、各エッジ装置Ｅについて、処理Ｐの完了率と閾値Ｔｈとの対応関係を規定する閾値関数を決定し、決定した閾値関数を特定する情報を各エッジ装置Ｅに通知することができる。また、各エッジ装置Ｅによれば、管理装置から通知された情報から特定される閾値関数に従って、閾値Ｔｈを調整することができる。
【０１９２】
これにより、各エッジ装置Ｅで処理Ｐが完了すると見込まれる時刻に応じて、各エッジ装置Ｅにおいて閾値Ｔｈを調整する際の閾値関数を制御することができる。このため、全処理が完了する時刻についての予測精度を維持しつつ、各エッジ装置Ｅからの補正情報の通知頻度を抑えて通信トラフィックの増大を防ぐことができる。
【０１９３】
例えば、管理装置１０１は、複数のエッジ装置Ｅのうち、予測処理完了時刻が相対的に遅い１以上のエッジ装置Ｅについて、処理Ｐの完了率（処理完了率）が高くなるほど、閾値Ｔｈが小さくなる対応関係を規定する閾値関数に決定することができる。これにより、最も処理時間がかかっているエッジ装置Ｅや、最も処理時間がかかるエッジ装置Ｅとなる可能性があるエッジ装置Ｅについて、詳しく処理完了時刻を把握することが可能となる。
【０１９４】
また、管理装置１０１は、複数のエッジ装置Ｅのうち、予測処理完了時刻が相対的に遅い１以上のエッジ装置Ｅを除く他のエッジ装置Ｅについて、処理Ｐの完了率に対する閾値Ｔｈが一定である閾値関数に決定することができる。これにより、処理がすぐに完了することが見込まれるエッジ装置Ｅについては、大雑把に処理完了時刻を把握するようにして通信トラフィックを削減することが可能となる。
【０１９５】
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＵＳＢメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１９６】
また、本実施の形態で説明した管理装置１０１やエッジ装置Ｅｉは、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣやＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。
【０１９７】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１９８】
（付記１）処理を実行する情報処理装置と、前記情報処理装置における前記処理の完了時刻を、前記情報処理装置から通知される情報に基づき予測する管理装置と、を含み、
前記情報処理装置は、
前記管理装置が認識している前記情報処理装置の状態に関する誤差についての閾値を、前記処理の完了率に応じて調整し、
前記誤差が前記閾値を超える場合に、前記情報処理装置の状態に関する補正情報を前記管理装置に通知すると判定する、
ことを特徴とする情報処理システム。
【０１９９】
（付記２）前記閾値は、前記処理の完了率が高くなるほど、前記閾値が小さくなるような値に調整される、ことを特徴とする付記１に記載の情報処理システム。
【０２００】
（付記３）前記補正情報は、所定の時点における前記処理の完了率と、前記所定の時点以降の前記処理の完了率の単位時間当たりの変化量を特定する情報を含み、
前記情報処理装置は、
前記変化量を算出する際に、前記所定の時点における前記処理の完了率に応じて、前記変化量を算出する方法を切り替える、ことを特徴とする付記１または２に記載の情報処理システム。
【０２０１】
（付記４）前記情報処理装置は、
前記所定の時点における前記処理の完了率が所定値以下の場合、前記所定の時点における、前記処理の完了率と処理開始からの経過時間とに基づき、前記変化量を算出し、
前記所定の時点における前記処理の完了率が前記所定値を超えた場合には、前記所定の時点における前記処理の完了率と、前記所定の時点よりも所定時間前の時点における前記処理の完了率とに基づき、前記変化量を算出する、
ことを特徴とする付記３に記載の情報処理システム。
【０２０２】
（付記５）処理をそれぞれ実行する複数の情報処理装置を含み、
前記管理装置は、
前記複数の情報処理装置の各情報処理装置における前記処理の完了時刻を、前記各情報処理装置から通知される情報に基づき予測し、
予測した前記各情報処理装置の前記処理の完了時刻に基づいて、前記各情報処理装置について、前記処理の完了率と前記閾値との対応関係を規定する閾値関数を決定し、
決定した前記閾値関数を特定する情報を前記各情報処理装置に通知し、
前記各情報処理装置は、
通知された前記情報から特定される閾値関数に従って、前記閾値を調整する、ことを特徴とする付記１〜４のいずれか一つに記載の情報処理システム。
【０２０３】
（付記６）前記管理装置は、
前記複数の情報処理装置のうち、予測した前記処理の完了時刻が相対的に遅い１以上の情報処理装置について、前記処理の完了率が高くなるほど、前記閾値が小さくなる対応関係を規定する閾値関数に決定し、
前記複数の情報処理装置のうち、前記１以上の情報処理装置を除く他の情報処理装置について、前記処理の完了率に対する前記閾値が一定である閾値関数に決定する、
ことを特徴とする付記５に記載の情報処理システム。
【０２０４】
（付記７）処理を実行する実行部と、
自装置から通知される情報に基づき前記処理の完了時刻を予測する管理装置が認識している自装置の状態に関する誤差についての閾値を、前記実行部による前記処理の完了率に応じて調整する調整部と、
前記誤差が前記閾値を超える場合に、自装置の状態に関する補正情報を前記管理装置に通知すると判定する判定部と、
を有することを特徴とする情報処理装置。
【０２０５】
（付記８）前記閾値は、前記処理の完了率が高くなるほど、前記閾値が小さくなるような値に調整される、ことを特徴とする付記７に記載の情報処理装置。
【０２０６】
（付記９）所定の時点における前記処理の完了率と、前記所定の時点以降の前記処理の完了率の単位時間当たりの変化量を特定する情報を含む補正情報を生成する生成部をさらに有し、
前記生成部は、
前記所定の時点における前記処理の完了率に応じて、前記変化量を算出する方法を切り替える、ことを特徴とする付記７または８に記載の情報処理装置。
【０２０７】
（付記１０）前記生成部は、
前記所定の時点における前記処理の完了率が所定値以下の場合、前記所定の時点における、前記処理の完了率と処理開始からの経過時間とに基づき、前記変化量を算出し、
前記所定の時点における前記処理の完了率が前記所定値を超えた場合には、前記所定の時点における前記処理の完了率と、前記所定の時点よりも所定時間前の時点における前記処理の完了率とに基づき、前記変化量を算出する、
ことを特徴とする付記９に記載の情報処理装置。
【符号の説明】
【０２０８】
１００  情報処理システム
１０１  管理装置
１０２  クライアント装置
１０３  デバイス
１１０  ネットワーク
１２０  処理対象データＤＢ
１３０  処理進捗ログＤＢ
１４０  送信ログＤＢ
１５０  データ格納情報ＤＢ
１６０  エッジ状態ＤＢ
１７０  受信ログＤＢ
３００  バス
３０１  ＣＰＵ
３０２  メモリ
３０３  ディスクドライブ
３０４  ディスク
３０５  通信Ｉ／Ｆ
３０６  可搬型記録媒体Ｉ／Ｆ
３０７  可搬型記録媒体
４００  補正情報
８０１  要求受付部
８０２  処理指示部
８０３  情報受付部
８０４  状態予測部
８０５  出力部
１００１  処理受付部
１００２  実行部
１００３  判定部
１００４  調整部
１００５  生成部
１００６  通知部
１８０１  閾値制御部
１９００  閾値関数情報ＤＢ
【図１】
2020098546.tif 000003
【図２】
2020098546.tif 000004
【図３】
2020098546.tif 000005
【図４】
2020098546.tif 000006
【図５】
2020098546.tif 000007
【図６】
2020098546.tif 000008
【図７】
2020098546.tif 000009
【図８】
2020098546.tif 000010
【図９】
2020098546.tif 000011
【図１０】
2020098546.tif 000012
【図１１】
2020098546.tif 000013
【図１２】
2020098546.tif 000014
【図１３】
2020098546.tif 000015
【図１４】
2020098546.tif 000016
【図１５】
2020098546.tif 000017
【図１６】
2020098546.tif 000018
【図１７】
2020098546.tif 000019
【図１８】
2020098546.tif 000020
【図１９】
2020098546.tif 000021
【図２０】
2020098546.tif 000022
【図２１】
2020098546.tif 000023
【図２２】
2020098546.tif 000024