KR101971170B1 - 웹 서버 기반의 분산형 기기간 협업 시스템 및 방법 - Google Patents

웹 서버 기반의 분산형 기기간 협업 시스템 및 방법 Download PDF

Info

Publication number
KR101971170B1
KR101971170B1 KR1020160133387A KR20160133387A KR101971170B1 KR 101971170 B1 KR101971170 B1 KR 101971170B1 KR 1020160133387 A KR1020160133387 A KR 1020160133387A KR 20160133387 A KR20160133387 A KR 20160133387A KR 101971170 B1 KR101971170 B1 KR 101971170B1
Authority
KR
South Korea
Prior art keywords
collaborative
information
web server
user terminal
collaboration
Prior art date
Application number
KR1020160133387A
Other languages
English (en)
Other versions
KR20180041356A (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 KR1020160133387A priority Critical patent/KR101971170B1/ko
Publication of KR20180041356A publication Critical patent/KR20180041356A/ko
Application granted granted Critical
Publication of KR101971170B1 publication Critical patent/KR101971170B1/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
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 웹 서버 기반의 분산형 기기간 협업 시스템 및 방법에 관한 것으로서, 원하는 작업을 위한 협업 기기의 순서를 정의하는 작업 정보를 생성하여 이벤트를 발생시키는 사용자 단말; 다수의 기기 정보를 저장하는 Json 스키마를 포함하는 웹 서버; 상기 사용자 단말에서 이벤트가 발생한 경우, 상기 사용자 단말에 의해 생성된 작업 정보에 포함된 첫 번째로 동작시킬 협업 기기에 대한 기기 정보와 상기 Json 스키마에 저장된 기기 정보를 비교하여 자신의 차례인지 여부를 판단하고, 자신의 차례인 경우 작업을 수행하도록 제어하는 마이크로 컨트롤러를 포함하는 다수의 협업 기기; 및 상기 사용자 단말과 상기 다수의 협업 기기 사이에 접속 경로를 제공하는 유무선 공유기를 포함한다.

Description

웹 서버 기반의 분산형 기기간 협업 시스템 및 방법{SYSTEM AND METHOD FOR SOCIALIZING DISTRIBUTED MACHINES BASED ON WEB SERVER}
본 발명은 유무선 공유기에 접속하는 클라이언트가 많아지거나 클라이언트로부터의 요청이 증가함에 따른 유무선 공유기의 부족한 자원에 대한 문제를 해결할 수 있는 웹 서버 기반의 분산형 기기간 협업 시스템 및 방법에 관한 것이다.
최근 사물인터넷(Internet of Things, 이하, 'IOT'라 칭함)에 대한 관심이 집중되고 있다. 이 예로서 구글(Google)의 홈 온도제어 시스템인 ‘Nest’와, 13개의 안테나를 가지고 효율적인 채널을 골라서 무선 랜 서비스를 제공하는 ‘On Hub' 등이 있다. 이와 같이 IoT가 기반이 되는 플랫폼으로부터 시작해서 네트워크, 보안, 및 스마트 홈 등의 연구가 활발히 진행되고 있다.
한편, 종래의 협업 시스템은 중앙집중형 기기간 협업 시스템으로서 공유기에 OpenWrt를 구축하고 APMsetup 혹은 IIS(Internet Information Service)와 같은 웹 서버를 구축하여 활용하였다. 웹 서버는 공유기에 접속하는 모든 기기를 제어하고 기기로부터의 요청을 처리한다. 그러나, 공유기에 접속하는 클라이언트가 많아지거나 클라이언트로부터의 요청이 증가하면 데이터의 손실 및 병목현상이 발생하고, 이로 인해 응답시간이 길어지거나 작업이 중단되는 문제점이 있었다.
이에 본 출원인은 유무선 공유기의 부족한 자원에 대한 문제를 해결할 수 있는 웹 서버 기반의 분산형 기기간 협업 시스템을 제안하게 되었으며, 이와 관련된 선행기술문헌으로는 한국등록특허 제10-1319815호(발명의 명칭: 멀티 단말 장치 간 서버-클라이언트 서비스 환경을 지원하는 앱 구동 방법, 등록일: 2013.10.12.)가 있다.
본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로서, 유무선 공유기에 접속하는 클라이언트가 많아지거나 클라이언트로부터의 요청이 증가함에 따른 유무선 공유기의 부족한 자원에 대한 문제를 해결할 수 있는 웹 서버 기반의 분산형 기기간 협업 시스템 및 방법을 제공하는 데 그 목적이 있다.
이와 같은 목적을 달성하기 위한 본 발명은, 원하는 작업을 위한 협업 기기의 순서를 정의하는 작업 정보를 생성하여 이벤트를 발생시키는 사용자 단말; 다수의 기기 정보를 저장하는 Json 스키마를 포함하는 웹 서버; 상기 사용자 단말에서 이벤트가 발생한 경우, 상기 사용자 단말에 의해 생성된 작업 정보에 포함된 첫 번째로 동작시킬 협업 기기에 대한 기기 정보와 상기 Json 스키마에 저장된 기기 정보를 비교하여 자신의 차례인지 여부를 판단하고, 자신의 차례인 경우 작업을 수행하도록 제어하는 마이크로 컨트롤러를 포함하는 다수의 협업 기기; 및 상기 사용자 단말과 상기 다수의 협업 기기 사이에 접속 경로를 제공하는 유무선 공유기;를 포함하는 웹 서버 기반의 분산형 기기간 협업 시스템을 제공한다.
상기 웹 서버는 새로운 협업 기기가 추가되는 경우, 상기 Json 스키마의 구조 정보를 상기 새로운 협업 기기로 전송하고, 상기 새로운 협업 기기로부터 기기 정보를 수신하여 상기 Json 스키마에 저장할 수 있다.
상기 새로운 협업 기기의 기기 정보가 상기 웹 서버의 Json 스키마에 저장된 후, 상기 새로운 협업 기기는 자신의 기기 정보를 상기 사용자 단말로 전송할 수 있다.
상기 웹 서버 기반의 분산형 기기간 협업 시스템은, 상기 사용자 단말에 의해 생성된 작업 정보를 저장하는 데이터베이스;를 더 포함하고, 상기 다수의 협업 기기는 상기 작업 정보가 상기 데이터베이스에 저장되는 경우 이벤트가 발생한 것으로 판단할 수 있다.
상기 다수의 협업 기기 중 특정 협업 기기는, 작업이 종료된 후, 상기 데이터베이스에 저장된 작업 정보에서 다음으로 작업할 협업 기기의 기기 정보를 체크하고, 다음으로 작업할 협업 기기가 존재하는 경우, 다음으로 작업할 협업 기기로 시작 메시지를 전송할 수 있다.
상기 특정 협업 기기는 상기 데이터베이스에 기기 정보가 저장될 때 테이블에 저장된 IP 주소를 이용하여 상기 다음으로 작업할 협업 기기로 상기 시작 메시지를 전송할 수 있다.
상기 다수의 협업 기기 각각은, 상기 웹 서버로부터 상기 Json 스키마의 구조 정보를 수신하고, 수신된 Json 스키마의 구조 정보를 저장하는 로드 Json 구조 및 저장 모듈(Load Json Structure & Storage Module); 자신의 기기 정보를 상기 웹 서버를 통해 상기 Json 스키마에 저장한 후, 자신의 기기 정보를 상기 사용자 단말로 전송하는 기기 데이터 전송 모듈(Machine Data Transfer Module); GPIO 인터페이스를 통해 협업 기기의 동작을 제어하는 GPIO 제어 모듈(GPIO Control Module); 및 상기 사용자 단말에서 이벤트가 발생하는 경우, 상기 GPIO 제어 모듈을 통해 협업 기기의 동작을 제어하는 이벤트 모듈(Event Module);을 포함할 수 있다.
본 발명은, 사용자 단말과 다수의 협업 기기가 유무선 공유기를 통해 연결되어 있는 시스템에서의 기기간 협업 방법에 있어서, 웹 서버가 다수의 기기 정보를 저장하는 Json 스키마에 저장하는 단계; 상기 사용자 단말이 원하는 작업을 위한 협업 기기의 순서를 정의하는 작업 정보를 생성하여 이벤트를 발생시키는 단계; 상기 사용자 단말에서 이벤트가 발생한 경우, 상기 다수의 협업 기기에 포함된 마이크로 컨트롤러가 상기 사용자 단말에 의해 생성된 작업 정보에 포함된 첫 번째로 동작시킬 협업 기기에 대한 기기 정보와 상기 Json 스키마에 저장된 기기 정보를 비교하여 자신의 차례인지 여부를 판단하는 단계; 및 상기 다수의 협업 기기에 포함된 마이크로 컨트롤러가 자신의 차례인 경우 작업을 수행하도록 제어하는 단계;를 포함하는 웹 서버 기반의 분산형 기기간 협업 방법을 제공한다.
상기 웹 서버 기반의 분산형 기기간 협업 방법은, 상기 웹 서버가, 새로운 협업 기기가 추가되는 경우, 상기 Json 스키마의 구조 정보를 상기 새로운 협업 기기로 전송하는 단계; 및 상기 웹 서버가 상기 새로운 협업 기기로부터 기기 정보를 수신하여 상기 Json 스키마에 저장하는 단계;를 더 포함할 수 있다.
상기 웹 서버 기반의 분산형 기기간 협업 방법은, 상기 다수의 협업 기기 중 특정 협업 기기가, 작업이 종료된 후, 상기 데이터베이스에 저장된 작업 정보에서 다음으로 작업할 협업 기기의 기기 정보를 체크하는 단계; 및 상기 특정 협업 기기가, 다음으로 작업할 협업 기기가 존재하는 경우, 다음으로 작업할 협업 기기로 시작 메시지를 전송하는 단계;를 더 포함할 수 있다.
이상에서 설명한 바와 같이 본 발명에 의하면, 다수의 협업 기기간의 응답시간을 줄일 수 있고, 기존의 데이터 손실 및 병목현상을 완화할 수 있으며, 이로 인해 기기간의 협업을 원활히 수행할 수 있다.
도 1은 본 발명의 실시예에 따른 웹 서버 기반의 분산형 기기간 협업 시스템의 계층 구조를 나타낸 도면,
도 2는 본 발명의 일실시예에 따른 웹 서버 기반의 분산형 기기간 협업 시스템의 개략적인 구성을 나타낸 도면,
도 3은 본 발명의 실시예에 따른 웹 서버 기반의 분산형 기기간 협업 시스템을 구성하는 각 장치의 구성을 나타낸 도면,
도 4는 본 발명의 실시예에 따른 센싱 기기의 하드웨어 구성을 나타낸 도면,
도 5는 본 발명의 실시예에 따른 협업 기기의 하드웨어 구성을 나타낸 도면,
도 6은 본 발명의 실시예에 따른 웹 서버 기반의 분산형 기기간 협업 방법을 나타낸 흐름도,
도 7은 본 발명의 실시예에 따른 새로운 협업 기기가 추가되는 방법을 나타낸 신호 흐름도, 및
도 8은 본 발명에 따른 분산형 기기간 협업 시스템과 종래의 중앙집중형 기기간 협업 시스템 간의 응답 시간을 비교한 그래프이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 웹 서버 기반의 분산형 기기간 협업 시스템의 계층 구조를 나타낸 도면이다.
도 1을 참조하면, 본 발명에 따른 웹 서버 기반의 분산형 기기간 협업 시스템은 와이파이를 기반으로 하고, 제1 마이크로 컨트롤러인 아두이노(Arduino)를 활용하여 센서 데이터를 수신하여 후술하는 데이터베이스에 저장하는 센서 계층(Sensor Layer)(100)과, 후술하는 사용자 애플리케이션으로부터 발생하는 작업 정보를 데이터베이스에 저장하는 애플리케이션 계층(Application Layer)(200)과, 제2 마이크로 컨트롤러인 라즈베리 파이(Raspberry Pi)를 통해 데이터베이스에 저장된 협업 정보를 기반으로 협업 기기를 제어하는 기기 제어 계층(Machine Control Layer)(300)을 포함한다.
도 2는 본 발명의 실시예에 따른 웹 서버 기반의 분산형 기기간 협업 시스템의 개략적인 구성을 나타낸 도면이다.
도 2를 참조하면, 본 발명에 따른 웹 서버 기반의 분산형 기기간 협업 시스템은 센싱 기기(210), 사용자 단말(220), 웹 서버(230), 데이터베이스(240), 다수의 협업 기기(250), 및 유무선 공유기(AP)(260) 등을 포함한다.
센싱 기기(210)는 전술한 센서 계층(100)을 구성하고, 가정 내 기기에 부착된 온도, 습도, 조도 등의 센서가 될 수 있다. 센싱 기기(210)는 데이터를 센싱하고, 센싱된 데이터를 데이터베이스(240)에 저장한다.
이를 위해, 센싱 기기(210)는 데이터를 센싱하는 센서(212) 및 센서(212)에 의해 센싱된 데이터를 유무선 공유기(260)를 경유하여 데이터베이스(240)에 저장하는 제1 마이크로 컨트롤러(214)를 포함한다.
사용자 단말(220)은 전술한 애플리케이션 계층(200)을 구성하고, 사용자 애플리케이션(222)을 포함한다. 사용자는 사용자 애플리케이션(222)을 통해 작업 이름을 설정할 수 있고, 작업에 사용할 수 있는 기기 정보를 제공받을 수 있다. 이에, 사용자는 사용자 애플리케이션(222)을 통해 기기 목록에서 원하는 협업 기기를 선택하고, 협업 기기의 작업 순서를 설정할 수 있다.
이처럼, 사용자 단말(220)은 사용자로부터 협업에 필요한 작업 정보(Task_info)와 협업 관계 정보(Relation_info)의 입력이 끝나면, 작업 정보 및 협업 관계 정보를 유무선 공유기(260)를 경유하여 데이터베이스(240)에 저장한다. 여기서, 작업 정보는 작업 고유번호, 협업 기기가 수행할 작업에 대한 설명, 우선순위, 해당 작업에 대한 협업 기기의 순서 결정 및 기기들의 그룹화를 진행하는 정보 등을 포함한다. 협업 관계 정보는 협업 기기들의 관계 고유번호, 해당 협업관계가 정의된 협업 기기들, 협업 기기들 간의 협업관계를 나타내는 정보 등을 포함할 수 있다.
웹 서버(230)는 다수의 기기 정보를 저장하는 Json 스키마(232)를 포함한다. 여기서, 기기 정보는 기기의 고유번호, 기기의 기능, 모델명, 네트워크, 메인보드, 제조업체 등의 정보를 포함한다. 이를 위해, 웹 서버(230)는 새로운 협업 기기가 추가되는 경우, Json 스키마(232)의 구조 정보를 새로운 협업 기기로 전송하고, 새로운 협업 기기로부터 기기 정보를 수신하며, 수신된 기기 정보를 파서(Parser)를 활용하여 Json 스키마(232)에 저장한다. 이에 따라, 새로운 협업 기기는, Json 스키마(232)의 구조 정보를 저장하고, 자신의 기기 정보가 Json 스키마(232)에 저장된 후, 자신의 기기 정보를 사용자 단말(220) 및 데이터베이스(240)로 전송한다.
데이터베이스(240)는 센싱 기기(210)에 의해 센싱된 데이터와, 사용자 단말(220)에 의해 생성된 작업 정보 및 협업 관계 정보 등을 저장한다.
다수의 협업 기기(250)는 가정의 경우 컴퓨터, 세탁기, 전기밥솥, 창문, 및 청소기 등이 될 수 있다. 그러나, 이에 한정되는 것은 아니며 가전제품, 사무용품, 센서, 및 스마트폰 등의 모든 사물을 포함할 수 있다.
다수의 협업 기기(250)는 유무선 공유기(260)에 접속하여 네트워크 통신이 가능한 제2 마이크로 컨트롤러(252)를 포함한다. 따라서, 다수의 협업 기기(250)에 마련된 제2 마이크로 컨트롤러(252)는 와이파이를 통해 유무선 공유기(260)를 통해 데이터를 주고받으며 기기 간 협업을 진행한다.
구체적으로는, 우선, 제2 마이크로 컨트롤러(252)는 사용자 단말(220)에서 이벤트가 발생한지 여부를 판단한다. 즉, 제2 마이크로 컨트롤러(252)는 사용자 단말(220)에 의해 생성된 작업 정보가 데이터베이스(240)에 저장되는 경우 이벤트가 발생한 것으로 판단한다.
제2 마이크로 컨트롤러(252)는 사용자 단말(220)에서 이벤트가 발생한 경우, 작업 정보의 존재 유무, 작업 정보의 작업 명령의 상태, 및 첫 번째로 동작시킬 협업 기기의 상태를 확인한 후, 기기를 작동시킨다. 구체적으로는, 제2 마이크로 컨트롤러(252)는 사용자 단말(220)에 의해 생성된 작업 정보에 포함된 첫 번째로 동작시킬 협업 기기에 대한 기기 정보와 웹 서버(230)의 Json 스키마(232)에 저장된 기기 정보를 비교하여 자신의 차례인지 여부를 판단하고, 자신의 차례인 경우 작업을 수행하며, 자신의 차례가 아닌 경우 대기하도록 제어한다.
한편, 도면부호 250-1을 첫 번째로 동작시킬 협업 기기 즉, 제1 순위 협업 기기라 하고, 도면부호 250-2를 제2 순위 협업 기기라고 하면, 제1 순위 협업 기기(250-1)는 작업이 종료된 후, 데이터베이스(240)에 저장된 작업 정보에서 다음으로 작업할 협업 기기 즉, 제2 순위 협업 기기(250-2)의 기기 정보를 체크하고, 제2 순위 협업 기기(250-2)가 존재하는 경우, 제2 순위 협업 기기(250-2)로 시작 메시지를 전송한다. 구체적으로는, 제1 순위 협업 기기(250-1)는 데이터베이스(240)에 기기 정보가 저장될 때 테이블에 저장된 IP 주소를 이용하여 TCP/IP 통신을 통해 제2 순위 협업 기기(250-2)로 시작 메시지를 전송할 수 있다. 그리고, 제2 순위 협업 기기(250-2)는 제1 순위 협업 기기(250-1)로부터 작동이 멈췄다는 신호를 받게 되면 작업을 시작한다.
유무선 공유기(260)는 사용자 단말(220)과 다수의 협업 기기(250) 사이에 접속 경로를 제공한다.
도 3은 본 발명의 실시예에 따른 웹 서버 기반의 분산형 기기간 협업 시스템을 구성하는 각 장치의 구성을 나타낸 도면이다.
도 3을 참조하면, 본 발명에 따른 웹 서버 기반의 분산형 기기간 협업 시스템은 크게 센서 계층(100)과 제어 계층(Control Layer)(100')로 나누어지고, 제어 계층(100')은 다시 애플리케이션 계층(200)과 기기 제어 계층(300)으로 나누어진다.
센서 계층(100)에서 센싱 기기(210)의 제1 마이크로 컨트롤러(214)는 센서(212)에 의해 센싱된 데이터를 수신하는 센서 이벤트 모듈(Sensor Event Module)(214-1), 유무선 공유기(260)를 통해 와이파이에 연결되는 와이파이 연결 모듈(Wi-Fi Connect Module)(214-2), 및 유무선 공유기(260)를 통해 수신된 데이터를 데이터베이스(240)에 저장하는 센서 데이터 전송 모듈(Sensor Data Transfer Module)(214-3)을 포함한다.
기기 제어 계층(300)에서 협업 기기(250)의 제2 마이크로 컨트롤러(252)는 유무선 공유기(260)를 통해 와이파이에 연결되는 와이파이 연결 모듈(Wi-Fi Connect Module)(252-1), 기기 정보가 파서를 통해 웹 서버(230)의 Json 스키마(232)에 저장되면, 기기 정보를 사용자 단말(220)로 전송하는 기기 데이터 전송 모듈(Machine Data Transfer Module)(252-2), 웹 서버(230)로부터 협업에 필요한 Json 스키마(232)의 구조 정보를 수신하여 저장하는 로드 제이슨 구조 및 저장 모듈(Load Json Structure & Storage Module)(252-3), 사용자 단말(220)로부터 이벤트가 발생한 경우, 협업 기기의 동작을 제어하는 이벤트 모듈(Event Module)(252-4), 및 이벤트 모듈(252-4)의 지시에 따라 GPIO 인터페이스를 통해 협업 기기의 동작을 제어하는 GPIO 제어 모듈(GPIO Control Module)(252-5)을 포함한다.
애플리케이션 계층(200)에서 사용자 단말(220)의 사용자 애플리케이션(222)은 데이터베이스(240)에 저장된 데이터를 모니터링하는 모니터링 모듈(Monitoring Module)(222-1), 데이터베이스(240)에 저장된 기기 정보를 조회하는 기기 데이터 로드 모듈(Machine Data Load Module)(222-2), 및 조회된 기기 정보를 통해 작업을 정의하고 작업에 필요한 기기를 선택한 후, 기기에 대한 순서를 정의하여 작업 정보 및 협업 관계 정보를 생성하고, 생성된 작업 정보 및 협업 관계 정보를 데이터베이스(240)에 저장하는 작업 정보 및 협업 관계 데이터 전송 모듈(Task & Relation Data Transfer Module)(222-3)을 포함한다.
도 4는 본 발명의 실시예에 따른 센싱 기기의 하드웨어 구성을 나타낸 도면이다.
도 4를 참조하면, 본 발명의 실시예에 따른 센서(212)는 실외 온도센서(410), 실내 온도센서(420), 열 감지 센서(430), 및 습도 센서(440) 등이 될 수 있고, 각 센서는 브레드 보드(Bread Board)(450)를 통해 아두이노인 제1 마이크로 컨트롤러(214)에 연결된다. 구체적으로는, 온도 센서(410, 420)는 아두이노(214)의 제2, 제3 디지털 포트를 이용하여 신호를 전송하고, 열 감지 센서(430)는 아두이노(214)의 제4, 제5 아날로그 포트를 이용하여 신호를 전송하며, 습도 센서(440)는 아두이노(214)의 제0, 제1 아날로그 포트를 이용하여 신호를 전송한다.
도 5는 본 발명의 실시예에 따른 협업 기기의 하드웨어 구성을 나타낸 도면이다.
도 5를 참조하면, 본 발명에 따른 협업 기기(250)는 라즈베리 파이인 제2 마이크로 컨트롤러(252)와 기기 간의 응답속도의 차이를 줄이기 위해 고체 상태 릴레이(Solid State Relay: SSR)(520)를 이용한다. 제2 마이크로 컨트롤러(252)와 고체 상태 릴레이(520)는 브레드 보드(510)를 통해 연결되는 것이 바람직하다.
기존에 공유기를 사용한 중앙집중형 기기간 협업 시스템의 단점은 공유기의 부족한 자원으로 인한 요청 작업 지연 및 데이터 손실로 인한 병목 현상이다. 그런데, 본 발명의 실시예에서는 전술한 바와 같이 각 협업 기기(250)에 요청 작업을 원활히 수행할 수 있는 제2 마이크로 컨트롤러(252)를 배치함으로써, 공유기를 통해 처리하던 작업들을 각 기기에서 수행할 수 있다.
도 6은 본 발명의 실시예에 따른 웹 서버 기반의 분산형 기기간 협업 방법을 나타낸 흐름도이다.
도 6을 참조하면, 협업 기기(250)는 사용자 단말(220)에서 이벤트가 발생한지 여부를 판단한다(S610). 이때, 협업 기기(250)는 사용자 단말(220)에 의해 생성된 작업 정보가 데이터베이스(240)에 저장되는 경우 이벤트가 발생한 것으로 판단한다.
협업 기기(250)는 사용자 단말(220)에서 이벤트가 발생한 경우, 사용자 단말(250)의 작업 정보 실행 여부를 확인한다(S620).
협업 기기(250)는 사용자 단말이 작업 정보를 실행한 경우, 데이터베이스(240)에서 사용자 단말(220)에 의해 생성된 작업 정보에 포함된 사용자가 첫 번째로 동작시킬 협업 기기 즉, 제1 순위 협업 기기에 대한 기기 정보와 웹 서버(230)의 Json 스키마(232)에 저장된 기기 정보를 비교하여 자신의 차례인지 여부를 판단하고(S630), 자신의 차례인 경우 작업을 수행하며(S640), 자신의 차례가 아닌 경우 차순위 협업 기기로서 대기한다(S632).
이어서, 협업 기기(250)는 작업이 종료되었는지 여부를 판단하고(S650), 작업이 종료된 경우, 데이터베이스(240)에 저장된 작업 정보에서 다음으로 작업할 협업 기기 즉, 제2 순위 협업 기기의 기기 정보를 탐색하고(S660), 제2 순위 협업 기기가 존재하는 경우, 제2 순위 협업 기기로 시작 메시지를 전송한다(S670). 구체적으로는, 협업 기기(250)는 데이터베이스(240)에 기기 정보가 저장될 때 테이블에 저장된 IP 주소를 이용하여 TCP/IP 통신을 통해 제2 순위 협업 기기로 시작 메시지를 전송할 수 있다.
한편, 단계 S632에서 대기하던 협업 기기(250)는 제1 순위 협업 기기의 작업이 종료되었는지 여부 즉, 작업이 종료되었다는 신호의 수신 여부를 판단하고(S634), 제1 순위 협업 기기의 작업이 종료된 경우 작업을 시작한다.
도 7은 본 발명의 실시예에 따른 새로운 협업 기기가 추가되는 방법을 나타낸 신호 흐름도이다.
도 7을 참조하면, 새로운 협업 기기(700)는 유무선 공유기(260)에 접속하여(S710), 웹 서버(230)와 연결된다(S720).
웹 서버(230)는 새로운 협업 기기(700)가 연결되면, Json 스키마(232)의 구조 정보를 새로운 협업 기기(700)로 전송한다(S730).
새로운 협업 기기(700)는 이에 대한 응답으로 자신의 기기 정보를 웹 서버(230)로 전송한다(S740). 이후, 웹 서버(230)는 새로운 협업 기기(700)로부터 수신한 기기 정보를 파서하여 Json 스키마(232)에 저장한다(S750).
도 8은 본 발명에 따른 분산형 기기간 협업 시스템과 종래의 중앙집중형 기기간 협업 시스템 간의 응답 시간을 비교한 그래프이다.
도 8을 참조하면, 데이터의 요청을 10개부터 시작하여 50개까지 증가시키면서 테스트를 진행하였고, 이에 따른 응답시간을 측정하였다. 중앙집중형 기기간 협업 시스템의 경우 요청 작업의 개수에 따른 평균응답시간은 0.6초이며 요청 작업이 증가함에 따라 빈번하게 병목현상이 발생하였다. 즉, 요청 작업이 많아질수록 응답시간이 길어지는 것을 확인할 수 있었다. 이에 반해, 본 발명의 실시예에 따른 분산형 기기간 협업 시스템의 경우 평균 응답시간이 0.1초로서, 중앙집중형 기기간 협업 시스템보다 약 0.5초 감소하였다. 이는 서버 측 기기와 클라이언트 측 기기가 1:1 통신을 하며 이외의 기기는 서버와 연결될 때까지 대기하기 때문에 요청이 증가하더라도 응답시간의 차이가 근소한 것을 확인할 수 있었다. 이로 인해 본 발명에 따른 분산형 기기간 협업 시스템은 기존의 데이터 손실 및 병목현상을 완화하고, 기기 간의 협업을 원활히 수행할 수 있다는 것을 알 수 있다.
따라서 본 발명의 명세서에 개시된 실시예들은 본 발명을 한정하는 것이 아니다. 본 발명의 범위는 아래의 특허청구범위에 의해 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술도 본 발명의 범위에 포함되는 것으로 해석해야 할 것이다.
210: 센싱 기기 212: 센서
214: 제1 마이크로 컨트롤러 220: 사용자 단말
222: 사용자 애플리케이션 230: 웹 서버
232: Json 스키마 240: 데이터베이스
250: 다수의 협업 기기 252: 제2 마이크로 컨트롤러
260: 유무선 공유기

Claims (10)

  1. 데이터를 센싱하는 센서, 및 아두이노(Arduino)로 구현되고 브레드 보드를 통해 상기 센서와 연결되며 상기 센서에 의해 센싱된 데이터를 유무선 공유기를 경유하여 데이터베이스에 저장하는 제1 마이크로 컨트롤러를 포함하는 센싱 기기;
    원하는 작업을 위한 협업 기기의 순서를 정의하는 작업 정보를 생성하여 이벤트를 발생시키는 사용자 단말;
    다수의 기기 정보를 저장하는 Json 스키마를 포함하는 웹 서버;
    상기 사용자 단말에서 이벤트가 발생한 경우, 상기 사용자 단말에 의해 생성된 작업 정보에 포함된 첫 번째로 동작시킬 협업 기기에 대한 기기 정보와 상기 Json 스키마에 저장된 기기 정보를 비교하여 자신의 차례인지 여부를 판단하고, 자신의 차례인 경우 작업을 수행하도록 제어하는 제2 마이크로 컨트롤러, 및 상기 제2 마이크로 컨트롤러와 브레드 보드를 통해 연결되고, 상기 제2 마이크로 컨트롤러와 협업 기기 간의 응답 속도의 차이를 줄이기 위해 이용되는 고체 상태 릴레이(Solid State Relay: SSR)를 포함하는 다수의 협업 기기; 및
    상기 사용자 단말과 상기 다수의 협업 기기 사이에 접속 경로를 제공하는 유무선 공유기;
    를 포함하고,
    상기 센서는 온도 센서, 열 감지 센서 및 습도 센서를 포함하고,
    상기 온도 센서는 상기 아두이노의 제2, 제3 디지털 포트를 이용하여 신호를 전송하고, 상기 열 감지 센서는 상기 아두이노의 제4, 제5 아날로그 포트를 이용하여 신호를 전송하며, 상기 습도 센서는 상기 아두이노의 제0, 제1 아날로그 포트를 이용하여 신호를 전송하는 것을 특징으로 하는 웹 서버 기반의 분산형 기기간 협업 시스템.
  2. 제1항에 있어서,
    상기 웹 서버는 새로운 협업 기기가 추가되는 경우, 상기 Json 스키마의 구조 정보를 상기 새로운 협업 기기로 전송하고, 상기 새로운 협업 기기로부터 기기 정보를 수신하여 상기 Json 스키마에 저장하는 것을 특징으로 하는 웹 서버 기반의 분산형 기기간 협업 시스템.
  3. 제2항에 있어서,
    상기 새로운 협업 기기의 기기 정보가 상기 웹 서버의 Json 스키마에 저장된 후, 상기 새로운 협업 기기는 자신의 기기 정보를 상기 사용자 단말로 전송하는 것을 특징으로 하는 웹 서버 기반의 분산형 기기간 협업 시스템.
  4. 제2항에 있어서,
    상기 사용자 단말에 의해 생성된 작업 정보를 저장하는 데이터베이스;
    를 더 포함하고,
    상기 다수의 협업 기기는 상기 작업 정보가 상기 데이터베이스에 저장되는 경우 이벤트가 발생한 것으로 판단하는 것을 특징으로 하는 웹 서버 기반의 분산형 기기간 협업 시스템.
  5. 제4항에 있어서,
    상기 다수의 협업 기기 중 특정 협업 기기는, 작업이 종료된 후, 상기 데이터베이스에 저장된 작업 정보에서 다음으로 작업할 협업 기기의 기기 정보를 체크하고, 다음으로 작업할 협업 기기가 존재하는 경우, 다음으로 작업할 협업 기기로 시작 메시지를 전송하는 것을 특징으로 하는 웹 서버 기반의 분산형 기기간 협업 시스템.
  6. 제5항에 있어서,
    상기 특정 협업 기기는 상기 데이터베이스에 기기 정보가 저장될 때 테이블에 저장된 IP 주소를 이용하여 상기 다음으로 작업할 협업 기기로 상기 시작 메시지를 전송하는 것을 특징으로 하는 웹 서버 기반의 분산형 기기간 협업 시스템.
  7. 제1항에 있어서,
    상기 다수의 협업 기기 각각은,
    상기 웹 서버로부터 상기 Json 스키마의 구조 정보를 수신하고, 수신된 Json 스키마의 구조 정보를 저장하는 로드 Json 구조 및 저장 모듈(Load Json Structure & Storage Module);
    자신의 기기 정보를 상기 웹 서버를 통해 상기 Json 스키마에 저장한 후, 자신의 기기 정보를 상기 사용자 단말로 전송하는 기기 데이터 전송 모듈(Machine Data Transfer Module);
    GPIO 인터페이스를 통해 협업 기기의 동작을 제어하는 GPIO 제어 모듈(GPIO Control Module); 및
    상기 사용자 단말에서 이벤트가 발생하는 경우, 상기 GPIO 제어 모듈을 통해 협업 기기의 동작을 제어하는 이벤트 모듈(Event Module);
    을 포함하는 것을 특징으로 하는 웹 서버 기반의 분산형 기기간 협업 시스템.
  8. 사용자 단말과 다수의 협업 기기가 유무선 공유기를 통해 연결되어 있는 시스템에서의 기기간 협업 방법에 있어서,
    센싱기기의 제1 마이크로 컨트롤러인 아두이노가 센서에 의해 센싱된 데이터를 유무선 공유기를 경유하여 데이터베이스에 저장하는 단계;
    웹 서버가 다수의 기기 정보를 저장하는 Json 스키마에 저장하는 단계;
    상기 사용자 단말이 원하는 작업을 위한 협업 기기의 순서를 정의하는 작업 정보를 생성하여 이벤트를 발생시키는 단계;
    상기 사용자 단말에서 이벤트가 발생한 경우, 상기 다수의 협업 기기에 포함된 제2 마이크로 컨트롤러가 상기 사용자 단말에 의해 생성된 작업 정보에 포함된 첫 번째로 동작시킬 협업 기기에 대한 기기 정보와 상기 Json 스키마에 저장된 기기 정보를 비교하여 자신의 차례인지 여부를 판단하는 단계; 및
    상기 다수의 협업 기기에 포함된 제2 마이크로 컨트롤러가 자신의 차례인 경우 작업을 수행하도록 제어하는 단계;
    를 포함하고,
    상기 다수의 협업 기기가 상기 제2 마이크로 컨트롤러와 브레드 보드를 통해 연결되는 고체 상태 릴레이를 이용하여 상기 제2 마이크로 컨트롤러와 협업 기기 간의 응답 속도의 차이를 줄이는 단계
    를 더 포함하며,
    상기 센서는 온도 센서, 열 감지 센서 및 습도 센서를 포함하고,
    상기 온도 센서는 상기 아두이노의 제2, 제3 디지털 포트를 이용하여 신호를 전송하고, 상기 열 감지 센서는 상기 아두이노의 제4, 제5 아날로그 포트를 이용하여 신호를 전송하며, 상기 습도 센서는 상기 아두이노의 제0, 제1 아날로그 포트를 이용하여 신호를 전송하는 것을 특징으로 하는 것을 특징으로 하는 웹 서버 기반의 분산형 기기간 협업 방법.
  9. 제8항에 있어서,
    상기 웹 서버가, 새로운 협업 기기가 추가되는 경우, 상기 Json 스키마의 구조 정보를 상기 새로운 협업 기기로 전송하는 단계; 및
    상기 웹 서버가 상기 새로운 협업 기기로부터 기기 정보를 수신하여 상기 Json 스키마에 저장하는 단계;
    를 더 포함하는 것을 특징으로 하는 웹 서버 기반의 분산형 기기간 협업 방법.
  10. 제8항에 있어서,
    상기 다수의 협업 기기 중 특정 협업 기기가, 작업이 종료된 후, 상기 작업 정보에서 다음으로 작업할 협업 기기의 기기 정보를 체크하는 단계; 및
    상기 특정 협업 기기가, 다음으로 작업할 협업 기기가 존재하는 경우, 다음으로 작업할 협업 기기로 시작 메시지를 전송하는 단계;
    를 더 포함하는 것을 특징으로 하는 웹 서버 기반의 분산형 기기간 협업 방법.
KR1020160133387A 2016-10-14 2016-10-14 웹 서버 기반의 분산형 기기간 협업 시스템 및 방법 KR101971170B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160133387A KR101971170B1 (ko) 2016-10-14 2016-10-14 웹 서버 기반의 분산형 기기간 협업 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160133387A KR101971170B1 (ko) 2016-10-14 2016-10-14 웹 서버 기반의 분산형 기기간 협업 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20180041356A KR20180041356A (ko) 2018-04-24
KR101971170B1 true KR101971170B1 (ko) 2019-04-22

Family

ID=62087535

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160133387A KR101971170B1 (ko) 2016-10-14 2016-10-14 웹 서버 기반의 분산형 기기간 협업 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101971170B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113329047B (zh) 2020-02-29 2023-04-18 华为技术有限公司 一种分布式服务调度方法及相关装置
WO2023092220A1 (en) * 2021-11-23 2023-06-01 Wiot Inc. Sensor and method of autonomous regulation of a sensor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101639995B1 (ko) * 2015-01-19 2016-07-18 배재대학교 산학협력단 소셜리티 기반 기기간 협업 관리 방법 및 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2021010973A (es) * 2013-03-15 2023-01-03 Beulah Works Llc Sistema de captura y descubrimiento de conocimiento.

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101639995B1 (ko) * 2015-01-19 2016-07-18 배재대학교 산학협력단 소셜리티 기반 기기간 협업 관리 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Christoph Klemenjak 외 2명, "YoMo - The Arduino-based Smart-Metering Board"(2014.09.11.)*

Also Published As

Publication number Publication date
KR20180041356A (ko) 2018-04-24

Similar Documents

Publication Publication Date Title
CN105681142B (zh) 组网系统和组网方法
EP3252998B1 (en) Method and apparatus for controlling smart home device to upload data, method and apparatus for acquiring data uploaded by smart home device
JP4455170B2 (ja) ネットワーク家電制御システム
JP5756146B2 (ja) ユーザ端末、リモートサポート方法、及びユーザ端末用プログラム
US20120331156A1 (en) Wireless control system, methods and apparatus
KR20170041743A (ko) 사물 인터넷(iot)네트워크에서 이벤트 사전을 자동으로 생성하기 위한 방법 및 장치
CN104113458A (zh) 一种移动终端与智能家电设备互联的方法及装置
KR20170027769A (ko) 사용자 디바이스들 간에 정보의 더 많은 양들을 점증적으로 공유하는 방법 및 장치
KR20160086951A (ko) 사용자와 연관된 iot 네트워크에서의 iot 디바이스들에 대한 클라우드 기반의 서비스들을 추출
KR101363115B1 (ko) 클라우드 기반의 스마트홈 서비스 장치 및 그 방법
JP2009500898A (ja) ホームネットワークサービスのための住居用ゲートウェイシステム
CN103312715A (zh) 一种面向Web 服务的家庭网络系统架构
JP2009135783A (ja) 通信アダプタ及びその接続情報設定方法
CN105791454A (zh) 一种智能终端的绑定方法及装置
KR101971170B1 (ko) 웹 서버 기반의 분산형 기기간 협업 시스템 및 방법
US8819193B2 (en) Method of setting network, server apparatus using the method, and network system including the server apparatus
JP2006227825A (ja) 情報家電管理システム、情報家電制御管理システム、情報家電制御管理方法、及び、情報家電操作方法
US8126998B2 (en) Information processing apparatus and method of controlling thereof
CN105915416B (zh) 一种信息处理方法及终端设备
KR102009810B1 (ko) 무선 통신 시스템에서 서비스 송수신 방법 및 장치
TWI737015B (zh) 無線感測網路通信方法
JP2016192706A (ja) 情報収集システム、中継端末、中継端末のセンタシステムへの接続制御方法、センサ端末、センサ端末のセンタシステムへの接続制御方法
JP2009217671A (ja) 制御装置及びその方法
KR101718215B1 (ko) 가전 제품
KR20190038712A (ko) 에너지 관리 IoT 및 클라우드 기반의 스마트 홈 플랫폼의 네트워크 중계 장치 및 방법

Legal Events

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