KR102035394B1 - Automatic methodology for optimizing the techniques of process live migration - Google Patents

Automatic methodology for optimizing the techniques of process live migration Download PDF

Info

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
Application number
KR1020170160694A
Other languages
Korean (ko)
Other versions
KR20190061875A (en
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 KR1020170160694A priority Critical patent/KR102035394B1/en
Publication of KR20190061875A publication Critical patent/KR20190061875A/en
Application granted granted Critical
Publication of KR102035394B1 publication Critical patent/KR102035394B1/en

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
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2023Failover techniques
    • G06F11/203Failover 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

프로세스 라이브 마이그레이션 기술 최적화를 위한 자동화 기법{AUTOMATIC METHODOLOGY FOR OPTIMIZING THE TECHNIQUES OF PROCESS LIVE MIGRATION}AUTOMATIC METHODOLOGY FOR OPTIMIZING THE TECHNIQUES OF PROCESS LIVE MIGRATION}

본 발명은 다양한 기능을 가진 시스템들이 연결된 환경에서, 특정 시스템에 장애가 발생한 경우, 특정 시스템이 담당하던 프로세스를 같은 기능을 수행할 수 있는 다른 시스템으로 마이그레이션하는 방법과 관련된다.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 central node 110, a network 120, CPS nodes 130 and 140, and functions 150 and 160 necessary for the system. The central node 110 performs overall control of the system.

중앙 노드(110)는 기능들(150, 160)에 대하여 우선 순위를 부여할 수 있다. 우선 순위는 사용자가 미리 지정한 중요도 판단 기준을 통하여 각 기능들에 자동적으로 부여될 수 있고, 사용자에 의해 수동으로 부여될 수 있고 자동 부여 및 수동 부여 각각이 적어도 부분적으로 수행될 수도 있다. 예를 들어, 전력 소비가 큰 기능의 우선 순위가 낮게 되도록 기준이 지정된 경우, 중앙 노드(110)는 각 기능들의 전력 소비량을 파악하여 각 기능들의 우선 순위를 부여할 수 있다. 일 예로, 차량 사고에 있어서 각 기능의 중요성을 우선 순위의 기준으로 지정한 경우, 중앙 노드(110)는 차량 엔진 냉각 기능에 에어컨 기능보다 높은 우선 순위를 부여할 수 있다. The central node 110 may give priority to the functions 150, 160. Priority may be automatically assigned to each function through a user's predetermined importance determination criteria, may be manually assigned by the user, and each of automatic grant and manual grant may be performed at least partially. For example, when a criterion is specified such that the priority of a function having a large power consumption is low, the central node 110 may grasp the power consumption of each function and give priority to each function. For example, when the importance of each function is designated as a priority standard in a vehicle accident, the central node 110 may give the vehicle engine cooling function a higher priority than the air conditioner function.

중앙 노드(110)는 적어도 부분적으로 빅 데이터에 기반하여 기능들(150, 160)에 우선 순위를 부여할 수 있다. 예를 들어, 중앙 노드(110)는 자동차 사고의 원인에 대한 빅 데이터, 자동자 부품 가격에 대한 빅 데이터 등을 수집하고 빅 데이터를 기반으로 하여 자동차의 각 기능에 대한 중요성을 판단하고, 중요성에 따라 각 기능들에 우선 순위를 부여할 수 있다. 일 예로, 중앙 노드(110)는 차량 사고 원인에 대한 빅 데이터를 기반으로 하여 차량 엔진 냉각 기능에 에어컨 기능보다 더 큰 우선 순위를 부여할 수 있다.The central node 110 may give priority to the functions 150 and 160 based at least in part on the big data. For example, the central node 110 collects big data about the cause of the car accident, big data about the price of auto parts, and judges the importance of each function of the car based on the big data, Each function can be given priority. For example, the central node 110 may give the vehicle engine cooling function a higher priority than the air conditioner function based on the big data on the cause of the vehicle accident.

중앙 노드(110)는 적어도 부분적으로 인공 지능에 기반하여 기능들(150, 160)에 우선 순위를 부여할 수 있다. 예를 들어, 중앙 노드(110)는 인공 신경망(Artificial Neural Network, ANN)을 통해 예를 들어, 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 반지도 학습(Semi-supervised Learning), 강화 학습(Reinforcement Learning) 중 적어도 하나를 수행한 인공 지능을 사용하여, 각 기능들이 없을 때의 사고 확률을 계산하여 우선순위를 부여할 수 있다. 일 예로, 중앙 노드(110)는 차량 엔진 냉각 기능이 없을 때가 에어컨 기능이 없을 때보다 차량 사고 확률이 높다는 것을 계산하여 차량 엔진 냉각 기능에 에어컨 기능보다 더 큰 우선 순위를 부여할 수 있다.The central node 110 may prioritize the functions 150, 160 based at least in part on artificial intelligence. For example, the central node 110 may include, for example, supervised learning, unsupervised learning, semi-supervised learning, through an artificial neural network (ANN). Artificial intelligence, which has performed at least one of reinforcement learning, may be used to calculate and prioritize the probability of thinking in the absence of each function. For example, the central node 110 may calculate that the probability of a vehicle accident is higher when the vehicle engine cooling function is absent than when the vehicle engine cooling function is not provided, and may give the vehicle engine cooling function a higher priority than the air conditioner function.

중앙 노드(110)는 CPS 노드들(130, 140)을 모니터링하여 기능들(150, 160)이 수행되고 있는지 판단할 수 있다. 장애로 인하여 특정 기능이 수행되지 않는 경우, 중앙 노드(110)는 장애로 인해 수행되지 않는 특정 기능을 제어하던 CPS 노드의 프로세스를 다른 CPS 노드로 마이그레이션할 수 있다. 예를 들어, 차량 엔진 냉각 기능(150)이 장애로 인하여 수행되지 않는 경우, 중앙 노드(110)는 차량 엔진 냉각 기능을 제어하던 제1 CPS 노드(130)의 프로세스를 에어컨 기능을 제어하던 제2 CPS 노드(140)로 마이그레이션할 수 있다. 제2 CPS 노드(140)는 에어컨 기능을 제어하지 않고 차량 엔진 냉각 기능만을 수행할 수도 있으나, 중앙 노드(110)에 의해 최적화된 기능 분배를 통하여 차량 엔진 냉각 기능 뿐만 아니라 에어컨 기능도 제어할 수 있다.The central node 110 may monitor the CPS nodes 130 and 140 to determine whether the functions 150 and 160 are being performed. If a specific function is not performed due to a failure, the central node 110 may migrate a process of a CPS node that was controlling a specific function not performed due to the failure to another CPS node. For example, when the vehicle engine cooling function 150 is not performed due to a failure, the central node 110 performs a process of the first CPS node 130 that controls the vehicle engine cooling function and controls the air conditioner function. Migrate to CPS node 140. The second CPS node 140 may perform only the vehicle engine cooling function without controlling the air conditioner function, but may control not only the vehicle engine cooling function but also the air conditioner function through the function distribution optimized by the central node 110. .

일 예에서, 장애로 인해 수행되지 않는 특정 기능을 제어하던 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 central node 110 may migrate the process in consideration of the priority of the air conditioner function and the external air injection function that may replace the vehicle engine cooling function. When the priority is given based on the probability of the accident, if the central node 110 determines that the air conditioner function has a higher priority than the external air injection function, the CPS node performing the external air injection function is the process of the vehicle engine cooling function. You can take over.

중앙 노드(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 central node 110 may control process migration based on the proximity between the CPS nodes controlling the functions 150 and 160. For example, when a failure of the vehicle engine cooling function occurs, the central node 110 performs a vehicle engine cooling function with each of the second CPS node 140 controlling the air conditioner function or the third CPS node performing the external air injection function. The proximity of the first CPS node 130 that has been controlled may be determined, and the migration may be performed based on this. Proximity can be calculated by measuring packet forwarding speed and physical distance between CPS nodes. For example, if the packet forwarding speed between the first CPS node 130 and the second CPS node 140 is faster than the packet forwarding speed between the first CPS node 130 and the third CPS node, the first CPS node 130 The vehicle engine cooling function that was controlled by the second CPS node 140 may be controlled. That is, the process of the first CPS node 130 may be migrated to the second CPS node 140.

중앙 노드(110)는 우선 순위 및 인접성을 부분적으로 고려하여 마이그레이션할 수 있다. 예를 들어, 우선 순위 및 인접성이 모두 변수로 고려되고 수치로 확인할 수 있는 수식을 통하여 장애 발생 기능을 제어할 CPS 노드를 선택하고 프로세스를 마이그레이션할 수 있다.The central node 110 may migrate with partial consideration of priority and proximity. For example, you can select a CPS node to control the failure function and migrate the process through formulas that both priority and adjacency are considered variables and can be identified numerically.

중앙 노드(110)는 임의의 시각 또는 정의된 시각마다 각 기능들의 우선 순위를 다시 부여할 수 있다. 예를 들어, 중앙 노드(110)가 비가 오지 않는 환경에서 운행 시에 가장 높은 우선 순위를 차량 엔진 냉각 기능에 부여했더라도, 중앙 노드(110)는 임의의 시각 또는 정의된 시각마다 우선 순위를 다시 부여하여 비가 오는 환경에서 운행 시에 가장 높은 우선 순위를 와이퍼 기능에 부여할 수 있다.The central node 110 may re-prioritize each function at any time or at a defined time. For example, even if the central node 110 gives the vehicle engine cooling function the highest priority when driving in a rain-free environment, the central node 110 reprioritizes the priority at any time or at a defined time. This gives the wiper function the highest priority when driving in a rainy environment.

중앙 노드(110)와 CPS 노드들(130, 140)은 네트워크(120)를 통하여 통신한다. 중앙 노드(110) 또는 CPS 노드들(130, 140)은 네트워크(120)를 통하여 외부의 서버, 단말기, 센서 등과 통신할 수 있다. CPS 노드들(130, 140)은 네트워크 또는 전기적 신호를 주고 받을 수 있는 통신 경로를 통하여 물리적 장치를 제어할 수 있다.The central node 110 and the CPS nodes 130, 140 communicate over the network 120. The central node 110 or the CPS nodes 130 and 140 may communicate with an external server, terminal, sensor, or the like through the network 120. The CPS nodes 130 and 140 may control the physical device through a network or a communication path capable of transmitting and receiving electrical signals.

네트워크(120)는 예를 들어, 근거리 네트워크(Local Area Network; LAN), 도시권 네트워크(Metropolitan Area Network; MAN), 광역 네트워크(Wide Area Network; WAN), 세계적 네트워크(Global Area Network: GAN) 중 적어도 하나를 포함할 수 있다.The network 120 may include, for example, at least one of a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), and a global area network (GAN). It may include one.

가상 물리 시스템(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 CPS nodes 130, 140 may control the physical devices such that the respective functions 150, 160 are performed. For example, as shown in FIG. 1, the first CPS node 130 may control the cooling device such that, for example, the vehicle engine cooling function is performed, and the second CPS node 140 may be, for example, an air conditioner. The air conditioner may be controlled to perform the function. The CPS node may receive signals from the central node 110 to control specific physical devices to perform other functions. For example, as shown in FIG. 1, the second CPS node 140 may control the air conditioner to perform a vehicle engine cooling function by receiving a signal from the central node 110. The CPS node can control a specific physical device to perform several functions in addition to one function. For example, the second CPS node 140 may not only control the air conditioner to perform the vehicle engine cooling function but also control the air conditioner to perform the air conditioner function using at least some of the available tasks.

중앙 노드(110)는 라우팅 테이블을 기반으로 하여 마이그레이션을 제어할 수 있다. 라우팅 테이블은 시스템의 특정 기능에 장애가 생긴 경우, 특정 기능에 대한 프로세스가 마이그레이션되는 가이드를 제공한다. 라우팅 테이블은 중앙 노드(110)가 부여한 각 기능들의 우선 순위를 기반으로 생성된다. 중앙 노드(110)는 라우팅 테이블을 사용하여, 장애가 발생한 기능을 제어하던 CPS 노드의 프로세스를, 대체 가능한 기능을 제어하는 CPS 노드에 마이그레이션한다. 예를 들어, 중앙 노드(110)는 우선 순위에 기반한 라우팅 테이블을 사용하여, 장애가 발생한 차량 엔진 냉각 기능(150)을 제어하던 제1 CPS 노드(130)의 프로세스를 에어컨 기능을 제어하던 제2 CPS 노드(140)에 마이그레이션할 수 있다.The central node 110 may control the migration based on the routing table. The routing table provides a guide for migrating processes for specific functions in the event of a system failure. The routing table is generated based on the priority of each function assigned by the central node 110. The central node 110 uses the routing table to migrate the process of the CPS node that was controlling the failed function to the CPS node controlling the replaceable function. For example, the central node 110 uses the priority-based routing table to control the process of the first CPS node 130 that was controlling the failed vehicle engine cooling function 150 to control the air conditioner function. Migrate to node 140.

도 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 functions 211 through 216 on the vertical axis of the routing table and CPS nodes 221 through 226 on the horizontal axis. In the grayed diagonal direction in the routing table, each of the CPS nodes represents functions under control before a particular function fails. The first CPS node controls the first function, the second CPS node controls the second function, the third CPS node controls the third function, the fourth CPS node controls the fourth function, and the fifth The CPS node controls the fifth function, and the sixth CPS node controls the sixth function. The number in parentheses next to each function indicates the priority of the function, and the number in parentheses next to each CPS node indicates the priority of the function controlled by that node. Priority is given only to the function, but for convenience of explanation, priority is indicated next to the node controlling the function.

중앙 노드(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 central node 110 assigns the first rank to the first function, the second rank to the second function, the third rank to the third function, the fourth rank to the fourth function, the fifth rank to the fifth function, and the sixth rank to the sixth function. . The central node 110 migrates a process to a CPS node that controls the replaceable function if a particular CPS node is unable to perform a function due to a failure. For example, when a failure occurs in the first CPS node 221, since the first function 211 is not performed, the central node 110 selects the fifth CPS node 225 that controls the replaceable function. The priority of the function controlled by the first CPS node 221 and the function controlled by the fifth CPS node 225 may be compared. The fifth function 215 controlled by the fifth CPS node 225 has a lower priority than the first function 211 controlled by the first CPS node 221, so that the fifth function 215 is controlled by the fifth CPS node 225. The process of the CPS node 221 may be migrated.

대체할 수 있는 기능을 제어하는 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 second CPS node 222 fails, the central node 110 migrates the process because the second function 212 is not performed. In this case, both the third CPS node 223 and the fourth CPS node 224 may replace the second function 212. The central node 110 determines that the third function 213 controlled by the third CPS node 223 has a higher priority than the fourth function 214 controlled by the fourth CPS node 224, and the second function The process of the CPS node 222 may be migrated to the fourth CPS node 224 having a lower priority.

제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 third CPS node 223 fails, since the third function 213 is not performed, the central node 110 migrates the process. In this case, both the first CPS node 221 and the sixth CPS node 226 may replace the third function 213. The central node 110 determines that the first function 211 controlled by the first CPS node 221 has a higher priority than the sixth function 216 controlled by the sixth CPS node 226, and the third Processes of the CPS node 223 may be migrated to the sixth lower priority CPS node 226.

제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 fourth CPS node 224 fails, the central node 110 migrates the process because the fourth function 214 is not performed. In this case, the first CPS node 221 may replace the fourth function 214. The first function 211 controlled by the first CPS node 221 has a higher priority than the fourth function 214 controlled by the fourth CPS node 224, but may perform the fourth function 214. Since the CPS node is only the first CPS node 221, in this case, the CPS node may be migrated to a high priority CPS node.

제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 fifth CPS node 225 fails, the central node 110 migrates the process because the fifth function 215 is not performed. In this case, both the third CPS node 223 and the sixth CPS node 226 may replace the fifth function 215. The central node 110 determines that the third CPS node 223 has a higher priority than the sixth CPS node 226, and the process of the fifth CPS node 225 has a sixth CPS node 226 having a lower priority. ) Can be migrated.

제 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 sixth CPS node 226 fails, the central node 110 migrates the process because the sixth function 216 is not performed. In this case, both the second CPS node 222 and the fourth CPS node 224 may replace the sixth function 216. The central node 110 determines that the second CPS node 222 has a higher priority than the fourth CPS node 224, and determines that the process of the sixth CPS node 226 has a lower priority than the fourth CPS node 224. ) Can be migrated.

중앙 노드(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 central node 110 may migrate processes based on the proximity between the CPS nodes in addition to the routing table. For example, as shown in FIG. 2, when the second CPS node 222 fails, the central node 110 does not immediately migrate the process to the lower priority and fourth CPS node 224. The migration is performed in consideration of the proximity between the second CPS node 222 and the third CPS node 223 or the fourth CPS node 224. For example, if the packet transmission rate between the second CPS node 222 and the third CPS node 223 is faster than the packet transmission rate between the second CPS node 222 and the fourth CPS node 224, the second CPS node ( Since the proximity between the 222 and the third CPS node 223 is high, the central node 110 may migrate the process to the third CPS node 223 in consideration of this.

도 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.
제1항에 있어서,
상기 복수의 기능들 각각에 우선 순위를 부여하는 단계는
적어도 부분적으로 빅 데이터에 기반하여 상기 복수의 기능들 각각에 우선 순위를 부여하는 단계
를 포함하는 것을 특징으로 하는 프로세스 마이그레이션 방법.
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.
제1항에 있어서,
상기 복수의 기능들 각각에 우선 순위를 부여하는 단계는
적어도 부분적으로 인공 지능에 기반하여 상기 복수의 기능들 각각에 우선 순위를 부여하는 단계
를 포함하는 것을 특징으로 하는 프로세스 마이그레이션 방법.
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.
제1항에 있어서,
상기 복수의 기능들 각각에 우선 순위를 부여하는 단계는
상기 복수의 기능들 각각의 소비 전력에 기반하여 상기 복수의 기능들 각각에 우선 순위를 부여하는 단계
를 포함하는 것을 특징으로 하는 프로세스 마이그레이션 방법.
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.
삭제delete
KR1020170160694A 2017-11-28 2017-11-28 Automatic methodology for optimizing the techniques of process live migration KR102035394B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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