(57)【要約】【課題】データに対する処理の効率化を図ること。【解決手段】エッジ装置Ｅｉは、前処理１Ａの依頼元である管理装置１０１からの中止依頼に応じて前処理１Ａの実行が中止された場合、前処理１Ａの実行および前処理１Ａの実行結果の保存を行うか否かを決定する。例えば、エッジ装置Ｅｉは、前処理１Ａの処理時間Ｔｐが、データＡの読出時間Ｔｒ以下、かつ、データ１Ａの転送時間Ｔｔ以下の場合、中止された前処理１Ａの実行および前処理１Ａの実行結果の保存を行わないと決定する。一方、前処理１Ａの処理時間Ｔｐが、データＡの読出時間Ｔｒまたはデータ１Ａの転送時間Ｔｔよりも大きい場合、エッジ装置Ｅｉは、中止された前処理１Ａの実行および前処理１Ａの実行結果の保存を行うと決定する。この場合、中止された前処理１Ａの実行が行われ、前処理１Ａの実行結果であるデータ１Ａがエッジ装置Ｅｉに保存される。【選択図】図３
2020098547.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置におけるデータに対する処理の実行が、前記処理の依頼元からの中止依頼に応じて中止された場合、前記情報処理装置における前記処理の処理速度に基づいて、前記情報処理装置において、前記処理の実行および前記処理の実行結果の保存を行うか否かを決定する処理制御部、
を有することを特徴とする情報処理装置。
【請求項２】
前記処理制御部は、
前記処理の処理速度と、前記データが保存されているストレージから前記データを読み出す際の読出速度とに基づいて、前記処理の実行および前記処理の実行結果の保存を行うか否かを決定する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記処理制御部は、
前記処理の処理速度と、前記処理の依頼元に前記処理の実行結果を転送する際の転送速度とに基づいて、前記処理の実行および前記処理の実行結果の保存を行うか否かを決定する、ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記処理制御部は、
前記処理の実行および前記処理の実行結果の保存を行うと決定した場合、前記情報処理装置の処理部に、前記処理を実行させ、前記処理の実行結果を、前記データおよび前記処理を識別する情報と対応付けて前記情報処理装置のストレージに保存させる、ことを特徴とする請求項１〜３のいずれか一つに記載の情報処理装置。
【請求項５】
情報処理装置におけるデータに対する処理の実行が、前記処理の依頼元からの中止依頼に応じて中止された場合、前記情報処理装置における前記処理の処理速度に基づいて、前記情報処理装置において、前記処理の実行および前記処理の実行結果の保存を行うか否かを決定する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項６】
第１の情報処理装置と、前記第１の情報処理装置からの処理依頼に応じて、データに対する処理を実行する第２の情報処理装置と、を含み、
前記第２の情報処理装置は、
前記第１の情報処理装置からの中止依頼に応じて前記処理の実行が中止された場合、前記第２の情報処理装置における前記処理の処理速度に基づいて、前記処理の実行および前記処理の実行結果の保存を行うか否かを決定する、
ことを特徴とする情報処理システム。
【請求項７】
前記第１の情報処理装置は、
複数の情報処理装置におけるデータに対する処理の実行が中止された場合、前記複数の情報処理装置の各情報処理装置の前記処理にかかるレイテンシと、前記各情報処理装置における前記処理の処理時間とに基づいて、前記各情報処理装置において、前記処理の実行および前記処理の実行結果の保存を行うか否かを決定する、
ことを特徴とする請求項６に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理プログラムおよび情報処理システムに関する。
【背景技術】
【０００２】
近年、クラウドおよびエッジ装置（エッジサーバ）に分散蓄積されたデータの利用者が、データ分析そのものに集中できるように、データの場所を探したり、データの成型、フィルタリングなどの面倒な前処理を簡単に行うためのシステムが開発されている。システムにおいて、データに対する前処理はエッジ装置側で行われ、前処理されたデータがクラウド側に収集されてデータ分析が行われる。
【０００３】
先行技術としては、移動元サーバ又は移動先サーバにおける平均負荷が高負荷用閾値以上となると、データアクセス処理の優先順位よりもデータ移動処理の優先順位を高く設定し、その後、移動元サーバ又は移動先サーバにおける平均負荷が中低負荷用閾値以下となると、データアクセス処理の優先順位をデータ移動処理の優先順位よりも高く設定する管理サーバがある。また、利用端末上の仮想フォルダ中に実体ファイルが生成又は保存されることに応じて、実体ファイルが持つ属性、コンテキストまたは仮想フォルダが持つ属性と複数のストレージ・クラウドが持つ各属性とを参照し、所定のルールを満たすように、実体ファイルを格納するための一つのストレージ・クラウドを選択する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２２２２２１号公報
【特許文献２】特開２０１４−０１０４６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、エッジ装置に蓄積されたデータに対する処理の効率化を図ることが難しい。例えば、データ分析を行うにあたり、利用者は、エッジ装置に蓄積されたデータを参照しながら、有効そうなデータについて、前処理し、分析パラメータなどを変更しながら、試行錯誤を繰り返すことがある。この際、試した分析で期待した結果が得られずに処理を中止すると、改めて同じ処理を行う場合に、同じことを繰り返すことになる。
【０００６】
一つの側面では、本発明は、データに対する処理の効率化を図ることを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様では、情報処理装置におけるデータに対する処理の実行が、前記処理の依頼元からの中止依頼に応じて中止された場合、前記情報処理装置における前記処理の処理速度に基づいて、前記情報処理装置において、前記処理の実行および前記処理の実行結果の保存を行うか否かを決定する処理制御部を有する情報処理装置が提供される。
【発明の効果】
【０００８】
本発明の一側面によれば、データに対する処理の効率化を図ることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、情報処理システム１００のシステム構成例を示す説明図である。
【図２】図２は、処理時間と読出時間または転送時間との関係を示す説明図である。
【図３】図３は、処理Ｐｉの実行が中止された場合のエッジ装置Ｅｉの動作例を示す説明図である。
【図４】図４は、エッジ装置Ｅｉ等のハードウェア構成例を示すブロック図である。
【図５】図５は、管理テーブル１２０の記憶内容の一例を示す説明図である。
【図６】図６は、管理装置１０１の機能的構成例を示すブロック図である。
【図７】図７は、エッジ装置Ｅｉの機能的構成例を示すブロック図である。
【図８】図８は、実行結果テーブル８００の記憶内容の一例を示す説明図である。
【図９Ａ】図９Ａは、情報処理システム１００の動作例を示すシーケンス図（その１）である。
【図９Ｂ】図９Ｂは、情報処理システム１００の動作例を示すシーケンス図（その２）である。
【図９Ｃ】図９Ｃは、情報処理システム１００の動作例を示すシーケンス図（その３）である。
【図１０】図１０は、分析処理が完了するまでの全体の処理時間を示す説明図である。
【図１１】図１１は、実施の形態２にかかるエッジ装置Ｅｉの機能的構成例を示すブロック図である。
【図１２】図１２は、管理テーブル１２００の記憶内容の一例を示す説明図である。
【図１３】図１３は、実行結果テーブル１３００の記憶内容の一例を示す説明図である。
【図１４】図１４は、前処理の実行結果の利用例を示す説明図である。
【図１５Ａ】図１５Ａは、実施の形態２にかかる情報処理システム１００の動作例を示すシーケンス図（その１）である。
【図１５Ｂ】図１５Ｂは、実施の形態２にかかる情報処理システム１００の動作例を示すシーケンス図（その２）である。
【図１５Ｃ】図１５Ｃは、実施の形態２にかかる情報処理システム１００の動作例を示すシーケンス図（その３）である。
【図１６】図１６は、前処理継続依頼処理の具体的処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、本発明にかかる情報処理装置、情報処理プログラムおよび情報処理システムの実施の形態を詳細に説明する。
【００１１】
（実施の形態１）
まず、実施の形態１にかかる情報処理システム１００のシステム構成例について説明する。情報処理システム１００は、例えば、エッジコンピューティングによる分散処理環境に適用される。
【００１２】
図１は、情報処理システム１００のシステム構成例を示す説明図である。図１において、情報処理システム１００は、エッジ装置Ｅ１〜Ｅｎ（ｎ：２以上の自然数）と、管理装置１０１と、クライアント装置１０２と、を含む。情報処理システム１００において、エッジ装置Ｅ１〜Ｅｎ、管理装置１０１およびクライアント装置１０２は、有線または無線のネットワーク１１０を介して接続される。ネットワーク１１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００１３】
以下の説明では、エッジ装置Ｅ１〜Ｅｎのうちの任意のエッジ装置を「エッジ装置Ｅｉ」と表記する場合がある（ｉ＝１，２，…，ｎ）。
【００１４】
ここで、エッジ装置Ｅｉは、処理を実行する情報処理装置（コンピュータ）である。例えば、エッジ装置Ｅｉは、サーバ、ゲートウェイ装置、アクセスポイント、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などである。処理は、例えば、デバイスｄｖから送出されるデータに対する処理である。
【００１５】
デバイスｄｖは、例えば、自動車用センサ、機器センサ、環境センサ、カメラなどである。デバイスｄｖから送出されるデータは、例えば、各種センサのセンシングデータやカメラによって撮像される画像などである。データに対する処理は、例えば、分析、解析処理などを行うための前処理である。前処理としては、例えば、センシングデータの平均値を計算したり、画像の特徴量を抽出したりする処理などがある。
【００１６】
エッジ装置Ｅｉは、管理テーブル１２０を有する。管理テーブル１２０は、エッジ装置Ｅｉで実行される処理に関する管理情報を記憶する。管理テーブル１２０の記憶内容については、図５を用いて後述する。以下の説明では、エッジ装置Ｅｉで実行される処理を「処理Ｐｉ」と表記する場合がある。
【００１７】
管理装置１０１は、エッジ装置Ｅｉに対する処理Ｐｉの実行依頼を行う情報処理装置（コンピュータ）である。例えば、管理装置１０１は、クラウドコンピューティングのサーバである。管理装置１０１は、データ格納情報ＤＢ１３０を有する。データ格納情報ＤＢ１３０は、処理対象となるデータの格納場所を示す情報を記憶する。処理対象となるデータは、例えば、デバイスｄｖから送出されるデータである。データ格納情報ＤＢ１３０によれば、どのようなデータがどのエッジ装置に格納されているのかを特定することができる。
【００１８】
クライアント装置１０２は、情報処理システム１００の利用者が使用するコンピュータである。利用者は、例えば、前処理を依頼したり、前処理して得られたデータを分析したりする場合に情報処理システム１００を利用する。例えば、クライアント装置１０２は、ＰＣ、タブレットＰＣ、スマートフォンなどである。
【００１９】
例えば、データ分析を行うにあたり、利用者は、エッジ装置（例えば、エッジ装置Ｅｉ）に蓄積されたデータのうち、有効そうなデータについて、前処理して、分析パラメータなどを変更しながら、試行錯誤を繰り返すことがある。この際、試した分析で期待した結果が得られずに処理を中止すると、改めて同じ処理を行う場合に、同じことを繰り返すことになる。例えば、エッジ装置が低スペックの場合、度々負荷が高まり、レイテンシが大きくなるおそれがある。
【００２０】
このため、各エッジ装置で一度処理の実行が開始された場合、中止されてもエッジ装置側では処理を継続し、次回の処理依頼に備えて、前処理済みのデータを保存しておくことが考えられる。しかし、試行錯誤中のデータを、その都度保存することになると、すぐにストレージリソースが枯渇してしまう。
【００２１】
また、ストレージリソースの枯渇を防ぐべく、予め定めた期限を過ぎたデータを消去したり、古いものから順に上書きしたりするといったルールを決めることも考えられる。しかし、データを消去するまでの時間設定を適切に行わないと、消去後に再度処理依頼され、依然として無駄な処理が生じてしまう。
【００２２】
また、例えば、保存されたデータの読み出しやクラウドへの転送に時間がかかる場合には、前処理済みのデータを保存していても、トータル時間（前処理＋転送）の改善が小さいか、かえって悪化してしまうおそれがある。すなわち、前処理済みのデータを保存しておくメリットがない。
【００２３】
そこで、本実施の形態では、エッジ装置Ｅｉに蓄積されたデータに対する処理の効率化を図る情報処理システム１００について説明する。具体的には、例えば、エッジ装置Ｅｉは、自装置におけるデータに対する処理Ｐｉの実行が、処理Ｐｉの依頼元からの中止依頼に応じて中止された場合、自装置における処理Ｐｉの処理速度に基づいて、処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うか否かを決定する。
【００２４】
処理Ｐｉの依頼元は、例えば、管理装置１０１である。処理Ｐｉの中止依頼は、例えば、試した分析で期待した結果が得られなかった場合に、情報処理システム１００の利用者の指示に応じて行われる。処理Ｐｉの処理速度は、処理Ｐｉの実行が進む速さを示す指標値であり、例えば、単位時間あたりの処理データ量によって表される。
【００２５】
すなわち、エッジ装置Ｅｉは、中止された処理Ｐｉと同じ処理の処理依頼が再度行われることを考慮して、事前に処理Ｐｉを実行して、処理Ｐｉの実行結果を保存しておくべきかを決定する。エッジ装置Ｅｉにおいて、中止された処理Ｐｉの実行を行うにあたり、中止された処理Ｐｉの実行を再開して継続実行（すなわち、途中までの処理Ｐｉの実行結果を引き継ぐ）してよく、また、処理Ｐｉを再実行する（すなわち、最初から実行し直す）ことにしてもよい。
【００２６】
ここで、処理Ｐｉを実行するにあたり、保存したデータ（処理対象となるデータ）の読み出しにかかる時間が、データの処理時間よりも遅ければ、データの読み出しがボトルネックとなるため、事前に処理Ｐｉを実行して実行結果を保存しておくメリットが少ない。このため、エッジ装置Ｅｉは、例えば、処理Ｐｉの処理速度と、処理対象となるデータが保存されているストレージ（例えば、後述の図７に示すストレージ７１０）から当該データを読み出す際の読出速度とに基づいて、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うか否かを決定することにしてもよい。
【００２７】
また、処理Ｐｉの依頼元への実行結果の転送にかかる時間が、データの処理時間よりも遅ければ、データの転送がボトルネックとなるため、事前に処理Ｐｉを実行して実行結果を保存しておくメリットが少ない。このため、エッジ装置Ｅｉは、例えば、処理Ｐｉの処理速度と、処理Ｐｉの依頼元に処理Ｐｉの実行結果を転送する際の転送速度とに基づいて、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うか否かを決定することにしてもよい。
【００２８】
ここで、図２を用いて、エッジ装置Ｅｉの具体的な処理例について説明する。
【００２９】
図２は、処理時間と読出時間または転送時間との関係を示す説明図である。例えば、エッジ装置Ｅｉは、処理時間Ｔｐと、読出時間Ｔｒまたは転送時間Ｔｔとを比較する。ここで、処理時間Ｔｐは、データに対する処理Ｐｉの実行にかかる時間であり、例えば、処理Ｐｉの処理速度と、処理対象のデータ量とから計算される。
【００３０】
読出時間Ｔｒは、処理対象となるデータが保存されているストレージから当該データを読み出すのにかかる時間であり、例えば、データの読出速度と、処理対象のデータ量とから計算される。データの読出速度は、例えば、単位時間あたりの読み出しデータ量によって表される。
【００３１】
転送時間Ｔｔは、処理Ｐｉの依頼元に処理Ｐｉの実行結果を転送するのにかかる時間であり、例えば、データの転送速度と、処理Ｐｉの実行結果のデータ量とから計算される。データの転送速度は、例えば、単位時間あたりの転送データ量によって表される。
【００３２】
例えば、エッジ装置Ｅｉは、処理時間Ｔｐが、読出時間Ｔｒ以下、かつ、転送時間Ｔｔ以下の場合、処理Ｐｉの実行がボトルネックとなる可能性が低いため、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行わないと決定する（図２の左側参照）。一方、エッジ装置Ｅｉは、処理時間Ｔｐが、読出時間Ｔｒまたは転送時間Ｔｔよりも大きい場合、処理Ｐｉの実行がボトルネックとなる可能性が高いため、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うと決定する（図２の右側参照）。
【００３３】
これにより、次回以降の処理依頼時に処理Ｐｉを実行する場合に比べて、所要時間の短縮が見込まれるときだけ、事前に処理Ｐｉを実行して、処理Ｐｉの実行結果を保存しておくことができる。換言すれば、所要時間の短縮が見込まれないにもかかわらず、事前に処理Ｐｉを実行して、処理Ｐｉの実行結果を保存しておくといった無駄な処理が行われるのを防ぐことができる。また、中止された処理Ｐｉの実行は、処理リソースが空いているときにバックグラウンドで行われるようにすることで、処理リソースを効率的に使用することが可能となる。
【００３４】
なお、上述した説明では、エッジ装置Ｅｉが、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うか否かを決定することにしたが、これに限らない。例えば、管理装置１０１が、エッジ装置Ｅｉにおける処理Ｐｉの実行が中止された場合に、エッジ装置Ｅｉにおいて処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うか否かを決定することにしてもよい。
【００３５】
つぎに、図３を用いて、処理Ｐｉの依頼元からの中止依頼に応じて、処理Ｐｉの実行が中止された場合のエッジ装置Ｅｉの動作例について説明する。
【００３６】
図３は、処理Ｐｉの実行が中止された場合のエッジ装置Ｅｉの動作例を示す説明図である。ここでは、処理対象のデータを「データＡ」とし、処理Ｐｉを「前処理１Ａ」とし、処理Ｐｉの実行結果を「データ１Ａ」とする。また、管理装置１０１からの中止依頼に応じて、エッジ装置Ｅｉにおける前処理１Ａの実行が中止された場合を想定する。管理装置１０１は、前処理１Ａの依頼元である。
【００３７】
この場合、エッジ装置Ｅｉは、中止された前処理１Ａの実行および前処理１Ａの実行結果の保存を行うか否かを決定する。具体的には、例えば、エッジ装置Ｅｉは、前処理１Ａの処理時間Ｔｐと、データＡの読出時間Ｔｒと、データ１Ａの転送時間Ｔｔとを算出（予測）する。そして、エッジ装置Ｅｉは、前処理１Ａの処理時間Ｔｐと、データＡの読出時間Ｔｒとを比較する。また、エッジ装置Ｅｉは、前処理１Ａの処理時間Ｔｐと、データ１Ａの転送時間Ｔｔとを比較する。
【００３８】
ここで、前処理１Ａの処理時間Ｔｐが、データＡの読出時間Ｔｒ以下、かつ、データ１Ａの転送時間Ｔｔ以下の場合、エッジ装置Ｅｉは、中止された前処理１Ａの実行および前処理１Ａの実行結果の保存を行わないと決定する。この場合、中止された前処理１Ａの実行は行われないため、前処理１Ａの実行結果であるデータ１Ａはエッジ装置Ｅｉに保存されない。
【００３９】
一方、前処理１Ａの処理時間Ｔｐが、データＡの読出時間Ｔｒまたはデータ１Ａの転送時間Ｔｔよりも大きい場合、エッジ装置Ｅｉは、中止された前処理１Ａの実行および前処理１Ａの実行結果の保存を行うと決定する。この場合、中止された前処理１Ａの実行が行われ、前処理１Ａの実行結果であるデータ１Ａがエッジ装置Ｅｉに保存される。
【００４０】
これにより、中止された前処理１Ａと同じ処理について再度処理依頼されたときの所要時間、すなわち、前処理１Ａの依頼元にデータ１Ａ（実行結果）が届くまでの時間を抑えることができる。エッジ装置Ｅｉにおいて、中止された前処理１Ａの実行は、中止された前処理１Ａを実行して前処理１Ａの実行結果を保存すると決定されたことに応じて直ぐに行われてもよく、また、処理リソースの空き時間に行われてもよい。
【００４１】
なお、図３中、前処理１Ｘは、管理装置１０１からエッジ装置Ｅｉに処理依頼されたデータＸに対する処理である。エッジ装置Ｅｉにおいて、前処理１Ｘは途中で中止されることなく実行され、前処理１Ｘの実行結果であるデータ１Ｘが管理装置１０１に送られている。また、管理装置１０１において、データ１Ｘに対する分析Ｘが行われて、分析Ｘの結果であるデータ２Ｘが保存されている。
【００４２】
（エッジ装置Ｅｉおよび管理装置１０１のハードウェア構成例）
つぎに、エッジ装置Ｅｉおよび管理装置１０１のハードウェア構成例について説明する。ここでは、エッジ装置Ｅｉおよび管理装置１０１を「エッジ装置Ｅｉ等」と表記する。
【００４３】
図４は、エッジ装置Ｅｉ等のハードウェア構成例を示すブロック図である。図４において、エッジ装置Ｅｉは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１と、メモリ４０２と、ディスクドライブ４０３と、ディスク４０４と、通信Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）４０５と、可搬型記録媒体Ｉ／Ｆ４０６と、可搬型記録媒体４０７と、を有する。また、各構成部は、バス４００によってそれぞれ接続される。
【００４４】
ここで、ＣＰＵ４０１は、エッジ装置Ｅｉ等の全体の制御を司る。ＣＰＵ４０１は、複数のコアを有していてもよい。メモリ４０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭがＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラムを記憶し、ＲＯＭがアプリケーションプログラムを記憶し、ＲＡＭがＣＰＵ４０１のワークエリアとして使用される。メモリ４０２に記憶されるプログラムは、ＣＰＵ４０１にロードされることで、コーディングされている処理をＣＰＵ４０１に実行させる。
【００４５】
ディスクドライブ４０３は、ＣＰＵ４０１の制御に従ってディスク４０４に対するデータのリード／ライトを制御する。ディスク４０４は、ディスクドライブ４０３の制御で書き込まれたデータを記憶する。ディスク４０４としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００４６】
通信Ｉ／Ｆ４０５は、通信回線を通じてネットワーク１１０に接続され、ネットワーク１１０を介して外部のコンピュータに接続される。そして、通信Ｉ／Ｆ４０５は、ネットワーク１１０と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信Ｉ／Ｆ４０５には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４７】
可搬型記録媒体Ｉ／Ｆ４０６は、ＣＰＵ４０１の制御に従って可搬型記録媒体４０７に対するデータのリード／ライトを制御する。可搬型記録媒体４０７は、可搬型記録媒体Ｉ／Ｆ４０６の制御で書き込まれたデータを記憶する。可搬型記録媒体４０７としては、例えば、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリなどが挙げられる。
【００４８】
なお、エッジ装置Ｅｉ等は、上述した構成部のほかに、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、入力装置、ディスプレイ等を有することにしてもよい。また、エッジ装置Ｅｉは、上述した構成部のうち、例えば、ディスクドライブ４０３、ディスク４０４、可搬型記録媒体Ｉ／Ｆ４０６、可搬型記録媒体４０７を有していなくてもよい。また、図１に示したクライアント装置１０２についても、エッジ装置Ｅｉ等と同様のハードウェア構成により実現することができる。ただし、クライアント装置１０２は、上述した構成部のほかに、入力装置、ディスプレイなどを有する。
【００４９】
（管理テーブル１２０の記憶内容）
つぎに、エッジ装置Ｅｉが有する管理テーブル１２０の記憶内容について説明する。管理テーブル１２０は、例えば、図４に示したエッジ装置Ｅｉのメモリ４０２、ディスク４０４などの記憶装置により実現される。
【００５０】
図５は、管理テーブル１２０の記憶内容の一例を示す説明図である。図５において、管理テーブル１２０は、管理ＩＤ、データ名、処理名、読出時間、処理時間、転送時間、読出速度、処理速度、転送速度およびデータ量のフィールドを有し、各フィールドに情報を設定することで、管理情報（例えば、管理情報５００−１）をレコードとして記憶する。
【００５１】
ここで、管理ＩＤは、レコードを一意に識別する識別子である。データ名は、処理対象となるデータの名称である。データ名は、処理対象となるデータに付与されるタグ情報の一例である。処理名は、処理対象となるデータに対する処理Ｐｉの名称である。読出時間は、処理対象となるデータを読み出すのにかかる時間である。処理時間は、処理対象となるデータに対する処理Ｐｉの実行にかかる時間である。転送時間は、処理Ｐｉの実行結果を転送するのにかかる時間である。
【００５２】
読出速度は、単位時間あたりの読み出しデータ量である。読出速度の単位は、例えば、［ｂｙｔｅ／ｓ］である。処理速度は、単位時間あたりの処理データ量である。処理速度の単位は、例えば、［ｂｙｔｅ／ｓ］である。転送速度は、単位時間あたりの転送データ量である。転送速度の単位は、例えば、［ｂｙｔｅ／ｓ］である。データ量は、処理対象となるデータのデータ量である。データ量の単位は、例えば、［ｂｙｔｅ］である。
【００５３】
（管理装置１０１の機能的構成例）
つぎに、管理装置１０１の機能的構成例について説明する。
【００５４】
図６は、管理装置１０１の機能的構成例を示すブロック図である。図６において、管理装置１０１は、処理管理部６０１と、通信部６０２と、を含む。具体的には、例えば、処理管理部６０１および通信部６０２は、図４に示した管理装置１０１のメモリ４０２、ディスク４０４などの記憶装置に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、通信Ｉ／Ｆ４０５により、その機能を実現する。各機能部の処理結果は、例えば、管理装置１０１のメモリ４０２、ディスク４０４などの記憶装置に記憶される。
【００５５】
処理管理部６０１は、処理依頼を受け付ける。ここで、処理依頼は、データに対する処理の実行を要求するものである。処理依頼には、例えば、どのようなデータに対して、どのような処理（例えば、前処理）を行うのかを特定する情報が含まれる。より詳細に説明すると、例えば、処理依頼には、処理対象となるデータのデータ名と、処理対象となるデータに対する処理の処理名とが含まれる。処理対象となるデータに対する処理は、例えば、分析、解析処理などを行うための前処理である。
【００５６】
具体的には、例えば、処理管理部６０１は、外部アプリから処理依頼を受信することにより、受信した処理依頼を受け付ける。外部アプリとは、管理装置１０１またはネットワーク１１０で接続された計算機で動作するアプリケーションであり、図１に示したクライアント装置１０２からの指示に応じて、前処理の処理依頼をしたり、前処理して得られたデータの分析処理をしたりする。
【００５７】
また、処理管理部６０１は、処理依頼を受け付けたことに応じて、エッジ装置Ｅｉに対して処理Ｐｉの実行を指示する。具体的には、例えば、処理管理部６０１は、データ格納情報ＤＢ１３０（図１参照）を参照して、受け付けた処理依頼から特定されるデータを格納しているエッジ装置Ｅｉを特定する。そして、処理管理部６０１は、特定したエッジ装置Ｅｉに対して、受け付けた処理依頼から特定される処理Ｐｉの処理依頼を送信する。
【００５８】
処理Ｐｉの処理依頼には、例えば、処理対象となるデータと、処理Ｐｉの処理内容とを特定する情報が含まれる。より詳細に説明すると、例えば、処理Ｐｉの処理依頼には、処理対象となるデータのデータ名と、処理Ｐｉの処理名とが含まれる。
【００５９】
なお、情報処理システム１００において、処理対象となるデータには、タグ情報が付与される。タグ情報は、処理対象となるデータを特定する情報であり、例えば、データ名、データ種別などである。処理対象となるデータに付与されるタグ情報は、管理装置１０１とエッジ装置Ｒｉとの間で同期しているものとする。
【００６０】
通信部６０２は、エッジ装置Ｅｉから処理Ｐｉの実行結果を受信する。ここで、処理Ｐｉの実行結果は、例えば、処理Ｐｉが処理対象となるデータに対する前処理であれば、前処理して得られるデータである。また、エッジ装置Ｅｉにおいて、処理対象となるデータに対する処理Ｐｉは、例えば、処理対象となるデータを所定のデータ単位で分割したデータごとに実行される。この場合、通信部６０２は、エッジ装置Ｅｉにおいて分割したデータの実行が完了すると、その都度、当該データに対する処理Ｐｉの実行結果を受信する。
【００６１】
受信された処理Ｐｉの実行結果は、例えば、ストレージ６１０に記憶される。具体的には、例えば、通信部６０２は、処理Ｐｉの実行結果を、処理対象となるデータのデータ名（タグ情報）と、処理Ｐｉの処理名と対応付けて、ストレージ６１０に保存する。また、処理Ｐｉの実行結果には、エッジ装置Ｅｉを特定する情報が対応付けられることにしてもよい。ストレージ６１０は、例えば、管理装置１０１のディスク４０４により実現される。より具体的には、例えば、ストレージ６１０は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤなどである。
【００６２】
また、処理管理部６０１は、中止依頼を受け付ける。ここで、中止依頼は、処理依頼に応じて実行中の処理の中止を要求するものである。中止依頼には、例えば、実行中の処理を特定する情報が含まれる。より詳細に説明すると、例えば、中止依頼には、処理対象となるデータのデータ名と、処理対象となるデータに対する処理の処理名とが含まれる。
【００６３】
また、処理管理部６０１は、中止依頼を受け付けたことに応じて、エッジ装置Ｅｉに対して処理Ｐｉの中止を指示する。具体的には、例えば、処理管理部６０１は、受け付けた中止依頼から特定される処理Ｐｉを実行中のエッジ装置Ｅｉを特定する。そして、処理管理部６０１は、特定したエッジ装置Ｅｉに対して、受け付けた中止依頼から特定される処理Ｐｉの中止依頼を送信する。
【００６４】
処理Ｐｉの中止依頼には、例えば、実行中の処理Ｐｉを特定する情報が含まれる。より詳細に説明すると、例えば、処理Ｐｉの中止依頼には、処理対象となるデータのデータ名と、処理Ｐｉの処理名とが含まれる。
【００６５】
また、処理管理部６０１は、処理依頼された処理の実行結果を出力する。具体的には、例えば、処理管理部６０１は、ストレージ６１０に保存された処理Ｐｉの実行結果を出力する。処理管理部６０１の出力形式としては、例えば、外部アプリへの出力、管理装置１０１の通信Ｉ／Ｆ４０５による他のコンピュータへの送信などがある。
【００６６】
例えば、外部アプリに出力された処理Ｐｉの実行結果は、クライアント装置１０２の利用者に参照されたり、分析処理に用いられたりする。
【００６７】
（エッジ装置Ｅｉの機能的構成例）
図７は、エッジ装置Ｅｉの機能的構成例を示すブロック図である。図７において、エッジ装置Ｅｉは、処理制御部７０１と、処理部７０２と、読出時間計測部７０３と、処理時間計測部７０４と、転送時間計測部７０５と、切替部７０６と、転送部７０７と、を含む。具体的には、例えば、処理制御部７０１〜転送部７０７は、図４に示したエッジ装置Ｅｉのメモリ４０２、ディスク４０４などの記憶装置に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、通信Ｉ／Ｆ４０５により、その機能を実現する。各機能部の処理結果は、例えば、エッジ装置Ｅｉのメモリ４０２、ディスク４０４などの記憶装置に記憶される。
【００６８】
処理制御部７０１は、処理Ｐｉの処理依頼を受け付ける。また、処理制御部７０１は、処理Ｐｉの処理依頼を受け付けた場合、処理部７０２に処理Ｐｉを実行させる。ここで、処理Ｐｉの処理依頼には、例えば、処理対象となるデータと、処理Ｐｉの処理内容とを特定する情報（データ名、処理名）が含まれる。
【００６９】
具体的には、例えば、処理制御部７０１は、管理装置１０１から処理Ｐｉの処理依頼を受信することにより、受信した処理Ｐｉの処理依頼を受け付ける。また、処理制御部７０１は、処理Ｐｉの処理依頼を受け付けた場合、処理部７０２に対して処理Ｐｉの処理依頼を出力する。
【００７０】
処理部７０２は、処理制御部７０１からの処理Ｐｉの処理依頼に応じて、処理Ｐｉを実行する。具体的には、例えば、処理部７０２は、ストレージ７１０から、処理Ｐｉの処理依頼から特定される処理対象となるデータを取得する。ここで、ストレージ７１０は、処理対象となるデータを保存する記憶部である。ストレージ７１０は、例えば、エッジ装置Ｅｉのディスク４０４により実現される。より具体的には、例えば、ストレージ７１０は、ＨＤＤやＳＳＤなどである。
【００７１】
処理対象となるデータは、例えば、デバイスｄｖから送出されるセンシングデータや撮像画像などである。処理対象となるデータには、データ名やデータ種別などのタグ情報が付与されている。以下の説明では、処理対象となるデータを「対象データ」と表記する場合がある。
【００７２】
より詳細に説明すると、例えば、処理部７０２は、ストレージ７１０から、処理Ｐｉの処理依頼に含まれるデータ名に対応するデータを対象データとして取得する。そして、処理部７０２は、取得した対象データに対して、処理Ｐｉの実行を開始する。処理Ｐｉの処理内容は、例えば、処理Ｐｉの処理依頼に含まれる処理名から特定される。
【００７３】
ここで、対象データに対する処理Ｐｉは、例えば、対象データの全データを所定のデータ単位で分割したデータごとに実行される。以下の説明では、対象データの全データを所定のデータ単位で分割したデータを「分割データ」と表記する場合がある。また、対象データを分割する際の分割数を「Ｎ」と表記する場合がある。
【００７４】
より詳細に説明すると、例えば、処理部７０２は、ストレージ７１０から、対象データを分割した分割データを取得する。そして、処理部７０２は、分割データに対して、処理Ｐｉを実行する。処理部７０２は、全分割データの実行が完了するまで、分割データに対する処理Ｐｉを逐次実行する。
【００７５】
なお、処理Ｐｉの実行結果は、切替部７０６に出力され、切替部７０６から転送部７０７またはストレージ７１０に出力される。例えば、対象データを分割した分割データに対する処理Ｐｉの実行が完了すると、その都度、当該分割データに対する処理Ｐｉの実行結果が切替部７０６に出力される。
【００７６】
ここで、処理Ｐｉの依頼元からの処理依頼に応じて実行された処理Ｐｉの実行結果の転送先は、処理Ｐｉの依頼元である。このため、切替部７０６は、処理Ｐｉの実行結果を転送部７０７に出力する。転送部７０７は、処理Ｐｉの依頼元に対して、処理Ｐｉの実行結果を転送する。一方、処理制御部７０１によって中止された処理Ｐｉの実行を行うと決定された場合、切替部７０６は、処理Ｐｉの実行結果の出力先を、転送部７０７からストレージ７１０に切り替える。
【００７７】
また、処理制御部７０１は、処理Ｐｉの中止依頼を受け付ける。ここで、処理Ｐｉの中止依頼は、実行中の処理Ｐｉの中止を要求するものである。処理Ｐｉの中止依頼には、例えば、実行中の処理Ｐｉを特定する情報が含まれる。より詳細に説明すると、例えば、処理Ｐｉの中止依頼には、処理対象となるデータのデータ名と、処理対象となるデータに対する処理の処理名とが含まれる。具体的には、例えば、処理制御部７０１は、管理装置１０１から処理Ｐｉの中止依頼を受信することにより、受信した処理Ｐｉの中止依頼を受け付ける。
【００７８】
また、処理制御部７０１は、処理Ｐｉの中止依頼を受け付けた場合、処理部７０２による処理Ｐｉの実行を中止する。具体的には、例えば、処理制御部７０１は、処理部７０２に対して、処理Ｐｉの中止依頼を通知する。これにより、処理Ｐｉの依頼元からの中止依頼に応じて、処理部７０２による処理Ｐｉの実行を中止することができる。
【００７９】
読出時間計測部７０３は、データ読出時間を計測する。ここで、データ読出時間は、データの読み出しにかかる時間である。具体的には、例えば、読出時間計測部７０３は、ストレージ７１０からダミーデータを読み出す。この際、読出時間計測部７０３は、ダミーデータの読み出し開始から、読み出し完了までのデータ読出時間を計測する。
【００８０】
これにより、ダミーデータの読み出しにかかるデータ読出時間を得ることができる。なお、ダミーデータは、データ読出時間の算出に用いられるデータである。ダミーデータとして、ストレージ７１０内のいかなるデータを用いることにしてもよい。計測されたデータ読出時間は、例えば、ダミーデータのデータ量とともに、処理制御部７０１に通知される。
【００８１】
処理時間計測部７０４は、データ処理時間を計測する。ここで、データ処理時間は、データに対する処理Ｐｉの実行にかかる時間である。具体的には、例えば、処理時間計測部７０４は、対象データを分割した分割データに対する処理Ｐｉの実行にかかる処理時間を、データ処理時間として計測する。
【００８２】
これにより、分割データに対する処理Ｐｉの実行にかかるデータ処理時間を得ることができる。計測されたデータ処理時間は、例えば、分割データのデータ量とともに、処理制御部７０１に通知される。
【００８３】
転送時間計測部７０５は、データ転送時間を計測する。ここで、データ転送時間は、データの転送にかかる時間である。具体的には、例えば、転送時間計測部７０５は、対象データを分割した分割データに対する処理Ｐｉの実行結果が、依頼元である管理装置１０１に転送される際に、当該実行結果の転送開始から、転送完了までのデータ転送時間を計測する。
【００８４】
これにより、対象データを分割した分割データに対する処理Ｐｉの実行結果の依頼元への転送にかかるデータ転送時間を得ることができる。計測されたデータ転送時間は、例えば、分割データに対する処理Ｐｉの実行結果のデータ量とともに、処理制御部７０１に通知される。
【００８５】
処理制御部７０１は、ストレージ７１０から対象データを読み出す際の読出速度Ｓｒを算出する。読出速度Ｓｒは、単位時間あたりの読み出しデータ量である。具体的には、例えば、処理制御部７０１は、読出時間計測部７０３から通知された、ダミーデータのデータ量をデータ読出時間で割ることにより、読出速度Ｓｒを算出する。
【００８６】
また、処理制御部７０１は、自装置における処理Ｐｉの処理速度Ｓｐを算出する。処理速度Ｓｐは、単位時間あたりの処理データ量である。具体的には、例えば、処理制御部７０１は、処理時間計測部７０４から通知された、分割データのデータ量をデータ処理時間で割ることにより、処理速度Ｓｐを算出する。
【００８７】
ここで、処理時間計測部７０４から、複数の分割データについて、各分割データのデータ量とデータ処理時間とが通知される場合がある。この場合、処理制御部７０１は、算出した複数の分割データそれぞれの処理速度の平均値を、処理速度Ｓｐとして算出することにしてもよい。
【００８８】
また、処理制御部７０１は、処理Ｐｉの依頼元に対して、処理Ｐｉの実行結果を転送する際の転送速度Ｓｔを算出する。転送速度Ｓｔは、単位時間あたりの転送データ量である。具体的には、例えば、処理制御部７０１は、転送時間計測部７０５から通知された、分割データに対する処理Ｐｉの実行結果のデータ量をデータ転送時間で割ることにより、転送速度Ｓｔを算出する。
【００８９】
ここで、転送時間計測部７０５から、複数の分割データについて、各分割データに対する処理Ｐｉの実行結果のデータ量とデータ転送時間とが通知される場合がある。この場合、処理制御部７０１は、算出した複数の分割データそれぞれの転送速度の平均値を、転送速度Ｓｔとして算出することにしてもよい。
【００９０】
算出された読出速度Ｓｒ、処理速度Ｓｐおよび転送速度Ｓｔは、例えば、対象データのデータ名、データ量および処理Ｐｉの処理名と対応付けて、図５に示した管理テーブル１２０に記憶される。
【００９１】
また、処理制御部７０１は、処理Ｐｉの実行が中止依頼に応じて中止された場合、自装置における処理Ｐｉの処理速度Ｓｐに基づいて、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うか否かを決定する。ここで、中止された処理Ｐｉを実行するとは、中止された処理Ｐｉの実行を再開して継続実行することであってもよく、また、中止された処理Ｐｉを最初から実行し直すことであってもよい。
【００９２】
具体的には、例えば、処理制御部７０１は、管理テーブル１２０を参照して、自装置における処理Ｐｉの処理速度Ｓｐと、ストレージ７１０から対象データを読み出す際の読出速度Ｓｒとに基づいて、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うか否かを決定することにしてもよい。
【００９３】
より具体的には、例えば、処理制御部７０１は、処理速度Ｓｐが読出速度Ｓｒ以上の場合、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行わないと決定する。一方、処理速度Ｓｐが読出速度Ｓｒ未満の場合、すなわち、処理速度Ｓｐが読出速度Ｓｒより遅い場合には、処理制御部７０１は、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うと決定する。
【００９４】
また、処理制御部７０１は、処理速度Ｓｐと読出速度Ｓｒとを比較する代わりに、処理時間Ｔｐと読出時間Ｔｒとを比較することにしてもよい。
【００９５】
ここで、読出時間Ｔｒは、ストレージ７１０からの対象データの読み出しにかかる時間である。具体的には、例えば、処理制御部７０１は、読出速度Ｓｒに対象データのデータ量を掛けることにより、読出時間Ｔｒを算出する。
【００９６】
これにより、対象データに対する処理Ｐｉの実行が途中で中止された場合であっても、ストレージ７１０からダミーデータを読み出した際の情報から、ストレージ７１０からの対象データの読み出しにかかる処理時間Ｔｐを予測することができる。
【００９７】
また、処理時間Ｔｐは、対象データに対する処理Ｐｉの実行にかかる時間である。具体的には、例えば、処理速度Ｓｐに、対象データのデータ量を掛けることにより、対象データに対する処理Ｐｉの実行にかかる処理時間Ｔｐを算出する。
【００９８】
これにより、対象データに対する処理Ｐｉの実行が途中で中止された場合であっても、対象データを分割した分割データに対する処理Ｐｉを実行した際の情報から、対象データに対する処理Ｐｉの実行にかかる処理時間Ｔｐを予測することができる。
【００９９】
そして、処理制御部７０１は、処理時間Ｔｐが読出時間Ｔｒ以下の場合、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行わないと決定する。一方、処理時間Ｔｐが読出時間Ｔｒより大きい場合、処理制御部７０１は、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うと決定する。なお、処理制御部７０１は、例えば、処理時間Ｔｐが読出時間Ｔｒより所定時間以上大きい場合に、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うと決定することにしてもよい。
【０１００】
また、例えば、処理制御部７０１は、管理テーブル１２０を参照して、自装置における処理Ｐｉの処理速度Ｓｐと、処理Ｐｉの依頼元に処理Ｐｉの実行結果を転送する際の転送速度Ｓｔとに基づいて、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うか否かを決定することにしてもよい。
【０１０１】
ただし、処理対象となるデータに対する処理Ｐｉの実行結果のデータ量は、処理対象となるデータのデータ量と異なることがある。このため、処理制御部７０１は、処理速度Ｓｐと転送速度Ｓｔとを単純に比較するのではなく、処理時間Ｔｐと転送時間Ｔｔとを比較することにしてもよい。
【０１０２】
ここで、転送時間Ｔｔは、処理Ｐｉの依頼元への対象データに対する処理Ｐｉの実行結果の転送にかかる時間である。具体的には、例えば、まず、処理制御部７０１は、転送時間計測部７０５から通知された、分割データに対する処理Ｐｉの実行結果のデータ量の平均値（平均データ量）を算出する。
【０１０３】
つぎに、処理制御部７０１は、算出した平均データ量に、対象データの分割数Ｎを掛けることにより、対象データに対する処理Ｐｉの実行結果のデータ量を予測する。そして、処理制御部７０１は、転送速度Ｓｔに、予測したデータ量を掛けることにより、対象データに対する処理Ｐｉの実行結果の転送にかかる転送時間Ｔｔを算出する。
【０１０４】
これにより、対象データに対する処理Ｐｉの実行が途中で中止された場合であっても、分割データに対する処理Ｐｉの実行結果を転送した際の情報から、対象データに対する処理Ｐｉの実行結果の転送にかかる転送時間Ｔｔを予測することができる。
【０１０５】
そして、処理制御部７０１は、処理時間Ｔｐが転送時間Ｔｔ以下の場合、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行わないと決定する。一方、処理時間Ｔｐが転送時間Ｔｔより大きい場合には、処理制御部７０１は、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うと決定する。なお、処理制御部７０１は、例えば、処理時間Ｔｐが転送時間Ｔｔより所定時間以上大きい場合に、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うと決定することにしてもよい。
【０１０６】
算出された読出時間Ｔｒ、処理時間Ｔｐおよび転送時間Ｔｔは、例えば、対象データのデータ名、データ量および処理Ｐｉの処理名と対応付けて、管理テーブル１２０に記憶される。
【０１０７】
また、例えば、処理制御部７０１は、自装置における処理Ｐｉの処理速度Ｓｐが予め設定された閾値未満であれば、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うと決定してもよい。一方、処理速度Ｓｐが閾値以上であれば、処理制御部７０１は、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行わないと決定してもよい。ここで、閾値は、任意に設定可能であり、例えば、ストレージ７１０と同種のストレージにおけるデータの平均的な読出速度や、インターネットなどでのデータの平均的な転送速度などをもとに定められる。
【０１０８】
また、処理制御部７０１は、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うと決定した場合、処理部７０２に、中止された処理Ｐｉを実行させ、処理Ｐｉの実行結果をストレージ７１０に保存させる。具体的には、例えば、処理制御部７０１は、切替部７０６に対して、中止された処理Ｐｉの実行結果の出力先を、転送部７０７からストレージ７１０に切り替えるよう指示する。そして、処理制御部７０１は、処理部７０２に対して、中止された処理Ｐｉの処理依頼を出力する。
【０１０９】
この結果、処理部７０２により処理Ｐｉが実行され、処理Ｐｉの実行結果がストレージ７１０に書き込まれる。具体的には、例えば、処理部７０２は、切替部７０６を介して、対象データに対する処理Ｐｉの実行結果を、対象データおよび処理Ｐｉを識別する情報と対応付けて、ストレージ７１０に書き込む。
【０１１０】
ストレージ７１０において、対象データに対する処理Ｐｉの実行結果は、例えば、図８に示すような実行結果テーブル８００に書き込まれる。ここで、実行結果テーブル８００の記憶内容について説明する。
【０１１１】
図８は、実行結果テーブル８００の記憶内容の一例を示す説明図である。図８において、実行結果テーブル８００は、データ名、処理名および実行結果のフィールドを有し、各フィールドに情報を設定することで、実行結果情報（例えば、実行結果情報８００−１）をレコードとして記憶する。
【０１１２】
ここで、データ名は、対象データの名称である。処理名は、処理Ｐｉの名称である。実行結果は、対象データに対する処理Ｐｉの実行結果を示す。なお、図８の例では、実行結果フィールドには、対象データに対する処理Ｐｉの実行結果のデータ名を表記している。
【０１１３】
これにより、中止された処理Ｐｉと同じ処理の処理依頼があったときに、実行結果テーブル８００内の実行結果を利用することができる。
【０１１４】
具体的には、例えば、処理制御部７０１は、処理Ｐｉの処理依頼を受け付けた場合、実行結果テーブル８００を参照して、当該処理依頼に含まれるデータ名と処理名との組み合わせに対応する実行結果情報を検索する。ここで、実行結果情報が検索されなかった場合は、処理制御部７０１は、処理部７０２に処理Ｐｉを実行させる。
【０１１５】
一方、実行結果情報が検索された場合、処理制御部７０１は、転送部７０７により、検索された実行結果情報に含まれる実行結果を、処理Ｐｉの依頼元（管理装置１０１）に転送する。これにより、次回以降の処理依頼時は、処理Ｐｉの依頼元へ処理Ｐｉの実行結果を転送するまでの所要時間を短くすることができる。
【０１１６】
なお、依頼元（管理装置１０１）に転送された処理Ｐｉの実行結果については、エッジ装置Ｅｉのストレージ７１０から削除することにしてもよい。これにより、ストレージ７１０の空き容量が不足するのを防ぐことができる。また、ストレージ７１０に保存された処理Ｐｉの実行結果には、保存期間を設定することにしてもよい。この場合、エッジ装置Ｅｉは、保存期間を経過したデータについては、ストレージ７１０から削除することにしてもよい。
【０１１７】
処理制御部７０１から処理部７０２に対して、中止された処理Ｐｉの処理依頼を出力するタイミングは、任意に設定可能である。例えば、処理制御部７０１は、中止された処理Ｐｉを実行して処理Ｐｉの実行結果を保存すると決定したことに応じて、中止された処理Ｐｉの処理依頼を処理部７０２に出力することにしてもよい。この場合、中止された処理Ｐｉが直ぐに実行され、次回以降の処理依頼に備えて、処理Ｐｉの実行結果がストレージ７１０に保存される。
【０１１８】
また、処理制御部７０１は、処理リソースの使用状況に応じて、中止された処理Ｐｉの処理依頼を出力するタイミングを制御することにしてもよい。具体的には、例えば、処理制御部７０１は、ＣＰＵ４０１の使用率が所定値β以上であれば、中止された処理Ｐｉの処理依頼を保留することにしてもよい。そして、処理制御部７０１は、ＣＰＵ４０１の使用率が所定値β未満となったときに、中止された処理Ｐｉの処理依頼を処理部７０２に出力することにしてもよい。所定値βは、任意に設定可能であり、例えば、５０％〜７０％程度の値が設定される。
【０１１９】
この場合、ＣＰＵ４０１が空いているときにバックグラウンドで処理Ｐｉを実行できるため、処理リソースを有効活用することができる。また、中止された処理Ｐｉの実行により、エッジ装置Ｅｉの処理性能が低下して、要求性能を確保できなくなるのを防ぐことができる。
【０１２０】
なお、中止された処理Ｐｉの実行を行うにあたり、中止された処理Ｐｉの実行を再開して継続実行する場合、中止前に実行済みの処理Ｐｉの実行結果についてもストレージ７１０に保存することが望ましい。このため、処理部７０２は、対象データに対する処理Ｐｉの実行が完了するまでの間、途中の実行結果（分割データに対する処理Ｐｉの実行結果）を、エッジ装置Ｅｉのメモリ４０２等に保持しておくことにしてもよい。
【０１２１】
これにより、中止された処理Ｐｉの実行を再開した際に、メモリ４０２等に保持しておいた途中の実行結果についても、ストレージ７１０（実行結果テーブル８００）に保存することができる。このように、中止された処理Ｐｉの実行を再開して継続実行する場合、途中の実行結果を保持しておく必要はあるものの、途中までの処理が無駄にならないというメリットがある。
【０１２２】
また、ストレージ７１０には、読み書き回数、読み書き量等に応じて決まる耐用期間が設けられていることがある。例えば、ＳＳＤであれば、データの書き込み回数に上限が設けられている。ストレージ７１０の書き込み可能な残りの回数が書き込み可能な上限回数に近づいているときに、テンポラリーなデータ（次回の処理依頼に備えて実行した処理Ｐｉの実行結果）を保存するために使用することは望ましくない。
【０１２３】
このため、処理制御部７０１は、ストレージ７１０の書き込み可能な残り回数が所定値α以下の場合には、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行わないと決定してもよい。所定値αは、任意に設定可能である。これにより、中止された処理Ｐｉの実行結果がストレージ７１０に書き込まれないため、テンポラリーなデータの書き込みによりストレージ７１０の耐用期間が短くなるのを防ぐことができる。
【０１２４】
なお、エッジ装置Ｅｉの各機能部は、管理装置１０１により実現されることにしてもよい。また、エッジ装置Ｅｉの各機能部は、情報処理システム２００内の複数のコンピュータ（例えば、管理装置１０１とエッジ装置Ｅｉ）により実現されることにしてもよい。例えば、エッジ装置Ｅｉの機能部のうち、処理制御部７０１を管理装置１０１で実現し、その他の機能部はエッジ装置Ｅｉで実現することにしてもよい。ただし、管理装置１０１が、エッジ装置Ｅｉにおいて中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うか否かを決定するのに必要な情報は、エッジ装置Ｅｉから収集することになる。
【０１２５】
（情報処理システム１００の動作例）
つぎに、図９Ａ、図９Ｂおよび図９Ｃを用いて、情報処理システム１００の動作例について説明する。なお、図９Ａ、図９Ｂおよび図９Ｃでは、管理装置１０１の各機能部については、図示を省略している。
【０１２６】
図９Ａ、図９Ｂおよび図９Ｃは、情報処理システム１００の動作例を示すシーケンス図である。図９Ａのシーケンス図において、まず、管理装置１０１の処理管理部６０１は、外部アプリから前処理依頼を受け付ける（ステップＳ９０１）。
【０１２７】
エッジ装置Ｅｉの読出時間計測部７０３は、データ読出時間の計測を開始する（ステップＳ９０２）。つぎに、エッジ装置Ｅｉの読出時間計測部７０３は、ストレージ７１０からダミーデータを読み出す（ステップＳ９０３）。管理装置１０１の処理管理部６０１は、データ格納情報ＤＢ１３０（図１参照）を参照して、受け付けた処理依頼から特定されるデータを検索する（ステップＳ９０４）。
【０１２８】
エッジ装置Ｅｉの読出時間計測部７０３は、ダミーデータの読み出しが完了したら、データ読出時間を計測する（ステップＳ９０５）。そして、エッジ装置Ｅｉの読出時間計測部７０３は、計測したデータ読出時間を、ダミーデータのデータ量とともに、処理制御部７０１に通知する（ステップＳ９０６）。
【０１２９】
つぎに、管理装置１０１の処理管理部６０１は、ステップＳ９０４において検索したデータを格納しているエッジ装置Ｅｉに対して、前処理依頼を送信する（ステップＳ９０７）。この前処理依頼は、処理Ｐｉの処理依頼に相当し、データ名と処理名とを含む。
【０１３０】
エッジ装置Ｅｉの処理制御部７０１は、管理装置１０１から前処理依頼を受信すると、処理部７０２に対して、前処理（処理Ｐｉに相当）の処理依頼を出力する（ステップＳ９０８）。そして、エッジ装置Ｅｉの処理制御部７０１は、エッジ装置Ｅｉの処理時間計測部７０４に対して、処理依頼時刻を通知する（ステップＳ９０９）。処理依頼時刻は、処理部７０２に対して、前処理の処理依頼を出力した時刻である。
【０１３１】
図９Ｂのシーケンス図において、エッジ装置Ｅｉの処理部７０２は、処理制御部７０１からの前処理の処理依頼に応じて、ストレージ７１０から、前処理の処理依頼に含まれるデータ名に対応するデータを取得する（ステップＳ９１０）。ここでは、対象データを分割した分割データごとに、前処理を逐次実行する場合を想定する。図９Ｂ中、点線枠で示す一連の処理は、対象データを分割した分割データごとに実行される。
【０１３２】
そして、エッジ装置Ｅｉの処理部７０２は、取得したデータに対して、前処理を実行する（ステップＳ９１１）。つぎに、エッジ装置Ｅｉの処理部７０２は、前処理の実行結果を、エッジ装置Ｅｉの切替部７０６に通知する（ステップＳ９１２）。
【０１３３】
エッジ装置Ｅｉの切替部７０６は、前処理の実行結果を受信すると、エッジ装置Ｅｉの処理時間計測部７０４に、前処理の実行結果の受信時刻を通知する（ステップＳ９１３）。この際、エッジ装置Ｅｉの切替部７０６は、前処理の実行結果のデータ量もあわせて通知する。
【０１３４】
エッジ装置Ｅｉの処理時間計測部７０４は、前処理の実行結果の受信時刻および受信データ量を受信すると、ステップＳ９０９において通知された処理依頼時刻に基づいて、データ処理時間を計算する（ステップＳ９１４）。具体的には、エッジ装置Ｅｉの処理時間計測部７０４は、処理依頼時刻と、前処理の実行結果の受信時刻と差分から、初回のデータ処理時間を計算する。次回以降は、エッジ装置Ｅｉの処理時間計測部７０４は、前処理の実行結果の受信時刻の差分から、データ処理時間を計算する。ただし、このデータ処理時間には、データ（分割データ）の読み出しにかかるデータ読出時間が含まれる。
【０１３５】
エッジ装置Ｅｉの切替部７０６は、受信した前処理の実行結果を転送部７０７に通知し、転送部７０７により、前処理の実行結果を管理装置１０１に転送する（ステップＳ９１５）。エッジ装置Ｅｉの処理時間計測部７０４は、計算したデータ処理時間をエッジ装置Ｅｉの処理制御部７０１に通知する（ステップＳ９１６）。この際、エッジ装置Ｅｉの処理時間計測部７０４は、前処理の実行結果のデータ量もあわせて通知する。
【０１３６】
エッジ装置Ｅｉの切替部７０６は、前処理の実行結果の転送時刻をエッジ装置Ｅｉの転送時間計測部７０５に通知する（ステップＳ９１７）。転送時刻は、転送部７０７により前処理の実行結果が管理装置１０１に転送された時刻を示す。この際、エッジ装置Ｅｉの切替部７０６は、ＡＣＫ受信時刻もあわせて通知する。ＡＣＫ受信時刻は、転送部７０７が管理装置１０１からＡＣＫを受信した時刻である。
【０１３７】
エッジ装置Ｅｉの転送時間計測部７０５は、転送時刻およびＡＣＫ受信時刻を受信すると、転送時刻とＡＣＫ受信時刻との差分から、データ転送時間を計測する（ステップＳ９１８）。そして、エッジ装置Ｅｉの転送時間計測部７０５は、計測したデータ転送時間をエッジ装置Ｅｉの処理制御部７０１に通知する（ステップＳ９１９）。
【０１３８】
エッジ装置Ｅｉの処理制御部７０１は、データ読出時間（データ量を含む）、データ処理時間（データ量を含む）およびデータ転送時間（データ量を含む）を受信すると、読出速度Ｓｒ、処理速度Ｓｐおよび転送速度Ｓｔを算出する（ステップＳ９２０）。
【０１３９】
ただし、受信されたデータ処理時間には、データ（分割データ）の読み出しにかかるデータ読出時間が含まれる。このため、処理速度Ｓｐを算出する際には、受信されたデータ処理時間からデータ（分割データ）のデータ読出時間を引いたものを使う。データ（分割データ）のデータ読出時間は、データ（分割データ）のデータ量と読出速度Ｓｒとから求めることができる。
【０１４０】
図９Ｃのシーケンス図において、管理装置１０１の処理管理部６０１は、外部アプリから前処理の中止依頼を受け付ける（ステップＳ９２１）。管理装置１０１の処理管理部６０１は、前処理の中止依頼を受け付けたことに応じて、エッジ装置Ｅｉに前処理の中止依頼を送信する（ステップＳ９２２）。
【０１４１】
エッジ装置Ｅｉの処理制御部７０１は、管理装置１０１からの前処理の中止依頼を受信すると、処理部７０２に対して、前処理の中止依頼を通知する（ステップＳ９２３）。この結果、処理部７０２による前処理の実行が中止される。
【０１４２】
つぎに、エッジ装置Ｅｉの処理制御部７０１は、中止された前処理の実行を行うか否かを決定する（ステップＳ９２４）。具体的には、例えば、処理制御部７０１は、算出した読出速度Ｓｒ、処理速度Ｓｐおよび転送速度Ｓｔに基づいて、読出時間Ｔｒ、処理時間Ｔｐおよび転送時間Ｔｔを算出する。そして、処理制御部７０１は、処理時間Ｔｐと読出時間Ｔｒ／転送時間Ｔｔとを比較した結果に基づいて、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うか否かを決定する。
【０１４３】
ここでは、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うと決定された場合を想定する。
【０１４４】
この場合、エッジ装置Ｅｉの処理制御部７０１は、切替部７０６に対して、中止された前処理の実行結果の出力先を、転送部７０７からストレージ７１０に切り替えるよう指示する（ステップＳ９２５）。この結果、中止された前処理の実行結果の出力先が、ストレージ７１０に切り替わる。
【０１４５】
つぎに、エッジ装置Ｅｉの処理制御部７０１は、処理部７０２により、中止された前処理を実行させる（ステップＳ９２６）。エッジ装置Ｅｉの処理部７０２は、実行した前処理の実行結果を、切替部７０６に通知する（ステップＳ９２７）。
【０１４６】
エッジ装置Ｅｉの切替部７０６は、前処理の実行結果を受信すると、受信した前処理の実行結果をストレージ７１０（例えば、実行結果テーブル８００）に書き込む（ステップＳ９２８）。前処理の実行結果は、対象データの全データに対する前処理の実行結果である。
【０１４７】
これにより、次回以降の処理依頼時に所要時間の短縮が見込まれるときだけ、事前に処理Ｐｉを実行して、処理Ｐｉの実行結果を保存しておくことができる。
【０１４８】
以上説明したように、実施の形態１にかかる情報処理システム１００によれば、エッジ装置Ｅｉは、自装置における対象データに対する処理Ｐｉの実行が、処理Ｐｉの依頼元からの中止依頼に応じて中止された場合、自装置における処理Ｐｉの処理速度に基づいて、処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うか否かを決定することができる。
【０１４９】
これにより、エッジ装置Ｅｉにおける処理Ｐｉの処理速度を考慮して、次回以降の処理依頼に備えて、事前に処理Ｐｉを実行して、処理Ｐｉの実行結果を保存しておくべきかを判断することができる。例えば、次回以降の処理依頼時に処理Ｐｉを実行する場合に比べて、所要時間の短縮が見込まれるときだけ、事前に処理Ｐｉを実行して、処理Ｐｉの実行結果を保存しておくことができる。換言すれば、所要時間の短縮が見込まれないにもかかわらず、事前に処理Ｐｉを実行して、処理Ｐｉの実行結果を保存しておくといった無駄な処理が行われるのを防ぐことができる。
【０１５０】
また、エッジ装置Ｅｉは、処理Ｐｉの処理速度と、対象データが保存されているストレージ７１０から対象データを読み出す際の読出速度とに基づいて、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うか否かを決定することができる。
【０１５１】
これにより、処理Ｐｉの実行を行うにあたり、対象データの読み出しよりも、処理Ｐｉの実行（データ処理自体）がボトルネックとなるときに、事前に処理Ｐｉを実行して、処理Ｐｉの実行結果を保存しておくことができる。換言すれば、処理Ｐｉの実行（データ処理自体）よりも、対象データの読み出しがボトルネックとなるときには、事前に処理Ｐｉを実行しないようにすることができる。
【０１５２】
また、エッジ装置Ｅｉは、処理Ｐｉの処理速度と、処理Ｐｉの依頼元（管理装置１０１）に処理Ｐｉの実行結果を転送する際の転送速度とに基づいて、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うか否かを決定することができる。
【０１５３】
これにより、処理Ｐｉの実行を行うにあたり、処理Ｐｉの依頼元へのデータ（実行結果）の転送よりも、処理Ｐｉの実行（データ処理自体）がボトルネックとなるときに、事前に処理Ｐｉを実行して、処理Ｐｉの実行結果を保存しておくことができる。換言すれば、処理Ｐｉの実行（データ処理自体）よりも、データ（実行結果）の転送がボトルネックとなるときには、事前に処理Ｐｉを実行しないようにすることができる。
【０１５４】
また、エッジ装置Ｅｉは、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うと決定した場合、処理部７０２に、中止された処理Ｐｉを実行させ、処理Ｐｉの実行結果を、対象データおよび処理Ｐｉを識別する情報（例えば、データ名、処理名）と対応付けてストレージ７１０に保存させることができる。
【０１５５】
これにより、次回以降の処理依頼時に、処理Ｐｉの処理依頼に含まれるデータ名や処理名をキーにして、ストレージ７１０から対応する実行結果を検索して返すことができる。
【０１５６】
また、エッジ装置Ｅｉは、ストレージ７１０の書き込み可能な残り回数が所定値α以下の場合には、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行わないと決定することができる。
【０１５７】
これにより、テンポラリーなデータ（次回以降の処理依頼に備えて実行した処理Ｐｉの実行結果）の書き込みにより、ストレージ７１０の耐用期間が短くなるのを防ぐことができる。
【０１５８】
これらのことから、実施の形態１にかかる情報処理システム１００によれば、エッジ装置Ｅｉに蓄積されているデータに対する処理の効率化を図ることができる。
【０１５９】
（実施の形態２）
つぎに、実施の形態２にかかる情報処理システム１００について説明する。なお、実施の形態１で説明した箇所と同一の箇所については、同一符号を付して図示および説明を省略する。
【０１６０】
情報処理システム１００において、例えば、外部アプリ等からの処理依頼に応じて管理装置１０１から依頼された前処理を実行するエッジ装置が複数存在する場合がある。この場合、クラウド（管理装置１０１）において、複数のエッジ装置からの前処理の実行結果が全て揃った後に分析処理等を行うことになる。
【０１６１】
ここで、複数のエッジ装置からの前処理の実行結果が全て揃った後に分析処理を行う場合の全体の処理時間について説明する。ここでは、管理装置１０１から処理依頼された前処理を実行する複数のエッジ装置を「エッジ装置Ｅ１，Ｅ２，Ｅ３」とする。
【０１６２】
図１０は、分析処理が完了するまでの全体の処理時間を示す説明図である。図１０に示すように、各エッジ装置Ｅ１，Ｅ２，Ｅ３で実行された前処理の実行結果が管理装置１０１に転送されるまでの所要時間ＴＲ１，ＴＲ２，ＴＲ３は、各エッジ装置Ｅ１，Ｅ２，Ｅ３の処理性能、対象データのデータ量、ネットワーク状況などにより異なるものとなる。
【０１６３】
図１０の例では、エッジ装置Ｅ３で実行された前処理の実行結果が管理装置１０１に転送されるまでの所要時間ＴＲ３が最も長い。したがって、エッジ装置Ｅ１〜Ｅ３で実行された前処理の実行結果を全て使ってクラウド側で分析処理を行う場合、全体の処理時間は、所要時間ＴＲが大きいエッジ装置Ｅ３に依存して遅くなる。換言すれば、エッジ装置Ｅ１，Ｅ２のレイテンシを小さく抑えても、一番レイテンシが大きいエッジ装置Ｅ３のレイテンシにより全体の処理時間が決まってしまう。
【０１６４】
そこで、実施の形態２では、複数のエッジ装置からデータ収集する処理が中止された場合に、中止された処理の実行および当該処理の実行結果の保存を行うか否かを決定するにあたり、複数のエッジ装置のうち全体の処理時間の短縮に寄与するエッジ装置のみ実行を行うと決定する。これにより、全体の処理時間の短縮に寄与しない無駄な処理を行わないようにして、効率的にリソースを使用できるようにする。
【０１６５】
（エッジ装置Ｅｉの機能的構成例）
つぎに、実施の形態２にかかるエッジ装置Ｅｉの機能的構成例について説明する。
【０１６６】
図１１は、実施の形態２にかかるエッジ装置Ｅｉの機能的構成例を示すブロック図である。図１１において、エッジ装置Ｅｉは、処理制御部７０１と、処理部７０２と、読出時間計測部７０３と、処理時間計測部７０４と、転送時間計測部７０５と、切替部７０６と、転送部７０７と、を含む。図７に示した実施の形態１にかかるエッジ装置Ｅｉの機能的構成例と異なる点は、読出時間計測部７０３、処理時間計測部７０４および転送時間計測部７０５それぞれと切替部７０６とが接続されている点である。
【０１６７】
以下、実施の形態１にかかるエッジ装置Ｅｉと異なる機能についてのみ説明する。
【０１６８】
読出時間計測部７０３は、計測したデータ読出時間を、例えば、ダミーデータのデータ量とともに、管理装置１０１に通知する。具体的には、データ読出時間（ダミーデータのデータ量を含む）は、切替部７０６に出力され、切替部７０６から転送部７０７に出力される。転送部７０７は、切替部７０６から受信したデータ読出時間（ダミーデータのデータ量を含む）を、管理装置１０１に転送する。
【０１６９】
処理時間計測部７０４は、計測したデータ処理時間を、例えば、分割データのデータ量とともに、管理装置１０１に通知する。具体的には、データ処理時間（分割データのデータ量を含む）は、切替部７０６に出力され、切替部７０６から転送部７０７に出力される。転送部７０７は、切替部７０６から受信したデータ処理時間（分割データのデータ量を含む）を、管理装置１０１に転送する。
【０１７０】
転送時間計測部７０５は、計測したデータ転送時間を、例えば、分割データに対する処理Ｐｉの実行結果のデータ量とともに、管理装置１０１に通知する。具体的には、データ転送時間（実行結果のデータ量を含む）は、切替部７０６に出力され、切替部７０６から転送部７０７に出力される。転送部７０７は、切替部７０６から受信したデータ転送時間（実行結果のデータ量を含む）を、管理装置１０１に転送する。
【０１７１】
処理制御部７０１は、処理Ｐｉの実行が中止依頼に応じて中止された場合、管理装置１０１から前処理継続依頼から受信したことに応じて、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うか否かを決定することにしてもよい。ここで、前処理継続依頼は、中止された処理Ｐｉを実行して、処理Ｐｉの実行結果をエッジ装置Ｅｉ（ストレージ７１０）に保存するよう依頼するものである。
【０１７２】
この際、処理制御部７０１は、管理装置１０１から前処理継続依頼から受信したことに応じて、実施の形態１で説明したように、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うか否かを決定することにしてもよい。例えば、処理制御部７０１は、処理時間Ｔｐと読出時間Ｔｒまたは転送時間Ｔｔとを比較した結果に基づいて、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うか否かを決定することにしてもよい。
【０１７３】
また、処理制御部７０１は、管理装置１０１から前処理継続依頼から受信したことに応じて、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うと決定してもよい。すなわち、管理装置１０１から前処理継続依頼があったときは、処理制御部７０１は、中止された処理Ｐｉの実行および処理Ｐｉの実行結果の保存を行うと決定してもよい。
【０１７４】
（管理装置１０１の機能的構成例）
つぎに、実施の形態２にかかる管理装置１０１の機能的構成例について説明する。ただし、実施の形態２にかかる管理装置１０１の機能的構成例は、実施の形態１にかかる管理装置１０１の機能的構成例と同様のため、図示は省略する。
【０１７５】
以下、実施の形態１にかかる管理装置１０１と異なる機能についてのみ説明する。以下の説明では、外部アプリ等からの処理依頼に応じて管理装置１０１から処理依頼された処理を実行する複数のエッジ装置を「複数のエッジ装置Ｅ」と表記し、管理装置１０１から実行指示された処理を「処理Ｐ」と表記する場合がある。
【０１７６】
処理管理部６０１は、複数のエッジ装置Ｅにおけるデータに対する処理Ｐの実行が中止された場合、複数のエッジ装置Ｅの各エッジ装置Ｅの処理Ｐにかかるレイテンシを算出する。すなわち、処理管理部６０１は、外部アプリ等からの中止依頼に応じて、複数のエッジ装置Ｅにおけるデータに対する処理Ｐの実行が中止された場合、各エッジ装置Ｅの処理Ｐにかかるレイテンシを算出する。
【０１７７】
ここで、各エッジ装置Ｅの処理Ｐにかかるレイテンシとは、対象データの読み出し、対象データに対する処理Ｐ、対象データに対する処理Ｐの実行結果の転送にかかる総時間を示す。すなわち、各エッジ装置Ｅの処理Ｐにかかるレイテンシは、各エッジ装置Ｅの読出時間Ｔｒと処理時間Ｔｐと転送時間Ｔｔとを足したものとなる。
【０１７８】
具体的には、例えば、処理管理部６０１は、各エッジ装置Ｅにおいて対象データを読み出す際の読出速度Ｓｒを算出する。読出速度Ｓｒは、単位時間あたりの読み出しデータ量である。具体的には、例えば、処理管理部６０１は、通信部６０２によって各エッジ装置Ｅから受信された、ダミーデータのデータ量をデータ読出時間で割ることにより、各エッジ装置Ｅの読出速度Ｓｒを算出する。
【０１７９】
また、処理管理部６０１は、各エッジ装置Ｅにおける処理Ｐの処理速度Ｓｐを算出する。具体的には、例えば、処理管理部６０１は、通信部６０２によって各エッジ装置Ｅから受信された、分割データのデータ量をデータ処理時間で割ることにより、処理速度Ｓｐを算出する。
【０１８０】
ここで、各エッジ装置Ｅから、複数の分割データについて、各分割データのデータ量とデータ処理時間とが通知される場合がある。この場合、処理管理部６０１は、算出した複数の分割データそれぞれの処理速度の平均値を、処理速度Ｓｐとして算出することにしてもよい。また、各エッジ装置Ｅから通知されたデータ処理時間に、データ（分割データ）の読み出しにかかるデータ読出時間が含まれる場合、処理速度Ｓｐを算出する際に、受信されたデータ処理時間からデータ（分割データ）のデータ読出時間を引いたものを使う。
【０１８１】
また、処理管理部６０１は、各エッジ装置Ｅにおける処理Ｐの実行結果を転送する際の転送速度Ｓｔを算出する。具体的には、例えば、処理管理部６０１は、通信部６０２によって各エッジ装置Ｅから受信された、分割データに対する処理Ｐｉの実行結果のデータ量をデータ転送時間で割ることにより、転送速度Ｓｔを算出する。
【０１８２】
ここで、各エッジ装置Ｅから、複数の分割データについて、各分割データに対する処理Ｐｉの実行結果のデータ量とデータ転送時間とが通知される場合がある。この場合、処理管理部６０１は、算出した複数の分割データそれぞれの転送速度の平均値を、転送速度Ｓｔとして算出することにしてもよい。
【０１８３】
算出された各エッジ装置Ｅの読出速度Ｓｒ、処理速度Ｓｐおよび転送速度Ｓｔは、例えば、各エッジ装置ＥのエッジＩＤ、各エッジ装置Ｅにおける対象データのデータ名、データ量および処理Ｐの処理名と対応付けて、図１２に示すような管理テーブル１２００に記憶される。管理テーブル１２００は、例えば、図４に示した管理装置１０１のメモリ４０２、ディスク４０４などの記憶装置により実現される。
【０１８４】
図１２は、管理テーブル１２００の記憶内容の一例を示す説明図である。図１２において、管理テーブル１２００は、エッジＩＤ、管理ＩＤ、データ名、処理名、読出時間、処理時間、転送時間、読出速度、処理速度、転送速度およびデータ量のフィールドを有し、各フィールドに情報を設定することで、管理情報（例えば、管理情報１２００−１）をレコードとして記憶する。
【０１８５】
ここで、エッジＩＤは、エッジ装置Ｅを一意に識別する識別子である。管理ＩＤは、エッジ装置Ｅ内でレコードを一意に識別する識別子である。データ名は、処理対象となるデータの名称である。処理名は、処理対象となるデータに対する処理Ｐの名称である。読出時間は、処理対象となるデータを読み出すのにかかる時間である。処理時間は、処理対象となるデータに対する処理Ｐｉの実行にかかる時間である。転送時間は、処理Ｐの実行結果を転送するのにかかる時間である。
【０１８６】
読出速度は、単位時間あたりの読み出しデータ量である。読出速度の単位は、例えば、［ｂｙｔｅ／ｓ］である。処理速度は、単位時間あたりの処理データ量である。処理速度の単位は、例えば、［ｂｙｔｅ／ｓ］である。転送速度は、単位時間あたりの転送データ量である。転送速度の単位は、例えば、［ｂｙｔｅ／ｓ］である。データ量は、処理対象となるデータのデータ量である。データ量の単位は、例えば、［ｂｙｔｅ］である。
【０１８７】
例えば、処理管理部６０１は、管理テーブル１２００を参照して、各エッジ装置Ｅの読出速度Ｓｒに対象データのデータ量を掛けることにより、各エッジ装置Ｅの読出時間Ｔｒを算出する。また、処理管理部６０１は、管理テーブル１２００を参照して、各エッジ装置Ｅの処理速度Ｓｐに、対象データのデータ量を掛けることにより、各エッジ装置Ｅにおける対象データに対する処理Ｐの実行にかかる処理時間Ｔｐを算出する。
【０１８８】
また、処理管理部６０１は、各エッジ装置Ｅから通知された、分割データに対する処理Ｐの実行結果のデータ量の平均値（平均データ量）を算出する。つぎに、処理管理部６０１は、算出した平均データ量に、対象データの分割数Ｎを掛けることにより、対象データに対する処理Ｐの実行結果のデータ量を予測する。
【０１８９】
そして、処理管理部６０１は、管理テーブル１２００を参照して、各エッジ装置Ｅの転送速度Ｓｔに、予測したデータ量を掛けることにより、各エッジ装置Ｅにおける対象データに対する処理Ｐの実行結果の転送にかかる転送時間Ｔｔを算出する。なお、各エッジ装置Ｅにおける対象データの分割数Ｎは、例えば、各エッジ装置Ｅから管理装置１０１に通知される。
【０１９０】
算出された各エッジ装置Ｅの読出時間Ｔｒ、処理時間Ｔｐおよび転送時間Ｔｔは、例えば、各エッジ装置ＥのエッジＩＤ、各エッジ装置Ｅにおける対象データのデータ名、データ量および処理Ｐの処理名と対応付けて、管理テーブル１２００に記憶される。
【０１９１】
そして、処理管理部６０１は、管理テーブル１２００を参照して、各エッジ装置Ｅの読出時間Ｔｒと処理時間Ｔｐと転送時間Ｔｔとを足し合わせることにより、各エッジ装置Ｅの処理Ｐにかかるレイテンシを算出する。なお、各エッジ装置Ｅの転送時間Ｔｔを算出するにあたり、対象データに対する処理Ｐの実行結果のデータ量を予測するのではなく、対象データのデータ量を用いることにしてもよい。
【０１９２】
つぎに、処理管理部６０１は、算出した各エッジ装置Ｅのレイテンシと、各エッジ装置Ｅにおける処理Ｐの処理時間Ｔｐとに基づいて、各エッジ装置Ｅにおいて、中止された処理Ｐの実行および処理Ｐの実行結果の保存を行うか否かを決定する。具体的には、例えば、まず、処理管理部６０１は、管理テーブル１２００を参照して、複数のエッジ装置Ｅのうち、最もレイテンシが遅い第１のエッジ装置Ｅについては、中止された処理Ｐの実行および処理Ｐの実行結果の保存を行うと決定する。
【０１９３】
この場合、処理管理部６０１は、第１のエッジ装置Ｅに前処理継続依頼を送信する。前処理継続依頼は、中止された処理Ｐを実行して、処理Ｐの実行結果をエッジ装置Ｅ（ストレージ７１０）に保存するよう依頼するものである。
【０１９４】
つぎに、処理管理部６０１は、複数のエッジ装置Ｅのうち、最もレイテンシが遅い第１のエッジ装置Ｅのレイテンシから当該第１のエッジ装置Ｅにおける処理Ｐの処理時間Ｔｐを引いた時間と、次にレイテンシが遅い第２のエッジ装置Ｅのレイテンシとを比較する。そして、処理管理部６０１は、比較した結果に基づいて、第２のエッジ装置Ｅにおいて、中止された処理Ｐの実行および処理Ｐの実行結果の保存を行うか否かを決定する。
【０１９５】
より詳細に説明すると、例えば、処理管理部６０１は、第２のエッジ装置Ｅのレイテンシが、第１のエッジ装置Ｅのレイテンシから当該第１のエッジ装置Ｅの処理時間Ｔｐを引いた時間よりも大きい場合、第２のエッジ装置Ｅにおいて、中止された処理Ｐの実行および処理Ｐの実行結果の保存を行うと決定する。そして、処理管理部６０１は、第２のエッジ装置Ｅを、最もレイテンシが遅い第１のエッジ装置Ｅとして、同様の処理を行う。
【０１９６】
一方、第２のエッジ装置Ｅのレイテンシが、第１のエッジ装置Ｅのレイテンシから当該第１のエッジ装置Ｅの処理時間Ｔｐを引いた時間以下の場合、処理管理部６０１は、第２のエッジ装置Ｅにおいて、中止された処理Ｐの実行および処理Ｐの実行結果の保存を行わないと決定する。この場合、処理管理部６０１は、第２のエッジ装置Ｅよりもレイテンシが小さい他のエッジ装置Ｅについて、中止された処理Ｐの実行および処理Ｐの実行結果の保存を行わないと決定する。
【０１９７】
これにより、複数のエッジ装置Ｅのうち、事前に処理Ｐを実行しておくことで、次回以降の依頼時に全体の処理時間を短縮可能なエッジ装置Ｅに対してのみ、前処理継続依頼を通知することができる。
【０１９８】
なお、各エッジ装置Ｅの処理Ｐにかかるレイテンシは、各エッジ装置Ｅにおいて算出されて管理装置１０１に通知されることにしてもよい。この場合、管理装置１０１は、各エッジ装置Ｅのレイテンシの算出は行わなくてよい。そして、管理装置１０１は、各エッジ装置Ｅから通知されたレイテンシを利用して、各エッジ装置Ｅにおいて、中止された処理Ｐの実行および処理Ｐの実行結果の保存を行うか否かを決定することにしてもよい。
【０１９９】
（実行結果テーブル１３００の記憶内容）
管理装置１０１のストレージ６１０において、通信部６０２によって受信される、エッジ装置Ｅからの処理Ｐの実行結果は、例えば、図１３に示すような実行結果テーブル１３００に書き込まれる。ここで、実行結果テーブル１３００の記憶内容について説明する。
【０２００】
図１３は、実行結果テーブル１３００の記憶内容の一例を示す説明図である。図１３において、実行結果テーブル１３００は、データ名、処理名、実行結果および保存期間のフィールドを有し、各フィールドに情報を設定することで、実行結果情報（例えば、実行結果情報１３００−１）をレコードとして記憶する。
【０２０１】
ここで、データ名は、対象データの名称である。処理名は、処理Ｐの名称である。実行結果は、対象データに対する処理Ｐの実行結果を示す。図１３の例では、実行結果フィールドには、対象データに対する処理Ｐの実行結果のデータ名を表記している。保存期間は、対象データに対する処理Ｐの実行結果の保存期間である。保存期間は、任意に設定可能であり、例えば、処理Ｐの依頼日時から数週間程度の期間に設定される。図１３の例では、保存期間フィールドには、保存期間の最終日時が設定されている。
【０２０２】
これにより、管理装置１０１は、実行済みの処理Ｐと同じ処理の処理依頼があったときに、実行結果テーブル１３００内の実行結果を利用することができる。
【０２０３】
ただし、実行結果テーブル１３００内の実行結果を保存し続けると、ストレージ６１０の枯渇を招くおそれがある。このため、管理装置１０１において、処理Ｐの実行結果の保存期間を設定する。処理管理部６０１は、実行結果テーブル１３００を参照して、保存期間を経過した処理Ｐの実行結果については、実行結果テーブル１３００から削除する。
【０２０４】
これにより、利用されなくなったデータを削除して、ストレージ６１０の空き容量が不足するのを防ぐことができる。
【０２０５】
また、処理管理部６０１は、処理Ｐの実行結果の利用頻度に応じて保存期間を延長することにしてもよい。具体的には、例えば、処理管理部６０１は、処理Ｐの処理依頼を受け付ける度に、処理Ｐの実行結果の保存期間を延長することにしてもよい。より具体的には、例えば、処理管理部６０１は、処理Ｐの処理依頼を受け付ける度に、処理Ｐの実行結果の保存期間を数日延長することにしてもよい。これにより、頻繁に利用されるデータが削除されるのを防ぐことができる。
【０２０６】
さらに、処理管理部６０１は、処理Ｐの実行結果の保存期間が度々延長されて一定期間を超えた場合、処理Ｐの実行結果を公開することにしてもよい。処理Ｐの実行結果を公開するとは、例えば、保存期間を設けずに、インターネット上にアクセス可能な状態で公開することである。
【０２０７】
ここで、図１４を用いて、処理Ｐの実行結果の利用例について説明する。ここでは、処理Ｐの実行結果として、「前処理１Ａ」の実行結果である「データ１Ａ」を例に挙げて説明する。
【０２０８】
図１４は、前処理の実行結果の利用例を示す説明図である。図１４において、管理装置１０１に保存されているデータ１Ａは、エッジ装置Ｅｉにおいて実行された前処理１Ａの実行結果である。ここで、データ１Ａが利用されなくなって保存期間を経過した場合、データ１Ａは削除される。
【０２０９】
一方、データ１Ａが頻繁に利用されることで、データ１Ａの保存期間が度々延長されて一定期間を超えた場合、データ１Ａは公開される。これにより、頻繁に利用されるデータ１Ａをインターネット上などに公開して検索可能なデータとすることができ、他の分析者やアプリから利用することが可能となる。
【０２１０】
（情報処理システム１００の動作例）
つぎに、図１５Ａ、図１５Ｂおよび図１５Ｃを用いて、実施の形態２にかかる情報処理システム１００の動作例について説明する。なお、図１５Ａ、図１５Ｂおよび図１５Ｃでは、管理装置１０１の各機能部については、図示を省略している。また、図１５Ａ、図１５Ｂおよび図１５Ｃでは、管理装置１０１から前処理依頼される複数のエッジ装置Ｅのうちのいずれか一つのエッジ装置Ｅｉの動作例のみ示している。
【０２１１】
図１５Ａ、図１５Ｂおよび図１５Ｃは、実施の形態２にかかる情報処理システム１００の動作例を示すシーケンス図である。図１５Ａのシーケンス図において、まず、管理装置１０１の処理管理部６０１は、外部アプリから前処理依頼を受け付ける（ステップＳ１５０１）。
【０２１２】
エッジ装置Ｅｉの読出時間計測部７０３は、データ読出時間の計測を開始する（ステップＳ１５０２）。つぎに、エッジ装置Ｅｉの読出時間計測部７０３は、ストレージ７１０からダミーデータを読み出す（ステップＳ１５０３）。管理装置１０１の処理管理部６０１は、データ格納情報ＤＢ１３０（図１参照）を参照して、受け付けた処理依頼から特定されるデータを検索する（ステップＳ１５０４）。
【０２１３】
エッジ装置Ｅｉの読出時間計測部７０３は、ダミーデータの読み出しが完了したら、データ読出時間を計測する（ステップＳ１５０５）。そして、エッジ装置Ｅｉの読出時間計測部７０３は、計測したデータ読出時間を、ダミーデータのデータ量とともに、管理装置１０１に通知する（ステップＳ１５０６）。この際、エッジ装置Ｅｉの読出時間計測部７０３は、処理制御部７０１にも、データ読出時間（データ量を含む）を通知する。
【０２１４】
つぎに、管理装置１０１の処理管理部６０１は、ステップＳ１５０４において検索したデータを格納しているエッジ装置Ｅｉに対して、前処理依頼を送信する（ステップＳ１５０７）。この前処理依頼は、処理Ｐｉの処理依頼に相当し、データ名と処理名とを含む。
【０２１５】
エッジ装置Ｅｉの処理制御部７０１は、管理装置１０１から前処理依頼を受信すると、処理部７０２に対して、前処理の処理依頼を出力する（ステップＳ１５０８）。そして、エッジ装置Ｅｉの処理制御部７０１は、エッジ装置Ｅｉの処理時間計測部７０４に対して、処理依頼時刻を通知する（ステップＳ１５０９）。
【０２１６】
図１５Ｂのシーケンス図において、エッジ装置Ｅｉの処理部７０２は、処理制御部７０１からの前処理の処理依頼に応じて、ストレージ７１０から、前処理の処理依頼に含まれるデータ名に対応するデータを取得する（ステップＳ１５１０）。ここでは、対象データを分割した分割データごとに、前処理を逐次実行する場合を想定する。図１５Ｂ中、点線枠で示す一連の処理は、対象データを分割した分割データごとに実行される。
【０２１７】
そして、エッジ装置Ｅｉの処理部７０２は、取得したデータに対して、前処理を実行する（ステップＳ１５１１）。つぎに、エッジ装置Ｅｉの処理部７０２は、前処理の実行結果を、エッジ装置Ｅｉの切替部７０６に通知する（ステップＳ１５１２）。
【０２１８】
エッジ装置Ｅｉの切替部７０６は、前処理の実行結果を受信すると、エッジ装置Ｅｉの処理時間計測部７０４に、前処理の実行結果の受信時刻を通知する（ステップＳ１５１３）。この際、エッジ装置Ｅｉの切替部７０６は、前処理の実行結果のデータ量もあわせて通知する。
【０２１９】
エッジ装置Ｅｉの処理時間計測部７０４は、前処理の実行結果の受信時刻およびデータ量を受信すると、ステップＳ１５０９において通知された処理依頼時刻に基づいて、データ処理時間を計算する（ステップＳ１５１４）。
【０２２０】
エッジ装置Ｅｉの処理時間計測部７０４は、計算したデータ処理時間を管理装置１０１に通知する（ステップＳ１５１５）。この際、エッジ装置Ｅｉの処理時間計測部７０４は、前処理の実行結果のデータ量もあわせて通知する。また、エッジ装置Ｅｉの処理時間計測部７０４は、処理制御部７０１にも、データ処理時間（データ量を含む）を通知する。
【０２２１】
エッジ装置Ｅｉの切替部７０６は、受信した前処理の実行結果を転送部７０７に通知し、転送部７０７により、前処理の実行結果を管理装置１０１に転送する（ステップＳ１５１６）。管理装置１０１の通信部６０２は、エッジ装置Ｅｉから前処理の実行結果を受信すると、受信した前処理の実行結果をストレージ６１０に書き込む（ステップＳ１５１７）。
【０２２２】
エッジ装置Ｅｉの切替部７０６は、前処理の実行結果の転送時刻をエッジ装置Ｅｉの転送時間計測部７０５に通知する（ステップＳ１５１８）。この際、エッジ装置Ｅｉの切替部７０６は、ＡＣＫ受信時刻もあわせて通知する。
【０２２３】
エッジ装置Ｅｉの転送時間計測部７０５は、転送時刻およびＡＣＫ受信時刻を受信すると、転送時刻とＡＣＫ受信時刻との差分から、データ転送時間を計測する（ステップＳ１５１９）。そして、エッジ装置Ｅｉの転送時間計測部７０５は、計測したデータ転送時間を管理装置１０１に通知する（ステップＳ１５２０）。この際、エッジ装置Ｅｉの転送時間計測部７０５は、前処理の実行結果のデータ量もあわせて通知する。また、エッジ装置Ｅｉの処理時間計測部７０４は、処理制御部７０１にも、データ転送時間（データ量を含む）を通知する。
【０２２４】
図１５Ｃのシーケンス図において、管理装置１０１の処理管理部６０１は、外部アプリから前処理の中止依頼を受け付ける（ステップＳ１５２１）。管理装置１０１の処理管理部６０１は、前処理の中止依頼を受け付けたことに応じて、エッジ装置Ｅｉに前処理の中止依頼を送信する（ステップＳ１５２２）。
【０２２５】
エッジ装置Ｅｉの処理制御部７０１は、管理装置１０１からの前処理の中止依頼を受信すると、処理部７０２に対して、前処理の中止依頼を通知する（ステップＳ１５２３）。この結果、処理部７０２による前処理の実行が中止される。
【０２２６】
管理装置１０１の処理管理部６０１は、前処理継続依頼処理を実行する（ステップＳ１５２４）。前処理継続依頼処理は、前処理継続依頼を通知するエッジ装置Ｅｉを決定する処理である。前処理継続依頼処理の具体的な処理手順については、図１６を用いて後述する。
【０２２７】
エッジ装置Ｅｉの処理制御部７０１は、管理装置１０１から前処理継続依頼を受信すると（ステップＳ１５２５）、中止された前処理の実行および前処理の実行結果の保存を行うか否かを決定する。具体的には、例えば、処理制御部７０１は、読出時間Ｔｒ、処理時間Ｔｐおよび転送時間Ｔｔを算出する。そして、処理制御部７０１は、処理時間Ｔｐと読出時間Ｔｒ／転送時間Ｔｔとを比較した結果に基づいて、中止された前処理の実行および前処理の実行結果の保存を行うか否かを決定する。
【０２２８】
ここでは、中止された前処理の実行および前処理の実行結果の保存を行うと決定された場合を想定する。この場合、以下のように、図１５Ｃ中、点線枠で示す一連の処理が実行される。
【０２２９】
エッジ装置Ｅｉの処理制御部７０１は、切替部７０６に対して、中止された前処理の実行結果の出力先を、転送部７０７からストレージ７１０に切り替えるよう指示する（ステップＳ１５２６）。この結果、中止された前処理の実行結果の出力先が、ストレージ７１０に切り替わる。
【０２３０】
つぎに、エッジ装置Ｅｉの処理制御部７０１は、処理部７０２により、中止された前処理を実行させる（ステップＳ１５２７）。エッジ装置Ｅｉの処理部７０２は、実行した前処理の実行結果を、切替部７０６に通知する（ステップＳ１５２８）。
【０２３１】
エッジ装置Ｅｉの切替部７０６は、前処理の実行結果を受信すると、受信した前処理の実行結果をストレージ７１０（例えば、実行結果テーブル８００）に書き込む（ステップＳ１５２９）。前処理の実行結果は、対象データの全データに対する前処理の実行結果である。
【０２３２】
つぎに、図１６を用いて、図１５Ｃに示したステップＳ１５２４の前処理継続依頼処理の具体的な処理手順について説明する。
【０２３３】
図１６は、前処理継続依頼処理の具体的処理手順の一例を示すフローチャートである。図１６のフローチャートにおいて、まず、管理装置１０１の処理管理部６０１は、受信した各エッジ装置Ｅのデータ読出時間（データ量を含む）、データ処理時間（データ量を含む）およびデータ転送時間（データ量を含む）に基づいて、各エッジ装置Ｅの読出速度Ｓｒ、処理速度Ｓｐおよび転送速度Ｓｔを算出する（ステップＳ１６０１）。
【０２３４】
ただし、受信されたデータ処理時間には、データ（分割データ）の読み出しにかかるデータ読出時間が含まれる。このため、処理速度Ｓｐを算出する際には、受信されたデータ処理時間からデータ（分割データ）のデータ読出時間を引いたものを使う。
【０２３５】
つぎに、管理装置１０１の処理管理部６０１は、算出した各エッジ装置Ｅの読出速度Ｓｒ、処理速度Ｓｐおよび転送速度Ｓｔに基づいて、各エッジ装置Ｅの読出時間Ｔｒ、処理時間Ｔｐおよび転送時間Ｔｔを算出する（ステップＳ１６０２）。そして、管理装置１０１の処理管理部６０１は、算出した各エッジ装置Ｅの読出時間Ｔｒ、処理時間Ｔｐおよび転送時間Ｔｔに基づいて、各エッジ装置ＥのレイテンシＬを算出する（ステップＳ１６０３）。
【０２３６】
つぎに、管理装置１０１の処理管理部６０１は、算出したレイテンシＬの大きい順に、複数のエッジ装置Ｅをソートする（ステップＳ１６０４）。ここでは、複数のエッジ装置Ｅの数を「ｍ」とし（ｍは、２以上の自然数）、ソート後の複数のエッジ装置Ｅを「エッジ装置Ｅ［１］〜Ｅ［ｍ］」と表記する。また、エッジ装置Ｅ［１］〜Ｅ［ｍ］のうちの任意のエッジ装置を「エッジ装置Ｅ［ｐ］」と表記する。
【０２３７】
つぎに、管理装置１０１の処理管理部６０１は、「ｐ」を「ｐ＝１」とし（ステップＳ１６０５）、エッジ装置Ｅ［ｐ］に前処理継続依頼を送信する（ステップＳ１６０６）。そして、管理装置１０１の処理管理部６０１は、エッジ装置Ｅ［ｐ＋１］のレイテンシＬ［ｐ＋１］が、エッジ装置Ｅ［ｐ］のレイテンシＬ［ｐ］から処理時間Ｔｐ［ｐ］を引いた時間より大きいか否かを判断する（ステップＳ１６０７）。なお、処理時間Ｔｐ［ｐ］は、エッジ装置Ｅ［ｐ］の処理時間Ｔｐである。
【０２３８】
ここで、レイテンシＬ［ｐ＋１］がレイテンシＬ［ｐ］から処理時間Ｔｐ［ｐ］を引いた時間より大きい場合（ステップＳ１６０７：Ｙｅｓ）、管理装置１０１の処理管理部６０１は、「ｐ」をインクリメントして（ステップＳ１６０８）、ステップＳ１６０６に戻る。
【０２３９】
一方、レイテンシＬ［ｐ＋１］がレイテンシＬ［ｐ］から処理時間Ｔｐ［ｐ］を引いた時間以下の場合（ステップＳ１６０７：Ｎｏ）、管理装置１０１の処理管理部６０１は、本フローチャートによる一連の処理を終了する。
【０２４０】
これにより、全体の処理時間の短縮に寄与するエッジ装置Ｅのみ選択して、前処理継続依頼を通知することができる。なお、管理装置１０１がいない場合、エッジ装置Ｅ１〜Ｅｎのいずれかのエッジ装置Ｅがマスタとなり、他のエッジ装置Ｅを管理する管理装置として動作して、レイテンシの算出、中止された処理Ｐの実行および処理Ｐの実行結果の保存を行うか否かの決定および前処理継続依頼を行ってもよい。
【０２４１】
以上説明したように、実施の形態２にかかる情報処理システム１００によれば、管理装置１０１は、複数のエッジ装置Ｅにおけるデータに対する処理Ｐの実行が中止された場合、複数のエッジ装置Ｅの各エッジ装置の処理Ｐにかかるレイテンシを算出する。そして、管理装置１０１は、算出した各エッジ装置Ｅのレイテンシと、各エッジ装置Ｅにおける処理Ｐの処理時間とに基づいて、各エッジ装置Ｅにおいて、処理Ｐの実行および処理Ｐの実行結果の保存を行うか否かを決定することができる。
【０２４２】
これにより、複数のエッジ装置Ｅからデータ収集する処理が中止された場合に、全体の処理時間の短縮に寄与するエッジ装置Ｅのみ選択して、中止された処理Ｐの実行および処理Ｐの実行結果の保存を行わせることで、効率的にリソースを使用することができる。
【０２４３】
また、管理装置１０１は、ストレージ６１０に保存された処理Ｐの実行結果の利用頻度に応じて、処理Ｐｉの実行結果の保存期間を延長することができる。これにより、利用頻度が高いデータ（実行結果）は残しつつ、利用頻度が低いデータは削除するようにして、ストレージリソースを効率的に使用することができる。
【０２４４】
また、管理装置１０１は、ストレージ６１０に保存された処理Ｐの実行結果の保存期間が延長されて一定期間を超えた場合、処理Ｐの実行結果を公開することができる。これにより、頻繁に利用されて保存期間が一定期間を超えたデータについては、インターネット上などに公開して検索可能なデータとすることで、他の分析者やアプリから利用可能とすることができる。
【０２４５】
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＵＳＢメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２４６】
また、本実施の形態で説明したエッジ装置Ｅｉおよび管理装置１０１は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣやＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。
【０２４７】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２４８】
（付記１）情報処理装置におけるデータに対する処理の実行が、前記処理の依頼元からの中止依頼に応じて中止された場合、前記情報処理装置における前記処理の処理速度に基づいて、前記情報処理装置において、前記処理の実行および前記処理の実行結果の保存を行うか否かを決定する処理制御部、
を有することを特徴とする情報処理装置。
【０２４９】
（付記２）前記処理制御部は、
前記処理の処理速度と、前記データが保存されているストレージから前記データを読み出す際の読出速度とに基づいて、前記処理の実行および前記処理の実行結果の保存を行うか否かを決定する、ことを特徴とする付記１に記載の情報処理装置。
【０２５０】
（付記３）前記処理制御部は、
前記処理の処理速度と、前記処理の依頼元に前記処理の実行結果を転送する際の転送速度とに基づいて、前記処理の実行および前記処理の実行結果の保存を行うか否かを決定する、ことを特徴とする付記１または２に記載の情報処理装置。
【０２５１】
（付記４）前記処理制御部は、
前記処理の実行および前記処理の実行結果の保存を行うと決定した場合、前記情報処理装置の処理部に、前記処理を実行させ、前記処理の実行結果を、前記データおよび前記処理を識別する情報と対応付けて前記情報処理装置のストレージに保存させる、ことを特徴とする付記１〜３のいずれか一つに記載の情報処理装置。
【０２５２】
（付記５）前記処理制御部は、
前記ストレージの書き込み可能な残り回数が所定値以下の場合には、前記処理の実行および前記処理の実行結果の保存を行わないと決定する、ことを特徴とする付記４に記載の情報処理装置。
【０２５３】
（付記６）前記処理の実行結果は、前記処理の実行結果の利用頻度に応じて保存期間が延長される、ことを特徴とする付記１〜５のいずれか一つに記載の情報処理装置。
【０２５４】
（付記７）情報処理装置におけるデータに対する処理の実行が、前記処理の依頼元からの中止依頼に応じて中止された場合、前記情報処理装置における前記処理の処理速度に基づいて、前記情報処理装置において、前記処理の実行および前記処理の実行結果の保存を行うか否かを決定する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【０２５５】
（付記８）前記決定する処理は、
前記処理の処理速度と、前記データが保存されているストレージから前記データを読み出す際の読出速度とに基づいて、前記処理の実行および前記処理の実行結果の保存を行うか否かを決定する、ことを特徴とする付記７に記載の情報処理プログラム。
【０２５６】
（付記９）前記決定する処理は、
前記処理の処理速度と、前記処理の依頼元に前記処理の実行結果を転送する際の転送速度とに基づいて、前記処理の実行および前記処理の実行結果の保存を行うか否かを決定する、ことを特徴とする付記７または８に記載の情報処理プログラム。
【０２５７】
（付記１０）第１の情報処理装置と、前記第１の情報処理装置からの処理依頼に応じて、データに対する処理を実行する第２の情報処理装置と、を含み、
前記第２の情報処理装置は、
前記第１の情報処理装置からの中止依頼に応じて前記処理の実行が中止された場合、前記第２の情報処理装置における前記処理の処理速度に基づいて、前記処理の実行および前記処理の実行結果の保存を行うか否かを決定する、
ことを特徴とする情報処理システム。
【０２５８】
（付記１１）前記第２の情報処理装置は、
前記処理の処理速度と、前記データが保存されているストレージから前記データを読み出す際の読出速度とに基づいて、前記処理の実行および前記処理の実行結果の保存を行うか否かを決定する、ことを特徴とする付記１０に記載の情報処理システム。
【０２５９】
（付記１２）前記第２の情報処理装置は、
前記処理の処理速度と、前記処理の依頼元に前記処理の実行結果を転送する際の転送速度とに基づいて、前記処理の実行および前記処理の実行結果の保存を行うか否かを決定する、ことを特徴とする付記１０または１１に記載の情報処理システム。
【０２６０】
（付記１３）前記第１の情報処理装置は、
複数の情報処理装置におけるデータに対する処理の実行が中止された場合、前記複数の情報処理装置の各情報処理装置の前記処理にかかるレイテンシと、前記各情報処理装置における前記処理の処理時間とに基づいて、前記各情報処理装置において、前記処理の実行および前記処理の実行結果の保存を行うか否かを決定する、
ことを特徴とする付記１０〜１２のいずれか一つに記載の情報処理システム。
【０２６１】
（付記１４）前記第１の情報処理装置は、
前記複数の情報処理装置のうち、最もレイテンシが遅い情報処理装置のレイテンシから当該情報処理装置における前記処理の処理時間を引いた時間と、次にレイテンシが遅い情報処理装置のレイテンシとを比較した結果に基づいて、前記次にレイテンシが遅い情報処理装置において、前記処理の実行および前記処理の実行結果の保存を行うか否かを決定する、ことを特徴とする付記１３に記載の情報処理システム。
【０２６２】
（付記１５）前記各情報処理装置のレイテンシは、前記各情報処理装置における前記処理の処理速度、前記データの読出速度、および、前記処理の実行結果の転送速度に基づき算出される、ことを特徴とする付記１３または１４に記載の情報処理システム。
【符号の説明】
【０２６３】
１００  情報処理システム
１０１  管理装置
１０２  クライアント装置
１１０  ネットワーク
１２０，１２００  管理テーブル
１３０  データ格納情報ＤＢ
４００  バス
４０１  ＣＰＵ
４０２  メモリ
４０３  ディスクドライブ
４０４  ディスク
４０５  通信Ｉ／Ｆ
４０６  可搬型記録媒体Ｉ／Ｆ
４０７  可搬型記録媒体
６０１  処理管理部
６０２  通信部
６１０，７１０  ストレージ
７０１  処理制御部
７０２  処理部
７０３  読出時間計測部
７０４  処理時間計測部
７０５  転送時間計測部
７０６  切替部
７０７  転送部
８００，１３００  実行結果テーブル
【図１】
2020098547.tif 000003
【図２】
2020098547.tif 000004
【図３】
2020098547.tif 000005
【図４】
2020098547.tif 000006
【図５】
2020098547.tif 000007
【図６】
2020098547.tif 000008
【図７】
2020098547.tif 000009
【図８】
2020098547.tif 000010
【図９Ａ】
2020098547.tif 000011
【図９Ｂ】
2020098547.tif 000012
【図９Ｃ】
2020098547.tif 000013
【図１０】
2020098547.tif 000014
【図１１】
2020098547.tif 000015
【図１２】
2020098547.tif 000016
【図１３】
2020098547.tif 000017
【図１４】
2020098547.tif 000018
【図１５Ａ】
2020098547.tif 000019
【図１５Ｂ】
2020098547.tif 000020
【図１５Ｃ】
2020098547.tif 000021
【図１６】
2020098547.tif 000022