KR101898144B1 - Method and apparatus for a task scheduling scheme in energy harvesting driven system - Google Patents

Method and apparatus for a task scheduling scheme in energy harvesting driven system Download PDF

Info

Publication number
KR101898144B1
KR101898144B1 KR1020170034721A KR20170034721A KR101898144B1 KR 101898144 B1 KR101898144 B1 KR 101898144B1 KR 1020170034721 A KR1020170034721 A KR 1020170034721A KR 20170034721 A KR20170034721 A KR 20170034721A KR 101898144 B1 KR101898144 B1 KR 101898144B1
Authority
KR
South Korea
Prior art keywords
energy
task
amount
priority
scheduling
Prior art date
Application number
KR1020170034721A
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 KR1020170034721A priority Critical patent/KR101898144B1/en
Application granted granted Critical
Publication of KR101898144B1 publication Critical patent/KR101898144B1/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

A method for scheduling a task in a system driven by energy harvesting is disclosed. According to an embodiment of the present invention, the method for scheduling a task in a system driven by energy harvesting comprises the following steps: a task scheduling apparatus receives information on an exceptional situation which can be influence on energy harvesting; the task scheduling apparatus calculates the amount of available energy based on the remaining amount of energy in an energy storage and at least one of the amount of energy supplied through energy harvesting and the amount of energy consumed by performing a task; and the task scheduling apparatus adjusts a priority of the task based on the amount of available energy.

Description

에너지 하베스팅으로 구동되는 시스템에서 태스크 스케줄링 방법 및 장치 {Method and apparatus for a task scheduling scheme in energy harvesting driven system}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and apparatus for task scheduling in a system driven by energy harvesting,

본 발명은 에너지 하베스팅으로 구동되는 시스템에서 태스크를 스케줄링 하는 방법 및 그 방법을 수행하는 장치에 관한 것이다. 보다 자세하게는, 에너지 하베스팅 기술을 이용하여 구동에 필요한 에너지를 수급하는 디바이스에서, 에너지 수급을 미리 고려하여 태스크의 우선순위를 재조정하는 방법 및 그 방법을 수행하는 장치에 관한 것이다.The present invention relates to a method for scheduling tasks in a system driven by energy harvesting and an apparatus for performing the method. More particularly, the present invention relates to a method for re-adjusting a priority of a task in consideration of energy supply and demand in a device that receives energy required for driving using energy harvesting technology, and an apparatus for performing the method.

사물 인터넷(IoT; Internet of Things)이란 통신 가능한 모든 사물(Things)을 네트워크로 연결하여 인간과 사물, 사물과 사물 간에 언제 어디서나 소통할 수 있도록 하는 기술을 의미한다. 모든 객체는 사물로 분류될 수 있으며 근거리 또는 원거리 통신 기능을 탑재하여 센서 또는 데이터 생산 및 이용 가능한 모듈로 활용 가능하다.Internet of Things (IoT) is a technology that allows people to connect all things that can communicate with each other through a network so that they can communicate with people, objects, and objects anytime, anywhere. All objects can be classified as objects and can be used as sensors or data production and available modules with near or far communication capabilities.

IoT 기술은 스마트 홈, 스마트 가전 제어, 지능형 빌딩, 자동차, 개인 행동 분석, 헬스 케어 등의 분야에 다양하게 활용되고 있다. 특히, 가정, 사무실, 작업장 등의 공간의 조명 또는 전자 기기의 제어가 가능한 IoT 디바이스에 대한 개발이 활발히 이루어지고 있으며 사용자 단말기와 연동 가능한 형태로 구현되고 있다.IoT technology is used in various fields such as smart home, smart home appliance control, intelligent building, automobile, personal behavior analysis, and health care. Particularly, development of IoT devices capable of controlling illumination of spaces or electronic devices in homes, offices, workplaces, and the like is being actively carried out and implemented in a form capable of interlocking with user terminals.

이러한 IoT 기기의 활용을 더욱 높이기 위해서 에너지 하베스팅을 이용하기도 한다. 예를 들면 센서에 태양광 전지를 결합하여 센서의 구동에 필요한 에너지를 자체적으로 수급함으로써, 단순 배터리 기반의 센서에 비해 센서의 수명과 활용도를 높일 수 있다. 특히 전원 공급이 여의치 않은 환경에서 동작해야 하는 IoT 기기 및 장시간 동작이 필요한 웨어러블 기기의 활용도를 더욱 높일 수 있다.Energy harvesting is also used to increase the utilization of these IoT devices. For example, it is possible to increase the lifetime and utilization of a sensor compared to a simple battery-based sensor by joining a solar cell to a sensor and supplying energy necessary for driving the sensor itself. Particularly, the utilization of IoT devices that need to operate in an environment where the power supply is unlikely, and wearable devices that require long-time operation can be further enhanced.

이처럼 IoT 기기와 에너지 하베스팅을 접목하여 IoT 기기의 활용도를 높였음에도 불구하고, 에너지 하베스팅으로 구동되는 시스템의 태스크 스케줄링 방법은 아직도 배터리 기반으로 구동되는 시스템에서 크게 나아가고 있지 못하다. 예를 들면 단순하게 현재 기기에 저장되어 있는 에너지, 즉 배터리나 슈퍼 커패시터와 같은 에너지를 저장하는 스토리지 내의 에너지 잔여량을 기준으로 태스크를 스케줄링 한다.Despite increasing the utilization of IoT devices by combining IoT devices and energy harvesting, the task scheduling method of energy harvesting-driven systems is still far from being a battery-driven system. For example, simply schedules a task based on the energy stored in the current device, i.e., the amount of energy remaining in the storage that stores energy such as a battery or supercapacitor.

에너지 스토리지 내의 에너지 잔여량을 기준으로 하는 종래의 태스크 스케줄링 방법은 에너지 스토리지 내의 에너지 잔여량이 일정 수준 이하로 내려가면 태스크의 우선순위에 따라 태스크의 수행 여부를 결정한다. 그래서 우선순위가 높은 태스크는 에너지 스토리지 내의 에너지 잔여량이 낮아도 동작이 유지되며, 우선순위가 낮은 태스크는 에너지 스토리지 내의 에너지 잔여량이 낮아지면 동작을 멈추게 된다. 이러한 종래의 태스크 스케줄링 방법은 에너지 스토리지 내의 에너지 잔여량이 충분한 상태로 회복되기 전까지 그대로 유지된다.Conventional task scheduling method based on energy remaining amount in energy storage determines whether or not to perform a task according to the priority of the task when energy remaining amount in energy storage falls below a certain level. Therefore, high-priority tasks remain in operation even if the energy remaining in the energy storage is low, and low-priority tasks stop operating when the energy remaining in the energy storage is low. This conventional task scheduling method is maintained until the amount of energy remaining in the energy storage is restored to a sufficient state.

이러한 종래의 태스크 스케줄링 방법은 에너지 하베스팅을 통해 얻는 에너지의 양을 제대로 반영하지 못한다는 단점이 있다. 에너지 스토리지 내의 에너지 잔여량이 낮더라도 에너지 하베스팅을 통해 수급되는 에너지를 고려하면 충분히 태스크의 수행이 가능한 경우도 있기 때문이다. 이에 에너지 하베스팅을 고려하여 태스크를 스케줄링 할 수 있는 방법이 필요하다.Such a conventional task scheduling method has a disadvantage that it does not accurately reflect the amount of energy obtained through energy harvesting. Even if the amount of energy remaining in the energy storage is low, it is possible to perform the task sufficiently considering the energy supplied through the energy harvesting. There is a need for a method to schedule tasks considering energy harvesting.

본 발명이 해결하고자 하는 기술적 과제는 에너지 하베스팅으로 구동되는 시스템에서 태스크를 스케줄링 하는 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a method for scheduling a task in a system driven by energy harvesting and an apparatus for performing the method.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the above-mentioned technical problems, and other technical problems which are not mentioned can be clearly understood by those skilled in the art from the following description.

본 발명의 일 실시예에 따른 에너지 하베스팅으로 구동되는 시스템에서 태스크 스케줄링 방법은 태스크 스케줄링 장치가, 에너지 하베스팅에 영향을 줄 수 있는 예외 상황에 관한 정보를 수신하는 단계; 상기 태스크 스케줄링 장치가, 상기 예외 상황이 발생하는 경우, 상기 에너지 하베스팅을 통해 수급되는 에너지의 양 및 태스크의 수행으로 인해 소모되는 에너지의 양 중 적어도 하나와 에너지 스토리지 내의 에너지 잔여량에 기초하여, 가용 에너지 양을 연산하는 단계; 및 상기 태스크 스케줄링 장치가, 상기 가용 에너지 양에 기초하여 상기 태스크의 우선 순위를 조정하는 단계를 포함할 수 있다.The task scheduling method in a system driven by energy harvesting according to an exemplary embodiment of the present invention includes: receiving information on an exception situation that may affect energy harvesting; Wherein the task scheduling device is operable to determine whether or not an exception occurs when at least one of the amount of energy received through the energy harvesting and the amount of energy consumed due to the performance of the task, Calculating an amount of energy; And the task scheduling apparatus adjusting the priority of the task based on the amount of available energy.

바람직하게는, 상기 에너지 하베스팅은, 태양에너지를 이용한 에너지 하베스팅이고, 상기 예외 상황에 관한 정보는, 기상 정보이다.Preferably, the energy harvesting is energy harvesting using solar energy, and the information on the exceptional situation is weather information.

바람직하게는, 상기 가용 에너지 양을 연산하는 단계는, 상기 에너지 하베스팅을 통해 수급되는 에너지 양과 상기 에너지 스토리지 내의 에너지 잔여량을 더한 값에서 상기 태스크의 수행으로 인해 소모되는 에너지의 양을 빼는 단계를 포함할 수 있다.The computing of the amount of available energy may include subtracting the amount of energy consumed by the performance of the task from the amount of energy supplied through the energy harvesting plus the amount of energy remaining in the energy storage can do.

바람직하게는, 상기 태스크의 우선 순위를 조정하는 단계는, 상기 태스크의 수행 중에 상기 가용 에너지의 양이 부족한 상황이 발생할 것으로 예측되는 경우, 상기 태스크의 우선 순위를 낮추는 단계를 포함할 수 있다.Preferably, the step of adjusting the priority of the task may include lowering the priority of the task when it is predicted that a situation in which the amount of the available energy is insufficient during execution of the task.

바람직하게는, 상기 태스크의 우선 순위를 낮추는 단계는, 상기 태스크보다 태스크의 우선 순위가 높은 제1 태스크를 대상으로 상기 가용 에너지 양을 재연산하는 단계를 다시 수행하는 단계; 및 상기 제1 태스크의 수행 중에 상기 재연산 된 가용 에너지의 양이 부족한 상황이 발생할 것으로 예측되는 경우, 상기 제1 태스크의 우선 순위를 낮추는 단계를 포함할 수 있다.Preferably, the step of lowering the priority of the task further comprises: re-performing the step of re-executing the amount of available energy for the first task having a higher priority than the task; And lowering the priority of the first task when it is predicted that a situation in which the amount of the re-computed available energy is insufficient during execution of the first task is expected to occur.

바람직하게는, 상기 예외 상황에 관한 정보를 수신하지 못하는 경우, 기존의 태스크 스케줄링 정책을 그대로 유지하는 단계를 더 포함할 수 있다.The method may further include maintaining the existing task scheduling policy as it is when the information about the exception situation is not received.

본 발명의 일 실시예에 따른 에너지 하베스팅으로 구동되는 시스템에서 태스크 스케줄링 장치는 네트워크 인터페이스; 하나 이상의 프로세서; 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드 하는 메모리; 및 태스크 및 상기 태스크의 우선 순위를 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 에너지 하베스팅에 영향을 줄 수 있는 예외 상황에 관한 정보를 수신하는 오퍼레이션; 상기 예외 상황이 발생하는 경우, 상기 에너지 하베스팅을 통해 수급되는 에너지의 양 및 태스크의 수행으로 인해 소모되는 에너지의 양 중 적어도 하나와 에너지 스토리지 내의 에너지 잔여량에 기초하여, 가용 에너지 양을 연산하는 오퍼레이션; 및 상기 가용 에너지 양에 기초하여 상기 태스크의 우선 순위를 조정하는 오퍼레이션을 포함할 수 있다.In a system driven by energy harvesting according to an embodiment of the present invention, a task scheduling apparatus includes a network interface; One or more processors; A memory for loading a computer program executed by the processor; And a storage for storing a task and a priority of the task, the computer program comprising: an operation for receiving information on an exception situation that may affect energy harvesting; And an operation for calculating an amount of available energy based on at least one of the amount of energy supplied through the energy harvesting and the amount of energy consumed due to the performance of the task and the remaining energy amount in the energy storage when the exception occurs, ; And adjusting the priority of the task based on the amount of available energy.

바람직하게는, 상기 가용 에너지 양을 연산하는 오퍼레이션은, 상기 에너지 하베스팅을 통해 수급되는 에너지 양과 상기 에너지 스토리지 내의 에너지 잔여량을 더한 값에서 상기 태스크의 수행으로 인해 소모되는 에너지의 양을 빼는 오퍼레이션을 포함할 수 있다.Preferably, the operation for calculating the amount of available energy includes an operation of subtracting the amount of energy consumed due to the performance of the task from a value obtained by adding the amount of energy supplied through the energy harvesting and the amount of energy remaining in the energy storage can do.

바람직하게는, 상기 태스크의 우선 순위를 조정하는 오퍼레이션은, 상기 태스크의 수행 중에 상기 가용 에너지의 양이 부족한 상황이 발생할 것으로 예측되는 경우, 상기 태스크의 우선 순위를 낮추는 오퍼레이션을 포함할 수 있다.Preferably, the operation of adjusting the priority of the task may include an operation of lowering the priority of the task when it is predicted that a situation in which the amount of the available energy is insufficient during execution of the task.

바람직하게는, 상기 태스크의 우선 순위를 낮추는 오퍼레이션은, 상기 태스크보다 태스크의 우선 순위가 높은 제1 태스크를 대상으로 상기 가용 에너지 양을 재연산하는 단계를 다시 수행하는 오퍼레이션; 및 상기 제1 태스크의 수행 중에 상기 재연산 된 가용 에너지의 양이 부족한 상황이 발생할 것으로 예측되는 경우, 상기 제1 태스크의 우선 순위를 낮추는 오퍼레이션을 포함할 수 있다.Preferably, the operation of lowering the priority of the task may include: re-performing the step of re-executing the amount of available energy for a first task having a higher task priority than the task; And an operation of lowering the priority of the first task when it is predicted that a situation in which the amount of the re-computed available energy is insufficient during execution of the first task is expected to occur.

본 발명의 실시예에 따른 효과는 다음과 같다.The effects according to the embodiment of the present invention are as follows.

에너지 하베스팅 기술을 이용하는 시스템에서 에너지 하베스팅을 통해 수급되는 에너지 양을 고려하여 태스크를 스케줄링 할 수 있다. 특히, 기상과 같이 에너지 하베스팅에 영향을 주는 외적 요인을 고려하여 수급되는 에너지 양이 급변하는 경우에도 이를 반영하여 태스크의 우선순위를 재조정할 수 있다.In a system using energy harvesting technology, tasks can be scheduled considering the amount of energy supplied through energy harvesting. In particular, considering the external factors affecting energy harvesting, such as weather, the amount of energy received can be rapidly changed to reflect the priorities of tasks.

에너지 하베스팅을 통해 전원을 공급받는 IoT 기기에서 태스크를 스케줄링 할 때, 습득되는 에너지 양의 급격한 변화가 예측되면, 예외 정보를 IoT 기기에 알려 에너지 수급량이 급변하는 경우에 발생할 수 있는 태스크 실행의 실패를 줄일 수 있다. 이를 통해 실패한 태스크를 재실행하기 위한 비용을 줄일 수 있다.When scheduling a task on an IoT device that is powered by energy harvesting, if an abrupt change in the amount of energy acquired is anticipated, the exception information is reported to the IoT device to indicate that the task execution failure . This reduces the cost of rerunning failed tasks.

태스크 실행에 실패하게 되면 추후 실패한 태스크를 재실행하기 위한 백업과 리커버리 과정이 더 필요하다. 이러한 백업과 리커버리 과정은 태스크의 수행시간에 악영향을 미치고 에너지 효율도 떨어뜨리는 문제점이 된다. 본 발명에서 제안하는 개선된 태스크 스케줄링 방법을 이용하면, 에너지 하베스팅을 통한 에너지 수급량 및 이에 영향을 외적 요인까지 고려하여 태스크를 스케줄링 할 수 있으므로 태스크 실행의 실패를 최소화할 수 있다.If the task execution fails, a backup and recovery process is needed to re-execute the failed task. This backup and recovery process adversely affects the task execution time and lowers the energy efficiency. Using the improved task scheduling method proposed in the present invention, it is possible to schedule a task considering an energy supply amount through energy hubbing and external factors, thereby minimizing the failure of task execution.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood to those of ordinary skill in the art from the following description.

도 1은 에너지 하베스팅 기술에 대해 설명하기 위한 도면이다.
도 2는 광전효과를 이용한 에너지 하베스팅에서 날씨에 따른 에너지 수급량의 차이를 설명하기 위한 도면이다.
도 3은 종래의 에너지 하베스팅을 고려한 태스크 스케줄링 방법의 순서도이다.
도 4는 광전효과를 이용한 에너지 하베스팅에서 날씨의 급격한 변화에 따른 에너지 수급량의 차이를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 에너지 하베스팅을 고려한 태스크 스케줄링 방법의 순서도이다.
도 6은 본 발명의 일 실시예에 따른 에너지 하베스팅 기반의 IoT 기기를 설명하기 위한 도면이다.
도 7 내지 도 11c는 본 발명의 일 실시예에 따른 에너지 하베스팅으로 구동되는 시스템에서 태스크를 스케줄링 하는 방법을 설명하기 위한 도면이다.
도 12는 본 발명의 일 실시예에 따른 에너지 하베스팅으로 구동되는 시스템에서 태스크 스케줄링 장치의 하드웨어 구성도이다.
1 is a view for explaining an energy harvesting technique.
2 is a view for explaining a difference in energy supply and demand according to weather in energy harvesting using photoelectric effect.
3 is a flowchart of a task scheduling method considering energy hubbing in the prior art.
FIG. 4 is a diagram for explaining a difference in energy supply and demand according to a sudden change in weather in energy harvesting using a photoelectric effect.
5 is a flowchart of a task scheduling method considering energy harvesting according to an embodiment of the present invention.
FIG. 6 is a view for explaining an energy harvesting-based IoT device according to an embodiment of the present invention.
FIGS. 7 to 11C are diagrams for explaining a method of scheduling a task in a system driven by energy harvesting according to an embodiment of the present invention.
12 is a hardware configuration diagram of a task scheduling apparatus in a system driven by energy harvesting according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 에너지 하베스팅 기술에 대해 설명하기 위한 도면이다.1 is a view for explaining an energy harvesting technique.

도 1을 참고하면 에너지 하베스팅 기술에서 사용하는 다양한 에너지원의 예시를 볼 수 있다. 에너지 하베스팅은 그냥 무심코 버려지는 에너지를 수집해 전기로 바꿔 사용할 수 있게 만드는 기술이다. 에너지 하베스팅은 크게 중력에너지, 광에너지, 위치에너지, 전자파에너지, 진동에너지 그리고 신체에너지 등으로 구성되어 있다. 이렇게 모아진 에너지는 그 양이 많지는 않지만, 웨어러블 기기, 헬스케어 기기 그리고 사물 인터넷 등 소형 저전력 전자기기에서 매우 유용하게 활용될 수 있다.Referring to FIG. 1, an example of various energy sources used in energy harvesting technology can be seen. Energy Harvesting is a technology that makes it possible to collect the energy that is inadvertently discarded and replace it with electricity. Energy harvesting is composed of gravitational energy, light energy, position energy, electromagnetic energy, vibration energy and body energy. Although the amount of energy collected is not large, it can be very useful in small-size low-power electronic devices such as wearable appliances, health care appliances, and the Internet.

현재 에너지 하베스팅 기술에 가장 많이 사용되는 소자는 광전효과, 압전효과, 열전효과 그리고 RF 기술 이렇게 총 4가지 물리 현상이 이용되고 있다. 광전효과는 금속 등이 고에너지 전자기파를 흡수할 때 전자를 내보내는 현상으로, 광전효과를 이용한 에너지 하베스팅 기술의 대표적인 예가 태양전지이다.Currently, most of the devices used in energy harvesting technology are using four physical phenomena such as photoelectric effect, piezoelectric effect, thermoelectric effect and RF technology. The photoelectric effect is a phenomenon in which metals emit electrons when they absorb high-energy electromagnetic waves, and a representative example of energy harvesting technology using photoelectric effect is a solar cell.

도 2는 광전효과를 이용한 에너지 하베스팅에서 날씨에 따른 에너지 수급량의 차이를 설명하기 위한 도면이다.2 is a view for explaining a difference in energy supply and demand according to weather in energy harvesting using photoelectric effect.

태양전지(solar cell)는 빛 에너지를 전기 에너지로 변환시키는 장치로서, 태양광 모듈은 여러 개의 태양전지로 구성되어 있다. 태양전지는 재료에 따라 결정질 실리콘, 비정질 실리콘, 화합물 반도체 등으로 분류한다. 태양전지가 충분한 빛 에너지를 받으면 고체 내부의 전자가 에너지를 받아 원자핵의 인력에서 벗어나 자유롭게 이동할 수 있는 자유전자(free electron)가 된다. 이를 광전효과(photoelectric effect)라고 하는데, 이렇게 원자핵의 구속에서 벗어난 자유전자들은 pn접합의 원리에 따라 n형 반도체 쪽으로 이동하게 되고, 이 전자의 흐름이 곧 전류가 된다.A solar cell is a device that converts light energy into electrical energy. The solar module is composed of several solar cells. Solar cells are classified into crystalline silicon, amorphous silicon, and compound semiconductor depending on the material. When the solar cell receives enough light energy, the electrons inside the solid are free electrons that can move freely away from the attraction of the atomic nucleus. This is called the photoelectric effect. Free electrons deviating from the constraint of the nucleus move toward the n-type semiconductor according to the principle of the pn junction, and the current of the electron becomes the current soon.

이처럼 태양전지는 태양의 일조량에 큰 영향을 받기 때문에 도 2에서 볼 수 있는 것처럼 맑은 날(Clear Day)과 흐린 날(Overcast Day) 사이에 수급되는 에너지의 차이가 크다. 도 2를 참고하면 가로축은 시간을 나타내고, 세로축은 태양전지에 흐르는 전류의 세기를 나타낸다. 태양전지에 흐르는 전류의 세기가 클수록 에너지 하베스팅을 통해 수급되는 에너지의 양이 더 크다.As shown in FIG. 2, since the solar cell is greatly influenced by the amount of sunlight, there is a large energy difference between the clear day and the overcast day. Referring to FIG. 2, the horizontal axis represents time and the vertical axis represents the intensity of current flowing in the solar cell. The larger the current flowing in the solar cell, the greater the amount of energy supplied through the energy harvesting.

또한 태양전지는 시간에도 큰 영향을 받는다. 도 2에서 볼 수 있는 것처럼 해가 뜨기 전과 지고 난 후에는 에너지의 수급이 어려우며, 태양이 높이 떠있는 한낮에 가장 많은 에너지를 수급한다. 이처럼 태양전지는 시간과 날씨에 많은 영향을 받기 때문에 태양전지를 이용하여 시스템을 구동하는 경우 이를 태스크 스케줄링에 반영할 수 있어야 한다.Solar cells are also greatly influenced by time. As can be seen in Figure 2, it is difficult to supply and receive energy before and after sunrise, and it receives the most energy in the day when the sun rises high. Since the solar cell is affected by time and weather, it is necessary to reflect the solar cell in the task scheduling when the system is operated.

물론 종래에도 단순한 배터리 잔여량에 기초한 태스크 스케줄링 방법 외에도 에너지 하베스팅을 고려한 태스크 스케줄링 방법이 있었다. 즉 에너지 하베스팅을 통하여 에너지를 수급할 경우 주기성을 가지고 있기 때문에 현재의 시간 정보와 지난 시간 동안의 에너지 수급량과 그 증감 추세를 기반으로 다음에 수급할 에너지 양을 예측할 수 있다. 이를 통해 배터리 잔여량과 수급할 에너지의 예측량을 모두 감안하여 태스크를 스케줄링 한다.As a matter of course, in addition to the task scheduling method based on the simple battery remaining amount, there has been a task scheduling method considering energy harvesting. In other words, when energy is supplied through energy harvesting, it has a periodicity. Therefore, it is possible to estimate the amount of energy to be supplied next based on the current time information, the amount of energy supply during the past time, and the increase / decrease trend. It schedules the task considering both the remaining battery capacity and the expected amount of energy to be received.

도 3은 종래의 에너지 하베스팅을 고려한 태스크 스케줄링 방법의 순서도이다.3 is a flowchart of a task scheduling method considering energy hubbing in the prior art.

도 3을 참고하면, 종래의 에너지 하베스팅을 고려한 태스크 스케줄링 방법은 우선 에너지 하베스팅을 통해 수급되는 에너지의 양을 예측한다(S1100). 예를 들면 현재의 시간이 한밤인지 한낮인지에 따라 수급되는 에너지의 양이 달라질 수 있는데, 이와 같은 주기성을 고려한다.Referring to FIG. 3, a conventional task scheduling method considering energy harvesting predicts the amount of energy supplied and received through energy harvesting (S1100). For example, the amount of energy received depends on whether the current time is night or night, and this periodicity is taken into account.

그래서 현재 저장된 에너지의 양 + 앞으로 수급될 에너지의 양에 기초하여 가용 에너지를 연산하고, 가용 에너지가 태스크를 수행하기에 충분한 경우에 한하여 태스크를 실행한다(S1200). 하지만 이와 같은 종래의 태스크 스케줄링 방법은 에너지 수급량이 급변하는 경우에는 태스크의 온전한 실행을 보장하지 못한다.Therefore, the available energy is calculated based on the amount of currently stored energy plus the amount of energy to be received in the future, and the task is executed only when the available energy is sufficient to perform the task (S1200). However, the conventional task scheduling method does not guarantee the full execution of the task when the amount of energy supply and demand changes rapidly.

만약 갑자기 날이 흐려지는 것과 같은 외부 요인에 의해 예외 상황이 발생하게 되면(S1300), 수급되는 에너지의 양이 급감하게 되어 태스크 실패(Task Failure)가 발생할 수 있다. 그러면 실행에 실패한 태스크의 정보를 백업하고(S1400), 추후 에너지 가용량이 충분히 확보되었을 때, 태스크 정보를 다시 리커버리 하여(S1500) 태스크를 재실행 한다.If an exception occurs due to an external factor such as suddenly blurring of the day (S1300), the amount of energy to be supplied may be reduced and a task failure may occur. Then, the information of the failed task is backed up (S1400). When the energy availability is sufficiently secured, the task information is recovered again (S1500) and the task is re-executed.

정리하면 단순히 배터리 잔여량을 기준으로 태스크를 스케줄링 하는 방법과, 이를 개량해서 에너지 하베스팅을 통한 에너지 수급량을 추가로 더 고려하여 태스크를 스케줄링 하는 방법이 종래에도 있다. 하지만, 이렇게 에너지의 수급량을 예측해서 태스크를 스케줄링 하는 방법 조차도 기상 변화와 같은 외적 요인에 적극적으로 대응하지 못하는 단점을 가진다.In summary, there is a conventional method of scheduling a task based on the remaining amount of the battery, and a method of scheduling a task by further improving the amount of energy supply through energy harvesting. However, even such a method of scheduling tasks by predicting the supply and demand of energy has a drawback that it can not actively respond to external factors such as weather change.

도 4는 광전효과를 이용한 에너지 하베스팅에서 날씨의 급격한 변화에 따른 에너지 수급량의 차이를 설명하기 위한 도면이다.FIG. 4 is a diagram for explaining a difference in energy supply and demand according to a sudden change in weather in energy harvesting using a photoelectric effect.

도 4를 참고하면 오전에는 날씨가 맑다가(Clear Day), 오후 들어서부터 날씨가 급격하게 흐려지는(Overcast Day) 경우의 에너지 수급량을 볼 수 있다. 종래의 도 3과 같은 방법으로 에너지 하베스팅에 의한 에너지 수급량의 주기성만을 고려하여 태스크를 스케줄링 하면 도 4와 같이 외부 요인으로 인해 급격한 변화가 있는 경우에 태스크 실패가 발생할 수 있다.Referring to FIG. 4, we can see the amount of energy supply in the morning when the weather is clear (Clear Day), and when the weather is suddenly cloudy (Overcast Day) since the afternoon. If a task is scheduled considering only the periodicity of energy supply and demand by energy hubbing by the same method as the conventional FIG. 3, a task failure may occur when there is a sudden change due to an external factor as shown in FIG.

즉, 급격한 기상 변화로 예상 가용 에너지 양과 실제 시스템의 가용 에너지 양 사이에 큰 차이가 생기게 되면, 도 3과 같은 종래의 태스크 스케줄링 방법으로는 태스크 실패(Task Failure)를 막을 수 없다. 이로 인해 수행 중이던 태스크의 정보를 백업하고, 추후 에너지 가용량이 충분해졌을 때, 태스크 정보를 복원해서 재실행하는 과정을 거치게 된다.That is, if there is a large difference between the amount of the available energy and the amount of available energy of the actual system due to the rapid change in the weather, the conventional task scheduling method as shown in FIG. 3 can not prevent the task failure. As a result, the information of the task being executed is backed up, and when the energy availability becomes sufficient, the task information is restored and re-executed.

태스크 백업과 리커버리 과정은 추가적인 에너지 소모를 유발하므로 시스템 관점에서는 이를 최소화하는 것이 바람직하다. 즉 태스크 실패를 줄이면 백업과 리커버리에서 소모되는 에너지를 절약할 수 있다. 이를 위해서는 도 4와 같은 급격한 외부 요인도 태스크 스케줄링에 반영할 수 있어야 한다.Task backup and recovery processes cause additional energy consumption, so it is desirable to minimize this from a system point of view. In other words, reducing task failures saves the energy consumed by backup and recovery. In order to do this, sudden external factors such as Fig. 4 should be reflected in task scheduling.

이를 해결하기 위해 본 발명에서 제안하는 방법은, 에너지 하베스팅에 의해서 구동되는 시스템에서 에너지 수급량이 급변하는 상황을 사전에 인지하고, 태스크 스케줄링 정책을 변경하는 방법이다. 이를 통해 태스크 실패를 줄이고, 백업과 리커버리에서 소모되는 에너지를 절약할 수 있다.In order to solve this problem, the method proposed in the present invention is a method of recognizing a situation in which energy supply and demand is suddenly changed in a system driven by energy harvesting and changing a task scheduling policy. This can reduce task failures and save energy from backup and recovery.

도 5는 본 발명의 일 실시예에 따른 에너지 하베스팅을 고려한 태스크 스케줄링 방법의 순서도이다.5 is a flowchart of a task scheduling method considering energy harvesting according to an embodiment of the present invention.

도 5를 참고하면 본 발명에서 제안하는 수정된 태스크 스케줄링 방법을 볼 수 있다. 본 발명에서는 태스크를 스케줄링 하기 위해서 추가로 예외 정보를 더 수신하고(S2100), 예외 상황이 발생한 경우에는 스케줄링 정책을 변경한다(S2200, S2400). 물론 예외 정보를 수신했는데 예외 상황이 발생하지 않은 경우에는 기존 스케줄링 정책을 그대로 유지한다(S2300).Referring to FIG. 5, a modified task scheduling method proposed by the present invention can be seen. In the present invention, further exception information is further received to schedule the task (S2100), and if an exception occurs, the scheduling policy is changed (S2200, S2400). Of course, if the exception information is received but no exception occurs, the existing scheduling policy is maintained (S2300).

여기서 예외 상황이란 에너지 하베스팅에 영향을 줄 수 있는 외부 요인으로 예를 들면, 급격한 일기의 변화가 있다. 날씨가 급격하게 변화하면 도 4에서 볼 수 있듯이 수급되는 에너지의 양이 급격하게 변하기 때문에 이를 태스크 스케줄링에 반영하는 것이다. 그 외에도 에너지 하베스팅에서 사용하는 에너지원의 종류에 따라 다양한 외부 요인들이 예외 상황에 해당될 수 있다.An exception here is an external factor that can affect energy harvesting, for example, a sudden diurnal change. If the weather changes suddenly, as shown in FIG. 4, the amount of energy supplied is rapidly changed, so it is reflected in the task scheduling. In addition, various external factors may be an exception depending on the type of energy source used in energy harvesting.

보다 구체적인 예를 살펴보면, 기상 이변에 대한 예외 상황 정보를 네트워크를 통해 수신한다. 물론 경우에 따라서는 가용 에너지 양이 적어 통신을 할 수 없는 상황이거나, 다른 예외 상황에 따라 기상 정보를 받을 수 없는 경우가 존재할 수 있다. 이렇게 기상 정보를 받을 수 없는 경우에는 기존 스케줄링 정책을 유지한다(S2300). 즉 이전 시간에 수급된 에너지의 양의 경향성에 기초하여 차후에 수급될 에너지 양을 예측하고 스케줄링을 수행한다.In a more specific example, exception information on weather extremes is received through the network. Of course, in some cases there may be situations where communication is not possible because of the small amount of available energy, or weather information can not be received due to other exceptional circumstances. If the weather information can not be received, the existing scheduling policy is maintained (S2300). That is, the amount of energy to be received in the future based on the tendency of the amount of energy supplied at the previous time, and performs scheduling.

반면에 기상 정보를 수신할 수 있는 경우, 예외 상황 발생 정보를 바탕으로 스케줄링 정책을 결정한다. 예외 상황이 발생하면, 소모 에너지가 적은 태스크의 우선순위를 높이고 상대적으로 소모 에너지가 큰 태스크의 우선순위를 낮춘다. 또는 동작 모드를 슬립(Sleep) 상태로 변경하여 태스크 실패가 발생할 수 있는 가능성을 낮춘다. 물론 예외 상황 정보를 수신하였더라도, 실제로 예외 상황이 발생하지 않으면 기존의 태스크 스케줄링 정책을 그대로 유지한다.On the other hand, when the weather information can be received, the scheduling policy is determined based on the exception occurrence information. When an exception occurs, it increases the priority of tasks with low energy consumption and lowers tasks with relatively high energy consumption. Or the operation mode is changed to the sleep state, thereby reducing the possibility that a task failure may occur. Of course, even if exception information is received, the existing task scheduling policy remains unchanged unless an exception occurs.

도 6은 본 발명의 일 실시예에 따른 에너지 하베스팅 기반의 IoT 기기를 설명하기 위한 도면이다.FIG. 6 is a view for explaining an energy harvesting-based IoT device according to an embodiment of the present invention.

도 6을 참고하면 에너지 하베스팅 기술의 에너지원으로 태양에너지, 열에너지, 진동에너지, RF 기술(RF/EM) 등이 있다. 이러한 에너지원을 바탕으로 에너지 하베스터에서 전기에너지를 생성하고, 이를 에너지 스토리지에 저장한다. 다만 외부 요인에 따라 에너지 하베스팅에 의해 수급되는 에너지 양이 달라질 수 있으므로 별도의 I/O 버스를 통해 기상 정보를 수신하고, 이를 스케줄링 정책에 반영한다.Referring to FIG. 6, energy sources of energy harvesting technology include solar energy, thermal energy, vibration energy, and RF technology (RF / EM). Based on these energy sources, energy harvesters generate electrical energy and store it in energy storage. However, since the amount of energy received by energy harvesting varies depending on external factors, it receives weather information through a separate I / O bus and reflects it in the scheduling policy.

여기서 에너지 하베스팅에 영향을 주는 외부 요인을 예외 정보라고 한다. 예외 정보의 일 예로 기상 정보가 있다. 다만, 기상 정보와 같은 예외 정보를 수신해서 가공하는데 추가적인 오버헤드가 발생하므로, 기상 정보에 대한 분석은 호스트 시스템에서 수행하고, 예외 상황에 대한 정보만 IoT 기기로 전송할 수 있다.Here, external factors that affect energy harvesting are called exception information. One example of exception information is weather information. However, since additional overhead is generated in receiving and processing exception information such as weather information, analysis of weather information can be performed in the host system, and only information on the exception situation can be transmitted to the IoT device.

이상으로 본 발명에서 제안하는 태스크 스케줄링 방법에 대해서 살펴보았다. 다음으로는 도 7 내지 도 11c를 통해서 보다 구체적인 도면과 함께 본 발명에서 제안하는 태스크 스케줄링 방법에 대해서 살펴보도록 한다.The task scheduling method proposed by the present invention has been described above. Next, a task scheduling method proposed by the present invention will be described with reference to FIGS. 7 through 11C, with reference to more specific drawings.

도 7 내지 도 11c는 본 발명의 일 실시예에 따른 에너지 하베스팅으로 구동되는 시스템에서 태스크를 스케줄링 하는 방법을 설명하기 위한 도면이다.FIGS. 7 to 11C are diagrams for explaining a method of scheduling a task in a system driven by energy harvesting according to an embodiment of the present invention.

도 7을 참고하면, 기준시간 0초부터 51초까지 에너지가 수급되는 양을 예시하였다. 도 7에 예시된 에너지 수급량은 발명의 이해를 돕기 위한 일 예이다. 도 7을 보면 일반적인 경우의 에너지 수급량이 파란색으로 표시되어 있다. 그러나 14초부터 26초 사이에 예외가 발생하는 경우의 에너지 수급량이 주황색으로 표시되어 있다. 도 7에서도 확인할 수 있듯이 예외 상황이 발생하는 경우 수급되는 에너지의 양이 줄어드는 것을 볼 수 있다.Referring to FIG. 7, the amount of supply of energy from the reference time 0 second to 51 seconds is illustrated. The amount of energy supply and demand illustrated in Fig. 7 is one example for helping understanding of the invention. In Fig. 7, the amount of energy supplied / received in a general case is indicated in blue. However, when an exception occurs between 14 and 26 seconds, the amount of energy supplied is indicated in orange. As can be seen in FIG. 7, when the exception occurs, the amount of energy received is reduced.

이하 수급되는 에너지 양은 에너지 하베스팅을 통해서 수급되는 에너지의 양을 의미한다. 그리고 가용 에너지 양은 기존 에너지 스토리지에 저장되어 있는 에너지 양과 수급되고 있는 에너지 양을 합한 값으로 정의한다. 에너지 수급량이 태스크가 소모하는 에너지 양보다 적으면 전체 가용 에너지 양은 감소한다. 반대로 에너지 수급량이 태스크가 소모하는 에너지 양보다 많으면 전체 가용 에너지 양은 증가한다.The amount of energy received below means the amount of energy received through energy harvesting. The amount of available energy is defined as the sum of the amount of energy stored in the existing energy storage and the amount of energy being received. If the energy supply is less than the amount of energy consumed by the task, then the amount of total available energy decreases. Conversely, if the amount of energy received exceeds the amount of energy consumed by the task, the amount of total available energy increases.

다음으로 도 8a 내지 도 8b를 참고하면, 본 발명에서 설명을 위해 사용할 태스크에 관한 정보를 볼 수 있다. 태스크는 기본적으로 우선 순위 기반의 선점형 스케줄링을 지원한다. 우선 순위 기반 선점형 스케줄링이란 미리 지정한 우선 순위에 따라 우선 순위가 높은 태스크부터 실행하는 것을 의미한다.8A to 8B, information regarding a task to be used for description in the present invention can be seen. Tasks basically support priority-based preemptive scheduling. Priority-based preemptive scheduling means executing from a higher priority task according to a predetermined priority.

도 8a를 참고하면, 태스크가 T1부터 T5가 예시되어 있다. 각각의 수행시간이 초단위로 예시되어 있고, 그 때 소모되는 에너지가 예시되어 있다. 또한 각 태스크의 우선 순위가 예시되어 있다. 우선 순위 기반 선점형 스케줄링은 높은 우선 순위의 태스크를 먼저 실행하므로 도 8a를 태스크에 따라 Ready List에 정렬하면 도 8b와 같이 된다. 즉 우선 순위가 높은 순서대로 T2 > T3 > T1 > T4 > T5이 순서로 태스크가 수행된다.Referring to FIG. 8A, tasks T1 to T5 are illustrated. Each execution time is illustrated in seconds, and the energy consumed at that time is illustrated. The priority of each task is also illustrated. Priority-based preemption scheduling executes a task with a higher priority first, so that if the task is sorted in the Ready List according to the task, as shown in FIG. That is, the task is executed in the order of T2> T3> T1> T4> T5 in the order of priority.

도 9는 도 8a 내지 도 8b의 태스크가 예외 상황이 발생하지 않는 경우의 수행 과정을 도시한 것이다. 도 9를 참고하면 각 태스크 별로 우선 순위에 따라 수행 시간만큼 태스크가 수행되는 것을 볼 수 있다. 도 9에서 파란색은 수급되는 에너지의 양을 표시한 것이며, 태스크에 표시된 회색 영역은 각 태스크가 소모하는 에너지의 양을 표시한 것이다.FIG. 9 is a flowchart illustrating a process when the task of FIGS. 8A and 8B does not generate an exception. Referring to FIG. 9, it can be seen that the task is performed according to the priority according to the execution time for each task. In Fig. 9, blue indicates the amount of energy supplied and the gray area indicated in the task indicates the amount of energy consumed by each task.

도 9를 참고하면, 비교적 수급되는 에너지의 양이 비슷함에도, 에너지 소모가 큰 T1 태스크를 수행할 때는 가용 에너지가 줄어들고, 에너지 소모가 작은 T4, T4 태스크를 수행할 때에는 가용 에너지가 증가하는 것을 볼 수 있다. 물론 T1 태스크를 수행할 때 가용 에너지가 줄어들기는 하지만 0보다는 큰 값을 가지므로 안정적으로 T1 태스크를 수행할 수 있다.Referring to FIG. 9, although the amount of energy to be supplied is relatively similar, the available energy is reduced when the T1 task with a large energy consumption is performed, and the available energy is increased when the T4 and T4 tasks with low energy consumption are performed . Of course, when performing a T1 task, the available energy decreases, but it has a value larger than 0, so it can perform the T1 task stably.

이러한 상황에서 예외 상황이 발생하는 경우 종래의 태스크 스케줄링 방법아래에서 태스크 실패가 발생하는 과정이 도 10a 내지 도 10c로 도시되어 있다.10A to 10C show a process in which a task failure occurs under the conventional task scheduling method when an exception occurs in this situation.

도 10a를 참고하면 도 7에서 예외 상황이 발생하여 수급되는 에너지의 양이 줄어든 경우에, 태스크의 수행이 어떻게 진행되는지 예시되어 있다. 도 9와 도 10a를 비교해서 살펴보면, 태스크 T1을 수행하던 도중인 대략 17초쯤에 가용 에너지가 부족한 상황이 되는 것을 볼 수 있다. 이 경우 T1의 태스크는 수행이 중지되고 태스크 실패(Task Failure)가 발생하게 된다.Referring to FIG. 10A, FIG. 7 exemplifies how the performance of a task progresses when an exceptional situation occurs and the amount of energy supplied and received is reduced. Comparing FIG. 9 with FIG. 10A, it can be seen that there is a shortage of available energy about 17 seconds in the middle of the task T1. In this case, the task of T1 is suspended and a task failure occurs.

즉, T1 태스크의 수행도중 17초부터 가용 에너지가 T1 태스크를 실행시키기에 충분하지 못하게 되고, 이에 따라 T1 태스크 실패가 일어난다. T1 태스크는 11초간 실행이 되어야 하지만 약 7초 정도 수행 후 태스크 실패가 일어난다. 태스크 실패가 일어나면 태스크가 충분히 수행될 수 있을 때까지 가용 에너지 양을 충전하며 시스템을 Idle 상태로 유지시킨다.That is, from 17 seconds during the execution of the T1 task, the available energy becomes insufficient to execute the T1 task, and thus the T1 task failure occurs. T1 task should be executed for 11 seconds, but task failure occurs after about 7 seconds. If a task failure occurs, charge the amount of available energy until the task can be performed sufficiently and keep the system in an Idle state.

위의 경우 17-26초 사이 Idle 상태를 유지시켜 T1 태스크를 재실행 시킬 수 있을 때까지 에너지를 충전하고 있는 상황이다. 17초일 때 T2, T3는 수행이 끝난 상태이고, 이 때 수행 가능한 태스크는 T1, T4, T5 이기 때문에 기존의 우선순위 기반 스케줄링 정책에 따라 T1 태스크부터 다시 순차적으로 수행된다.In this case, we are charging energy until we can hold the Idle state for 17-26 seconds and restart the T1 task. T1, T4, and T5 are executed in this case. Therefore, T1, T4, and T5 are executed sequentially from the T1 task according to the existing priority-based scheduling policy.

즉 원래는 도 10b의 상태로 Ready List가 있다가 T2, T3의 수행이 끝나고 T1의 수행 중에 태스크 실패가 발생하여 T1부터 다시 태스크가 수행되는 도 10c의 상태로 Ready List가 변경된다. 17-26 초 사이 에너지를 충전하고 27초부터 T1 태스크가 재실행 되기 시작한다. 태스크 실패가 일어나면 태스크 실패시점부터 재실행 하는 것이 아니라, 처음부터 다시 시작함을 가정한다.In other words, the Ready List is changed from the state shown in FIG. 10B to the state shown in FIG. 10C in which the execution of T2 and T3 is completed and the task failure occurs during execution of T1, and the task is executed again from T1. Charges energy between 17-26 seconds and T1 task starts to replay from 27 seconds. If a task failure occurs, it is assumed that the task is restarted from the beginning, not from the point of failure.

따라서 T1 태스크는 실패 시점인 7초부터 시작하는 것이 아닌 처음부터 재실행 된다. 가용 에너지를 충분히 충전한 상태이기 때문에 T1, T4, T5 태스크 모두 태스크 실패 없이 실행을 마친다. 모든 태스크의 수행이 끝나는 시간은 51초로 예외상황이 발생하지 않았을 때보다 태스크를 실행시키기에 충분할 때까지 가용 에너지를 충전하는 시간, 태스크를 재실행시키는 시간이 추가적으로 들기 때문에 16초 정도 더 많은 시간이 소모된다. 도 10a 내지 도 10c의 예시처럼 예외상황의 예측이 불가능할 경우, 실행시간 및 전체 에너지 소모량 측면에서 오버헤드가 생기기 때문에 이를 해결하기 위해 예외상황 발생시 미리 예외 상황 정보를 받는 스케줄링 정책을 제안한다.Therefore, the T1 task is restarted from the beginning, not starting from the failure time of 7 seconds. Since the available energy is fully charged, execution of tasks T1, T4, and T5 is completed without failure. The ending time of all tasks is 51 seconds, which means that it takes more time to recharge the available energy and time to re-execute the task until it is enough to execute the task, and 16 seconds more time than if the exception did not occur do. If the exception situation can not be predicted as shown in FIGS. 10A to 10C, overhead occurs in terms of execution time and total energy consumption. To overcome this problem, a scheduling policy for receiving exception information before an exception occurs is proposed.

도 11a 내지 도 11c를 참고하면, 도 10a 내지 도 10c에 본 발명에서 제안하는 태스크 스케줄링 방법을 적용한 경우를 볼 수 있다. 본 발명에서 제안하는 태스크 스케줄링 방법은 수급 에너지가 급격하게 감소할 수 있는 예외 상황이 발생함을 미리 인지하고, 예외 상황 발생 전(7초)에 예외상황에 대한정보를 네트워크를 통해 전달 받는다.Referring to FIGS. 11A to 11C, a task scheduling method proposed by the present invention is applied to FIGS. 10A to 10C. The task scheduling method proposed in the present invention recognizes beforehand that an exception situation in which the supply and demand energy can be drastically reduced occurs, and receives information on the exception situation through the network before the exception condition occurs (7 seconds).

그리고 수신한 예외 상황 정보를 바탕으로 갑작스러운 에너지 수급량의 변화가 발생하기 전에 태스크 스케줄링 정책을 변경하여 태스크 실패를 막고 다음 시간에 사용할 에너지를 보존한다. 즉 도 8a와 같은 태스크 스케줄링 정책이 도 11b와 같이 조정되는 것을 볼 수 있다. 종래에는 T2 > T3 > T1 > T4 > T5 순으로 태스크가 스케줄링 되었으나, 예외 상황을 반영하여 T3 > T4 > T5 > T2 > T1 순으로 태스크의 우선 순위가 재조정 되었다.Based on the received exception information, the task scheduling policy is changed to prevent the task failure and save the energy to be used next time before sudden changes in energy supply and demand occur. That is, it can be seen that the task scheduling policy as shown in FIG. 8A is adjusted as shown in FIG. 11B. In the past, tasks were scheduled in the order of T2> T3> T1> T4> T5, but the priority of tasks was readjusted in order of T3> T4> T5> T2>

도 10c의 예에서 T1 태스크가 실패했을 때의 태스크 목록을 볼 수 있다. 그러나 본 발명에서 제안하는 태스크 스케줄링 방법을 적용하면 도 11c에서 볼 수 있는 것처럼 에너지 소모량이 많은 T1을 먼저 실행하지 않고 대신에 T4 태스크와 T5 태스크를 먼저 실행해서 에너지를 축척하다가 예외 상황이 발생하더라도 T1 태스크를 수행하기에 충분한 상황이 되면 T1을 실행하도록 조정할 수 있다.In the example of FIG. 10C, a list of tasks when the T1 task fails can be seen. However, as shown in FIG. 11C, when the task scheduling method proposed in the present invention is applied, the energy consuming T1 is not executed first, but instead the T4 task and the T5 task are executed first to scale the energy, You can adjust it to run T1 when the situation is sufficient to perform the task.

도 11b와 도 11c와 같이 태스크 스케줄링 정책을 변경하면 처음 T2, T3 태스크 수행 후 T1을 수행하지 않고, 에너지 소모량이 적은 태스크부터 수행하며 가용 에너지의 감소폭을 최대한 줄이며 T1 태스크가 실행 될 수 있을 때까지 충전한다. 이처럼 예외 상황 정보를 미리 받을 수 있는 경우, 기존 스케줄링 정책을 태스크의 에너지 소모량에 기반한 스케줄링 정책으로 변경하여 태스크 실패를 막을 수 있다.If the task scheduling policy is changed as shown in FIG. 11B and FIG. 11C, the task is not performed after the first T2 and T3 tasks are executed, but the task is performed starting from a task with a low energy consumption, and the decrease in available energy is minimized. Charge. If the exception information can be received in advance, it is possible to prevent the task failure by changing the existing scheduling policy into a scheduling policy based on the energy consumption of the task.

도 11a에서 볼 수 있는 것처럼 예외 정보를 미리 받을 수 있는 경우, 태스크 실패에 따라 발생하는 태스크가 재실행되는 시간과 태스크의 재실행이 가능할 때까지 Idle 태스크를 수행시키며 에너지를 충전하는 시간이 소모되지 않기 때문에 전체 태스크가 수행되는데 걸리는 시간을 줄일 수 있다. 도 10a와 도 11a를 비교하면 51->35로 16초 감소하였고, 그만큼 소모되는 전체 에너지 양도 줄일 수 있다.11A, if the exception information can be received in advance, the idle task is executed until the time when the task is re-executed according to the task failure and the task can be re-executed, and the time for charging the energy is not consumed It is possible to reduce the time required for the entire task to be performed. Comparing FIG. 10A with FIG. 11A, it is reduced to 51-> 35 by 16 seconds, and the total energy consumption consumed can be reduced.

이상으로 본 발명에서 제안하는 에너지 하베스팅으로 구동되는 시스템에서 태스크를 스케줄링 하는 방법에 대해서 살펴보았다. 본 발명에서 제안하는 스케줄링 방법은 에너지 하베스팅을 통해 에너지를 수급하는 소형의 디바이스에서 에너지 수급 과정에 발생할 수 있는 예외 상황을 처리하는 방법에 관한 것이다.As described above, a method of scheduling a task in a system driven by energy harvesting proposed in the present invention has been described. The scheduling method proposed in the present invention relates to a method for handling an exception situation that may occur in the energy supply and demand process in a small device that receives energy through energy harvesting.

예를 들면, 태양전지, 풍력 등과 같은 에너지원을 이용하여 에너지를 수급하는 경우, 수급되는 에너지는 주변의 환경에 영향을 받기 때문에, 수급되는 에너지의 크기가 불규칙적이다. 배터리를 디바이스의 전원으로 사용하는 경우, 배터리는 배터리에 충전된 에너지의 양이 감소하더라도 디바이스에서 안정적으로 구동하기에 필요한 최소한의 에너지 수준 이상의 에너지를 지속적으로 공급할 수 있다.For example, when energy is supplied using energy sources such as solar cells and wind power, the amount of energy supplied and received is irregular because the energy received is affected by the surrounding environment. When a battery is used as a power source for a device, the battery can continuously supply energy beyond the minimum energy level needed to drive the device reliably, even if the amount of energy charged to the battery decreases.

그러나 에너지 하베스팅을 통해 수급한 에너지를 소형 디바이스의 전원으로 사용하는 경우, 에너지 하베스팅을 통해 수급한 에너지는 크기가 불규칙하며 배터리로 공급하는 에너지보다 크기가 작은 경우가 많아 디바이스의 안정적인 동작을 보장하지 못하게 된다.However, when the energy supplied through energy harvesting is used as a power source for a small device, the energy received through energy harvesting is irregular in size and is smaller than the energy supplied by the battery, thereby ensuring stable operation of the device I can not.

에너지가 디바이스가 요구하는 양보다 부족하면 실행 중인 태스크를 정상적으로 완료할 수 없는 태스크 실패가 발생한다. 그리고 태스크 실패가 발생하면 현재 수행 중인 태스크의 정보를 백업한 뒤, 추후 재실행에 충분한 에너지가 확보되면 백업된 데이터를 리커버리 하여 태스크를 중단된 시점부터 재실행한다.If the energy is less than the amount required by the device, a task failure that can not normally complete a running task occurs. If a task failure occurs, the information of the currently executed task is backed up, and if enough energy is secured for the replay afterwards, the backup data is recovered and the task is restarted from the point of time when the task is interrupted.

그러나 태스크 실패가 발생한 시점에 에너지가 급감하여 실행 중인 태스크를 백업할 수 있는 에너지도 존재하지 않으면, 실행 중인 태스크에 대한 정보를 모두 잃어버리게 되며, 추후 태스크를 재실행할 수 있을 만큼의 에너지가 확보되면 해당 태스크를 처음부터 다시 실행하게 된다.However, if there is no energy available to back up a running task at the time of the task failure, the information about the running task is lost, and if enough energy is available to re-execute the task The task will be executed again from the beginning.

이처럼 태스크 실패가 발생할 때 백업에 실패하는 경우, 태스크를 처음부터 다시 실행하는 것은 태스크 실패가 발생하기 전까지의 태스크 수행이 에너지 낭비임을 의미한다. 그러므로 되도록이면 태스크 실패를 최소화하도록, 설사 태스크 실패가 발생하더라도 태스크 백업을 수행할 수 있도록 태스크를 스케줄링 할 필요가 있다.If the backup fails when the task failure occurs, executing the task again from the beginning means that the task execution is waste of energy until the task failure occurs. Therefore, it is necessary to schedule a task so that task backup can be performed even if a task failure occurs, so as to minimize the task failure as much as possible.

반대로 태스크 실패가 발생할 때 백업을 수행하는 경우, 태스크를 중단된 시점부터 다시 실행할 수 있어 태스크 실패 발생 전까지의 태스크 수행이 에너지 낭비로 이어지지는 않지만 백업과 리커버리로 인한 에너지 손실이 발생하게 된다. 따라서 가급적 태스크 실패가 발생하는 빈도를 줄여 태스크가 처음부터 재시작 되거나 백업 리커버리에 의한 발생하는 에너지 손실을 줄이는 것이 필요하다.On the contrary, when performing a backup when a task failure occurs, execution of the task can be restarted from the point of time when the task is stopped. Therefore, the task execution before the task failure does not lead to energy wastage, but energy loss due to backup and recovery occurs. Therefore, it is necessary to reduce the frequency of occurrence of task failure as much as possible, so that the task is restarted from the beginning or energy loss caused by backup recovery is reduced.

기존의 태스크 스케줄러는 배터리를 전원으로 사용하는 것과 같이 안정적인 에너지를 공급하는 환경을 기준으로 설계되었다. 그래서 기존의 스케줄러는 사용 목적에 따라 사용자가 미리 설정해둔 태스크 간의 우선순위 기반하여 높은 우선 순위를 가지는 태스크에 시스템의 자원을 먼저 분배하거나, 태스크 별로 동작할 수 있는 시간을 미리 정해두고 시간의 흐름에 따라 태스크에 자원을 할당해주는 방법 등으로 동작한다.The existing task scheduler is designed based on an environment that supplies stable energy such as battery power. Therefore, the existing scheduler distributes the resources of the system to a task having a high priority based on the priority among the tasks preset by the user according to the purpose of use, or sets a time that can be operated for each task in advance, And allocating resources to the task.

이러한 스케줄링 방법의 공통점은 시스템의 가용 에너지를 고려하지 않고 태스크 스케줄링을 수행한다는 것이다. 배터리를 전원으로 사용하는 디바이스 중에는 배터리의 잔여량에 따라 스케줄링 정책을 변경하는 경우가 있다. 배터리의 잔여량이 일정수준 이하로 내려가게 되면 디바이스의 동작주파수를 제한하고, 태스크를 선별적으로 수행한다. 그러나 이러한 스케줄링 방법은 배터리 내의 잔여 에너지로 디바이스를 최대한 오래 사용하기 위한 것이다.The commonality of these scheduling methods is that task scheduling is performed without considering the available energy of the system. Among the devices using the battery as the power source, the scheduling policy may be changed depending on the remaining amount of the battery. When the remaining amount of the battery drops below a certain level, the operation frequency of the device is limited and the task is selectively performed. However, this scheduling method is intended to use the device as much as possible with the remaining energy in the battery.

예를 들어 스마트폰의 경우 배터리 잔여량이 일정수준 이하가 되면 스마트폰 화면의 밝기 제한, 특정 어플리케이션의 수행제한, 동작주파수 등을 제한한다. 이를 통하여 남은 배터리 잔여량으로 최대한 오랫동안 전원을 유지하여, 통화 및 문자 서비스와 같은 핵심 기능을 오래 제공할 수 있다.For example, in case of a smartphone, when the remaining battery level is below a certain level, the brightness of the screen of the smartphone, the restriction of the execution of a specific application, and the operation frequency are limited. This allows you to maintain power for as long as possible with the remaining battery charge, providing long-lasting key functions such as call and text services.

즉, 배터리 기반의 디바이스에서는 배터리의 잔여량이 부족하더라도 일정량 이상의 에너지를 공급하는 것이 가능하여 배터리 잔여량이 충분할 때와 같이 태스크를 수행하는 것이 가능하지만, 디바이스의 핵심기능을 오래 제공하고자 배터리 잔여량이 감소하면 에너지에 기반한 스케줄링을 수행한다. 또한 배터리 기반의 디바이스에서는 배터리 잔여량이 있는 한 에너지에 의한 태스크 실패가 발생하지 않으므로, 스케줄링 과정에서 에너지에 의한 태스크 실패를 고려하고 있지 않다.That is, in a battery-based device, it is possible to supply a certain amount of energy or more even if the remaining battery capacity is insufficient, so that it is possible to perform the task as when the remaining battery capacity is sufficient. However, Energy-based scheduling. Also, in a battery-based device, energy failures do not occur as long as the remaining battery power is present, and therefore, task failures due to energy are not considered in the scheduling process.

배터리가 일정한 양의 에너지를 안정적으로 공급할 수 있는데 반하여, 에너지 하베스팅을 통한 에너지 공급은 일정하지 않은 양의 에너지를 불규칙적으로 공급한다. 그리고 공급하는 에너지양도 배터리에 비하여 부족한 경우가 많다. 이에 의하여 태스크를 수행하는 도중에 에너지가 부족해져 태스크 실패로 이어진다.While the battery can stably supply a certain amount of energy, the energy supply through the energy harvesting irregularly supplies an unequal amount of energy. And the amount of energy to supply is often insufficient compared to the battery. As a result, the energy becomes insufficient during task execution, leading to task failure.

본 발명에서는 이와 같이 에너지 수급에 영향을 줄 수 있는 예외 상황을 미리 에너지 하베스팅을 이용하는 시스템에 알리고, 이 예외 상황을 태스크 스케줄링 과정에 반영하여 태스크 실패를 줄이는 것을 목적으로 한다. 따라서 본 발명에서 제안하는 에너지 하베스팅을 고려한 태스크 스케줄링 방법은 에너지 하베스팅을 이용하는 디바이스에서 에너지 수급에 영향을 주는 예외 상황 정보를 수신하고, 수신한 예외 상황 정보를 바탕으로 태스크 스케줄링 정책을 미리 수정하여 예외 상황에 따른 태스크 실패를 미연에 방지하는 것을 목적으로 하고 있다.In the present invention, an exception situation that may affect energy supply and demand is informed to a system using energy harvesting in advance and the task is reflected in the task scheduling process to reduce the task failure. Accordingly, the task scheduling method considering energy harvesting proposed in the present invention receives exception information that affects energy supply and demand in a device using energy harvesting, corrects the task scheduling policy based on the received exception information, And to prevent a task failure according to an exception situation in advance.

도 12는 본 발명의 일 실시예에 따른 에너지 하베스팅으로 구동되는 시스템에서 태스크 스케줄링 장치의 하드웨어 구성도이다.12 is a hardware configuration diagram of a task scheduling apparatus in a system driven by energy harvesting according to an embodiment of the present invention.

도 12를 참고하면 에너지 하베스팅으로 구동되는 시스템에서 태스크 스케줄링 장치(10)는 하나 이상의 프로세서(510), 메모리(520), 스토리지(560) 및 인터페이스(570)을 포함할 수 있다. 프로세서(510), 메모리(520), 스토리지(560) 및 인터페이스(570)는 시스템 버스(550)를 통하여 데이터를 송수신한다.12, in a system powered by energy harvesting, a task scheduling apparatus 10 may include one or more processors 510, memory 520, storage 560, and interface 570. The processor 510, the memory 520, the storage 560, and the interface 570 transmit and receive data via the system bus 550.

프로세서(510)는 메모리(520)에 로드 된 컴퓨터 프로그램을 실행하고, 메모리(520)는 상기 컴퓨터 프로그램을 스토리지(560)에서 로드(load) 한다. 상기 컴퓨터 프로그램은, 예외 정보 수신 오퍼레이션(521), 에너지 수급 예측 오퍼레이션(523) 및 우선 순위 조정 오퍼레이션(525)을 포함할 수 있다.The processor 510 executes a computer program loaded into the memory 520 and the memory 520 loads the computer program from the storage 560. [ The computer program may include an exception information reception operation 521, an energy supply / demand prediction operation 523, and a priority adjustment operation 525. [

예외 정보 수신 오퍼레이션(521)은 인터페이스(570)을 통해서 예외 정보를 수신하고 이를 시스템 버스(550)를 통해서 스토리지(560)의 예외 정보(563)으로 저장한다. 여기서 예외 정보(563)은 에너지 하베스팅에 영향을 줄 수 있는 외부 요인으로 날씨의 급격한 변화와 같은 정보 들이다.The exception information reception operation 521 receives the exception information through the interface 570 and stores the exception information through the system bus 550 as the exception information 563 of the storage 560. Here, the exception information 563 is an external factor that may affect energy harvesting, and is information such as a sudden change in weather.

에너지 수급 예측 오퍼레이션(523)은 스토리지(560)에 예외 정보(563)를 로딩하고, 이를 기초로 에너지 수급량과 각 태스크(561)의 에너지 소모량을 비교하여 가용 에너지가 어떻게 변할지를 예측한다.The energy supply forecasting operation 523 loads the exception information 563 into the storage 560 and compares the amount of energy received and the energy consumption of each task 561 on the basis of this information to predict how the available energy will change.

우선 순위 조정 오퍼레이션(525)는 에너지 가용량의 예측을 바탕으로 태스크(561)의 우선 순위(565)를 조정한다. 즉, 가용 에너지가 줄어들어 태스크의 수행이 어려운 상황이 예측되면 에너지 소모량이 낮은 태스크의 우선 순위를 높이고, 필요한 경우 태스크를 수행하다가 중간에 태스크 실패가 발생하는 것을 예방하기 위해 시스템을 Idle 상태로 들어가도록 태스크의 우선 순위를 조정할 수 있다.The priority adjustment operation 525 adjusts the priority 565 of the task 561 based on the prediction of the energy availability. That is, if it is predicted that the task is difficult to perform due to a decrease in available energy, the priority of the task with low energy consumption is increased, and if necessary, the task is executed so that the system enters the idle state The priority of the task can be adjusted.

도 12의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)와 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing) 할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.12 may be software or hardware such as an FPGA (Field Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit). However, the components are not limited to software or hardware, and may be configured to be addressable storage media, and configured to execute one or more processors. The functions provided in the components may be implemented by a more detailed component, or may be implemented by a single component that performs a specific function by combining a plurality of components.

이상 첨부된 도면을 참조하여 본 발명의 실시 예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, You will understand. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive.

Claims (10)

태스크 스케줄링 장치가, 에너지 하베스팅에 영향을 줄 수 있는 예외 상황에 관한 정보를 수신하는 단계;
상기 태스크 스케줄링 장치가, 상기 예외 상황이 발생하는 경우, 상기 에너지 하베스팅을 통해 수급되는 에너지의 양 및 태스크의 수행으로 인해 소모되는 에너지의 양 중 적어도 하나와 에너지 스토리지 내의 에너지 잔여량에 기초하여, 가용 에너지 양을 연산하는 단계; 및
상기 태스크 스케줄링 장치가, 상기 가용 에너지 양에 기초하여 상기 태스크의 우선 순위를 조정하여, 우선 순위에 따라 복수의 태스크가 순차적으로 수행되는 선점형 스케줄링에서 상기 태스크의 수행 순서를 변경하는 단계를 포함하고,
상기 태스크의 수행 순서를 변경하는 단계는,
상기 태스크의 수행 중에 상기 가용 에너지의 양이 부족한 상황이 발생할 것으로 예측되는 경우, 상기 태스크의 우선 순위를 낮추는 단계를 포함하고,
상기 태스크의 우선 순위를 낮추는 단계는,
상기 태스크보다 태스크의 우선 순위가 높은 제1 태스크를 대상으로 상기 가용 에너지 양을 재연산하는 단계를 다시 수행하는 단계; 및
상기 제1 태스크의 수행 중에 상기 재연산 된 가용 에너지의 양이 부족한 상황이 발생할 것으로 예측되는 경우, 상기 제1 태스크의 우선 순위를 낮추는 단계를 포함하는,
에너지 하베스팅으로 구동되는 시스템에서 태스크 스케줄링 방법.
The task scheduling apparatus comprising: receiving information on an exception situation that may affect energy harvesting;
Wherein the task scheduling device is operable to determine whether or not an exception occurs when at least one of the amount of energy received through the energy harvesting and the amount of energy consumed due to the performance of the task, Calculating an amount of energy; And
The task scheduling apparatus includes a step of adjusting a priority of the task based on the amount of the available energy and changing the order of execution of the task in the preemptive scheduling in which a plurality of tasks are sequentially executed according to a priority order ,
The step of changing the order of execution of the task comprises:
And lowering the priority of the task when it is predicted that a situation in which the amount of the available energy is insufficient during execution of the task,
The step of lowering the priority of the task comprises:
Performing again the step of re-executing the amount of available energy for a first task having a higher task priority than the task; And
And lowering the priority of the first task when it is predicted that a situation in which the amount of the re-computed available energy is insufficient during execution of the first task is expected to occur,
Method of scheduling tasks in a system driven by energy harvesting.
제1항에 있어서,
상기 에너지 하베스팅은,
태양에너지를 이용한 에너지 하베스팅이고,
상기 예외 상황에 관한 정보는,
기상 정보인,
에너지 하베스팅으로 구동되는 시스템에서 태스크 스케줄링 방법.
The method according to claim 1,
The energy harvesting,
It is energy harvesting using solar energy,
The information on the exception condition may be,
Weather information,
Method of scheduling tasks in a system driven by energy harvesting.
제1항에 있어서,
상기 가용 에너지 양을 연산하는 단계는,
상기 에너지 하베스팅을 통해 수급되는 에너지 양과 상기 에너지 스토리지 내의 에너지 잔여량을 더한 값에서 상기 태스크의 수행으로 인해 소모되는 에너지의 양을 빼는 단계를 포함하는,
에너지 하베스팅으로 구동되는 시스템에서 태스크 스케줄링 방법.
The method according to claim 1,
Wherein the step of computing the amount of available energy comprises:
Subtracting the amount of energy consumed due to the performance of the task from the energy amount received through the energy harvesting plus the energy remaining amount in the energy storage.
Method of scheduling tasks in a system driven by energy harvesting.
삭제delete 삭제delete 제1항에 있어서,
상기 예외 상황에 관한 정보를 수신하지 못하는 경우, 기존의 태스크 스케줄링 정책을 그대로 유지하는 단계를 더 포함하는,
에너지 하베스팅으로 구동되는 시스템에서 태스크 스케줄링 방법.
The method according to claim 1,
Further comprising the step of maintaining the existing task scheduling policy intact when the information about the exception situation is not received.
Method of scheduling tasks in a system driven by energy harvesting.
네트워크 인터페이스;
하나 이상의 프로세서;
상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드 하는 메모리; 및
태스크 및 상기 태스크의 우선 순위를 저장하는 스토리지를 포함하되,
상기 컴퓨터 프로그램은,
에너지 하베스팅에 영향을 줄 수 있는 예외 상황에 관한 정보를 수신하는 오퍼레이션;
상기 예외 상황이 발생하는 경우, 상기 에너지 하베스팅을 통해 수급되는 에너지의 양 및 태스크의 수행으로 인해 소모되는 에너지의 양 중 적어도 하나와 에너지 스토리지 내의 에너지 잔여량에 기초하여, 가용 에너지 양을 연산하는 오퍼레이션; 및
상기 가용 에너지 양에 기초하여 상기 태스크의 우선 순위를 조정하여, 우선 순위에 따라 복수의 태스크가 순차적으로 수행되는 선점형 스케줄링에서 상기 태스크의 수행 순서를 변경하는 오퍼레이션을 포함하고,
상기 태스크의 수행 순서를 변경하는 오퍼레이션은,
상기 태스크의 수행 중에 상기 가용 에너지의 양이 부족한 상황이 발생할 것으로 예측되는 경우, 상기 태스크의 우선 순위를 낮추는 오퍼레이션을 포함하고,
상기 태스크의 우선 순위를 낮추는 오퍼레이션은,
상기 태스크보다 태스크의 우선 순위가 높은 제1 태스크를 대상으로 상기 가용 에너지 양을 재연산하는 단계를 다시 수행하는 오퍼레이션; 및
상기 제1 태스크의 수행 중에 상기 재연산 된 가용 에너지의 양이 부족한 상황이 발생할 것으로 예측되는 경우, 상기 제1 태스크의 우선 순위를 낮추는 오퍼레이션을 포함하는,
에너지 하베스팅으로 구동되는 시스템에서 태스크 스케줄링 장치.
Network interface;
One or more processors;
A memory for loading a computer program executed by the processor; And
And a storage for storing a task and a priority of the task,
The computer program comprising:
An operation to receive information about exception conditions that may affect energy harvesting;
And an operation for calculating an amount of available energy based on at least one of the amount of energy supplied through the energy harvesting and the amount of energy consumed due to the performance of the task and the remaining energy amount in the energy storage when the exception occurs, ; And
And an operation of changing the order of execution of the task in preemptive scheduling in which a plurality of tasks are sequentially executed according to a priority order by adjusting a priority of the task based on the amount of available energy,
The operations for changing the order of execution of the tasks include:
And an operation of lowering the priority of the task when it is predicted that a situation in which the amount of the available energy is insufficient during execution of the task,
The operations for lowering the priority of the task include:
Re-executing the step of re-executing the amount of available energy for a first task having a higher task priority than the task; And
The method of claim 1 or 2, further comprising: decreasing a priority of the first task when it is predicted that a situation in which the amount of the re-
Task scheduling device in a system driven by energy harvesting.
제7항에 있어서,
상기 가용 에너지 양을 연산하는 오퍼레이션은,
상기 에너지 하베스팅을 통해 수급되는 에너지 양과 상기 에너지 스토리지 내의 에너지 잔여량을 더한 값에서 상기 태스크의 수행으로 인해 소모되는 에너지의 양을 빼는 오퍼레이션을 포함하는,
에너지 하베스팅으로 구동되는 시스템에서 태스크 스케줄링 장치.
8. The method of claim 7,
The operation for calculating the amount of available energy is,
Subtracting the amount of energy consumed by the performance of the task from the energy amount received through the energy harvesting plus the energy remaining amount in the energy storage,
Task scheduling device in a system driven by energy harvesting.
삭제delete 삭제delete
KR1020170034721A 2017-03-20 2017-03-20 Method and apparatus for a task scheduling scheme in energy harvesting driven system KR101898144B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170034721A KR101898144B1 (en) 2017-03-20 2017-03-20 Method and apparatus for a task scheduling scheme in energy harvesting driven system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170034721A KR101898144B1 (en) 2017-03-20 2017-03-20 Method and apparatus for a task scheduling scheme in energy harvesting driven system

Publications (1)

Publication Number Publication Date
KR101898144B1 true KR101898144B1 (en) 2018-09-12

Family

ID=63592915

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170034721A KR101898144B1 (en) 2017-03-20 2017-03-20 Method and apparatus for a task scheduling scheme in energy harvesting driven system

Country Status (1)

Country Link
KR (1) KR101898144B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019014321A1 (en) 2017-07-12 2019-01-17 Wiliot, LTD. Energy-aware computing system
CN112135336A (en) * 2019-06-25 2020-12-25 沈阳中科博微科技股份有限公司 Adapter energy-saving method based on wirelessHART protocol
US11226667B2 (en) 2018-07-12 2022-01-18 Wiliot Ltd. Microcontroller operable in a battery-less wireless device
WO2024090593A1 (en) * 2022-10-25 2024-05-02 한국전자기술연구원 Lightweight and low-power object recognition device and operation method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011002929A (en) * 2009-06-17 2011-01-06 Nippon Telegr & Teleph Corp <Ntt> Distributed power supply system and method of controlling the same
JP2012504800A (en) * 2008-10-03 2012-02-23 ザ ユニバーシティ オブ シドニー Scheduling applications for execution in heterogeneous computing systems
JP2012128673A (en) * 2010-12-15 2012-07-05 Sony Corp Task management device, task management method and program
KR20130127508A (en) * 2011-02-10 2013-11-22 알까뗄 루슨트 Method and apparatus of smart power management for mobile communication terminals using power thresholds
KR20170007625A (en) * 2015-07-10 2017-01-19 주식회사 대류 Micro-grid solar energy havesting based energy integrated management system for energy efficiency

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012504800A (en) * 2008-10-03 2012-02-23 ザ ユニバーシティ オブ シドニー Scheduling applications for execution in heterogeneous computing systems
JP2011002929A (en) * 2009-06-17 2011-01-06 Nippon Telegr & Teleph Corp <Ntt> Distributed power supply system and method of controlling the same
JP2012128673A (en) * 2010-12-15 2012-07-05 Sony Corp Task management device, task management method and program
KR20130127508A (en) * 2011-02-10 2013-11-22 알까뗄 루슨트 Method and apparatus of smart power management for mobile communication terminals using power thresholds
KR20170007625A (en) * 2015-07-10 2017-01-19 주식회사 대류 Micro-grid solar energy havesting based energy integrated management system for energy efficiency

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019014321A1 (en) 2017-07-12 2019-01-17 Wiliot, LTD. Energy-aware computing system
US11567561B2 (en) 2017-07-12 2023-01-31 Wiliot, LTD. Energy-aware computing system
US11226667B2 (en) 2018-07-12 2022-01-18 Wiliot Ltd. Microcontroller operable in a battery-less wireless device
CN112135336A (en) * 2019-06-25 2020-12-25 沈阳中科博微科技股份有限公司 Adapter energy-saving method based on wirelessHART protocol
CN112135336B (en) * 2019-06-25 2023-12-12 沈阳中科博微科技股份有限公司 Adapter energy saving method based on WirelessHART protocol
WO2024090593A1 (en) * 2022-10-25 2024-05-02 한국전자기술연구원 Lightweight and low-power object recognition device and operation method thereof

Similar Documents

Publication Publication Date Title
KR101898144B1 (en) Method and apparatus for a task scheduling scheme in energy harvesting driven system
Raghunathan et al. Design and power management of energy harvesting embedded systems
JP5285015B2 (en) Efficient system and method for power consumption and power supply
US8413154B2 (en) Energy-aware computing environment scheduler
JP6122974B2 (en) Sensor node and sensor node control method
US20130212410A1 (en) Renewable energy control systems and methods
US20140042811A1 (en) Control device, power control system, and power control method
Escolar et al. Energy management in solar cells powered wireless sensor networks for quality of service optimization
JP6332276B2 (en) Electric power supply and demand adjustment device, electric power system, and electric power supply and demand adjustment method
US8713348B2 (en) Apparatus for performing timer management regarding a system timer scheduler service, and associated method
CN114337777B (en) Thermodynamic diagram-based satellite energy-saving method and computer-readable storage medium
Yang et al. AsTAR: Sustainable Battery Free Energy Harvesting for Heterogeneous Platforms and Dynamic Environments.
JP5992071B1 (en) Control device for DC power supply system
US20140358314A1 (en) Power control unit and program
Escolar et al. Energy-neutral networked wireless sensors
CN110783970B (en) Charging method, device, charging terminal and computer readable storage medium
JP5947270B2 (en) Power supply system
JP2019004564A (en) Control apparatus
Thangarajan et al. Deterministic 40 year battery lifetime through a hybrid perpetual sensing platform (hyper)
Wang et al. Solartune: Real-time scheduling with load tuning for solar energy powered multicore systems
JP3737812B2 (en) Power supply system, housing complex, and program
El Osta Contributions to Real Time Scheduling for Energy Autonomous Systems.
Xiang et al. Harvesting-aware energy management for multicore platforms with hybrid energy storage
JP2017041933A (en) Control device for DC power supply system
JP2017108558A (en) DC power supply system

Legal Events

Date Code Title Description
GRNT Written decision to grant