WO2021002086A1 - エッジシステム、エッジシステムの制御方法 - Google Patents
エッジシステム、エッジシステムの制御方法 Download PDFInfo
- Publication number
- WO2021002086A1 WO2021002086A1 PCT/JP2020/016782 JP2020016782W WO2021002086A1 WO 2021002086 A1 WO2021002086 A1 WO 2021002086A1 JP 2020016782 W JP2020016782 W JP 2020016782W WO 2021002086 A1 WO2021002086 A1 WO 2021002086A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- edge
- image
- edge system
- container
- setting
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/38—Services specially adapted for particular environments, situations or purposes for collecting sensor information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
- H04W8/245—Transfer of terminal data from a network towards a terminal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
Definitions
- the present invention relates to an edge system using container orchestration technology, a control method for the edge system, a computer program used for controlling the edge system, and a recording medium thereof.
- edge computing Mobile Edge Computing
- MEC Mobile Edge Computing
- OS operating system
- edge terminal After installing the OS, container engine, and orchestration tool, it is necessary to further deploy the container that performs individual control.
- the OS container engine, and orchestration tool
- the present invention aims to solve such a problem, and it is possible to reduce the man-hours for system setting at the time of initial introduction of the edge system.
- the system according to one aspect of the present invention is an edge system composed of edge terminals that realize a predetermined function by operating a container using hardware resources logically allocated by orchestration technology.
- the edge terminal acquires the corresponding image from the image registry based on the predetermined setting information, deploys the image to the edge terminal using the acquired image, and performs the setting process.
- the setting server performs system settings such as initial settings from the images stored in the image registry on the network according to the stored setting information.
- system settings such as initial settings from the images stored in the image registry on the network according to the stored setting information.
- the deployment on the edge terminal is performed.
- the edge terminal can be set without error and the man-hours can be reduced. Can be done.
- FIG. 1 is a block diagram showing an edge system according to the first embodiment.
- FIG. 2 is a hardware configuration diagram of the MEC.
- FIG. 3 is a software configuration diagram of MEC.
- FIG. 4 is a software configuration diagram of MEC when an orchestration tool is used.
- FIG. 5 is a table showing MEC setting information.
- FIG. 6 is a flowchart showing MEC setting control.
- FIG. 7 is a table showing a list of deployed programs.
- FIG. 8 is a block diagram showing an edge system according to the second embodiment.
- FIG. 9 is a block diagram showing the configuration of the multifunction device.
- FIG. 10 is a table showing MEC setting information.
- FIG. 11 is a flowchart showing MEC setting control according to the second embodiment.
- FIG. 1 is a block diagram showing a configuration of a monitoring system including an edge system according to an embodiment of the present invention.
- the edge system 10 provided in the local environment 11 is connected to the WAN (Wide Area Network) 13 and can communicate with the terminal 14 and the image registry 15 via the WAN 13. It is configured in.
- WAN Wide Area Network
- the edge system 10 is a system that monitors manufacturing processes, construction processes, etc. in a local environment 11 such as a factory or a construction site, and controls work equipment used in these processes.
- the edge system 10 is composed of a multifunction device 12 that realizes a plurality of functions such as communication and control, and in the present embodiment, it is composed of one multifunction device 12.
- the multifunction device 12 includes a MEC 16, a work device 17, and a sensor 18.
- the edge system 10 is connected to the WAN 13 by wireless communication or wired communication.
- the WAN 13 may be partially or wholly configured by a mobile communication network.
- a system including one multifunction device 12 has been exemplified, but the system is not limited to such a configuration, and a system including a plurality of multifunction devices 12 may be used.
- Terminal 14 and image registry 15 are connected to WAN 13.
- the edge system 10, the terminal 14, and the image registry 15 can communicate with each other via WAN 13.
- the terminal 14 is a device including a display, a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a memory, a network interface, etc., and is connected to the edge system 10 via WAN 13 and is monitored transmitted from the edge system 10. Display the result.
- the terminal 14 is an information terminal including a display unit such as a personal computer, a smartphone, and a tablet terminal.
- the image registry 15 is, for example, a general-purpose data server.
- a container is executed by using the container orchestration technology, and in the image registry 15, the container deployed in the MEC 16 is executed.
- the image is stored.
- a system environment construction tool such as bitbucket or Concourse CI may be used as a means for realizing the orchestration tool.
- the image of the container stored in the image registry 15 is transmitted to the edge system 10 via WAN 13, and is deployed in MEC 16 of the multifunction device 12.
- the MEC 16 is an example of an edge terminal, and is a container controlled by using a container orchestration technique, which controls a work device 17 and sensor information acquired by a sensor 18. Collect and so on.
- the MEC 16 is a device including a CPU, a GPU, a memory, a network interface, and the like, and is configured to be able to execute a stored program.
- the MEC 16 may be configured by using a general-purpose computer, or may be a dedicated terminal.
- MEC16 middleware that realizes container orchestration is installed on the OS (Operating System). Then, in MEC16, a container that realizes a predetermined function is deployed.
- OS Operating System
- MEC16 the hardware configuration will be described later with reference to FIG. 2, and the software configuration will be described with reference to FIG.
- the MEC 16 mainly monitors and performs machine learning on the control information of the work equipment 17 in the local environment 11 and the sensor information acquired by the sensor 18.
- the MEC 16 transmits a monitoring result, a learned model obtained by machine learning, and the like to the terminal 14 via wireless communication or wired communication.
- the work equipment 17 is equipment used in one or more of manufacturing processes and construction processes in the local environment 11, and includes, for example, medium- and large-sized equipment such as a robot arm in a factory and a truck in a construction site, and is composed of a semiconductor substrate. There are various types such as small devices such as display modules.
- the sensor 18 is a device that acquires information directly or indirectly related to the work device 17, such as a camera or an infrared sensor.
- the sensor 18 outputs the acquired sensor information to the MEC 16.
- FIG. 2 is a hardware configuration diagram of MEC16.
- the MEC 16 is composed of a control unit 21 composed of a CPU and a GPU that controls the whole, a ROM (Read Only Memory), a RAM (Random Access Memory), a hard disk, a storage, and the like, and stores programs, various data, and the like.
- the storage unit 22 is composed of an input / output port 23 for inputting / outputting data to / from an external device, a communication unit 24 communicating with another MEC16, a display, an LED, a speaker, or the like, and displays according to the data. It includes a display unit 25 and an input unit 26 that receives input from the outside.
- the control unit 21, the storage unit 22, the input / output port 23, the communication unit 24, the display unit 25, and the input unit 26 are configured to be able to communicate with each other by bus connection.
- the hardware configuration may be a hardware circuit that executes a predetermined function by a program used for a semiconductor circuit such as FPGA or GPU-CUDA.
- FIG. 3 is a software configuration diagram of MEC16.
- MEC16 has an operating system (OS) 32 such as Linux (registered trademark) installed on the hardware 31.
- OS operating system
- Linux registered trademark
- a container engine 34 and an orchestration tool 35 that operates together with the container engine 34 are installed.
- the container engine 34 and the orchestration tool 35 deploy and execute the container 36.
- the container 36 includes a dedicated middleware (MW) 38 that is mainly used for the operation of the application 37 according to the operation specifications of the container engine 34.
- the middleware 38 may include a library or the like.
- the hardware 31 has the hardware configuration shown in FIG. Using the resources of these hardware 31, the MEC 16 can perform a predetermined operation.
- the operation system 32 is a basic system of software configuration in MEC16.
- the operating system 32 controls the overall operation of the MEC 16.
- the general-purpose middleware 33 is a functional block generally provided by a vendor of the operation system 32 or the like, and includes a communication function by the communication unit 24 shown in FIG. 2, a display operation by the display unit 25, and input control from the input unit 26. It is a functional block for realizing basic operations such as. More specifically, the general-purpose middleware 33 is an application framework, a database, an engine of a script-type programming language, and the like in the entire software in the MEC 16, and realizes basic operations in the software configuration. The general-purpose middleware 33 is sometimes referred to as a platform.
- the container engine 34 is one of the middleware installed in the operation system 32, and is an engine that operates the container 36. Specifically, the container engine 34 allocates the resources of the hardware 31 and the operating system 32 to the container 36 based on the settings included in the middleware 38 in the container 36.
- the orchestration tool 35 is a functional block that causes the container engine 34 to allocate resources such as hardware 31.
- the orchestration tool 35 groups one or more containers 36 into units called pods (not shown in FIG. 3), where each pod is a logically different area of a node (not shown in FIG. 3). Will be deployed.
- the details of the operation by the orchestration tool 35 will be described later with reference to FIG.
- the container engine 34 and the orchestration tool 35 are sometimes referred to as middleware.
- the container 36 includes not only the application 37 that realizes a predetermined function but also the middleware 38 such as a library.
- the container 36 operates using the resources of the hardware 31 and the operating system 32 allocated by the container engine 34.
- the allocation of resources to the container 36 by the container engine 34 is performed based on a setting file or the like included in the middleware 38 in the container 36. In this way, since resource management is guaranteed by the container engine 34, the environment dependence of the operation of the container 36 can be reduced.
- the container 36 includes application programs such as machine learning, blockchain, message service, and authentication service.
- FIG. 4 is a schematic configuration diagram of MEC 16 which is an operating environment of the container 36 when the orchestration tool 35 is used.
- the number of containers shown in this figure is an example.
- the orchestration tool 35 manages the hardware resources allocated by the container engine 34.
- the logical space managed by the orchestration tool 35 is called a cluster.
- the orchestration tool 35 uses the hardware resources of the MEC 16 to form a cluster.
- the orchestration tool 35 manages the execution environment of the container 36 in a unit called a node 41. At the same time, the orchestration tool 35 provides a master 42 that manages the overall operation of the node 41.
- the pod 411 is a functional block that realizes a predetermined service composed of a plurality of containers 36, and in the example of this figure, the pod 411 has two containers 36.
- the pod 411 is a unit for managing the container 36 by the orchestration tool 35.
- the overall operation of the pod 411 within the node 41 is controlled by the pod management library 412.
- the pod management library 412 includes a container runtime 4121 for causing the pod 411 (container 36) to use the logically allocated hardware resources, an agent 4122 for receiving control from the master 42, and between the pods 411 and the node 41. It has a network (NW) proxy 4123 or the like that communicates with the master 42 or the like. With the pod management library 412 having such a configuration, the pod 411 uses hardware resources while communicating with the pod 411 in the same node 41, the pod 411 of another node 41, and the like, and determines a predetermined value. Realize the function.
- NW network
- the master 42 includes an application server 421 that deploys the pod 411, a manager 422 that manages the deployment status of the container 36 by the application server 421, a scheduler 423 that determines which node 41 the container 36 is to be placed on, and data. It includes a data sharing unit 424 and the like for sharing. Since the master 42 can delete or deploy the pod 411 so that the processing load on each node 41 constituting the cluster becomes constant during the operation of the edge system 10 in which the pod 411 is orchestrated. , High maintainability can be realized.
- FIG. 5 is a table showing a profile configuration used for setting the multifunction device 12. It should be noted that this profile configuration is an example and may include other information.
- the information about MEC16 includes information on the installed OS, orchestration software, container engine, etc., in addition to general hardware information such as CPU (control unit 21) and memory (storage unit 22).
- the OS, orchestration software, and container engine may not be installed in MEC16 at the initial stage.
- the information about the work equipment 17 indicates the type of equipment and in which work process it is used. In this example, it is shown to be used in step 1-2 by a belt conveyor.
- the information about the sensor 18 indicates the type of sensor and its specifications (specs). In this example, it is shown that it is a vibration sensor and can measure in three dimensions.
- the profile configuration does not describe those configurations, indicating that the multifunction device 12 does not have the work equipment 17 or the sensor 18. Has been done.
- FIG. 6 is a flowchart showing setting control in the initial setting of MEC16 by the setting server.
- This setting control is performed by the image registry 15 and the MEC 16 in cooperation with each other.
- the MEC 16 is in a state where the OS or the like is not installed before the setting control, but is provided with a setting server that operates autonomously by using the PXE (Preboot eXecution Environment) function or the like.
- the setting server can start the boot loader on the MEC 16 via the network interface to perform predetermined setting control.
- the MEC 16 mainly acquires data from the image registry 15 by the setting server, and constructs an operating environment in the local environment in the MEC 16.
- step S601 the setting server determines the necessary image file in MEC16 based on the stored profile configuration.
- the setting server determines that these programs are necessary. If these programs are not the latest versions, the configuration server determines that an update program to the latest program is required. Similarly, the setting server determines that it is necessary to deploy the pod 411 that executes the control program according to the type and process of the work device 17 and the analysis program according to the type and specification of the sensor 18 on the MEC16. .. Further, the setting server appropriately determines the necessary files according to the configuration of the hardware 31 such as the CPU and memory of the MEC 16.
- step S602 the setting server establishes a communication link between the image registry 15 and the MEC 16.
- step S603 the setting server requests the image registry 15 for an image file related to software mainly used for controlling the hardware 31, such as a boot loader and a BIOS, among the necessary image files determined in step S601.
- step S604 the image registry 15 transmits the image file corresponding to the request from the setting server to the MEC 16.
- the program used in MEC16 is also recognized in the image registry 15.
- step S605 the setting server selects the image file of the required OS determined in step S601, and in step S606, requests the image file from the image registry 15.
- step S607 the image registry 15 transmits the image file of the OS in response to the request from the setting server to the MEC 16.
- the program used in MEC16 is also recognized in the image registry 15.
- step S608 the MEC 16 installs the OS in addition to the image file related to the control of the hardware 31 transmitted in step S604. Then, when the installation of the firmware and the OS is completed in the local environment, the MEC 16 transmits a notification of the completion of the installation of the OS to the setting server in step S609.
- the processing of steps S606 to S609 is omitted, and if the OS of MEC16 is not the latest, the setting server sends an image file necessary for upgrading the OS. ..
- step S610 the setting server selects the orchestration tool required for MEC16, the machine learning engine, and the like, and in step S611, requests these image files from the image registry 15.
- the image registry 15 transmits the orchestration tool to the MEC 16 in step S612, and transmits an image file related to the machine learning engine or the like to the MEC 16 in step S613.
- step S614 when the MEC16 completes the installation of the orchestration tool and the machine learning engine in its local environment, the MEC16 notifies the setting server of the completion of the installation of the orchestration tool and the machine learning engine in step S615. To do.
- step S616 the setting server selects the pod 411 required for MEC16, and in step S617, requests these image files from the image registry 15.
- step S618 when the image registry 15 transmits the requested image file to MEC16, the pod 411 is deployed in step S619. Then, in step S620, the setting server transmits the deployment state of the pod to the image registry 15. In this way, the operating environment of the container 36 when the orchestration tool 35 is used as shown in FIG. 4 is constructed.
- the setting file is stored in MEC16, but the present invention is not limited to this.
- the setting file may be stored in the image registry 15 on the network side.
- the setting server of the MEC 16 may set the environment based on the setting file stored in the image registry 15 after establishing the communication with the image registry 15.
- the setting process can be performed by installing the necessary image file in the MEC 16 from the image registry 15 based on the profile configuration stored in the MEC 16.
- Such setting processing is not limited to the setting in the initial state of the edge system 10, and may be performed when the setting is changed. That is, when the profile configuration stored in the MEC 16 is modified, the setting server provided in the MEC 16 takes the lead in acquiring the necessary image from the image registry 15 and installing it in the local environment. When some functions can be diverted from the system configuration before the change in the setting change, it is not necessary to newly acquire the image from the image registry 15, so that the processing load and the communication load can be reduced. Further, when a defect in the OS or orchestration tool is found, the OS or orchestration tool may be reinstalled by this setting process.
- the setting process is assumed that the setting server provided in the MEC 16 operates autonomously in a state where the OS and middleware are not installed, but the setting process is not limited to this.
- the function equivalent to that of the setting server may be realized by the pod 411.
- the pod 411 having the function of the setting server can change the container engine 34 and the orchestration tool 35 in addition to the container 36 when the setting is changed.
- the pod 411 having the function of the setting server can update the program related to the operation system 32 and the hardware 31 by directly specifying the physical address, unlike the memory operation on the OS or middleware. ..
- FIG. 7 shows a list of programs set by the setting process in the present embodiment.
- the configuration server largely controls the configuration of the application and the middleware / platform.
- applications include machine learning (AI, ML (Machine Learning), such as TensorFlow, Caffe2, PyTorch, etc.), blockchain (Blockchain, for example, Ethereum, Hyperledger, etc.), and message service (Messaging).
- AI machine learning
- ML Machine Learning
- Blockchain Blockchain
- Messaging For example, Kafka, ElasticSearch, Logstash, Kibana, etc.
- authentication services Authentication, for example, OpenLDAP, OpenID, etc.
- application framework For middleware / platform, application framework (App Framework, for example, React JS, React Native, .Net Core, Spring, etc.), functional block for routing services (Service Broker, API Gateway, for example, API Management Software, etc.) , Database (DB (Database), eg MySQL, MongoDB, SQLite, etc.), Functional blocks (CI / CD, eg Concource CI, etc.) for continuous automation and continuous monitoring of the system environment, container engine, container Orchestration tools (Container, Container Orchestration, for example, Docker, Kubernetes, etc.), script-type programming languages (Programming Language, for example, Python, Node.js, Javascript®, Go, C #, C ++, etc.), infrastructure management Functional blocks (Infrastructure Management, for example, OpenStack, Terraform, VMware, KVM, VirtutalBox, etc.), firmware for circuits (Circuit, Onboarding, for example, FPGA, GPU-CUDA, etc.), operating system (OS, for example, Linux
- the software shown in FIG. 7 can be deployed by the setting server according to the profile configuration shown in the setting file at the time of initial setting or setting change.
- the setting server included in the MEC 16 determines a program necessary for setting the MEC 16 based on the setting information, and an image corresponding to the program determined to be necessary is displayed from the image registry 15. get. Then, the MEC16 program is set using the acquired image. With such a configuration, the MEC16 can be set by using only the setting information, so that the man-hours for installing a plurality of softwares are not required, and the possibility of setting errors can be reduced. it can.
- the sensor 18 is provided integrally with the MEC 16, and the information about the sensor 18 is stored in the setting information.
- various sensors 18 are used, and their control programs are different.
- the control program required by the sensor 18 can be installed in the MEC 16, so that the man-hours for initial setting can be reduced.
- the program of MEC16 can be updated by modifying the profile configuration, so that the setting can be easily managed.
- the edge system 10 has been described as being composed of the MEC 16, the working device 17, and the multifunction device 12 including the sensor 18, but the present invention is not limited to such a configuration. Therefore, the edge system 10 may be configured to include only the MEC 16, or the multifunction device 12 may be configured as a combination of the MEC 16 and any other configuration. Further, it may be configured as a system including a plurality of the same or different multifunction devices 12.
- the edge system 10 composed of one multifunction device 12 has been described, but the present invention is not limited to this.
- the edge system 10 composed of a plurality of multifunction devices 12 forming a parent-child relationship will be described.
- FIG. 8 is a block diagram showing a configuration of a monitoring system including an edge system according to an embodiment of the present invention.
- the edge system 10 is composed of a multifunction device 12 that realizes a plurality of functions such as communication and control.
- the second-generation second-generation multifunction device 12B and the third-generation multifunction device 12C which are slave units, are connected to the first-generation first-generation multifunction device 12A, which is the master unit, and further.
- a third-generation fourth-generation multifunction device 12D which is a grandchild, is connected to the second multifunction device 12B.
- the edge system 10 is configured by the three-generation multifunction devices 12 of the master unit, the slave unit, and the grandchild unit
- the edge system is composed of any number of generations of the multifunction devices 12. 10 may be configured. Further, the number of multifunction devices 12 constituting the edge system 10 is also arbitrary.
- FIG. 9 is a diagram showing a detailed configuration of the multifunction device 12.
- the image registry 81 is provided in the MEC 16.
- the image registry 81 has the same function as the image registry 15 on the cloud, and stores necessary image files.
- FIG. 10 is a table showing the profile configuration of the multifunction device 12 stored in the setting server. It should be noted that this profile configuration is an example and may include other information. In the following, an example in which the image registry 81A of the MEC16A stores all the image files necessary for configuring the local environment will be described, but the MEC16A to 16D may store the profile configuration in each of them.
- the hardware information regarding the MEC 16, the work device 17, and the sensor 18 constituting the multifunction device 12 is shown.
- the respective information regarding the multifunction devices 12A to 12D is equivalent to the profile configuration shown in FIG. 5 of the first embodiment.
- FIG. 11 describes the setting of the slave unit MEC16B by the master unit MEC16A.
- the image registry 81A of MEC16A stores all the image files necessary for configuring the local environment. That is, the same processing as between the image registry 15 and the MEC 16 in the setting control of the first embodiment is performed between the image registry 81A of the MEC 16A and the MEC 16B in the setting control of the second embodiment.
- steps S1101 to S1120 corresponds to the setting control steps S601 to S620 shown in FIG. 6 in the first embodiment. Since the profile configurations of MEC16A to MEC16D are centrally managed in MEC16A, MEC16B acquires the profile configuration related to itself from MEC16A in step S1101.
- a necessary image file can be obtained from the image registry 81A in the MEC16A based on the profile configuration, and settings can be made using the image file.
- the MEC16B stores the image file required for setting in its own image registry 81B. Therefore, for example, if some functions fail and reinstallation or redeployment is required, an image of another MEC16A There is no need to communicate with the registry 81A or the image registry 15 on the network. Therefore, the time required for reinstallation and redeployment can be shortened.
- the MEC16B first determines the necessary image (S1101), selects the OS (S1105), selects the orchestration tool, the machine learning engine (S1110), and selects the pod 411 (S1116). Then, after establishing the communication (S1102), the MEC16B requests an image (S1103), an OS image (S1106), an orchestration tool, a machine learning engine (S1111), and a pod 411 (S1117). I do.
- the MEC16A transmits necessary images (S1104), OS images (S1107), orchestration tools (S1112), machine learning engine transmissions (S1113), and pods 411 (S1113). S1118) is performed. Then, when the MEC16B acquires these images, it installs the OS (S1108), installs the orchestration tool, the machine learning engine (S1114), deploys the pod 411 (S1119), and notifies the completion of them (S1109, S1105). )I do. Finally, the setting server of MEC16B transmits the arrangement state of the pod 411 to MEC16A (S1120).
- the edge system 10 of the second embodiment has a plurality of MEC16s having a parent-child relationship, and each MEC16 has an image registry 81.
- the slave unit MEC16B acquires the files necessary for the initial setting from the master unit MEC16A. Therefore, for example, when some functions of the slave unit MEC16B fail and reinstallation or redeployment is required, the image registry 81A of the master unit MEC16A and the image registry 15 on the network are communicated with each other. Since it is not necessary, the time required for reinstallation and redeployment can be shortened.
- Edge system 11 Local environment 12 Multifunction device 15, 81 Image registry 16 MEC (edge terminal) 17 Work equipment 18 Sensor 100 Monitoring system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
【課題】初期導入時等のシステム設定における工数の低減を図る。 【解決手段】オーケストレーション技術により論理的に割り当てたハードウェアリソースを用いてコンテナを動作させることにより所定の機能を実現するエッジ端末により構成されるエッジシステムであって、前記エッジ端末は、所定の設定情報に基づいて、対応するイメージを、イメージレジストリから取得し、取得した前記イメージを用いて、前記エッジ端末へとデプロイを行い設定処理を行う、エッジシステムが提供される。
Description
本発明は、コンテナオーケストレーション技術を利用したエッジシステム、エッジシステムの制御方法、エッジシステムの制御に用いるコンピュータプログラム、及び、その記録媒体に関する。
工場や建設現場等のローカル環境において、所定の作業を行う作業機器に関連する情報をセンサにより取得し、取得されたセンサ情報の監視や、センサ情報に基づいた作業機器の制御を、ネットワーク側、すなわちクラウドから行うシステムが知られている。しかしながら、この種のシステムにおいて作業機器やセンサの数が多数となると、センサ情報のデータ量や処理負荷の増大に伴い、ネットワーク負荷の増大、処理時間の遅延の問題が生じる。また、情報セキュリティ等の懸念も存在する。そこで、センサ情報の処理をネットワークの末端(エッジ)であるローカル環境、例えば、工場内などにおいて行うエッジシステムが検討されている。
一方、ローカル環境においてセンサ情報の取得や解析などを行う技術が近年注目されており、エッジコンピューティング又はMEC(Mobile Edge Computing)等と呼ばれている。このとき、ローカル環境に配置される機器は、エッジ端末又はMEC等と呼ばれる。ところで、エッジ端末において、多数の機能を実現しようとすると、ホストPCにインストールされたOS(オペレーションシステム)上において、複数のアプリケーションを動作させることとなる。しかしながら、複数のアプリケーションを同時に動作させる場合には、OSにおけるシステムリソースをアプリケーション間で共有する必要があるため、OS毎にアプリケーションの設計を変更しなければならず、開発負担が大きい。
そこで、エッジ端末のOS上で論理的な区間を作り、その区画内で、アプリケーション本体に加えてアプリケーションの動作に必要な環境をまとめたコンテナアプリケーションを展開(デプロイ)する技術が知られている。この技術によれば、OS上のリソースを論理的に分離して複数のコンテナに使用させることができる。そのため、アプリケーションの設計のOS依存性が低減し、システム開発の負担を軽減することができる。このようなコンテナ技術は、OS上にインストールされるコンテナ管理ソフトによって実現される。コンテナ管理ソフトの一例として、Dockerなどがあげられる(例として、特許文献1)。
近年、コンテナ技術の進化や、システムの冗長化の要望に伴って、ネットワーク接続、記憶領域、及び、ホストPCの設定が複雑化しており、複数のコンテナアプリケーションをスケジューリングする必要性が高まっている。そこで、これらの設定を自動的に行いコンテナアプリケーションの管理を統合的に行うオーケストレーションツールの開発が進められている。
オーケストレーションツールが用いられることにより、複数のコンテナアプリケーションのデプロイ、実行、管理及びスケジューリングなどを容易に行うことができるため、さらにシステム開発の負担が軽減されている。コンテナオーケストレーションツールとしては、Kubernetes、Apache Mesosなどが知られる。
エッジ端末においては、OS、コンテナエンジン、オーケストレーションツールをインストールした後に、さらに、個々の制御を行うコンテナをデプロイする必要がある。しかしながら、エッジシステムを構成するエッジ端末が多数存在する場合には、エッジシステムの初期導入時においてソフトウェア設定をエッジ端末において行う必要がある。そのため、多数の工数を要するおそれがあるだけでなく、それぞれの設定作業が異なるため設定誤りなどが生じるおそれがある。
本発明は、このような課題を解決することを目的としており、エッジシステムの初期導入時等のシステム設定の工数の低減を図ることができる。
上述の課題は、以下の構成を有するシステム等により解決することができる。
すなわち、本発明の一態様に係るシステムは、オーケストレーション技術により論理的に割り当てたハードウェアリソースを用いてコンテナを動作させることにより所定の機能を実現するエッジ端末により構成されるエッジシステムであって、前記エッジ端末は、所定の設定情報に基づいて、対応するイメージを、イメージレジストリから取得し、取得した前記イメージを用いて、前記エッジ端末へとデプロイを行い設定処理を行う。
本発明の一態様によれば、ローカル環境において、設定サーバが、記憶している設定情報に応じて、ネットワーク上のイメージレジストリに記憶されているイメージの中から初期設定等のシステム設定の際に必要なファイルをエッジ端末に転送することで、エッジ端末におけるデプロイが行われる。ここで、エッジ端末のそれぞれについての設定を個々に行う場合には、多くの工数を要してしまう。これに対して、本発明においては、ローカル環境内に設けられる設定情報を利用して設定を行うことができるため、エッジ端末の設定を誤りなく行うことができ、また、工数の低減を図ることができる。
以下、図面を参照して、本発明の第1実施形態について説明する。
(第1実施形態)
図1は、本発明の実施形態に係るエッジシステムを備える監視システムの構成を示すブロック図である。この図に示されるように、監視システム100において、ローカル環境11に設けられたエッジシステム10は、WAN(Wide Area Network)13に接続され、WAN13を介してターミナル14及び、イメージレジストリ15と通信可能に構成されている。
図1は、本発明の実施形態に係るエッジシステムを備える監視システムの構成を示すブロック図である。この図に示されるように、監視システム100において、ローカル環境11に設けられたエッジシステム10は、WAN(Wide Area Network)13に接続され、WAN13を介してターミナル14及び、イメージレジストリ15と通信可能に構成されている。
エッジシステム10は、一例として、工場や建設現場などのローカル環境11において、製造工程や建設工程などの監視をするとともに、これらの工程に用いられる作業機器を制御するシステムである。エッジシステム10は、通信や制御などの複数の機能を実現する複合機12により構成され、本実施形態においては、1つの複合機12によって構成されている。なお、複合機12は、MEC16、作業機器17、センサ18を備える。また、エッジシステム10は、無線通信又は有線通信によりWAN13と接続される。なお、WAN13は、その一部または全部が移動体通信ネットワークにより構成されてもよい。また、本実施形態においては1つの複合機12を備えるシステムを例示したが、このような構成に限定されず、複数の複合機12を備えるシステムとしてもよい。
WAN13には、ターミナル14、及び、イメージレジストリ15が接続される。エッジシステム10、ターミナル14、及び、イメージレジストリ15は、WAN13を介して相互に通信できる。
ターミナル14は、ディスプレイ、CPU(Central Processing Unit)及びGPU(Graphics Processing Unit)、メモリ、ネットワークインターフェースなどを備える機器であり、WAN13を介してエッジシステム10と接続され、エッジシステム10から送信される監視結果を表示する。ターミナル14は、例えば、パーソナルコンピュータ、スマートフォン、及び、タブレット端末などの表示部を備える情報端末である。
イメージレジストリ15は、一例としては汎用的なデータサーバである。後述のように、エッジシステム10を構成する複合機12の一部であるMEC16においては、コンテナオーケストレーション技術を用いてコンテナが実行されており、イメージレジストリ15には、MEC16にデプロイされるコンテナのイメージが記憶されている。オーケストレーションツールを実現する手段としてbitbucket又はConcourse CI等のシステム環境構築ツールを用いてもよい。
イメージレジストリ15に記憶されているコンテナのイメージは、WAN13を介してエッジシステム10へと送信されて、複合機12のMEC16においてデプロイされる。
ここで、MEC16について詳細に説明すれば、MEC16は、エッジ端末の一例であって、コンテナオーケストレーション技術を用いて制御されるコンテナにより、作業機器17の制御やセンサ18により取得されるセンサ情報の収集などを行う。MEC16は、CPU及びGPU、メモリ、及び、ネットワークインターフェースなどを備える機器であり、記憶されたプログラムを実行可能に構成されている。MEC16は、汎用的なコンピュータを用いて構成してもよいし、専用端末であってもよい。
MEC16には、OS(Operating System)上に、コンテナオーケストレーションを実現するミドルウェアがインストールされている。そして、MEC16においては、所定の機能を実現するコンテナがデプロイされる。なお、MEC16については、後に、図2を用いてハードウェアの構成を説明し、図3を用いてソフトウェアの構成を説明する。
MEC16は、主に、ローカル環境11内における作業機器17の制御情報や、センサ18により取得されるセンサ情報などについて監視や機械学習などを行う。MEC16は、無線通信又は有線通信を介して、監視結果や機械学習により得られる学習済みモデルなどを、ターミナル14へ送信する。
作業機器17は、ローカル環境11内における製造工程や建設工程の1つまたは複数において用いられる機器であり、例えば、工場におけるロボットアームや建設現場におけるトラック等の中・大型機器から、半導体基板から成るディスプレイモジュール等の小型機器まで様々である。
センサ18は、作業機器17に直接又は間接的に関連する情報を取得する機器であり、例えば、カメラや赤外線センサなどである。センサ18は、取得したセンサ情報をMEC16に出力する。
図2は、MEC16のハードウェア構成図である。
MEC16は、全体を制御するCPU及びGPU等により構成される制御部21と、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスク又はストレージ等により構成され、プログラムや各種のデータ等を記憶する記憶部22と、外部機器とのデータの入出力を行う入出力ポート23と、他のMEC16と通信を行う通信部24と、ディスプレイ、LED、又はスピーカ等からなりデータに応じた表示を行う表示部25と、外部からの入力を受け付ける入力部26と、を備える。制御部21、記憶部22、入出力ポート23、通信部24、表示部25、及び、入力部26は、バス接続により互いに通信可能に構成されている。なお、このハードウェア構成は、FPGA、GPU-CUDA等の半導体回路に用いられるプログラムによって所定の機能を実行するハードウェア回路でもよい。
図3は、MEC16のソフトウェア構成図である。
MEC16は、ハードウェア31の上に、Linux(登録商標)等のオペレーションシステム(OS)32がインストールされている。オペレーションシステム32においては、汎用ミドルウェア33に加えて、コンテナエンジン34、及び、コンテナエンジン34とともに動作するオーケストレーションツール35がインストールされている。
MEC16においては、コンテナエンジン34、及び、オーケストレーションツール35によって、コンテナ36のデプロイ及び実行がなされる。コンテナ36には、所定の機能を実現するアプリケーション(APL)37に加えて、コンテナエンジン34の動作仕様に従いアプリケーション37の動作に主に用いられる専用ミドルウェア(MW)38が含まれる。なお、ミドルウェア38は、ライブラリなどを含んでもよい。
ハードウェア31は、図2に示されたハードウェア構成を備える。これらのハードウェア31のリソースを用いて、MEC16は所定の動作を行うことができる。
オペレーションシステム32は、MEC16におけるソフトウェア構成の基本システムである。オペレーションシステム32によって、MEC16の全体の動作が制御される。
汎用ミドルウェア33は、一般に、オペレーションシステム32のベンダーなどにより提供される機能ブロックであり、図2に示された通信部24による通信機能や、表示部25による表示動作、入力部26からの入力制御などの、基本的な動作を実現するための機能ブロックである。さらに詳細には、汎用ミドルウェア33は、MEC16における全体のソフトウェアにおいて、アプリケーションフレームワーク、データベース、及び、スクリプト型プログラミング言語のエンジン等であって、ソフトウェア構成において基本的な動作を実現する。汎用ミドルウェア33は、プラットフォームと称されることもある。
コンテナエンジン34は、オペレーションシステム32にインストールされるミドルウェアの1つであって、コンテナ36を動作させるエンジンである。詳細には、コンテナエンジン34は、コンテナ36内のミドルウェア38に含まれる設定に基づいて、ハードウェア31及びオペレーションシステム32のリソースをコンテナ36へ割り当てる。
オーケストレーションツール35は、コンテナエンジン34に対してハードウェア31などのリソースの割り当てを行わせる機能ブロックである。オーケストレーションツール35によって、1つ又は複数のコンテナ36がポッド(図3において不図示)と称される単位にまとめられ、各ポッドが論理的に異なるエリアであるノード(図3において不図示)にデプロイされる。オーケストレーションツール35による動作の詳細については、後に図4を用いて説明する。なお、コンテナエンジン34、及び、オーケストレーションツール35は、ミドルウェアと称されることもある。
コンテナ36は、所定の機能を実現するアプリケーション37だけでなく、ライブラリなどのミドルウェア38を含む。コンテナ36は、コンテナエンジン34によって割り当てられたハードウェア31及びオペレーションシステム32のリソースを用いて動作する。コンテナエンジン34によるコンテナ36へのリソースの割り当ては、コンテナ36内のミドルウェア38に含まれる設定ファイルなどに基づいて行われる。このように、リソース管理がコンテナエンジン34によって保証されるため、コンテナ36の動作の環境依存性を低下させることができる。なお、コンテナ36は、機械学習、ブロックチェーン、メッセージサービス、認証サービスなどのアプリケーションのプログラムを含んでいる。
図4は、オーケストレーションツール35が用いられる場合のコンテナ36の動作環境となるMEC16の概略構成図である。なお、この図に示されるコンテナの数などは一例である。
オーケストレーションツール35は、コンテナエンジン34が割り当てるハードウェアリソースを管理する。オーケストレーションツール35により管理される論理的な空間は、クラスタと称される。本実施形態においては、オーケストレーションツール35は、MEC16のハードウェアリソースを用いてクラスタを形成する。
オーケストレーションツール35は、コンテナ36の実行環境の管理を、ノード41と称される単位で行う。同時に、オーケストレーションツール35によって、ノード41の全体の動作を管理するマスタ42が設けられる。
ノード41においては、この図の例においては、2つのポッド411がデプロイされている。ポッド411は、複数のコンテナ36からなる所定のサービスを実現する機能ブロックであり、この図の例では、ポッド411は、2つのコンテナ36を有する。ポッド411は、オーケストレーションツール35によってコンテナ36を管理する単位となる。ノード41内におけるポッド411の全体の動作は、ポッド管理ライブラリ412により制御される。
ポッド管理ライブラリ412は、論理的に割り当てられたハードウェアリソースをポッド411(コンテナ36)に使用させるためのコンテナランタイム4121、マスタ42からの制御を受け付けるエージェント4122、及び、ポッド411間やノード41とマスタ42との間などの通信を行うネットワーク(NW)プロキシ4123などを有する。このような構成を備えるポッド管理ライブラリ412によって、ポッド411は、同一のノード41内のポッド411や、他のノード41のポッド411などと相互に通信しながら、ハードウェアリソースを用いて、所定の機能を実現する。
マスタ42は、ポッド411のデプロイを行うアプリサーバ421、アプリサーバ421によるコンテナ36のデプロイ状況を管理するマネージャ422、いずれのノード41にコンテナ36を配置するかを決定するスケジューラ423、及び、データの共有を行うデータ共有部424などを含む。なお、マスタ42は、ポッド411がオーケストレーションされるエッジシステム10の運用中においては、クラスタを構成する各ノード41における処理負荷が一定となるようにポッド411の削除やデプロイを行うことができるので、高メンテナンス性を実現することができる。
図5は、複合機12の設定に用いられるプロファイル構成を示す表である。なお、このプロファイル構成は一例であって、他の情報が含まれていてもよい。
この図では、複合機12に関するプロファイル構成として、複合機12を構成するMEC16、作業機器17、及び、センサ18に関するハードウェア情報が示されている。
MEC16に関する情報には、CPU(制御部21)やメモリ(記憶部22)などの一般的なハードウェア情報に加えて、インストールされているOS、オーケストレーションソフト、コンテナエンジンなどの情報が含まれる。なお、OS、オーケストレーションソフト、コンテナエンジンは、初期段階においてMEC16にインストールされていないことがある。
作業機器17に関する情報には、機器種別や、どの作業工程で使用されるかが示されている。この例においては、ベルトコンベアによる工程1-2に用いられることが示されている。
センサ18に関する情報には、センサの種類やその仕様(スペック)が示されている。この例においては、振動センサであり3次元での計測が可能であることが示されている。
なお、複合機12が、作業機器17やセンサ18を有していない場合には、プロファイル構成においてはそれらの構成は記載されておらず、作業機器17やセンサ18などを備えていないことが示されている。
図6は、設定サーバによるMEC16の初期設定等における設定制御を示すフローチャートである。この設定制御は、イメージレジストリ15とMEC16とが相互に連携して行われる。なお、MEC16は、設定制御の前においてはOS等がインストールされていない状態であるが、PXE(Preboot eXecution Environment)機能などを用いて自律的に動作する設定サーバを備えているものとする。設定サーバは、MEC16に対してネットワークインターフェースを経由してブートローダを起動させて、所定の設定制御を行わせることができる。このような構成において、MEC16は、設定サーバが主体となってイメージレジストリ15からデータを取得して、MEC16内のローカル環境において動作環境を構築する。
ステップS601において、設定サーバは、記憶しているプロファイル構成に基づいて、MEC16における必要なイメージファイルを判断する。
MEC16がOS、オーケストレーションソフト、コンテナエンジンなどが未搭載である場合には、設定サーバは、これらのプログラムが必要であると判断する。また、これらのプログラムが最新のバージョンでない場合には、設定サーバは、最新のプログラムへのアップデートプログラムが必要と判断する。同様に、設定サーバは、作業機器17の種別や工程に応じた制御プログラムや、センサ18の種類や仕様に応じた解析プログラムなどを実行するポッド411を、MEC16にデプロイする必要があると判断する。また、設定サーバは、MEC16のCPUやメモリなどのハードウェア31の構成に応じて、必要ファイルを適宜判断する。
ステップS602において、設定サーバは、イメージレジストリ15とMEC16との間に通信リンクを確立する。
ステップS603において、設定サーバは、ステップS601において判断された必要なイメージファイルのうち、ブートローダやBIOSなどの主にハードウェア31の制御に用いるソフトウェアに関するイメージファイルを、イメージレジストリ15に要求する。
ステップS604において、イメージレジストリ15は、設定サーバからの要求に応じたイメージファイルを、MEC16に送信する。この処理により、イメージレジストリ15においても、MEC16で用いられるプログラムが認識される。
ステップS605において、設定サーバは、ステップS601において判断された必要なOSのイメージファイルを選択すると、ステップS606において、そのイメージファイルをイメージレジストリ15に要求する。
ステップS607において、イメージレジストリ15は、設定サーバからの要求に応じたOSのイメージファイルを、MEC16に送信する。この処理により、イメージレジストリ15においても、MEC16で用いられるプログラムが認識される。
ステップS608においては、MEC16は、ステップS604において送信されたハードウェア31の制御に関するイメージファイルに加えて、OSのインストールを行う。そして、MEC16は、そのローカル環境においてファームウェア及びOSのインストールが完了すると、ステップS609において、設定サーバにOSのインストールの完了の通知を送信する。
なお、MEC16のOSが最新である場合には、ステップS606~S609の処理は省略され、MEC16のOSが最新ではない場合には、設定サーバは、OSのバージョンアップに必要なイメージファイルを送信する。
ステップS610において、設定サーバは、MEC16に必要なオーケストレーションツール、及び、機械学習エンジン等を選択すると、ステップS611において、イメージレジストリ15に対して、これらのイメージファイルを要求する。
そして、イメージレジストリ15は、ステップS612において、MEC16にオーケストレーションツールを送信し、ステップS613において、MEC16に機械学習エンジン等に関するイメージファイルを送信する。
ステップS614において、MEC16は、そのローカル環境においてオーケストレーションツール、及び、機械学習エンジン等のインストールが完了すると、ステップS615において、設定サーバに、オーケストレーションツール、及び、機械学習エンジンのインストールの完了を通知する。
ステップS616において、設定サーバは、MEC16に必要なポッド411を選択すると、ステップS617において、イメージレジストリ15に対して、これらのイメージファイルを要求する。
そして、ステップS618において、イメージレジストリ15は、要求されたイメージファイルをMEC16に送信すると、ステップS619において、ポッド411がデプロイされる。そして、ステップS620において、設定サーバは、ポッドのデプロイ状態をイメージレジストリ15に送信する。このようにして、図4に示されるような、オーケストレーションツール35が用いられる場合のコンテナ36の動作環境が構築される。
なお、本実施形態においては、設定ファイルは、MEC16に記憶されたがこれに限らない。設定ファイルは、ネットワーク側においてイメージレジストリ15に記憶されていてもよい。このような場合には、MEC16の設定サーバは、イメージレジストリ15との通信の確立後に、イメージレジストリ15の記憶する設定ファイルに基づいて、環境設定を行ってもよい。
このようにして、エッジシステム10においては、MEC16に記憶されているプロファイル構成に基づいて、イメージレジストリ15から必要なイメージファイルがMEC16にインストールされることで、設定処理を行うことができる。
このような設定処理は、エッジシステム10の初期状態における設定に限られず、設定変更時に行われてもよい。すなわち、MEC16に記憶されているプロファイル構成が修正されると、MEC16が備える設定サーバが主体となって、イメージレジストリ15から必要なイメージを取得し、そのローカル環境にインストールを行う。設定変更において一部の機能を変更前のシステム構成から流用できる場合には、新たにイメージレジストリ15からのイメージを再取得する必要がないので、処理負荷や通信負荷を軽減することができる。また、OSやオーケストレーションツールの欠陥が見つかった場合に、OSやオーケストレーションツールの再インストール処理を、この設定処理により行ってもよい。
また、上述の設定制御では、設定処理はMEC16内に設けられる設定サーバは、OSやミドルウェアがインストールされていない状態で自律的に動作するものとしたが、これに限らない。エッジシステム10の設定変更時においては、設定サーバと同等の機能を、ポッド411により実現してもよい。設定サーバの機能を有するポッド411は、設定変更時においてはコンテナ36に加え、コンテナエンジン34やオーケストレーションツール35を変更できる。さらに、設定サーバの機能を有するポッド411は、OSやミドルウェア上におけるメモリ操作とは異なり、物理アドレスを直接的に指定することにより、オペレーションシステム32やハードウェア31に関するプログラムの更新を行うことができる。
図7には、本実施形態における設定処理により設定されるプログラムの一覧が示されている。この図に示されるように、設定サーバによって、大きく、アプリケーションと、ミドルウェア/プラットフォームとについて設定制御がなされる。
アプリケーションには、一般的なアプリケーションに加えて、機械学習(AI, ML(Machine Learning)、例えば、TensorFlow, Caffe2, PyTorch等)、ブロックチェーン(Blockchain、例えば、Ethereum, Hyperledger等)、メッセージサービス(Messaging、例えば、Kafka, Elastic Search, Logstash, Kibana等)、認証サービス(Authentication、例えば、OpenLDAP, OpenID等)が含まれる。
ミドルウェア/プラットフォームには、アプリケーションフレームワーク(App Framework、例えば、React JS, React Native, .Net Core, Spring等)、サービスのルーティングを行う機能ブロック(Service Broker, API Gateway、例えば、API Management Software等)、データベース(DB(Database)、例えば、MySQL, MongoDB, SQLite等)、システム環境の継続的な自動化と継続的な監視を行う機能ブロック(CI/CD、例えば、Concource CI等)、コンテナエンジン、コンテナオーケストレーションツール(Container, Container Orchestration、例えば、Docker, Kubernetes等)、スクリプト型プログラミング言語(Programming Language、例えば、Python, Node.js, Javascript(登録商標), Go, C#, C++等)、インフラストラクチャ管理を行う機能ブロック(Infrastructure Management、例えば、OpenStack, Terraform, VMware, KVM, VirtutalBox等)、回路等用のファームウェア(Circuit, Onboarding、例えば、FPGA, GPU-CUDA等)、オペレーティングシステム(OS、例えば、Linux(登録商標), Kernel等)が含まれる。
これらの図7に示されるソフトウェアは、初期設定や設定変更時等において、設定ファイルに示されるプロファイル構成に従って、設定サーバによってデプロイすることができる。
第1実施形態によれば以下の効果を得ることができる。
第1実施形態のエッジシステム10によれば、MEC16が有する設定サーバは、設定情報に基づいてMEC16の設定に必要なプログラムを判断し、必要と判断されたプログラムに応じたイメージをイメージレジストリ15から取得する。そして、取得されたイメージを用いて、MEC16のプログラムが設定される。このような構成となることで、MEC16の設定は設定情報だけを用いればよいことになるので、複数のソフトウェアをインストールするための工数は不要になり、設定誤りなどの生じるおそれを低減することができる。
また、第1実施形態のエッジシステム10によれば、MEC16と一体となってセンサ18が設けられており、設定情報にはセンサ18に関する情報が記憶されている。エッジシステム10においては、種々のセンサ18が用いられており、その制御プログラムは異なる。しかしながら、設定情報にセンサ18の情報を記憶することにより、センサ18が必要とする制御プログラムをMEC16にインストールすることができるので、初期設定の工数を低減することができる。また、設定変更時においては、プロファイル構成の修正を行うことによりMEC16のプログラムの更新を行うことができるので、設定の管理が容易になる。
なお、本実施形態においては、エッジシステム10が、MEC16と、作業機器17、及びセンサ18を備える複合機12から構成されものとして説明したが、本発明はこのような構成に限定されない。従って、MEC16のみを備えるエッジシステム10として構成してもよいし、MEC16と他の任意の構成との組合せとして複合機12を構成してもよい。また、同一の又は異なるそれらの複合機12を複数備えるシステムとして構成してもよい。
(第2実施形態)
第1実施形態においては、1つの複合機12によって構成されるエッジシステム10について説明したが、これに限らない。本実施形態においては、親子関係を構成する複数の複合機12によって構成されるエッジシステム10について説明する。
第1実施形態においては、1つの複合機12によって構成されるエッジシステム10について説明したが、これに限らない。本実施形態においては、親子関係を構成する複数の複合機12によって構成されるエッジシステム10について説明する。
図8は、本発明の実施形態に係るエッジシステムを備える監視システムの構成を示すブロック図である。
この図に示されるように、エッジシステム10は、通信や制御などの複数の機能を実現する複合機12により構成されている。エッジシステム10においては、親機である第1世代の第1複合機12Aに対して、子機となる第2世代の第2複合機12B、及び、第3複合機12Cが接続され、さらに、第2複合機12Bには孫機である第3世代の第4複合機12Dが接続されている。
なお、本実施形態においては、親機、子機、及び、孫機の3世代の複合機12によってエッジシステム10が構成される例を説明するが、任意の世代数の複合機12によってエッジシステム10を構成してもよい。また、エッジシステム10を構成する複合機12の数も任意である。
図9は、複合機12の詳細な構成を示す図である。この図によれば、MEC16内にイメージレジストリ81が設けられている。そして、このイメージレジストリ81は、クラウド上のイメージレジストリ15と同等の機能を有し、必要なイメージファイルを記憶する。
以下においては、親機であるMEC16Aのイメージレジストリ81Aに記憶されているイメージを用いて、子機であるMEC16Bの初期設定を行う例について説明する。
図10は、設定サーバに記憶される複合機12のプロファイル構成を示す表である。なお、このプロファイル構成は一例であって、他の情報が含まれていてもよい。以下においては、MEC16Aのイメージレジストリ81Aが、ローカル環境の構成に必要な全てのイメージファイルを記憶している例について説明するが、MEC16A~16Dが、それぞれにおいてプロファイル構成を記憶していてもよい。
この図では、複合機12A~12Dに関するプロファイル構成として、複合機12を構成するMEC16、作業機器17、及び、センサ18に関するハードウェア情報が示されている。複合機12A~12Dに関するそれぞれの情報は、第1実施形態の図5に示されたプロファイル構成と同等のものである。
図11は、親機であるMEC16Aによる子機であるMEC16Bの設定について説明する。なお、この処理の前段において、MEC16Aのイメージレジストリ81Aには、ローカル環境の構成に必要な全てのイメージファイルを記憶しているものとする。すなわち、第1実施形態の設定制御におけるイメージレジストリ15とMEC16との間と同等の処理が、第2実施形態の設定制御においては、MEC16Aのイメージレジストリ81Aと、MEC16Bとの間において行われる。
この設定制御においては、ステップS1101~S1120の処理は、第1実施形態における図6に示される設定制御のステップS601~S620に相当する。なお、MEC16A~MEC16Dのプロファイル構成は、MEC16Aにおいて一元管理されているので、MEC16Bは、ステップS1101においてMEC16Aから自身に関するプロファイル構成を取得する。
このように構成することで、それぞれのMEC16Bにおいて、プロファイル構成に基づいて、必要なイメージファイルをMEC16A内のイメージレジストリ81Aから取得し、そのイメージファイルを用いた設定を行うことができる。
MEC16Bは、自身の有するイメージレジストリ81Bに設定に必要なイメージファイルを記憶しているので、例えば、一部の機能が故障して再インストールや再デプロイが必要な場合には、他のMEC16Aのイメージレジストリ81Aや、ネットワーク上のイメージレジストリ15と通信する必要がない。そのため、再インストールや再デプロイに要する時間の短縮化を図ることができる。
また、図11に示されたステップS1101~S1120の処理はこの例の順に行われる必要はなく、これらの処理の順序を変更してもよい。一例としては、MEC16Bは、まず、必要なイメージの判断(S1101)、OSの選択(S1105)、オーケストレーションツール、機械学習エンジンの選択(S1110)、ポッド411の選択(S1116)を行う。そして、MEC16Bは、通信の確立(S1102)をした後に、イメージの要求(S1103)、OSイメージの要求(S1106)、オーケストレーションツール、機械学習エンジンの要求(S1111)、ポッド411の要求(S1117)を行う。MEC16Aは、これらの要求に応じて、必要なイメージの送信(S1104)、OSイメージの送信(S1107)、オーケストレーションツールの送信(S1112)、機械学習エンジンの送信(S1113)、ポッド411の送信(S1118)を行う。そして、MEC16Bは、これらのイメージを取得すると、OSのインストール(S1108)、オーケストレーションツール、機械学習エンジンのインストール(S1114)、ポッド411のデプロイ(S1119)を行い、それらの完了通知(S1109、S1105)を行う。最終的に、MEC16Bの設定サーバは、ポッド411の配置状態をMEC16Aに送信する(S1120)。
このように構成することで、選択処理(S1101、S1105、S1110、S1116)、要求処理(S1103、S1106、S1111、S1117)、送信処理(S1104、S1107、S1112、S1113、S1118)、及び、インストール処理(S1108、S1114、S1119)を、それぞれにおいて集中的にまとめて行うことで、設定制御の短時間化を図ることができる。
第2実施形態によれば、以下の効果を得ることができる。
第2実施形態のエッジシステム10は、複数の親子関係のMEC16を有しており、それぞれのMEC16はイメージレジストリ81を有している。このような構成となることにより、子機であるMEC16Bは、初期設定において必要なファイルを親機であるMEC16Aから取得する。したがって、例えば、子機であるMEC16Bにおいて一部の機能が故障して再インストールや再デプロイが必要な場合には、親機であるMEC16Aのイメージレジストリ81Aや、ネットワーク上のイメージレジストリ15と通信する必要がないので、再インストールや再デプロイに要する時間の短縮化を図ることができる。
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
10 エッジシステム
11 ローカル環境
12 複合機
15、81 イメージレジストリ
16 MEC(エッジ端末)
17 作業機器
18 センサ
100 監視システム
11 ローカル環境
12 複合機
15、81 イメージレジストリ
16 MEC(エッジ端末)
17 作業機器
18 センサ
100 監視システム
Claims (10)
- オーケストレーション技術により論理的に割り当てたハードウェアリソースを用いてコンテナを動作させることにより所定の機能を実現するエッジ端末により構成されるエッジシステムであって、
前記エッジ端末は、
所定の設定情報に基づいて、対応するイメージを、イメージレジストリから取得し、
取得した前記イメージを用いて、前記エッジ端末へとデプロイを行い設定処理を行う、エッジシステム。 - 前記エッジ端末は、さらに、所定機能を備えた機器を備え、
前記設定情報は、前記機器に関する情報を含む、請求項1に記載のエッジシステム。 - 請求項2に記載のエッジシステムであって、
前記機器は、センサであり、
前記エッジ端末は、前記センサに応じたイメージを用いて、デプロイを行う、エッジシステム。 - 請求項1乃至3のいずれか1項に記載のエッジシステムであって、
前記イメージレジストリは、前記エッジシステムとネットワークを介して接続される、エッジシステム。 - 請求項1乃至4のいずれか1項に記載のエッジシステムであって、
前記エッジシステムは、複数の前記エッジ端末により構成され、
前記イメージレジストリは、前記エッジ端末が有する、エッジシステム。 - 請求項5に記載のエッジシステムであって、
一の前記エッジ端末は、
前記設定情報に基づいて、他の前記エッジ端末が有する前記イメージレジストリから取得する、エッジシステム。 - 請求項6に記載のエッジシステムであって、
前記一のエッジ端末と前記他のエッジ端末とは親子関係にある、エッジシステム。 - オーケストレーション技術により論理的に割り当てたハードウェアリソースを用いてコンテナを動作させることにより所定の機能を実現するエッジ端末により構成されるエッジシステムの制御方法であって、
前記エッジ端末は、
所定の設定情報に基づいて対応するイメージを、イメージレジストリから取得するステップと、
取得した前記イメージを用いて、前記エッジ端末へとデプロイを行い設定処理を行うステップと、有するエッジシステムの制御方法。 - オーケストレーション技術により論理的に割り当てたハードウェアリソースを用いてコンテナを動作させることにより所定の機能を実現するエッジ端末により構成されるエッジシステムの制御方法の制御に用いられるコンピュータプログラムであって、
前記コンピュータプログラムは、前記エッジ端末に対して、
所定の設定情報に基づいて対応するイメージを、イメージレジストリから取得させるステップと、
取得した前記イメージを用いて、前記エッジ端末へとデプロイを行わせ設定処理を行わせるステップと、を有する、エッジシステムの制御に用いられるコンピュータプログラム。 - オーケストレーション技術により論理的に割り当てたハードウェアリソースを用いてコンテナを動作させることにより所定の機能を実現するエッジ端末により構成されるエッジシステムの制御方法の制御に用いられるコンピュータプログラムを格納した記録媒体であって、
前記コンピュータプログラムは、前記エッジ端末に対して、
所定の設定情報に基づいて対応するイメージを、イメージレジストリから取得させるステップと、
取得した前記イメージを用いて、前記エッジ端末へとデプロイを行わせ設定処理を行わせるステップと、を有する、コンピュータプログラムを格納した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/595,972 US20220206776A1 (en) | 2019-07-02 | 2020-04-16 | Edge system and method for controlling edge system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019123697A JP6792125B1 (ja) | 2019-07-02 | 2019-07-02 | エッジシステム、エッジシステムの制御方法、エッジシステムの制御に用いるコンピュータプログラム、及び、その記録媒体 |
JP2019-123697 | 2019-07-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021002086A1 true WO2021002086A1 (ja) | 2021-01-07 |
Family
ID=73455272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/016782 WO2021002086A1 (ja) | 2019-07-02 | 2020-04-16 | エッジシステム、エッジシステムの制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220206776A1 (ja) |
JP (1) | JP6792125B1 (ja) |
WO (1) | WO2021002086A1 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190199830A1 (en) * | 2017-12-22 | 2019-06-27 | Virtuosys Limited | Edge Computing System |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6914749B2 (ja) * | 2017-06-29 | 2021-08-04 | キヤノン株式会社 | サーバ装置、情報処理装置、および制御方法 |
JP6572330B2 (ja) * | 2018-01-26 | 2019-09-04 | 株式会社インテック | ロボットアプリケーション管理装置、システム、方法及びプログラム |
US10922123B2 (en) * | 2018-12-12 | 2021-02-16 | Microsoft Technology Licensing, Llc | Container migration in computing systems |
-
2019
- 2019-07-02 JP JP2019123697A patent/JP6792125B1/ja active Active
-
2020
- 2020-04-16 US US17/595,972 patent/US20220206776A1/en not_active Abandoned
- 2020-04-16 WO PCT/JP2020/016782 patent/WO2021002086A1/ja active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190199830A1 (en) * | 2017-12-22 | 2019-06-27 | Virtuosys Limited | Edge Computing System |
Non-Patent Citations (1)
Title |
---|
HABARA, TAKUYA ET AL: "Container integration to realize dynamic function deployment of loT data collection platform.", THE PAPERS OF TECHNICAL MEETING ON INSTRUMENTATION AND MEASUREMENT, 20 June 2019 (2019-06-20), pages 29 - 34 * |
Also Published As
Publication number | Publication date |
---|---|
US20220206776A1 (en) | 2022-06-30 |
JP6792125B1 (ja) | 2020-11-25 |
JP2021010130A (ja) | 2021-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11656852B2 (en) | System and method for autowiring of a microservice architecture | |
EP3944082A1 (en) | Extending the kubernetes api in-process | |
JP2020536321A (ja) | 環境要件に基づくコンテナのデプロイメント | |
US10678975B2 (en) | Code module selection for device design | |
US11528186B2 (en) | Automated initialization of bare metal servers | |
CN115965517B (zh) | 图形处理器资源管理方法及装置、电子设备和存储介质 | |
US20130263112A1 (en) | Deployment and hosting of platform independent applications | |
US11403147B2 (en) | Methods and apparatus to improve cloud management | |
WO2021002084A1 (ja) | システム、システムの制御方法 | |
WO2021002086A1 (ja) | エッジシステム、エッジシステムの制御方法 | |
JP7461521B1 (ja) | コンピュータにおいてターゲットドライバを構築及びインストールする方法 | |
US12067380B2 (en) | System and method of offloading and migrating management controller functionalities using containerized services and application thereof | |
CN114860401B (zh) | 异构云桌面调度系统、方法、服务系统、装置及介质 | |
EP4213468A1 (en) | Automated deployment of control nodes at remote locations | |
US20150222485A1 (en) | Dynamic server configuration and initialization | |
CN109962788B (zh) | 多控制器调度方法、装置和系统及计算机可读存储介质 | |
WO2013114829A1 (ja) | 情報処理システム、データセンタ、システム移行方法、及び、プログラム | |
EP4345615A1 (en) | Storage resource management method, apparatus, and system for container cluster | |
US20240329960A1 (en) | Updating image files | |
US20240095006A1 (en) | Image assembly | |
KR101959561B1 (ko) | 네트워크 가상화 관리 서버 및 이를 이용한 네트워크 가상화 관리 방법 | |
JP7040484B2 (ja) | 制御システム、サポート装置、およびサポートプログラム | |
NL2015064B1 (en) | A computing platform system arranged for executing a plurality of processes and a method for handling processes in one of a plurality of connected computing platforms comprised in a computing platform system. | |
WO2024118056A1 (en) | Cloud initiated bare metal as a service for on-premises servers | |
CN116107688A (zh) | 部署应用的方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20835652 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20835652 Country of ref document: EP Kind code of ref document: A1 |