KR20190044178A - 자원 할당 알고리즘 기반 IoT 분산 처리 시스템 및 방법 - Google Patents

자원 할당 알고리즘 기반 IoT 분산 처리 시스템 및 방법 Download PDF

Info

Publication number
KR20190044178A
KR20190044178A KR1020170136248A KR20170136248A KR20190044178A KR 20190044178 A KR20190044178 A KR 20190044178A KR 1020170136248 A KR1020170136248 A KR 1020170136248A KR 20170136248 A KR20170136248 A KR 20170136248A KR 20190044178 A KR20190044178 A KR 20190044178A
Authority
KR
South Korea
Prior art keywords
devices
server
resource allocation
job
resource
Prior art date
Application number
KR1020170136248A
Other languages
English (en)
Other versions
KR102002076B1 (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 KR1020170136248A priority Critical patent/KR102002076B1/ko
Publication of KR20190044178A publication Critical patent/KR20190044178A/ko
Application granted granted Critical
Publication of KR102002076B1 publication Critical patent/KR102002076B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Abstract

본 발명의 일 실시예에 따른 자원 할당 알고리즘 기반 IoT 분산 처리 시스템은 센서 데이터를 수집하여 미리 설정된 임계값을 통해 작업의 발생 유무를 판단하는 복수의 디바이스; 및 상기 복수의 디바이스 중 상기 작업이 발생된 것으로 판단한 디바이스를 마스터(Master) 디바이스로 설정하고 나머지 디바이스를 슬레이브(Slave) 디바이스로 설정하며, 상기 마스터 디바이스로부터 각 디바이스별 작업 우선순위의 비교 결과를 수신하여 해당 디바이스의 동작에 필요한 자원을 할당하는 서버를 포함한다.

Description

자원 할당 알고리즘 기반 IoT 분산 처리 시스템 및 방법{IoT DISTRIBUTED PROCESSING SYSTEM AND METHOD BASED ON RESOURCE ALLOCATION ALGORITHM}
본 발명의 실시예들은 IoT(Internet of Things) 시스템에 관한 것으로, 더욱 상세하게는 자원 할당 알고리즘 기반의 IoT 분산 처리 시스템 및 방법에 관한 것이다.
현재 IoT는 4차 산업혁명 도래와 함께 사람, 프로세스, 데이터, 사물들이 서로 연결된 지능형 시스템으로 진화하고 있으며 이에 따른 연구가 세계적으로 진행되고 있다. 이를 통해 주변 환경에 대한 데이터를 수집하고 사용자의 행동이나 디바이스 간 통신을 통해 습득한 지식을 적용하여 맞춤형 서비스도 제공하고 있다.
이러한 서비스는 보건·의료 분야에 적용되어 원격진료나 웨어러블이 만들어졌고, 전력 분야에 적용되는 경우 스마트 그리드, 관리 장소에 적용되어 스마트 홈, 공장 자동화 등으로 발전하였다. 하지만, 모바일 네트워크의 급속한 성장에 따라 인터넷에 연결된 다양한 디바이스의 수가 증가하고 있으며, 디바이스에서 생성된 데이터 또한 기하급수적으로 증가하여 실시간 처리 및 저장 장치에 대한 문제가 요구되고 있다.
기존 IoT 시스템들은 디바이스에 부착되어 있는 센서를 통해 측정된 데이터를 실시간으로 서버에 전송하여 작업 유무를 판단하고 서버에서 디바이스에 명령을 전달한다. 이에 따른 결과를 데이터베이스에 적재하여 사용자의 요청이 있는 경우에 제공하는 일괄처리 방식을 활용하며, IoT의 요구사항인 Real-Time을 보장할 수 없는 문제점이 있다. 또한, 서버 내에서 모든 작업을 처리하는 중앙 집중형 시스템이기 때문에 시스템이 확장될수록 대량의 데이터를 처리할 수 있는 고사양 서버를 배치해야 하는 단점이 있다.
관련 선행기술로는 대한민국 공개특허공보 제10-2016-0094467호(발명의 명칭: 사물인터넷 시스템에서 우선순위 기반 리소스 제어 방법, 공개일자: 2016.08.10)가 있다.
본 발명의 일 실시예는 디바이스에서 발생되는 작업을 타 디바이스와 공유하여 분산 처리하고 그 처리 결과를 토대로 해당 디바이스의 동작에 해당하는 자원을 서버에서 할당함으로써 서버의 자원을 효율적으로 사용할 수 있으며, 이를 통해 IoT의 요구사항인 실시간성을 보장할 수 있으며, 나아가 지속적으로 환경이 변화하는 관리 장소에서 낮은 사양의 서버로 구성이 가능한 자원 할당 알고리즘 기반 IoT 분산 처리 시스템 및 방법을 제공한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 자원 할당 알고리즘 기반 IoT 분산 처리 시스템은 센서 데이터를 수집하여 미리 설정된 임계값을 통해 작업의 발생 유무를 판단하는 복수의 디바이스; 및 상기 복수의 디바이스 중 상기 작업이 발생된 것으로 판단한 디바이스를 마스터(Master) 디바이스로 설정하고 나머지 디바이스를 슬레이브(Slave) 디바이스로 설정하며, 상기 마스터 디바이스로부터 각 디바이스별 작업 우선순위의 비교 결과를 수신하여 해당 디바이스의 동작에 필요한 자원을 할당하는 서버를 포함한다.
상기 마스터 디바이스는 상기 슬레이브 디바이스와 근거리 무선 통신을 통해 상기 작업의 발생 유무에 관한 정보를 포함하는 작업 데이터를 공유하고, 상기 작업 데이터에 기초하여 상기 각 디바이스별 작업 우선순위를 비교하며, 상기 작업 우선순위의 비교 결과를 상기 서버에 전송하여 해당 디바이스의 동작에 필요한 자원을 요청할 수 있다.
상기 마스터 디바이스는 상기 자원의 요청에 대한 응답으로 상기 서버로부터 자원 할당에 따른 동작 명령을 수신하여 동작하거나 상기 동작 명령을 해당 디바이스에 전달할 수 있다.
상기 작업 데이터는 상기 각 디바이스의 동작 상태에 따라 상기 각 디바이스별로 미리 설정된 가중치 정보를 더 포함하고, 상기 마스터 디바이스는 상기 작업 발생 유무에 관한 정보에 기초하여 상기 슬레이브 디바이스들 중에서 작업이 발생된 디바이스가 존재하는지 여부를 판단하고, 상기 판단 결과 존재하는 경우, 상기 가중치 정보에 기초하여 상기 작업이 발생된 디바이스와 작업 우선순위를 비교할 수 있다.
상기 서버는 상기 작업이 발생하지 않은 경우나 상기 작업 우선순위의 비교 결과에 따른 자원 할당이 완료된 후에는 상기 복수의 디바이스를 모두 슬레이브 디바이스로 설정할 수 있다.
상기 복수의 디바이스 각각은 상기 센서 데이터를 측정하는 센서; 및 상기 센서 데이터를 수집하여 상기 임계값을 통해 상기 작업의 발생 유무를 판단하는 아두이노(Aduino)를 포함할 수 있다.
본 발명의 일 실시예에 따른 자원 할당 알고리즘 기반 IoT 분산 처리 시스템은 상기 서버와 연동하여 센서 데이터, 상기 복수의 디바이스 각각의 동작 상태, 자원 사용량, 전력 사용량, 상기 서버의 자원 사용량, 및 잔여 자원을 저장 및 갱신하는 데이터베이스; 및 사용자 단말기에 설치되고 상기 데이터베이스를 참조하여 센서의 상태 정보, 상기 복수의 디바이스 각각의 상태 정보 및 상기 서버의 상태 정보를 포함하는 모니터링 정보를 상기 사용자 단말기의 화면에 표시하는 어플리케이션을 더 포함할 수 있다.
본 발명의 일 실시예에 따른 서버는 복수의 디바이스 중 작업이 발생된 디바이스를 마스터(Master) 디바이스로 설정하고, 나머지 디바이스를 슬레이브(Slave) 디바이스로 설정하는 디바이스 설정부; 상기 마스터 디바이스와 상기 슬레이브 디바이스 간의 작업 데이터 공유를 통해 도출되는, 각 디바이스별 작업 우선순위의 비교 결과를 상기 마스터 디바이스로부터 수신하는 우선순위 비교부; 및 상기 작업 우선순위의 비교 결과에 기초하여 해당 디바이스의 동작에 필요한 자원을 할당하는 자원 할당부를 포함한다.
본 발명의 일 실시예에 따른 자원 할당 알고리즘 기반 IoT 분산 처리 방법은 복수의 디바이스 각각이 센서 데이터를 수집하여 미리 설정된 임계값을 통해 작업의 발생 유무를 판단하는 단계; 서버가 상기 복수의 디바이스 중 상기 작업이 발생된 것으로 판단한 디바이스를 마스터(Master) 디바이스로 설정하고 나머지 디바이스를 슬레이브(Slave) 디바이스로 설정하는 단계; 및 상기 서버가 상기 마스터 디바이스로부터 각 디바이스별 작업 우선순위의 비교 결과를 수신하여 해당 디바이스의 동작에 필요한 자원을 할당하는 단계를 포함한다.
본 발명의 일 실시예에 따른 자원 할당 알고리즘 기반 IoT 분산 처리 방법은 상기 마스터 디바이스가 상기 슬레이브 디바이스와 근거리 무선 통신을 통해 상기 작업의 발생 유무에 관한 정보를 포함하는 작업 데이터를 공유하는 단계; 상기 마스터 디바이스가 상기 작업 데이터에 기초하여 상기 각 디바이스별 작업 우선순위를 비교하는 단계; 및 상기 마스터 디바이스가 상기 작업 우선순위의 비교 결과를 상기 서버에 전송하여 해당 디바이스의 동작에 필요한 자원을 요청하는 단계를 더 포함할 수 있다.
상기 작업 데이터는 상기 각 디바이스의 동작 상태에 따라 상기 각 디바이스별로 미리 설정된 가중치 정보를 더 포함하고, 상기 각 디바이스별 작업 우선순위를 비교하는 단계는 상기 작업 발생 유무에 관한 정보에 기초하여 상기 슬레이브 디바이스들 중에서 작업이 발생된 디바이스가 존재하는지 여부를 판단하는 단계; 및 상기 판단 결과 존재하는 경우, 상기 가중치 정보에 기초하여 상기 작업이 발생된 디바이스와 작업 우선순위를 비교하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 자원 할당 알고리즘 기반 IoT 분산 처리 방법은 상기 서버가 센서 데이터, 상기 복수의 디바이스 각각의 동작 상태, 자원 사용량, 전력 사용량, 상기 서버의 자원 사용량, 및 잔여 자원을 데이터베이스에 적재하는 단계; 및 사용자 단말기에 설치되는 어플리케이션이 상기 데이터베이스를 참조하여 센서의 상태 정보, 상기 복수의 디바이스 각각의 상태 정보 및 상기 서버의 상태 정보를 포함하는 모니터링 정보를 상기 사용자 단말기의 화면에 표시하는 단계를 더 포함할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.
본 발명의 일 실시예에 따르면, 디바이스에서 발생되는 작업을 타 디바이스와 공유하여 분산 처리하고 그 처리 결과를 토대로 해당 디바이스의 동작에 해당하는 자원을 서버에서 할당함으로써 서버의 자원을 효율적으로 사용할 수 있다.
본 발명의 일 실시예에 따르면, 서버의 자원을 효율적으로 사용함으로써 IoT의 요구사항인 실시간성을 보장할 수 있으며, 나아가 지속적으로 환경이 변화하는 관리 장소에서 낮은 사양의 서버로 IoT 시스템의 구성이 가능하다.
도 1은 본 발명의 일 실시예에 따른 자원 할당 알고리즘 기반 IoT 분산 처리 시스템을 설명하기 위해 도시한 블록도이다.
도 2는 도 1의 서버의 상세 구성을 설명하기 위해 도시한 블록도이다.
도 3 내지 도 5는 본 발명의 일 실시예에 따른 자원 할당 알고리즘 기반 IoT 분산 처리 시스템의 디바이스 작업 공유 및 비교 과정을 설명하기 위해 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 자원 할당 알고리즘 기반 IoT 분산 처리 방법을 설명하기 위해 도시한 시스템 흐름도이다.
도 7은 본 발명의 일 실시예에 적용되는 자원 할당 알고리즘을 설명하기 위해 도시한 흐름도이다.
도 8 내지 도 12는 본 발명의 일 실시예에 따른 자원 할당 알고리즘 기반 IoT 분산 처리 시스템의 어플리케이션을 구현한 일례를 도시한 도면이다.
도 13은 자동 제어의 자원 사용량 그래프를 나타낸다.
도 14는 원격 제어의 자원 사용량 그래프를 나타낸다.
본 발명의 이점 및/또는 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
또한, 이하 실시되는 본 발명의 바람직한 실시예는 본 발명을 이루는 기술적 구성요소를 효율적으로 설명하기 위해 각각의 시스템 기능구성에 기 구비되어 있거나, 또는 본 발명이 속하는 기술분야에서 통상적으로 구비되는 시스템 기능 구성은 가능한 생략하고, 본 발명을 위해 추가적으로 구비되어야 하는 기능 구성을 위주로 설명한다. 만약 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 하기에 도시하지 않고 생략된 기능 구성 중에서 종래에 기 사용되고 있는 구성요소의 기능을 용이하게 이해할 수 있을 것이며, 또한 상기와 같이 생략된 구성 요소와 본 발명을 위해 추가된 구성 요소 사이의 관계도 명백하게 이해할 수 있을 것이다.
또한, 이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다. 특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 자원 할당 알고리즘 기반 IoT 분산 처리 시스템을 설명하기 위해 도시한 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 자원 할당 알고리즘 기반 IoT 분산 처리 시스템(100)은 복수의 디바이스(110), 서버(120), 데이터베이스(130), 사용자 단말기(140), 어플리케이션(150), 및 복수의 센서(160)를 포함할 수 있다.
상기 복수의 디바이스(110) 각각은 상기 복수의 센서(160)에 의해 측정된 센서 데이터를 수집하여 미리 설정된 임계값을 통해 작업의 발생 유무를 판단할 수 있다. 즉, 상기 복수의 디바이스(110) 각각은 상기 수집된 센서 데이터의 센서 값이 미리 설정된 임계값을 초과하는 경우 작업이 발생했다고 판단할 수 있다.
이를 위해, 상기 복수의 디바이스(110) 각각은 상기 센서 데이터를 측정하는 센서(160)와, 상기 센서 데이터를 수집하여 상기 임계값을 통해 상기 작업의 발생 유무를 판단하는 아두이노(Aduino)를 포함하여 구성될 수 있다. 참고로, 상기 복수의 디바이스(110)는 선풍기, 에어컨, 가습기, 제습기 등의 IoT 기기들로 구현될 수 있다.
상기 서버(120)는 상기 복수의 디바이스(110) 중 상기 작업이 발생된 것으로 판단한 디바이스를 마스터(Master) 디바이스로 설정하고 나머지 디바이스를 슬레이브(Slave) 디바이스로 설정할 수 있다. 참고로, 상기 서버(120)는 상기 작업이 발생하기 전에는 상기 복수의 디바이스(110)를 모두 슬레이브 디바이스로 설정할 수 있다.
상기 서버(120)는 상기 마스터 디바이스로부터 각 디바이스별 작업 우선순위의 비교 결과를 수신하여 해당 디바이스의 동작에 필요한 자원을 할당할 수 있다.
여기서, 상기 마스터 디바이스는 상기 슬레이브 디바이스와 근거리 무선 통신(예: 블루투스)을 통해 상기 작업의 발생 유무에 관한 정보를 포함하는 작업 데이터를 공유하고, 상기 작업 데이터에 기초하여 상기 각 디바이스별 작업 우선순위를 비교할 수 있다.
그리고, 상기 마스터 디바이스는 상기 작업 우선순위의 비교 결과를 상기 서버(120)에 전송하여 해당 디바이스의 동작에 필요한 자원을 요청할 수 있다. 상기 마스터 디바이스는 상기 자원의 요청에 대한 응답으로 상기 서버(120)로부터 자원 할당에 따른 동작 명령을 수신하여 동작하거나 상기 동작 명령을 해당 디바이스에 전달할 수 있다.
한편, 상기 작업 데이터는 상기 각 디바이스(110)의 동작 상태에 따라 상기 각 디바이스(110)별로 미리 설정된 가중치 정보를 더 포함할 수 있다. 즉, 상기 작업 데이터는 상기 작업의 발생 유무에 관한 정보뿐만 아니라 미리 설정된 가중치 정보를 더 포함할 수 있다.
이러한 경우, 상기 마스터 디바이스는 상기 작업 발생 유무에 관한 정보에 기초하여 상기 슬레이브 디바이스들 중에서 작업이 발생된 디바이스가 존재하는지 여부를 판단하고, 상기 판단 결과 존재하는 경우, 상기 가중치 정보에 기초하여 상기 작업이 발생된 디바이스와 작업 우선순위를 비교할 수 있다.
상기 서버(120)는 상기 작업이 발생하지 않은 경우나 상기 작업 우선순위의 비교 결과에 따른 자원 할당이 완료된 후에는 상기 복수의 디바이스(110)를 모두 슬레이브 디바이스로 설정할 수 있다.
상기 데이터베이스(130)는 상기 서버(120)와 연동하여 센서 데이터, 상기 복수의 디바이스(110) 각각의 동작 상태, 자원 사용량, 전력 사용량, 상기 서버(120)의 자원 사용량 및 잔여 자원을 저장 및 갱신할 수 있다.
상기 사용자 단말기(140)는 사용자의 휴대 단말기로서 스마트폰 등의 이동통신 단말기를 포함할 수 있다. 상기 사용자 단말기(140)는 내부 메모리에 상기 어플리케이션(150)을 다운로드 받아 설치할 수 있으며, 사용자의 조작에 의해 상기 어플리케이션(150)을 실행할 수 있다.
상기 어플리케이션(150)은 상기 데이터베이스(130)를 참조하여 상기 복수의 센서(160) 각각의 상태 정보, 상기 복수의 디바이스(110) 각각의 상태 정보 및 상기 서버(120)의 상태 정보를 포함하는 모니터링 정보를 추출할 수 있다. 상기 어플리케이션(150)은 상기 추출된 모니터링 정보를 상기 사용자 단말기(140)의 화면에 표시할 수 있다. 이로써, 사용자는 상기 사용자 단말기(140)의 화면에 표시된 모니터링 정보를 통해 센서(160), 디바이스(110), 서버(120) 각각의 동작 상태를 확인할 수 있다.
상기 센서(160)는 센서 데이터를 측정할 수 있다. 본 실시예에서는 상기 센서(160)로서 온도 센서, 습도 센서, 가스 센서, 먼지 센서, 감지 센서 등을 포함할 수 있다.
여기서, 상기 온도, 습도 센서는 관리 장소의 온도를 제어하여 사용자에게 쾌적한 환경을 제공하기 위한 모듈이다. 본 시스템에서 활용하는 온도 조절용 디바이스(110)로는 선풍기, 히터 등을 포함할 수 있다. 온도 제어에 관련된 작업은 실내 온도나 습도가 올라가는 경우와 온도가 내려가는 경우이다. 온도가 올라가는 경우에는 선풍기를 동작시키고 온도가 내려가는 경우는 히터를 동작시켜 실내 온도를 조절할 수 있다. 자동 제어에 관련된 임계값은 디바이스(110)와 연결되어 있는 아두이노를 통해 판단하며, 원격 제어는 어플리케이션(150)을 통해 서버(120)로 전송된 신호를 기반으로 데이터베이스(130)를 업데이트하면서 디바이스(110)에게 자원과 동작 명령을 전송할 수 있다.
상기 가스 센서는 관리 장소에 가스가 발생하는 경우 환기를 시켜 사용자에게 쾌적한 환경을 제공하는 모듈이다. 이와 관련한 디바이스(110)로는 아두이노 서보모터를 활용한 창문 등을 포함할 수 있다. 가스 제어에 관련된 작업은 환기 작업과 습도 조절 작업이 있으며 실험이나 다른 요인으로 인해 가스가 발생하면 창문을 열어 환기를 진행할 수 있다. 가스 발생에 의한 환기 작업은 우선순위가 가장 높은 작업이며 다른 디바이스(110)가 동작 중이면 디바이스(110)를 중단하고 사용자가 관리 장소에 없어도 동작하는 작업이다. 다른 디바이스(110)와 마찬가지로 자동 제어에 관련된 임계값은 아두이노의 센서 데이터를 통해 판단하며, 원격 제어는 어플리케이션(150)을 통해 이루어질 수 있다.
상기 먼지 센서는 관리 장소의 실내 공기질을 제어하여 사용자에게 쾌적한 환경을 제공하는 모듈이다. 디바이스(110)로는 가스 센서와 마찬가지로 서보모터를 활용한 창문 등을 포함할 수 있다. 먼지 센서에 관련된 작업은 환기 작업이 있으며 실내 미세먼지 농도를 측정하여 임계값을 초과하는 경우 창문을 열어 환기를 진행할 수 있다. 먼지 센서 데이터에 의한 환기 작업은 우선순위가 가장 낮으며 온도 제어나 가스가 발생하지 않는 상황에서 동작할 수 있다. 먼지로 인해 창문이 열려있는 경우 다른 작업이 발생하면 작업을 중단하고 대기 상태로 진행될 수 있다. 예외로 실내에 가스가 발생하는 경우나 사용자로 인한 원격 제어는 블루투스 통신을 통해 작업이 공유되어 먼지 센서에 부착되어 있는 창문도 함께 동작할 수 있다.
상기 감지 센서는 사용자가 실내에 있는지 여부를 확인하여 불필요한 작업이 동작되는 것을 방지하는 모듈이다. 관련 디바이스(110)로는 도어락 등이 있다. 감지 센서에 관련된 작업은 어플리케이션(150)을 통한 도어락 원격제어와 온도 제어, 먼지에 의한 환기 등과 연계된 작업을 진행할 수 있다. 사용자의 원격제어가 아닌 직접조작으로 인해 실내에 사용자가 감지되면 온도 제어나 환기 작업 등이 진행되며 블루투스를 통해 사용자가 실내에 있음을 디바이스(110)에게 전달하고 데이터베이스(130)에 상태를 업데이트할 수 있다. 실내에 사용자가 감지되지 않는 경우에는 가스에 의한 환기 작업만 동작하며 WiFi 통신을 통해 전력, 자원 사용량을 전송할 수 있다.
도 2는 도 1의 서버(120)의 상세 구성을 설명하기 위해 도시한 블록도이다.
도 1 및 도 2를 참조하면, 상기 서버(120)는 디바이스 설정부(210), 우선순위 비교부(220), 자원 할당부(230), 및 제어부(240)를 포함할 수 있다.
상기 디바이스 설정부(210)는 복수의 디바이스(110) 중 작업이 발생된 디바이스(110)를 마스터(Master) 디바이스로 설정하고, 나머지 디바이스(110)를 슬레이브(Slave) 디바이스로 설정할 수 있다. 다만, 상기 디바이스 설정부(210)는 상기 작업이 발생하지 않은 경우나 상기 작업 우선순위의 비교 결과에 따른 자원 할당이 완료된 후에는 상기 복수의 디바이스(110)를 모두 슬레이브 디바이스로 설정할 수 있다.
상기 우선순위 비교부(220)는 상기 마스터 디바이스와 상기 슬레이브 디바이스 간의 작업 데이터 공유를 통해 도출되는, 각 디바이스(110)별 작업 우선순위의 비교 결과를 상기 마스터 디바이스로부터 수신할 수 있다.
예컨대, 디바이스 A, B, C, D 가 있을 때 디바이스 A에서 작업이 발생하게 되면 디바이스 A가 마스터 디바이스로 설정되고 나머지 디바이스, 즉 디바이스 B, C, D가 슬레이브 디바이스로 설정될 수 있는데, 이때 마스터 디바이스인 디바이스 A가 슬레이브 디바이스인 디바이스 B, C, D와 각각 작업 데이터를 공유하여 작업의 우선순위를 비교함으로써 그 비교 결과를 도출할 수 있다. 이에 따라, 상기 디바이스 A가 상기 서버(120)와 통신하여 디바이스 A, B, C, D의 작업 우선순위의 비교 결과를 전송하고, 상기 서버(120)는 상기 우선순위 비교부(220)를 통해 수신할 수 있다.
상기 자원 할당부(230)는 상기 작업 우선순위의 비교 결과에 기초하여 해당 디바이스의 동작에 필요한 자원을 할당할 수 있다.
상기 제어부(240)는 상기 서버(120), 즉 상기 디바이스 설정부(210), 상기 우선순위 비교부(220), 상기 자원 할당부(230) 등의 동작을 전반적으로 제어할 수 있다.
도 3 내지 도 5는 본 발명의 일 실시예에 따른 자원 할당 알고리즘 기반 IoT 분산 처리 시스템의 디바이스 작업 공유 및 비교 과정을 설명하기 위해 도시한 도면이다.
도 3을 참조하면, 센서들은 지속적으로 데이터를 측정하고 임계값을 통해 작업이 발생하였는지를 확인하는데, 작업이 발생하지 않은 경우에는 모든 아두이노는 슬레이브 상태이다. 슬레이브 상태의 아두이노를 포함하는 디바이스를 본 실시예에서는 앞서 기재한 바와 같이 슬레이브 디바이스라 칭한다.
도 4에 도시된 바와 같이 온도, 습도 데이터가 임계값을 초과하는 경우 해당 아두이노는 마스터 상태가 된다. 마스터 상태의 아두이노를 포함하는 디바이스를 본 실시예에서는 앞서 기재한 바와 같이 마스터 디바이스라 칭한다. 다시 말해, 온도, 습도 데이터가 임계값을 초과하는 경우 작업이 발생한 것이므로, 해당 디바이스는 마스터 디바이스로 설정되며 나머지 디바이스는 슬레이브 디바이스로 설정된다. 마스터 디바이스는 블루투스 통신을 통해 작업 데이터를 슬레이브 디바이스로 전송하여 공유를 진행한다.
도 5에 도시된 바와 같이, 슬레이브 디바이스에서는 마스터 디바이스에서 전송 받은 작업 데이터를 통해 현재 슬레이브 디바이스에서 동작되고 있는 작업과 비교한다. 또한 비교하는 과정에서 동시다발적으로 작업이 발생하는지를 확인한다. 비교를 마친 마스터 디바이스에서는 필요한 자원을 서버에 요청하게 되고 서버에서는 현재 사용하고 있는 자원과 비교하여 남은 자원을 할당하여 디바이스를 동작시킨다. 서버와의 통신은 마스터 디바이스만 진행하며, 예를 들어 동작해야 할 디바이스가 가스 센서와 연계된 창문이라면 마스터 디바이스로 선정된 온도, 습도 센서 디바이스가 서버로부터 자원을 할당받아 가스 디바이스로 전달한다.
이상에서 설명된 장치는 하드웨어 구성 요소, 소프트웨어 구성 요소, 및/또는 하드웨어 구성 요소 및 소프트웨어 구성 요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성 요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
도 6은 본 발명의 일 실시예에 따른 자원 할당 알고리즘 기반 IoT 분산 처리 방법을 설명하기 위해 도시한 시스템 흐름도이다.
여기서 설명하는 IoT 분산 처리 방법은 본 발명의 하나의 실시예에 불과하며, 그 이외에 필요에 따라 다양한 단계들이 부가될 수 있고, 하기의 단계들도 순서를 변경하여 실시될 수 있으므로, 본 발명이 하기에 설명하는 각 단계 및 그 순서에 한정되는 것은 아니다.
도 1 및 도 6을 참조하면, 온도, 습도, 가스, 먼지, 감지 센서(160) 등의 동작(S610)을 통해 센서 데이터를 측정한다(S620).
다음으로, 각 디바이스(110)에서는 상기 측정된 센서 데이터의 센서 값과 임계값의 비교를 통해 작업 발생 유무를 판단하며(S630), 작업이 발생된 경우(S630의 "Y" 방향) 작업이 발생된 디바이스(마스터 디바이스)가 블루투스 통신을 활용하여 타 디바이스(슬레이브 디바이스)와 작업을 공유하고 동작해야 할 우선순위를 비교한다(S640). 단, 작업이 발생되지 않은 경우(S630의 "N' 방향) 센서 데이터를 측정하는 단계(S620)로 리턴한다.
비교를 마친 후에는 상기 마스터 디바이스가 서버(120)에 필요한 자원을 요청하게 되고(S650), 상기 서버(120)에서는 자원 할당 알고리즘(S660)을 통해 디바이스(110)에게 필요한 자원을 할당한다(S670). 또한 데이터베이스(130)에 적재된 디바이스 동작, 자원, 전력 등의 상태 정보를 업데이트 한다(S675).
다음으로, 디바이스(110)에서는 마스터 디바이스가 동작해야 할 디바이스(슬레이브 디바이스)에게 동작 명령을 전달한다(S680). 상기 데이터베이스(130)의 업데이트 된 결과는 어플리케이션(150)을 통해 사용자 단말기(140)의 화면에 시각화하여 사용자가 확인할 수 있도록 한다(S690).
도 7은 본 발명의 일 실시예에 적용되는 자원 할당 알고리즘을 설명하기 위해 도시한 흐름도이다.
도 7을 참조하면, 먼저 센서 데이터를 측정(S710)하여 임계값을 통해 작업이 발생하였는지를 확인한다(S720).
작업이 발생한 경우(S720의 "Y" 방향)에는 타 디바이스(슬레이브 디바이스)에 작업 데이터를 전송을 진행하며(S730) 최종 디바이스(마스터 디바이스)로 선정된다. 반면, 작업이 발생하지 않은 경우(S720의 "N" 방향)에는 센서 데이터를 측정하는 단계(S710)로 리턴한다.
다음으로, 타 디바이스에서는 작업 공유가 진행됨과 동시에 센서 데이터 임계값을 통해 작업이 동시에 발생하였는지를 비교하고 최종 디바이스로 전송한다(S740). 타 디바이스들과 비교를 마친 최종 디바이스는 서버에 필요한 자원을 요청하게 되고(S750), 서버에서는 현재 동작중인 디바이스가 있는지를 확인한다(S760).
동작중인 디바이스가 있는 경우(S760의 "Y" 방향)에는 기존 장치를 종료하고 데이터베이스의 상태를 업데이트한다(S770). 반면, 동작중인 디바이스가 없는 경우(S760의 "N" 방향)에는 남아 있는 자원을 확인하고 최종 디바이스로 할당을 진행한다(S780).
다음으로, 최종 디바이스는 할당 받은 자원으로 디바이스를 동작시킨다(S790). 이 과정을 통해 디바이스들을 분산 처리하고 자원을 할당하여 동작함으로써 서버가 처리하는 데이터를 감소시킨다.
도 8 내지 도 12는 본 발명의 일 실시예에 따른 자원 할당 알고리즘 기반 IoT 분산 처리 시스템의 어플리케이션을 구현한 일례를 도시한 도면이다.
도 8은 어플리케이션의 초기 구현 화면이며, 도 9는 환경 상태 모니터링 구현 화면이다.
도 8 및 도 9를 참조하면, 어플리케이션을 실행하게 되면 초기 화면이 나타나며 Monitoring 버튼을 누르게 되면 모니터링 페이지로 넘어간다. 모니터링 페이지에서는 데이터베이스에 적재되어 있는 센서 데이터와 디바이스의 상태를 업데이트한다. ON, OFF 토글 버튼을 통해 디바이스들을 원격제어 할 수 있으며 버튼을 누름과 동시에 데이터베이스에 업데이트되고 서버는 남은 자원을 디바이스에게 할당하여 동작 명령을 전송한다. Other Menu는 디바이스 별 전력 사용량, 분산처리 및 자원 할당을 적용한 시스템의 자원 사용량과 적용하지 않은 시스템의 자원 사용량을 나타낸다.
도 10은 디바이스별 전력 사용량 페이지를 나타낸다.
도 10을 참조하면, 데이터베이스에 적재되어 있는 디바이스 사용에 대한 데이터를 추출하여 그래프로 생성하며 현재 전력 사용량을 모니터링으로 제공한다.
도 11은 분산처리를 적용한 자원 사용량 페이지를 나타낸다.
도 11을 참조하면, 4가지 자원을 그래프로 제공하며 Server는 서버가 현재 사용하고 있는 자원이고 Device는 각 디바이스에서 사용되는 자원을 합한 것이다. Remote는 현재 사용자가 원격으로 디바이스를 제어하고 있는 자원이며 Remain은 서버에서 디바이스로 할당할 수 있는 자원이다.
도 12는 분산 처리를 적용하지 않은 자원 사용량 페이지를 나타낸다.
도 12를 참조하면, 분산 처리를 적용한 것과 마찬가지로 4가지 자원을 그래프로 제공하여 비교를 진행한다.
이하에서는 본 실시예에서 사용되는 데이터베이스의 구조에 대해 표 1 내지 표 6을 참조하여 설명한다.
본 시스템은 관리 장소의 환경을 측정하기 위한 센서 다섯 종류와 아두이노, 작업 공유 및 비교를 위한 블루투스 모듈, 서버 통신을 위한 WiFi Shield를 활용하여 환경을 구성하였다. 아두이노를 통해 각 센서 데이터를 실시간으로 측정하고 블루투스 모듈을 통해 디바이스 간 통신한다. 또한 WiFi Shield를 통해 서버에 GET 방식으로 전송한다. 서버에서는 필요한 자원 할당 및 디바이스 동작에 대한 명령을 전달하고 데이터베이스에 적재한다. 또한 사용자 시각화를 위한 전력, 자원 사용량을 적재한다. 해당 데이터베이스의 구조는 표 1과 같다.
[표 1]
Figure pat00001
본 시스템의 데이터베이스 구조는 5가지 구조로 구성하였다. 각 디바이스 별 전력을 적재하는 Current 테이블과 사용자의 모니터링과 원격제어를 위한 Device 테이블을 정의하였다. 또한 서버와 디바이스의 자원 사용량을 적재하는 Resource 테이블과 관리 장소의 현재 상태를 모니터링하기 위한 Sensor 테이블을 정의하였다. 그리고 분산처리 및 자원 할당을 적용한 제안하는 시스템과 적용하지 않은 기존 시스템과의 비교를 위한 기존 시스템 자원사용량을 적재하는 UResource 테이블을 정의하였다.
디바이스별 사용 전력을 적재하는 데이터베이스 테이블 구조는 표 2와 같다.
[표 2]
Figure pat00002
Current 테이블의 구조는 표 2와 같이 센서와 연계되어 있는 디바이스들의 전력 사용량과 총 사용량이 적재된다. Temp_Current, Gas_Current, Dust_Current, Detection_Current 필드는 각각 에어컨, 히터, 창문, 도어락 등이 센서와 연계되어 있고 해당 디바이스의 전력 사용량을 적재한다. Total 필드는 디바이스들의 총 전력 사용량을 적재한다.
사용자가 디바이스의 상태를 모니터링하거나 원격제어 하기 위한 데이터베이스 테이블의 구조는 표 3과 같다.
[표 3]
Figure pat00003
Device 테이블은 센서 데이터 임계값을 통해 디바이스를 자동으로 동작시키는 자동제어와 사용자의 제어를 통해 발생하는 원격제어를 위한 데이터가 적재된다. Aircon, Heater, Window, Doorlock 필드는 디바이스의 상태를 나타내며 동작하고 있는 경우에는 1이 업데이트되며 동작하지 않는 경우는 2를 업데이트한다.
자원 할당을 적용한 시스템의 자원 사용량을 적재하는 데이터베이스의 테이블 구조는 표 4와 같다.
[표 4]
Figure pat00004
Server_Resource 필드는 현재 서버가 사용하고 있는 자원의 사용량을 적재하며 Device_Resource 필드는 현재 동작 중인 디바이스가 사용하는 자원의 사용량을 나타낸다. Remote_Resource 필드는 사용자의 원격제어에 대한 자원 사용량을 적재하며 Remain_Resource 필드는 남은 자원 및 서버가 디바이스에 할당 할 수 있는 자원을 적재한다.
사용자가 관리 장소의 상태를 모니터링하기 위한 데이터베이스의 테이블 구조는 표 5와 같다.
[표 5]
Figure pat00005
Temperature 필드와 Humidity 필드는 에어컨, 히터 등 온도 조절을 위한 센서 데이터를 적재하며 Gas 필드는 관리 장소 내부에 가스 및 화재 발생으로 인한 환기 조절 센서 데이터를 적재한다. Dust 필드는 실내 공기질을 측정하여 적재함으로써 환기작업에 활용된다. Detection 필드는 사용자가 실내에 있는 경우 1을 없는 경우 0을 나타내며 관리 장소를 사용하고 있는지 아닌지를 구분한다.
제안하는 시스템과 기존 시스템의 비교를 위한 데이터베이스 테이블 구조는 표 6과 같다.
[표 6]
Figure pat00006
Uresource 테이블은 디바이스 작업 공유를 적용하지 않은 중앙 집중형 처리 시스템의 자원 사용량을 나타낸다. UServer_Resource 필드는 기존 시스템에서 서버가 사용하는 자원 사용량을 적재하였고 UDevice_Resource 필드는 디바이스의 자원 사용량을 URemote_Resource와 URemain_Resource 필드는 각 원격제어, 남아있는 자원 사용량을 나타낸다.
기존 시스템들은 다양한 센서들을 활용하여 스마트 환경을 구성하고 자동화된 서비스를 제공하지만 실시간으로 측정되는 센서 데이터의 모든 작업을 서버로 전송하고 일괄 처리하기 때문에 서버의 자원 사용량이 높은 단점이 있었다. 디바이스가 추가되어 시스템이 확장되는 경우 서버가 처리해야 할 데이터가 증가할 뿐만 아니라 다른 디바이스와 연계되는 작업을 서버 내에 전부 구성하여 데이터 과부하나 고사양의 서버를 구성해야 하는 문제점이 있었다. 또한 중앙 집중형 시스템은 디바이스들이 분산되어 있을 경우 통신 횟수가 증가하여 비용이 많이 발생하는 것에 대한 해결책이 없었다.
이에 본 발명에서는 IoT 환경에서 중앙 집중형 시스템이 갖는 문제점들을 해결하기 위해 센서 데이터에 의한 작업 판단을 디바이스 내에서 진행하며 타 디바이스와 작업을 공유하여 서버가 처리하는 데이터를 감소시킬 수 있다. 또한, 서버 내 기존 동작중인 작업과 비교하여 필요한 자원을 할당하고 디바이스를 동작시킬 수 있다. 본 발명에서 제안하는 시스템은 검증을 위해 데이터 셋을 활용하여 실험을 진행하였다.
표 7은 실험을 위한 데이터 셋 1을 나타낸다.
[표 7]
Figure pat00007
실험에 활용되는 데이터 셋은 중앙 집중형 시스템과 분산 처리를 적용한 제안하는 시스템의 디바이스 자동 동작에 관한 실험이다. 도 13은 자동 제어의 자원 사용량 그래프를 나타낸다.
두 가지 시스템은 동일한 서버의 사양을 통해 구동하였고 온도, 습도에 대해 동일한 임계값을 설정하고 에어컨이 동작하게끔 구성하였으며 이에 해당하는 자원 사용량을 측정하였다. 중앙 집중형 시스템은 센서로 측정된 데이터를 실시간으로 서버로 전송하며 임계값을 통해 작업 발생 유무를 판단한다. 또한 다른 작업이 동작하고 있는지를 서버 내에서 식별하기 때문에 서버가 처리하는 데이터가 많다. 반면 분산처리 시스템은 디바이스 내에서 임계값을 통해 작업을 판단하고 타 디바이스와 작업 공유를 통해 모든 동작에 대한 비교를 마친 후에 서버에게 결과를 알려주는 방식이다. 또한 필요한 자원만 할당하여 동작하기 때문에 서버의 데이터 처리량을 감소시킨다. 중앙 집중형의 서버 자원 사용량은 분산처리 시스템에 비해 40% 높은 것을 확인하였고 할당할 수 있는 자원 또한 낮은 것을 확인하였다.
[표 8]
Figure pat00008
표 8은 실험을 위한 데이터 셋 2를 나타낸다. 자동 동작 실험과 마찬가지로 중앙 집중형 시스템과 분산 처리를 적용한 시스템의 디바이스 원격 제어에 관한 실험이다. 도 14는 원격 제어의 자원 사용량 그래프를 나타낸다.
실험은 데이터 셋 2를 활용하여 원격 제어를 통해 창문을 여는 작업으로 진행하였으며 서버가 사용 중인 자원, 할당할 수 있는 자원, 디바이스 사용 자원, 원격 제어에 대한 자원으로 측정하였다. 중앙 집중형 시스템은 디바이스에서 오는 센서 데이터와 사용자 어플리케이션을 통해 원격제어에 대한 신호를 모두 서버에서 처리하기 때문에 분산 처리 시스템보다 자원 사용량이 높은 것을 확인하였다. 반면 디바이스 자원에서는 중앙 집중형 시스템이 분산처리 시스템보다 디바이스 내에서 처리량이 적어 자원 사용량이 낮은 것을 확인하였다. 원격 제어를 통해 할당할 수 있는 자원은 분산 처리 시스템이 약 15% 더 할당할 수 있는 것을 확인하였다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CDROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
110: 디바이스
120: 서버
130: DB
140: 사용자 단말기
150: APP
160: 센서
210: 디바이스 설정부
220: 우선순위 비교부
230: 자원 할당부
240: 제어부

Claims (12)

  1. 센서 데이터를 수집하여 미리 설정된 임계값을 통해 작업의 발생 유무를 판단하는 복수의 디바이스; 및
    상기 복수의 디바이스 중 상기 작업이 발생된 것으로 판단한 디바이스를 마스터(Master) 디바이스로 설정하고 나머지 디바이스를 슬레이브(Slave) 디바이스로 설정하며, 상기 마스터 디바이스로부터 각 디바이스별 작업 우선순위의 비교 결과를 수신하여 해당 디바이스의 동작에 필요한 자원을 할당하는 서버
    를 포함하는 것을 특징으로 하는 자원 할당 알고리즘 기반 IoT 분산 처리 시스템.
  2. 제1항에 있어서,
    상기 마스터 디바이스는
    상기 슬레이브 디바이스와 근거리 무선 통신을 통해 상기 작업의 발생 유무에 관한 정보를 포함하는 작업 데이터를 공유하고, 상기 작업 데이터에 기초하여 상기 각 디바이스별 작업 우선순위를 비교하며, 상기 작업 우선순위의 비교 결과를 상기 서버에 전송하여 해당 디바이스의 동작에 필요한 자원을 요청하는 것을 특징으로 하는 자원 할당 알고리즘 기반 IoT 분산 처리 시스템.
  3. 제2항에 있어서,
    상기 마스터 디바이스는
    상기 자원의 요청에 대한 응답으로 상기 서버로부터 자원 할당에 따른 동작 명령을 수신하여 동작하거나 상기 동작 명령을 해당 디바이스에 전달하는 것을 특징으로 하는 자원 할당 알고리즘 기반 IoT 분산 처리 시스템.
  4. 제2항에 있어서,
    상기 작업 데이터는
    상기 각 디바이스의 동작 상태에 따라 상기 각 디바이스별로 미리 설정된 가중치 정보를 더 포함하고,
    상기 마스터 디바이스는
    상기 작업 발생 유무에 관한 정보에 기초하여 상기 슬레이브 디바이스들 중에서 작업이 발생된 디바이스가 존재하는지 여부를 판단하고, 상기 판단 결과 존재하는 경우, 상기 가중치 정보에 기초하여 상기 작업이 발생된 디바이스와 작업 우선순위를 비교하는 것을 특징으로 하는 자원 할당 알고리즘 기반 IoT 분산 처리 시스템.
  5. 제1항에 있어서,
    상기 서버는
    상기 작업이 발생하지 않은 경우나 상기 작업 우선순위의 비교 결과에 따른 자원 할당이 완료된 후에는 상기 복수의 디바이스를 모두 슬레이브 디바이스로 설정하는 것을 특징으로 하는 자원 할당 알고리즘 기반 IoT 분산 처리 시스템.
  6. 제1항에 있어서,
    상기 복수의 디바이스 각각은
    상기 센서 데이터를 측정하는 센서; 및
    상기 센서 데이터를 수집하여 상기 임계값을 통해 상기 작업의 발생 유무를 판단하는 아두이노(Aduino)
    를 포함하는 것을 특징으로 하는 자원 할당 알고리즘 기반 IoT 분산 처리 시스템.
  7. 제1항에 있어서,
    상기 서버와 연동하여 센서 데이터, 상기 복수의 디바이스 각각의 동작 상태, 자원 사용량, 전력 사용량, 상기 서버의 자원 사용량, 및 잔여 자원을 저장 및 갱신하는 데이터베이스; 및
    사용자 단말기에 설치되고 상기 데이터베이스를 참조하여 센서의 상태 정보, 상기 복수의 디바이스 각각의 상태 정보 및 상기 서버의 상태 정보를 포함하는 모니터링 정보를 상기 사용자 단말기의 화면에 표시하는 어플리케이션
    을 더 포함하는 것을 특징으로 하는 자원 할당 알고리즘 기반 IoT 분산 처리 시스템.
  8. 복수의 디바이스 중 작업이 발생된 디바이스를 마스터(Master) 디바이스로 설정하고, 나머지 디바이스를 슬레이브(Slave) 디바이스로 설정하는 디바이스 설정부;
    상기 마스터 디바이스와 상기 슬레이브 디바이스 간의 작업 데이터 공유를 통해 도출되는, 각 디바이스별 작업 우선순위의 비교 결과를 상기 마스터 디바이스로부터 수신하는 우선순위 비교부; 및
    상기 작업 우선순위의 비교 결과에 기초하여 해당 디바이스의 동작에 필요한 자원을 할당하는 자원 할당부
    를 포함하는 것을 특징으로 하는 서버.
  9. 복수의 디바이스 각각이 센서 데이터를 수집하여 미리 설정된 임계값을 통해 작업의 발생 유무를 판단하는 단계;
    서버가 상기 복수의 디바이스 중 상기 작업이 발생된 것으로 판단한 디바이스를 마스터(Master) 디바이스로 설정하고 나머지 디바이스를 슬레이브(Slave) 디바이스로 설정하는 단계; 및
    상기 서버가 상기 마스터 디바이스로부터 각 디바이스별 작업 우선순위의 비교 결과를 수신하여 해당 디바이스의 동작에 필요한 자원을 할당하는 단계
    를 포함하는 것을 특징으로 하는 자원 할당 알고리즘 기반 IoT 분산 처리 방법.
  10. 제9항에 있어서,
    상기 마스터 디바이스가 상기 슬레이브 디바이스와 근거리 무선 통신을 통해 상기 작업의 발생 유무에 관한 정보를 포함하는 작업 데이터를 공유하는 단계;
    상기 마스터 디바이스가 상기 작업 데이터에 기초하여 상기 각 디바이스별 작업 우선순위를 비교하는 단계; 및
    상기 마스터 디바이스가 상기 작업 우선순위의 비교 결과를 상기 서버에 전송하여 해당 디바이스의 동작에 필요한 자원을 요청하는 단계
    를 더 포함하는 것을 특징으로 하는 자원 할당 알고리즘 기반 IoT 분산 처리 방법.
  11. 제10항에 있어서,
    상기 작업 데이터는
    상기 각 디바이스의 동작 상태에 따라 상기 각 디바이스별로 미리 설정된 가중치 정보를 더 포함하고,
    상기 각 디바이스별 작업 우선순위를 비교하는 단계는
    상기 작업 발생 유무에 관한 정보에 기초하여 상기 슬레이브 디바이스들 중에서 작업이 발생된 디바이스가 존재하는지 여부를 판단하는 단계; 및
    상기 판단 결과 존재하는 경우, 상기 가중치 정보에 기초하여 상기 작업이 발생된 디바이스와 작업 우선순위를 비교하는 단계
    를 포함하는 것을 특징으로 하는 자원 할당 알고리즘 기반 IoT 분산 처리 방법.
  12. 제9항에 있어서,
    상기 서버가 센서 데이터, 상기 복수의 디바이스 각각의 동작 상태, 자원 사용량, 전력 사용량, 상기 서버의 자원 사용량, 및 잔여 자원을 데이터베이스에 적재하는 단계; 및
    사용자 단말기에 설치되는 어플리케이션이 상기 데이터베이스를 참조하여 센서의 상태 정보, 상기 복수의 디바이스 각각의 상태 정보 및 상기 서버의 상태 정보를 포함하는 모니터링 정보를 상기 사용자 단말기의 화면에 표시하는 단계
    를 더 포함하는 것을 특징으로 하는 자원 할당 알고리즘 기반 IoT 분산 처리 방법.
KR1020170136248A 2017-10-20 2017-10-20 자원 할당 알고리즘 기반 IoT 분산 처리 시스템 및 방법 KR102002076B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170136248A KR102002076B1 (ko) 2017-10-20 2017-10-20 자원 할당 알고리즘 기반 IoT 분산 처리 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170136248A KR102002076B1 (ko) 2017-10-20 2017-10-20 자원 할당 알고리즘 기반 IoT 분산 처리 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20190044178A true KR20190044178A (ko) 2019-04-30
KR102002076B1 KR102002076B1 (ko) 2019-10-01

Family

ID=66285758

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170136248A KR102002076B1 (ko) 2017-10-20 2017-10-20 자원 할당 알고리즘 기반 IoT 분산 처리 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102002076B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230059538A (ko) * 2021-10-26 2023-05-03 (주) 넥스트랩 네트워크기반 정보수집장치 다중연동과 수집데이터 분석 시스템 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140128691A (ko) * 2013-04-29 2014-11-06 삼성전자주식회사 디바이스 대 디바이스 통신 시스템에서 자원의 분산 스케줄링 방법 및 장치
KR20160073530A (ko) * 2014-12-17 2016-06-27 (주) 가인테크 더미로드를 이용한 진단 및 원격제어 시스템 및 그 방법
KR20160094467A (ko) * 2015-01-30 2016-08-10 전자부품연구원 사물인터넷 시스템에서 우선순위 기반 리소스 제어 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140128691A (ko) * 2013-04-29 2014-11-06 삼성전자주식회사 디바이스 대 디바이스 통신 시스템에서 자원의 분산 스케줄링 방법 및 장치
KR20160073530A (ko) * 2014-12-17 2016-06-27 (주) 가인테크 더미로드를 이용한 진단 및 원격제어 시스템 및 그 방법
KR20160094467A (ko) * 2015-01-30 2016-08-10 전자부품연구원 사물인터넷 시스템에서 우선순위 기반 리소스 제어 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230059538A (ko) * 2021-10-26 2023-05-03 (주) 넥스트랩 네트워크기반 정보수집장치 다중연동과 수집데이터 분석 시스템 및 방법

Also Published As

Publication number Publication date
KR102002076B1 (ko) 2019-10-01

Similar Documents

Publication Publication Date Title
US7526364B2 (en) Virtual field controller
US8301315B2 (en) Scheduling cool air jobs in a data center
JP5335043B2 (ja) 設備機器制御装置及び設備機器システム
US20230366576A1 (en) Air conditioning management system
KR102195272B1 (ko) 공기 조화기의 설치 정보 제공 방법, 장치 및 컴퓨터-판독 가능 기록 매체
KR20190044178A (ko) 자원 할당 알고리즘 기반 IoT 분산 처리 시스템 및 방법
JP6052126B2 (ja) 複数のリモートコントローラーを初期設定するための方法、および制御システム
JP6544685B2 (ja) 制御装置、制御方法及び制御プログラム
JP5951270B2 (ja) 空気調和機の消費電力量管理制御システム、サーバ装置、クライアント装置及び空気調和機の消費電力量管理制御方法
CN113950601B (zh) 设备管理系统
EP3460345B1 (en) Air conditioning management device and program
EP3662330B1 (en) Fault tolerant services for integrated building automation systems
KR101957582B1 (ko) 센서 데이터 식별 기반 IoT 자동 관리 시스템 및 방법
KR102287293B1 (ko) 공간 내의 복수의 에어컨을 제어하는 시스템, 방법, 및 컴퓨터-판독가능 매체
CN115694869A (zh) Iot许可平台和架构
KR20190044199A (ko) 제어 명령 분석 기반 IoT 자동 제어 시스템 및 방법
KR101575982B1 (ko) 가정이나 매장 등 특정 범위의 영역에 설치 및 배포되어 있는 IoT 단말, 혹은 매쉬업 서비스들의 QoS를 보장해 주는 방법 및 시스템
US10274915B2 (en) Scalable cyber-physical structure management
EP3435230A1 (en) Information processing system, information processing device, and information processing method
JP7339558B2 (ja) 空調管理システム
US20230341143A1 (en) Air-Conditioning System
JP6858822B2 (ja) 住宅管理システム
JP7196764B2 (ja) 情報処理システム
JP6727007B2 (ja) 空調管理システムおよび空調機
JPH06348712A (ja) 分散協調制御システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant