KR20140086790A - 애플리케이션 실행 방법 및 시스템 - Google Patents

애플리케이션 실행 방법 및 시스템 Download PDF

Info

Publication number
KR20140086790A
KR20140086790A KR1020130054645A KR20130054645A KR20140086790A KR 20140086790 A KR20140086790 A KR 20140086790A KR 1020130054645 A KR1020130054645 A KR 1020130054645A KR 20130054645 A KR20130054645 A KR 20130054645A KR 20140086790 A KR20140086790 A KR 20140086790A
Authority
KR
South Korea
Prior art keywords
information
devices
application
function
host device
Prior art date
Application number
KR1020130054645A
Other languages
English (en)
Other versions
KR102099913B1 (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 PCT/KR2013/011940 priority Critical patent/WO2014104658A1/en
Priority to EP13866735.7A priority patent/EP2939134B1/en
Priority to CN201380068142.5A priority patent/CN104871148B/zh
Priority to US14/140,339 priority patent/US20140188985A1/en
Publication of KR20140086790A publication Critical patent/KR20140086790A/ko
Application granted granted Critical
Publication of KR102099913B1 publication Critical patent/KR102099913B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal 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/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/361Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
    • G10H1/365Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems the accompaniment information being stored on a host computer and transmitted to a reproducing terminal by means of a network, e.g. public telephone lines
    • 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/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/175Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments for jam sessions or musical collaboration through a network, e.g. for composition, ensemble playing or repeating; Compensation of network or internet delays therefor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/201Physical layer or hardware aspects of transmission to or from an electrophonic musical instrument, e.g. voltage levels, bit streams, code words or symbols over a physical link connecting network nodes or instruments
    • G10H2240/241Telephone transmission, i.e. using twisted pair telephone lines or any type of telephone network
    • G10H2240/251Mobile telephone transmission, i.e. transmitting, accessing or controlling music data wirelessly via a wireless or mobile telephone receiver, analog or digital, e.g. DECT GSM, UMTS

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 디바이스와 복수의 외부 디바이스간의 상호 작용이 가능한 애플리케이션 실행 방법 및 시스템과 그 기록 매체에 관한 것이다. 본 발명에 따른 애플리케이션 실행 방법은, 애플리케이션에 대한 선택 신호를 수신하는 단계; 상기 애플리케이션에 의해 분배 가능한 기능 정보를 디스플레이 하는 단계; 상기 기능 정보와 복수의 디바이스를 매핑하는 단계; 및 상기 매핑된 정보에 기초하여 상기 복수의 디바이스로 기능 수행을 요청하는 단계를 포함한다.

Description

애플리케이션 실행 방법 및 시스템{METHOD AND SYSTEM FOR EXECUTING APPLICATION}
본 발명은 디바이스와 외부 디바이스간의 상호 작용을 기반으로 하는 애플리케이션 실행 방법 및 시스템에 관한 것이다.
디바이스(device)가 스마트해지면서 디바이스에 연결될 수 있는 외부 디바이스의 종류가 다양해질 뿐 아니라, 디바이스가 다른 디바이스의 외부 디바이스로서 사용이 가능해지고 있다.
그러나, 기존의 디바이스에 설치되는 외부 디바이스에 관련된 애플리케이션은 디바이스와 하나의 외부 디바이스간의 상호 작용을 기반으로 하는 애플리케이션들이다. 따라서 디바이스와 복수의 외부 디바이스간의 상호 작용을 기반으로 하는 애플리케이션이 요구되고 있다.
본 발명이 해결하고자 하는 과제는 디바이스와 복수의 외부 디바이스간의 상호 작용이 가능한 애플리케이션 실행 방법 및 시스템과 그 기록 매체를 제공하는데 있다.
본 발명이 해결하고자 하는 다른 과제는 복수의 디바이스에 기능 분배가 가능한 애플리케이션 실행 방법 및 시스템과 그 기록 매체를 제공하는데 있다.
본 발명이 해결하고자 하는 또 다른 과제는 복수의 사용자의 디바이스에 기능 분배가 가능한 애플리케이션 실행 방법 및 시스템과 그 기록 매체를 제공하는데 있다.
상기 과제들을 달성하기 위한 본 발명의 바람직한 일 실시 예에 따른 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법은, 애플리케이션에 대한 선택 신호를 수신하는 단계; 상기 애플리케이션에 의해 분배 가능한 기능 정보를 디스플레이 하는 단계; 상기 기능 정보와 복수의 디바이스를 매핑하는 단계; 및 상기 매핑된 정보에 기초하여 상기 복수의 디바이스로 기능 수행을 요청하는 단계를 포함하는 것이 바람직하다.
상기 기능 정보와 상기 복수의 디바이스를 매핑하는 단계는, 상기 복수의 디바이스 각각의 사용자에 관한 정보, 상기 복수의 디바이스 각각의 규격 정보, 및 상기 복수의 디바이스 각각에 설치된 애플리케이션에 관한 정보중 적어도 하나와 상기 기능 정보를 이용하여 수행되는 것이 바람직하다.
상기 사용자에 관한 정보는 상기 사용자의 프로파일 정보를 포함하고, 상기 사용자의 프로파일 정보는 상기 사용자와 관련된 애플리케이션에 대한 사용 이력 정보를 포함하는 것이 바람직하다.
상기 애플리케이션에 관한 정보는 애플리케이션의 타입 정보, 애플리케이션의 버전 정보, 및 애플리케이션의 설정 정보중 적어도 하나를 포함하는 것이 바람직하다.
상기 디바이스 각각의 규격 정보는 상기 디바이스 각각의 환경 설정 정보 및 상기 디바이스 각각의 하드웨어 규격 정보중 적어도 하나를 포함하는 것이 바람직하다.
상기 기능 정보와 상기 복수의 디바이스를 매핑하는 단계는, 상기 기능 정보에 관한 디스플레이 순서와 상기 호스트 디바이스와 적어도 하나의 외부 디바이스간의 근거리 통신 발생 감지 순서에 기초하여 수행되는 것이 바람직하다.
상기 복수의 디바이스는 상기 호스트 디바이스의 외부 디바이스를 포함하거나 상기 호스트 디바이스와 상기 호스트 디바이스의 적어도 하나의 외부 디바이스를 포함하는 것이 바람직하다.
상기 애플리케이션 실행 방법은, 상기 복수의 디바이스에 관한 정보를 수신하는 단계를 더 포함하는 것이 바람직하다.
상기 복수의 디바이스에 관한 정보는 상기 복수의 디바이스 각각과 상기 복수의 디바이스에 관한 정보를 관리하는 서버중 하나로부터 수신되는 것이 바람직하다.
상기 기능 정보와 상기 복수의 디바이스를 매핑하는 단계는, 상기 호스트 디바이스의 주변 디바이스를 검색하고, 상기 검색된 주변 디바이스에 관한 정보, 및 상기 기능 정보를 이용하여 상기 매핑을 수행하는 것이 바람직하다.
상기 검색된 주변 디바이스에 관한 정보는, 상기 주변 디바이스의 사용자에 관한 정보, 상기 주변 디바이스의 하드웨어 규격 정보, 상기 주변 디바이스의 환경 설정 정보 및 상기 주변 디바이스에 설치된 애플리케이션에 관한 정보중 적어도 하나를 포함하는 것이 바람직하다.
상기 기능 정보는, 상기 애플리케이션에 사전에 설정되거나 호스트 디바이스의 사용자에 의해 설정되거나 상기 애플리케이션의 기능 정보에 기초하여 상기 호스트 디바이스의 사용자에 의해 선택되는 것이 바람직하다.
상기 적어도 하나의 외부 디바이스에 관한 정보는 상기 외부 디바이스 각각과 상기 외부 디바이스에 관한 정보를 관리하는 서버중 하나로부터 수신되는 것이 바람직하다.
상기 애플리케이션 실행 방법은, 상기 복수의 디바이스로부터 기능 수행 결과를 수신하는 단계; 및 상기 복수의 디바이스로부터 수신된 기능 수행 결과에 기초하여 적어도 하나의 컨텐트를 생성하는 단계를 더 포함하는 것이 바람직하다.
상기 애플리케이션 실행 방법은, 상기 복수의 디바이스에 의한 기능 수행을 실시간으로 모니터링하는 단계를 더 포함하는 것이 바람직하다.
상기 과제들을 달성하기 위한 본 발명의 바람직한 일 실시 예에 따른 디바이스는, 적어도 하나의 외부 디바이스와 디바이스에 관한 정보, 및 적어도 하나의 프로그램을 저장하는 저장부; 적어도 하나의 외부 디바이스와 통신하는 통신부; 사용자의 입력 정보를 수신하고, 상기 적어도 하나의 프로그램 실행에 따른 정보를 출력하는 터치 스크린; 및 상기 터치 스크린 기반의 사용자 인터페이스를 제공하고, 상기 적어도 하나의 프로그램을 실행함으로써 복수의 디바이스에 기능 분배가 가능한 애플리케이션을 실행하는 프로세서를 포함하고, 상기 적어도 하나의 프로그램은, 상기 애플리케이션에 대한 선택 신호를 수신하는 단계; 상기 애플리케이션에 의해 분배 가능한 기능 정보를 디스플레이 하는 단계; 상기 기능 정보와 복수의 디바이스를 매핑하는 단계; 및 상기 매핑된 정보에 기초하여 상기 복수의 디바이스로 기능 수행을 요청하는 단계를 실행하는 명령어들을 포함하는 것이 바람직하다.
상기 과제들을 달성하기 위한 본 발명의 바람직한 다른 실시 예에 따른 애플리케이션 실행 방법은, 애플리케이션에 대한 선택 신호를 수신하는 단계; 상기 애플리케이션에 의해 분배 가능한 기능 정보를 디스플레이 하는 단계; 상기 기능 정보와 복수의 사용자를 매핑하는 단계; 및 상기 매핑된 정보에 기초하여 상기 복수의 사용자의 디바이스로 기능 수행을 요청하는 단계를 포함하는 것이 바람직하다.
상기 기능 정보와 상기 복수의 사용자를 매핑하는 단계는, 상기 복수의 사용자 각각에 관한 정보, 상기 복수의 사용자의 디바이스에 관한 정보, 상기 복수의 사용자의 디바이스 각각의 규격 정보, 및 상기 복수의 사용자의 디바이스 각각에 설치된 애플리케이션에 관한 정보 중 적어도 하나와 상기 기능 정보를 이용하여 수행되는 것이 바람직하다.
상기 사용자에 관한 정보는 상기 사용자의 연락처 정보, 및 프로파일 정보를 포함하고, 상기 사용자의 프로파일 정보는 상기 사용자와 관련된 애플리케이션에 대한 사용 이력 정보를 포함하는 것이 바람직하다.
상기 복수의 사용자의 디바이스에 관한 정보는 선택된 통신 방식에 매핑된 사용자의 디바이스 정보를 포함하는 것이 바람직하다.
상기 과제들을 달성하기 위한 본 발명의 바람직한 다른 실시 예에 따른 디바이스는, 복수의 사용자에 관한 정보, 및 적어도 하나의 프로그램을 저장하는 저장부; 상기 복수의 사용자중 선택된 사용자의 디바이스와 통신하는 통신부; 사용자의 입력 정보를 수신하고, 상기 적어도 하나의 프로그램 실행에 따른 정보를 출력하는 터치 스크린; 및 상기 터치 스크린 기반의 사용자 인터페이스를 제공하고, 상기 적어도 하나의 프로그램을 실행함으로써 복수의 사용자에게 기능 분배가 가능한 애플리케이션을 실행하는 프로세서를 포함하고, 상기 적어도 하나의 프로그램은, 애플리케이션에 대한 선택 신호를 수신하는 단계; 상기 애플리케이션에 의해 분배 가능한 기능 정보를 디스플레이 하는 단계; 상기 기능 정보와 상기 복수의 사용자를 매핑하는 단계; 및 상기 매핑된 정보에 기초하여 상기 통신부를 통해 상기 복수의 사용자에 관련된 적어도 하나의 디바이스로 기능 수행을 요청하는 단계를 실행하는 명령어들을 포함하는 것이 바람직하다.
상기 과제들을 달성하기 위한 본 발명의 바람직한 실시 예에 따른 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법을 실행하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 상기 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법은 상술한 애플리케이션 실행 방법과 같이 수행된다.
도 1은 본 발명의 바람직한 실시 예에 따른 애플리케이션 실행 시스템의 기능 블록도이다.
도 2는 본 발명의 바람직한 일 실시 예에 따른 애플리케이션 실행 방법을 설명하기 위한 동작 흐름도이다.
도 3 내지 도 6은 호스트 디바이스와 제 1 내지 제 n 외부 디바이스간의 커넥션 예를 설명하기 위한 동작 흐름도이다.
도 7은 도 2에서 호스트 디바이스에 관한 동작을 설명하기 위한 화면 예이다.
도 8은 도 7에서와 같이 합주 애플리케이션이 선택될 때, 호스트 디바이스와 제 1 내지 제 5 외부 디바이스간의 관계를 나타낸 도면이다.
도 9는 도 2의 동작 흐름도에서 선택된 애플리케이션이 UCC 애플리케이션인 경우의 호스트 디바이스의 화면의 예이다.
도 10은 도 9에 도시된 화면에 따라 UCC 애플리케이션 선택시, 호스트 디바이스와 제 1 내지 제 3 외부 디바이스간의 관계를 나타내는 도면이다.
도 11은 도 2의 동작 흐름도에 따라 애니메이션 편집 애플리케이션 선택시, 호스트 디바이스와 제 1 내지 제 2 외부 디바이스간의 관계를 나타내는 도면이다.
도 12는 도 2의 동작 흐름도에 따라 게임 애플리케이션 선택시 호스트 디바이스와 제 1 내지 제 2 외부 디바이스간의 관계를 나타내는 도면이다.
도 13은 본 발명의 바람직한 다른 실시 예에 따른 애플리케이션 실행 방법의 동작 흐름도이다.
도 14는 도 13의 동작 흐름도에 기초하여 합주 애플리케이션이 선택될 때, 호스트 디바이스와 제 1 내지 제 5 외부 디바이스간의 관계를 나타내는 도면이다.
도 15는 실시간으로 각 외부 디바이스에 의해 실행되고 있는 것을 모니터링하는 호스트 디바이스의 화면의 예이다.
도 16은 본 발명의 바람직한 또 다른 실시 예에 따른 애플리케이션 실행 방법을 설명하기 위한 동작 흐름도이다.
도 17은 도 1에 도시된 호스트 디바이스의 기능 블록도이다.
도 18은 도 17에 도시된 저장부에 저장되는 프로그램 및/또는 명령어 세트를 모듈별로 분류한 예이다.
도 19는 도 1에 도시된 외부 디바이스의 기능 블록도이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 본 출원에서 사용한 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나 이는 당 분야에 종사하는 기술자의 의도, 판례, 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 출원에서 언급되는 디바이스는 토폴로지(topology)에 따라 호스트 디바이스와 외부 디바이스로 정의될 수 있으나 이로 제한되지 않는다. 예를 들어, 디바이스는 토폴로지에 따라 호스트 디바이스와 주변 디바이스로 정의되거나 호스트 디바이스, 메인 주변 디바이스 및 서브 주변 디바이스로 정의되거나 호스트 디바이스와 서브 호스트 디바이스로 정의될 수 있다. 토폴로지란 디바이스들(또는 노드들)간의 연결 형태를 의미한다. 토폴로지는 물리적 토폴로지 및 논리적 토폴로지를 포함할 수 있다.
토폴로지는 토폴로지 구조(topology structure)에 속한 디바이스들 사이의 물리적 또는 논리적 연결 구성에 의해 결정될 수 있다. 예를 들어, 토폴로지는, 디바이스들의 연결 관계, 디바이스간의 연결 방법, 디바이스간의 데이터 전송 속도, 디바이스간에 전송되는 데이터의 흐름(data flow), 디바이스간에 전송되는 신호의 종류, 디바이스에 설치된 애플리케이션의 종류, 및 디바이스간에 설치된 애플리케이션간의 관계 중 적어도 하나에 의해 다른 토폴로지와 구별될 수 있으나 이에 제한되지 않는다.
또한, 본 명세서에서 토폴로지를 형성하는 호스트 디바이스와 복수의 외부 디바이스는 토폴로지 구조내에서의 다른 디바이스에 대한 디바이스의 역할에 의해 결정될 수 있다. 따라서, 소정의 디바이스는 형성된 토폴로지 내에서 호스트 디바이스와 외부 디바이스중 적어도 하나로 동작할 수 있으나 이로 제한되지 않는다.
명세서 전반에서 언급되고 있는 호스트 디바이스는 기능 분배가 가능한 애플리케이션을 이용하여 복수의 디바이스 또는 복수의 사용자의 디바이스에 기능을 분배하고, 분배된 기능 수행을 요청할 수 있다.
복수의 디바이스는 호스트 디바이스의 외부 디바이스를 포함할 수 있다. 이러한 경우에, 애플리케이션에 의한 기능 분배는 호스트 디바이스의 외부 디바이스를 대상으로 하는 것을 의미한다. 예를 들어, 애플리케이션이 합주 애플리케이션(또는 연주 애플리케이션 또는 악기 연주 애플리케이션)이고, 분배 가능한 기능이 키보드 기능과 드럼 기능 일 때, 호스트 디바이스는 2개의 외부 디바이스로 각각 키보드 기능과 드럼 기능 수행을 요청할 수 있다. 예를 들어 애플리케이션이 노래방 애플리케이션이고, 분배 가능한 기능이 마이크 기능, 탬버린 기능, 북 기능일 때, 호스트 디바이스는 3개의 외부 디바이스로 각각 마이크 기능, 탬버린 기능, 및 북 기능 수행을 요청할 수 있다.
복수의 디바이스는 호스트 디바이스와 호스트 디바이스의 적어도 하나의 외부 디바이스를 포함할 수 있다. 이러한 경우에, 애플리케이션에 의한 기능 분배는 호스트 디바이스와 호스트 디바이스의 적어도 하나의 외부 디바이스를 대상으로 하는 것을 의미한다. 예를 들어, 애플리케이션이 합주 애플리케이션이고, 분배 가능한 기능이 키보드 기능과 드럼 기능 일 때, 호스트 디바이스는 키보드 기능을 수행하고, 하나의 외부 디바이스로 드럼 기능 수행을 요청할 수 있다.
복수의 디바이스는 동일한 사용자의 디바이스일 수 있다. 그러나 복수의 디바이스는 서로 다른 사용자의 디바이스 일 수 있다. 복수의 디바이스는 하나의 중계기(예를 들어, 액세스 포인트(Access Point))에 연결된 복수의 디바이스를 포함할 수 있다. 복수의 디바이스는 원거리 통신을 기반으로 하는 복수의 디바이스를 포함할 수 있다. 복수의 디바이스는 원거리 통신을 기반으로 하는 적어도 하나의 디바이스와 근거리 통신을 기반으로 하는 적어도 하나의 디바이스를 포함할 수 있다.
복수의 사용자는 호스트 디바이스의 사용자 A 이외의 복수의 사용자를 포함할 수 있다. 이러한 경우에, 애플리케이션에 의한 기능 분배는 호스트 디바이스이외의 복수의 사용자의 디바이스를 대상으로 하는 것을 의미할 수 있다. 예를 들어, 애플리케이션이 합주 애플리케이션이고, 분배 가능한 기능이 키보드 기능과 드럼 기능이고, 호스트 디바이스의 사용자가 A일 때, 사용자 B와 사용자 C의 디바이스로 각각 키보드 기능과 드럼 기능 수행을 요청할 수 있다. 사용자 B와 사용자 C의 디바이스는 상술한 분배 가능한 기능중 적어도 하나의 기능을 수행할 수 있는 디바이스이다. 사용자 B와 사용자 C의 디바이스는 호스트 디바이스의 사용자 A에 의한 사용자 B와 사용자 C의 선택에 의해 선택될 수 있다.
복수의 사용자는 호스트 디바이스의 사용자 A와 호스트 디바이스의 사용자 이외의 적어도 하나의 사용자 B를 포함할 수 있다. 이러한 경우에, 애플리케이션에 의한 기능 분배는 호스트 디바이스와 사용자 B의 디바이스를 대상으로 하는 것을 의미할 수 있다. 예를 들어, 애플리케이션이 합주 애플리케이션이고, 분배 가능한 기능이 키보드 기능과 드럼 기능이고, 호스트 디바이스의 사용자가 A일 때, 호스트 디바이스와 사용자 B의 디바이스로 키보드 기능과 드럼 기능 수행을 요청할 수 있다. 사용자 B의 디바이스는 상술한 분배 가능한 기능중 적어도 하나의 기능을 수행할 수 있는 디바이스이다.
복수의 사용자는 하나의 중계기(예를 들어, 액세스 포인트)에 연결될 수 있는 물리적 영역 또는 논리적 영역에서 디바이스를 갖고 있는 복수의 사용자를 포함할 수 있다. 물리적 영역은, 예를 들어, 홈(Home), 오피스(Office), 연습실 등과 같은 명칭으로 구분될 수 있는 물리적인 도메인을 포함하나 이로 제한되지 않는다. 논리적 영역은 IP(Internet Protocol) 서브넷(Subnet) 등으로 정의된 도메인을 포함하나 이에 제한되지 않는다. 복수의 사용자는 원거리 통신이 가능한 위치에서 디바이스를 갖고 있는 복수의 사용자를 포함할 수 있다. 복수의 사용자는 원거리 통신이 가능한 위치에서 디바이스를 갖고 있는 적어도 하나의 사용자와 근거리 통신이 가능한 위치에서 디바이스를 갖고 있는 적어도 하나의 사용자를 포함할 수 있다.
기능 분배가 가능한 애플리케이션은 분배된 기능에 관련된 애플리케이션의 메인 애플리케이션이라고 정의할 수 있다. 분배된 기능에 관련된 애플리케이션은 상술한 기능 분배가 가능한 애플리케이션의 서브 애플리케이션이라고 정의할 수 있다. 예를 들어, 상술한 합주 애플리케이션은 키보드 기능에 관련된 애플리케이션의 메인 애플리케이션으로 정의하고, 키보드 기능에 관련된 애플리케이션은 합주 애플리케이션의 서브 애플리케이션으로 정의할 수 있다.
상술한 합주 애플리케이션과 키보드 기능에 관련된 애플리케이션간의 관계에 의해 합주 애플리케이션이 설치된 디바이스는 호스트 디바이스로 정의되고 키보드 기능에 관련된 애플리케이션이 설치된 디바이스는 외부 디바이스로 정의될 수 있다.
그러나, 호스트 디바이스와 외부 디바이스에 각각 동일한 합주 애플리케이션이 설치되고, 본 발명의 바람직한 실시 예에서 언급되는 호스트 디바이스와 외부 디바이스의 역할을 수행할 수 있다. 이러한 경우에, 외부 디바이스는 서브 호스트 디바이스로 언급될 수 있다.
외부 디바이스는 호스트 디바이스에 의해 외부 디바이스에 관련된 애플리케이션을 실행하여 제어할 수 있는 하드웨어와 소프트웨어로 구성될 수 있다. 이러한 경우에, 외부 디바이스는, 예를 들어, 키보드 기능을 수행하는 액세서리로 구성될 수 있다.
메인 애플리케이션은 서브 애플리케이션을 포함하고, 포함된 서브 애플리케이션을 이용하여 디바이스를 제어할 수 있다. 예를 들어, 애플리케이션이 합주 애플리케이션이고, 분배 가능한 기능이 키보드 기능과 드럼 기능이고, 호스트 디바이스가 키보드 기능을 수행하고, 하나의 외부 디바이스가 드럼 기능을 수행할 때, 호스트 디바이스에 의해 실행되는 키보드 기능에 관련된 애플리케이션은 호스트 디바이스에 설치된 합주 애플리케이션의 서브 애플리케이션으로서, 호스트 디바이스를 제어할 수 있다.
기능 분배가 가능한 애플리케이션은 복수의 기능을 설정할 수 있는 애플리케이션이다. 예를 들어, 상술한 합주 애플리케이션(ensemble application), UCC(User Created Contents) 애플리케이션, 편집 애플리케이션, 및 복수의 역할 설정이 가능한 게임 애플리케이션 등이 기능 분배가 가능한 애플리케이션이나 이에 제한되지 않는다. 명세서 전반에서 언급되고 있는 애플리케이션은 호스트 디바이스와 외부 디바이스간의 상호 작용을 기반으로 특정한 업무(task)를 수행하는 일련의 컴퓨터 프로그램으로 언급될 수 있다.
명세서 전반에서 언급되는 입력 정보는 사용자의 입력 정보로서, 터치 기반의 입력 정보이다. 터치 기반의 입력 정보는 사용자의 요청(request) 또는 사용자의 선택(selection)(예를 들어, 애플리케이션에 의해 분배 가능한 기능 정보와 매핑하기 위한 디바이스의 선택) 또는 사용자의 명령(command)(예를 들어, 기능 정보와 매핑된 디바이스로 기능 수행 요청) 등을 포함할 수 있으나 이로 제한되지 않는다.
터치 기반의 입력 정보는 터치 기반의 사용자의 제스처(gesture)에 의존할 수 있다. 터치 기반의 사용자의 제스처는, 예를 들어, 탭(tap 또는 터치), 롱 탭(long tap 또는 롱 터치), 터치 앤 홀드(touch and hold), 터치 앤 드래그(touch and drag), 더블 탭(double tap), 드래그(drag), 패닝(panning), 플릭(flick), 드래그 앤 드롭(drag and drop), 및 스윕(sweep) 등을 포함할 수 있으나 이에 제한되지 않는다.
입력 정보는 상술한 터치 기반의 사용자의 제스처로 제한되지 않는다. 예를 들어, 입력 정보는 모션 기반(motion-based) 또는 비전 기반(vision-based)으로 정의될 수 있다. 모션 기반의 입력 정보는 사용자에 의한 디바이스의 움직임 기반의 사용자의 제스처(예를 들어, 디바이스 흔들기, 디바이스 치기 등)에 기초할 수 있다. 비전 기반의 입력 정보는 디바이스와 접촉 없이 카메라를 이용하여 획득된 입력 영상의 분석을 통해 인식된 사용자의 제스처에 기초할 수 있다.
이하, 본 발명의 바람직한 실시 예들을 첨부 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 바람직한 실시 예에 따른 애플리케이션 실행 시스템(100)의 기능 블록도이다. 도 1에 도시된 애플리케이션 실행 시스템(100)은 호스트 디바이스(110)에 의해 선택된 애플리케이션의 복수의 기능을 제 1 내지 제 n 외부 디바이스(120_1~120_n)로 분배하여 수행시키고, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 의해 수행된 결과를 수신한 예이다.
도 1을 참조하면, 애플리케이션 실행 시스템(100)은 호스트 디바이스(110), 및 제 1 내지 제 n 외부 디바이스(120_1~120_n)를 포함하나 이에 제한되지 않는다. 예를 들어, 애플리케이션 실행 시스템(100)은 미 도시된 중계기, 네트워크, 및 서버 중 적어도 하나를 더 포함하도록 도시할 수 있다.
미 도시된 중계기는 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간을 중계할 수 있다. 중계기는 게이트웨이에 포함될 수 있다. 미 도시된 서버는 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보를 관리하고 제공할 수 있다. 미 도시된 서버는 퍼블릭 클라우드(public cloud), 및 프라이빗 클라우드(private cloud)중 적어도 하나를 포함하는 것으로 정의될 수 있으나 이에 제한되지 않는다. 즉, 미 도시된 서버는 본 발명의 바람직한 실시 예에서 필요한 디바이스에 관한 정보 또는 사용자에 관한 정보를 제공하는 정보 제공 서버로 정의될 수 있다.
호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보는 각 디바이스의 사용자에 관한 정보, 각 디바이스의 규격 정보, 각 디바이스에 설치된 애플리케이션에 관한 정보, 및 각 디바이스의 연결 정보를 포함하나 이에 제한되지 않는다.
각 디바이스의 사용자에 관한 정보는 사용자의 프로파일 정보를 포함한다. 사용자의 프로파일 정보는 사용자의 식별 정보(예를 들어, 사용자의 이름), 애플리케이션에 대한 사용 이력 정보를 포함하나 이에 제한되지 않는다. 애플리케이션에 대한 사용 이력 정보는, 예를 들어, 애플리케이션의 사용 횟수 및 사용 주기 정보 등을 포함할 수 있으나 이에 제한되지 않는다.
각 디바이스의 규격 정보는, 예를 들어, 각 디바이스의 하드웨어 규격 정보, 각 디바이스의 환경 설정 정보, 각 디바이스의 종류, 각 디바이스의 이름, 각 디바이스의 네트워크 주소, 제어 명령 리스트, 및 각 디바이스의 상태 정보 등을 포함할 수 있으나 이에 제한되지 않는다. 각 디바이스에 설치된 애플리케이션에 관한 정보와 각 디바이스의 연결 정보는 하기 도 3 내지 도 6에서 좀더 상세하게 설명하기로 한다.
제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보는 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간에 물리적인 커넥션이 설정되었을 때, 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 제공될 수 있다. 물리적인 커넥션이란 서비스 커넥션전의 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간의 베이직 커넥션(basic connection)을 말한다. 물리적인 커넥션은 호스트 디바이스(110)에 의한 주변 디바이스에 대한 디스커버리(Discovery) 동작 또는 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간의 근거리 통신이 발생될 때 설정될 수 있으나 이로 제한되지 않는다. 여기서 근거리 통신은, 예를 들어, NFC(Near Field Communication) 또는 BLE(Bluetooth Low Energy) 기반 통신으로 수행될 수 있다.
호스트 디바이스(110)는 기능 분배가 가능한 애플리케이션이 선택되면, 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 기능을 분배하고, 분배된 기능 수행을 제 1 내지 제 n 외부 디바이스(120_1~120_n)로 요청할 수 있다. 호스트 디바이스(110)는 상술한 바와 같이 기능을 분배할 복수의 디바이스에 호스트 디바이스(110)를 포함시킬 수 있다. 호스트 디바이스(110)는 복수의 사용자를 선택하여 복수의 사용자의 디바이스에 기능을 분배할 수 있다. 그러나, 이하 설명의 편의를 위하여, 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 기능을 분배하는 것으로 설명한다.
호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 기능을 분배하기 위하여, 선택된 애플리케이션에 의해 분배 가능한 기능 정보와 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보를 이용하여 상술한 기능 정보와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간을 1:1로 매핑한다. 이러한 매핑은 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간에 서로 연결 가능한 기능을 매칭(Matching)하는 것으로 볼 수 있으므로, 서비스 매칭(Service Matching)이라고 언급할 수 있다. 상술한 기능 정보와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간의 매핑은 1:1 매핑으로 제한되지 않는다. 즉, 기능 정보에 따라 1:N(기능 정보: 외부 디바이스) 매핑도 가능하다. 매핑 방법은 후술할 본 발명의 바람직한 실시 예들에서 좀더 상세하게 언급할 것이다.
호스트 디바이스(110)는 분배 가능한 기능 정보와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간을 매핑한 후, 매핑된 정보에 기초하여 제 1 내지 제 n 외부 디바이스(120_1~120_n)로 기능 수행을 요청한다.
기능 수행을 요청하기 위하여, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 대한 서비스 커넥션(service connection)을 설정할 수 있다. 서비스 커넥션은 제 1 내지 제 n 외부 디바이스(120_1~120_n)별로 TCP(Transmission Control Protocol)소켓을 할당하여 설정될 수 있다. 즉, 호스트 디바이스(110)는 상술한 물리적인 커넥션을 통해 제 1 내지 제 n 외부 디바이스(120_1~120_n)로 각각의 IP 주소와 포트 정보를 전송한다. 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 각각 수신된 IP 주소와 포트 정보를 이용하여 호스트 디바이스(110)에 접근한다. 이에 따라 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 대해 각각의 TCP 소켓을 할당하여 서비스 커넥션을 설정하고, 제 1 내지 제 n 외부 디바이스(120_1~120_n)로 상술한 분배된 기능 수행을 요청한다.
호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)로 분배된 기능 수행을 요청한 후, 작업을 종료할 수 있다. 그러나, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)로 분배된 기능 수행을 요청한 후, 제 1 내지 제 n 외부 디바이스(120_1~120_n)와의 서비스 커넥션을 유지하면서 각 외부 디바이스에 의한 기능 수행을 실시간으로 모니터링하고, 모니터링 결과를 호스트 디바이스(110)의 사용자가 인식할 수 있도록 출력할 수 있다.
호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 의해 수행된 결과를 수신할 수 있다. 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 의해 수행된 결과를 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 직접 수신할 수 있으나 미 도시된 서버 또는 미 도시된 중계기를 통해 수신할 수 있다. 호스트 디바이스(110)는 수신된 결과를 이용하여 하나의 컨텐트를 생성할 수 있다. 수신된 결과를 이용하여 하나의 컨텐트를 생성하는 것은 후술할 실시 예에서 좀더 상세하게 설명할 것이다.
이에 따라 호스트 디바이스(110)는 애플리케이션에 포함된 복수의 기능을 복수의 디바이스에 분배하여 실행시키고, 실행한 결과를 모아 하나의 결과물을 만들 수 있다. 호스트 디바이스(110)가 하나의 결과물을 만들 수 있다는 관점에서 본 출원의 바람직한 실시 예에서 언급되는 애플리케이션은 컨텐트 생성 애플리케이션으로 언급될 수 있다.
호스트 디바이스(110)는, 일 예로, 스마트 폰(Smart Phone), 스마트 TV, PC(Personal Computer), 데스크탑(Desktop) PC, 노트북(Notebook), 스마트 보드(Smart Board), 태블릿(Tablet) PC, 내비게이션, 모바일 기기(Mobile Device), 핸드헬드(handheld) 기기 또는 핸드헬드 컴퓨터, 미디어 플레이어, 전자북 단말기, PDA(Personal Digital Assistant), 터치 기반의 사용자의 제스처를 입력할 수 있는 디지털 카메라, 및 디지털 CE(Consumer Electronics, 예를 들어, 이미지 디스플레이 및 터치 기반의 사용자의 제스처를 입력할 수 있는 기능을 갖는 장치) 등이 될 수 있으나 이에 제한되지 않는다.
호스트 디바이스(110)에 설치되는 복수의 디바이스에 기능 분배가 가능한 애플리케이션은 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관련된 애플리케이션을 연결시킬 수 있는 복합 기능 애플리케이션일 수 있다. 이러한 경우에 호스트 디바이스(110)에 설치된 애플리케이션은 메인 애플리케이션으로 언급하고, 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 설치된 애플리케이션은 호스트 디바이스(110)에 설치된 애플리케이션의 서브 애플리케이션으로 언급할 수 있다.
호스트 디바이스(110)는 상술한 복수의 다바이스에 기능 분배가 가능한 애플리케이션이 설치되어 있지 않은 경우에 미 도시된 서버 또는 임의의 외부 디바이스로부터 다운받아 상술한 애플리케이션을 설치할 수 있다. 임의의 외부 디바이스는 제 1 내지 제 n 외부 디바이스(120_1~120_n)중 하나일 수 있으나 이에 제한되지 않는다.
제 1 내지 제 n 외부 디바이스(120_1~120_n)는 호스트 디바이스(110)에 기초한 홈 네트워크 또는 로컬 도메인(local domain)에 포함된 디바이스일 수 있다. 로컬 도메인이란, 예를 들어, 홈, 사무실, 및 레스토랑 등과 같이 명칭을 부여할 수 있는 물리적으로 제한된 공간일 수 있다. 이러한 경우에 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 호스트 디바이스(110)의 로컬 디바이스로 언급될 수 있다.
제 1 내지 제 n 외부 디바이스(120_1~120_n)는 상술한 바와 같이 호스트 디바이스(110)의 주변 디바이스로 언급될 수 있다. 그러나 제 1 내지 제 n 외부 디바이스(120_1~120_n)간의 관계에 따라 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 메인 주변 디바이스 또는 서브 주변 디바이스로 언급될 수 있다.
예를 들어, 호스트 디바이스(110)에 의해 제 1 내지 제 3 외부 디바이스(120_1~120_3)로 분배된 기능 수행을 요청하였을 때, 제 2 외부 디바이스(120_2)에 의해 분배된 기능을 정상적으로 수행하지 못할 것으로 판단된 경우에, 제 2 외부 디바이스(120_2)는 제 4 내지 제 n 외부 디바이스(120_4~120_n)중 제 2 외부 디바이스(120_2)로 분배된 기능을 수행할 수 있는 디바이스를 검색할 수 있다. 디바이스 검색은 디바이스 디스커버리 동작에 의해 수행될 수 있다.
제 2 외부 디바이스(120_2)에 의한 디바이스 검색에 의해 제 n 외부 디바이스(120_n)가 검색되고, 제 n 외부 디바이스(120_n)가 제 2 외부 디바이스(120_2)의 요구에 의해 제 2 외부 디바이스(120_2)로 분배된 기능을 수행하게 될 경우에, 제 2 외부 디바이스(120_2)는 호스트 디바이스(110)의 메인 주변 디바이스로 언급되고, 제 n 외부 디바이스(120_n)는 호스트 디바이스(110)의 서브 주변 디바이스로 언급될 수 있다.
그러나 메인 주변 디바이스와 서브 주변 디바이스간의 관계는 상술한 예로 제한되지 않는다. 예를 들어, 디바이스간의 관계가 계층적 구조로 정의된 경우에, 계층적 구조에 기초하여 메인 주변 디바이스와 서브 주변 디바이스가 정의될 수 있다.
제 2 외부 디바이스(120_2)에 의해 분배된 기능을 정상적으로 수행하지 못할 것으로 판단되는 경우는 제 2 외부 디바이스(120_2)의 현재 동작 상태에 기초하여 수행될 수 있다. 예를 들어, 제 2 외부 디바이스(120_2)의 동작 환경이 우선 순위가 높은 작업을 수행하고 있을 때, 외부로부터의 기능 수행 요청을 수락하지 않도록 설정된 경우에, 제 2 외부 디바이스(120_2)는 분배된 기능을 정상적으로 수행하지 못하는 것으로 판단할 수 있다.
그러나, 제 2 외부 디바이스(120_2)의 사용자에 의해 거부되는 경우도 분배된 기능을 정상적으로 수행하지 못하는 것으로 판단할 수 있다. 따라서 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 호스트 디바이스(110)의 기능 수행 요청 메시지를 출력하고, 제 1 내지 제 n 외부 디바이스(120_1~120_n)의 사용자가 기능 수행을 수락한 경우에, 호스트 디바이스(110)로부터 할당된 기능을 수행할 수 있다.
제 1 내지 제 n 외부 디바이스(120_1~120_n)는 호스트 디바이스(110)와 유사한 하드웨어 및 소프트웨어로 구성될 수 있다. 따라서 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 복수 디바이스로 분배될 복수 기능을 수행할 수 있다. 예를 들어, 합주 애플리케이션에 의해 분배할 기능이 보컬 기능, 기타 기능, 및 키보드 기능일 때, 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 보컬 기능, 기타 기능 및 키보드 기능을 모두 수행할 수 있는 애플리케이션이 설치되어 있거나 호스트 디바이스(110)에 설치된 합주 애플리케이션이 설치되어 있을 수 있다.
이러한 경우에, 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 상황에 따라 호스트 디바이스(110)의 다양한 액세서리(accessory)로서 동작할 수 있다. 예를 들어, 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 호스트 디바이스(110)에 설치된 합주 애플리케이션이 설치되어 있고, 호스트 디바이스(110)에 의해 합주 애플리케이션이 선택되면, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보를 비교하여 제 1 외부 디바이스(120_1)로 일렉 기타 기능을 분배할 수 있다.
제 1 내지 제 n 외부 디바이스(120_1~120_n)에 호스트 디바이스(110)에 설치된 UCC 애플리케이션이 설치되어 있고, 호스트 디바이스(110)에 의해 UCC 애플리케이션이 선택되면, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보를 비교하여 제 1 외부 디바이스(120_1)로 카메라 기능을 분배할 수 있다. 이와 같이 제 1 외부 디바이스(120_1)는 호스트 디바이스(110)에 의해 선택된 애플리케이션에 따라 일렉 기타 기능이 분배되거나 카메라 기능이 분배될 수 있다.
호스트 디바이스(110)에 의한 기능 분배는 최적의 기능을 기준으로 이루어질 수 있다. 최적의 기능이란 다른 외부 디바이스들보다 좋은 결과를 얻을 수 있는 기능이다. 따라서 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 포함되는 디바이스에 관한 정보가 변경될 경우에, 각 외부 디바이스에 분배될 수 있는 기능은 변경될 수 있다. 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 포함되는 디바이스에 관한 정보가 변경된다는 것은 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 포함되는 디바이스가 변경된다는 것을 의미할 수 있다.
제 1 내지 제 n 외부 디바이스(120_1~120_n)는 호스트 디바이스(110)와 다이렉트 근거리 통신이 가능할 수 있다. 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 호스트 디바이스(110)와 하나의 AP(Access Point)에 연결된 디바이스들일 수 있다. 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 의해 실행되는 애플리케이션은 호스트 디바이스(110)에 의해 실행되는 기능 분배가 가능한 애플리케이션의 서브 애플리케이션으로 언급될 수 있다.
호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)를 포함하는 로컬 도메인은 상술한 IP 서브넷(sub network) 기반의 논리적인 도메인일 수 있다.
제 1 내지 제 n 외부 디바이스(120_1~120_n)는, 일 예로, 스마트 폰(Smart Phone), 스마트 TV, PC(Personal Computer), 데스크탑(Desktop) PC, 노트북(Notebook), 스마트 보드(Smart Board), 태블릿(Tablet) PC, 내비게이션, 모바일 기기(Mobile Device), 핸드헬드(handheld) 기기 또는 핸드헬드 컴퓨터, 미디어 플레이어, 전자북 단말기, PDA(Personal Digital Assistant), 터치 기반의 사용자의 제스처를 입력할 수 있는 디지털 카메라, 및 디지털 CE(Consumer Electronics, 예를 들어, 이미지 디스플레이 및 터치 기반의 사용자의 제스처를 입력할 수 있는 기능을 갖는 장치) 등이 될 수 있으나 이로 제한되지 않는다.
제 1 내지 제 n 외부 디바이스(120_1~120_n)는 호스트 디바이스(110)와 연결된 상태일 수 있으나 호스트 디바이스(110)와 연결되지 않은 상태일 수 있다. 제 1 내지 제 n 외부 디바이스(120_1~120_n)가 호스트 디바이스(110)에 연결되지 않는 상태에서 호스트 디바이스(110)는 상술한 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보와 호스트 디바이스(110)에 관한 정보를 포함할 수 있다.
도 1에 도시된 애플케이션 실행 시스템(100)은 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간의 다이렉트 통신을 기반으로 한다. 다이렉트 통신은 블루투스 통신, 와이파이 다이렉트 통신과 같은 근거리 통신을 포함할 수 있다. 그러나 애플리케이션 실행 시스템(100)이, 상술한 바와 같이 중계기를 포함하는 경우에, 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 중계기(또는 게이트웨이)를 통해 통신 세션을 오픈할 수 있다.
호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간의 통신은 M2M(Machine-to-Machine) 통신 방식, D2D(Device-to-Device) 통신 방식 또는 P2P(Peer to Peer) 통신 방식중 하나의 방식으로 수행될 수 있다.
호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간의 통신은 무선 통신 기반으로 수행되거나 유선 통신 기반으로 수행될 수 있다.
무선 통신 기반으로 수행되는 경우에, 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간의 통신은, 예를 들어, AP(Access Point)를 통하지 않는 무선 랜(예를 들어, 와이파이 다이렉트 또는 애드훅 모드의 무선 랜) 통신, 지그비(Zigbee) 통신, 블루투스(Bluetooth) 통신, 적외선 통신(IrDA, Infrared Data Association) 통신, RFID(Radio Frequency Identification) 통신, NFC(Near Field Communication) 기반 통신, AP를 통하는 무선 랜(예를 들어, 와이파이 또는 인프라스트럭쳐 모드의 무선 랜) 통신, 3G/4G LTE(Long term Evolution) 기반 통신, 인터넷 통신, 무선 인트라넷 통신, 무선 전화 네트워크 통신, UWB(Ultra WideBand)와 같은 무선 네트워크 통신으로 수행될 수 있으나 이로 제한되지 않는다.
유선 통신 기반으로 수행되는 경우에, 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간의 통신은, 예를 들어, 전화선을 이용하는 방식(예를 들어, 홈 PNA(Phoneline Network Alliance)), 전력선을 이용하는 방식(예를 들어, HomePlug, LongWorks, HNCP), 이더넷(Ethernet)을 이용하는 방식(예를 들어, IEEE 802.3), 구조적 배선(Structured Wiring)방식중 하나의 방식을 이용할 수 있으나 이로 제한되지 않는다.
도 2는 본 발명의 바람직한 일 실시 예에 따른 애플리케이션 실행 방법을 설명하기 위한 동작 흐름도이다. 도 2는 호스트 디바이스(110)에 의해 선택된 애플리케이션에 의해 분배 가능한 기능 정보에 대한 수행을 제 1 내지 제 n 외부 디바이스(120_1~120_n)로 요청한 경우이다.
단계 S201에서 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보를 수신한다. 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보는 도 1에서 언급한 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간의 물리적인 커넥션이 설정됨에 따라 수신될 수 있다. 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보는 도 1에서 언급한 바와 같다. 단계 S201은 도 3 내지 도 6에 도시된 동작 흐름도와 같이 정의될 수 있으나 이로 제한되지 않는다.
도 3 내지 도 6은 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간의 물리적인 커넥션이 근거리 통신에 의해 설정되는 경우를 설명하기 위한 동작 흐름도이다.
도 3은 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간의 물리적인 커넥션이 NFC 통신 방식으로 수행되고, 서비스 커넥션이 중계기(300)를 이용하는 통신 방식으로 설정되는 경우이다.
단계 S301에서 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간의 거리가 NFC 통신 반경내로 접근함에 따라, 단계 S302에서 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 각각 근거리 통신 발생을 감지한다.
단계 S303에서 NFC 통신을 기반으로 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 호스트 디바이스(110)로 서비스 커넥션을 설정하기 위한 정보 및 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보를 전송한다.
단계 S304에서, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 대해 인증 처리를 수행한다. 인증 처리는 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 수신된 사전에 약속된 인증 정보를 인증하는 방식으로 수행될 수 있다. 따라서, 단계 S303에서 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 인증 정보가 수신될 수 있다. 단계 S303에서 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 인증 정보가 수신되지 않고, 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 대한 인증 절차를 수행하지 않을 경우에 단계 S304는 생략될 수 있다.
제 1 내지 제 n 외부 디바이스(120_1~120_n)에 대한 인증 절차를 수행하는 것으로 실시 예를 구현한 경우에, 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 인증 정보가 수신되지 않거나 잘못된 인증 정보가 수신되면, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)와 물리적인 커넥션을 끊을 수 있다.
단계 S305에서, 호스트 디바이스(110)는 수신된 서비스 커넥션을 설정하기 위한 정보에 기초하여 제 1 내지 제 n 외부 디바이스(120_1~120_n)와의 서비스 커넥션을 위한 통신 방식을 판별한다. 서비스 커넥션을 설정하기 위한 정보에 대한 판별은 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 전송되는 서비스 커넥션을 설정하기 위한 정보에 기초하여 수행된다.
예를 들어, 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 전송되는 서비스 커넥션을 설정하기 위한 정보에 블루투스 통신 방식을 나타내는 정보가 포함되어 있으면, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)와의 서비스 커넥션을 설정하기 위한 통신 방식을 블루투스 통신 방식으로 판별한다. 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 전송되는 서비스 커넥션을 설정하기 위한 정보에 인프라스트럭쳐 모드(Infrastructure mode) 무선 랜 통신 방식을 나타내는 정보가 포함되어 있으면, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)와의 서비스 커넥션을 설정하기 위한 통신 방식을 인프라스트럭쳐 모드 무선랜 통신 방식으로 판별한다.
도 3은 제 1 내지 제 n 외부 디바이스(120_1~120_n)의 서비스 커넥션을 설정하기 위한 통신 방식이 중계기(300)를 통하는 경우이다. 따라서, 단계 S306에서, 호스트 디바이스(110)는 중계기(300) 연결 정보를 제 1 내지 제 n 외부 디바이스(120_1~120_n)로 전송한다. 도 3은 호스트 디바이스(110)가 중계기(300)와 연결되지 않고, 중계기(300)의 연결 정보를 호스트 디바이스(110)에 저장하고 있는 경우이다. 중계기 연결 정보는 중계기(300)와 연결하기 위해 필요한 정보이다. 예를 들어, 중계기(300)의 연결 정보는 SSID(Service Set InDentifier), 채널 정보, 보안(Security) 및 인증(Authentification) 키 정보, 암호(Encryption) 키 정보, IP(Internet Protocol) 어드레스, MAC(Media Access Control) 어드레스 등을 포함할 수 있으나 이로 제한되지 않는다.
단계 S307에서, 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 수신된 중계기(300)의 연결 정보를 이용하여 중계기(300)로 연결 요청을 한다. 단계 S308에서, 중계기(300)로부터 연결 수락 신호가 수신되면, 단계 S309에서, 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 호스트 디바이스(110)로 중계기(300)와 연결되었음을 나타내는 연결 통보를 전송한다.
단계 S310에서, 호스트 디바이스(110)는 중계기(300)에 대한 연결 정보를 이용하여 중계기(300)로 연결 요청을 한다. 이에 대해 단계 S311에서, 중계기(300)로부터 연결 수락을 수신하면, 호스트 디바이스(110)는 중계기(300)를 통해 제 1 내지 제 n 외부 디바이스(120_1~120_n)와의 서비스 커넥션을 설정할 수 있다.
도 4는 물리적인 커넥션이 BLE 통신 방식으로 수행되고, 서비스 커넥션이 중계기를 통하는 통신 방식으로 설정되는 경우이다.
단계 S401에서, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 브로드캐스트되는 서비스 커넥션을 설정하기 위한 정보 및 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보를 수신함에 따라 단계 S402에서 근거리 통신 발생을 감지한다. 단계 S401과 단계 S402는 설명의 편의상 다른 단계로 도시하였으나, 동시에 발생되는 것으로 이해될 수 있다. 즉, 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 브로드캐스트되는 신호가 수신됨과 동시에 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)와 근거리 통신이 발생된 것으로 감지할 수 있다.
단계 S403에서, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 대해 인증 처리를 한다. 인증 처리는 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 수신된 사전에 약속된 인증 정보를 인증하는 방식으로 수행될 수 있다. 따라서, 단계 S401에서 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 인증 정보가 수신될 수 있다. 단계 S401에서 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 인증 정보가 수신되지 않고, 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 대한 인증 절차를 수행하지 않은 것으로 실시 예를 구현하는 경우에, 단계 S403은 생략될 수 있다.
제 1 내지 제 n 외부 디바이스(120_1~120_n)에 대한 인증 절차를 수행하는 것으로 실시 예를 구현한 경우에, 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 인증 정보가 수신되지 않거나 잘못된 인증 정보가 수신되면, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)와의 물리적인 커넥션을 끊을 수 있다.
단계 S404에서, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보를 디스플레이 한다. 이를 위해 단계 S401에서, 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보를 호스트 디바이스(110)로 전송할 수 있다.
그러나 단계 S402에서, 근거리 통신 발생을 감지한 후, 호스트 디바이스(110)로부터 제 1 내지 제 n 외부 디바이스(120_1~120_n)로의 정보 요청에 따라 호스트 디바이스(110)는 상술한 인증 정보 및 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보를 수신하도록 구현될 수 있다.
단계 S405에서, 디스플레이 되고 있는 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 대한 정보에 기초하여 제 1 내지 제 n 외부 디바이스(120_1~120_n)와의 연결을 선택하는 사용자의 입력 정보가 수신되면, 단계 S406에서, 호스트 디바이스(110)는 단계 S401에서 수신된 서비스 커넥션을 설정하기 위한 정보에 기초하여 제 1 내지 제 n 외부 디바이스(120_1~120_n)와의 서비스 커넥션을 설정하기 위한 통신 방식을 판별한다. 서비스 커넥션을 설정하기 위한 통신 방식을 판별하는 것은 상술한 단계 S305에서와 같이 수행된다.
도 4는 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간의 서비스 커넥션을 설정하기 위한 통신 방식이 중계기(300)를 통하는 경우이다. 따라서, 단계 S407에서, 호스트 디바이스(110)는 중계기(300)의 연결 정보를 제 1 내지 제 n 외부 디바이스(120_1~120_n)로 전송한다. 도 4는 호스트 디바이스(110)가 중계기(300)와 연결되지 않고, 중계기(300)의 연결 정보를 호스트 디바이스(110)에 저장하고 있는 경우이다.
단계 S408에서, 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 수신된 중계기(300)의 연결 정보를 이용하여 중계기(300)로 연결 요청을 한다. 단계 S409에서, 중계기(300)로부터 연결 수락 신호가 수신되면, 단계 S410에서, 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 호스트 디바이스(110)로 중계기(300)와 연결되었음을 나타내는 연결 통보 신호를 전송한다.
단계 S411에서, 호스트 디바이스(110)는 중계기(150)에 대한 연결 정보를 이용하여 중계기(300)로 연결 요청을 한다. 이에 대해 단계 S412에서, 중계기(300)로부터 연결 수락을 수신하면, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)와 서비스 커넥션을 설정할 수 있다.
도 5는 물리적인 커넥션이 NFC 통신 방식으로 수행되고, 서비스 커넥션이 디바이스간 직접 통신 방식으로 설정되는 경우이다.
단계 S501에서, 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간의 거리가 NFC 통신 반경내로 접근함에 따라, 단계 S502에서 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 각각 NFC 통신 발생을 감지한다.
단계 S503에서, NFC 통신을 기반으로 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 호스트 디바이스(110)로 서비스 커넥션을 설정하기 위한 정보 및 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보를 전송한다.
단계 S504에서, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 대해 인증 처리를 한다. 인증 처리는 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 수신된 사전에 약속된 인증 정보를 인증하는 방식으로 수행될 수 있다. 따라서, 단계 S503에서 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 인증 정보가 수신될 수 있다. 단계 S503에서 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 인증 정보가 수신되지 않고, 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 대한 인증 절차를 수행하지 않은 것으로 실시 예를 구현하는 경우에, 단계 S504는 생략될 수 있다.
제 1 내지 제 n 외부 디바이스(120_1~120_n)에 대한 인증 절차를 수행하는 것으로 실시 예를 구현한 경우에, 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 인증 정보가 수신되지 않거나 잘못된 인증 정보가 수신되면, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)와의 물리적인 커넥션을 끊을 수 있다.
단계 S505에서, 호스트 디바이스(110)는 수신된 서비스 커넥션을 설정하기 위한 정보에 기초하여 제 1 내지 제 n 외부 디바이스(120_1~120_n)와의 서비스 커넥션을 설정하기 위한 통신 방식을 판별한다. 서비스 커넥션을 설정하기 위한 통신 방식을 판별하는 것은 상술한 바와 같이 수행된다.
도 5는 호스트 디바이스(110)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간의 서비스 커넥션을 설정하기 위한 통신 방식이 디바이스간 직접 통신 방식을 이용하는 경우이다. 따라서, 단계 S506에서, 호스트 디바이스(110)는 디바이스간 직접 통신 요청 시, 필요한 호스트 디바이스(110)에 관한 정보를 NFC 통신 방식으로 제 1 내지 제 n 외부 디바이스(120_1~120_n)로 전송할 수 있다. 이로 인하여 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 차후에 호스트 디바이스(110)에 관한 정보를 이용하여 호스트 디바이스(110)와의 디바이스간 직접 통신을 먼저 시도할 수 있다.
디바이스간 직접 통신 시도를 호스트 디바이스(110) 측에서만 수행할 수 있도록, 단계 S506을 수행하지 않는 것으로 도 5는 변형될 수 있다. 단계 S507에서, 호스트 디바이스(110)는 제 1 내지 제 n 외부 기기(120_1~120_n)에 관한 서비스 커넥션을 설정하기 위한 위한 정보에 기초하여 제 1 내지 제 n 외부 기기(120_1~120_n)로 연결 요청을 전송한다. 이에 대해 단계 S508에서, 제 1 내지 제 n 외부 기기(120_1~120_n)로부터 연결 수락 신호가 수신되면, 호스트 디바이스(110)는 제 1 내지 제 n 외부 기기(120_1~120_n)와의 서비스 커넥션을 설정할 수 있다.
도 6은 물리적인 커넥션이 BLE 통신 방식으로 수행되고, 서비스 커넥션이 디바이스간 직접 통신 방식으로 설정되는 경우이다.
단계 S601에서, BLE 통신 기반으로 제 1 내지 제 n 외부 기기(120_1~120_n)로부터 브로드캐스트 되는 서비스 커넥션을 설정하기 위한 정보 및 제 1 내지 제 n 외부 기기(120_1~120_n)에 관한 정보가 수신됨에 따라 단계 S602에서, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)와의 근거리 통신 발생을 감지한다.
단계 S601과 단계 S602는 설명의 편의상 다른 단계로 도시하였으나, 동시에 발생되는 것으로 이해될 수 있다. 즉, 제 1 내지 제 n 외부 기기(120_1~120_n)로부터 브로드캐스트되는 신호가 수신됨과 동시에 호스트 디바이스(110)는 제 1 근거리 통신이 발생되는 것으로 감지할 수 있다. 단계 S601에서 제 1 내지 제 n 외부 기기(120_1~120_n)는 애플리케이션 정보를 전송하지 않을 수 있다.
단계 S603에서, 호스트 디바이스(110)는 제 1 내지 제 n 외부 기기(120_1~120_n)에 대해 인증 처리를 한다. 인증 처리는 제 1 내지 제 n 외부 기기(120_1~120_n)로부터 수신된 사전에 약속된 인증 정보를 인증하는 방식으로 수행될 수 있다. 따라서, 단계 S601에서 제 1 내지 제 n 외부 기기(120_1~120_n)로부터 인증 정보가 수신될 수 있다. 단계 S601에서 제 1 내지 제 n 외부 기기(120_1~120_n)로부터 인증 정보가 수신되지 않고, 제 1 내지 제 n 외부 기기(120_1~120_n)에 대한 인증 절차를 수행하지 않은 것으로 실시 예를 구현하는 경우에, 단계 S603은 생략될 수 있다.
제 1 내지 제 n 외부 기기(120_1~120_n)에 대한 인증 절차를 수행하는 것으로 실시 예를 구현한 경우에, 제 1 내지 제 n 외부 기기(120_1~120_n)로부터 인증 정보가 수신되지 않거나 잘못된 인증 정보가 수신되면, 호스트 디바이스(110)는 제 1 내지 제 n 외부 기기(120_1~120_n)와의 물리적인 커넥션을 끊을 수 있다.
단계 S604에서, 호스트 디바이스(110)는 제 1 내지 제 n 외부 기기(120_1~120_n)에 관한 정보를 디스플레이 한다. 이를 위해 단계 S601에서, 제 1 내지 제 n 외부 기기(120_1~120_n)는 제 1 내지 제 n 외부 기기(120_1~120_n)에 관한 정보를 호스트 디바이스(110)로 전송할 수 있다.
단계 S602에서, 근거리 통신 발생을 감지한 후, 호스트 디바이스(110)로부터 제 1 내지 제 n 외부 기기(120_1~120_n)로의 정보 요청에 따라 호스트 디바이스(110)는 상술한 인증 정보 및 제 1 내지 제 n 외부 기기(120_1~120_n)에 관한 정보를 수신하도록 구현될 수 있다.
단계 S605에서, 디스플레이 되고 있는 제 1 내지 제 n 외부 기기(120_1~120_n)에 대한 정보에 기초하여 제 1 내지 제 n 외부 기기(120_1~120_n)와의 연결을 선택하는 사용자의 입력 정보가 수신되면, 단계 S606에서, 호스트 디바이스(110)는 서비스 커넥션을 설정하기 위한 정보에 기초하여 제 1 내지 제 n 외부 기기(120_1~120_n)와의 서비스 커넥션을 설정하기 위한 통신 방식을 판별한다. 서비스 커넥션을 설정하기 위한 통신 방식을 판별하는 것은 도 3의 단계 S305에서 설명한 바와 같이 수행된다.
도 6은 제 1 내지 제 n 외부 기기(120_1~120_n)의 서비스 커넥션을 설정하기 위한 통신 방식이 디바이스간 직접 통신 방식을 이용하는 경우이다. 따라서, 단계 S607에서, 호스트 디바이스(110)는 디바이스간 직접 통신 요청 시, 필요한 호스트 디바이스(110)에 관한 정보를 BLE 통신 방식으로 제 1 내지 제 n 외부 기기(120_1~120_n)로 전송할 수 있다. 이로 인하여 제 1 내지 제 n 외부 기기(120_1~120_n)는 차후에 호스트 디바이스(110)에 관한 정보를 이용하여 호스트 디바이스(110)와의 디바이스간 직접 통신을 먼저 시도할 수 있다.
디바이스간 직접 통신 시도를 호스트 디바이스(110) 측에서만 수행할 수 있도록, 도 6은 단계 S607를 수행하지 않게 변형될 수 있다.
단계 S608에서, 호스트 디바이스(110)는 제 1 내지 제 n 외부 기기(120_1~120_n)에 대한 서비스 커넥션을 설정하기 위한 정보에 기초하여 제 1 내지 제 n 외부 기기(120_1~120_n)로 연결 요청을 전송한다. 이에 대해 단계 S609에서, 제 1 내지 제 n 외부 기기(120_1~120_n)로부터 연결 수락 신호가 수신되면, 호스트 디바이스(110)와 제 1 내지 제 n 외부 기기(120_1~130_n)간에 서비스 커넥션이 설정될 수 있다.
상술한 도 3 내지 도 6의 동작 흐름도에서 서비스 커넥션을 설정하기 위한 통신 방식을 판별한 후 과정은 후술할 단계 S205와 단계S206사이에 수행되는 것으로 정의될 수 있다.
한편, 도 2의 단계 S202에서, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 수신된 외부 디바이스에 관한 정보를 저장한다. 애플리케이션에 대한 선택 신호가 수신되면(S203), 호스트 디바이스(110)는 애플리케이션에 의해 분배 가능한 기능 정보를 디스플레이 한다(S204).
호스트 디바이스(110)는 디스플레이 되고 있는 기능 정보 각각에 디바이스를 매핑한다(S205). 디바이스 매핑은 도 1에서 언급한 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보와 디스플레이 되고 있는 기능 정보를 이용하여 수행될 수 있다.
도 7은 상술한 단계 S203 내지 단계 S205에서의 호스트 디바이스(110)의 동작을 설명하기 위한 화면 예로서, 합주 애플리케이션이 선택된 경우이다.
도 7의 화면(710)과 같이 합주 애플리케이션의 아이콘을 포함하는 화면이 호스트 디바이스(110)상에 디스플레이 될 때, 단계 S203에서 화면(710)에 기초하여 합주 애플리케이션에 대한 선택 신호가 수신되면, 호스트 디바이스(110)는 분배 가능한 기능 정보를 화면(720)과 같이 디스플레이 한다. 도 7에 도시된 바와 같이 합주 애플리케이션에 대한 선택 신호가 수신됨에 따라 분배 가능한 기능 정보가 디스플레이 될 경우에, 분배 가능한 기능 정보는 사전에 설정된 것으로 볼 수 있다.
분배 가능한 기능 정보는 사전에 설정된 기능 정보를 기반으로 사용자에 의해 선택되거나 사용자에 의해 임의로 설정될 수 있다. 이는 화면(720)에서 추가 메뉴 항목을 선택하는 사용자의 입력 정보에 의해 수행될 수 있으나 이로 제한되지 않는다.
화면(720)에서 디바이스 매핑을 원한다는 사용자의 입력 정보가 수신되면, 호스트 디바이스(110)는 각 기능 정보에 디바이스를 매핑하고, 그 결과를 화면(730)과 같이 디스플레이 한다.
합주 애플리케이션은 합주 타입에 따라 기능을 분배할 수 있다. 도 7은 합주 타입이 밴드 합주이고, 보컬 기능, 일렉 기타 기능, 베이스 기타 기능, 키보드 기능, 및 드럼 기능으로 기능을 분배할 수 있는 합주 애플리케이션의 예이다. 사용자에 의해 합주 애플리케이션이 선택되면, 복수의 합주 타입을 사용자에게 제공하고, 복수의 합주 타입에 따라 다른 분배 가능한 기능 정보를 사용자에게 제공할 수 있다. 복수의 합주 타입 정보 및 각 합주 타입에 따른 분배 가능한 기능 정보는 디스플레이 방식을 이용하여 사용자에게 제공될 수 있다.
선택 가능한 합주 타입이 현악 3중주(바이올린, 비올라, 및 첼로), 현악 4중주(바이올린 1, 바이올린 2, 비올라, 및 첼로), 및 밴드 합주(보컬, 일렉 기타, 베이스 기타, 키보드, 및 드럼)로 정의된 경우에 각 합주 타입에 따라 상술한 바와 같은 악기에 기초한 기능 정보가 분배 가능한 기능 정보로서 제공될 수 있다. 그러나, 각 합주 타입 및 각 합주 타입별 기능 정보는 사용자에 의해 선택되거나 임의로 설정될 수 있다. 예를 들어, 클래식 2중주, 클래식 3중주, 밴드 합주 1, 및 밴드 합주 2와 같이 합주 타입을 설정하고, 설정된 합주 타입에 따라 이용될 악기 정보를 사용자가 직접 입력할 수 있다.
또한, 화면(730)의 경우에 각 기능 정보에 하나의 디바이스가 매핑된 경우이다. 그러나, 각 기능 정보에 복수의 디바이스가 매핑될 수 있다. 하나의 기능 정보에 복수의 디바이스가 매핑된 경우에, 매핑된 디바이스 우측에 매핑된 디바이스의 개수를 나타내는 숫자 정보(예를 들어, (2))가 표시될 수 있다.
이와 같이 매핑된 디바이스의 개수를 나타내는 숫자 정보가 표시된 경우에, 해당되는 정보 필드의 선택을 나타내는 사용자의 입력 정보가 수신되면, 호스트 디바이스(110)는 해당되는 정보 필드에 기초한 선택 가능한 디바이스에 관한 정보를 포함한 정보 창을 디스플레이 한다. 선택 가능한 디바이스에 관한 정보를 포함한 정보 창은 팝업 창으로 디스플레이 될 수 있으나 이로 제한되지 않는다. 팝업 창에 포함된 디바이스에 관한 정보에 기초하여 선택을 나타내는 사용자의 입력 정보가 수신되면, 호스트 디바이스(110)는 팝업 창을 화면에서 사라지게 하면서 사용자에 의해 선택된 디바이스를 해당되는 기능 정보에 매핑한 정보를 디스플레이 한다.
모든 기능 정보와 외부 디바이스가 매핑된 후, 애플리케이션 실행 요청을 나타내느 사용자의 명령이 입력되면, 호스트 디바이스(110)는 각 디바이스에 연결된 통신 채널을 통해 매핑된 정보에 기초한 기능 수행을 요청한다(S206). 기능 수행을 요청할 때, 호스트 디바이스(110)는 요청하는 기능 정보와 기능 정보에 관련된 애플리케이션 정보를 제공할 수 있다. 호스트 디바이스(110)와 기능 정보에 매핑된 외부 디바이스간에 연결된 통신 채널은 도 3 내지 도 6에서 언급된 서비스 커넥션 정보에 의해 설정될 수 있다. 이에 따라 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 요청된 기능에 관련된 애플리케이션을 실행한다(S207).
도 8은 도 7의 화면 예에서와 같이 합주 애플리케이션이 선택될 때, 호스트 디바이스(110)와 제 1 내지 제 5 외부 디바이스(120_1~120_5)간의 관계를 나타낸 도면이다. 도 7의 화면(730)에 디스플레이 된 바와 같이 제 1 내지 제 5 외부 디바이스(120_1~120_5)에 각각의 기능을 할당하고, 기능 수행을 요청한 경우이다.
따라서, 제 1 내지 제 5 외부 디바이스들(120_1~120_5)은 요청된 기능을 수행한다. 호스트 디바이스(110)에 설치된 합주 애플리케이션은 기능 수행을 요청할 때, 매트로 놈(Metronome)기반의 음 정보를 추가로 제공할 수 있다. 제 1 내지 제 5 외부 디바이스들(120_1~120_5)은 수신되는 매트로 놈 기반의 음 정보에 따라 자유롭게 음을 입력하고, 악기를 연주하면서 녹음을 할 수 있다. 메트로 놈 기반의 음이란 일정한 속도로 음악의 빠르기를 나타내는 음이다. 제 1 내지 제 5 외부 디바이스(120_1~120_5)에 의해 실행되는 애플리케이션들은 수신되는 메트로 놈 기반의 음 정보를 각 사용자가 듣거나 볼 수 있도록 출력할 수 있다.
제 1 내지 제 5 외부 디바이스(120_1~120_5)에 의해 실행되는 애플리케이션들은 연주되는 음을 녹음할 때, 메트로 놈 기반의 음 정보를 소거할 수 있는 기능을 갖는다. 따라서, 제 1 내지 제 5 외부 디바이스(120_1~120_5)에 의해 녹음되는 연주 음에는 메트로 놈 기반의 음 정보가 포함되어 있지 않다.
만약 합주 애플리케이션이 녹음을 기반으로 하지 않고, 즉흥 연주나 녹음을 기반으로 하지 않는 합주를 기반으로 한 경우에, 호스트 디바이스(110)는 메트로 놈 기반의 음 정보를 제공하지 않는다. 그러나 호스트 디바이스(110)는 연주에 도움이 될 수 있는 박자 정보에 대응되는 디스플레이 정보를 제 1 내지 제 5 외부 디바이스들(120_1~120_n)로 전송할 수 있다. 제 1 내지 제 5 외부 디바이스들(120_1~120_n)은 선택적으로 박자 정보에 대응되는 디스플레이 정보를 이용하여 연주할 수 있다. 제 1 외부 디바이스(120_1)는 보컬 기능 수행이 요청된 경우이므로, 음성 입력을 수신하는 마이크 기능을 수행할 수 있다.
도 9는 도 2의 동작 흐름도에서 선택된 애플리케이션이 UCC 애플리케이션인 경우의 호스트 디바이스(110)의 화면 예이다.
즉, 도 2의 단계 S203에서, 호스트 디바이스(110)에 디스플레이 되고 있는 화면(910)에서 UCC 애플리케이션이 선택되면, 단계 S204에서, 호스트 디바이스(110)는 화면(920)과 같이 분배 가능한 기능 정보를 디스플레이 한다. 화면(920)에서 디바이스 매핑을 원하는 것을 나타내는 사용자의 입력 정보가 수신되면, 호스트 디바이스(110)는 단계 S205에서 각 기능에 대응되는 외부 디바이스를 매핑하고, 매핑한 결과를 화면(930)과 같이 디스플레이 한다. 각 기능과 외부 디바이스간의 매핑은 도 2에서 설명한 바와 같이 외부 디바이스에 관한 정보와 기능 정보를 이용하여 수행될 수 있다. 그러나, 도 7에서 설명한 바와 같이 사용자에 의해 선택되거나 설정될 수 있다. 또한, 매핑된 디바이스가 복수개인 경우에 도 7에서 설명한 바와 같이 사용자에 의해 선택될 수 있다.
화면(930)에서 애플리케이션을 실행시키기 위한 사용자의 명령이 입력되면, 호스트 디바이스(110)는 해당되는 외부 디바이스로 각각 할당된 기능 수행을 요청하는 신호를 전송한다.
도 10은 도 9에 도시된 화면에 따라 UCC 애플리케이션 선택시, 호스트 디바이스(110)와 제 1 내지 제 3 외부 디바이스(120_1~120_3)간의 관계를 나타내는 도면이다. 도 10에 도시된 바와 같이 제 1 외부 디바이스(120_1)로 카메라 기능을 할당하고, 제 2 외부 디바이스(120_2)로 마이크 기능을 할당하고, 제 3 외부 디바이스(120_3)로 자막 입력 기능을 할당함에 따라 각각 해당되는 애플리케이션을 실행한다. 그러나, UCC 애플리케이션을 실행하는데 필요한 기능 정보가 도 9 및 도 10에 도시된 바로 제한되지 않는다.
도 11은 도 2의 동작 흐름도에 따라 애니메이션 편집 애플리케이션 선택시, 호스트 디바이스(110)와 제 1 내지 제 2 외부 디바이스(120_1 120_2)간의 관계를 나타내는 도면이다. 제 1 외부 디바이스(120_1)의 경우에 배경 기능이 할당되고, 제 2 외부 디바이스(120_2)의 경우에 오브젝트 기능이 할당된 경우이다. 애니메이션 편집 애플리케이션을 실행하는데 필요한 기능 정보는 도 11에 도시된 바로 제한되지 않는다. 예를 들어, 오브젝트의 경우에 복수개로 나뉘어 기능이 분배될 수 있다.
또한, 편집 애플리케이션은 합주 애플리케이션과 같이 편집하고자 하는 컨텐트 타입에 따라 각각의 기능 정보가 설정될 수 있다. 예를 들어, 편집하고자 하는 컨텐트 타입이 상술한 바와 같이 애니메이션인 경우에 상술한 바와 같이 기능 정보가 설정될 수 있고, 편집하고자 하는 컨텐트 타입이 뉴스 또는 책인 경우에 삽화 기능과 텍스트 기능으로 기능 정보가 설정될 수 있다.
도 12는 도 2의 동작 흐름도에 따라 게임 애플리케이션 선택시 호스트 디바이스(110)와 제 1 내지 제 2 외부 디바이스(120_1, 120_2)간의 관계를 나타내는 도면이다. 게임 애플리케이션의 경우에 캐릭터별로 기능을 설정할 수 있다. 예를 들어, 빌딩 프로젝트 게임 애플리케이션과 같이 복수의 캐릭터별 역할이 필요한 경우에, 캐릭터별 기능 정보를 빌딩 프로젝트 게임 애플리케이션의 기능 정보로 설정할 수 있으나 이로 제한되지 않는다.
도 12의 경우에, 캐릭터 1의 기능을 제 1 외부 디바이스(120_1)에 할당하고, 캐릭터 2의 기능을 제 2 외부 디바이스(120_2)에 할당한 경우이다. 선택된 게임 애플리케이션이 상술한 빌딩 프로젝트 게임 애플리케이션인 경우에, 캐릭터 1은 한옥 기반으로 건물을 짓는 기능을 수행하고, 캐릭터 2는 터키 기반으로 건물을 짓는 기능을 수행할 수 있으나 캐릭터별 할당되는 기능 정보는 상술한 바로 제한되지 않는다.
도 13은 본 발명의 바람직한 다른 실시 예에 따른 애플리케이션 실행 방법의 동작 흐름도이다. 도 13은 도 2의 동작 흐름도에 호스트 디바이스(110)가 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 의한 기능 수행 결과를 수신하고, 이를 기초로 하나의 컨텐츠를 생성한 기능을 추가한 예이다.
따라서, 도 13의 단계 S1301 ~ 단계 S1307은 도 2의 단계 S201 ~ 단계 S207과 유사하므로, 중복된 설명을 피하기 위하여 하기 설명에서 생략한다.
단계 S1308에서, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 전송되는 기능 수행 결과를 수신한다. 단계 S1308은 호스트 디바이스(110)의 요청에 의해 수행될 수 있다. 그러나 호스트 디바이스(110)의 요청 없이 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 의해 수행될 수 있다.
단계 S1309에서, 호스트 디바이스(110)는 제 1 내지 제 n 외부 디바이스(120_1~120_n)로부터 수신된 기능 수행 결과에 기초하여 하나의 컨텐트를 생성할 수 있다.
도 14는 도 13의 동작 흐름도에 기초하여 합주 애플리케이션이 선택될 때, 호스트 디바이스(110)와 제 1 내지 제 5 외부 디바이스(120_1~120_5)간의 관계를 나타내는 도면이다. 제 1 내지 제 5 외부 디바이스(120_1~120_5)로 각각 할당된 기능 수행 요청을 전송한 후, 제 1 내지 제 5 외부 디바이스(120_1~120_5)로부터 처리 결과를 수신하면, 호스트 디바이스(110)는 수신된 처리 결과를 혼합하여 하나의 곡 파일을 생성할 수 있다. 이 때, 호스트 디바이스(110)는 혼합된 결과를 저장하면서 재생할 수 있다.
제 1 내지 제 5 외부 디바이스(120_1~120_5)로부터 수신되는 처리 결과는 탭 정보 형태를 가질 수 있다. 이에 따라 제 1 내지 제 5 외부 디바이스(120_1~120_5)와 호스트 디바이스(110)간의 네트워크 사용량을 최소화할 수 있다. 호스트 디바이스(110)는 제 1 내지 제 5 외부 디바이스(120_1~120_5)로부터 수신된 탭 정보를 음원으로 변환하고 혼합(mix)하여 곡 파일을 생성한다.
도 2 및 도 13의 실시 예들은 제 1 내지 제 n 외부 디바이스(120_1~120_n)로 할당된 기능 수행을 요청한 후, 각 외부 디바이스에 의한 기능 수행을 모니터링하는 단계를 추가할 수 있다. 이에 따라 호스트 디바이스(110)에 도 15에 도시된 바와 같은 화면이 디스플레이 될 수 있다. 도 15는 도 7 및 도 8과 같이 합주 애플리케이션이 선택되고, 제 1 내지 제 5 외부 디바이스(120_1~120_5)가 선택된 경우에, 호스트 디바이스(110)에 의해 각 외부 디바이스에 의해 실행되고 있는 기능을 실시간으로 모니터링하는 화면의 예이다.
또한, 도 2 및 도 13의 실시 예들에서의 기능 정보와 외부 디바이스간의 매핑은, 호스트 디바이스(110)가 주변 디바이스를 검색하고, 검색된 주변 디바이스에 관한 정보와 상기 기능 정보를 이용하여 수행되도록 변형될 수 있다. 이와 같이 도 2 및 도 13이 변형될 경우에, 도 2 및 도 13에 도시된 호스트 디바이스(110)가 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보를 수신하고, 저장하는 단계들은 생략될 수 있다.
도 16은 본 발명의 바람직한 또 다른 실시 예에 따른 애플리케이션 실행 방법을 설명하기 위한 동작 흐름도이다.
도 16을 참조하면, 호스트 디바이스(110)에 의해 애플리케이션이 선택되면(S1601), 호스트 디바이스(110)는 선택된 애플리케이션에 의해 분배 가능한 기능 정보를 디스플레이 한다(S1602). 선택된 애플리케이션에 의해 분배 가능한 기능 정보는 사전에 설정된 정보이거나 호스트 디바이스(110)의 사용자에 의해 설정된 정보이거나 애플리케이션에 사전에 설정된 정보중에서 호스트 디바이스(110)의 사용자에 의해 선택된 정보일 수 있다.
이와 같이 호스트 디바이스(110)에 분배 가능한 기능 정보가 디스플레이 되고 있는 상태에서 외부 디바이스와 호스트 디바이스(110)간의 근거리 통신 발생이 감지되면(S1603), 근거리 통신 발생이 감지된 순서와 기능 정보에 대한 디스플레이 순서에 기초하여 기능 정보와 외부 디바이스를 매핑한다(S1604).
예를 들어, 호스트 디바이스(110)에 디스플레이 되고 있는 기능 정보가 도 7의 화면(720)과 같고, 호스트 디바이스(110)와 근거리 통신 발생이 감지된 외부 디바이스에 기초한 근거리 통신 발생 감지 순서가 제 3 외부 디바이스(120_3), 제 4 외부 디바이스(120_4), 제 2 외부 디바이스(120_2), 제 5 외부 디바이스(120_5), 및 제 1 외부 디바이스(120_1) 순인 경우에, 보컬 기능에 제 3 외부 디바이스(120_3)를 매핑하고, 키보드 기능에 제 4 외부 디바이스(120_4)를 매핑하고, 일렉 기타 기능에 제 2 외부 디바이스(120_2)를 매핑하고, 베이스 기타 기능에 제 5 외부 디바이스(120_5)를 매핑하고, 드럼 기능에 제 1 외부 디바이스(120_1)를 매핑한다.
이 때, 거의 동시에 복수의 외부 디바이스와의 근거리 통신 발생이 감지된 경우에, 호스트 디바이스(110)는 동일한 기능 정보에 매핑하고, 호스트 디바이스(110)의 사용자에게 선택하게 할 수 있다. 예를 들어, 일렉 기타 기능에 대한 매핑이 수행되는 단계에서 제 2 외부 디바이스(120_2)와 제 6 외부 디바이스(120_6)가 거의 동시에 호스트 디바이스(110)와의 근거리 통신 발생이 감지되면, 일렉 기타 기능 정보에 제 2 외부 디바이스(120_2)와 제 6 외부 디바이스(120_6)를 매핑하고, 호스트 디바이스(110)의 사용자에게 선택하도록 할 수 있다. 이 때, 사용자는 일렉 기타 기능 정보에 제 2 외부 디바이스(120_2)와 제 6 외부 디바이스(120_6)중 하나가 매핑되도록 선택할 수 있으나 두 외부 디바이스가 모두 매핑되도록 선택할 수 있다.
상술한 근거리 통신은 NFC 기반 통신일 수 있고, 호스트 디바이스(110)는 NFC 기반 통신으로 외부 디바이스에 관한 정보를 수신하고, 수신된 정보와 기능 정보를 이용하여 매핑 여부를 결정할 수 있다.
호스트 디바이스(110)는 매핑된 정보에 기초하여 제 1 내지 제 n 외부 디바이스(120_1~120_n)로 기능 수행을 요청한다(S1605). 기능 수행을 요청할 때, 호스트 디바이스(110)는 요청하는 기능 정보와 기능 정보에 관련된 애플리케이션 정보를 전송할 수 있다. 제 1 내지 제 n 외부 디바이스(120_1~120_n)는 요청된 기능에 관련된 애플리케이션을 실행한다(S1605).
도 16은 도 13에서와 같이 각 외부 디바이스에 요청된 기능을 수행한 후, 수신되는 기능 수행 결과 정보에 기초하여 하나의 컨텐트 파일을 생성하고, 생성된 컨텐트 파일을 저장하면서 재생하는 단계를 포함하도록 변형할 수 있다.
도 16은 상술한 도 2 및 도 13의 실시 예들에서와 같이 제 1 내지 제 n 외부 디바이스(120_1~120_n)로 할당된 기능 수행을 요청한 후, 각 외부 디바이스의 기능 수행을 모니터링하는 단계를 추가할 수 있다.
도 17은 도 1에 도시된 호스트 디바이스(110)의 기능 블록도이다. 도 17을 참조하면, 호스트 디바이스(110)는 정보 입력부(1701), 센싱부(1702), 터치 스크린(1703), 카메라(1704), 오디오 입력부(1705), 오디오 출력부(1706), 저장부(1707), 무선 통신부(1708), 유선 통신부(1709), 프로세서(1710), 및 전원부(1711)를 포함한다. 그러나 호스트 디바이스(110)의 구성은 도 17에 도시된 바로 제한되지 않는다. 즉, 호스트 디바이스(110)의 구성은 도 17에 도시된 구성 요소보다 더 많은 구성 요소를 포함하거나 더 적은 구성 요소를 포함할 수 있다.
정보 입력부(1701)는 호스트 디바이스(110)의 동작을 제어하기 위한 입력 데이터, 본 발명의 바람직한 실시 예에 따라 애플리케이션 선택, 분배 가능한 기능 정보와 외부 디바이스의 매핑 요청, 애플리케이션 실행 요청 등의 정보를 입력할 수 있으나 입력될 수 있는 정보는 이로 제한되지 않는다. 정보 입력부(1701)는 키 패드(key pad), 돔 스위치(dome switch), 조그 휠(Jog wheel), 조그 스위치(Jog swich), 하드웨어(H/W) 버튼, 핫키(hot key), 및 터치 패널 등을 포함할 수 있으나 이로 제한되지 않는다.
센싱부(1702)는 호스트 디바이스(110)의 위치, 사용자의 접촉 유무, 호스트 디바이스(110)의 방위, 호스트 디바이스(110)의 가속 또는 감속 등과 같이 호스트 디바이스(110)의 현재 상태를 감지하여 호스트 디바이스(110)의 동작을 제어하기 위한 센싱 신호를 발생시킨다. 센싱부(1702)는 근접 센서 및 모션 센서를 포함할 수 있다. 센싱부(1702)는 센서 기반의 사용자의 제스처를 인식한 신호를 발생시킬 수 있다.
근접 센서는 사전에 설정된 검출면에 접근하는 물체, 또는 근방에 존재하는 물체의 유무를 전자계의 힘 또는 적외선을 이용하여 기계적 접촉이 없이 검출하는 센서를 말한다. 근접 센서의 예로 투과형 광전 센서, 직접 반사형 광전 센서, 미러 발사형 광전 센서, 고주파 발진형 근접 센서, 정전용량형 근접 센서, 자기형 근접 센서, 적외선 근접 센서 등이 있다.
터치 스크린(1703)은 저항막(감압) 방식 또는 정전 용량 방식으로 구성될 수 있으나 이로 제한되지 않는다. 터치 스크린(1703)은 상술한 사용자의 터치 기반 제스처에 의존하는 사용자의 요청(request) 또는 사용자의 선택(selection) 또는 사용자의 커맨드(command)를 수신할 수 있다. 사용자의 터치 기반 제스처는 터치 횟수, 터치 패턴, 터치 면적, 및 터치 강도 등의 다양한 조합에 의해 상술한 터치 기반의 사용자의 제스처들이 정의될 수 있다. 그러나 정의 가능한 터치 기반의 사용자의 제스처는 상술한 바로 제한되지 않는다.
터치 스크린(1703)은 터치 스크린(1703)의 터치 또는 근접 터치를 감지하기 위한 다양한 센서가 구비될 수 있다. 터치 스크린(1703)에 구비되는 센서는 상술한 터치 기반의 사용자의 제스처들 또는 패턴을 센싱한 신호를 발생시킬 수 있다. 터치 스크린(1703)을 위한 근접 센서는 센싱부(1702)에 포함되는 근접 센서와 동일할 수 있다.
터치 스크린(1703)의 터치를 감지하기 위한 센서의 일례로 촉각 센서를 포함할 수 있다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다. 근접 센서는 사전에 설정된 검출면에 접근하는 물체, 또는 근방에 존재하는 물체의 유무를 전자계의 힘 또는 적외선을 이용하여 기계적 접촉 없이 검출하는 센서를 말한다. 근접 센서의 예로 투과형 광전 센서, 직접 반사형 광전 센서, 미러 발사형 광전 센서, 고주파 발진형 근접 센서, 정전용량형 근접 센서, 자기형 근접 센서, 적외선 근접 센서 등이 있다.
터치 스크린(1703)의 터치는 터치 패널에 포인터(pointer)가 터치된 경우이다. 터치 스크린(1703)의 근접 터치(proximity-touch)는 포인터가 터치 패널에 실제로 터치되지 않고, 터치 패널로부터 소정 거리내에 접근된 경우이다. 포인터는 터치 스크린(1703)의 특정 부분을 터치하거나 근접 터치하기 위한 도구이다. 포인터의 예로, 스타일러스 펜, 손가락 등을 들 수 있으나 이로 제한되지 않는다.
터치 스크린(1703)은 호스트 디바이스(110)에 의해 처리되는 정보를 디스플레이 한다. 예를 들어, 터치 스크린(1703)은 터치 스크린(1703)에 구비된 센서들을 통해 센싱된 사용자의 제스처 또는 터치 패턴 또는 정보 입력부(1701)를 통해 입력된 제어 데이터 또는 사용자의 입력 정보 또는 센싱부(1702)를 통해 센싱된 신호에 응답하는 화면을 디스플레이 할 수 있다. 본 발명의 바람직한 실시 예에 따른 도 7 및 도 9에 도시된 바와 같은 화면을 터치 스크린(1703)은 디스플레이할 수 있다.
터치 스크린(1703)은 입력 및 출력 장치로 언급될 수 있다. 터치 스크린(1703)에 디스플레이 되고 있는 화면은 UI(User Interface) 기반의 GUI(Graphic User Interface) 화면을 포함한다.
터치 스크린(1703)은 액정 디스플레이(Liquid Crystal Display), 박막 트랜지스터 액정 디스플레이(Thin Film Transistor-Liquid Crystal Display), 유기 발광 다이오드(Organic Light-emitting diode), 플렉시블 디스플레이(Flexible display), 3차원 디스플레이(3D display), 및 AMOLED(Active-Matrix Organic Light-Emitting Diode) 등을 포함할 수 있으나 이로 제한되지 않는다. 터치 스크린(1703)은 디스플레이로 언급될 수 있다. 터치 스크린(1703)은 호스트 디바이스(110)의 구현 형태에 따라 2개 이상 존재하거나 양면이 입력 가능한 형태로 구성될 수 있다.
카메라(1704)는 영상 통화 모드 또는 촬영 모드에서 이미지 센서(또는 광 센서)에 의해 얻어지는 정지 영상 또는 동영상 등의 화상 프레임을 처리한다. 그리고 처리된 화상 프레임은 터치 스크린(1703)에 디스플레이 될 수 있다. 이에 따라 카메라(1704)에 의해 얻어진 정지 영상 또는 동영상에 포함된 화상 프레임에 기초하여 AR(Argumented Reality) 기반의 외부 디바이스 정보를 제공할 수 있다.
카메라(1704)에 의해 처리된 화상 프레임은 저장부(1707)에 저장되거나 무선 통신부(1708) 또는 유선 통신부(1709)를 통해 외부로 전송될 수 있다. 카메라(1704)는 호스트 디바이스(110)의 구성에 따라 2개 이상이 구비될 수 있다. 예를 들어, 카메라(1704)는 전면 카메라와 후면 카메라로 구성될 수 있다. 또한, 카메라(1704)는 사용자의 공간 제스처를 인식하는 입력 장치로 사용될 수 있다.
오디오 입력부(1705)는 통화모드, 또는 녹화 모드, 또는 음성 인식 모드 등에서 외부의 음향 신호를 입력받아 전기적인 음성 데이터로 변환하고, 전기적인 음성 데이터를 프로세서(1710)로 전송한다. 오디오 입력부(1705)는 예를 들어 마이크로 폰으로 구성될 수 있다. 오디오 입력부(1705)는 외부의 음향 신호를 입력받는 과정에서 발생하는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘을 포함하도록 구성될 수 있다.
오디오 입력부(1705)를 이용하여 입력되는 상기 음향 신호는 본 발명의 바람직한 실시 예에 따라 호스트 디바이스(110)가 보컬 기능을 수행하도록 매핑된 경우에 사용자의 음성 신호를 포함할 수 있다. 상기 음향 신호가 자연어 기반의 사용자의 입력 정보(또는 명령)인 경우에, 상기 음향 신호는 음성 인식 기반의 사용자의 입력으로 언급될 수 있다. 오디오 입력부(1705)를 통해 입력되는 외부의 음향 신호는 프로세서(1710)를 통해 저장부(1707)에 저장되거나 프로세서(1710) 및 무선 통신부(1708) 또는 프로세서(1710) 및 유선 통신부(1709)를 통해 외부로 전송될 수 있다.
오디오 출력부(1706)는 통화 모드, 또는 오디오 재생 모드 등에서 외부로부터 수신되거나 저장부(1707)로부터 리드되는 음향 신호 또는 오디오 신호를 출력한다. 오디오 출력부(1706)는 스피커로 구성될 수 있다. 오디오 출력부(1706)는 컨텐트가 재생될 때, 재생되는 컨텐트에 오디오 신호가 포함되어 있으면, 재생되는 컨텐트에 포함되어 있는 오디오 신호를 출력한다. 오디오 입력부(1705)와 오디오 출력부(1706)는 헤드셋과 같이 일체형으로 구성될 수 있다.
저장부(1707)는 후술할 프로세서(1710)에 의해 실행 가능하도록 구성된 적어도 하나의 프로그램 및/또는 명령어 세트와 자원(resource)을 저장한다. 적어도 하나의 프로그램은 본 발명의 바람직한 실시 예에 따른 애플리케이션 실행 방법을 실행하기 위한 적어도 하나의 프로그램, 호스트 디바이스(110)의 오퍼레이팅 시스템(Operating System) 프로그램, 호스트 디바이스(110)에서 수행되는 각종 기능(또는 서비스)에 관련된 애플리케이션 프로그램, 호스트 디바이스(110)에 포함된 하드웨어 컴포넌트(component)들을 구동시키는 프로그램을 포함하나 이로 제한되지 않는다.
자원은 상술한 도 1에서 언급한 제 1 내지 제 n 외부 기기(120_1~120_n)에 관한 정보, 호스트 디바이스(110)에 관한 정보, 호스트 디바이스(110)에 설정된 애플리케이션 프로그램을 운영하는데 필요한 정보 및 상술한 하드웨어 컴포넌트들을 구동시키는데 필요한 프로그램을 실행하는데 필요한 정보를 포함할 수 있으나 이로 제한되지 않는다. 호스트 디바이스(110)에 관한 정보는 호스트 디바이스(110)의 사용자 정보를 포함할 수 있으나 이로 제한되지 않는다. 호스트 디바이스(110)에 관한 정보는 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보에서 정의된 정보들을 포함할 수 있다.
저장부(1707)는 플래시 메모리 타입, 하드디스크 타입, 멀티미디어 카드 마이크로 타입, 카드 타입의 메모리(예를 들어 SD, XD 메모리 등), 롬(ROM, Read-Only Memory), EEPROM(Electronically Erasable Programmable Read-only Memory), PROM(Programmable Read-only Memory) 자기 메모리, 광 디스크 중 적어도 하나의 타입의 저장 매체를 포함할 수 있다.
저장부(1707)에 저장되는 적어도 하나의 프로그램 및/또는 명령어 세트는 기능에 따라 복수개의 모듈로 분류할 수 있다.
도 18은 저장부(1707)에 저장되는 프로그램 및/또는 명령어 세트를 모듈별로 분류한 예이다. 도 18을 참조하면, 저장부(1707)는 오퍼레이팅 시스템(1801), 무선 통신 모듈(1802), 유선 통신 모듈(1803), 그래픽 모듈(1804), GPS(Global Position System) 모듈(1805), UI(User Interface) 모듈(1806), 센싱 모듈(1807), 접촉 및 움직임 모듈(1808), 전원 모듈(1809), 및 애플리케이션 모듈(1810)을 포함하나 이로 제한되지 않는다.
애플리케이션 모듈(1810)은 애플리케이션 데이터베이스(1811)와 외부 디바이스에 관한 정보를 저장하고 있는 외부 디바이스 데이터베이스(1820)와 연결될 수 있다. 애플리케이션 DB(1811)에는 본 발명의 일 실시예에 따른 합주 애플리케이션(1812), UCC 애플리케이션(1813), 편집 애플리케이션(1814), 게임 애플리케이션(1815)이 저장될 수 있으나 이로 제한되지 않는다.
상술한 합주 애플리케이션(1812), UCC 애플리케이션(1813), 편집 애플리케이션(1814), 및 게임 애플리케이션(1815) 등은 상술한 실시 예들에서 설명한 바와 같이 복수의 외부 디바이스로 기능을 분배하고, 분배한 기능 수행을 요청하고, 복수 외부 디바이스로부터 기능 수행 결과를 수신하여 하나의 컨텐트 파일을 생성하고, 생성된 컨텐트 파일을 저장하면서 재생할 수 있다.
또한 외부 디바이스 DB(1820)에는 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보가 저장될 수 있다. 저장된 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보는 분배 가능한 기능 정보에 매핑할 때 이용될 수 있다. 외부 디바이스 DB(1820)에 저장되는 외부 디바이스에 관한 정보는 제 1 내지 제 n 외부 디바이스(120_1~120_n)에 관한 정보로 제한되지 않는다. 예를 들어, 도 16과 같은 경우에, 외부 디바이스 DB(1820)에 저장되는 외부 디바이스에 관한 정보는 기능 정보에 매핑된 외부 디바이스에 관한 정보로 정의될 수 있다.
애플리케이션 데이터 베이스(1811)는 이메일 모듈, SNS(Social Network Service) 모듈, 화상 회의 모듈, 이미지 관리 모듈, 브라우징 모듈, 달력 모듈, 위젯 모듈, 검색 모듈 및 워드 문서 작성 모듈 등 다양한 애플리케이션 모듈을 더 포함할 수 있다.
오퍼레이팅 시스템(1801)은 호스트 디바이스(110)의 일반적인 기능을 제어하고 관리하는 것으로 호스트 디바이스(110)내의 하드웨어 및 소프트웨어 컴포넌트(component)간의 통신을 가능하게 하는 소프트웨어 컴포넌트를 포함한다.
무선 통신 모듈(1802)은 무선 통신부(1708)를 통해 제 1 내지 제 n 외부 디바이스(120_1~120_n)중 적어도 하나의 외부 디바이스와의 통신을 가능하게 한다. 무선 통신부(1708)를 통해 제 1 내지 제 n 외부 디바이스(120_1~120_n)중 적어도 하나의 외부 디바이스로부터 수신되는 데이터와 적어도 하나의 외부 디바이스로 송신되는 데이터를 처리하기 위한 소프트웨어 컴포넌트를 포함한다. 무선 통신 모듈(1802)은 무선 통신부(1708)를 통해 서버(미 도시됨), 또는 중계기(미 도시됨)와 무선 통신을 가능하게 할 수 있으나 무선 통신 대상은 상술한 바로 제한되지 않는다.
유선 통신 모듈(1803)은 USB(Universal Serial Bus) 포트 등과 같은 엘리먼트로 구성된 유선 통신부(1709)와 제 1 내지 제 n 외부 디바이스(120_1~120_n)간의 통신을 가능하게 하고, 유선 통신부(1709)를 통해 제 1 내지 제 n 외부 디바이스(120_1~120_n)와 송수신되는 데이터를 처리하기 위한 소프트웨어 컴포넌트를 포함한다.
그래픽 모듈(1804)은 터치 스크린(1703)에 디스플레이 되고 있는 그래픽의 밝기 조절 및 랜더링을 위한 소프트웨어 컴포넌트 및 애플리케이션 모듈(1810) 동작시 텍스트를 입력하기 위한 가상 키보드(또는 소프트 키보드)를 제공하는 소프트웨어 컴포넌트를 포함한다.
GPS 모듈(1805)은 호스트 디바이스(110)의 위치를 결정하고, 결정된 위치 정보를 위치 기반 서비스를 제공하는 애플리케이션으로 제공하는 소프트웨어 컴포넌트를 포함한다. UI 모듈(1806)은 터치 스크린(1703) 기반의 UI 정보를 제공하는 애플리케이션에 필요한 UI를 제공하는 소프트웨어 컴포넌트를 포함한다.
센싱 모듈(1806)은 센싱부(1702) 기반의 센싱 정보를 결정하고, 결정된 센싱 정보 기반의 서비스를 제공하는 애플리케이션 모듈(1810)로 결정된 센싱 정보를 제공하는 소프트웨어 컴포넌트를 포함한다. 접촉 및 움직임 모듈(1807)은 터치 스크린(1703) 기반의 터치 접촉을 감지하고, 접촉에 기초한 움직임을 추적하고, 추적된 결과를 필요로 하는 애플리케이션 모듈(1810)로 제공하는 소프트웨어 컴포넌트를 포함한다.
전원 모듈(1809)은 오퍼레이팅 시스템(1801)과 연동되어 호스트 디바이스(110)내의 하드웨어 컴포넌트에 대한 전원 공급을 제어하고, 터치 스크린(1703)으로 공급되는 전원에 대한 절전 모드를 제어하는 소프트웨어 컴포넌트를 포함한다.
애플리케이션 DB(1811)에 포함되는 모듈들의 기능은 상술한 도 7 내지 도 12에서의 설명과 중복되므로 이하 설명을 생략한다.
저장부(1707)는 도 18에 도시된 프로그램 및/또는 명령어 세트중 애플리케이션 DB(1811)에 포함되는 모듈들을 저장하지 않고, 애플리케이션 모듈의 URL(Uniform Resource Locator)과 같은 위치 정보와 애플리케이션 모듈을 나타낼 수 있는 디스플레이 정보만 저장할 수 있다. 이러한 경우에, 프로세서(1710)는 무선 통신부(1708) 또는 유선 통신부(1709)를 통해 애플리케이션 DB를 갖고 있는 외부 디바이스와 접속하여 대응되는 프로그램 및/또는 명령어 세트를 사용할 수 있다. 이 때 외부 디바이스는 클라우드 서버 또는 애플리케이션 데이터 베이스를 갖고 있는 디바이스를 포함하나 이로 제한되지 않는다.
저장부(1707)에 애플리케이션 모듈의 위치 정보와 애플리케이션 모듈을 나타낼 수 있는 디스플레이 정보만 저장된 경우에, 터치 스크린(1703)을 통해 디스플레이 되고 있는 애플리케이션 모듈의 디스플레이 정보에 기초한 사용자의 선택 신호에 대응되는 애플리케이션의 위치 정보를 이용하여 프로세서(1710)는 무선 통신부(1708) 또는 유선 통신부(1709)를 통해 상술한 외부 디바이스에 저장되어 있는 정보를 검색할 수 있다.
무선 통신부(1708)는 무선 인터넷 통신, 무선 인트라넷 통신, 무선 전화 네트워크 통신, 무선 랜(LAN) 통신, 와이파이(Wi-Fi) 통신, 와이파이 다이렉트(WFD, Wi-Fi Direct) 통신, 3G(Generation) 통신, 4G(4 Generation) LTE(Long Term Evolution) 통신, 블루투스(Bluetooth) 통신, 적외선 통신(IrDA, Infrared Data Association), RFID(Radio Frequency Identification) 통신, UWB(Ultra WideBand) 통신, 지그비(Zigbee) 통신과 같은 무선 네트워크를 통해 외부 디바이스와 데이터를 송수신할 수 있다.
무선 통신부(1708)는 방송 수신 모듈, 이동 통신 모듈, 무선 인터넷 모듈, 유선 인터넷 모듈, 근거리 통신 모듈, 및 위치 정보 모듈중 적어도 하나를 포함할 수 있으나 이로 제한되지 않는다.
유선 통신부(1709)는 유선 인터넷과 같은 유선 네트워크를 통해 외부 디바이스와 데이터를 송수신할 수 있다. 유선 통신부(1709)는 USB(Universal Serial Bus) 포트(미 도시됨)와 같은 플러그 앤 플레이(Plug and Play) 인터페이스를 이용하여 외부 디바이스(미 도시됨)와 데이터를 송수신할 수 있다. 유선 통신부(1709)는 호스트 디바이스(110)의 구성 요소에 포함되지 않을 수 있다.
전원부(1711)는 호스트 디바이스(110)에 포함된 하드웨어 컴포넌트에 전력을 공급한다. 전원부(1711)는 배터리 및 교류 전원과 같은 하나 이상의 전원을 포함한다. 호스트 디바이스(110)는 전원부(1711)를 포함하지 않고, 외부 전원 제공부(미 도시됨)와 연결될 수 있는 연결부(connection unit)(미 도시됨)를 포함할 수 있다.
프로세서(1710)는 호스트 디바이스(110)의 전반적인 동작을 제어하는 것으로 하나 이상의 프로세서로 언급될 수 있다. 프로세서(1710)는 저장부(1707)에 저장된 오퍼레이팅 시스템(1801)과 각종 모듈(1802 ~ 1810)들을 이용하여 정보 입력부(1701), 센싱부(1702), 터치 스크린(1703), 카메라(1703), 오디오 입력부(1705), 오디오 출력부(1706), 저장부(1707), 무선 통신부(1708), 유선 통신부(1709), 및 전원부(1711)를 전반적으로 제어할 수 있다. 따라서 프로세서(1710)는 제어기나 마이크로프로세서, 디지털 신호 처리기(Digital Signal Processor) 등으로 언급될 수 있다.
또한 프로세서(1710)는 오퍼레이팅 시스템(1801)과 UI 모듈(1806)을 이용하여 정보 입력부(1701), 센싱부(1702), 터치 스크린(1703), 카메라(1704), 및 오디오 입력부(1705)를 이용하여 사용자 인터페이스를 제공할 수 있다.
프로세서(1710)는 본 발명의 바람직한 실시 예에 따른 애플리케이션 실행 방법에 관련된 적어도 하나의 프로그램을 실행시켜 상술한 도 2, 도 13, 및 도 16에 도시된 동작 흐름도 및 도 2, 도 13 및 도 16에서의 변형 예들중 하나를 수행할 수 있다. 프로세서(1710)는 상기 프로그램을 저장부(1707)로부터 리드하여 실행시키거나 무선 통신부(1708) 또는 유선 통신부(1709)를 통해 연결된 외부 디바이스로부터 다운받아 실행시킬 수 있다. 이 때, 외부 디바이스는 애플리케이션 제공 서버 또는 애플리케이션 마켓 서버로 언급될 수 있다. 외부 디바이스는 클라우드 서버 또는 호스트 디바이스(110) 주변의 통신 가능한 디바이스를 포함할 수 있으나 이에 제한되지 않는다. 프로세서(1710)는 호스트 디바이스(110)내의 각종 하드웨어 컴포넌트들과 프로세서(1710)간의 인터페이스 기능부를 포함하는 것으로 이해될 수 있다.
도 1에 도시된 제 1 내지 제 n 외부 디바이스(120_1~120_n)의 기능 블록도 역시 도 17에 도시된 바와 같이 구성될 수 있다. 그러나 도 19에 도시된 기능 블록도와 같이 구성될 수 있다. 이하 설명의 편의를 위하여 도 19의 기능 블록도를 제 1 외부 기기(120_1)의 기능 블록도로 설명한다.
도 19를 참조하면, 제 1 외부 디바이스(120_1)는 정보 입출력부(1901), 외부 디바이스의 소프트웨어(1902)가 저장되어 있는 저장부(1903), 외부 디바이스의 하드웨어(1904), 통신부(1905), 포트(1906), 및 프로세서(1907)를 포함할 수 있으나 이로 제한되지 않는다. 예를 들어, 제 1 외부 디바이스(120_1)는 포트(1906)를 포함하지 않거나 전원부(미 도시됨)를 포함할 수 있다. 또한, 제 1 외부 디바이스(120_1)에 포함되는 기능 블록은 제 2 내지 제 n 외부 디바이스(120_2~120_n)에 포함되는 기능 블록과 기능 또는 규격에 차이가 있을 수 있다.
도 19를 참조하면, 정보 입출력부(1901)를 통해 상술한 도 3 내지 도 6에서 언급된 물리적인 커넥션을 설정하기 위한 통신 방식과 서비스 커넥션을 설정하기 위한 통신 방식을 선택할 수 있는 사용자 입력 정보가 입력될 수 있다. 사용자의 입력 정보는 물리적인 커넥션을 설정하기 위한 통신 방식으로 NFC 모듈과 BLE 모듈중 하나를 선택하도록 입력되고, 서비스 커넥션을 설정하기 위한 통신 방식으로 무선랜 통신모듈과 블루투스 통신 모듈중 하나를 선택하도록 입력될 수 있으나 이로 제한되지 않는다. 또한 물리적인 커넥션을 설정하기 위한 통신 방식과 서비스 커넥션을 설정하기 위한 통신 방식은 통신부(1905)의 구성에 따라 결정될 수 있기 때문에 상술한 통신 방식을 선택할 수 있는 사용자의 입력 정보는 통신부(1905)의 구성에 따라 결정될 수 있다.
정보 입출력부(1901)는 사용자의 입력 정보를 입력하고, 호스트 디바이스(110)로부터의 기능 수행 요구에 따라 실행되는 애플리케이션에 의해 제 1 외부 디바이스(120_1)로부터 출력되는 정보를 출력한다. 사용자의 입력 정보는 터치 기반 입력 정보, 물리적인 버튼 제어 기반의 입력 정보, 사용자의 제스처 기반의 입력 정보, 사용자의 음성 인식 기반의 입력 정보, 얼굴 인식 기반의 입력 정보, 및 원격 제어기(미 도시됨) 기반의 입력 정보중 적어도 하나를 기반으로 입력될 수 있으나 이로 제한되지 않는다.
정보 입출력부(1901)는 입력 될 수 있는 입력 정보에 따라 구성될 수 있다. 예를 들어, 호스트 디바이스(110)로부터 일렉 기타 연주가 요구됨에 따라 기타 연주 애플리케이션이 실행될 때 제 1 외부 디바이스(120_1) 기반으로 입력될 수 있는 사용자의 입력 정보는 기타 연주 애플리케이션에 의해 제공하는 입력 가능한 정보를 포함할 수 있다.
저장부(1903)는 프로세서(1907)에 의해 제 1 외부 디바이스(120_1)의 전반적인 동작을 제어하기 위해 필요한 프로그램들과 자원을 저장한다. 프로그램은 제 1 외부 디바이스(120_1)의 기능을 수행하기 위한 프로그램을 포함한다. 예를 들어, 제 1 외부 디바이스(120_1)가 스마트 폰인 경우에 프로그램은 스마트 폰의 기능을 제어할 수 있는 프로그램을 포함한다. 스마트 폰의 기능을 제어할 수 있는 프로그램은 호스트 디바이스(110)의 저장부(1707)에 저장된 프로그램과 유사할 수 있다. 이에 따라 저장부(1903)는 도 18에 도시된 바와 같은 프로그램들을 저장하거나 그와 유사한 프로그램들을 저장할 수 있다. 그러나, 제 1 외부 디바이스(120_1)가 호스트 디바이스(110)에 연결 가능한 일렉 기타 액세서리인 경우에, 저장부(1903)에 저장되는 외부 디바이스의 소프트웨어(1902)는 일렉 기타 액세서리에 관련된 애플리케이션을 실행할 수 있는 프로그램이다. 저장부(1903)는 호스트 디바이스(110)와 제 1 외부 디바이스(120_1)간의 통신 프로그램을 더 포함할 수 있다.
저장부(1903)는 각 통신 방식에 따라 제 1 외부 디바이스(120_1)의 하드웨어를 제어할 수 있는 프로그램을 저장할 수 있다. 이에 따라 프로세서(1907)에 의해 결정된 통신 방식에 따라 제 1 외부 디바이스(120_1)의 하드웨어를 제어할 수 있는 프로그램을 실행시킬 수 있다. 예를 들어, 프로세서(1907)에 의해 결정된 통신 방식이 블루투스 통신 방식이면, 프로세서(1907)는 블루투스 통신 방식으로 제 1 외부 디바이스(120_1)의 하드웨어를 제어할 수 있는 프로그램을 실행시킬 수 있다.
저장부(1903)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia cardmicro type), 카드 타입의 메모리(예를 들어 SD, XD 메모리 등), 램(RAM, Random Access Memory), SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electronically Erasable Programmable Read-only Memory), PROM(Programmable Read-only Memory) 자기 메모리, 광 디스크 중 적어도 하나의 타입의 저장 매체를 포함할 수 있다.
저장부(1903)에 저장되는 자원은 상술한 도 1, 도 3 내지 도 6에서 설명한 제 1 외부 디바이스(120_1)에 관한 정보와 제 1 외부 디바이스(120_1)의 인증 정보를 포함할 수 있으나 이로 제한되지 않는다.
외부 디바이스의 하드웨어(1904)는 제 1 외부 디바이스(120_1)의 기능에 따라 정의될 수 있다. 예를 들어, 제 1 외부 디바이스(120_1)가 호스트 디바이스(110)로부터 요청된 일렉 기타 기능에 관련된 애플리케이션을 실행시켜 동작되는 일렉 기타 액세서리이면, 외부 디바이스의 하드웨어(1904)는 외부 디바이스의 소프트웨어(1902)에 저장된 일렉 기타에 관련된 애플리케이션이 프로세서(1907)에 의해 실행됨에 따라 필요한 물리적인 기능부를 포함할 수 있다. 물리적인 기능부는 예를 들어 매트로 놈 음 재생 모듈, 기타 연주 음 재생 모듈, 스피커, 기타 연주 음 레코딩 모듈, 및 정보 입출력부(1901)를 통해 입력되는 터치 기반 입력을 센싱할 수 있는 터치 센서 등을 포함할 수 있으나 이로 제한되지 않는다.
제 1 외부 디바이스(120_1)는 외부 디바이스의 하드웨어(1904)에 의해 수행되는 기능을 소프트웨어적으로 구현하고, 외부 디바이스의 하드웨어(1904)를 최소화하거나 외부 디바이스의 하드웨어(1904)를 포함하지 않을 수 있다. 이러한 경우에 소프트웨어는 저장부(1903)의 외부 디바이스의 소프트웨어(1902)로서 저장되고, 외부 디바이스의 소프트웨어(2802)는 호스트 디바이스(110)로부터 수신되는 제어 명령에 따라 프로세서(1907)에 의해 실행될 수 있다.
통신부(1905)는 NFC 모듈과 BLE 모듈을 포함하는 제 1 근거리 통신부(미 도시됨)와 무선랜 통신 모듈 및 블루투스 통신 모듈을 포함하는 제 2 근거리 통신부(미 도시됨)를 포함하나 이로 제한되지 않는다. 즉, 통신부(1905)는 네트워크를 통해 서버(미 도시됨) 또는 중계기(미 도시됨)와 연결될 수 있는 통신부를 더 포함할 수 있다.
통신부(1905)에 포함되는 NFC 모듈은 NFC 태그로 구성되거나 리드/라이트할 수 있는 칩으로 구성될 수 있다. 호스트 디바이스(110)에 NFC 모듈이 장착되는 경우에, 통신부(1905)에 포함되는 NFC 모듈은 호스트 디바이스(110)에 장착된 NFC 모듈과 P2P 모드로 양방향 데이터 통신을 수행할 수 있도록 구성될 수 있다.
통신부(1905)에 포함되는 BLE 모듈은 도 4 또는 도 6에서 설명한 바와 같이 서비스 커넥션을 설정하기 위한 정보 및 디바이스에 관한 정보를 브로드캐스트하고, 더 나아가 제 1 외부 디바이스(120_1)의 인증 정보 및 제 1 외부 디바이스(120_1)에 관한 정보를 브로드캐스트하고, 호스트 디바이스(110)로부터 중계기(300)에 대한 연결 정보를 수신할 수 있다. 그러나 BLE 모듈로부터 브로드캐스트되는 정보는 상술한 관련된 애플리케이션 정보를 포함하지 않을 수 있다.
통신부(1905)에 포함되는 무선 랜 통신모듈은 호스트 디바이스(110)와 디바이스간 직접 통신 방식과 중계기(300)를 통하는 통신 방식을 선택적으로 수행하도록 구성되거나 디바이스간 직접 통신 방식만 수행되도록 구성되거나 중계기(300)를 통하는 통신 방식만 수행되도록 구성될 수 있다.
포트부(1906)는 USB 포트 및 UART 포트중 적어도 하나를 포함할 수 있으나 이로 제한되지 않는다. 제 1 외부 디바이스(120_1)는 포트부(1906)를 포함하지 않을 수 있다. 포트부(1906)를 통해 호스트 디바이스(110)와 제 1 외부 디바이스(120_1)가 연결되면, 호스트 디바이스(110)와 제 1 외부 디바이스(120_1)는 유선 통신 채널을 통해 연동될 수 있다.
프로세서(1907)는 저장부(1903)에 저장된 외부 디바이스의 소프트웨어(1902)를 실행시켜 제 1 외부 디바이스(120_1)의 전반적인 동작을 제어한다. 따라서 프로세서(1907)는 제어부로 언급될 수 있다. 특히 프로세서(1907)는 본 발명의 바람직한 실시 예에 따른 애플리케이션 실행 방법을 수행하기 위해 통신부(1905)를 통해 호스트 디바이스(110)와 제 1 외부 디바이스(120_1)간을 연결하는 동작을 수행할 수 있다.
상술한 실시 예들은 복수의 디바이스와 기능 정보를 매핑하는 예들이다, 그러나 복수의 디바이스 대신에 분배 가능한 기능 정보에 복수의 사용자를 매핑하도록 변형하고, 매핑된 정보에 기초하여 복수의 사용자의 디바이스로 기능 수행을 요청할 수 있다.
이 경우에, 상기 기능 정보와 상기 복수의 사용자를 매핑하는 것은, 복수의 사용자 각각에 관한 정보, 복수의 사용자와 관련된 디바이스에 관한 정보, 복수의 사용자와 관련된 디바이스 각각의 규격 정보, 및 복수의 사용자에 관련된 디바이스 각각에 설치된 애플리케이션에 관한 정보 중 적어도 하나와 기능 정보를 이용하여 수행될 수 있으나 이로 제한되지 않는다.
사용자에 관한 정보는 사용자의 연락처 정보, 및 프로파일 정보를 포함하고, 사용자의 프로파일 정보는 사용자와 관련된 애플리케이션에 대한 사용 이력 정보를 포함할 수 있으나 이로 제한되지 않는다. 복수의 사용자와 관련된 디바이스에 관한 정보는 선택된 통신 방식에 매핑된 사용자의 디바이스 정보를 포함할 수 있으나 이로 제한되지 않는다.
본 발명의 실시 예들에 따른 애플리케이션 실행 방법을 컴퓨터로 구현하는 방법을 수행하도록 하는 명령어들을 포함하는 하나 이상의 프로그램은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로써 기록되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로써 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (33)

  1. 애플리케이션에 대한 선택 신호를 수신하는 단계;
    상기 애플리케이션에 의해 분배 가능한 기능 정보를 디스플레이 하는 단계;
    상기 기능 정보와 복수의 디바이스를 매핑하는 단계; 및
    상기 매핑된 정보에 기초하여 상기 복수의 디바이스로 기능 수행을 요청하는 단계를 포함하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  2. 제 1 항에 있어서, 상기 기능 정보와 상기 복수의 디바이스를 매핑하는 단계는,
    상기 복수의 디바이스 각각의 사용자에 관한 정보, 상기 복수의 디바이스 각각의 규격 정보, 및 상기 복수의 디바이스 각각에 설치된 애플리케이션에 관한 정보중 적어도 하나와 상기 기능 정보를 이용하여 수행되는 것을 특징으로 하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  3. 제 2 항에 있어서, 상기 사용자에 관한 정보는 상기 사용자의 프로파일 정보를 포함하고,
    상기 사용자의 프로파일 정보는 상기 사용자와 관련된 애플리케이션에 대한 사용 이력 정보를 포함하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  4. 제 2 항에 있어서, 상기 애플리케이션에 관한 정보는 애플리케이션의 타입 정보, 애플리케이션의 버전 정보, 및 애플리케이션의 설정 정보중 적어도 하나를 포함하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  5. 제 2 항에 있어서, 상기 디바이스 각각의 규격 정보는 상기 디바이스 각각의 환경 설정 정보 및 상기 디바이스 각각의 하드웨어 규격 정보중 적어도 하나를 포함하는 호스트 디바이스에 수행되는 애플리케이션 실행 방법.
  6. 제 1 항에 있어서, 상기 기능 정보와 상기 복수의 디바이스를 매핑하는 단계는,
    상기 기능 정보에 관한 디스플레이 순서와 상기 호스트 디바이스와 적어도 하나의 외부 디바이스간의 근거리 통신 발생 감지 순서에 기초하여 수행되는 것을 특징으로 하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  7. 제 1 항에 있어서,
    상기 복수의 디바이스는 상기 호스트 디바이스의 적어도 하나의 외부 디바이스를 포함하고,
    상기 적어도 하나의 외부 디바이스는 상기 애플리케이션의 의해 동작되는 것을 특징으로 하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  8. 제 7 항에 있어서, 상기 방법은,
    상기 복수의 디바이스에 관한 정보를 수신하는 단계를 더 포함하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  9. 제 8 항에 있어서, 상기 복수의 디바이스에 관한 정보는 상기 복수의 디바이스 각각과 상기 복수의 디바이스에 관한 정보를 관리하는 서버중 하나로부터 수신되는 것을 특징으로 하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  10. 제 1 항에 있어서, 상기 기능 정보와 상기 복수의 디바이스를 매핑하는 단계는,
    상기 호스트 디바이스의 주변 디바이스를 검색하고, 상기 검색된 주변 디바이스에 관한 정보, 및 상기 기능 정보를 이용하여 상기 매핑을 수행하는 것을 특징으로 하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  11. 제 10 항에 있어서, 상기 검색된 주변 디바이스에 관한 정보는,
    상기 주변 디바이스의 사용자에 관한 정보, 상기 주변 디바이스의 하드웨어 규격 정보, 상기 주변 디바이스의 환경 설정 정보 및 상기 주변 디바이스에 설치된 애플리케이션에 관한 정보중 적어도 하나를 포함하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  12. 제 1 항에 있어서, 상기 기능 정보는,
    상기 애플리케이션에 사전에 설정된 것을 특징으로 하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  13. 제 1 항에 있어서, 상기 기능 정보는,
    상기 호스트 디바이스의 사용자에 의해 설정된 것을 특징으로 하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  14. 제 1 항에 있어서, 상기 기능 정보는,
    상기 애플리케이션의 기능 정보에 기초하여 상기 호스트 디바이스의 사용자에 의해 선택된 것을 특징으로 하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  15. 제 1 항에 있어서, 상기 복수의 디바이스는 상기 호스트 디바이스와 상기 호스트 디바이스의 적어도 하나의 외부 디바이스를 포함하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  16. 제 1 항에 있어서, 상기 방법은,
    상기 복수의 디바이스로부터 기능 수행 결과를 수신하는 단계를 더 포함하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  17. 제 16 항에 있어서, 상기 방법은,
    상기 복수의 디바이스로부터 수신된 기능 수행 결과에 기초하여 적어도 하나의 컨텐트를 생성하는 단계를 더 포함하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  18. 제 1 항에 있어서, 상기 방법은,
    상기 복수의 디바이스에 의한 기능 수행을 실시간으로 모니터링하는 단계를 더 포함하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  19. 적어도 하나의 외부 디바이스와 디바이스에 관한 정보, 및 적어도 하나의 프로그램을 저장하는 저장부;
    적어도 하나의 외부 디바이스와 통신하는 통신부;
    사용자의 입력 정보를 수신하고, 상기 적어도 하나의 프로그램을 실행함에 따른 정보를 출력하는 터치 스크린; 및
    상기 터치 스크린 기반의 사용자 인터페이스를 제공하고,
    상기 적어도 하나의 프로그램을 실행함으로써 복수의 디바이스에 기능 분배가 가능한 애플리케이션을 실행하는 프로세서를 포함하고,
    상기 적어도 하나의 프로그램은,
    상기 애플리케이션에 대한 선택 신호를 수신하는 단계;
    상기 애플리케이션에 의해 분배 가능한 기능 정보를 디스플레이 하는 단계;
    상기 기능 정보와 복수의 디바이스를 매핑하는 단계; 및
    상기 매핑된 정보에 기초하여 상기 복수의 디바이스로 기능 수행을 요청하는 단계를 실행하는 명령어들을 포함하는 디바이스.
  20. 제 19 항에 있어서, 상기 복수의 디바이스는 상기 디바이스와 상기 디바이스의 적어도 하나의 외부 디바이스를 포함하는 디바이스.
  21. 제 19 항에 있어서, 상기 복수의 디바이스는 상기 디바이스의 외부 디바이스를 포함하는 디바이스.
  22. 제 19 항에 있어서, 상기 프로그램은,
    상기 복수의 디바이스로부터 기능 수행 결과를 수신하는 단계; 및
    상기 수신된 기능 수행 결과에 기초하여 적어도 하나의 컨텐트를 생성하는 단계를 실행하는 명령어를 더 포함하는 디바이스.
  23. 제 19 항에 있어서, 상기 프로그램은,
    상기 복수의 디바이스에 의한 기능 수행을 실시간으로 모니터링하는 단계를 실행하는 명령어를 더 포함하는 디바이스.
  24. 제 19 항에 있어서, 상기 기능 정보와 상기 복수의 디바이스를 매핑하는 단계는,
    상기 복수의 디바이스 각각의 사용자에 관한 정보, 상기 복수의 디바이스 각각의 하드웨어 규격 정보, 상기 복수의 디바이스의 환경 설정 정보, 및 상기 복수의 디바이스 각각에 설치된 애플리케이션에 관한 정보중 적어도 하나와 상기 기능 정보를 이용하여 수행되는 것을 특징으로 하는 디바이스.
  25. 제 19 항에 있어서, 상기 기능 정보와 상기 복수의 디바이스를 매핑하는 단계는,
    상기 기능 정보의 디스플레이 순서와 상기 디바이스와 상기 적어도 하나의 외부 디바이스간의 근거리 통신 발생 감지 순서에 기초하여 수행되는 것을 특징으로 하는 디바이스.
  26. 제 19 항에 있어서, 상기 기능 정보와 상기 복수의 디바이스를 매핑하는 단계는,
    상기 디바이스의 주변 디바이스를 검색하고, 상기 검색된 주변 디바이스에 관한 정보와 상기 기능 정보를 이용하여 상기 매핑을 수행하는 것을 특징으로 하고,
    상기 주변 디바이스는 상기 적어도 하나의 외부 디바이스를 포함하는 디바이스.
  27. 제 19 항에 있어서, 상기 프로그램은,
    상기 적어도 하나의 외부 디바이스에 관한 정보를 수신하는 단계를 실행하는 명령어를 더 포함하는 디바이스.
  28. 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법을 실행하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체에 있어서,
    상기 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법은,
    상기 애플리케이션에 대한 선택 신호를 수신하는 단계;
    상기 애플리케이션에 의해 분배 가능한 기능 정보를 디스플레이 하는 단계;
    상기 기능 정보와 상기 복수의 디바이스를 매핑하는 단계; 및
    상기 매핑된 정보에 기초하여 상기 복수의 디바이스로 기능 수행을 요청하는 단계를 포함하는 기록 매체.
  29. 애플리케이션에 대한 선택 신호를 수신하는 단계;
    상기 애플리케이션에 의해 분배 가능한 기능 정보를 디스플레이 하는 단계;
    상기 기능 정보와 복수의 사용자를 매핑하는 단계; 및
    상기 매핑된 정보에 기초하여 상기 복수의 사용자의 디바이스로 기능 수행을 요청하는 단계를 포함하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  30. 제 29 항에 있어서, 상기 기능 정보와 상기 복수의 사용자를 매핑하는 단계는,
    상기 복수의 사용자 각각에 관한 정보, 상기 복수의 사용자의 디바이스에 관한 정보, 상기 복수의 사용자의 디바이스 각각의 규격 정보, 및 상기 복수의 사용자의 디바이스 각각에 설치된 애플리케이션에 관한 정보 중 적어도 하나와 상기 기능 정보를 이용하여 수행되는 것을 특징으로 하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  31. 제 30 항에 있어서, 상기 사용자에 관한 정보는 상기 사용자의 연락처 정보, 및 프로파일 정보를 포함하고,
    상기 사용자의 프로파일 정보는 상기 사용자의 애플리케이션에 대한 사용 이력 정보를 포함하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  32. 제 30 항에 있어서, 상기 복수의 사용자의 디바이스에 관한 정보는 선택된 통신 방식에 매핑된 사용자의 디바이스 정보를 포함하는 호스트 디바이스에 의해 수행되는 애플리케이션 실행 방법.
  33. 복수의 사용자에 관한 정보, 및 적어도 하나의 프로그램을 저장하는 저장부;
    상기 복수의 사용자중 선택된 사용자의 디바이스와 통신하는 통신부;
    사용자의 입력 정보를 수신하고, 상기 적어도 하나의 프로그램을 실행함에 따른 정보를 출력하는 터치 스크린; 및
    상기 터치 스크린 기반의 사용자 인터페이스를 제공하고,
    상기 적어도 하나의 프로그램을 실행함으로써 복수의 사용자에게 기능 분배가 가능한 애플리케이션을 실행하는 프로세서를 포함하고,
    상기 적어도 하나의 프로그램은,
    상기 애플리케이션에 대한 선택 신호를 수신하는 단계;
    상기 애플리케이션에 의해 분배 가능한 기능 정보를 디스플레이 하는 단계;
    상기 기능 정보와 상기 복수의 사용자를 매핑하는 단계; 및
    상기 매핑된 정보에 기초하여 상기 통신부를 통해 상기 복수의 사용자에 관련된 적어도 하나의 디바이스로 기능 수행을 요청하는 단계를 실행하는 명령어들을 포함하는 디바이스.
KR1020130054645A 2012-12-28 2013-05-14 애플리케이션 실행 방법 및 시스템 KR102099913B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/KR2013/011940 WO2014104658A1 (en) 2012-12-28 2013-12-20 Method and system for executing an application
EP13866735.7A EP2939134B1 (en) 2012-12-28 2013-12-20 Method and system for executing an application
CN201380068142.5A CN104871148B (zh) 2012-12-28 2013-12-20 用于执行应用程序的方法以及系统
US14/140,339 US20140188985A1 (en) 2012-12-28 2013-12-24 Method and system for executing an application

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120157204 2012-12-28
KR20120157204 2012-12-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020200039435A Division KR102133536B1 (ko) 2012-12-28 2020-03-31 애플리케이션 실행 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20140086790A true KR20140086790A (ko) 2014-07-08
KR102099913B1 KR102099913B1 (ko) 2020-04-10

Family

ID=51735962

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020130054645A KR102099913B1 (ko) 2012-12-28 2013-05-14 애플리케이션 실행 방법 및 시스템
KR1020200039435A KR102133536B1 (ko) 2012-12-28 2020-03-31 애플리케이션 실행 방법 및 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020200039435A KR102133536B1 (ko) 2012-12-28 2020-03-31 애플리케이션 실행 방법 및 시스템

Country Status (5)

Country Link
US (1) US20140188985A1 (ko)
EP (1) EP2939134B1 (ko)
KR (2) KR102099913B1 (ko)
CN (1) CN104871148B (ko)
WO (1) WO2014104658A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101594105B1 (ko) * 2015-03-06 2016-02-16 주식회사 와이젯 사용자 장치 간에 여러 화면을 분배하고 입력 인터페이스를 공유하는 멀티 스크린 구현 방법 및 장치
KR20200111448A (ko) * 2019-03-19 2020-09-29 티제이미디어 주식회사 다수의 노래 반주기로 합주 연주하는 노래 반주기의 운용 방법
KR102602593B1 (ko) * 2023-02-15 2023-11-15 주식회사 마키나락스 원격지 실행을 통한 개발 환경 제공 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10438448B2 (en) * 2008-04-14 2019-10-08 Gregory A. Piccionielli Composition production with audience participation
TWI508609B (zh) * 2014-01-08 2015-11-11 晶睿通訊股份有限公司 無線網路設定方法與無線網路系統
KR102244855B1 (ko) * 2014-04-11 2021-04-27 삼성전자 주식회사 전자 장치의 입출력 장치 선택 방법 및 이를 이용한 전자 장치
US9667625B2 (en) * 2014-07-10 2017-05-30 Ricoh Company, Ltd. Access control method, authentication method, and authentication device
USD766325S1 (en) * 2014-09-02 2016-09-13 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
KR102306359B1 (ko) * 2015-01-28 2021-09-30 삼성전자주식회사 복수의 프로세서들을 이용한 데이터 운용 방법 및 장치
KR101850203B1 (ko) * 2016-04-11 2018-04-18 라인 가부시키가이샤 기기간 어플리케이션 연동 방법 및 시스템
KR102518295B1 (ko) 2016-04-19 2023-04-04 엘지전자 주식회사 이동 단말기
US10560982B2 (en) * 2016-11-10 2020-02-11 Veniam, Inc. Systems and methods to deploy and control a node in a network of moving things
US11311799B2 (en) * 2017-05-19 2022-04-26 Audioplay Australia Pty Ltd Role-play synchronisation system
JP2019121875A (ja) * 2017-12-28 2019-07-22 キヤノン株式会社 端末装置、情報処理方法及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070072597A1 (en) * 2005-09-27 2007-03-29 Xavier Peuziat Feature sharing
KR20080016393A (ko) * 2006-08-17 2008-02-21 한국전자통신연구원 Smmd 기반 유비쿼터스 홈 미디어 서비스 장치 및방법과 그를 이용한 홈 미디어 서비스 시스템 및 그 방법
US20090204370A1 (en) * 2008-02-11 2009-08-13 Palo Alto Research Center Incorporated System and method for enabling extensibility in sensing systems
KR20120052897A (ko) * 2009-03-20 2012-05-24 필 테크놀로지스, 인크. 장치-기반 제어 시스템

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002010360A (ja) 2000-06-27 2002-01-11 Toshiba Corp 携帯端末機器、情報処理装置及び周辺機器の遠隔制御方法
JP4752425B2 (ja) * 2005-09-28 2011-08-17 ヤマハ株式会社 合奏システム
US20080046944A1 (en) * 2006-08-17 2008-02-21 Lee Hae-Ryong Ubiquitous home media service apparatus and method based on smmd, and home media service system and method using the same
EP2053607B1 (en) * 2007-10-26 2016-04-06 Sony Computer Entertainment Europe Ltd. Entertainment device, entertainment system and method for reproducing media items
US8568277B2 (en) * 2009-04-27 2013-10-29 Nike, Inc. Training program and music playlist generation for athletic training
US8462734B2 (en) * 2010-10-20 2013-06-11 Nokia Corporation Wireless docking with out-of-band initiation
US8620379B2 (en) * 2010-12-06 2013-12-31 Broadcom Corporation Windows portable devices interface for Bluetooth low energy devices
CN102508473B (zh) * 2011-10-31 2015-12-02 康佳集团股份有限公司 一种智能家居控制系统、控制方法及控制装置
KR101522397B1 (ko) * 2011-12-26 2015-05-22 주식회사 케이티 복수의 외부 장치와 연결될 수 있는 휴대 단말 및 그 제어 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070072597A1 (en) * 2005-09-27 2007-03-29 Xavier Peuziat Feature sharing
KR20080016393A (ko) * 2006-08-17 2008-02-21 한국전자통신연구원 Smmd 기반 유비쿼터스 홈 미디어 서비스 장치 및방법과 그를 이용한 홈 미디어 서비스 시스템 및 그 방법
US20090204370A1 (en) * 2008-02-11 2009-08-13 Palo Alto Research Center Incorporated System and method for enabling extensibility in sensing systems
KR20120052897A (ko) * 2009-03-20 2012-05-24 필 테크놀로지스, 인크. 장치-기반 제어 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101594105B1 (ko) * 2015-03-06 2016-02-16 주식회사 와이젯 사용자 장치 간에 여러 화면을 분배하고 입력 인터페이스를 공유하는 멀티 스크린 구현 방법 및 장치
KR20200111448A (ko) * 2019-03-19 2020-09-29 티제이미디어 주식회사 다수의 노래 반주기로 합주 연주하는 노래 반주기의 운용 방법
KR102602593B1 (ko) * 2023-02-15 2023-11-15 주식회사 마키나락스 원격지 실행을 통한 개발 환경 제공 방법

Also Published As

Publication number Publication date
CN104871148B (zh) 2019-01-04
KR20200037192A (ko) 2020-04-08
WO2014104658A1 (en) 2014-07-03
EP2939134A1 (en) 2015-11-04
US20140188985A1 (en) 2014-07-03
KR102099913B1 (ko) 2020-04-10
CN104871148A (zh) 2015-08-26
EP2939134B1 (en) 2018-11-14
EP2939134A4 (en) 2016-07-27
KR102133536B1 (ko) 2020-07-13

Similar Documents

Publication Publication Date Title
KR102133536B1 (ko) 애플리케이션 실행 방법 및 시스템
CN107003818B (zh) 在设备之间共享屏幕的方法及使用该方法的设备
US10146402B2 (en) User terminal device for displaying different content for an application based on selected screen and display method thereof
EP2911050A2 (en) User terminal apparatus and control method thereof
KR102270633B1 (ko) 단말기에서 근전도 검사 장치로 데이터를 전송하기 위한 장치, 시스템 및 방법
US9281793B2 (en) Systems, methods, and apparatus for generating an audio signal based on color values of an image
CN105378624A (zh) 在交互出现于白板上时显示交互
CN103677711A (zh) 连接移动终端和外部显示器的方法和实现该方法的装置
TW201621706A (zh) 使用近場通訊來以權限控制進行共享內容
EP2690843B1 (en) Content transmission method and device and computer-readable recording medium that uses the same
US11051147B2 (en) Electronic apparatus and method of outputting content by the electronic apparatus
CN111432503B (zh) 电子装置和设置音频设备网络的方法
EP3554186A1 (en) Apparatus and method for setting network of another device
WO2017215511A1 (zh) 一种场景音效的控制方法、及相关产品
KR20150144641A (ko) 사용자 단말 장치 및 그 제어 방법
KR20140081642A (ko) 외부 기기 제어 방법 및 시스템
CN110837404A (zh) 应用内部功能模块的快捷操作处理方法、装置和存储介质
JP5567568B2 (ja) 端末装置、制御方法及びプログラム
CN107211356B (zh) 电子装置和设置音频设备网络的方法
KR101675911B1 (ko) 외부음향에 따른 맞춤 정보를 표시하는 전자책
CN104869147B (zh) 浏览终端、浏览终端的处理方法及电子分发系统
KR101649649B1 (ko) 카 오디오 시스템 및 그의 제어 방법
KR20120014438A (ko) 카 오디오 시스템 및 그의 제어 방법
JP2014150420A (ja) 端末装置、制御方法及びコンピュータプログラム
KR20120061614A (ko) 데이터 전송 방법 및 이를 이용하는 이동 단말기

Legal Events

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