KR20150086708A - 무선 통신 시스템에서 정보 송신 방법 및 장치 - Google Patents

무선 통신 시스템에서 정보 송신 방법 및 장치 Download PDF

Info

Publication number
KR20150086708A
KR20150086708A KR1020140006705A KR20140006705A KR20150086708A KR 20150086708 A KR20150086708 A KR 20150086708A KR 1020140006705 A KR1020140006705 A KR 1020140006705A KR 20140006705 A KR20140006705 A KR 20140006705A KR 20150086708 A KR20150086708 A KR 20150086708A
Authority
KR
South Korea
Prior art keywords
app
application program
information
wireless communication
communication system
Prior art date
Application number
KR1020140006705A
Other languages
English (en)
Inventor
류영선
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020140006705A priority Critical patent/KR20150086708A/ko
Publication of KR20150086708A publication Critical patent/KR20150086708A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/16Interfaces between hierarchically similar devices
    • H04W92/18Interfaces between hierarchically similar devices between terminal devices
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 무선 통신 시스템에서 제1기기가 상기 제1기기에서 사용되는 제1응용 프로그램을 실행하고, 상기 제1기기와 동일한 네트워크에 포함된 제2기기로 상기 제1응용 프로그램에 대한 정보를 송신하고, 상기 제2기기로부터 상기 제1응용 프로그램과 연동되어 사용될 수 있는 제2응용 프로그램에 대한 정보를 수신하고, 상기 수신된 정보를 기반으로 상기 제2응용 프로그램을 실행할 것을 지시하는 정보를 상기 제2기기로 송신한다.

Description

무선 통신 시스템에서 정보 송신 방법 및 장치{METHOD AND APPARATUS FOR TRANSMITTING INFORMATION IN A WIRELESS COMMUNICATION SYSTEM}
본 발명은 무선 통신 시스템에서 정보 송신 방법 및 장치에 관한 것이다.
최근 네트워크 기술과 멀티미디어 기술의 급속한 진화에 따라 다양한 종류의 기기들이 개발되고, 이러한 기기들 사이의 병합화(Convergence)가 가속화 되어 가고 있다. 이에 따라 디지털 TV, 홈 씨어터, 컴퓨터 장치, 이동 단말 등의 각종 기기들이 네트워크 환경을 통해 데이터를 송수신하고 병합된 서비스를 제공하는 일이 빈번하게 발생하고 있다. 그리고 상기 병합된 서비스의 제공을 위해 기기들 간에 상호 동작을 제어할 수 있도록 하는 방안이나 상기 기기들 간 상호 관련된 동작을 수행할 수 있도록 하는 방안의 필요성이 높아지고 있다.
본 발명은 무선 통신 시스템에서 정보 송신 방법 및 장치를 제안한다.
본 발명은 다수의 기기들이 연결되어 있는 네트워크 환경에서 기기들 간 응용 프로그램을 연동시켜 사용할 수 있도록 하는 방법 및 장치를 제안한다.
본 발명은 응용 프로그램 연동 동작을 통해 기기들 간 제어 동작이 수행될 수 있도록 하는 방법 및 장치를 제안한다.
본 발명에서 제안하는 방법은; 무선 통신 시스템에서 제1기기의 정보 송신 방법에 있어서, 상기 제1기기에서 사용되는 제1응용 프로그램을 실행하는 과정과, 상기 제1기기와 동일한 네트워크에 포함된 제2기기로 상기 제1응용 프로그램에 대한 정보를 송신하는 과정과, 상기 제2기기로부터 상기 제1응용 프로그램과 연동되어 사용될 수 있는 제2응용 프로그램에 대한 정보를 수신하는 과정과, 상기 수신된 정보를 기반으로 상기 제2응용 프로그램을 실행할 것을 지시하는 정보를 상기 제2기기로 송신하는 과정을 포함한다.
본 발명에서 제안하는 다른 방법은; 무선 통신 시스템에서 제1기기의 정보 수신 방법에 있어서, 상기 제1기기와 동일한 네트워크에 포함된 제2기기로부터 상기 제1기기에서 실행 중인 제1응용 프로그램에 대한 정보를 수신하는 과정과, 상기 제1응용 프로그램과 연동되어 사용될 수 있는 제2응용 프로그램이 존재하는 경우, 상기 제2응용 프로그램에 대한 정보를 상기 제2기기로 송신하는 과정과, 상기 제2기기로부터 상기 제2응용 프로그램을 실행할 것을 지시하는 정보가 수신되면, 상기 제2응용 프로그램을 실행하는 과정을 포함한다.
본 발명에서 제안하는 장치는; 무선 통신 시스템에서 제1기기에 있어서, 상기 제1기기에서 사용되는 제1응용 프로그램을 실행하는 응용 프로그램부와, 상기 제1기기와 동일한 네트워크에 포함된 제2기기로 상기 제1응용 프로그램에 대한 정보를 송신하고, 상기 제2기기로부터 상기 제1응용 프로그램과 연동되어 사용될 수 있는 제2응용 프로그램에 대한 정보를 수신하고, 상기 수신된 정보를 기반으로 상기 제2응용 프로그램을 실행할 것을 지시하는 정보를 상기 제2기기로 송신하는 런처(Launcher)를 포함한다.
본 발명에서 제안하는 다른 장치는; 무선 통신 시스템에서 제1기기에 있어서, 상기 제1기기와 동일한 네트워크에 포함된 제2기기로부터 상기 제1기기에서 실행 중인 제1응용 프로그램에 대한 정보를 수신하고, 상기 제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는 본 발명의 실시 예에 따른 무선 통신 시스템에서 제2기기의 XML AIT 요청 과정을 나타낸 신호 흐름도,
도 6은 본 발명의 실시 예에 따른 방법이 적용된 예를 보인 도면.
이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명은 무선 통신 시스템에서 정보 송신 방법을 제공한다. 본 발명의 실시 예에서 상기 무선 통신 시스템은 다수의 기기들이 연결되어 있는 네트워크 환경(일 예로, 홈 네트워크 환경)에서의 무선 통신 시스템이 될 수 있다. 상기 무선 통신 시스템에서는 제1기기와 제2기기가 연동되어 상기 제2기기의 응용 프로그램(Application Program)과 연계된 상기 제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기기의 App 정보를 획득하는 방법
먼저, 도 1을 참조하여 상기 제2기기와 제1기기 간 연동을 위한 무선 통신 시스템 구성을 살펴보기로 한다.
도 1은 본 발명의 실시 예에 따른 무선 통신 시스템의 구성을 나타낸 도면이다.
도 1을 참조하면, 상기 무선 통신 시스템은 웹 서버(Web Server)(100)와 다수의 기기들을 포함한다. 상기 다수의 기기들은 동일한 네트워크에서 통신을 수행할 수 있으며, 일 예로 홈 네트워크 내의 무선 통신이 가능한 기기들이 될 수 있다. 도 1에서는 상기 다수의 기기들 중 서로 연동할 수 있는 제1기기(110)와 제2기기(120)에 대해 설명하기로 한다.
상기 웹 서버(100)는 상기 제1기기(110)와 상기 제2기기(120)에서 사용 가능한 웹 App를 제공한다. 상기 웹 서버(100)는 로컬 네트워크 내에 존재하거나 외부 네트워크(클라우드) 등에 존재할 수 있다.
상기 제1기기(110)는 App가 실행되는 주(main) 기기를 나타낸다. 예를 들어, 상기 제1기기(100)는 디지털 TV(Digital TV: DTV)나 셋톱박스(Set Top Box: STB)등과 같은 공용 기기가 될 수 있으며, 이때 상기 App는 방송과 관련된 App가 될 수 있다.
상기 제2기기(120)는 상기 제1기기(110)와 연동하여 App을 실행하는 보조(sub) 기기를 나타낸다. 상기 제2기기(120)는 이동 단말이나 태블릿 등과 같은 개인 단말이 될 수 있다.
상기 제1기기(110)와 상기 제2기기(120)는 각각 웹 브라우저(Web Brower)(112)(122)를 포함한다. 상기 웹 브라우저(112)(122)는 웹 App(114)(124)를 실행하기 위해 사용되며, 상기 웹 App(114)(124)는 HTML, CSS(Cascading Style Sheet) 및 자바스크립트(Javascript) 등으로 구성될 수 있다.
상기 제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)는 XML(eXtensible Markup Language)을 기반으로 생성된 App 정보(이하 'XML AIT'라 칭함)를 수신하여 파싱(parsing)한다. 상기 XML AIT는 상기 제2기기(120)로부터 송신된 정보로서, 상기 CS 관리부(116)에 의해 수신되어 상기 AIT 관리부(118)로 전달된다.
상기 AIT 관리부(188)는 상기 XML AIT를 파싱하여 해당 App에 대한 정보를 추출하고, 추출된 정보를 기반으로 해당 App를 실행시킨다. 이때 상기 AIT 관리부(118)는 상기 XML AIT에 따른 모든 App를 실행시키지 않고, 미리 설정된 특정 App만 실행될 수 있도록 제어하는 동작을 수행할 수 있다. 이를 위해, 상기 AIT 관리부(118)는 블랙 리스트(Black List)(119)를 사용한다. 상기 블랙 리스트(119)는 상기 제1기기(110)에서 실행되는 것을 제한할 App에 대한 정보를 포함한다. 상기 블랙 리스트(119)는 실행을 제한할 App의 식별자(identifier: ID)가 포함되는 형태로 구성되는 등 다양한 형태로 구성될 수 있다.
그리고 도 1에 도시되지는 않았지만, 상기 제1기기(110)에서 실행되는 것을 허용할 App에 대한 정보를 포함하는 화이트 리스트(White List)가 사용될 수 있다. 상기 화이트 리스트는 상기 블랙 리스트(119) 대신 사용되거나 상기 블랙 리스트(119)와 함께 사용될 수 있다. 상기 화이트 리스트는 실행을 허용할 App의 ID가 포함되는 형태로 구성되는 등 다양한 형태로 구성될 수 있다.
본 발명의 실시 예에서 상기 제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)의 미리 설정된 API(Application Program Interface)를 기반으로 수행될 수 있다. 즉, 상기 CS App(130)에 의해 상기 API가 실행되면, 상기 CS 런처(128)에 의한 실질적인 기기 검색 동작이 수행된다. 상기 API는 일 예로 다음 표 1에 나타난 discoverHbbTVdevices ()와 같으며 구현에 따라 달라질 수 있다.
Figure pat00001
상기 기기 검색 요청은 특정 기기에 대한 검색 요청이 될 수 있으며, 상기 표 1에서는 일 예로 Hbb TV인 상기 제1기기(120)에 대한 검색 요청을 위한 API를 보이고 있다. 상기 표 1에서 "discoverHbbTVdevices ()"는 해당 네트워크 내에 실행 중인 상기 제1기기(110)를 찾고, 상기 제1기기(110)의 "enumeration ID", "friendly name" 및 "Application Launch service endpoint" 등에 대한 정보를 획득하기 위해 사용된다. 상기 "enumeration ID"는 상기 제1기기(110)의 고유 식별 정보를 나타내며, 상기 "friendly name"는 상기 제1기기(110)의 명칭을 나타내며, 상기 "Application Launch service endpoint"는 서비스 종단점 일 예로, URL 정보를 나타낸다.
상기 제1기기(110)가 발견되면 상기 제2기기(120)(일 예로, 이동 단말)는 "onHbbTVDiscovery" 가 콜백(callback)되도록 한다. 상기"onHbbTVDiscovery" 는 다음 표 2에 나타난 바와 같이 정의될 수 있다.
Figure pat00002
상기 표 2에서 "enum_id(enumeration ID)"는 상기 제1기기(110)의 고유 ID를 나타내고, "friendly_name"은 상기 제1기기(110)의 명칭을 나타내며, "disconnected"는 상기 제1기기(110)가 상기 제2기기(120)와 연동될 수 있는 기기인지 여부나, 상기 제1기기(120)가 다른 기기와 연결되었는지 여부를 나타낸다.
예를 들어, 상기 제1기기(110)가 상기 제2기기(120)와 연동될 수 있는 기기이거나, 상기 제1기기(110)가 다른 기기와 연결되지 않은 경우 상기 "disconnected" 값은 "true"로 설정된다. 그리고 상기 제1기기(110)가 상기 제2기기(120)와 연동될 수 없는 기기이거나, 상기 제1기기(110)가 다른 기기와 연결된 경우 상기 "disconnected" 값은 "false"로 설정된다. 상기 "onHbbTVDiscovery" 는 상기 "disconnected" 값이 "ture"로 설정된 경우 콜백될 수 있다.
한편, 다수의 기기들이 검색된 경우 상기 다수의 기기들에 대한 정보가 상기 CS App(130)로 송신된다. 그리고 212 단계에 나타난 바와 같이, 상기 CS App(130)에서 상기 다수의 기기들 중 하나 즉, 제1기기(110)가 선택될 수 있다. 상기 제1기기(110)는 상기 CS App(130)에 의해 임의적으로 선택되거나 상기 CS App(130)가 상기 다수의 기기들 중 하나를 선택할 수 있도록 하는 UI(User Interface)를 제공하여 사용자의 입력을 받는 등의 방법으로 선택될 수 있다.
그리고 하나의 기기가 검색되었더라도 해당 기기의 정보를 UI를 통해 사용자에게 제공함으로써 해당 기기와 연결할 지 여부에 대한 사용자의 입력을 받을 수도 있다. 상기 UI에 어떻게 보여주고 사용자의 입력을 어떻게 처리하는지에 대한 방법은 구현에 따라 다양하게 수행될 수 있다.
상기 제1기기(110)가 선택된 경우, 상기 CS App(130)는 214 단계에서 상기 제1기기(110)에서 App을 실행할 것을 상기 CS 런처(128)로 지시한다. 이를 위해 상기 CS App(130)는 미리 설정된 API를 호출할 수 있는데, 상기 API는 일 예로 다음 표 3에 나타난 launchHbbTVApp ()가 될 수 있으며 구현에 따라 달라질 수도 있다.
Figure pat00003
상기 표 3에서 "launchHbbTVApp ()"는 XML AIT를 상기 제1기기(110)로 송신하기 위해 사용되며, "enum_id", "XMLAIT"및 "onHbbTVLaunch"를 인자(arguments)로 갖는다. 상기 "enum_id"는 상기 제1기기(110)의 ID를 나타내며, 상기 "XMLAIT"는 상기 제1기기(110)에서 실행할 App 에 대한 정보를 전달하기 위해 사용되며, 상기 "onHbbTVLaunch"는 콜백 함수로서 다음 표 4와 같이 정의될 수 있다.
Figure pat00004
상기 표 4에서 "enum_id"는 상기 제1기기(110)의 ID를 나타내며, "error_code"는 하기 표 5에 나타난 바와 같은 에러 코드를 나타낸다.
Figure pat00005
상기 표 5에서 "op_rejected 는 상기 제1기기(110)가 상기 제2기기(120)와 연동되는 것을 거절함을 나타내고,"op_denied"는 상기 제1기기(110)의 사용자에 의해 상기 제2기기(120)와 관련하여 수행되는 동작이 차단됨을 나타내고, "op_not_guranteed"는 상기 제1기기(110)가 해당 App를 실행함을 나타내고, "invalid_id"는 상기 제1기기(110)가 이용 가능하지 않음을 나타내고, "general_error"는 상기 제1기기(110)에서 해당 App의 실행이 실패되었음을 나타낸다.
상기 CS 런처(128)는 216 단계에서 App 실행 요청을 상기 제1기기(110)의 CS 관리부(116)로 송신한다. 상기 App 실행 요청은 HTTP POST 메소드에 의한 요청으로 이루어지며, 상기 HTTP 요청의 Body는 상기 제1기기(110)의 App 정보를 포함하고 있는 XML(즉, XML AIT)를 포함한다. 따라서 상기 CS 관리부(116)는 상기 App 실행 요청을 처리할 수 있는 웹 서버 기능을 가질 수 있다.
상기 App 실행 요청은 일 예로 다음 표 6과 같이 나타날 수 있다.
Figure pat00006
그리고 상기 XML AIT는 다음 표 7과 같은 정보를 포함할 수 있다.
Field / Element 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)는 상기 App 실행 요청을 처리한 후 그 결과를 HTTP 응답 코드로서 상기 제2기기(120)로 송신할 수 있다. 상기 HTTP 응답 코드는 다음 표 8에 나타난 바와 같다.
Figure pat00007
상기 표 8에서 "201 CREATED"는 상기 제1기기(110)의 App 실행 동작이 성공적으로 시작되었음을 나타내고, "401 Unauthorized"는 상기 App 실행 동작이 사용자에 의해 거절되었음을 나타내고, "403 forbidden"은 상기 App 실행 동작이 상기 제1기기(110)에 의해 거절되었음을 나타내고, "404 NOT FOUND"는 상기 APP 실행 요청에 따른 해당 App이 상기 제1기기(110)에 존재하지 않음을 나타내고, "503 SERVICE UNAVAILABLE"은 상기 제1기기(110)에서의 특정 동작(일 예로, TV 채널 스캔 동작 등)으로 인해 상기 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)는 SSDP(Simple Service Discovery Protocol)의 M-SERACH 메소드를 사용하여, 상기 CS App(130)와 관련하여 연동이 필요한 상기 제1기기(110)를 검색한다. 이때 상기 CS 런처(128)는 다음 표 9에 나타난 바와 같이 ST 헤더에 찾고자 하는 기기에 대한 정보를 포함시켜 해당 기기를 특정할 수 있다.
Figure pat00008
한편, 상기 제1기기(110)의 상기 CS 관리부(116)는 상기 표 9에 나타난 바와 같은 신호가 수신되면, 304 단계에서 그에 대한 응답 신호를 상기 제2기기(120)로 송신한다. 다음 표 10에 나타난 바와 같이, 상기 응답 신호는 UPnP 디바이스 정보를 포함하고 있는 XML 파일의 URL 정보를 포함하며, 상기 URL 정보는 LOCATION 헤더에 포함될 수 있다.
Figure pat00009
상기 CS 런처(128)는 상기 응답 신호가 수신되면, 306 단계에서 상기 응답 신호에 포함된 URL 정보를 기반으로 상기 제1기기(110)에 대한 정보를 요청한다. 즉, 상기 CS 런처(128)는 다음 표 11과 같이 상기 LOCATION 헤더에 포함된 URL 정보를 기반으로 HTTP GET 메소드를 사용하여 상기 제1기기(110)에 대한 UPnP 디바이스 정보를 요청한다.
Figure pat00010
그러면 상기 CS 관리부(116)는 308 단계에서 상기 정보 요청에 대한 응답으로 상기 제1기기(110)에 대한 정보와 상기 CS App(130)와 연동되어 사용할 수 있는 상기 제1기기(110)의 App인 기본 App(140)의 URL 정보를 상기 제2기기(120)로 송신한다. 즉, 상기 CS 관리부(116)는 상기 UPnP 디바이스 정보를 포함하고 있는 XML 파일과 함께 상기 기본 App(140)를 실행시킬 수 있는 URL 정보를 다음 표 12와 같이"x-AppServiceURL" 헤더에 포함시켜 상기 제2기기(120)로 송신한다.
Figure pat00011
상기 표 12에서 "x-AppServiceURL" 헤더는 본 발명의 실시 예에서 상기 기본 App(140)를 실행할 수 있는 URL 정보를 포함시키기 위해 임의로 정한 것으로 구현에 따라 다른 이름으로 변경하여 사용할 수 있다. 또한, 상기 표 12에서"x-App2Appcomm" 헤더는 상기 제1기기(110)의 App와 상기 제2기기(120)의 App 간 통신을 위해 사용할 웹 소켓 서버의 URL 정보를 포함하는 헤더로서 구현에 따라 다른 이름으로 변경하여 사용할 수 있다.
상기 CS 런처(128)는 상기와 같은 과정에 따라 상기 제1기기(110)에 대한 정보가 획득되면, 310 단계에서 상기 획득된 정보를 상기 CS App(130)로 전달하고 기기 검색 동작을 종료한다.
다음으로, 상기 제2기기(120)에서 요청한 상기 제1기기(110)의 App의 실행을 제한하는 방법에 대해 도 4를 참조하여 설명하기로 한다.
도 4는 본 발명의 실시 예에 따른 무선 통신 시스템에서 제1기기가 App의 실행을 제어하는 과정을 나타낸 순서도이다.
도 4에 도시된 과정은 상기 제1기기(110)의 AIT 관리부(118)에 의해 수행될 수 있다. 도 4를 참조하면, 상기 AIT 관리부(118)는 400 단계에서 상기 CS 관리부(116)로부터 XML AIT를 수신한다. 그리고 상기 AIT 관리부(118)는 402 단계에서 상기 수신된 XML AIT로부터 App 식별 정보인 orgID 및 appID를 검출한다. 구체적으로, 상기 AIT 관리부(118)는 상기 수신된 XML AIT를 파싱하여 "applicationIdentifier"를 획득하고, 상기 "applicationIdentifier"로부터 orgID와 appID를 검출한다. 여기서 상기 orgID는 App를 제공하는 기관(회사)를 나타내고, 상기 appID는 해당 App의 고유한 ID를 나타낸다.
상기 AIT 관리부(118)는 404 단계에서 기기 관리 리스트를 확인한다. 상기 기기 관리 리스트는 블랙 리스트(119)(실행 제한 App 리스트)와 화이트 리스트 (실행 허용 App 목록)를 포함할 수 있다.
상기 AIT 관리부(118)는 406 단계에서 상기 검출된 orgID 및 appID가 상기 블랙 리스트(119)에 포함되는지 여부를 판단한다. 상기 AIT 관리부(118)는 상기 검출된 orgID 및 appID가 상기 블랙 리스트(119)에 포함된 경우 420 단계로 진행하여 해당 App의 실행을 차단한다. 그리고 상기 AIT 관리부(118)는 상기 검출된 orgID 및 appID가 상기 블랙 리스트(119)에 포함되지 않은 경우 사용자의 선택에 따라 해당 App의 실행 여부가 결정되도록 410 단계로 진행한다.
한편, 상기 AIT 관리부(118)는 408 단계에서 상기 검출된 orgID 및 appID가 상기 화이트 리스트에 포함되는지 여부를 판단한다. 상기 AIT 관리부(118)는 상기 검출된 orgID 및 appID가 상기 화이트 리스트에 포함되지 않은 경우 420 단계로 진행하여 해당 App의 실행을 차단한다.
그리고 상기 AIT 관리부(118)는 상기 검출된 orgID 및 appID가 상기 화이트 리스트에 포함된 경우 410 단계로 진행하여 사용자로부터 해당 App의 실행 여부를 확인받는다. 상기 410 단계는 상기 XML AIT의 "appName", "orgID"및 "appID"의 값을 App 정보로서 사용자에게 제공함에 의해 수행될 수 있으며, 기기의 정책에 의해 생략되거나 사용자의 사전 설정에 의해 생략될 수 있다.
한편, 상기 AIT 관리부(118)는 상기 410 단계에서의 사용자의 입력에 따라 412 단계에서 해당 App을 실행할지 여부를 결정한다. 즉, 상기 AIT 관리부(118)는 해당 App의 실행을 중지할 것을 나타내는 사용자의 입력이 있는 경우, 상기 420 단계로 진행하여 해당 App의 실행을 차단한다. 그리고 상기 AIT 관리부(118)는 해당 App을 실행할 것을 나타내는 사용자의 입력이 있는 경우, 414 단계로 진행하여 해당 App이 웹 App인지 여부를 판단한다.
상기 AIT 관리부(118)는 해당 App이 웹 App인 경우, 416 단계에서 웹 브라우저를 구동하여 웹 브라우저에 상기 XML AIT에 포함된 App 정보를 전달한다. 이와 달리, 상기 AIT 관리부(118)는 해당 App이 웹 App이 아닌 경우 즉, 해당 App이 내장형 App인 경우에는 418 단계에서 상기 내장형 App을 실행한다.
한편, 도 4에 도시된 과정에 대한 수행 결과는 상기 제2기기(120)로 송신될 수 있다. 즉, 앞서 설명한 표 8의 HTTP 응답 코드가 상기 수행 결과로서 상기 제2기기(120)로 송신될 수 있다. 예를 들어, 상기 제1기기(110)에 의해 App 실행이 중단된 경우에는 403 코드("403 forbidden")가 상기 제2기기(120)로 송신될 수 있으며, 사용자에 의해 App 실행이 거절된 경우에는 401 코드("401 Unauthorized")가 상기 제2기기(120)로 송신될 수 있다.
다음으로 도 5를 참조하여, 상기 제2기기(120)가 상기 제1기기(110)의 App 정보가 포함된 XML AIT를 요청하는 과정을 설명하기로 한다.
도 5는 본 발명의 실시 예에 따른 무선 통신 시스템에서 제2기기의 XML AIT 요청 과정을 나타낸 신호 흐름도이다.
도 5를 참조하면, 500 단계에서 상기 제2기기(120)는 CS App(130)를 실행한다. 상기 CS App(130)은 HTML로 구성된 웹 App(124) 또는 내장형 App(126)이 될 수 있다. 상기 실행된 CS App(130)이 상기 제1기기(110)의 App과 연계된 App인 경우, 상기 제2기기(120)는 상기 제1기기(110)의 App에 대한 정보를 획득해야 한다. 따라서 502 단계에서 상기 제2기기(120)는 상기 CS App(130)을 통해 상기 웹 서버(100)로 상기 제1기기(110)의 App 정보가 포함된 XML AIT를 요청한다. 상기 요청은 HTTP 프로토콜을 사용하거나 XMLHttpRequest 등을 사용하여 송신될 수 있다.
504 단계에서 상기 웹 서버(100)는 상기 요청에 따라 XML AIT 를 상기 제2기기(120)로 송신한다. 상기 XML AIT는 상기 제1기기(110)에서 실행할 App 정보를 포함할 수 있다. 상기 제1기기(110)에서 실행할 App 정보는 상기 제1기기(110)가 TV 인 경우, 방송과 관련된 App 정보 등을 포함할 수 있으며, 이때 상기 웹 서버(100)는 방송사에서 운영하는 웹 서버가 될 수 있다. 다르게는, 상기 웹 서버(100)는 상기 제2기기(120)에서 실행되는 App을 제공하는 서비스 제공자가 운영하는 웹 서버가 될 수도 있다.
도 6은 본 발명의 실시 예에 따른 방법이 적용된 예를 보인 도면이다.
도 6에서는 상기 웹 서버(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 (4)

  1. 무선 통신 시스템에서 제1기기의 정보 송신 방법에 있어서,
    상기 제1기기에서 사용되는 제1응용 프로그램을 실행하는 과정과,
    상기 제1기기와 동일한 네트워크에 포함된 제2기기로 상기 제1응용 프로그램에 대한 정보를 송신하는 과정과,
    상기 제2기기로부터 상기 제1응용 프로그램과 연동되어 사용될 수 있는 제2응용 프로그램에 대한 정보를 수신하는 과정과,
    상기 수신된 정보를 기반으로 상기 제2응용 프로그램을 실행할 것을 지시하는 정보를 상기 제2기기로 송신하는 과정을 포함하는 정보 송신 방법.
  2. 무선 통신 시스템에서 제1기기의 정보 수신 방법에 있어서,
    상기 제1기기와 동일한 네트워크에 포함된 제2기기로부터 상기 제1기기에서 실행 중인 제1응용 프로그램에 대한 정보를 수신하는 과정과,
    상기 제1응용 프로그램과 연동되어 사용될 수 있는 제2응용 프로그램이 존재하는 경우, 상기 제2응용 프로그램에 대한 정보를 상기 제2기기로 송신하는 과정과,
    상기 제2기기로부터 상기 제2응용 프로그램을 실행할 것을 지시하는 정보가 수신되면, 상기 제2응용 프로그램을 실행하는 과정을 포함하는 정보 수신 방법.
  3. 무선 통신 시스템에서 제1기기에 있어서,
    상기 제1기기에서 사용되는 제1응용 프로그램을 실행하는 응용 프로그램부와,
    상기 제1기기와 동일한 네트워크에 포함된 제2기기로 상기 제1응용 프로그램에 대한 정보를 송신하고, 상기 제2기기로부터 상기 제1응용 프로그램과 연동되어 사용될 수 있는 제2응용 프로그램에 대한 정보를 수신하고, 상기 수신된 정보를 기반으로 상기 제2응용 프로그램을 실행할 것을 지시하는 정보를 상기 제2기기로 송신하는 런처(Launcher)를 포함하는 제1기기.
  4. 무선 통신 시스템에서 제1기기에 있어서,
    상기 제1기기와 동일한 네트워크에 포함된 제2기기로부터 상기 제1기기에서 실행 중인 제1응용 프로그램에 대한 정보를 수신하고, 상기 제1응용 프로그램과 연동되어 사용될 수 있는 제2응용 프로그램이 존재하는 경우, 상기 제2응용 프로그램에 대한 정보를 상기 제2기기로 송신하는 관리부와,
    상기 제2기기로부터 상기 제2응용 프로그램을 실행할 것을 지시하는 정보가 수신되면, 상기 제2응용 프로그램을 실행하는 응용 프로그램부를 포함하는 제1기기.
KR1020140006705A 2014-01-20 2014-01-20 무선 통신 시스템에서 정보 송신 방법 및 장치 KR20150086708A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140006705A KR20150086708A (ko) 2014-01-20 2014-01-20 무선 통신 시스템에서 정보 송신 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140006705A KR20150086708A (ko) 2014-01-20 2014-01-20 무선 통신 시스템에서 정보 송신 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20150086708A true KR20150086708A (ko) 2015-07-29

Family

ID=53876211

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140006705A KR20150086708A (ko) 2014-01-20 2014-01-20 무선 통신 시스템에서 정보 송신 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20150086708A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220365A (zh) * 2021-05-07 2021-08-06 维沃移动通信有限公司 控制方法和控制装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220365A (zh) * 2021-05-07 2021-08-06 维沃移动通信有限公司 控制方法和控制装置

Similar Documents

Publication Publication Date Title
US12034993B2 (en) Method and apparatus for executing application in wireless communication system
CN108495146B (zh) 内容接收设备和方法、伴随设备及信息处理方法
US8640031B2 (en) Method and apparatus for controlling remote user interface in a home network
US9813769B2 (en) Display device, information acquisition method, and information providing method
CN105554588B (zh) 支持闭路字幕的内容接收装置和显示装置
CA2925279C (en) Method and apparatus for device-specific communication between application programs
US8954489B2 (en) Widget activation and communication method
KR20100049481A (ko) 원격 유저 인터페이스 서비스에서 리소스에 대한 이용 제한 방법 및 장치
US20150095956A1 (en) Electronic device, computer program product, and information control method
US20120331096A1 (en) Telecommunications terminal, broadcast receiving terminal and computer program
KR20150086708A (ko) 무선 통신 시스템에서 정보 송신 방법 및 장치
KR102527235B1 (ko) 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치
JP4774473B2 (ja) 機器登録方法及びサーバ装置
JP7300250B2 (ja) 受信装置およびプログラム
KR20230134366A (ko) 모바일 단말을 이용한 셋톱박스 제어 방법
KR20150033185A (ko) 통신 시스템에서 멀티스크린을 지원하는 방법 및 장치

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid