KR20170060598A - 스마트 홈 서비스 서버 및 그 제어방법 - Google Patents

스마트 홈 서비스 서버 및 그 제어방법 Download PDF

Info

Publication number
KR20170060598A
KR20170060598A KR1020160157660A KR20160157660A KR20170060598A KR 20170060598 A KR20170060598 A KR 20170060598A KR 1020160157660 A KR1020160157660 A KR 1020160157660A KR 20160157660 A KR20160157660 A KR 20160157660A KR 20170060598 A KR20170060598 A KR 20170060598A
Authority
KR
South Korea
Prior art keywords
information
command
protocol
user terminal
smart home
Prior art date
Application number
KR1020160157660A
Other languages
English (en)
Inventor
옥현우
임성빈
고영민
김현중
오현진
공영선
김민수
배석민
최석태
연정모
이내석
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to AU2016361086A priority Critical patent/AU2016361086B2/en
Priority to US15/778,801 priority patent/US11277278B2/en
Priority to CA3003571A priority patent/CA3003571A1/en
Priority to PCT/KR2016/013660 priority patent/WO2017091021A1/ko
Priority to JP2018545794A priority patent/JP6882314B2/ja
Publication of KR20170060598A publication Critical patent/KR20170060598A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • H04L12/2836Protocol conversion between an external network and a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/80Homes; Buildings
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y30/00IoT infrastructure
    • G16Y30/10Security thereof
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/30Control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • H04L12/2825Reporting to a device located outside the home and the home network
    • H04L29/10
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • 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
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a 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/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • 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/08Protocols for interworking; Protocol conversion
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/71Hardware identity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Accounting & Taxation (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Business, Economics & Management (AREA)
  • Architecture (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

이종(異種)의 프로토콜에 기초하는 디바이스와 사용자 단말기 간의 제어가 가능하도록, 사용자 단말기의 프로토콜을 통해 디바이스에 대한 제어 명령이 호출 가능한 환경을 제공하는 스마트 홈 서비스 서버 및 그 제어방법을 제공한다.
일 실시예에 따른 스마트 홈 서비스 서버는, 제 1 프로토콜에 기초하여 동작하는 적어도 하나의 디바이스 및 제 2 프로토콜에 기초하여 동작하는 적어도 하나의 사용자 단말기를 연결하는 스마트 홈 서비스 서버에 있어서, 상기 적어도 하나의 사용자 단말기의 상기 제 2 프로토콜을 통해 상기 적어도 하나의 디바이스에 대한 제어 명령이 호출되는 API 제어부; 상기 호출된 제어 명령을 상기 제 1 프로토콜에 따라 변환하는 필터; 및 상기 제 1 프로토콜에 따라 변환된 상기 제어 명령을 상기 적어도 하나의 디바이스로 전송하는 제어 명령 전송부; 를 포함할 수 있다.

Description

스마트 홈 서비스 서버 및 그 제어방법{SMART HOME SERVICE SERVER, AND CONTROL METHOD FOR THE SAME}
사용자 단말기와 복수의 디바이스 간에 사물 인터넷 네트워크를 구현하기 위한 스마트 홈 서비스 서버 및 그 제어방법에 관한 것이다.
인터넷은 기본적으로 TCP/IP 프로토콜(TCP/IP Protocol)을 통해 사람이 운용하는 컴퓨터들이 상호 통신을 수행할 수 있도록 개발되었으나, 최근에는 식별, 연산 및 통신이 가능한 모든 사물들(Things)이 인터넷을 통해 통신을 수행할 수 있도록 하기 위한 연구가 진행되고 있다. 이렇게 모든 사물이 통신을 수행할 수 있도록 하는 기술을 IoT(Internet of Things; 이하, "사물 인터넷"이라고 한다)라고 한다.
이러한 사물 인터넷은 기존의 유선 통신을 기반으로 한 인터넷이나 모바일 인터넷보다 더욱 진화된 단계로서, 인터넷에 연결된 기기가 사람의 개입 없이 상호간에 정보를 주고 받아 처리하고, 이는 사물이 인간에 의존하지 않고 통신을 주고받는 점에서 기존의 유비쿼터스(Ubiquitous)나 사물지능통신인 M2M(Machine to Machine)과 유사한 점은 있지만, M2M의 개념을 인터넷으로 확장하여 세상에 존재하는 모든 사물들을 네트워크에 연결하여 언제 어디서나 상호 간에 통신이 가능한 정보 통신 기반을 의미한다.
이와 같은 사물 인터넷 디바이스들은 사물 인터넷 서비스를 제공하기 위한 서버에 연결됨으로써 사물 인터넷 네트워크를 형성할 수 있다. 또한, 서버에는 제어 명령이 입력 가능한 휴대폰과 같은 사용자 단말기도 연결될 수 있는데, 이를 통해 사용자는 시간 및 장소에 구애 받지 않고 용이하게 사물 인터넷 디바이스를 제어할 수 있다.
개시된 발명의 일 측면은, 이종(異種)의 프로토콜에 기초하는 디바이스와 사용자 단말기 간의 제어가 가능하도록, 사용자 단말기의 프로토콜을 통해 디바이스에 대한 제어 명령이 호출 가능한 환경을 제공하는 스마트 홈 서비스 서버 및 그 제어방법을 제공한다.
일 실시예에 따른 스마트 홈 서비스 서버는, 제 1 프로토콜에 기초하여 동작하는 적어도 하나의 디바이스 및 제 2 프로토콜에 기초하여 동작하는 적어도 하나의 사용자 단말기를 연결하는 스마트 홈 서비스 서버에 있어서, 상기 적어도 하나의 사용자 단말기의 상기 제 2 프로토콜을 통해 상기 적어도 하나의 디바이스에 대한 제어 명령이 호출되는 API 제어부; 상기 호출된 제어 명령을 상기 제 1 프로토콜에 따라 변환하는 필터; 및 상기 제 1 프로토콜에 따라 변환된 상기 제어 명령을 상기 적어도 하나의 디바이스로 전송하는 제어 명령 전송부; 를 포함할 수 있다.
또한, 상기 API 제어부는, 상기 제 2 프로토콜 상에서 상기 제 1 프로토콜의 제어 명령을 호출하는 어플리케이션 프로그래밍 인터페이스(Application Programming Interface; API)를 상기 적어도 하나의 사용자 단말기에 제공할 수 있다.
또한, 상기 API 제어부는, 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 제어 명령을 호출하는 호출 명령을 수신하고, 상기 호출 명령은, 채널 키(Channel Key)를 포함하는 상기 제 2 프로토콜에 대한 인증 정보, 유저 아이디(User ID), 어플리케이션 아이디(Application ID), 및 억세스 토큰(Access Token)를 포함하는 사용자 인증 정보, 및 디바이스 아이디(Device ID)를 포함하는 디바이스 정보를 포함할 수 있다.
또한, 상기 API 제어부는, 상기 적어도 하나의 사용자 단말기 중 인증된 사용자 단말기에 의해 상기 제어 명령이 호출될 수 있다.
또한, 상기 API 제어부는, 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 호출 명령을 수신하면, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 및 사용자 인증 정보 중 적어도 하나에 기초하여 상기 사용자 단말기의 인증 여부를 결정할 수 있다.
또한, 상기 제어 명령 전송부는, 상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 호출 명령을 수신하면, 상기 수신된 호출 명령 중 상기 디바이스 정보에 기초하여 상기 제 1 프로토콜에 따라 변환된 상기 제어 명령을 전송할 디바이스를 결정할 수 있다.
또한, 상기 적어도 하나의 디바이스와 연결되는 디바이스 연동 인터페이스; 상기 디바이스 연동 인터페이스를 통해 상기 연결된 적어도 하나의 디바이스의 상태 정보를 수신하는 이벤트 수신부; 상기 수신된 상태 정보를 처리하는 이벤트 프로세서; 및 상기 처리된 상태 정보를 저장하는 저장부; 를 더 포함할 수 있다.
또한, 상기 이벤트 수신부는, 상기 디바이스 연동 인터페이스를 통해 상기 연결된 적어도 하나의 디바이스 중 적어도 하나의 상태가 변경될 때, 상기 상태가 변경된 적어도 하나의 디바이스의 상태 정보를 수신할 수 있다.
또한, 상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 상태 정보 조회 명령의 상기 호출 명령을 수신하면, 상기 저장부에 저장된 상기 처리된 상태 정보를 상기 적어도 하나의 사용자 단말기로 전송하는 이벤트 전송부; 를 더 포함할 수 있다.
또한, 상기 필터는, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 및 사용자 인증 정보 중 적어도 하나에 기초하여 상기 처리된 상태 정보를 필터링하여 상기 이벤트 전송부에 전달할 수 있다.
또한, 상기 저장부는, 상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 상태 정보 구독 신청 명령의 상기 호출 명령을 수신하면, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 사용자 인증 정보, 및 디바이스 정보를 구독 신청 정보로서 저장할 수 있다.
또한, 상기 이벤트 프로세서는, 상기 구독 신청 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보가 변경되면, 상기 구독 신청 정보로서 저장된 상기 제 2 프로토콜에 대한 인증 정보 및 상기 사용자 인증 정보에 대응되는 사용자 단말기로 상기 변경된 상태 정보를 전송하도록, 상기 변경된 상태 정보를 처리하여 상기 이벤트 전송부에 제공할 수 있다.
또한, 상기 이벤트 프로세서는, 상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 상태 정보 구독 해지 명령의 상기 호출 명령을 수신하면, 상기 구독 신청 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보를 상기 이벤트 전송부에 제공하지 않을 수 있다.
또한, 상기 저장부는, 상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 조건 설정 명령의 상기 호출 명령을 수신하면, 상기 수신된 조건 설정 명령에 대한 호출 명령의 조건 및 상기 디바이스 정보를 포함하는 조건 설정 정보를 저장할 수 있다.
또한, 상기 이벤트 프로세서는, 상기 조건 설정 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보가 상기 조건 설정 정보로서 저장된 조건을 만족하면, 상기 조건 만족 결과를 상기 이벤트 전송부에 제공할 수 있다.
또한, 상기 이벤트 프로세서에 의해 처리된 상기 상태 정보가 제 3 프로토콜에 기초하여 동작하는 파트너 서버에 의해 호출되는 아답터(Adapter); 를 더 포함할 수 있다.
또한, 상기 아답터는, 상기 제 3 프로토콜에 기초하여 상기 파트너 서버에 연결된 적어도 하나의 파트너 디바이스를 제어하도록, 상기 제 1 프로토콜을 통해 상기 적어도 하나의 파트너 디바이스에 대한 제어 명령을 호출할 수 있다.
제 1 프로토콜에 기초하여 동작하는 적어도 하나의 디바이스 및 제 2 프로토콜에 기초하여 동작하는 적어도 하나의 사용자 단말기를 연결하는 스마트 홈 서비스 서버에 있어서, 상기 스마트 홈 서비스 서버의 API 제어부에서, 상기 적어도 하나의 사용자 단말기의 상기 제 2 프로토콜을 통해 상기 적어도 하나의 디바이스에 대한 제어 명령이 호출되는 단계; 상기 스마트 홈 서비스 서버의 필터에서, 상기 호출된 제어 명령을 상기 제 1 프로토콜에 따라 변환하는 단계; 및 상기 스마트 홈 서비스 서버의 제어 명령 전송부에서, 상기 제 1 프로토콜에 따라 변환된 상기 제어 명령을 상기 적어도 하나의 디바이스로 전송하는 단계; 를 포함할 수 있다.
또한, 상기 제어 명령이 호출되는 단계는, 상기 제 2 프로토콜 상에서 상기 제 1 프로토콜의 제어 명령을 호출하는 어플리케이션 프로그래밍 인터페이스(Application Programming Interface; API)를 상기 적어도 하나의 사용자 단말기에 제공하는 단계; 를 포함할 수 있다.
또한, 상기 제어 명령이 호출되는 단계는, 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 제어 명령을 호출하는 호출 명령을 상기 적어도 하나의 사용자 단말기로부터 수신하는 단계; 를 더 포함하고, 상기 호출 명령은, 채널 키(Channel Key)를 포함하는 상기 제 2 프로토콜에 대한 인증 정보, 유저 아이디(User ID), 어플리케이션 아이디(Application ID), 및 억세스 토큰(Access Token)를 포함하는 사용자 인증 정보, 및 디바이스 아이디(Device ID)를 포함하는 디바이스 정보를 포함할 수 있다.
또한, 상기 제어 명령이 호출되는 단계는, 상기 적어도 하나의 사용자 단말기 중 인증된 사용자 단말기에 의해 상기 제어 명령이 호출될 수 있다.
또한, 상기 제어 명령이 호출되는 단계는, 상기 호출 명령이 수신되면, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 및 사용자 인증 정보 중 적어도 하나에 기초하여 상기 사용자 단말기의 인증 여부를 결정하는 단계; 를 더 포함할 수 있다.
또한, 상기 제어 명령을 전송하는 단계는, 상기 호출 명령이 수신되면, 상기 수신된 호출 명령 중 상기 디바이스 정보에 기초하여 상기 제 1 프로토콜에 따라 변환된 상기 제어 명령을 전송할 디바이스를 결정하는 단계; 를 더 포함할 수 있다.
또한, 상기 스마트 홈 서비스 서버의 이벤트 수신부에서, 상기 디바이스 연동 인터페이스를 통해 상기 연결된 적어도 하나의 디바이스의 상태 정보를 수신하는 단계; 상기 스마트 홈 서비스 서버의 이벤트 프로세서에서, 상기 수신된 상태 정보를 처리하는 단계; 및 상기 스마트 홈 서비스 서버의 저장부에서, 상기 처리된 상태 정보를 저장하는 단계; 를 더 포함할 수 있다.
또한, 상기 상태 정보를 수신하는 단계는, 상기 연결된 적어도 하나의 디바이스 중 적어도 하나의 상태가 변경될 때, 상기 상태가 변경된 적어도 하나의 디바이스의 상태 정보를 수신할 수 있다.
또한, 상기 스마트 홈 서비스 서버의 이벤트 전송부에서, 상기 적어도 하나의 디바이스의 상기 상태 정보 조회 명령의 상기 호출 명령이 수신되면, 상기 저장된 상태 정보를 상기 적어도 하나의 사용자 단말기로 전송하는 단계; 를 더 포함할 수 있다.
또한, 상기 저장된 상태 정보를 상기 적어도 하나의 사용자 단말기로 전송하는 단계는, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 및 사용자 인증 정보 중 적어도 하나에 기초하여 상기 처리된 상태 정보를 필터링하여 상기 적어도 하나의 사용자 단말기로 전송할 수 있다.
또한, 상기 적어도 하나의 디바이스의 상기 상태 정보 구독 신청 명령의 상기 호출 명령이 수신되면, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 사용자 인증 정보, 및 디바이스 정보를 구독 신청 정보로서 저장하는 단계; 를 더 포함할 수 있다.
또한, 상기 구독 신청 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보가 변경되면, 상기 구독 신청 정보로서 저장된 상기 제 2 프로토콜에 대한 인증 정보 및 상기 사용자 인증 정보에 대응되는 사용자 단말기로 상기 변경된 상태 정보를 전송하는 단계; 를 더 포함할 수 있다.
또한, 상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 상태 정보 구독 해지 명령의 상기 호출 명령을 수신하면, 상기 구독 신청 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보를 상기 이벤트 전송부에 제공하지 않는 단계; 를 더 포함할 수 있다.
또한, 상기 적어도 하나의 디바이스의 상기 조건 설정 명령의 상기 호출 명령이 수신되면, 상기 수신된 조건 설정 명령에 대한 호출 명령의 조건 및 상기 디바이스 정보를 포함하는 조건 설정 정보를 저장하는 단계; 를 더 포함할 수 있다.
또한, 상기 조건 설정 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보가 상기 조건 설정 정보로서 저장된 조건을 만족하면, 상기 조건 만족 결과를 상기 적어도 하나의 디바이스에 제공하는 단계; 를 더 포함할 수 있다.
또한, 상기 스마트 홈 서비스 서버의 아답터(Adapter)에서, 상기 처리된 상태 정보가 제 3 프로토콜에 기초하여 동작하는 파트너 서버에 의해 호출되는 단계; 를 더 포함할 수 있다.
또한, 상기 제 3 프로토콜에 기초하여 상기 파트너 서버에 연결된 적어도 하나의 파트너 디바이스를 제어하도록, 상기 제 1 프로토콜을 통해 상기 적어도 하나의 파트너 디바이스에 대한 제어 명령을 호출하는 단계; 를 더 포함할 수 있다.
스마트 홈 서비스 서버, 및 그 제어방법의 일 측면에 따르면, 서로 다른 프로토콜 에 기초하는 디바이스 및 사용자 단말기 간에도 제어가 가능한 네트워크 환경을 제공함으로써, 사물 인터넷 네트워크의 범용성 및 확장성을 증대시킬 수 있다.
또한, 디바이스로부터 획득된 다수의 정보를 관리함으로써 다양한 형태의 서비스 제공이 가능한 매시업(Mashup) 서비스 환경을 구축할 수 있다.
도 1a 및 1b는 여러 가지 실시예에 따른 사물 인터넷 디바이스의 네트워크 시스템을 나타낸 도면이다.
도 2는 일 실시예에 따른 스마트 홈 서비스 서버의 블록도이다.
도 3은 일 실시에에 따른 사용자에 대한 인증 절차를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 인증된 사용자가 사용자 단말기를 통해 스마트 홈 서비스 서버로 전송하는 인증 정보를 예시한 도면이다.
도 5는 일 실시예에 따른 스마트 홈 서비스 서버의 사용자 단말기에 대한 인증 여부 확인 방법의 흐름도이다.
도 6은 일 실시예에 따른 API 제어부에서 API를 통해 디바이스 제어 명령이 호출된 경우의 정보 전달 경로를 나타낸 도면이다.
도 7은 도 6의 전달 경로를 통해 전달된 제어 명령에 따라 변경된 디바이스 상태 정보의 전송 경로를 나타낸 도면이다.
도 8은 일 실시예에 따른 저장부에 저장되는 디바이스 상태 정보를 예시한 도면이다.
도 9a 및 9b는 일 실시예에 따른 필터가 상태 정보를 필터링 하는 방법에 대하여 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 API 제어부에서 API를 통해 디바이스 상태 정보 조회 명령이 호출된 경우의 정보 전달 경로를 나타낸 도면이다.
도 11은 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 제어 가능 디바이스 리스트 생성 명령의 호출 명령 수신 시의 동작에 대한 흐름도이다.
도 12는 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 상태 정보 조회 명령의 호출 명령 수신 시의 동작에 대한 흐름도이다.
도 13은 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 디바이스 상태 정보의 구독 신청 명령의 호출 명령 수신 시의 동작에 대한 흐름도이다.
도 14는 도 13의 구독 신청이 완료된 후, 상태 정보 전송 동작에 대한 흐름도이다.
도 15는 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 디바이스 상태 정보의 구독 해지 명령의 호출 명령 수신 시의 동작에 대한 흐름도이다.
도 16은 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 디바이스 조건 설정 명령의 호출 명령 수신 시의 동작에 대한 흐름도이다.
도 17은 도 16의 조건 설정이 완료된 후, 상태 정보 전송 동작에 대한 흐름도이다.
도 18은 일 실시예에 따른 사물 인터넷 네트워크 동작의 흐름도이다.
도 19는 일 실시예에 따른 아답터의 동작을 설명하기 위한 도면이다.
본 명세서에 기재된 실시예와 도면에 도시된 구성은 개시된 발명의 바람직한 일 예에 불과할 뿐이며, 본 출원의 출원시점에 있어서 본 명세서의 실시예와 도면을 대체할 수 있는 다양한 변형 예들이 있을 수 있다.
또한, 본 명세서의 각 도면에서 제시된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다.
또한, 본 명세서에서 사용한 용어는 실시예를 설명하기 위해 사용된 것으로, 개시된 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는다.
또한, 본 명세서에서 사용한 "제1", "제2" 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는" 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
이하에서는 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
도 1a 및 1b는 여러 가지 실시예에 따른 사물 인터넷 디바이스의 네트워크 시스템을 나타낸 도면이다.
사물 인터넷(IOT)은 인터넷을 기반으로 모든 사물을 연결하여 사람과 사물, 사물과 사물 간의 정보를 상호 소통하는 지능형 기술 및 서비스를 의미한다. 이를 구현하기 위한 기술 요소로는 유형의 사물과 주위 환경으로부터 정보를 얻는 센싱 기술, 사물이 인터넷에 연결되도록 지원하는 유무선 통신 및 네트워크 인프라 기술, 각종 서비스 분야와 형태에 적합하게 정보를 가공하고 처리하거나 각종 기술을 융합하는 서비스 인터페이스 기술, 대량의 데이터 등 사물 인터넷의 구성 요소들에 대한 해킹이나 정보 유출을 방지하기 위한 보안 기술 등이 있다.
이러한 사물 인터넷(IOT)을 기반으로 네트워크에 연결할 수 있는 디바이스(D)에는 세탁기 DW, 냉장고 DR, 공기조화기 DA, 청소기 DV, 오븐DO 등의 일반 가정에서 사용하는 각종 가전기기, 디지털 카메라, 컴퓨터, 노트북, 각종 센서, 자동차 오디오, 디지털 계량기, 도어 잠금 장치, 게임기, 스피커, 보안 장치 등 우리 주변의 모든 사물을 포함할 수 있다. 사물의 종류에 대한 제한은 없다.
디바이스(D)는 디바이스 서버(SD)에 접속됨으로써 사물 인터넷 네트워크를 구성할 수 있다. 디바이스 서버(SD)는 접속된 디바이스(D)로부터 정보를 수신하고, 저장하고, 다른 디바이스(D)로 전송함으로써 사물 인터넷 서비스를 제공할 수 있다.
이렇게 구성된 사물 인터넷 네트워크는 동일한 프로토콜에 따라 동작할 필요가 있다. 여기서, 프로토콜(Protocol)이란 디바이스 서버, 및 이와 연결된 적어도 하나의 디바이스 사이에서 정보 교환이 원활하게 이루어지도록 정한 여러 가지 통신규칙과 방법에 대한 약속 즉, 통신의 규약을 의미할 수 있고, 통신 규약이란 상호간의 접속이나 정보의 전달 방식, 통신 방식, 주고받을 정보의 형식, 오류 검출 방식, 코드 변환 방식, 전송 속도 등을 정하는 것을 의미할 수 있다.
동일한 프로토콜에 기초하여 동작한다는 것은 동일한 방식에 따라 상호 정보 교환을 수행한다는 것을 의미하므로, 동일한 사물 인터넷 네트워크를 구성하는 디바이스 서버, 및 디바이스는 동일한 형식의 제어 명령을 송수신함으로써 상호 제어가 가능할 수 있다. 아울러, 이렇게 구성된 사물 인터넷 네트워크에 사용자가 접속함으로써 디바이스에 대한 직접적인 제어가 가능할 수 있다. 구체적으로, 사용자는 사용자 단말기를 사물 인터넷 네트워크의 디바이스 서버에 접속하고, 사용자 단말기를 통해 제어 명령을 입력함으로써 사물 인터넷 네트워크에 접속된 디바이스를 제어할 수 있다. 이 때, 사용자 단말기(U)는 지그비(ZigBee) 통신망, 와이파이(WIFI) 통신망, 블루투스(Bluetooth) 통신망, 이동 통신망, 근거리 통신망(LAN), 광역 통신망(WAN), 또는 점 대 점 전화회선 연결과 같은 다양한 통신 링크들을 통해 디바이스 서버(SD)에 접속될 수 있다.
또한, 사용자 단말기는 스마트 폰(Smart Phone), 셀룰러 폰(Cellular Phone), 태블릿 피씨(Tablet PC), 스마트 TV, 디지털 카메라, 개인용 디지털 보조장치(PDA, Personal Digital Assistant), 원격 제어 장치(Remote Controller), 휴대용 멀티미디어 플레이어(Portable Multimedia Player: PMP), 노트북, 데스크 탑 컴퓨터 등으로 구현될 수 있다.
한편, 사물 인터넷 네트워크에 접속된 사용자 단말기는 동일 네트워크 상의 디바이스 및 디바이스 서버와 동일한 프로토콜에 의해 동작할 필요가 있다. 사용자 단말기를 통해 디바이스에 대한 제어 명령이 입력되는데, 입력된 제어 명령이 사물 인터넷 네트워크를 구성하는 디바이스에 직접 적용되기 위해서는 사용자 단말기의 프로토콜이 디바이스 및 디바이스 서버의 프로토콜을 따라야 하기 때문이다.
구체적으로, 사용자 단말기에는 사물 인터넷 네트워크를 구성하는 디바이스 및 디바이스 서버와 동일 프로토콜에 기초하여 제어 명령을 입력받기 위해, 디바이스 및 디바이스 서버의 동작의 기초가 되는 프로토콜에 따른 어플리케이션이 설치될 수 있다. 사용자 단말기에 설치되는 어플리케이션은 사물 인터넷 네트워크에의 접속, 사물 인터넷 네트워크 상태에 대한 정보 제공, 사물 인터넷 네트워크에 대한 설정, 사물 인터넷 네트워크를 구성하는 디바이스(D) 각각의 정보 제공, 및/또는 사물 인터넷 네트워크를 구성하는 디바이스(D) 각각에 대한 제어 등이 가능한 환경을 제공할 수 있다.
이처럼, 사용자 단말기에 설치되는 어플리케이션은 특정 프로토콜에 따라 구현되며, 사용자는 설치된 어플리케이션과 동일한 프로토콜을 채택한 디바이스에 대한 제어 명령만을 입력할 수 있다. 그 결과, 사용자는 이종(異種)의 프로토콜에 기초하는 서로 다른 디바이스를 함께 제어하기 위해서는, 각각의 디바이스가 채택하는 프로토콜에 대응되는 각각의 어플리케이션을 모두 설치할 필요가 있다.
이를 해결하기 위해, 본원발명에 따른 스마트 홈 서비스 서버(100)는 사물 인터넷 네트워크를 구성하는 디바이스(D)의 범용성을 높이고자, 서로 다른 프로토콜 간의 인터페이스 역할을 하는 어플리케이션 프로그래밍 인터페이스(Application Programming Interface; 이하 API라 함)를 제공할 수 있다.
다시 도 1a를 참조하면, 본원발명의 일 실시예에 따른 네트워크 시스템은 복수의 디바이스(D)와 복수의 사용자 단말기(U1, U2, U3)가 접속하는 서버가 각각 상이할 수 있다. 구체적으로, 복수의 디바이스(D)는 디바이스 서버(SD)와 접속하고, 복수의 사용자 단말기(U1, U2, U3)는 파트너 서버(SU)와 접속할 수 있다. 이 때, 복수의 디바이스(D)는 제 1 프로토콜에 따라 동작하므로 디바이스 서버(SD)와 함께 하나의 사물 인터넷 네트워크를 구축하고, 복수의 사용자 단말기(U1, U2, U3)는 제 2 프로토콜에 따라 동작하므로 파트너 서버와 함께 다른 하나의 사물 인터넷 네트워크를 구축할 수 있다.
이처럼, 상이한 프로토콜에 기초하는 서로 다른 사물 인터넷 네트워크가 직접 연결되는 경우, 제어 명령을 포함하는 정보의 형식, 전달 방식 등이 상이하므로, 이들간의 통신은 불가능할 수 있다.
따라서, 본원발명에 따른 스마트 홈 서비스 서버(100)는 디바이스(D)가 접속되는 디바이스 서버(SD)와 사용자 단말기(U)가 접속되는 파트너 서버(SU) 사이에서 양자와 접속될 수 있다. 또한, 스마트 홈 서비스 서버(100)는 서로 다른 프로토콜에 기초한 사용자 단말기(U1, U2, U3)와 디바이스(D) 간 제어가 이루어지도록, 제 2 프로토콜 상에서 제 1 프로토콜의 제어 명령을 호출하는 API를 복수의 사용자 단말기(U1, U2, U3)에 제공할 수 있다.
여기서 API는 어느 하나의 프로토콜에서 다른 프로토콜의 어떤 처리를 위해 호출할 수 있는 서브루틴 또는 함수의 집합으로 정의될 수 있다. 그 결과, API는 어느 하나의 프로토콜에서 다른 프로토콜의 동작이 수행될 수 있는 환경을 제공할 수 있다.
도 1a에서는 스마트 홈 서비스 서버(100)가 복수의 디바이스(D)가 접속되는 디바이스 서버(SD) 및 복수의 사용자 단말기(U1, U2, U3)가 접속되는 파트너 서버(SU)에 각각 접속되는 경우를 예시하였다. 이와는 달리, 스마트 홈 서비스 서버(100)가 복수의 디바이스(D) 각각과 직접 접속될 수도 있고, 이는 도 1b에서 예시하고 있다.
이하에서는, 본원발명의 일 실시예에 따른 스마트 홈 서비스 서버(100)의 구성 및 동작에 대하여 상세히 설명한다. 이하에서는 설명의 편의상 스마트 홈 서비스 서버(100)에 접속되는 복수의 디바이스(D)는 제 1 프로토콜의 제어 명령에 따라 제어되고, 스마트 홈 서비스 서버(100)에 접속되는 사용자 단말기(U)는 제 2 프로토콜의 제어 명령을 입력 받을 수 있음을 전제로 한다. 특히, 사용자 단말기(U)는 제 2 프로토콜의 제어 명령을 입력 받을 수 있는 어플리케이션이 설치되어 있음을 가정한다.
도 2는 일 실시예에 따른 스마트 홈 서비스 서버의 블록도이고, 도 3은 일 실시예에 따른 스마트 홈 서비스 서버의 통신 방법을 설명하기 위한 도면이다.
도 2를 참조하면, 일 실시예에 따른 스마트 홈 서비스 서버(100)는 제 2 프로토콜을 통해 제 1 프로토콜의 제어 명령을 호출하기 위한 API를 제공하는 API 제어부(110); 호출된 제어 명령은 제 1 프로토콜에 따라 변환하는 필터(120); 변환된 제어 명령을 외부로 전송하는 제어 명령 전송부(130); 외부의 디바이스(D)와 연결되는 디바이스 연동 인터페이스(140); 디바이스 연동 인터페이스(140)를 통해 디바이스(D)의 상태 정보를 수신하는 이벤트 수신부(150); 수신된 상태 정보를 처리하는 이벤트 프로세서(160); 처리된 상태 정보를 포함하는 각종 정보가 저장되는 저장부(170); 처리된 상태 정보를 외부로 전송하는 이벤트 전송부(180); 처리된 상태 정보가 제 3 프로토콜에 기초하여 동작하는 파트너 서버(SP)에 의해 호출되는 아답터(190)(Adapter); 를 포함할 수 있다.
저장부(170)는 서로 다른 프로토콜에 기초한 네트워크를 연결하기 위한 각종 정보를 저장할 수 있다. 먼저, 저장부(170)는 디바이스 연동 인터페이스(140)를 통해 스마트 홈 서비스 서버(100)와 연결되는 적어도 하나의 디바이스(D)에 대한 정보, 디바이스(D)의 사용자에 대한 정보, 이들의 매핑 정보, 및 디바이스(D)의 조건 정보 등을 저장할 수 있다. 이하의 표 1, 2, 3, 및 4는 홈 서비스 서버와 연결되는 디바이스(D) 정보, 사용자 정보, 매핑 정보, 및 조건 정보를 예시한다.
Figure pat00001
Figure pat00002
Figure pat00003
Figure pat00004
표 1을 참조하면, 저장부(170)에 저장되는 디바이스(D) 정보는 디바이스(D)를 식별하기 위한 ID로서의 DeviceID, 디바이스(D)의 고유의 ID인 UUID, 디바이스(D) 종류를 나타내는 Device Type, 모델명을 의미하는 Model ID, 및 제조사 정보인 Manufacturer를 포함할 수 있다.
표 2를 참조하면, 저장부(170)에 저장되는 사용자 정보는 디바이스(D)의 사용자를 식별하기 위한 ID로서의 UserID, 사용자 이름 정보인 UnerName, 인증 시 사용하는 ID인 AccountID, 및 사용자의 국가 정보를 나타내는 CountryCode를 포함할 수 있다.
또한, 저장부(170)에는 디바이스(D)와 이를 사용하는 사용자를 매핑시키는 매핑 정보가 저장될 수 있다. 표 3을 참조하면, 저장부(170)에 저장되는 매핑 정보는 상술한 UserID, DeviceID를 매핑시킨 결과를 포함할 수 있고, 사용자가 설정한 디바이스(D) 이름인 DeviceName과, 사용자가 설정한 디바이스(D)의 세부 정보를 의미하는 Description를 더 포함할 수 있다.
아울러, 저장부(170)에는 디바이스(D)의 동작을 위한 조건 정보를 더 저장할 수 있다. 표 4를 참조하면, 저장부(170)에 저장되는 조건 정보는 상술한 UserID, DeviceID와 함께, 조건 설정의 대상이 되는 리소스 명칭인 Resource, 조건 설정을 위한 연산자 정보인 Operator, 및 조건 설정을 위한 조건 값인 ConditionValue를 포함할 수 있다.
그 다음, 저장부(170)는 스마트 홈 서비스 서버(100)에 연결 가능하도록 인증된 제 2 프로토콜에 대한 인증 정보, 즉 파트너 서버(SP)에 대한 인증 정보를 포함할 수 있다. 표 5는 파트너 서버(SP)에 대한 인증 정보의 일 실시예를 나타낸다.
Figure pat00005
표 5를 참조하면, 저장부(170)에 저장되는 파트너 서버(SP)의 인증 정보는 파트너 서버(SP)를 식별하기 위한 ID인 PartnerID, 파트너 이름을 나타내는 PartnerName, 파트너 서버(SP)에 디바이스(D) 정보를 통지하기 위한 URL인 NotificationURL, 파트너 서버(SP)의 인증 시 사용되는 ID인 PartnerAccountID, 파트너 서버(SP)의 인증을 위해 스마트 홈 서비스 서버(100) 측에서 할당하는 key인 ChannelKey, 파트너 서버(SP)의 인증을 위한 어플리케이션 ID인 AppID, 파트너 서버(SP)의 인증을 위한 어플리케이션 key인 AppSecurityKey, 파트너 서버(SP)에서 스마트 홈 서비스 서버(100)를 인증하기 위해 할당한 AuthHeader를 포함할 수 있다.
아울러, 저장부(170)는 파트너 서버(SP)에 연결된 개별 사용자의 인증 정보를 더 저장할 수 있다. 이를 위해, 파트너 서버(SP)에 연결된 사용자 단말기(U)의 사용자는 별도의 인증 절차를 거치게 되는데, 이에 대하여는 도 3을 참조하여 상세히 설명한다.
도 3은 일 실시에에 따른 사용자에 대한 인증 절차를 설명하기 위한 도면이고, 도 4는 일 실시예에 따른 인증된 사용자가 사용자 단말기를 통해 스마트 홈 서비스 서버로 전송하는 인증 정보를 예시한 도면이다.
먼저, 단계 ①로서, 인증하고자 하는 사용자는 인증 서버에 인증 요청을 할 수 있다. 구체적으로, 사용자는 사용자 단말기(U)가 연결된 파트너 서버(SP)의 어플리케이션 ID인 AppID 등을 인증 서버에 전송할 수 있다. 이에 대응하여, 단계 ①ㅄ로서, 인증 요청한 사용자의 사용자 단말기(U)가 인증된 파트너 서버(SP)에 연결된 것으로 확인되면, 인증 서버는 사용자 단말기(U)에 인증 코드인 Auth-Code를 전송할 수 있다.
그 다음, 단계 ②로서, Auth-Code를 수신한 사용자 단말기(U)는 인증 서버에 억세스 토큰(Access Token)을 요청할 수 있고, 단계 ②ㅄ로서, 인증 서버는 해당 사용자가 인증되었음을 나타내는 고유의 억세스 토큰을 사용자 단말기(U)에 할당할 수 있다.
이로서, 사용자는 인증 서버에 의한 인증 절차를 종료하게 된다. 즉, 파트너 서버(SP)의 인증과 사용자에 대한 인증을 통해 사용자 단말기(U)의 인증이 결정될 수 있다.
인증 절차가 종료되면, 단계 ③ 및 ③ㅄ으로서, 사용자 단말기(U)는 파트너 서버(SP)로 제어 명령을 포함한 정보를 전달할 때, 할당된 억세스 토큰을 포함하는 인증 정보를 함께 전달할 수 있다.
도 4를 참조하면, 사용자 단말기(U)에 의해 전달되는 인증 정보는 상술한 ChannelKey, UserID, AppID와 함께 억세스 토큰이 함께 전달됨을 확인할 수 있다.
인증 정보를 수신한 파트너 서버(SP)는, 단계, 단계 ④ 및 ④ㅄ로서, 사용자 단말기(U)로부터 수신한 인증 정보를 스마트 홈 서비스 서버(100)로 전송할 수 있다. 인증 정보를 수신한 스마트 홈 서비스 서버(100)는, 단계 ⑤, 및 ⑤ㅄ로서, 인증 정보를 인증 서버에 전달하여 억세스 토큰이 유효한지를 확인할 수 있다. 만약, 해당 억세스 토큰이 유효한 것으로 확인되면, 스마트 홈 서비스 서버(100)는 사용자 단말기(U)의 인증 정보로서 유효한 억세스 토큰을 저장할 수 있다.
그 결과, 이후에 특정 사용자 단말기(U)로부터 수신한 정보 내에 미리 저장된 유효한 억세스 토큰이 포함되는 경우, 인증 서버를 통한 인증 여부 확인 없이, 해당 사용자 단말기(U)가 인증된 것으로 판단하고 이후 절차를 진행할 수 있다.
또한, 저장부(170)는 제어 가능한 디바이스(D)의 리스트와, 제어 가능한 디바이스(D)의 상태 정보를 저장할 수 있으며, 이에 대하여는 후술한다.
이를 위해, 저장부(170)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read Only Memory), PROM(Programmable Read Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 형태로 구현될 수 있다.
도 5는 일 실시예에 따른 스마트 홈 서비스 서버의 사용자 단말기에 대한 인증 여부 확인 방법의 흐름도이다.
먼저, 스마트 홈 서비스 서버(100)는 사용자 단말기(U)로부터 API를 통해 제어 명령을 호출하는 호출 명령이 수신되었는지 확인할 수 있다.(300) 호출 명령이 수신되지 않았다면, 반복하여 이를 확인할 수 있다.
만약, 호출 명령이 수신되었다면, 스마트 홈 서비스 서버(100)는 수신된 호출 명령에 포함된 억세스 토큰(Access Token)의 유효성을 인증 서버에 확인 요청할 수 있다.(310) 여기서, 억세스 토큰은 인증된 파트너 서버(SP)에 접속된 사용자 단말기(U)로서 Auth-Code를 수신한 사용자 단말기(U)에게 인증 서버가 할당할 수 있다.
확인 요청의 결과를 수신하여, 스마트 홈 서비스 서버(100)는 인증 서버에서 억세스 토큰의 유효성을 인정하였는지 확인할 수 있다.(320)
만약, 억세스 토큰이 유효하지 않다면, 스마트 홈 서비스 서버(100)는 인증되지 않은 사용자 단말기(U)임을 사용자 단말기(U)에 통지할 수 있다.(330)
반면, 억세스 토큰이 유효하다면, 스마트 홈 서비스 서버(100)는 유효한 억세서 토큰을 저장부(170)에 저장할 수 있다.(340) 이렇게 저장된 억세스 토큰은 추후 수신한 호출 명령 내에 포함된 억세스 토큰이 유효한지를 확인하는데 이용될 수 있다.
다시 도 2를 참조하면, API 제어부(110)는 디바이스(D)와 상이한 프로토콜에 기초하는 인증된 사용자 단말기(U) 상에서 디바이스(D)의 제어 명령의 호출이 가능한 환경을 제공할 수 있다. 이하에서는 도 6을 참조하여, API 제어부(110)에서 호출된 제어 명령의 전송 경로를 설명한다.
도 6은 일 실시예에 따른 API 제어부에서 API를 통해 디바이스 제어 명령이 호출된 경우의 정보 전달 경로를 나타낸 도면이다.
상술한 바와 같이, API 제어부(110)는 제 2 프로토콜 상에서 제 1 프로토콜의 제어 명령을 호출하는 API를 저장하고, 이를 사용자 단말기(U)에 제공할 수 있다. 그 결과, 사용자 단말기(U)의 제 2 프로토콜을 통해서 디바이스(D)의 제 1 프로토콜에 따른 제어 명령의 호출이 가능할 수 있다.
이 때, API 제어부(110)는 제 1 프로토콜에 따른 제어 명령을 제 2 프로토콜 상에서 호출하는 호출 명령을 사용자 단말기(U)로부터 수신할 수 있다. 이 때, 호출 명령은 호출하고자 하는 제어 명령과 함께, 채널 키(Channel Key)를 포함하는 상기 제 2 프로토콜에 대한 인증 정보, 유저 아이디(User ID), 어플리케이션 아이디(Application ID), 및 억세스 토큰(Access Token)를 포함하는 사용자 인증 정보, 및 디바이스(D) 아이디(Device ID)를 포함하는 디바이스(D) 정보 등을 포함할 수 있다.
호출 명령이 수신되면, 필터(120)는 호출된 제어 명령을 제 1 프로토콜의 형식에 맞도록 변환할 수 있다. 예를 들서, API 제어부(110)가 수신한 호출 명령 내에 포함되는 제어 명령이 {"Wind":{"speedLevel":0}}일 수 있다. 이는 특정 디바이스(D)의 바람 세기에 대한 제어 명령일 수 있다. 이에 대응하여, 필터(120)는 상술한 제어 명령을 제 1 프로토콜의 형식, 즉 디바이스(D)의 제어가 가능한 제어 명령의 형태인 {"Device":{"Wind":{"speedLevel":0}, "Mode":{"options":["Comode_Off"]}}로 변환할 수 있다.
제어 명령 전송부(130)는 제 1 프로토콜에 따라 변환된 제어 명령을 디바이스(D)로 전송할 수 있다. 이 때, 제어 명령 전송부(130)는 상술한 호출 명령에 포함되는 디바이스(D) 정보에 기초하여 제 1 프로토콜에 따라 변환된 제어 명령을 전송할 디바이스(D)를 결정할 수 있다. 상술한 바와 같이, 디바이스(D) 정보는 DeviceID를 포함하므로, 제어 명령 전송부(130)는 필터(120)에 의해 변환된 제어 명령을 호출 명령에 포함된 DeviceID를 가지는 디바이스(D)로 전송할 수 있다.
그 결과, 제 2 프로토콜에 기초한 사용자 단말기(U)를 통해 입력된 제어 명령이 제 1 프로토콜에 기초한 디바이스(D)로 전달될 수 있다. 제어 명령을 수신한 디바이스(D)는 제어 명령에 따라 제어될 수 있다.
또한, 스마트 홈 서비스 서버(100)는 수신한 제어 명령에 따라 제어된 디바이스(D)의 제어 결과에 따른 변경된 상태 정보를 사용자 단말기(U)로 전달할 수도 있다. 이에 대하여는 도 7, 8, 및 9a, 9b를 참조하여 상세히 설명한다.
도 7은 도 6의 전달 경로를 통해 전달된 제어 명령에 따라 변경된 디바이스 상태 정보의 전송 경로를 나타낸 도면이고, 도 8은 일 실시예에 따른 저장부에 저장되는 디바이스 상태 정보를 예시한 도면이고, 도 9a 및 9b는 일 실시예에 따른 필터가 상태 정보를 필터링 하는 방법에 대하여 설명하기 위한 도면이다.
상술한 도 6의 전달 경로를 통해 제어 명령을 전달 받은 디바이스(D)는 제어 명령에 따라 제어될 수 있다. 그 결과, 해당 디바이스(D)의 상태가 변경될 수 있다. 스마트 홈 서비스 서버(100)와 연결된 디바이스(D)는 상태 정보 변경과 같은 이벤트가 발생되면, 디바이스 연동 인터페이스(140)를 통해 이벤트 수신부(150)로 이를 전송할 수 있다.
이벤트 수신부(150)는 큐(Queue)와 같이, 수신한 이벤트가 순차적으로 임시 저장되고, 순차적으로 출력될 수 있다. 이벤트 프로세서(160)는 이벤트 수신부(150)에 임시 저장된 이벤트를 흐름 제어(Flow Control) 방식에 따라 처리함으로써, 저장된 데이터를 유효하게 가공할 수 있다. 여기서, 흐름 제어란 데이터를 수신하는 측이 감당할 수 있을 정도의 전송 속도를 유지하면서 데이터 프레임을 전송하도록 하는 제어를 의미할 수 있다.
이벤트가 처리되면, 이벤트 프로세서(160)는 처리된 이벤트를 저장부(170)에 저장할 수 있다. 예를 들어, 저장부(170)는 특정 디바이스의 상태 정보 변경에 대한 이벤트 S를 디바이스 정보 D와 함께 저장할 수 있다.
도 8을 참조하면, 저장부(170)는 DeviceID가 "FFFFFF-FFFF-FFFF-FFFFFFFFFFFFFFFFF"이고, DeviceName이 "Oven"이고, UUID가 "FFFFFF-FFFF-FFFF-FFFFFFFFFFFFFFFFF"이고, DeviceType이 "Oven"이고, Description이 "My Oven"인 디바이스 정보 D를 저장할 수 있다. 또한, 저장부(170)는 디바이스(D) 정보에 이어 Resources가 "Temperatures", "Configuration", "Operation", "Oven", "Alarms"이고, 각각의 Resources의 상태를 포함하는 상태 정보 S를 저장할 수 있다.
또한, 이벤트 프로세서(160)는 처리된 이벤트를 이벤트 전송부(180)를 통해 파트너 서버(SP)로 전송할 수 있다. 그 결과, 사용자는 사용자 단말기(U)를 통해 제어 명령에 따른 디바이스(D) 상태 정보가 변경되었다는 사실을 인지할 수 있다.
이 때, 이벤트 프로세서(160)는 처리된 이벤트를 필터(120)를 거쳐 이벤트 전송부(180)에 제공할 수 있다. 필터(120)는 제공받은 이벤트를 수신하는 사용자 단말기(U)에 대한 정보에 기초하여 필터링 한 후, 이벤트 전송부(180)로 전달할 수 있다. 예를 들어, 처리된 이벤트가 사용자 단말기(U)로부터 호출된 제어 명령에 따라 발생된 것이라면, 필터(120)는 제어 명령을 호출하기 위한 호출 명령의 사용자 인증 정보에 기초하여 이벤트 프로세서(160)에 의해 처리된 이벤트를 필터링 할 수 있다.
일 실시예에 따른 필터(120)는 사용자 인증 정보에 따라 결정되는 등급을 확인하고, 등급에 따라 이벤트에 대한 필터링을 달리할 수 있다. 그 결과, 등급이 상이한 사용자 단말기(U) 각각에서는 서로 디바이스(D) 상태 정보 변경 이벤트를 확인할 수 있다.
예를 들어, 사용자 인증 정보 중 제 2 프로토콜에 대한 인증 정보(파트너 서버(SP)에 대한 인증 정보), 및 사용자 인증 정보에 따라 사용자의 정보에 대한 전문성 등급이 구분되는 경우, 필터(120)는 전문성이 낮은 등급일수록 필터링 수준을 높여 디바이스(D)의 상태 정보 변경 이벤트 중 전문성이 낮은 정보만을 필터링 할 수 있다. 이와는 달리, 사용자 인증 정보 중 제 2 프로토콜에 대한 인증 정보(파트너 서버(SP)에 대한 인증 정보), 및 사용자 인증 정보에 따라 사용자의 정보 접근 권한 등급이 구분되는 경우, 필터(120)는 정보 접근 권한이 낮은 등급일수록 필터링 수준을 높여 사용자 디바이스(D) 상태 정보 변경 이벤트 중 비밀 등급이 낮은 정보만을 필터링 할 수도 있다.
도 9a에서는 사용자 인증 정보에 기초하여 서로 다른 필터링을 거친 두 종류의 상태 정보가 동일한 파트너 서버(SP)에 연결된 서로 다른 사용자 단말기(U1, U2)로 전송되는 경우를 예시한다. 이처럼, 동일한 파트너 서버(SP)로부터 서비스를 제공받는 사용자라도, 각각의 사용자가 가지는 특수성을 고려하여 디바이스(D)의 상태 정보를 서로 다르게 제공할 수 있다.
이와는 달리, 도 9b에서는 파트너 서버(SP1, SP2)에 대한 인증 정보에 기초하여 서로 다른 필터링을 거친 두 종류의 상태 정보가 서로 다른 파트너 서버(SP1, SP2)에 연결된 서로 다른 사용자 단말기(U1, U2)로 전송되는 경우를 예시한다. 이와 같이, 제공하는 서비스가 상이한 파트너 서버(SP1, SP2)에 연결된 서로 다른 사용자 단말기(U1, U2)의 사용자는 파트너 서버(SP1, SP2)의 제공 서비스에 따라 디바이스(D) 상태 정보를 다르게 제공받을 수 있다.
한편, API 제어부(110)에서 호출되는 제어 명령이란 디바이스(D) 동작을 제어하기 위한 명령 뿐만 아니라 디바이스(D)의 상태 정보와 관련된 스마트 홈 서비스 서버(100)의 동작을 제어하기 위한 명령을 포함할 수 있다.
이하에서는, 제어 명령의 종류에 따라, 제어 명령의 전송 경로 및 디바이스(D) 상태 정보의 전송 경로를 구분하여 설명한다.
먼저, 도 10 내지 12을 참조하여 디바이스(D)의 상태 정보 조회 명령이 제어 명령으로서 호출된 경우에 대하여 상세히 설명한다.
도 10은 일 실시예에 따른 API 제어부에서 API를 통해 디바이스 상태 정보 조회 명령이 호출된 경우의 정보 전달 경로를 나타낸 도면이고, 도 11은 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 제어 가능 디바이스 리스트 생성 명령의 호출 명령 수신 시의 동작에 대한 흐름도이고, 도 12는 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 상태 정보 조회 명령의 호출 명령 수신 시의 동작에 대한 흐름도이다.
도 10, 및 11을 참조하면, 저장부(170)는 제어 가능한 디바이스(D)의 리스트와, 이들의 상태 정보를 미리 저장할 수 있다.(400) 여기서, 제어 가능한 디바이스(D)란 디바이스 연동 인터페이스(140)를 통해 스마트 홈 서비스 서버(100)와 연결된 모든 디바이스(D)이거나, 이들 중 전원이 OFF된 경우와 같이 제어 명령의 수신 불가 상태가 아닌 디바이스(D), 또는 사용자의 선택에 의해 선택된 디바이스(D)를 포함할 수 있다.
그 다음, API 제어부(110)는 사용자 단말기(U)로부터 파트너 서버(SP)를 통해 제어 가능 디바이스(D) 리스트 생성 명령을 호출하는 호출 명령이 입력되었는지 확인할 수 있다.(410) 일 실시에에 따른 호출 명령은 "Get devices"를 포함할 수 있다.
만약, 호출 명령이 입력되지 않았다면, API 제어부(110)는 반복하여 이를 확인할 수 있다.
반면, 호출 명령이 입력되면, API 제어부(110)는 수신한 호출 명령에 포함된 제어 명령을 필터(120)로 전달할 수 있고, 필터(120)는 전달받은 제어 명령을 제 1 프로토콜의 명령어 형식으로 변환할 수 있다.(420)
그 다음, 변환된 제어 명령에 따라 저장부(170)는 저장된 제어 가능 디바이스(D) 리스트를 확인(430)하고, 이벤트 프로세서(160)는 필터(120)를 거쳐 이벤트 전송부(180)에 제어 가능 디바이스(D) 리스트를 전달할 수 있다.
마지막으로, 이벤트 전송부(180)는 제어 가능 디바이스(D) 리스트를 파트너 서버(SP)로 전송(440)하고, 사용자 단말기(U)는 파트너 서버(SP)로부터 제어 가능 디바이스(D) 리스트를 수신할 수 있다. 이를 통해, 사용자는 현재 제어 가능한 디바이스(D) 리스트를 시각적으로 확인할 수 있다.
제어 가능한 디바이스(D) 리스트를 확인한 사용자는 리스트 중 적어도 하나의 상태 정보를 조회할 수 있다.
이를 위해, 도 10, 및 12를 참조하면, 먼저 API 제어부(110)는 사용자 단말기(U)로부터 파트너 서버(SP)를 통해 디바이스(D)의 상태 정보 조회 명령을 호출하는 호출 명령이 입력되었는지 확인할 수 있다.(500) 이 때, 호출 명령은 상태 정보 조회를 원하는 디바이스(D)에 대한 정보를 포함할 수 있다. 일 실시에에 따른 호출 명령은 "Get devices(DeviceID)"를 포함할 수 있다.
만약, 호출 명령이 입력되지 않았다면, API 제어부(110)는 반복하여 이를 확인할 수 있다.
반면, 호출 명령이 입력되면, API 제어부(110)는 수신한 호출 명령에 포함된 제어 명령을 필터(120)로 전달할 수 있고, 필터(120)는 전달받은 제어 명령을 제 1 프로토콜의 명령어 형식으로 변환할 수 있다.(510)
그 다음, 변환된 제어 명령에 따라 저장부(170)는 저장된 디바이스(D)의 상태 정보를 확인(520)할 수 있다. 이 때, 제어부는 호출 명령에 포함된 디바이스(D) 정보를 이용하여 어느 디바이스(D)의 상태 정보를 확인할지 결정할 수 있다.
이벤트 프로세서(160)는 필터(120)를 거쳐 이벤트 전송부(180)에 디바이스(D)의 상태 정보를 전달하고, 마지막으로, 이벤트 전송부(180)는 디바이스(D)의 상태 정보를 파트너 서버(SP)로 전송(530)할 수 있다. 그 결과, 사용자 단말기(U)는 파트너 서버(SP)로부터 디바이스(D)의 상태 정보를 수신할 수 있다. 이를 통해, 사용자는 선택한 디바이스(D)의 상태 정보를 시각적으로 확인할 수 있다.
그 다음, 도 13 내지 15를 참조하여 디바이스(D)의 상태 정보의 구독 신청 명령, 및 구독 해지 명령이 제어 명령으로서 호출된 경우에 대하여 상세히 설명한다.
도 13은 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 디바이스 상태 정보의 구독 신청 명령의 호출 명령 수신 시의 동작에 대한 흐름도이다.
먼저, API 제어부(110)는 사용자 단말기(U)로부터 파트너 서버(SP)를 통해 디바이스(D)의 상태 정보 구독 신청 명령을 호출하는 호출 명령이 입력되었는지 확인할 수 있다.(600) 이 때, 호출 명령은 상태 구독 신청을 원하는 디바이스(D)에 대한 정보를 포함할 수 있다. 일 실시에에 따른 호출 명령은 "Post Subscriptions(DeviceID)"를 포함할 수 있다.
만약, 호출 명령이 입력되지 않았다면, API 제어부(110)는 반복하여 이를 확인할 수 있다.
반면, 호출 명령이 입력되면, API 제어부(110)는 수신한 호출 명령에 포함된 제어 명령을 필터(120)로 전달할 수 있고, 필터(120)는 전달받은 제어 명령을 제 1 프로토콜의 명령어 형식으로 변환할 수 있다.(610)
그 다음, 변환된 제어 명령에 따라 저장부(170)는 해당 디바이스(D)에 구독 신청이 되었음을 저장할 수 있다.(620) 이 때, 제어부는 호출 명령에 포함된 디바이스(D) 정보를 이용하여 어느 디바이스(D)가 구독 신청되었는지 판단할 수 있다.
해당 디바이스(D)가 구독 신청되었음을 저장한 후, 이벤트 프로세서(160)는 필터(120)를 거쳐 이벤트 전송부(180)에 구독 신청이 완료되었음을 전달하고, 마지막으로, 이벤트 전송부(180)는 구독 신청이 완료되었음을 파트너 서버(SP)로 전송할 수 있다.(630) 그 결과, 사용자 단말기(U)는 파트너 서버(SP)로부터 구독 신청이 완료되었다는 정보를 수신할 수 있다. 이를 통해, 사용자는 구독 신청이 정상적으로 이루어졌음을 시각적으로 확인할 수 있다.
도 14는 도 13의 구독 신청이 완료된 후, 상태 정보 전송 동작에 대한 흐름도이다.
먼저, 이벤트 수신부(150)는 디바이스 연동 인터페이스(140)와 연결된 적어도 하나의 디바이스(D)의 상태 정보 변경과 같은 이벤트를 수신할 수 있다.(700)
이벤트 프로세서(160)는 수신된 이벤트 중 구독 신청된 디바이스(D)에 대한 상태 정보 변경 이벤트가 존재하는지 확인할 수 있다.(710) 만약, 구독 신청된 디바이스(D)에 대한 이벤트가 존재하지 않는 경우, 이벤트 수신부(150)는 반복하여 이벤트를 수신할 수 있다.
반면, 구독 신청된 디바이스(D)에 대한 이벤트가 존재하는 경우, 이벤트 프로세서(160)는 구독 신청된 디바이스(D)의 상태 정보 변경 이벤트를 처리할 수 있다. 이와 동시에, 저장부(170)는 구독 신청된 디바이스(D)의 상태 정보를 갱신할 수 있다.(720)
마지막으로, 이벤트 전송부(180)는 구독 신청된 디바이스(D)의 상태 정보를 파트너 서버(SP)를 통해 사용자 단말기(U)로 전송할 수 있다.(730) 이를 통해, 사용자는 별도의 조작 없이도, 구독 신청한 디바이스(D)의 상태 변경에 대한 이벤트를 확인할 수 있다.
도 15는 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 디바이스 상태 정보의 구독 해지 명령의 호출 명령 수신 시의 동작에 대한 흐름도이다.
먼저, API 제어부(110)는 사용자 단말기(U)로부터 파트너 서버(SP)를 통해 디바이스(D)의 상태 정보 구독 해지 명령을 호출하는 호출 명령이 입력되었는지 확인할 수 있다.(800) 이 때, 호출 명령은 상태 구독 해지를 원하는 디바이스(D)에 대한 정보를 포함할 수 있다. 일 실시에에 따른 호출 명령은 "Delete Subscriptions(DeviceID)"를 포함할 수 있다.
만약, 호출 명령이 입력되지 않았다면, API 제어부(110)는 반복하여 이를 확인할 수 있다.
반면, 호출 명령이 입력되면, API 제어부(110)는 수신한 호출 명령에 포함된 제어 명령을 필터(120)로 전달할 수 있고, 필터(120)는 전달받은 제어 명령을 제 1 프로토콜의 명령어 형식으로 변환할 수 있다.(810)
그 다음, 변환된 제어 명령에 따라 저장부(170)는 저장된 해당 디바이스(D)에의 구독 신청을 삭제할 수 있다.(820) 이 때, 제어부는 호출 명령에 포함된 디바이스(D) 정보를 이용하여 어느 디바이스(D)의 구독 신청을 삭제할것인지 판단할 수 있다.
해당 디바이스(D)의 구독 신청을 삭제한 후, 이벤트 프로세서(160)는 필터(120)를 거쳐 이벤트 전송부(180)에 구독이 해지되었음을 전달하고, 마지막으로, 이벤트 전송부(180)는 구독이 해지되었음을 파트너 서버(SP)로 전송할 수 있다.(830) 그 결과, 사용자 단말기(U)는 파트너 서버(SP)로부터 해당 디바이스(D)의 구독이 해지 되었다는 정보를 수신할 수 있다. 이를 통해, 사용자는 구독 해지가 정상적으로 이루어졌음을 시각적으로 확인할 수 있으며, 이 후 해당 디바이스(D)의 상태 정보 변경 이벤트가 발생하더라도 사용자 단말기(U)에 이를 알리지 않는다.
또한, 도 16 및 17을 참조하여 디바이스의 조건 설정 명령이 제어 명령으로서 호출된 경우에 대하여 상세히 설명한다.
도 16은 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 디바이스 조건 설정 명령의 호출 명령 수신 시의 동작에 대한 흐름도이다.
먼저, API 제어부(110)는 사용자 단말기(U)로부터 파트너 서버(SP)를 통해 디바이스(D)의 조건 설정 명령을 호출하는 호출 명령이 입력되었는지 확인할 수 있다.(900) 여기서 조건이란 디바이스(D)의 리소스와 비교하기 위한 임계값을 의미할 수 있다. 예를 들어, 디바이스(D)가 공기청정기인 경우, 조건은 공기 오염지수 임계 값일 수 있다. 이와는 달리, 디바이스(D)가 공기조화기인 경우, 조건은 온도 임계 값일 수 있다.
이 때, 호출 명령은 조건 설정을 원하는 디바이스(D)에 대한 정보를 포함할 수 있다.
만약, 호출 명령이 입력되지 않았다면, API 제어부(110)는 반복하여 이를 확인할 수 있다.
반면, 호출 명령이 입력되면, API 제어부(110)는 수신한 호출 명령에 포함된 제어 명령을 필터(120)로 전달할 수 있고, 필터(120)는 전달받은 제어 명령을 제 1 프로토콜의 명령어 형식으로 변환할 수 있다.(910)
그 다음, 변환된 제어 명령에 따라 저장부(170)는 해당 디바이스(D)의 조건을 저장할 수 있다.(920) 이 때, 제어부는 호출 명령에 포함된 디바이스(D) 정보를 이용하여 어느 디바이스(D)에 조건을 저장할 것인지 판단할 수 있다.
해당 디바이스(D)에 조건을 저장한 후, 이벤트 프로세서(160)는 필터(120)를 거쳐 이벤트 전송부(180)에 조건이 설정되었음을 전달하고, 마지막으로, 이벤트 전송부(180)는 조건이 설정되었음을 파트너 서버(SP)로 전송할 수 있다.(930) 그 결과, 사용자 단말기(U)는 파트너 서버(SP)로부터 해당 디바이스(D)의 조건이 설정 되었다는 정보를 수신할 수 있다. 이를 통해, 사용자는 조건 설정이 정상적으로 이루어졌음을 시각적으로 확인할 수 있다.
도 17은 도 16의 조건 설정이 완료된 후, 상태 정보 전송 동작에 대한 흐름도이다.
먼저, 이벤트 수신부(150)는 디바이스 연동 인터페이스(140)와 연결된 적어도 하나의 디바이스(D)의 상태 정보 변경과 같은 이벤트를 수신할 수 있다.(1000)
이벤트 프로세서(160)는 수신된 이벤트 중 조건 설정된 디바이스(D)에 대한 상태 정보 변경 이벤트가 존재하는지 확인할 수 있다.(1010) 만약, 조건 설정된 디바이스(D)에 대한 이벤트가 존재하지 않는 경우, 이벤트 수신부(150)는 반복하여 이벤트를 수신할 수 있다.
반면, 조건 설정된 디바이스(D)에 대한 이벤트가 존재하는 경우, 이벤트 프로세서(160)는 해당 이벤트를 처리하고, 저장부(170)는 조건 설정된 디바이스(D)의 상태 정보를 갱신할 수 있다.(1020)
아울러, 이벤트 프로세서(160)는 갱신된 디바이스(D)의 상태 정보가 조건을 만족하는지 확인할 수 있다.(1030) 만약, 조건을 만족하지 않는다면, 이벤트 수신부(150)는 반복하여 이벤트를 수신할 수 있다.
이와는 달리, 조건을 만족하는 경우, 이벤트 전송부(180)는 갱신된 디바이스(D)의 상태 정보가 설정된 조건을 만족함을 파트너 서버(SP)를 통해 사용자 단말기(U)로 전송할 수 있다.(1040) 이를 통해, 사용자는 별도의 조작 없이도, 조건 설정한 디바이스(D)의 변경된 상태가 조건을 만족함을 확인할 수 있다.
상술한 바와 같이, 이종(異種)의 프로토콜을 채택한 디바이스(D)와 사용자 단말기(U) 간에도 스마트 홈 서비스 서버(100)에 동시에 연결됨으로써 하나의 사물 인터넷 네트워크를 구성할 수 있다. 이하에서는 도 18을 참조하여, 하나의 사물 인터넷 네트워크 상의 동작을 상세히 설명한다.
도 18은 일 실시예에 따른 사물 인터넷 네트워크 동작의 흐름도이다. 도 18은 하나의 사물 인터넷 네트워크를 구성하는 파트너 서버(SP), 스마트 홈 서비스 서버(100), 인증 서버, 및 디바이스(D) 간의 정보 교환 흐름을 나타낸다. 이하에서는, ①인증 - ② 리스트 생성 - ③ 조회 - ④ 구독 - ⑤ 통지 - ⑥ 제어 - ⑦ 구독 해지의 순서에 따라 사물 인터넷 네트워크의 동작을 설명한다.
① 인증 단계에서, 파트너 서버(SP)는 인증 서버에 OAuth 2.0 방식에 따라 API 접근을 위한 인증을 요청할 수 있다. 구체적으로, 파트너 서버(SP)는 AppID, AppSecurityKey를 이용하여 인증 서버에 인증을 요청할 수 있다. 그에 따른 응답으로, 인증 서버는 인증되었다는 의미의 억세스 토큰(Access Token)을 파트너 서버(SP)에 할당할 수 있다. 이하 모든 단계에서 파트너 서버(SP)는 제어 명령을 호출하는 호출 명령에 억세스 토큰을 부가함으로써, 인증된 사용자 단말기(U)임을 표시할 수 있다.
② 리스트 생성 단계에서, 파트너 서버(SP)의 인증된 사용자 단말기(U)는 스마트 홈 서비스 서버(100)에 제어 가능한 디바이스(D) 리스트 생성 명령을 호출하는 호출 명령을 전송할 수 있다. 일 실시예에 따른 리스트 생성 명령을 호출하는 호출 명령은 "Get devices"를 포함할 수 있다. 그에 따른 응답으로, 스마트 홈 서비스 서버(100)는 저장부(170)에 저장된 제어 가능 디바이스(D) 리스트를 파트너 서버(SP)에 제공하고, 사용자는 사용자 단말기(U)를 통해 제어 가능 디바이스(D) 리스트를 확인할 수 있다.
③ 조회 단계에서, 파트너 서버(SP)의 인증된 사용자 단말기(U)는 제어 가능 디바이스(D) 리스트 중 적어도 하나의 상태 정보 조회 명령을 호출하는 호출 명령을 전송할 수 있다. 일 실시에에 따른 상태 정보 조회 명령을 호출하는 호출 명령은 "Get devices(DeviceID)"를 포함할 수 있다. 그에 따른 응답으로, 스마트 홈 서비스 서버(100)는 저장부(170)에 저장된 디바이스(D)의 상태 정보 중 조회 요청된 디바이스(D)의 상태 정보를 파트너 서버(SP)에 제공하고, 사용자는 사용자 단말기(U)를 통해 조회 요청된 디바이스(D)의 상태 정보를 확인할 수 있다.
④ 구독 단계에서, 파트너 서버(SP)의 인증된 사용자 단말기(U)는 디바이스(D) 상태 정보의 구독 신청 명령을 호출하는 호출 명령을 전송할 수 있다. 일 실시에에 따른 상태 구독 신청 명령을 호출하는 호출 명령은 "Post Subscriptions(DeviceID)"를 포함할 수 있다. 그에 따른 응답으로, 스마트 홈 서비스 서버(100)는 저장부(170)에 해당 디바이스(D)가 구독 신청되었음을 저장하고, 이를 파트너 서버(SP)를 통해 사용자 단말기(U)에 전송할 수 있다.
⑤ 통지 단계에서, 구독 신청된 디바이스(D)는 상태 정보 변경의 이벤트가 발생하면, 이를 스마트 홈 서비스 서버(100)에 전송할 수 있다. 스마트 홈 서비스 서버(100)는 저장부(170)에 저장된 해당 디바이스(D)의 상태 정보를 갱신하고, 이를 구독 신청한 사용자 단말기(U)로 통지할 수 있다. 사용자 단말기(U)는 파트너 서버(SP)를 통해 스마트 홈 서비스 서버(100)로 통지를 수신하였음을 전송할 수 있다.
⑥ 제어 단계에서, 파트너 서버(SP)의 인증된 사용자 단말기(U)는 상태 정보를 확인한 디바이스(D)의 동작을 제어하는 제어 명령을 호출하는 호출 명령을 전송할 수 있다. 일 실시에에 따른 디바이스(D) 동작 제어 명령을 호출하는 호출 명령은 "PUT Device(DeviceID, resource)"를 포함할 수 있다. 그에 따른 응답으로, 스마트 홈 서비스 서버(100)는 해당 호출 명령을 수신하였음을 사용자 단말기(U)에 알리고, 제어 명령을 디바이스(D)로 전송할 수 있다. 제어 명령을 수신한 디바이스(D)는 제어 명령에 따라 동작이 제어될 수 있다.
⑦ 구독 해지 단계에서, 파트너 서버(SP)의 인증된 사용자 단말기(U)는 디바이스(D) 상태 정보의 구독 해지 명령을 호출하는 호출 명령을 전송할 수 있다. 일 실시에에 따른 상태 구독 해지 명령을 호출하는 호출 명령은 "Delete Subscriptions(DeviceID)"를 포함할 수 있다. 그에 따른 응답으로, 스마트 홈 서비스 서버(100)는 저장부(170)에 저장된 해당 디바이스(D)의 구독 신청을 삭제하고, 이를 파트너 서버(SP)를 통해 사용자 단말기(U)에 전송할 수 있다.
지금까지는, 제 2 프로토콜의 사용자 단말기(U)에서 제 1 프로토콜의 제어 명령을 호출하고, 호출된 제어 명령을 제 1 프로토콜의 명령어 형식에 따라 변형한 후, 변형된 제어 명령으로 디바이스(D)를 제어하는 경우에 대하여 설명하였다. 이와는 반대로, 제 1 프로토콜의 디바이스(D) 또는 사용자 단말기(U)에서 제 3 프로토콜의 파트너 서버(SP)와 이에 연결된 디바이스(D)를 제어하는 방법에 대하여 설명한다.
다시 도 2를 참조하면, 아답터(190)(Adapter)는 이벤트 프로세서(160)에 의해 처리된 디바이스(D) 상태 정보가 제 3 프로토콜에 기초하여 동작하는 파트너 서버(SP)에 의해 호출될 수 있다. 이에 대하여 도 19를 통해 상세히 설명한다.
도 19는 일 실시예에 따른 아답터의 동작을 설명하기 위한 도면이다.
도 19를 참조하면, 디바이스(D)의 상태 정보를 처리한 이벤트 프로세서(160)는 처리된 상태 정보를 아답터(190)에 제공할 수 있다. 이 때, 아답터(190)는 제공된 디바이스(D)의 상태 정보가 제 3 프로토콜의 제어 명령에 따라 호출될 수 있도록 상태 정보를 변형할 수 있다.
그 결과, 제 1 프로토콜에 의해 동작하는 디바이스(D)의 상태 정보가 제 3 프로토콜의 파트너 서버(SP)에 용이하게 제공될 수 있고, 만약, 제 3 프로토콜의 파트너 서버(SP)가 매시업(Mashup) 서비스 사업자인 경우, 디바이스(D) 상태 정보에 의해 제 1 프로토콜이 아닌 다른 프로토콜에 의해 동작하는 다양한 디바이스(D)가 제어될 수 있다.
또한, 아답터(190)는 제 3 프로토콜에 기초하여 파트너 서버(SP)에 연결된 적어도 하나의 파트너 디바이스(D)를 제어할 수 있다. 이를 위해, 아답터(190)는 제 1 프로토콜을 통해 파트너 디바이스(D)에 대한 제어 명령을 호출할 수 있다.
구체적으로, 아답터(190)는 예를 들어, 아답터(190)는 제 1 프로토콜 상에서 제 3 프로토콜의 제어 명령이 호출되도록 하는 API를 포함하거나, 접근할 권한을 가질 수 있다. 그 결과, 아답터(190)는 파트너 디바이스(D)를 직접 제어하기 위한 제 3 프로토콜의 제어 명령을 제 1 프로토콜 상에서 호출하도록 API를 이용할 수 있다.
이처럼, 스마트 홈 서비스 서버(100)는 아답터(190)를 구비함으로써, 이종 프로토콜을 가지는 디바이스(D) 간 양방향 제어가 가능한 환경을 제공할 수 있다.
D: 디바이스
SD: 디바이스 서버
U: 사용자 단말기
SP: 파트너 서버
100: 스마트 홈 서비스 서버
110: API 제어부
120: 필터
130: 제어 명령 전송부
140: 디바이스 연동 인터페이스
150: 이벤트 수신부
160: 이벤트 프로세서
170: 저장부
180: 이벤트 전송부
190: 아답터

Claims (34)

  1. 제 1 프로토콜에 기초하여 동작하는 적어도 하나의 디바이스 및 제 2 프로토콜에 기초하여 동작하는 적어도 하나의 사용자 단말기를 연결하는 스마트 홈 서비스 서버에 있어서,
    상기 적어도 하나의 사용자 단말기의 상기 제 2 프로토콜을 통해 상기 적어도 하나의 디바이스에 대한 제어 명령이 호출되는 API 제어부;
    상기 호출된 제어 명령을 상기 제 1 프로토콜에 따라 변환하는 필터; 및
    상기 제 1 프로토콜에 따라 변환된 상기 제어 명령을 상기 적어도 하나의 디바이스로 전송하는 제어 명령 전송부; 를 포함하는 스마트 홈 서비스 서버.
  2. 제 1 항에 있어서,
    상기 API 제어부는,
    상기 제 2 프로토콜 상에서 상기 제 1 프로토콜의 제어 명령을 호출하는 어플리케이션 프로그래밍 인터페이스(Application Programming Interface; API)를 상기 적어도 하나의 사용자 단말기에 제공하는 스마트 홈 서비스 서버.
  3. 제 2 항에 있어서,
    상기 API 제어부는,
    상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 제어 명령을 호출하는 호출 명령을 수신하고,
    상기 호출 명령은,
    채널 키(Channel Key)를 포함하는 상기 제 2 프로토콜에 대한 인증 정보, 유저 아이디(User ID), 어플리케이션 아이디(Application ID), 및 억세스 토큰(Access Token)를 포함하는 사용자 인증 정보, 및 디바이스 아이디(Device ID)를 포함하는 디바이스 정보를 포함하는 스마트 홈 서비스 서버.
  4. 제 3 항에 있어서,
    상기 API 제어부는,
    상기 적어도 하나의 사용자 단말기 중 인증된 사용자 단말기에 의해 상기 제어 명령이 호출되는 스마트 홈 서비스 서버.
  5. 제 4 항에 있어서,
    상기 API 제어부는,
    상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 호출 명령을 수신하면, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 및 사용자 인증 정보 중 적어도 하나에 기초하여 상기 사용자 단말기의 인증 여부를 결정하는 스마트 홈 서비스 서버.
  6. 제 3 항에 있어서,
    상기 제어 명령 전송부는,
    상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 호출 명령을 수신하면, 상기 수신된 호출 명령 중 상기 디바이스 정보에 기초하여 상기 제 1 프로토콜에 따라 변환된 상기 제어 명령을 전송할 디바이스를 결정하는 스마트 홈 서비스 서버.
  7. 제 3 항에 있어서,
    상기 적어도 하나의 디바이스와 연결되는 디바이스 연동 인터페이스;
    상기 디바이스 연동 인터페이스를 통해 상기 연결된 적어도 하나의 디바이스의 상태 정보를 수신하는 이벤트 수신부;
    상기 수신된 상태 정보를 처리하는 이벤트 프로세서; 및
    상기 처리된 상태 정보를 저장하는 저장부; 를 더 포함하는 스마트 홈 서비스 서버.
  8. 제 7 항에 있어서,
    상기 이벤트 수신부는,
    상기 디바이스 연동 인터페이스를 통해 상기 연결된 적어도 하나의 디바이스 중 적어도 하나의 상태가 변경될 때, 상기 상태가 변경된 적어도 하나의 디바이스의 상태 정보를 수신하는 스마트 홈 서비스 서버.
  9. 제 7 항에 있어서,
    상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 상태 정보 조회 명령의 상기 호출 명령을 수신하면, 상기 저장부에 저장된 상기 처리된 상태 정보를 상기 적어도 하나의 사용자 단말기로 전송하는 이벤트 전송부; 를 더 포함하는 스마트 홈 서비스 서버.
  10. 제 9 항에 있어서,
    상기 필터는,
    상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 및 사용자 인증 정보 중 적어도 하나에 기초하여 상기 처리된 상태 정보를 필터링하여 상기 이벤트 전송부에 전달하는 스마트 홈 서비스 서버.
  11. 제 9 항에 있어서,
    상기 저장부는,
    상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 상태 정보 구독 신청 명령의 상기 호출 명령을 수신하면, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 사용자 인증 정보, 및 디바이스 정보를 구독 신청 정보로서 저장하는 스마트 홈 서비스 서버.
  12. 제 11 항에 있어서,
    상기 이벤트 프로세서는,
    상기 구독 신청 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보가 변경되면, 상기 구독 신청 정보로서 저장된 상기 제 2 프로토콜에 대한 인증 정보 및 상기 사용자 인증 정보에 대응되는 사용자 단말기로 상기 변경된 상태 정보를 전송하도록, 상기 변경된 상태 정보를 처리하여 상기 이벤트 전송부에 제공하는 스마트 홈 서비스 서버.
  13. 제 12 항에 있어서,
    상기 이벤트 프로세서는,
    상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 상태 정보 구독 해지 명령의 상기 호출 명령을 수신하면, 상기 구독 신청 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보를 상기 이벤트 전송부에 제공하지 않는 스마트 홈 서비스 서버.
  14. 제 9 항에 있어서,
    상기 저장부는,
    상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 조건 설정 명령의 상기 호출 명령을 수신하면, 상기 수신된 조건 설정 명령에 대한 호출 명령의 조건 및 상기 디바이스 정보를 포함하는 조건 설정 정보를 저장하는 스마트 홈 서비스 서버.
  15. 제 14 항에 있어서,
    상기 이벤트 프로세서는,
    상기 조건 설정 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보가 상기 조건 설정 정보로서 저장된 조건을 만족하면, 상기 조건 만족 결과를 상기 이벤트 전송부에 제공하는 스마트 홈 서비스 서버.
  16. 제 7 항에 있어서,
    상기 이벤트 프로세서에 의해 처리된 상기 상태 정보가 제 3 프로토콜에 기초하여 동작하는 파트너 서버에 의해 호출되는 아답터(Adapter); 를 더 포함하는 스마트 홈 서비스 서버.
  17. 제 16 항에 있어서,
    상기 아답터는,
    상기 제 3 프로토콜에 기초하여 상기 파트너 서버에 연결된 적어도 하나의 파트너 디바이스를 제어하도록, 상기 제 1 프로토콜을 통해 상기 적어도 하나의 파트너 디바이스에 대한 제어 명령을 호출하는 스마트 홈 서비스 서버.
  18. 제 1 프로토콜에 기초하여 동작하는 적어도 하나의 디바이스 및 제 2 프로토콜에 기초하여 동작하는 적어도 하나의 사용자 단말기를 연결하는 스마트 홈 서비스 서버에 있어서,
    상기 스마트 홈 서비스 서버의 API 제어부에서, 상기 적어도 하나의 사용자 단말기의 상기 제 2 프로토콜을 통해 상기 적어도 하나의 디바이스에 대한 제어 명령이 호출되는 단계;
    상기 스마트 홈 서비스 서버의 필터에서, 상기 호출된 제어 명령을 상기 제 1 프로토콜에 따라 변환하는 단계; 및
    상기 스마트 홈 서비스 서버의 제어 명령 전송부에서, 상기 제 1 프로토콜에 따라 변환된 상기 제어 명령을 상기 적어도 하나의 디바이스로 전송하는 단계; 를 포함하는 스마트 홈 서비스 서버의 제어방법.
  19. 제 18 항에 있어서,
    상기 제어 명령이 호출되는 단계는,
    상기 제 2 프로토콜 상에서 상기 제 1 프로토콜의 제어 명령을 호출하는 어플리케이션 프로그래밍 인터페이스(Application Programming Interface; API)를 상기 적어도 하나의 사용자 단말기에 제공하는 단계; 를 포함하는 스마트 홈 서비스 서버의 제어방법.
  20. 제 19 항에 있어서,
    상기 제어 명령이 호출되는 단계는,
    상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 제어 명령을 호출하는 호출 명령을 상기 적어도 하나의 사용자 단말기로부터 수신하는 단계; 를 더 포함하고,
    상기 호출 명령은,
    채널 키(Channel Key)를 포함하는 상기 제 2 프로토콜에 대한 인증 정보, 유저 아이디(User ID), 어플리케이션 아이디(Application ID), 및 억세스 토큰(Access Token)를 포함하는 사용자 인증 정보, 및 디바이스 아이디(Device ID)를 포함하는 디바이스 정보를 포함하는 스마트 홈 서비스 서버의 제어방법.
  21. 제 20 항에 있어서,
    상기 제어 명령이 호출되는 단계는,
    상기 적어도 하나의 사용자 단말기 중 인증된 사용자 단말기에 의해 상기 제어 명령이 호출되는 스마트 홈 서비스 서버의 제어방법.
  22. 제 21 항에 있어서,
    상기 제어 명령이 호출되는 단계는,
    상기 호출 명령이 수신되면, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 및 사용자 인증 정보 중 적어도 하나에 기초하여 상기 사용자 단말기의 인증 여부를 결정하는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  23. 제 20 항에 있어서,
    상기 제어 명령을 전송하는 단계는,
    상기 호출 명령이 수신되면, 상기 수신된 호출 명령 중 상기 디바이스 정보에 기초하여 상기 제 1 프로토콜에 따라 변환된 상기 제어 명령을 전송할 디바이스를 결정하는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  24. 제 20 항에 있어서,
    상기 스마트 홈 서비스 서버의 디바이스 연동 인터페이스에서, 상기 적어도 하나의 디바이스와 연결되는 단계;
    상기 스마트 홈 서비스 서버의 이벤트 수신부에서, 상기 디바이스 연동 인터페이스를 통해 상기 연결된 적어도 하나의 디바이스의 상태 정보를 수신하는 단계;
    상기 스마트 홈 서비스 서버의 이벤트 프로세서에서, 상기 수신된 상태 정보를 처리하는 단계; 및
    상기 스마트 홈 서비스 서버의 저장부에서, 상기 처리된 상태 정보를 저장하는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  25. 제 24 항에 있어서,
    상기 상태 정보를 수신하는 단계는,
    상기 연결된 적어도 하나의 디바이스 중 적어도 하나의 상태가 변경될 때, 상기 상태가 변경된 적어도 하나의 디바이스의 상태 정보를 수신하는 스마트 홈 서비스 서버의 제어방법.
  26. 제 24 항에 있어서,
    상기 스마트 홈 서비스 서버의 이벤트 전송부에서, 상기 적어도 하나의 디바이스의 상기 상태 정보 조회 명령의 상기 호출 명령이 수신되면, 상기 저장된 상태 정보를 상기 적어도 하나의 사용자 단말기로 전송하는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  27. 제 26 항에 있어서,
    상기 저장된 상태 정보를 상기 적어도 하나의 사용자 단말기로 전송하는 단계는,
    상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 및 사용자 인증 정보 중 적어도 하나에 기초하여 상기 처리된 상태 정보를 필터링하여 상기 적어도 하나의 사용자 단말기로 전송하는 스마트 홈 서비스 서버의 제어방법.
  28. 제 24 항에 있어서,
    상기 적어도 하나의 디바이스의 상기 상태 정보 구독 신청 명령의 상기 호출 명령이 수신되면, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 사용자 인증 정보, 및 디바이스 정보를 구독 신청 정보로서 저장하는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  29. 제 28 항에 있어서,
    상기 구독 신청 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보가 변경되면, 상기 구독 신청 정보로서 저장된 상기 제 2 프로토콜에 대한 인증 정보 및 상기 사용자 인증 정보에 대응되는 사용자 단말기로 상기 변경된 상태 정보를 전송하는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  30. 제 29 항에 있어서,
    상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 상태 정보 구독 해지 명령의 상기 호출 명령을 수신하면, 상기 구독 신청 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보를 상기 이벤트 전송부에 제공하지 않는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  31. 제 24 항에 있어서,
    상기 적어도 하나의 디바이스의 상기 조건 설정 명령의 상기 호출 명령이 수신되면, 상기 수신된 조건 설정 명령에 대한 호출 명령의 조건 및 상기 디바이스 정보를 포함하는 조건 설정 정보를 저장하는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  32. 제 31 항에 있어서,
    상기 조건 설정 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보가 상기 조건 설정 정보로서 저장된 조건을 만족하면, 상기 조건 만족 결과를 상기 적어도 하나의 디바이스에 제공하는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  33. 제 24 항에 있어서,
    상기 스마트 홈 서비스 서버의 아답터(Adapter)에서, 상기 처리된 상태 정보가 제 3 프로토콜에 기초하여 동작하는 파트너 서버에 의해 호출되는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  34. 제 33 항에 있어서,
    상기 제 3 프로토콜에 기초하여 상기 파트너 서버에 연결된 적어도 하나의 파트너 디바이스를 제어하도록, 상기 제 1 프로토콜을 통해 상기 적어도 하나의 파트너 디바이스에 대한 제어 명령을 호출하는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
KR1020160157660A 2015-11-24 2016-11-24 스마트 홈 서비스 서버 및 그 제어방법 KR20170060598A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
AU2016361086A AU2016361086B2 (en) 2015-11-24 2016-11-24 Smart home service server and control method therefor
US15/778,801 US11277278B2 (en) 2015-11-24 2016-11-24 Smart home service server and control method therefor
CA3003571A CA3003571A1 (en) 2015-11-24 2016-11-24 Smart home service server and control method therefor
PCT/KR2016/013660 WO2017091021A1 (ko) 2015-11-24 2016-11-24 스마트 홈 서비스 서버 및 그 제어방법
JP2018545794A JP6882314B2 (ja) 2015-11-24 2016-11-24 スマートホームサービスサーバおよびその制御方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562259547P 2015-11-24 2015-11-24
US62/259,547 2015-11-24

Publications (1)

Publication Number Publication Date
KR20170060598A true KR20170060598A (ko) 2017-06-01

Family

ID=59221804

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160157660A KR20170060598A (ko) 2015-11-24 2016-11-24 스마트 홈 서비스 서버 및 그 제어방법

Country Status (5)

Country Link
US (1) US11277278B2 (ko)
EP (1) EP3355521B1 (ko)
JP (1) JP6882314B2 (ko)
KR (1) KR20170060598A (ko)
CN (1) CN108605000B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190069234A (ko) * 2017-12-11 2019-06-19 건국대학교 산학협력단 홈 IoT 환경에서의 보안성 제공 장치 및 방법
EP3657732A4 (en) * 2017-10-18 2020-07-29 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE CONTROL SYSTEM FOR CONTROL OF AN ELECTRONIC DEVICE, AND METHOD OF ELECTRONIC DEVICE CONTROL

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015016616A1 (de) * 2015-12-22 2017-06-22 Giesecke & Devrient Gmbh Vorrichtung und Verfahren zur Verbindung einer Produktionsvorrichtung mit einem Netzwerk
CN109479050A (zh) 2016-03-29 2019-03-15 分辨率产品公司 通用协议转换器
US10834586B2 (en) * 2016-07-29 2020-11-10 Amzetta Technologies, Llc System and method for controlling heterogeneous internet of things (IoT) devices using single application
TWI699104B (zh) * 2017-08-30 2020-07-11 威摩科技股份有限公司 連網裝置及其控制系統與方法
CN109525966B (zh) * 2018-09-07 2022-05-06 北京小米移动软件有限公司 智能设备的查询方法、装置和存储介质
CN111585941B (zh) * 2019-02-18 2023-06-02 深圳市致趣科技有限公司 一种兼容多种自动化控制协议的方法及系统
CN110210203A (zh) * 2019-06-04 2019-09-06 武汉神算云信息科技有限责任公司 微信小程序与api的安全保护方法、装置、设备及存储介质
CN110784526A (zh) * 2019-10-16 2020-02-11 北京邮电大学 物联网服务聚合系统及方法
KR20230002021A (ko) * 2020-04-21 2023-01-05 엘지전자 주식회사 스마트 홈 장치 및 방법
JP7419973B2 (ja) * 2020-06-01 2024-01-23 トヨタ自動車株式会社 情報処理装置、情報処理方法、プログラム、及び携帯装置
CN112153028A (zh) * 2020-09-14 2020-12-29 谢长林 一种智能通讯装置和方法
CN113645108B (zh) * 2021-09-09 2022-11-04 北京自如信息科技有限公司 一种智能家居设备监控系统及方法
CN114553920B (zh) * 2021-11-17 2024-04-09 武汉领普科技有限公司 数据处理方法、装置及存储介质
WO2023220554A1 (en) * 2022-05-10 2023-11-16 Google Llc Sharing intelligence-derived information in home networks

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60230601D1 (ko) * 2001-01-10 2009-02-12 Cisco Tech Inc
EP1913729A4 (en) * 2005-07-04 2013-11-13 Sk Telecom Co Ltd HOME NETWORK SYSTEM, METHOD FOR ITS CONTROL, METHOD FOR SETTING UP AN ACCOMMODATION GATEWAY THEREFOR, AND METHOD FOR PROCESSING AN EVENT LOG TO THIS
JP4742981B2 (ja) 2006-05-19 2011-08-10 株式会社日立製作所 ホームゲートウェイ装置
KR100772412B1 (ko) * 2006-07-18 2007-11-01 삼성전자주식회사 홈 컨트롤 네트워크 제어 장치 및 방법
KR20080085513A (ko) * 2007-03-20 2008-09-24 삼성전자주식회사 홈네트워크 제어장치 및 이를 이용하는 홈네트워크 서비스시스템과 그 제어방법
US9444620B1 (en) * 2010-06-24 2016-09-13 F5 Networks, Inc. Methods for binding a session identifier to machine-specific identifiers and systems thereof
CN102768514A (zh) * 2012-07-06 2012-11-07 南京物联传感技术有限公司 一种家居控制系统及其控制方法
WO2014024484A1 (ja) * 2012-08-07 2014-02-13 パナソニック株式会社 中継装置
KR101456129B1 (ko) 2012-11-12 2014-11-03 김정옥 스마트폰을 이용한 키즈 케어 제공방법 및 키즈 케어 기능을 제공하는 스마트폰
US9978260B2 (en) 2012-12-18 2018-05-22 Samsung Electronics Co., Ltd. Method and apparatus for controlling a home device remotely in a home network system
KR101476667B1 (ko) 2013-05-10 2015-01-02 한국기술교육대학교 산학협력단 Sns 서버를 이용한 기기 참여 기반의 전자기기 애프터서비스 제공 방법
CN103399530B (zh) * 2013-07-01 2017-03-15 惠州Tcl家电集团有限公司 智能家电统一控制的方法、系统和管控平台以及控制终端
WO2015174560A1 (ko) 2014-05-14 2015-11-19 주식회사 프리스티 네트워크 제어 및 검증을 위한 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3657732A4 (en) * 2017-10-18 2020-07-29 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE CONTROL SYSTEM FOR CONTROL OF AN ELECTRONIC DEVICE, AND METHOD OF ELECTRONIC DEVICE CONTROL
KR20190069234A (ko) * 2017-12-11 2019-06-19 건국대학교 산학협력단 홈 IoT 환경에서의 보안성 제공 장치 및 방법

Also Published As

Publication number Publication date
EP3355521A1 (en) 2018-08-01
US20180351763A1 (en) 2018-12-06
CN108605000A (zh) 2018-09-28
US11277278B2 (en) 2022-03-15
JP6882314B2 (ja) 2021-06-02
JP2019505060A (ja) 2019-02-21
CN108605000B (zh) 2021-11-02
EP3355521B1 (en) 2020-09-16
EP3355521A4 (en) 2018-08-01

Similar Documents

Publication Publication Date Title
KR20170060598A (ko) 스마트 홈 서비스 서버 및 그 제어방법
AU2016361086B2 (en) Smart home service server and control method therefor
US10887447B2 (en) Configuration and management of smart nodes with limited user interfaces
US9246921B1 (en) Secure external access to device automation system
CN104966340B (zh) 门禁控制系统、方法及云服务平台
CN106664226B (zh) 用于附件管理系统的控制器网络的方法、设备及系统
KR102492203B1 (ko) 기기간 통신 네트워크에서의 자동화된 서비스 등록
TW202217607A (zh) 智能建築整合和裝置集線器
US20120079092A1 (en) Management of data flows between user equipment nodes and clusters of networked resource nodes
KR20120064916A (ko) 전화번호를 이용한 홈 네트워크 접근 제어 장치 및 그 방법과 그 시스템
KR20170014707A (ko) 홈 네트워크 시스템에서 방문자 호출을 제어하는 방법 및 장치
EP2918058A1 (en) Policy-based resource access via nfc
JP2017535122A (ja) センサのコード照合処理方法、装置、ネットワークプラットフォーム機器及びモノのインターネットゲートウェイ
WO2017058001A1 (en) A type of smart home management method based on instant messasing (im)
CN104506492A (zh) 一种多终端帐号同步的方法及装置
CN106471465A (zh) 服务启用器功能
WO2014187240A1 (zh) 一种家电远程控制方法、服务器及家电远程控制系统
US20100030346A1 (en) Control system and control method for controlling controllable device such as peripheral device, and computer program for control
US10038743B2 (en) Method and system for user and device management of an IOT network
JP7194736B2 (ja) IoT/M2Mサービス層のデータまたはサービスに対するコンテキストアウェア認証
JP5988841B2 (ja) 通信装置、通信システム、情報処理方法及びプログラム
KR101989828B1 (ko) 휴대용 단말기를 이용한 홈 네트워크 서비스 제공 시스템
KR101049339B1 (ko) 다양한 사용자 단말을 이용한 홈 네트워크 제어 방법
CN106657207B (zh) 用于管理物联网用户和设备的方法和系统
KR100559043B1 (ko) 모바일 홈 네트워크 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal