KR102073029B1 - Apparatus and method for assigning task, apparatus and method for requesting reallocation of task - Google Patents

Apparatus and method for assigning task, apparatus and method for requesting reallocation of task Download PDF

Info

Publication number
KR102073029B1
KR102073029B1 KR1020180089207A KR20180089207A KR102073029B1 KR 102073029 B1 KR102073029 B1 KR 102073029B1 KR 1020180089207 A KR1020180089207 A KR 1020180089207A KR 20180089207 A KR20180089207 A KR 20180089207A KR 102073029 B1 KR102073029 B1 KR 102073029B1
Authority
KR
South Korea
Prior art keywords
task
battery
slave nodes
battery consumption
slave
Prior art date
Application number
KR1020180089207A
Other languages
Korean (ko)
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 KR1020180089207A priority Critical patent/KR102073029B1/en
Application granted granted Critical
Publication of KR102073029B1 publication Critical patent/KR102073029B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities

Abstract

Disclosed are a task assigning apparatus and method, and a task reassignment requesting apparatus and method. The task assigning apparatus, which is included in a master node, according to an embodiment of the present invention comprises: a task generation part dividing a job assigned to the master node to generate a plurality of tasks; and a task assignment part assigning the plurality of tasks to a plurality of slave nodes based on performance information, a battery level, and a battery consumption rate for each of the plurality of slave nodes connected with the master node through a network.

Description

태스크 할당 장치 및 방법, 태스크 재할당 요청 장치 및 방법{APPARATUS AND METHOD FOR ASSIGNING TASK, APPARATUS AND METHOD FOR REQUESTING REALLOCATION OF TASK}Task assignment device and method, task reassignment request device and method {APPARATUS AND METHOD FOR ASSIGNING TASK, APPARATUS AND METHOD FOR REQUESTING REALLOCATION OF TASK}

개시되는 실시예들은 태스크 할당 또는 재할당 기술과 관련된다.The disclosed embodiments relate to task assignment or reassignment techniques.

최근 IT 기술이 급속히 성장함에 따라 IoT 기술과 관련된 다양한 연구가 진행되고 있다. 스마트폰 등 IoT 디바이스들은 크기가 작고 다양한 센서, 기능을 가져 사용자의 업무 효율성, 이동성, 장소 편의성 등을 증대시킬 수 있는데, 이러한 IoT 디바이스들은 제한된 컴퓨팅 능력 및 스토리지 용량, 배터리 용량 등으로 인해, 증강현실(AR) 또는 가상현실(VR) 서비스를 제공하는 어플리케이션 등 빅데이터 처리를 필요로 하는 어플리케이션을 동작시키는데 한계가 존재한다.Recently, with the rapid growth of IT technology, various researches related to IoT technology are being conducted. IoT devices such as smartphones are small in size and have various sensors and functions to increase user's work efficiency, mobility, and location convenience.These IoT devices are augmented reality due to limited computing power, storage capacity, and battery capacity. There is a limit in operating an application that requires big data processing, such as an application that provides (AR) or virtual reality (VR) service.

애플리케이션의 기능이 나날이 복잡하고 강력해지는 가운데 위와 같은 제약을 가진 IoT 디바이스로 다양한 어플리케이션을 빠르게 동작시키기 위해 IoT 디바이스들의 컴퓨팅 오프로딩(Computing Offloading)을 위한 다양한 연구가 진행 중이다. 컴퓨팅 오프로딩은 하나의 컴퓨팅 장치가 다른 컴퓨팅 장치의 컴퓨팅 자원을 이용하는 것을 의미한다. 예를 들어, 하나의 컴퓨팅 장치가 특정 계산이나 연산을 다른 컴퓨팅 장치에 위탁하고, 그 결과를 반환받는 것을 의미한다.As application functions become more complex and powerful, various researches are being conducted for computing offloading of IoT devices to operate various applications quickly with IoT devices with the above constraints. Computing offloading means that one computing device uses the computing resources of another computing device. For example, one computing device entrusts a particular calculation or operation to another computing device and receives the result.

이때, 하나의 컴퓨팅 장치가 특정 계산이나 연산에 대해 결과를 빠르게 반환 받기 위해서는 컴퓨팅 능력이 좋고 스토리지 용량이 큰 다른 컴퓨팅 장치의 컴퓨팅 자원을 이용하는 것이 바람직하다. 다만, 컴퓨팅 자원을 지원하는 다른 컴퓨팅 장치가 특정 계산이나 연산의 도중에 배터리가 모두 소모되어 전원이 차단되면, 그 계산이나 연산을 또 다른 컴퓨팅 장치에 위임하여 이를 다시 수행하도록 하여야 하기 때문에 어플리케이션의 동작을 위해 소요되는 시간이 늘어나게 된다.In this case, in order for one computing device to quickly return a result for a specific calculation or operation, it is desirable to use computing resources of another computing device having good computing power and large storage capacity. However, if another computing device supporting the computing resource is turned off due to the battery being depleted during a particular calculation or operation, the calculation or operation must be delegated to another computing device to perform the operation again. The time it takes to increase.

이러한 문제를 막기 위해서는 애초에 컴퓨팅 자원을 제공하는 컴퓨팅 장치들의 배터리 잔량을 고려하여 계산이나 연산을 위탁하는 방법을 생각해 볼 수 있다. 다만, 배터리 잔량이 곧 배터리가 모두 소모되기까지의 시간을 의미하는 것은 아니다. 예를 들어, 컴퓨팅 장치가 구비한 배터리의 스펙, 배터리의 노후 정도, 배터리가 충전 중인지 여부, 실행 중인 어플리케이션 등에 따라 배터리 소모율이 달라질 수 있고, 이에 따라, 배터리 잔량이 작더라도 배터리가 소모되기까지의 시간이 길 수 있고, 배터리 잔량이 많더라도 배터리가 모두 소모되기까지의 시간이 짧을 수 있다.In order to prevent such a problem, a method of entrusting a calculation or a calculation may be considered in consideration of the remaining battery power of computing devices that initially provide computing resources. However, the remaining battery charge does not mean the time until the batteries are exhausted. For example, the battery consumption rate may vary depending on the specifications of the battery included in the computing device, the degree of aging of the battery, whether the battery is being charged, the running application, and the like, and thus, even when the battery is small, the battery consumption may be reduced. The time may be long and the time until the battery is exhausted may be short even if the battery level is large.

또한, 만약 컴퓨팅 장치가 다른 컴퓨팅 장치의 배터리 소모율을 고려하여 특정 계산이나 연산을 위탁한다고 하더라도, 그 컴퓨팅 자원을 제공하는 컴퓨팅 장치의 배터리가 충전 중인지 여부, 실행 중인 어플리케이션 등에 따라 위탁 이후의 배터리 소모율이 위탁 당시의 배터리 소모율에 비해 증가할 수 있다. 이러한 경우, 컴퓨팅 자원을 지원하는 컴퓨팅 장치가 특정 계산이나 연산의 도중에 배터리가 모두 소모되어 전원이 차단될 수 있고, 이 경우 그 계산이나 연산을 또 다른 컴퓨팅 장치에 위임하여 이를 다시 수행하도록 하여야 하기 때문에 어플리케이션의 동작을 위해 소요되는 시간이 늘어나게 된다.In addition, even if the computing device entrusts a particular calculation or operation in consideration of the battery consumption rate of another computing device, the battery consumption rate after charging depends on whether the battery of the computing device providing the computing resource is being charged or the running application. It may increase compared to the battery consumption rate at the time of charging. In such a case, a computing device supporting a computing resource may run out of battery power during a particular calculation or operation, and the power may be cut off. In this case, the calculation or operation should be delegated to another computing device to perform it again. The time required for the operation of the application is increased.

개시되는 실시예들은 태스크 할당 장치 및 방법이나 태스크 재할당 요청 장치 및 방법을 제공하기 위한 것이다.Disclosed embodiments are to provide a task assignment apparatus and method or a task reassignment request apparatus and method.

개시되는 실시예들에 따르면, 마스터 노드에 포함된 태스크 할당 장치에 있어서, 상기 마스터 노드에 할당된 작업(job)을 분할하여 복수의 태스크(task)를 생성하는 태스크 생성부; 및 상기 마스터 노드와 네트워크를 통해 연결된 복수의 슬레이브 노드 각각에 대한 성능 정보, 배터리 잔량 및 배터리 소모율에 기초하여, 상기 복수의 태스크를 상기 복수의 슬레이브 노드에 할당하는 태스크 할당부를 포함하는, 태스크 할당 장치가 제공된다.According to the disclosed embodiments, a task allocation apparatus included in a master node, the apparatus comprising: a task generator for generating a plurality of tasks by dividing a job assigned to the master node; And a task allocator configured to allocate the plurality of tasks to the plurality of slave nodes based on performance information, battery remaining amount, and battery consumption rate of each of the plurality of slave nodes connected through the network with the master node. Is provided.

상기 성능 정보는, 상기 복수의 슬레이브 노드 각각에 대한 프로세서, 메모리 및 저장 공간에 관한 정보 중 적어도 하나를 포함할 수 있다.The performance information may include at least one of information on a processor, a memory, and a storage space for each of the plurality of slave nodes.

상기 태스크 할당부는, 상기 성능 정보 및 상기 배터리 잔량에 기초하여 상기 복수의 슬레이브 노드 중 하나 이상의 후보 슬레이브 노드를 선별하고, 상기 선별된 하나 이상의 후보 슬레이브 노드 각각에 대한 배터리 소모율에 기초하여 상기 복수의 태스크를 상기 선별된 하나 이상의 후보 슬레이브 노드에 할당할 수 있다.The task allocator may select one or more candidate slave nodes among the plurality of slave nodes based on the performance information and the battery remaining amount, and based on a battery consumption rate of each of the selected one or more candidate slave nodes. May be allocated to the selected one or more candidate slave nodes.

상기 태스크 할당부는, 상기 복수의 태스크를 상기 선별된 하나 이상의 후보 슬레이브 노드 중 상기 배터리 소모율이 최소인 슬레이브 노드에 할당할 수 있다.The task allocator may allocate the plurality of tasks to a slave node having the minimum battery consumption rate among the selected one or more candidate slave nodes.

상기 태스크 할당부는, 상기 복수의 슬레이브 노드 중 하나로부터 태스크의 재할당을 요청받은 경우, 상기 성능 정보, 배터리 잔량 및 배터리 소모율에 기초하여 상기 재할당을 요청받은 태스크를 상기 태스크의 재할당을 요청한 슬레이브 노드를 제외한 나머지 슬레이브 노드 중 하나에 재할당할 수 있다.When the task allocator receives a request for reassignment of a task from one of the plurality of slave nodes, the slave requesting the reassignment of the task to the task that is requested to be reassigned based on the performance information, battery level, and battery consumption rate. You can reassign one of the remaining slave nodes except the node.

개시되는 다른 실시예들에 따르면, 마스터 노드에 포함된 태스크 할당 장치에서 수행되는 태스크 할당 방법에 있어서, 상기 마스터 노드에 할당된 작업(job)을 분할하여 복수의 태스크(task)를 생성하는 동작; 및 상기 마스터 노드와 네트워크를 통해 연결된 복수의 슬레이브 노드 각각에 대한 성능 정보, 배터리 잔량 및 배터리 소모율에 기초하여, 상기 복수의 태스크를 상기 복수의 슬레이브 노드에 할당하는 동작을 포함하는, 태스크 할당 방법이 제공된다.According to other disclosed embodiments, a task assignment method performed in a task assignment apparatus included in a master node, the method comprising: generating a plurality of tasks by dividing a job allocated to the master node; And allocating the plurality of tasks to the plurality of slave nodes based on performance information, battery level, and battery consumption rate of each of the plurality of slave nodes connected through the network with the master node. Is provided.

상기 성능 정보는, 상기 복수의 슬레이브 노드 각각에 대한 프로세서, 메모리 및 저장 공간에 관한 정보 중 적어도 하나를 포함할 수 있다.The performance information may include at least one of information on a processor, a memory, and a storage space for each of the plurality of slave nodes.

상기 복수의 태스크를 상기 복수의 슬레이브 노드에 할당하는 동작은, 상기 성능 정보 및 상기 배터리 잔량에 기초하여 상기 복수의 슬레이브 노드 중 하나 이상의 후보 슬레이브 노드를 선별하는 동작; 및 상기 선별된 하나 이상의 후보 슬레이브 노드 각각에 대한 배터리 소모율에 기초하여 상기 복수의 태스크를 상기 선별된 하나 이상의 후보 슬레이브 노드에 할당하는 동작을 포함할 수 있다.Assigning the plurality of tasks to the plurality of slave nodes comprises: selecting one or more candidate slave nodes of the plurality of slave nodes based on the performance information and the battery remaining amount; And assigning the plurality of tasks to the selected one or more candidate slave nodes based on a battery consumption rate for each of the selected one or more candidate slave nodes.

상기 복수의 태스크를 상기 후보 슬레이브 노드에 할당하는 동작은, 상기 복수의 태스크를 상기 선별된 하나 이상의 후보 슬레이브 노드 중 상기 배터리 소모율이 최소인 슬레이브 노드에 할당할 수 있다.The operation of assigning the plurality of tasks to the candidate slave node may assign the plurality of tasks to a slave node having the minimum battery consumption rate among the selected one or more candidate slave nodes.

상기 복수의 슬레이브 노드 중 하나로부터 태스크의 재할당을 요청받은 경우, 상기 성능 정보, 배터리 잔량 및 배터리 소모율에 기초하여 상기 재할당을 요청받은 태스크를 상기 태스크의 재할당을 요청한 슬레이브 노드를 제외한 나머지 슬레이브 노드 중 하나에 재할당하는 동작을 더 포함할 수 있다.When a task reassignment is requested from one of the plurality of slave nodes, the remaining slaves other than the slave node requesting the reassignment of the task may be assigned to the task based on the performance information, battery level, and battery consumption rate. The method may further include reassigning one of the nodes.

개시되는 다른 실시예들에 따르면, 슬레이브 노드에 포함된 태스크 재할당 요청 장치에 있어서, 마스터 노드로부터 태스크를 할당받는 태스크 수령부; 상기 슬레이브 노드의 배터리 잔량 및 상기 태스크의 수행을 위해 필요한 배터리 양에 기초하여, 상기 태스크의 수행이 가능한지 여부를 판단하는 판단부; 및 상기 태스크의 수행이 불가능한 것으로 판단된 경우, 상기 마스터 노드로 상기 태스크의 재할당을 요청하는 태스크 재할당 요청부를 포함하는, 태스크 재할당 요청 장치가 제공된다.According to another embodiment of the present disclosure, a task reassignment request apparatus included in a slave node, the apparatus comprising: a task receiver configured to allocate a task from a master node; A determination unit that determines whether the task can be performed based on the remaining battery capacity of the slave node and the amount of battery required for the task; And a task reassignment request unit for requesting reassignment of the task to the master node when it is determined that the task cannot be performed.

상기 판단부는, 상기 슬레이브 노드의 배터리 잔량이 상기 태스크의 수행을 위해 필요한 배터리 양보다 적은 경우, 상기 태스크의 수행이 불가능한 것으로 판단할 수 있다.The determination unit may determine that the task cannot be performed when the battery level of the slave node is less than the battery amount required for the task.

개시되는 다른 실시예들에 따르면, 슬레이브 노드에 포함된 태스크 재할당 요청 장치에서 수행되는 태스크 재할당 요청 방법에 있어서, 마스터 노드로부터 태스크를 할당받는 동작; 상기 슬레이브 노드의 배터리 잔량 및 상기 태스크의 수행을 위해 필요한 배터리 양에 기초하여, 상기 태스크의 수행이 가능한지 여부를 판단하는 동작; 및 상기 태스크의 수행이 불가능한 것으로 판단된 경우, 상기 마스터 노드로 상기 태스크의 재할당을 요청하는 동작을 포함하는, 태스크 재할당 요청 방법이 제공된다.According to another embodiment of the present disclosure, a task reassignment request method performed in a task reassignment request apparatus included in a slave node, the method comprising: receiving a task from a master node; Determining whether the task can be performed based on a battery level of the slave node and a battery amount required for the task; And requesting reassignment of the task to the master node when it is determined that the task is impossible to perform.

상기 태스크의 수행이 가능한지 여부를 판단하는 동작은, 상기 슬레이브 노드의 배터리 잔량이 상기 태스크의 수행을 위해 필요한 배터리 양보다 적은 경우, 상기 태스크의 수행이 불가능한 것으로 판단할 수 있다.The operation of determining whether the task can be performed may include determining that the task cannot be performed when the remaining battery capacity of the slave node is smaller than the battery amount required for the task.

개시되는 실시예들에 따를 경우, 슬레이브 노드 각각에 대한 성능 정보, 배터리 잔량 외에 배터리 소모율을 추가적으로 고려하여 태스크를 슬레이브 노드에 할당함으로써, 슬레이브 노드의 배터리가 방전되어 소요될 수 있는 태스크 재할당으로 인한 작업 처리 시간의 증가를 막을 수 있게 된다.According to the disclosed embodiments, the task is allocated to the slave node by additionally considering the battery consumption rate in addition to the performance information and the battery level of each slave node, so that the task of the task reassignment that the battery of the slave node may be discharged and consumed may be performed. The increase in processing time can be prevented.

개시되는 실시예들에 따를 경우, 태스크 재할당 요청 장치가 배터리 소모율이 고려되어 계산된 태스크의 수행을 위해 필요한 배터리 양에 기초하여 태스크의 재할당의 요청 여부를 결정함으로써, 슬레이브 노드의 배터리가 방전되어 소요될 수 있는 태스크 재할당으로 인한 작업 처리 시간을 감소시킬 수 있게 된다.According to the disclosed embodiments, the task reassignment request device determines whether to request the reallocation of the task based on the amount of battery required for the execution of the task calculated in consideration of the battery consumption rate, so that the battery of the slave node is discharged. This reduces work processing time due to task reassignment that may be required.

도 1은 일 실시예에 따른 태스크 할당 시스템의 블록도
도 2는 일 실시예에 따른 태스크 할당 장치의 블록도
도 3은 일 실시예에 따른 태스크 재할당 요청 장치의 블록도
도 4는 일 실시예에 따른 태스크 할당 방법의 흐름도
도 5는 일 실시예에 따른 태스크 재할당 요청 방법의 흐름도
도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
1 is a block diagram of a task assignment system according to an embodiment.
2 is a block diagram of a task allocating apparatus according to an exemplary embodiment.
3 is a block diagram of an apparatus for reassigning a task, according to an exemplary embodiment.
4 is a flowchart of a task assigning method according to an exemplary embodiment.
5 is a flowchart of a task reassignment request method according to an embodiment.
6 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments.

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to assist in a comprehensive understanding of the methods, devices, and / or systems described herein. However, this is only an example and the present invention is not limited thereto.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the present invention, which may vary according to intention or custom of a user or an operator. Therefore, the definition should be made based on the contents throughout the specification. The terminology used in the description is for the purpose of describing embodiments of the invention only and should not be limiting. Unless expressly used otherwise, the singular forms “a,” “an,” and “the” include plural forms of meaning. In this description, expressions such as "comprises" or "equipment" are intended to indicate certain features, numbers, steps, actions, elements, portions, or combinations thereof, and one or more than those described. It should not be construed to exclude the presence or possibility of other features, numbers, steps, actions, elements, portions or combinations thereof.

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to assist in a comprehensive understanding of the methods, devices, and / or systems described herein. However, this is only an example and the present invention is not limited thereto.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the present invention, which may vary according to intention or custom of a user or an operator. Therefore, the definition should be made based on the contents throughout the specification. The terminology used in the description is for the purpose of describing embodiments of the invention only and should not be limiting. Unless expressly used otherwise, the singular forms “a,” “an,” and “the” include plural forms of meaning. In this description, expressions such as "comprises" or "equipment" are intended to indicate certain features, numbers, steps, actions, elements, portions, or combinations thereof, and one or more than those described. It should not be construed to exclude the presence or possibility of other features, numbers, steps, actions, elements, portions or combinations thereof.

도 1은 일 실시예에 따른 태스크 할당 시스템(100)의 블록도이다.1 is a block diagram of a task assignment system 100 according to one embodiment.

도 1을 참조하면, 일 실시예에 따른 태스크 할당 시스템(100)은 마스터 노드(110)와 복수의 슬레이브 노드(120-1, 120-2, …, 120-n)를 포함한다.Referring to FIG. 1, the task assignment system 100 according to an embodiment includes a master node 110 and a plurality of slave nodes 120-1, 120-2,..., 120-n.

마스터 노드(110)는 작업(job)을 할당받을 수 있다. 예를 들어, 마스터 노드(110)는 사용자에 의해 작업(job)을 할당받을 수 있다. 마스터 노드(110)가 작업을 할당받은 경우, 그 작업을 분할하여 복수의 태스크(task)를 생성할 수 있다.The master node 110 may be assigned a job. For example, the master node 110 may be assigned a job by the user. When the master node 110 is assigned a task, the task may be divided to generate a plurality of tasks.

마스터 노드(110)는 생성된 복수의 태스크를 복수의 슬레이브 노드(120-1, 120-2, …, 120-n)에 할당할 수 있다. 이때, 마스터 노드(110)는 복수의 슬레이브 노드(120-1, 120-2, …, 120-n) 각각에 대한 성능 정보, 배터리 잔량 및 배터리 소모율을 고려하여 태스크를 할당할 수 있다. 예를 들어, 마스터 노드(110)는 복수의 슬레이브 노드(120-1, 120-2, …, 120-n) 중 성능이 상대적으로 우수하며, 배터리 잔량이 상대적으로 많고, 배터리 소모율이 상대적으로 적은 슬레이브 노드에 우선적으로 태스크를 할당할 수 있다.The master node 110 may assign the generated plurality of tasks to the plurality of slave nodes 120-1, 120-2, ..., 120-n. In this case, the master node 110 may allocate a task in consideration of performance information, battery remaining amount, and battery consumption rate of each of the plurality of slave nodes 120-1, 120-2, ..., 120-n. For example, the master node 110 has a relatively high performance among the plurality of slave nodes 120-1, 120-2,..., 120-n, and has a relatively high battery level and a relatively low battery consumption rate. Tasks can be assigned to slave nodes first.

슬레이브 노드(120)는 마스터 노드로부터 태스크를 할당받아 태스크를 수행한 후, 수행 결과를 마스터 노드(110)로 전송할 수 있다.The slave node 120 may receive a task from the master node, perform a task, and then transmit the result of the task to the master node 110.

한편, 마스터 노드(110)와 슬레이브 노드(120)는 스마트폰 등 IoT 디바이스일 수 있다. 복수 개의 IoT 디바이스가 존재할 때, 복수 개의 IoT 디바이스 중 성능이 상대적으로 우수하며, 배터리 잔량이 상대적으로 많고, 배터리 소모율이 상대적으로 적은 IoT 디바이스가 마스터 노드(110)로 선정될 수 있다. 이때, 마스터 노드(110)로 선정된 IoT 디바이스를 제외한 IoT 디바이스는 슬레이브 노드(120)로 볼 수 있다.Meanwhile, the master node 110 and the slave node 120 may be IoT devices such as a smartphone. When there are a plurality of IoT devices, an IoT device having a relatively good performance among a plurality of IoT devices, a relatively large battery remaining amount, and a relatively low battery consumption rate may be selected as the master node 110. At this time, the IoT device other than the IoT device selected as the master node 110 may be viewed as the slave node 120.

한편, 마스터 노드(110)와 슬레이브 노드(120)는 네트워크를 통해 연결될 수 있으며, 작업과 관련된 정보를 유/무선 통신을 통해 서로 주고받을 수 있다. 예를 들어, 마스터 노드(110)와 슬레이브 노드(120)는 태스크, 태스크의 수행 결과뿐만 아니라, 성능 정보, 배터리 잔량 및 배터리 소모율에 관한 정보를 서로 주고받을 수 있으며, 이를 공유할 수 있다.Meanwhile, the master node 110 and the slave node 120 may be connected through a network, and may exchange information related to a job with each other through wired / wireless communication. For example, the master node 110 and the slave node 120 may exchange information with respect to performance information, battery level, and battery consumption rate, as well as a task and a result of performing the task, and may share them.

한편, 마스터 노드(110)의 역할을 수행하던 IoT 디바이스가 배터리가 모두 소모되어 전원이 차단되는 경우, 슬레이브 노드의 역할을 수행하던 IoT 디바이스 중 성능이 상대적으로 우수하며, 배터리 잔량이 상대적으로 많고, 배터리 소모율이 상대적으로 적은 IoT 디바이스가 마스터 노드(110)로 선정될 수 있다.On the other hand, if the IoT device used to play the role of the master node 110 is all the battery power is cut off, the performance of the IoT device used as a slave node is relatively excellent, the remaining battery capacity is relatively high, An IoT device having a relatively low battery consumption rate may be selected as the master node 110.

한편, 마스터 노드(110)는 복수 개의 슬레이브 노드(120-1, 120-2, …, 120-n)와 하트 비트(heart beat)를 주고받음으로써 복수 개의 슬레이브 노드(120-1, 120-2, …, 120-n)와의 네트워크 연결 상태를 업데이트할 수 있다.Meanwhile, the master node 110 exchanges heartbeats with a plurality of slave nodes 120-1, 120-2,..., 120-n and transmits a heartbeat to the plurality of slave nodes 120-1, 120-2. , ..., 120-n) can be updated.

도 2는 일 실시예에 따른 태스크 할당 장치(200)의 블록도이다.2 is a block diagram of a task allocation apparatus 200 according to an exemplary embodiment.

도 2에 도시된 태스크 할당 장치(200)는 예를 들어, 도 1에 도시된 마스터 노드(110)에 포함된 일 구성으로 구현될 수 있다.The task assignment apparatus 200 illustrated in FIG. 2 may be implemented, for example, in one configuration included in the master node 110 illustrated in FIG. 1.

도 2를 참조하면, 일 실시예에 따른 태스크 할당 장치(200)는 태스크 생성부(210) 및 태스크 할당부(220)를 포함한다.Referring to FIG. 2, the task assignment apparatus 200 according to an exemplary embodiment includes a task generator 210 and a task assigner 220.

태스크 생성부(210)는 마스터 노드(110)에 할당된 작업을 분할하여 복수의 태스크를 생성한다.The task generator 210 generates a plurality of tasks by dividing a task assigned to the master node 110.

태스크 할당부(220)는 마스터 노드(110)와 네트워크를 통해 연결된 복수의 슬레이브 노드(120-1, 120-2, …, 120-n) 각각에 대한 성능 정보, 배터리 잔량 및 배터리 소모율에 기초하여, 생성된 태스크를 상기 복수의 슬레이브 노드에 할당한다. 여기서, 성능 정보는 복수의 슬레이브 노드(120-1, 120-2, …, 120-n) 각각에 대한 프로세서, 메모리 및 저장 공간에 관한 정보 중 적어도 하나를 포함할 수 있다.The task allocator 220 is configured based on performance information, battery level, and battery consumption rate of each of the plurality of slave nodes 120-1, 120-2,..., 120-n connected to the master node 110 through a network. Assigns the generated task to the plurality of slave nodes. Here, the performance information may include at least one of information on a processor, a memory, and a storage space for each of the plurality of slave nodes 120-1, 120-2,..., 120-n.

여기서, 배터리 소모율은 슬레이브 노드(120)에 태스크가 할당되기 전 슬레이브 노드(120)에서 실행 중인 모든 프로그램들에 의해 소모되는 단위 시간당 배터리 소모량일 수 있다. 실시예에 따라, 배터리 소모율은 태스크 할당 시를 기준으로 하여 설정된 시간 동안의 단위 시간당 배터리 누적 소모량일 수도 있다. 이는, 슬레이브 노드(120)의 사용자의 디바이스 사용 패턴에 따른 배터리 소모율을 고려하기 위함이다. 예를 들어, 단위 시간당 배터리 누적 소모량은 하기 수학식 1에 의해 계산될 수 있다.Here, the battery consumption rate may be a battery consumption per unit time consumed by all programs running in the slave node 120 before the task is assigned to the slave node 120. According to an embodiment, the battery consumption rate may be a cumulative amount of battery consumption per unit time for a set time based on the task assignment time. This is to consider the battery consumption rate according to the device usage pattern of the user of the slave node 120. For example, the cumulative battery consumption per unit time may be calculated by Equation 1 below.

[수학식 1][Equation 1]

Figure 112018075705041-pat00001
Figure 112018075705041-pat00001

여기서, T_BCR은 단위 시간당 배터리 누적 소모량을 의미한다. C_BCR은 주기적으로 측정되는 배터리 소모율 중 가장 최근에 측정된 배터리 소모율을 의미하며, B_BCR은 C_BCR이 측정되기 전을 기준으로 하여 계산된 단위 시간당 배터리 누적 소모량을 의미한다. 그리고, i는 슬레이브 노드의 식별 번호를 의미하며, COUNT는 배터리 소모율을 주기적으로 측정한 횟수를 의미한다.Here, T_BCR means the cumulative battery consumption per unit time. C_BCR refers to the battery consumption rate most recently measured among the battery consumption rates that are periodically measured, and B_BCR refers to the cumulative battery consumption per unit time calculated based on the C_BCR measurement. I denotes an identification number of a slave node, and COUNT means a number of times of periodically measuring a battery consumption rate.

태스크 할당부(220)는 복수의 슬레이브 노드(120-1, 120-2, …, 120-n) 중 성능 정보, 배터리 잔량 및 배터리 소모율이 우수한 슬레이브 노드에 우선적으로 태스크를 할당할 수 있다. 예를 들어, 태스크 할당부(220)는 성능 정보 및 배터리 잔량을 1차적으로 고려하여 후보 슬레이브 노드를 선별하고, 배터리 소모율을 2차적으로 고려하여 선별된 후보 슬레이브 노드 중 작업을 할당할 슬레이브 노드를 결정할 수 있다.The task allocator 220 may preferentially assign a task to a slave node having excellent performance information, a battery remaining amount, and a battery consumption rate among the plurality of slave nodes 120-1, 120-2,..., 120-n. For example, the task allocator 220 selects a candidate slave node based on the performance information and the remaining battery amount primarily, and selects a slave node to allocate a job among the selected candidate slave nodes based on the battery consumption rate. You can decide.

예를 들어, 태스크 할당부(220)는 복수의 슬레이브 노드(120-1, 120-2, …, 120-n) 각각에 대한 성능 정보 및 배터리 잔량에 기초하여 복수의 슬레이브 노드(120-1, 120-2, …, 120-n) 각각에 대해 태스크의 수행이 가능한지 여부를 판단함으로써, 복수의 슬레이브 노드(120-1, 120-2, …, 120-n) 중 태스크의 수행이 가능한 하나 이상의 후보 슬레이브 노드를 선별할 수 있다. 그리고, 태스크 할당부(220)는 선별된 하나 이상의 후보 슬레이브 노드 각각에 대한 배터리 소모율에 기초하여 생성된 복수의 태스크를 후보 슬레이브 노드에 할당할 수 있다. 예를 들어, 태스크 할당부(220)는 태스크를 선별된 하나 이상의 후보 슬레이브 노드 중 배터리 소모율이 최소인 슬레이브 노드에 할당할 수 있다.For example, the task allocator 220 may display the plurality of slave nodes 120-1 based on the performance information and the remaining battery capacity of each of the plurality of slave nodes 120-1, 120-2,..., 120-n. One or more of the plurality of slave nodes 120-1, 120-2,..., 120-n can perform the task by determining whether the task can be performed for each of the 120-2,. Candidate slave nodes may be selected. The task allocator 220 may allocate a plurality of tasks generated based on a battery consumption rate of each of the selected one or more candidate slave nodes to the candidate slave nodes. For example, the task allocator 220 may assign a task to a slave node having a minimum battery consumption rate among one or more selected candidate slave nodes.

한편, 태스크 할당부(220)는 복수의 슬레이브 노드 중 하나로부터 태스크의 재할당을 요청받은 경우, 성능 정보, 배터리 잔량 및 배터리 소모율에 기초하여 재할당을 요청받은 태스크를 태스크의 재할당을 요청한 슬레이브 노드를 제외한 나머지 슬레이브 노드 중 하나에 재할당할 수 있다. 예를 들어, 태스크 할당부(220)는 태스크의 재할당을 요청한 슬레이브 노드를 제외한 나머지 슬레이브 노드 중 태스크의 수행이 가능한 하나 이상의 후보 슬레이브 노드를 선별하고, 선별된 후보 슬레이브 노드 각각에 대한 배터리 소모율에 기초하여 재할당을 요청받은 태스크를 후보 슬레이브 노드에 할당할 수 있다.On the other hand, when the task allocator 220 receives a request for reassignment of a task from one of a plurality of slave nodes, the slave requesting the reassignment of the task to the task that is requested to be reassigned based on the performance information, the battery level, and the battery consumption rate. You can reassign one of the remaining slave nodes except the node. For example, the task allocator 220 may select one or more candidate slave nodes capable of performing the task among the remaining slave nodes except for the slave node that requests the reassignment of the task, and determine a battery consumption rate for each of the selected candidate slave nodes. On the basis of this, the task that is requested to be reassigned may be allocated to the candidate slave node.

도 3은 일 실시예에 따른 태스크 재할당 요청 장치(300)의 블록도이다.3 is a block diagram of a task reassignment requesting apparatus 300 according to an embodiment.

도 3에 도시된 태스크 재할당 요청 장치(300)는 예를 들어, 도 1에 도시된 슬레이브 노드(120)에 포함된 일 구성으로 구현될 수 있다.The task reassignment request apparatus 300 illustrated in FIG. 3 may be implemented in one configuration included in, for example, the slave node 120 illustrated in FIG. 1.

도 3을 참조하면, 일 실시예에 따른 태스크 재할당 요청 장치(300)는 태스크 수령부(310), 판단부(320) 및 태스크 재할당 요청부(330)를 포함한다.Referring to FIG. 3, the task reassignment request apparatus 300 according to an embodiment includes a task receiver 310, a determiner 320, and a task reassignment requester 330.

태스크 수령부(310)는 마스터 노드로부터 태스크를 할당받는다.The task receiver 310 is assigned a task from the master node.

판단부(320)는 슬레이브 노드(120)의 배터리 잔량 및 할당받은 태스크의 수행을 위해 필요한 배터리 양에 기초하여, 할당받은 태스크의 수행이 가능한지 여부를 판단한다. 예를 들어, 판단부(320)는 슬레이브 노드(120)의 배터리 잔량이 할당받은 태스크의 수행을 위해 필요한 배터리 양보다 적은 경우, 할당받은 태스크의 수행이 불가능한 것으로 판단할 수 있다. 한편, 판단부(320)는 할당받은 태스크의 수행이 가능한지 여부를 설정된 시간 간격으로 판단할 수 있다.The determination unit 320 determines whether the assigned task can be performed based on the remaining battery capacity of the slave node 120 and the amount of battery required for performing the assigned task. For example, the determination unit 320 may determine that the assigned task is impossible to perform if the remaining battery capacity of the slave node 120 is less than the battery amount required for the execution of the assigned task. Meanwhile, the determination unit 320 may determine whether the assigned task can be performed at a set time interval.

여기서, 할당받은 태스크의 수행을 위해 필요한 배터리 양은 할당받은 태스크의 수행만을 고려한 배터리 소모율 및 태스크의 수행을 완료하기까지 소요될 예상 시간에 기초하여 계산될 수 있다. 구체적으로, 태스크의 수행을 위해 필요한 배터리 양은 하기의 수학식 2에 의해 계산될 수 있다.Herein, the amount of battery required for the execution of the assigned task may be calculated based on the battery consumption rate considering only the execution of the assigned task and the estimated time to complete the task. In detail, the amount of batteries required for performing the task may be calculated by Equation 2 below.

[수학식 2][Equation 2]

Figure 112018075705041-pat00002
Figure 112018075705041-pat00002

여기서, A_RB는 할당받은 태스크의 수행을 위해 필요한 배터리 양을 의미하며, A_BCR은 할당받은 태스크의 수행만을 고려한 배터리 소모율을 의미하며, A_Time은 태스크의 수행을 완료하기까지 소요될 예상 시간을 의미한다. 그리고, i는 슬레이브 노드의 식별 번호를 의미하며, j는 할당받은 작업의 식별 번호를 의미한다.Here, A_RB refers to the amount of battery required for the execution of the assigned task, A_BCR refers to the battery consumption rate considering only the execution of the assigned task, and A_Time refers to the estimated time to complete the task. I denotes an identification number of a slave node, and j denotes an identification number of an assigned job.

여기서, 할당받은 태스크의 수행만을 고려한 배터리 소모율(A_BCR)은 할당받은 태스크가 수행 중일 때의 배터리 잔량 및 할당받은 태스크가 수행 중이지 않을 때의 배터리 잔량에 기초하여 계산될 수 있다. 구체적으로, 할당받은 태스크의 수행만을 고려한 배터리 소모율(A_BCR)은 하기의 수학식 3에 의해 계산될 수 있다.Here, the battery consumption rate A_BCR considering only the execution of the assigned task may be calculated based on the remaining battery capacity when the assigned task is being performed and the remaining battery capacity when the assigned task is not being performed. Specifically, the battery consumption rate A_BCR considering only the execution of the assigned task may be calculated by Equation 3 below.

[수학식 3][Equation 3]

Figure 112018075705041-pat00003
Figure 112018075705041-pat00003

Action_BC는 할당받은 태스크가 수행 중일 때의 배터리 잔량을 의미하며, Base_BC는 할당받은 태스크가 수행 중이지 않을 때의 배터리 잔량을 의미한다. 그리고, COUNT는 배터리 소모율을 주기적으로 측정한 횟수를 의미한다.Action_BC refers to the battery level when the assigned task is running, and Base_BC refers to the battery level when the assigned task is not running. And, COUNT is the number of times the battery consumption rate is measured periodically.

한편, 배터리 잔량(BC)은 슬레이브 노드의 잔여 배터리량 및 슬레이브 노드의 총 배터리량에 기초하여 계산될 수 있다. 구체적으로, 배터리 잔량(BC)은 하기의 수학식 4에 의해 계산될 수 있다.Meanwhile, the battery remaining amount BC may be calculated based on the remaining battery amount of the slave node and the total battery amount of the slave node. Specifically, the battery remaining amount BC may be calculated by Equation 4 below.

[수학식 4][Equation 4]

Figure 112018075705041-pat00004
Figure 112018075705041-pat00004

CB는 슬레이브 노드의 잔여 배터리량을 의미하며, TB는 슬레이브 노드의 총 배터리량을 의미한다.CB means the remaining battery amount of the slave node, TB means the total battery amount of the slave node.

한편, 태스크의 수행을 완료하기까지 소요될 예상 시간(A_Time)은 태스크의 예상 종료 시간 및 태스크의 시작 시간에 기초하여 계산될 수 있다. 구체적으로, 태스크의 수행을 완료하기까지 소요될 예상 시간(A_Time)은 하기의 수학식 5에 의해 계산될 수 있다.Meanwhile, the estimated time A_Time to complete the execution of the task may be calculated based on the expected end time of the task and the start time of the task. In detail, an expected time A_Time to complete the execution of the task may be calculated by Equation 5 below.

[수학식 5][Equation 5]

Figure 112018075705041-pat00005
Figure 112018075705041-pat00005

End_Action은 태스크의 예상 종료 시간을 의미하며, Start_Action은 태스크의 시작 시간을 의미한다.End_Action means the expected end time of the task, and Start_Action means the start time of the task.

한편, 할당받은 태스크의 수행을 위해 필요한 배터리 양은 할당받은 태스크의 수행 외의 다른 프로그램의 실행도 고려한 배터리 소모율 및 태스크의 수행을 완료하기까지 소요될 예상 시간에 기초하여 계산될 수도 있다.Meanwhile, the amount of battery required for the execution of the assigned task may be calculated based on the battery consumption rate considering the execution of other programs besides the execution of the assigned task and the estimated time to complete the task.

도 4는 본 발명의 일 실시예에 따른 태스크 할당 방법의 흐름도이다.4 is a flowchart of a task assignment method according to an embodiment of the present invention.

도 4에 도시된 방법은 예를 들어, 도 2에 도시된 태스크 할당 장치(200)에 의해 수행될 수 있다.The method shown in FIG. 4 may be performed by the task assignment apparatus 200 shown in FIG. 2, for example.

도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.In the flowchart shown, the method is divided into a plurality of steps, but at least some of the steps may be performed in a reverse order, in combination with other steps, omitted together, divided into detailed steps, or not shown. One or more steps may be added and performed.

먼저, 태스크 할당 장치(200)는 마스터 노드(110)에 할당된 작업을 분할하여 복수의 태스크를 생성한다(410).First, the task assignment apparatus 200 generates a plurality of tasks by dividing a task assigned to the master node 110 (410).

다음으로, 태스크 할당 장치(200)는 마스터 노드(110)와 네트워크를 통해 연결된 복수의 슬레이브 노드(120-1, 120-2, …, 120-n) 각각에 대한 성능 정보, 배터리 잔량 및 배터리 소모율에 기초하여, 생성된 태스크를 상기 복수의 슬레이브 노드(120-1, 120-2, …, 120-n)에 할당한다(420).Next, the task assignment apparatus 200 may perform performance information on each of the plurality of slave nodes 120-1, 120-2,..., 120-n connected to the master node 110 through a network, a battery remaining amount, and a battery consumption rate. Based on the generated task, the generated task is allocated to the plurality of slave nodes 120-1, 120-2,..., 120-n (420).

예를 들어, 태스크 할당 장치(200)는 성능 정보 및 배터리 잔량에 기초하여 복수의 슬레이브 노드(120-1, 120-2, …, 120-n) 중 생성된 태스크의 수행이 가능한 하나 이상의 후보 슬레이브 노드를 선별하고, 선별된 하나 이상의 후보 슬레이브 노드 각각에 대한 배터리 소모율에 기초하여 태스크를 후보 슬레이브 노드에 할당할 수 있다. 구체적으로, 태스크 할당 장치(200)는 생성된 태스크를 선별된 하나 이상의 후보 슬레이브 노드 중 배터리 소모율이 최소인 슬레이브 노드에 할당할 수 있다.For example, the task allocating apparatus 200 may perform at least one candidate slave capable of performing a task generated among the plurality of slave nodes 120-1, 120-2,..., 120-n based on the performance information and the battery remaining amount. The node may be selected and a task may be assigned to the candidate slave node based on the battery consumption rate for each of the selected one or more candidate slave nodes. In detail, the task allocating apparatus 200 may allocate the generated task to a slave node having a minimum battery consumption rate among the selected one or more candidate slave nodes.

도 5는 본 발명의 일 실시예에 따른 태스크 재할당 요청 방법의 흐름도이다.5 is a flowchart illustrating a task reassignment request method according to an embodiment of the present invention.

도 5에 도시된 방법은 예를 들어, 도 3에 도시된 태스크 재할당 요청 장치(300)에 의해 수행될 수 있다.For example, the method illustrated in FIG. 5 may be performed by the task reassignment request apparatus 300 illustrated in FIG. 3.

도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.In the flowchart shown, the method is divided into a plurality of steps, but at least some of the steps may be performed in a reverse order, in combination with other steps, omitted together, divided into detailed steps, or not shown. One or more steps may be added and performed.

먼저, 태스크 재할당 요청 장치(300)는 마스터 노드(110)로부터 태스크를 할당받는다(510).First, the task reassignment request apparatus 300 receives a task from the master node 110 (510).

다음으로, 태스크 재할당 요청 장치(300)는 슬레이브 노드(120)의 배터리 잔량 및 할당된 태스크의 수행을 위해 필요한 배터리 양에 기초하여, 할당된 태스크의 수행이 가능한지 여부를 판단한다(520).Next, the task reassignment request apparatus 300 determines whether the assigned task can be performed based on the battery remaining amount of the slave node 120 and the battery amount required for the execution of the assigned task (520).

예를 들어, 태스크 재할당 요청 장치(300)는 슬레이브 노드(120)의 배터리 잔량이 할당된 태스크의 수행을 위해 필요한 배터리 양보다 적은 경우, 할당된 태스크의 수행이 불가능한 것으로 판단할 수 있다.For example, the task reassignment request apparatus 300 may determine that the assigned task is impossible to perform when the battery remaining amount of the slave node 120 is less than the battery amount required for the execution of the assigned task.

마지막으로, 태스크 재할당 요청 장치(300)는 할당된 태스크의 수행이 불가능한 것으로 판단된 경우, 마스터 노드(110)로 할당된 태스크의 재할당을 요청한다(530).Lastly, if it is determined that the task to be assigned is impossible to perform, the task reassignment request apparatus 300 requests reassignment of the assigned task to the master node 110 (530).

도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다.6 is a block diagram illustrating and describing a computing environment 10 that includes a computing device suitable for use in the exemplary embodiments.

도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되는 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.In the illustrated embodiment, each component may have different functions and capabilities in addition to those described below, and may include additional components in addition to those described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 태스크 할당 장치(200) 또는 태스크 재할당 요청 장치(300)일 수 있다. 컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The illustrated computing environment 10 includes a computing device 12. In one embodiment, computing device 12 may be task assignment device 200 or task reassignment request device 300. Computing device 12 includes at least one processor 14, computer readable storage medium 16, and communication bus 18. The processor 14 may cause the computing device 12 to operate according to the example embodiments mentioned above. For example, processor 14 may execute one or more programs stored in computer readable storage medium 16. The one or more programs may include one or more computer executable instructions that, when executed by the processor 14, cause the computing device 12 to perform operations in accordance with an exemplary embodiment. Can be.

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer readable storage medium 16 is configured to store computer executable instructions or program code, program data and / or other suitable forms of information. The program 20 stored in the computer readable storage medium 16 includes a set of instructions executable by the processor 14. In one embodiment, computer readable storage medium 16 includes memory (volatile memory, such as random access memory, nonvolatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash Memory devices, or any other form of storage medium accessible by computing device 12 and capable of storing desired information, or a suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.The communication bus 18 interconnects various other components of the computing device 12, including the processor 14 and the computer readable storage medium 16.

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.Computing device 12 may also include one or more input / output interfaces 22 and one or more network communication interfaces 26 that provide an interface for one or more input / output devices 24. The input / output interface 22 and the network communication interface 26 are connected to the communication bus 18. The input / output device 24 may be connected to other components of the computing device 12 via the input / output interface 22. Exemplary input / output device 24 may include a pointing device (such as a mouse or trackpad), a keyboard, a touch input device (such as a touchpad or touchscreen), a voice or sound input device, various types of sensor devices, and / or imaging devices. Input devices, and / or output devices such as display devices, printers, speakers, and / or network cards. The example input / output device 24 may be included inside the computing device 12 as one component of the computing device 12, and may be connected to the computing device 12 as a separate device from the computing device 12. It may be.

한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.Meanwhile, embodiments of the present invention may include a program for performing the methods described herein on a computer, and a computer readable recording medium including the program. The computer-readable recording medium may include program instructions, local data files, local data structures, etc. alone or in combination. The media may be those specially designed and constructed for the purposes of the present invention, or those conventionally available in the field of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical recording media such as CD-ROMs, DVDs, and specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Hardware devices are included. Examples of such programs may include high-level language code that can be executed by a computer using an interpreter as well as machine code such as produced by a compiler.

이상의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The above detailed description should not be construed as limiting in all aspects but considered as illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.

10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 태스크 할당 시스템
110: 마스터 노드
120: 슬레이브 노드
200: 태스크 할당 장치
210: 태스크 생성부
220: 태스크 할당부
300: 태스크 재할당 요청 장치
310: 태스크 수령부
320: 판단부
330: 태스크 재할당 요청부
10: Computing Environment
12: computing device
14: Processor
16: computer readable storage media
18: communication bus
20: Program
22: I / O interface
24: input / output device
26: network communication interface
100: task assignment system
110: master node
120: slave node
200: task allocation device
210: task generator
220: task assignment unit
300: task reassignment request device
310: task receiver
320: judgment
330: task reassignment request unit

Claims (14)

마스터 노드에 포함된 태스크 할당 장치에 있어서,
상기 마스터 노드에 할당된 작업(job)을 분할하여 복수의 태스크(task)를 생성하는 태스크 생성부; 및
상기 마스터 노드와 네트워크를 통해 연결된 복수의 슬레이브 노드 각각에 대한 성능 정보, 배터리 잔량 및 배터리 소모율에 기초하여, 상기 복수의 태스크를 상기 복수의 슬레이브 노드에 할당하는 태스크 할당부를 포함하고,
상기 배터리 소모율은, 상기 태스크 할당 시를 기준으로 하여 기 설정된 시간 동안의 단위 시간당 배터리 누적 소모량이며,
상기 단위 시간당 배터리 누적 소모량은 아래의 수학식 1에 의하여 계산되는, 태스크 할당 장치.
[수학식 1]
Figure 112019093261960-pat00012

(이때, T_BCR은 상기 단위 시간당 배터리 누적 소모량, C_BCR은 가장 최근에 측정된 배터리 소모율, B_BCR은 상기 C_BCR이 측정되기 전을 기준으로 하여 계산된 상기 단위 시간당 배터리 누적 소모량, i는 상기 슬레이브 노드의 식별 번호, COUNT는 상기 배터리 소모율의 측정 횟수)
In the task assignment device included in the master node,
A task generator configured to generate a plurality of tasks by dividing a job assigned to the master node; And
And a task allocator configured to allocate the plurality of tasks to the plurality of slave nodes based on performance information, battery level, and battery consumption rate of each of the plurality of slave nodes connected through the network with the master node.
The battery consumption rate is a cumulative amount of battery consumption per unit time for a preset time based on the task assignment time.
The cumulative battery consumption per unit time is calculated by Equation 1 below.
[Equation 1]
Figure 112019093261960-pat00012

(T_BCR is the cumulative battery consumption per unit time, C_BCR is the most recently measured battery consumption rate, B_BCR is the battery accumulation consumption per unit time calculated based on before the C_BCR is measured, i is the identification of the slave node. Number, COUNT is the number of measurements of the battery consumption rate)
청구항 1에 있어서,
상기 성능 정보는, 상기 복수의 슬레이브 노드 각각에 대한 프로세서, 메모리 및 저장 공간에 관한 정보 중 적어도 하나를 포함하는, 태스크 할당 장치.
The method according to claim 1,
The performance information includes at least one of information on a processor, a memory, and a storage space for each of the plurality of slave nodes.
청구항 1에 있어서,
상기 태스크 할당부는, 상기 성능 정보 및 상기 배터리 잔량에 기초하여 상기 복수의 슬레이브 노드 중 하나 이상의 후보 슬레이브 노드를 선별하고, 상기 선별된 하나 이상의 후보 슬레이브 노드 각각에 대한 배터리 소모율에 기초하여 상기 복수의 태스크를 상기 선별된 하나 이상의 후보 슬레이브 노드에 할당하는, 태스크 할당 장치.
The method according to claim 1,
The task allocator may select one or more candidate slave nodes among the plurality of slave nodes based on the performance information and the battery remaining amount, and based on a battery consumption rate of each of the selected one or more candidate slave nodes. Assigning the selected one or more candidate slave nodes.
청구항 3에 있어서,
상기 태스크 할당부는, 상기 복수의 태스크를 상기 선별된 하나 이상의 후보 슬레이브 노드 중 상기 배터리 소모율이 최소인 슬레이브 노드에 할당하는, 태스크 할당 장치.
The method according to claim 3,
The task allocator assigns the plurality of tasks to a slave node having the minimum battery consumption rate among the selected one or more candidate slave nodes.
청구항 1에 있어서,
상기 태스크 할당부는, 상기 복수의 슬레이브 노드 중 하나로부터 태스크의 재할당을 요청받은 경우, 상기 성능 정보, 배터리 잔량 및 배터리 소모율에 기초하여 상기 재할당을 요청받은 태스크를 상기 태스크의 재할당을 요청한 슬레이브 노드를 제외한 나머지 슬레이브 노드 중 하나에 재할당하는, 태스크 할당 장치.
The method according to claim 1,
When the task allocator receives a request for reassignment of a task from one of the plurality of slave nodes, the slave requesting the reassignment of the task to the task that is requested to be reassigned based on the performance information, battery level, and battery consumption rate. A device that is reassigned to one of the remaining slave nodes except for the node.
마스터 노드에 포함된 태스크 할당 장치에서 수행되는 태스크 할당 방법에 있어서,
상기 마스터 노드에 할당된 작업(job)을 분할하여 복수의 태스크(task)를 생성하는 동작; 및
상기 마스터 노드와 네트워크를 통해 연결된 복수의 슬레이브 노드 각각에 대한 성능 정보, 배터리 잔량 및 배터리 소모율에 기초하여, 상기 복수의 태스크를 상기 복수의 슬레이브 노드에 할당하는 동작을 포함하고,
상기 배터리 소모율은, 상기 태스크 할당 시를 기준으로 하여 기 설정된 시간 동안의 단위 시간당 배터리 누적 소모량이며,
상기 단위 시간당 배터리 누적 소모량은 아래의 수학식 1에 의하여 계산되는, 태스크 할당 방법.
[수학식 1]
Figure 112019093261960-pat00013

(이때, T_BCR은 상기 단위 시간당 배터리 누적 소모량, C_BCR은 가장 최근에 측정된 배터리 소모율, B_BCR은 상기 C_BCR이 측정되기 전을 기준으로 하여 계산된 상기 단위 시간당 배터리 누적 소모량, i는 상기 슬레이브 노드의 식별 번호, COUNT는 상기 배터리 소모율의 측정 횟수)
In the task assignment method performed in the task assignment apparatus included in the master node,
Generating a plurality of tasks by dividing a job assigned to the master node; And
Allocating the plurality of tasks to the plurality of slave nodes based on performance information, battery level, and battery consumption rate of each of the plurality of slave nodes connected through the network with the master node;
The battery consumption rate is a cumulative amount of battery consumption per unit time for a preset time based on the task assignment time.
The cumulative battery consumption per unit time is calculated by Equation 1 below.
[Equation 1]
Figure 112019093261960-pat00013

(T_BCR is the cumulative battery consumption per unit time, C_BCR is the most recently measured battery consumption rate, B_BCR is the battery accumulation consumption per unit time calculated based on before the C_BCR is measured, i is the identification of the slave node. Number, COUNT is the number of measurements of the battery consumption rate)
청구항 6에 있어서,
상기 성능 정보는, 상기 복수의 슬레이브 노드 각각에 대한 프로세서, 메모리 및 저장 공간에 관한 정보 중 적어도 하나를 포함하는, 태스크 할당 방법.
The method according to claim 6,
The capability information includes at least one of information on a processor, a memory, and a storage space for each of the plurality of slave nodes.
청구항 6에 있어서,
상기 복수의 태스크를 상기 복수의 슬레이브 노드에 할당하는 동작은, 상기 성능 정보 및 상기 배터리 잔량에 기초하여 상기 복수의 슬레이브 노드 중 하나 이상의 후보 슬레이브 노드를 선별하는 동작; 및
상기 선별된 하나 이상의 후보 슬레이브 노드 각각에 대한 배터리 소모율에 기초하여 상기 복수의 태스크를 상기 선별된 하나 이상의 후보 슬레이브 노드에 할당하는 동작을 포함하는, 태스크 할당 방법.
The method according to claim 6,
Assigning the plurality of tasks to the plurality of slave nodes comprises: selecting one or more candidate slave nodes of the plurality of slave nodes based on the performance information and the battery remaining amount; And
And assigning the plurality of tasks to the selected one or more candidate slave nodes based on a battery consumption rate for each of the selected one or more candidate slave nodes.
청구항 8에 있어서,
상기 복수의 태스크를 상기 후보 슬레이브 노드에 할당하는 동작은, 상기 복수의 태스크를 상기 선별된 하나 이상의 후보 슬레이브 노드 중 상기 배터리 소모율이 최소인 슬레이브 노드에 할당하는, 태스크 할당 방법.
The method according to claim 8,
And allocating the plurality of tasks to the candidate slave node assigns the plurality of tasks to a slave node having the lowest battery consumption among the selected one or more candidate slave nodes.
청구항 6에 있어서,
상기 복수의 슬레이브 노드 중 하나로부터 태스크의 재할당을 요청받은 경우, 상기 성능 정보, 배터리 잔량 및 배터리 소모율에 기초하여 상기 재할당을 요청받은 태스크를 상기 태스크의 재할당을 요청한 슬레이브 노드를 제외한 나머지 슬레이브 노드 중 하나에 재할당하는 동작을 더 포함하는, 태스크 할당 방법.
The method according to claim 6,
When a task reassignment is requested from one of the plurality of slave nodes, the remaining slaves other than the slave node requesting the reassignment of the task may be assigned to the task based on the performance information, battery level, and battery consumption rate. And reassigning to one of the nodes.
삭제delete 청구항 10에 있어서,
상기 재할당을 요청한 슬레이브 노드는, 배터리 잔량이 상기 태스크의 수행을 위해 필요한 배터리 양보다 적은 경우, 상기 태스크의 수행이 불가능한 것으로 판단하고,
상기 태스크의 수행이 불가능한 경우, 상기 태스크의 재할당을 요청하는, 태스크 할당 방법.
The method according to claim 10,
The slave node requesting the reassignment determines that the task cannot be performed when the remaining battery amount is less than the battery amount required for the task,
Requesting reassignment of the task if the task cannot be performed.
슬레이브 노드에 포함된 태스크 재할당 요청 장치에서 수행되는 태스크 재할당 요청 방법에 있어서,
마스터 노드로부터 태스크를 할당받는 동작;
상기 슬레이브 노드의 배터리 잔량 및 상기 태스크의 수행을 위해 필요한 배터리 양에 기초하여, 상기 태스크의 수행이 가능한지 여부를 판단하는 동작; 및
상기 태스크의 수행이 불가능한 것으로 판단된 경우, 상기 마스터 노드로 상기 태스크의 재할당을 요청하는 동작을 포함하고,
상기 태스크의 수행을 위해 필요한 배터리 양은, 할당받은 상기 태스크의 수행만을 고려한 배터리 소모율 및 상기 태스크의 수행을 완료하기까지 소요될 예상 시간에 기초하여 계산되며,
상기 태스크의 수행만을 고려한 배터리 소모율은, 상기 태스크가 수행 중일 때의 배터리 잔량 및 상기 태스크가 수행 중이지 않을 때의 배터리 잔량에 기초하여 계산되는, 태스크 재할당 요청 방법.
A task reassignment request method performed in a task reassignment request apparatus included in a slave node,
Receiving a task from a master node;
Determining whether the task can be performed based on the remaining battery capacity of the slave node and the amount of battery required to perform the task; And
Requesting reassignment of the task to the master node if it is determined that the task cannot be performed;
The amount of battery required to perform the task is calculated based on the battery consumption rate considering only the assigned performance of the task and the estimated time to complete the task,
The battery consumption rate considering only the performance of the task is calculated based on the remaining battery power when the task is running and the remaining battery power when the task is not performing.
청구항 13에 있어서,
상기 태스크의 수행이 가능한지 여부를 판단하는 동작은, 상기 슬레이브 노드의 배터리 잔량이 상기 태스크의 수행을 위해 필요한 배터리 양보다 적은 경우, 상기 태스크의 수행이 불가능한 것으로 판단하는, 태스크 재할당 요청 방법.
The method according to claim 13,
The operation of determining whether the task can be performed, if the remaining battery capacity of the slave node is less than the amount of battery required to perform the task, the task reassignment request method.
KR1020180089207A 2018-07-31 2018-07-31 Apparatus and method for assigning task, apparatus and method for requesting reallocation of task KR102073029B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180089207A KR102073029B1 (en) 2018-07-31 2018-07-31 Apparatus and method for assigning task, apparatus and method for requesting reallocation of task

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180089207A KR102073029B1 (en) 2018-07-31 2018-07-31 Apparatus and method for assigning task, apparatus and method for requesting reallocation of task

Publications (1)

Publication Number Publication Date
KR102073029B1 true KR102073029B1 (en) 2020-02-05

Family

ID=69514706

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180089207A KR102073029B1 (en) 2018-07-31 2018-07-31 Apparatus and method for assigning task, apparatus and method for requesting reallocation of task

Country Status (1)

Country Link
KR (1) KR102073029B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070056311A (en) * 2005-11-29 2007-06-04 삼성전자주식회사 Method for distributed processing of data in mobile communication terminal and distributed system
JP5529114B2 (en) * 2008-04-21 2014-06-25 アダプティブ コンピューティング エンタープライジズ インク System and method for managing energy consumption in a computing environment
JP5585651B2 (en) * 2010-06-29 2014-09-10 富士通株式会社 Multi-core system, scheduling method and scheduling program
KR101656360B1 (en) * 2015-02-12 2016-09-22 소프트온넷(주) Cloud System for supporting auto-scaled Hadoop Distributed Parallel Processing System
KR20180072295A (en) * 2016-12-21 2018-06-29 세림티에스지(주) Dynamic job scheduling system and method for supporting real-time stream data processing in distributed in-memory environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070056311A (en) * 2005-11-29 2007-06-04 삼성전자주식회사 Method for distributed processing of data in mobile communication terminal and distributed system
JP5529114B2 (en) * 2008-04-21 2014-06-25 アダプティブ コンピューティング エンタープライジズ インク System and method for managing energy consumption in a computing environment
JP5585651B2 (en) * 2010-06-29 2014-09-10 富士通株式会社 Multi-core system, scheduling method and scheduling program
KR101656360B1 (en) * 2015-02-12 2016-09-22 소프트온넷(주) Cloud System for supporting auto-scaled Hadoop Distributed Parallel Processing System
KR20180072295A (en) * 2016-12-21 2018-06-29 세림티에스지(주) Dynamic job scheduling system and method for supporting real-time stream data processing in distributed in-memory environment

Similar Documents

Publication Publication Date Title
KR101812583B1 (en) Apparatus or task assignment, method for task assignment and a computer-readable storage medium
US20150309842A1 (en) Core Resource Allocation Method and Apparatus, and Many-Core System
JP2015001828A (en) Allocation program, allocation device, and allocation method
KR101941282B1 (en) Method of allocating a virtual machine for virtual desktop service
US20070053381A1 (en) Method, apparatus and computer program product for sharing resources
KR20110075295A (en) Job allocation method on multi-core system and apparatus thereof
TWI510931B (en) Master device, slave device and computing methods thereof for a cluster computing system
JP2011197852A (en) Management program, management device, and management method for virtual computer system
KR20130088513A (en) Task distribution method on multicore system and apparatus thereof
KR20100074920A (en) Apparatus and method for load balancing in multi-core system
JP2016024612A (en) Data processing control method, data processing control program, and data processing control apparatus
US8819239B2 (en) Distributed resource management systems and methods for resource management thereof
KR102045125B1 (en) Resource assignment method using Continuous Double Auction protocol in distributed processing environment, recording medium and distributed processing device applying the same
KR102073029B1 (en) Apparatus and method for assigning task, apparatus and method for requesting reallocation of task
JP6666553B2 (en) Information processing apparatus, job management method, and job management program
JPWO2019111411A1 (en) Cooperative distributed system, cooperative distributed management device, cooperative distributed method, and program
KR100478346B1 (en) Load balancing method based on graph-partitioning for cluster sever and the system
KR101755154B1 (en) Method and apparatus for power load balancing for heterogeneous processors
JP5435133B2 (en) Information processing apparatus, information processing apparatus control method, and program
JP2016038888A (en) Information processing system, information processing method and information processing program
JP5978673B2 (en) Information processing device
KR101393237B1 (en) Dynamic available resource reallocation based job allocation system and method in grid computing thereof
JP2015165362A (en) Information processing unit for measuring performance, performance measuring method and program therefor
JPWO2009113172A1 (en) Job allocation apparatus, control program and control method for job allocation apparatus
CN110750330A (en) Virtual machine creating method, system, electronic equipment and storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant