(57)【要約】【課題】エッジサーバとセンタサーバ間のメッセージ数の増大を抑制できる分散プロセス管理システムを提供する。【解決手段】デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行するエッジサーバと前記プロセスの状態を管理するセンタサーバとを含む分散プロセス管理システムであって、前記エッジサーバは、前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを前記センタサーバに通知し、前記センタサーバは、前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新する、ことを特徴とする。【選択図】図９
2019067176.tif 000002
【特許請求の範囲】
【請求項１】
デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行するエッジサーバと前記プロセスの状態を管理するセンタサーバとを含む分散プロセス管理システムであって、
前記エッジサーバは、
前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを前記センタサーバに通知し、
前記センタサーバは、
前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新する、
ことを特徴とする分散プロセス管理システム。
【請求項２】
前記エッジサーバは、前記処理量が閾値処理量より大きい場合に、前記プロセスの起動時刻と処理量とを通知する、
ことを特徴とする請求項１に記載の分散プロセス管理システム。
【請求項３】
前記エッジサーバは、前記センタサーバとの通信が遮断した場合、前記プロセスの終了時刻を保持し、前記センタサーバとの通信が復帰した場合、前記プロセスの終了時刻を前記センタサーバに送信し、
前記センタサーバは、予測した前記プロセスの終了時刻を受信した前記プロセスの終了時刻に補正する、
ことを特徴とする請求項１又は２に記載の分散プロセス管理システム。
【請求項４】
前記エッジサーバは、前記プロセスを終了した場合、前記プロセスの終了時刻を前記センタサーバに通知しない、
ことを特徴とする請求項１から３のいずれか１項に記載の分散プロセス管理システム。
【請求項５】
デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行するステップと、前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを通知するステップとを第１のコンピュータが実行し、
前記プロセスの状態を管理するステップと、前記第１のコンピュータから前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新するステップとを第２のコンピュータが実行する、
ことを特徴とする分散プロセス管理方法。
【請求項６】
デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行する処理部と、
前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを、前記プロセスの状態を管理し、前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新するセンタサーバに通知する通知部と、
を含む情報処理装置。
【請求項７】
デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行し、前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを通知するエッジサーバと通信可能な情報処理装置であって、
前記プロセスの状態を管理する管理部と、
前記エッジサーバから前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新する更新部と、
を含む情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、分散プロセス管理システム、分散プロセス管理方法、及び情報処理装置に関する。
【背景技術】
【０００２】
管理装置が被管理装置の情報を収集し、被管理装置に負荷（タスク）を分配する分散システムにおいて、故障などが原因で管理装置が負荷を分配できない場合に、被管理装置が管理装置に代替して負荷を分配する技術が知られている（例えば、特許文献１参照）。また、コンピュータの利用形態として、クラウドコンピューティングと、その派生形であるエッジコンピューティングが知られている（例えば、特許文献２参照）。
【０００３】
エッジコンピューティングとは、クラウドに相当するサーバ（以下、センタサーバという）に加え、エンドユーザにより近い別のサーバ（以下、エッジサーバという）を設置する利用形態をいう。エッジサーバは、クラウドの負荷を分散させることが可能である。また、エッジサーバは、高速なレスポンスが要求される処理をクラウドの代わりに実行することで、通信に起因する遅延を抑制することが可能である（例えば、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−１２３７６８号公報
【特許文献２】特表２０１５−５０５４０４号公報
【特許文献３】特開２０１７−１２６２３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上述したエッジサーバは、エンドユーザのデバイスが生成して送出したデータ（例えばセンシングデータなど）を受信する。エンドユーザのデバイスは、Personal Computer（ＰＣ）やスマートフォンなどに限定されず、近年では環境センサ、ビーコン端末、自動車、家電機器など、多くのものが対象になる。エッジサーバはこのようなデバイスから送出されたデータを受信すると、データの内容に対応するプロセスを起動して実行する。
【０００６】
しかしながら、エッジサーバが受信するデータはInternet of Things（ＩｏＴ）への注目が高まるにつれて増加傾向にあり、これに伴い、エッジサーバが起動するプロセス数が増大しつつある。一方で、エッジサーバのコンピュータリソースはセンタサーバに比べて少ないこと多い。このため、プロセスを実行するエッジサーバを制御してエッジサーバ間で負荷を分散させるために、エッジサーバが実行するプロセスの状態（例えばプロセスの起動時刻や終了時刻など）をセンタサーバがエッジサーバ毎に管理することが要求される。
【０００７】
プロセスの状態をセンタサーバが管理する場合、例えばプロセスの状態を伝えるメッセージをエッジサーバがセンタサーバに通知してもよいが、プロセスの数が増大するにつれて、エッジサーバが通知するメッセージの数が増大するおそれがある。
【０００８】
そこで、１つの側面では、エッジサーバとセンタサーバ間のメッセージ数の増大を抑制できる分散プロセス管理システム、分散プロセス管理方法、及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
１つの実施態様では、デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行するエッジサーバと前記プロセスの状態を管理するセンタサーバとを含む分散プロセス管理システムであって、前記エッジサーバは、前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを前記センタサーバに通知し、前記センタサーバは、前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新する、ことを特徴とする。
【発明の効果】
【００１０】
エッジサーバとセンタサーバ間のメッセージ数の増大を抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は分散プロセス管理システムの一例を説明するための図である。
【図２】図２はセンタサーバのハードウェア構成の一例である。
【図３】図３はエッジサーバ及びセンタサーバのブロック図の一例である。
【図４】図４（ａ）はプロセス情報テーブルの一例である。図４（ｂ）は処理量情報テーブルの一例である。図４（ｃ）は状態情報テーブルの一例である。図４（ｄ）は状態情報テーブルの一例である。
【図５】図５はエッジサーバの動作の一例を示すフローチャートである。
【図６】図６は情報更新処理の一例を示すフローチャートである。
【図７】図７はセンタサーバの動作の一例を示すフローチャートである。
【図８】図８は状態更新処理の一例を示すフローチャートである。
【図９】図９（ａ）〜（ｃ）はプロセスの終了時刻の予測を説明するための図である。
【図１０】図１０は状態補正処理の一例を示すフローチャートである。
【図１１】図１１はメッセージ数の削減効果の一例を説明するための図である。
【発明を実施するための形態】
【００１２】
以下、本件を実施するための形態について図面を参照して説明する。
【００１３】
図１は分散プロセス管理システムＳの一例を説明するための図である。分散プロセス管理システムＳはエッジサーバ１００とセンタサーバ２００とを含んでいる。エッジサーバ１００とセンタサーバ２００は互いに通信ネットワークＮＷ１によって接続されている。通信ネットワークＮＷ１としては例えばインターネットがある。
【００１４】
エッジサーバ１００はエンドユーザが利用する種々のデバイス（具体的にはＩｏＴデバイス）３００から送出されるデータを、通信ネットワークＮＷ２を介して受信することができる。デバイス３００としては、例えば自動車などの移動体、スマートテレビなどの家電機器、スマートウォッチなどのウェアラブル端末、スマートフォンやタブレット端末などのスマート端末、照度センサや温度センサなどの環境センサなどがある。また、通信ネットワークＮＷ２としては例えばLong Term Evolution（ＬＴＥ）網といった広域無線通信ネットワークがある。尚、通信ネットワークＮＷ２は広域無線通信ネットワークに限定されず、Ｗｉ−Ｆｉ（登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）といった近距離無線通信ネットワークであってもよいし、狭帯域通信の有線通信ネットワークであってもよい。
【００１５】
エッジサーバ１００は、図１に示すように、センタサーバ２００に比べてエンドユーザ側に近い位置に配置される。言い換えれば、エッジサーバ１００はセンタサーバ２００とデバイス３００との間に配置される。エッジサーバ１００としては、例えばＩｏＴゲートウェイ製品、携帯基地局、アクセスポイントなどの情報処理装置がある。エッジサーバ１００はデバイス３００から送出されたデータを、無線通信ＷＬを利用して受信する。エッジサーバ１００はデータを受信すると、データの内容（例えば画像や音声といったコンテンツやその種別など）に対応するプロセスを起動して実行する。具体的には、エッジサーバ１００はプロセスを起動して実行し、受信したデータを処理する。尚、詳細は後述するが、本実施形態に係るエッジサーバ１００はプロセスを起動する度に、プロセスの起動時刻とプロセスの処理量とを含む起動通知をセンタサーバ２００に送信する。しかしながら、本実施形態に係るエッジサーバ１００はプロセスを終了しても、プロセスの終了時刻を含む終了通知をセンタサーバ２００に送信しない。したがって、起動通知と終了通知の両方が送信される場合に比べて、本実施形態では、終了通知が送信されないため、エッジサーバ１００から通信ネットワークＮＷ１に出る通知の数は２分の１になる。
【００１６】
センタサーバ２００はクラウドＣＬ上のデータセンターＤＣなどに配備される情報処理装置である。センタサーバ２００はエッジサーバ１００から送信された起動通知を受信し、種々の情報処理を実行する。例えば、センタサーバ２００は起動通知に含まれるプロセスの起動時刻と処理量や、エッジサーバ１００の処理能力を利用して、プロセスの終了時刻を予測して更新する。尚、センタサーバ２００が実行する情報処理の詳細については後述する。
【００１７】
以下、上述したエッジサーバ１００とセンタサーバ２００の詳細を説明する。
【００１８】
図２はセンタサーバ２００のハードウェア構成の一例である。尚、上述したエッジサーバ１００については基本的にセンタサーバ２００と同様のハードウェア構成であるため、説明を省略する。図２に示すように、センタサーバ２００は、少なくともハードウェアプロセッサとしてのCentral Processing Unit（ＣＰＵ）２００Ａ、Random Access Memory（ＲＡＭ）２００Ｂ、Read Only Memory（ＲＯＭ）２００Ｃ及びネットワークＩ／Ｆ（インタフェース）２００Ｄを含んでいる。センタサーバ２００は、必要に応じて、Hard Disk Drive（ＨＤＤ）２００Ｅ、入力Ｉ／Ｆ２００Ｆ、出力Ｉ／Ｆ２００Ｇ、入出力Ｉ／Ｆ２００Ｈ、ドライブ装置２００Ｉの少なくとも１つを含んでいてもよい。ＣＰＵ２００Ａからドライブ装置２００Ｉまでは、内部バス２００Ｊによって互いに接続されている。少なくともＣＰＵ２００ＡとＲＡＭ２００Ｂとが協働することによってコンピュータが実現される。尚、ＣＰＵ２００Ａに代えてMicro Processing Unit（ＭＰＵ）をハードウェアプロセッサとして利用してもよい。
【００１９】
入力Ｉ／Ｆ２００Ｆには、入力装置７１０が接続される。入力装置７１０としては、例えばキーボードやマウスなどがある。出力Ｉ／Ｆ２００Ｇには、表示装置７２０が接続される。表示装置７２０としては、例えば液晶ディスプレイがある。入出力Ｉ／Ｆ２００Ｈには、半導体メモリ７３０が接続される。半導体メモリ７３０としては、例えばUniversal Serial Bus（ＵＳＢ）メモリやフラッシュメモリなどがある。入出力Ｉ／Ｆ２００Ｈは、半導体メモリ７３０に記憶されたプログラムやデータを読み取る。入力Ｉ／Ｆ２００Ｆ及び入出力Ｉ／Ｆ２００Ｈは、例えばＵＳＢポートを備えている。出力Ｉ／Ｆ２００Ｇは、例えばディスプレイポートを備えている。
【００２０】
ドライブ装置２００Ｉには、可搬型記録媒体７４０が挿入される。可搬型記録媒体７４０としては、例えばCompact Disc（ＣＤ）−ＲＯＭ、Digital Versatile Disc（ＤＶＤ）といったリムーバブルディスクがある。ドライブ装置２００Ｉは、可搬型記録媒体７４０に記録されたプログラムやデータを読み込む。ネットワークＩ／Ｆ２００Ｄは、例えばＬＡＮポートを備えている。ネットワークＩ／Ｆ２００Ｄは上述した通信ネットワークＮＷ１と接続される。
【００２１】
上述したＲＡＭ２００Ｂには、ＲＯＭ２００ＣやＨＤＤ２００Ｅに記憶されたプログラムがＣＰＵ２００Ａによって格納される。ＲＡＭ２００Ｂには、可搬型記録媒体７４０に記録されたプログラムがＣＰＵ２００Ａによって格納される。格納されたプログラムをＣＰＵ２００Ａが実行することにより、ＣＰＵ２００Ａは後述する各種の機能を実現し、また、後述する各種の処理を実行する。尚、プログラムは後述するフローチャートに応じたものとすればよい。
【００２２】
次に、図３及び図４を参照して、エッジサーバ１００及びセンタサーバ２００の機能について説明する。
【００２３】
図３はエッジサーバ１００及びセンタサーバ２００のブロック図の一例である。図４（ａ）はプロセス情報テーブルＴ１の一例である。図４（ｂ）は処理量情報テーブルＴ２の一例である。図４（ｃ）は状態情報テーブルＴ３の一例である。図４（ｄ）は状態情報テーブルＴ４の一例である。
【００２４】
まず、エッジサーバ１００について説明する。エッジサーバ１００は、図３に示すように、プロセス情報記憶部１０１、処理量情報記憶部１０２、及び状態情報記憶部１０３を含んでいる。また、エッジサーバ１００は、データ処理部１０４、通信状態監視部１０５、及び情報処理部１０６を含んでいる。さらに、エッジサーバ１００は起動通知送信部１０７及び更新要求送信部１０８を含んでいる。尚、プロセス情報記憶部１０１、処理量情報記憶部１０２、及び状態情報記憶部１０３は例えば上述したＨＤＤ２００Ｅによって実現することができる。データ処理部１０４、通信状態監視部１０５及び情報処理部１０６は例えば上述したＣＰＵ２００Ａ及びＲＡＭ２００Ｂによって実現することができる。起動通知送信部１０７及び更新要求送信部１０８は例えば上述したネットワークＩ／Ｆ２００Ｄによって実現することができる。
【００２５】
プロセス情報記憶部１０１は、データ処理部１０４が起動して実行するプロセスに関するプロセス情報を記憶する。プロセス情報は、図４（ａ）に示すように、プロセス情報テーブルＴ１により管理される。プロセス情報は、プロセスＩＤ、処理量、及び更新時刻といった複数の項目を含んでいる。プロセスＩＤはプロセスを識別する識別情報である。処理量は受信したデータに対してそのプロセスが実際に行う仕事の量である。更新時刻はプロセス情報が更新された時刻を表している。
【００２６】
ここで、上述した処理量は以下の数式（１）により表すことができる。
処理量Ｗｐｒｏｃ＝ΣｉＣ・ｔｉ／Ｎｉ・・・（１）
変数Ｃはエッジサーバ１００の処理能力を表している。特に単一のエッジサーバ１００内では変数Ｃが一定であると仮定できるため、変数Ｃを処理能力「１」や処理能力「１０」に設定すれば、処理量をエッジサーバ１００毎に正規化することができる。変数ｔはプロセスの処理時間を表している。処理時間は処理に要する時間であり、現在時刻と更新時刻と差により表すことができる。変数Ｎは現在のプロセス数を表している。変数ｉはプロセスが到着してから離脱するまでの間隔を表している。したがって、例えば処理能力「１０」のエッジサーバ１００が１台で２つのプロセスを処理する場合、１つのプロセスに対してエッジサーバ１００は変数Ｃ／変数Ｎにより処理能力「５」で処理する。そして、処理能力「５」に処理時間を掛け合わせることで処理量を算出することができる。尚、処理能力「１」の場合、上述した数式（１）から変数Ｃを省略することができる。
【００２７】
処理量情報記憶部１０２は、上述した処理量の移動平均を記憶する。処理量情報は、図４（ｂ）に示すように、処理量情報テーブルＴ２により管理される。処理量情報は、プログラムＩＤ及び処理量平均といった複数の項目を含んでいる。プログラムＩＤはプログラムを識別する識別情報である。尚、プロセスはプログラムの実行単位である。一方、処理量平均は処理量の移動平均を表している。
【００２８】
状態情報記憶部１０３は、データ処理部１０４が起動したプロセスの状態に関する第１の状態情報を記憶する。第１の状態情報は、図４（ｃ）に示すように、状態情報テーブルＴ３により管理される。第１の状態情報は、プロセスＩＤ、プロセス起動時刻、及びプロセス終了時刻といった複数の項目を含んでいる。特に、プロセス起動時刻及びプロセス終了時刻はそれぞれプロセスの起動時刻及び終了時刻を表している。
【００２９】
データ処理部１０４はデバイス３００から送出されたデータを、通信ネットワークＮＷ２を介して受信すると、受信したデータを処理する。より詳しくは、データ処理部１０４はデータを受信すると、データの内容に対応するプロセスを起動して実行し、データを処理しつつプロセスを管理する。特に、データ処理部１０４はプロセスを起動すると、プロセスの起動をプロセスＩＤとともに情報処理部１０６に通知する。また、データ処理部１０４はプロセスを終了すると、プロセスの終了をプロセスＩＤとともに情報処理部１０６に通知する。これにより、情報処理部１０６はプロセスの状態を確認することができる。
【００３０】
通信状態監視部１０５はエッジサーバ１００とセンタサーバ２００との通信状態を監視して情報処理部１０６に通知する。例えば、エッジサーバ１００とセンタサーバ２００との通信が遮断すると、通信状態監視部１０５は通信不能であることを示す第１の通信状態を情報処理部１０６に通知する。例えば、エッジサーバ１００とセンタサーバ２００との通信が遮断した状態から復帰すると、通信状態監視部１０５は通信中であることを示す第２の通信状態を情報処理部１０６に通知する。尚、通信状態監視部１０５は例えば起動通知送信部１０７などを監視してエッジサーバ１００とセンタサーバ２００との通信状態を判断すればよい。
【００３１】
情報処理部１０６はデータ処理部１０４から通知された内容と通信状態監視部１０５から通知された通信状態とに基づいて、種々の情報処理を実行する。例えば、情報処理部１０６はデータ処理部１０４からプロセスの起動が通知され、通信状態監視部１０５から第２の通信状態が通知されると、状態情報記憶部１０３にアクセスし、状態情報を更新する。具体的には、情報処理部１０６はプロセスＩＤとプロセス起動時刻を登録する。プロセスの終了が通知された場合には、情報処理部１０６はそのプロセスＩＤに応じたプロセス終了時刻を登録する。また、情報処理部１０６はプロセスＩＤとプロセス起動時刻を登録した場合、上述した処理量とその処理量の移動平均を算出し、それぞれプロセス情報記憶部１０１と処理量情報記憶部１０２とに登録する。そして、情報処理部１０６は算出した処理量が閾値処理量より大きい場合、プロセスの起動時刻とそのプロセスの処理量とを含む起動通知を起動通知送信部１０７に出力する。その他、情報処理部１０６は種々の情報処理を実行するが、その詳細については後述する。
【００３２】
起動通知送信部１０７は情報処理部１０６から出力された起動通知をセンタサーバ２００に向けて送信する。更新要求送信部１０８は情報処理部１０６から出力された更新要求をセンタサーバ２００に向けて送信する。尚、詳細は後述するが、更新要求はセンタサーバ２００が管理する第２の状態情報の更新を要求する情報である。例えば、エッジサーバ１００とセンタサーバ２００の通信が遮断した場合、起動通知送信部１０７は起動通知をセンタサーバ２００に送信することができない。この場合、情報処理部１０６はプロセス終了時刻が登録された第１の状態情報のリストをプロセス状態のリストとして含む更新要求を更新要求送信部１０８に出力する。このような更新要求を更新要求送信部１０８はセンタサーバ２００に向けて送信する。
【００３３】
次に、センタサーバ２００について説明する。センタサーバ２００は、図３に示すように、状態情報記憶部２０１、起動通知受信部２０２、更新要求受信部２０３、情報更新部２０４、及び状態情報管理部２０５を含んでいる。尚、状態情報記憶部２０１は例えば上述したＨＤＤ２００Ｅによって実現することができる。起動通知受信部２０２及び更新要求受信部２０３は例えば上述したネットワークＩ／Ｆ２００Ｄによって実現することができる。情報更新部２０４及び状態情報管理部２０５は例えば上述したＣＰＵ２００Ａ及びＲＡＭ２００Ｂによって実現することができる。
【００３４】
状態情報記憶部２０１は、各エッジサーバ１００のプロセスの状態に関する第２の状態情報を記憶する。第２の状態情報は、図４（ｄ）に示すように、状態情報テーブルＴ４により管理される。第２の状態情報は、エッジサーバＩＤ、プロセスＩＤ、プロセス起動時刻、及びプロセス終了予測時刻といった複数の項目を含んでいる。特に、エッジサーバＩＤは各エッジサーバ１００を識別する識別情報である。また、プロセス終了予測時刻は情報更新部２０４が起動通知に含まれるプロセスの起動時刻及び処理量、並びにエッジサーバ１００の処理能力に基づいて算出したそのプロセスの終了時刻の予測値である。
【００３５】
起動通知受信部２０２はエッジサーバ１００から送信された起動通知を受信して、情報更新部２０４に出力する。更新要求受信部２０３はエッジサーバ１００から送信された更新要求を受信して、情報更新部２０４に出力する。情報更新部２０４は起動通知受信部２０２から出力された起動通知や更新要求受信部２０３から出力された更新要求に基づいて、状態情報記憶部２０１が記憶する第２の状態情報を更新する。例えば、情報更新部２０４は起動通知を受け付けると、起動通知に含まれるプロセスの起動時刻と処理量とエッジサーバ１００の処理能力とに基づいて、プロセス終了予測時刻を算出して更新する。例えば、情報更新部２０４は更新要求を受け付けると、受け付けた更新要求に含まれる第１の状態情報のリストに基づいて、状態情報記憶部２０１が記憶する第２の状態情報を更新する。これにより、第２の状態情報に含まれるプロセス終了予測時刻が第１の状態情報に含まれるプロセス終了時刻に書き換わる。すなわち、プロセス終了予測時刻が実際のプロセス終了時刻に補正される。
【００３６】
状態情報管理部２０５は状態情報記憶部２０１が記憶する第２の状態情報を監視し、プロセス終了予測時刻を経過した第２の状態情報を検出すると、検出した第２の状態情報を情報更新部２０４に通知する。すなわち、状態情報管理部２０５はプロセスの終了を情報更新部２０４に通知する。これにより、情報更新部２０４はそのプロセスが終了した後に残るプロセスの起動時刻と処理量とエッジサーバ１００の処理能力とに基づいて、プロセス終了予測時刻を改めて算出して更新する。
【００３７】
次に、分散プロセス管理システムＳの動作について説明する。
【００３８】
まず、図５を参照して、エッジサーバ１００の動作について説明する。図５はエッジサーバ１００の動作の一例を示すフローチャートである。まず、データ処理部１０４は新規プロセスを起動したか否かを判断する（ステップＳ１０１）。データ処理部１０４は新規プロセスを起動したと判断した場合（ステップＳ１０１：ＹＥＳ）、次いで、通信状態監視部１０５は通信が遮断しているか否かを判断する（ステップＳ１０２）。通信状態監視部１０５は通信が遮断していないと判断した場合（ステップＳ１０２：ＮＯ）、情報処理部１０６は処理量が閾値処理量以下であるか否かを判断する（ステップＳ１０３）。より詳しくは、情報処理部１０６は起動した新規プロセスの処理量を算出し、算出した処理量が閾値処理量以下であるか否かを判断する。
【００３９】
情報処理部１０６は処理量が閾値処理量以下でないと判断した場合（ステップＳ１０３：ＮＯ）、起動通知送信部１０７は起動通知を送信する（ステップＳ１０４）。言い換えれば、情報処理部１０６は処理量が閾値処理量より大きいと判断した場合、起動通知送信部１０７は起動通知を送信する。一方で、情報処理部１０６は処理量が閾値処理量以下であると判断した場合（ステップＳ１０３：ＹＥＳ）、ステップＳ１０４の処理をスキップする。すなわち、処理量が閾値処理量以下である場合、そのプロセスは短時間で終了する可能性が高く、センタサーバ２００に起動通知を送信してプロセス終了予測時刻を算出するほどの理由が乏しいためである。このように、処理量が閾値処理量以下である場合に、起動通知を送信しないことで、エッジサーバ１００とセンタサーバ２００とのメッセージ数を削減することができる。
【００４０】
一方、データ処理部１０４は新規プロセスを起動しておらず（ステップＳ１０１：ＮＯ）、既存プロセスを終了したと判断した場合（ステップＳ１０５：ＹＥＳ）、次いで、通信状態監視部１０５は通信が遮断しているか否かを判断する（ステップＳ１０６）。通信状態監視部１０５は通信が遮断していると判断した場合（ステップＳ１０６：ＹＥＳ）、情報処理部１０６は第１の状態情報を更新する（ステップＳ１０７）。尚、ステップＳ１０２の処理において、通信状態監視部１０５は通信が遮断していると判断した場合（ステップＳ１０２：ＹＥＳ）も同様に、情報処理部１０６はステップＳ１０７の処理を実行する。すなわち、エッジサーバ１００とセンタサーバ２００との通信が遮断している状態では、起動通知送信部１０７は起動通知を送信することができない。この場合、情報処理部１０６は起動して実行したプロセスが終了すると、そのプロセスの終了時刻を第１の状態情報に登録し、通信が復帰するまで第１の状態情報を保持する。
【００４１】
ここで、ステップＳ１０３の処理において処理量が閾値処理量以下である場合、ステップＳ１０４の処理が実行された場合、ステップＳ１０６の処理において通信が遮断していない場合、又はステップＳ１０７の処理が実行された場合、情報処理部１０６は情報更新処理を実行する（ステップＳ１０８）。情報更新処理は、プロセス情報記憶部１０１が記憶するプロセス情報、及び処理量情報記憶部１０２が記憶する処理量情報を更新する処理である。尚、情報更新処理の詳細については後述する。
【００４２】
一方、データ処理部１０４は既存プロセスが終了していない場合（ステップＳ１０５：ＮＯ）、通信状態監視部１０５は通信が復帰したか否かを判断する（ステップＳ１０９）。通信状態監視部１０５は通信が復帰していると判断した場合（ステップＳ１０９：ＹＥＳ）、更新要求送信部１０８は更新要求を送信する（ステップＳ１１０）。より詳しくは、新規のプロセスが起動したもののそのプロセスが終了しておらず、かつ、通信が遮断した状態から復帰した場合には、情報処理部１０６は第１の状態情報を取得してリスト化し、リスト化した第１の状態情報を更新要求に含め、その更新要求を更新要求送信部１０８に出力する。これにより、更新要求送信部１０８は第１の状態情報のリストを含む更新要求をセンタサーバ２００に向けて送信する。ステップＳ１１０の処理が完了した場合、又は、通信状態監視部１０５は通信が復帰していないと判断した場合（ステップＳ１０９：ＮＯ）、エッジサーバ１００は処理を終える。エッジサーバ１００は当該処理を定期的に繰り返す。
【００４３】
次に、図６を参照して、上述した情報更新処理について説明する。
【００４４】
図６は情報更新処理の一例を示すフローチャートである。上述したように、ステップＳ１０４やＳ１０７などの処理が完了すると、情報処理部１０６はプロセスＩＤを選択する（ステップＳ２０１）。より詳しくは、情報処理部１０６はプロセス情報記憶部１０１にアクセスし、プロセス情報テーブルＴ１によって管理されたプロセス情報の中からいずれかのプロセスＩＤを選択する。ステップＳ２０１の処理が完了すると、次いで、情報処理部１０６は選択したプロセスＩＤが特定するプロセスの処理量を算出する（ステップＳ２０２）。具体的には、上述した数式（１）を利用して、情報処理部１０６はプロセスの処理量を算出し、プロセス情報に登録する。
【００４５】
ステップＳ２０２の処理が完了すると、次いで、情報処理部１０６は更新時刻に現在時刻を登録する（ステップＳ２０３）。すなわち、情報処理部１０６は選択したプロセスＩＤが特定するプロセス情報の更新時刻に現在時刻を登録する。ステップＳ２０３の処理が完了すると、次いで、情報処理部１０６はプロセス終了時の処理であるか否かを判断する（ステップＳ２０４）。情報処理部１０６はプロセス終了時の処理であると判断した場合（ステップＳ２０４：ＹＥＳ）、エントリを削除して処理量平均を更新する（ステップＳ２０５）。一方、情報処理部１０６はプロセス終了時の処理でないと判断した場合（ステップＳ２０４：ＮＯ）、ステップＳ２０５の処理をスキップする。
【００４６】
ステップＳ２０５の処理が完了した場合、又は、ステップＳ２０５の処理がスキップされた場合、情報処理部１０６は全プロセスＩＤが終了したか否かを判断する（ステップＳ２０６）。言い換えれば、情報処理部１０６はまだ選択していないプロセスＩＤがあるか否かを判断する。情報処理部１０６は全プロセスＩＤが終了していないと判断した場合（ステップＳ２０６：ＮＯ）、再び、ステップＳ２０１の処理を実行する。一方、情報処理部１０６は全プロセスＩＤが終了したと判断した場合（ステップＳ２０６：ＹＥＳ）、情報更新処理を終える。
【００４７】
続いて、図７を参照して、センタサーバ２００の動作について説明する。図７はセンタサーバ２００の動作の一例を示すフローチャートである。まず、起動通知受信部２０２は起動通知を受信したか否かを判断する（ステップＳ３０１）。起動通知受信部２０２は起動通知を受信したと判断した場合（ステップＳ３０１：ＹＥＳ）、情報更新部２０４は状態更新処理を実行する（ステップＳ３０２）。状態更新処理は、状態情報記憶部２０１が記憶する第２の状態情報を更新する処理である。尚、状態更新処理の詳細については後述する。情報更新部２０４が状態更新処理を実行し終えると、センタサーバ２００は動作を終える。
【００４８】
一方、起動通知受信部２０２は起動通知を受信していないと判断した場合（ステップＳ３０１：ＮＯ）、次いで、状態情報管理部２０５はプロセス終了予測時刻を経過したか否かを判断する（ステップＳ３０３）。例えば、状態情報管理部２０５は状態情報記憶部２０１に定期的にアクセスし、プロセス終了予測時刻を経過した第２の状態情報があるか否かを判断する。状態情報管理部２０５はプロセス終了予測時刻を経過したと判断した場合（ステップＳ３０３：ＹＥＳ）、情報更新部２０４はステップＳ３０２の処理を実行する。情報更新部２０４が状態更新処理を実行し終えると、センタサーバ２００は動作を終える。
【００４９】
一方、状態情報管理部２０５はプロセス終了予測時刻を経過していないと判断した場合（ステップＳ３０３：ＮＯ）、更新要求受信部２０３は更新要求を受信したか否かを判断する（ステップＳ３０４）。更新要求受信部２０３は更新要求を受信したと判断した場合（ステップＳ３０４：ＹＥＳ）、情報更新部２０４は状態補正処理を実行する（ステップＳ３０５）。状態補正処理は、状態情報記憶部２０１が記憶する第２の状態情報を補正する処理である。尚、状態補正処理の詳細については後述する。情報更新部２０４が状態補正処理を実行し終えると、センタサーバ２００は動作を終える。また、更新要求受信部２０３は更新要求を受信していないと判断した場合（ステップＳ３０４：ＮＯ）も同様に、センタサーバ２００は動作を終える。
【００５０】
次に、図８を参照して、上述した状態更新処理について説明する。
【００５１】
図８は状態更新処理の一例を示すフローチャートである。上述したように、ステップＳ３０１の処理で起動通知受信部２０２が起動通知を受信したと判断した場合や、ステップＳ３０３の処理で状態情報管理部２０５がプロセス終了予測時刻を経過したと判断した場合、情報更新部２０４はプロセスＩＤを選択する（ステップＳ４０１）。より詳しくは、情報更新部２０４は起動通知受信部２０２から出力された起動通知に基づいて、起動通知を送信したエッジサーバ１００を特定し、特定したエッジサーバ１００における第２の状態情報の中からいずれかのプロセスＩＤを選択する。
【００５２】
ステップＳ４０１の処理が完了すると、次いで、情報更新部２０４は選択したプロセスＩＤが特定するプロセスの終了時刻を予測する（ステップＳ４０２）。ステップＳ４０２の処理が完了した場合、情報更新部２０４は全プロセスＩＤが終了したか否かを判断する（ステップＳ４０３）。言い換えれば、情報更新部２０４はまだ選択していないプロセスＩＤがあるか否かを判断する。情報更新部２０４は全プロセスＩＤが終了していないと判断した場合（ステップＳ４０３：ＮＯ）、再び、ステップＳ４０１の処理を実行する。一方、情報更新部２０４は全プロセスＩＤが終了したと判断した場合（ステップＳ４０３：ＹＥＳ）、状態更新処理を終える。
【００５３】
ここで、図９を参照して、上述したプロセスの終了時刻の予測をさらに詳しく説明する。
【００５４】
図９（ａ）〜（ｃ）はプロセスの終了時刻の予測を説明するための図である。まず、図９（ａ）に示すように、情報更新部２０４が時刻「０」にプロセスＡの処理量「１５０」を含む起動通知を起動通知受信部２０２から受け付けた場合、起動通知を送信したエッジサーバ１００が処理能力「１０」であると、情報更新部２０４は１つのプロセスＡの処理量「１５０」を処理能力「１０」で処理するため、プロセスＡの終了時刻「１５」（＝処理量／処理能力）を予測する。すなわち、情報更新部２０４は起動時刻を現在時刻とした場合、プロセスＡが現在時刻から時刻「１５」を経過すると離脱すると予測する。尚、時刻の単位は特に限定されず、例えば時間、分、秒などいずれでもよい。
【００５５】
次に、図９（ｂ）に示すように、プロセスＡが到着した時刻「０」から時刻「５」が経過した現在時刻に、プロセスＢの処理量「２００」を含む起動通知を起動通知受信部２０２から受け付けた場合、まず、情報更新部２０４はプロセスＡの残りの処理量を算出する。具体的には、１つのプロセスＡを処理するために処理能力「１０」の全てを使用し、現在時刻まで経過時間「５」（＝時刻「５」−時刻「０」）であるため、情報更新部２０４は時刻「０」から時刻「５」までに処理した処理量「５０」（＝（処理能力／現在時刻までのプロセス数）＊（現在時刻−プロセスＡの起動時刻））を算出する。このため、情報更新部２０４はプロセスＡの残りの処理量「１００」（＝処理量「１５０」−処理量「５０」）を算出する。
【００５６】
一方、プロセスＢが到着したことにより、エッジサーバ１００は時刻「５」以後の処理は２つのプロセスＡ，Ｂを処理するために処理能力「１０」の全てを使用する。このため、エッジサーバ１００はプロセスＡとプロセスＢのそれぞれを処理能力「５」（＝処理能力／新たなプロセス数）で処理する。したがって、情報更新部２０４はプロセスＡの残りの処理量「１００」を処理能力「５」で処理するため、処理時間「２０」（処理量／処理能力）を算出する。そして、現在時刻「５」であるため、情報更新部２０４はプロセスＡの新たな終了時刻「２５」（＝現在時刻＋処理時間）を予測する。このため、情報更新部２０４はプロセスＡの終了時刻「１５」を新たな終了時刻「２５」に更新し、その情報を状態情報記憶部２０１（具体的にはプロセス終了予測時刻）に登録する。
【００５７】
また、プロセスＢはまだ処理されていないため、情報更新部２０４はプロセスＢの残りの処理量「２００」を処理能力「５」で処理するため、処理時間「４０」（処理量／処理能力）を算出する。そして、現在時刻「５」であるため、情報更新部２０４はプロセスＢの終了時刻「４５」（＝現在時刻＋処理時間）を予測する。このため、情報更新部２０４はプロセスＢの離脱時刻「４５」の情報を状態情報記憶部２０１（具体的にはプロセス終了予測時刻）に登録する。
【００５８】
次に、図９（ｃ）に示すように、現在時刻がプロセスＡの終了時刻「２５」を経過すると、プロセスＡが終了して離脱する。エッジサーバ１００は時刻「２５」以前の処理は２つのプロセスＡ，Ｂを処理するために処理能力「５」を使用している。ここで、プロセスＢの起動時刻から現在時刻までは経過時間「２０」（＝時刻「２５」−時刻「５」）であるため、情報更新部２０４は時刻「２５」から時刻「５」までに処理した処理量「１００」（＝（処理能力／現在時刻までのプロセス数）＊（現在時刻−プロセスＢの起動時刻））を算出する。このため、情報更新部２０４はプロセスＢの残りの処理量「１００」（＝処理量「２００」−処理量「１００」）を算出する。
【００５９】
一方、プロセスＡが離脱したことにより、エッジサーバ１００は時刻「２５」以後の処理は１つのプロセスＢを処理するために処理能力「１０」の全てを使用する。このため、エッジサーバ１００はプロセスＢを処理能力「１０」（＝処理能力／新たなプロセス数）で処理する。したがって、情報更新部２０４はプロセスＢの残りの処理量「１００」を処理能力「１０」で処理するため、処理時間「１０」（処理量／処理能力）を算出する。そして、現在時刻「２５」であるため、情報更新部２０４はプロセスＢの新たな終了時刻「３５」（＝現在時刻＋処理時間）を予測する。このため、情報更新部２０４はプロセスＢの終了時刻「４５」を新たな終了時刻「３５」に更新し、その情報を状態情報記憶部２０１（具体的にはプロセス終了予測時刻）に登録する。
【００６０】
次に、図１０を参照して、上述した状態補正処理について説明する。
【００６１】
図１０は状態補正処理の一例を示すフローチャートである。上述したように、ステップＳ３０４の処理で更新要求受信部２０３が更新要求を受信したと判断した場合、情報更新部２０４はプロセス状態のリストをソートする（ステップＳ５０１）。より詳しくは、情報更新部２０４は更新要求受信部２０３から出力された更新要求から第１の状態情報（図４（ｃ）参照）のリストを取得し、取得したリストをプロセス起動時刻順に並び替える。ステップＳ５０１の処理が完了すると、次いで、情報更新部２０４はリストから順にプロセスＩＤを選択する（ステップＳ５０２）。
【００６２】
ステップＳ５０２の処理が完了すると、次いで、情報更新部２０４は第２の状態情報からプロセスＩＤを選択する（ステップＳ５０３）。より詳しくは、情報更新部２０４は更新要求に基づいて、更新要求を送信したエッジサーバ１００を特定し、特定したエッジサーバ１００における第２の状態情報（図４（ｄ）参照）の中からいずれかのプロセスＩＤを選択する。
【００６３】
ステップＳ５０３の処理が完了すると、次いで、情報更新部２０４はプロセス終了予測時刻を更新する（ステップＳ５０４）。より詳しくは、情報更新部２０４は選択したプロセスＩＤが特定する第２の状態情報に含まれるプロセス終了予測時刻を、第１の状態情報に含まれるプロセス終了時刻に更新する。これにより、第２の状態情報に含まれるプロセス終了予測時刻は、実際にプロセスが終了した時刻に補正される。
【００６４】
ステップＳ５０４の処理が完了すると、次いで、情報更新部２０４は第２の状態情報に含まれる全プロセスＩＤが終了したか否かを判断する（ステップＳ５０５）。言い換えれば、情報更新部２０４は第２の状態情報の中にまだ選択していないプロセスＩＤがあるか否かを判断する。情報更新部２０４は第２の状態情報に含まれる全プロセスＩＤが終了していないと判断した場合（ステップＳ５０５：ＮＯ）、再び、ステップＳ５０３の処理を実行する。
【００６５】
一方、情報更新部２０４は第２の状態情報に含まれる全プロセスＩＤが終了したと判断した場合（ステップＳ５０５：ＹＥＳ）、次いで、第１の状態情報のリストに含まれる全プロセスＩＤが終了したか否かを判断する（ステップＳ５０６）。言い換えれば、情報更新部２０４は第１の状態情報の中にまだ選択していないプロセスＩＤがあるか否かを判断する。情報更新部２０４は第１の状態情報のリストに含まれる全プロセスＩＤが終了していないと判断した場合（ステップＳ５０６：ＮＯ）、再び、ステップＳ５０２の処理を実行する。一方、情報更新部２０４は第１の状態情報のリストに含まれる全プロセスＩＤが終了したと判断した場合（ステップＳ５０６：ＹＥＳ）、状態補正処理を終える。
【００６６】
以上、本実施形態によれば、分散プロセス管理システムＳは、デバイス３００から送出されたデータを受信した場合、データの内容に対応するプロセスを起動して実行するエッジサーバ１００とプロセスの状態を管理するセンタサーバ２００とを含んでいる。特に、エッジサーバ１００はプロセスを起動する度に、プロセスの起動時刻と処理量とを含む起動通知をセンタサーバ２００に送信する。一方、センタサーバ２００は起動時刻と処理量を含む起動通知が送信される度に、起動時刻と処理量とに基づいてプロセスの終了時刻を予測して更新する。
【００６７】
これにより、エッジサーバ１００とセンタサーバ２００間のメッセージ数の増大を抑制することができる。特に、エッジサーバ１００のコンピュータリソースが少ない場合でも、エッジサーバ１００は処理量とその処理量の移動平均の計算といった負荷が低い処理を担当し、センタサーバ２００はプロセスの終了時刻の予測といった負荷が重い処理を担当するため、エッジサーバ１００は負荷が低い処理を十分に実行することができる。そして、通信ネットワークＮＷ１が不安定な場合でも、通信ネットワークＮＷ１が安定したときにエッジサーバ１００が実行するプロセスの状態が送信されるため、センタサーバ２００はプロセスの管理を維持することができる。
【００６８】
また、図１１に示すように、閾値処理量を超える処理量Ｘは起動通知に含まれて送信対象となるが、閾値処理量以下の４つの処理量Ｙ１，Ｙ２，Ｙ３，Ｙ４は起動通知に含まれずに送信対象外となる。仮に、処理量Ｘも処理量Ｙ１，Ｙ２，Ｙ３，Ｙ４もその都度、エッジサーバ１００からセンタサーバ２００に送信されると、５回の起動通知が発生して送信されるが、本実施形態によれば、処理量Ｙ１，Ｙ２，Ｙ３，Ｙ４は送信されないため、送信対象が５分の１に抑制される。さらに、本実施形態によれば、プロセスが起動した場合に起動通知が送信されるが、プロセスが終了した場合の通知は発生しない。すなわち、エッジサーバ１００からセンタサーバ２００に送信される通知は２分の１に抑制される。このため、全体として、エッジサーバ１００からセンタサーバ２００に通知されるメッセージは１０分の１に抑制することができる。
【００６９】
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。例えば、プロセスの処理において、処理の優先度を設定してもよい。仮に、プロセスＡの処理量「１０」、処理の優先度「２」が設定された場合、情報処理部１０６は処理時間「２０」（＝処理量×優先度）を算出する。同様に、プロセスＢの処理量「１０」、処理の優先度「１」が設定された場合、情報処理部１０６は処理時間「１０」を算出する。情報処理部１０６が算出したこれらの処理時間は上述した数式（１）に適用できるため、処理の優先度が考慮された場合も、上述した実施形態で実現することができる。
【００７０】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行するエッジサーバと前記プロセスの状態を管理するセンタサーバとを含む分散プロセス管理システムであって、前記エッジサーバは、前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを前記センタサーバに通知し、前記センタサーバは、前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新する、ことを特徴とする分散プロセス管理システム。
（付記２）前記エッジサーバは、前記処理量が閾値処理量より大きい場合に、前記プロセスの起動時刻と処理量とを通知する、ことを特徴とする付記１に記載の分散プロセス管理システム。
（付記３）前記エッジサーバは、前記センタサーバとの通信が遮断した場合、前記プロセスの終了時刻を保持し、前記センタサーバとの通信が復帰した場合、前記プロセスの終了時刻を前記センタサーバに送信し、前記センタサーバは、予測した前記プロセスの終了時刻を受信した前記プロセスの終了時刻に補正する、ことを特徴とする付記１又は２に記載の分散プロセス管理システム。
（付記４）前記エッジサーバは、前記プロセスを終了した場合、前記プロセスの終了時刻を前記センタサーバに通知しない、ことを特徴とする付記１から３のいずれか１項に記載の分散プロセス管理システム。
（付記５）デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行するステップと、前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを通知するステップとを第１のコンピュータが実行し、前記プロセスの状態を管理するステップと、前記第１のコンピュータから前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新するステップとを第２のコンピュータが実行する、ことを特徴とする分散プロセス管理方法。
（付記６）前記第１のコンピュータは、前記処理量が閾値処理量より大きい場合に、前記プロセスの起動時刻と処理量とを通知する、ことを特徴とする付記５に記載の分散プロセス管理方法。
（付記７）前記第１のコンピュータは、前記第２のコンピュータとの通信が遮断した場合、前記プロセスの終了時刻を保持し、前記第２のコンピュータとの通信が復帰した場合、前記プロセスの終了時刻を前記第２のコンピュータに送信し、前記第２のコンピュータは、予測した前記プロセスの終了時刻を受信した前記プロセスの終了時刻に補正する、ことを特徴とする付記５又は６に記載の分散プロセス管理方法。
（付記８）前記第１のコンピュータは、前記プロセスを終了した場合、前記プロセスの終了時刻を前記第２のコンピュータに通知しない、ことを特徴とする付記５から７のいずれか１項に記載の分散プロセス管理方法。
（付記９）デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行する処理部と、前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを、前記プロセスの状態を管理し、前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新するセンタサーバに通知する通知部と、を含む情報処理装置。
（付記１０）デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行し、前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを通知するエッジサーバと通信可能な情報処理装置であって、前記プロセスの状態を管理する管理部と、前記エッジサーバから前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新する更新部と、を含む情報処理装置。
【符号の説明】
【００７１】
Ｓ  分散プロセス管理システム
１００  エッジサーバ
１０１  プロセス情報記憶部
１０２  処理量情報記憶部
１０３  状態情報記憶部
１０４  データ処理部
１０５  通信状態監視部
１０６  情報処理部
１０７  起動通知送信部
１０８  更新要求送信部
２００  センタサーバ
２０１  状態情報記憶部
２０２  起動通知受信部
２０３  更新要求受信部
２０４  情報更新部
２０５  状態情報管理部
３００  デバイス
【図１】
2019067176.tif 000003
【図２】
2019067176.tif 000004
【図３】
2019067176.tif 000005
【図４】
2019067176.tif 000006
【図５】
2019067176.tif 000007
【図６】
2019067176.tif 000008
【図７】
2019067176.tif 000009
【図８】
2019067176.tif 000010
【図９】
2019067176.tif 000011
【図１０】
2019067176.tif 000012
【図１１】
2019067176.tif 000013