KR102035394B1 - Automatic methodology for optimizing the techniques of process live migration - Google Patents
Automatic methodology for optimizing the techniques of process live migration Download PDFInfo
- Publication number
- KR102035394B1 KR102035394B1 KR1020170160694A KR20170160694A KR102035394B1 KR 102035394 B1 KR102035394 B1 KR 102035394B1 KR 1020170160694 A KR1020170160694 A KR 1020170160694A KR 20170160694 A KR20170160694 A KR 20170160694A KR 102035394 B1 KR102035394 B1 KR 102035394B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- function
- functions
- cps
- priority
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/203—Failover techniques using migration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
본 발명은 특정 기능을 제어하는 노드에 장애가 생긴 경우, 해당 노드의 프로세스를 같은 기능을 수행할 수 있는 다른 노드에 마이그레이션하는 방법과 관련된다. 구체적으로, 기 정의된 기준에 따라 여러 기능들의 우선 순위를 정하고, 우선 순위를 사용하여 라우팅 테이블을 생성하고, 라우팅 테이블 및 노드 간 인접성을 기반으로 장애가 생긴 노드의 프로세스를 다른 노드에 마이그레이션하는 방법과 관련된다.The present invention relates to a method of migrating a process of a node to another node capable of performing the same function when a node controlling a specific function fails. Specifically, how to prioritize various functions according to predefined criteria, create a routing table using priorities, and migrate the process of a failed node to other nodes based on the routing table and the proximity between nodes. Related.
Description
본 발명은 다양한 기능을 가진 시스템들이 연결된 환경에서, 특정 시스템에 장애가 발생한 경우, 특정 시스템이 담당하던 프로세스를 같은 기능을 수행할 수 있는 다른 시스템으로 마이그레이션하는 방법과 관련된다.The present invention relates to a method of migrating a process in charge of a specific system to another system capable of performing the same function in the environment in which systems having various functions are connected, when a specific system fails.
본 명세서에서 시스템은 일반적으로 데스크톱 및 랩탐, 임베디드 컨트롤러, 셀룰러 장비 등을 포함하는 컴퓨팅 장비를 말한다. 시스템에 문제가 생겨도 실행 중인 프로세스에는 영향을 주지 않도록 시스템을 자율적으로 복원하는 자율 복원 시스템 및 기술이 대두되고 있다.In the present specification, the system generally refers to computing equipment including desktop and lab tam, embedded controllers, cellular equipment, and the like. Autonomous restoration systems and technologies are emerging to autonomously restore a system so that if a problem occurs in the system, the running process is not affected.
자율적으로 프로세스를 복원하기 위한 방법으로 듀얼 시스템이 많이 사용되고 있다. 듀얼 시스템이란 시스템 장애로 인한 프로세스 중단을 방지하기 위하여 두 개의 시스템을 운용하는 것을 말한다. 시스템의 높은 안정도를 얻기 위해 사용되는 방법이며, 항공 관제용, 군사용, 방송 장비 유지용, 은행 업무 관리용 등으로 사용된다. 듀얼 시스템은 어느 하드웨어, 장비에 장애가 발생한 경우, 프로세스의 단절을 막기 위하여 같은 프로세스를 처리하는 또 다른 하드웨어, 장비가 필요하기 때문에 물리적인 하드웨어, 장비가 적어도 2배 필요하다. 따라서, 나머지 하드웨어, 장비 또한 장애가 발생한다면 프로세스의 중단이 발생할 수 밖에 없기 때문에 일회적인 해결책이 될 수 밖에 없다.Dual systems are widely used to automate process restoration. Dual system refers to the operation of two systems to prevent process interruption due to system failure. It is a method used to obtain high stability of the system, and is used for air control, military, broadcasting equipment maintenance, and banking management. Dual systems require at least twice the physical hardware and equipment as any hardware or equipment fails, requiring another hardware and equipment to handle the same process in order to prevent disconnection. Therefore, if the remaining hardware and equipment also fails, the process may be interrupted, which is a one-time solution.
장애가 발생한 하드웨어를 대체할 장치로 물리적인 하드웨어, 장치가 아니라 가상 머신을 사용하는 클라우드 시스템도 자율 복원에 사용될 수 있는 시스템 중 하나이다. 클라우드 시스템은 이격지 서버의 적어도 일부를 활용해 생성된 가상 머신을 통신망을 통해 이용하는 시스템을 일컫는다. 프로세스 진행 중에 시스템에 대한 정보를 실시간으로 클라우드에 백업하고 이를 이용하여 프로세스의 단절을 방지할 수 있다. 그러나 클라우드 시스템을 사용할 경우, 제3의 공간에 데이터가 존재하기 때문에 통신망의 보안이 무너지면 데이터를 쉽게 잃어버릴 수 있고 백업만을 위한 장소를 둔다는 점에서 추가적인 비용이 소요된다. 또한, 마이그레이션이라는 일시적인 절차를 밟기 위해 클라우드에서 영구적인 공간을 확보해야 하므로 자원의 낭비가 발생한다. 컨테이너 방식의 기술도 클라우드 시스템을 이용하기 때문에 편리하지만 이와 비슷한 단점을 가지고 있다.One of the systems that can be used for autonomous restoration is a cloud system that uses virtual machines as opposed to physical hardware and devices as a replacement device for failed hardware. A cloud system refers to a system that uses a virtual machine created through at least a portion of a remote server through a communication network. As the process progresses, information about the system can be backed up to the cloud in real time and used to prevent process disruption. However, when using a cloud system, since data exists in a third space, if the security of the network is compromised, the data can be easily lost and there is an additional cost in that there is only a place for backup. In addition, a temporary process of migration requires a permanent space in the cloud, resulting in waste of resources. Container technology is convenient because it uses a cloud system, but has similar disadvantages.
프로세스 마이그레이션은 자율 프로세스 복원에 사용되는 또 다른 방법 중 하나이다. 프로세스 마이그레이션은 특정 시스템에 과부하가 걸리는 것을 막기 위해 로드 밸런싱 목적으로 사용되는 기술이다. 프로세스 자체를 특정 시스템에서 다른 시스템으로 옮길 수 있다는 점에서 자율 복원 시스템에서 각광받고 있다.Process migration is another method used for autonomous process restoration. Process migration is a technique used for load balancing purposes to prevent overloading a particular system. It is gaining attention in autonomous recovery systems in that the process itself can be moved from one system to another.
본 발명에 따른 일 실시예는 백업 시스템을 수동으로 지정하지 않아도 최적화된 백업 시스템들 자동으로 선택하여 프로세스를 마이그레이션하는 프로세스 마이그레이션 방법을 제공할 수 있다.One embodiment according to the present invention may provide a process migration method for automatically migrating a process by automatically selecting optimized backup systems without manually designating a backup system.
본 발명에 따른 프로세스 마이그레이션 방법은 복수의 기능들 각각에 우선 순위를 부여하는 단계; 상기 복수의 기능들 각각을 제어하는 복수의 노드들 중 장애가 발생한 제1 노드를 판단하는 단계; 복수의 노드들 중 상기 제1 노드의 기능을 대신 수행할 수 있는 적어도 하나의 노드를 판단하는 단계; 상기 우선 순위 또는 상기 제1 노드와 상기 적어도 하나의 노드 간 인접성에 적어도 부분적으로 기반하여 상기 적어도 하나의 노드 중에서 상기 제1 노드의 프로세스를 마이그레이션할 제2 노드를 결정하는 단계; 및 상기 제1 노드의 프로세스를 상기 제2 노드로 마이그레이션하는 단계를 포함할 수 있다.The process migration method according to the present invention comprises the steps of prioritizing each of a plurality of functions; Determining a failed first node among a plurality of nodes controlling each of the plurality of functions; Determining at least one node of the plurality of nodes capable of performing the function of the first node instead; Determining a second node from which to migrate a process of the first node from among the at least one node based at least in part on the priority or the proximity between the first node and the at least one node; And migrating a process of the first node to the second node.
상기 복수의 기능들 각각에 우선 순위를 부여하는 단계는 적어도 부분적으로 빅 데이터에 기반하여 상기 복수의 기능들 각각에 우선 순위를 부여하는 단계를 포함할 수 있다.Prioritizing each of the plurality of functions may include prioritizing each of the plurality of functions based at least in part on big data.
상기 복수의 기능들 각각에 우선 순위를 부여하는 단계는 적어도 부분적으로 인공 지능에 기반하여 상기 복수의 기능들 각각에 우선 순위를 부여하는 단계를 포함할 수 있다.Prioritizing each of the plurality of functions may include prioritizing each of the plurality of functions based at least in part on artificial intelligence.
상기 복수의 기능들 각각에 우선 순위를 부여하는 단계는 상기 복수의 기능들 각각의 소비 전력에 기반하여 상기 복수의 기능들 각각에 우선 순위를 부여하는 단계를 포함할 수 있다.Prioritizing each of the plurality of functions may include prioritizing each of the plurality of functions based on power consumption of each of the plurality of functions.
상기 제2 노드를 결정하는 단계는 상기 복수의 노드들, 상기 복수의 기능들 및 상기 우선 순위을 기반으로 하여 생성된 라우팅 테이블을 적어도 부분적으로 이용하여 상기 적어도 하나의 기능 중에서 상기 제1 노드의 프로세스를 마이그레이션할 제2 노드를 결정하는 단계를 포함할 수 있다.The determining of the second node may include performing a process of the first node among the at least one function using at least partially a routing table generated based on the plurality of nodes, the plurality of functions, and the priority. Determining a second node to migrate.
본 발명에 따른 프로세스 마이그레이션 방법은 백업 시스템을 수동으로 지정하지 않아도 최적화된 백업 시스템들 선택하여 프로세스를 마이그레이션할 수 있다.The process migration method according to the present invention can migrate the process by selecting optimized backup systems without manually designating the backup system.
도 1은 일 실시예에 따른 프로세스 마이그레이션을 수행하는 시스템을 설명하기 위한 도면이다.
도 2는 라우팅 테이블을 설명하기 위한 도면이다.
도 3은 프로세스 마이그레이션 방법을 나타내는 흐름도이다.1 is a diagram illustrating a system for performing process migration, according to an exemplary embodiment.
2 is a diagram for explaining a routing table.
3 is a flowchart illustrating a process migration method.
이하, 본 발명의 여러가지 실시예 중 특정 실시예를 첨부된 도면에 도시하여 상세하게 설명한다. 그러나 이러한 특정 실시예가 본 발명을 제한하거나 한정하는 것은 아니다. 도면의 부호에 관계없이 동일한 참조 번호는 동일한 구성요소를 나타내며, 중복되는 설명은 생략한다.Hereinafter, specific embodiments of the various embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, these specific embodiments do not limit or limit the present invention. Regardless of the reference numerals in the drawings, the same reference numerals denote the same components, and redundant descriptions are omitted.
도 1은 일 실시예에 따른 프로세스 마이그레이션을 수행하는 시스템을 설명하기 위한 도면이다.1 is a diagram illustrating a system for performing process migration, according to an exemplary embodiment.
도 1을 참조하면, 프로세스 마이그레이션을 수행하는 시스템은 중앙 노드(110), 네트워크(120), CPS 노드들(130, 140), 시스템에 필요한 기능들(150, 160)을 포함한다. 중앙 노드(110)는 시스템에 대한 전반적인 제어를 수행한다. Referring to FIG. 1, a system for performing process migration includes a
중앙 노드(110)는 기능들(150, 160)에 대하여 우선 순위를 부여할 수 있다. 우선 순위는 사용자가 미리 지정한 중요도 판단 기준을 통하여 각 기능들에 자동적으로 부여될 수 있고, 사용자에 의해 수동으로 부여될 수 있고 자동 부여 및 수동 부여 각각이 적어도 부분적으로 수행될 수도 있다. 예를 들어, 전력 소비가 큰 기능의 우선 순위가 낮게 되도록 기준이 지정된 경우, 중앙 노드(110)는 각 기능들의 전력 소비량을 파악하여 각 기능들의 우선 순위를 부여할 수 있다. 일 예로, 차량 사고에 있어서 각 기능의 중요성을 우선 순위의 기준으로 지정한 경우, 중앙 노드(110)는 차량 엔진 냉각 기능에 에어컨 기능보다 높은 우선 순위를 부여할 수 있다. The
중앙 노드(110)는 적어도 부분적으로 빅 데이터에 기반하여 기능들(150, 160)에 우선 순위를 부여할 수 있다. 예를 들어, 중앙 노드(110)는 자동차 사고의 원인에 대한 빅 데이터, 자동자 부품 가격에 대한 빅 데이터 등을 수집하고 빅 데이터를 기반으로 하여 자동차의 각 기능에 대한 중요성을 판단하고, 중요성에 따라 각 기능들에 우선 순위를 부여할 수 있다. 일 예로, 중앙 노드(110)는 차량 사고 원인에 대한 빅 데이터를 기반으로 하여 차량 엔진 냉각 기능에 에어컨 기능보다 더 큰 우선 순위를 부여할 수 있다.The
중앙 노드(110)는 적어도 부분적으로 인공 지능에 기반하여 기능들(150, 160)에 우선 순위를 부여할 수 있다. 예를 들어, 중앙 노드(110)는 인공 신경망(Artificial Neural Network, ANN)을 통해 예를 들어, 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 반지도 학습(Semi-supervised Learning), 강화 학습(Reinforcement Learning) 중 적어도 하나를 수행한 인공 지능을 사용하여, 각 기능들이 없을 때의 사고 확률을 계산하여 우선순위를 부여할 수 있다. 일 예로, 중앙 노드(110)는 차량 엔진 냉각 기능이 없을 때가 에어컨 기능이 없을 때보다 차량 사고 확률이 높다는 것을 계산하여 차량 엔진 냉각 기능에 에어컨 기능보다 더 큰 우선 순위를 부여할 수 있다.The
중앙 노드(110)는 CPS 노드들(130, 140)을 모니터링하여 기능들(150, 160)이 수행되고 있는지 판단할 수 있다. 장애로 인하여 특정 기능이 수행되지 않는 경우, 중앙 노드(110)는 장애로 인해 수행되지 않는 특정 기능을 제어하던 CPS 노드의 프로세스를 다른 CPS 노드로 마이그레이션할 수 있다. 예를 들어, 차량 엔진 냉각 기능(150)이 장애로 인하여 수행되지 않는 경우, 중앙 노드(110)는 차량 엔진 냉각 기능을 제어하던 제1 CPS 노드(130)의 프로세스를 에어컨 기능을 제어하던 제2 CPS 노드(140)로 마이그레이션할 수 있다. 제2 CPS 노드(140)는 에어컨 기능을 제어하지 않고 차량 엔진 냉각 기능만을 수행할 수도 있으나, 중앙 노드(110)에 의해 최적화된 기능 분배를 통하여 차량 엔진 냉각 기능 뿐만 아니라 에어컨 기능도 제어할 수 있다.The
일 예에서, 장애로 인해 수행되지 않는 특정 기능을 제어하던 CPS 노드를 대체할 수 있는 다른 CPS 노드가 여러 개 인경우, 우선 순위를 고려하여 마이그레이션할 수 있다. 예를 들어, 차량 엔진 냉각 기능에 장애가 발생한 경우, 중앙 노드(110)는 차량 엔진 냉각 기능을 대체할 수 있는 에어컨 기능과 외부 공기 주입 기능의 우선 순위를 고려하여 프로세스를 마이그레이션할 수 있다. 사고 발생 확률을 기준으로 우선 순위를 부여했을 때, 중앙 노드(110)가 에어컨 기능이 외부 공기 주입 기능보다 우선 순위가 높다고 판단했다면, 외부 공기 주입 기능을 수행하는 CPS 노드가 차량 엔진 냉각 기능의 프로세스를 이어 받을 수 있다.In one example, if there are several other CPS nodes that can replace the CPS node that was controlling a specific function that is not performed due to a failure, the priority can be migrated. For example, when the vehicle engine cooling function fails, the
중앙 노드(110)는 기능들(150, 160)을 제어하는 CPS 노드들 간의 인접성을 기반으로 프로세스 마이그레이션을 제어할 수 있다. 예를 들어, 차량 엔진 냉각 기능에 장애가 발생한 경우, 중앙 노드(110)는 에어컨 기능을 제어하는 제2 CPS 노드(140) 또는 외부 공기 주입 기능을 수행하는 제3 CPS 노드 각각과 차량 엔진 냉각 기능을 제어하던 제1 CPS 노드(130)와의 인접성을 판단하고, 이를 기반으로 마이그레이션을 수행할 수 있다. 인접성은 CPS 노드 간의 패킷 전달 속도, 물리적인 거리 등 측정하여 계산할 수 있다. 일 예로, 제1 CPS 노드(130)와 제2 CPS 노드(140) 간의 패킷 전달 속도가 제1 CPS 노드(130)와 제3 CPS 노드 간의 패킷 전달 속도보다 빠르다면, 제1 CPS 노드(130)가 제어하던 차량 엔진 냉각 기능은 제2 CPS 노드(140)가 제어할 수 있다. 즉, 제1 CPS 노드(130)의 프로세스는 제2 CPS 노드(140)로 마이그레이션될 수 있다.The
중앙 노드(110)는 우선 순위 및 인접성을 부분적으로 고려하여 마이그레이션할 수 있다. 예를 들어, 우선 순위 및 인접성이 모두 변수로 고려되고 수치로 확인할 수 있는 수식을 통하여 장애 발생 기능을 제어할 CPS 노드를 선택하고 프로세스를 마이그레이션할 수 있다.The
중앙 노드(110)는 임의의 시각 또는 정의된 시각마다 각 기능들의 우선 순위를 다시 부여할 수 있다. 예를 들어, 중앙 노드(110)가 비가 오지 않는 환경에서 운행 시에 가장 높은 우선 순위를 차량 엔진 냉각 기능에 부여했더라도, 중앙 노드(110)는 임의의 시각 또는 정의된 시각마다 우선 순위를 다시 부여하여 비가 오는 환경에서 운행 시에 가장 높은 우선 순위를 와이퍼 기능에 부여할 수 있다.The
중앙 노드(110)와 CPS 노드들(130, 140)은 네트워크(120)를 통하여 통신한다. 중앙 노드(110) 또는 CPS 노드들(130, 140)은 네트워크(120)를 통하여 외부의 서버, 단말기, 센서 등과 통신할 수 있다. CPS 노드들(130, 140)은 네트워크 또는 전기적 신호를 주고 받을 수 있는 통신 경로를 통하여 물리적 장치를 제어할 수 있다.The
네트워크(120)는 예를 들어, 근거리 네트워크(Local Area Network; LAN), 도시권 네트워크(Metropolitan Area Network; MAN), 광역 네트워크(Wide Area Network; WAN), 세계적 네트워크(Global Area Network: GAN) 중 적어도 하나를 포함할 수 있다.The
가상 물리 시스템(Cyber Physic System; CPS)은 물리적 장치들의 제어를 편리하게 하고, 물리적 장치들을 제어하는데 소비되는 시간적, 공간적인 낭비를 최소화하기 위하여 물리적으로 실재하는 장치들을 가상 공간으로 데이터화한 시스템이다. 본 발명에 따른 CPS 노드는 서버, 개인용 컴퓨터, 휴대용 통신 단말기 등에 내장되어 물리적 장치에 대한 정보를 가상화하여 저장하고 정보를 기반으로 물리적 장치를 제어할 수 있는 제어부이다.The virtual physics system (CPS) is a system in which physical devices are physically converted into virtual spaces in order to facilitate control of physical devices and to minimize time and space wasted in controlling the physical devices. The CPS node according to the present invention is a control unit which is embedded in a server, a personal computer, a portable communication terminal, and the like to virtualize and store information on a physical device and control the physical device based on the information.
CPS 노드들(130, 140)은 하여금 각 기능들(150, 160)이 수행되도록 물리적 장치들을 제어할 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 제1 CPS 노드(130)는 예를 들어 차량 엔진 냉각 기능이 수행되도록 냉각 장치를 제어할 수 있고, 제2 CPS 노드(140)는 예를 들어 에어컨 기능이 수행되도록 에어컨 장치를 제어할 수 있다. CPS 노드는 중앙 노드(110)의 신호를 받아서 특정 물리적 장치들로 하여금 다른 기능을 수행하도록 제어할 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 제2 CPS 노드(140)는 중앙 노드(110)의 신호를 받아서 에어컨 장치로 하여금 차량 엔진 냉각 기능을 수행하도록 제어할 수 있다. CPS 노드는 특정 물리적 장치로 하여금 하나의 기능 외에도 여러 개의 기능을 수행하도록 제어할 수 있다. 예를 들어, 제2 CPS 노드(140)는 에어컨 장치로 하여금 차량 엔진 냉각 기능을 수행하도록 제어할 수 있을 뿐만 아니라 가용할 수 있는 태스크의 적어도 일부를 사용하여 에어컨 기능을 수행하도록 제어할 수 있다.The
중앙 노드(110)는 라우팅 테이블을 기반으로 하여 마이그레이션을 제어할 수 있다. 라우팅 테이블은 시스템의 특정 기능에 장애가 생긴 경우, 특정 기능에 대한 프로세스가 마이그레이션되는 가이드를 제공한다. 라우팅 테이블은 중앙 노드(110)가 부여한 각 기능들의 우선 순위를 기반으로 생성된다. 중앙 노드(110)는 라우팅 테이블을 사용하여, 장애가 발생한 기능을 제어하던 CPS 노드의 프로세스를, 대체 가능한 기능을 제어하는 CPS 노드에 마이그레이션한다. 예를 들어, 중앙 노드(110)는 우선 순위에 기반한 라우팅 테이블을 사용하여, 장애가 발생한 차량 엔진 냉각 기능(150)을 제어하던 제1 CPS 노드(130)의 프로세스를 에어컨 기능을 제어하던 제2 CPS 노드(140)에 마이그레이션할 수 있다.The
도 2는 라우팅 테이블을 설명하기 위한 도면이다.2 is a diagram for explaining a routing table.
도 2를 참조하면, 라우팅 테이블을 종축에 기능들(211 내지 216), 횡축에 CPS 노드들(221 내지 226)이 있다. 라우팅 테이블에서 회색으로 채워진 대각선 방향으로는, 특정 기능에 장애가 발생하기 전 CPS 노드들 각각이 제어 중인 기능들을 나타낸다. 제1 CPS 노드는 제1 기능을 제어하고, 제2 CPS 노드는 제2 기능을 제어하고, 제3 CPS 노드는 제3 기능을 제어하고, 제4 CPS 노드는 제4 기능을 제어하고, 제5 CPS 노드는 제5 기능을 제어하고, 제6 CPS 노드는 제6 기능을 제어한다. 각 기능들 옆에 괄호 처리된 숫자는 기능의 우선 순위를 나타내고, 각 CPS 노드 옆에 괄호 처리된 숫자는 해당 노드가 제어하는 기능의 우선 순위를 나타낸다. 우선 순위는 기능에만 부여되는 것이지만, 설명의 편의를 위하여 해당 기능을 제어하는 노드 옆에도 우선 순위를 표기하였다.Referring to FIG. 2, there are
중앙 노드(110)는 제1 기능에 1 순위, 제2 기능에 2 순위, 제3 기능에 3 순위, 제4 기능에 4 순위, 제5 기능에 5 순위, 제6 기능에 6 순위를 부여한다. 중앙 노드(110)는 특정 CPS 노드가 장애로 인해 기능을 수행할 수 없게 된 경우, 대체할 수 있는 기능을 제어하는 CPS 노드에 프로세스를 마이그레이션한다. 예를 들어, 제1 CPS 노드(221)에 장애가 발생한 경우, 제1 기능(211)이 수행되지 않기 때문에, 중앙 노드(110)는 대체할 수 있는 기능을 제어하는 제5 CPS 노드(225)를 결정하고, 제1 CPS 노드(221)가 제어하던 기능 및 제5 CPS 노드(225)가 제어하는 기능의 우선 순위를 비교할 수 있다. 제5 CPS 노드(225)가 제어하는 제5 기능(215)는 제1 CPS 노드(221)가 제어하던 제1 기능(211)에 비해 우선 순위가 낮으므로 제5 CPS 노드(225)에 제1 CPS 노드(221)의 프로세스를 마이그레이션할 수 있다.The
대체할 수 있는 기능을 제어하는 CPS 노드가 둘 이상인 경우, 대체 가능 CPS 노드끼리의 우선 순위를 기반으로 마이그레이션할 수 있다. 예를 들어, 제2 CPS 노드(222)에 장애가 발생한 경우, 제2 기능(212)이 수행되지 않기 때문에, 중앙 노드(110)는 프로세스를 마이그레이션한다. 이 경우, 제3 CPS 노드(223) 및 제4 CPS 노드(224) 모두 제2 기능(212)을 대체할 수 있다. 중앙 노드(110)는 제3 CPS 노드(223)가 제어하는 제3 기능(213)이 제4 CPS 노드(224)가 제어하는 제4 기능(214)보다 우선 순위가 높다는 것을 판단하고, 제2 CPS 노드(222)의 프로세스를 우선 순위가 낮은 제4 CPS 노드(224)에 마이그레이션할 수 있다.If you have more than one CPS node that controls the replaceable feature, you can migrate based on the priority of the replaceable CPS nodes. For example, if the
제3 CPS 노드(223)에 장애가 발생한 경우, 제3 기능(213)이 수행되지 않기 때문에, 중앙 노드(110)는 프로세스를 마이그레이션한다. 이 경우, 제1 CPS 노드(221) 및 제6 CPS 노드(226) 모두 제3 기능(213)을 대체할 수 있다. 중앙 노드(110)는 제1 CPS 노드(221)가 제어하는 제1 기능(211)이 제6 CPS 노드(226)가 제어하는 제6 기능(216)보다 우선 순위가 높다는 것을 판단하고, 제3 CPS 노드(223)의 프로세스를 우선 순위가 낮은 제6 CPS 노드(226)에 마이그레이션할 수 있다.If the
제4 CPS 노드(224)에 장애가 발생한 경우, 제4 기능(214)이 수행되지 않기 때문에, 중앙 노드(110)는 프로세스를 마이그레이션한다. 이 경우, 제1 CPS 노드(221)가 제4 기능(214)을 대체할 수 있다. 제1 CPS 노드(221)가 제어하는 제1 기능(211)이 제4 CPS 노드(224)가 제어하는 제4 기능(214)보다 우선 순위가 높지만, 제4 기능(214)을 수행할 수 있는 CPS 노드는 제1 CPS 노드(221) 밖에 없으므로 이 경우엔 높은 우선 순위의 CPS 노드로 마이그레이션할 수 있다.If the
제5 CPS 노드(225)에 장애가 발생한 경우, 제5 기능(215)이 수행되지 않기 때문에, 중앙 노드(110)는 프로세스를 마이그레이션한다. 이 경우, 제3 CPS 노드(223) 및 제6 CPS 노드(226) 모두 제5 기능(215)을 대체할 수 있다. 중앙 노드(110)는 제3 CPS 노드(223)가 제 6 CPS 노드(226)보다 우선 순위가 높다는 것을 판단하고, 제5 CPS 노드(225)의 프로세스를 우선 순위가 낮은 제6 CPS 노드(226)에 마이그레이션할 수 있다.If the
제 6 CPS 노드(226)에 장애가 발생한 경우, 제6 기능(216)이 수행되지 않기 때문에, 중앙 노드(110)는 프로세스를 마이그레이션한다. 이 경우, 제2 CPS 노드(222) 및 제4 CPS 노드(224) 모두 제6 기능(216)을 대체할 수 있다. 중앙 노드(110)는 제2 CPS 노드(222)가 제 4 CPS 노드(224)보다 우선 순위가 높다는 것을 판단하고, 제6 CPS 노드(226)의 프로세스를 우선 순위가 낮은 제4 CPS 노드(224)에 마이그레이션할 수 있다.If the
중앙 노드(110)는 라우팅 테이블 외에도 CPS 노드 간의 인접성을 기반으로 프로세스를 마이그레이션할 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 제2 CPS 노드(222)에 장애가 발생한 경우, 중앙 노드(110)는 곧바로 우선 순위가 낮은 및 제4 CPS 노드(224)에 프로세스 마이그레이션을 하는 것이 아니라, 제2 CPS 노드(222)와 제3 CPS 노드(223) 또는 제4 CPS 노드(224) 간의 인접성을 고려해서 마이그레이션한다. 일 예로, 제2 CPS 노드(222)와 제3 CPS 노드(223) 간의 패킷 전송 속도가 제2 CPS 노드(222)와 제4 CPS 노드(224) 간의 패킷 전송 속도보다 빠르다면 제2 CPS 노드(222)와 제3 CPS 노드(223) 간의 인접성이 높은 것이므로, 중앙 노드(110)는 이를 고려하여 제3 CPS 노드(223)에 프로세스를 마이그레이션할 수 있다.The
도 3은 프로세스 마이그레이션 방법을 나타내는 흐름도이다.3 is a flowchart illustrating a process migration method.
도 3을 참조하면, 본 발명의 일 실시예에 따른 프로세스 마이그레이션 방법은 복수의 기능들 각각에 우선 순위를 부여하는 단계를 포함한다(S310). 예를 들어, 자동차 시스템에서, 자동차 엔진 냉각 기능, 에어컨 기능, 트랜스미션 기능, 브레이크 기능 등에 우선 순위를 부여할 수 있다.Referring to FIG. 3, the process migration method according to an embodiment of the present invention includes assigning a priority to each of the plurality of functions (S310). For example, in an automobile system, priority may be given to an automobile engine cooling function, an air conditioning function, a transmission function, a brake function, and the like.
기능들은 적어도 부분적으로 빅 데이터에 기반하여 우선 순위를 부여받을 수 있다. 예를 들어, 자동차 사고의 원인에 대한 빅 데이터, 자동자 부품 가격에 대한 빅 데이터 등을 수집하고 빅 데이터를 기반으로 하여 자동차의 각 기능에 대한 중요성을 판단하고, 중요성에 따라 각 기능들에 우선 순위를 부여할 수 있다. 일 예로, 차량 사고 원인에 대한 빅 데이터를 기반으로 하여 차량 엔진 냉각 기능에 에어컨 기능보다 더 큰 우선 순위를 부여할 수 있다.Functions may be prioritized based at least in part on big data. For example, it collects big data about the cause of car accidents, big data about auto parts price, and judges the importance of each function of the car based on big data and prioritizes each function according to the importance. Can be given. For example, the vehicle engine cooling function may be given a higher priority than the air conditioner function based on the big data on the cause of the vehicle accident.
기능들은 적어도 부분적으로 인공 지능에 기반하여 우선 순위를 부여받을 수 있다. 예를 들어, 인공 신경망(Artificial Neural Network, ANN)을 통해 예를 들어, 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 반지도 학습(Semi-supervised Learning), 강화 학습(Reinforcement Learning) 중 적어도 하나를 수행한 인공 지능을 사용하여, 각 기능들이 없을 때의 사고 확률을 계산하여 우선순위를 부여할 수 있다. 일 예로, 차량 엔진 냉각 기능이 없을 때가 에어컨 기능이 없을 때보다 차량 사고 확률이 높다는 것을 계산하여 차량 엔진 냉각 기능에 에어컨 기능보다 더 큰 우선 순위를 부여할 수 있다.Functions may be prioritized based at least in part on artificial intelligence. For example, through an artificial neural network (ANN), for example, supervised learning, unsupervised learning, semi-supervised learning, reinforcement learning Using artificial intelligence that has performed at least one of the above, priorities may be calculated by calculating an accident probability when each function is absent. For example, the vehicle engine cooling function may be given a higher priority than the air conditioner function by calculating that the vehicle accident probability is higher than that without the air conditioner function.
위와 같이 정의된 기준에 따라 자동으로 기능들에 우선 순위를 부여할 수도 있으나, 사용자의 임의의 따라 각 기능들의 우선 순위를 정할 수도 있다.Priority may be given to the functions automatically according to the criteria defined above, but the priority of each function may be determined according to the user's discretion.
S310 단계 이후, 복수의 기능들 각각을 제어하는 복수의 노드들을 모니터링하여 장애가 발생하여 기능이 수행되지 못하는 제1 노드를 판단하는 단계를 포함한다(S320). 예를 들어, 자동차 엔진 냉각 기능이 수행되지 않는 경우, 해당 기능을 제어하고 있는 자동차 엔진 냉각 노드를 판단한다.After operation S310, monitoring a plurality of nodes that control each of the plurality of functions may include determining a first node in which a function is not performed due to a failure (S320). For example, when the vehicle engine cooling function is not performed, the vehicle engine cooling node controlling the function is determined.
S320 단계 이후, 제1 노드가 제어하던 기능을 대신 제어할 수 있는 적어도 하나의 노드를 판단하는 단계를 포함한다(S330). 예를 들어, 자동차 엔진 냉각 기능을 대신하여 제어할 수 있는 노드로서 에어컨 노드 또는 환풍기 노드를 판단할 수 있다.After operation S320, the method may include determining at least one node that may control a function controlled by the first node (S330). For example, the air conditioner node or the fan node may be determined as a node that can be controlled in place of the vehicle engine cooling function.
S330 단계 이후, 우선 순위 또는 제1 노드와 상기 적어도 하나의 노드 간의 인접성을 기반으로, 제1 노드의 프로세스를 마이그레이션받을 제2 노드를 결정하는 단계를 포함할 수 있다(S340).After operation S330, the method may include determining a second node to which the process of the first node is to be migrated based on the priority or the proximity between the first node and the at least one node (S340).
장애로 인해 수행되지 않는 특정 기능을 수행하던 제1 노드를 대체할 수 있는 다른 노드가 여러 개 인경우, 우선 순위를 고려하여 제2 노드를 결정할 수 있다. 예를 들어, 차량 엔진 냉각 기능에 장애가 발생한 경우, 차량 엔진 냉각 기능을 대체할 수 있는 에어컨 기능과 외부 공기 주입 기능의 우선 순위를 고려하여 제2 노드를 결정할 수 있다. 사고 발생 확률을 기준으로 우선 순위를 부여했을 때, 에어컨 기능이 외부 공기 주입 기능보다 높은 우선 순위를 부여받는다면, 우선 순위가 낮은 외부 공기 주입 기능을 수행하는 노드가 차량 엔진 냉각 기능을 수행하는 노드의 프로세스를 마이그레이션 받기 위하여 결정될 수 있다.When there are several other nodes that can replace the first node that performed a specific function not performed due to a failure, the second node may be determined in consideration of the priority. For example, when a failure occurs in the vehicle engine cooling function, the second node may be determined in consideration of the priority of the air conditioner function and the external air injection function that can replace the vehicle engine cooling function. When priority is given based on the probability of an accident, if the air conditioner function is given a higher priority than the external air injection function, the node performing the lower priority external air injection function performs the vehicle engine cooling function. Can be determined to migrate the process.
제1 노드와 상기 적어도 하나의 노드 간의 인접성을 기반으로 제2 노드를 결정할 수 있다. 예를 들어, 차량 엔진 냉각 기능에 장애가 발생한 경우, 에어컨 기능을 제어하는 노드 또는 외부 공기 주입 기능을 제어하는 노드 각각과 차량 엔진 냉각 기능을 제어하던 노드와의 인접성을 판단하고, 제2 노드를 결정할 수 있다. 인접성은 노드 간의 패킷 전달 속도, 물리적인 거리 등 측정하여 계산할 수 있다. 일 예로, 차량 냉각 기능을 제어 하던 노드와 외부 공기 주입 기능을 제어하는 노드 간의 패킷 전달 속도가 차량 냉각 기능을 제어 하던 노드와 에어컨을 제어하는 노드 간의 패킷 전달 속도보다 빠르다면, 차량 엔진 냉각 기능은 외부 공기 주입 기능을 제어하는 노드가 제어할 수 있다. 즉, 차량 냉각 기능을 제어 하던 노드의 프로세스를 마이그레이션하기 위하여 외부 공기 주입 기능을 제어하는 노드가 제2 노드로 결정될 수 있다.The second node may be determined based on the proximity between the first node and the at least one node. For example, when a failure of the vehicle engine cooling function occurs, the proximity between each node controlling the air conditioner function or a node controlling the external air injection function and a node controlling the vehicle engine cooling function is determined, and a second node is determined. Can be. Proximity can be calculated by measuring packet forwarding speed and physical distance between nodes. For example, if the packet forwarding speed between the node controlling the vehicle cooling function and the node controlling the external air injection function is faster than the packet forwarding speed between the node controlling the vehicle cooling function and the node controlling the air conditioner, the vehicle engine cooling function may be The node controlling the external air injection function can control it. That is, in order to migrate the process of the node that controlled the vehicle cooling function, the node controlling the external air injection function may be determined as the second node.
우선 순위 또는 인접성 각각을 기반으로 제2 노드를 결정할 수 있을 뿐만 아니라, 우선 순위 및 인접성 모두를 부분적으로 고려하여 제2 노드를 결정할 수 있다. 예를 들어, 우선 순위 및 인접성이 모두 고려되고 수치로 확인할 수 있는 수식을 통하여 제2 노드를 결정할 수 있다.Not only can the second node be determined based on each of the priority or the neighbor, but the second node can be determined based in part on both the priority and the neighbor. For example, the second node may be determined through a formula that can consider both the priority and the adjacency and can be confirmed numerically.
S340 단계 이후, 제1 노드의 프로세스를 제2 노드에 마이그레이션하는 단계를 포함할 수 있다(S350). 예를 들어, 제1 노드의 기능인 차량 엔진 냉각 기능에 장애가 발생한 경우, 제2 노드인 에어컨 기능을 제어하는 노드가 차량 엔진 냉각 기능을 제어하도록 제1 노드의 프로세스를 제2 노드로 마이그레이션할 수 있다.After operation S340, the method may include migrating a process of the first node to the second node (S350). For example, when a failure of the vehicle engine cooling function, which is a function of the first node, the process of the first node may be migrated to the second node so that the node controlling the air conditioner function, which is the second node, controls the vehicle engine cooling function. .
이상과 같이 한정된 실시예를 들어 본 발명을 구체적으로 설명하였으나, 본 발명은 상술한 실시예에 한정되지 않는다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 청구 범위 및 발명의 설명을 보고 용이하게 변경, 수정하여 실시할 수 있으며 그러한 실시까지 본 발명의 청구범위의 기재 범위에 속하게 된다.Although the present invention has been described in detail with reference to the limited embodiments as described above, the present invention is not limited to the above-described embodiments. Those skilled in the art to which the present invention pertains can see and change the claims and the description of the invention, and can be easily changed, modified and carried out to the implementation within the scope of the claims of the present invention.
Claims (5)
상기 복수의 기능들 각각을 제어하는 복수의 노드들 중 장애가 발생한 제1 노드를 판단하는 단계;
복수의 노드들 중 상기 제1 노드의 기능을 대신 수행할 수 있는 적어도 하나의 노드를 판단하는 단계;
상기 우선 순위 및 상기 제1 노드와 상기 적어도 하나의 노드 간 인접성에 기반하여 상기 적어도 하나의 노드 중에서 상기 제1 노드의 프로세스를 마이그레이션할 제2 노드를 결정하는 단계; 및
상기 제1 노드의 프로세스를 상기 제2 노드로 마이그레이션하는 단계;
를 포함하고,
상기 복수의 기능들 각각에 우선 순위를 부여하는 단계는
상기 복수의 기능들 각각에 대한 중요성에 기초하여 상기 복수의 기능들 각각에 우선 순위를 부여하며, 주변 환경에 기초하여 임의의 시각 또는 정의된 시각마다 상기 복수의 기능들 각각에 우선 순위를 다시 부여하고,
상기 인접성은
상기 제1 노드와 상기 적어도 하나의 노드 간의 패킷 전달 속도 및 물리적인 거리를 측정하여 계산되며,
상기 제2 노드를 결정하는 단계는
상기 복수의 노드들, 상기 복수의 기능들 및 상기 우선 순위를 기반으로 하여 생성된 라우팅 테이블을 이용하여 상기 적어도 하나의 기능 중에서 상기 제1 노드의 프로세스를 마이그레이션할 제2 노드를 결정하고,
상기 제2 노드를 결정하는 단계는
상기 적어도 하나의 노드가 복수개인 경우 해당 노드가 제어하는 기능의 우선 순위 중 우선 순위가 낮은 노드를 상기 제2 노드로 결정하거나 패킷 전달 속도가 더 빠르거나 물리적인 거리가 더 가까운 노드를 상기 제2 노드로 결정하는 프로세스 마이그레이션 방법.Prioritizing each of the plurality of functions;
Determining a failed first node among a plurality of nodes controlling each of the plurality of functions;
Determining at least one node of the plurality of nodes capable of performing the function of the first node instead;
Determining a second node from among the at least one node to migrate a process of the first node based on the priority and the adjacency between the first node and the at least one node; And
Migrating a process of the first node to the second node;
Including,
Prioritizing each of the plurality of functions
Priority is given to each of the plurality of functions based on the importance of each of the plurality of functions, and re-prioritization of each of the plurality of functions at any time or at a defined time based on the surrounding environment. and,
The adjacency
Calculated by measuring a packet forwarding speed and a physical distance between the first node and the at least one node,
Determining the second node is
Determine a second node to migrate a process of the first node from among the at least one function by using a routing table generated based on the plurality of nodes, the plurality of functions, and the priority;
Determining the second node is
In the case where there are a plurality of the at least one node, a node having a lower priority among the priorities of functions controlled by the node is determined as the second node, or a node having a faster packet forwarding speed or a physical distance closer to the second node. How to migrate processes that determine by node.
상기 복수의 기능들 각각에 우선 순위를 부여하는 단계는
적어도 부분적으로 빅 데이터에 기반하여 상기 복수의 기능들 각각에 우선 순위를 부여하는 단계
를 포함하는 것을 특징으로 하는 프로세스 마이그레이션 방법.The method of claim 1,
Prioritizing each of the plurality of functions
Prioritizing each of the plurality of functions based at least in part on big data
Process migration method comprising the.
상기 복수의 기능들 각각에 우선 순위를 부여하는 단계는
적어도 부분적으로 인공 지능에 기반하여 상기 복수의 기능들 각각에 우선 순위를 부여하는 단계
를 포함하는 것을 특징으로 하는 프로세스 마이그레이션 방법.The method of claim 1,
Prioritizing each of the plurality of functions
Prioritizing each of the plurality of functions based at least in part on artificial intelligence
Process migration method comprising the.
상기 복수의 기능들 각각에 우선 순위를 부여하는 단계는
상기 복수의 기능들 각각의 소비 전력에 기반하여 상기 복수의 기능들 각각에 우선 순위를 부여하는 단계
를 포함하는 것을 특징으로 하는 프로세스 마이그레이션 방법.The method of claim 1,
Prioritizing each of the plurality of functions
Prioritizing each of the plurality of functions based on power consumption of each of the plurality of functions
Process migration method comprising the.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170160694A KR102035394B1 (en) | 2017-11-28 | 2017-11-28 | Automatic methodology for optimizing the techniques of process live migration |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170160694A KR102035394B1 (en) | 2017-11-28 | 2017-11-28 | Automatic methodology for optimizing the techniques of process live migration |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190061875A KR20190061875A (en) | 2019-06-05 |
KR102035394B1 true KR102035394B1 (en) | 2019-10-22 |
Family
ID=66845487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170160694A KR102035394B1 (en) | 2017-11-28 | 2017-11-28 | Automatic methodology for optimizing the techniques of process live migration |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102035394B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101489466B1 (en) * | 2008-12-17 | 2015-02-03 | 삼성전자 주식회사 | Apparatus and method for managing process migration |
JP6029165B2 (en) * | 2012-09-05 | 2016-11-24 | Necエンジニアリング株式会社 | Virtual machine management system, management server, and virtual machine management method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101264895B1 (en) * | 2011-05-12 | 2013-05-15 | 성균관대학교산학협력단 | Virtual machine migration processing apparatus and method thereof |
KR20130019698A (en) * | 2011-08-17 | 2013-02-27 | 주식회사 케이티 | Method for optimizing resource by using migration based on user's scheduler |
KR20160004152A (en) * | 2014-07-02 | 2016-01-12 | 삼성전자주식회사 | Method for setting up an priority of task in accordance with multi processor and a electronic device implementing the same |
-
2017
- 2017-11-28 KR KR1020170160694A patent/KR102035394B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101489466B1 (en) * | 2008-12-17 | 2015-02-03 | 삼성전자 주식회사 | Apparatus and method for managing process migration |
JP6029165B2 (en) * | 2012-09-05 | 2016-11-24 | Necエンジニアリング株式会社 | Virtual machine management system, management server, and virtual machine management method |
Also Published As
Publication number | Publication date |
---|---|
KR20190061875A (en) | 2019-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10834015B2 (en) | Dynamic resource allocation for sensor devices on a mixed-infrastructure network | |
US11962664B1 (en) | Context-based data valuation and transmission | |
KR101859302B1 (en) | Method and system for virtual network mapping protection and computer storage medium | |
US11775400B2 (en) | Redundant processing fabric for autonomous vehicles | |
EP3163446A1 (en) | Data storage method and data storage management server | |
US11520617B2 (en) | Modifying access privileges to secure resources in an autonomous vehicle | |
CN113734195B (en) | Unmanned vehicle control method and device, storage medium and unmanned vehicle | |
EP4148526A1 (en) | Simulation method for autonomous vehicle and method for controlling autonomous vehicle | |
CN114435382A (en) | Autonomous driving vehicle operation condition monitoring | |
KR20190035402A (en) | Apparatus and method for managing drone device based on error prediction | |
US20210316742A1 (en) | Error handling in an autonomous vehicle | |
KR102035394B1 (en) | Automatic methodology for optimizing the techniques of process live migration | |
Pollini et al. | Robustness to communication failures within formation flight | |
JP2021114701A (en) | Server, management device, apparatus management system, apparatus management method, and program | |
JPWO2019208624A1 (en) | In-vehicle communication devices, in-vehicle communication systems, communication methods and programs | |
US11947970B2 (en) | Information processing device, moving object, and information processing method | |
US20220214924A1 (en) | Scheduled data transfer | |
Boubakri et al. | A new architecture of autonomous vehicles: redundant architecture to improve operational safety | |
CN113251620B (en) | Method and device for controlling primary and secondary air conditioners and intelligent air conditioner | |
CN112636881B (en) | Signal switching method and device and vehicle | |
WO2018074043A1 (en) | Storage form searching device, storage form searching method, and program | |
WO2020139072A1 (en) | A method of migrating virtual machines | |
CN112987761B (en) | Control system, method and device of unmanned equipment | |
CN105827418A (en) | Communication network alarm correlation method and communication network alarm correlation device | |
CN116800590A (en) | Fault migration method, device, electronic equipment and computer storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |