JPWO2019111411A1 - Cooperative distributed system, cooperative distributed management device, cooperative distributed method, and program - Google Patents

Cooperative distributed system, cooperative distributed management device, cooperative distributed method, and program Download PDF

Info

Publication number
JPWO2019111411A1
JPWO2019111411A1 JP2019557973A JP2019557973A JPWO2019111411A1 JP WO2019111411 A1 JPWO2019111411 A1 JP WO2019111411A1 JP 2019557973 A JP2019557973 A JP 2019557973A JP 2019557973 A JP2019557973 A JP 2019557973A JP WO2019111411 A1 JPWO2019111411 A1 JP WO2019111411A1
Authority
JP
Japan
Prior art keywords
processing
cost
edge devices
result
arrangement
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.)
Granted
Application number
JP2019557973A
Other languages
Japanese (ja)
Other versions
JP6721800B2 (en
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.)
Uhuru Corp
Original Assignee
Uhuru 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 Uhuru Corp filed Critical Uhuru Corp
Application granted granted Critical
Publication of JP6721800B2 publication Critical patent/JP6721800B2/en
Publication of JPWO2019111411A1 publication Critical patent/JPWO2019111411A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

処理にかかるコストを削減する。 複数のエッジデバイス40を協調分散させてコストが最小になるように処理配置を変更する協調分散システム1において、取得手段は、分散された複数のエッジデバイス40からパラメータを取得する。計算手段は、パラメータから、運用コスト、通信コスト、及び利用コストを計算する。判定手段は、計算の結果から、トータルコストが最も少なくなる処理配置を判定する。変更手段は、判定の結果から、処理配置を動的に変更する。Reduce processing costs. In the cooperative distribution system 1 that cooperatively distributes a plurality of edge devices 40 and changes the processing arrangement so that the cost is minimized, the acquisition unit acquires a parameter from the plurality of distributed edge devices 40. The calculation means calculates an operation cost, a communication cost, and a usage cost from the parameters. The determination means determines the processing arrangement that minimizes the total cost from the calculation result. The changing unit dynamically changes the processing arrangement based on the determination result.

Description

本発明は、IoT(Internet of Things)の分野において複数のエッジデバイスを協調分散させる技術に関する。 The present invention relates to a technique for cooperatively distributing a plurality of edge devices in the field of IoT (Internet of Things).

近年、IoTの分野において処理の負荷分散のためにエッジコンピューティングが注目されている。例えば特許文献1には、複数のデータ処理装置により行われるデータ処理全体の効率化を実現するシステムが開示されている。 In recent years, edge computing has attracted attention in the field of IoT for load distribution of processing. For example, Patent Document 1 discloses a system that realizes the efficiency of the entire data processing performed by a plurality of data processing devices.

特開2017−182221号公報JP, 2017-182221, A

しかし、特許文献1に開示されたシステムでは、個々の処理装置において処理の分担を決定しているため、全体として見たときに、処理にかかるコストが最小にならない場合がある。
本発明は、処理にかかるコストを削減することを目的とする。
However, in the system disclosed in Patent Document 1, the processing cost is determined by each processing device, and therefore the processing cost may not be minimized when viewed as a whole.
The present invention aims to reduce the processing costs.

本発明は、複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散システムであって、分散された前記複数のエッジデバイスからパラメータを取得する取得手段と、前記パラメータから、運用コスト、通信コスト、及び利用コストを計算する計算手段と、前記計算の結果から、トータルコストが最も少なくなる処理配置を判定する判定手段と、前記判定の結果から、処理配置を動的に変更する変更手段と、を備える協調分散システムを提供する。
The present invention is a cooperative distribution system that cooperatively distributes a plurality of edge devices to change the processing arrangement so as to minimize the cost, and an acquisition unit that acquires parameters from the distributed edge devices. Calculation means for calculating the operating cost, communication cost, and utilization cost from the parameters, a judging means for judging the processing arrangement that minimizes the total cost from the result of the calculation, and a processing arrangement based on the result of the judgment. A collaborative distributed system is provided.

また、本発明は、複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散管理装置であって、分散された前記複数のエッジデバイスからパラメータを取得する取得手段と、前記パラメータから、運用コスト、通信コスト、及び利用コストを計算する計算手段と、前記計算の結果から、トータルコストが最も少なくなる処理配置を判定する判定手段と、前記判定の結果から、処理配置を動的に変更する変更手段と、を備える協調分散管理装置を提供する。
Further, the present invention is a cooperative distributed management apparatus that cooperatively distributes a plurality of edge devices to change the processing arrangement so as to minimize the cost, and an acquisition unit that acquires a parameter from the plurality of distributed edge devices. And a calculation means for calculating an operation cost, a communication cost, and a usage cost from the parameters, a determination means for determining a processing arrangement in which the total cost is the smallest from the result of the calculation, and a processing from the result of the determination. Provided is a cooperative distributed management device including a changing unit that dynamically changes the arrangement.

さらに、本発明は、複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散方法であって、分散された前記複数のエッジデバイスからパラメータを取得するステップと、前記パラメータから、運用コスト、通信コスト、及び利用コストを計算するステップと、前記計算の結果から、トータルコストが最も少なくなる処理配置を判定するステップと、前記判定の結果から、処理配置を動的に変更するステップと、を備える協調分散方法を提供する。
Furthermore, the present invention is a cooperative distribution method for cooperatively distributing a plurality of edge devices to change the processing arrangement so as to minimize the cost, and obtaining a parameter from the plurality of distributed edge devices, The step of calculating the operation cost, the communication cost, and the usage cost from the parameters, the step of determining the processing arrangement with the smallest total cost from the result of the calculation, and the processing arrangement dynamically based on the result of the judgment. And a step of changing to.

さらに、本発明は、複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する処理をコンピュータに実行させるためのプログラムであって、分散された前記複数のエッジデバイスからパラメータを取得するステップと、前記パラメータから、運用コスト、通信コスト、及び利用コストを計算するステップと、前記計算の結果から、トータルコストが最も少なくなる処理配置を判定するステップと、前記判定の結果から、処理配置を動的に変更するステップと、を実行させるためのプログラムを提供する。
Furthermore, the present invention is a program for causing a computer to execute a process of cooperatively distributing a plurality of edge devices and changing a process arrangement so as to minimize a cost, and a parameter from the distributed edge devices. From the parameters, the operation cost, the communication cost, and the usage cost are calculated from the parameters, the processing result is determined from the calculation result, and the process cost is determined from the result of the determination. , A step for dynamically changing the processing arrangement, and a program for executing the step.

本発明によれば、処理にかかるコストを削減することができる。 According to the present invention, processing costs can be reduced.

実施形態に係る協調分散システム1の一例を示す図である。It is a figure which shows an example of the cooperation distribution system 1 which concerns on embodiment. 協調分散管理装置10のハードウェア構成の一例を示す図である。FIG. 1 is a diagram showing an example of a hardware configuration of a cooperative distributed management device 10. 協調分散システム1の機能構成の一例を示す図である。It is a figure which shows an example of a functional structure of the cooperation distribution system 1. 協調分散システム1の動作の一例を示すシーケンスチャートである。6 is a sequence chart showing an example of the operation of the cooperative distribution system 1. 処理にかかるコストの計算結果の一例を示す図である。It is a figure which shows an example of the calculation result of the cost concerning a process.

1.構成
図1は、本実施形態に係る協調分散システム1の一例を示す図である。協調分散システム1は、エッジデバイス40を協調分散させてコストが最小になるように処理配置を変更するシステムである。この「協調分散システム」とは、独立に判断し行動するソフトウェア(エージェントとも呼ばれる)群が協調して動作するシステムをいう。「協調分散システム」は、必要に応じてエージェント群が自ら組織を作り、自ら変える柔軟なシステムである。「エッジデバイス」とは、別々のネットワーク間同士で通信を行い、データの効果や統合、同期などをシームレスに仲介する機器をいう。
1. Configuration FIG. 1 is a diagram showing an example of a cooperative distribution system 1 according to the present embodiment. The cooperative distribution system 1 is a system that cooperatively distributes the edge devices 40 and changes the processing arrangement so as to minimize the cost. The "cooperative distributed system" is a system in which software (also called agents) that independently judge and act operate in cooperation. A "cooperative distributed system" is a flexible system in which an agent group creates its own organization and changes it as needed. An "edge device" is a device that communicates between different networks and seamlessly mediates the effects, integration, and synchronization of data.

協調分散システム1は、協調分散管理装置10と、クライアント装置20と、サーバ装置30と、複数のエッジデバイス40と、複数のIoTデバイス50とを備える。エッジデバイス40は、協調分散システム1上に分散されている。なお、図1に示す各装置の数は、例示であり、これに限定されない。例えばクライアント装置20及び協調分散管理装置10の数は、それぞれ、複数であってもよい。エッジデバイス40及びIoTデバイス50の数は、それぞれ、単数であってもよいし、複数であってもよい。 The cooperative distributed system 1 includes a cooperative distributed management device 10, a client device 20, a server device 30, a plurality of edge devices 40, and a plurality of IoT devices 50. The edge device 40 is distributed on the cooperative distribution system 1. The number of each device shown in FIG. 1 is an example, and the number is not limited to this. For example, the numbers of the client devices 20 and the cooperative distributed management devices 10 may each be plural. The number of the edge device 40 and the number of the IoT device 50 may each be single or plural.

協調分散管理装置10、クライアント装置20、サーバ装置30、及び複数のエッジデバイス40は、通信回線60を介して接続されている。例えば通信回線60は、インターネットであってもよい。複数のエッジデバイス40と複数のIoTデバイス50とは、通信回線70を介して接続されている。例えば通信回線70は、LAN(Local Area Network)又は無線LANであってもよい。 The cooperative distributed management device 10, the client device 20, the server device 30, and the plurality of edge devices 40 are connected via a communication line 60. For example, the communication line 60 may be the Internet. The plurality of edge devices 40 and the plurality of IoT devices 50 are connected via a communication line 70. For example, the communication line 70 may be a LAN (Local Area Network) or a wireless LAN.

図2は、協調分散管理装置10のハードウェア構成の一例を示す図である。協調分散管理装置10は、協調分散システム1における処理の配置を管理する。具体的には、協調分散管理装置10は、クライアント装置20から要求された処理を、サーバ装置30及びエッジデバイス40のうち少なくとも1つに割り当てる。このとき、協調分散管理装置10は、処理にかかるコストが最小になるように処理を割り当てる。協調分散管理装置10は、プロセッサ11と、メモリ12と、ストレージ13と、通信装置14とを備えるコンピュータである。これらの装置は、バス15を介して接続される。
FIG. 2 is a diagram illustrating an example of a hardware configuration of the cooperative distributed management device 10. The cooperative distribution management device 10 manages the arrangement of processes in the cooperative distribution system 1. Specifically, the cooperative distributed management apparatus 10 allocates the processing requested by the client apparatus 20 to at least one of the server apparatus 30 and the edge device 40. At this time, the cooperative distribution management device 10 allocates the processing so that the cost required for the processing is minimized. The cooperative distributed management device 10 is a computer including a processor 11, a memory 12, a storage 13, and a communication device 14. These devices are connected via a bus 15.

プロセッサ11は、プログラムをメモリ12に読み出して実行することにより、各種の処理を実行する。例えばプロセッサ11は、CPU(Central Processing Unit)により構成されてもよい。メモリ12は、プロセッサ11により実行されるプログラムを記憶する。例えばメモリ12は、ROM(Read Only Memory)又はRAM(Random Access Memory)により構成されてもよい。ストレージ13は、各種のデータ及びプログラムを記憶する。例えばストレージ13は、ハードディスクドライブ又はフラッシュメモリにより構成されてもよい。通信装置14は、通信回線60に接続された通信インタフェースである。通信装置14は、通信回線60を介してデータ通信を行う。 The processor 11 executes various processes by reading the program into the memory 12 and executing the program. For example, the processor 11 may be configured by a CPU (Central Processing Unit). The memory 12 stores the program executed by the processor 11. For example, the memory 12 may be configured by a ROM (Read Only Memory) or a RAM (Random Access Memory). The storage 13 stores various data and programs. For example, the storage 13 may be composed of a hard disk drive or a flash memory. The communication device 14 is a communication interface connected to the communication line 60. The communication device 14 performs data communication via the communication line 60.

クライアント装置20は、ユーザの操作に従って、協調分散管理装置10に処理を要求する。クライアント装置20は、協調分散管理装置10と同様の構成に加え、入力装置と出力装置とを備えるコンピュータである。入力装置は、各種の情報の入力に用いられる。例えば入力装置は、キーボード、マウス、物理ボタン、又はタッチセンサにより構成されてもよい。表示装置は、各種の情報を表示する。例えば表示装置は、液晶ディスプレイにより構成されてもよい。 The client device 20 requests the cooperative distributed management device 10 for processing according to a user operation. The client device 20 is a computer that includes an input device and an output device in addition to the same configuration as the cooperative distributed management device 10. The input device is used to input various information. For example, the input device may include a keyboard, a mouse, physical buttons, or a touch sensor. The display device displays various kinds of information. For example, the display device may be composed of a liquid crystal display.

サーバ装置30は、協調分散管理装置10に割り当てられた処理を実行する。サーバ装置30は、一般的に、エッジデバイス40よりも処理能力が高い。サーバ装置30は、クラウドサービスを提供するクラウドサーバであってもよいし、オンプレミスのサーバであってもよい。前者の場合、サーバ装置30は、協調分散管理装置10、クライアント装置20、エッジデバイス40、及びIoTデバイス50とは異なる管理者により運用される。一方、後者の場合、サーバ装置30は、協調分散管理装置10、クライアント装置20、エッジデバイス40、又はIoTデバイス50と同一の管理者により運用されてもよい。サーバ装置30は、協調分散管理装置10と同様の構成を備えるコンピュータである。 The server device 30 executes the process assigned to the cooperative distributed management device 10. The server device 30 generally has a higher processing capacity than the edge device 40. The server device 30 may be a cloud server that provides a cloud service or an on-premises server. In the former case, the server device 30 is operated by an administrator different from the cooperative distributed management device 10, the client device 20, the edge device 40, and the IoT device 50. On the other hand, in the latter case, the server device 30 may be operated by the same administrator as the cooperative distributed management device 10, the client device 20, the edge device 40, or the IoT device 50. The server device 30 is a computer having the same configuration as the cooperative distributed management device 10.

エッジデバイス40は、IoTデバイス50と他の装置との間のデータ通信を中継するゲートウェイである。例えばエッジデバイス40は、ルータ又はスイッチであってもよい。また、エッジデバイス40は、サーバ装置30と同様に、協調分散管理装置10に割り当てられた処理を実行する。エッジデバイス40は、協調分散管理装置10と同様の構成を備えるコンピュータである。 The edge device 40 is a gateway that relays data communication between the IoT device 50 and another device. For example, the edge device 40 may be a router or a switch. In addition, the edge device 40 executes the processing assigned to the cooperative distributed management apparatus 10, similarly to the server apparatus 30. The edge device 40 is a computer having the same configuration as the cooperative distributed management apparatus 10.

IoTデバイス50は、センサと通信機能とを有する装置である。IoTデバイス50は、センサと通信機能を有していれば、どのような装置であってもよい。センサは、物理量を検出し、検出した物理量を含むセンサ情報を出力する。例えばセンサは、温度センサ、湿度センサ、加速度センサ、人感センサ、音声を取得するマイクロフォン、又は静止画若しくは動画を取得するカメラであってもよい。 The IoT device 50 is a device having a sensor and a communication function. The IoT device 50 may be any device as long as it has a sensor and a communication function. The sensor detects a physical quantity and outputs sensor information including the detected physical quantity. For example, the sensor may be a temperature sensor, a humidity sensor, an acceleration sensor, a human sensor, a microphone that acquires a voice, or a camera that acquires a still image or a moving image.

図3は、協調分散システム1の機能構成の一例を示す図である。協調分散システム1は、受信手段101と、取得手段102と、生成手段103と、計算手段104と、決定手段105と、割当手段106(判定手段及び変更手段)と、送信手段107として機能する。これらの機能は、協調分散管理装置10において、メモリ12に記憶されたプログラムと、このプログラムを実行するプロセッサ11との協働により、プロセッサ11が演算を行い又は通信装置14による通信を制御することにより実現される。 FIG. 3 is a diagram showing an example of the functional configuration of the cooperative distribution system 1. The cooperative distribution system 1 functions as a receiving unit 101, an acquiring unit 102, a generating unit 103, a calculating unit 104, a determining unit 105, an allocating unit 106 (determining unit and changing unit), and a transmitting unit 107. These functions are such that, in the cooperative distributed management apparatus 10, the program stored in the memory 12 and the processor 11 that executes this program cooperate with each other so that the processor 11 performs an operation or controls communication by the communication device 14. It is realized by.

受信手段101は、クライアント装置20から処理の要求を受信する。この処理は、例えばIoTデバイス50から出力されたセンサ情報を用いた処理であってもよい。なお、以下の説明では、クライアント装置20から要求された処理を「対象の処理」という。 The receiving unit 101 receives a processing request from the client device 20. This process may be, for example, a process using the sensor information output from the IoT device 50. In the following description, the process requested by the client device 20 is referred to as “target process”.

取得手段102は、サーバ装置30及びエッジデバイス40(以下、総称して「処理装置」という。)から、処理状況を示す状況情報であるパラメータを取得する。例えばパラメータには、処理装置が実行中の他の処理のデータ量、他の処理にかかる処理時間、及び他の処理において利用されている機能を示す機能情報のうち少なくとも1つが含まれてもよい。このパラメータの取得は、所定のタイミングで行われる。或いは、パラメータの取得は、受信手段101が処理の要求を受信したときに行われてもよい。 The acquisition unit 102 acquires a parameter, which is status information indicating a processing status, from the server device 30 and the edge device 40 (hereinafter collectively referred to as “processing device”). For example, the parameter may include at least one of a data amount of another process being executed by the processing device, a processing time required for the other process, and function information indicating a function used in the other process. .. The acquisition of this parameter is performed at a predetermined timing. Alternatively, the acquisition of the parameters may be performed when the receiving unit 101 receives the processing request.

生成手段103は、複数の処理装置に含まれる1以上の処理装置により構成される複数通りの組合せを生成する。この組合せとは、複数の処理装置からとった1以上の個数のものの組をいう。組合せの中には、複数の処理装置により構成される組合せだけではなく、単一の処理装置により構成される組合せも含まれる。 The generation unit 103 generates a plurality of combinations of one or more processing devices included in the plurality of processing devices. This combination means a set of one or more pieces taken from a plurality of processing devices. The combination includes not only a combination of a plurality of processing devices but also a combination of a single processing device.

計算手段104は、取得手段102により取得されたパラメータに基づいて、生成手段103により生成された複数通りの組合せの各々について、この組合せを構成する処理装置が対象の処理を実行した場合に対象の処理にかかるコストを計算する。なお、この対象の処理には、データを格納する処理やデータを通信する処理が含まれてもよい。このコストとは、対象の処理を実行するために消費される費用をいい、金銭の価値により表される金額情報である。コストには、運用コスト、通信コスト、及び利用コストのうち少なくとも1つが含まれてもよい。運用コストは、対象の処理を実行する間、処理装置の運用にかかるコストである。通信コストは、対象の処理を実行する際に発生するデータ通信にかかるコストである。利用コストは、対象の処理を実行するのに必要な機能の利用にかかるコストである。この機能は、処理装置が有する機能であってもよいし、外部装置が有する機能であってもよい。外部装置が有する機能は、例えば外部装置が提供するクラウドサービスであってもよい。協調分散管理装置10は、外部装置と連携しており、エッジデバイス40は協調分散管理装置10経由で外部装置の機能を利用することができる。この場合、外部装置からその機能の利用コストが取得されてもよい。 The calculation means 104 determines, for each of the plurality of combinations generated by the generation means 103, based on the parameters acquired by the acquisition means 102, when a processing device forming this combination executes a target process. Calculate the cost of processing. The target process may include a process of storing data and a process of communicating data. The cost is a cost consumed for executing the target process, and is money amount information represented by the value of money. The cost may include at least one of an operation cost, a communication cost, and a usage cost. The operation cost is a cost required to operate the processing device while executing the target process. The communication cost is a cost required for data communication that occurs when the target process is executed. The usage cost is the cost required to use the function required to execute the target process. This function may be a function of the processing device or a function of an external device. The function of the external device may be, for example, a cloud service provided by the external device. The cooperative distributed management device 10 cooperates with an external device, and the edge device 40 can use the function of the external device via the cooperative distributed management device 10. In this case, the usage cost of the function may be acquired from the external device.

決定手段105は、計算手段104により計算されたコストに基づいて、生成手段103により生成された複数通りの組合せの中から単一の組合せを決定する。例えば決定手段105は、生成手段103により生成された複数通りの組合せの中から、計算手段104により計算されたコストが最小になる組合せを決定する。 The determining unit 105 determines a single combination from the plurality of combinations generated by the generating unit 103 based on the cost calculated by the calculating unit 104. For example, the determining unit 105 determines, from the plurality of combinations generated by the generating unit 103, the combination that minimizes the cost calculated by the calculating unit 104.

割当手段106は、決定手段105により決定された組合せを構成する処理装置に対象の処理を割り当てる。この「割り当て」とは、複数の処理装置の少なくともいずれかに処理を受け持たせたることをいう。「割り当て」の概念には、単一の処理を複数に分けて複数の処理装置に受け持たせることだけでなく、単一の処理を単一の処理装置に受け持たせることも含まれる。また、割当手段106は、決定手段105により決定された組合せが2以上の処理装置により構成される場合、対象の処理を複数の部分処理に分割し、複数の部分処理を2以上の処理装置に割り当ててもよい。このようにして、トータルコストが最も少なくなる処理配置が判定され、処理配置が動的に変更される。この「処理配置」とは、処理装置に処理を割り当てることをいう。 The assigning unit 106 assigns the target process to the processing devices that make up the combination determined by the determining unit 105. The "allocation" means that at least one of the plurality of processing devices is in charge of processing. The concept of “assignment” includes not only dividing a single process into a plurality of units and having a plurality of processing units handle them, but also having a single processing unit handle a single process. In addition, when the combination determined by the determining unit 105 is configured by two or more processing devices, the assigning unit 106 divides the target process into a plurality of partial processes and divides the plurality of partial processes into two or more processing devices. May be assigned. In this way, the processing arrangement that minimizes the total cost is determined, and the processing arrangement is dynamically changed. This "processing arrangement" means allocating processing to a processing device.

送信手段107は、割当手段106により対象の処理が割り当てられた処理装置からその処理の結果が取得されると、取得された処理の結果をクライアント装置20に送信する。また、送信手段107は、割当手段106により複数の部分処理が2以上の処理装置に割り当てられた場合、これらの処理装置から複数の部分処理の結果が取得されると、取得された複数の部分処理の結果を統合してクライアント装置20に送信してもよい。 When the result of the process is acquired from the processing device to which the target process is allocated by the allocation unit 106, the transmission unit 107 transmits the acquired result of the process to the client device 20. In addition, when the assigning unit 106 assigns a plurality of partial processes to two or more processing devices, the transmitting unit 107 obtains the results of the plurality of partial processes from these processing devices, and then obtains the plurality of acquired partial processes. The processing results may be integrated and transmitted to the client device 20.

なお、以下の説明において、協調分散管理装置10を処理の主体として記載する場合には、具体的にはメモリ12に記憶されたプログラムと、このプログラムを実行するプロセッサ11との協働により、プロセッサ11が演算を行い又は通信装置14による通信を制御することにより、処理が実行されることを意味する。クライアント装置20、サーバ装置30、及びエッジデバイス40についても同様である。 In the following description, when the cooperative distributed management apparatus 10 is described as the main body of processing, specifically, the program stored in the memory 12 and the processor 11 that executes this program cooperates to create a processor. 11 means that the process is executed by performing a calculation or controlling the communication by the communication device 14. The same applies to the client device 20, the server device 30, and the edge device 40.

2.動作
図4は、協調分散システム1の動作の一例を示すシーケンスチャートである。ここでは、図1に示すように、エッジデバイス40には、エッジデバイス40A、40B、及び40Cが含まれるものとする。また、IoTデバイス50には、IoTデバイス50A〜50Fが含まれるものとする。IoTデバイス50A及び50B、IoTデバイス50C及び50D、IoTデバイス50E及び50Fは、エッジデバイス40A、40B、40Cにそれぞれ接続されている。
2. Operation FIG. 4 is a sequence chart showing an example of the operation of the cooperative distributed system 1. Here, as shown in FIG. 1, the edge device 40 includes edge devices 40A, 40B, and 40C. In addition, the IoT device 50 includes the IoT devices 50A to 50F. The IoT devices 50A and 50B, the IoT devices 50C and 50D, and the IoT devices 50E and 50F are connected to the edge devices 40A, 40B, and 40C, respectively.

図4に戻り、ステップS101において、クライアント装置20は、対象の処理の要求を協調分散管理装置10に送信する。この要求には、例えば対象の処理の内容及び対象の処理に用いられるデータを示す情報が含まれる。この対象の処理は、例えばIoTデバイス50Aから出力されたセンサ情報を解析する処理であってもよい。協調分散管理装置10の受信手段101は、クライアント装置20から対象の処理の要求を受信する。 Returning to FIG. 4, in step S101, the client device 20 transmits a request for the target process to the cooperative distributed management device 10. This request includes, for example, information indicating the content of the target process and the data used for the target process. The target process may be a process of analyzing sensor information output from the IoT device 50A, for example. The receiving unit 101 of the cooperative distributed management apparatus 10 receives a request for target processing from the client apparatus 20.

ステップS102において、複数の処理装置は、それぞれ、実行中の他の処理に関する状況を示すパラメータを協調分散管理装置10に送信する。このパラメータの送信は、複数の処理装置により自発的に行われてもよいし、協調分散管理装置10からの要求に応じて行われてもよい。後者の場合、協調分散管理装置10の取得手段102は、複数の処理装置にパラメータの要求を送信する。複数の処理装置は、それぞれ、協調分散管理装置10から受信した要求に応じてパラメータを送信する。パラメータには、例えば処理装置が実行中の他の処理のデータ量、他の処理にかかる処理時間、及び他の処理において利用されている機能を示す機能情報が含まれる。協調分散管理装置10の取得手段102は、複数の処理装置からそれぞれパラメータを受信する。 In step S<b>102, each of the plurality of processing devices transmits a parameter indicating a status regarding another process being executed to the cooperative distributed management device 10. The transmission of this parameter may be voluntarily performed by a plurality of processing devices, or may be performed in response to a request from the cooperative distributed management device 10. In the latter case, the acquisition unit 102 of the cooperative distributed management apparatus 10 sends a parameter request to a plurality of processing apparatuses. Each of the plurality of processing devices transmits parameters according to the request received from the cooperative distributed management device 10. The parameters include, for example, the data amount of another process being executed by the processing device, the processing time required for the other process, and function information indicating the function used in the other process. The acquisition means 102 of the cooperative distributed management device 10 receives parameters from each of the plurality of processing devices.

ステップS103において、協調分散管理装置10の生成手段103は、複数の処理装置に含まれる1以上の処理装置により構成される全ての組合せを生成する。この組合せには、単一のエッジデバイス40により構成される組合せ、複数のエッジデバイス40により構成される組合せ、単一のサーバ装置30により構成される組合せ、単一のサーバ装置30と1又は複数のエッジデバイス40とにより構成される組合せが含まれる。 In step S103, the generation unit 103 of the cooperative distributed management device 10 generates all combinations configured by one or more processing devices included in the plurality of processing devices. This combination includes a combination formed by a single edge device 40, a combination formed by a plurality of edge devices 40, a combination formed by a single server device 30, and a single server device 30 and one or more. And the edge device 40 of FIG.

ステップS104において、協調分散管理装置10の計算手段104は、ステップS102において受信されたパラメータに基づいて、ステップS103において生成された全ての組合せについて、その組合せを構成する処理装置が対象の処理を実行した場合に対象の処理にかかるコストを計算する。 In step S104, the calculation means 104 of the cooperative decentralized management device 10 executes the target processing by the processing devices forming the combinations for all the combinations generated in step S103 based on the parameters received in step S102. If so, the cost of the target process is calculated.

図5は、処理にかかるコストの計算結果の一例を示す図である。図5に示す例では、処理にかかるコストには、運用コストと、通信コストと、利用コストとが含まれる。トータルコストは、運用コスト、通信コスト、及び利用コストの合計である。 FIG. 5 is a diagram illustrating an example of the calculation result of the cost of processing. In the example shown in FIG. 5, the processing cost includes an operation cost, a communication cost, and a usage cost. The total cost is the total of the operation cost, the communication cost, and the usage cost.

運用コストは、例えば単位時間毎に運用コストがかかる場合には、以下の(1)式により求められる。
運用コスト=単位時間当たりの運用コスト×処理時間・・・(1)
The operating cost is calculated by the following equation (1) when the operating cost is required for each unit time, for example.
Operation cost = Operation cost per unit time x Processing time... (1)

(1)式に含まれる単位時間当たりの運用コストは、予め決められている。この単位時間当たりの運用コストは、処理装置によって異なってもよいし、同一であってもよい。(1)式に含まれる処理時間は、対象の処理にかかる時間である。この処理時間は、処理に用いられるデータ量と、処理装置において現在利用可能な処理能力とに基づいて推定される。現在利用可能な処理能力は、例えば処理装置の処理性能と、パラメータにより示される実行中の他の処理に関する状況とに基づいて求められる。 The operation cost per unit time included in the equation (1) is predetermined. The operating cost per unit time may be different or the same depending on the processing device. The processing time included in the equation (1) is the time required for the target processing. This processing time is estimated based on the amount of data used for processing and the processing capacity currently available in the processing device. The currently available processing capacity is obtained, for example, based on the processing performance of the processing device and the status regarding other processing being executed indicated by the parameter.

通信コストは、例えば単位通信量毎に運用コストがかかる場合には、以下の(2)式により求められる。
通信コスト=単位通信量当たりの通信コスト×通信量・・・(2)
The communication cost is calculated by the following equation (2), for example, when the operation cost is required for each unit communication amount.
Communication cost = communication cost per unit communication amount × communication amount (2)

(2)式に含まれる単位通信量当たりの通信コストは、予め決められている。(2)式に含まれる通信量は、対象の処理を実行する際に発生するデータ通信の量である。例えばエッジデバイス40AがIoTデバイス50Aから出力されたセンサ情報を用いて取得して処理を実行する場合において、予めIoTデバイス50Aからエッジデバイス40Aにセンサ情報が送信されているときは、新たなデータ通信は発生しない。この場合、通信量は0となる。一方、サーバ装置30がIoTデバイス50Aから出力されたセンサ情報を用いて処理を実行する場合、少なくともエッジデバイス40Aとサーバ装置30との間で通信回線60を介してデータ通信が発生する。この場合、通信量にはこのデータ通信の量が含まれる。 The communication cost per unit communication amount included in the equation (2) is predetermined. The communication amount included in the equation (2) is the amount of data communication that occurs when the target process is executed. For example, in a case where the edge device 40A acquires and uses the sensor information output from the IoT device 50A to perform processing, when the sensor information is transmitted from the IoT device 50A to the edge device 40A in advance, new data communication is performed. Does not occur. In this case, the communication amount is 0. On the other hand, when the server device 30 executes the process using the sensor information output from the IoT device 50A, data communication occurs at least between the edge device 40A and the server device 30 via the communication line 60. In this case, the communication volume includes this data communication volume.

利用コストは、例えば単位データ量毎に利用コストがかかる場合には、以下の(3)式により求められる。
利用コスト=単位データ量当たりの利用コスト×データ量・・・(3)
The usage cost is calculated by the following equation (3), for example, when the usage cost is charged for each unit data amount.
Usage cost = usage cost per unit amount of data x amount of data... (3)

(3)式に含まれる単位データ量当たりの利用コストは、予め決められている。この単位データ量当たりの利用コストは、機能によって異なってもよい。(3)式に含まれるデータ量は、機能を利用する処理に用いられるデータの量である。 The usage cost per unit data amount included in equation (3) is predetermined. The usage cost per unit data amount may differ depending on the function. The amount of data included in the equation (3) is the amount of data used for the process of using the function.

図5に示す例では、組合せC1は、エッジデバイス40Aにより構成される。この組合せC1の運用コストは「15」であり、通信コストは「20」であり、利用コストは「10」である。この場合、組合せC1のトータルコストは、これらのコストの合計である「45」である。 In the example shown in FIG. 5, the combination C1 is configured by the edge device 40A. The operation cost of this combination C1 is “15”, the communication cost is “20”, and the usage cost is “10”. In this case, the total cost of the combination C1 is “45” which is the total of these costs.

また、組合せが複数の処理装置により構成される場合には、これらの処理装置に対象の処理が分散されることになる。この場合、全ての分散のパターンについて、対象の処理にかかるコストが計算されてもよい。例えばエッジデバイス40Aとサーバ装置30とにより構成される組合せC2において、エッジデバイス40Aとサーバ装置30とが5対5の割合で対象の処理を実行するパターンと、エッジデバイス40Aとサーバ装置30とが2対8の割合で対象の処理を実行するパターンとでは、対象の処理にかかるコストが相違する場合がある。この場合、対象の処理を実行する割合について考えられる全てのパターンについて、対象の処理にかかるコストが計算されてもよい。 Further, when the combination is composed of a plurality of processing devices, the target processing is distributed to these processing devices. In this case, the cost of the target process may be calculated for all the distribution patterns. For example, in the combination C2 configured by the edge device 40A and the server device 30, the pattern in which the edge device 40A and the server device 30 perform the target processing at a ratio of 5:5, and the edge device 40A and the server device 30 are The cost of the target process may be different from the pattern in which the target process is executed at a ratio of 2 to 8. In this case, the cost required for the target process may be calculated for all possible patterns of the rate at which the target process is executed.

ステップS105において、協調分散管理装置10の決定手段105は、トータルコストが最小となる組合せを決定する。例えば、図5に示す全ての組合せのトータルコストのうち組合せC1のトータルコストが最小となる場合、組合せC1が決定される。一方、組合せC2のトータルコストが最小となる場合、組合せC2が決定される。 In step S105, the determination means 105 of the cooperative distributed management device 10 determines the combination that minimizes the total cost. For example, when the total cost of the combination C1 is the minimum among the total costs of all the combinations shown in FIG. 5, the combination C1 is determined. On the other hand, when the total cost of the combination C2 is the minimum, the combination C2 is determined.

ステップS106において、協調分散管理装置10の割当手段106は、ステップS105において決定された組合せを構成する処理装置(以下、「対象処理装置」という。)に対象の処理を割り当てる。例えば、図5に示す組合せC1が決定された場合には、エッジデバイス40Aに対象の処理が割り当てられる。 In step S106, the allocation unit 106 of the cooperative distributed management apparatus 10 allocates the target processing to the processing devices (hereinafter, referred to as "target processing devices") that form the combination determined in step S105. For example, when the combination C1 shown in FIG. 5 is determined, the target process is assigned to the edge device 40A.

一方、組合せC2が決定された場合には、エッジデバイス40Aとサーバ装置30とに対象の処理が割り当てられる。この場合、割当手段106は、対象の処理を第1部分処理と第2部分処理とに分割し、第1部分処理をエッジデバイス40Aに割り当て、第2部分処理をサーバ装置30に割り当てる。この対象の処理の分割及び割り当ては、トータルコストが最小となる処理の分散のパターンに従って行われてもよい。 On the other hand, when the combination C2 is determined, the target process is assigned to the edge device 40A and the server device 30. In this case, the allocation unit 106 divides the target process into the first partial process and the second partial process, allocates the first partial process to the edge device 40A, and allocates the second partial process to the server device 30. The division and allocation of this target process may be performed according to the pattern of process dispersion that minimizes the total cost.

ステップS107において、協調分散管理装置10の割当手段106は、ステップS106において割り当てられた対象の処理の実行指示を対象処理装置に送信する。例えばエッジデバイス40Aに対象の処理が割り当てられた場合には、エッジデバイス40Aに処理の実行指示が送信される。一方、エッジデバイス40Aに第1部分処理が割り当てられ、サーバ装置30に第2部分処理が割り当てられた場合には、エッジデバイス40Aに第1部分処理の実行指示が送信され、サーバ装置30に第2部分処理の実行指示が送信される。 In step S107, the allocation unit 106 of the cooperative distributed management apparatus 10 transmits an instruction to execute the target processing allocated in step S106 to the target processing apparatus. For example, when the target process is assigned to the edge device 40A, a process execution instruction is transmitted to the edge device 40A. On the other hand, when the first partial process is assigned to the edge device 40A and the second partial process is assigned to the server device 30, an instruction to execute the first partial process is transmitted to the edge device 40A, and the server device 30 receives the first partial process. An instruction to execute the two-part process is transmitted.

ステップS108において、対象処理装置は、協調分散管理装置10から受信した実行指示に従って、対象の処理を実行する。例えばエッジデバイス40Aに対象の処理の実行指示が送信された場合、エッジデバイス40Aはこの処理を実行する。一方、エッジデバイス40Aに第1部分処理の実行指示が送信され、サーバ装置30に第2部分処理の実行指示が送信された場合には、エッジデバイス40Aが第1部分処理を実行し、サーバ装置30が第2部分処理を実行する。このとき、例えば第2部分処理にIoTデバイス50Aから出力されたセンサ情報が用いられる場合、サーバ装置30は、エッジデバイス40Aを介してIoTデバイス50Aからセンサ情報を取得することにより第2部分処理を実行する。 In step S108, the target processing device executes the target process according to the execution instruction received from the cooperative distributed management device 10. For example, when an instruction to execute the target process is sent to the edge device 40A, the edge device 40A executes this process. On the other hand, when the execution instruction of the first partial process is transmitted to the edge device 40A and the execution instruction of the second partial process is transmitted to the server device 30, the edge device 40A executes the first partial process and the server device 30 executes the second partial process. At this time, for example, when the sensor information output from the IoT device 50A is used for the second partial process, the server device 30 performs the second partial process by acquiring the sensor information from the IoT device 50A via the edge device 40A. Execute.

ステップS109において、対象処理装置は、対象の処理が完了すると、その処理の結果を協調分散管理装置10に送信する。例えばエッジデバイス40Aが対象の処理を完了した場合、エッジデバイス40Aから協調分散管理装置10にその処理の結果が送信される。一方、エッジデバイス40A及びサーバ装置30が第1部分処理及び第2部分処理をそれぞれ実行した場合、エッジデバイス40Aから協調分散管理装置10に第1部分処理の結果が送信されるとともに、サーバ装置30から協調分散管理装置10に第2部分処理の結果が送信される。 In step S109, when the target processing is completed, the target processing apparatus transmits the result of the processing to the cooperative distributed management apparatus 10. For example, when the edge device 40A completes the target process, the result of the process is transmitted from the edge device 40A to the cooperative distributed management apparatus 10. On the other hand, when the edge device 40A and the server device 30 respectively execute the first partial process and the second partial process, the result of the first partial process is transmitted from the edge device 40A to the cooperative distributed management device 10, and the server device 30 is also transmitted. The result of the second partial processing is transmitted from the cooperative distributed management apparatus 10.

ステップS110において、協調分散管理装置10の送信手段107は、対象処理装置から受信した処理の結果をクライアント装置20に送信する。例えばエッジデバイス40Aから処理の結果が受信された場合、この処理の結果がクライアント装置20に送信される。一方、エッジデバイス40A及びサーバ装置30から第1部分処理の結果及び第2部分処理の結果をそれぞれ受信された場合、送信手段107は、これらの部分処理の結果を統合してからクライアント装置20に送信する。 In step S110, the transmission unit 107 of the cooperative distribution management device 10 transmits the result of the processing received from the target processing device to the client device 20. For example, when the processing result is received from the edge device 40A, the processing result is transmitted to the client device 20. On the other hand, when the result of the first partial process and the result of the second partial process are respectively received from the edge device 40A and the server device 30, the transmitting unit 107 integrates the results of these partial processes and then sends them to the client device 20. Send.

また、上述したステップS108において対象の処理が実行されている間に、上述したステップS102からステップS108の処理が行われてもよい。この場合、対象の処理の途中の所定のタイミングで、ステップS102の処理が開始される。ステップS105において、前回と異なる新たな組合せが決定された場合、ステップS107において新たな組合せを構成する対象処理装置に、実行中の処理において未処理部分の実行指示が送信される。これにより、未処理部分については、新たな対象処理装置により実行される。また、前回の処理対象装置には、実行中の処理の中止指示が送信される。この場合、前回の処理対象装置は、実行中の処理を中止し、完了した処理部分の結果を協調分散管理装置10に送信する。このように、対象の処理の途中で、トータルコストが最小になるようにその処理の実行主体が変更されてもよい。 Further, the processes of steps S102 to S108 described above may be performed while the target process is being executed in step S108 described above. In this case, the process of step S102 is started at a predetermined timing during the target process. When a new combination different from the previous one is determined in step S105, an execution instruction of an unprocessed part in the processing being executed is transmitted to the target processing device forming the new combination in step S107. As a result, the unprocessed part is executed by the new target processing device. In addition, an instruction to cancel the process being executed is transmitted to the previous processing target device. In this case, the previous processing target device stops the process being executed and transmits the result of the completed processing part to the cooperative distributed management device 10. In this way, in the middle of the target process, the execution subject of the process may be changed so as to minimize the total cost.

以上説明した実施形態によれば、トータルコストが最小となるように処理が割り当てられるため、処理にかかるコストを削減することができる。 According to the embodiment described above, the processing is allocated so that the total cost is minimized, and thus the processing cost can be reduced.

3.変形例
本発明は上述した実施形態に限定されない。上述した実施形態に対し、種々の変形がなされてもよい。また、以下の変形例が組み合わせて実施されてもよい。
3. Modified Example The present invention is not limited to the above-described embodiment. Various modifications may be made to the above-described embodiment. Moreover, the following modifications may be combined and implemented.

上述した実施形態において、協調分散システム1に新たなエッジデバイス40が追加された場合には、追加されたエッジデバイス40も含めて組合せが生成されてもよい。この場合、協調分散管理装置10は、新たに追加されたエッジデバイス40を検知する機能を有してもよい。また、新たなエッジデバイス40が追加されたことを契機として、上述したステップS102以降の処理が行われてもよい。 In the above-described embodiment, when a new edge device 40 is added to the cooperative distribution system 1, a combination may be generated including the added edge device 40. In this case, the cooperative distributed management apparatus 10 may have a function of detecting the newly added edge device 40. In addition, the process of step S102 and subsequent steps described above may be performed when the new edge device 40 is added.

上述した実施形態において、エッジデバイス40の状態に応じて組合せが生成されてもよい。例えばエッジデバイス40が休止又は停止した場合には、休止又は停止したエッジデバイス40を含む組合せが除外されてもよい。また、エッジデバイス40が休止又は停止から復帰した場合には、復帰したエッジデバイス40を含む組合せが追加されてもよい。この場合、協調分散管理装置10は、エッジデバイス40の状態を検知する機能を有してもよい。また、エッジデバイス40が復帰したことを契機として、上述したステップS102以降の処理が行われてもよい。 In the embodiment described above, the combination may be generated according to the state of the edge device 40. For example, when the edge device 40 is paused or stopped, the combination including the paused or stopped edge device 40 may be excluded. Further, when the edge device 40 returns from the suspension or stop, a combination including the restored edge device 40 may be added. In this case, the cooperative distributed management apparatus 10 may have a function of detecting the state of the edge device 40. Further, the process after step S102 described above may be performed when the edge device 40 returns.

上述した実施形態において説明したコストの計算方法は一例であり、これに限定されない。運用コスト、通信コスト、及び利用コストは、それぞれ、対象の処理を実行する間、処理装置の運用にかかるコスト、対象の処理を実行する際に発生するデータ通信にかかるコスト、対象の処理を実行するのに必要な機能の利用にかかるコストを計算する方法であれば、どのような方法で計算されてもよい。また、処理にかかるコストには、運用コスト、通信コスト、及び利用コスト以外のコストが含まれてもよい。 The cost calculation method described in the above embodiment is an example, and the present invention is not limited to this. The operation cost, the communication cost, and the usage cost are the cost of operating the processing device, the cost of the data communication that occurs when the target process is executed, and the target process, respectively, while the target process is executed. Any method may be used as long as it is a method of calculating the cost required to use the function necessary for doing so. Further, the processing cost may include costs other than the operation cost, the communication cost, and the usage cost.

上述した実施形態において、パラメータは、処理装置が実行中の他の処理のデータ量、他の処理にかかる処理時間、及び他の処理において利用されている機能を示す機能情報に限定されない。例えばパラメータには、処理装置において現在利用可能な処理能力を示す情報が含まれてもよい。 In the above-described embodiment, the parameter is not limited to the data amount of another process being executed by the processing device, the processing time required for the other process, and the function information indicating the function used in the other process. For example, the parameters may include information indicating the processing capacity currently available in the processing device.

上述した実施形態では、サーバ装置30及びエッジデバイス40が処理装置として用いられていたが、処理装置はサーバ装置30及びエッジデバイス40に限定されない。例えばエッジデバイス40だけが処理装置として用いられてもよい。また、IoTデバイス50が処理を実行してもよい。この場合、処理装置には、IoTデバイス50が含まれてもよい。或いは、エッジデバイス40にIoTデバイス50が含まれてもよい。 In the above-described embodiment, the server device 30 and the edge device 40 are used as the processing device, but the processing device is not limited to the server device 30 and the edge device 40. For example, only the edge device 40 may be used as the processing device. Further, the IoT device 50 may execute the process. In this case, the processing device may include the IoT device 50. Alternatively, the edge device 40 may include the IoT device 50.

上述した実施形態では、エッジデバイス40が端末装置として用いられていたが、端末装置はエッジデバイス40に限定されない。例えばIoTデバイス50が処理を実行する場合、端末装置にはIoTデバイス50が含まれてもよい。また、エッジデバイス40及びIoTデバイス50以外の装置が端末装置として用いられてもよい。 In the above-described embodiment, the edge device 40 is used as the terminal device, but the terminal device is not limited to the edge device 40. For example, when the IoT device 50 executes a process, the terminal device may include the IoT device 50. Further, devices other than the edge device 40 and the IoT device 50 may be used as the terminal device.

協調分散システム1の機能を実現する主体は、上述した実施形態で説明した例に限定されない。例えば協調分散管理装置10の機能の一部がサーバ装置30又は外部装置により行われてもよい。また、協調分散管理装置10の機能の一部がエッジデバイス40により行われてもよい。 The main body that implements the functions of the cooperative distribution system 1 is not limited to the examples described in the above embodiments. For example, some of the functions of the cooperative distributed management device 10 may be performed by the server device 30 or an external device. Further, part of the functions of the cooperative distributed management apparatus 10 may be performed by the edge device 40.

協調分散システム1において行われる処理のステップは、上述した実施形態で説明した例に限定されない。この処理のステップは、矛盾のない限り、入れ替えられてもよい。また、本発明は、協調分散管理装置10において行われる処理のステップを備える協調分散管理方法又は協調分散システム1において行われる処理のステップを備える協調分散方法として提供されてもよい。 The steps of the processing performed in the cooperative distribution system 1 are not limited to the examples described in the above embodiments. The steps of this process may be interchanged as long as there is no contradiction. Further, the present invention may be provided as a cooperative distributed management method including the processing steps performed in the cooperative distributed management apparatus 10 or a cooperative distributed method including the processing steps performed in the cooperative distributed system 1.

本発明は、クライアント装置20、サーバ装置30、エッジデバイス40、又はIoTデバイス50において実行されるプログラムとして提供されてもよい。このプログラムは、インターネットなどの通信回線を介してダウンロードされてもよいし、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどの、コンピュータが読取可能な記録媒体に記録した状態で提供されてもよい。 The present invention may be provided as a program executed in the client device 20, the server device 30, the edge device 40, or the IoT device 50. This program may be downloaded via a communication line such as the Internet, or a computer such as a magnetic recording medium (magnetic tape, magnetic disk, etc.), optical recording medium (optical disk, etc.), magneto-optical recording medium, semiconductor memory, etc. May be provided in a state of being recorded on a readable recording medium.

本発明は、複数の処理装置から処理状況を示す状況情報を取得する取得手段と、前記取得された状況情報に基づいて、前記複数の処理装置に含まれる1以上の処理装置により構成される複数通りの組合せの各々について、当該組合せを構成する処理装置が対象の処理を実行した場合に前記対象の処理にかかるコストを計算する計算手段と、前記複数通りの組合せの中から前記計算されたコストが最小になる組合せを決定する決定手段と、前記複数の処理装置のうち前記決定された組合せを構成する前記処理装置に前記対象の処理を割り当てる割当手段とを備える管理装置を提供する。 The present invention provides a plurality of acquisition units that acquire status information indicating a processing status from a plurality of processing devices, and a plurality of processing devices that are included in the plurality of processing devices based on the acquired status information. For each of the various combinations, calculation means for calculating the cost of the target processing when the processing device that constitutes the combination executes the target processing, and the calculated cost from the plurality of combinations There is provided a management device comprising: a determination unit that determines a combination that minimizes the above-mentioned combination;

前記管理装置において、前記状況情報は、前記複数の処理装置が実行中の他の処理のデータ量、前記他の処理にかかる処理時間、及び前記他の処理において利用されている機能を示す機能情報のうち少なくとも1つを含んでもよい。
前記コストは、前記対象の処理を実行する間、前記処理装置の運用にかかるコスト、前記対象の処理を実行する際に発生するデータ通信にかかるコスト、前記対象の処理を実行するのに必要な前記処理装置の機能の利用にかかるコストのうち少なくとも1つを含んでもよい。
前記管理装置は、クライアント装置から前記対象の処理の要求を受信する受信手段と、前記処理装置から取得された前記対象の処理の結果を前記クライアント装置に送信する送信手段とをさらに備えてもよい。
前記複数の処理装置は、端末装置と、前記端末装置よりも処理能力が高いサーバ装置とを含んでもよい。
前記割当手段は、前記決定された組合せが2以上の処理装置により構成される場合には、前記対象の処理を複数の部分処理に分割し、前記分割された複数の部分処理を前記2以上の処理装置に割り当ててもよい。
前記管理装置は、クライアント装置から前記対象の処理の要求を受信する受信手段と、前記2以上の処理装置から取得された前記複数の部分処理の結果を統合して前記クライアント装置に送信する送信手段とをさらに備えてもよい。
In the management device, the status information is function information indicating a data amount of another process being executed by the plurality of processing devices, a processing time required for the other process, and a function used in the other process. At least one of the above may be included.
The cost is a cost required to operate the processing device while executing the target process, a data communication cost that occurs when the target process is executed, and a cost required to execute the target process. It may include at least one of the costs of using the functions of the processing device.
The management apparatus may further include receiving means for receiving a request for the target processing from a client apparatus, and transmitting means for transmitting a result of the target processing acquired from the processing apparatus to the client apparatus. ..
The plurality of processing devices may include a terminal device and a server device having a processing capacity higher than that of the terminal device.
When the determined combination is configured by two or more processing devices, the assigning unit divides the target process into a plurality of partial processes, and divides the plurality of divided partial processes into the two or more partial processes. It may be assigned to the processing device.
The management device integrates a reception unit that receives a request for the target process from a client device and a transmission unit that combines the results of the plurality of partial processes acquired from the two or more processing devices and transmits the integrated result to the client device. And may further be provided.

1:協調分散システム、10:協調分散管理装置、20:クライアント装置、30:サーバ装置、40:エッジデバイス、50:IoTデバイス、101:受信手段、102:取得手段、103:生成手段、104:計算手段、105:決定手段、106:割当手段、107:送信手段 1: Cooperative distributed system, 10: Cooperative distributed management device, 20: Client device, 30: Server device, 40: Edge device, 50: IoT device, 101: Reception means, 102: Acquisition means, 103: Generation means, 104: Calculation means, 105: determination means, 106: allocation means, 107: transmission means

本発明は、複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散システムであって、分散された前記複数のエッジデバイスから、前記複数のエッジデバイスが実行中の他の処理のデータ量又は前記他の処理にかかる処理時間を含むパラメータを取得する取得手段と、前記パラメータから、対象の処理にかかる運用コスト、通信コスト、及び利用コストを計算する計算手段と、前記計算の結果から、トータルコストが最も少なくなる処理配置を判定する判定手段と、前記判定の結果から、処理配置を動的に変更する変更手段と、を備える協調分散システムを提供する。
本発明は、複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散管理装置であって、分散された前記複数のエッジデバイスから、前記複数のエッジデバイスが実行中の他の処理のデータ量又は前記他の処理にかかる処理時間を含むパラメータを取得する取得手段と、前記パラメータから、対象の処理にかかる運用コスト、通信コスト、及び利用コストを計算する計算手段と、前記計算の結果から、トータルコストが最も少なくなる処理配置を判定する判定手段と、前記判定の結果から、処理配置を動的に変更する変更手段と、を備える協調分散管理装置を提供する。
本発明は、複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散方法であって、分散された前記複数のエッジデバイスから、前記複数のエッジデバイスが実行中の他の処理のデータ量又は前記他の処理にかかる処理時間を含むパラメータを取得するステップと、前記パラメータから、対象の処理にかかる運用コスト、通信コスト、及び利用コストを計算するステップと、前記計算の結果から、トータルコストが最も少なくなる処理配置を判定するステップと、前記判定の結果から、処理配置を動的に変更するステップと、を備える協調分散方法を提供する。
本発明は、複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する処理をコンピュータに実行させるためのプログラムであって、分散された前記複数のエッジデバイスから、前記複数のエッジデバイスが実行中の他の処理のデータ量又は前記他の処理にかかる処理時間を含むパラメータを取得するステップと、前記パラメータから、対象の処理にかかる運用コスト、通信コスト、及び利用コストを計算するステップと、前記計算の結果から、トータルコストが最も少なくなる処理配置を判定するステップと、前記判定の結果から、処理配置を動的に変更するステップと、を実行させるためのプログラムを提供する。
本発明は、複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散システムであって、分散された前記複数のエッジデバイスからパラメータを取得する取得手段と、前記パラメータから、運用コスト、通信コスト、及び利用コストを計算する計算手段と、前記計算の結果から、トータルコストが最も少なくなる処理配置を判定する判定手段と、前記判定の結果から、処理配置を動的に変更する変更手段と、を備える協調分散システムを提供する。
The present invention is a cooperative distribution system in which a plurality of edge devices are co-distributed and the processing arrangement is changed so as to minimize the cost. An acquisition unit that acquires a parameter including a data amount of another process or a processing time required for the other process; and a calculation unit that calculates an operation cost, a communication cost, and a usage cost required for the target process from the parameter. Provided is a cooperative distribution system comprising: a determining unit that determines a process arrangement that minimizes the total cost based on the result of the calculation; and a changing unit that dynamically changes the process arrangement based on the result of the determination.
The present invention is a cooperative distributed management apparatus that cooperatively distributes a plurality of edge devices to change the processing arrangement so as to minimize the cost, and executes the plurality of edge devices from the distributed edge devices. An acquisition unit that acquires a parameter including a data amount of another process in the process or a processing time required for the other process, and a calculation unit that calculates an operation cost, a communication cost, and a usage cost related to the target process from the parameter And a determining unit that determines a process arrangement that minimizes the total cost from the result of the calculation, and a changing unit that dynamically changes the process arrangement based on the result of the determination. ..
The present invention is a cooperative distribution method for coordinating and distributing a plurality of edge devices to change the processing arrangement so as to minimize the cost, wherein the plurality of edge devices are being executed by the plurality of edge devices. Acquiring a parameter including a data amount of another process or a processing time required for the other process; calculating an operation cost, a communication cost, and a usage cost required for the target process from the parameter; There is provided a cooperative distribution method including a step of determining a processing arrangement that minimizes the total cost from the result of calculation, and a step of dynamically changing the processing arrangement based on the result of the determination.
The present invention is a program for causing a computer to execute a process of coordinating and distributing a plurality of edge devices and changing a process arrangement so as to minimize the cost, and Acquiring a parameter including the data amount of another process being executed by the edge device or the processing time required for the other process, and the operating cost, the communication cost, and the usage cost of the target process from the parameter. Provide a program for executing a step of calculating, a step of deciding a process arrangement that minimizes the total cost from the result of the calculation, and a step of dynamically changing the process arrangement from the result of the judgment. To do.
The present invention is a cooperative distribution system that cooperatively distributes a plurality of edge devices to change the processing arrangement so as to minimize the cost, and an acquisition unit that acquires parameters from the distributed edge devices. Calculation means for calculating the operating cost, communication cost, and utilization cost from the parameters, a judging means for judging the processing arrangement that minimizes the total cost from the result of the calculation, and a processing arrangement based on the result of the judgment. A collaborative distributed system is provided.

Claims (9)

複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散システムであって、
分散された前記複数のエッジデバイスからパラメータを取得する取得手段と、
前記パラメータから、運用コスト、通信コスト、及び利用コストを計算する計算手段と、
前記計算の結果から、トータルコストが最も少なくなる処理配置を判定する判定手段と、
前記判定の結果から、処理配置を動的に変更する変更手段と、
を備える協調分散システム。
A coordinative distribution system for coordinating and distributing a plurality of edge devices to change the processing arrangement so as to minimize the cost,
Acquisition means for acquiring parameters from the distributed edge devices,
From the above parameters, operation cost, communication cost, and calculation means for calculating the usage cost,
From the result of the calculation, a determination unit that determines the processing arrangement that minimizes the total cost,
From the result of the determination, changing means for dynamically changing the processing arrangement,
A distributed collaborative system.
前記パラメータは、前記複数のエッジデバイスが実行中の他の処理のデータ量、前記他の処理にかかる処理時間、及び前記他の処理において利用されている機能を示す機能情報のうち少なくとも1つを含む
請求項1に記載の協調分散システム。
The parameter is at least one of data amount of other processing being executed by the plurality of edge devices, processing time required for the other processing, and function information indicating a function used in the other processing. The cooperative distribution system according to claim 1, which comprises.
クライアント装置から処理の要求を受信する受信手段と、
前記複数のエッジデバイスのうち少なくとも1つから取得された前記処理の結果を前記クライアント装置に送信する送信手段とをさらに備える
請求項1又は2に記載の協調分散システム。
Receiving means for receiving a processing request from the client device;
The cooperative distribution system according to claim 1, further comprising: a transmission unit that transmits the result of the processing acquired from at least one of the plurality of edge devices to the client device.
前記変更手段は、前記判定された処理配置が前記複数のエッジデバイスのうち2以上のエッジデバイスに処理を割り当てる配置である場合には、前記処理を複数の部分処理に分割し、前記分割された複数の部分処理を前記2以上のエッジデバイスに割り当てる処理配置に変更する
請求項1から3のいずれか1項に記載の協調分散システム。
When the determined processing arrangement is an arrangement in which the processing is allocated to two or more edge devices of the plurality of edge devices, the changing unit divides the processing into a plurality of partial processing, and the divided processing is performed. The cooperative distribution system according to any one of claims 1 to 3, wherein a plurality of partial processes are changed to a process arrangement that is assigned to the two or more edge devices.
クライアント装置から処理の要求を受信する受信手段と、
前記2以上のエッジデバイスから取得された前記複数の部分処理の結果を統合して前記クライアント装置に送信する送信手段とをさらに備える
請求項4に記載の協調分散システム。
Receiving means for receiving a processing request from the client device;
The cooperative distribution system according to claim 4, further comprising: a transmission unit that integrates results of the plurality of partial processes acquired from the two or more edge devices and transmits the integrated results to the client device.
サーバ装置をさらに備え、
前記判定手段は、前記複数のエッジデバイス及び前記サーバ装置のうち少なくとも1つに処理を割り当てる処理配置を判定する
請求項1から5のいずれか1項に記載の協調分散システム。
Further comprising a server device,
The cooperative distribution system according to any one of claims 1 to 5, wherein the determination unit determines a processing arrangement that allocates processing to at least one of the plurality of edge devices and the server device.
複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散管理装置であって、
分散された前記複数のエッジデバイスからパラメータを取得する取得手段と、
前記パラメータから、運用コスト、通信コスト、及び利用コストを計算する計算手段と、
前記計算の結果から、トータルコストが最も少なくなる処理配置を判定する判定手段と、
前記判定の結果から、処理配置を動的に変更する変更手段と、
を備える協調分散管理装置。
A coordinated distributed management apparatus that collaboratively distributes a plurality of edge devices and changes the processing arrangement so as to minimize the cost.
Acquisition means for acquiring parameters from the distributed edge devices,
From the above parameters, operation cost, communication cost, and calculation means for calculating the usage cost,
From the result of the calculation, a determination unit that determines the processing arrangement that minimizes the total cost,
From the result of the determination, changing means for dynamically changing the processing arrangement,
A distributed collaborative management device.
複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する協調分散方法であって、
分散された前記複数のエッジデバイスからパラメータを取得するステップと、
前記パラメータから、運用コスト、通信コスト、及び利用コストを計算するステップと、
前記計算の結果から、トータルコストが最も少なくなる処理配置を判定するステップと、
前記判定の結果から、処理配置を動的に変更するステップと、
を備える協調分散方法。
A coordinative distribution method for coordinating and distributing a plurality of edge devices to change the processing arrangement so as to minimize the cost,
Obtaining parameters from the distributed edge devices,
Calculating operating costs, communication costs, and usage costs from the parameters,
From the result of the calculation, a step of determining the processing arrangement that minimizes the total cost,
From the result of the determination, a step of dynamically changing the processing arrangement,
A cooperative distribution method comprising:
複数のエッジデバイスを協調分散させてコストが最小になるように処理配置を変更する処理をコンピュータに実行させるためのプログラムであって、
分散された前記複数のエッジデバイスからパラメータを取得するステップと、
前記パラメータから、運用コスト、通信コスト、及び利用コストを計算するステップと、
前記計算の結果から、トータルコストが最も少なくなる処理配置を判定するステップと、
前記判定の結果から、処理配置を動的に変更するステップと、
を実行させるためのプログラム。
A program for causing a computer to execute processing for changing processing arrangement so as to minimize costs by coordinating and distributing a plurality of edge devices,
Obtaining parameters from the distributed edge devices,
Calculating operating costs, communication costs, and usage costs from the parameters,
From the result of the calculation, a step of determining the processing arrangement that minimizes the total cost,
From the result of the determination, a step of dynamically changing the processing arrangement,
A program to execute.
JP2019557973A 2017-12-08 2017-12-08 Cooperative distributed system, cooperative distributed management device, cooperative distributed method, and program Active JP6721800B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/044227 WO2019111411A1 (en) 2017-12-08 2017-12-08 Coordination/distribution system, coordination/distribution management device, coordination/distribution method, and program

Publications (2)

Publication Number Publication Date
JP6721800B2 JP6721800B2 (en) 2020-07-15
JPWO2019111411A1 true JPWO2019111411A1 (en) 2020-07-30

Family

ID=66750106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019557973A Active JP6721800B2 (en) 2017-12-08 2017-12-08 Cooperative distributed system, cooperative distributed management device, cooperative distributed method, and program

Country Status (2)

Country Link
JP (1) JP6721800B2 (en)
WO (1) WO2019111411A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7368143B2 (en) * 2019-08-27 2023-10-24 株式会社日立製作所 Service deployment control system, service deployment control method, and storage medium
CN111966502A (en) 2020-09-21 2020-11-20 北京百度网讯科技有限公司 Method and device for adjusting number of instances, electronic equipment and readable storage medium
JPWO2022138232A1 (en) * 2020-12-23 2022-06-30

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001503170A (en) * 1996-09-16 2001-03-06 ザ リサーチ ファウンデーション オブ ステイト ユニヴァーシティ オブ ニューヨーク Load distribution controller to optimize financial costs
JP2002342193A (en) * 2001-05-14 2002-11-29 Nippon Telegr & Teleph Corp <Ntt> Method, device and program for selecting data transfer destination server and storage medium with data transfer destination server selection program stored therein
WO2011052102A1 (en) * 2009-11-02 2011-05-05 株式会社日立製作所 Method for supporting service setting
WO2012161289A1 (en) * 2011-05-23 2012-11-29 日本電気株式会社 Communication control device, communication control system, communication control method, and program
JP2017126238A (en) * 2016-01-15 2017-07-20 日本電気株式会社 System management device, information processing system, system management method, and program
JP2017138788A (en) * 2016-02-03 2017-08-10 日本電信電話株式会社 Arrangement determination system, arrangement determination method and program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001503170A (en) * 1996-09-16 2001-03-06 ザ リサーチ ファウンデーション オブ ステイト ユニヴァーシティ オブ ニューヨーク Load distribution controller to optimize financial costs
JP2002342193A (en) * 2001-05-14 2002-11-29 Nippon Telegr & Teleph Corp <Ntt> Method, device and program for selecting data transfer destination server and storage medium with data transfer destination server selection program stored therein
WO2011052102A1 (en) * 2009-11-02 2011-05-05 株式会社日立製作所 Method for supporting service setting
WO2012161289A1 (en) * 2011-05-23 2012-11-29 日本電気株式会社 Communication control device, communication control system, communication control method, and program
JP2017126238A (en) * 2016-01-15 2017-07-20 日本電気株式会社 System management device, information processing system, system management method, and program
JP2017138788A (en) * 2016-02-03 2017-08-10 日本電信電話株式会社 Arrangement determination system, arrangement determination method and program

Also Published As

Publication number Publication date
WO2019111411A1 (en) 2019-06-13
JP6721800B2 (en) 2020-07-15

Similar Documents

Publication Publication Date Title
WO2022062650A1 (en) Computing device sharing method and apparatus based on kubernetes, and device and storage medium
JP6721800B2 (en) Cooperative distributed system, cooperative distributed management device, cooperative distributed method, and program
CN107003887A (en) Overloaded cpu setting and cloud computing workload schedules mechanism
CN110489126B (en) Compiling task execution method and device, storage medium and electronic device
CN105227489B (en) A kind of bandwidth management method and electronic equipment
KR20130088512A (en) Apparatus and method for managing resource in clustered computing environment
CN111290841B (en) Task scheduling method, device, computing equipment and storage medium
JP2007200349A (en) Server-client system, load distribution device, load distribution method, and load distribution program
CN105703927A (en) Resource allocation method, network device and network system
CN104734983B (en) Scheduling system, the method and device of service data request
CN111443870B (en) Data processing method, device and storage medium
CN112219191A (en) Self-configuration of services and servers in a data center
CN113382077A (en) Micro-service scheduling method and device, computer equipment and storage medium
Chang et al. Adaptive replication for mobile edge computing
Pham et al. Joint consolidation and service-aware load balancing for datacenters
Naik A cloud-fog computing system for classification and scheduling the information-centric IoT applications
Edinger et al. Decentralized low-latency task scheduling for ad-hoc computing
CN110532060A (en) A kind of hybrid network environmental data collecting method and system
JP2011210134A (en) Management server, virtual machine management method and virtual machine management program
US10691700B1 (en) Table replica allocation in a replicated storage system
CN110727511B (en) Control method for application program, network side device and computer readable storage medium
WO2019034091A1 (en) Distribution method for distributed data computing, device, server and storage medium
US11886901B2 (en) VM performance guaranteeing system and VM performance guaranteeing method
CN110502343B (en) Resource allocation method, system, device and computer readable storage medium
Xia et al. When edge caching meets a budget: Near optimal service delivery in multi-tiered edge clouds

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200427

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200427

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200427

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200609

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: 20200615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200618

R150 Certificate of patent or registration of utility model

Ref document number: 6721800

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250