KR102324669B1 - 무선 통신 시스템에서 응용 프로그램 실행 방법 및 장치 - Google Patents

무선 통신 시스템에서 응용 프로그램 실행 방법 및 장치 Download PDF

Info

Publication number
KR102324669B1
KR102324669B1 KR1020140063216A KR20140063216A KR102324669B1 KR 102324669 B1 KR102324669 B1 KR 102324669B1 KR 1020140063216 A KR1020140063216 A KR 1020140063216A KR 20140063216 A KR20140063216 A KR 20140063216A KR 102324669 B1 KR102324669 B1 KR 102324669B1
Authority
KR
South Korea
Prior art keywords
information
application
app
request message
executing
Prior art date
Application number
KR1020140063216A
Other languages
English (en)
Other versions
KR20150135959A (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
Priority to KR1020140063216A priority Critical patent/KR102324669B1/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to EP14846282.3A priority patent/EP3051425A4/en
Priority to CN202210703689.9A priority patent/CN115103337B/zh
Priority to CN202210703674.2A priority patent/CN114911745A/zh
Priority to RU2016115528A priority patent/RU2678663C2/ru
Priority to CN201480052311.0A priority patent/CN105579995B/zh
Priority to US15/023,923 priority patent/US11006187B2/en
Priority to CA2925284A priority patent/CA2925284C/en
Priority to PCT/KR2014/008812 priority patent/WO2015041494A1/ko
Priority to JP2016516562A priority patent/JP6543617B2/ja
Priority to BR112016006403-8A priority patent/BR112016006403B1/pt
Priority to MX2016003821A priority patent/MX2016003821A/es
Publication of KR20150135959A publication Critical patent/KR20150135959A/ko
Priority to US17/314,430 priority patent/US20210274263A1/en
Priority to KR1020210150521A priority patent/KR102401691B1/ko
Application granted granted Critical
Publication of KR102324669B1 publication Critical patent/KR102324669B1/ko
Priority to KR1020220061769A priority patent/KR102527235B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Abstract

본 개시의 일 실시 예에 따르면, 통신 시스템의 제1디바이스에서 실행(launch)된 제1어플리케이션이 제2디바이스를 발견하고, 상기 제2디바이스에 대한 정보를 요청하는 제1요청 메시지를 상기 제2디바이스로 송신하고, 상기 제1요청 메시지에 대한 응답으로, 상기 제2디바이스에 대한 정보를 수신하고, 상기 수신된 제2디바이스에 대한 정보로부터, 상기 제2디바이스의 성능 정보를 포함하는 사용자 에이전트(user agent: UA) 정보 및 제1 URL(uniform resource locator) 정보를 획득하고, 상기 획득된 UA 정보를 기반으로 상기 제2디바이스가 상기 제2디바이스에 포함된 제2어플리케이션을 실행하기 위한 성능을 제공하는지 여부를 판단하고, 상기 제2디바이스가 상기 제2어플리케이션을 실행하기 위한 성능을 제공한다는 판단을 기반으로, 상기 제2어플리케이션을 실행하기 위한 제2요청 메시지를 상기 제2디바이스로 송신하며, 상기 제 1 URL 정보는 상기 제1디바이스와 상기 제2디바이스 간의 동기화를 위해 사용되고, 상기 제2요청 메시지는 상기 제2어플리케이션의 식별 정보, 상기 제2어플리케이션의 위치 정보, 상기 제2어플리케이션의 타입 정보 및 상기 제2어플리케이션의 전송 정보를 포함함을 특징으로 한다.

Description

무선 통신 시스템에서 응용 프로그램 실행 방법 및 장치{METHOD AND APPARATUS FOR EXECUTING APPLICATION PROGRAM IN WIRELESS COMMUNICATION SYSTEM}
본 발명은 무선 통신 시스템에서 응용 프로그램 실행 방법 및 장치에 관한 것이다.
최근 네트워크 기술과 멀티미디어 기술의 급속한 진화에 따라 다양한 종류의 기기들이 개발되고, 이러한 기기들 사이의 병합화(Convergence)가 가속화 되어 가고 있다. 이에 따라 디지털 TV, 홈 씨어터, 컴퓨터 장치, 이동 단말 등의 각종 기기들이 네트워크 환경을 통해 데이터를 송수신하고 병합된 서비스를 제공하는 일이 빈번하게 발생하고 있다. 그리고 상기 병합된 서비스의 제공을 위해 기기들 간에 상호 동작을 제어할 수 있도록 하는 방안이나 상기 기기들 간 상호 관련된 동작을 수행할 수 있도록 하는 방안의 필요성이 높아지고 있다.
본 발명은 무선 통신 시스템에서 응용 프로그램 실행 방법 및 장치를 제안한다.
본 발명은 다수의 기기들이 연결되어 있는 네트워크 환경에서 기기들 간 응용 프로그램을 연동시켜 사용할 수 있도록 하는 방법 및 장치를 제안한다.
본 발명은 응용 프로그램 연동 동작을 통해 기기들 간 제어 동작이 수행될 수 있도록 하는 방법 및 장치를 제안한다.
일 실시 예에 따른 방법은; 통신 시스템의 제1디바이스에서 실행(launch)된 제1어플리케이션이 제2디바이스와 통신을 수행하는 방법에 있어서, 상기 제2디바이스를 발견하는 과정과, 상기 제2디바이스에 대한 정보를 요청하는 제1요청 메시지를 상기 제2디바이스로 송신하는 과정과, 상기 제1요청 메시지에 대한 응답으로, 상기 제2디바이스에 대한 정보를 수신하는 과정과, 상기 수신된 제2디바이스에 대한 정보로부터, 상기 제2디바이스의 성능 정보를 포함하는 사용자 에이전트(user agent: UA) 정보 및 제1 URL(uniform resource locator) 정보를 획득하는 과정과, 상기 획득된 UA 정보를 기반으로 상기 제2디바이스가 상기 제2디바이스에 포함된 제2어플리케이션을 실행하기 위한 성능을 제공하는지 여부를 판단하는 과정과, 상기 제2디바이스가 상기 제2어플리케이션을 실행하기 위한 성능을 제공한다는 판단을 기반으로, 상기 제2어플리케이션을 실행하기 위한 제2요청 메시지를 상기 제2디바이스로 송신하는 과정을 포함하며, 상기 제 1 URL 정보는 상기 제1디바이스와 상기 제2디바이스 간의 동기화를 위해 사용되고, 상기 제2요청 메시지는 상기 제2어플리케이션의 식별 정보, 상기 제2어플리케이션의 위치 정보, 상기 제2어플리케이션의 타입 정보 및 상기 제2어플리케이션의 전송 정보를 포함함을 특징으로 한다.
일 실시 예에 따른 장치는; 통신 시스템에서 제1디바이스에 있어서, 송수신부와, 제1어플리케이션을 실행(launch)하여 제2디바이스와 통신을 수행하도록 상기 송수신부를 제어하는 제어부를 포함하고, 상기 제어부는 상기 실행된 제1어플리케이션을 기반으로, 상기 제2디바이스를 발견하고, 상기 제2디바이스에 대한 정보를 요청하는 제1요청 메시지를 상기 제2디바이스로 송신하고, 상기 제1요청 메시지에 대한 응답으로, 상기 제2디바이스에 대한 정보를 수신하도록 상기 송수신부를 제어하고, 상기 수신된 제2디바이스에 대한 정보로부터, 상기 제2디바이스의 성능 정보 를 포함하는 사용자 에이전트(user agent: UA) 정보 및 제1 URL(uniform resource locator) 정보를 획득하고, 상기 획득된 UA 정보를 기반으로 상기 제2디바이스가 상기 제2디바이스에 포함된 제2어플리케이션을 실행하기 위한 성능을 제공하는지 여부를 판단하고, 상기 판단 결과를 기반으로 상기 제2어플리케이션을 실행하기 위한 제2요청 메시지를 상기 제2디바이스로 송신하도록 상기 송수신부를 제어하며, 상기 제 1 URL 정보는 상기 제1디바이스와 상기 제2디바이스 간의 동기화를 위해 사용되고, 상기 제2요청 메시지는 상기 제2어플리케이션의 식별 정보, 상기 제2어플리케이션의 위치 정보, 상기 제2어플리케이션의 타입 정보 및 상기 제2어플리케이션의 전송 정보를 포함함을 특징으로 한다.
본 발명은 다수의 기기들이 연결되어 있는 네트워크 환경에서 웹 기술을 기반으로 기기들 간 발견 동작 및 응용 프로그램 정보 송수신 동작을 통해 제1기기의 응용 프로그램을 제2기기가 실행시킬 수 있도록 할 수 있다. 일 예로, 상기 제1기기가 디지털 TV이고 상기 제2기기가 이동 단말인 경우, 상기 제2기기는 상기 제2기기의 응용 프로그램(전자 프로그램 가이드(electronic program guide: EPG) 등)으로부터 상기 제1기기의 방송과 연계된 응용 프로그램을 실행시킬 수 있다. 또한 상기 제2기기는 상기 제2기기의 응용 프로그램(리모트 콘트롤러)으로부터 상기 제1기기에 대한 제어 동작(볼륨 설정 및 채널 변경 등)을 수행할 수 있다. 그리고 기존의 하이브리드 방송 환경에서는 방송과 연계된 응용 프로그램의 정보가 상기 제1기기에서 방송망을 통해 획득해야 했지만, 본 발명에서는 상기 제2기기에서 상기 제1기기의 응용 프로그램 정보를 가져올 수 있는 장점이 있다.
도 1은 본 발명의 실시 예에 따른 무선 통신 시스템의 구성을 나타낸 도면,
도 2는 본 발명의 실시 예에 따른 무선 통신 시스템에서 제2기기가 제1기기의 App을 실행시키는 과정을 나타낸 신호 흐름도,
도 3은 본 발명의 실시 예에 따른 제2기기가 제1기기를 검색하는 과정을 나타낸 신호 흐름도,
도 4는 본 발명의 실시 예에 따른 무선 통신 시스템에서 제1기기의 App을 실행하는 과정을 나타낸 순서도,
도 5는 본 발명의 실시 예에 따른 제1기기가 App 실행 및 중단 동작을 수행하는 과정을 나타낸 순서도,
도 6은 본 발명의 실시 예에 따른 제2기기의 App 실행과 관련된 동작을 나타낸 순서도,
도 7은 본 발명의 실시 예에 따른 방법이 적용된 예를 보인 도면.
이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명은 무선 통신 시스템에서 응용 프로그램 실행 방법 및 장치를 제공한다. 본 발명의 실시 예에서 상기 무선 통신 시스템은 다수의 기기들이 연결되어 있는 네트워크 환경(일 예로, 홈 네트워크 환경)에서의 무선 통신 시스템이 될 수 있다. 상기 무선 통신 시스템에서는 제1기기와 제2기기가 연동되어 상기 제2기기의 응용 프로그램과 연계된 상기 제1기기의 응용 프로그램에 대한 정보를 상기 제2기기가 상기 제1기기에 제공해줄 수 있다. 구체적으로, 웹 기술을 기반으로 상기 제2기기가 자신과 연동될 수 있는 제1기기를 발견하고, 상기 제2기기의 응용 프로그램과 연계된 상기 제1기기의 응용 프로그램에 대한 정보를 상기 제1기기로 송신함으로써 상기 제1기기의 응용 프로그램이 실행될 수 있도록 할 수 있다.
본 발명의 실시 예에서는 동일 네트워크 내에서 다수의 기기들 간 연동을 위해 필요한 시스템 구성 방법과 함께, 제2기기와 제1기기 간 연동을 위해 필요한 구체적인 프로토콜을 제공한다. 또한 본 발명의 실시 예에서는 다수의 기기 간의 응용 프로그램 연동을 위한 공용 프레임 워크를 제공함으로써 향후 상기 공용 프레임 워크가 원격 사용자 인터페이스(remote user interface: RUI) 서비스를 위해 사용되거나 다양한 방송 표준 환경에서 사용될 수 있도록 한다.
한편, 본 발명의 실시 예에서 응용 프로그램은 HTML5(hypertext markup language 5)로 작성되는 웹 응용 프로그램과 해당 기기의 운영 체제(operating system: OS)에 종속적인 내장형(native) 응용 프로그램을 모두 포함할 수 있다. 이하에서는 설명의 편의를 위해 응용 프로그램을"App"라 칭하기로 한다.
이하 본 발명의 실시 예에 대해 구체적으로 설명한다. 본 발명의 실시 예에서는 다음과 같은 방법을 제공한다.
- 제2기기와 제1기기 간 연동을 위한 무선 통신 시스템 구성
- 제2기기에서 제1기기를 찾는 방법
- 제2기기가 제1기기의 특정 App을 실행하는 방법
- 제2기기에서 제1기기의 성능에 맞는 App을 선정하는 방법
- 제1기기에서 서비스를 제공하기 위한 서비스 종단점(service end-point) 정보를 제공하는 방법
먼저, 도 1을 참조하여 상기 제2기기와 제1기기 간 연동을 위한 무선 통신 시스템 구성을 살펴보기로 한다.
도 1은 본 발명의 실시 예에 따른 무선 통신 시스템의 구성을 나타낸 도면이다.
도 1을 참조하면, 상기 무선 통신 시스템은 웹 서버(web server)(100)와 다수의 기기들을 포함한다. 상기 다수의 기기들은 동일한 네트워크에서 통신을 수행할 수 있으며, 일 예로 홈 네트워크 내의 무선 통신이 가능한 기기들이 될 수 있다. 도 1에서는 상기 다수의 기기들 중 서로 연동할 수 있는 제1기기(110)와 제2기기(120)에 대해 설명하기로 한다.
상기 웹 서버(100)는 상기 제1기기(110)와 상기 제2기기(120)에서 사용 가능한 웹 App을 제공한다. 상기 웹 App는 상기 웹 App(114)(124)는 HTML, CSS(cascading style sheet), 자바스크립트(javascript), 동영상 및 이미지 등으로 구성될 수 있다. 한편, 상기 웹 서버(100)는 로컬 네트워크 내에 존재하거나 외부 네트워크(클라우드) 등에 존재할 수 있다. 그리고 상기 웹 서버(100)은 상기 제1기기(110)의 App을 실행하기 위한 App 정보 즉, XML(extensible markup language)을 기반으로 생성된 App 정보(이하 'XML AIT'라 칭함)를 제공할 수 있다. 여기서 상기 XML AIT를 제공하는 웹 서버와 웹 App을 제공하는 웹 서버는 동일한 디바이스일 수도 있고 상이한 디바이스가 될 수 있다.
상기 제1기기(110)는 App이 실행되는 주(main) 기기를 나타낸다. 예를 들어, 상기 제1기기(100)는 디지털 TV(digital TV: DTV)나 셋톱박스(set top box: STB)등과 같은 공용 기기가 될 수 있으며, 이때 상기 App은 방송과 관련된 App가 될 수 있다.
상기 제2기기(120)는 상기 제1기기(110)와 연동하여 App을 실행하는 보조 기기를 나타낸다. 상기 제2기기(120)는 이동 단말이나 태블릿 등과 같은 개인 단말이 될 수 있다.
상기 제1기기(110)와 상기 제2기기(120)는 각각 웹 브라우저(web brower)(112)(122)를 포함한다. 상기 웹 브라우저(112)(122)는 웹 App(114)(124)를 실행하기 위해 사용된다.
상기 제2기기(120)는 내장형 App(126)을 포함할 수 있다. 상기 내장형 App(126)은 상기 제2기기(120)의 OS에서 실행되는 App을 나타낸다. 상기 내장형 App(126)은 바이너리(binary)로 컴파일(compile)되어 있으며 해당 OS(일 예로, 안드로이드, iOS, Windows 및 TiZen 등 중 하나)에 종속적이다.
본 발명의 실시 예에서 상기 제1기기(110)는 CS(companion screen) 관리부(manager)(116)와 응용 정보 테이블(application information table: AIT) 관리부(118)를 더 포함할 수 있다. 상기 CS 관리부(116)는 상기 제2기기(120)와의 연동을 위해 필요한 동작을 수행한다. 예를 들어, 상기 CS 관리부(116)는 해당 네트워크에서 상기 제2기기(120)를 검색하는 동작, 상기 제2기기(120)로부터 상기 제1기기(110)에서 실행할 App 정보를 수신하는 동작 및 상기 제1기기(110)와 상기 제2기기(120)의 App 간 통신을 위한 동작 등을 수행할 수 있다.
상기 AIT 관리부(118)는 상기 제1기기(110)에 포함되며 XML AIT를 수신하여 파싱(parsing)한다. 상기 XML AIT는 상기 제2기기(120)로부터 송신된 정보로서, 상기 CS 관리부(116)에 의해 수신되어 상기 AIT 관리부(118)로 전달된다. 상기 AIT 관리부(118)는 상기 XML AIT를 파싱하여 해당 App에 대한 정보를 추출하고, 추출된 정보를 기반으로 해당 App을 실행시킨다.
상기 제2기기(120)는 CS 런처(launcher)(128)를 더 포함한다. 상기 CS 런처(128)는 상기 제1기기(110)와의 연동을 위해 필요한 동작을 수행한다. 예를 들어, 상기 CS 런처(128)는 해당 네트워크에서 상기 제1기기(110)를 검색하는 동작, App의 요청에 의해 상기 제1기기(110)에 App의 실행을 요청하는 동작 및 App에 대한 정보를 전달하는 동작 및 상기 제1기기(110)와 상기 제2기기(120)의 App 간 통신을 위한 동작 등을 수행할 수 있다.
이하 상기 도 1에 도시된 바와 같은 무선 통신 시스템에서 상기 제2기기(120)가 상기 제1기기(110)의 App을 실행하는 방법에 대해 설명하기로 한다.
도 2는 본 발명의 실시 예에 따른 무선 통신 시스템에서 제2기기가 제1기기의 App을 실행시키는 과정을 나타낸 신호 흐름도이다.
도 2를 참조하면, 200 단계에서 상기 제2기기(120)는 CS App(130)을 실행시킨다. 상기 CS App(130)은 상기 제1기기(110)의 App을 실행하기 사용되는 상기 제2기기(120)의 App이 될 수 있다. 그리고 상기 CS App(130)은 웹 App(124) 및 내장형 App(126) 중 하나가 될 수 있는데, 상기 CS App(130)이 웹 App(124)인 경우에는 202 단계 및 204 단계를 통해 상기 CS App(130)이 실행된다.
즉, 상기 CS App(130)가 웹 App(124)인 경우, 202 단계에서 상기 제2기기(120)는 URL을 기반으로 상기 웹 서버(100)로 CS App(130)을 요청하고, 204 단계에서 상기 웹 서버(100)로부터 상기 CS App(130)과 관련된 웹 페이지(HTML, CSS, 자바스크립트 및 이미지 등으로 구성됨)를 수신한다. 그리고 상기 제2기기(120)는 상기 수신된 웹 페이지를 기반으로 상기 CS App(130)을 실행한다. 상기 202 단계 및 204 단계의 동작은 웹 브라우저(122)를 사용하여 수행될 수 있으며, 상기 CS App(130)가 내장형 App(126)인 경우에는 생략될 수 있다.
상기 CS App(130)이 실행되면, 206 단계에서 해당 네트워크에서 사용 가능한 다른 기기가 있는지에 대한 기기 검색 요청이 상기 CS App(130)에 의해 상기 CS 런처(128)로 송신된다. 그러면 상기 CS 런처(128)는 208 단계에서 기기 검색을 수행하고 210 단계에서 검색된 기기에 대한 정보를 상기 CS App(130)로 송신한다.
상기 기기 검색 요청과 기기 검색 동작은 CS App(130)의 미리 설정된 응용 프로그램 인터페이스(application program interface: API)를 기반으로 수행될 수 있다. 즉, 상기 CS App(130)에 의해 상기 API가 실행되면, 상기 CS 런처(128)에 의한 실질적인 기기 검색 동작이 수행된다. 상기 API는 일 예로 discoverHbbTVdevices() 등과 같으며 구현에 따라 달라질 수 있다.
한편, 다수의 기기들이 검색된 경우 상기 다수의 기기들에 대한 정보가 상기 CS App(130)로 송신된다. 그리고 212 단계에 나타난 바와 같이, 상기 CS App(130)에서 상기 다수의 기기들 중 하나 즉, 제1기기(110)가 선택될 수 있다. 상기 제1기기(110)는 상기 CS App(130)에 의해 임의적으로 선택되거나 상기 CS App(130)가 상기 다수의 기기들 중 하나를 선택할 수 있도록 하는 사용자 인터페이스(user interface: UI)를 제공하여 사용자의 입력을 받는 등의 방법으로 선택될 수 있다.
그리고 하나의 기기가 검색되었더라도 해당 기기의 정보를 UI를 통해 사용자에게 제공함으로써 해당 기기와 연결할 지 여부에 대한 사용자의 입력을 받을 수도 있다. 상기 UI에 어떻게 보여주고 사용자의 입력을 어떻게 처리하는지에 대한 방법은 구현에 따라 다양하게 수행될 수 있다.
상기 제1기기(110)가 선택된 경우, 상기 CS App(130)는 214 단계에서 상기 제1기기(110)에서 App을 실행할 것을 상기 CS 런처(128)로 지시한다. 이를 위해 상기 CS App(130)는 미리 설정된 API를 호출할 수 있는데, 상기 API는 일 예로 launchHbbTVApp () 등이 될 수 있는데 이는 구현에 따라 달라질 수 있다.
상기 제1기기(110)의 App 실행은 HTTP 요청에 의해 이루어지며, 상기 제1기기(110)의 정보를 가져오는 과정과 이를 통해 App을 실행하는 과정을 포함하는 두 가지 과정으로 이루어진다. 이러한 과정에서 사용되는 자세한 프로토콜은 이후 도 4를 참조하여 상세히 설명하기로 한다.
상기 CS 런처(128)는 216 단계에서 App 실행 요청을 상기 제1기기(110)의 CS 관리부(116)로 송신한다. 상기 App 실행 요청은 HTTP POST 메소드에 의한 요청으로 이루어지며, 상기 HTTP 요청의 Body는 상기 제1기기(110)의 App 정보를 포함하고 있는 XML(즉, XML AIT)를 포함한다. 따라서 상기 CS 관리부(116)는 상기 App 실행 요청을 처리할 수 있는 웹 서버 기능을 가질 수 있다.
상기 CS 관리부(116)는 상기 App 실행의 요청을 처리하고, 218 단계에서 상기 XML AIT를 상기 AIT 관리부(118)로 송신한다. 상기 AIT 관리부(118)는 상기 XML AIT를 기반으로 상기 제2기기(120)의 CS App(130)과 연동되어 사용될 수 있는 상기 제1기기(110)의 App인 기본(primary) App(140)을 실행시킨다. 여기서 상기 기본 App(140)이 내장형 App일 경우, 모든 과정은 종료된다. 그리고 상기 기본 App(140)이 웹 App인 경우에는 222 단계 및 224 단계가 수행된다.
222 단계에서 상기 제1기기(110)는 URL을 기반으로 상기 웹 서버(100)로 웹 App을 요청하고, 224 단계에서 상기 웹 서버(100)로부터 상기 기본 App(140)과 관련된 웹 페이지(HTML, CSS, 자바스크립트 및 이미지 등으로 구성됨)를 수신한다. 그리고 상기 제1기기(110)는 상기 수신된 웹 페이지를 기반으로 상기 기본 App(140)을 실행시킨다. 상기 222 단계 및 224 단계의 동작은 웹 브라우저(112)를 통해 수행될 수 있다.
다음으로, 도 3을 참조하여 도 2의 208 단계에 대해 상세히 살펴보기로 한다.
도 3은 본 발명의 실시 예에 따른 제2기기가 제1기기를 검색하는 과정을 나타낸 신호 흐름도이다.
도 3을 참조하면, 300 단계에서 상기 제2기기(120)의 CS 런처(128)는 상기 CS App(130)로부터 기기 검색 요청이 수신되면, 302 단계에서 제1기기(110)가 존재하는지 검색한다. 예를 들어, 상기 CS 런처(128)는 단순 서비스 발견 프로토콜(simple service discovery protocol: SSDP)의 M-SERACH 메소드를 사용하여, 상기 CS App(130)와 관련하여 연동이 필요한 상기 제1기기(110)를 검색한다. 이때 상기 CS 런처(128)는 다음 표 1에 나타난 바와 같이 ST 헤더에 찾고자 하는 기기에 대한 정보를 포함시켜 해당 기기를 특정할 수 있다.
Figure 112014049567695-pat00001
한편, 상기 제1기기(110)의 상기 CS 관리부(116)는 상기 표 1에 나타난 바와 같은 신호가 수신되면, 304 단계에서 그에 대한 응답 신호를 상기 제2기기(120)로 송신한다. 상기 응답 신호는 다음 표 2에 나타난 바와 같이, UPnP 디바이스 정보를 포함하고 있는 XML 파일의 URL 정보를 포함하며, 상기 URL 정보는 LOCATION 헤더에 포함될 수 있다.
Figure 112014049567695-pat00002
상기 CS 런처(128)는 상기 응답 신호가 수신되면, 306 단계에서 상기 응답 신호에 포함된 URL 정보를 기반으로 상기 제1기기(110)에 대한 정보를 요청한다. 즉, 상기 CS 런처(128)는 다음 표 3과 같이 상기 LOCATION 헤더에 포함된 URL 정보를 기반으로 HTTP GET 메소드를 사용하여 상기 제1기기(110)에 대한 UPnP 디바이스 정보를 요청한다.
Figure 112014049567695-pat00003
그러면 상기 CS 관리부(116)는 308 단계에서 상기 정보 요청에 대한 응답으로 상기 제1기기(110)에 대한 정보와 상기 CS App(130)와 연동되어 사용할 수 있는 상기 제1기기(110)의 App인 기본 App(140)의 URL 정보를 상기 제2기기(120)로 송신한다. 즉, 상기 CS 관리부(116)는 상기 UPnP 디바이스 정보를 포함하고 있는 XML 파일과 함께 상기 기본 App(140)를 실행시킬 수 있는 URL 정보를 다음 표 4와 같이"Application-URL" 헤더에 포함시켜 상기 제2기기(120)로 송신한다.
Figure 112014049567695-pat00004
상기 표 4에서 "Application-URL" 헤더는 본 발명의 실시 예에서 상기 기본 App(140)를 실행할 수 있는 URL 정보를 포함시키기 위해 임의로 정한 것으로 구현에 따라 다른 이름으로 변경하여 사용할 수 있다.
상기 CS 런처(128)는 상기와 같은 과정에 따라 상기 제1기기(110)에 대한 정보가 획득되면, 310 단계에서 상기 획득된 정보를 상기 CS App(130)로 전달하고 기기 검색 동작을 종료한다.
다음으로 도 2의 216 단계에 나타난 바와 같은, 상기 제1기기(110)의 App을 실행하는 방법에 대해 도 4를 참조하여 설명하기로 한다.
도 4는 본 발명의 실시 예에 따른 무선 통신 시스템에서 제1기기의 App을 실행하는 과정을 나타낸 순서도이다.
도 4를 참조하면, 상기 제2기기(210)의 CS 런처(128)는 400 단계에서 상기 제1기기(110)에 대한 정보 일 예로, App 정보를 요청한다. 상기와 같은 요청은 HTTP GET 메소드(method)를 통해 수행될 수 있으며, 일 예로 다음 표 5에 나타난 바와 같이 나타날 수 있다.
Figure 112014049567695-pat00005
상기 표 5에서 <App Launch URL>은 도 3의 308 단계에서 상기 제1기기(110)로부터 전달받은 Application-URL 헤더의 URL 정보를 나타내며, AppName은 상기 제1기기의 App의 이름을 나타낸다. 본 발명의 실시 예에서는 상기 App의 이름을 본 발명의 실시 예에서 제공하는 특정 서비스를 제한하는 방법을 위해 사용한다. 본 발명의 실시 예에서는 HbbTV로 한정하고 있지만 이는 구현에 따라 달라질 수 있다.
상기 제1기기(110)의 CS 관리부(116)는 402 단계에서 상기 요청에 대한 응답으로 상기 제1기기(110)에 대한 정보로서 App 정보를 송신한다. 상기 App 정보에는 서비스 종단점 정보(부가 서비스 정보) 및 사용자 에이전트(user agent: UA) 정보를 포함하는 XML 파일이 포함될 수 있다. 상기 UA 정보는 상기 제2기기(120)에서 상기 제1기기(110)의 성능을 판단하기 위해 사용될 수 있다.
한편, 상기 App 정보는 일 예로 다음 표 6과 같이 나타날 수 있다.
Figure 112014049567695-pat00006
상기 표 6을 참조하면, <x_HbbTV_terminal_UAString>은 UA 스트링(string) 정보를 나타내며, <x_HbbTV_App2AppURL>는 App 간 통신을 위한 정보를 나타내며, <x_HbbTV_InterDevSyncURL>은 디바이스 간 동기 서비스를 제공하기 위한 정보를 나타낸다. 상기 App 정보에는 표 6에 나타난 정보 외에 서비스 별로 필요한 정보가 존재하는 경우 추가될 수도 있다.
상기 CS 런처(128)는 상기 App 정보를 수신하고, 상기 수신된 정보를 기반으로 404 단계에서 상기 CS 관리부(116)로 App 실행을 요청한다. 이러한 동작은 HTTP의 POST 메소드를 기반으로 수행될 수 있으며, 상기 App 실행을 위한 요청은 일 예로 다음 표 7에 나타날 수 있다.
Figure 112014049567695-pat00007
상기 표 7을 참조하면, <App Launch URL>/AppName은 표 5의 <App Launch URL>/AppName과 동일하며, 실제 실행할 App의 정보가 XML 형태(XML AIT)로 BODY 에 포함되어 전달될 수 있다. 상기 전달되는 XML AIT는 다음 표 8과 같은 정보를 포함할 수 있다.
필드/엘리먼트 내용(Description)
appName App의 이름
applicationIdentifier App ID (orgID와 appID로 구성)
applicationDescriptor/type App의 타입 (HTML/DVB 등)
applicationDescriptor/controlCode App 제어코드 (AUTOSTART, PRESENT, DESTROY, KILL, PREFETCH, REMOTE, DISABLED, PLAYBACK_AUTOSTART)
applicationDescriptor/visibility 다른 App에 보여지는지 여부
applicationDescriptor/serviceBound App이 서비스에 종속되어 있는지 여부
applicationDescriptor/priority App의 우선 순위
applicationDescriptor/version App의 버전
applicationDescriptor/mhpVersion MHP 버전
applicationDescriptor/icon App의 아이콘 포함 여부
applicationDescriptor/storageCapabilities App의 저장/캐시 여부
applicationTransport/ 전송 프로토콜 (HTTP, DVB 등)
applicationLocation/ App의 URI
applicationBoundary/ App에서 필요로 하는 데이터를 제공
applicationSpecificDescriptor/ App의 타입에 따라 부가적인 세부 사항 기술
applicationUsageDescriptor App이 제공하는 서비스 (Text 등..)
상기 CS 관리부(116)는 상기 XML AIT를 기반으로 상기 제1기기(110)의 App을 실행시킨다. 그리고 상기 CS 관리부(116)는 406 단계에서 그 실행 결과를 다음 표 9에 나타난 바와 같이 HTTP 응답 코드를 사용하여 상기 제2기기(120)로 송신한다.
Figure 112014049567695-pat00008
상기 표 9에서 "201 CREATED"는 HTTP 응답 코드를 나타내는데, 상기 HTTP 응답 코드는 일 예로 다음 표 10에 나타난 바와 같다.
Figure 112014049567695-pat00009
상기 표 10을 참조하면, "201 CREATED"는 상기 제1기기(110)의 App이 성공적으로 실행되었음을 나타내며(표 9에서는 일 예로 HbbTV App이 성공적으로 실행되었음을 나타내고 있음), "401 Unauthorized"는 상기 제1기기(110)의 App 실행이 사용자에 의해 거부되었음을 나타내고, "403 Forbidden"은 상기 제1기기(110)의 App 실행이 상기 제1기기(110)에 의해 거부되었음을 나타내고, "404 NOT FOUND"는 상기 제1기기(110)의 App이 존재하지 않음을 나타내고, "503 SERVICE UNAVAILABLE"은 상기 제1기기(110)의 특정 동작으로 인해 상기 제1기기(110)의 App을 일시적으로 실행할 수 없는 경우를 나타낸다.
다음으로 상기 제2기기(120)에서 상기 제1기기(110)의 App을 중단시키는 과정에 대해 설명하기로 한다. 상기 App의 중단을 위한 요청은 HTTP의 DELETE 메소드에 의해 수행될 수 있다. 하지만 DELETE 메소드의 경우 BODY 메시지를 포함하지 않기 때문에 중단시킬 App을 식별할 방법이 필요한다. 따라서 표 10에 나타난 바와 같은 XML AIT에 포함된 orgID와 appID를 기반으로 중단시킬 App을 식별할 수 있도록 한다. 다음 표 11은 App 중단 요청의 예를 나타낸다.
Figure 112014049567695-pat00010
이하 도 5를 참조하여, 상기 제1기기(110)의 App 실행 및 중단 동작에 대해 설명하기로 한다.
도 5는 본 발명의 실시 예에 따른 제1기기가 App 실행 및 중단 동작을 수행하는 과정을 나타낸 순서도이다.
도 5를 참조하면, 상기 제1기기(110)는 500 단계에서 상기 제2기기(120)로부터 HTTP 요청을 수신한다. 그리고 상기 제1기기(110)는 502 단계에서 HTTP 요청에 포함된 URL 정보를 분석하여 해당 App을 확인한다. 상기 제1기기(110)는 확인된 App이 시스템에서 미리 정의된 특정 App인 경우 다음과 같은 동작을 수행한다.
상기 제1기기(110)는 504 단계에서 상기 HTTP 요청의 메소드를 확인한다. 그리고 상기 제1기기(110)는 상기 확인된 메소드가 GET 메소드인 경우 상기 제2기기(120)가 상기 제1기기(110)의 App 정보를 요청한 것으로 판단하여, 506 단계에서 서비스 종단점 및 UA 정보를 포함하는 XML 파일을 생성한다. 그리고 상기 제1기기(110)는 508 단계에서 BODY에 상기 생성된 XML 파일을 포함시켜 상기 제2기기(120)로 전송한다. 상기와 같은 전송 동작은 516 단계의 처리 결과 응답과 동일한 동작으로 간주될 수 있다.
한편, 상기 제1기기(110)는 상기 확인된 메소드가 POST 메소드인 경우, 상기 제2기기(120)가 상기 제1기기(110)의 App을 실행할 것을 지시한 것으로 판단하여 510 단계로 진행한다. 상기 제1기기(110)는 510 단계에서 상기 HTTP 요청의 BODY에 포함되어 있는 XML AIT를 수신한다. 그리고 상기 제1기기(110)는 512 단계에서 orgID 및 appID를 기반으로 해당 App의 실행이 가능한지 여부를 판단한다. 이때 상기 제1기기(110)는 상기 제1기기(110)에 미리 저장된 실행 가능 App 목록(white list) 또는 실행 불가능 App 목록(black list)를 기반으로 해당 App의 실행이 가능한지 여부를 판단하거나, 사용자의 입력을 받아 해당 App의 실행 가능 여부를 판단할 수 있다. 상기 제1기기(110)는 해당 App의 실행이 가능한 경우 514 단계에서 해당 App을 실행하고, 516 단계에서 처리 결과를 상기 제2기기(120)로 송신한다. 여기서 상기 제1기기(110)는 실행하고 있는 appID와 orgID를 관리하고 있어야 한다.
상기 제1기기(110)는 상기 확인된 메소드가 DELETE 메소드인 경우, 상기 제2기기(120)가 App을 중단할 것을 지시하고 있음을 판단하고, 518 단계에서 상기 HTTP 요청에 포함된 orgID 및 appID를 판단한다. 그리고 상기 제1기기(110)는 520 단계에서 상기 판단된 orgID 및 appID에 대응되는 App이 실행 중인지 판단한다. 상기 제1기기(110)는 상기 판단된 orgID 및 appID에 대응되는 App이 실행 중인 경우, 522 단계로 진행하여 상기 실행 중인 App을 중단할 권한이 있는지 판단한다. 그리고 상기 제1기기(110)는 상기 중단할 권한이 있는 경우, 524 단계에서 상기 실행 중인 App을 중단하고 그 결과를 516 단계에서 상기 제2기기(120)로 송신한다.
다음으로 도 6을 참조하여 상기 제2기기(120)의 App 실행과 관련된 전반적인 동작을 설명하기로 한다.
도 6은 본 발명의 실시 예에 따른 제2기기의 App 실행과 관련된 동작을 나타낸 순서도이다.
도 6을 참조하면, 상기 제2기기(120)는 600 단계에서 HTML 페이지를 수신하여 상기 제2기기(120)의 App(이하 '제2App'이라 칭함)을 실행한다. 이때 상기 제2App이 내장형 App인 경우 상기 HTML 페이지를 수신하는 절차없이 상기 제2App이 실행될 수 있다.
상기 제2기기(120)는 602 단계에서 상기 제1기기(110)의 App(이하 '제1App'이라 칭함)의 실행을 위해 필요한 정보를 포함하고 있는 XML AIT를 웹 서버(100)로부터 수신한다. 이어 상기 제2기기(120)는 604 단계에서 상기 실행된 제2App을 통해 가용한 기기(일 예로, 상기 제1기기(110)가 존재하는지 검색한다.
상기 제2기기(120)는 606 단계에서 상기 제1기기(110)가 검색되지 않은 경우 618 단계로 진행하여 상기 제2App의 실행을 중단한다. 그리고 상기 제2기기(120)는 상기 제1기기(110)가 검색된 경우, 608 단계에서 HTTP GET 메소드를 사용하여 상기 제1기기(110)의 정보를 요청한다. 그리고 상기 제2기기(120)는 상기 요청에 대한 응답으로 App 간 통신을 위한 서비스 종단점 정보 및 상기 제1기기(110)의 성능에 대한 정보를 포함하는 UA 정보 등을 상기 제1기기(110)로부터 수신한다. 상기 UA 정보에는 상기 제1기기(110)의 하드웨어 특성(스크린 사이즈, CPU 속도, PVR 지원 여부 등), 상기 제1기기(110)가 지원하는 특성들(멀티 스크린 기능, DRM 지원 등)이 포함될 수 있다.
이어 상기 제2기기(120)는 610 단계에서 상기 UA 정보를 기반으로 상기 제1기기(110)에서 상기 제1App의 실행이 가능한지 판단한다. 예를 들어, 상기 제1기기(110)가 HD 정도의 해상도를 지원하는 작은 스크린을 가지고 있는데 상기 제1App이 최소 FHD 정도의 해상도를 필요로 하는 경우, 상기 제2기기(120)는 상기 제1기기(110)에서 상기 제1App의 실행이 불가능함을 판단할 수 있다. 따라서 이 경우 상기 제2기기(120)는 상기 제1App의 실행을 상기 제1기기(110)로 요청하지 않고 618 단계로 진행한다.
한편 상기 제2기기(120)는 상기 제1App의 실행이 상기 제1기기(110)에서 가능하다고 판단되면, 612 단계로 진행하여 상기 제1기기(110)에서 상기 제1App의 실행할 것을 요청한다. 상기 제1App의 실행을 위한 요청을 위해 HTTP POST 메소드가 사용될 수 있다.
상기 제2기기(120)는 614 단계에서 상기 서비스 종단점 정보를 기반으로 상기 제1기기(110)와 상기 제2기기(120)간 통신 채널을 생성하여 App 간 통신을 수행한다. 그리고 상기 제2기기(120)는 상기 제1App의 실행을 중단할 필요가 있으면, 616 단계에서 HTTP DELETE 메소드를 사용하여 상기 제1기기(110)로 상기 제1App의 실행을 중단할 것을 요청하고, 618 단계에서 상기 제2App의 실행을 중단한다.
도 7은 본 발명의 실시 예에 따른 방법이 적용된 예를 보인 도면이다.
도 7에서는 상기 웹 서버(100)가 방송사 웹 서버이고, 상기 제1기기(110)가 디지털 TV(digital TV: DTV)이고, 상기 제2기기(120)가 이동 단말인 경우를 일 예로서 보이고 있다.
사용자는 상기 제2기기(120)를 사용하여 상기 웹 서버(110)로부터 전자 프로그램 가이드(electronic program guide: EPG)를 수신한다. 그리고 상기 사용자는 상기 EPG를 기반으로 원하는 방송 프로그램을 선택하고, 상기 선택된 방송 프로그램을 상기 제1기기(110)로 보고자 한다.
전술한 바와 같은 경우, 상기 제2기기(120)는 상기 사용자가 원하는 방송 프로그램을 선택하면, 홈 네트워크 내에 가용한 상기 제1기기(110)를 검색한다. 상기 제2기기(120)는 상기 제1기기(110)가 검색되면, 상기 웹 서버(100)로부터 수신된 XML ALT 정보를 상기 제1기기(110)로 송신한다. 그러면 상기 제1기기(110)는 상기 XML AIT 정보를 기반으로 해당 App을 실행시켜 상기 제2기기(120)에서 선택된 방송 프로그램을 사용자에게 보여 줄 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (12)

  1. 통신 시스템의 제1디바이스에서 실행(launch)된 제1어플리케이션이 제2디바이스와 통신을 수행하는 방법에 있어서,
    상기 제2디바이스를 발견하는 과정과,
    상기 제2디바이스에 대한 정보를 요청하는 제1요청 메시지를 상기 제2디바이스로 송신하는 과정과,
    상기 제1요청 메시지에 대한 응답으로, 상기 제2디바이스에 대한 정보를 수신하는 과정과,
    상기 수신된 제2디바이스에 대한 정보로부터, 상기 제2디바이스의 성능 정보를 포함하는 사용자 에이전트(user agent: UA) 정보 및 제1 URL(uniform resource locator) 정보를 획득하는 과정과,
    상기 획득된 UA 정보를 기반으로 상기 제2디바이스가 상기 제2디바이스에 포함된 제2어플리케이션을 실행하기 위한 성능을 제공하는지 여부를 판단하는 과정과,
    상기 제2디바이스가 상기 제2어플리케이션을 실행하기 위한 성능을 제공한다는 판단을 기반으로, 상기 제2어플리케이션을 실행하기 위한 제2요청 메시지를 상기 제2디바이스로 송신하는 과정을 포함하며,
    상기 제 1 URL 정보는 상기 제1디바이스와 상기 제2디바이스 간의 동기화를 위해 사용되고,
    상기 제2요청 메시지는 상기 제2어플리케이션의 식별 정보, 상기 제2어플리케이션의 위치 정보, 상기 제2어플리케이션의 타입 정보 및 상기 제2어플리케이션의 전송 정보를 포함함을 특징으로 하는 제2디바이스와 통신을 수행하는 방법.
  2. 제1항에 있어서,
    상기 수신된 제2디바이스에 대한 정보로부터, 상기 제1어플리케이션과 상기 제2어플리케이션 간의 통신을 위한 제2 URL정보를 더 획득하는 과정을 더 포함하는 제2디바이스와 통신을 수행하는 방법.
  3. 제1항에 있어서,
    상기 제1어플리케이션은 상기 제1디바이스의 웹 브라우저를 기반으로 실행되는 제1웹 어플리케이션 및 상기 제1디바이스의 운영 체제(operating system: OS)를 기반으로 실행되는 제1내장형(native) 어플리케이션 중 하나이고,
    상기 제2어플리케이션은 상기 제2디바이스의 웹 브라우저를 기반으로 실행되는 제2웹 어플리케이션 및 상기 제2디바이스의 OS를 기반으로 실행되는 제2내장형 어플리케이션 중 하나임을 특징으로 하는 제2디바이스와 통신을 수행하는 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 제2디바이스를 발견하는 과정은,
    상기 제2디바이스를 발견하기 위한 제3요청 메시지를 송신하는 과정과,
    상기 제3요청 메시지에 대한 응답으로, 상기 제2디바이스로부터 디바이스 발견 응답 메시지를 수신하는 과정을 포함하는 제2디바이스와 통신을 수행하는 방법.
  6. 삭제
  7. 통신 시스템에서 제1디바이스에 있어서,
    송수신부와,
    제1어플리케이션을 실행(launch)하여 제2디바이스와 통신을 수행하도록 상기 송수신부를 제어하는 제어부를 포함하고,
    상기 제어부는 상기 실행된 제1어플리케이션을 기반으로,
    상기 제2디바이스를 발견하고,
    상기 제2디바이스에 대한 정보를 요청하는 제1요청 메시지를 상기 제2디바이스로 송신하고, 상기 제1요청 메시지에 대한 응답으로, 상기 제2디바이스에 대한 정보를 수신하도록 상기 송수신부를 제어하고,
    상기 수신된 제2디바이스에 대한 정보로부터, 상기 제2디바이스의 성능 정보 를 포함하는 사용자 에이전트(user agent: UA) 정보 및 제1 URL(uniform resource locator) 정보를 획득하고,
    상기 획득된 UA 정보를 기반으로 상기 제2디바이스가 상기 제2디바이스에 포함된 제2어플리케이션을 실행하기 위한 성능을 제공하는지 여부를 판단하고,
    상기 판단 결과를 기반으로 상기 제2어플리케이션을 실행하기 위한 제2요청 메시지를 상기 제2디바이스로 송신하도록 상기 송수신부를 제어하며,
    상기 제 1 URL 정보는 상기 제1디바이스와 상기 제2디바이스 간의 동기화를 위해 사용되고,
    상기 제2요청 메시지는 상기 제2어플리케이션의 식별 정보, 상기 제2어플리케이션의 위치 정보, 상기 제2어플리케이션의 타입 정보 및 상기 제2어플리케이션의 전송 정보를 포함함을 특징으로 하는 제1디바이스.
  8. 제7항에 있어서,
    상기 제어부는 상기 수신된 제2디바이스에 대한 정보로부터, 상기 제1어플리케이션과 상기 제2어플리케이션 간의 통신을 위한 제2 URL 정보를 더 획득함을 특징으로 하는 제1디바이스.
  9. 제7항에 있어서,
    상기 제1어플리케이션은 상기 제1디바이스의 웹 브라우저를 기반으로 실행되는 제1웹 어플리케이션 및 상기 제1디바이스의 운영 체제(operating system: OS)를 기반으로 실행되는 제1내장형(native) 어플리케이션 중 하나이고,
    상기 제2어플리케이션은 상기 제2디바이스의 웹 브라우저를 기반으로 실행되는 제2웹 어플리케이션 및 상기 제2디바이스의 OS를 기반으로 실행되는 제2내장형 어플리케이션 중 하나임을 특징으로 하는 제1디바이스.
  10. 삭제
  11. 제7항에 있어서,
    상기 제어부는 상기 제2디바이스를 발견하기 위한 제3요청 메시지를 상기 제2디바이스로 송신하고, 상기 제3요청 메시지에 대한 응답으로, 상기 제2디바이스로부터 디바이스 발견 응답 메시지를 수신하도록 상기 송수신부를 제어함을 특징으로 하는 제1디바이스.
  12. 삭제
KR1020140063216A 2013-09-23 2014-05-26 무선 통신 시스템에서 응용 프로그램 실행 방법 및 장치 KR102324669B1 (ko)

Priority Applications (15)

Application Number Priority Date Filing Date Title
KR1020140063216A KR102324669B1 (ko) 2014-05-26 2014-05-26 무선 통신 시스템에서 응용 프로그램 실행 방법 및 장치
BR112016006403-8A BR112016006403B1 (pt) 2013-09-23 2014-09-23 Método para inicializar um segundo aplicativo em um segundo dispositivo, método para inicializar um segundo aplicativo através de um segundo dispositivo, primeiro e segundo dispositivos em um sistema de comunicação sem fio
CN202210703674.2A CN114911745A (zh) 2013-09-23 2014-09-23 在无线通信系统中执行应用的方法和装置
RU2016115528A RU2678663C2 (ru) 2013-09-23 2014-09-23 Способ и устройство для исполнения приложения в системе беспроводной связи
CN201480052311.0A CN105579995B (zh) 2013-09-23 2014-09-23 在无线通信系统中执行应用的方法和装置
US15/023,923 US11006187B2 (en) 2013-09-23 2014-09-23 Method and apparatus for executing application in wireless communication system
EP14846282.3A EP3051425A4 (en) 2013-09-23 2014-09-23 Method and apparatus for executing application in wireless communication system
PCT/KR2014/008812 WO2015041494A1 (ko) 2013-09-23 2014-09-23 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치
JP2016516562A JP6543617B2 (ja) 2013-09-23 2014-09-23 無線通信システムにおけるアプリケーション実行方法及び装置
CN202210703689.9A CN115103337B (zh) 2013-09-23 2014-09-23 在无线通信系统中执行应用的方法和装置
MX2016003821A MX2016003821A (es) 2013-09-23 2014-09-23 Metodo y aparato para ejecutar una aplicacion en un sistema de comunicacion inalambrico.
CA2925284A CA2925284C (en) 2013-09-23 2014-09-23 Method and apparatus for executing application in wireless communication system
US17/314,430 US20210274263A1 (en) 2013-09-23 2021-05-07 Method and apparatus for executing application in wireless communication system
KR1020210150521A KR102401691B1 (ko) 2014-05-26 2021-11-04 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치
KR1020220061769A KR102527235B1 (ko) 2014-05-26 2022-05-20 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140063216A KR102324669B1 (ko) 2014-05-26 2014-05-26 무선 통신 시스템에서 응용 프로그램 실행 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210150521A Division KR102401691B1 (ko) 2014-05-26 2021-11-04 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20150135959A KR20150135959A (ko) 2015-12-04
KR102324669B1 true KR102324669B1 (ko) 2021-11-10

Family

ID=54867578

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020140063216A KR102324669B1 (ko) 2013-09-23 2014-05-26 무선 통신 시스템에서 응용 프로그램 실행 방법 및 장치
KR1020210150521A KR102401691B1 (ko) 2014-05-26 2021-11-04 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치
KR1020220061769A KR102527235B1 (ko) 2014-05-26 2022-05-20 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020210150521A KR102401691B1 (ko) 2014-05-26 2021-11-04 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치
KR1020220061769A KR102527235B1 (ko) 2014-05-26 2022-05-20 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치

Country Status (1)

Country Link
KR (3) KR102324669B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110167468A1 (en) * 2010-01-07 2011-07-07 Joon Hui Lee Method of processing application in digital broadcast receiver connected with interactive network and the digital broadcast receiver
JP2013066160A (ja) * 2011-08-26 2013-04-11 Nippon Hoso Kyokai <Nhk> 受信機

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110010052A (ko) * 2009-07-14 2011-01-31 삼성전자주식회사 방송 네트워크 및 인터넷 네트워크에 접속 가능한 클라이언트의 어플리케이션을 수신하는 방법 및 장치
KR101842256B1 (ko) * 2011-02-01 2018-03-26 삼성전자주식회사 어플리케이션을 원격으로 실행하는 방법 및 장치
US10931735B2 (en) * 2012-06-28 2021-02-23 Netflix, Inc. Application discovery

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110167468A1 (en) * 2010-01-07 2011-07-07 Joon Hui Lee Method of processing application in digital broadcast receiver connected with interactive network and the digital broadcast receiver
JP2013066160A (ja) * 2011-08-26 2013-04-11 Nippon Hoso Kyokai <Nhk> 受信機

Also Published As

Publication number Publication date
KR102527235B1 (ko) 2023-05-02
KR20150135959A (ko) 2015-12-04
KR102401691B1 (ko) 2022-05-26
KR20210139205A (ko) 2021-11-22
KR20220076423A (ko) 2022-06-08

Similar Documents

Publication Publication Date Title
US20210274263A1 (en) Method and apparatus for executing application in wireless communication system
US10841636B2 (en) Information processing apparatus, mobile terminal, information processing method, program, and information processing system
US9226029B2 (en) Method and apparatus for client capable of accessing broadcasting network and internet network to receive application
US20140244803A1 (en) Integrated app store apparatus, a method of providing an application in the apparatus, and an integrated app store system
US20110055716A1 (en) Method and apparatus for controlling remote user interface in a home network
US10037215B2 (en) Method and apparatus for interworking application and web browser
US8954489B2 (en) Widget activation and communication method
KR20120089000A (ko) 디지털 디바이스에서 어플리케이션 자동 인스톨 기능을 제공하기 위한 장치 및 방법
CA2925279C (en) Method and apparatus for device-specific communication between application programs
US10423139B2 (en) Device control method and apparatus, and device control system
KR101761633B1 (ko) 신호 송신 장치 및 제어 방법
US20140040424A1 (en) Method and apparatus of providing broadcasting and communication convergence service
KR102401691B1 (ko) 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치
KR20150086708A (ko) 무선 통신 시스템에서 정보 송신 방법 및 장치
US20160100217A1 (en) System and method for optimizing delivery of video content in native mobile applications
CN111654753B (zh) 一种应用程序启动方法及显示设备
JP2019068410A (ja) 受信装置およびプログラム
KR20230134366A (ko) 모바일 단말을 이용한 셋톱박스 제어 방법
KR20150033185A (ko) 통신 시스템에서 멀티스크린을 지원하는 방법 및 장치
TWI513356B (zh) 網路裝置與系統及嵌入式控制程式之安裝及啓動方法
KR20150045302A (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
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant