KR20140079697A - 토폴로지에 기초한 주변 기기 제어 시스템 및 방법 - Google Patents

토폴로지에 기초한 주변 기기 제어 시스템 및 방법 Download PDF

Info

Publication number
KR20140079697A
KR20140079697A KR1020130054008A KR20130054008A KR20140079697A KR 20140079697 A KR20140079697 A KR 20140079697A KR 1020130054008 A KR1020130054008 A KR 1020130054008A KR 20130054008 A KR20130054008 A KR 20130054008A KR 20140079697 A KR20140079697 A KR 20140079697A
Authority
KR
South Korea
Prior art keywords
peripheral device
sub
host device
topology
host
Prior art date
Application number
KR1020130054008A
Other languages
English (en)
Other versions
KR101833866B1 (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 EP13197380.2A priority Critical patent/EP2744153B1/en
Priority to US14/109,312 priority patent/US9438442B2/en
Priority to CN201310757441.1A priority patent/CN103873327B/zh
Priority to RU2015129037A priority patent/RU2666636C2/ru
Priority to AU2013364730A priority patent/AU2013364730B2/en
Priority to JP2013259960A priority patent/JP6448901B2/ja
Priority to PCT/KR2013/011722 priority patent/WO2014098441A1/en
Publication of KR20140079697A publication Critical patent/KR20140079697A/ko
Priority to US15/257,299 priority patent/US9893934B2/en
Application granted granted Critical
Publication of KR101833866B1 publication Critical patent/KR101833866B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • 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/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation 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/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2814Exchanging control software or macros for controlling appliance services in a home automation 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
    • 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/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
    • 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/2827Reporting to a device within the home network; wherein the reception of the information reported automatically triggers the execution of a home appliance functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

토폴로지에 기초한 주변 기기 제어 시스템 및 방법이 제공된다. 메인 주변 기기가 서브 주변 기기를 제어하는 방법은, 호스트 디바이스로부터 서브 주변 기기에 관한 기기 정보를 수신하는 단계; 상기 호스트 디바이스의 상황 에 관한 상황 정보를 상기 호스트 디바이스로부터 수신하는 단계; 토폴로지 형성 기준에 관한 토폴로지 설정 정보를 획득하는 단계; 상기 상황 정보 및 상기 토폴로지 설정 정보에 기초하여, 토폴로지에 포함될 서브 주변 기기를 결정하는 단계; 상기 호스트 디바이스 및 상기 결정된 서브 주변 기기와, 상기 메인 주변 기기를 연결하는 단계; 및 상기 호스트 디바이스로부터 수신되는 제어 정보에 기초하여, 상기 서브 주변 기기를 제어하는 단계;를 포함한다.

Description

토폴로지에 기초한 주변 기기 제어 시스템 및 방법{SYSTEM AND METHOD FOR CONTROLLING SURROUNDING DEVICE}
본 발명은 호스트 디바이스의 상황에 따라 형성되는 토폴로지에 기초하여 주변 기기를 제어하는 시스템 및 방법에 관한 것이다.
디바이스 및 주변 기기의 성능이 향상됨에 따라, 디바이스와 주변 기기는 다양한 기능을 제공할 수 있게 되었다. 또한, 통신 기술이 향상됨에 따라, 디바이스는 주변 기기들과 다양한 토폴로지에 따라 서로 연결될 수 있게 되었다. 또한, 디바이스 및 주변 기기들의 연결 관계에 따라, 디바이스 및 주변 기기들은 자신들의 다양한 기능 중 소정의 기능을 선택적으로 수행할 수 있게 되었다.
따라서, 디바이스의 상황에 따라, 적절한 주변 기기들이 디바이스와 함께 토폴로지를 형성할 필요가 있으며, 디바이스와 주변 기기들은 서로 효과적으로 연결될 필요가 있다. 나아가, 토폴로지에 포함된 디바이스 및 주변 기기들이 서로 다른 기기를 효과적으로 제어할 수 있는 기술이 필요하다.
본 발명의 일 실시예는, 호스트 디바이스의 상황에 따라 호스트 디바이스 및 주변 기기를 포함하는 토폴로지를 형성하고, 주변 기기를 효과적으로 제어할 수 있는, 토폴로지에 기초한 주변 기기 제어 시스템 및 방법을 제공할 수 있다.
또한, 본 발명의 일 실시예는, 주변 기기를 제어하기 위한 애플리케이션을 호스트 디바이스 및 메인 주변 기기에 효과적으로 설치할 수 있는, 토폴로지에 기초한 주변 기기 제어 시스템 및 방법을 제공할 수 있다.
또한, 본 발명의 일 실시예는, 토폴로지가 변경된 경우에 변경된 토폴로지 내의 주변 기기를 효과적으로 제어할 수 있는, 토폴로지에 기초한 주변 기기 제어 시스템 및 방법을 제공할 수 있다.
또한, 본 발명의 일 실시예는, 서브 주변 기기의 펌웨어를 서브 주변 기기에 효과적으로 설치할 수 있는, 토폴로지에 기초한 주변 기기 제어 시스템 및 방법을 제공한다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면은, 호스트 디바이스로부터 서브 주변 기기에 관한 기기 정보를 수신하는 단계; 상기 호스트 디바이스의 상황에 관한 상황 정보를 상기 호스트 디바이스로부터 수신하는 단계; 토폴로지 형성 기준에 관한 토폴로지 설정 정보를 획득하는 단계; 상기 상황 정보 및 상기 토폴로지 설정 정보에 기초하여, 토폴로지에 포함될 서브 주변 기기를 결정하는 단계; 상기 호스트 디바이스 및 상기 결정된 서브 주변 기기와, 상기 메인 주변 기기를 연결하는 단계; 및 상기 호스트 디바이스로부터 수신되는 제어 정보에 기초하여, 상기 서브 주변 기기를 제어하는 단계;를 포함하는, 메인 주변 기기가 서브 주변 기기를 제어하는 방법을 제공할 수 있다.
또한, 상기 상황 정보는, 상기 호스트 디바이스에서 실행되는 콘텐트의 종류에 관한 정보를 포함하며, 상기 토폴로지 설정 정보는, 상기 콘텐트의 종류에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 정보를 포함하며, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브 주변 기기의 연결 관계에 관한 정보를 포함할 수 있다.
또한, 상기 상황 정보는, 상기 호스트 디바이스에서 제공되는 서비스의 종류에 관한 정보를 포함하며, 상기 토폴로지 설정 정보는, 상기 서비스의 종류에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 정보를 포함하며, 상기 호스트 디바이스, 상기 메인 주변 기기 및 서브 주변 기기의 연결 관계에 관한 정보를 포함할 수 있다.
또한, 상기 상황 정보는, 상기 호스트 디바이스의 사용자에 관한 사용자 정보를 포함하며, 상기 토폴로지 설정 정보는, 상기 사용자에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 정보를 포함하며, 상기 호스트 디바이스, 상기 메인 주변 기기 및 서브 주변 기기의 연결 관계에 관한 정보를 포함할 수 있다.
또한, 상기 토폴로지 설정 정보는, 상기 메인 주변 기기의 속성에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 정보를 포함하며, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브 주변 기기의 연결 관계에 관한 정보를 포함할 수 있다.
또한, 상기 방법은, 상기 호스트 디바이스로부터 상기 서브 주변 기기를 제어하는데 이용되는 애플리케이션에 관한 애플리케이션 정보를 수신하는 단계; 및 상기 수신된 애플리케이션 정보에 기초하여, 상기 애플리케이션을 설치하는 단계;를 더 포함하며, 상기 서브 주변 기기를 제어하는 단계는, 상기 설치된 애플리케이션을 이용하여 상기 서브 주변 기기를 제어할 수 있다.
또한, 상기 토폴로지 설정 정보는, 상기 메인 주변 기기 및 상기 서브 주변 기기의 기능에 따른 상기 토폴로지 형성 기준에 관한 정보이며, 상기 메인 주변 기기 및 상기 서브 주변 기기의 기능에 따라, 상기 토폴로지에 포함될 상기 서브 주변 기기가 결정될 수 있다.
또한, 상기 방법은, 상기 호스트 디바이스 주변의 상기 서브 주변 기기가 변경됨에 따라, 상기 변경된 서브 주변 기기를 포함하는 토폴로지를 확인하는 단계; 상기 변경된 서브 주변 기기를 포함하는 토폴로지에 기초하여, 상기 변경된 서브 주변 기기와 연결하는 단계; 및 상기 변경된 서브 주변 기기를 제어하는 단계;를 더 포함할 수 있다.
또한, 상기 방법은, 상기 서브 주변 기기의 기능에 대응되는 상기 서브 주변 기기의 펌웨어를 상기 호스트 디바이스로부터 수신하는 단계; 및 상기 수신된 펌웨어를 상기 서브 주변 기기에게 제공하는 단계;를 더 포함하며, 상기 펌웨어는, 상기 서버로부터 상기 호스트 디바이스를 경유하여 상기 메인 주변 기기에게 제공될 수 있다.
또한, 상기 서브 주변 기기의 기능은, 상기 서브 주변 기기, 상기 메인 주변 기기, 및 상기 호스트 디바이스의 연결 관계에 기초하여 결정될 수 있다.
또한, 본 발명의 제 2 측면은, 주변 기기를 검색하는 단계; 호스트 디바이스의 상황에 매칭된 토폴로지 형성 기준에 기초하여, 상기 검색된 주변 기기 중에서 메인 주변 기기 및 서브 주변 기기를 결정하는 단계; 상기 토폴로지 형성 기준에 기초하여 상기 메인 주변 기기, 상기 서브 주변 기기 및 상기 호스트 디바이스를 연결하는 단계; 및 상기 메인 주변 기기 및 상기 서브 주변 기기를 제어하는 단계;를 포함하는, 호스트 디바이스가 주변 기기를 제어하는 방법을 제공할 수 있다.
또한, 상기 호스트 디바이스의 상황은, 상기 호스트 디바이스에서 실행되는 콘텐트의 종류를 포함하며, 상기 토폴로지 형성 기준은, 상기 콘텐트의 종류에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 기준, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브 주변 기기의 연결 관계에 관한 기준을 포함할 수 있다.
또한, 상기 호스트 디바이스의 상황은, 상기 호스트 디바이스에서 제공되는 서비스의 종류를 포함하며, 상기 토폴로지 형성 기준은, 상기 서비스의 종류에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 기준, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브 주변 기기의 연결 관계에 관한 기준을 포함할 수 있다.
또한, 상기 호스트 디바이스의 상황은, 상기 호스트 디바이스의 사용자를 포함하며, 상기 토폴로지 형성 기준은, 상기 사용자에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 기준, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브 주변 기기의 연결 관계에 관한 기준을 포함할 수 있다.
또한, 상기 토폴로지 형성 기준은, 상기 메인 주변 기기의 속성에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 기준을 포함하며, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브주변 기기의 연결 관계에 관한 기준을 포함할 수 있다.
또한, 상기 방법은, 상기 메인 주변 기기를 제어하기 위한 애플리케이션을 서버로부터 수신하는 단계; 및 상기 메인 주변 기기를 제어하기 위한 애플리케이션을 설치하는 단계;를 더 포함하며, 상기 메인 주변 기기는, 상기 설치된 애플리케이션에 기초하여 상기 호스트 디바이스에 의해 제어될 수 있다.
또한, 상기 방법은, 상기 서브 주변 기기를 제어하기 위한 애플리케이션에 관한 애플리케이션 정보를 상기 메인 주변 기기에게 제공하는 단계;를 더 포함하며, 상기 제공된 애플리케이션 정보에 기초하여, 상기 서브 주변 기기를 제어하기 위한 애플리케이션이 상기 메인 주변 기기에 설치될 수 있다.
또한, 상기 토폴로지 형성 기준은, 상기 메인 주변 기기 및 상기 서브 주변 기기의 기능에 따른 상기 토폴로지의 형성 기준이며, 상기 메인 주변 기기 및 상기 서브 주변 기기의 기능에 따라, 상기 토폴로지에 포함될 메인 주변 기기 및 상기 서브 주변 기기가 결정될 수 있다.
또한, 상기 방법은, 상기 호스트 디바이스 주변의 상기 서브 주변 기기가 변경됨에 따라, 상기 변경된 서브 주변 기기를 포함하는 토폴로지를 확인하는 단계; 및 상기 변경된 서브 주변 기기를 포함하는 토폴로지에 기초하여, 상기 변경된 서브 주변 기기를 상기 메인 주변 기기에 연결시키는 단계;를 더 포함할 수 있다.
또한, 상기 방법은, 상기 서브 주변 기기의 기능에 대응되는 상기 서브 주변 기기의 펌웨어를 상기 호스트 디바이스로부터 수신하는 단계; 및 상기 수신된 펌웨어를 상기 메인 주변 기기에게 제공하는 단계;를 더 포함하며, 상기 펌웨어는, 상기 메인 주변 기기로부터 상기 서브 주변 기기에게 제공될 수 있다.
또한, 상기 서브 주변 기기의 기능은, 상기 서브 주변 기기, 상기 메인 주변 기기, 및 상기 호스트 디바이스의 연결 관계에 기초하여 결정될 수 있다.
또한, 본 발명의 제 3 측면은, 주변 기기에게 호스트 디바이스의 상황에 대한 상황 정보를 전송하는 단계; 상기 주변 기기로부터의 연결 요청에 응답하여, 상기 주변 기기 및 상기 호스트 디바이스를 연결하는 단계; 상기 연결된 주변 기기를 제어하는 단계;를 포함하며, 상기 호스트 디바이스의 상황 정보 및 서버로부터 상기 주변 기기에게 제공되는 토폴로지 형성 기준에 기초하여, 상기 주변 기기가 상기 호스트 디바이스에게 상기 연결을 요청할 지가 결정되고, 상기 상황 정보 및 상기 토폴로지 형성 기준에 기초하여, 상기 주변 기기가 메인 주변 기기인지 서브 주변 기기인지가 결정되는 것인, 상기 호스트 디바이스가 주변 기기를 제어하는 방법을 제공할 수 있다.
또한, 본 발명의 제 4 측면은, 소정의 토폴로지에 따라 호스트 디바이스에 연결된 메인 주변 기기에 연결된 서브 주변 기기의 펌웨어를 서버에게 요청하는 단계; 상기 서버로부터 상기 요청된 펌웨어를 수신하는 단계; 및 상기 수신된 펌웨어를 상기 서브 주변 기기에게 제공하는 단계;를 포함하며, 상기 펌웨어를 요청하는 단계는, 상기 서브 주변 기기의 연결 관계에 관한 정보 및 상기 메인 주변 기기에 연결된 상기 서브 주변 기기의 기능에 관한 정보 중 적어도 하나를 상기 서버에게 제공하며, 상기 서브 주변 기기에게 제공된 펌웨어는, 상기 호스트 디바이스 또는 상기 메인 주변 기기로부터 제공되는 제어 명령에 따라 상기 서브 주변 기기가 상기 서브 주변 기기의 동작을 제어하는데 이용되는 것인, 상기 호스트 디바이스가 주변 기기를 제어하는 방법을 제공할 수 있다.
또한, 본 발명의 제 5 측면은, 호스트 디바이스가 주변 기기를 검색하고, 검색된 주변 기기 중 메인 주변 기기 및 서브 주변 기기를 결정하는 단계; 상기 호스트 디바이스가, 상기 서브 주변 기기에 관한 기기 정보 및 상기 호스트 디바이스의 상황에 관한 상황 정보를 상기 메인 주변 기기에게 제공하는 단계; 서버가 토폴로지 형성 기준에 관한 토폴로지 설정 정보를 상기 메인 주변 기기에게 제공하는 단계; 상기 메인 주변 기기가, 상기 기기 정보, 상기 상황 정보 및 상기 토폴로지 설정 정보에 기초하여, 상기 서브 주변 기기 중 적어도 하나를 선택하는 단계; 상기 메인 주변 기기가, 상기 선택된 서브 주변 기기를 연결하는 단계; 및 상기 메인 주변 기기가 상기 연결된 서브 주변 기기를 제어하는 단계;를 포함하는, 주변 기기 제어 시스템을 제공할 수 있다.
또한, 본 발명의 제 6 측면은, 적어도 하나의 프로그램이 저장되는 메모리; 및 상기 적어도 하나의 프로그램을 실행함으로써 적어도 하나의 프로그램을 실행함으로써 주변 기기와 토폴로지를 형성하고, 상기 주변 기기를 제어하도록 하는 프로세서를 포함하고, 상기 적어도 하나의 프로그램은, 주변 기기를 검색하는 단계; 호스트 디바이스의 상황에 매칭된 토폴로지 형성 기준에 기초하여, 상기 검색된 주변 기기 중에서 메인 주변 기기 및 서브 주변 기기를 결정하는 단계; 상기 토폴로지 형성 기준에 기초하여 상기 메인 주변 기기, 상기 서브 주변 기기 및 상기 호스트 디바이스를 연결하는 단계; 및 상기 메인 주변 기기 및 상기 서브 주변 기기를 제어하는 단계;를 실행하는 명령어들을 포함하는 것을 특징으로 하는, 호스트 디바이스를 제공할 수 있다.
또한, 상기 호스트 디바이스의 상황은, 상기 호스트 디바이스에서 실행되는 콘텐트의 종류를 포함하며, 상기 토폴로지 형성 기준은, 상기 콘텐트의 종류에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 기준, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브 주변 기기의 연결 관계에 관한 기준을 포함할 수 있다.
또한, 상기 호스트 디바이스의 상황은, 상기 호스트 디바이스에서 제공되는 서비스의 종류를 포함하며, 상기 토폴로지 형성 기준은, 상기 서비스의 종류에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 기준, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브 주변 기기의 연결 관계에 관한 기준을 포함할 수 있다.
또한, 상기 호스트 디바이스의 상황은, 상기 호스트 디바이스의 사용자를 포함하며, 상기 토폴로지 형성 기준은, 상기 사용자에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 기준, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브 주변 기기의 연결 관계에 관한 기준을 포함할 수 있다.
또한, 상기 토폴로지 형성 기준은, 상기 메인 주변 기기의 속성에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 기준을 포함하며, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브주변 기기의 연결 관계에 관한 기준을 포함할 수 있다.
또한, 상기 적어도 하나의 프로그램은, 상기 메인 주변 기기를 제어하기 위한 애플리케이션을 서버로부터 수신하는 단계; 및 상기 메인 주변 기기를 제어하기 위한 애플리케이션을 설치하는 단계;를 실행하는 명령어들을 더 포함하며, 상기 메인 주변 기기는, 상기 설치된 애플리케이션에 기초하여 상기 호스트 디바이스에 의해 제어될 수 있다.
또한, 상기 적어도 하나의 프로그램은, 상기 서브 주변 기기를 제어하기 위한 애플리케이션에 관한 애플리케이션 정보를 상기 메인 주변 기기에게 제공하는 단계;를 실행하는 명령어들을 더 포함하며, 상기 제공된 애플리케이션 정보에 기초하여, 상기 서브 주변 기기를 제어하기 위한 애플리케이션이 상기 메인 주변 기기에 설치될 수 있다.
또한, 상기 토폴로지 형성 기준은, 상기 메인 주변 기기 및 상기 서브 주변 기기의 기능에 따른 상기 토폴로지의 형성 기준이며, 상기 메인 주변 기기 및 상기 서브 주변 기기의 기능에 따라, 상기 토폴로지에 포함될 메인 주변 기기 및 상기 서브 주변 기기가 결정될 수 있다.
또한, 상기 적어도 하나의 프로그램은, 상기 호스트 디바이스 주변의 상기 서브 주변 기기가 변경됨에 따라, 상기 변경된 서브 주변 기기를 포함하는 토폴로지를 확인하는 단계; 및 상기 변경된 서브 주변 기기를 포함하는 토폴로지에 기초하여, 상기 변경된 서브 주변 기기를 상기 메인 주변 기기에 연결시키는 단계;를 실행하는 명령어들을 더 포함할 수 있다.
또한, 상기 적어도 하나의 프로그램은, 상기 서브 주변 기기의 기능에 대응되는 상기 서브 주변 기기의 펌웨어를 상기 호스트 디바이스로부터 수신하는 단계; 및 상기 수신된 펌웨어를 상기 메인 주변 기기에게 제공하는 단계;를 실행하는 명령어들을 더 포함하며, 상기 펌웨어는, 상기 메인 주변 기기로부터 상기 서브 주변 기기에게 제공될 수 있다.
또한, 상기 서브 주변 기기의 기능은, 상기 서브 주변 기기, 상기 메인 주변 기기, 및 상기 호스트 디바이스의 연결 관계에 기초하여 결정될 수 있다.
또한, 본 발명의 제 7 측면은, 제 1 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
또한, 본 발명의 제 8 측면은, 제 2 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
또한, 본 발명의 제 9 측면은, 제 3 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
또한, 본 발명의 제 10 측면은, 제 4 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 호스트 디바이스(1000) 주변의 주변 기기를 제어하는 주변 기기 제어 시스템의 개요도이다.
도 2는 본 발명의 일 실시예에 따른 주변 기기 제어 시스템의 일례를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 메인 주변 기기(2000) 및 서브 주변 기기(3000)를 제어하는 방법의 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 호스트 디바이스(1000)의 상황에 따라 메인 주변 기기(2000) 및 서브 주변 기기(3000)를 선택하고, 메인 주변 기기(2000) 및 서브 주변 기기(3000)를 제어하는 방법의 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 메인 주변 기기(2000)가 호스트 디바이스(1000)의 상황에 따라 서브 주변 기기(3000)를 선택하고, 서브 주변 기기(3000)를 제어하는 방법의 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 주변 기기 및 서버(4000)로부터 주변 기기에 대한 정보를 획득하는 일례를 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 NFC(Near Field Communication) 통신을 통하여 주변 기기에 관한 기기 정보를 획득하는 방법의 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 BLE(Bluetooth Low Energy) 통신을 통하여 주변 기기에 관한 기기 정보를 획득하는 방법의 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 게이트웨이(5000) 및 서버(4000)로부터 주변 기기에 관한 정보를 획득하는 일례를 도시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)에서 실행되는 콘텐트의 종류에 따라 호스트 디바이스(1000) 및 주변 기기가 토폴로지를 형성하는 일례를 도시한 도면이다.
도 11은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)에서 실행되는 서비스의 종류에 따라 호스트 디바이스(1000) 및 주변 기기가 토폴로지를 형성하는 일례를 도시한 도면이다.
도 12는 본 발명의 일 실시예에 따른 호스트 디바이스(1000)의 사용자에 따라 호스트 디바이스(1000) 및 주변 기기가 토폴로지를 형성하는 일례를 도시한 도면이다.
도 13은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 연결된 메인 주변 기기(2000)의 속성에 따라 호스트 디바이스(1000) 및 주변 기기가 토폴로지를 형성하는 일례를 도시한 도면이다.
도 14는 본 발명의 일 실시예에 따른 호스트 디바이스(1000), 메인 주변 기기(2000) 및 서브 주변 기기(3000)가 연결되는 방법의 흐름도이다.
도 15 내지 17은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 메인 주변 기기(2000) 및 서브 주변 기기(3000)를 제어하는 방법의 흐름도이다.
도 18은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 형성된 토폴로지를 변경하고, 변경된 토폴로지에 기초하여 주변 기기를 제어하는 방법의 흐름도이다.
도 19 내지 도 21은 본 발명의 일 실시예에 따른 호스트 디바이스(1000) 및 주변 기기가 포함된 토폴로지에 다른 디바이스(6000)가 추가되는 경우에, 토폴로지가 변경되는 일례를 도시한 도면이다.
도 22는 본 발명의 일 실시예에 따른 호스트 디바이스(1000)의 환경이 변화되는 경우에, 호스트 디바이스(1000)가 포함된 토폴로지가 변경되는 일례를 도시한 도면이다.
도 23은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 서브 주변 기기(3000)의 펌웨어가 업그레이드하는 방법의 개요도이다.
도 24는 본 발명의 일 실시예에 따른 호스트 디바이스(1000), 메인 주변 기기(2000) 및 서브 주변 기기(3000)의 연결 관계에 기초하여, 호스트 디바이스(1000)가 서브 주변 기기(3000)의 펌웨어를 업데이트하는 방법의 흐름도이다.
도 25는 본 발명의 일 실시예에 따른 서브 주변 기기(3000)의 기능이 갱신되는 경우에, 호스트 디바이스(1000)가 서브 주변 기기(3000)의 펌웨어를 업데이트하는 방법의 흐름도이다.
도 26은 본 발명의 일 실시예에 따른 메인 주변 기기(2000) 및 서브 주변 기기(3000)가 토폴로지를 형성할 지를 결정하고, 호스트 디바이스(1000), 메인 주변 기기(2000) 및 서브 주변 기기(3000)가 서로 연결되는 방법의 흐름도이다.
도 27은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)에서 동영상이 재생되는 중에 소정의 토폴로지에 따라 주변 기기가 호스트 디바이스(1000)에 연결되고 제어되는 일례를 도시한 도면이다.
도 28은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 댁 내의 주변 기기의 전력을 제어하는 서비스를 제공하는 일례를 도시한 도면이다.
도 29는 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 요리 서비스를 실행 중에, 소정의 토폴로지에 따라 주변 기기가 호스트 디바이스(1000)에 연결되고 제어되는 일례를 도시한 도면이다.
도 30은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)에서 검색된 주변 기기 중에서 제어될 주변 기기가 사용자 입력에 의해 선택되는 일례를 도시한 도면이다.
도 31은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)에서 실행될 서비스가 사용자 입력에 의해 선택되는 일례를 도시한 도면이다.
도 32는 본 발명의 일 실시예에 따른 호스트 디바이스(1000)에서 추천된 토폴로지 중 하나가 사용자 입력에 의해 선택되는 일례를 도시한 도면이다.
도 33은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)에 표시된 주변 기기 제어를 위한 사용자 인터페이스의 일례를 도시한 도면이다.
도 34는 본 발명의 일 실시예에 따른 호스트 디바이스(1000)에서 주변 기기 제어를 위한 사용자 인터페이스가 생성되는 일례를 도시한 도면이다.
도 35는 본 발명의 일 실시예에 따른 호스트 디바이스(1000)의 블록도이다.
도 36은 본 발명의 일 실시예에 따른 메모리(1060)에 포함된 애플리케이션 DB 및 주변 기기DB의 일례를 도시한 도면이다.
도 37은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)와 주변 기기 간에 제어 명령 및 상태 정보가 송수신되는 일례를 도시한 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 본 명세서에서 토폴로지란 디바이스들(노드들) 간의 연결 형태를 의미한다. 토폴로지는 물리적 토폴로지 및 논리적 토폴로지를 포함할 수 있으며, 토폴로지는 토폴로지 구조(topology structure)에 속한 디바이스들 사이의 물리적 또는 논리적 연결 구성에 의해 결정될 수 있다. 예를 들어, 토폴로지는, 디바이스들의 연결 관계, 디바이스 간의 연결 방법, 디바이스 간의 데이터 전송 속도, 디바이스 간에 전송되는 데이터의 흐름(data flow), 디바이스 간에 전송되는 신호의 종류 및 디바이스에 설치된 애플리케이션의 종류 중 적어도 하나에 의해, 다른 토폴로지와 구별될 수 있으나, 이에 제한되지 않는다.
또한, 본 명세서에서 소정의 토폴로지에는 호스트 디바이스, 메인 주변 기기 및 서브 주변 기기가 포함될 수 있다. 또한, 호스트 디바이스는 메인 주변 기기와 연결될 수 있으며, 메인 주변 기기는 서브 주변 기기와 연결될 수 있다. 또한, 호스트 디바이스 및 메인 주변 기기 중 적어도 하나는, 서브 주변 기기를 제어할 수 있다.
또한, 본 명세서에서, 토폴로지를 형성하는 호스트 디바이스, 메인 주변 기기 및 서브 주변 기기는, 토폴로지 구조 내에서의 디바이스의 위치, 및 다른 디바이스에 대한 디바이스의 역할에 의해 결정될 수 있다. 따라서, 소정의 디바이스는, 형성된 토폴로지 내에서 호스트 디바이스, 메인 주변 기기 및 서브 주변 기기 중 적어도 하나로 동작할 수 있다.
또한, 호스트 디바이스, 메인 주변 기기, 서브 주변 기기 중 적어도 하나는, 예를 들어, 스마트폰, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, PC, GPS(global positioning system) 장치, 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 호스트 디바이스, 메인 주변 기기, 서브 주변 기기 중 적어도 하나는, 가전 기기 및 댁 내에 설치된 각종 기기를 포함할 수 있으며, 예를 들어, TV, 조명, 냉장고, 오디오 장치, 세탁기, 냉장고, 오븐, 가스렌지, 홈 게이트웨이, 게임 기기, 전자 칠판 및 터치 테이블을 포함할 수 있으나, 이에 제한되지 않는다.
또한, 본 명세서에서, 호스트 디바이스의 상황(context)은, 호스트 디바이스의 동작, 호스트 디바이스의 사용자, 호스트 디바이스의 주변 환경 및 호스트 디바이스의 속성 중 적어도 하나에 관련된 상황일 수 있다. 예를 들어, 호스트 디바이스의 상황은, 호스트 디바이스에서 실행되는 콘텐트의 종류, 호스트 디바이스에서 제공되는 서비스의 종류, 호스트 디바이스의 사용자, 호스트 디바이스의 속성에 의해 결정될 수 있다. 또한, 예를 들어, 호스트 디바이스의 상황은, 호스트 디바이스(1000)의 위치, 호스트 디바이스가 위치한 곳의 날씨, 온도, 호스트 디바이스의 움직임 등에 의해 결정될 수도 있다. 그러나, 이에 제한되지 않는다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 호스트 디바이스(1000) 주변의 주변 기기를 제어하는 주변 기기 제어 시스템의 개요도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 주변 기기 제어 시스템은, 호스트 디바이스(1000), 적어도 하나의 메인 주변 기기(2000), 적어도 하나의 서브 주변 기기(3000), 및 서버(4000)를 포함한다.
본 발명의 일 실시예에 따른 주변 기기 제어 시스템에서, 호스트 디바이스(1000)의 상황에 따라 소정의 토폴로지가 결정될 수 있으며, 결정된 토폴로지에 따라, 호스트 디바이스(1000), 메인 주변 기기(2000) 및 서브 주변 기기(3000)가 결정될 수 있다.
또한, 결정된 호스트 디바이스(1000), 메인 주변 기기(2000) 및 서브 주변 기기(3000)는 결정된 토폴로지에 따라 서로 연결될 수 있으며, 메인 주변 기기(2000) 및 호스트 디바이스(1000) 중 적어도 하나는 서브 주변 기기(3000)를 제어할 수 있다. 그러나, 이에 제한되지 않으며, 적어도 하나의 서브 주변 기기(3000)가 메인 주변 기기(2000) 또는 호스트 디바이스(1000)를 제어할 수도 있다.
또한, 결정된 호스트 디바이스(1000), 메인 주변 기기(2000) 및 서브 주변 기기(3000)는 유선 또는 무선으로 연결될 수 있다. 결정된 호스트 디바이스(1000), 메인 주변 기기(2000) 및 서브 주변 기기(3000)는, 예를 들어, 와이파이(Wi-Fi), 블루투스(Bluetooth), BLE(Bluetooth Low Energy), NFC(Near Field Communication), RFID(Radio Frequency Identification) 중 적어도 하나의 통신 방법을 이용하여 서로 연결될 수 있으나, 이에 제한되지 않는다. 또한, 결정된 호스트 디바이스(1000), 메인 주변 기기(2000) 및 서브 주변 기기(3000)는, 예를 들어, HDMI 케이블, RGB 케이블을 통하여 연결되거나, 소켓(socket)을 통하여 연결될 수 있으나, 이에 제한되지 않는다.
도 2는 본 발명의 일 실시예에 따른 주변 기기 제어 시스템의 일례를 도시한 도면이다.
호스트 디바이스(1000), 메인 주변 기기(2000) 및 서브 주변 기기(3000)는 호스트 디바이스(1000)의 상황에 따라 결정될 수 있다. 구체적으로, 호스트 디바이스(1000)는 호스트 디바이스(1000) 주변의 주변 기기를 검색할 수 있으며, 검색된 주변 기기 중에서 메인 주변 기기(2000) 및 서브 주변 기기(3000)를 호스트 디바이스(1000)의 상황에 기초하여 결정할 수 있다.
도 2를 참조하면, 호스트 디바이스(1000)에 연결된 메인 주변 기기(2000)는, 예를 들어, TV 및 디스플레이 장치일 수 있으며, 서브 주변 기기(3000)는 가스렌지, 냉장고, 전화기, 스피커 및 마이크일 수 있다. 또한, 예를 들어, TV는 호스트 디바이스(1000), 가스렌지, 냉장고 및 전화기와 연결될 수 있으며, 디스플레이 장치는 호스트 디바이스(1000), 스피커 및 마이크와 연결될 수 있다.
또한, 호스트 디바이스(1000) 또는 TV는 가스렌지, 냉장고 및 전화기를 제어할 수 있으며, 호스트 디바이스(1000) 또는 디스플레이 장치는 스피커 및 마이크를 제어할 수 있다.
예를 들어, 호스트 디바이스(1000)가 댁 내로 진입하면, 호스트 디바이스(1000) 또는 TV는 전화기의 모드를 진동 모드로 변경할 수 있다. 또한, 전화기로 전화가 걸려오면 전화기는 TV를 제어함으로써, TV의 화면에 발신 정보가 표시되도록 할 수 있다.
도 3은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 메인 주변 기기(2000) 및 서브 주변 기기(3000)를 제어하는 방법의 흐름도이다.
단계 S300에서 호스트 디바이스(1000)는 호스트 디바이스(1000) 주변의 주변 기기를 검색하고, 검색된 주변 기기에 관한 주변 기기 정보를 획득한다. 호스트 디바이스(1000)는 호스트 디바이스(1000) 주변의 주변 기기로부터 주변 기기의 식별 값(예를 들어, SSID)을 수신할 수 있으며, 수신된 주변 기기의 식별 값에 기초하여 주변 기기에 관한 정보를 서버(4000)로부터 획득할 수 있다.
또한, 호스트 디바이스(1000)는, 예를 들어, NFC(Near Field Communication), 지그비(Zigbee) 통신, RFID(Radio Frequency IDentification) 통신, UWB(Ultra Wide Band) 통신, 및 블루투스(Bluetooth) 통신을 이용하여 주변 기기를 검색할 수 있으나, 이에 제한되지 않는다.
또한, 예를 들어, 주변 기기에 관한 정보는, 주변 기기의 기능에 관한 정보, 주변 기기가 이용할 수 있는 통신 방법에 관한 정보, 주변 기기에 연결하기 위한 연결 정보, 주변 기기에 설치된 애플리케이션에 관한 정보, 주변 기기를 제어하기 위한 애플리케이션에 관한 정보, 주변 기기의 제어 명령에 관한 정보 중 적어도 하나를 포함할 수 있으나, 이에 제한되지 않는다.
단계 S310에서 호스트 디바이스(1000)는 호스트 디바이스(1000)의 상황에 기초하여, 소정의 토폴로지 및 토폴로지에 포함될 주변 기기를 결정한다.
호스트 디바이스(1000)의 상황(context)은, 호스트 디바이스(1000)의 동작, 호스트 디바이스(1000)의 사용자, 호스트 디바이스(1000)의 주변 환경 및 호스트 디바이스(1000)의 속성 중 적어도 하나에 관련된 상황일 수 있다. 예를 들어, 호스트 디바이스(1000)의 상황은, 호스트 디바이스(1000)에서 실행되는 콘텐트의 종류, 호스트 디바이스(1000)에서 제공되는 서비스의 종류, 호스트 디바이스(1000)의 사용자, 호스트 디바이스(1000)의 속성에 의해 결정될 수 있다. 또한, 예를 들어, 호스트 디바이스(1000)의 상황은, 호스트 디바이스(1000)의 위치, 호스트 디바이스(1000)가 위치한 곳의 날씨, 온도, 호스트 디바이스(1000)의 움직임 등에 의해 결정될 수도 있다. 그러나, 이에 제한되지 않는다.
호스트 디바이스(1000)는 토폴로지의 형성 기준에 관한 토폴로지 설정 정보를 서버(4000)로부터 획득할 수 있으며, 획득된 토폴로지 설정 정보, 검색된 주변 기기 및 호스트 디바이스(1000)의 상황에 기초하여, 소정의 토폴로지를 선택할 수 있다. 또한, 호스트 디바이스(1000)는 선택된 토폴로지에 포함될 메인 주변 기기(2000) 및 서브 주변 기기(3000)를, 검색된 주변 기기 중에서 선택할 수 있다. 예를 들어, 호스트 디바이스(1000)가 동영상을 재생하는 경우에, 호스트 디바이스(1000)는, 서버(4000)로부터 획득된 토폴로지 설정 정보에 기초하여, 동영상 재생과 관련된 주변 기기 중에서 메인 주변 기기(2000) 및 서브 주변 기기(3000)를 선택할 수 있다. 그러나, 이에 제한되지 않으며, 호스트 디바이스(1000)가 사용자 입력에 기초하여 토폴로지의 형성 기준을 결정하고, 토폴로지 설정 정보를 생성할 수도 있다. 이 경우, 토폴로지 형성 기준의 설정을 위한 별도의 UI가 호스트 디바이스(1000)에서 디스플레이될 수 있다.
한편, 상기에서는, 호스트 디바이스(1000)가 주변 기기를 먼저 검색하고, 검색된 주변 기기 중에서 토폴로지에 포함될 주변 기기를 선택하는 것으로 설명하였지만, 이에 제한되지 않는다. 호스트 디바이스(1000)가 호스트 디바이스(1000)의 상황을 먼저 판단하고, 판단된 호스트 디바이스(1000)의 상황에 관련된 주변 기기를 검색할 수도 있다. 또한, 호스트 디바이스(1000)는 호스트 디바이스(1000)의 상황에 관련된 토폴로지를 먼저 결정하고, 결정된 토폴로지에 관련된 주변 기기를 검색할 수도 있다.
또한, 호스트 디바이스(1000)는 검색된 주변 기기에 관한 정보 및 호스트 디바이스(1000)의 상황에 관한 정보를 서버(4000)에게 제공할 수 있으며, 제공된 정보에 기초하여 서버(4000)가 형성될 토폴로지, 메인 주변 기기(2000) 및 서브 주변 기기(3000)를 결정할 수 있다. 이 경우, 호스트 디바이스(1000)는 서버(4000)에 의해 결정된 토폴로지, 메인 주변 기기(2000) 및 서브 주변 기기(3000)에 관한 정보를 수신할 수도 있다. 그러나, 이에 제한되지 않는다.
단계 S320에서 호스트 디바이스(1000)는 확인된 토폴로지에 기초하여, 호스트 디바이스(1000) 및 선택된 주변 기기를 연결한다. 호스트 디바이스(1000)는 확인된 토폴로지에 기초하여, 메인 주변 기기(2000)를 호스트 디바이스(1000)에 연결시킬 수 있다.
또한, 호스트 디바이스(1000)는 확인된 토폴로지에 기초하여, 메인 주변 기기(2000) 및 서브 주변 기기(3000)가 서로 연결되도록 할 수 있다. 이 경우, 호스트 디바이스(1000)는 메인 주변 기기(2000)의 연결 정보를 서브 주변 기기(3000)에게 제공하거나, 서브 주변 기기(3000)의 연결 정보를 메인 주변 기기(2000)에 제공할 수 있으나, 이에 제한되지 않는다.
단계 S330에서 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하기 위한 애플리케이션을 설치한다. 호스트 디바이스(1000)는, 메인 주변 기기(2000)의 식별 값에 기초하여, 메인 주변 기기(2000)를 제어하기 위한 애플리케이션을 서버(4000)로부터 획득할 수 있다. 또한, 호스트 디바이스(1000)는 획득된 애플리케이션을 호스트 디바이스(1000)에 설치할 수 있다.
단계 S340에서 호스트 디바이스(1000)는 서브 주변 기기(3000)를 제어하기 위한 애플리케이션에 관한 애플리케이션 정보를 메인 주변 기기(2000)에게 제공한다. 호스트 디바이스(1000)는, 서브 주변 기기(3000)의 식별 값에 기초하여, 서브 주변 기기(3000)를 제어하기 위한 애플리케이션에 관한 애플리케이션 정보를 서버(4000)로부터 획득할 수 있다. 서브 주변 기기(3000)를 제어하기 위한 애플리케이션에 관한 애플리케이션 정보는, 예를 들어, 애플리케이션 파일을 다운로드하기 위한 링크 정보, 애플리케이션 파일을 포함할 수 있으나, 이에 제한되지 않는다.
또한, 호스트 디바이스(1000)는 획득된 애플리케이션 정보를 메인 주변 기기(2000)에게 제공할 수 있으며, 메인 주변 기기(2000)는 제공된 애플리케이션 정보에 기초하여 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 메인 주변 기기(2000)에 설치할 수 있다.
단계 S350에서 호스트 디바이스(1000)는 메인 주변 기기(2000) 및 서브 주변 기기(3000) 중 적어도 하나를 제어한다. 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하여 메인 주변 기기(2000)가 서브 주변 기기(3000)를 제어할 수 있도록 할 수 있다. 또한, 호스트 디바이스(1000)는 메인 주변 기기(2000) 및 서브 주변 기기(3000)를 직접 제어할 수도 있다. 그러나, 이에 제한되지 않는다.
한편, 호스트 디바이스(1000)는 호스트 디바이스(1000)를 제어하기 위한 애플리케이션에 관한 정보를 메인 주변 기기(2000) 및 서브 주변 기기(3000) 중 적어도 하나에게 제공할 수도 있다. 또한, 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하기 위한 애플리케이션에 관한 정보를 서브 주변 기기(3000)에게 제공할 수도 있다. 이 경우에는, 메인 주변 기기(2000)가 호스트 디바이스(1000)를 제어하거나, 서브 주변 기기(3000)가 메인 주변 기기(2000) 및 호스트 디바이스(1000) 중 적어도 하나를 제어할 수 있다.
도 4는 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 호스트 디바이스(1000)의 상황에 따라 메인 주변 기기(2000) 및 서브 주변 기기(3000)를 선택하고, 메인 주변 기기(2000) 및 서브 주변 기기(3000)를 제어하는 방법의 흐름도이다.
단계 S400에서 호스트 디바이스(1000)는 주변 기기를 검색한다. 호스트 디바이스(1000)는, 예를 들어, NFC(Near Field Communication), 지그비(Zigbee) 통신, RFID(Radio Frequency IDentification) 통신, UWB(Ultra Wide Band) 통신, 및 블루투스(Bluetooth) 통신을 이용하여 주변 기기를 검색할 수 있다.
단계 S405 및 단계 S410에서 호스트 디바이스(1000)는 주변 기기로부터 식별 값을 수신한다. 주변 기기의 식별 값은, 예를 들어, SSID, 모델 넘버를 포함할 수 있으나, 이에 제한되지 않는다.
단계 S415에서 호스트 디바이스(1000)는 주변 기기의 식별 값을 서버(4000)에게 제공한다.
단계 S420에서 서버(4000)는 주변 기기에 관한 기기 정보를 호스트 디바이스(1000)에게 제공한다. 서버(4000)는 호스트 디바이스(1000)로부터 수신되는 주변 기기의 식별 값에 기초하여, 주변 기기에 관한 기기 정보를 서버(4000) 내의 DB(미도시) 또는 외부 서버(미도시)로부터 획득할 수 있다. 또한, 주변 기기에 관한 기기 정보는, 예를 들어, 주변 기기의 기능에 관한 정보, 주변 기기가 이용할 수 있는 통신 방법에 관한 정보, 주변 기기에 연결하기 위한 연결 정보, 주변 기기에 설치된 애플리케이션에 관한 정보, 주변 기기를 제어하기 위한 애플리케이션에 관한 정보, 주변 기기의 제어 명령에 관한 정보 중 적어도 하나를 포함할 수 있으나, 이에 제한되지 않는다.
단계 S425에서 서버(4000)는 호스트 디바이스(1000)에게 토폴로지 설정 정보를 제공한다. 토폴로지 설정 정보는 토폴로지의 형성 기준에 관한 정보로서, 토폴로지에 포함될 주변 기기를 결정하고 호스트 디바이스와 주변 기기 간의 연결 관계를 결정하는데 이용될 수 있다. 토폴로지 설정 정보는, 호스트 디바이스(1000)의 상황, 호스트 디바이스(1000) 주변의 주변 기기에 따라 어떻게 토폴로지를 형성하여야 하는지에 관한 정보를 포함할 수 있다.
단계 S430에서 호스트 디바이스(1000)는 호스트 디바이스(1000)의 상황을 확인한다. 호스트 디바이스(1000)는 호스트 디바이스(1000)에서 실행되는 콘텐트의 종류, 호스트 디바이스(1000)에서 제공되는 서비스의 종류, 호스트 디바이스(1000)의 사용자 및 호스트 디바이스(1000)의 속성, 호스트 디바이스(1000)의 환경 중 적어도 하나를 확인할 수 있다.
호스트 디바이스(1000)는, 예를 들어, 호스트 디바이스(1000)에서 동영상이 재생되는지를 음악이 재생되는지를 확인할 수 있다. 또한, 호스트 디바이스(1000)는 호스트 디바이스(1000)에서 재생되는 동영상의 해상도, 동영상을 재생하기 위하여 이용되는 코덱의 종류를 확인할 수 있다. 또한, 예를 들어, 호스트 디바이스(1000)는 호스트 디바이스(1000)에서 재생되는 동영상 파일이 호스트 디바이스(1000)에 저장된 파일인지 외부 서버(미도시)에 저장된 파일인지를 확인할 수 있다.
또한, 예를 들어, 호스트 디바이스(1000)는 호스트 디바이스(1000)에서 제공되는 서비스로서, 전력 관리 서비스, 홈 시어터 서비스, 게임 서비스, TV 시청 서비스, 채팅 서비스, 문서 작성 서비스, 검색 서비스, 전화 서비스 및 동영상 재생 서비스 중 적어도 하나를 확인할 수 있다.
또한, 예를 들어, 호스트 디바이스(1000)는, 호스트 디바이스(1000)의 사용자가 부모인지 자녀인지를 확인할 수 있으며, 호스트 디바이스(1000)의 사용자의 서비스 이용 권한을 확인할 수 있다.
또한, 예를 들어, 호스트 디바이스(1000)는, 호스트 디바이스(1000)가 공용(public) 기기인지 개인용(private) 기기인지를 확인할 수 있다. 예를 들어, 공용 기기는 가족 구성원 모두가 이용할 수 있는 기기이며, 개인용 기기는 가족 중 특정인이 이용할 수 있는 기기일 수 있으나, 이에 제한되지 않는다.
또한, 예를 들어, 호스트 디바이스(1000)는 호스트 디바이스(1000)의 환경으로서, 호스트 디바이스(1000)의 위치, 날씨, 시간, 호스트 디바이스(1000) 주변의 밝기 및 호스트 디바이스(1000)의 움직임을 확인할 수 있으나, 이에 제한되지 않는다.
단계 S435에서 호스트 디바이스(1000)는 확인된 상황에 기초하여, 소정의 토폴로지 및 토폴로지에 포함될 주변 기기를 결정할 수 있다. 호스트 디바이스(1000)는 토폴로지 설정 정보 및 호스트 디바이스(1000)의 상황에 기초하여, 소정의 토폴로지를 결정할 수 있으며, 토폴로지에 포함될 주변 기기를 검색된 주변 기기 중에서 선택할 수 있다. 또한, 호스트 디바이스(1000)는 검색된 주변 기기 중에서, 메인 주변 기기(2000) 및 서브 주변 기기(3000)를 결정할 수 있다.
이 경우, 호스트 디바이스(1000)는 검색된 주변 기기 중에서 호스트 디바이스(1000)의 상황에 관련된 주변 기기를 포함하는 토폴로지를 사용자에게 추천할 수 있으며, 호스트 디바이스(1000)는 사용자 입력에 기초하여 토폴로지 및 토폴로지에 포함될 주변 기기를 결정할 수 있다. 예를 들어, 호스트 디바이스(1000)가 동영상을 재생하는 경우에, 호스트 디바이스(1000)는, 호스트 디바이스(1000)가 TV(메인 주변 기기)와 연결되고 TV(메인 주변 기기)가 스피커(서브 주변 기기) 및 조명(서브 주변 기기)과 연결될 수 있도록 소정의 토폴로지를 사용자에게 추천할 수 있다.
단계 S440에서 호스트 디바이스(1000)는 메인 주변 기기(2000)와 연결한다. 이 경우, 호스트 디바이스(1000)는 메인 주변 기기(2000)에 관한 연결 정보를, 메인 주변 기기(2000) 또는 서버(4000)로부터 미리 획득할 수 있다.
단계 S445에서 호스트 디바이스(1000)는 서브 주변 기기(3000)와의 연결을 위한 연결 정보를 메인 주변 기기(2000)에게 제공한다. 이 경우, 호스트 디바이스(1000)는 서브 주변 기기(3000)에 관한 연결 정보를, 서브 주변 기기(3000) 또는 서버(4000)로부터 미리 획득할 수 있다.
단계 S455에서 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하기 위한 애플리케이션을 설치하고 실행한다. 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하기 위한 애플리케이션에 관한 정보를 메인 주변 기기(2000) 또는 서버(4000)로부터 미리 획득하고, 메인 주변 기기(2000)를 제어하기 위한 애플리케이션을 호스트 디바이스(1000)에 설치할 수 있다. 애플리케이션에 관한 정보는, 예를 들어, 애플리케이션 파일, 애플리케이션 파일을 다운로드하기 위한 링크 정보를 포함할 수 있다. 만약, 호스트 디바이스(1000)에 메인 주변 기기(2000)를 제어하기 위한 애플리케이션이 이미 설치되어 있다면, 호스트 디바이스(1000)는 별도의 설치없이 메인 주변 기기(2000)를 제어하기 위한 애플리케이션을 실행할 수 있다.
단계 S460에서 메인 주변 기기(2000)는 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 설치하고 실행한다. 메인 주변 기기(2000)는 서브 주변 기기(3000)를 제어하기 위한 애플리케이션에 관한 정보를 호스트 디바이스(1000) 또는 서버(4000)로부터 미리 획득하고, 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 메인 주변 기기(2000)에 설치할 수 있다. 메인 주변 기기(2000)가 서브 주변 기기(3000)를 제어하기 위한 애플리케이션에 관한 정보를 호스트 디바이스(1000)로부터 획득하는 경우에는, 호스트 디바이스(1000)는 서브 주변 기기(3000)를 제어하기 위한 애플리케이션에 관한 정보를 서브 주변 기기(3000) 또는 서버(4000)로부터 미리 획득할 수 있다.
만약, 메인 주변 기기(2000)에 서브 주변 기기(3000)를 제어하기 위한 애플리케이션이 이미 설치되어 있다면, 메인 주변 기기(2000)는 별도의 설치없이 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 실행할 수 있다.
단계 S465에서 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하며, 단계 S470에서 메인 주변 기기(2000)는 서브 주변 기기(3000)를 제어한다. 메인 주변 기기(2000)는 호스트 디바이스(1000)로부터의 명령에 기초하여 서브 주변 기기(3000)를 제어할 수 있으나, 이에 제한되지 않는다.
도 5는 본 발명의 일 실시예에 따른 메인 주변 기기(2000)가 호스트 디바이스(1000)의 상황에 따라 서브 주변 기기(3000)를 선택하고, 서브 주변 기기(3000)를 제어하는 방법의 흐름도이다.
단계 S500에서 호스트 디바이스(1000)는 주변 기기를 검색한다. 호스트 디바이스(1000)는, 예를 들어, NFC(Near Field Communication), 지그비(Zigbee) 통신, RFID(Radio Frequency IDentification) 통신, UWB(Ultra Wide Band) 통신, 및 블루투스(Bluetooth) 통신을 이용하여 주변 기기를 검색할 수 있다. 또한, 호스트 디바이스(1000)는 주변 기기로부터 식별 값을 수신하고, 수신된 식별 값을 이용하여 서버(4000)로부터 주변 기기에 관한 기기 정보를 획득할 수 있다. 주변 기기에 관한 기기 정보는, 예를 들어, 주변 기기의 기능에 관한 정보, 주변 기기가 이용할 수 있는 통신 방법에 관한 정보, 주변 기기에 연결하기 위한 연결 정보, 주변 기기에 설치된 애플리케이션에 관한 정보, 주변 기기를 제어하기 위한 애플리케이션에 관한 정보, 주변 기기의 제어 명령에 관한 정보 중 적어도 하나를 포함할 수 있으나, 이에 제한되지 않는다.
단계 S505에서 호스트 디바이스(1000)는 호스트 디바이스(1000)의 상황을 판단한다. 호스트 디바이스(1000)는 호스트 디바이스(1000)에서 실행되는 콘텐트의 종류, 호스트 디바이스(1000)에서 제공되는 서비스의 종류, 호스트 디바이스(1000)의 사용자 및 호스트 디바이스(1000)의 속성, 호스트 디바이스(1000)의 환경 중 적어도 하나를 확인할 수 있다.
단계 S510에서 호스트 디바이스(1000)는 주변 기기에 관한 기기 정보를 메인 주변 기기(2000)에게 제공한다. 호스트 디바이스(1000)는 검색된 주변 기기 중에서 메인 주변 기기(2000)를 결정할 수 있으며, 메인 주변 기기(2000)에게 검색된 주변 기기에 관한 기기 정보를 제공할 수 있다. 이 경우, 호스트 디바이스(1000)는 호스트 디바이스(1000)의 상황에 기초하여, 검색된 주변 기기 중에서 메인 주변 기기(2000)를 결정할 수 있다.
그러나, 이에 제한되지 않으며, 메인 주변 기기(2000)가 호스트 디바이스(1000)에 이미 연결되어 있을 수도 있다. 이 경우에는, 호스트 디바이스(1000)는 연결된 메인 주변 기기(2000)에게 검색된 주변 기기에 관한 기기 정보를 제공할 수 있다.
단계 S515에서 호스트 디바이스(1000)는 호스트 디바이스(1000)의 상황에 관한 상황 정보를 메인 주변 기기(2000)에게 제공한다.
단계 S520에서 서버(4000)는 토폴로지 설정 정보를 메인 주변 기기(2000)에게 제공한다. 서버(4000)는 호스트 디바이스(1000) 또는 메인 주변 기기(2000)로부터의 요청에 응답하여 메인 주변 기기(2000)에게 토폴로지 설정 정보를 제공할 수 있다.
단계 S525에서 메인 주변 기기(2000)는 호스트 디바이스(1000)의 상황에 기초하여 토폴로지 및 토폴로지에 포함될 서브 주변 기기(3000)를 결정한다. 메인 주변 기기(2000)는 호스트 디바이스(1000)의 상황 정보, 토폴로지 설정 정보 및 주변 기기의 기기 정보에 기초하여, 토폴로지 및 토폴로지에 포함될 서브 주변 기기(3000)를 결정할 수 있다.
단계 S530에서 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하기 위한 애플리케이션을 설치하고 실행한다. 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하기 위한 애플리케이션에 관한 정보를 메인 주변 기기(2000) 또는 서버(4000)로부터 미리 획득하고, 메인 주변 기기(2000)를 제어하기 위한 애플리케이션을 호스트 디바이스(1000)에 설치할 수 있다. 애플리케이션에 관한 정보는, 예를 들어, 애플리케이션 파일, 애플리케이션 파일을 다운로드하기 위한 링크 정보를 포함할 수 있다. 만약, 호스트 디바이스(1000)에 메인 주변 기기(2000)를 제어하기 위한 애플리케이션이 이미 설치되어 있다면, 호스트 디바이스(1000)는 별도의 설치없이 메인 주변 기기(2000)를 제어하기 위한 애플리케이션을 실행할 수 있다.
단계 S535에서 메인 주변 기기(2000)는 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 설치하고 실행한다. 메인 주변 기기(2000)는 서브 주변 기기(3000)를 제어하기 위한 애플리케이션에 관한 정보를 호스트 디바이스(1000) 또는 서버(4000)로부터 미리 획득하고, 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 메인 주변 기기(2000)에 설치할 수 있다. 메인 주변 기기(2000)가 서브 주변 기기(3000)를 제어하기 위한 애플리케이션에 관한 정보를 호스트 디바이스(1000)로부터 획득하는 경우에는, 호스트 디바이스(1000)는 서브 주변 기기(3000)를 제어하기 위한 애플리케이션에 관한 정보를 서브 주변 기기(3000) 또는 서버(4000)로부터 미리 획득할 수 있다.
만약, 메인 주변 기기(2000)에 서브 주변 기기(3000)를 제어하기 위한 애플리케이션이 이미 설치되어 있다면, 메인 주변 기기(2000)는 별도의 설치없이 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 실행할 수 있다.
단계 S540에서 호스트 디바이스(1000)는 메인 주변 기기(2000)와 연결되며, 단계 S545에서 메인 주변 기기(2000)는 서브 주변 기기(3000)와 연결될 수 있다.
호스트 디바이스(1000)는 메인 주변 기기(2000)에 관한 연결 정보를, 메인 주변 기기(2000) 또는 서버(4000)로부터 미리 획득할 수 있으며, 획득된 연결 정보를 이용하여 호스트 디바이스(1000)를 메인 주변 기기(2000)와 연결할 수 있다.
또한, 호스트 디바이스(1000)는 서브 주변 기기(3000)에 관한 연결 정보를, 서브 주변 기기(3000) 또는 서버(4000)로부터 획득하고, 획득된 연결 정보를 메인 주변 기기(2000)로 제공할 수 있다. 또한, 메인 주변 기기(2000)는 제공된 연결 정보를 이용하여 메인 주변 기기(2000)를 서브 주변 기기(3000)와 연결할 수 있다. 그러나, 이에 제한되지 않는다.
단계 S550에서 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하며, 단계 S555에서 메인 주변 기기(2000)는 서브 주변 기기(3000)를 제어할 수 있다. 메인 주변 기기(2000)는 호스트 디바이스(1000)로부터의 명령에 기초하여 서브 주변 기기(3000)를 제어할 수 있으나, 이에 제한되지 않는다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 호스트 디바이스(1000)는 주변 기기 A ~ F를 검색하고, 검색된 주변 기기 A ~ F로부터 식별 값(예를 들어, SSID)을 각각 수신할 수 있다. 또한, 호스트 디바이스(1000)는 수신된 식별 값을 서버(4000)에게 전송함으로써, 서버(4000)에게 주변 기기 A ~ F에 관한 기기 정보를 요청할 수 있다. 또한, 서버(4000)는 주변 기기 A ~ F의 식별 값에 기초하여, 서버(4000) 내의 DB(미도시) 또는 외부 서버(미도시)로부터 주변 기기 A ~ F에 관한 기기 정보를 획득할 수 있다. 또한, 서버(4000)는 획득된 기기 정보를 호스트 디바이스(1000)에게 전송할 수 있다.
또한, 기기 정보는, 예를 들어, 주변 기기의 기능에 관한 정보, 주변 기기가 이용할 수 있는 통신 방법에 관한 정보, 주변 기기에 연결하기 위한 연결 정보, 주변 기기에 설치된 애플리케이션에 관한 정보, 주변 기기를 제어하기 위한 애플리케이션에 관한 정보, 주변 기기의 제어 명령에 관한 정보 중 적어도 하나를 포함할 수 있으나, 이에 제한되지 않는다.
또한, 주변 기기의 기능은, 주변 기기가 포함된 토폴로지, 및 토폴로지에 포함된 다른 기기의 종류에 따라 구별될 수 있다. 예를 들어, 주변 기기가 조명인 경우에, 조명이 토폴로지 A에 포함되면 조명은 무드등의 기능(지속적으로 조명이 켜져있는 기능)을 수행할 수 있으며, 조명이 토폴로지 B에 포함되면 조명은 깜박이는 기능을 수행할 수 있다.
도 7은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 NFC(Near Field Communication) 통신을 통하여 주변 기기에 관한 기기 정보를 획득하는 방법의 흐름도이다.
단계 S700에서, 호스트 디바이스(1000)와 주변 기기(2000 또는 3000)가 제 1 근거리 통신 반경 내로 접근함에 따라, 단계 S702 및 단계 S704에서 호스트 디바이스(1000)와 주변 기기(2000 또는 3000)는 각각 제 1 근거리 통신 발생을 감지한다. 또한, 제 1 근거리 통신은, 예를 들어, NFC 통신일 수 있다.
단계 S706에서, 주변 기기(2000 또는 3000)는 NFC 통신을 통하여 호스트 디바이스(1000)에게 주변 기기(2000 또는 3000)의 식별 값을 전송한다. 주변 기기(2000 또는 3000)의 식별 값은, 예를 들어, SSID, 모델명, 제품 번호, 및 주변 기기(2000 또는 3000)의 사용자 ID를 포함할 수 있으나, 이에 제한되지 않는다.
단계 S708에서 주변 기기(2000 또는 3000)는 NFC 통신을 통하여 호스트 디바이스(1000)에게 제 2 근거리 통신 연결을 위한 정보 및 주변 기기(2000 또는 3000)에 관련된 애플리케이션 정보를 전송한다. 제 2 근거리 통신은, NFC 통신과 다른 통신 방법일 수 있으며, 예를 들어, 블루투스(bluetooth) 통신, WIFI 통신을 포함할 수 있으나, 이에 제한되지 않는다. 또한, 주변 기기(2000 또는 3000)는 호스트 디바이스(1000) 및 다른 주변 기기(2000 또는 3000) 중 적어도 하나와 제 2 근거리 통신을 통하여 서로 연결될 수 있다.
또한, 주변 기기(2000 또는 3000)에 관련된 애플리케이션 정보는, 주변 기기(2000 또는 3000)에 설치된 애플리케이션에 관한 정보 및 주변 기기(2000 또는 3000)를 제어하기 위한 애플리케이션에 관한 정보를 포함할 수 있으나, 이에 제한되지 않는다.
단계 S710에서, 호스트 디바이스(1000)는 주변 기기(2000 또는 3000)를 인증한다. 호스트 디바이스(1000)는 주변 기기(2000 또는 3000)로부터 수신된 사전에 약속된 인증 정보를 수신하고, 수신된 인증 정보를 이용하여 주변 기기(2000 또는 3000)를 인증할 수 있다.
단계 S712에서, 호스트 디바이스(1000)는 서버(4000)에게 주변 기기(2000 또는 3000)의 식별 값을 전송하며, 단계 S714에서 서버(4000)는 주변 기기(2000 또는 3000)에 관한 기기 정보를 호스트 디바이스(1000)에게 전송한다.
도 8은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 BLE(Bluetooth Low Energy) 통신을 통하여 주변 기기에 관한 기기 정보를 획득하는 방법의 흐름도이다.
단계 S800에서, 주변 기기(2000 또는 3000)는 주변 기기(2000 또는 3000)의 식별 값, 제 2 근거리 통신 연결을 위한 정보, 주변 기기(2000 또는 3000)에 관련된 애플리케이션 정보를 브로드캐스팅한다. 주변 기기(2000 또는 3000)는, 예를 들어, BLE 통신을 통하여, 주변 기기(2000 또는 3000)의 식별 값, 제 2 근거리 통신 연결을 위한 정보, 주변 기기(2000 또는 3000)에 관련된 애플리케이션 정보를 브로드캐스팅할 수 있다. 제 2 근거리 통신은, BLE 통신과 다른 통신 방법일 수 있으며, 예를 들어, NFC 통신, WIFI 통신을 포함할 수 있으나, 이에 제한되지 않는다. 또한, 주변 기기(2000 또는 3000)는 호스트 디바이스(1000) 및 다른 주변 기기(2000 또는 3000) 중 적어도 하나와 제 2 근거리 통신을 통하여 서로 연결될 수 있다. 또한, 주변 기기(2000 또는 3000)에 관련된 애플리케이션 정보는, 주변 기기(2000 또는 3000)에 설치된 애플리케이션에 관한 정보 및 주변 기기(2000 또는 3000)를 제어하기 위한 애플리케이션에 관한 정보를 포함할 수 있으나, 이에 제한되지 않는다.
또한, 단계 S800에서 호스트 디바이스(1000)는 BLE 통신을 감지하고 주변 기기(2000 또는 3000)로부터 브로드캐스팅된 정보를 수신할 수 있다.
단계 S802에서 호스트 디바이스(1000)는 브로드캐스팅된 정보가 수신됨에 따라 주변 기기(2000 또는 3000)를 인증한다. 호스트 디바이스(1000)는 주변 기기(2000 또는 3000)로부터 수신된 사전에 약속된 인증 정보를 수신하고, 수신된 인증 정보를 이용하여 주변 기기(2000 또는 3000)를 인증할 수 있다.
단계 S804에서, 호스트 디바이스(1000)는 서버(4000)에게 주변 기기(2000 또는 3000)의 식별 값을 전송하며, 단계 S806에서 서버(4000)는 주변 기기(2000 또는 3000)에 관한 기기 정보를 호스트 디바이스(1000)에게 전송한다.
도 9는 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 게이트웨이(5000) 및 서버(4000)로부터 주변 기기에 관한 정보를 획득하는 일례를 도시한 도면이다.
도 9를 참조하면, 본 발명의 일 실시예에 따른 호스트 디바이스(1000)는 게이트웨이(5000)와 연결되고, 게이트웨이(5000)는 주변 기기 A ~ C와 연결될 수 있다. 또한, 호스트 디바이스(1000)는 주변 기기 A ~ C의 식별 값(예를 들어, SSID)을 게이트웨이(5000)로부터 수신할 수 있다. 게이트웨이(5000)는, 예를 들어, 홈 네트워크 내의 홈 게이트웨이일 수 있으나, 이에 제한되지 않는다. 또한, 게이트웨이(5000)는 호스트 디바이스(1000) 주변의 여러 주변 기기 중 하나일 수 있다.
또한, 호스트 디바이스(1000)는 수신된 식별 값을 서버(4000)에게 전송함으로써, 서버(4000)에게 주변 기기 A ~ C에 관한 기기 정보를 요청할 수 있다. 또한, 서버(4000)는 주변 기기 A ~ C의 식별 값에 기초하여, 서버(4000) 내의 DB(미도시) 또는 외부 서버(미도시)로부터 주변 기기 A ~ C에 관한 기기 정보를 획득할 수 있다. 또한, 서버(4000)는 획득된 기기 정보를 호스트 디바이스(1000)에게 전송할 수 있다.
도 10은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)에서 실행되는 콘텐트의 종류에 따라 호스트 디바이스(1000) 및 주변 기기가 토폴로지를 형성하는 일례를 도시한 도면이다.
도 10(a)를 참조하면, 호스트 디바이스(1000)에서 동영상이 재생되는 경우에, 메인 주변 기기(2000) 및 서브 주변 기기(3000)는, 예를 들어, 호스트 디바이스(1000)에서 재생되는 동영상의 해상도, 저장 위치 등에 기초하여 결정될 수 있다.
또한, 도 10(a)에 도시된 바와 같이, 호스트 디바이스(1000)에서 동영상이 재생되는 경우에, 호스트 디바이스(1000)에 TV가 메인 주변 기기(2000)로 연결될 수 있으며, TV에 스피커 및 조명이 서브 주변 기기(3000)로 연결될 수 있다. 또한, 호스트 디바이스(1000)는 재생되는 동영상을 TV로 스트리밍할 수 있으며, TV는 동영상의 음향 데이터를 스피커에게 제공할 수 있다.
또한, 호스트 디바이스(1000) 및 TV 중 적어도 하나는, 스피커 및 조명 중 적어도 하나를 제어하기 위한 애플리케이션을 설치하고 실행할 수 있다. 또한, 호스트 디바이스(1000) 및 TV 중 적어도 하나는, 조명의 전원을 ON시키고 조명의 밝기를 조절할 수 있다. 또한, 호스트 디바이스(1000) 및 TV 중 적어도 하나는, 스피커의 전원을 ON시키고 스피커의 볼륨을 조절할 수 있다.
도 10(b)를 참조하면, 호스트 디바이스(1000)에서 음악이 재생되는 경우에, 메인 주변 기기(2000) 및 서브 주변 기기(3000)는, 예를 들어, 호스트 디바이스(1000)에서 재생되는 음악 파일의 비트 레이트, 샘플링 주파수 및 저장 위치 등에 기초하여 결정될 수 있다.
또한, 도 10(b)에 도시된 바와 같이, 호스트 디바이스(1000)에서 음악이 재생되는 경우에, 호스트 디바이스(1000)에 앰프(amplifier)가 메인 주변 기기(2000)로 연결될 수 있으며, 앰프에 전화기, 스피커 및 조명이 서브 주변 기기(3000)로 연결될 수 있다. 이 경우, 호스트 디바이스(1000)에 연결되는 전화기는, 사용자의 음악 감상에 방해가 되는 주변 기기일 수 있다. 또한, 호스트 디바이스(1000)는 재생되는 음악의 음향 데이터를 앰프로 제공할 수 있으며, 앰프는 음향 데이터를 가공하고, 가공된 음향 데이터를 스피커에게 제공할 수 있다. 또한, 호스트 디바이스(1000) 및 앰프 중 적어도 하나는, 스피커, 전화기 및 조명 중 적어도 하나를 제어하기 위한 애플리케이션을 설치하고 실행할 수 있다. 또한, 호스트 디바이스(1000) 및 앰프 중 적어도 하나는, 조명의 전원을 ON시키고 조명의 밝기를 조절할 수 있다. 또한, 호스트 디바이스(1000) 및 앰프 중 적어도 하나는, 스피커의 전원을 ON시키고 스피커의 볼륨을 조절할 수 있다. 또한, 호스트 디바이스(1000) 및 앰프 중 적어도 하나는, 전화기의 벨소리의 크기를 줄일 수 있다.
도 11은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)에서 실행되는 서비스의 종류에 따라 호스트 디바이스(1000) 및 주변 기기가 토폴로지를 형성하는 일례를 도시한 도면이다.
도 11(a)를 참조하면, 호스트 디바이스(1000)에서 TV 시청 서비스가 제공되는 경우에, 호스트 디바이스(1000)에 TV가 메인 주변 기기(2000)로 연결될 수 있으며, 사용자의 TV 시청에 방해가 될 수 있는 주변 기기들이 서브 주변 기기(3000)로서 TV에 연결될 수 있다. 예를 들어, TV에 냉장고, 세탁기 및 조명이 서브 주변 기기(3000)로 연결될 수 있다. 이 경우, TV 시청에 방해가 될 수 있는 주변 기기의 목록이 TV 화면에 디스플레이될 수 있으며, 사용자 입력에 기초하여 선택된 주변 기기가 TV에 연결되고, TV 또는 호스트 디바이스(1000)에 의해 제어될 수 있다. 이 경우, 호스트 디바이스(1000) 및 TV 중 적어도 하나는, 사용자 입력에 기초하여 선택된 주변 기기를 제어하기 위한 애플리케이션을 설치하고 실행할 수 있다.
또한, 호스트 디바이스(1000)는 재생되는 동영상을 TV로 스트리밍할 수 있으며, TV는 동영상을 디스플레이할 수 있다. 또한, TV는 냉장고, 세탁기 및 조명의 상태를 모니터링하고 제어하기 위한 UI를 생성하고, 생성된 UI를 TV의 화면에 디스플레이할 수 있다. 또한, TV는, 호스트 디바이스(1000)로부터의 명령에 응답하여, 냉장고, 세탁기의 전원을 끄거나 및 조명의 밝기를 조절할 수 있다.
도 11(b)를 참조하면, 호스트 디바이스(1000)에서 채팅 서비스가 제공되는 경우에, 호스트 디바이스(1000)에 오디오 및 조명이 메인 주변 기기(2000)로 연결될 수 있다. 또한, 호스트 디바이스(1000)는 채팅 서비스를 통하여 사용자가 입력하는 텍스트를 해석할 수 있다. 호스트 디바이스(1000)는, 다양한 종류의 자연어 해석 방법을 이용하여 사용자에 의해 입력된 텍스트로부터 사용자의 감정 상태를 확인할 수 있다. 또한, 호스트 디바이스(1000)는 사용자의 감정 상태에 따라 오디오에게 제공할 음악을 선택하고 선택된 음악의 데이터를 오디오에게 제공할 수 있다. 또한, 호스트 디바이스(1000)는 사용자의 감정 상태에 따라 조명의 밝기를 조절할 수 있다. 예를 들어, 사용자가 채팅 서비스를 통하여 입력된 메시지로부터 사용자의 기분이 좋은 것으로 판단되면, 호스트 디바이스(1000)는 댄스 음악을 오디오에게 제공할 수 있으며, 조명을 밝게 조절할 수 있다.
도 12는 본 발명의 일 실시예에 따른 호스트 디바이스(1000)의 사용자에 따라 호스트 디바이스(1000) 및 주변 기기가 토폴로지를 형성하는 일례를 도시한 도면이다.
도 12(a)를 참조하면, 호스트 디바이스(1000)의 사용자가 부모이고, 호스트 디바이스(1000)에서 동영상이 재생되는 경우에, 호스트 디바이스(1000)에 TV가 메인 주변 기기(2000)로 연결될 수 있으며, TV에 스피커 및 조명이 서브 주변 기기(3000)로 연결될 수 있다. 또한, 이 경우, TV에서는 아무런 제한없이 모든 종류의 동영상이 디스플레이될 수 있다. 또한, 호스트 디바이스(1000)는 재생되는 동영상을 TV로 스트리밍할 수 있으며, TV는 동영상의 음향 데이터를 스피커에게 제공할 수 있다. 또한, 호스트 디바이스(1000) 및 TV 중 적어도 하나는, 조명의 전원을 ON시키고 조명의 밝기를 조절할 수 있다. 또한, 호스트 디바이스(1000) 및 TV 중 적어도 하나는, 스피커의 전원을 ON시키고 스피커의 볼륨을 조절할 수 있다.
도 12(b)를 참조하면, 호스트 디바이스(1000)의 사용자가 부모이고, 호스트 디바이스(1000)에서 동영상이 재생되는 경우에, 호스트 디바이스(1000)에 TV가 메인 주변 기기(2000)로 연결될 수 있으며, TV에 헤드폰 및 조명이 서브 주변 기기(3000)로 연결될 수 있다. 또한, 이 경우, TV에서 디스플레이될 수 있는 동영상의 종류가 제한될 수 있다. 또한, 호스트 디바이스(1000)는 재생되는 동영상을 TV로 스트리밍할 수 있으며, TV는 동영상의 음향 데이터를 헤드폰에게 제공할 수 있다. 또한, 호스트 디바이스(1000) 및 TV 중 적어도 하나는, 조명의 전원을 ON시키고 조명의 밝기를 조절할 수 있다. 또한, 호스트 디바이스(1000) 및 TV 중 적어도 하나는, 헤드폰의 전원을 ON시키고 스피커의 볼륨을 조절할 수 있다. 또한, 헤드폰은 무선 헤드폰일 수 있으며, 헤드폰은 배터리 잔량에 기초하여 TV의 볼륨을 제어할 수도 있다. 이 경우, 헤드폰은 TV를 제어하기 위한 애플리케이션을 호스트 디바이스(1000), TV 및 서버(4000) 중 적어도 하나로부터 미리 획득하고, 미리 획득된 애플리케이션을 설치할 수 있다.
도 13은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 연결된 메인 주변 기기(2000)의 속성에 따라 호스트 디바이스(1000) 및 주변 기기가 토폴로지를 형성하는 일례를 도시한 도면이다.
도 13(a)를 참조하면, 호스트 디바이스(1000)에 공용(public) 주변 기기 A가 메인 주변 기기(2000)로서 연결된 경우에, 공용 주변 기기 A에는 공용 주변 기기 B 및 공용 주변 기기 C가 서브 주변 기기(3000)로서 연결될 수 있다.
또한, 도 13(b)를 참조하면, 호스트 디바이스(1000)에 개인용(private) 주변 기기 F가 메인 주변 기기(2000)로서 연결된 경우에, 개인용 주변 기기 F에는 개인용 주변 기기 G 및 개인용 주변 기기 H가 서브 주변 기기(3000)로서 연결될 수 있다.
공용 주변 기기는 복수의 사용자가 이용할 수 있는 기기이며, 예를 들어, 가족 구성원 모두가 이용할 수 있는 기기, 공공 장소에서 누구나 이용할 수 있는 기기일 수 있다. 또한, 개인용 주변 기기는 적어도 한명 이상의 특정인이 이용할 수 있는 기기이며, 예를 들어, 가족 중 특정인이 이용할 수 있는 기기일 수 있다. 또한, 예를 들어, 가정에서 TV, 냉장고, 세탁기 및 거실의 조명은 가족 구성원 모두가 제어할 수 있는 공용 주변 기기일 수 있으며, 방의 조명, PC 및 휴대폰은 가족 구성원 중 특정인이 제어할 수 있는 개인용 주변 기기일 수 있다. 또한, 예를 들어, 회사에서 프린터는 공용 주변 기기일 수 있으며, PC는 개인용 주변 기기일 수 있다.
도 14는 본 발명의 일 실시예에 따른 호스트 디바이스(1000), 메인 주변 기기(2000) 및 서브 주변 기기(3000)가 연결되는 방법의 흐름도이다.
도 14(a)를 참조하면, 호스트 디바이스(1000)는 메인 주변 기기(2000)와 연결되고(단계 S1400), 호스트 디바이스(1000)는 서브 주변 기기(3000)의 연결 정보를 메인 주변 기기(2000)에게 제공할 수 있다(단계 S1402). 또한, 메인 주변 기기(2000)는 제공된 연결 정보를 이용하여 서브 주변 기기(3000)와 연결될 수 있다(단계 S1404).
또한, 도 14(b)를 참조하면, 호스트 디바이스(1000)는 메인 주변 기기(2000)와 연결되고(단계 S1406), 호스트 디바이스(1000)는 메인 주변 기기(2000)의 연결 정보를 서브 주변 기기(3000)에게 제공할 수 있다(단계 S1408). 또한, 메인 주변 기기(2000)는 제공된 연결 정보를 이용하여 서브 주변 기기(3000)와 연결될 수 있다(단계 S1404).
도 15 내지 17은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 메인 주변 기기(2000) 및 서브 주변 기기(3000)를 제어하는 방법의 흐름도이다.
도 15에서 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하며, 메인 주변 기기(2000)가 소정의 제어 명령을 생성하여 서브 주변 기기(3000)에게 생성된 제어 명령을 제공할 수 있다.
단계 S1500에서 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하기 위한 애플리케이션을 설치하고 실행한다. 호스트 디바이스(1000)는 주변 기기 검색 단계(S300)에서 메인 주변 기기(2000)로부터 수신된 메인 주변 기기(2000)의 식별 값을 이용하여 메인 주변 기기(2000)를 제어하기 위한 애플리케이션 정보를 서버(4000)로부터 수신할 수 있다. 애플리케이션 정보는 애플리케이션 파일을 다운로드하는데 이용되는 링크 정보 및 애플리케이션 파일 중 적어도 하나를 포함할 수 있다. 그러나, 이에 제한되지 않으며, 호스트 디바이스(1000)는 주변 기기 검색 단계(S300)에서 메인 주변 기기(2000)로부터 메인 주변 기기(2000)를 제어하기 위한 애플리케이션 정보를 수신할 수도 있다.
단계 S1502에서 호스트 디바이스(1000)는 서브 주변 기기(3000)를 제어하기 위한 애플리케이션 정보를 메인 주변 기기(2000)에게 제공한다. 호스트 디바이스(1000)는 주변 기기 검색 단계(S300)에서 서브 주변 기기(3000)로부터 수신된 서브 주변 기기(3000)의 식별 값을 이용하여 서브 주변 기기(3000)를 제어하기 위한 애플리케이션 정보를 서버(4000)로부터 수신할 수 있다. 애플리케이션 정보는 애플리케이션 파일을 다운로드하는데 이용되는 링크 정보 및 애플리케이션 파일 중 적어도 하나를 포함할 수 있다. 그러나, 이에 제한되지 않으며, 호스트 디바이스(1000)는 주변 기기 검색 단계(S300)에서 서브 주변 기기(3000)로부터 서브 주변 기기(3000)를 제어하기 위한 애플리케이션 정보를 수신할 수도 있다.
단계 S1504에서 메인 주변 기기(2000)는 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 설치하고 실행한다. 메인 주변 기기(2000)가 호스트 디바이스(1000)로부터 서브 주변 기기(3000)를 제어하기 위한 애플리케이션 파일을 수신한 경우에, 메인 주변 기기(2000)는 수신된 애플리케이션 파일을 설치하고 실행할 수 있다. 또한, 메인 주변 기기(2000)가 호스트 디바이스(1000)로부터 서브 주변 기기(3000)를 제어하기 위한 애플리케이션 파일을 다운로드하는데 이용되는 링크 정보를 수신한 경우에는, 메인 주변 기기(2000)는 수신된 링크 정보를 이용하여 애플리케이션 파일을 다운로드하고, 다운로드된 애플리케이션 파일을 설치하고 실행할 수 있다.
단계 S1506에서 호스트 디바이스(1000)는 메인 주변 기기(2000)의 제어 명령에 관한 정보를 획득한다. 호스트 디바이스(1000)는 서버(4000) 또는 메인 주변 기기(2000)로부터 메인 주변 기기(2000)의 제어 명령에 관한 정보를 수신할 수 있다. 또한, 메인 주변 기기(2000)의 제어 명령은 메인 주변 기기(2000)를 제어하기 위한 애플리케이션에 포함되어 있을 수도 있다.
단계 S1508에서 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하기 위하여 소정의 제어 명령을 메인 주변 기기(2000)에게 전송한다. 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하기 위한 애플리케이션을 이용하여, 제어 명령을 메인 주변 기기(2000)에게 전송할 수 있다. 또한, 메인 주변 기기(2000)는 호스트 디바이스(1000)로부터 수신된 제어 명령에 따라 제어될 수 있다.
단계 S1510에서 메인 주변 기기(2000)는 서브 주변 기기(3000)를 제어하기 위한 제어 명령을 생성한다. 메인 주변 기기(2000)는 호스트 디바이스(1000)로부터 수신된 제어 명령에 기초하여 서브 주변 기기(3000)를 제어하기 위한 제어 명령을 생성할 수 있다. 또한, 메인 주변 기기(2000)는 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 이용하여 서브 주변 기기(3000)를 제어하기 위한 제어 명령을 생성할 수 있다.
단계 S1512에서 메인 주변 기기(2000)는 생성된 제어 명령을 서브 주변 기기(3000)에게 전송한다. 메인 주변 기기(2000)는 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 이용하여 제어 명령을 서브 주변 기기(3000)에게 전송할 수 있다.
도 16에서 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하며, 서브 주변 기기(3000)에 대한 제어 명령을 메인 주변 기기(2000)를 경유하여 서브 주변 기기(3000)에게 제공할 수 있다.
단계 S1600에서 호스트 디바이스(1000)는 토폴로지에 포함된 주변 기기에 관한 제어 명령 정보를 획득한다. 호스트 디바이스(1000)는 서버(4000) 또는 주변 기기로부터 주변 기기의 제어 명령에 관한 정보를 수신할 수 있다. 또한, 주변 기기의 제어 명령에 관한 정보는 후술할 애플리케이션에 포함되어 있을 수도 있다.
단계 S1602에서 호스트 디바이스(1000)는, 메인 주변 기기(2000)를 제어하기 위한 애플리케이션을 설치하고 실행한다. 호스트 디바이스(1000)는 주변 기기 검색 단계(S300)에서 메인 주변 기기(2000)로부터 수신된 메인 주변 기기(2000)의 식별 값을 이용하여 메인 주변 기기(2000)를 제어하기 위한 애플리케이션 정보를 서버(4000)로부터 수신할 수 있다. 애플리케이션 정보는 애플리케이션 파일을 다운로드하는데 이용되는 링크 정보 및 애플리케이션 파일 중 적어도 하나를 포함할 수 있다. 그러나, 이에 제한되지 않으며, 호스트 디바이스(1000)는 주변 기기 검색 단계(S300)에서 메인 주변 기기(2000)로부터 메인 주변 기기(2000)를 제어하기 위한 애플리케이션 정보를 수신할 수도 있다.
단계 S1604에서 호스트 디바이스(1000)는 서브 주변 기기(3000)를 제어하기 위한 애플리케이션 정보를 메인 주변 기기(2000)에게 제공한다. 호스트 디바이스(1000)는 주변 기기 검색 단계(S300)에서 서브 주변 기기(3000)로부터 수신된 서브 주변 기기(3000)의 식별 값을 이용하여 서브 주변 기기(3000)를 제어하기 위한 애플리케이션 정보를 서버(4000)로부터 수신할 수 있다. 애플리케이션 정보는 애플리케이션 파일을 다운로드하는데 이용되는 링크 정보 및 애플리케이션 파일 중 적어도 하나를 포함할 수 있다. 그러나, 이에 제한되지 않으며, 호스트 디바이스(1000)는 주변 기기 검색 단계(S300)에서 서브 주변 기기(3000)로부터 서브 주변 기기(3000)를 제어하기 위한 애플리케이션 정보를 수신할 수도 있다.
단계 S1606에서 메인 주변 기기(2000)는 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 설치하고 실행한다. 메인 주변 기기(2000)가 호스트 디바이스(1000)로부터 서브 주변 기기(3000)를 제어하기 위한 애플리케이션 파일을 수신한 경우에, 메인 주변 기기(2000)는 수신된 애플리케이션 파일을 설치하고 실행할 수 있다. 또한, 메인 주변 기기(2000)가 호스트 디바이스(1000)로부터 서브 주변 기기(3000)를 제어하기 위한 애플리케이션 파일을 다운로드하는데 이용되는 링크 정보를 수신한 경우에는, 메인 주변 기기(2000)는 수신된 링크 정보를 이용하여 애플리케이션 파일을 다운로드하고, 다운로드된 애플리케이션 파일을 설치하고 실행할 수 있다.
단계 S1608에서 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하기 위하여 소정의 제어 명령을 메인 주변 기기(2000)에게 전송한다. 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하기 위한 애플리케이션을 이용하여, 제어 명령을 메인 주변 기기(2000)에게 전송할 수 있다. 또한, 메인 주변 기기(2000)는 호스트 디바이스(1000)로부터 수신된 제어 명령에 따라 제어될 수 있다.
단계 S1610에서 호스트 디바이스(1000)는 서브 주변 기기(3000)를 제어하기 위한 제어 명령을 생성하고, 생성된 제어 명령을 메인 주변 기기(2000)에게 전송한다. 호스트 디바이스(1000)는 생성된 제어 명령을 메인 주변 기기(2000)를 제어하기 위한 애플리케이션을 이용하여 메인 주변 기기(2000)에게 전송할 수 있다.
또한, 단계 S1612에서 메인 주변 기기(2000)는 호스트 디바이스(1000)로부터 수신된 제어 명령을 서브 주변 기기(3000)에게 전달한다. 메인 주변 기기(2000)는 수신된 제어 명령을 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 이용하여 서브 주변 기기(3000)에게 전송할 수 있다. 또한, 서브 주변 기기(3000)는 메인 주변 기기(2000)로부터 수신된 제어 명령에 따라 제어될 수 있다.
도 17에서 호스트 디바이스(1000)는 메인 주변 기기(2000) 및 서브 주변 기기(3000)를 직접 제어할 수 있다.
단계 S1700에서, 호스트 디바이스(1000)는 토폴로지에 포함된 주변 기기에 관한 제어 명령 정보를 획득한다. 호스트 디바이스(1000)는 서버(4000) 또는 주변 기기로부터 주변 기기의 제어 명령에 관한 정보를 수신할 수 있다. 또한, 주변 기기의 제어 명령에 관한 정보는 후술할 애플리케이션에 포함되어 있을 수도 있다.
단계 S1702에서, 호스트 디바이스(1000)는, 메인 주변 기기(2000)를 제어하기 위한 애플리케이션 및 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 설치하고 실행한다.
단계 S1704에서, 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하기 위하여 소정의 제어 명령을 메인 주변 기기(2000)에게 전송한다. 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하기 위한 애플리케이션을 이용하여, 제어 명령을 메인 주변 기기(2000)에게 전송할 수 있다. 또한, 메인 주변 기기(2000)는 호스트 디바이스(1000)로부터 수신된 제어 명령에 따라 제어될 수 있다.
단계 S1706에서, 호스트 디바이스(1000)는 서브 주변 기기(3000)를 제어하기 위하여 소정의 제어 명령을 서브 주변 기기(3000)에게 전송한다. 호스트 디바이스(1000)는 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 이용하여, 제어 명령을 서브 주변 기기(3000)에게 전송할 수 있다. 또한, 서브 주변 기기(3000)는 호스트 디바이스(1000)로부터 수신된 제어 명령에 따라 제어될 수 있다.
도 18은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 형성된 토폴로지를 변경하고, 변경된 토폴로지에 기초하여 주변 기기를 제어하는 방법의 흐름도이다.
단계 S1800에서 호스트 디바이스(1000) 주변의 주변 기기가 변경된다. 호스트 디바이스(1000)를 포함하는 토폴로지에서 메인 주변 기기(2000) 및 서브 주변 기기(3000) 중 적어도 하나가 제거되거나, 호스트 디바이스(1000)를 포함하는 토폴로지에 새로운 주변 기기가 추가될 수 있다.
단계 S1802에서 호스트 디바이스(1000)의 환경이 변경된다. 예를 들어, 호스트 디바이스(1000)의 위치, 호스트 디바이스(1000)가 위치한 곳의 날씨, 온도, 호스트 디바이스(1000)의 움직임이 변경될 수 있으나, 이에 제한되지 않는다. 예를 들어, 호스트 디바이스(1000)가 댁 내에서 댁 외로 이동하거나, 호스트 디바이스(1000) 주변의 날씨가 맑은 날씨에서 비오는 날씨로 변하는 경우에, 호스트 디바이스(1000)의 환경이 변경될 수 있다.
단계 S1804에서, 호스트 디바이스(1000)는 변경된 주변 기기 및 변경된 환경에 기초하여, 토폴로지를 변경한다. 호스트 디바이스(1000)는 토폴로지의 형성 기준에 관한 토폴로지 설정 정보를 서버(4000)로부터 획득할 수 있으며, 획득된 토폴로지 설정 정보, 변경된 주변 기기 및 변경된 환경에 기초하여, 토폴로지를 변경할 수 있다.
그러나, 이에 제한되지 않으며, 변경된 주변 기기 및 변경된 환경에 관한 정보를 서버(4000)에게 제공하면, 서버(4000)가 토폴로지를 변경할 수 있다. 이 경우, 호스트 디바이스(1000)는 서버(4000)가 변경한 토폴로지에 관한 정보를 서버(4000)로부터 수신할 수 있다.
단계 S1806에서 호스트 디바이스(1000)는 변경된 토폴로지에 따라, 호스트 디바이스(1000) 및 주변기기들을 연결한다. 호스트 디바이스(1000)는 변경된 토폴로지에 따라 메인 주변 기기(2000)와 연결될 수 있으며, 메인 주변 기기(2000)는 변경된 토폴로지에 따라 서브 주변 기기(3000)와 연결될 수 있다.
단계 S1808에서 호스트 디바이스(1000)는 변경된 주변 기기를 제어한다. 호스트 디바이스(1000)는 메인 주변 기기(2000)를 제어하기 위한 애플리케이션을 설치하고 실행할 수 있으며, 실행된 애플리케이션을 이용하여 메인 주변 기기(2000)를 제어할 수 있다.
또한, 호스트 디바이스(1000)는 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 설치하고 실행할 수 있으며, 실행된 애플리케이션을 이용하여 서브 주변 기기(3000)를 제어할 수 있다.
또한, 호스트 디바이스(1000)는 서브 주변 기기(3000)를 제어하기 위한 애플리케이션에 관한 애플리케이션 정보를 메인 주변 기기(2000)에게 제공할 수 있다. 이 경우, 메인 주변 기기(2000)는 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 설치하고 실행할 수 있으며, 호스트 디바이스(1000)로부터의 제어에 기초하여, 실행된 애플리케이션을 이용하여 서브 주변 기기(3000)를 제어할 수 있다.
도 19 내지 도 21은 본 발명의 일 실시예에 따른 호스트 디바이스(1000) 및 주변 기기가 포함된 토폴로지에 다른 디바이스(6000)가 추가되는 경우에, 토폴로지가 변경되는 일례를 도시한 도면이다.
도 19를 참조하면, 호스트 디바이스(1000) 및 주변 기기가 포함된 토폴로지에 다른 디바이스(6000)가 추가되는 경우에, 추가된 다른 디바이스(6000)가 호스트 디바이스로 동작할 수 있으며, 호스트 디바이스(1000)가 메인 주변 기기로 동작할 수 있다.
또한, 도 20을 참조하면, 호스트 디바이스(1000) 및 주변 기기가 포함된 토폴로지에 다른 디바이스(6000)가 추가되는 경우에, 추가된 다른 디바이스(6000)가 메인 주변 기기로 동작할 수 있으며, 메인 주변 기기(2000)가 서브 주변 기기로 동작할 수 있다.
또한, 도 21을 참조하면, 호스트 디바이스(1000) 및 주변 기기가 포함된 토폴로지에 다른 디바이스(6000)가 추가되는 경우에, 추가된 다른 디바이스(6000)가 서브 주변 기기로 동작할 수 있다.
도 22는 본 발명의 일 실시예에 따른 호스트 디바이스(1000)의 환경이 변화되는 경우에, 호스트 디바이스(1000)가 포함된 토폴로지가 변경되는 일례를 도시한 도면이다.
도 22를 참조하면, 호스트 디바이스(1000)의 환경(예를 들어, 온도, 위치, 움직임)이 변경되면, 메인 주변 기기 A가 메인 주변 기기 B로 교체되고, 서브 주변 기기 A 및 B가 서브 주변 기기 C 및 D로 교체될 수 있다. 도 22에서는, 메인 주변 기기 A, 서브 주변 기기 A 및 서브 주변 기기 B가 모두 교체되는 것으로 설명하였지만, 이에 제한되지 않는다. 메인 주변 기기 A, 서브 주변 기기 A 및 서브 주변 기기 B 중 적어도 하나가 교체될 수도 있다.
도 23은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 서브 주변 기기(3000)의 펌웨어가 업그레이드하는 방법의 개요도이다.
도 23을 참조하면, 호스트 디바이스(1000)는 메인 주변 기기 A와 연결되고, 메인 주변 기기 A는 서브 주변 기기 A 및 서브 주변 기기 B와 연결될 수 있다. 또한, 호스트 디바이스(1000)는 서브 주변 기기 A에 설치될 펌웨어를 서버(4000)로부터 수신하고, 수신된 펌웨어를 메인 주변 기기 A를 경유하여 서브 주변 기기 A에게 제공할 수 있다.
또한, 토폴로지에 속한 서브 주변 기기 A의 기능은, 토폴로지 내에서의 호스트 디바이스(1000), 메인 주변 기기 A, 서브 주변 기기 A 및 서브 주변 기기 B 중 적어도 둘 이상의 연결 관계에 기초하여 결정될 수 있다. 또한, 결정된 기능에 관한 펌웨어가 서버(4000)로부터 서브 주변 기기 A에게 제공될 수 있다.
또한, 서브 주변 기기 A의 기능이 추가되는 경우에, 호스트 디바이스(1000)는 추가된 기능에 관한 펌웨어를 서버(4000)로부터 수신하고, 수신된 펌웨어를 메인 주변 기기 A를 경유하여 서브 주변 기기 A에게 제공할 수 있다.
도 24는 본 발명의 일 실시예에 따른 호스트 디바이스(1000), 메인 주변 기기(2000) 및 서브 주변 기기(3000)의 연결 관계에 기초하여, 호스트 디바이스(1000)가 서브 주변 기기(3000)의 펌웨어를 업데이트하는 방법의 흐름도이다.
단계 S2400에서 호스트 디바이스(1000)는 메인 주변 기기(2000)와 연결되고, 단계 S2402에서 메인 주변 기기(2000)는 서브 주변 기기(3000)와 연결된다. 호스트 디바이스(1000)의 상황에 기초하여, 호스트 디바이스(1000), 메인 주변 기기(2000) 및 서브 주변 기기(3000)는 소정의 토폴로지를 형성할 수 있다.
단계 S2404에서 호스트 디바이스(1000)는, 호스트 디바이스(1000), 메인 주변 기기(2000) 및 서브 주변 기기(3000)를 포함하는 토폴로지를 확인한다. 호스트 디바이스(1000)는 토폴로지 내에 포함된 호스트 디바이스(1000), 메인 주변 기기(2000) 및 서브 주변 기기(3000)의 연결 관계를 확인할 수 있다. 특히, 호스트 디바이스(1000)는 서브 주변 기기가 어떠한 기기에 연결되었는지를 확인할 수 있다.
단계 S2406에서 호스트 디바이스(1000)는 토폴로지에 포함된 서브 주변 기기(3000)의 기능을 확인한다. 서브 주변 기기(3000)의 기능은, 서브 주변 기기(3000)가 포함된 토폴로지, 토폴로지에 포함된 다른 기기의 종류, 서브 주변 기기(3000)와 다른 기기와의 연결 관계, 및 호스트 디바이스(1000)의 상황 중 적어도 하나에 따라 구별될 수 있다. 예를 들어, 서브 주변 기기가 조명인 경우에, 조명이 토폴로지 A에 포함되면 조명은 무드등의 기능(지속적으로 조명이 켜져있는 기능)을 수행할 수 있으며, 조명이 토폴로지 B에 포함되면 조명은 깜박이는 기능을 수행할 수 있다. 그러나, 이에 제한되지 않는다.
단계 S2408에서 호스트 디바이스(1000)는 서브 주변 기기(3000)의 기능에 관한 서브 주변 기기(3000)의 펌웨어를 서버(4000)에게 요청한다. 호스트 디바이스(1000)는 서브 주변 기기(3000)의 식별 값 및 서브 주변 기기(3000)의 기능에 관한 정보를 서버(4000)에게 제공함으로써 서버(4000)에게 서브 주변 기기(3000)의 펌웨어를 요청할 수 있다.
단계 S2404 내지 단계 S2408에서는, 호스트 디바이스(1000)가 토폴로지 및 서브 주변 기기(3000)의 기능을 확인하고 확인된 기능에 관한 펌웨어를 서버(4000)에게 요청하는 것으로 설명하였지만, 이에 제한되지 않는다. 서버(4000)가 호스트 디바이스(1000)로부터 서브 주변 기기(3000)의 식별 값을 수신하고, 서버(4000)가 서브 주변 기기(3000)가 포함된 토폴로지 및 서브 주변 기기(3000)의 기능을 확인할 수 있으며, 확인된 기능에 관한 서브 주변 기기(3000)의 펌웨어를 서버(4000) 내의 DB(미도시) 또는 외부 서버(미도시)로부터 획득할 수도 있다.
단계 S2410에서 서버(4000)는 서브 주변 기기(3000)의 펌웨어를 호스트 디바이스(1000)에게 제공한다. 서버(4000)는 서브 주변 기기(3000)의 확인된 기능을 위한 서브 주변 기기(3000)의 펌웨어를 호스트 디바이스(1000)에게 제공할 수 있다.
단계 S2412에서 호스트 디바이스(1000)는 서버(4000)로부터 수신된 펌웨어를 메인 주변 기기(2000)를 경유하여 서브 주변 기기(3000)에게 제공한다.
단계 S2410 내지 단계 S2412에서는 서브 주변 기기(3000)의 펌웨어가 서버(4000)로부터 호스트 디바이스(1000) 및 메인 주변 기기(2000)를 경유하여 서브 주변 기기(3000)에게 제공되는 것으로 설명하였지만, 이에 제한되지 않는다. 서버(4000)가 펌웨어를 메인 주변 기기(2000)에게 제공하고 메인 주변 기기(2000)가 제공된 펌웨어를 서브 주변 기기(3000)에게 제공할 수도 있다. 또한, 서버(4000)가 펌웨어를 서브 주변 기기(3000)에게 바로 제공할 수도 있다. 이 경우, 서버(4000)는 메인 주변 기기(2000) 및 서브 주변 기기(3000)에게 펌웨어를 제공하기 위한 연결 정보를 미리 획득할 수 있다.
도 25는 본 발명의 일 실시예에 따른 서브 주변 기기(3000)의 기능이 갱신되는 경우에, 호스트 디바이스(1000)가 서브 주변 기기(3000)의 펌웨어를 업데이트하는 방법의 흐름도이다.
단계 S2500에서 호스트 디바이스(1000)는 메인 주변 기기(2000)와 연결되고, 단계 S2502에서 메인 주변 기기(2000)는 서브 주변 기기(3000)와 연결된다. 호스트 디바이스(1000)의 상황에 기초하여, 호스트 디바이스(1000), 메인 주변 기기(2000) 및 서브 주변 기기(3000)는 소정의 토폴로지를 형성할 수 있다.
단계 S2504에서 호스트 디바이스(1000)는 서버(4000)에게 서브 주변 기기(3000)의 펌웨어의 업데이트를 요청한다. 호스트 디바이스(1000)는 서브 주변 기기(3000)의 식별 값 및 서브 주변 기기(3000)에 설치된 펌웨어에 관한 정보를 서버(4000)에게 제공함으로써, 서브 주변 기기(3000)의 펌웨어의 업데이트를 서버(4000)에게 요청할 수 있다. 예를 들어, 서브 주변 기기(3000)에 설치된 펌웨어에 관한 정보는, 서브 주변 기기(3000)에 설치된 펌웨어의 식별 값 및 버전에 관한 정보를 포함할 수 있으나, 이에 제한되지 않는다.
단계 S2506에서 서버(4000)는 서브 주변 기기(3000)의 추가된 기능을 확인한다. 서브 주변 기기(3000)의 제조사는, 서브 주변 기기(3000)의 기능이 추가된 경우에, 추가된 기능을 수행하기 위한 펌웨어를 생성할 수 있다. 또한, 서버(4000)는 호스트 디바이스(1000)로부터 수신된 서브 주변 기기(3000)의 펌웨어의 버전 정보에 기초하여, 서브 주변 기기(3000)의 펌웨어가 최신 버전인지를 확인할 수 있다. 또한, 이를 통하여, 서버(4000)는 서브 주변 기기(3000)의 기능이 추가되었는지를 확인할 수 있다. 그러나, 이에 제한되지 않는다.
단계 S2508에서 서버(4000)는 서브 주변 기기(3000)의 업데이트된 펌웨어를 호스트 디바이스(1000)에게 제공하며, 단계 S2510에서 호스트 디바이스(1000)는 메인 주변 기기(2000)를 경유하여, 서브 주변 기기(3000)의 업데이트된 펌웨어를 서브 주변 기기(3000)에게 제공한다.
단계 S2508 내지 단계 S2410에서는 서브 주변 기기(3000)의 업데이트된 펌웨어가 서버(4000)로부터 호스트 디바이스(1000) 및 메인 주변 기기(2000)를 경유하여 서브 주변 기기(3000)에게 제공되는 것으로 설명하였지만, 이에 제한되지 않는다. 서버(4000)가 업데이트된 펌웨어를 메인 주변 기기(2000)에게 제공하고 메인 주변 기기(2000)가 업데이트된 펌웨어를 서브 주변 기기(3000)에게 제공할 수도 있다. 또한, 서버(4000)가 업데이트된 펌웨어를 서브 주변 기기(3000)에게 바로 제공할 수도 있다. 이 경우, 서버(4000)는 메인 주변 기기(2000) 및 서브 주변 기기(3000)에게 업데이트된 펌웨어를 제공하기 위한 연결 정보를 미리 획득할 수 있다.
도 26은 본 발명의 일 실시예에 따른 메인 주변 기기(2000) 및 서브 주변 기기(3000)가 토폴로지를 형성할 지를 결정하고, 호스트 디바이스(1000), 메인 주변 기기(2000) 및 서브 주변 기기(3000)가 서로 연결되는 방법의 흐름도이다. 도 26에서는 메인 주변 기기(2000) 및 서브 주변 기기(3000)가 호스트 디바이스(1000)의 상황에 기초하여 토폴로지를 형성할 지를 결정할 수 있다.
단계 S2600 및 단계 S2602에서 호스트 디바이스(1000)는 호스트 디바이스(1000)의 상황(context)에 관한 상황 정보를 메인 주변 기기(2000) 및 서브 주변 기기(3000)에게 제공한다. 호스트 디바이스(1000)의 상황은, 호스트 디바이스(1000)의 동작, 호스트 디바이스(1000)의 사용자, 호스트 디바이스(1000)의 주변 환경 및 호스트 디바이스(1000)의 속성 중 적어도 하나에 관련된 상황일 수 있다. 예를 들어, 호스트 디바이스(1000)의 상황은, 호스트 디바이스(1000)에서 실행되는 콘텐트의 종류, 호스트 디바이스(1000)에서 제공되는 서비스의 종류, 호스트 디바이스(1000)의 사용자, 호스트 디바이스(1000)의 속성에 의해 결정될 수 있다. 또한, 예를 들어, 호스트 디바이스(1000)의 상황은, 호스트 디바이스(1000)의 위치, 호스트 디바이스(1000)가 위치한 곳의 날씨, 온도, 호스트 디바이스(1000)의 움직임 등에 의해 결정될 수도 있다. 그러나, 이에 제한되지 않는다.
또한, 호스트 디바이스(1000)는, 예를 들어, NFC 통신을 통하여, 호스트 디바이스(1000) 주변의 주변 기기를 검색하고, 검색된 주변 기기에게 호스트 디바이스(1000)의 상황 정보를 전송할 수 있으나, 이에 제한되지 않는다. 호스트 디바이스(1000)는, 예를 들어, BLE 통신을 통하여, 주변 기기를 검색하거나, 주변 기기에게 상황 정보를 브로드캐스팅할 수도 있다.
단계 S2604에서 서버(4000)는 토폴로지 형성 기준에 관한 토폴로지 설정 정보를 메인 주변 기기(2000)에게 제공하며, 단계 S2606에서 서버(4000)는 토폴로지 형성 기준에 관한 토폴로지 설정 정보를 서브 주변 기기(3000)에게 제공한다. 메인 주변 기기(2000) 및 서브 주변 기기(3000)는 서버(4000)에 관한 연결 정보를 호스트 디바이스(1000)로부터 미리 획득할 수 있으며, 획득된 연결 정보에 기초하여 서버(4000)에게 토폴로지 설정 정보를 요청할 수 있다. 또한, 서버(4000)는 요청에 응답하여 토폴로지 설정 정보를 메인 주변 기기(2000) 및 서브 주변 기기(3000)에게 제공할 수 있다.
단계 S2604 내지 단계 S2606에서는 서버(4000)가 토폴로지 설정 정보를 메인 주변 기기(2000) 및 서브 주변 기기(3000)에게 제공하는 것으로 설명하였지만, 이에 제한되지 않는다. 호스트 디바이스(1000)가 토폴로지 설정 정보를 메인 주변 기기(2000) 및 서브 주변 기기(3000)에게 제공할 수도 있다.
단계 S2608에서 메인 주변 기기(2000)는 호스트 디바이스(1000)와 토폴로지를 형성할 지를 결정한다. 메인 주변 기기(2000)는 호스트 디바이스(1000)의 상황 및 토폴로지 설정 정보에 기초하여, 호스트 디바이스(1000)와 토폴로지를 형성할 지를 결정할 수 있다. 예를 들어, 호스트 디바이스(1000)에서 동영상이 재생 중인 경우에, TV는 호스트 디바이스(1000), 스피커 및 조명과 연결될 것을 결정할 수 있다. 또한, 메인 주변 기기(2000)는 다른 주변 기기에 관한 정보를 호스트 디바이스(1000), 게이트웨이(5000) 및 서버(4000) 중 적어도 하나로부터 미리 획득할 수 있다.
단계 S2610에서 서브 주변 기기(3000)는 호스트 디바이스(1000)와 토폴로지를 형성할 지를 결정한다. 서브 주변 기기(3000)는 호스트 디바이스(1000)의 상황 및 토폴로지 설정 정보에 기초하여, 호스트 디바이스(1000)와 토폴로지를 형성할 지를 결정할 수 있다. 예를 들어, 호스트 디바이스(1000)에서 동영상이 재생 중인 경우에, 스피커는 TV와 연결될 것을 결정할 수 있다. 또한, 서브 주변 기기(3000)는 다른 주변 기기에 관한 정보를 호스트 디바이스(1000), 게이트웨이(5000) 및 서버(4000) 중 적어도 하나로부터 미리 획득할 수 있다.
단계 S2612에서 메인 주변 기기(2000)는 호스트 디바이스(1000)와 연결되며, 단계 S2614에서 메인 주변 기기(2000) 및 서브 주변 기기(3000)가 서로 연결된다.
도 27은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)에서 동영상이 재생되는 중에 소정의 토폴로지에 따라 주변 기기가 호스트 디바이스(1000)에 연결되고 제어되는 일례를 도시한 도면이다.
단계 S2700에서 호스트 디바이스(1000)는 댁 외에서 동영상을 재생하는 중에 댁 내로 진입한다.
단계 S2702에서 호스트 디바이스(1000)는 동영상 재생에 관련된 주변 기기를 검색한다. 호스트 디바이스(1000)는 동영상 재생에 관련된 댁 내의 주변 기기로서, 예를 들어, TV, 스피커 및 조명을 검색할 수 있다. 호스트 디바이스(1000)는 댁 내의 다양한 주변 기기를 검색하고, 검색된 주변 기기 중에서 동영상 재생에 관련된 주변 기기로서, TV, 스피커 및 조명을 선택할 수 있으나, 이에 제한되지 않는다.
단계 S2704에서 호스트 디바이스(1000)는 동영상 재생에 관련된 토폴로지를 확인한다. 호스트 디바이스(1000)는 동영상 재생에 관련된 토폴로지 형성 기준을 확인하고, 호스트 디바이스(1000)를 TV에 연결하고, TV를 스피커 및 조명에 연결할 것을 결정할 수 있다.
단계 S2702 및 단계 S2704에서는 호스트 디바이스(1000)가 주변 기기를 검색한 후에 주변 기기의 연결 관계를 결정하는 것으로 설명하였지만, 이에 제한되지 않는다. 호스트 디바이스(1000)는 동영상 재생에 관한 토폴로지 형성 기준을 확인하고, 확인된 토폴로지 형성 기준에 기초하여 댁 내의 TV, 스피커 및 조명을 검색할 수도 있다.
또한, 호스트 디바이스(1000)는 댁 내의 다양한 주변 기기를 검색하고, 검색된 주변 기기 및 호스트 디바이스(1000)의 상황(동영상이 재생되는 상황)에 관한 정보를 서버(4000)에게 제공할 수 있으며, 서버(4000)가 TV, 스피커 및 조명을 토폴로지에 포함시킬 것을 결정할 수도 있다. 이 경우, 호스트 디바이스(1000)는 TV, 스피커 및 조명의 식별 값 및 연결 관계에 관한 정보를 서버(4000)로부터 수신할 수 있다.
단계 S2706에서 호스트 디바이스(1000)는 스피커 및 조명과의 연결을 위한 연결 정보를 TV에게 제공한다. 또한, 단계 S2708에서 호스트 디바이스(1000)는 TV와 연결된다.
단계 S2710에서 TV는 수신된 연결 정보에 기초하여 스피커와 연결되며, 단계 S2712에서 TV는 수신된 연결 정보에 기초하여 조명과 연결된다.
단계 S2714에서 호스트 디바이스(1000)는 연결된 주변 기기를 제어하기 위한 애플리케이션을 획득한다. 호스트 디바이스(1000)는 TV, 스피커 및 조명의 식별 값을 서버(4000)에게 제공하고, 서버(4000)로부터 TV, 스피커 및 조명을 제어하는데 이용되는 애플리케이션을 획득할 수 있다.
단계 S2716에서 호스트 디바이스(1000)는 스피커를 제어하기 위한 애플리케이션 및 조명을 제어하기 위한 애플리케이션을 TV에게 제공한다.
TV를 제어하기 위한 애플리케이션은 호스트 디바이스(1000)에 설치되며, 스피커를 제어하기 위한 애플리케이션 및 조명을 제어하기 위한 애플리케이션은 TV에 설치될 수 있다.
단계 S2718에서 호스트 디바이스(1000)는 TV를 제어하기 위한 제어 명령을 TV에게 제공한다. TV를 제어하기 위한 제어 명령은, TV를 제어하기 위한 애플리케이션으로부터 획득될 수 있으나, 이에 제한되지 않는다. 또한, TV는 호스트 디바이스(1000)로부터 수신된 제어 명령에 기초하여, TV의 동작을 제어하거나 스피커 및 조명의 동작을 제어할 수 있다.
단계 S2720에서 TV는 스피커를 제어하기 위한 제어 명령을 스피커에게 제공한다. TV는 호스트 디바이스(1000)로부터 수신된 제어 명령에 기초하여, 스피커를 제어하기 위한 애플리케이션을 이용하여 스피커에게 제어 명령을 전송할 수 있다. 또한, 스피커를 제어하기 위한 제어 명령은, 스피커를 제어하기 위한 애플리케이션으로부터 획득될 수 있으나, 이에 제한되지 않는다.
단계 S2722에서 TV는 조명을 제어하기 위한 제어 명령을 조명에게 제공한다. TV는 호스트 디바이스(1000)로부터 수신된 제어 명령에 기초하여, 조명을 제어하기 위한 애플리케이션을 이용하여 조명에게 제어 명령을 전송할 수 있다. 또한, 조명을 제어하기 위한 제어 명령은, 조명을 제어하기 위한 애플리케이션으로부터 획득될 수 있으나, 이에 제한되지 않는다.
단계 S2724에서 TV는 호스트 디바이스(1000)로부터 수신된 제어 명령에 기초하여 동영상을 재생할 수 있다. TV는 호스트 디바이스(1000)로부터 동영상을 수신하고 TV의 화면에 디스플레이할 수 있다.
단계 S2726에서 스피커는 TV로부터 수신된 제어 명령에 기초하여 음성 데이터를 출력할 수 있다. 스피커는 TV로부터 동영상의 음성 데이터를 수신하고, 수신된 음성 데이터를 출력할 수 있다.
단계 S2728에서 조명은 TV로부터 수신된 제어 명령에 기초하여 전원을 ON하고 출력을 조절할 수 있다.
도 27에서는 TV가 스피커 및 조명에 연결되는 것으로 설명하였지만, 이에 제한되지 않는다. 예를 들어, TV는 동영상 재생에 방해가 되는 주변 기기로서, 댁 내의 세탁기 및 전화기와 연결될 수 있다. 또한, 호스트 디바이스(1000) 및 TV 중 적어도 하나는, 세탁기의 전원을 끄고 전화기의 볼륨을 줄이거나 전화기의 모드를 진동 모드로 변경할 수 있다.
도 28은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 댁 내의 주변 기기의 전력을 제어하는 서비스를 제공하는 일례를 도시한 도면이다.
단계 S2800에서 호스트 디바이스(1000)는 “TV를 이용한 전력 제어 서비스”를 선택한다. 호스트 디바이스(1000)의 화면에는 사용자가 이용할 수 있는 다양한 종류의 서비스가 표시될 수 있으며, 호스트 디바이스(1000)는 사용자 입력에 기초하여 “TV를 이용한 전력 제어 서비스”를 선택할 수 있다.
단계 S2802에서 호스트 디바이스(1000)는 전력 제어를 위한 주변 기기를 검색한다. 호스트 디바이스(1000)는 전력 제어 서비스에 관련된 댁 내의 주변 기기로서, 예를 들어, TV, 조명 및 에어컨을 검색할 수 있다. 호스트 디바이스(1000)는 댁 내의 다양한 주변 기기를 검색하고, 검색된 주변 기기 중에서 전력 제어 서비스에 관련된 주변 기기로서, TV, 조명 및 에어컨을 선택할 수 있으나, 이에 제한되지 않는다.
단계 S2804에서 호스트 디바이스(1000)는 전력 제어 서비스에 관련된 토폴로지를 확인한다. 호스트 디바이스(1000)는 전력 제어 서비스에 관련된 토폴로지 형성 기준을 확인하고, 호스트 디바이스(1000)를 TV에 연결하고, TV를 조명 및 에어컨에 연결할 것을 결정할 수 있다.
단계 S2802 및 단계 S2804에서는 호스트 디바이스(1000)가 주변 기기를 검색한 후에 주변 기기의 연결 관계를 결정하는 것으로 설명하였지만, 이에 제한되지 않는다. 호스트 디바이스(1000)는 전력 제어 서비스에 관한 토폴로지 형성 기준을 확인하고, 확인된 토폴로지 형성 기준에 기초하여 댁 내의 TV, 조명 및 에어컨을 검색할 수도 있다.
또한, 호스트 디바이스(1000)는 댁 내의 다양한 주변 기기를 검색하고, 검색된 주변 기기 및 호스트 디바이스(1000)의 상황(전력 제어 서비스가 선택된 상황)에 관한 정보를 서버(4000)에게 제공할 수 있으며, 서버(4000)가 TV, 조명 및 에어컨을 토폴로지에 포함시킬 것을 결정할 수도 있다. 이 경우, 호스트 디바이스(1000)는 TV, 조명 및 에어컨의 식별 값 및 연결 관계에 관한 정보를 서버(4000)로부터 수신할 수 있다.
단계 S2806에서 호스트 디바이스(1000)는 조명 및 에어컨과의 연결을 위한 연결 정보를 TV에게 제공한다. 또한, 단계 S2808에서 호스트 디바이스(1000)는 TV와 연결된다.
단계 S2810에서 TV는 수신된 연결 정보에 기초하여 조명과 연결되며, 단계 S2812에서 TV는 수신된 연결 정보에 기초하여 에어컨과 연결된다.
단계 S2814에서 호스트 디바이스(1000)는 연결된 주변 기기를 제어하기 위한 애플리케이션을 획득한다. 호스트 디바이스(1000)는 TV, 조명 및 에어컨의 식별 값을 서버(4000)에게 제공하고, 서버(4000)로부터 TV, 조명 및 에어컨을 제어하는데 이용되는 애플리케이션을 획득할 수 있다.
단계 S2816에서 호스트 디바이스(1000)는 조명을 제어하기 위한 애플리케이션 및 에어컨을 제어하기 위한 애플리케이션을 TV에게 제공한다.
또한, TV를 제어하기 위한 애플리케이션은 호스트 디바이스(1000)에 설치되며, 조명을 제어하기 위한 애플리케이션 및 에어컨을 제어하기 위한 애플리케이션은 TV에 설치될 수 있다.
단계 S2818에서 TV는 조명 및 에어컨의 상태를 TV의 화면에 표시한다. TV는 조명을 제어하기 위한 애플리케이션 및 에어컨을 제어하기 위한 애플리케이션을 이용하여, TV의 화면에 조명 및 에어컨의 상태를 표시할 수 있다.
단계 S2820에서 호스트 디바이스(1000)는 TV를 제어하기 위한 제어 명령을 TV에게 제공한다. 호스트 디바이스(1000)의 사용자는, TV의 화면에 표시된 조명 및 에어컨의 상태에 기초하여, 호스트 디바이스(1000)로부터 소정의 제어 명령이 TV에게 전송되도록 할 수 있다. 또한, TV를 제어하기 위한 제어 명령은, TV를 제어하기 위한 애플리케이션으로부터 획득될 수 있으나, 이에 제한되지 않는다. 또한, TV는 호스트 디바이스(1000)로부터 수신된 제어 명령에 기초하여, TV의 동작을 제어하거나 조명 및 에어컨의 동작을 제어할 수 있다.
단계 S2822에서 TV는 조명을 제어하기 위한 제어 명령을 조명에게 제공한다. TV는 호스트 디바이스(1000)로부터 수신된 제어 명령에 기초하여, 조명을 제어하기 위한 애플리케이션을 이용하여 조명에게 제어 명령을 전송할 수 있다. 또한, 조명을 제어하기 위한 제어 명령은, 조명을 제어하기 위한 애플리케이션으로부터 획득될 수 있으나, 이에 제한되지 않는다.
단계 S2824에서 TV는 에어컨을 제어하기 위한 제어 명령을 에어컨에게 제공한다. TV는 호스트 디바이스(1000)로부터 수신된 제어 명령에 기초하여, 에어컨을 제어하기 위한 애플리케이션을 이용하여, 조명에게 제어 명령을 전송할 수 있다. 또한, 에어컨을 제어하기 위한 제어 명령은, 에어컨을 제어하기 위한 애플리케이션으로부터 획득될 수 있으나, 이에 제한되지 않는다.
단계 S2826에서 조명은 TV로부터 수신된 제어 명령에 기초하여 전원을 ON 또는 OFF할 수 있다
단계 S2828에서 에어컨은 TV로부터 수신된 제어 명령에 기초하여 전원을 ON 또는 OFF할 수 있다.
도 29는 본 발명의 일 실시예에 따른 호스트 디바이스(1000)가 요리 서비스를 실행 중에, 소정의 토폴로지에 따라 주변 기기가 호스트 디바이스(1000)에 연결되고 제어되는 일례를 도시한 도면이다.
단계 S2900에서 호스트 디바이스(1000)는 “요리 서비스”를 선택한다. 호스트 디바이스(1000)의 화면에는 사용자가 이용할 수 있는 다양한 종류의 서비스가 표시될 수 있으며, 호스트 디바이스(1000)는 사용자 입력에 기초하여 “요리 서비스”를 선택할 수 있다.
단계 S2902에서 호스트 디바이스(1000)는 전력 제어를 위한 주변 기기를 검색한다. 호스트 디바이스(1000)는 요리 서비스에 관련된 댁 내의 주변 기기로서, 예를 들어, 태블릿 PC, 가스렌지 및 오븐을 검색할 수 있다. 호스트 디바이스(1000)는 댁 내의 다양한 주변 기기를 검색하고, 검색된 주변 기기 중에서 요리 서비스에 관련된 주변 기기로서, 태블릿 PC, 가스렌지 및 오븐을 선택할 수 있으나, 이에 제한되지 않는다.
단계 S2904에서 호스트 디바이스(1000)는 요리 서비스에 관련된 토폴로지를 확인한다. 호스트 디바이스(1000)는 요리 서비스에 관련된 토폴로지 형성 기준을 확인하고, 호스트 디바이스(1000)를 태블릿 PC에 연결하고, 태블릿 PC를 가스렌지 및 오븐에 연결할 것을 결정할 수 있다.
단계 S2902 및 단계 S2904에서는 호스트 디바이스(1000)가 주변 기기를 검색한 후에 주변 기기의 연결 관계를 결정하는 것으로 설명하였지만, 이에 제한되지 않는다. 호스트 디바이스(1000)는 요리 서비스에 관한 토폴로지 형성 기준을 확인하고, 확인된 토폴로지 형성 기준에 기초하여 댁 내의 태블릿 PC, 가스렌지 및 오븐을 검색할 수도 있다.
또한, 호스트 디바이스(1000)는 댁 내의 다양한 주변 기기를 검색하고, 검색된 주변 기기 및 호스트 디바이스(1000)의 상황(요리 서비스가 선택된 상황)에 관한 정보를 서버(4000)에게 제공할 수 있으며, 서버(4000)가 태블릿 PC, 가스렌지 및 오븐을 토폴로지에 포함시킬 것을 결정할 수도 있다. 이 경우, 호스트 디바이스(1000)는 태블릿 PC, 가스렌지 및 오븐의 식별 값 및 연결 관계에 관한 정보를 서버(4000)로부터 수신할 수 있다.
단계 S2906에서 호스트 디바이스(1000)는 가스렌지 및 오븐과의 연결을 위한 연결 정보를 태블릿 PC에게 제공한다. 또한, 단계 S2908에서 호스트 디바이스(1000)는 태블릿 PC와 연결된다.
단계 S2910에서 태블릿 PC는 수신된 연결 정보에 기초하여 가스렌지와 연결되며, 단계 S2912에서 태블릿 PC는 수신된 연결 정보에 기초하여 오븐과 연결된다.
단계 S2914에서 호스트 디바이스(1000)는 연결된 주변 기기를 제어하기 위한 애플리케이션을 획득한다. 호스트 디바이스(1000)는 태블릿 PC, 가스렌지 및 오븐의 식별 값을 서버(4000)에게 제공하고, 서버(4000)로부터 태블릿 PC, 가스렌지 및 오븐을 제어하는데 이용되는 애플리케이션들을 획득할 수 있다.
단계 S2916에서 호스트 디바이스(1000)는 가스렌지를 제어하기 위한 애플리케이션 및 오븐을 제어하기 위한 애플리케이션을 태블릿 PC에게 제공한다.
또한, 태블릿 PC를 제어하기 위한 애플리케이션은 호스트 디바이스(1000)에 설치되며, 가스렌지를 제어하기 위한 애플리케이션 및 오븐을 제어하기 위한 애플리케이션은 태블릿 PC에 설치될 수 있다.
단계 S2918에서 태블릿 PC는 요리 콘텐트를 재생한다. 요리 콘텐트는 호스트 디바이스(1000)로부터 태블릿 PC에게 제공될 수 있으나, 이에 제한되지 않으며, 서버(4000)로부터 태블릿 PC에게 제공될 수도 있다. 또한, 요리 콘텐트는 소정의 음식을 조리하기 위한 동영상일 수 있으나, 이에 제한되지 않는다.
또한, 태블릿 PC는 가스렌지 및 오븐의 상태를 태블릿 PC의 화면에 표시한다. 태블릿 PC는 가스렌지를 제어하기 위한 애플리케이션 및 오븐을 제어하기 위한 애플리케이션을 이용하여, 태블릿 PC의 화면에 가스렌지 및 오븐의 상태를 표시할 수 있다.
단계 S2920에서 호스트 디바이스(1000)는 태블릿 PC를 제어하기 위한 제어 명령을 태블릿 PC에게 제공한다. 호스트 디바이스(1000)의 사용자는, 태블릿 PC의 화면에 표시되는 요리 콘텐트 및, 가스렌지 및 오븐의 상태에 기초하여, 소정의 음식을 만들기 위하여, 소정의 제어 명령이 호스트 디바이스(1000)로부터 태블릿 PC에게 전송되도록 할 수 있다. 또한, 태블릿 PC를 제어하기 위한 제어 명령은, 태블릿 PC를 제어하기 위한 애플리케이션으로부터 획득될 수 있으나, 이에 제한되지 않는다. 또한, 태블릿 PC는 호스트 디바이스(1000)로부터 수신된 제어 명령에 기초하여, 태블릿 PC의 동작을 제어하거나 가스렌지 및 오븐의 동작을 제어할 수 있다.
단계 S2922에서 태블릿 PC는 가스렌지를 제어하기 위한 제어 명령을 가스렌지에게 제공한다. 태블릿 PC는 호스트 디바이스(1000)로부터 수신된 제어 명령에 기초하여, 가스렌지를 제어하기 위한 애플리케이션을 이용하여 가스렌지에게 제어 명령을 전송할 수 있다. 또한, 가스렌지를 제어하기 위한 제어 명령은, 가스렌지를 제어하기 위한 애플리케이션으로부터 획득될 수 있으나, 이에 제한되지 않는다.
단계 S2924에서 태블릿 PC는 오븐을 제어하기 위한 제어 명령을 오븐에게 제공한다. 태블릿 PC는 호스트 디바이스(1000)로부터 수신된 제어 명령에 기초하여, 오븐을 제어하기 위한 애플리케이션을 이용하여, 조명에게 제어 명령을 전송할 수 있다. 또한, 오븐을 제어하기 위한 제어 명령은, 오븐을 제어하기 위한 애플리케이션으로부터 획득될 수 있으나, 이에 제한되지 않는다.
단계 S2926에서 가스렌지는 태블릿 PC로부터 수신된 제어 명령에 따라 동작할 수 있다
단계 S2928에서 오븐은 태블릿 PC로부터 수신된 제어 명령에 따라 동작할 수 있다.
도 30은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)에서 검색된 주변 기기 중에서 제어될 주변 기기가 사용자 입력에 의해 선택되는 일례를 도시한 도면이다.
도 30을 참조하면, 호스트 디바이스(1000)는 주변 기기를 검색하고 검색된 주변 기기 중 적어도 하나를 선택하기 위한 선택 목록을 화면에 표시할 수 있다. 또한, 호스트 디바이스(1000)는 사용자의 선택 입력에 기초하여, 주변 기기 중 일부 또는 전부를 선택할 수 있다. 호스트 디바이스(1000)는 호스트 디바이스(1000)의 상황 및 토폴로지 설정 정보에 기초하여 주변 기기를 검색할 수 있으나, 이에 제한되지 않는다.
도 31은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)에서 실행될 서비스가 사용자 입력에 의해 선택되는 일례를 도시한 도면이다.
도 31을 참조하면, 호스트 디바이스(1000)는 호스트 디바이스(1000)에서 제공될 수 있는 서비스의 목록을 화면에 표시할 수 있다. 또한, 호스트 디바이스(1000)는 사용자 입력에 기초하여 소정의 서비스를 선택할 수 있다. 호스트 디바이스(1000)에서 선택된 서비스는 호스트 디바이스(1000)와 연결된 주변 기기를 결정하는데 이용될 수 있다.
도 32는 본 발명의 일 실시예에 따른 호스트 디바이스(1000)에서 추천된 토폴로지 중 하나가 사용자 입력에 의해 선택되는 일례를 도시한 도면이다.
도 32를 참조하면, 호스트 디바이스(1000)는 호스트 디바이스(1000)의 상황, 검색된 주변 기기 및 토폴로지 설정 정보에 기초하여, 토폴로지를 사용자에게 추천할 수 있다. 또한, 호스트 디바이스(1000)는 토폴로지를 형성할 주변 기기와의 연결 관계를 나타내는 그림을 호스트 디바이스(1000)의 화면에 표시할 수 있으며, 사용자의 선택 입력에 기초하여 소정의 토폴로지를 결정할 수 있다.
도 33은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)에 표시된 주변 기기 제어를 위한 사용자 인터페이스의 일례를 도시한 도면이다.
호스트 디바이스(1000)는 TV와 연결되고, TV는 조명 및 에어컨과 연결된 경우에, 호스트 디바이스(1000)의 화면에는 TV, 조명 및 에어컨을 제어하기 위한 UI가 도 33에서와 같이 표시될 수 있다. 또한, TV, 조명 및 에어컨을 제어하기 위한 UI는, TV를 제어하기 위한 영역(94), 조명을 제어하기 위한 영역(92) 및 에어컨을 제어하기 위한 영역(90)을 포함할 수 있다.
또한, 호스트 디바이스는 TV를 제어하기 위한 영역(94)에 표시된 버튼에 대한 사용자 입력에 기초하여, TV의 동작을 제어하기 위한 제어 명령을 TV에게 전송할 수 있다.
또한, 사용자가 조명을 제어하기 위한 영역(92)을 터치하면, 호스트 디바이스(1000)는 TV가 조명을 제어할 수 있도록 TV에게 소정의 제어 명령을 전송할 수 있다.
또한, 사용자가 에어컨을 제어하기 위한 영역(90)을 터치하면, 호스트 디바이스(1000)는 TV가 에어컨을 제어할 수 있도록 TV에게 소정의 제어 명령을 전송할 수 있다.
도 34는 본 발명의 일 실시예에 따른 호스트 디바이스(1000)에서 주변 기기 제어를 위한 사용자 인터페이스가 생성되는 일례를 도시한 도면이다.
도 34(a)를 참조하면, 사용자는 검색된 주변 기기를 나타내는 복수의 아이콘(10) 중 일부를 선택하고, 선택된 아이콘을 소정의 영역(30)으로 이동시킬 수 있다. 소정의 영역(30)으로 이동된 아이콘에 대응되는 주변 기기는 호스트 디바이스(1000)와 함께 토폴로지를 형성할 수 있다.
또한, 도 34(b)에서와 같이, 사용자는 선택된 주변 기기의 복수의 기능 중 소정의 기능을 선택할 수 있다.
또한, 도 34(c)에서와 같이, 사용자에 의해 선택된 주변 기기 및 주변 기기의 기능을 포함하는, 제어 UI(control UI)가 호스트 디바이스(1000)의 화면에 표시될 수 있다.
도 35는 본 발명의 일 실시예에 따른 호스트 디바이스(1000)의 블록도이다.
이동 통신부(1001)는 3G/4G와 같은 셀룰러 네트워크를 통해 기지국과의 호 설정, 데이터 통신 등을 수행한다. 서브 통신부(1002)는 블루투스나 NFC 등 근거리 통신을 위한 기능을 수행한다. 방송부(1003)는 DMB 방송 신호를 수신한다.
카메라부(1004)는 사진이나 동영상을 촬영하기 위한 렌즈 및 광학 소자들을 포함한다.
센서부(1005)는 호스트 디바이스(1000)의 움직임을 감지하는 중력 센서, 빛의 밝기를 감지하는 조도 센서, 사람의 근접도를 감지하는 근접 센서, 사람의 움직임을 감지하는 모션 센서 등을 포함할 수 있다.
GPS 수신부(1006)는 인공 위성으로부터 GPS 신호를 수신한다. 이러한 GPS 신호를 이용하여 다양한 서비스가 사용자에게 제공될 수 있다.
입출력부(1010)은 외부 기기나 사람과의 인터페이스를 제공하며, 버튼(1011), 마이크(1012), 스피커(1013), 진동 모터(1014), 커넥터(1015), 키패드(1016)을 포함한다.
터치 스크린(1018)은 사용자의 터치 입력을 수신한다. 터치 스크린 컨트롤러(1017)는 터치 스크린(1018)을 통해 입력된 터치 입력을 제어부(1050)에 전달한다. 전원 공급부(1019)는 호스트 디바이스(1000)에 필요한 전력을 공급하기 위해 배터리 또는 외부 전원 소스와 연결된다.
제어부(1050)는 메모리(1060)에 저장된 프로그램들을 실행함으로써 본 발명에 따라 무선 랜 링크를 형성한다.
메모리(1060)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 이동 통신 모듈(1061), Wi-Fi 모듈(1062), 블루투스 모듈(1063), DMB 모듈(1062), 카메라 모듈(1065), 센서 모듈(1066), GPS 모듈(1067), 동영상 재생 모듈(1068), 오디오 재생 모듈(1069), 전원 모듈(1070), 터치 스크린 모듈(1071), UI 모듈(1072), 어플리케이션 모듈(1073) 등으로 분류될 수 있다. 도 35에는 도시되지 않았지만, 메모리(1060)은 BLE 모듈(미도시)을 포함하는 각종 통신 모듈을 더 포함할 수 있다.
각 모듈들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있을 것이므로 여기서는 어플리케이션 모듈(1073)에 대해서만 설명하기로 한다. 어플리케이션 모듈(1073)은 호스트 디바이스(1000)가 주변의 주변 기기들과 토폴로지를 형성하고, 주변 기기를 제어할 수 있도록 한다.
어플리케이션 모듈(1073)은, 이동 통신부(1001) 및 서브 통신부(1002) 중 적어도 하나를 이용하여 주변 기기를 검색할 수 있으며, 검색된 주변 기기 중에서 토폴로지에 포함될 메인 주변 기기(2000) 및 서브 주변 기기(3000)를 결정할 수 있다. 어플리케이션 모듈(1073)은, 메모리(1060)에 포함된 각종 모듈을 이용하여 호스트 디바이스(1000)의 상황을 판단할 수 있으며, 호스트 디바이스(1000)의 상황에 관한 상황 정보를 생성할 수 있다. 또한, 어플리케이션 모듈(1073)은 호스트 디바이스(1000)의 상황에 따라, 소정의 토폴로지 및 토폴로지에 포함될 주변 기기를 결정할 수 있다.
또한, 어플리케이션 모듈(1073)은 메인 주변 기기(2000) 및 서브 주변 기기(3000)의 연결 정보를 획득할 수 있으며, 획득된 연결 정보를 이용하여, 호스트 디바이스(1000), 메인 주변 기기(2000) 및 서브 주변 기기(3000)가 서로 연결되도록 할 수 있다.
또한, 어플리케이션 모듈(1073)은 메인 주변 기기(2000)를 제어하기 위한 애플리케이션을 메인 주변 기기(2000) 또는 서버(4000)로부터 획득하고, 획득된 애플리케이션을 설치할 수 있다. 또한, 어플리케이션 모듈(1073)은 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 서브 주변 기기(3000) 또는 서버(4000)로부터 획득하고, 획득된 애플리케이션을 메인 주변 기기(2000)에게 제공할 수 있다.
또한, 어플리케이션 모듈(1073)은, 메인 주변 기기(2000)를 제어하기 위한 애플리케이션 및 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 이용하여, 메인 주변 기기(2000) 및 서브 주변 기기(3000)를 제어할 수 있다.
또한, 어플리케이션 모듈(1073)은, 메모리(1060) 내의 각종 모듈을 이용하여 호스트 디바이스(1000)의 상황이 변경되었는지를 판단하고, 변경된 상황에 관한 상황 정보를 생성할 수 있다. 또한, 어플리케이션 모듈(1073)은 변경된 상황에 기초하여, 토폴로지를 변경하고 변경된 토폴로지에 따라 호스트 디바이스와 주변 기기들을 연결할 수 있다.
상기에서는 어플리케이션 모듈(1073)의 기능에 대하여 개괄적으로 설명하였지만, 이에 제한되지 않으며, 어플리케이션 모듈(1073)의 구체적인 기능은, 도 3 내지 도 34에 의해 유추될 수 있다.
도 36은 본 발명의 일 실시예에 따른 메모리(1060)에 포함된 애플리케이션 DB 및 주변 기기DB의 일례를 도시한 도면이다.
도 36에 도시된 바와 같이, 메모리(1060) 내의 애플리케이션 모듈(1073)은 애플리케이션 DB 및 주변 기기 DB와 연결될 수 있다.
애플리케이션 DB에는 메인 주변 기기(2000)를 제어하기 위한 애플리케이션 및 서브 주변 기기(3000)를 제어하기 위한 애플리케이션이 저장될 수 있다. 또한, 메인 주변 기기(2000)를 제어하기 위한 애플리케이션 및 서브 주변 기기(3000)를 제어하기 위한 애플리케이션 중 적어도 하나는, 토폴로지가 형성될 때에, 메인 주변 기기(2000), 서브 주변 기기(3000) 및 서버(4000) 중 적어도 하나로부터 호스트 디바이스(1000)에게 제공될 수 있으나, 이에 제한되지 않는다.
또한, 애플리케이션 모듈(1073)은 메인 주변 기기(2000)를 제어하기 위한 애플리케이션 및 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 이용하여, 메인 주변 기기(2000) 및 서브 주변 기기(3000)를 제어할 수 있다. 특히, 애플리케이션 모듈(1073)은 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 메인 주변 기기(2000)에게 제공할 수 있으며, 메인 주변 기기(2000)는 애플리케이션 모듈(1073)로부터의 제어 명령에 따라 서브 주변 기기(3000)를 제어하기 위한 애플리케이션을 이용하여 서브 주변 기기(3000)를 제어할 수 있다.
도 37은 본 발명의 일 실시예에 따른 호스트 디바이스(1000)와 주변 기기 간에 제어 명령 및 상태 정보가 송수신되는 일례를 도시한 도면이다.
도 37을 참조하면, 호스트 디바이스(1000)는 애플리케이션, 앱세서리 서비스 프레임 워크, 앱세서리 프로토콜 스택/라이버러리, 및 네트워크 모듈을 포함할 수 있다. 또한, 주변 기기는 애플리케이션, 앱세서리 서비스 프레임 워크, 앱세서리 프로토콜 스택/라이버러리, 및 네트워크 모듈을 포함할 수 있다. 호스트 디바이스의 애플리케이션 및 주변 기기의 애플리케이션은 본 발명의 일 실시예에 따른 토폴로지의 형성 및 기기 제어에 이용되는 애플리케이션일 수 있다. 또한, 앱세서리 서비스는 본 발명의 일 실시예에 의해 제공되는 토폴로지의 형성 서비스 및 기기 제어 서비스일 수 있다. 또한, 앱세서리 프로토콜은, 본 발명의 일 실시예에 의해 제공되는 토폴로지의 형성 서비스 및 기기 제어 서비스에 이용되는 프로토콜일 수 있다.
또한, 호스트 디바이스(1000)에 포함된 네트워크 모듈 및 주변 기기에 포함된 네트워크 모듈은 서로 데이터를 송수신할 수 있으며, 이를 통하여 호스트 디바이스(1000)에서 생성된 제어 명령이 주변 기기에게 전송되고, 주변 기기의 상태에 관한 상태 정보가 호스트 디바이스(1000)에게 전송될 수 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (39)

  1. 메인 주변 기기가 서브 주변 기기를 제어하는 방법에 있어서,
    호스트 디바이스로부터 서브 주변 기기에 관한 기기 정보를 수신하는 단계;
    상기 호스트 디바이스의 상황에 관한 상황 정보를 상기 호스트 디바이스로부터 수신하는 단계;
    토폴로지 형성 기준에 관한 토폴로지 설정 정보를 획득하는 단계;
    상기 상황 정보 및 상기 토폴로지 설정 정보에 기초하여, 토폴로지에 포함될 서브 주변 기기를 결정하는 단계;
    상기 호스트 디바이스 및 상기 결정된 서브 주변 기기와, 상기 메인 주변 기기를 연결하는 단계; 및
    상기 호스트 디바이스로부터 수신되는 제어 정보에 기초하여, 상기 서브 주변 기기를 제어하는 단계;
    를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 상황 정보는, 상기 호스트 디바이스에서 실행되는 콘텐트의 종류에 관한 정보를 포함하며,
    상기 토폴로지 설정 정보는, 상기 콘텐트의 종류에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 정보를 포함하며, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브 주변 기기의 연결 관계에 관한 정보를 포함하는 것인, 방법.
  3. 제 1 항에 있어서,
    상기 상황 정보는, 상기 호스트 디바이스에서 제공되는 서비스의 종류에 관한 정보를 포함하며,
    상기 토폴로지 설정 정보는, 상기 서비스의 종류에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 정보를 포함하며, 상기 호스트 디바이스, 상기 메인 주변 기기 및 서브 주변 기기의 연결 관계에 관한 정보를 포함하는 것인, 방법.
  4. 제 1 항에 있어서,
    상기 상황 정보는, 상기 호스트 디바이스의 사용자에 관한 사용자 정보를 포함하며,
    상기 토폴로지 설정 정보는, 상기 사용자에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 정보를 포함하며, 상기 호스트 디바이스, 상기 메인 주변 기기 및 서브 주변 기기의 연결 관계에 관한 정보를 포함하는 것인, 방법.
  5. 제 1 항에 있어서,
    상기 토폴로지 설정 정보는, 상기 메인 주변 기기의 속성에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 정보를 포함하며, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브 주변 기기의 연결 관계에 관한 정보를 포함하는 것인, 방법.
  6. 제 1 항에 있어서,
    상기 호스트 디바이스로부터 상기 서브 주변 기기를 제어하는데 이용되는 애플리케이션에 관한 애플리케이션 정보를 수신하는 단계; 및
    상기 수신된 애플리케이션 정보에 기초하여, 상기 애플리케이션을 설치하는 단계;
    를 더 포함하며,
    상기 서브 주변 기기를 제어하는 단계는, 상기 설치된 애플리케이션을 이용하여 상기 서브 주변 기기를 제어하는 것인, 방법.
  7. 제 1 항에 있어서,
    상기 토폴로지 설정 정보는, 상기 메인 주변 기기 및 상기 서브 주변 기기의 기능에 따른 상기 토폴로지 형성 기준에 관한 정보이며,
    상기 메인 주변 기기 및 상기 서브 주변 기기의 기능에 따라, 상기 토폴로지에 포함될 상기 서브 주변 기기가 결정되는 것인, 방법.
  8. 제 1 항에 있어서,
    상기 호스트 디바이스 주변의 상기 서브 주변 기기가 변경됨에 따라, 상기 변경된 서브 주변 기기를 포함하는 토폴로지를 확인하는 단계;
    상기 변경된 서브 주변 기기를 포함하는 토폴로지에 기초하여, 상기 변경된 서브 주변 기기와 연결하는 단계; 및
    상기 변경된 서브 주변 기기를 제어하는 단계;
    를 더 포함하는 것인, 방법.
  9. 제 1 항에 있어서,
    상기 서브 주변 기기의 기능에 대응되는 상기 서브 주변 기기의 펌웨어를 상기 호스트 디바이스로부터 수신하는 단계; 및
    상기 수신된 펌웨어를 상기 서브 주변 기기에게 제공하는 단계;
    를 더 포함하며,
    상기 펌웨어는, 상기 서버로부터 상기 호스트 디바이스를 경유하여 상기 메인 주변 기기에게 제공된 것인, 방법.
  10. 제 9 항에 있어서,
    상기 서브 주변 기기의 기능은, 상기 서브 주변 기기, 상기 메인 주변 기기, 및 상기 호스트 디바이스의 연결 관계에 기초하여 결정되는 것인, 방법.
  11. 호스트 디바이스가 주변 기기를 제어하는 방법에 있어서,
    주변 기기를 검색하는 단계;
    호스트 디바이스의 상황에 매칭된 토폴로지 형성 기준에 기초하여, 상기 검색된 주변 기기 중에서 메인 주변 기기 및 서브 주변 기기를 결정하는 단계;
    상기 토폴로지 형성 기준에 기초하여 상기 메인 주변 기기, 상기 서브 주변 기기 및 상기 호스트 디바이스를 연결하는 단계; 및
    상기 메인 주변 기기 및 상기 서브 주변 기기를 제어하는 단계;
    를 포함하는, 방법.
  12. 제 11 항에 있어서,
    상기 호스트 디바이스의 상황은, 상기 호스트 디바이스에서 실행되는 콘텐트의 종류를 포함하며,
    상기 토폴로지 형성 기준은, 상기 콘텐트의 종류에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 기준, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브 주변 기기의 연결 관계에 관한 기준을 포함하는 것인, 방법.
  13. 제 11 항에 있어서,
    상기 호스트 디바이스의 상황은, 상기 호스트 디바이스에서 제공되는 서비스의 종류를 포함하며,
    상기 토폴로지 형성 기준은, 상기 서비스의 종류에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 기준, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브 주변 기기의 연결 관계에 관한 기준을 포함하는 것인, 방법.
  14. 제 11 항에 있어서,
    상기 호스트 디바이스의 상황은, 상기 호스트 디바이스의 사용자를 포함하며,
    상기 토폴로지 형성 기준은, 상기 사용자에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 기준, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브 주변 기기의 연결 관계에 관한 기준을 포함하는 것인, 방법.
  15. 제 11 항에 있어서,
    상기 토폴로지 형성 기준은, 상기 메인 주변 기기의 속성에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 기준을 포함하며, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브주변 기기의 연결 관계에 관한 기준을 포함하는 것인, 방법.
  16. 제 11 항에 있어서,
    상기 메인 주변 기기를 제어하기 위한 애플리케이션을 서버로부터 수신하는 단계; 및
    상기 메인 주변 기기를 제어하기 위한 애플리케이션을 설치하는 단계;
    를 더 포함하며,
    상기 메인 주변 기기는, 상기 설치된 애플리케이션에 기초하여 상기 호스트 디바이스에 의해 제어되는 것인, 방법.
  17. 제 16 항에 있어서,
    상기 서브 주변 기기를 제어하기 위한 애플리케이션에 관한 애플리케이션 정보를 상기 메인 주변 기기에게 제공하는 단계;
    를 더 포함하며,
    상기 제공된 애플리케이션 정보에 기초하여, 상기 서브 주변 기기를 제어하기 위한 애플리케이션이 상기 메인 주변 기기에 설치되는 것인, 방법.
  18. 제 11 항에 있어서,
    상기 토폴로지 형성 기준은, 상기 메인 주변 기기 및 상기 서브 주변 기기의 기능에 따른 상기 토폴로지의 형성 기준이며,
    상기 메인 주변 기기 및 상기 서브 주변 기기의 기능에 따라, 상기 토폴로지에 포함될 메인 주변 기기 및 상기 서브 주변 기기가 결정되는 것인, 방법.
  19. 제 11 항에 있어서,
    상기 호스트 디바이스 주변의 상기 서브 주변 기기가 변경됨에 따라, 상기 변경된 서브 주변 기기를 포함하는 토폴로지를 확인하는 단계; 및
    상기 변경된 서브 주변 기기를 포함하는 토폴로지에 기초하여, 상기 변경된 서브 주변 기기를 상기 메인 주변 기기에 연결시키는 단계;
    를 더 포함하는 것인, 방법.
  20. 제 11 항에 있어서,
    상기 서브 주변 기기의 기능에 대응되는 상기 서브 주변 기기의 펌웨어를 상기 호스트 디바이스로부터 수신하는 단계; 및
    상기 수신된 펌웨어를 상기 메인 주변 기기에게 제공하는 단계;
    를 더 포함하며,
    상기 펌웨어는, 상기 메인 주변 기기로부터 상기 서브 주변 기기에게 제공되는 것인, 방법.
  21. 제 20 항에 있어서,
    상기 서브 주변 기기의 기능은, 상기 서브 주변 기기, 상기 메인 주변 기기, 및 상기 호스트 디바이스의 연결 관계에 기초하여 결정되는 것인, 방법.
  22. 주변 기기에게 호스트 디바이스의 상황에 대한 상황 정보를 전송하는 단계;
    상기 주변 기기로부터의 연결 요청에 응답하여, 상기 주변 기기 및 상기 호스트 디바이스를 연결하는 단계; 및
    상기 연결된 주변 기기를 제어하는 단계;
    를 포함하며,
    상기 호스트 디바이스의 상황 정보 및 서버로부터 상기 주변 기기에게 제공되는 토폴로지 형성 기준에 기초하여, 상기 주변 기기가 상기 호스트 디바이스에게 상기 연결을 요청할 지가 결정되고,
    상기 상황 정보 및 상기 토폴로지 형성 기준에 기초하여, 상기 주변 기기가 메인 주변 기기인지 서브 주변 기기인지가 결정되는 것인, 상기 호스트 디바이스가 주변 기기를 제어하는 방법.
  23. 소정의 토폴로지에 따라 호스트 디바이스에 연결된 메인 주변 기기에 연결된 서브 주변 기기의 펌웨어를 서버에게 요청하는 단계;
    상기 서버로부터 상기 요청된 펌웨어를 수신하는 단계; 및
    상기 수신된 펌웨어를 상기 서브 주변 기기에게 제공하는 단계;
    를 포함하며,
    상기 펌웨어를 요청하는 단계는, 상기 서브 주변 기기의 연결 관계에 관한 정보 및 상기 메인 주변 기기에 연결된 상기 서브 주변 기기의 기능에 관한 정보 중 적어도 하나를 상기 서버에게 제공하며,
    상기 서브 주변 기기에게 제공된 펌웨어는, 상기 호스트 디바이스 또는 상기 메인 주변 기기로부터 제공되는 제어 명령에 따라 상기 서브 주변 기기가 상기 서브 주변 기기의 동작을 제어하는데 이용되는 것인, 상기 호스트 디바이스가 주변 기기를 제어하는 방법.

  24. 호스트 디바이스가 주변 기기를 검색하고, 검색된 주변 기기 중 메인 주변 기기 및 서브 주변 기기를 결정하는 단계;
    상기 호스트 디바이스가, 상기 서브 주변 기기에 관한 기기 정보 및 상기 호스트 디바이스의 상황에 관한 상황 정보를 상기 메인 주변 기기에게 제공하는 단계;
    서버가 토폴로지 형성 기준에 관한 토폴로지 설정 정보를 상기 메인 주변 기기에게 제공하는 단계;
    상기 메인 주변 기기가, 상기 기기 정보, 상기 상황 정보 및 상기 토폴로지 설정 정보에 기초하여, 상기 서브 주변 기기 중 적어도 하나를 선택하는 단계;
    상기 메인 주변 기기가, 상기 선택된 서브 주변 기기를 연결하는 단계; 및
    상기 메인 주변 기기가 상기 연결된 서브 주변 기기를 제어하는 단계;
    를 포함하는, 주변 기기 제어 시스템.
  25. 적어도 하나의 프로그램이 저장되는 메모리; 및
    상기 적어도 하나의 프로그램을 실행함으로써 적어도 하나의 프로그램을 실행함으로써 주변 기기와 토폴로지를 형성하고, 상기 주변 기기를 제어하도록 하는 프로세서를 포함하고,
    상기 적어도 하나의 프로그램은,
    주변 기기를 검색하는 단계;
    호스트 디바이스의 상황에 매칭된 토폴로지 형성 기준에 기초하여, 상기 검색된 주변 기기 중에서 메인 주변 기기 및 서브 주변 기기를 결정하는 단계;
    상기 토폴로지 형성 기준에 기초하여 상기 메인 주변 기기, 상기 서브 주변 기기 및 상기 호스트 디바이스를 연결하는 단계; 및
    상기 메인 주변 기기 및 상기 서브 주변 기기를 제어하는 단계;
    를 실행하는 명령어들을 포함하는 것을 특징으로 하는, 호스트 디바이스.
  26. 제 25 항에 있어서,
    상기 호스트 디바이스의 상황은, 상기 호스트 디바이스에서 실행되는 콘텐트의 종류를 포함하며,
    상기 토폴로지 형성 기준은, 상기 콘텐트의 종류에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 기준, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브 주변 기기의 연결 관계에 관한 기준을 포함하는 것인, 호스트 디바이스.
  27. 제 25 항에 있어서,
    상기 호스트 디바이스의 상황은, 상기 호스트 디바이스에서 제공되는 서비스의 종류를 포함하며,
    상기 토폴로지 형성 기준은, 상기 서비스의 종류에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 기준, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브 주변 기기의 연결 관계에 관한 기준을 포함하는 것인, 호스트 디바이스.
  28. 제 25 항에 있어서,
    상기 호스트 디바이스의 상황은, 상기 호스트 디바이스의 사용자를 포함하며,
    상기 토폴로지 형성 기준은, 상기 사용자에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 기준, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브 주변 기기의 연결 관계에 관한 기준을 포함하는 것인, 호스트 디바이스.
  29. 제 25 항에 있어서,
    상기 토폴로지 형성 기준은, 상기 메인 주변 기기의 속성에 따라 상기 토폴로지에 포함될 주변 기기의 종류에 관한 기준을 포함하며, 상기 호스트 디바이스, 상기 메인 주변 기기 및 상기 서브주변 기기의 연결 관계에 관한 기준을 포함하는 것인, 호스트 디바이스.
  30. 제 25 항에 있어서,
    상기 적어도 하나의 프로그램은,
    상기 메인 주변 기기를 제어하기 위한 애플리케이션을 서버로부터 수신하는 단계; 및
    상기 메인 주변 기기를 제어하기 위한 애플리케이션을 설치하는 단계;
    를 실행하는 명령어들을 더 포함하며,
    상기 메인 주변 기기는, 상기 설치된 애플리케이션에 기초하여 상기 호스트 디바이스에 의해 제어되는 것인, 호스트 디바이스.
  31. 제 30 항에 있어서,
    상기 적어도 하나의 프로그램은,
    상기 서브 주변 기기를 제어하기 위한 애플리케이션에 관한 애플리케이션 정보를 상기 메인 주변 기기에게 제공하는 단계;
    를 실행하는 명령어들을 더 포함하며,
    상기 제공된 애플리케이션 정보에 기초하여, 상기 서브 주변 기기를 제어하기 위한 애플리케이션이 상기 메인 주변 기기에 설치되는 것인, 호스트 디바이스.
  32. 제 25 항에 있어서,
    상기 토폴로지 형성 기준은, 상기 메인 주변 기기 및 상기 서브 주변 기기의 기능에 따른 상기 토폴로지의 형성 기준이며,
    상기 메인 주변 기기 및 상기 서브 주변 기기의 기능에 따라, 상기 토폴로지에 포함될 메인 주변 기기 및 상기 서브 주변 기기가 결정되는 것인, 호스트 디바이스.
  33. 제 25 항에 있어서,
    상기 적어도 하나의 프로그램은,
    상기 호스트 디바이스 주변의 상기 서브 주변 기기가 변경됨에 따라, 상기 변경된 서브 주변 기기를 포함하는 토폴로지를 확인하는 단계; 및
    상기 변경된 서브 주변 기기를 포함하는 토폴로지에 기초하여, 상기 변경된 서브 주변 기기를 상기 메인 주변 기기에 연결시키는 단계;
    를 실행하는 명령어들을 더 포함하는 것인, 호스트 디바이스.
  34. 제 25 항에 있어서,
    상기 적어도 하나의 프로그램은,
    상기 서브 주변 기기의 기능에 대응되는 상기 서브 주변 기기의 펌웨어를 상기 호스트 디바이스로부터 수신하는 단계; 및
    상기 수신된 펌웨어를 상기 메인 주변 기기에게 제공하는 단계;
    를 실행하는 명령어들을 더 포함하며,
    상기 펌웨어는, 상기 메인 주변 기기로부터 상기 서브 주변 기기에게 제공되는 것인, 호스트 디바이스.
  35. 제 34 항에 있어서,
    상기 서브 주변 기기의 기능은, 상기 서브 주변 기기, 상기 메인 주변 기기, 및 상기 호스트 디바이스의 연결 관계에 기초하여 결정되는 것인, 호스트 디바이스.
  36. 제 1 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  37. 제 11 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  38. 제 22 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  39. 제 23 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020130054008A 2012-12-17 2013-05-13 토폴로지에 기초한 주변 기기 제어 시스템 및 방법 KR101833866B1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
EP13197380.2A EP2744153B1 (en) 2012-12-17 2013-12-16 System and method of controlling surrounding devices, based on topology
US14/109,312 US9438442B2 (en) 2012-12-17 2013-12-17 System and method of controlling surrounding devices, based on topology
CN201310757441.1A CN103873327B (zh) 2012-12-17 2013-12-17 基于拓扑控制周边设备的系统和方法
RU2015129037A RU2666636C2 (ru) 2012-12-17 2013-12-17 Система и способ управления окружающими устройствами на основе топологии
AU2013364730A AU2013364730B2 (en) 2012-12-17 2013-12-17 System and method of controlling surrounding devices, based on topology
JP2013259960A JP6448901B2 (ja) 2012-12-17 2013-12-17 トポロジーに基づいた周辺機器制御システム及び方法
PCT/KR2013/011722 WO2014098441A1 (en) 2012-12-17 2013-12-17 System and method of controlling surrounding devices, based on topology
US15/257,299 US9893934B2 (en) 2012-12-17 2016-09-06 System and method of controlling surrounding devices, based on topology

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20120147724 2012-12-17
KR1020120147724 2012-12-17

Publications (2)

Publication Number Publication Date
KR20140079697A true KR20140079697A (ko) 2014-06-27
KR101833866B1 KR101833866B1 (ko) 2018-04-16

Family

ID=51130706

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130054008A KR101833866B1 (ko) 2012-12-17 2013-05-13 토폴로지에 기초한 주변 기기 제어 시스템 및 방법

Country Status (4)

Country Link
JP (1) JP6448901B2 (ko)
KR (1) KR101833866B1 (ko)
AU (1) AU2013364730B2 (ko)
RU (1) RU2666636C2 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102042194B1 (ko) * 2019-08-08 2019-11-07 마인엔지니어링건축사사무소 주식회사 효율적 제어가 가능한 홈 네트워크 시스템
KR102042186B1 (ko) * 2019-08-08 2019-11-27 마인엔지니어링건축사사무소 주식회사 사용자 맞춤 설정 및 제어가 가능한 홈 네트워킹 시스템 제공 방법
KR102262984B1 (ko) * 2020-11-24 2021-06-09 주식회사 아하정보통신 블록체인을 이용한 사물인터넷 기반의 원격 제어 가능한 전자 칠판 시스템
KR102262989B1 (ko) * 2020-11-24 2021-06-10 주식회사 아하정보통신 클라우드 환경에서 음성 인식을 통하여 인공지능 제어기술을 수행하는 전자 칠판 시스템
US11201863B2 (en) 2016-10-14 2021-12-14 Samsunng Electronics Co., Ltd. Method for managing companion device, and electronic device using same

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6471534B2 (ja) 2015-02-26 2019-02-20 ブラザー工業株式会社 画像記録装置
JP7074159B2 (ja) * 2020-07-01 2022-05-24 ブラザー工業株式会社 画像記録装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003022224A (ja) * 2001-07-09 2003-01-24 Fujitsu Ltd ネットワークを介して相互接続された複数の機器の連携動作の制御
KR20040080663A (ko) * 2003-03-12 2004-09-20 삼성전자주식회사 유비퀴터스 서비스 기능을 가지는 사설 네트워크 시스템및 그의 동작방법
JP4713927B2 (ja) * 2005-04-21 2011-06-29 日本電信電話株式会社 アプリケーションプログラムの配信方法、およびこれに用いるサーバ装置
CN100499494C (zh) 2005-09-13 2009-06-10 华为技术有限公司 一种远程管理本地网络设备的系统及实现方法
RU53510U1 (ru) * 2005-10-24 2006-05-10 Сергей Александрович Шестаков Микропроцессорная информационно-управляющая система "умный дом"
US8224939B2 (en) * 2006-03-22 2012-07-17 Core Wireless Licensing, S.a.r.l. System and method for utilizing environment information in UPnP audio/video
US8700772B2 (en) * 2006-05-03 2014-04-15 Cloud Systems, Inc. System and method for automating the management, routing, and control of multiple devices and inter-device connections
JP2010244141A (ja) 2009-04-01 2010-10-28 Hitachi Software Eng Co Ltd ホームネットワークシステム、ゲートウェイ装置、及びファームウェア更新方法
CN102461198B (zh) * 2009-06-05 2014-09-03 夏普株式会社 软件更新系统、电子设备及软件更新方法
KR20120023474A (ko) * 2010-09-03 2012-03-13 엘에스산전 주식회사 댁내 전자기기의 펌웨어 업데이트 시스템과 그 방법, 에너지 계량기
FR2966672A1 (fr) 2010-10-22 2012-04-27 France Telecom Connexion dynamique d'un terminal mobile a un reseau local.
US8880726B2 (en) 2010-12-16 2014-11-04 Openet Telecom Ltd. Methods, systems and devices for dynamic context-based routing using a topology tree

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11201863B2 (en) 2016-10-14 2021-12-14 Samsunng Electronics Co., Ltd. Method for managing companion device, and electronic device using same
KR102042194B1 (ko) * 2019-08-08 2019-11-07 마인엔지니어링건축사사무소 주식회사 효율적 제어가 가능한 홈 네트워크 시스템
KR102042186B1 (ko) * 2019-08-08 2019-11-27 마인엔지니어링건축사사무소 주식회사 사용자 맞춤 설정 및 제어가 가능한 홈 네트워킹 시스템 제공 방법
KR102262984B1 (ko) * 2020-11-24 2021-06-09 주식회사 아하정보통신 블록체인을 이용한 사물인터넷 기반의 원격 제어 가능한 전자 칠판 시스템
KR102262989B1 (ko) * 2020-11-24 2021-06-10 주식회사 아하정보통신 클라우드 환경에서 음성 인식을 통하여 인공지능 제어기술을 수행하는 전자 칠판 시스템
WO2022114438A1 (ko) * 2020-11-24 2022-06-02 주식회사 아하정보통신 블록체인을 이용한 사물인터넷 기반의 원격 제어 가능한 전자 칠판 시스템
WO2022114437A1 (ko) * 2020-11-24 2022-06-02 주식회사 아하정보통신 클라우드 환경에서 음성 인식을 통하여 인공지능 제어기술을 수행하는 전자 칠판 시스템

Also Published As

Publication number Publication date
KR101833866B1 (ko) 2018-04-16
RU2666636C2 (ru) 2018-09-11
AU2013364730A1 (en) 2015-05-14
RU2015129037A (ru) 2017-01-23
AU2013364730B2 (en) 2017-01-12
JP2014120177A (ja) 2014-06-30
JP6448901B2 (ja) 2019-01-09

Similar Documents

Publication Publication Date Title
EP2744153B1 (en) System and method of controlling surrounding devices, based on topology
KR101833866B1 (ko) 토폴로지에 기초한 주변 기기 제어 시스템 및 방법
US11019130B2 (en) Method and apparatus for remotely controlling home device in home network system
US10425254B2 (en) Modular device and data management system and gateway for a communications network
KR101917126B1 (ko) 홈 네트워크 시스템에서 컨텐츠 재생 장치 및 방법
CN105634881B (zh) 应用场景推荐方法及装置
CN107683465B (zh) 控制终端设备、音频系统和音频系统控制方法
KR102252258B1 (ko) 홈 네트워크 시스템에서 홈 디바이스들의 그룹 제어 방법 및 장치
CN110795179B (zh) 一种显示方法及电子设备
KR101161862B1 (ko) 범용 플러그 앤 플레이 오디오/비디오에서 환경 정보를 활용하기 위한 시스템 및 방법
JP2016537933A (ja) 無線ネットワークに接続させるための方法、装置、プログラム及び記録媒体
WO2016000099A1 (zh) 一种提示通信事件的方法、装置及系统
CN104407702A (zh) 基于情境感知执行动作的方法、装置和系统
CN111372222A (zh) 设备连接方法、系统以及相应的终端设备和服务器
CN112153123B (zh) 控制物联网系统中的物联网装置的方法、装置及系统
US11336731B1 (en) Methods and systems for identifying devices and positions of devices in an IoT environment
WO2019144213A1 (en) Facilitating invocation of a service hosted at a proximate electronic device from a mobile software application
US11888641B1 (en) Dynamic provisioning of IoT devices from an online application marketplace
CN113497744B (zh) 控制智能家居的方法、系统、可穿戴设备及可读存储介质
US20240097931A1 (en) Decoupling IoT Devices with Soft-Wiring or other Configuration, Including Dynamic Variance of Control Group Pairings Based on Context Such as Time and/or Location
US20240098457A1 (en) Distributed Maintenance of Operational Data Among IoT Devices, with Soft-Wiring or Other Configuration
CN116804854A (zh) 智能设备控制方法及电子设备
JP2014068207A (ja) 情報処理端末、再生装置、情報制御システム、制御方法、及びプログラム

Legal Events

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