WO2021260932A1 - 分散システム、通信端末、機能復旧方法、及びプログラム - Google Patents

分散システム、通信端末、機能復旧方法、及びプログラム Download PDF

Info

Publication number
WO2021260932A1
WO2021260932A1 PCT/JP2020/025306 JP2020025306W WO2021260932A1 WO 2021260932 A1 WO2021260932 A1 WO 2021260932A1 JP 2020025306 W JP2020025306 W JP 2020025306W WO 2021260932 A1 WO2021260932 A1 WO 2021260932A1
Authority
WO
WIPO (PCT)
Prior art keywords
image file
communication terminal
functional module
divided image
module
Prior art date
Application number
PCT/JP2020/025306
Other languages
English (en)
French (fr)
Inventor
太地 羽角
成佳 島
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US18/010,969 priority Critical patent/US20230222027A1/en
Priority to JP2022532217A priority patent/JP7468652B2/ja
Priority to PCT/JP2020/025306 priority patent/WO2021260932A1/ja
Publication of WO2021260932A1 publication Critical patent/WO2021260932A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures

Definitions

  • the present invention relates to a distributed system, a communication terminal, a function recovery method, and a program capable of recovering the function of a communication terminal in an abnormal operation state.
  • a communication terminal constituting a distributed system has only the minimum necessary computational resources and storage from the viewpoint of cost and the like. Further, the communication terminal has only a low-speed communication path for connection with the Internet or a cloud server, or only communicates with a specific terminal (for example, an edge server) in the distributed system.
  • Patent Document 1 when a device in IoT is attacked by an attack such as hacking and a malicious application or a malicious file is introduced into the area of the device, the area is restarted and the malicious application or the file is detected. It is described that the area is repaired by deleting it.
  • Microsoft's BranchCache® has a distributed cache of files that, according to the technology, once a device obtains content from a server, it also obtains content obtained by that device from nearby devices. It is possible to reduce the network bandwidth.
  • Patent Document 1 also does not mention such a problem.
  • An object of the present invention is a distributed system, a communication terminal, and a function recovery method that enable rapid function recovery when a communication terminal constituting the distributed system is in an operating state different from the design or operation intention. , And to provide the program.
  • the distributed system is a distributed system in which one or more communication terminals, one or more storage devices, and an edge server communicate with each other via a network, and the communication terminal is a functional module in an abnormal operating state. Is detected, the abnormal operation state is notified to the edge server, the edge server generates an image file corresponding to each of the functional module and the related functional module, and a plurality of the generated image files are divided. A divided image file is generated, and the plurality of divided image files are transmitted to the storage device, and the storage device stores the divided image file, and in response to a request from the communication terminal, the functional module and the said.
  • the divided image file corresponding to the related function module is transmitted to the communication terminal, and the communication terminal combines the plurality of divided image files acquired from the storage device to generate the image file, and the generated image is generated. It is characterized in that the functional module and the related functional module are activated based on the file.
  • the communication terminal is a communication terminal constituting a distributed system, and is a module diagnostic means for diagnosing the operating state of a plurality of functional modules and detecting the functional module in the abnormal operating state, and the abnormal operation.
  • a module disposal means for stopping the operation of the functional module in the state and discarding the functional module, and a plurality of divided images obtained by dividing an image file corresponding to the functional module and generated so as to eliminate the abnormal operating state.
  • a divided image file combining means for acquiring a file and combining the plurality of divided image files, and a module starting means for activating the functional module based on the image file generated by combining the plurality of divided image files. It is characterized by having.
  • the function recovery method is a function recovery method of a distributed system in which one or more communication terminals, one or more storage devices, and an edge server communicate with each other via a network, and the communication terminal operates abnormally.
  • a notification step that detects a functional module in a state and notifies the edge server of the abnormal operation state, and the edge server generates an image file corresponding to each of the functional module and the related functional module, and the generated image file is generated.
  • the image file is generated by combining the divided image files of the above, and the function module and the related function module are activated based on the generated image file.
  • the program according to one aspect of the present invention causes the computer to function as the communication terminal.
  • a distributed system, a communication terminal, and a function recovery method that enable rapid function recovery when a communication terminal constituting the distributed system is in an operating state different from the design or operation intention.
  • the program can be provided. It should be noted that according to the present invention, other effects may be produced in place of or in combination with the effect.
  • FIG. 1 is a schematic diagram of a distributed system according to the first embodiment.
  • the distributed system 100 includes one or more communication terminals 101, one or more storage devices 102, and one or more edge servers 103.
  • the solid line in the figure indicates a connection path, and the communication terminal 101, the storage device 102, and the edge server 103 are communicably connected via a wired or wireless network as shown by the solid line in the figure.
  • one or more obstacles 104 may exist between the communication terminal 101, the storage device 102, and the edge server 103.
  • the edge server 103 may also be connected to a cloud server 105 that realizes cloud computing.
  • the distributed system may be a cyber physical system.
  • the communication terminal 101 can be a terminal constituting the IoT equipped with a sensor or the like.
  • the edge server 103 can realize edge computing that enables processing of the generated data in the vicinity of the communication terminal 101 that generates the data.
  • the number of communication terminals 101, storage devices 102, and edge servers 103 is not limited to the numbers shown. Details of each component will be described later.
  • FIG. 2 is a module configuration diagram of the communication terminal 101 according to the first embodiment.
  • the module refers to a component in which each function of the communication terminal 101 is logically separable by software, hardware, or a combination thereof. Modules are also referred to as functional modules.
  • the communication terminal 101 includes one or more modules 1 to n.
  • the communication terminal 101 can diagnose the operating state of one or more modules 1 to n by the module diagnosis function 201 of the host OS 202. Specifically, in the module diagnosis function 201, one or more modules 1 to n are in an operating state (hereinafter, also referred to as an abnormal operating state) different from the design or operational intention based on the system information described later. It can be determined whether or not.
  • an operating state hereinafter, also referred to as an abnormal operating state
  • FIG. 3 is a functional configuration diagram of the communication terminal 101 according to the first embodiment.
  • the communication terminal 101 includes a system information acquisition unit 301, a system information storage unit 302, a module diagnosis unit 303, a module disposal unit 304, an incident report transmission unit 305, a divided image file acquisition unit 306, and a divided image file storage unit. It has a unit 307, a divided image file combining unit 308, and a module starting unit 309.
  • the system information acquisition unit 301 acquires the system information related to the distributed system 100 from the edge server 103.
  • the system information storage unit 302 holds the system information related to the distributed system 100 acquired by the system information acquisition unit 301.
  • the module diagnosis unit 303 diagnoses the operating state of each module operating on the communication terminal 101 based on the system information held in the system information storage unit 302, and detects the module in the abnormal operating state.
  • the module disposal unit 304 discards the module in the abnormal operating state detected by the module diagnosis unit 303. Disposal means deletion from the communication terminal 101.
  • the module disposal unit 304 deletes the target module together with the data used by the module from the communication terminal 101 together with the module. Further, the target of disposal includes not only the module in the abnormal operation state but also the related module (also referred to as the related function module) related to the module.
  • the incident report transmission unit 305 transmits incident information indicating the content of the abnormal state, such as the name, version, violation policy type, and log of the module in the abnormal operating state, to the edge server 103 as an incident report.
  • incident reports are used to notify the abnormal operating status of modules.
  • An incident is an event that may pose a threat in terms of security.
  • the divided image file acquisition unit 306 acquires the divided image file obtained by dividing the updated image file corresponding to the target module from the storage device 102.
  • the divided image file acquisition unit 306 may acquire the divided image file from one or more storage devices 102 existing in the vicinity of the communication terminal 101.
  • the one or more storage devices 102 existing in the vicinity can be one or more storage devices 102 capable of directly establishing a communication link with the communication terminal 101.
  • one or more storage devices 102 existing in the vicinity may be determined according to the number of hops with respect to the communication terminal 101.
  • the target storage device 102 may be determined by determining whether or not the number of hops for the communication terminal 101 is equal to or less than a predetermined number of hops.
  • the number of hops refers to the number of intermediate devices that must pass between the destination and the source.
  • the divided image file acquisition unit 306 may download each of the plurality of divided image files in parallel.
  • the divided image file storage unit 307 holds the divided image file acquired by the divided image file acquisition unit 306.
  • the divided image file combining unit 308 acquires the divided image file from the divided image file storage unit 307, combines the divided image files for the image file in which all the divided image files are prepared, and generates an image file.
  • the module activation unit 309 activates the module based on the image file generated by the split image file combination unit 308.
  • the communication terminal 101 may further include other components other than these components. That is, the communication terminal 101 may perform operations other than the operations of these components.
  • the communication terminal 101 includes a sensor (not shown) and can be configured to transmit the data acquired by the sensor to the edge server 103 or the cloud server 105.
  • the two edge servers 103 are shown in the figure, they can be the same edge server.
  • FIG. 4 is a functional configuration diagram of the storage device 102 according to the first embodiment.
  • the storage device 102 includes a system information acquisition unit 401, a system information storage unit 402, a divided image file receiving unit 403, a divided image file storage unit 404, a file request acquisition unit 405, and a divided image file search unit 406. It also has a divided image file transmission unit 407.
  • the storage device 102 is a device provided for holding a divided image file in the distributed system 100. Since the communication terminal 101 generally does not have sufficient resources to hold a large number of divided image files, the distributed system 100 in the present embodiment holds a large number of divided image files by the storage device 102. Is configured to be possible. Further, the divided image files of a plurality of communication terminals 101 may be retained.
  • the system information acquisition unit 401 acquires the system information related to the distributed system 100 from the edge server 103.
  • the system information storage unit 402 holds the system information related to the distributed system 100 acquired by the system information acquisition unit 401.
  • the divided image file receiving unit 403 receives the divided image file obtained by dividing the updated image file from the edge server 103.
  • the divided image file storage unit 404 holds the divided image file received by the divided image file receiving unit 403.
  • the divided image file storage unit 404 may update the corresponding existing divided image file by the newly received divided image file.
  • the file request acquisition unit 405 receives an acquisition request for the divided image file from the communication terminal 101.
  • the divided image file search unit 406 searches for and extracts a divided image file corresponding to a file request from the communication terminal 101 from one or more divided image files held by the divided image file storage unit 404.
  • the divided image file transmission unit 407 receives the divided image file extracted by the divided image file search unit 406, and transmits the received divided image file to the communication terminal 101.
  • the two communication terminals 101 and the two edge servers 103 are shown in the figure, they can be the same communication terminal and the same edge server, respectively.
  • FIG. 5 is a functional configuration diagram of the edge server 103 according to the first embodiment.
  • the edge server 103 includes a system information storage unit 501, a system information transmission unit 502, an incident report reception unit 503, an incident report storage unit 504, an image file update unit 505, an update policy storage unit 506, and an image file division. It has a unit 507, a divided image file storage unit 508, and a divided image file transmission unit 509.
  • the system information storage unit 501 holds system information related to the distributed system 100.
  • the system information transmission unit 502 transmits the system information held in the system information storage unit 501 to the communication terminal 101 and the storage device 102.
  • the incident report receiving unit 503 receives the incident report from the communication terminal 101.
  • the incident report storage unit 504 holds the incident report received by the incident report receiving unit 503.
  • the image file update unit 505 updates the image file for each target module according to the update policy held in the update policy storage unit 506. Alternatively, the image file update unit 505 updates the image file according to the operator's instruction.
  • the update policy storage unit 506 holds update policy information indicating a countermeasure when it is determined that the module is in an abnormal operation state for each module.
  • the workaround includes, for example, how to update the image file corresponding to the violation policy type of each module. The details of the update policy will be described later.
  • the image file division unit 507 divides the updated image file according to a predetermined method determined in advance. The method of dividing the image file will be described later.
  • the divided image file storage unit 508 holds the divided image file obtained from the image file division unit 507.
  • the divided image file transmission unit 509 transmits the divided image file to the storage device 102.
  • the destination storage device 102 may be a plurality of storage devices included in a preset group, and in this case, the image file can be reproduced by the divided image file transmitted to the plurality of storage devices in the group. Send each split image file.
  • the two communication terminals 101 and the two storage devices 102 are shown in the figure, they can be the same communication terminal and the same storage device, respectively.
  • FIG. 6 is a flowchart showing an operation example of the communication terminal according to the first embodiment. In the following description, detailed description of the matters already described will be omitted.
  • the system information acquisition unit 301 receives the system information from the edge server 103.
  • the system information acquisition unit 301 stores the received system information in the system information storage unit 302.
  • the module diagnosis unit 303 determines whether or not each module in the distributed system 100 is in an abnormal operating state based on the system information stored in the system information storage unit 302. If an abnormal operation state is detected, the process proceeds to S603. On the other hand, if the abnormal operation state is not detected, the process returns to S601 and the process is repeated.
  • the module disposal unit 304 discards the module in which the abnormal operation state is detected and the related module of the module.
  • the incident report transmission unit 305 transmits an incident report regarding the module in which the abnormal operation state is detected to the edge server 103.
  • the communication terminal 101 determines whether or not a response to the incident report has been received from the edge server 103. The communication terminal 101 waits until a response is received from the edge server 103. When the communication terminal 101 receives the response, the process proceeds to S606.
  • the communication terminal 101 downloads the divided image file corresponding to the discarded module from the storage device 102 and stores it in the divided image file storage unit 307.
  • the divided image file combining unit 308 combines the divided image files acquired from the divided image file storage unit 307 to generate a single image file for each module.
  • the module activation unit 309 restarts the module based on the generated image file.
  • the communication terminal 101 can quickly recover its function even when it is in an abnormal operation state.
  • FIG. 7 is a diagram showing an example of system information according to the first embodiment.
  • the illustrated system information is an example of the system information held by the communication terminal 101 in the system information storage unit 302.
  • FIG. 7A shows the relationship between the terminal ID (identifier) and the terminal type 702.
  • the terminal whose terminal ID is "e001” is the edge server 103.
  • the terminal whose terminal IDs are "s001” and “s002” is the storage device 102.
  • the terminals whose terminal IDs are "d001" and “d002" are communication terminals 101.
  • FIG. 7B shows its own terminal ID. In the illustrated example, it is shown that its own terminal ID is "d001".
  • FIG. 7C shows the relationship between the destination terminal ID and the terminal ID to be transferred next. For example, when the destination terminal ID is "s001", the terminal ID to be transferred next is “d001”. When the destination terminal ID is "s002", the terminal ID to be transferred next is “d002”. When the destination terminal ID is "e001", the terminal ID to be transferred next is "d002".
  • FIG. 8 is also a diagram showing an example of system information according to the first embodiment.
  • the system information shown here is also an example of the system information held by the communication terminal 101 in the system information storage unit 302.
  • FIG. 8A shows a list of modules that one should own.
  • the communication terminal 101 having the illustrated list of modules has a "login” module with a module version of "3.8.5", and the image file of the module is divided into 128 modules.
  • the communication terminal 101 has a "camera” module having a module version of "2.4.3”, and the image file of the module is divided into 36 pieces.
  • the communication terminal 101 has a "detect-person” module having a module version of "0.1.1”, and the image file of the module is divided into 521 pieces.
  • FIG. 8 (b) shows a list of cooperation modules.
  • the "camera” module with the module version "2.4.3” works with the “detect-person” module with the module version "0.1.1”.
  • the “camera” module also works with the "login” module whose module version is "3.8.5".
  • the cooperation module is also referred to as a related module.
  • FIG. 9 also shows an example of system information according to the first embodiment.
  • the system information shown here is also an example of the system information held by the communication terminal 101 in the system information storage unit 302.
  • FIG. 9 shows a rule for determining an abnormal operation of each module.
  • the policy type and its value represent the rule.
  • the policy type "valid_account” is applied to the "login” module whose module version is "3.8.5", and its value is "userA”. This indicates that the valid account that uses the module is “userA”.
  • the policy type "login_from” is applied to this module, and its value is "192.168.24.0/24". This indicates that it is normal if the IP address of the device that logs in to the module is in the range of 192.168.24.0 to 24.
  • the policy type "ave_trans_rate” is applied to the "camera” module whose module version is “2.4.3”, and its value is "3Mbps". This indicates that it is normal when the average communication rate of the data transmitted from the module is 3 Mbps (bit per second) or less.
  • the policy type "file_hash” is applied to the "detect-person” module whose module version is “0.1.1”, and its value is "/ etc / conf, 79a9e9766e8007d6c341c7e238045ae5". This indicates that if the hash value of the file existing in the specified directory is the specified value, it is normal.
  • the module diagnosis unit 303 may have excess or deficiency of modules or an operation that violates the policy of the module. Detect the state.
  • Module policies are defined by policy type and value for each module, as shown in FIG. For example, if the policy type is "valid_account”, the value indicates the account name "userA” that can log in to that module. If the policy type is "login_from”, the value indicates the network segment "192.168.24.0/24" that can log in to the module. When the policy type is "ave_trans_rate”, the value indicates the average bit rate "3 Mbps" of the network communication generated by the module. If the policy type is "file_hash”, the value indicates the hash value "/ etc / conf, 79a9e9766e8007d6c341c7e238045ae5" for a particular file in that module.
  • the module diagnostic unit 303 detects an operating state that violates the policy defined in advance for each module, the module is in an unintended operating state in terms of design or operation, such as a cyber attack. Judge. In this way, the module diagnosis unit 303 detects the abnormal operation of the module.
  • the module disposal unit 304 stops the operation of the module determined to be in the abnormal operation state by the module diagnosis unit 303, and discards the data for each module. For example, the module disposal unit 304 stops the container corresponding to the module and discards it as it is.
  • the module disposal unit 304 When the module is discarded, the module disposal unit 304 also refers to the cooperation module information (FIG. 8B) held in the system information storage unit 302, and recursively targets the cooperation module as well. .. By disposing of the linked module, it is possible to dispose of other modules that share files to the module that caused the abnormality and exchange configuration files and information at once.
  • FIG. 10 shows an example of the divided image file information according to the first embodiment.
  • the divided image file information is held in the divided image file storage unit 307 of the communication terminal 101, and indicates the information of the divided image file stored in the divided image file storage unit 307.
  • the illustrated split image file information indicates that the split image file with fragment numbers 1, 2, 3, ... Is stored for the "login” module whose module version is "3.8.5". Further, for the "camera” module having the module version "2.4.3", it is shown that the divided image files having the fragment numbers 1, 2, ... Are stored.
  • the fragment number indicates the number of divisions of the image file.
  • FIG. 11 is a flowchart showing an operation example of the storage device according to the first embodiment. In the following description, detailed description of the matters already described will be omitted.
  • the system information acquisition unit 401 receives the system information from the edge server 103.
  • the system information acquisition unit 401 stores the received system information in the system information storage unit 402.
  • the divided image file receiving unit 403 determines whether or not the divided image file has been received from the edge server 103. The divided image file receiving unit 403 waits until the divided image file is received, and when the divided image file is received, the process proceeds to S1103.
  • the divided image file receiving unit 403 stores the received divided image file in the divided image file storage unit 404.
  • the file request acquisition unit 405 determines whether or not the image file request has been received from the communication terminal 101.
  • the file request acquisition unit 405 waits until the image file request is received, and when the image file request is received, the process proceeds to S1105.
  • the divided image file search unit 406 searches the divided image file corresponding to the image file request from the divided image file storage unit 404.
  • the divided image file transmission unit 407 transmits the searched divided image file to the communication terminal 101.
  • the storage device 102 receives the divided image file from the edge server 103 and holds the received divided image file. Further, the storage device 102 transmits a divided image file in response to a request from the communication terminal 101.
  • FIG. 12 is a flowchart showing an operation example of the edge server according to the first embodiment. In the following description, detailed description of the matters already described will be omitted.
  • the system information transmission unit 502 transmits the system information held in the system information storage unit 501 to the communication terminal 101 and the storage device 102.
  • the incident report receiving unit 503 determines whether or not the incident report has been received from the communication terminal 101.
  • the incident report receiving unit 503 waits until the incident report is received, and when the incident report is received, the process proceeds to S1203.
  • the image file update unit 505 determines whether or not an update policy matching the contents of the received incident report exists in the update policy storage unit 506. If the update policy exists, the process proceeds to S1204, and the image file update unit 505 updates the image file according to the update policy. On the other hand, if the update policy does not exist, the process proceeds to S1205, and the operator manually updates the image file.
  • the image file division unit 507 divides the updated image file and generates a divided image file.
  • the divided image file is stored in the divided image file storage unit 508.
  • the divided image file transmission unit 509 transmits the divided image file to the storage device 102.
  • the system information transmission unit 502 transmits system information to the communication terminal 101.
  • the edge server 103 when the edge server 103 receives the incident report from the communication terminal 101, the edge server 103 updates the image file of the target module according to the update policy. Further, the edge server 103 divides the updated image file to generate a divided image file, and transmits the generated divided image file to the storage device 102.
  • FIG. 13 is a diagram showing an example of an incident report according to the first embodiment.
  • the illustrated incident report is an example of an incident report held by the edge server 103 in the incident report storage unit 504. As shown, the incident report includes the date and time of receipt, the source terminal ID, the module ID, the module version, the violation policy type, and the log.
  • FIG. 14 is a diagram showing an example of the update policy according to the first embodiment.
  • the illustrated update policy is an example of an update policy held by the edge server 103 in the update policy storage unit 506. As shown, the update policy includes the module ID, applicable version, violation policy type, and workaround.
  • the image file update unit 505 updates the image file of the target module based on the violation policy type included in the incident report of FIG. 13 according to the coping method included in the update policy of FIG. That is, the image file update unit 505 generates a new version of the image file for resolving the abnormal operation state of the target module.
  • the image file update unit 505 when the newly received incident report matches a specific update policy, the image file update unit 505 generates a new version of the image file according to the countermeasures of the update policy.
  • the operator manually updates the image file and generates a new version of the image file.
  • a divided image file may be generated at the particle size of files and directories included in the image file.
  • OCI Open Container Initiative
  • Image Format v2 which is the next standard container format, a method of reducing the image size by dividing the image file into smaller particles than the file, not by layer, is being discussed. For small updates to the image file, several KB of update data may be sent to the network.
  • FIG. 15 is a schematic block diagram showing a hardware configuration example of the computer according to the first embodiment.
  • the illustrated computer can operate as each device of the communication terminal 101, the storage device 102, and the edge server 103 constituting the distributed system of the present embodiment.
  • the computer 1500 includes a CPU 1501, a main storage device 1502, an auxiliary storage device 1503, an interface 1504, and a communication interface 1505.
  • the operation of the computer 1500 is stored in the auxiliary storage device 1503 in the form of a program.
  • the CPU 1501 reads the program from the auxiliary storage device 1503, expands it to the main storage device 1502, and executes the operation of each device described in the present embodiment according to the program.
  • Auxiliary storage 1503 is an example of a non-temporary tangible medium.
  • Other examples of non-temporary tangible media include magnetic disks, optical magnetic disks, CD-ROMs (Compact Disk Read Only Memory), DVD-ROMs (Digital Versatile Disk Read Only Memory), which are connected via interface 1504. Examples include semiconductor memory. Further, when the program is distributed to the computer 1500 by the communication line, the distributed computer 1500 may expand the program to the main storage device 1502 and operate according to the program.
  • each component of each device may be realized by a general-purpose or dedicated circuitry, a processor, or a combination thereof. These may be composed of a single chip or may be composed of a plurality of chips connected via a bus. A part or all of each component may be realized by the combination of the circuit or the like and the program described above.
  • the computer 1500 is provided with an input / output device (not shown) so that an operator or the like can perform an input / output operation.
  • input devices include mice and keyboards.
  • output device there is a display device such as a liquid crystal display.
  • the display device includes a display device provided with a touch panel and operating as an input device.
  • each function of the communication terminal 101 is modularized (using a container architecture or the like), and a plurality of storage devices 102 in which the divided image files of the modularized function group are arranged in the distributed system 102. By holding it, redundancy can be improved.
  • the communication terminal 101 can download and start an image file related to a specific function, it is a normal function even when an operation unintended in design or operation occurs in a certain function. Can be provided promptly.
  • the communication terminal 101 collects the divided image files from within the distributed system 100, it can be downloaded from the storage device via the neighboring communication terminal 101 even when the connection with the Internet is low speed, so that it is low. It enables communication cost and function recovery in a short time.
  • other communication terminals 101 having the same function can also download the modified divided image file from the storage device 102 and keep the module up-to-date (so-called speeding up of the DevSecOps cycle can be realized. can).
  • FIG. 16 is a schematic diagram of the distributed system according to the second embodiment.
  • the distributed system 1600 in this embodiment includes a communication terminal 1610, an edge server 1620, and a storage device 1630.
  • the number of communication terminals 1610, edge server 1620, and storage device 1630 is not limited to the number shown in the figure. Further, the communication terminal 1610, the edge server 1620, and the storage device 1630 are connected to each other so as to be able to communicate with each other via a wired or wireless network.
  • the communication terminal 1610 has a module diagnosis unit 1611, an incident report transmission unit 1612, a divided image file combination unit 1613, and a module activation unit 1614.
  • the module diagnosis unit 1611 detects a functional module in an abnormal operating state.
  • the incident report transmission unit 1612 notifies the edge server 1620 of the abnormal operation status.
  • the divided image file combining unit 1613 combines the divided image files acquired from the storage device 1630 to generate an image file.
  • the module activation unit 1614 activates the functional module and the related functional module based on the generated image file.
  • the edge server 1620 has an image file update unit 1621, an image file division unit 1622, and a division image file transmission unit 1623.
  • the image file update unit 1621 generates an image file corresponding to each of the functional module and the related functional module.
  • the image file division unit 1622 generates a divided image file by dividing the generated image file.
  • the divided image file transmission unit 1623 transmits the generated divided image file to the storage device 1630.
  • the storage device 1630 has a divided image file receiving unit 1631 and a divided image file transmitting unit 1632.
  • the divided image file receiving unit 1631 receives and stores the divided image file from the edge server 1620.
  • the divided image file transmission unit 1632 transmits the divided image file corresponding to the functional module and the related functional module to the communication terminal 1610 in response to the request from the communication terminal 1610.
  • Each processing unit of each of the above-mentioned devices is realized by, for example, a CPU (Central Processing Unit) of a computer that operates according to a program, and a communication interface of the computer.
  • the CPU can read a program from a program recording medium such as a program storage device of the computer, and operate as each processing unit of each of the above-mentioned devices by using a communication interface as necessary according to the program.
  • a program recording medium such as a program storage device of the computer
  • the communication terminal 1610 detects the functional module in the abnormal operation state and notifies the edge server 1620 of the abnormal operation state.
  • the edge server 1620 generates an image file corresponding to each of the functional module and the related functional module, generates a divided image file obtained by dividing the generated image file, and transmits the divided image file to the storage device 1630.
  • the storage device 1630 stores the divided image file, and transmits the divided image file corresponding to the functional module and the related functional module to the communication terminal 1610 in response to the request from the communication terminal 1610.
  • the communication terminal 1610 combines the divided image files acquired from the storage device 1630 to generate an image file, and activates a functional module and a related functional module based on the generated image file.
  • the communication terminal 1610, the edge server 1620, and the storage device 1630 in the second embodiment are the communication terminal 101, the edge server 103, and the storage device in the first embodiment, respectively. 102.
  • the description of the first embodiment may also be applied to the second embodiment.
  • the second embodiment is not limited to this example.
  • each process described in the present specification does not necessarily have to be executed in chronological order in the above-mentioned order.
  • each process may be executed in an order different from the above-mentioned order, or may be executed in parallel.
  • a part of the processing may be deleted, or further processing may be added.
  • a module) for one of the units) may be provided.
  • a method including the processing of the above components may be provided, and a program for causing the processor to execute the processing of the above components may be provided.
  • a non-transitory computer readable medium may be provided to the computer on which the program is recorded.
  • such devices, modules, methods, programs, and computer-readable non-temporary recording media are also included in the invention.
  • Appendix 1 A distributed system in which one or more communication terminals, one or more storage devices, and an edge server communicate via a network.
  • the communication terminal detects the functional module in the abnormal operation state, notifies the edge server of the abnormal operation state, and notifies the edge server of the abnormal operation state.
  • the edge server generates an image file corresponding to each of the functional module and the related functional module, generates a plurality of divided image files obtained by dividing the generated image file, and creates the plurality of divided image files.
  • Send to storage device The storage device stores the divided image file, and in response to a request from the communication terminal, transmits the divided image file corresponding to the functional module and the related functional module to the communication terminal.
  • the communication terminal combines the plurality of divided image files acquired from the storage device to generate the image file, and activates the functional module and the related functional module based on the generated image file.
  • a distributed system characterized by that.
  • Appendix 3 The distributed system according to Appendix 1 or 2, wherein when the communication terminal detects a functional module in the abnormal operating state, it transmits an incident report indicating the content of the abnormal operating state to the edge server.
  • Appendix 4 The distributed system according to Appendix 3, wherein the edge server generates the image file according to an update policy that matches the content of the incident report.
  • Appendix 6 The distributed system according to Appendix 5, wherein the neighboring storage device is a storage device capable of directly establishing a communication link with the communication terminal.
  • Appendix 7 The distributed system according to Appendix 5, wherein the neighboring storage device is determined according to the number of hops for the communication terminal.
  • a communication terminal that constitutes a distributed system
  • a module diagnostic means that diagnoses the operating status of multiple functional modules and detects functional modules that are in an abnormal operating status.
  • a module disposal means for stopping the operation of the functional module in the abnormal operation state and discarding the functional module,
  • a divided image file combining means for acquiring a plurality of divided image files obtained by dividing an image file generated so as to eliminate the abnormal operation state and combining the plurality of divided image files corresponding to the functional module.
  • a communication terminal comprising a module activation means for activating the functional module based on an image file generated by combining the plurality of divided image files.
  • Appendix 11 It is a function recovery method of a distributed system in which one or more communication terminals, one or more storage devices, and an edge server communicate via a network.
  • a notification step in which the communication terminal detects a functional module in an abnormal operation state and notifies the edge server of the abnormal operation state.
  • the edge server generates an image file corresponding to each of the functional module and the related functional module, generates a plurality of divided image files obtained by dividing the generated image file, and creates the plurality of divided image files.
  • the first transmission step to transmit to the storage device A second transmission step in which the storage device stores the divided image file and, in response to a request from the communication terminal, transmits the divided image file corresponding to the functional module and the related functional module to the communication terminal.
  • a start-up step in which the communication terminal combines the plurality of divided image files acquired from the storage device to generate the image file, and activates the functional module and the related functional module based on the generated image file.
  • a functional recovery method characterized by including and.
  • Appendix 12 A program for operating a computer as a communication terminal according to Appendix 10.
  • One embodiment of the present invention may be applied to a cyber-physical system that is a social infrastructure such as a smart city. Further, one embodiment of the present invention may be applied to a mission-critical network system in which a cyber attack from an adversary is expected.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

1以上複数の通信端末と1以上のストレージデバイスとエッジサーバとがネットワークを介して通信する分散システムであって、通信端末は、異常動作状態にある機能モジュールを検知し、エッジサーバへ異常動作状態を通知し、エッジサーバは、機能モジュール及び関連機能モジュールのそれぞれに対応するイメージファイルを生成し、生成されたイメージファイルを分割した複数の分割イメージファイルを生成して、複数の分割イメージファイルをストレージデバイスへ送信し、ストレージデバイスは、分割イメージファイルを格納し、通信端末からの要求に応じて、機能モジュール及び関連機能モジュールに対応する分割イメージファイルを通信端末へ送信し、通信端末は、ストレージデバイスから取得した複数の分割イメージファイルを結合してイメージファイルを生成し、生成されたイメージファイルに基づいて機能モジュール及び関連機能モジュールを起動する。

Description

分散システム、通信端末、機能復旧方法、及びプログラム
 本発明は、異常動作状態となった通信端末の機能を復旧させることができる分散システム、通信端末、機能復旧方法、及びプログラムに関する。
 近年、IoT(Internet of Things)やサイバーフィジカルシステムなど、分散システムの社会的な実装が進んでいる。分散システムでは、多数の通信端末が、同じ分散システム内の他の端末と有線または無線ネットワークを介して接続するように構成される。一般に、分散システムを構成する通信端末は、コスト等の観点から必要最低限の計算資源やストレージしか持たない。また、当該通信端末は、インターネットやクラウドサーバとの接続も低速度の通信経路しか持たないか、あるいは、分散システム内の特定の端末(例えば、エッジサーバなど)との通信しか行わない。
 このような通信端末が、分散システム外部からの攻撃により設計上または運用上意図しない動作状態となった場合(例えば、ボットへの感染や攻撃者のコントロール下に置かれたような場合)、オペレーターは当該通信端末を分散システムから除外し、代替として、正常な機能を提供する代わりの通信端末を配置する必要がある。また、通信端末が公共空間に配置され、当該通信端末の機能停止が社会的またはコスト的に大きな影響を与える場合には、正常な機能の提供を早急に再開しなくてはならない。
 特許文献1には、IoTにおけるデバイスがハッキングなどの攻撃を受け、不正なアプリケーションや不正なファイルが当該デバイスの領域に導入された場合、当該領域を再起動し、不正なアプリケーションや不正なファイルを削除することで、当該領域の修復を行うことが記載されている。
また、Microsoft社のBranchCache(登録商標)は、ファイルの分散キャッシュに関し、かかる技術によると、一度、デバイスがサーバからコンテンツを入手すれば、当該デバイスが入手したコンテンツを近隣のデバイスも当該デバイスから入手できるようにして、ネットワーク帯域を低減させることができる。
特開2019-057167号公報
 しかしながら、端末数の増加、物理的な距離、及び通信帯域などの要因により、オペレーターによる対応では、分散システムの迅速な機能復旧は困難である。上記特許文献1も、このような問題については言及していない。
 本発明の目的は、分散システムを構成する通信端末が、設計上または運用上の意図とは異なる動作状態となった場合に、迅速な機能復旧を可能にする分散システム、通信端末、機能復旧方法、及びプログラムを提供することにある。
 本発明の一態様による分散システムは、1以上の通信端末と1以上のストレージデバイスとエッジサーバとがネットワークを介して通信する分散システムであって、前記通信端末は、異常動作状態にある機能モジュールを検知し、前記エッジサーバへ前記異常動作状態を通知し、前記エッジサーバは、前記機能モジュール及び関連機能モジュールのそれぞれに対応するイメージファイルを生成し、前記生成されたイメージファイルを分割した複数の分割イメージファイルを生成して、前記複数の分割イメージファイルを前記ストレージデバイスへ送信し、前記ストレージデバイスは、前記分割イメージファイルを格納し、前記通信端末からの要求に応じて、前記機能モジュール及び前記関連機能モジュールに対応する分割イメージファイルを前記通信端末へ送信し、前記通信端末は、前記ストレージデバイスから取得した前記複数の分割イメージファイルを結合して前記イメージファイルを生成し、前記生成されたイメージファイルに基づいて前記機能モジュール及び前記関連機能モジュールを起動する、ことを特徴とする。
 本発明の一態様による通信端末は、分散システムを構成する通信端末であって、複数の機能モジュールの動作状態を診断し、異常動作状態にある機能モジュールを検知するモジュール診断手段と、前記異常動作状態にある機能モジュールの動作を停止させ、前記機能モジュールを廃棄するモジュール廃棄手段と、前記機能モジュールに対応し、前記異常動作状態を解消するように生成されたイメージファイルを分割した複数の分割イメージファイルを取得し、前記複数の分割イメージファイルを結合する分割イメージファイル結合手段と、前記複数の分割イメージファイルを結合して生成されたイメージファイルに基づいて、前記機能モジュールを起動するモジュール起動手段とを備えることを特徴とする。
 本発明の一態様による機能復旧方法は、1以上の通信端末と1以上のストレージデバイスとエッジサーバとがネットワークを介して通信する分散システムの機能復旧方法であって、前記通信端末が、異常動作状態にある機能モジュールを検知し、前記エッジサーバへ前記異常動作状態を通知する通知ステップと、前記エッジサーバが、前記機能モジュール及び関連機能モジュールのそれぞれに対応するイメージファイルを生成し、前記生成されたイメージファイルを分割した複数の分割イメージファイルを生成して、前記複数の分割イメージファイルを前記ストレージデバイスへ送信する第1の送信ステップと、前記ストレージデバイスが、前記分割イメージファイルを格納し、前記通信端末からの要求に応じて、前記機能モジュール及び前記関連機能モジュールに対応する分割イメージファイルを前記通信端末へ送信する第2の送信ステップと、前記通信端末が、前記ストレージデバイスから取得した前記複数の分割イメージファイルを結合して前記イメージファイルを生成し、前記生成されたイメージファイルに基づいて前記機能モジュール及び前記関連機能モジュールを起動する起動ステップとを含むことを特徴とする。
 本発明の一態様によるプログラムは、コンピュータを上記通信端末として機能させる。
 本発明によれば、分散システムを構成する通信端末が、設計上または運用上の意図とは異なる動作状態となった場合に、迅速な機能復旧を可能にする分散システム、通信端末、機能復旧方法、及びプログラムを提供することが可能になる。なお、本発明により、当該効果の代わりに、又は当該効果とともに、他の効果が奏されてもよい。
第1の実施形態に係る分散システムの概要図である。 第1の実施形態に係る通信端末のモジュール構成図である。 第1の実施形態に係る通信端末の機能構成図である。 第1の実施形態に係るストレージデバイスの機能構成図である。 第1の実施形態に係るエッジサーバの機能構成図である。 第1の実施形態に係る通信端末の動作例を示すフローチャートである。 第1の実施形態に係るシステム情報の例を示す図である。 第1の実施形態に係るシステム情報の例を示す図である。 第1の実施形態に係るシステム情報の例を示す図である。 第1の実施形態に係る分割イメージファイル情報の例を示す図である。 第1の実施形態に係るストレージデバイスの動作例を示すフローチャートである。 第1の実施形態に係るエッジサーバの動作例を示すフローチャートである。 第1の実施形態に係るインシデントレポートの例を示す図である。 第1の実施形態に係る更新ポリシーの例を示す図である。 第1の実施形態に係るコンピュータのハードウェア構成例を示す概略ブロック図である。 第2の実施形態に係る分散システムの概要図である。
 以下、添付の図面を参照して本発明の実施形態を詳細に説明する。なお、本明細書及び図面において、同様に説明されることが可能な要素については、同一の符号を付することにより重複説明が省略され得る。
 説明は、以下の順序で行われる。
 1.第1の実施形態
  1.1.システムの構成
  1.2.通信端末の構成
  1.3.ストレージデバイスの構成
  1.4.エッジサーバの構成
  1.5.通信端末の動作例
  1.6.ストレージデバイスの動作例
  1.7.エッジサーバの動作例
  1.8.ハードウェア構成
  1.9.技術的特徴
 2.第2の実施形態
  2.1.システムの構成
  2.2.動作例
 <<1.第1の実施形態>>
 <1.1.システムの構成>
 図1は、第1の実施形態に係る分散システムの概要図である。
 分散システム100は、1以上の通信端末101と、1以上のストレージデバイス102と、1以上のエッジサーバ103とを含む。図中の実線は接続経路を示し、通信端末101、ストレージデバイス102、及びエッジサーバ103は、図中の実線で示されるように、有線または無線ネットワークを介して通信可能に接続されている。また、通信端末101、ストレージデバイス102、及びエッジサーバ103の間には、1以上の障害物104が存在し得る。エッジサーバ103は、クラウドコンピューティングを実現するクラウドサーバ105にも接続され得る。分散システムは、サイバーフィジカルシステム(Cyber Physical System)であってもよい。また、通信端末101は、センサーなどを備えたIoTを構成する端末とすることができる。エッジサーバ103は、データを生成する通信端末101の近傍において、生成されたデータの処理を可能にするエッジコンピューティングを実現することができる。通信端末101、ストレージデバイス102、及びエッジサーバ103の数は、図示された数に限定されない。各構成要素の詳細は、後述する。
 <1.2.通信端末の構成>
 図2は、第1の実施形態に係る通信端末101のモジュール構成図である。モジュールとは、通信端末101の各機能を論理的に分離可能なソフトウェア、ハードウェア、またはそれらの組み合わせによって実装した部品を指す。モジュールは、機能モジュールとも称する。
 図示されるように、通信端末101は、1以上のモジュール1~nを含む。通信端末101は、ホストOS202のモジュール診断機能201によって、当該1以上のモジュール1~nの動作状態を診断することができる。具体的には、モジュール診断機能201は、後述するシステム情報に基づいて、1以上のモジュール1~nが設計上または運用上の意図とは異なる動作状態(以下、異常動作状態ともいう)にあるかどうかを判定することができる。
 図3は、第1の実施形態に係る通信端末101の機能構成図である。図示されるように、通信端末101は、システム情報取得部301、システム情報記憶部302、モジュール診断部303、モジュール廃棄部304、インシデントレポート送信部305、分割イメージファイル取得部306、分割イメージファイル記憶部307、分割イメージファイル結合部308、及びモジュール起動部309を有する。
 システム情報取得部301は、分散システム100に関するシステム情報を、エッジサーバ103から取得する。
 システム情報記憶部302は、システム情報取得部301によって取得された分散システム100に関するシステム情報を保持する。
 モジュール診断部303は、システム情報記憶部302に保持されたシステム情報に基づいて、通信端末101上で動作する各モジュールの動作状態を診断し、異常動作状態にあるモジュールを検知する。
 モジュール廃棄部304は、モジュール診断部303によって検知された異常動作状態にあるモジュールを廃棄する。廃棄とは、通信端末101からの削除を意味する。モジュール廃棄部304は、対象のモジュールを、当該モジュールが使用したデータととともにモジュールごと通信端末101から削除する。また、廃棄の対象には、異常動作状態にあるモジュールだけでなく、当該モジュールに関連する関連モジュール(関連機能モジュールとも称する)も含まれる。
 インシデントレポート送信部305は、異常動作状態にあるモジュールの名前、バージョン、違反ポリシータイプ、及びログなど、異常状態の内容を示すインシデント情報をインシデントレポートとして、エッジサーバ103へ送信する。インシデントレポートは、モジュールの異常動作状態を通知するために用いられる。なお、インシデントとは、セキュリティ上、脅威となる可能性がある事象を指す。
 分割イメージファイル取得部306は、ストレージデバイス102から、対象のモジュールに対応する更新されたイメージファイルを分割した分割イメージファイルを取得する。分割イメージファイル取得部306は、通信端末101の近隣に存在する1以上のストレージデバイス102から、分割イメージファイルを取得してもよい。近隣に存在する1以上のストレージデバイス102は、通信端末101と通信リンクを直接確立することができる1以上のストレージデバイス102とすることができる。或いは、近隣に存在する1以上のストレージデバイス102は、通信端末101に対するホップ数に応じて決定してもよい。例えば、通信端末101に対するホップ数が所定のホップ数以下であるかどうかを判定して、対象のストレージデバイス102を決定してよい。ホップ数とは、送信先と送信元との間で通過しなければならない中間デバイスの数を指す。また、分割イメージファイル取得部306は、複数の分割イメージファイルのそれぞれを並列でダウンロードしてもよい。
 分割イメージファイル記憶部307は、分割イメージファイル取得部306によって取得された分割イメージファイルを保持する。
 分割イメージファイル結合部308は、分割イメージファイル記憶部307から分割イメージファイルを取得し、全ての分割イメージファイルが揃ったイメージファイルについて分割イメージファイルを結合し、イメージファイルを生成する。
 モジュール起動部309は、分割イメージファイル結合部308によって生成されたイメージファイルをもとに、モジュールを起動する。
 なお、通信端末101は、これらの構成要素以外の他の構成要素をさらに含み得る。即ち、通信端末101は、これらの構成要素の動作以外の動作も行い得る。例えば、通信端末101は、不図示のセンサーを備え、センサーによって取得したデータをエッジサーバ103またはクラウドサーバ105に送信するように構成することができる。また、2つのエッジサーバ103が図示されているが、同じエッジサーバとすることができる。
 <1.3.ストレージデバイスの構成>
 図4は、第1の実施形態に係るストレージデバイス102の機能構成図である。図示されるように、ストレージデバイス102は、システム情報取得部401、システム情報記憶部402、分割イメージファイル受信部403、分割イメージファイル記憶部404、ファイル要求取得部405、分割イメージファイル検索部406、及び分割イメージファイル送信部407を有する。ストレージデバイス102は、分散システム100において分割イメージファイルを保持するために設けられたデバイスである。通信端末101は、一般に、多数の分割イメージファイルを保持しておくだけのリソースを有さないため、本実施形態における分散システム100は、ストレージデバイス102によって多数の分割イメージファイルを保持しておくことが可能なように構成される。また、複数の通信端末101の分割イメージファイルを保持してもよい。
 システム情報取得部401は、分散システム100に関するシステム情報を、エッジサーバ103から取得する。
 システム情報記憶部402は、システム情報取得部401によって取得された分散システム100に関するシステム情報を保持する。
 分割イメージファイル受信部403は、エッジサーバ103から、更新されたイメージファイルを分割した分割イメージファイルを受信する。
 分割イメージファイル記憶部404は、分割イメージファイル受信部403によって受信された分割イメージファイルを保持する。分割イメージファイル記憶部404は、新たに受信した分割イメージファイルによって、対応する既存の分割イメージファイルを更新してもよい。
 ファイル要求取得部405は、通信端末101から、分割イメージファイルの取得要求を受信する。
 分割イメージファイル検索部406は、分割イメージファイル記憶部404によって保持された1以上の分割イメージファイルから、通信端末101からのファイル要求に応じた分割イメージファイルを検索して抽出する。
 分割イメージファイル送信部407は、分割イメージファイル検索部406によって抽出された分割イメージファイルを受信し、受信された分割イメージファイルを通信端末101へ送信する。
 なお、2つの通信端末101及び2つのエッジサーバ103が図示されているが、それぞれ同じ通信端末および同じエッジサーバとすることができる。
 <1.4.エッジサーバの構成>
 図5は、第1の実施形態に係るエッジサーバ103の機能構成図である。図示されるように、エッジサーバ103は、システム情報記憶部501、システム情報送信部502、インシデントレポート受信部503、インシデントレポート記憶部504、イメージファイル更新部505、更新ポリシー記憶部506、イメージファイル分割部507、分割イメージファイル記憶部508、及び分割イメージファイル送信部509を有する。
 システム情報記憶部501は、分散システム100に関するシステム情報を保持する。
 システム情報送信部502は、システム情報記憶部501に保持されているシステム情報を、通信端末101及びストレージデバイス102へ送信する。
 インシデントレポート受信部503は、通信端末101からインシデントレポートを受信する。
 インシデントレポート記憶部504は、インシデントレポート受信部503によって受信されたインシデントレポートを保持する。
 イメージファイル更新部505は、更新ポリシー記憶部506に保持された更新ポリシーに従い、対象のモジュールごとにイメージファイル更新する。或いは、イメージファイル更新部505は、オペレーターの指示に従って、イメージファイルを更新する。
 更新ポリシー記憶部506は、モジュールごとに、異常動作状態にあると判定された場合の対処方法を示す更新ポリシー情報を保持する。対処方法には、例えば、各モジュールの違反ポリシータイプに対応するイメージファイルの更新方法が含まれる。更新ポリシーの詳細については後述する。
 イメージファイル分割部507は、事前に定められた所定の方法に従って、更新されたイメージファイルを分割する。イメージファイルの分割方法については後述する。
 分割イメージファイル記憶部508は、イメージファイル分割部507から得られた分割イメージファイルを保持する。
 分割イメージファイル送信部509は、ストレージデバイス102へ分割イメージファイルを送信する。送信先のストレージデバイス102は、予め設定されたグループ内に含まれる複数のストレージデバイスとしてもよく、この場合、グループ内の複数のストレージデバイスに送信する分割イメージファイルでイメージファイルが再現できるように、各分割イメージファイルを送信する。
 なお、2つの通信端末101及び2つのストレージデバイス102が図示されているが、それぞれ同じ通信端末および同じストレージデバイスとすることができる。
 <1.5.通信端末の動作例>
 図6は、第1の実施形態に係る通信端末の動作例を示すフローチャートである。なお、以下の説明では、既に説明した事項については、詳細な説明は省略する。
 まず、S601において、システム情報取得部301は、エッジサーバ103からシステム情報を受信する。システム情報取得部301は、受信したシステム情報を、システム情報記憶部302に格納する
 S602において、モジュール診断部303は、システム情報記憶部302に格納されたシステム情報に基づいて、分散システム100内の各モジュールが異常動作状態にあるかどうか判定する。異常動作状態が検知された場合は、S603に進む。一方、異常動作状態が検知されない場合は、S601に戻り、処理を繰り返す。
 S603において、モジュール廃棄部304は、異常動作状態が検知されたモジュール、及び当該モジュールの関連モジュールを廃棄する。
 S604において、インシデントレポート送信部305は、異常動作状態が検知されたモジュールに関するインシデントレポートをエッジサーバ103へ送信する。
 S605において、通信端末101は、エッジサーバ103から、インシデントレポートに対する応答を受信したかどうか判定する。通信端末101は、エッジサーバ103から応答を受信するまで待機する。通信端末101が応答を受信すると、処理はS606に進む。
 S606において、通信端末101は、ストレージデバイス102から、廃棄されたモジュールに対応する分割イメージファイルをダウンロードして、分割イメージファイル記憶部307に格納する。
 S607において、分割イメージファイル結合部308は、分割イメージファイル記憶部307から取得した分割イメージファイルを結合して、モジュールごとに単一のイメージファイルを生成する。
 S608において、モジュール起動部309は、生成されたイメージファイルに基づいて、モジュールを再起動する。
 以上説明したように、通信端末101は、異常動作状態となった場合でも迅速な機能復旧を実現することができる。
 図7は、第1の実施形態に係るシステム情報の例を示す図である。図示されたシステム情報は、通信端末101がシステム情報記憶部302に保持するシステム情報の例である。
 図7(a)は、端末ID(識別子)と端末タイプ702との関係を示す。例えば、端末IDが「e001」である端末は、エッジサーバ103である。また、端末IDが「s001」及び「s002」である端末は、ストレージデバイス102である。また、端末IDが、「d001」及び「d002」である端末は、通信端末101である。
 図7(b)は、自身の端末IDを示す。図示された例では、自身の端末IDが「d001」であることが示されている。
 図7(c)は、送信先端末IDと次に転送すべき端末IDとの関係を示す。例えば、送信先端末IDが「s001」の場合、次に転送すべき端末IDは「d001」である。また、送信先端末IDが「s002」の場合、次に転送すべき端末IDは「d002」である。また、送信先端末IDが「e001」の場合、次に転送すべき端末IDは「d002」である。
 図8も、第1の実施形態に係るシステム情報の例を示す図である。ここで図示されたシステム情報も、通信端末101がシステム情報記憶部302に保持するシステム情報の例である。
 図8(a)は、自身が保有すべきモジュールのリストを示す。例えば、図示されたモジュールのリストを有する通信端末101は、モジュールバージョンが「3.8.5」の「login」モジュールを有し、当該モジュールのイメージファイルは、128個に分割される。また、この通信端末101は、モジュールバージョンが「2.4.3」の「camera」モジュールを有し、当該モジュールのイメージファイルは、36個に分割される。また、この通信端末101は、モジュールバージョンが「0.1.1」の「detect-person」モジュールを有し、当該モジュールのイメージファイルは521個に分割される。
 図8(b)は、連携モジュールのリストを示す。例えば、モジュールバージョンが「2.4.3」の「camera」モジュールは、モジュールバージョンが「0.1.1」の「detect-person」モジュールと連携する。また、同「camera」モジュールは、モジュールバージョンが「3.8.5」の「login」モジュールとも連携する。連携モジュールは、関連モジュールとも称する。
 図9も、第1の実施形態に係るシステム情報の例を示す。ここで図示されたシステム情報も、通信端末101がシステム情報記憶部302に保持するシステム情報の例である。
 より具体的には、図9は、各モジュールの異常動作を判定するためのルールを示す。ここでは、ポリシータイプとその値によって、当該ルールが表される。
 例えば、モジュールバージョンが「3.8.5」の「login」モジュールには、ポリシータイプ「valid_account」が適用され、その値は「userA」である。これは、当該モジュールを利用する有効なアカウントが、「userA」であることを示す。同モジュールには、ポリシータイプ「login_from」が適用され、その値は「192.168.24.0/24」である。これは、当該モジュールにログインする装置のIPアドレスが、192.168.24.0~24の範囲内にあれば、正常であることを示す。
 また、モジュールバージョンが「2.4.3」の「camera」モジュールには、ポリシータイプ「ave_trans_rate」が適用され、その値は「3Mbps」である。これは、当該モジュールから送信されるデータの平均通信レートが、3Mbps(bit per second)以下である場合は、正常であることを示す。
 また、モジュールバージョンが「0.1.1」の「detect-person」モジュールには、ポリシータイプ「file_hash」が適用され、その値は「/etc/conf, 79a9e9766e8007d6c341c7e238045ae5」である。これは、指定されたディレクトリに存在するファイルのハッシュ値が、指定された値であれば、正常であることを示す。
 ここで、通信端末101のモジュール診断部303の動作例について、より詳細に説明する。
 モジュール診断部303は、システム情報記憶部302に記憶されたその通信端末101が持つべきモジュールのリスト(図8(a)参照)に基づいて、モジュールの過不足や、モジュールのポリシーに違反した動作状態を検出する。
 モジュールのポリシーは、図9に示されるように、モジュールごとにポリシータイプと値で定義される。例えば、ポリシータイプが「valid_account」である場合、値は、そのモジュールにログイン可能なアカウント名「userA」を示す。また、ポリシータイプが「login_from」である場合、値は、そのモジュールにログイン可能なネットワークセグメント「192.168.24.0/24」を示す。また、ポリシータイプが「ave_trans_rate」である場合、値は、そのモジュールが発生させるネットワーク通信の平均ビットレート「3Mbps」を示す。また、ポリシータイプが「file_hash」である場合、値は、そのモジュール内の特定のファイルのハッシュ値「/etc/conf, 79a9e9766e8007d6c341c7e238045ae5」を示す。
 上述したように、モジュール診断部303は、モジュールごとに事前に定義されたポリシーに違反した動作状態を検知すると、当該モジュールがサイバー攻撃を始めとした、設計上または運用上意図しない動作状態にあると判断する。このように、モジュール診断部303は、モジュールの異常動作を検知する。
 次に、通信端末101のモジュール廃棄部304の動作例について、より詳細に説明する。
 モジュール廃棄部304は、モジュール診断部303によって異常動作状態にあると判断されたモジュールの動作を停止させ、モジュールごとデータを廃棄する。例えば、モジュール廃棄部304は、モジュールに対応するコンテナを停止して、そのまま破棄する。
 モジュール廃棄部304は、当該モジュールの廃棄を実施する際に、システム情報記憶部302に保持されている連携モジュール情報(図8(b))も参照し、連携モジュールも再帰的に廃棄対象とする。連携モジュールも廃棄することで、異常をきたしたモジュールへファイル共有を行っていたり、設定ファイルや情報のやり取りを行っていたりする他のモジュールについても、一括で廃棄を行うことが可能となる。
 図10は、第1の実施形態に係る分割イメージファイル情報の例を示す。分割イメージファイル情報は、通信端末101の分割イメージファイル記憶部307に保持され、分割イメージファイル記憶部307に格納された分割イメージファイルの情報を示す。
 図示された分割イメージファイル情報は、モジュールバージョンが「3.8.5」の「login」モジュールについて、フラグメントナンバーが1、2、3、・・・の分割イメージファイルが格納されていることを示す。また、モジュールバージョンが「2.4.3」の「camera」モジュールについて、フラグメントナンバーが1、2、・・・の分割イメージファイルが格納されていることを示す。フラグメントナンバーは、イメージファイルの分割数を示す。
 <1.6.ストレージデバイスの動作例>
 図11は、第1の実施形態に係るストレージデバイスの動作例を示すフローチャートである。なお、以下の説明では、既に説明した事項については、詳細な説明は省略する。
 まず、S1101において、システム情報取得部401は、エッジサーバ103からシステム情報を受信する。システム情報取得部401は、受信されたシステム情報を、システム情報記憶部402に格納する。
 S1102において、分割イメージファイル受信部403は、エッジサーバ103から分割イメージファイルを受信したかどうか判定する。分割イメージファイル受信部403は、分割イメージファイルを受信するまで待機し、分割イメージファイルを受信すると、S1103に進む。
 S1103において、分割イメージファイル受信部403は、受信された分割イメージファイルを分割イメージファイル記憶部404に記憶する。
 次いで、S1104において、ファイル要求取得部405は、通信端末101からイメージファイル要求を受信したかどうか判定する。ファイル要求取得部405は、イメージファイル要求を受信するまで待機し、イメージファイル要求を受信すると、S1105に進む。
 S1105において、分割イメージファイル検索部406は、イメージファイル要求に対応する分割イメージファイルを、分割イメージファイル記憶部404から検索する。
 S1106において、分割イメージファイル送信部407は、検索された分割イメージファイルを通信端末101へ送信する。
 以上説明したように、ストレージデバイス102は、エッジサーバ103から分割イメージファイルを受信して、受信された分割イメージファイルを保持する。また、ストレージデバイス102は、通信端末101からの要求に応じて、分割イメージファイルを送信する。
 <1.7.エッジサーバの動作例>
 図12は、第1の実施形態に係るエッジサーバの動作例を示すフローチャートである。なお、以下の説明では、既に説明した事項については、詳細な説明は省略する。
 まず、S1201において、システム情報送信部502は、システム情報記憶部501に保持されたシステム情報を、通信端末101及びストレージデバイス102に送信する。
 次いで、S1202において、インシデントレポート受信部503は、通信端末101からインシデントレポートを受信したかどうか判定する。インシデントレポート受信部503はインシデントレポートを受信するまで待機し、インシデントレポートを受信すると、S1203に進む。
 S1203において、イメージファイル更新部505は、受信されたインシデントレポートの内容にマッチする更新ポリシーが、更新ポリシー記憶部506に存在するかどうか判定する。更新ポリシーが存在する場合は、S1204に進み、イメージファイル更新部505は、更新ポリシーに従ってイメージファイルを更新する。一方、更新ポリシーが存在しない場合は、S1205に進み、オペレーターが手動でイメージファイルを更新する。
 次いで、S1206において、イメージファイル分割部507は、更新されたイメージファイルを分割して、分割イメージファイルを生成する。分割イメージファイルは、分割イメージファイル記憶部508に記憶される。
 S1207において、分割イメージファイル送信部509は、分割イメージファイルをストレージデバイス102へ送信する。
 S1208において、システム情報送信部502は、通信端末101へシステム情報を送信する。
 以上説明したように、エッジサーバ103は、通信端末101からインシデントレポートを受信すると、更新ポリシーに従って対象モジュールのイメージファイルを更新する。また、エッジサーバ103は、更新されたイメージファイルを分割して分割イメージファイルを生成し、生成された分割イメージファイルをストレージデバイス102へ送信する。
 次に、イメージファイル更新部505の動作例について、図13及び図14を参照してより詳細に説明する。
 図13は、第1の実施形態に係るインシデントレポートの例を示す図である。図示されたインシデントレポートは、エッジサーバ103がインシデントレポート記憶部504に保持するインシデントレポートの例である。図示されるように、インシデントレポートは、受信日時、送信元端末ID、モジュールID、モジュールバージョン、違反ポリシータイプ、及びログを含む。
 図14は、第1の実施形態に係る更新ポリシーの例を示す図である。図示された更新ポリシーは、エッジサーバ103が更新ポリシー記憶部506に保持する更新ポリシーの例である。図示されるように、更新ポリシーは、モジュールID、該当バージョン、違反ポリシータイプ、及び対処方法を含む。
 イメージファイル更新部505は、図13のインシデントレポートに含まれる違反ポリシータイプをもとに、図14の更新ポリシーに含まれる対処方法に従って、対象モジュールのイメージファイルを更新する。すなわち、イメージファイル更新部505は、対象モジュールの異常動作状態を解消するための新しいバージョンのイメージファイルを生成する。
 具体的には、イメージファイル更新部505は、新たに受信されたインシデントレポートが特定の更新ポリシーにマッチした場合、当該更新ポリシーの対処方法に従って、新しいバージョンのイメージファイルを生成する。
 例えば、モジュールバージョンが「3.8.5」の「login」モジュールに対して、「valid_account」の違反ポリシーが報告された場合には、「userC」による無効なアカウントのログイン試行が観測されただけなので、イメージファイルの更新は行わない。すなわち、違反ポリシーが報告されたとしても、必ずしもイメージファイルが更新されるわけではない。この場合、現在のバージョンのイメージファイルが後続の処理に用いられ、最終的に通信端末101は、異常動作の影響を受けていない新たにダウンロードされた現在のバージョンのイメージファイルに基づいて、対象モジュールを起動することになる。一方、同バージョンの「login」モジュールに対して、「login_from」の違反ポリシーが報告された場合には、許可されていないIPアドレス(「192.168.33.24」)からログインが成功しているため、当該アカウントを無効化したイメージファイルを生成する。
 一方、受信されたインシデントレポートがどの更新ポリシーにも該当しない場合には、オペレーターが手動でイメージファイルを更新し、新しいバージョンのイメージファイルを生成する。
 次に、エッジサーバ103のイメージファイル分割部507の動作例について、より詳細に説明する。
 イメージファイル分割部507は、予め設定されたチャンクサイズごとにイメージファイルを分割して、分割イメージファイルを生成する。例えば、チャンクサイズが4,000,000に設定されていたとすると、500MBのイメージファイルを分割する場合、500×1,000^2/4,000,000=125であるため、125個の分割イメージファイルが作成される。
 なお、上述したイメージファイルの分割方法は一例であり、イメージファイルに含まれるファイルやディレクトリ等の粒度で分割イメージファイルを生成してもよい。次期標準コンテナフォーマットであるOCI(Open Container Initiative) Image Format v2では、レイヤー単位ではなくファイルよりも細かい粒度でイメージファイルを分割することにより、イメージサイズを縮小する方式が議論されている。イメージファイルに対する小さい更新等であれば、数KBの更新データをネットワークに流せばよい。
 <1.8.ハードウェア構成>
 図15は、第1の実施形態に係るコンピュータのハードウェア構成例を示す概略ブロック図である。図示されたコンピュータは、本実施形態の分散システムを構成する通信端末101、ストレージデバイス102、及びエッジサーバ103の各装置として動作し得る。
 コンピュータ1500は、CPU1501と、主記憶装置1502と、補助記憶装置1503と、インタフェース1504と、通信インタフェース1505とを備える。
 コンピュータ1500の動作は、プログラムの形式で補助記憶装置1503に記憶されている。CPU1501は、そのプログラムを補助記憶装置1503から読み出して主記憶装置1502に展開し、そのプログラムに従って、本実施形態で説明した各装置の動作を実行する。
 補助記憶装置1503は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1504を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、プログラムが通信回線によってコンピュータ1500に配信される場合、配信を受けたコンピュータ1500がそのプログラムを主記憶装置1502に展開し、そのプログラムに従って動作してもよい。
 また、各装置の各構成要素の一部または全部は、汎用または専用の回路(circuitry)、プロセッサ等や、これらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
 また、コンピュータ1500は、不図示の入出力装置を備え、オペレーター等による入出力動作が可能なように構成される。入力装置の例としては、マウスやキーボードなどがある。また、出力装置の例としては、液晶ディスプレイなどの表示装置がある。また、表示装置には、タッチパネルを備え、入力装置として動作する表示装置も含まれる。
 <1.9.技術的特徴>
 本実施形態は、サイバーセキュリティにおける機能復旧フェーズに注目したセキュアなシステムアーキテクチャを提供する。本実施形態では、通信端末101の各機能をモジュール化し(コンテナアーキテクチャ等を利用)、モジュール化された機能群の、分割されたイメージファイルを、分散システム内に配置されている複数のストレージデバイス102が保持することで、冗長性を向上させることができる。
 また、本実施形態によれば、通信端末101は、特定の機能に関するイメージファイルをダウンロードして起動をできるため、ある機能に設計上または運用上意図しない動作が生じた場合においても、正常な機能の迅速な提供が可能となる。
 また、通信端末101は、分散システム100内から分割イメージファイルを収集するため、インターネットとの接続が低速度である場合にも近隣の通信端末101を経由してストレージデバイスよりダウンロードができることから、低通信コストかつ短い時間での機能復旧を可能とする。
 また、同様の機能を有する他の通信端末101も、ストレージデバイス102より、修正された分割イメージファイルをダウンロードし、モジュールを最新に保つことができる(いわゆる、DevSecOpsサイクルの高速化を実現することができる)。
 なお、上述した技術的特徴は本発明の実施形態の具体的な一例であり、当然ながら、本発明の実施形態は上述した技術的特徴に限定されない。
 <<2.第2の実施形態>>
 続いて、図16を参照して、本発明の第2の実施形態を説明する。上述した第1の実施形態は、具体的な実施形態であるが、第2の実施形態は、より一般化された実施形態である。
 <2.1.システムの構成>
 図16は、第2の実施形態における分散システムの概要図である。本実施形態における分散システム1600は、通信端末1610と、エッジサーバ1620と、ストレージデバイス1630とを含む。なお、通信端末1610、エッジサーバ1620、およびストレージデバイス1630の数は、図示された数に限定されない。また、通信端末1610、エッジサーバ1620、およびストレージデバイス1630は、互いに有線または無線ネットワークを介して通信可能に接続されている。
 通信端末1610は、モジュール診断部1611、インシデントレポート送信部1612、分割イメージファイル結合部1613、及びモジュール起動部1614を有する。モジュール診断部1611は、異常動作状態にある機能モジュールを検知する。インシデントレポート送信部1612は、エッジサーバ1620へ異常動作状態を通知する。分割イメージファイル結合部1613は、ストレージデバイス1630から取得した分割イメージファイルを結合してイメージファイルを生成する。モジュール起動部1614は、生成されたイメージファイルに基づいて、機能モジュール及び関連機能モジュールを起動する。
 エッジサーバ1620は、イメージファイル更新部1621、イメージファイル分割部1622、及び分割イメージファイル送信部1623を有する。イメージファイル更新部1621は、機能モジュール及び関連機能モジュールのそれぞれに対応するイメージファイルを生成する。イメージファイル分割部1622は、生成されたイメージファイルを分割した分割イメージファイルを生成する。分割イメージファイル送信部1623は、生成された分割イメージファイルをストレージデバイス1630へ送信する。
 ストレージデバイス1630は、分割イメージファイル受信部1631、及び分割イメージファイル送信部1632を有する。分割イメージファイル受信部1631は、エッジサーバ1620から分割イメージファイルを受信して、格納する。分割イメージファイル送信部1632は、通信端末1610からの要求に応じて、機能モジュール及び関連機能モジュールに対応する分割イメージファイルを通信端末1610へ送信する。
 上述した各装置の各処理部は、例えば、プログラムに従って動作するコンピュータのCPU(Central Processing Unit)、および、そのコンピュータの通信インタフェースによって実現される。例えば、CPUが、そのコンピュータのプログラム記憶装置等のプログラム記録媒体からプログラムを読み込み、そのプログラムに従って、必要に応じて通信インタフェースを用いて、上述した各装置の各処理部として動作することができる。
 <2.2.動作例>
 次に、第2の実施形態における動作例について説明する。
 第2の実施形態によれば、通信端末1610は、異常動作状態にある機能モジュールを検知し、エッジサーバ1620へ異常動作状態を通知する。エッジサーバ1620は、機能モジュール及び関連機能モジュールのそれぞれに対応するイメージファイルを生成し、生成されたイメージファイルを分割した分割イメージファイルを生成して、ストレージデバイス1630へ送信する。ストレージデバイス1630は、分割イメージファイルを格納し、通信端末1610からの要求に応じて、機能モジュール及び関連機能モジュールに対応する分割イメージファイルを通信端末1610へ送信する。通信端末1610は、ストレージデバイス1630から取得した分割イメージファイルを結合してイメージファイルを生成し、生成されたイメージファイルに基づいて機能モジュール及び関連機能モジュールを起動する。
 -第1の実施形態との関係
 一例として、第2の実施形態における通信端末1610、エッジサーバ1620、およびストレージデバイス1630はそれぞれ、第1の実施形態における通信端末101、エッジサーバ103、及びストレージデバイス102である。この場合に、第1の実施形態についての説明は、第2の実施形態にも適用され得る。
 なお、第2の実施形態は、この例に限定されない。
 以上、本発明の実施形態を説明したが、本発明はこれらの実施形態に限定されるものではない。これらの実施形態は例示にすぎないということ、及び、本発明のスコープ及び精神から逸脱することなく様々な変形が可能であるということは、当業者に理解されるであろう。
 例えば、本明細書に記載されている処理は、必ずしも上述した順序に沿って時系列に実行されなくてよい。例えば、各処理は、上述した順序と異なる順序で実行されても、並列的に実行されてもよい。また、処理の一部が削除されてもよく、さらなる処理が追加されてもよい。
 また、本明細書において説明した分散システムの構成要素を備える装置(例えば、分散システムを構成する複数の装置(又はユニット)のうちの1つ以上の装置(又はユニット)、又は上記複数の装置(又はユニット)のうちの1つのためのモジュール)が提供されてもよい。また、上記構成要素の処理を含む方法が提供されてもよく、上記構成要素の処理をプロセッサに実行させるためのプログラムが提供されてもよい。また、当該プログラムを記録したコンピュータに読み取り可能な非一時的記録媒体(Non-transitory computer readable medium)が提供されてもよい。当然ながら、このような装置、モジュール、方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体も本発明に含まれる。
 上記実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)
 1以上の通信端末と1以上のストレージデバイスとエッジサーバとがネットワークを介して通信する分散システムであって、
 前記通信端末は、異常動作状態にある機能モジュールを検知し、前記エッジサーバへ前記異常動作状態を通知し、
 前記エッジサーバは、前記機能モジュール及び関連機能モジュールのそれぞれに対応するイメージファイルを生成し、前記生成されたイメージファイルを分割した複数の分割イメージファイルを生成して、前記複数の分割イメージファイルを前記ストレージデバイスへ送信し、
 前記ストレージデバイスは、前記分割イメージファイルを格納し、前記通信端末からの要求に応じて、前記機能モジュール及び前記関連機能モジュールに対応する分割イメージファイルを前記通信端末へ送信し、
 前記通信端末は、前記ストレージデバイスから取得した前記複数の分割イメージファイルを結合して前記イメージファイルを生成し、前記生成されたイメージファイルに基づいて前記機能モジュール及び前記関連機能モジュールを起動する、
ことを特徴とする分散システム。
(付記2)
 前記通信端末は、前記異常動作状態にある機能モジュールを検知すると、前記機能モジュール及び前記関連機能モジュールの動作を停止させ、前記機能モジュール及び前記関連機能モジュールを廃棄することを特徴とする付記1に記載の分散システム。
(付記3)
 前記通信端末は、前記異常動作状態にある機能モジュールを検知すると、前記異常動作状態の内容を示すインシデントレポートを前記エッジサーバへ送信することを特徴とする付記1または2に記載の分散システム。
(付記4)
 前記エッジサーバは、前記インシデントレポートの内容にマッチする更新ポリシーに応じて、前記イメージファイルを生成することを特徴とする付記3に記載の分散システム。
(付記5)
 前記通信端末は、前記複数のストレージデバイスのうち、前記通信端末の近隣に存在するストレージデバイスから、前記分割イメージファイルを取得することを特徴とする付記1乃至4のいずれか1項に記載の分散システム。
(付記6)
 前記近隣のストレージデバイスは、前記通信端末と通信リンクを直接確立することができるストレージデバイスであることを特徴とする付記5に記載の分散システム。
(付記7)
 前記近隣のストレージデバイスは、前記通信端末に対するホップ数に応じて決定されることを特徴とする付記5に記載の分散システム。
(付記8)
 前記エッジサーバは、前記複数の分割イメージファイルを、予め設定されたグループ内に含まれる複数のストレージデバイスに送信することを特徴とする付記1乃至7のいずれか1項に記載の分散システム。
(付記9)
 前記通信端末は、前記複数の分割イメージファイルのそれぞれを並列でダウンロードすることを特徴とする付記1乃至8のいずれか1項に記載の分散システム。
(付記10)
 分散システムを構成する通信端末であって、
 複数の機能モジュールの動作状態を診断し、異常動作状態にある機能モジュールを検知するモジュール診断手段と、
 前記異常動作状態にある機能モジュールの動作を停止させ、前記機能モジュールを廃棄するモジュール廃棄手段と、
 前記機能モジュールに対応し、前記異常動作状態を解消するように生成されたイメージファイルを分割した複数の分割イメージファイルを取得し、前記複数の分割イメージファイルを結合する分割イメージファイル結合手段と、
 前記複数の分割イメージファイルを結合して生成されたイメージファイルに基づいて、前記機能モジュールを起動するモジュール起動手段と
を備えることを特徴とする通信端末。
(付記11)
 1以上の通信端末と1以上のストレージデバイスとエッジサーバとがネットワークを介して通信する分散システムの機能復旧方法であって、
 前記通信端末が、異常動作状態にある機能モジュールを検知し、前記エッジサーバへ前記異常動作状態を通知する通知ステップと、
 前記エッジサーバが、前記機能モジュール及び関連機能モジュールのそれぞれに対応するイメージファイルを生成し、前記生成されたイメージファイルを分割した複数の分割イメージファイルを生成して、前記複数の分割イメージファイルを前記ストレージデバイスへ送信する第1の送信ステップと、
 前記ストレージデバイスが、前記分割イメージファイルを格納し、前記通信端末からの要求に応じて、前記機能モジュール及び前記関連機能モジュールに対応する分割イメージファイルを前記通信端末へ送信する第2の送信ステップと、
 前記通信端末が、前記ストレージデバイスから取得した前記複数の分割イメージファイルを結合して前記イメージファイルを生成し、前記生成されたイメージファイルに基づいて前記機能モジュール及び前記関連機能モジュールを起動する起動ステップと
を含むことを特徴とする機能復旧方法。
(付記12)
 コンピュータを付記10に記載の通信端末として機能させるためのプログラム。
 本発明の一実施形態は、スマートシティなどの社会基盤となるサイバーフィジカルシステムへ適用することが考えられる。また、本発明の一実施形態は、敵対者からのサイバー攻撃が想定されるミッションクリティカルなネットワークシステムへ適用することが考えられる。
 100 分散システム
 101 通信端末
 102 ストレージデバイス
 103 エッジサーバ
 104 障害物
 105 クラウドサーバ

 

Claims (12)

  1.  1以上の通信端末と1以上のストレージデバイスとエッジサーバとがネットワークを介して通信する分散システムであって、
     前記通信端末は、異常動作状態にある機能モジュールを検知し、前記エッジサーバへ前記異常動作状態を通知し、
     前記エッジサーバは、前記機能モジュール及び関連機能モジュールのそれぞれに対応するイメージファイルを生成し、前記生成されたイメージファイルを分割した複数の分割イメージファイルを生成して、前記複数の分割イメージファイルを前記ストレージデバイスへ送信し、
     前記ストレージデバイスは、前記分割イメージファイルを格納し、前記通信端末からの要求に応じて、前記機能モジュール及び前記関連機能モジュールに対応する分割イメージファイルを前記通信端末へ送信し、
     前記通信端末は、前記ストレージデバイスから取得した前記複数の分割イメージファイルを結合して前記イメージファイルを生成し、前記生成されたイメージファイルに基づいて前記機能モジュール及び前記関連機能モジュールを起動する、
    ことを特徴とする分散システム。
  2.  前記通信端末は、前記異常動作状態にある機能モジュールを検知すると、前記機能モジュール及び前記関連機能モジュールの動作を停止させ、前記機能モジュール及び前記関連機能モジュールを廃棄することを特徴とする請求項1に記載の分散システム。
  3.  前記通信端末は、前記異常動作状態にある機能モジュールを検知すると、前記異常動作状態の内容を示すインシデントレポートを前記エッジサーバへ送信することを特徴とする請求項1または2に記載の分散システム。
  4.  前記エッジサーバは、前記インシデントレポートの内容にマッチする更新ポリシーに応じて、前記イメージファイルを生成することを特徴とする請求項3に記載の分散システム。
  5.  前記通信端末は、前記複数のストレージデバイスのうち、前記通信端末の近隣に存在するストレージデバイスから、前記分割イメージファイルを取得することを特徴とする請求項1乃至4のいずれか1項に記載の分散システム。
  6.  前記近隣のストレージデバイスは、前記通信端末と通信リンクを直接確立することができるストレージデバイスであることを特徴とする請求項5に記載の分散システム。
  7.  前記近隣のストレージデバイスは、前記通信端末に対するホップ数に応じて決定されることを特徴とする請求項5に記載の分散システム。
  8.  前記エッジサーバは、前記複数の分割イメージファイルを、予め設定されたグループ内に含まれる複数のストレージデバイスに送信することを特徴とする請求項1乃至7のいずれか1項に記載の分散システム。
  9.  前記通信端末は、前記複数の分割イメージファイルのそれぞれを並列でダウンロードすることを特徴とする請求項1乃至8のいずれか1項に記載の分散システム。
  10.  分散システムを構成する通信端末であって、
     複数の機能モジュールの動作状態を診断し、異常動作状態にある機能モジュールを検知するモジュール診断手段と、
     前記異常動作状態にある機能モジュールの動作を停止させ、前記機能モジュールを廃棄するモジュール廃棄手段と、
     前記機能モジュールに対応し、前記異常動作状態を解消するように生成されたイメージファイルを分割した複数の分割イメージファイルを取得し、前記複数の分割イメージファイルを結合する分割イメージファイル結合手段と、
     前記複数の分割イメージファイルを結合して生成されたイメージファイルに基づいて、前記機能モジュールを起動するモジュール起動手段と
    を備えることを特徴とする通信端末。
  11.  1以上の通信端末と1以上のストレージデバイスとエッジサーバとがネットワークを介して通信する分散システムの機能復旧方法であって、
     前記通信端末が、異常動作状態にある機能モジュールを検知し、前記エッジサーバへ前記異常動作状態を通知する通知ステップと、
     前記エッジサーバが、前記機能モジュール及び関連機能モジュールのそれぞれに対応するイメージファイルを生成し、前記生成されたイメージファイルを分割した複数の分割イメージファイルを生成して、前記複数の分割イメージファイルを前記ストレージデバイスへ送信する第1の送信ステップと、
     前記ストレージデバイスが、前記分割イメージファイルを格納し、前記通信端末からの要求に応じて、前記機能モジュール及び前記関連機能モジュールに対応する分割イメージファイルを前記通信端末へ送信する第2の送信ステップと、
     前記通信端末が、前記ストレージデバイスから取得した前記複数の分割イメージファイルを結合して前記イメージファイルを生成し、前記生成されたイメージファイルに基づいて前記機能モジュール及び前記関連機能モジュールを起動する起動ステップと
    を含むことを特徴とする機能復旧方法。
  12.  コンピュータを請求項10に記載の通信端末として機能させるためのプログラム。

     
PCT/JP2020/025306 2020-06-26 2020-06-26 分散システム、通信端末、機能復旧方法、及びプログラム WO2021260932A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US18/010,969 US20230222027A1 (en) 2020-06-26 2020-06-26 Distributed system, communication terminal, function recovery method, and program
JP2022532217A JP7468652B2 (ja) 2020-06-26 2020-06-26 分散システム、通信端末、機能復旧方法、及びプログラム
PCT/JP2020/025306 WO2021260932A1 (ja) 2020-06-26 2020-06-26 分散システム、通信端末、機能復旧方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/025306 WO2021260932A1 (ja) 2020-06-26 2020-06-26 分散システム、通信端末、機能復旧方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2021260932A1 true WO2021260932A1 (ja) 2021-12-30

Family

ID=79282171

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/025306 WO2021260932A1 (ja) 2020-06-26 2020-06-26 分散システム、通信端末、機能復旧方法、及びプログラム

Country Status (3)

Country Link
US (1) US20230222027A1 (ja)
JP (1) JP7468652B2 (ja)
WO (1) WO2021260932A1 (ja)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SAKATA, KOJI ET AL.: "Remote monitoring of a mobile digital signage system", THE 3RD INTERNET AND OPERATIONAL TECHNOLOGY SYMPOSIUM (IOTS2010, 2 December 2010 (2010-12-02), pages 89 - 96 *

Also Published As

Publication number Publication date
JP7468652B2 (ja) 2024-04-16
US20230222027A1 (en) 2023-07-13
JPWO2021260932A1 (ja) 2021-12-30

Similar Documents

Publication Publication Date Title
US11681591B2 (en) System and method of restoring a clean backup after a malware attack
US10546129B2 (en) Method to scan a forensic image of a computer system with multiple malicious code detection engines simultaneously from a master control point
US20170206353A1 (en) Method and system for preventing malicious alteration of data in computer system
US11170107B2 (en) File recovery using anti-virus engine and backup provider
US11579985B2 (en) System and method of preventing malware reoccurrence when restoring a computing device using a backup image
RU2595482C2 (ru) Обеспечение прозрачной отработки отказа в файловой системе
US8874520B2 (en) Processes and methods for client-side fingerprint caching to improve deduplication system backup performance
US20180181761A1 (en) Method for ransomware impact assessment and remediation assisted by data compression
US8935560B2 (en) System and method of file locking in a network file system federated namespace
US9864630B2 (en) Starting a process using file descriptors
EP2866410B1 (en) Apparatus for switching between multiple servers in a web-based system
US20120331104A1 (en) Controlling communication among multiple industrial control systems
US10091077B1 (en) Systems and methods for detecting transactional message sequences that are obscured in multicast communications
JP2021018799A (ja) マルウェアについて複数のアーカイブスライスを検査するシステムおよび方法
US20180089039A1 (en) Recovery of an infected and quarantined file in a primary storage controller from a secondary storage controller
US11132126B1 (en) Backup services for distributed file systems in cloud computing environments
JP2007323354A (ja) マシン管理システム
WO2021260932A1 (ja) 分散システム、通信端末、機能復旧方法、及びプログラム
US9870249B2 (en) Virtual computer system, method, and non-transitory computer readable medium
CN114281600A (zh) 一种容灾备份和容灾恢复方法、装置、设备及存储介质
JP6989457B2 (ja) 外部情報受配信装置、データ送信方法、及びプログラム
US9231969B1 (en) Determining file risk based on security reputation of associated objects
TW201814577A (zh) 用於防止計算機系統中數據惡意更改的方法和系統
EP4202742B1 (en) Systems and methods for protecting data during synchronization
KR20210002978A (ko) 블록체인 기반 파일 수정 증거 저장 방법 및 이를 이용하는 장치

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022532217

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20942095

Country of ref document: EP

Kind code of ref document: A1