(57)【要約】  処理にかかるコストを削減する。  複数のエッジデバイス４０を協調分散させてコストが最小になるように処理配置を変更する協調分散システム１において、取得手段は、分散された複数のエッジデバイス４０からパラメータを取得する。計算手段は、パラメータから、運用コスト、通信コスト、及び利用コストを計算する。判定手段は、計算の結果から、トータルコストが最も少なくなる処理配置を判定する。変更手段は、判定の結果から、処理配置を動的に変更する。
2019111411.tif 000002
【特許請求の範囲】
【請求項１】
複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散システムであって、
分散された前記複数のエッジデバイスからパラメータを取得する取得手段と、
前記パラメータから、運用コスト、通信コスト、及び利用コストを計算する計算手段と、
前記計算の結果から、トータルコストが最も少なくなる処理配置を判定する判定手段と、
前記判定の結果から、処理配置を動的に変更する変更手段と、
を備える協調分散システム。
【請求項２】
前記パラメータは、前記複数のエッジデバイスが実行中の他の処理のデータ量、前記他の処理にかかる処理時間、及び前記他の処理において利用されている機能を示す機能情報のうち少なくとも１つを含む
請求項１に記載の協調分散システム。
【請求項３】
クライアント装置から処理の要求を受信する受信手段と、
前記複数のエッジデバイスのうち少なくとも１つから取得された前記処理の結果を前記クライアント装置に送信する送信手段とをさらに備える
請求項１又は２に記載の協調分散システム。
【請求項４】
前記変更手段は、前記判定された処理配置が前記複数のエッジデバイスのうち２以上のエッジデバイスに処理を割り当てる配置である場合には、前記処理を複数の部分処理に分割し、前記分割された複数の部分処理を前記２以上のエッジデバイスに割り当てる処理配置に変更する
請求項１から３のいずれか１項に記載の協調分散システム。
【請求項５】
クライアント装置から処理の要求を受信する受信手段と、
前記２以上のエッジデバイスから取得された前記複数の部分処理の結果を統合して前記クライアント装置に送信する送信手段とをさらに備える
請求項４に記載の協調分散システム。
【請求項６】
サーバ装置をさらに備え、
前記判定手段は、前記複数のエッジデバイス及び前記サーバ装置のうち少なくとも１つに処理を割り当てる処理配置を判定する
請求項１から５のいずれか１項に記載の協調分散システム。
【請求項７】
複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散管理装置であって、
分散された前記複数のエッジデバイスからパラメータを取得する取得手段と、
前記パラメータから、運用コスト、通信コスト、及び利用コストを計算する計算手段と、
前記計算の結果から、トータルコストが最も少なくなる処理配置を判定する判定手段と、
前記判定の結果から、処理配置を動的に変更する変更手段と、
を備える協調分散管理装置。
【請求項８】
複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散方法であって、
分散された前記複数のエッジデバイスからパラメータを取得するステップと、
前記パラメータから、運用コスト、通信コスト、及び利用コストを計算するステップと、
前記計算の結果から、トータルコストが最も少なくなる処理配置を判定するステップと、
前記判定の結果から、処理配置を動的に変更するステップと、
を備える協調分散方法。
【請求項９】
複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する処理をコンピュータに実行させるためのプログラムであって、
分散された前記複数のエッジデバイスからパラメータを取得するステップと、
前記パラメータから、運用コスト、通信コスト、及び利用コストを計算するステップと、
前記計算の結果から、トータルコストが最も少なくなる処理配置を判定するステップと、
前記判定の結果から、処理配置を動的に変更するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩｏＴ（Internet of Things）の分野において複数のエッジデバイスを協調分散させる技術に関する。
【背景技術】
【０００２】
近年、ＩｏＴの分野において処理の負荷分散のためにエッジコンピューティングが注目されている。例えば特許文献１には、複数のデータ処理装置により行われるデータ処理全体の効率化を実現するシステムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１８２２２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に開示されたシステムでは、個々の処理装置において処理の分担を決定しているため、全体として見たときに、処理にかかるコストが最小にならない場合がある。
本発明は、処理にかかるコストを削減することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散システムであって、分散された前記複数のエッジデバイスからパラメータを取得する取得手段と、前記パラメータから、運用コスト、通信コスト、及び利用コストを計算する計算手段と、前記計算の結果から、トータルコストが最も少なくなる処理配置を判定する判定手段と、前記判定の結果から、処理配置を動的に変更する変更手段と、を備える協調分散システムを提供する。
【０００６】
また、本発明は、複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散管理装置であって、分散された前記複数のエッジデバイスからパラメータを取得する取得手段と、前記パラメータから、運用コスト、通信コスト、及び利用コストを計算する計算手段と、前記計算の結果から、トータルコストが最も少なくなる処理配置を判定する判定手段と、前記判定の結果から、処理配置を動的に変更する変更手段と、を備える協調分散管理装置を提供する。
【０００７】
さらに、本発明は、複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散方法であって、分散された前記複数のエッジデバイスからパラメータを取得するステップと、前記パラメータから、運用コスト、通信コスト、及び利用コストを計算するステップと、前記計算の結果から、トータルコストが最も少なくなる処理配置を判定するステップと、前記判定の結果から、処理配置を動的に変更するステップと、を備える協調分散方法を提供する。
【０００８】
さらに、本発明は、複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する処理をコンピュータに実行させるためのプログラムであって、分散された前記複数のエッジデバイスからパラメータを取得するステップと、前記パラメータから、運用コスト、通信コスト、及び利用コストを計算するステップと、前記計算の結果から、トータルコストが最も少なくなる処理配置を判定するステップと、前記判定の結果から、処理配置を動的に変更するステップと、を実行させるためのプログラムを提供する。
【発明の効果】
【０００９】
本発明によれば、処理にかかるコストを削減することができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係る協調分散システム１の一例を示す図である。
【図２】協調分散管理装置１０のハードウェア構成の一例を示す図である。
【図３】協調分散システム１の機能構成の一例を示す図である。
【図４】協調分散システム１の動作の一例を示すシーケンスチャートである。
【図５】処理にかかるコストの計算結果の一例を示す図である。
【発明を実施するための形態】
【００１１】
１．構成
図１は、本実施形態に係る協調分散システム１の一例を示す図である。協調分散システム１は、エッジデバイス４０を協調分散させてコストが最小になるように処理配置を変更するシステムである。この「協調分散システム」とは、独立に判断し行動するソフトウェア（エージェントとも呼ばれる）群が協調して動作するシステムをいう。「協調分散システム」は、必要に応じてエージェント群が自ら組織を作り、自ら変える柔軟なシステムである。「エッジデバイス」とは、別々のネットワーク間同士で通信を行い、データの効果や統合、同期などをシームレスに仲介する機器をいう。
【００１２】
協調分散システム１は、協調分散管理装置１０と、クライアント装置２０と、サーバ装置３０と、複数のエッジデバイス４０と、複数のＩｏＴデバイス５０とを備える。エッジデバイス４０は、協調分散システム１上に分散されている。なお、図１に示す各装置の数は、例示であり、これに限定されない。例えばクライアント装置２０及び協調分散管理装置１０の数は、それぞれ、複数であってもよい。エッジデバイス４０及びＩｏＴデバイス５０の数は、それぞれ、単数であってもよいし、複数であってもよい。
【００１３】
協調分散管理装置１０、クライアント装置２０、サーバ装置３０、及び複数のエッジデバイス４０は、通信回線６０を介して接続されている。例えば通信回線６０は、インターネットであってもよい。複数のエッジデバイス４０と複数のＩｏＴデバイス５０とは、通信回線７０を介して接続されている。例えば通信回線７０は、ＬＡＮ（Local Area Network）又は無線ＬＡＮであってもよい。
【００１４】
図２は、協調分散管理装置１０のハードウェア構成の一例を示す図である。協調分散管理装置１０は、協調分散システム１における処理の配置を管理する。具体的には、協調分散管理装置１０は、クライアント装置２０から要求された処理を、サーバ装置３０及びエッジデバイス４０のうち少なくとも１つに割り当てる。このとき、協調分散管理装置１０は、処理にかかるコストが最小になるように処理を割り当てる。協調分散管理装置１０は、プロセッサ１１と、メモリ１２と、ストレージ１３と、通信装置１４とを備えるコンピュータである。これらの装置は、バス１５を介して接続される。
【００１５】
プロセッサ１１は、プログラムをメモリ１２に読み出して実行することにより、各種の処理を実行する。例えばプロセッサ１１は、ＣＰＵ（Central Processing Unit）により構成されてもよい。メモリ１２は、プロセッサ１１により実行されるプログラムを記憶する。例えばメモリ１２は、ＲＯＭ（Read Only Memory）又はＲＡＭ（Random Access Memory）により構成されてもよい。ストレージ１３は、各種のデータ及びプログラムを記憶する。例えばストレージ１３は、ハードディスクドライブ又はフラッシュメモリにより構成されてもよい。通信装置１４は、通信回線６０に接続された通信インタフェースである。通信装置１４は、通信回線６０を介してデータ通信を行う。
【００１６】
クライアント装置２０は、ユーザの操作に従って、協調分散管理装置１０に処理を要求する。クライアント装置２０は、協調分散管理装置１０と同様の構成に加え、入力装置と出力装置とを備えるコンピュータである。入力装置は、各種の情報の入力に用いられる。例えば入力装置は、キーボード、マウス、物理ボタン、又はタッチセンサにより構成されてもよい。表示装置は、各種の情報を表示する。例えば表示装置は、液晶ディスプレイにより構成されてもよい。
【００１７】
サーバ装置３０は、協調分散管理装置１０に割り当てられた処理を実行する。サーバ装置３０は、一般的に、エッジデバイス４０よりも処理能力が高い。サーバ装置３０は、クラウドサービスを提供するクラウドサーバであってもよいし、オンプレミスのサーバであってもよい。前者の場合、サーバ装置３０は、協調分散管理装置１０、クライアント装置２０、エッジデバイス４０、及びＩｏＴデバイス５０とは異なる管理者により運用される。一方、後者の場合、サーバ装置３０は、協調分散管理装置１０、クライアント装置２０、エッジデバイス４０、又はＩｏＴデバイス５０と同一の管理者により運用されてもよい。サーバ装置３０は、協調分散管理装置１０と同様の構成を備えるコンピュータである。
【００１８】
エッジデバイス４０は、ＩｏＴデバイス５０と他の装置との間のデータ通信を中継するゲートウェイである。例えばエッジデバイス４０は、ルータ又はスイッチであってもよい。また、エッジデバイス４０は、サーバ装置３０と同様に、協調分散管理装置１０に割り当てられた処理を実行する。エッジデバイス４０は、協調分散管理装置１０と同様の構成を備えるコンピュータである。
【００１９】
ＩｏＴデバイス５０は、センサと通信機能とを有する装置である。ＩｏＴデバイス５０は、センサと通信機能を有していれば、どのような装置であってもよい。センサは、物理量を検出し、検出した物理量を含むセンサ情報を出力する。例えばセンサは、温度センサ、湿度センサ、加速度センサ、人感センサ、音声を取得するマイクロフォン、又は静止画若しくは動画を取得するカメラであってもよい。
【００２０】
図３は、協調分散システム１の機能構成の一例を示す図である。協調分散システム１は、受信手段１０１と、取得手段１０２と、生成手段１０３と、計算手段１０４と、決定手段１０５と、割当手段１０６（判定手段及び変更手段）と、送信手段１０７として機能する。これらの機能は、協調分散管理装置１０において、メモリ１２に記憶されたプログラムと、このプログラムを実行するプロセッサ１１との協働により、プロセッサ１１が演算を行い又は通信装置１４による通信を制御することにより実現される。
【００２１】
受信手段１０１は、クライアント装置２０から処理の要求を受信する。この処理は、例えばＩｏＴデバイス５０から出力されたセンサ情報を用いた処理であってもよい。なお、以下の説明では、クライアント装置２０から要求された処理を「対象の処理」という。
【００２２】
取得手段１０２は、サーバ装置３０及びエッジデバイス４０（以下、総称して「処理装置」という。）から、処理状況を示す状況情報であるパラメータを取得する。例えばパラメータには、処理装置が実行中の他の処理のデータ量、他の処理にかかる処理時間、及び他の処理において利用されている機能を示す機能情報のうち少なくとも１つが含まれてもよい。このパラメータの取得は、所定のタイミングで行われる。或いは、パラメータの取得は、受信手段１０１が処理の要求を受信したときに行われてもよい。
【００２３】
生成手段１０３は、複数の処理装置に含まれる１以上の処理装置により構成される複数通りの組合せを生成する。この組合せとは、複数の処理装置からとった１以上の個数のものの組をいう。組合せの中には、複数の処理装置により構成される組合せだけではなく、単一の処理装置により構成される組合せも含まれる。
【００２４】
計算手段１０４は、取得手段１０２により取得されたパラメータに基づいて、生成手段１０３により生成された複数通りの組合せの各々について、この組合せを構成する処理装置が対象の処理を実行した場合に対象の処理にかかるコストを計算する。なお、この対象の処理には、データを格納する処理やデータを通信する処理が含まれてもよい。このコストとは、対象の処理を実行するために消費される費用をいい、金銭の価値により表される金額情報である。コストには、運用コスト、通信コスト、及び利用コストのうち少なくとも１つが含まれてもよい。運用コストは、対象の処理を実行する間、処理装置の運用にかかるコストである。通信コストは、対象の処理を実行する際に発生するデータ通信にかかるコストである。利用コストは、対象の処理を実行するのに必要な機能の利用にかかるコストである。この機能は、処理装置が有する機能であってもよいし、外部装置が有する機能であってもよい。外部装置が有する機能は、例えば外部装置が提供するクラウドサービスであってもよい。協調分散管理装置１０は、外部装置と連携しており、エッジデバイス４０は協調分散管理装置１０経由で外部装置の機能を利用することができる。この場合、外部装置からその機能の利用コストが取得されてもよい。
【００２５】
決定手段１０５は、計算手段１０４により計算されたコストに基づいて、生成手段１０３により生成された複数通りの組合せの中から単一の組合せを決定する。例えば決定手段１０５は、生成手段１０３により生成された複数通りの組合せの中から、計算手段１０４により計算されたコストが最小になる組合せを決定する。
【００２６】
割当手段１０６は、決定手段１０５により決定された組合せを構成する処理装置に対象の処理を割り当てる。この「割り当て」とは、複数の処理装置の少なくともいずれかに処理を受け持たせたることをいう。「割り当て」の概念には、単一の処理を複数に分けて複数の処理装置に受け持たせることだけでなく、単一の処理を単一の処理装置に受け持たせることも含まれる。また、割当手段１０６は、決定手段１０５により決定された組合せが２以上の処理装置により構成される場合、対象の処理を複数の部分処理に分割し、複数の部分処理を２以上の処理装置に割り当ててもよい。このようにして、トータルコストが最も少なくなる処理配置が判定され、処理配置が動的に変更される。この「処理配置」とは、処理装置に処理を割り当てることをいう。
【００２７】
送信手段１０７は、割当手段１０６により対象の処理が割り当てられた処理装置からその処理の結果が取得されると、取得された処理の結果をクライアント装置２０に送信する。また、送信手段１０７は、割当手段１０６により複数の部分処理が２以上の処理装置に割り当てられた場合、これらの処理装置から複数の部分処理の結果が取得されると、取得された複数の部分処理の結果を統合してクライアント装置２０に送信してもよい。
【００２８】
なお、以下の説明において、協調分散管理装置１０を処理の主体として記載する場合には、具体的にはメモリ１２に記憶されたプログラムと、このプログラムを実行するプロセッサ１１との協働により、プロセッサ１１が演算を行い又は通信装置１４による通信を制御することにより、処理が実行されることを意味する。クライアント装置２０、サーバ装置３０、及びエッジデバイス４０についても同様である。
【００２９】
２．動作
図４は、協調分散システム１の動作の一例を示すシーケンスチャートである。ここでは、図１に示すように、エッジデバイス４０には、エッジデバイス４０Ａ、４０Ｂ、及び４０Ｃが含まれるものとする。また、ＩｏＴデバイス５０には、ＩｏＴデバイス５０Ａ〜５０Ｆが含まれるものとする。ＩｏＴデバイス５０Ａ及び５０Ｂ、ＩｏＴデバイス５０Ｃ及び５０Ｄ、ＩｏＴデバイス５０Ｅ及び５０Ｆは、エッジデバイス４０Ａ、４０Ｂ、４０Ｃにそれぞれ接続されている。
【００３０】
図４に戻り、ステップＳ１０１において、クライアント装置２０は、対象の処理の要求を協調分散管理装置１０に送信する。この要求には、例えば対象の処理の内容及び対象の処理に用いられるデータを示す情報が含まれる。この対象の処理は、例えばＩｏＴデバイス５０Ａから出力されたセンサ情報を解析する処理であってもよい。協調分散管理装置１０の受信手段１０１は、クライアント装置２０から対象の処理の要求を受信する。
【００３１】
ステップＳ１０２において、複数の処理装置は、それぞれ、実行中の他の処理に関する状況を示すパラメータを協調分散管理装置１０に送信する。このパラメータの送信は、複数の処理装置により自発的に行われてもよいし、協調分散管理装置１０からの要求に応じて行われてもよい。後者の場合、協調分散管理装置１０の取得手段１０２は、複数の処理装置にパラメータの要求を送信する。複数の処理装置は、それぞれ、協調分散管理装置１０から受信した要求に応じてパラメータを送信する。パラメータには、例えば処理装置が実行中の他の処理のデータ量、他の処理にかかる処理時間、及び他の処理において利用されている機能を示す機能情報が含まれる。協調分散管理装置１０の取得手段１０２は、複数の処理装置からそれぞれパラメータを受信する。
【００３２】
ステップＳ１０３において、協調分散管理装置１０の生成手段１０３は、複数の処理装置に含まれる１以上の処理装置により構成される全ての組合せを生成する。この組合せには、単一のエッジデバイス４０により構成される組合せ、複数のエッジデバイス４０により構成される組合せ、単一のサーバ装置３０により構成される組合せ、単一のサーバ装置３０と１又は複数のエッジデバイス４０とにより構成される組合せが含まれる。
【００３３】
ステップＳ１０４において、協調分散管理装置１０の計算手段１０４は、ステップＳ１０２において受信されたパラメータに基づいて、ステップＳ１０３において生成された全ての組合せについて、その組合せを構成する処理装置が対象の処理を実行した場合に対象の処理にかかるコストを計算する。
【００３４】
図５は、処理にかかるコストの計算結果の一例を示す図である。図５に示す例では、処理にかかるコストには、運用コストと、通信コストと、利用コストとが含まれる。トータルコストは、運用コスト、通信コスト、及び利用コストの合計である。
【００３５】
運用コストは、例えば単位時間毎に運用コストがかかる場合には、以下の（１）式により求められる。
運用コスト＝単位時間当たりの運用コスト×処理時間・・・（１）
【００３６】
（１）式に含まれる単位時間当たりの運用コストは、予め決められている。この単位時間当たりの運用コストは、処理装置によって異なってもよいし、同一であってもよい。（１）式に含まれる処理時間は、対象の処理にかかる時間である。この処理時間は、処理に用いられるデータ量と、処理装置において現在利用可能な処理能力とに基づいて推定される。現在利用可能な処理能力は、例えば処理装置の処理性能と、パラメータにより示される実行中の他の処理に関する状況とに基づいて求められる。
【００３７】
通信コストは、例えば単位通信量毎に運用コストがかかる場合には、以下の（２）式により求められる。
通信コスト＝単位通信量当たりの通信コスト×通信量・・・（２）
【００３８】
（２）式に含まれる単位通信量当たりの通信コストは、予め決められている。（２）式に含まれる通信量は、対象の処理を実行する際に発生するデータ通信の量である。例えばエッジデバイス４０ＡがＩｏＴデバイス５０Ａから出力されたセンサ情報を用いて取得して処理を実行する場合において、予めＩｏＴデバイス５０Ａからエッジデバイス４０Ａにセンサ情報が送信されているときは、新たなデータ通信は発生しない。この場合、通信量は０となる。一方、サーバ装置３０がＩｏＴデバイス５０Ａから出力されたセンサ情報を用いて処理を実行する場合、少なくともエッジデバイス４０Ａとサーバ装置３０との間で通信回線６０を介してデータ通信が発生する。この場合、通信量にはこのデータ通信の量が含まれる。
【００３９】
利用コストは、例えば単位データ量毎に利用コストがかかる場合には、以下の（３）式により求められる。
利用コスト＝単位データ量当たりの利用コスト×データ量・・・（３）
【００４０】
（３）式に含まれる単位データ量当たりの利用コストは、予め決められている。この単位データ量当たりの利用コストは、機能によって異なってもよい。（３）式に含まれるデータ量は、機能を利用する処理に用いられるデータの量である。
【００４１】
図５に示す例では、組合せＣ１は、エッジデバイス４０Ａにより構成される。この組合せＣ１の運用コストは「１５」であり、通信コストは「２０」であり、利用コストは「１０」である。この場合、組合せＣ１のトータルコストは、これらのコストの合計である「４５」である。
【００４２】
また、組合せが複数の処理装置により構成される場合には、これらの処理装置に対象の処理が分散されることになる。この場合、全ての分散のパターンについて、対象の処理にかかるコストが計算されてもよい。例えばエッジデバイス４０Ａとサーバ装置３０とにより構成される組合せＣ２において、エッジデバイス４０Ａとサーバ装置３０とが５対５の割合で対象の処理を実行するパターンと、エッジデバイス４０Ａとサーバ装置３０とが２対８の割合で対象の処理を実行するパターンとでは、対象の処理にかかるコストが相違する場合がある。この場合、対象の処理を実行する割合について考えられる全てのパターンについて、対象の処理にかかるコストが計算されてもよい。
【００４３】
ステップＳ１０５において、協調分散管理装置１０の決定手段１０５は、トータルコストが最小となる組合せを決定する。例えば、図５に示す全ての組合せのトータルコストのうち組合せＣ１のトータルコストが最小となる場合、組合せＣ１が決定される。一方、組合せＣ２のトータルコストが最小となる場合、組合せＣ２が決定される。
【００４４】
ステップＳ１０６において、協調分散管理装置１０の割当手段１０６は、ステップＳ１０５において決定された組合せを構成する処理装置（以下、「対象処理装置」という。）に対象の処理を割り当てる。例えば、図５に示す組合せＣ１が決定された場合には、エッジデバイス４０Ａに対象の処理が割り当てられる。
【００４５】
一方、組合せＣ２が決定された場合には、エッジデバイス４０Ａとサーバ装置３０とに対象の処理が割り当てられる。この場合、割当手段１０６は、対象の処理を第１部分処理と第２部分処理とに分割し、第１部分処理をエッジデバイス４０Ａに割り当て、第２部分処理をサーバ装置３０に割り当てる。この対象の処理の分割及び割り当ては、トータルコストが最小となる処理の分散のパターンに従って行われてもよい。
【００４６】
ステップＳ１０７において、協調分散管理装置１０の割当手段１０６は、ステップＳ１０６において割り当てられた対象の処理の実行指示を対象処理装置に送信する。例えばエッジデバイス４０Ａに対象の処理が割り当てられた場合には、エッジデバイス４０Ａに処理の実行指示が送信される。一方、エッジデバイス４０Ａに第１部分処理が割り当てられ、サーバ装置３０に第２部分処理が割り当てられた場合には、エッジデバイス４０Ａに第１部分処理の実行指示が送信され、サーバ装置３０に第２部分処理の実行指示が送信される。
【００４７】
ステップＳ１０８において、対象処理装置は、協調分散管理装置１０から受信した実行指示に従って、対象の処理を実行する。例えばエッジデバイス４０Ａに対象の処理の実行指示が送信された場合、エッジデバイス４０Ａはこの処理を実行する。一方、エッジデバイス４０Ａに第１部分処理の実行指示が送信され、サーバ装置３０に第２部分処理の実行指示が送信された場合には、エッジデバイス４０Ａが第１部分処理を実行し、サーバ装置３０が第２部分処理を実行する。このとき、例えば第２部分処理にＩｏＴデバイス５０Ａから出力されたセンサ情報が用いられる場合、サーバ装置３０は、エッジデバイス４０Ａを介してＩｏＴデバイス５０Ａからセンサ情報を取得することにより第２部分処理を実行する。
【００４８】
ステップＳ１０９において、対象処理装置は、対象の処理が完了すると、その処理の結果を協調分散管理装置１０に送信する。例えばエッジデバイス４０Ａが対象の処理を完了した場合、エッジデバイス４０Ａから協調分散管理装置１０にその処理の結果が送信される。一方、エッジデバイス４０Ａ及びサーバ装置３０が第１部分処理及び第２部分処理をそれぞれ実行した場合、エッジデバイス４０Ａから協調分散管理装置１０に第１部分処理の結果が送信されるとともに、サーバ装置３０から協調分散管理装置１０に第２部分処理の結果が送信される。
【００４９】
ステップＳ１１０において、協調分散管理装置１０の送信手段１０７は、対象処理装置から受信した処理の結果をクライアント装置２０に送信する。例えばエッジデバイス４０Ａから処理の結果が受信された場合、この処理の結果がクライアント装置２０に送信される。一方、エッジデバイス４０Ａ及びサーバ装置３０から第１部分処理の結果及び第２部分処理の結果をそれぞれ受信された場合、送信手段１０７は、これらの部分処理の結果を統合してからクライアント装置２０に送信する。
【００５０】
また、上述したステップＳ１０８において対象の処理が実行されている間に、上述したステップＳ１０２からステップＳ１０８の処理が行われてもよい。この場合、対象の処理の途中の所定のタイミングで、ステップＳ１０２の処理が開始される。ステップＳ１０５において、前回と異なる新たな組合せが決定された場合、ステップＳ１０７において新たな組合せを構成する対象処理装置に、実行中の処理において未処理部分の実行指示が送信される。これにより、未処理部分については、新たな対象処理装置により実行される。また、前回の処理対象装置には、実行中の処理の中止指示が送信される。この場合、前回の処理対象装置は、実行中の処理を中止し、完了した処理部分の結果を協調分散管理装置１０に送信する。このように、対象の処理の途中で、トータルコストが最小になるようにその処理の実行主体が変更されてもよい。
【００５１】
以上説明した実施形態によれば、トータルコストが最小となるように処理が割り当てられるため、処理にかかるコストを削減することができる。
【００５２】
３．変形例
本発明は上述した実施形態に限定されない。上述した実施形態に対し、種々の変形がなされてもよい。また、以下の変形例が組み合わせて実施されてもよい。
【００５３】
上述した実施形態において、協調分散システム１に新たなエッジデバイス４０が追加された場合には、追加されたエッジデバイス４０も含めて組合せが生成されてもよい。この場合、協調分散管理装置１０は、新たに追加されたエッジデバイス４０を検知する機能を有してもよい。また、新たなエッジデバイス４０が追加されたことを契機として、上述したステップＳ１０２以降の処理が行われてもよい。
【００５４】
上述した実施形態において、エッジデバイス４０の状態に応じて組合せが生成されてもよい。例えばエッジデバイス４０が休止又は停止した場合には、休止又は停止したエッジデバイス４０を含む組合せが除外されてもよい。また、エッジデバイス４０が休止又は停止から復帰した場合には、復帰したエッジデバイス４０を含む組合せが追加されてもよい。この場合、協調分散管理装置１０は、エッジデバイス４０の状態を検知する機能を有してもよい。また、エッジデバイス４０が復帰したことを契機として、上述したステップＳ１０２以降の処理が行われてもよい。
【００５５】
上述した実施形態において説明したコストの計算方法は一例であり、これに限定されない。運用コスト、通信コスト、及び利用コストは、それぞれ、対象の処理を実行する間、処理装置の運用にかかるコスト、対象の処理を実行する際に発生するデータ通信にかかるコスト、対象の処理を実行するのに必要な機能の利用にかかるコストを計算する方法であれば、どのような方法で計算されてもよい。また、処理にかかるコストには、運用コスト、通信コスト、及び利用コスト以外のコストが含まれてもよい。
【００５６】
上述した実施形態において、パラメータは、処理装置が実行中の他の処理のデータ量、他の処理にかかる処理時間、及び他の処理において利用されている機能を示す機能情報に限定されない。例えばパラメータには、処理装置において現在利用可能な処理能力を示す情報が含まれてもよい。
【００５７】
上述した実施形態では、サーバ装置３０及びエッジデバイス４０が処理装置として用いられていたが、処理装置はサーバ装置３０及びエッジデバイス４０に限定されない。例えばエッジデバイス４０だけが処理装置として用いられてもよい。また、ＩｏＴデバイス５０が処理を実行してもよい。この場合、処理装置には、ＩｏＴデバイス５０が含まれてもよい。或いは、エッジデバイス４０にＩｏＴデバイス５０が含まれてもよい。
【００５８】
上述した実施形態では、エッジデバイス４０が端末装置として用いられていたが、端末装置はエッジデバイス４０に限定されない。例えばＩｏＴデバイス５０が処理を実行する場合、端末装置にはＩｏＴデバイス５０が含まれてもよい。また、エッジデバイス４０及びＩｏＴデバイス５０以外の装置が端末装置として用いられてもよい。
【００５９】
協調分散システム１の機能を実現する主体は、上述した実施形態で説明した例に限定されない。例えば協調分散管理装置１０の機能の一部がサーバ装置３０又は外部装置により行われてもよい。また、協調分散管理装置１０の機能の一部がエッジデバイス４０により行われてもよい。
【００６０】
協調分散システム１において行われる処理のステップは、上述した実施形態で説明した例に限定されない。この処理のステップは、矛盾のない限り、入れ替えられてもよい。また、本発明は、協調分散管理装置１０において行われる処理のステップを備える協調分散管理方法又は協調分散システム１において行われる処理のステップを備える協調分散方法として提供されてもよい。
【００６１】
本発明は、クライアント装置２０、サーバ装置３０、エッジデバイス４０、又はＩｏＴデバイス５０において実行されるプログラムとして提供されてもよい。このプログラムは、インターネットなどの通信回線を介してダウンロードされてもよいし、磁気記録媒体（磁気テープ、磁気ディスクなど）、光記録媒体（光ディスクなど）、光磁気記録媒体、半導体メモリなどの、コンピュータが読取可能な記録媒体に記録した状態で提供されてもよい。
【００６２】
本発明は、複数の処理装置から処理状況を示す状況情報を取得する取得手段と、前記取得された状況情報に基づいて、前記複数の処理装置に含まれる１以上の処理装置により構成される複数通りの組合せの各々について、当該組合せを構成する処理装置が対象の処理を実行した場合に前記対象の処理にかかるコストを計算する計算手段と、前記複数通りの組合せの中から前記計算されたコストが最小になる組合せを決定する決定手段と、前記複数の処理装置のうち前記決定された組合せを構成する前記処理装置に前記対象の処理を割り当てる割当手段とを備える管理装置を提供する。
【００６３】
前記管理装置において、前記状況情報は、前記複数の処理装置が実行中の他の処理のデータ量、前記他の処理にかかる処理時間、及び前記他の処理において利用されている機能を示す機能情報のうち少なくとも１つを含んでもよい。
前記コストは、前記対象の処理を実行する間、前記処理装置の運用にかかるコスト、前記対象の処理を実行する際に発生するデータ通信にかかるコスト、前記対象の処理を実行するのに必要な前記処理装置の機能の利用にかかるコストのうち少なくとも１つを含んでもよい。
前記管理装置は、クライアント装置から前記対象の処理の要求を受信する受信手段と、前記処理装置から取得された前記対象の処理の結果を前記クライアント装置に送信する送信手段とをさらに備えてもよい。
前記複数の処理装置は、端末装置と、前記端末装置よりも処理能力が高いサーバ装置とを含んでもよい。
前記割当手段は、前記決定された組合せが２以上の処理装置により構成される場合には、前記対象の処理を複数の部分処理に分割し、前記分割された複数の部分処理を前記２以上の処理装置に割り当ててもよい。
前記管理装置は、クライアント装置から前記対象の処理の要求を受信する受信手段と、前記２以上の処理装置から取得された前記複数の部分処理の結果を統合して前記クライアント装置に送信する送信手段とをさらに備えてもよい。
【符号の説明】
【００６４】
１：協調分散システム、１０：協調分散管理装置、２０：クライアント装置、３０：サーバ装置、４０：エッジデバイス、５０：ＩｏＴデバイス、１０１：受信手段、１０２：取得手段、１０３：生成手段、１０４：計算手段、１０５：決定手段、１０６：割当手段、１０７：送信手段
【図１】
2019111411.tif 000003
【図２】
2019111411.tif 000004
【図３】
2019111411.tif 000005
【図４】
2019111411.tif 000006
【図５】
2019111411.tif 000007
【手続補正書】
【提出日】平成30年4月12日(2018.4.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散システムであって、
分散された前記複数のエッジデバイスから、前記複数のエッジデバイスが実行中の他の処理のデータ量又は前記他の処理にかかる処理時間を含むパラメータを取得する取得手段と、
前記パラメータから、対象の処理にかかる運用コスト、通信コスト、及び利用コストを計算する計算手段と、
前記計算の結果から、トータルコストが最も少なくなる処理配置を判定する判定手段と、
前記判定の結果から、処理配置を動的に変更する変更手段と、
を備える協調分散システム。
【請求項２】
前記パラメータは、前記他の処理において利用されている機能を示す機能情報を含む
請求項１に記載の協調分散システム。
【請求項３】
クライアント装置から前記処理の要求を受信する受信手段と、
前記複数のエッジデバイスのうち少なくとも１つから取得された前記処理の結果を前記クライアント装置に送信する送信手段とをさらに備える
請求項１又は２に記載の協調分散システム。
【請求項４】
前記変更手段は、前記判定された処理配置が前記複数のエッジデバイスのうち２以上のエッジデバイスに前記処理を割り当てる配置である場合には、前記処理を複数の部分処理に分割し、前記分割された複数の部分処理を前記２以上のエッジデバイスに割り当てる処理配置に変更する
請求項１から３のいずれか１項に記載の協調分散システム。
【請求項５】
クライアント装置から前記処理の要求を受信する受信手段と、
前記２以上のエッジデバイスから取得された前記複数の部分処理の結果を統合して前記クライアント装置に送信する送信手段とをさらに備える
請求項４に記載の協調分散システム。
【請求項６】
サーバ装置をさらに備え、
前記判定手段は、前記複数のエッジデバイス及び前記サーバ装置のうち少なくとも１つに前記処理を割り当てる処理配置を判定する
請求項１から５のいずれか１項に記載の協調分散システム。
【請求項７】
複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散管理装置であって、
分散された前記複数のエッジデバイスから、前記複数のエッジデバイスが実行中の他の処理のデータ量又は前記他の処理にかかる処理時間を含むパラメータを取得する取得手段と、
前記パラメータから、対象の処理にかかる運用コスト、通信コスト、及び利用コストを計算する計算手段と、
前記計算の結果から、トータルコストが最も少なくなる処理配置を判定する判定手段と、
前記判定の結果から、処理配置を動的に変更する変更手段と、
を備える協調分散管理装置。
【請求項８】
複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散方法であって、
分散された前記複数のエッジデバイスから、前記複数のエッジデバイスが実行中の他の処理のデータ量又は前記他の処理にかかる処理時間を含むパラメータを取得するステップと、
前記パラメータから、対象の処理にかかる運用コスト、通信コスト、及び利用コストを計算するステップと、
前記計算の結果から、トータルコストが最も少なくなる処理配置を判定するステップと、
前記判定の結果から、処理配置を動的に変更するステップと、
を備える協調分散方法。
【請求項９】
複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する処理をコンピュータに実行させるためのプログラムであって、
分散された前記複数のエッジデバイスから、前記複数のエッジデバイスが実行中の他の処理のデータ量又は前記他の処理にかかる処理時間を含むパラメータを取得するステップと、
前記パラメータから、対象の処理にかかる運用コスト、通信コスト、及び利用コストを計算するステップと、
前記計算の結果から、トータルコストが最も少なくなる処理配置を判定するステップと、
前記判定の結果から、処理配置を動的に変更するステップと、
を実行させるためのプログラム。
【手続補正書】
【提出日】令和2年4月27日(2020.4.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散システムであって、
分散された前記複数のエッジデバイスから、前記複数のエッジデバイスが実行中の他の処理のデータ量又は前記他の処理にかかる処理時間を含むパラメータを取得する取得手段と、
前記パラメータから、対象の処理にかかる運用コスト、通信コスト、及び利用コストを計算する計算手段と、
前記計算の結果から、トータルコストが最も少なくなる処理配置を判定する判定手段と、
前記判定の結果から、処理配置を動的に変更する変更手段と、
を備える協調分散システム。
【請求項２】
前記パラメータは、前記他の処理において利用されている機能を示す機能情報を含む
請求項１に記載の協調分散システム。
【請求項３】
クライアント装置から前記処理の要求を受信する受信手段と、
前記複数のエッジデバイスのうち少なくとも１つから取得された前記処理の結果を前記クライアント装置に送信する送信手段とをさらに備える
請求項１又は２に記載の協調分散システム。
【請求項４】
前記変更手段は、前記判定された処理配置が前記複数のエッジデバイスのうち２以上のエッジデバイスに前記処理を割り当てる配置である場合には、前記処理を複数の部分処理に分割し、前記分割された複数の部分処理を前記２以上のエッジデバイスに割り当てる処理配置に変更する
請求項１から３のいずれか１項に記載の協調分散システム。
【請求項５】
クライアント装置から前記処理の要求を受信する受信手段と、
前記２以上のエッジデバイスから取得された前記複数の部分処理の結果を統合して前記クライアント装置に送信する送信手段とをさらに備える
請求項４に記載の協調分散システム。
【請求項６】
サーバ装置をさらに備え、
前記判定手段は、前記複数のエッジデバイス及び前記サーバ装置のうち少なくとも１つに前記処理を割り当てる処理配置を判定する
請求項１から５のいずれか１項に記載の協調分散システム。
【請求項７】
複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散管理装置であって、
分散された前記複数のエッジデバイスから、前記複数のエッジデバイスが実行中の他の処理のデータ量又は前記他の処理にかかる処理時間を含むパラメータを取得する取得手段と、
前記パラメータから、対象の処理にかかる運用コスト、通信コスト、及び利用コストを計算する計算手段と、
前記計算の結果から、トータルコストが最も少なくなる処理配置を判定する判定手段と、
前記判定の結果から、処理配置を動的に変更する変更手段と、
を備える協調分散管理装置。
【請求項８】
複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散方法であって、
分散された前記複数のエッジデバイスから、前記複数のエッジデバイスが実行中の他の処理のデータ量又は前記他の処理にかかる処理時間を含むパラメータを取得するステップと、
前記パラメータから、対象の処理にかかる運用コスト、通信コスト、及び利用コストを計算するステップと、
前記計算の結果から、トータルコストが最も少なくなる処理配置を判定するステップと、
前記判定の結果から、処理配置を動的に変更するステップと、
を備える協調分散方法。
【請求項９】
複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する処理をコンピュータに実行させるためのプログラムであって、
分散された前記複数のエッジデバイスから、前記複数のエッジデバイスが実行中の他の処理のデータ量又は前記他の処理にかかる処理時間を含むパラメータを取得するステップと、
前記パラメータから、対象の処理にかかる運用コスト、通信コスト、及び利用コストを計算するステップと、
前記計算の結果から、トータルコストが最も少なくなる処理配置を判定するステップと、
前記判定の結果から、処理配置を動的に変更するステップと、
を実行させるためのプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
本発明は、複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散システムであって、分散された前記複数のエッジデバイスから、前記複数のエッジデバイスが実行中の他の処理のデータ量又は前記他の処理にかかる処理時間を含むパラメータを取得する取得手段と、前記パラメータから、対象の処理にかかる運用コスト、通信コスト、及び利用コストを計算する計算手段と、前記計算の結果から、トータルコストが最も少なくなる処理配置を判定する判定手段と、前記判定の結果から、処理配置を動的に変更する変更手段と、を備える協調分散システムを提供する。
本発明は、複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散管理装置であって、分散された前記複数のエッジデバイスから、前記複数のエッジデバイスが実行中の他の処理のデータ量又は前記他の処理にかかる処理時間を含むパラメータを取得する取得手段と、前記パラメータから、対象の処理にかかる運用コスト、通信コスト、及び利用コストを計算する計算手段と、前記計算の結果から、トータルコストが最も少なくなる処理配置を判定する判定手段と、前記判定の結果から、処理配置を動的に変更する変更手段と、を備える協調分散管理装置を提供する。
本発明は、複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散方法であって、分散された前記複数のエッジデバイスから、前記複数のエッジデバイスが実行中の他の処理のデータ量又は前記他の処理にかかる処理時間を含むパラメータを取得するステップと、前記パラメータから、対象の処理にかかる運用コスト、通信コスト、及び利用コストを計算するステップと、前記計算の結果から、トータルコストが最も少なくなる処理配置を判定するステップと、前記判定の結果から、処理配置を動的に変更するステップと、を備える協調分散方法を提供する。
本発明は、複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する処理をコンピュータに実行させるためのプログラムであって、分散された前記複数のエッジデバイスから、前記複数のエッジデバイスが実行中の他の処理のデータ量又は前記他の処理にかかる処理時間を含むパラメータを取得するステップと、前記パラメータから、対象の処理にかかる運用コスト、通信コスト、及び利用コストを計算するステップと、前記計算の結果から、トータルコストが最も少なくなる処理配置を判定するステップと、前記判定の結果から、処理配置を動的に変更するステップと、を実行させるためのプログラムを提供する。
本発明は、複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散システムであって、分散された前記複数のエッジデバイスからパラメータを取得する取得手段と、前記パラメータから、運用コスト、通信コスト、及び利用コストを計算する計算手段と、前記計算の結果から、トータルコストが最も少なくなる処理配置を判定する判定手段と、前記判定の結果から、処理配置を動的に変更する変更手段と、を備える協調分散システムを提供する。
【国際調査報告】
2019111411.tif 000008
2019111411.tif 000009
2019111411.tif 000010