JP6972783B2 - 分散システム、バックエンドサービス、エッジサーバ、及びその方法 - Google Patents

分散システム、バックエンドサービス、エッジサーバ、及びその方法 Download PDF

Info

Publication number
JP6972783B2
JP6972783B2 JP2017165807A JP2017165807A JP6972783B2 JP 6972783 B2 JP6972783 B2 JP 6972783B2 JP 2017165807 A JP2017165807 A JP 2017165807A JP 2017165807 A JP2017165807 A JP 2017165807A JP 6972783 B2 JP6972783 B2 JP 6972783B2
Authority
JP
Japan
Prior art keywords
analysis program
edge server
division analysis
division
edge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017165807A
Other languages
English (en)
Other versions
JP2019045970A (ja
Inventor
幸希 安本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2017165807A priority Critical patent/JP6972783B2/ja
Publication of JP2019045970A publication Critical patent/JP2019045970A/ja
Application granted granted Critical
Publication of JP6972783B2 publication Critical patent/JP6972783B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、分散システム、バックエンドサービス、エッジサーバ、及びその方法に関し、特に、学習済みモデルを構成する解析プログラムについての分散システム、バックエンドサービス、エッジサーバ、及びその方法に関する。
近年、IoT(Internet of Things)技術の活用により様々なシステムが構築されている。これらのシステムでは、クラウドコンピューティングを用いて様々なデバイス(スマートフォン、タブレット端末、各種センサ等)のデータを収集・処理しているが、データ通信量の増大、デバイスとの通信遅延の発生等の課題がある。これらの課題の解決手段としてエッジコンピューティングが注目されている。
エッジコンピューティングとは、小規模のエッジサーバをデバイスに近い場所に分散配置し、クラウドで行われていた処理をエッジサーバに分散する技術のことである。エッジコンピューティングにより通信負荷や通信遅延の発生を軽減することができる。
エッジコンピューティングの技術を用いて、デバイスから発生するデータをもとにした機械学習や、その学習結果である学習済みモデルを反映した解析処理を行うことがある。学習済みモデルは、高い価値を持つ秘匿すべき情報である。このため、学習済みモデルをエッジサーバに格納する場合には、エッジサーバの盗難リスクの高さから情報漏えいへの対策が必要となる。エッジサーバで暗号化やアクセス制御等のセキュリティ対策を施していても、エッジサーバ自体が盗難された場合には、時間をかけて解析される虞があり、エッジサーバに格納された学習済みモデルを漏洩から保護することは難しい。このため、エッジサーバが盗難された場合でも有効な対策が求められている。
特許文献1には、ユーザ情報を分割して複数の分割情報を生成し、複数のエッジサーバに分散して記憶する技術が開示されている。
国際公開第2016/043120号
しかし、特許文献1に開示の技術は、ユーザ情報を分割して複数のエッジサーバに分散させる技術であり、学習済みモデルのようなプログラムへの適用はできないという問題があった。この理由としては、プログラムを特別な考慮無く分割してしまうと、もともとのプログラムが持っていた処理が実行不可能になってしまうためである。
本発明は、このような問題点を解決するためになされたものであり、学習済みモデルを用いた解析処理をエッジサーバにて安全に行うことができる分散システム、バックエンドサービス、エッジサーバ、及びその方法を提供することを目的とする。
本発明の第1の態様にかかる分散システムは、バックエンドサービスと、複数のエッジサーバと、を備え、前記バックエンドサービスは、学習済みモデルの情報を保管する第1のデータ保管手段と、前記学習済みモデルを構成する解析プログラムを複数の分割解析プログラムに分割するモデル分割手段と、前記複数の分割解析プログラムを前記複数のエッジサーバに割り振り、エッジサーバ、分割解析プログラム、及び転送先情報を対応付けた割り振り情報を生成して前記第1のデータ保管手段に格納するプログラム割り振り手段と、前記割り振り情報に基づいて、前記分割解析プログラム及び対応する前記転送先情報を前記エッジサーバに配布する第1のエッジ通信手段と、を備え、前記エッジサーバは、前記バックエンドサービスとの通信を行うバックエンド通信手段と、前記バックエンド通信手段により受信された前記分割解析プログラム及び前記転送先情報を格納する第2のデータ保管手段と、実行すべき分割解析プログラムを特定する制御手段と、前記制御手段により特定された前記分割解析プログラムを用いて演算処理を実行する演算処理手段と、前記転送先情報に含まれる宛先情報を用いて、前記分割解析プログラムの演算処理結果を次の処理を行うエッジサーバに転送する第2のエッジ通信手段と、を備えるものである。
本発明の第2の態様にかかるバックエンドサービスは、学習済みモデルの情報を保管するデータ保管手段と、前記学習済みモデルを構成する解析プログラムを複数の分割解析プログラムに分割するモデル分割手段と、前記複数の分割解析プログラムを複数のエッジサーバに割り振り、エッジサーバ、分割解析プログラム、及び転送先情報を対応付けた割り振り情報を生成して前記データ保管手段に格納するプログラム割り振り手段と、前記割り振り情報に基づいて、前記分割解析プログラム及び対応する前記転送先情報を前記エッジサーバに配布するエッジ通信手段と、を備えるものである。
本発明の第3の態様にかかるエッジサーバは、バックエンドサービスとの通信を行うバックエンド通信手段と、前記バックエンド通信手段により受信された分割解析プログラム及び転送先情報を格納するデータ保管手段と、実行すべき分割解析プログラムを特定する制御手段と、前記制御手段により特定された前記分割解析プログラムを用いて演算処理を実行する演算処理手段と、前記転送先情報に含まれる宛先情報を用いて、前記分割解析プログラムの演算処理結果を次の処理を行うエッジサーバに転送するエッジ通信手段と、を備えるものである。
本発明の第4の態様にかかる方法は、バックエンドサービスと、複数のエッジサーバと、を備える分散システムの方法であって、前記バックエンドサービスは、学習済みモデルを構成する解析プログラムを複数の分割解析プログラムに分割し、前記複数の分割解析プログラムを前記複数のエッジサーバに割り振り、エッジサーバ、分割解析プログラム、及び転送先情報を対応付けた割り振り情報を生成し、前記割り振り情報に基づいて、前記分割解析プログラム及び対応する前記転送先情報を前記エッジサーバに配布し、前記エッジサーバは、前記分割解析プログラム及び前記転送先情報を前記バックエンドサービスから受信し、実行すべき分割解析プログラムを特定し、特定された前記分割解析プログラムを用いて演算処理を実行し、前記転送先情報に含まれる宛先情報を用いて、前記分割解析プログラムの演算処理結果を次の処理を行うエッジサーバに転送するものである。
本発明の第5の態様にかかる方法は、バックエンドサービスの方法であって、学習済みモデルを構成する解析プログラムを複数の分割解析プログラムに分割し、前記複数の分割解析プログラムを複数のエッジサーバに割り振り、エッジサーバ、分割解析プログラム、及び転送先情報を対応付けた割り振り情報を生成し、前記割り振り情報に基づいて、前記分割解析プログラム及び対応する前記転送先情報を前記エッジサーバに配布するものである。
本発明の第6の態様にかかる方法は、エッジサーバの方法であって、分割解析プログラム及び転送先情報をバックエンドサービスから受信し、実行すべき分割解析プログラムを特定し、特定された前記分割解析プログラムを用いて演算処理を実行し、前記転送先情報に含まれる宛先情報を用いて、前記分割解析プログラムの演算処理結果を次の処理を行うエッジサーバに転送するものである。
本発明により、学習済みモデルを用いた解析処理をエッジサーバにて安全に行うことができる分散システム、バックエンドサービス、エッジサーバ、及びその方法を提供することができる。
実施の形態1にかかる分散システムの構成例を示すブロック図である。 実施の形態1にかかるバックエンドサービスの構成例を示すブロック図である。 実施の形態1にかかる学習済みモデルの解析処理の概要を示す図である。 実施の形態1にかかる割り振り情報の例を示す図である。 実施の形態1にかかるエッジサーバの構成例を示すブロック図である。 実施の形態1にかかるバックエンドサービスの処理例を示すフローチャートである。 実施の形態1にかかるエッジサーバの処理例を示すフローチャートである。 実施の形態2にかかる分散システムの構成例を示すブロック図である。 実施の形態2にかかるデバイスと学習済みモデルと分割解析プログラムとの関係の例を示す図である。 実施の形態2にかかる割り振り情報の例を示す図である。 実施の形態2にかかる転送データの構造例を示す図である。 実施の形態2にかかる割り振り情報の例を示す図である。 実施の形態2にかかるデバイスから発生されるデータ種別と対応する学習済みモデルの関係の例を示す図である。 実施の形態2にかかる割り振り情報の例を示す図である。 実施の形態2にかかるエッジサーバにおける分割解析プログラムの実行処理の流れを示すフローチャートである。 実施の形態2にかかるエッジサーバにおける分割解析プログラムの実行処理の流れを示すフローチャートである。 実施の形態2にかかるエッジサーバにおける分割解析プログラムの実行処理の流れを示すフローチャートである。
以下では、本発明の実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。なお、説明で使用するM、Nは、正の整数であり、M<Nとする。
実施の形態1
まず、図1のブロック図を用いて、本発明の実施の形態1にかかる分散システム1000の構成例について説明する。本実施の形態1にかかる分散システム1000は、デバイス群100と、エッジサーバ200と、バックエンドサービス300と、を備えている。なお、エッジサーバ200とバックエンドサービス300とは、WAN(Wide Area Network)やインターネット等のネットワーク10を介して接続されている。また、デバイス群100の各デバイスとエッジサーバ200とは、デバイスに応じた接続方法により、それぞれ接続される。
デバイス群100は、例えば、スマートフォン、タブレット端末、各種センサ、アクチュエータ等のデバイスを含むデバイス群である。
エッジサーバ200は、複数台存在する。なお、図1の例では、分散システム1000が3つのエッジサーバ200を備える構成を示しているが、分散システム1000が備えるエッジサーバ200の数は3つに限らない。また、それぞれのエッジサーバ200は、デバイス群100と紐づけられている。エッジサーバ200は、自身に紐づけられているデバイス群100と通信を行う。なお、複数のエッジサーバ200は、ピア・ツー・ピアや、クライアント・サーバ等のネットワーク形態により相互に通信することが可能である。
バックエンドサービス300は、複数のエッジサーバ200を管理する。
続いて、図2のブロック図を用いて、本実施の形態1にかかるバックエンドサービス300の構成例について説明する。本実施の形態1にかかるバックエンドサービス300は、エッジ通信部310と、データ保管部320と、モデル分割部330と、プログラム割り振り部340と、を備えている。
データ保管部320は、エッジサーバ200とデバイス群100の紐づけ情報、学習済みモデルの情報、等を保管するための機能・装置である。なお、学習済みモデルは、バックエンドサービス300における機械学習の成果物として生成される。学習済みモデルは、特定のデータを入力として機能するものであり、そのデータの発生源であるデバイスと紐づけることができる。あるデバイスに紐づけられた学習済みモデルは複数種類存在する可能性もある。なお、エッジサーバ200が接続しているデバイス群100の情報は、データ保管部320にて管理情報として保管されている。このため、バックエンドサービス300にてエッジサーバ200とデバイス群100との紐づけが可能である。
モデル分割部330は、データ保管部320に保管されている学習済みモデルを構成する解析プログラムを複数の分割解析プログラムに分割する機能・装置である。なお、複数の分割解析プログラムは、例えば、解析プログラムをステップごとに分割したものである。モデル分割部330は、複数の分割解析プログラムをデータ保管部320に保管する。
ここで、図3を用いて、分割解析プログラムについて説明する。図3は、学習済みモデルの解析処理の概要を示す図である。なお、解析プログラムにおいて、P(1)は、複数の分割解析プログラムのうちの最初の分割解析プログラムであり、P(N)は、複数の分割解析プログラムのうちの最後の分割解析プログラムである。また、元データは、デバイス群100のデバイスからエッジサーバ200へ受信されるデータである。
学習済みモデルの解析処理では、元データから抽出される情報を学習済みモデルの入力とし、解析プログラムを用いた中間処理を行った結果として、元データの特徴を表す出力が得られる。例えば、人物画像データをもとに、画像に映っている人物が女性であるか男性であるかを判断するような学習済みモデルの場合、元データ、入力、出力は、下記表1のようになる。
Figure 0006972783
入力から出力を得るための中間処理は、多段的に重み付け係数を用いた演算を実行する処理としてとらえることができる。また、重み付け係数を用いた演算処理や、元データから入力を抽出する処理は、それぞれ独立した分割解析プログラムにより実現することができる。元データから入力を抽出する分割解析プログラムをP(1)、N−1回演算処理を行う場合の中間処理用の分割解析プログラムをP(2)〜P(N)とすると、元データにP(1)〜P(N)の分割解析プログラムを実行することにより、最終成果物として特徴量(=出力)を得ることができる。なお、P(M)の演算処理結果がP(M+1)の入力となり、最後にP(N)の結果として特徴量を表す情報が出力される。
なお、分割解析プログラムは、それぞれ独立した個別のプログラムである。また、それぞれのエッジサーバ200が有する分割解析プログラム間の関連を示す情報は、「次に演算処理を行うべき分割解析プログラムがどれか」という点、及び「次に演算処理を行うべき分割解析プログラムを持つエッジサーバの宛先情報」のみである。このため、仮に攻撃者が1つのエッジサーバ200を盗難したとしても、そのエッジサーバ200が有する情報からでは、次に演算処理を行うべき分割解析プログラムについての情報以外の情報を知ることはできない。このため、攻撃者は、学習済みモデルを構成する解析プログラムの全体像を把握することはできない。
図2に戻り説明を続ける。プログラム割り振り部340は、複数の分割解析プログラムを複数のエッジサーバ200に割り振る機能・装置である。プログラム割り振り部340は、複数の分割解析プログラムを複数のエッジサーバ200に割り振る。また、プログラム割り振り部340は、エッジサーバ200、分割解析プログラム、及び転送先情報を対応付けた割り振り情報を生成してデータ保管部320に格納する。
ここで、図4を用いて、本実施の形態1にかかる割り振り情報について説明する。図4は、本実施の形態1にかかる割り振り情報の例を示す図である。なお、図4は、複数のエッジサーバ200として、エッジサーバA、エッジサーバB、エッジサーバCが存在する場合の例である。また、解析プログラムがP(1)〜P(3)の3つの分割解析プログラムに分割された場合の例である。
エッジサーバAには、分割解析プログラムP(1)が割り振られ、転送先情報D(2)が対応付けられている。なお、転送先情報D(2)は、P(1)の次の分割解析プログラムであるP(2)を持つエッジサーバの宛先情報と、実行すべき分割解析プログラムがP(2)であることを示す情報とを含む情報である。
エッジサーバBには、分割解析プログラムP(2)が割り振られ、転送先情報D(3)が対応付けられている。エッジサーバCには、分割解析プログラムP(3)が割り振られている。なお、P(3)は解析プログラムの最後の処理であるため、転送先情報は存在しない。
図2に戻り説明を続ける。エッジ通信部310は、エッジサーバ200との通信を行うための機能・装置である。エッジ通信部310は、分割解析プログラムをエッジサーバ200に送信することや、エッジサーバ200からデータを受信すること等を行う。
具体的には、エッジ通信部310は、割り振り情報に基づいて、分割解析プログラム及び対応する転送先情報をエッジサーバ200に配布する。すなわち、図4の例では、エッジ通信部310は、分割解析プログラムP(1)及び転送先情報D(2)をエッジサーバAに配布する。また、エッジ通信部310は、分割解析プログラムP(2)及び転送先情報D(3)をエッジサーバBに配布する。さらに、エッジ通信部310は、分割解析プログラムP(3)をエッジサーバCに配布する。
続いて、図5のブロック図を用いて、本実施の形態1にかかるエッジサーバ200の構成例について説明する。本実施の形態1にかかるエッジサーバ200は、制御部210と、バックエンド通信部220と、エッジ通信部230と、デバイス通信部240と、演算処理部250と、データ保管部260と、を備えている。
データ保管部260は、バックエンドサービス300から受信された分割解析プログラムやデバイス情報等のエッジサーバ管理用のデータを保管するための機能・装置である。
バックエンド通信部220は、バックエンドサービス300との通信を行うための機能・装置である。バックエンド通信部220は、バックエンドサービス300から分割解析プログラム及び転送先情報を受信し、受信された分割解析プログラム及び転送先情報をデータ保管部260へ格納する。
デバイス通信部240は、デバイス群100と通信を行うための機能・装置である。デバイス通信部240は、デバイス群100のデバイスから発生されるデータ(元データ)の受信や、デバイスへの操作指示等を行う。
制御部210は、エッジサーバ200における各機能・装置の動作を制御する。例えば、制御部210は、実行すべき分割解析プログラムを特定する。例えば、データ保管部260に分割解析プログラムP(1)が格納されており、デバイス通信部240により分割解析プログラムP(1)に対応する元データを受信した場合、制御部210は、実行すべき分割解析プログラムとして分割解析プログラムP(1)を特定する。また、データ保管部260に分割解析プログラムP(2)が格納されており、他のエッジサーバ200から分割解析プログラムP(1)の演算処理結果を受信した場合、制御部210は、実行すべき分割解析プログラムとして分割解析プログラムP(2)を特定する。
演算処理部250は、デバイスから受信されたデータや他のエッジサーバ200から受信された演算処理結果に対して、対応する分割解析プログラムを用いて演算処理を行うための機能・装置である。演算処理部250は、制御部210により特定された分割解析プログラムを用いて演算処理を実行する。
エッジ通信部230は、エッジサーバ200間の通信を行うための機能・装置である。エッジ通信部230は、分割解析プログラムの演算処理結果等を送受信する。例えば、エッジ通信部230は、転送先情報に含まれる宛先情報を用いて、分割解析プログラムの演算処理結果を次の処理を行うエッジサーバ200に転送する。
なお、エッジ通信部230は、演算処理部250により、複数の分割解析プログラムのうちの最初の分割解析プログラムが実行された場合には、自身のエッジサーバ200を示す宛先情報をデータ発生源情報として演算処理結果とともに次の処理を行うエッジサーバ200に転送する。なお、複数の分割解析プログラムのうちの最初の分割解析プログラムを実行するエッジサーバ200のことをデータ発生源のエッジサーバとも呼ぶ。
また、エッジ通信部230は、演算処理部250により、複数の分割解析プログラムのうちの最後の分割解析プログラムが実行された場合には、データ発生源情報を用いて、解析プログラムの最終的な処理結果を、最初の分割解析プログラムを実行したエッジサーバ200(すなわち、データ発生源のエッジサーバ)に返却する。
続いて、図6のフローチャートを用いて、本実施の形態1にかかるバックエンドサービス300の処理例について説明する。
まず、バックエンドサービス300は、モデル分割部330により、学習済みモデルを構成する解析プログラムを複数の分割解析プログラムに分割する(ステップS101)。
次に、バックエンドサービス300は、プログラム割り振り部340により、複数の分割解析プログラムを複数のエッジサーバ200に割り振り、エッジサーバ200、分割解析プログラム、及び転送先情報を対応付けた割り振り情報を生成する(ステップS102)。
次に、バックエンドサービス300は、エッジ通信部310により、割り振り情報に基づいて、分割解析プログラム及び対応する転送先情報をエッジサーバ200に配布する(ステップS103)。
続いて、図7のフローチャートを用いて、本実施の形態1にかかるエッジサーバ200の処理例について説明する。
まず、エッジサーバ200は、バックエンド通信部220により、分割解析プログラム及び転送先情報をバックエンドサービス300から受信する(ステップS201)。
次に、エッジサーバ200は、制御部210により、実行すべき分割解析プログラムを特定する(ステップS202)。
次に、エッジサーバ200は、演算処理部250により、特定された分割解析プログラムを用いて演算処理を実行する(ステップS203)。
次に、エッジサーバ200は、ステップS203にて実行された演算処理が、複数の分割解析プログラムのうちの最初の分割解析プログラムを用いて実行されたか否かを判断する(ステップS204)。
複数の分割解析プログラムのうちの最初の分割解析プログラムを用いて実行されたと判断した場合(ステップS204にてYES)、エッジサーバ200は、自身を示す宛先情報をデータ発生源情報とする(ステップS205)。そして、エッジサーバ200は、エッジ通信部230により、転送先情報に含まれる宛先情報を用いて、データ発生源情報と演算処理結果を次の処理を行うエッジサーバ200に転送する(ステップS206)。
他方、複数の分割解析プログラムのうちの最初の分割解析プログラムを用いて実行されたものではないと判断した場合(ステップS204にてNO)、エッジサーバ200は、ステップS203にて実行された演算処理が、複数の分割解析プログラムのうちの最後の分割解析プログラムを用いて実行されたか否かを判断する(ステップS207)。
複数の分割解析プログラムのうちの最後の分割解析プログラムを用いて実行されたものではないと判断した場合(ステップS207にてNO)、エッジサーバ200は、エッジ通信部230により、転送先情報に含まれる宛先情報を用いて、データ発生源情報と演算処理結果を次の処理を行うエッジサーバ200に転送する(ステップS208)。
他方、複数の分割解析プログラムのうちの最後の分割解析プログラムを用いて実行されたと判断した場合(ステップS207にてYES)、エッジサーバ200は、エッジ通信部230により、データ発生源情報を用いて、解析プログラムの最終的な処理結果を最初の分割解析プログラムを実行したエッジサーバ(すなわち、データ発生源のエッジサーバ)に返却する(ステップS209)。
以上のように、本発明の実施の形態1にかかるバックエンドサービス300は、学習済みモデルの情報を保管するデータ保管部320を備える構成としている。また、バックエンドサービス300は、学習済みモデルを構成する解析プログラムを複数の分割解析プログラムに分割するモデル分割部330を備える構成としている。また、バックエンドサービス300は、複数の分割解析プログラムを複数のエッジサーバ200に割り振り、エッジサーバ200、分割解析プログラム、及び転送先情報を対応付けた割り振り情報を生成してデータ保管部320に格納するプログラム割り振り部340を備える構成としている。さらに、バックエンドサービス300は、割り振り情報に基づいて、分割解析プログラム及び対応する転送先情報をエッジサーバ200に配布するエッジ通信部310を備える構成としている。これにより、本実施の形態1にかかるバックエンドサービス300では、エッジサーバ200に配布する分割解析プログラム間の関連を示す情報を、転送先情報のみとすることができる。すなわち、本実施の形態1にかかるバックエンドサービス300では、学習済みモデルを用いた解析処理をエッジサーバにて安全に行うことができるバックエンドサービスを実現することができる。
また、本実施の形態1にかかるエッジサーバ200は、バックエンドサービス300との通信を行うバックエンド通信部220を備える構成としている。また、エッジサーバ200は、バックエンド通信部220により受信された分割解析プログラム及び転送先情報を格納するデータ保管部260を備える構成としている。また、エッジサーバ200は、実行すべき分割解析プログラムを特定する制御部210を備える構成としている。また、エッジサーバ200は、制御部210により特定された分割解析プログラムを用いて演算処理を実行する演算処理部250を備える構成としている。さらに、エッジサーバ200は、転送先情報に含まれる宛先情報を用いて、分割解析プログラムの演算処理結果を次の処理を行うエッジサーバに転送するエッジ通信部230を備える構成としている。これにより、本実施の形態1にかかるエッジサーバ200を、攻撃者により盗難されたとしても、攻撃者は、データ保管部260に保存されている情報を読み取った場合に、転送先情報以外に分割解析プログラム間の関連を示す情報を得ることはできない。このため、学習済みモデルを取得するためには、他の複数のエッジサーバ200が持つ情報が必要となるため、学習済みモデルの全体像把握を困難にすることができる。すなわち、本実施の形態1にかかるエッジサーバ200では、学習済みモデルを用いた解析処理をエッジサーバにて安全に行うことができるエッジサーバを実現することができる。
また、本実施の形態1にかかる分散システム1000は、上述したバックエンドサービス300及びエッジサーバ200を備える構成としている。これにより、本実施の形態1にかかる分散システム1000は、学習済みモデルを用いた解析処理をエッジサーバにて安全に行うことができる分散システムを実現することができる。
さらに、本実施の形態1にかかる分散システム1000では、複数の分割解析プログラムのうちの最初の分割解析プログラムを実行したエッジサーバ200のエッジ通信部230は、自身のエッジサーバ200を示す宛先情報をデータ発生源情報として演算処理結果とともに次の処理を行うエッジサーバ200に転送する構成としている。また、分散システム1000では、複数の分割解析プログラムのうちの最後の分割解析プログラムを実行したエッジサーバ200のエッジ通信部230は、データ発生源情報を用いて、解析プログラムの最終的な処理結果を、最初の分割解析プログラムを実行したエッジサーバ200に返却する構成としている。これにより、本実施の形態1にかかる分散システム1000では、データ発生源のエッジサーバが解析プログラムの最終的な処理結果を取得することができる。このため、データ発生源のエッジサーバが、解析プログラムの最終的な処理結果を用いて、デバイスやバックエンドサービスに対するフィードバック等のアクションを行うことができる。
実施の形態2
続いて、図8のブロック図を用いて、本発明の実施の形態2にかかる分散システム2000の構成例について説明する。図8の例では、本実施の形態2にかかる分散システム2000は、エッジサーバ500Aと、エッジサーバ500Bと、エッジサーバ500Cと、エッジサーバ500Dと、バックエンドサービス600と、を備えている。なお、エッジサーバ500A〜500Dとバックエンドサービス600とは、WANやインターネット等のネットワーク10を介して接続されている。なお、エッジサーバ500A〜500Dを総称してエッジサーバ500と呼ぶ。なお、図8の例では、分散システム2000が4つのエッジサーバ500を備える構成を示しているが、分散システム2000が備えるエッジサーバ500の数は4つに限らない。
図8の例では、エッジサーバ500Aは、デバイス400X_A及びデバイス400Y_Aと接続している。また、エッジサーバ500Bは、デバイス400X_B及びデバイス400Z_Bと接続している。また、エッジサーバ500Cは、デバイス400Y_C及びデバイス400Z_Cと接続している。さらに、エッジサーバ500Dは、デバイス400Z_Dと接続している。なお、デバイス400X_Aとデバイス400X_Bとは、同じ種類のデバイスであり、デバイス400X_Aとデバイス400X_Bとを総称してデバイス400Xと呼ぶ。また、デバイス400Y_Aとデバイス400Y_Cとは、同じ種類のデバイスであり、デバイス400Y_Aとデバイス400Y_Cとを総称してデバイス400Yと呼ぶ。さらに、デバイス400Z_Bとデバイス400Z_Cとデバイス400Z_Dとは、同じ種類のデバイスであり、デバイス400Z_B〜400Z_Dを総称してデバイス400Zと呼ぶ。なお、デバイス400X〜400Zを総称してデバイス400と呼ぶ。なお、それぞれのエッジサーバ500に接続されるデバイス400の数は、図8に示す数に限らない。
バックエンドサービス600は、エッジ通信部610と、データ保管部620と、モデル分割部630と、プログラム割り振り部640と、を備えている。なお、バックエンドサービス600の構成は、実施の形態1にかかるバックエンドサービス300の構成と同様であり、図示を省略する。
エッジサーバ500は、制御部510と、バックエンド通信部520と、エッジ通信部530と、デバイス通信部540と、演算処理部550と、データ保管部260と、を備えている。なお、エッジサーバ500の構成は、実施の形態1にかかるエッジサーバ200の構成と同様であり、図示を省略する。
続いて、図9を用いて、本実施の形態2にかかるデバイス400と学習済みモデルと分割解析プログラムとの関係の例について説明する。図9の例では、デバイス400X、デバイス400Y、デバイス400Zの3種類のデバイス400が存在し、それぞれに紐づけられた学習済みモデルを有している。デバイス400X、デバイス400Y、デバイス400Zは、温度計や監視カメラ等、それぞれが何らかのデバイス400の種類を表している。デバイス400は種類ごとに複数の個体が存在する可能性がある。図8の例では、デバイス400Xが2つ、デバイス400Yが2つ、デバイス400Zが3つ存在する。同じ種類のデバイスからは同じ種類のデータ(元データ)が発生するものとする。
デバイス400Xから発生する元データを入力とする学習済みモデルには、モデルX−1とモデルX−2がある。また、モデルX−1の解析プログラムをPX−1とする。また、モデルX−2の解析プログラムをPX−2とする。また、デバイス400Yから発生する元データを入力とする学習済みモデルには、モデルY−1とモデルY−2がある。また、モデルY−1の解析プログラムをPY−1とする。また、モデルY−2の解析プログラムをPY−2とする。さらに、デバイス400Zから発生する元データを入力とする学習済みモデルは、モデルZ−1である。また、モデルZ−1の解析プログラムをPZ−1とする。
モデル分割部630は、解析プログラムPX−1を、分割解析プログラムPX−1(1)、PX−1(2)、PX−1(3)に分割する。また、モデル分割部630は、解析プログラムPX−2を、分割解析プログラムPX−2(1)、PX−2(2)、PX−2(3)、PX−2(4)に分割する。モデル分割部630は、解析プログラムPY−1、PY−2、PZ−1についても図9に示すように、同様に分割する。なお、簡略化のために分割解析プログラムの数(分割数)を3〜4にする例を示しているが、より多くの分割解析プログラムに分割してもよい。
プログラム割り振り部640は、エッジサーバ500に紐づけられたデバイス400の情報等に基づいて、エッジサーバ500への分割解析プログラムの割り振りを行う。例えば、プログラム割り振り部640は、以下に示すルール1〜4に基づいて分割解析プログラムの割り振りを行う。
ルール1は、学習済みモデルの連続した分割解析プログラムP(M)、P(M+1)を同じエッジサーバ500に極力割り振らないことである。連続した分割解析プログラムを同一のエッジサーバ500で保持していると、当該エッジサーバ500を盗難された場合に、学習済みモデルについて多くの情報を得られる恐れがある。ルール1によりこの恐れを解消することができる。また、P(2)とP(4)のように連続していない分割解析プログラムからでは、分割解析プログラム間の関連を知る手段がないため、同じ学習済みモデルに関する分割解析プログラムと判断することができず、安全性が保たれる。なお、すべてのエッジサーバ500が同じデバイス400を持つ場合等、例外的にP(1)、P(2)を同じエッジサーバ500に割り振る可能性もある。しかしその場合であっても、そのエッジサーバ500からP(3)以降の情報を取得することはできないため、大きな問題とはならない。
ルール2は、元データから入力を抽出する分割解析プログラムであるP(1)を、学習済みモデルに対応するデバイス400を持つすべてのエッジサーバ500に割り振ることである。例えば、PX−1(1)は、学習済みモデルX−1に対応するデバイス400Xを持つエッジサーバ500A及びエッジサーバ500Bに割り振る。なお、ルール2により、元データをエッジサーバ500間で転送することによる通信負荷の増大を避けることができる。
ルール3は、P(1)以外の分割解析プログラム(=中間処理用の分割解析プログラム)を、複数のエッジサーバ500に重複しないように割り振ることである。ルール3により、次の分割解析プログラムを実行するエッジサーバ500を一意に決定することができる。
ルール4は、ルール1〜3に反しない範囲で、それぞれのエッジサーバ500に割り振られた分割解析プログラムの数が偏らないようにすることである。
モデルX−1の解析プログラムの割り振りをルール1〜4の通りに行うと、割り振り情報は、図10のようになる。モデルX−1と紐づけられたデバイス400Xを持つエッジサーバ500は、エッジサーバ500Aとエッジサーバ500Bである。このため、プログラム割り振り部640は、エッジサーバ500A及びエッジサーバ500Bに、PX−1(1)を割り振る。
プログラム割り振り部640は、残りのPX−1(2)、PX−1(3)を偏らないようにエッジサーバ500Cとエッジサーバ500Dに一つずつ割り振る。
X−1(1)の実行後に、PX−1(2)を持つエッジサーバ500Cへ演算処理結果を転送するために転送先情報が必要となる。このため、プログラム割り振り部640は、PX−1(2)を持つエッジサーバ500Cの宛先情報を含む転送先情報DX−1(2)を、エッジサーバ500A及びエッジサーバ500Bに持たせている。同様に、プログラム割り振り部640は、PX−1(3)を持つエッジサーバ500Dの宛先情報を含む転送先情報DX−1(3)をエッジサーバ500Cに持たせている。なお、PX−1(3)は、モデルX−1の最後の処理であるため、転送先情報は存在しない。
X−1(3)の演算処理結果として学習済みモデルの出力が得られた後は、その出力を用いてデバイス400Xやバックエンドサービス600に対して何らかのフィードバックを行うことが想定される。このため、PX−1(3)の演算処理結果、すなわち解析プログラムPX−1の最終的な処理結果は、データ発生源のエッジサーバに転送される。すなわち、解析プログラムPX−1の最終的な処理結果は、PX−1(1)を持つエッジサーバ500A及びエッジサーバ500Bに転送される。
エッジサーバ500間で送受信される転送データは、図11のような構造を持つ。すなわち、転送データには、データ発生源情報と、プログラム種別と、演算処理結果と、が含まれる。
エッジサーバ500は、次に実行すべき分割解析プログラムP(M)の情報を、転送先情報D(M)から抽出し、プログラム種別として転送データに格納する。これにより、転送データを受信したエッジサーバ500では、プログラム種別を参照することにより、複数種類ある分割解析プログラムの中から実行すべき分割解析プログラムが何かを判断することができる。
初めにデバイス400から発生した元データを受け取ってP(1)の演算処理を行ったエッジサーバ500は、自身の宛先を示す宛先情報をデータ発生源情報として転送データに格納する。これにより、データ発生源情報は、それ以降の処理を行うエッジサーバ500に転送されていく。
それぞれのエッジサーバ500は、分割解析プログラムの演算処理結果を転送データに格納する。また、それぞれのエッジサーバ500は、転送先情報から抽出したプログラム種別を転送データに格納する。
モデルX−2の解析プログラムの割り振りを追加すると、割り振り情報は、図12のようになる。図12の例では、同じモデルX−2に対応する分割解析プログラムPX−2(1)とPX−2(4)がエッジサーバ500Aに割り振られている。しかし、PX−2(1)とPX−2(4)は、連続した分割解析プログラムではないため、互いに同じ学習済みモデルに関する分割解析プログラムであることは判定できなくなっている。
また、図12の例では、モデルX−1の最初の分割解析プログラムPX−1(1)とモデルX−2の最初の分割解析プログラムPX−2(1)を、エッジサーバ500A及びエッジサーバ500Bのそれぞれが有している。この場合、制御部510は、データ発生源のデバイス400と、データの種別等から実行すべき分割解析プログラムを決定する。また、一つのデータに対して複数の分割解析プログラム(例えば、PX−1(1)とPX−2(1))を実行する可能性もある。例えば、デバイス400Xが、3種類の異なるデータX−a、X−b、X−cを発生することがあり、それぞれのデータ種別に対応する学習済みモデルが図13のようになっていたとする。この例においては、デバイス400Xを持つエッジサーバ500が、X−aのデータを受け取った場合、PX−1(1)を実行するようにすればよい。同様に、X−bのデータを受け取った場合には、PX−2(1)を実行し、X−cのデータを受け取った場合には、PX−1(1)とPX−2(1)の両方を実行する。このような制御を行うためには、バックエンドサービス600が、最初の分割解析プログラムであるP(1)とデバイス400・データ種別との対応情報を、分割解析プログラムP(1)とともにエッジサーバ500に配布しておけばよい。
デバイス400X、400Y、400Zに関する分割解析プログラムの割り振りをすべて行うと、割り振り情報は、図14のようになる。
続いて、図15〜図17のフローチャートを用いて、エッジサーバ500における分割解析プログラムの実行処理の流れについて説明する。
いずれかのデバイス400からデータが発生すると、当該デバイス400に接続されたエッジサーバ500は、デバイス通信部540により、そのデータをデバイス400から受信する(ステップS301)。
次に、エッジサーバ500は、制御部510により、受信されたデータのデータ種別に応じて使用する分割解析プログラムを決定する(ステップS302)。
次に、エッジサーバ500は、制御部510により、データを演算処理部550に渡す(ステップS303)。
次に、エッジサーバ500は、演算処理部550により、受け取ったデータに対して、決定された分割解析プログラムを使用して演算処理を行う(ステップS304)。
次に、エッジサーバ500は、制御部510により、演算処理結果を次のエッジサーバ500に渡す転送データに格納する(ステップS305)。
次に、エッジサーバ500は、制御部510により、ステップS304にて使用された分割解析プログラムに対応する転送先情報が存在するか否かを判断する(ステップS306)。具体的には、制御部510は、ステップS304にて使用された分割解析プログラムに対応する転送先情報がデータ保管部560に格納されているか否かを判断する。
対応する転送先情報が存在する場合(ステップS306にてYES)、エッジサーバ500は、制御部510により、プログラム種別を転送データに格納する(ステップS307)。
次に、エッジサーバ500は、制御部510により、自身がデータ発生源のエッジサーバであるか否かを判断する(ステップS308)。
自身がデータ発生源のエッジサーバである場合(ステップS308にてYES)、エッジサーバ500は、制御部510により、自身を示す宛先情報をデータ発生源情報として転送データに格納する(ステップS309)。他方、自身がデータ発生源のエッジサーバではない場合(ステップS308にてNO)、ステップS309をスキップしてステップS310に進む。
次に、エッジサーバ500は、制御部510により、ステップS304にて使用された分割解析プログラムに対応する転送先情報から宛先情報を読み出し、転送データとともにエッジ通信部530に渡す(ステップS310)。
次に、エッジサーバ500は、エッジ通信部530により、宛先情報にしたがって転送データを次のエッジサーバ500に転送する(ステップS311)。
ステップS311にて転送された転送データを、次のエッジサーバ500が、エッジ通信部530により受信する(ステップS312)。
次のエッジサーバ500は、制御部510により、受信された転送データから演算処理結果を入力データ(すなわち、ステップS304にて用いるデータ)として取り出す(ステップS313)。また、次のエッジサーバ500は、制御部510により、受信された転送データに含まれるプログラム種別を読み取り、当該プログラム種別に応じて使用する分割解析プログラムを決定する(ステップS314)。そして、次のエッジサーバ500は、ステップS314の後に、ステップS303へ進む。以降、分割解析プログラムP(1)〜P(N)の処理がすべて完了するまでステップS303〜ステップS314を繰り返す。
なお、最後の分割解析プログラムであるP(N)の処理では、ステップS304にて使用された分割解析プログラムに対応する転送先情報が存在しない。このため、ステップS306にて、対応する転送先情報が存在しないと判断し(ステップS306にてNO)、エッジサーバ500は、制御部510により、自身がデータ発生源のエッジサーバであるか否かを判断する(ステップS315)。
自身がデータ発生源のエッジサーバではない場合(ステップS315にてNO)、エッジサーバ500は、制御部510により、データ発生源情報と転送データをエッジ通信部530に渡す(ステップS316)。
次に、エッジサーバ500は、エッジ通信部530により、データ発生源情報にしたがって転送データをデータ発生源のエッジサーバ500に転送する(ステップS317)。これにより、エッジサーバ500は、データ発生源のエッジサーバ500に出力を返却することができる。
ステップS317にて転送された転送データを、データ発生源のエッジサーバ500は、エッジ通信部530により受信する(ステップS318)。
データ発生源のエッジサーバ500は、制御部510により、受信された転送データから演算処理結果を取り出す(ステップS319)。なお、ここで取り出す演算処理結果は、学習モデルを用いた解析プログラムの最終的な処理結果である。
また、データ発生源のエッジサーバ500は、制御部510により、受信された転送データ内にプログラム種別が含まれていないことを判定し、解析処理の終了を判断する(ステップS320)。
そして、データ発生源のエッジサーバ500は、制御部510により、解析プログラムの最終的な処理結果をもとに、デバイス400・バックエンドサービス600へのフィードバック等の次のアクションを決定する(ステップS321)。
ステップS315にて自身がデータ発生源のエッジサーバであると判断された場合(ステップS315にてYES)、ステップS316〜ステップS320がスキップされ、ステップS321が実行される。
以上のように、本発明の実施の形態2にかかる分散システム2000では、エッジサーバ500は、制御部510により、データ発生源情報、演算処理結果、及びプログラム種別を転送データに格納する構成としている。また、分散システム2000では、エッジサーバ500は、エッジ通信部530により、転送データの送受信を行う構成としている。さらに、分散システム2000では、エッジサーバ500は、制御部510により、受信された転送データに含まれるプログラム種別を用いて、複数種類ある分割解析プログラムの中から実行すべき分割解析プログラムを特定する構成としている。これにより、本実施の形態2にかかる分散システム2000では、学習済みモデルが複数種類存在する場合であっても、エッジサーバ500は、実行すべき分割解析プログラムを特定することができる。
また、本実施の形態2にかかる分散システム2000では、エッジサーバ500は、制御部510により、演算処理を実行する際に用いた分割解析プログラムに対応する転送先情報がデータ保管部560に格納されている場合に、プログラム種別を転送データに格納する構成としている。また、分散システム2000では、エッジサーバ500は、演算処理を実行する際に用いた分割解析プログラムに対応する転送先情報がデータ保管部560に格納されていない場合に、プログラム種別を転送データに格納しない構成としている。なお、演算処理を実行する際に用いた分割解析プログラムに対応する転送先情報がデータ保管部560に格納されていない状況は、当該分割解析プログラムが、複数の分割解析プログラムのうちの最後の分割解析プログラムである場合に生じる。このため、本実施の形態2にかかる分散システム2000では、エッジサーバ500は、受信された転送データにプログラム種別が含まれていないことを判定することにより、最後の分割解析プログラムまでの処理が完了していることを判定することができる。
さらに、本実施の形態2にかかる分散システム2000では、バックエンドサービス600は、エッジ通信部610により、複数の分割解析プログラムのうちの最初の分割解析プログラムとデータ種別との対応情報を、エッジサーバ500にさらに配布する構成としている。また、分散システム2000では、エッジサーバ500は、制御部510により、最初の分割解析プログラムとデータ種別との対応情報を用いて、デバイス400から受信されたデータのデータ種別に応じて、実行すべき最初の分割解析プログラムを特定する構成としている。これにより、本実施の形態2にかかる分散システム2000では、エッジサーバ500は、デバイス400から受信されるデータのデータ種別が複数種類存在する場合であっても、デバイス400から受信されたデータに対して実行すべき最初の分割解析プログラムを特定することができる。
なお、上述した実施の形態1及び2では、分割解析プログラムを一つずつエッジサーバに割り振っていたが、これに限らない。例えば、分割解析プログラムをある単位でグループ化し、グループごとにエッジサーバに割り振るようにしてもよい。
また、上述した実施の形態1及び2では、エッジサーバ全体でデータ転送用のネットワークを構築する構成としていたが、これに限らない。例えば、ネットワークへの通信負荷軽減のため、比較的近隣に配置されるエッジサーバ同士でLAN(Local Area Network)を構築し、そのLAN内で分割解析プログラムを分散するようにしてもよい。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
200、500 エッジサーバ
210、510 制御部(制御手段)
220、520 バックエンド通信部(バックエンド通信手段)
230、530 エッジ通信部(第2のエッジ通信手段)
240、540 デバイス通信部(デバイス通信手段)
250、550 演算処理部(演算処理手段)
260、560 データ保管部(第2のデータ保管手段)
300、600 バックエンドサービス
310、610 エッジ通信部(第1のエッジ通信手段)
320、620 データ保管部(第1のデータ保管手段)
330、630 モデル分割部(モデル分割手段)
340、640 プログラム割り振り部(プログラム割り振り手段)
400 デバイス
1000、2000 分散システム

Claims (8)

  1. バックエンドサービスと、複数のエッジサーバと、を備え、
    前記バックエンドサービスは、
    学習済みモデルの情報を保管する第1のデータ保管手段と、
    前記学習済みモデルを構成する解析プログラムを複数の分割解析プログラムに分割するモデル分割手段と、
    前記複数の分割解析プログラムを前記複数のエッジサーバに割り振り、エッジサーバ、分割解析プログラム、及び転送先情報を対応付けた割り振り情報を生成して前記第1のデータ保管手段に格納するプログラム割り振り手段と、
    前記割り振り情報に基づいて、前記分割解析プログラム及び対応する前記転送先情報を前記エッジサーバに配布する第1のエッジ通信手段と、を備え、
    前記エッジサーバは、
    前記バックエンドサービスとの通信を行うバックエンド通信手段と、
    前記バックエンド通信手段により受信された前記分割解析プログラム及び前記転送先情報を格納する第2のデータ保管手段と、
    実行すべき分割解析プログラムを特定する制御手段と、
    前記制御手段により特定された前記分割解析プログラムを用いて演算処理を実行する演算処理手段と、
    前記転送先情報に含まれる宛先情報を用いて、前記分割解析プログラムの演算処理結果を次の処理を行うエッジサーバに転送する第2のエッジ通信手段と、を備え
    前記複数の分割解析プログラムのうちの最初の分割解析プログラムを実行したエッジサーバの前記第2のエッジ通信手段は、自身のエッジサーバを示す宛先情報をデータ発生源情報として前記演算処理結果とともに次の処理を行うエッジサーバに転送し、
    前記複数の分割解析プログラムのうちの最後の分割解析プログラムを実行したエッジサーバの前記第2のエッジ通信手段は、前記データ発生源情報を用いて、前記解析プログラムの最終的な処理結果を、前記最初の分割解析プログラムを実行したエッジサーバに返却する、
    分散システム。
  2. 前記制御手段は、前記データ発生源情報、前記演算処理結果、及びプログラム種別を転送データに格納し、
    前記第2のエッジ通信手段は、前記転送データの送受信を行い、
    前記制御手段は、受信された前記転送データに含まれるプログラム種別を用いて、複数種類ある分割解析プログラムの中から実行すべき分割解析プログラムを特定する、
    請求項に記載の分散システム。
  3. 前記制御手段は、前記演算処理を実行する際に用いた前記分割解析プログラムに対応する転送先情報が前記第2のデータ保管手段に格納されている場合に、前記プログラム種別を前記転送データに格納し、前記演算処理を実行する際に用いた前記分割解析プログラムに対応する転送先情報が前記第2のデータ保管手段に格納されていない場合に、前記プログラム種別を前記転送データに格納しない、請求項に記載の分散システム。
  4. バックエンドサービスと、複数のエッジサーバと、を備え、
    前記バックエンドサービスは、
    学習済みモデルの情報を保管する第1のデータ保管手段と、
    前記学習済みモデルを構成する解析プログラムを複数の分割解析プログラムに分割するモデル分割手段と、
    前記複数の分割解析プログラムを前記複数のエッジサーバに割り振り、エッジサーバ、分割解析プログラム、及び転送先情報を対応付けた割り振り情報を生成して前記第1のデータ保管手段に格納するプログラム割り振り手段と、
    前記割り振り情報に基づいて、前記分割解析プログラム及び対応する前記転送先情報を前記エッジサーバに配布する第1のエッジ通信手段と、を備え、
    前記エッジサーバは、
    前記バックエンドサービスとの通信を行うバックエンド通信手段と、
    前記バックエンド通信手段により受信された前記分割解析プログラム及び前記転送先情報を格納する第2のデータ保管手段と、
    実行すべき分割解析プログラムを特定する制御手段と、
    前記制御手段により特定された前記分割解析プログラムを用いて演算処理を実行する演算処理手段と、
    前記転送先情報に含まれる宛先情報を用いて、前記分割解析プログラムの演算処理結果を次の処理を行うエッジサーバに転送する第2のエッジ通信手段と、を備え、
    前記第1のエッジ通信手段は、前記複数の分割解析プログラムのうちの最初の分割解析プログラムとデータ種別との対応情報を、前記エッジサーバにさらに配布し、
    前記制御手段は、前記対応情報を用いて、デバイスから受信されたデータのデータ種別に応じて、実行すべき前記最初の分割解析プログラムを特定する
    分散システム。
  5. バックエンドサービスとの通信を行うバックエンド通信手段と、
    前記バックエンド通信手段により受信された分割解析プログラム及び転送先情報を格納するデータ保管手段と、
    実行すべき分割解析プログラムを特定する制御手段と、
    前記制御手段により特定された前記分割解析プログラムを用いて演算処理を実行する演算処理手段と、
    前記転送先情報に含まれる宛先情報を用いて、前記分割解析プログラムの演算処理結果を次の処理を行うエッジサーバに転送するエッジ通信手段と、を備え
    前記バックエンド通信手段により受信された分割解析プログラムは、学習済みモデルを構成する解析プログラムを複数に分割することで生成された複数の分割解析プログラムに含まれており、
    前記複数の分割解析プログラムのうちの最初の分割解析プログラムを用いて演算処理が実行された場合、前記エッジ通信手段は、自身を有するエッジサーバを示す宛先情報をデータ発生源情報として前記演算処理結果とともに次の処理を行うエッジサーバに転送し、
    前記複数の分割解析プログラムのうちの最後の分割解析プログラムを用いて演算処理が実行された場合、前記エッジ通信手段は、前記データ発生源情報を用いて、前記解析プログラムの最終的な処理結果を、前記最初の分割解析プログラムを実行したエッジサーバに返却する、
    エッジサーバ。
  6. バックエンドサービスと、複数のエッジサーバと、を備える分散システムの方法であって、
    前記バックエンドサービスは、
    学習済みモデルを構成する解析プログラムを複数の分割解析プログラムに分割し、
    前記複数の分割解析プログラムを前記複数のエッジサーバに割り振り、エッジサーバ、分割解析プログラム、及び転送先情報を対応付けた割り振り情報を生成し、
    前記割り振り情報に基づいて、前記分割解析プログラム及び対応する前記転送先情報を前記エッジサーバに配布し、
    前記エッジサーバは、
    前記分割解析プログラム及び前記転送先情報を前記バックエンドサービスから受信し、
    実行すべき分割解析プログラムを特定し、
    特定された前記分割解析プログラムを用いて演算処理を実行し、
    前記転送先情報に含まれる宛先情報を用いて、前記分割解析プログラムの演算処理結果を次の処理を行うエッジサーバに転送し、
    前記複数の分割解析プログラムのうちの最初の分割解析プログラムを実行した場合、自身のエッジサーバを示す宛先情報をデータ発生源情報として前記演算処理結果とともに次の処理を行うエッジサーバに転送し、
    前記複数の分割解析プログラムのうちの最後の分割解析プログラムを実行した場合、前記データ発生源情報を用いて、前記解析プログラムの最終的な処理結果を、前記最初の分割解析プログラムを実行したエッジサーバに返却する、
    方法。
  7. バックエンドサービスと、複数のエッジサーバと、を備える分散システムの方法であって、
    前記バックエンドサービスは、
    学習済みモデルを構成する解析プログラムを複数の分割解析プログラムに分割し、
    前記複数の分割解析プログラムを前記複数のエッジサーバに割り振り、エッジサーバ、分割解析プログラム、及び転送先情報を対応付けた割り振り情報を生成し、
    前記割り振り情報に基づいて、前記分割解析プログラム及び対応する前記転送先情報を前記エッジサーバに配布し、
    前記エッジサーバは、
    前記分割解析プログラム及び前記転送先情報を前記バックエンドサービスから受信し、
    実行すべき分割解析プログラムを特定し、
    特定された前記分割解析プログラムを用いて演算処理を実行し、
    前記転送先情報に含まれる宛先情報を用いて、前記分割解析プログラムの演算処理結果を次の処理を行うエッジサーバに転送し、
    前記バックエンドサービスは、前記複数の分割解析プログラムのうちの最初の分割解析プログラムとデータ種別との対応情報を、前記エッジサーバにさらに配布し、
    前記エッジサーバは、前記対応情報を用いて、デバイスから受信されたデータのデータ種別に応じて、実行すべき前記最初の分割解析プログラムを特定する、
    方法。
  8. エッジサーバの方法であって、
    分割解析プログラム及び転送先情報をバックエンドサービスから受信し、
    実行すべき分割解析プログラムを特定し、
    特定された前記分割解析プログラムを用いて演算処理を実行し、
    前記転送先情報に含まれる宛先情報を用いて、前記分割解析プログラムの演算処理結果を次の処理を行うエッジサーバに転送し、
    前記受信した分割解析プログラムは、学習済みモデルを構成する解析プログラムを複数に分割することで生成された複数の分割解析プログラムに含まれており、
    前記複数の分割解析プログラムのうちの最初の分割解析プログラムを用いた演算処理が実行された場合、当該方法を実行しているエッジサーバを示す宛先情報をデータ発生源情報として前記演算処理結果とともに次の処理を行うエッジサーバに転送し、
    前記複数の分割解析プログラムのうちの最後の分割解析プログラムを用いた演算処理が実行された場合、前記データ発生源情報を用いて、前記解析プログラムの最終的な処理結果を、前記最初の分割解析プログラムを実行したエッジサーバに返却する、
    方法。
JP2017165807A 2017-08-30 2017-08-30 分散システム、バックエンドサービス、エッジサーバ、及びその方法 Active JP6972783B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017165807A JP6972783B2 (ja) 2017-08-30 2017-08-30 分散システム、バックエンドサービス、エッジサーバ、及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017165807A JP6972783B2 (ja) 2017-08-30 2017-08-30 分散システム、バックエンドサービス、エッジサーバ、及びその方法

Publications (2)

Publication Number Publication Date
JP2019045970A JP2019045970A (ja) 2019-03-22
JP6972783B2 true JP6972783B2 (ja) 2021-11-24

Family

ID=65816446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017165807A Active JP6972783B2 (ja) 2017-08-30 2017-08-30 分散システム、バックエンドサービス、エッジサーバ、及びその方法

Country Status (1)

Country Link
JP (1) JP6972783B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7242513B2 (ja) * 2019-11-19 2023-03-20 株式会社東芝 情報管理方法
US11902611B2 (en) 2022-03-01 2024-02-13 Toyota Motor Engineering & Manufacturing North America, Inc. Method and system for edge server selection for in-vehicle media content distribution with deep reinforcement learning

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108595A (ja) * 1991-10-17 1993-04-30 Hitachi Ltd ニユーラルネツトワークの分散学習装置
US9990587B2 (en) * 2015-01-22 2018-06-05 Preferred Networks, Inc. Machine learning heterogeneous edge device, method, and system

Also Published As

Publication number Publication date
JP2019045970A (ja) 2019-03-22

Similar Documents

Publication Publication Date Title
CN111201754B (zh) 用于提供区块链的环节的密码学保护的和经过滤的以及经排序的交易数据集的集合的设备
JP6827564B2 (ja) 分散型台帳システムにおけるトランザクションのパラレル実行の実施
CA3058675A1 (en) Consensus node selection method and apparatus, and server
WO2018094297A3 (en) Interaction object reconciliation in a public ledger blockchain environment
JP7035606B2 (ja) エッジコンピューティングシステム、エッジサーバ、システム制御方法、及びプログラム
CN106529682A (zh) 一种在大数据集群中处理深度学习任务的方法和装置
Brandão et al. A biased random‐key genetic algorithm for single‐round divisible load scheduling
US20200242604A1 (en) Transaction selection device for selecting blockchain transactions
JP5860557B1 (ja) 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム
JP6972783B2 (ja) 分散システム、バックエンドサービス、エッジサーバ、及びその方法
US20180218650A1 (en) Secret computation apparatus, method for the same, and program
JP2020533665A (ja) メディア作品にカスタムアルゴリズムを実行するための拡張可能な手法
JP2023538967A (ja) データ処理方法、装置、電子機器及びコンピュータプログラム
Benchara et al. A new efficient distributed computing middleware based on cloud micro-services for HPC
CN112434317A (zh) 数据处理方法、装置、设备及存储介质
CN117857039A (zh) 多方安全计算方法、装置、设备及介质
KR101428649B1 (ko) 맵 리듀스 기반의 대용량 개인정보 암호화 시스템 및 그의 동작 방법
Zhu et al. A security protection framework for cloud computing
Mikhail et al. A model of continuous integration and deployment of engineering software
JP5889454B1 (ja) 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
CN105335362B (zh) 实时数据的处理方法及系统、即时处理系统
JPWO2019009180A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、プログラム、および記録媒体
Park et al. Computer science and its applications: ubiquitous information technologies
CN109408459B (zh) 3d数据处理方法、装置、计算机设备和存储介质
JP7306724B2 (ja) 変換装置、変換方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210928

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211005

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211018

R150 Certificate of patent or registration of utility model

Ref document number: 6972783

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150