KR101871423B1 - 네트워크로 연결된 방송 수신 디바이스와 다른 디바이스 간 연결을 관리하는 방법 및 장치 - Google Patents

네트워크로 연결된 방송 수신 디바이스와 다른 디바이스 간 연결을 관리하는 방법 및 장치 Download PDF

Info

Publication number
KR101871423B1
KR101871423B1 KR1020167012189A KR20167012189A KR101871423B1 KR 101871423 B1 KR101871423 B1 KR 101871423B1 KR 1020167012189 A KR1020167012189 A KR 1020167012189A KR 20167012189 A KR20167012189 A KR 20167012189A KR 101871423 B1 KR101871423 B1 KR 101871423B1
Authority
KR
South Korea
Prior art keywords
application
information
broadcast receiving
receiving device
screen
Prior art date
Application number
KR1020167012189A
Other languages
English (en)
Other versions
KR20160075561A (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 엘지전자 주식회사
Publication of KR20160075561A publication Critical patent/KR20160075561A/ko
Application granted granted Critical
Publication of KR101871423B1 publication Critical patent/KR101871423B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • 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/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • H04N21/41265The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content

Abstract

본 발명은, 네트워크로 연결된 동반 디바이스와 방송 수신 디바이스의 어플리케이션 간 서비스를 제공하는 방법에 있어서, 상기 방송 수신 디바이스에 어플리케이션 정보를 획득하기 위한 요청 메시지를 전송하는 단계; 및 상기 요청 메시지에 응답하여, 상기 방송 수신 디바이스로부터 상기 어플리케이션 정보를 포함하는 응답 메시지를 수신하는 단계를 포함하되, 상기 어플리케이션 정보는 상기 동반 디바이스의 어플리케이션과 상기 방송 수신 디바이스의 어플리케이션 간의 통신을 위한 주소 정보 및 상기 동반 디바이스와 상기 방송 수신 디바이스의 싱크를 위한 싱크 주소 정보를 포함하는 것을 특징으로 하는 방법을 제공한다.

Description

네트워크로 연결된 방송 수신 디바이스와 다른 디바이스 간 연결을 관리하는 방법 및 장치{METHOD AND APPARATUS FOR MANAGING CONNECTION BETWEEN BROADCASTING RECEPTION DEVICE AND ANOTHER DEVICE WHICH ARE CONNECTED THROUGH NETWORK}
본 발명은 네트워크로 연결된 복수개의 디바이스 간 연결을 관리하는 방법 및 장치에 관한 것이다. 구체적으로, 방송 수신 디바이스와 다른 디바이스 간 양방향 서비스를 제공하기 위해 어플리케이션을 관리하고, 어플리케이션 간에 연결을 설정하는 방법 및 장치에 관한 것이다.
디지털 방송은 아날로그 방송과 달리 하나의 방송 서비스가 복수의 미디어 컴포넌트를 포함할 수 있다. 이에 따라 사용자들은 하나의 방송 서비스에 대한 복수의 미디어를 선택적으로 시청할 수 있다.
나아가, 방송 서비스를 수신하는 디바이스와 네트워크로 연결된 다른 디바이스 간 연동을 통해 사용자는 방송 서비스 뿐만 아니라 다양한 종류의 서비스를 제공받을 수 있으며, 디바이스 제어의 효율성을 높일 수 있게 된다.
그러나, 기존에는 네트워크로 연결된 다른 디바이스 간 호환을 보장하기 위해, 특정한 기술 기반의 특정한 종류의 서비스를 각각의 표준 프로토콜로 정의하여야 함으로써, 서비스 제공의 비효율성이 존재하였다. 따라서, 네트워크로 연결된 디바이스 간의 연동을 위한 프로토콜 없이도 방송 서비스 뿐만 아니라 다양한 종류의 서비스를 제공할 수 있는 방법이 필요하다.
상기와 같은 문제점을 해결하기 위해,
본 발명은, IP 기반 차세대 하이브리드 방송 시스템의 수신 장치를 통해 방송 컨텐트 서비스를 제공하는 방법을 제공하고자 한다.
본 발명은, 네트워크로 연결된 방송 수신 디바이스와 다른 디바이스 사이에 양방향 서비스를 제공하는 방법을 제공하고자 한다.
또한, 본 발명은, 네트워크 연결된 복수개의 디바이스에서 양방향 서비스를 실행하고 있도록 구현함으로써, 양방향 서비스를 제공하는 방법을 제공하고자 한다.
또한, 본 발명은, 디바이스로 하여금 어떤 어플리케이션의 설치, 실행이 필요한지를 사용자에게 알려줌으로써 양방향 서비스를 제공하는 방법을 제공하고자 한다.
또한, 본 발명은, 하나의 디바이스를 통해 다른 디바이스의 어플리케이션을 설치, 실행, 실행중지, 및 삭제 등의 관리를 가능하게 하는 방법을 제공하고자 한다.
또한, 본 발명은, 허가된 특정 사용자 또는 디바이스에게만 다른 디바이스의 어플리케이션 관리를 가능하도록 하는 방법을 제공하고자 한다.
또한, 본 발명은, 복수개의 디바이스의 어플리케이션들의 상호 작용을 위해 필요한 정보를 공유하는 방법을 제공하고자 한다.
또한, 본 발명은, 복수의 디바이스 간 연결을 구분함으로써 복수의 디바이스 간 연결을 동시에 지원할 수 있는 방법을 제공하고자 한다.
또한, 본 발명은, 복수의 디바이스 간 양방향 서비스를 제공하기 위해 디바이스 동기화, 시간 동기화 또는 컨텐트 동기화하는 방법을 제공하고자 한다.
또한, 본 발명은, 복수개의 디바이스의 어플리케이션 관리, 연결 관리 및 동기화를 지원하는 디바이스를 탐색하는 방법을 제공하고자 한다.
또한, 본 발명은, 복수개의 디바이스의 어플리케이션 관리, 연결 관리 및 동기화 서비스에 대한 부가적인 정보를 교환할 수 있는 방법을 제공하고자 한다.
본 발명은, 네트워크로 연결된 동반 디바이스와 방송 수신 디바이스의 어플리케이션 간 서비스를 제공하는 방법에 있어서, 상기 방송 수신 디바이스에 어플리케이션 정보를 획득하기 위한 요청 메시지를 전송하는 단계; 및 상기 요청 메시지에 응답하여, 상기 방송 수신 디바이스로부터 상기 어플리케이션 정보를 포함하는 응답 메시지를 수신하는 단계를 포함하되, 상기 어플리케이션 정보는 상기 동반 디바이스의 어플리케이션과 상기 방송 수신 디바이스의 어플리케이션 간의 통신을 위한 주소 정보 및 상기 동반 디바이스와 상기 방송 수신 디바이스의 싱크를 위한 싱크 주소 정보를 포함하는 것을 특징으로 하는 방법을 제공한다.
본 발명에서, 상기 동반 디바이스가 상기 방송 수신 디바이스의 어플리케이션을 시작하도록 제어한 경우이거나, 또는 상기 방송 수신 디바이스의 어플리케이션과 상관없이 상기 동반 디바이스의 어플리케이션이 시작된 경우에 수행되는 것을 특징으로 한다.
본 발명에서, 상기 동반 디바이스의 어플리케이션과 상기 방송 수신 디바이스의 어플리케이션 간의 통신을 위한 주소 정보(ApptoAppURL)는 웹소켓 서버(Web Socket Server) URL을 나타내는 것을 특징으로 한다.
본 발명에서, 상기 어플리케이션 정보는 XML 형식의 설명 정보(description information)에 포함되는 것을 특징으로 한다.
본 발명에서, 상기 방송 수신 디바이스는 브로드캐스트 또는 브로드밴드 중 적어도 하나를 통해서 방송 신호를 수신하고, 상기 방송 신호는 미디어 컨텐트, 어플리케이션 데이터,어플리케이션 정보 테이블 및 스트림 이벤트 중 적어도 하나를 포함하는 것을 특징으로 한다.
본 발명은, 네트워크로 연결된 동반 디바이스와 방송 수신 디바이스의 어플리케이션 간 서비스를 제공하는 방법에 있어서, 상기 방송 수신 디바이스의 어플리케이션 주소를 획득하는 단계; 상기 방송 수신 디바이스의 어플리케이션 주소로 상기 방송 수신 디바이스의 어플리케이션 실행을 요청하는 요청 메시지를 전송하는 단계; 상기 요청 메시지에 응답하여, 상기 방송 수신 디바이스로부터 응답 메시지를 수신하는 단계를 포함하되, 상기 응답 메시지는 상기 어플리케이션의 실행에 대한 상태를 나타내는 코드 정보를 포함하는 것을 특징으로 하는 방법을 제공한다.
본 발명에서, 상기 코드 정보는, 어플리케이션이 실행되었음을 나타내는 제1코드 정보, 사용자에 의해 어플리케이션이 실행될 수 없음을 나타내는 제2코드 정보, 상기 방송 수신 디바이스에 의해 어플레케이션이 실행될 수 없음을 나타내는 제3코드 정보, 상기 방송 수신 디바이스의 상태로 인해 어플리케이션이 실행될 수 없음을 나타내는 제4코드 정보 중 적어도 하나를 포함하는 것을 특징으로 한다.
본 발명에서, 상기 요청 메시지의 바디 데이터는 어플리케이션 식별자와 어플리케이션 설명 정보를 포함하는 것을 특징으로 한다.
본 발명에서, 상기 어플리케이션 설명 정보는 시작, 정지 또는 모니터링 중 적어도 하나를 포함하는 제어 코드 정보를 포함하는 것을 특징으로 한다.
본 발명에서, 상기 방송 수신 디바이스는 브로드캐스트 또는 브로드밴드 중 적어도 하나를 통해서 방송 신호를 수신하고, 상기 방송 신호는 미디어 컨텐트, 어플리케이션 데이터,어플리케이션 정보 테이블 및 스트림 이벤트 중 적어도 하나를 포함하는 것을 특징으로 한다.
본 발명은, 네트워크 상에서 방송 수신 디바이스와의 연결을 관리하는 동반 디바이스에 있어서, 상기 방송 수신 디바이스와 통신을 수행하는 네트워크 인터페이스; 및 상기 방송 수신 디바이스에 어플리케이션 정보를 획득하기 위한 요청 메시지를 전송하고, 상기 방송 수신 디바이스로부터 상기 어플리케이션 정보를 포함하는 응답 메시지를 수신하는 컨트롤러를 포함하되, 상기 어플리케이션 정보는 상기 동반 디바이스의 어플리케이션과 상기 방송 수신 디바이스의 어플리케이션 간의 통신을 위한 주소 정보 및 상기 동반 디바이스와 상기 방송 수신 디바이스의 싱크를 위한 싱크 주소 정보를 포함하는 것을 특징으로 하는 동반 디바이스를 제공한다.
본 발명에서, 상기 컨트롤러는, 상기 동반 디바이스가 상기 방송 수신 디바이스의 어플리케이션을 시작하도록 제어한 경우이거나, 또는 상기 방송 수신 디바이스의 어플리케이션과 상관없이 상기 동반 디바이스의 어플리케이션이 시작된 경우에 수행되는 것을 특징으로 한다.
본 발명은, 네트워크 상에서 방송 수신 디바이스와의 연결을 관리하는 동반 디바이스에 있어서, 상기 방송 수신 디바이스와 통신을 수행하는 네트워크 인터페이스; 및 상기 방송 수신 디바이스의 어플리케이션 주소를 획득하고, 상기 방송 수신 디바이스의 어플리케이션 주소로 상기 방송 수신 디바이스의 어플리케이션 실행을 요청하는 요청 메시지를 전송하고, 상기 방송 수신 디바이스로부터 응답 메시지를 수신하는 컨트롤러를 포함하되, 상기 응답 메시지는 상기 어플리케이션의 실행에 대한 상태를 나타내는 코드 정보를 포함하는 것을 특징으로 하는 동반 디바이스를 제공한다.
본 발명은, 차세대 방송 서비스 뿐만 아니라 새로운 종류의 서비스를 네트워크 연결된 디바이스 간에 연동시키기 위해서 해당 서비스 자체를 표준화할 필요가 없으며, 그 서비스 자체에 서비스 고유의 기능 이외의 디바이스 간 연동을 위한 기본적인 프로토콜을 모두 포함시켜야하는 비효율성을 없앨 수 있다. 따라서, 어플리케이션 형태로 누구나 손쉽게 양방향 서비스의 제공이 가능하며, 제조업체에서는 이러한 서비스의 제공을 위해 필요한 추가적인 개발 리소스를 절약할 수 있다.
도 1은 본 발명이 적용되는 실시예로서, IP 기반 차세대 하이브리드 방송 시스템의 방송 수신 디바이스의 구조를 나타낸다.
도 2는 본 발명이 적용되는 실시예로서, 동반 디바이스(companion device)와 방송 수신 디바이스 간 웹소켓 통신을 수행하는 과정을 설명하기 위한 기본 아키텍쳐를 나타낸다.
도 3은 본 발명이 적용되는 실시예로서, IP 기반 차세대 하이브리드 방송 시스템에서 적용가능한 프로토콜 스텍을 나타낸다.
도 4는 본 발명이 적용되는 실시예로서, 동반 디바이스(companion device)와 방송 수신 디바이스 간 웹소켓 통신을 수행하는 과정을 설명하기 위한 흐름도를 나타낸다.
도 5는 본 발명이 적용되는 실시예로서, 동반 디바이스(companion device)와 방송 수신 디바이스 간 웹소켓 서버를 통해 연결하는 과정을 설명하기 위한 아키텍쳐를 나타낸다.
도 6은 본 발명이 적용되는 실시예로서, 동반 디바이스(companion device)와 방송 수신 디바이스 간 어플리케이션 연결을 위한 과정을 설명하기 위한 흐름도를 나타낸다.
도 7은 본 발명이 적용되는 실시예로서, 동반 디바이스(companion device)에 의해 방송 수신 디바이스의 어플리케이션을 실행하는 과정을 설명하기 위한 흐름도를 나타낸다.
도 8은 본 발명이 적용되는 실시예로서, 어플리케이션 실행 요청 메시지에 대한 응답 코드를 나타낸다.
도 9 내지 도 13은 본 발명이 적용되는 실시예들로서, 디바이스 간 어플리케이션 연결을 위한 메시지에 어플리케이션 정보를 삽입하는 다양한 방법들을 나타낸다.
도 14는 본 발명이 적용되는 실시예로서, UPnP(Universal Plug and Play) 메커니즘을 설명하기 위한 블록 다이어그램을 나타낸다.
도 15는 본 발명이 적용되는 실시예로서, REST(REpresentational State Transfer) 메커니즘을 설명하기 위한 블록 다이어그램을 나타낸다.
도 16은 본 발명이 적용되는 실시예로서, UPnP(Universal Plug and Play) AV(Audio-Visual) 네트워크의 개략적인 구성도를 나타낸다.
도 17은 본 발명이 적용되는 일실시예로서, 멀티스크린 서비스(Multi-Screen Service)가 적용되는 UPnP(Universal Plug and Play) AV(Audio-Visual) 네트워크의 한 예를 나타낸다.
도 18 및 도 19는 본 발명이 적용되는 일실시예들로서, 상기 도 18은 멀티스크린 서비스(Multi-Screen Service)가 적용되는 기본 아키텍쳐를 나타내고, 상기 도 19는 확장된 멀티스크린 서비스(extended Multi-Screen Service)가 적용되는 아키텍쳐를 나타낸다.
도 20은 본 발명이 적용되는 일실시예로서, 멀티스크린 서비스(Multi-Screen Service)가 적용되는 디바이스의 개략적인 구조를 나타낸다.
도 21은 본 발명이 적용되는 일실시예로서, 멀티스크린 서비스(Multi-Screen Service)가 스크린 디바이스에서 시작되는 경우 디바이스 간 상호 작용을 설명하기 위한 흐름도이다.
도 22는 본 발명이 적용되는 일실시예로서, 멀티스크린 서비스(Multi-Screen Service)가 컨트롤러에서 시작되는 경우 디바이스 간 상호 작용을 설명하기 위한 흐름도이다.
도 23은 본 발명이 적용되는 일실시예로서, 디바이스 간 어플리케이션 연결을 관리하기 위한 상호 작용을 설명하기 위한 흐름도이다.
도 24는 본 발명이 적용되는 일실시예로서, 외부 서버에서 컨텐트가 제공되는 경우 컨텐트와 함께 이용되는 어플리케이션을 제어하는 과정을 설명하기 위한 흐름도이다.
도 25는 본 발명이 적용되는 일실시예로서, 디바이스 간 어플리케이션 연결을 위해 필요한 인증 과정을 설명하기 위한 흐름도이다.
도 26은 본 발명이 적용되는 일실시예로서, 디바이스 간 어플리케이션 연결을 통해 동기화된 통신을 수행하는 과정을 설명하기 위한 흐름도이다.
도 27 내지 도 43은 본 발명이 적용되는 일실시예들로서, 어플리케이션 관리를 위해 필요한 액션들(actions)과 그 아규먼트(argument)를 나타낸다.
도 27은 본 발명이 적용되는 실시예로, 제 1 어플리케이션 정보 획득 액션과 그 아규먼트를 나타낸다.
도 28은 본 발명이 적용되는 실시예로, 제 2 어플리케이션 정보 획득 액션과 그 아규먼트를 나타낸다.
도 29는 본 발명이 적용되는 실시예로, 이용가능한 어플리케이션 정보 획득 액션과 그 아규먼트를 나타낸다.
도 30은 본 발명이 적용되는 실시예로, 실행 어플리케이션 정보 획득 액션(running application information obtaining action)과 그 아규먼트를 나타낸다.
도 31은 본 발명이 적용되는 실시예로, 실행 상태 정보 획득 액션(running status information obtaining action)과 그 아규먼트를 나타낸다.
도 32는 본 발명이 적용되는 실시예로, 제 1 어플리케이션 활성화 액션과 그 아규먼트를 나타낸다.
도 33은 본 발명이 적용되는 실시예로, 제 2 어플리케이션 활성화 액션과 그 아규먼트를 나타낸다.
도 34는 본 발명이 적용되는 실시예로, 비활성화 액션과 그 아규먼트를 나타낸다.
도 35는 본 발명이 적용되는 실시예로, 제 1 어플리케이션 설치 액션과 그 아규먼트를 나타낸다.
도 36은 본 발명이 적용되는 실시예로, 제 2 어플리케이션 설치 액션과 그 아규먼트를 나타낸다.
도 37은 본 발명이 적용되는 실시예로, 삭제(uninstallation) 액션과 그 아규먼트를 나타낸다.
도 38은 본 발명이 적용되는 실시예로, 설치 상태 정보 획득 액션(installation status information obtaining action)과 그 아규먼트를 나타낸다.
도 39는 본 발명이 적용되는 실시예로, 연결 정보 획득 액션(connection information obtaining action)과 그 아규먼트를 나타낸다.
도 40은 본 발명이 적용되는 실시예로, 어플리케이션 간 연결 액션(apptoapp connection action)과 그 아규먼트를 나타낸다.
도 41은 본 발명이 적용되는 실시예로, 어플리케이션 간 연결 해제 액션(apptoapp disconnection action)과 그 아규먼트를 나타낸다.
도 42는 본 발명이 적용되는 실시예로, 현재 연결 정보 획득 액션(current connection information obtaining action)과 그 아규먼트를 나타낸다.
도 43은 본 발명이 적용되는 실시예로, 검색 필드 획득 액션(searchable field obtaining action)과 그 아규먼트를 나타낸다.
도 44는 본 발명이 적용되는 일실시예로서, 어플리케이션 관리를 위해 필요한 상태 변수를 나타낸다.
도 45는 본 발명이 적용되는 실시예로, 어플리케이션을 업데이트하는 과정을 나타낸다.
도 46은 본 발명이 적용되는 실시예로, 어플리케이션의 설치 상태 다이어그램을 나타낸다.
본 발명에서는 디바이스 간 통신(communication)시 메시지(message), 명령어(command), 콜(call), 액션(action), 혹은 요청/응답(request/response)을 교환한다고 표현할 수 있다.
본 발명에서는 디바이스 간 통신(communication)시 사용되는 메시지(message)를 원하는 대상 디바이스에 안정적으로 전달하기 위해, IP (Internet Protocol) 뿐만 아니라, ICMP (Internet Control Message Protocol), IGMP (Internet Group Management Protocol) 등의 다양한 프로토콜을 적용할 수 있으며 특정 프로토콜에 국한하여 적용하지 않는다.
본 발명에서는 디바이스 간 통신시 사용되는 메시지(message)를 안정적으로 전달하고, 메시지 플로우(message flow)를 제어하고, 복수의 메시지(message)간의 충돌이나 혼잡(congestion)을 해결하고, 멀티플렉싱(multiplexing)을 지원하기 위해, TCP (Transmission Control Protocol), UDP (User Datagram Protocol) 뿐만 아니라 DCCP (Datagram Congestion Control Protocol), SCTP (Stream Control Transmission Protocol) 등의 다양한 프로토콜을 적용할 수 있으며 특정 프로토콜에 국한하여 적용하지 않는다.
본 발명에서는 디바이스 간 통신시 사용되는 메시지(message)에 다양한 정보를 담아서 다양한 목적으로 전달하기 위해, HTTP (Hypertext Transfer Protocol), RTP (Real-time Transport Protocol), XMPP (Extensible Messaging and Presence Protocol), FTP (File Transfer Protocol) 등의 다양한 프로토콜을 적용할 수 있으며 특정 프로토콜에 국한하여 적용하지 않는다.
본 발명에서는 디바이스 간 통신시 사용되는 메시지를 상기의 다양한 프로토콜을 통해 전달할 때, 각 프로토콜에서 정의하는 메시지 컴포넌트들(components) 중 메시지 헤더(message header), 메시지 바디(message body) 등 다양한 메시지 컴포넌트에 원하는 메시지 데이터를 넣어서 전달할 수 있으며 특정 메시지 컴포넌트에 한정되지 않는다.
본 발명에서는 디바이스 간 통신시 사용되는 메시지를 상기의 다양한 프로토콜을 통해 전달할 때, 전달할 데이터를 각 프로토콜에서 정의하는 다양한 타입으로 (string, integer, floating point, boolean, character, array, list 등) 전달할 수 있다. 복잡한 내용의 데이터를 더 구조적으로으로 표현하고, 전달하고, 저장하기 위해 XML (Extensible Markup Language), HTML (Hypertext Markup Language), XHTML (Extensible Hypertext Markup Language), JSON (JavaScript Object Notation) 등의 마크업(Markup) 방식 혹은 텍스트(text), 이미지 포맷(image format) 등을 적용할 수 있으며 특정 방식에 한정되지 않는다.
본 발명에서는 디바이스 간 통신시 사용되는 메시지에 포함되는 데이터를, “gzip” (RFC 1952), “deflate” (RFC 1950), “compress” (RFC 2616) 등의 다양한 데이터 압축기술을 적용하여 전달할 수 있으며 특정 방식에 한정되지 않는다.
본 발명의 실시예에서 적용된 디바이스 간 통신의 한가지 방안인 UPnP 방식은, 상기 다양한 기술 중에서, IP-TCP/UDP-HTTP의 프로토콜이 조합된 디바이스 간 통신 프로토콜이다.
본 발명에서 제안하는 모든 UPnP 액션은 상기 다양한 레이어(layer)의 기술의 다양한 형태의 조합을 통해 적용될 수 있으며, 본 발명에서 제안하는 모든 내용은 UPnP 방식에 한정되지 않는다. 즉, 본 명세서에서는 네트워크를 구성하는 하나의 실시예로써 UPnP 방식을 기준으로 설명하지만, 본 발명은 이에 한정되지 않으며 상기에서 설명한 다른 방식의 기술들에 대해서도 적용 가능할 것이다.
도 1은 본 발명이 적용되는 실시예로서, IP 기반 차세대 하이브리드 방송 시스템의 방송 수신 디바이스의 구조를 나타낸다.
본 발명이 적용되는 IP 기반 차세대 하이브리드 방송 시스템에서, 방송 수신 디바이스(100)는 브로드캐스트 네트워크와 브로드밴드 네트워크에 연결되어 있을 수 있다. 본 명세서에서, 상기 방송 수신 디바이스(100)는 DVB 단말, 하이브리드 단말, 하이브리드 DVB 단말, 또는 넌-하이브리드 DVB 단말 등을 의미할 수 있다. 또한, 상기 방송 수신 디바이스(100)는 웹기반 하이브리드 브로드캐스트 브로드밴드 단말을 의미할 수도 있으며, 어플리케이션의 다운로드 및 실행이 가능할 수 있다.
또한, 본 명세서에서, 어플리케이션은 브로드캐스트와 상관없는 어플리케이션 (broadcast-independent application)과 브로드캐스트 관련 어플리케이션 (broadcast-related application) 두 가지 타입을 가질 수 있다.
상기 브로드캐스트와 상관없는 어플리케이션 (broadcast-independent application)은, 브로드밴드를 통해, 다운로드될 수 있고 관련 데이터에 접속할 수 있다. 예를 들어, 상기 브로드캐스트와 상관없는 어플리케이션 (broadcast-independent application)은 브로드캐스트 리소스를 필요로 하지 않는 어플리케이션일 수 있으며, 구체적 예로 게임 등을 들 수 있다.
또한, 상기 브로드캐스트 관련 어플리케이션 (broadcast-related application)은 자동적으로 실행될 수 있거나 사용자 요청에 의해 실행될 수 있다. 상기 브로드캐스트 관련 어플리케이션 (broadcast-related application)은 브로드밴드 또는 브로드캐스트를 통해 다운로드될 수 있고, 어떠한 방식으로도 관련 데이터에 접속할 수 있다. 예를 들어, 상기 브로드캐스트 관련 어플리케이션 (broadcast-related application)은 전자 프로그램 가이드, 텔레텍스트(teletext) 서비스 등을 포함할 수 있다.
상기 방송 수신 디바이스(100)는 2개의 네트워크에 병렬적으로 연결될 수 있다. 하나는 브로드캐스트 DVB 네트워크일 수 있고, 다른 하나는 브로드밴드 네트워크일 수 있다. 상기 브로드캐스트 DVB 네트워크는 DVB-T, DVB-S, DVB-C 등을 포함할 수 있다.
브로드캐스트 네트워크 연결을 통해, 상기 방송 수신 디바이스(100)는 통상적인 브로드캐스트 A/V 컨텐트, 비실시간 A/V 컨텐트, 어플리케이션 데이터 및 어플리케이션 시그널링 정보 등을 수신할 수 있다.
브로드밴드 네트워크 연결을 통해, 상기 방송 수신 디바이스(100)는 어플리케이션 제공자와 양방향 통신을 수행할 수 있다. 그리고, 상기 방송 수신 디바이스(100)는 브로드밴드 인터페이스를 통해 어플리케이션 데이터, 비선형 A/V 컨텐트를 수신할 수 있고, A/V 컨텐트의 비실시간 다운로드도 지원할 수 있다. 또한, 상기 브로드밴드 인터페이스는 동일한 네트워크 상에 있는 동반 디바이스와 연결될 수 있다.
상기 도 1을 살펴보면, 본 발명이 적용되는 IP 기반 차세대 하이브리드 방송 시스템의 방송 수신 디바이스(100)는 브로드캐스트 인터페이스(111), 디멀티플렉싱부(113), AIT(Application Information Table) 필터(115), DSM-CC(Digital Storage Media - Command and Control) 클라이언트(117), 브로드캐스트 프로세싱부(119), 브로드밴드 인터페이스(121), IP(Internet Protocol) 프로세싱부(123), 어플리케이션 관리부(130), 브라우저(140) 및 미디어 플레이어(150)를 포함할 수 있다.
상기 방송 수신 디바이스(100)는 상기 브로드캐스트 인터페이스(111)를 통해 AIT 데이터, 선형 A/V 컨텐트(linear Audio-Visual content), 비실시간 A/V 컨텐트(non-realtime Audio-Visual content), 어플리케이션 데이터(application data) 및 스트림 이벤트(stream event)를 수신할 수 있다. 여기서, 상기 어플리케이션 데이터(application data) 및 스트림 이벤트(stream event)는 DSM-CC 오브젝트 캐러셀(object carousel)을 이용하여 전송될 수 있다. 그리고, 상기 비실시간 A/V 컨텐트는 파일 다운로드 프로토콜 디코더(미도시)에 의해 수신될 수 있다.
따라서, 상기 DSM-CC(Digital Storage Media - Command and Control) 클라이언트(117)는 상기 오브젝트 캐러셀(object carousel)로부터 데이터(예를 들어, 어플리케이션 데이터, 스트림 이벤트)를 복구하고 그것들을 실행 환경부(runtime environment unit)에 제공할 수 있다. 여기서, 실행 환경부(runtime environment unit)는 양방향 어플리케이션(interactive application)이 존재하고 실행되는 추상적인 요소를 의미할 수 있다. 예를 들어, 상기 실행 환경부(runtime environment unit)는 상기 어플리케이션 관리부(130)와 상기 브라우저(140)를 포함할 수 있다.
상기 디멀티플렉싱부(113)는 수신된 신호를 각 유닛에 디멀티플렉싱할 수 있다. 예를 들어, 상기 디멀티플렉싱부(113)는 AIT 데이터를 상기 AIT(Application Information Table) 필터(115)에 전송하고, 선형 A/V 컨텐트(linear Audio-Visual content)를 상기 브로드캐스트 프로세싱부(119)에 전송하며, 상기 어플리케이션 데이터(application data)와 상기 스트림 이벤트(stream event)를 상기 DSM-CC(Digital Storage Media - Command and Control) 클라이언트(117)에 전송할 수 있다.
상기 브로드캐스트 프로세싱부(119)는 상기 디멀티플렉싱부(113)로부터 수신한 선형 A/V 컨텐트를 표준 넌-하이브리드 DVB 단말(standard non-hybrid DVB terminal)에서와 같은 방식으로 처리할 수 있다. 상기 브로드캐스트 프로세싱부(119)는 통상적인 넌-하이브리드 DVB 단말(common non-hybrid DVB terminal)에서 제공되는 모든 DVB 기능들을 포함할 수 있다.
상기 브로드캐스트 프로세싱부(119)로부터 출력되는 다른 데이터들은 상기 실행 환경부(runtime environment unit)에 의해 처리될 수 있다. 예를 들어, 상기 다른 데이터들은 채널 리스트 정보, EIT p/f(Event Information Table present/following), 튜닝을 위한 기능(functions for tuning)을 포함할 수 있다.
상기 브로드캐스트 프로세싱부(119)로부터 출력되는 선형 A/V 컨텐트는 어플리케이션에 의해 제공되는 사용자 인터페이스에 임베드될 수 있으며, 이러한 기능은 상기 미디어 플레이어(150)에 의해 제공될 수 있다.
상기 어플리케이션 관리부(130)는 양방향 어플리케이션(interactive application)의 라이프 사이클(life cycle)을 제어하기 위해 AIT(Application Information Table)를 고려할 수 있다.
상기 브라우저(140)는 양방향 어플리케이션(interactive application)을 출력(presenting)하고 실행(executing)할 수 있다.
한편, 상기 방송 수신 디바이스(100)는 상기 브로드밴드 인터페이스(121)를 통해 인터넷에 연결할 수 있다. 상기 연결은 어플리케이션 제공자의 서버로부터 어플리케이션 데이터를 요청하기 위한 2가지 방식을 제공한다.
상기 IP(Internet Protocol) 프로세싱부(123)는 인터넷으로부터 오는 데이터를 처리하기 위한 모든 기능들을 포함할 수 있다. 상기 IP(Internet Protocol) 프로세싱부(123)로부터 출력된 A/V 컨텐트는 상기 미디어 플레이어(150)로 전송되고, 어플리케이션에 의해 제공되는 사용자 인터페이스에 임베드될 수 있다. 상기 브로드밴드 인터페이스(121)를 통해 전송된 컨텐트와 상기 브로드캐스트 인터페이스(111)를 통해 전송된 컨텐트는 동기화부(미도시)에 의해 동기화할 수 있다.
또한, 동반 스크린 인터페이스(미도시)는 상기 방송 수신 디바이스(100)로 하여금 동반 디바이스를 발견하도록 할 수 있다.
상기 브라우저(140)에서 실행 중인 양방향 어플리케이션들은 상기 동반 디바이스에 실행 또는 설치될 어플리케이션을 요청할 수 있다. 그리고, 상기 동반 디바이스에서 실행 중인 어플리케이션은 상기 브라우저(140)에 양방향 어플리케이션을 실행할 것을 요청할 수 있다.
웹소켓 서버는 상기 방송 수신 디바이스(100)의 어플리케이션과 상기 동반 디바이스 (또는 다른 방송 수신 디바이스)의 어플리케이션 간 통신을 가능하게 할 수 있다.
본 발명이 적용되는 IP 기반 차세대 하이브리드 방송 시스템은 HbbTV(Hybrid Broadcast Broadband TV) 시스템을 포함하고, 이때 상기 방송 수신 디바이스(100)는 HbbTV 터미널을 의미할 수 있다. 그리고, 상기 방송 수신 디바이스(100)는 동반 디바이스를 관리하기 위한 동반 디바이스 관리부(미도시)를 포함할 수 있다. 상기 동반 디바이스 관리부는 상기 방송 수신 디바이스(100) 내 별도의 유닛으로 동작할 수 있다. 또는 상기 어플리케이션 관리부(130)에 대응되거나, 포함될 수도 있다.
본 발명이 적용되는 일실시예로, 동반 디바이스의 어플리케이션은 방송 수신 디바이스(100)의 요청에 의해 시작될 수 있다. 이 경우, 상기 방송 수신 디바이스(100)의 동반 디바이스 관리부는 동반 디바이스를 발견할 수 있고, 상기 동반 디바이스에 어플리케이션 설치 정보 또는 시작 정보를 전송할 수 있다. 상기 동반 디바이스는 상기 어플리케이션 설치 정보 또는 시작 정보에 기초하여, 어플리케이션을 설치하거나 시작할 수 있다.
본 발명이 적용되는 다른 일실시예로, 상기 방송 수신 디바이스(100)의 어플리케이션은 동반 디바이스에 의해 원격으로 시작될 수 있다. 이 경우, 상기 방송 수신 디바이스(100)는 동반 디바이스로부터 발견 요청(discovery request) 정보를 수신하거나 어플리케이션 시작 요청(launch request) 정보를 수신할 수 있다. 상기 방송 수신 디바이스(100)의 동반 디바이스 관리부는 발견 요청(discovery request) 정보 또는 어플리케이션 시작 요청(launch request) 정보를 수신한 경우, 이에 응답하여 상기 방송 수신 디바이스(100)의 어플리케이션 위치 정보를 전송하거나 어플리케이션을 시작할 수 있다.
본 발명이 적용되는 다른 일실시예로, 방송 수신 디바이스(100)의 어플리케이션은 동반 디바이스의 어플리케이션과 직접적으로 통신할 수 있다. 이 경우, 상기 방송 수신 디바이스(100)의 동반 디바이스 관리부는 어플리케이션 간 통신을 위한 서비스 종단(service end points)에 대한 정보를 제공할 수 있다. 예를 들어, 상기 방송 수신 디바이스(100)는 API(Application Program Interface)를 통해 서비스 종단의 위치를 발견할 수 있다. 한편, 동반 디바이스의 어플리케이션이 상기 방송 수신 디바이스(100)에 의해 시작된 경우, 상기 동반 디바이스의 어플리케이션은 상기 방송 수신 디바이스(100)로부터 전송된 파라미터에 기초하여 서비스 종단의 위치를 확인할 수 있다. 반면, 상기 동반 디바이스의 어플리케이션이 독립적으로 시작된 경우에는 서비스 종단의 위치를 발견할 필요가 있다.
상기와 같은 방법들을 통해 방송 수신 디바이스와 동반 디바이스는 상호 동작을 수행할 수 있게 된다.
도 2는 본 발명이 적용되는 실시예로서, 동반 디바이스(companion device)와 방송 수신 디바이스 간 웹소켓 통신을 수행하는 과정을 설명하기 위한 기본 아키텍쳐를 나타낸다.
본 발명에서, 태블릿, 스마트폰과 같은 퍼스널 스마트 디바이스는 방송 서비스를 이용가능하게 한다. 상기 방송 서비스는 방송 수신 디바이스와 퍼스널 디바이스 상의 어플리케이션들 간의 통신이 필요할 수 있다.
어플리케이션이나 서비스를 제공하기 위해서는 통신을 수행할 네트워크 주소를 알아야 한다. 그러나, 사용자가 항상 네크워크 주소를 알아야 하거나, 직접 입력하는 것은 불편한 일이다.
따라서, 본 발명에서는, 네트워크 주소의 할당에 대한 정보가 없이도, 방송 수신 디바이스와 동반 디바이스 간의 통신을 설정하기 위한 방법을 제공한다.
상기 방송 수신 디바이스와 상기 동반 디바이스 간의 인터페이스는 CSS-CII(interface for metadata exchange, including content identification), CSS-WC(interface for Wall Clock synchronization), CSS-TS(interface for Timeline Synchronisation), CSS-TE(interface for notification of Trigger Events)를 포함할 수 있다.
멀티스크린 서비스(Multi-Screen Service) 또는 양방향 서비스(interactive service)를 제공하는 네트워크에 다양한 디바이스들이 연결되어 있다고 가정하자. 네트워크 상으로 연결된 디바이스들은 특정 어플리케이션의 역할 및/또는 사용법에 의해 메인 디바이스(main device)와 동반 디바이스(companion device)로 분류(categorize)되어 설명될 수 있다.
먼저, 메인 디바이스(main device)는 동반 디바이스(companion device)에 의해 제어되는 디바이스를 나타낸다. 예를 들어, 상기 메인 디바이스는 TV, 셋탑박스(set-top box) 등과 같은 린백(lean-back) 디스플레이 디바이스를 포함할 수 있다. 또한, 어떠한 디스플레이 디바이스도 사용 시나리오에 따라 상기 메인 디바이스가 될 수 있으며, 예를 들어, 스마트폰, 태블릿과 같은 디바이스도 상기 메인 디바이스가 될 수 있다.
동반 디바이스(companion device)는 메인 디바이스(main device)를 제어하는 디바이스를 나타낸다. 예를 들어, 상기 동반 디바이스는 스마트폰, 태블릿 등과 같은 린포워드(lean-forward) 디스플레이 디바이스나 소형 디스플레이 디바이스(handheld display device)를 포함할 수 있다. 또한, 어떠한 디스플레이 디바이스도 사용 시나리오에 따라 상기 메인 디바이스가 될 수 있으며, 예를 들어, TV, 셋탑박스(set-top box)와 같은 디바이스도 상기 동반 디바이스가 될 수 있다.
한편, 스크린 디바이스(screen device)란 스크린 컨트롤 포인트(screen control point)와 함께 수행되는, 다른 디스플레이 디바이스에 다양한 양방향 서비스(various interactive service)를 제공하기 위해 이용되는 요소(component)를 의미할 수 있다. 상기 스크린 디바이스는 상기 스크린 컨트롤 포인트에 의해 제어되고 상기 스크린 컨트롤 포인트와 상호 동작을 하도록 디자인될 수 있다. 멀티스크린 서비스(Multi-Screen Service)를 지원하기 위해서는, 동반 디바이스에 의해 제어되는 메인 디바이스(예를 들어, TV, 셋탑박스(set-top box) 등과 같은 린백(lean-back) 디스플레이 디바이스)로 수행되는 것이 권장된다. 나아가, 확장된 멀티스크린 서비스(extended Multi-Screen Service)를 지원하기 위해서는, 메인 디바이스를 제어하는 동반 디바이스(예를 들어, 스마트폰, 태블릿 등과 같은 린포워드(lean-forward) 디스플레이 디바이스나 소형 디스플레이 디바이스(handheld display device))로도 또한 수행되는 것이 권장된다.
스크린 컨트롤 포인트(screen control point)란 스크린 디바이스(screen device)와 함께 수행되는, 다른 디스플레이 디바이스에 다양한 양방향 서비스(various interactive service)를 제공하기 위해 이용되는 요소(component)를 나타낸다. 상기 스크린 컨트롤 포인트는 사용자의 입력에 의해 상기 스크린 디바이스를 제어하고 상기 스크린 디바이스와 상호 동작을 하도록 디자인될 수 있다. 멀티스크린 서비스(Multi-Screen Service)를 지원하기 위해서는, 메인 디바이스를 제어하는 동반 디바이스(예를 들어, 스마트폰, 태블릿 등과 같은 린포워드(lean-forward) 디스플레이 디바이스나 소형 디스플레이 디바이스(handheld display device))로 수행되는 것이 권장된다. 나아가, 확장된 멀티스크린 서비스(extended Multi-Screen Service)를 지원하기 위해서는, 동반 디바이스에 의해 제어되는 메인 디바이스(예를 들어, TV, 셋탑박스(set-top box) 등과 같은 린백(lean-back) 디스플레이 디바이스)로도 또한 수행되는 것이 권장된다.
본 명세서에서 사용되는 스크린 디바이스, 동반 디바이스, 동반 스크린 디바이스, 메인 디바이스, 물리 디바이스(physical device), 컨트롤 디바이스, 스크린 컨트롤 포인트, 컨트롤 포인트 등은 용어 자체의 의미에 한정되어 해석되어서는 안되며, 해당 실시예의 내용에 따라 유동적으로 해석가능할 것이다.
상기 도 2를 살펴보면, 네트워크 상 연결된 다양한 디바이스들 중 두 개의 디바이스, 예를 들어, 동반 디바이스(companion device)(210)와 방송 수신 디바이스(broadcast reception device)(220)를 기초로, 양방향 서비스를 제공하기 위한 구조를 나타낸다. 여기서, 상기 동반 디바이스(companion device)(210)는 스크린 컨트롤 포인트(screen control point), 즉 어플리케이션 관리 컨트롤 포인트(211)로써 동작될 수 있고, 상기 방송 수신 디바이스(broadcast reception device)(220)는 스크린 디바이스(screen device), 즉 어플리케이션 관리 서비스(221)를 제공하는 디바이스로써 동작될 수 있다.
상기 동반 디바이스(companion device)(210)는 상기 방송 수신 디바이스(broadcast reception device)(220)에 요청 메시지를 전송하고, 상기 상기 방송 수신 디바이스(broadcast reception device)(220)는 상기 요청 메시지에 응답하여 이벤트 메시지를 전송할 수 있다.
상기 어플리케이션 관리 서비스(221)는 어떤 어플리케이션이 지원되는지를 결정할 수 있고, 어떤 어플리케이션이 현재 실행 중인지를 결정할 수 있다. 그리고, 상기 어플리케이션 관리 서비스(221)는 어플리케이션에 대한 상세 정보를 불러올 수 있다. 상기 상세 정보는 어떤 종류의 어플리케이션 간 프로토콜이 각 어플리케이션에 의해 지원되는지를 나타내는 정보를 포함할 수 있다. 또한, 상기 어플리케이션 간 프로토콜에 대한 통신을 설정하기 위해 필요한 정보를 불러올 수도 있다.
상기 어플리케이션 관리 컨트롤 포인트(211)는 상기 동반 디바이스(210)로 하여금 방송 수신 디바이스를 탐색가능하게 할 수 있다. 이때, 상기 방송 수신 디바이스는 어플리케이션 관리 서비스(221)를 제공하는 UPnP 디바이스로써 동작될 수 있다.
상기 어플리케이션 관리 서비스(221)는 DVB CSS-CII 어플리케이션을 리스트할 수 있다. 이때, 상기 DVB CSS-CII 어플리케이션은 매칭 프로토콜 명칭(matching protocol name) 정보에 의해 식별될 수 있다. 그리고, 네크워크 인터페이스(예를 들어, CSS-CII 인터페이스)는 어플리케이션 관리 서비스 내에 매칭 프로토콜 명칭(matching protocol name) 정보를 가진 어플리케이션을 찾음으로써 발견될 수 있다. 이때, 상기 네트워크 인터페이스는 웹소켓 기반일 수 있다. 그리고, 다른 CSS 인터페이스는 웹소켓이 아닌 다른 전송 메커니즘을 이용할 수 있다.
도 3은 본 발명이 적용되는 실시예로서, IP 기반 차세대 하이브리드 방송 시스템에서 적용가능한 프로토콜 스텍을 나타낸다.
본 발명의 일 실시예에 따른 방송 서비스는 시청각 데이터(Auido/Video, A/V)뿐만 아니라 HTML5 어플리케이션, 양방향 서비스, ACR 서비스, 세컨드 스크린(second screen) 서비스, 개인화(personalization) 서비스 등의 부가 서비스를 제공할 수 있다. 이러한 방송 서비스는 지상파, 케이블 위성 등의 방송 신호인 물리 계층(physical layer)을 통해 전송될 수 있다. 또한 본 발명의 일 실시예에 따른 방송 서비스는 인터넷 통신망(broadband)을 통하여 전송될 수 있다.
상기 도 3을 살펴보면, UPnP 디바이스 아키텍쳐를 구성하는 요소들을 나타낸다. UPnP 디바이스 아키텍쳐는 컨트롤 포인트가 네트워크 상에서 어떻게 UPnP 디바이스를 탐색하는지를 기술할 수 있다. 이때, 상기 컨트롤 포인트는 UDP(301)를 통해 발생하는 SSDP(Simple Service Discovery Protocol)(303)를 이용하여 디바이스의 IP 주소를 알지 못한 상태일 수 있다. 그리고, 상기 UPnP 디바이스 아키텍쳐는 탐색된 UPnP 디바이스가 어떠한 능력을 이행하는지를 기술할 수 있다. 이는 HTTP(305)에 의한 XML 디바이스 설명 문서와 XML 서비스 제어 프로토콜 설명 문서를 다운로드함으로써 수행될 수 있다.
또한, 상기 UPnP 디바이스 아키텍쳐는 어떻게 컨트롤 포인트가 HTTP(305)를 통해 SOAP(306) 요청 메시지를 이용하여 액션을 불러옴으로써 기능을 교류할 수 있는지를 기술할 수 있다.
상기 UPnP 디바이스 아키텍쳐는 어떻게 컨트롤 포인트가 TCP(302)를 통해 GENA(304)를 이용하여 이벤트를 수신할 수 있는지를 기술할 수 있다.
도메인 특정된 기능들은 DCP(308) 내 도메인마다 기술될 수 있다. 상기 DCP(308)는 UPnP 디바이스 내에서 UPnP 서비스로 구체화될 수 있다.
도 4는 본 발명이 적용되는 실시예로서, 동반 디바이스(companion device)와 방송 수신 디바이스 간 웹소켓 통신을 수행하는 과정을 설명하기 위한 흐름도를 나타낸다.
동반 디바이스(420)은 네트워크에 연결된 디바이스를 탐색할 수 있다(S410). 이때, 탐색 액션이 이용될 수 있다. 상기 네트워크에 연결된 방송 수신 디바이스(410)는, 상기 탐색 액션에 응답하여 응답 메시지를 상기 동반 디바이스(420)에 전송할 수 있다. 이때, 상기 동반 디바이스(420)는 상기 방송 수신 디바이스(410) 외에 상기 네트워크에 연결된 다른 디바이스들로부터도 응답 메시지를 수신할 수 있다.
상기 동반 디바이스(420)는 수신된 응답 메시지들을 필터링함으로써 상기 방송 수신 디바이스(410)를 선택할 수 있다(S420).
상기 동반 디바이스(420)는 상기 선택된 방송 수신 디바이스(410)으로부터 설명 문서(description document)를 다운로드할 수 있다(S430). 여기서, 상기 설명 문서(description document)는 상기 방송 수신 디바이스(410)의 디바이스 정보를 포함할 수 있다. 그리고, 상기 동반 디바이스(420)는 서비스 컨트롤 프로토콜 설명 정보를 상기 방송 수신 디바이스(410)와 교환할 수 있다.
상기 동반 디바이스(420)는 상기 방송 수신 디바이스(410)에 어플리케이션 식별자 리스트를 획득하기 위한 제 1 요청 메시지를 전송할 수 있다(S440). 예를 들어, 상기 제 1 요청 메시지는 GetAppIDList() 액션으로 표현될 수 있고, 상기 요청 메시지는 검색 정보와 검색 필드 정보를 포함할 수 있다.
상기 동반 디바이스(420)는 상기 제 1 요청 메시지를 전송함으로써, 상기 검색 정보에 매칭되는 어플리케이션이 존재하는지 여부를 결정할 수 있다.
상기 방송 수신 디바이스(410)는 상기 제 1 요청 메시지에 응답하여 어플리케이션 식별자를 상기 동반 디바이스(420)에 전송할 수 있다. 여기서, 상기 어플리케이션 식별자는 상기 검색 정보에 매칭되는 특정 어플리케이션을 식별할 수 있다.
예를 들어, 상기 검색 필드 정보가 매칭 프로토콜 명칭(matching protocol name)을 나타내고, 상기 검색 정보가 특정 프로토콜 명칭(예를 들어, CSS-CII.TVDevice.CSS.DVB.org_v1)을 나타내는 경우, 상기 어플리케이션 식별자는 상기 특정 프로토콜 명칭에 매칭되는 어플리케이션을 식별할 수 있다.
상기 동반 디바이스(420)가 상기 어플리케이션 식별자를 획득하면, 상기 동반 디바이스(420)는 상기 방송 수신 디바이스(410)에 특정 어플리케이션 정보를 획득하기 위한 제 2 요청 메시지를 전송할 수 있다(S450). 예를 들어, 상기 제 2 요청 메시지는 GetAppInfoByID() 액션으로 표현될 수 있고, 상기 제 2 요청 메시지는 상기 어플리케이션 식별자를 포함할 수 있다. 상기 특정 어플리케이션 정보는 상기 어플리케이션 식별자에 의해 식별되는 어플리케이션의 정보를 나타내고, 상기 특정 어플리케이션 정보는 웹소켓 주소 또는 실행 상태 정보 중 적어도 하나를 포함할 수 있다.
상기 방송 수신 디바이스(410)는 상기 제 2 요청 메시지에 응답하여 특정 어플리케이션 정보를 상기 동반 디바이스(420)에 전송할 수 있다. 상기 전송되는 특정 어플리케이션 정보는 XML 형태의 문서일 수 있으며, 상기 방송 수신 디바이스(410)의 어플리케이션 정보를 포함할 수 있다. 여기서, 어플리케이션 정보는 본 명세서에서 설명되는 다른 실시예가 적용될 수 있다.
상기 동반 디바이스(420)는 상기 특정 어플리케이션 정보에 기초하여 웹소켓 연결을 설정할 수 있다(S460).
상기 설정된 웹소켓 연결에 기초하여, 상기 동반 디바이스(420)와 상기 방송 수신 디바이스(410)는 통신을 수행할 수 있다(S470).
도 5는 본 발명이 적용되는 실시예로서, 동반 디바이스(companion device)와 방송 수신 디바이스 간 웹소켓 서버를 통해 연결하는 과정을 설명하기 위한 아키텍쳐를 나타낸다.
도 5를 참조하면, 방송 수신 디바이스(510)와 동반 디바이스(520)가 도시되어 있다. 방송 수신 디바이스(510)는 어플리케이션 프로세서와 네트워크 프로세서를 포함할 수 있다. 상기 네트워크 프로세서는 방송 수신 디바이스(510)의 어플리케이션 App#1 (512) 및 동반 디바이스(520)의 어플리케이션 App#1 (521)을 연결할 수 있다. 여기서, 상기 네트워크 프로세서는 웹소켓 서버(511)를 나타낼 수 있고, 상기 어플리케이션 프로세서는 어플리케이션 App#1 (512) 또는 어플리케이션 App#1 (521)을 나타낼 수 있다.
새로 생성된 스트림 헤드가 현재 연결을 위해 대기하는 스트림 헤드의 집합 내의 스트림 헤드로서 동일한 호스트 헤더 필드 값 및 동일한 URI 요청(Request-URI)과 연관되어 있다면, 웹소켓 서버(511)는 그 집합으로부터 매칭되는 스트림 헤드를 제거하고, 두 개의 스트림 헤드 사이의 양방향 통신 채널을 설립할 수 있다.
두 개의 스트림 헤드가 연결되면, 서버는 즉시 하나의 스트림 헤드로부터 수신한 모든 데이터를 출력하고, 각각 다른 스트림 헤드로 변경하지 않을 수 있다. 이렇게 함으로써, 두 클라이언트 간의 투명한 통신 채널(a transparent communications channel)이 설립될 수 있다.
두 클라이언트 중 하나가 클로즈 프레임(Close frame)을 전송하면, 서버는 다른 클라이언트에게 대응되는 클로즈 프레임을 전송할 수 있다. 두 클라이언트 중 하나가 클로즈 프레임을 전송하지 않고 연결을 해제하면, 서버는 클로즈 프레임을 생성하고 다른 클라이언트에게 전송할 수 있다.
즉, 서버는 어플리케이션 프로세서의 연결 요청이 있을 때, 어플리케이션 프로세서의 스트림 헤드를 생성하여 스트림 헤드 그룹에 포함시킬 수 있다. 예를 들어, 상기 도 5를 살펴보면, 웹소켓 서버(511)는 동반 디바이스(520)로부터 연결 요청을 받으면, 동반 디바이스(520)의 스트림 헤드를 생성하여 매칭되는 스트림 헤드의 존재 여부를 검색할 수 있다. 매칭되는 스트림 헤드가 존재하면, 웹소켓 서버(511)는 스트림 헤드 그룹으로부터 매칭되는 어플리케이션 App#1 (512)의 스트림 헤드와 동반 디바이스(520)의 어플리케이션 App#1 (521)의 스트림 헤드를 연결할 수 있다. 이때, 웹소켓 서버(511)는 매칭된 어플리케이션 App#1 (512)의 스트림 헤드 또는 동반 디바이스(520)의 어플리케이션 App#1 (521)의 스트림 헤드를 스트림 헤드 그룹으로부터 제거할 수 있다.
도 6은 본 발명이 적용되는 실시예로서, 동반 디바이스(companion device)와 방송 수신 디바이스 간 어플리케이션 연결을 위한 과정을 설명하기 위한 흐름도를 나타낸다.
본 실시예는, 동반 디바이스가 방송 수신 디바이스의 어플리케이션을 시작하도록 제어한 경우이거나, 또는 상기 방송 수신 디바이스의 어플리케이션과 상관없이 상기 동반 디바이스의 어플리케이션이 시작된 경우에 수행될 수 있다.
이러한 방법은, 상기 방송 수신 디바이스 상에서 실행 중인 어플리케이션과 통신하거나 컨텐트 동기화를 원하는 다른 디바이스에 의해 수행될 수 있다.
예를 들어, 동반 디바이스와 방송 수신 디바이스 간에 네트워크로 연결되어 있는 경우, 상기 동반 디바이스는 상기 방송 수신 디바이스에 어플리케이션 정보를 획득하기 위한 요청 메시지를 전송할 수 있다(S610).
상기 요청 메시지에 응답하여, 상기 동반 디바이스는 상기 방송 수신 디바이스로부터 어플리케이션 정보를 포함하는 응답 메시지를 수신할 수 있다(S620).
여기서, 상기 어플리케이션 정보는 어플리케이션 간의 통신을 위한 주소 정보와 디바이스 간 싱크를 위한 싱크 주소 정보를 포함할 수 있다. 예를 들어, 상기 어플리케이션 간의 통신을 위한 주소 정보는 웹 소켓 서버 URL을 나타내고, 상기 싱크 주소 정보는 디바이스 간 싱크를 위해 이용되는 URL을 나타낼 수 있다.
상기 응답 메시지는 XML 타입의 정보를 포함할 수 있고, 상기 XML 타입의 정보는 필수 요소 및 속성 정보를 포함할 수 있고, 추가적으로 부가 요소를 더 포함할 수 있다. 이때, 상기 부가 요소는 상기 어플리케이션 간의 통신을 위한 주소 정보 및 디바이스 간 싱크를 위한 싱크 주소 정보 중 적어도 하나를 포함할 수 있다.
도 7은 본 발명이 적용되는 실시예로서, 동반 디바이스(companion device)에 의해 방송 수신 디바이스의 어플리케이션을 실행하는 과정을 설명하기 위한 흐름도를 나타낸다.
디바이스 간 어플리케이션을 통한 연결은 어느 하나의 디바이스의 요청에 의해 시작될 수 있다.
예를 들어, 동반 디바이스는 특정 프로토콜을 통해 다른 디바이스의 어플리케이션의 시작을 요청할 수 있다. 이때, 상기 요청은 상기 다른 디바이스의 어플리케이션 리소스 URL에 요청 메시지를 전송함으로써 수행될 수 있다. 상기 어플리케이션 리소스 URL은 서비스 탐색 메커니즘에 의해 획득될 수 있다.
구체적 예로, 동반 디바이스와 방송 수신 디바이스 간에 네트워크로 연결되어 있는 경우, 상기 동반 디바이스는 상기 방송 수신 디바이스의 어플리케이션 주소를 획득할 수 있다(S710). 이때, 상기 방송 수신 디바이스의 어플리케이션 주소는 서비스 탐색 메커니즘에 의해 획득될 수 있다.
상기 동반 디바이스는 상기 획득된 방송 수신 디바이스의 어플리케이션 주소로 상기 방송 수신 디바이스의 어플리케이션 실행을 요청하는 요청 메시지를 전송할 수 있다(S720).
이때, 상기 요청 메시지의 바디 데이터는 XML 타입의 어플리케이션 정보 테이블을 포함할 수 있고, 상기 어플리케이션 정보 테이블은 상기 방송 수신 디바이스의 어플리케이션에 대한 설명 정보를 포함할 수 있다. 예를 들어, 상기 어플리케이션 정보 테이블은 어플리케이션 식별자, 어플리케이션 설명 정보의 타입, 제어 코드 및 버전 정보 중 적어도 하나를 포함할 수 있다.
상기 동반 디바이스는, 상기 요청 메시지에 응답하여, 상기 방송 수신 디바이스로부터 응답 메시지를 수신할 수 있다(S730). 여기서, 상기 응답 메시지는 어플리케이션의 실행에 대한 상태를 나타내는 코드 정보를 포함할 수 있다. 상기 코드 정보에 대한 구체적인 설명은 도 8에서 하도록 한다.
도 8은 본 발명이 적용되는 실시예로서, 어플리케이션 실행 요청 메시지에 대한 응답 코드를 나타낸다.
어플리케이션 실행을 요청하는 요청 메시지를 수신한 디바이스는 도 8과 같은 응답 코드를 포함하는 응답 메시지를 전송할 수 있다.
예를 들어, 상기 응답 코드는 어플리케이션의 실행이 성공적임을 나타내는 응답 코드, 어플리케이션의 실행이 실패임을 나타내는 응답 코드를 포함할 수 있다. 또한, 상기 실패임을 나타내는 응답 코드는 실패 이유에 따라 다른 응답 코드를 가질 수 있다.
상기 도 8을 살펴보면, 응답 코드 '201 Running'은 어플리케이션이 성공적으로 실행되었음을 나타내는 코드이고(S810), 응답 코드'401 Unauthorized'는 어플리케이션이 사용자에 의해 시작될 수 없음을 나타내는 코드이고(S820), 응답 코드 ' 403 Forbidden'는 어플리케이션이 디바이스에 의해 시작될 수 없음을 나타내는 코드이며(S830), 응답 코드 '500 Error'는 어플리케이션이 디바이스의 상태에 의해 시작될 수 없음을 나타내는 코드이다(S840).
도 9 내지 도 13은 본 발명이 적용되는 실시예들로서, 디바이스 간 어플리케이션 연결을 위한 메시지에 어플리케이션 정보를 삽입하는 다양한 방법들을 나타낸다.
도 9는 어플리케이션 정보를 디바이스 간 어플리케이션 연결을 위한 메시지의 서비스 리스트 섹션에 삽입하는 방법을 나타낸다.
먼저, 디바이스 간 어플리케이션 연결을 위한 메시지는 디바이스 섹션(S910)과 서비스 리스트 섹션을 포함할 수 있고, 상기 서비스 리스트 섹션은 서비스 타입에 따른 서비스들(S920, S930)을 포함할 수 있다.
예를 들어, S920 서비스의 경우, 어플리케이션 관리 서비스에 대한 정보를 포함하고, S930 서비스의 경우, 연결 설정 서비스에 대한 정보를 포함할 수 있다.
이때, 상기 도 6의 실시예에서 설명한 어플리케이션 간의 통신을 위한 주소 정보는 상기 연결 설정 서비스 섹션에 포함될 수 있다. 예를 들어, S940에서와 같이, '<ApptoAppConnectionAddress(or ApptoAppEndPoint)>URL for App-to-App Connection' 와 같이 삽입될 수 있다.
그리고, 디바이스 간 싱크를 위한 싱크 주소 정보도 상기 연결 설정 서비스 섹션에 포함될 수 있다. 이때, 상기 싱크 주소 정보는 시스템 동기화를 위한 주소 정보 및 컨텐트 동기화를 위한 주소 정보 중 적어도 하나를 포함할 수 있다.
예를 들어, S950 및 S960 을 살펴보면, 각각 ' <SystemSyncEndPoint>URL for System Synchronization' 및 ' <ContentSyncEndPoint>URL for Content Synchronization'와 같이 삽입될 수 있다.
도 10은 어플리케이션 정보를 디바이스 간 어플리케이션 연결을 위한 메시지의 디바이스 섹션에 삽입하는 방법을 나타낸다.
상기 디바이스 섹션은 디바이스 타입 정보와 주소 정보를 포함할 수 있다.
상기 디바이스 타입 정보는 메인 디바이스, 스크린 디바이스, 동반 디바이스 중 어느 하나를 나타낼 수 있다(S1010).
그리고, 상기 도 6의 실시예에서 설명한 어플리케이션 간의 통신을 위한 주소 정보는 상기 디바이스 섹션에 포함될 수 있다. 예를 들어, S1020에서와 같이, '<ApptoAppConnectionAddress(or ApptoAppEndPoint)>URL for App-to-App Connection' 와 같이 삽입될 수 있다.
그리고, 디바이스 간 싱크를 위한 싱크 주소 정보도 상기 디바이스 섹션에 포함될 수 있다. 이때, 상기 싱크 주소 정보는 시스템 동기화를 위한 주소 정보 및 컨텐트 동기화를 위한 주소 정보 중 적어도 하나를 포함할 수 있다.
예를 들어, S1030 및 S1040 을 살펴보면, 각각 ' <SystemSyncEndPoint>URL for System Synchronization' 및 ' <ContentSyncEndPoint>URL for Content Synchronization'와 같이 삽입될 수 있다.
도 11은 어플리케이션 주소 정보를 어플리케이션 메시지의 디바이스 섹션에 삽입하는 방법을 나타낸다.
예를 들어, 상기 어플리케이션 주소 정보는 어플리케이션 시작을 위한 주소 정보, 어플리케이션 정지를 위한 주소 정보, 또는 어플리케이션 모니터링을 위한 주소 정보 중 적어도 하나를 포함할 수 있다.
상기 어플리케이션 주소 정보 중 적어도 하나는 상기 디바이스 섹션에 포함될 수 있고, 예를 들어, S1110 을 살펴보면, '<AppLaunchAddress> URL for Launching/Stopping/Monitoring</AppLaunchAddress>'와 같이 삽입될 수 있다.
도 12는 디바이스 타입이 HbbTV(Hybrid Broadcast Broadband TV)인 경우, 어플리케이션 정보를 어플리케이션 메시지의 서비스 리스트 섹션에 삽입하는 방법을 나타낸다.
예를 들어, 서비스 타입이 ' urn:hbbtv:service:HbbTVCompanionScreen:1'인 경우, 상기 도 6의 실시예에서 설명한 어플리케이션 간의 통신을 위한 주소 정보는 서비스 섹션에 포함될 수 있다. 예를 들어, S1210을 살펴보면, ' <X_HbbTV_App2AppURL xmlns="urn:hbbtv:HbbTVCompanionScreen"> URL of App2App communication service endpoint ' 와 같이 삽입될 수 있다.
그리고, 디바이스 간 싱크를 위한 싱크 주소 정보도 상기 디바이스 섹션에 포함될 수 있다. 이때, 상기 싱크 주소 정보는 미디어 동기화를 위한 주소 정보 및 시간 동기화를 위한 주소 정보 중 적어도 하나를 포함할 수 있다.
예를 들어, S1220 및 S1230을 살펴보면, 각각 ' <X_HbbTV_MediaSyncURL xmlns="urn:hbbtv:HbbTVCompanionScreen"> URL of Media Sychronisation communication service endpoint' 및 ' <X_HbbTV_TimeSyncURL xmlns="urn:hbbtv:HbbTVCompanionScreen"> URL of Time Sychronisation communication service endpoint'와 같이 삽입될 수 있다.
또한, 어플리케이션 시작을 위한 주소 정보도 상기 서비스 섹션에 삽입할 수 있다. 예를 들어, S1240을 살펴보면, ' <X_HbbTV_AppLaunchURL xmlns="urn:hbbtv:HbbTVCompanionScreen"> URL of Application Launch service endpoint'와 같이 삽입될 수 있다.
도 13은 디바이스 타입이 HbbTV(Hybrid Broadcast Broadband TV)인 경우, 어플리케이션 정보를 어플리케이션 메시지의 디바이스 섹션에 삽입하는 방법을 나타낸다.
S1310을 살펴보면, '<X_HbbTV_App2AppURL xmlns="urn:hbbtv: HbbTVCompanionScreen"> URL of App2App communication service endpoint ' 와 같이 삽입될 수 있고, S1320 및 S1330을 살펴보면, 각각 '<X_HbbTV_MediaSyncURL xmlns="urn:hbbtv:HbbTVCompanionScreen"> URL of Media Sychronisation communication service endpoint' 및 '<X_HbbTV_TimeSyncURL xmlns="urn:hbbtv:HbbTVCompanionScreen"> URL of Time Sychronisation communication service endpoint'와 같이 삽입될 수 있다.
또한, S1340을 살펴보면, 어플리케이션 시작을 위한 주소 정보도, '<X_HbbTV_AppLaunchURL xmlns="urn:hbbtv:HbbTVCompanionScreen"> URL of Application Launch service endpoint'와 같이 삽입될 수 있다.
본 발명이 적용되는 다른 실시예로서, 동반 디바이스(companion device)와 방송 수신 디바이스 간 어플리케이션 연결을 위한 과정을 설명한다.
동반 디바이스는 방송 수신 디바이스에 어플리케이션 식별자 리스트를 획득하기 위한 제 1 요청 메시지를 전송할 수 있다. 예를 들어, 상기 제 1 요청 메시지는 GetAppIDList() 액션으로 표현될 수 있고, 상기 요청 메시지는 검색 정보와 검색 필드 정보를 포함할 수 있다.
상기 동반 디바이스는 상기 제 1 요청 메시지를 전송함으로써, 상기 검색 정보에 매칭되는 어플리케이션이 존재하는지 여부를 결정할 수 있다.
상기 제 1 요청 메시지에 응답하여, 상기 동반 디바이스는 상기 방송 수신 디바이스로부터 특정 어플리케이션의 식별자를 수신할 수 있다. 여기서, 상기 특정 어플리케이션의 식별자는 상기 검색 정보에 매칭되는 특정 어플리케이션을 식별할 수 있다.
상기 동반 디바이스는 상기 특정 어플리케이션의 식별자에 기초하여, 특정 어플리케이션 정보를 획득할 수 있다. 이때, 상기 특정 어플리케이션 정보는, 특정 어플리케이션 정보를 획득하기 위한 제 2 요청 메시지를 전송함으로써 획득될 수 있다. 예를 들어, 상기 제 2 요청 메시지는 GetAppInfoByID() 액션으로 표현될 수 있고, 상기 제 2 요청 메시지는 상기 특정 어플리케이션의 식별자를 포함할 수 있다. 상기 특정 어플리케이션 정보는 상기 어플리케이션 식별자에 의해 식별되는 어플리케이션의 정보를 나타내고, 상기 특정 어플리케이션 정보는 웹소켓 주소 또는 실행 상태 정보 중 적어도 하나를 포함할 수 있다. 또한, 상기 특정 어플리케이션 정보는 XML 형태의 문서일 수 있으며, 상기 방송 수신 디바이스의 어플리케이션 정보를 포함할 수 있다. 여기서, 어플리케이션 정보는 본 명세서에서 설명되는 다른 실시예가 적용될 수 있다.
상기 특정 어플리케이션 정보에 기초하여 상기 동반 디바이스와 방송 수신 디바이스 간 어플리케이션 연결을 수행할 수 있다. 이때, 상기 어플리케이션 연결은 웹소켓 서버에 기초할 수 있다.
본 발명이 적용되는 다른 실시예로서, 동반 디바이스(companion device)와 방송 수신 디바이스 간 웹소켓 서버를 통해 연결하는 과정을 설명한다.
동반 디바이스는 특정 프로토콜 명칭에 매칭되는 어플리케이션이 존재하는지 여부를 결정할 수 있다. 이때, 상기 결정은 어플리케이션 식별자 리스트를 획득하기 위한 요청 메시지를 전송함으로써 수행될 수 있다.
상기 특정 프로토콜 명칭에 매칭되는 어플리케이션이 존재하는 경우, 상기 동반 디바이스는 웹소켓 주소 또는 실행 상태 정보 중 적어도 하나를 획득할 수 있다.
상기 동반 디바이스는 상기 웹소켓 주소 또는 상기 실행 상태 정보 중 적어도 하나에 기초하여 웹소켓 연결을 설정할 수 있다.
상기 설정된 웹소켓 연결에 기초하여, 상기 동반 디바이스와 상기 방송 수신 디바이스는 통신을 수행할 수 있다.
도 14는 본 발명이 적용되는 실시예로서, UPnP(Universal Plug and Play) 메커니즘을 설명하기 위한 블록 다이어그램을 나타낸다.
본 발명에서 제안하는 UPnP 액션은 디바이스간 통신의 다양한 방식의 예 중 하나로서, UPnP 탐색(Discovery) 및 설명 정보(Description information) 전송 과정에서 획득한 제어 URL을 나타낸다. 상기 UPnP 액션은 HTTP에서 정의한 POST 방식을 사용하여, 실제 전달하고자 하는 데이터를 HTTP POST 메시지 바디(body)에 XML의 형태로 전달할 수 있다. UPnP 프로토콜의 경우 각 액션에 대해 액션 명칭(action name)을 정의하여 사용하고, XML 형태로 전달되는 HTTP POST 메시지 바디(body)에 액션 명칭(action name)도 함께 전달되기 때문에, 통신 대상 디바이스에 대한 URL이 하나만 존재하고, HTTP POST 방식 하나만 사용해도 무한한 종류의 액션(메시지)의 교환이 가능할 수 있다.
도 15는 본 발명이 적용되는 실시예로서, REST(REpresentational State Transfer) 메커니즘을 설명하기 위한 블록 다이어그램을 나타낸다.
예를들어, 본 발명에서 제안하는 디바이스간 통신은, HTTP 방식 중 POST 뿐만 아니라, GET, HEAD, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH 등의 여러 방식들을 활용하고, 통신 대상 디바이스에 접근할 복수의 URI를 정의하면, 액션 명칭(action name)의 정의없이도 적용될 수 있다. 전달이 필요한 데이터는 해당 URI에 부가하여 전달될 수 있고 혹은 HTTP 바디(body)에 다양한 형태로 포함되어 전달될 수 있다. 단, 이러한 REST 방식에 필요한 복수의 URI값은 탐색(Discovery) 및 설명 정보(Description information) 전송 과정에서 획득될 수 있다.
도 16은 본 발명이 적용되는 실시예로서, UPnP(Universal Plug and Play) AV(Audio-Visual) 네트워크의 개략적인 구성도를 나타낸다.
범용 플러그 앤 플레이 (universal plug and play, 이하 ‘UPnP’ 라 함) 기술과 디지털 리빙 네트워크 얼라이언스(digital living network alliance, 이하 ‘DLNA’라 함) 기술은 다양한 제조업체의 가전 디바이스간 서비스와 제어를 가능하게 한다. 특히, UPnP 기술은 시청각(audio-visual, AV) 디바이스 간 호환 가능한 AV 서비스와 제어를 가능하게 한다. 이 호환 가능한 AV 서비스로는 미디어 스트리밍, 업로딩, 다운로딩 등이 있다.
홈 네트워킹을 위해 제안된 UPnP 기반의 네트워크는 논리적으로 다수의 UPnP 디바이스(device), 서비스(service) 및 제어 포인트(CP:Control Point)를 기본으로 구성된다. UPnP 네트워크에서 서비스(service)라 함은 네트워크 상의 가장 작은 소규모 제어단위를 의미하는데, 상태 변수를 통하여 모델링된다.
UPnP 기반의 네트워크에서 제어 포인트 (Control Point)라 함은 다른 디바이스 및/또는 서비스들을 감지하고 제어하는 기능을 갖춘 제어 어플리케이션(application)을 의미하며 임의의 디바이스, 예를 들어 사용자가 다루기 용이한 모바일 디바이스와 같은 물리적인 디바이스에서 운용될 수 있다.
UPnP 기반의 AV 홈네트워크는 홈 네트워크에 미디어 데이터를 제공하는 미디어 서버(MS:Media Server)와, 홈 네트워크를 통해 미디어 데이터를 재생하는 미디어 렌더러(MR:Media Renderer)와, 상기 미디어 서버와 미디어 렌더러를 제어하는 AV 제어 포인트(CP:Control Point)를 포함하여 구성된다. 상기 미디어 서버와 미디어 렌더러는 상기 제어 포인트에 의해 제어되는 피제어(controlled) 디바이스다.
상기 미디어 서버(정확히는 미디어 서버내의 CDS(ContentDirectory Service)는 자신에게 수록되어 있는 미디어 파일들과 컨테이너(디렉토리에 해당)들의 정보를 각 오브젝트(object) 정보로서 기 구축해 둔다. '오브젝트'는 하나 이상의 미디어 파일, 예를 들어 정지영상(picture), 동영상, 또는 오디오 파일에 대한 정보를 갖는 아이템(item) 및, 디렉토리에 대한 정보를 갖는 컨테이너(container)를 포괄하여 지칭하는 용어이며, 경우에 따라 오브젝트의 용어는 적절히 '아이템' 또는 '컨테이너'를 지칭하는 용도로 사용될 수 있다.
그리고, 하나의 아이템은 하나 또는 다수의 미디어 파일에 대응된다. 예를 들어, 각기 다른 비트 레이트의 동일 내용의 컨텐트를 갖는 다수의 미디어 파일들은 하나의 아이템으로 관리될 수 있다.
오브젝트의 정보는 '메타 데이터'로도 호칭되며, 이 메타 데이터에는, 연관된 컨텐트에 대한 각종 정보가 기재된다. 예를 들어, 컨텐트에 대응되는 오브젝트에 할당된 ID, 그 오브젝트가 속하는 컨테이너에 대한 식별정보, 타이틀, 그 오브젝트가 아이템인지 컨테이너인지에 대한 정보 및 미디어의 유형, 연관된 컨텐트( 예를 들어 미디어 파일 )을 획득할 수 있는 프로토콜 및 액세스 위치 정보 등이 메타 데이터에 기재된다. 그리고 이러한 메타 데이터는 마크업(mark-up) 랭귀지 형태로 작성되며, 연관된 미디어 파일 등이 저장되어 있는 스토리지와는 무관하게 상기 CDS가 관리하는 스토리지에 저장된다. 물론, 이동성 기록매체에 저장되어 상기 CDS에 제공될 수도 있다. 이와 같이 작성되어 있는 컨텐트에 대한 메타 데이터는, 상기 제어 포인트가 호출하는 액션에 따라 제공되며 또한 상기 제어 포인트를 매개로 하여 메타 데이터의 전부 또는 일부가 상기 미디어 렌더러에 제공될 수도 있다.
본 발명에서, UPnP는 이러한 장치들을 제어 포인트(control point, CP) 장치와 제어 타겟 장치로 분류될 수 있다. 디지털 미디어 컨트롤러(DMC), 디지털 미디어 플레이어(DMP)는 제어 포인트 장치로 분류되고, 디지털 미디어 렌더러(DMR), 디지털 미디어 서버(DMS), 디지털 미디어 프린터(DMPr)는 제어 타겟 장치로 분류될 수 있다.
또한, UPnP의 제어 포인트(CP) 장치 또는 DLNA의 디지털 미디어 플레이어(DMP), 디지털 미디어 컨트롤러(DMC)가 UPnP의 제어 타겟 장치 또는 DLNA의 디지털 미디어 서버(DMS)에게 컨텐트 메타데이터를 요청하면, 제어 타겟 장치 또는 디지털 미디어 서버(DMS)는 저장된 컨텐트의 각각에 대응하는 복수의 컨텐트 메타데이터를 수집하여 (생성한 컨텐트 리스트를) 제어 포인트(CP) 장치 또는 디지털 미디어 플레이어(CMP), 디지털 미디어 컨트롤러(DMC)에 전송할 수 있다.
한편, DLNA는 홈 네트워크 장치로서 디지털 미디어 서버(digital media server, DMS), 디지털 미디어 플레이어(digital media player, DMP), 디지털 미디어 렌더러(digital media renderer, DMR), 디지털 미디어 컨트롤러(digital media controller, DMC) 및 디지털 미디어 프린터(digital media printer, DMPr)를 규정하고, 모바일 휴대 장치로서 모바일 디지털 미디어 서버(mobile digital media server, M-DMS), 모바일 디지털 미디어 플레이어(mobile digital media player, M-DMP), 모바일 디지털 미디어 업로더(mobile digital media uploader, M-DMU), 모바일 디지털 미디어 다운로더(mobile digital media downloader, M-DMD) 및 모바일 디지털 미디어 컨트롤러(mobile digital media controller, M-DMC)를 규정할 수 있다. 이하에서는 디지털 미디어 서버(DMS)는 M-DMS를 커버하는 개념으로 사용하고, 디지털 미디어 플레이어(DMP)는 M-DMP를 커버하는 개념으로 사용하며, 디지털 미디어 컨트롤러(DMC)는 M-DMC를 커버하는 개념으로 사용될 수 있다.
또한, DLNA는 2 박스 모델(2 Box Model)과 3 박스 모델(3 Box Model)로 정의될 수 있다. 2 박스 모델은 디지털 미디어 플레이어(DMP)와 디지털 미디어 서버(DMS)를 포함한다. 2 박스 모델에서 디지털 미디어 플레이어(DMP)는 사용자가 디지털 미디어 서버(DMS)에 의해 브라우징되고(browsed) 배포되는(distributed) 컨텐트를 찾아 재생할 수 있게 한다. 3 박스 모델은 디지털 미디어 컨트롤러(DMC), 디지털 미디어 서버(DMS), 디지털 미디어 렌더러(DMR)을 포함한다. 3 박스 모델에서, 디지털 미디어 컨트롤러(DMC)는 사용자가 디지털 미디어 렌더러(DMR)에서 재생될 디지털 미디어 서버(DMS)의 컨텐트를 찾을 수 있게 한다.
UPnP 기반의 AV 네트워크는 도 16에 도시된 바와 같이, 네트워크에 미디어 데이터를 제공하는 미디어 서버(MS:Media Server)(1620)와, 네트워크를 통해 미디어 데이터를 재생하는 미디어 렌더러(MR:Media Renderer)(1630)와, 상기 미디어 서버(1620)와 미디어 렌더러(1630)를 제어하는 제어 포인트(CP:Control Point)(1610)를 포함하여 구성될 수 있다. 상기 미디어 서버(1620)와 미디어 렌더러(1630)는 상기 제어 포인트(1610)에 의해 제어되는 피제어(controlled) 기기이다.
상기 미디어 서버(1620)는 CDS (ContentDirectory Service)부(1621), 연결관리부(ConnectionManager)(1622) 및 전송부(AVTransport)(1623)를 포함할 수 있다.
상기 미디어 서버(1620)가 상기 제어 포인트(1610)에게 디렉토리 정보를 알려 주기 위해서, UPnP 액션(action), 예를 들어 브라우징(browsing) 액션이 있을 때마다 자신의 파일 시스템을 이용하여 미디어 파일에 대한 정보를 알릴 수 있다. 그리고, 상기 제어 포인트(1610)의 사용자 인터페이스를 통해 선택된 미디어 파일의 데이터는 상기 미디어 서버(1620)와 상기 미디어 렌더러(1630) 간에 스트리밍(streaming) 방식으로 전송되어 상기 미디어 렌더러(1630)를 통해 재생될 수 있다.
이때, 상기 스트리밍 방식은 기 공지되어 있는 다양한 방식 중 어떠한 방식도 사용 가능하다. 예를 들어, 상기 스트리밍 방식은 대역외 전송 프로토콜(Out-of-Band transfer protocol)을 이용할 수 있다. 구체적 예로, 미디어 전송으로 실시간 전송 프로토콜(Real-time Transport Protocol, RTP)을 사용하는 경우에는 실시간 제어 프로토콜(Real Time Control Protocol, RTCP)을 이용해 미디어 데이터의 전송 상태를 감시할 수 있으며, 이를 바탕으로 전송 파라미터(parameter)를 조정할 수 있다.
한편, 상기 제어 포인트(1610)는 상기 미디어 서버(1620)와 상기 미디어 렌더러(1630)를 제어할 수 있고, 예를 들어, 표준화된 SOAP(Simple Object Access Protocol) 기반으로 제공되는 UPnP 액션을 호출함으로써 수행될 수 있다. 또한, 상기 제어 포인트(1610)는 디바이스가 제공하는 이벤트 서비스에 가입하여 디바이스의 상태 정보 변화를 보고 받을 수 있다.
상기 미디어 서버(1620)는 자신이 관리하는 미디어 데이터를 탐색하는 서비스를 제공하는 컨텐트 디렉토리(Content Directory) 서비스(1621)와, 타 기기, 즉 상기 미디어 렌더러(1630)와의 커넥션을 관리하는 연결 관리(Connection Manager) 서비스(1622)와, 미디어의 재생에 대한 컨트롤, 예를 들어 재생(Play), 중지(Stop)와 같은 컨트롤이 가능하도록 하는 AV 전송(Audio-Visual Transport) 서비스(1623)를 포함할 수 있다.
상기 미디어 렌더러(1630)는, 미디어의 프리젠테이션시의 화면의 밝기, 명도 등의 제어가 가능하게 하는 렌더링 제어(Rendering Control) 서비스(1631)와, 타 기기와의 커넥션을 관리하는 연결 관리(ConnectionManager) 서비스(1632) 및 AV 전송(AV Transport) 서비스(1633)를 포함할 수 있다.
상기 제어 포인트(1610)는 상기 미디어 서버(1620)의 컨텐트 디렉토리(ContentDirectory) 서비스(1621)를 이용해서 서버 내의 미디어 파일 정보를 확인할 수 있다. 이 정보를 바탕으로 사용자가 특정 미디어 파일을 선택하면, 각 기기의 연결 관리(ConnectionManager) 서비스(1622,1632)를 통해 상기 미디어 서버(1620)와 상기 미디어 렌더러(1630) 간에 미디어 전송을 위한 연결을 맺도록 할 수 있다. 그리고, 상기 AV 전송 서비스(1623 또는 1633)를 이용해서 해당 미디어 파일의 재생(play) 컨트롤을 위한 변수들을 설정한 후 재생 액션을 상기 미디어 서버(push 모드의 경우) 또는 상기 미디어 렌더러(pull 모드의 경우)에 요청함으로써 재생이 이루어지게 한다. 재생 중에는, 상기 미디어 렌더러(1630)의 렌더링 제어(RenderingControl) 서비스(1631)를 통해 화면의 밝기나 명도, 볼륨 등을 조절하는 것이 가능하다.
그리고, 상기 AV 컨트롤 포인트(1610)는 미디어 서버(1620)의 컨텐츠가 변경되거나 현재 미디어 스트림(stream)의 상태 변화 등의 정보를, 각 서비스가 제공하는 이벤트에 가입함으로써 모니터링 할 수도 있다.
따라서, 사용자는 홈 네트워크를 통해 복수의 기기, 즉 복수의 렌더러에서 미디어의 재생을 요청할 수도 있고, 하나의 렌더러를 통해 미디어를 시청하던 중 장소를 옮겨 그 장소에 있는 렌더러를 통해 시청하던 미디어를 이어서 시청할 수 있다.
도 17은 본 발명이 적용되는 일실시예로서, 멀티스크린 서비스(Multi-Screen Service)가 적용되는 UPnP(Universal Plug and Play) AV(Audio-Visual) 네트워크의 한 예를 나타낸다.
본 발명이 적용되는 멀티스크린 서비스(Multi-Screen Service)를 제공하는 네트워크는 다양한 디바이스들로 연결되어 있을 수 있다. 예를 들어, 상기 도 17에서처럼, 스마트폰(1710)과 TV(1720)를 비롯하여, 컴퓨터, 카메라, 프린터, 전자 액자 등 상호 서비스(interactive service)가 가능한 전자 기기들이 연결되어 있는 경우 상기 멀티스크린 서비스(Multi-Screen Service)의 제공이 가능할 수 있다.
여기서, 상기 멀티스크린 서비스(Multi-Screen Service)란, 다양한 디스플레이 디바이스들(various display devices) 간에 제공되는 시간에 민감한 양방향 서비스(time-sensitive and interactive service)를 의미할 수 있다. 예를 들어, 상기 멀티스크린 서비스(Multi-Screen Service)는 구현 특정 어플리케이션(implementation-specific application)을 포함할 수 있다.
도 18 및 도 19는 본 발명이 적용되는 일실시예들로서, 상기 도 18은 멀티스크린 서비스(Multi-Screen Service)가 적용되는 기본 아키텍쳐를 나타내고, 상기 도 19는 확장된 멀티스크린 서비스(extended Multi-Screen Service)가 적용되는 아키텍쳐를 나타낸다.
멀티스크린 서비스(Multi-Screen Service)를 제공하는 네트워크에 다양한 디바이스들이 연결되어 있다고 가정하자. 네트워크 상으로 연결된 디바이스들은 특정 어플리케이션의 역할 및/또는 사용법에 의해 메인 스크린 디바이스(main screen device)와 동반 스크린 디바이스(companion screen device)로 분류(categorize)되어 설명될 수 있다.
먼저, 메인 스크린 디바이스(main screen device)는 동반 스크린 디바이스(companion screen device)에 의해 제어되는 디바이스를 나타낸다. 예를 들어, 상기 메인 스크린 디바이스는 TV, 셋탑박스(set-top box) 등과 같은 린백(lean-back) 디스플레이 디바이스를 포함할 수 있다. 또한, 어떠한 디스플레이 디바이스도 사용 시나리오에 따라 상기 메인 스크린 디바이스가 될 수 있으며, 예를 들어, 스마트폰, 태블릿과 같은 디바이스도 상기 메인 스크린 디바이스가 될 수 있다.
동반 스크린 디바이스(companion screen device)는 메인 스크린 디바이스(main screen device)를 제어하는 디바이스를 나타낸다. 예를 들어, 상기 동반 스크린 디바이스는 스마트폰, 태블릿 등과 같은 린포워드(lean-forward) 디스플레이 디바이스나 소형 디스플레이 디바이스(handheld display device)를 포함할 수 있다. 또한, 어떠한 디스플레이 디바이스도 사용 시나리오에 따라 상기 메인 스크린 디바이스가 될 수 있으며, 예를 들어, TV, 셋탑박스(set-top box)와 같은 디바이스도 상기 동반 스크린 디바이스가 될 수 있다.
상기 도 18은 네트워크 상 연결된 다양한 디바이스들 중 두 개의 디바이스, 예를 들어, 동반 스크린 디바이스(companion screen device)(1810)와 메인 스크린 디바이스(main screen device)(1820)를 기초로, 양방향 서비스를 제공하기 위한 구조를 나타낸다. 여기서, 상기 동반 스크린 디바이스(companion screen device)(1810)는 스크린 컨트롤 포인트(screen control point)(1811)로써 동작될 수 있고, 상기 메인 스크린 디바이스(main screen device)(1820)는 스크린 디바이스(screen device)(1821)로써 동작될 수 있다. 예를 들어, 상기 도 18을 살펴보면, 상기 동반 스크린 디바이스(companion screen device)(1810)는 상기 메인 스크린 디바이스(main screen device)(1820)를 제어하기 위한 액션을 전송할 수 있고, 상기 메인 스크린 디바이스(main screen device)(1820)는 상기 동반 스크린 디바이스(companion screen device)(1810)에 이벤트 메시지를 전송하거나 상기 액션에 대한 응답 메시지를 전송할 수 있다. 이때, 상기 동반 스크린 디바이스(companion screen device)(1810)는 스크린 컨트롤 포인트(screen control point)(1811)로써 동작하고, 상기 메인 스크린 디바이스(main screen device)(1820)는 스크린 디바이스(screen device)(1812)로써 동작하는 것이다.
나아가, 본 발명은 확장된 멀티스크린 서비스(extended Multi-Screen Service)를 제공할 수 있다. 여기서, 상기 확장된 멀티스크린 서비스(extended Multi-Screen Service)는 보다 정교한 상호 동작(more sophisticated interactions)을 필요로 하는 서비스를 의미할 수 있다.
상기 도 19는 네트워크 상 연결된 두 개의 디바이스, 예를 들어, 동반 스크린 디바이스(companion screen device)(1910)와 메인 스크린 디바이스(main screen device)(1920)를 기초로, 확장된 멀티스크린 서비스(extended Multi-Screen Service)를 제공하기 위한 구조를 나타낸다.
예를 들어, 상기 도 19를 살펴보면, 상기 제 1 스크린 컨트롤 포인트(screen control point)(1911)와 상기 제 1 스크린 디바이스(screen device)(1912) 간의 동작은 상기 도 18에서 설명한 바와 같다. 나아가, 상기 메인 스크린 디바이스(main screen device)(1920)는 상기 동반 스크린 디바이스(companion screen device)(1910)를 제어하기 위한 액션을 전송할 수 있고, 상기 동반 스크린 디바이스(companion screen device)(1910)는 상기 메인 스크린 디바이스(main screen device)(1920)에 이벤트 메시지를 전송하거나 상기 액션에 대한 응답 메시지를 전송할 수 있다. 이 경우, 상기 메인 스크린 디바이스(main screen device)(1920)는 제 2 스크린 컨트롤 포인트(screen control point)(1911)로써 동작하고, 상기 동반 스크린 디바이스(companion screen device)(1910)는 제 2 스크린 디바이스(screen device)(1912)로써 동작하는 것이다.
즉, 상기 동반 스크린 디바이스(companion screen device)(1910)는 상기 메인 스크린 디바이스(main screen device)(1920)에 대응하여, 제 1 스크린 컨트롤 포인트(screen control point)(1911)로써 동작될 수 있고, 또한 제 2 스크린 디바이스(screen device)(1912)로써 동작될 수 있다. 그리고, 상기 메인 스크린 디바이스(main screen device)(1920)도 상기 동반 스크린 디바이스(companion screen device)(1910)에 대응하여, 제 1 스크린 디바이스(screen device)(1921)로써 동작될 수 있고, 또는 제 2 스크린 컨트롤 포인트(screen control point)(1922)로써 동작될 수 있다.
한편, 스크린 디바이스(screen device)란 스크린 컨트롤 포인트(screen control point)와 함께 수행되는, 다른 디스플레이 디바이스에 다양한 양방향 서비스(various interactive service)를 제공하기 위해 이용되는 요소(component)를 의미할 수 있다. 상기 스크린 디바이스는 상기 스크린 컨트롤 포인트에 의해 제어되고 상기 스크린 컨트롤 포인트와 상호 동작을 하도록 디자인될 수 있다.
멀티스크린 서비스(Multi-Screen Service)를 지원하기 위해서는, 동반 스크린 디바이스에 의해 제어되는 메인 스크린 디바이스(예를 들어, TV, 셋탑박스(set-top box) 등과 같은 린백(lean-back) 디스플레이 디바이스)로 수행되는 것이 권장된다.
나아가, 확장된 멀티스크린 서비스(extended Multi-Screen Service)를 지원하기 위해서는, 메인 스크린 디바이스를 제어하는 동반 스크린 디바이스(예를 들어, 스마트폰, 태블릿 등과 같은 린포워드(lean-forward) 디스플레이 디바이스나 소형 디스플레이 디바이스(handheld display device))로도 또한 수행되는 것이 권장된다.
그리고, 스크린 컨트롤 포인트(screen control point)란 스크린 디바이스(screen device)와 함께 수행되는, 다른 디스플레이 디바이스에 다양한 양방향 서비스(various interactive service)를 제공하기 위해 이용되는 요소(component)를 나타낸다. 상기 스크린 컨트롤 포인트는 사용자의 입력에 의해 상기 스크린 디바이스를 제어하고 상기 스크린 디바이스와 상호 동작을 하도록 디자인될 수 있다.
멀티스크린 서비스(Multi-Screen Service)를 지원하기 위해서는, 메인 스크린 디바이스를 제어하는 동반 스크린 디바이스(예를 들어, 스마트폰, 태블릿 등과 같은 린포워드(lean-forward) 디스플레이 디바이스나 소형 디스플레이 디바이스(handheld display device))로 수행되는 것이 권장된다.
나아가, 확장된 멀티스크린 서비스(extended Multi-Screen Service)를 지원하기 위해서는, 동반 스크린 디바이스에 의해 제어되는 메인 스크린 디바이스(예를 들어, TV, 셋탑박스(set-top box) 등과 같은 린백(lean-back) 디스플레이 디바이스)로도 또한 수행되는 것이 권장된다.
예를 들어, 상기 도 19를 살펴보면, 상기 메인 스크린 디바이스(main screen device)(1920)와 상기 동반 스크린 디바이스(companion screen device)(1910)는 모두 스크린 디바이스로써 동작될 수 있을 뿐만 아니라, 스크린 컨트롤 포인트로써 동작될 수도 있다.
본 발명에서는, 새로운 종류의 서비스를 네트워크 연결된 디바이스 간에 연동시키기 위해서 별도의 프로토콜 없이 어플리케이션 형태로 양방향 서비스를 제공하기 위한 방법 및 장치를 제공하고자 한다. 보다 구체적으로, 멀티스크린 서비스(Multi-Screen Service)를 제공하는 네트워크에서 어플리케이션을 관리하는 방법 및 장치를 제공하고자 한다.
예를 들어, 상기 네트워크에 연결된 디바이스 A와 B를 통해 사용자가 어떠한 양방향 서비스 X를 이용하고자 할 때, 해당 서비스 X를 두 디바이스에서 항상 실행하고 있도록 구현할 수 있다. 또는, 사용자가 두 디바이스에서 해당 서비스 X를 위한 어플리케이션을 직접 찾아서 설치하거나 실행시킬 필요없이, 특정 어플리케이션의 설치 및/또는 실행이 필요한지에 대해 디바이스가 사용자에게 알려줌으로써 사용자는 편하게 해당 서비스 X를 사용할 수 있게 된다.
다른 예로, 디바이스 A와 B는 각자 동일한 어플리케이션을 가지고 있을 수도 있으며, 그렇지 않을 수도 있다. 동일한 어플리케이션을 가지고 있는 경우, 어플리케이션 실행을 통해 디바이스 A와 B는 양방향 서비스를 제공할 수 있다. 동일한 어플리케이션을 가지고 있지 않은 경우에는, 각 디바이스에서는 필요한 어플리케이션이 무엇인지를 확인하고 상기 어플리케이션을 다운로드 및/또는 실행을 하여 양방향 서비스를 제공할 수 있다.
또한, 본 발명은, 한 디바이스를 통해 다른 디바이스의 어플리케이션을 설치, 실행, 실행중지, 삭제 등의 관리를 가능하게 함으로써 사용자 편의성을 높일 수 있다.
또한, 본 발명은, 허가된 특정 사용자 또는 디바이스만 해당 서비스 X를 이용할 수 있도록 아이디 및 패스워드를 포함하여 메시지를 전송할 수 있다.
또한, 본 발명은, 디바이스에 설치된 어플리케이션들 간의 연결을 수행하는 방법을 제공한다. 예를 들어, 상호 작용이 가능한 어플리케이션이 디바이스 A와 B에 설치된 경우, 두 디바이스 A, B는 상호 작용을 위해 필요한 정보를 공유할 수 있고, 상기 정보를 공유함으로써 어플리케이션 간의 직접적인 커뮤니케이션이 가능할 수 있다.
또한, 하나의 디바이스는 다른 디바이스와 복수의 연결을 구성할 수 있다. 이때, 상기 다른 디바이스는 하나의 디바이스이거나 복수의 디바이스일 수 있다. 디바이스는 상기 복수의 연결을 동시에 지원할 수 있으며, 상기 복수의 연결을 제어할 수 있다. 또한, 상기 복수의 연결 중 특정 연결에 대한 정보 또는 모든 연결에 대한 정보는 또 다른 디바이스가 알 수 있도록 전송될 수 있다.
본 발명은, 허가된 특정 사용자 또는 특정 디바이스만 본 명세서에서 설명되는 실시예를 수행하도록 허여될 수 있으며, 이를 위해 메시지에 아이디 및 패스워드를 포함하여 전송할 수 있다.
본 발명은, 네트워크 연결된 디바이스 간 양방향 서비스를 이용하기 위해서 사용자는 어플리케이션 관리 서비스에 가입할 수 있다. 또한, 별도의 권한 설정 과정을 통해, 사용자의 어플리케이션 관리 서비스에 대한 사용 권한을 허여하거나 제한할 수 있다.
본 발명은, 네트워크 연결된 디바이스 간 시간에 민감한 양방향 서비스(time-sensitive interactive service)를 이용하기 위해서, 디바이스 간 동기화 과정이 필요할 수 있다. 예를 들어, 기본 클록 동기화 및 컨텐트 동기화와 같은 동기화 메커니즘이 필요할 수 있다.
본 발명은, 디스커버리 메커니즘을 통해 어플리케이션 관리 서비스(application management service), 연결 설정 서비스(connection establishment service), 동기화 서비스(synchronization service)를 지원하는 디바이스를 네트워크 상에서 발견할 수 있다. 그리고, 설명 메커니즘(description mechanism)을 통해 각 서비스들에 대한 부가적인 정보를 디바이스 간 교환할 수 있다.
이하에서는, 각 도면의 설명을 통해 상기 실시예들에 대해 상세히 설명하도록 한다. 다양한 실시예들에서 중복되는 내용은 생략될 수 있으며, 본 명세서 내에서 이용되는 용어나 실시예에 대한 구체적인 설명은 다른 실시예에서도 적용 가능할 것이다.
도 20은 본 발명이 적용되는 일실시예로서, 멀티스크린 서비스(Multi-Screen Service)가 적용되는 디바이스의 개략적인 구조를 나타낸다.
상기 도 20은 멀티스크린 서비스(extended Multi-Screen Service)를 제공하는 동반 스크린 디바이스(companion screen device)(2010)와 메인 스크린 디바이스(main screen device)(2020)의 내부 블록도를 나타낸다.
상기 동반 스크린 디바이스(companion screen device)(2010)는 디스플레이(2011), 사용자 인터페이스(2012), 컨트롤러(2013), 네트워크 인터페이스(2014), 메모리(2015), 스토리지(2016), 멀티미디어부(2017) 및 전원 공급부(2018)를 포함할 수 있다.
상기 디스플레이(2011)는 네트워크 인터페이스(2014)를 통해 수신된 데이터 또는 스토리지(2016)에 저장되어 있는 데이터를 상기 컨트롤러(2013)의 제어에 의해 화면 상에 디스플레이한다.
상기 사용자 인터페이스(2012)는 사용자로부터 입력되는 신호를 상기 컨트롤러(2013)로 전송하고, 상기 컨트롤러(2013)로부터 제어되는 신호를 상기 디스플레이(2011)를 통해 출력함으로써 사용자에게 정보를 제공하는 통로 역할을 한다.
상기 컨트롤러(2013)는 상기 동반 스크린 디바이스(companion screen device)(2010)의 전반적인 동작을 제어하는 역할을 하며, 본 명세서에서 설명되는 다양한 실시예들은 상기 컨트롤러(2013)를 통해 수행될 수 있다.
상기 네트워크 인터페이스(2014)는 명령(command), 요청(request), 액션(action), 응답(response), 이벤트 메시지, 광고 메시지, 데이터 중 적어도 하나가 포함된 메시지를 외부 디바이스로부터 수신하거나, 외부 디바이스에 전송할 수 있다. 또한, 상기 네트워크 인터페이스(2014)는 상기 동반 스크린 디바이스(companion screen device)(2010)의 물리적 요소일 수 있다.
상기 메모리(2015)는 다양한 종류의 디바이스에 구현되는 선택적인 장치로서, 다양한 종류의 데이터가 임시적으로 저장될 수 있다. 예를 들어, 상기 메모리(2015)는 휘발성 성격의 물리적 장치일 수 있다.
상기 스토리지(2016)는 다양한 종류의 정보를 저장할 수 있다. 예를 들어, 상기 스토리지(2016)는 SD 카드와 같은 비휘발성 성격의 물리적 장치일 수 있다. 상기 스토리지(2016)는 컨텐트 저장부(미도시), 메타데이터 저장부(미도시), 버퍼(미도시)를 포함할 수 있다. 컨텐트 저장부(미도시)는 미디어 컨텐트 데이터를 저장할 수 있다. 메타데이터 저장부(미도시)는 컨텐트에 관한 부가 정보를 나타내는 메타데이터를 저장할 수 있다. 메타데이터 저장부(미도시)는 메타데이터를 분류하여 저장할 수도 있다. 버퍼(미도시)는 다양한 종류의 데이터를 임시로 저장할 수 있다.
상기 멀티미디어부(2017)는 다양한 종류의 멀티미디어 재생을 위한 장치로, 저장된 컨텐트를 재생하거나 외부로부터 수신한 컨텐트를 재생할 수 있다. 상기 멀티미디어부(2017)는 상기 컨트롤러(2013) 내에 구현될 수 있고, 또는 상기 컨트롤러(2013)와 별도로 구현될 수도 있다.
상기 전원 공급부(2018)는 상기 컨트롤러(2013)의 제어에 의해 외부의 전원, 또는 내부의 전원을 인가 받아 각 구성요소들의 동작에 필요한 전원을 공급한다.
그리고, 메인 스크린 디바이스(main screen device)(2020)는 디스플레이(2021), 사용자 인터페이스(2022), 컨트롤러(2023), 네트워크 인터페이스(2024), 메모리(2025), 스토리지(2026), 멀티미디어부(2027) 및 전원 공급부(2028)를 포함할 수 있다. 상기 메인 스크린 디바이스(main screen device)(2020) 내의 각 구성 요소들은 상기 동반 스크린 디바이스(companion screen device)(2010) 내의 각 구성 요소들과 동일하거나 유사한 기능을 수행할 수 있으므로, 자세한 설명은 생략하도록 한다.
도 21은 본 발명이 적용되는 일실시예로서, 멀티스크린 서비스(Multi-Screen Service)가 스크린 디바이스에서 시작되는 경우 디바이스 간 상호 작용을 설명하기 위한 흐름도이다.
스크린 컨트롤 포인트는 멀티스크린 서비스를 제공하기 위해 어플리케이션 관리 서비스에 가입할 수 있다(S2110).
스크린 디바이스는 상기 스크린 컨트롤 포인트가 어플리케이션 관리 서비스에 가입되어 있음을 확인하면, 서비스 초기화를 수행할 수 있다(S2120).
서비스 초기화 이후, 상기 스크린 디바이스는 이용가능한 어플리케이션 정보를 전송할 수 있다(S2130). 이때, 상기 이용가능한 어플리케이션 정보는 상기 스크린 디바이스에 의해 직접 이벤트 메시지로 전송되거나, 또는 상기 스크린 컨트롤 포인트의 요청에 대한 응답 메시지로 전송될 수 있다. 다만, 이 과정은 어플리케이션 간 연결을 위해 필수적이지 않을 수 있다.
상기 스크린 컨트롤 포인트는 특정 어플리케이션 정보를 상기 스크린 디바이스에 요청할 수 있다(S2140). 상기 스크린 디바이스는 상기 요청에 응답하여, 상기 특정 어플리케이션 정보를 상기 스크린 컨트롤 포인트에 전송할 수 있다(S2140). 여기서, 상기 특정 어플리케이션 정보는 전체 어플리케이션 정보이거나, 지정된 어플리케이션의 정보일 수 있다.
상기 스크린 컨트롤 포인트는 상기 특정 어플리케이션 정보를 수신하고, 그에 기초하여 서비스 제공을 위한 어플리케이션을 설치하고 이를 실행할 수 있다(S2150).
상기 어플리케이션이 실행되면, 상기 스크린 컨트롤 포인트는 상기 스크린 디바이스에 어플리케이션 간 연결을 요청할 수 있다(S2160). 이때, 어플리케이션 간 연결 액션이 이용될 수 있다. 상기 스크린 디바이스는 상기 요청에 응답하여, 연결 식별자를 상기 스크린 컨트롤 포인트에 전송할 수 있다(S2160).
상기와 같은 과정을 통해 어플리케이션 간 연결이 설정되면, 상기 스크린 컨트롤 포인트와 상기 스크린 디바이스는 어플리케이션을 통해 통신을 수행할 수 있다(S2170).
이후, 추가 통신이 필요없게 되는 경우, 상기 스크린 컨트롤 포인트는 상기 스크린 디바이스에 어플리케이션 간 연결 해제를 요청할 수 있다(S2180). 이때, 어플리케이션 간 연결 해제 액션(DisconnectApptoApp())이 이용될 수 있다. 상기 스크린 디바이스는 상기 요청에 응답하여, 연결 해제 정보를 상기 스크린 컨트롤 포인트에 전송할 수 있다(S2180).
도 22는 본 발명이 적용되는 일실시예로서, 멀티스크린 서비스(Multi-Screen Service)가 컨트롤러에서 시작되는 경우 디바이스 간 상호 작용을 설명하기 위한 흐름도이다.
스크린 컨트롤 포인트는 멀티스크린 서비스를 제공하기 위해 서비스 초기화를 수행할 수 있다(S2210).
서비스 초기화 이후, 상기 스크린 컨트롤 포인트는 어플리케이션 정보를 상기 스크린 디바이스에 요청할 수 있다(S2220). 이때, 어플리케이션 정보 요청 액션이 이용될 수 있다. 상기 스크린 디바이스는 상기 요청에 응답하여, 상기 어플리케이션 정보를 상기 스크린 컨트롤 포인트에 전송할 수 있다(S2220).
상기 스크린 컨트롤 포인트는 상기 스크린 디바이스에 어플리케이션 설치를 요청할 수 있다(S2230). 이때, 어플리케이션 설치 액션이 이용될 수 있으며, 상기 액션은 어플리케이션 식별자에 기초하거나 설치 URI(Uniform Resource Identifier)에 기초하여 수행될 수 있다.
상기 스크린 디바이스는 상기 어플리케이션 설치 요청에 따라, 서비스 제공을 위한 어플리케이션을 설치할 수 있다(S2240).
그리고, 상기 스크린 컨트롤 포인트는 상기 스크린 디바이스에 어플리케이션 활성화를 요청할 수 있다(S2250). 이때, 어플리케이션 활성화 액션이 이용될 수 있으며, 상기 액션은 활성화될 어플리케이션 식별자를 포함할 수 있다. 상기 요청에 기초하여, 상기 스크린 디바이스는 어플리케이션을 실행할 수 있다(S2260).
상기와 같이 어플리케이션이 실행되면, 상기 스크린 컨트롤 포인트는 상기 스크린 디바이스에 어플리케이션 간 연결을 요청할 수 있다(S2270). 이때, 어플리케이션 간 연결 액션이 이용될 수 있다. 상기 스크린 디바이스는 상기 요청에 응답하여, 연결 식별자를 상기 스크린 컨트롤 포인트에 전송할 수 있다(S2270).
상기와 같은 과정을 통해 어플리케이션 간 연결이 설정되면, 상기 스크린 컨트롤 포인트와 상기 스크린 디바이스는 어플리케이션을 통해 통신을 수행할 수 있다(S2280).
이후, 추가 통신이 필요없게 되는 경우, 상기 스크린 컨트롤 포인트는 상기 스크린 디바이스에 어플리케이션 간 연결 해제를 요청할 수 있다(S2290). 이때, 어플리케이션 간 연결 해제 액션이 이용될 수 있다. 상기 스크린 디바이스는 상기 요청에 응답하여, 연결 해제 정보를 상기 스크린 컨트롤 포인트에 전송할 수 있다(S2290).
도 23은 본 발명이 적용되는 일실시예로서, 디바이스 간 어플리케이션 연결을 관리하기 위한 상호 작용을 설명하기 위한 흐름도이다.
스크린 컨트롤 포인트는 멀티스크린 서비스를 제공하기 위해 스크린 디바이스를 탐색할 수 있다(S2310). 이때, 탐색 액션이 이용될 수 있다. 상기 탐색 결과, 스크린 디바이스가 탐색되면, 탐색된 스크린 디바이스는 상기 탐색 액션에 대한 응답 메시지를 전송할 수 있다. 예를 들어, 상기 스크린 디바이스는 자신이 스크린 디바이스임을 광고(advertise)할 수 있고, 자신의 정보를 담은 디바이스 설명 문서(device description document)에 접근할 수 있는 주소를 광고할 수 있다(S2320).
그리고, 상기 스크린 디바이스는 상기 스크린 컨트롤 포인트에 설명 정보를 전송할 수 있다(S2330). 예를 들어, 상기 설명 정보는, 기본적인 디바이스 정보, 자신이 어떤 종류의 디바이스인지에 대한 정보 (예를 들어, 스크린 디바이스, 스크린 컨트롤 포인트 등) 자신이 제공할 수 있는 서비스에 대한 정보 (예를 들어, 어플리케이션 관리 서비스, 어플리케이션 연결 서비스 등)을 포함할 수 있다.
스크린 컨트롤 포인트는 멀티스크린 서비스를 제공하기 위해 어플리케이션 관리 서비스에 가입할 수 있다(S2340). 다만, 스크린 디바이스로부터의 이벤트 메시지 수신이 필요하지 않은 경우, 상기 스크린 컨트롤 포인트는 상기 어플리케이션 관리 서비스에 가입하지 않을 수 있다. 이러한 경우, 상기 스크린 컨트롤 포인트는 주기적으로 상기 스크린 디바이스에 관련된 정보를 확인할 필요가 있다.
상기 스크린 디바이스는 어플리케이션 정보를 상기 스크린 컨트롤 포인트에 전송할 수 있다(S2350). 여기서, 상기 어플리케이션 정보는 상기 스크린 디바이스의 전체 어플리케이션 정보이거나, 지정된 어플리케이션의 정보일 수 있다.
도 24는 본 발명이 적용되는 일실시예로서, 외부 서버에서 컨텐트가 제공되는 경우 컨텐트와 함께 이용되는 어플리케이션을 제어하는 과정을 설명하기 위한 흐름도이다.
스크린 디바이스는 외부 서버로부터 컨텐트를 제공받을 수 있으며, 또한 상기 컨텐트를 이용하기 위해서는 특정 어플리케이션이 필요할 수 있다. 여기서, 상기 컨텐트는 방송 컨텐트, 또는 인터넷으로부터 다운받을 수 있는 컨텐트일 수 있다.
상기 스크린 디바이스는 외부 서버로부터 이용가능한 특정 어플리케이션에 대한 정보를 수신할 수 있다(S2410).
상기 스크린 디바이스는 상기 정보를 수신할 경우, 특정 서비스가 특정 어플리케이션과 함께 이용가능하다는 것을 디스플레이할 수 있다(S2420). 그리고, 상기 스크린 디바이스는 상기 특정 어플리케이션을 활성화시킬 수 있다(S2430). 상기 활성화는 상기 스크린 디바이스에 의해 자동적으로 수행되거나, 사용자 입력에 의해 수행될 수 있다.
상기 스크린 디바이스는 멀티 스크린 서비스를 제공하기 위해서, 상기 특정 어플리케이션 정보를 스크린 컨트롤 포인트에 전송할 수 있다(S2440).
도 25는 본 발명이 적용되는 일실시예로서, 디바이스 간 어플리케이션 연결을 위해 필요한 인증 과정을 설명하기 위한 흐름도이다.
스크린 디바이스는 인증될 필요가 있는 스크린 컨트롤 포인트에게만 이벤트 메시지를 전송할 수 있다(S2510). 예를 들어, 인증이 필요한 스크린 컨트롤 포인트가 존재하는 경우, 스크린 디바이스는 인증 변수 값을 변경하고, 변경된 값을 상기 스크린 컨트롤 포인트에 전송한다. 이때, 상기 인증 변수 값은 스크린 상에 디스플레이될 수 있다(S2520).
한편, 상기 스크린 컨트롤 포인트는 상기 이벤트 메시지를 수신하면, 인증이 필요하다는 것을 인식할 수 있다. 그리고, 상기 스크린 컨트롤 포인트는 상기 스크린 디바이스에 핀코드(pin-code) 인증을 요청할 수 있다. 이때, 상기 요청은 핀코드 인증 액션에 의해 수행될 수 있다. 상기 핀코드 인증 액션은 액션 전송 디바이스를 인증하거나 액션 전송 디바이스의 사용자를 인증하기 위해 이용된다.
상기 스크린 디바이스는 상기 핀코드 인증 액션을 수신하면, 수신된 핀코드가 상기 스크린 디바이스의 핀코드와 동일한지 여부를 확인할 수 있다(S2540).
만약, 액션 전송 디바이스에 의해 전송된 핀코드가 액션 수신 디바이스에 표시된 핀코드와 동일하면, 상기 액션 전송 디바이스는 인증될 것이고, 그렇지 않은 경우에는 인증이 거절될 것이다(S2550).
한편, 상기 핀코드와 같은 인증 정보는 한정된 시간 동안에만 유효할 것이다. 예를 들어, 서비스 가입이 만료되는 경우나 서비스 가입이 되어 있지 않은 경우, 상기 스크린 컨트롤 포인트는 다시 서비스를 가입할 때 다시 인증 절차를 거쳐야만 할 것이다.
도 26은 본 발명이 적용되는 일실시예로서, 디바이스 간 어플리케이션 연결을 통해 동기화된 통신을 수행하는 과정을 설명하기 위한 흐름도이다.
스크린 컨트롤 포인트는 스크린 디바이스에 어플리케이션 활성화를 요청할 수 있다(S2610). 이때, 어플리케이션 활성화 액션이 이용될 수 있으며, 상기 액션은 활성화될 어플리케이션 식별자를 포함할 수 있다. 상기 요청에 기초하여, 상기 스크린 디바이스는 어플리케이션을 실행할 수 있다.
상기와 같이 어플리케이션이 실행되면, 상기 스크린 컨트롤 포인트는 상기 스크린 디바이스에 어플리케이션 연결 정보를 요청할 수 있다(S2620). 이때, 연결 정보 획득 액션이 이용될 수 있다. 상기 스크린 디바이스는 상기 요청에 응답하여, 연결 정보를 상기 스크린 컨트롤 포인트에 전송할 수 있다. 여기서, 상기 연결 정보는 어플리케이션 정보 리스트의 특정 부분을 포함할 수 있다. 상기 연결 정보는 어플리케이션 간 정보(apptoappinfo)를 나타낼 수 있으며, 예를 들어, 상기 어플리케이션 간 정보(apptoappinfo)는 특정 프로토콜 명칭 정보, 전송 프로토콜 정보 및 연결 주소 정보 중 적어도 하나를 포함할 수 있다. 여기서, 상기 연결 주소 정보는 어플리케이션 간 통신을 위한 액세스 정보를 의미할 수 있다.
상기 스크린 컨트롤 포인트는, 상기 연결 정보에 기초하여, 상기 스크린 디바이스에 어플리케이션 간 연결을 요청할 수 있다(S2630). 이때, 어플리케이션 간 연결 액션이 이용될 수 있다. 상기 스크린 디바이스는 상기 요청에 응답하여, 연결 식별자를 상기 스크린 컨트롤 포인트에 전송할 수 있다.
상기와 같은 과정을 통해 어플리케이션 간 연결이 설정되면(S2640), 상기 스크린 컨트롤 포인트와 상기 스크린 디바이스는 어플리케이션 간 시스템 동기화 및/또는 컨텐트 동기화를 수행할 수 있다(S2650).
그리고, 상기 스크린 컨트롤 포인트와 상기 스크린 디바이스는 어플리케이션을 통해 동기화된 통신을 수행할 수 있다(S2660).
도 27 내지 도 43은 본 발명이 적용되는 일실시예들로서, 어플리케이션 관리를 위해 필요한 액션들(actions)과 그 아규먼트(argument)를 나타낸다.
상기 도 27 내지 도 43에 기재된 액션 명칭은 일실시예에 불과하며, 본 발명은 액션 명칭에 한정되어 해석되지 않으며, 본 명세서에서 설명되는 의미로 해석되어야 할 것이다. 그리고, 아규먼트의 방향(direction) 중 “IN”은 입력 정보로 해석될 수 있고, “OUT”은 출력 정보로 해석될 수 있다.
도 27은 본 발명이 적용되는 실시예로, 제 1 어플리케이션 정보 획득 액션과 그 아규먼트를 나타낸다.
상기 제 1 어플리케이션 정보 획득 액션은 스크린 컨트롤 포인트로 하여금 어플리케이션 식별자에 의해 특정된 어플리케이션 정보를 획득하는 것을 가능하게 할 수 있다. 그리고, 상기 제 1 어플리케이션 정보 획득 액션의 명칭은 SearchAppInfo() 또는 GetAppInfo()로 표시될 수 있다(2700).
상기 제 1 어플리케이션 정보 획득 액션의 아규먼트는 어플리케이션 식별자(2710), 기준 정보(2720), 디바이스 프로파일 정보(2730), 필터 정보(2740) 및 어플리케이션 정보(2750) 중 적어도 하나를 포함할 수 있다.
여기서, 상기 어플리케이션 식별자(2710)는 정보를 획득하고자 하는 어플리케이션을 식별하는 정보를 나타낸다. 예를 들어, 특정 값 “XYZ”가 입력되면, 상기 특정 값 “XYZ”에 의해 식별되는 어플리케이션을 나타내고, 특정 값 “*” 또는 “(empty string)”가 입력되면, 어플리케이션 정보 리스트의 모든 어플리케이션을 의미할 수 있다.
상기 기준 정보(2720)는 어플리케이션의 상태를 구별하기 위한 정보를 나타낸다. 예를 들어, 상기 기준 정보(2720)는 이용가능한 어플리케이션의 정보인지, 활성화 어플리케이션의 정보인지 또는 특정 어플리케이션의 정보인지를 구별할 수 있다.
상기 디바이스 프로파일 정보(2730)는 해당 디바이스의 프로파일 정보를 나타낸다. 예를 들어, 상기 디바이스 프로파일 정보가 해상도 “1920x1080”를 나타내는 경우, 상기 해상도를 만족시키는 어플리케이션 정보를 획득할 수 있다.
상기 필터 정보(2740)는 특정 조건을 만족시키는 어플리케이션 정보를 획득하기 위해 이용되는 정보를 나타낸다.
상기 어플리케이션 정보(2750)는 다양한 액션들 내의 아규먼트들에 대한 타입 정보를 나타낸다. 예를 들어, 상기 어플리케이션 정보(2750)는 어플리케이션 정보 리스트 변수의 특정 부분일 수 있다. 상기 어플리케이션 정보 리스트 변수는 도 44에서 상세히 설명하도록 한다.
상기 도 27의 실시예는 상기 도 20의 구성 요소들에 의해 수행될 수 있다. 예를 들어, 동반 스크린 디바이스(2010)의 컨트롤러(2013)는 네트워크 인터페이스(2014)를 통해 상기 제 1 어플리케이션 정보 획득 액션을 메인 스크린 디바이스(2020)에 전송할 수 있다.
상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는 네트워크 인터페이스(2024)를 통해 상기 제 1 어플리케이션 정보 획득 액션을 수신할 수 있다. 그리고, 상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는, 상기 제 1 어플리케이션 정보 획득 액션에 응답하여, 상기 동반 스크린 디바이스(2010)에 어플리케이션 정보를 전송할 수 있다. 이때, 상기 어플리케이션 정보는 상기 제 1 어플리케이션 정보 획득 액션의 입력 정보에 기초하여 결정된 특정 어플리케이션에 관한 정보일 수 있다. 상기 입력 정보는, 어플리케이션 식별자(2710), 기준 정보(2720), 디바이스 프로파일 정보(2730) 또는 필터 정보(2740) 중 적어도 하나를 포함할 수 있다.
도 28은 본 발명이 적용되는 실시예로, 제 2 어플리케이션 정보 획득 액션과 그 아규먼트를 나타낸다.
상기 제 2 어플리케이션 정보 획득 액션은 스크린 컨트롤 포인트로 하여금 어플리케이션 식별자에 의해 특정된 어플리케이션 정보만을 획득하는 것을 가능하게 할 수 있다. 그리고, 상기 제 2 어플리케이션 정보 획득 액션의 명칭은 SimpleGetAppInfo()로 표시될 수 있다(2800).
상기 제 2 어플리케이션 정보 획득 액션의 아규먼트는 어플리케이션 식별자(2810) 및 어플리케이션 정보(2820) 중 적어도 하나를 포함할 수 있다.
여기서, 상기 어플리케이션 식별자(2810)와 상기 어플리케이션 정보(2820)는 상기 도 27의 설명이 적용될 수 있다.
상기 도 28의 실시예는 상기 도 20의 구성 요소들에 의해 수행될 수 있다. 예를 들어, 동반 스크린 디바이스(2010)의 컨트롤러(2013)는 네트워크 인터페이스(2014)를 통해 상기 제 2 어플리케이션 정보 획득 액션을 메인 스크린 디바이스(2020)에 전송할 수 있다.
상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는 네트워크 인터페이스(2024)를 통해 상기 제 2 어플리케이션 정보 획득 액션을 수신할 수 있다. 그리고, 상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는, 상기 제 2 어플리케이션 정보 획득 액션에 응답하여, 상기 동반 스크린 디바이스(2010)에 어플리케이션 정보를 전송할 수 있다. 이때, 상기 어플리케이션 정보는 상기 제 2 어플리케이션 정보 획득 액션의 입력 정보에 기초하여 결정된 특정 어플리케이션에 관한 정보일 수 있다. 상기 입력 정보는 어플리케이션 식별자(2810)를 포함할 수 있다.
도 29는 본 발명이 적용되는 실시예로, 이용가능한 어플리케이션 정보 획득 액션과 그 아규먼트를 나타낸다.
상기 이용가능한 어플리케이션 정보 획득 액션(2900)은 액션 수신 디바이스로부터 이용가능한 어플리케이션의 정보를 획득하는 것을 가능하게 할 수 있다. 그리고, 상기 이용가능한 어플리케이션 정보 획득 액션(2900)의 명칭은 GetAvailableApp()로 표시될 수 있다(2900).
상기 이용가능한 어플리케이션 정보 획득 액션(2900)의 아규먼트는 어플리케이션 식별자(2910), 기준 정보(2920), 디바이스 프로파일 정보(2930), 필터 정보(2940) 및 이용가능한 어플리케이션 정보(2950) 중 적어도 하나를 포함할 수 있다.
여기서, 상기 어플리케이션 식별자(2910), 상기 기준 정보(2920), 상기 디바이스 프로파일 정보(2930) 및 상기 필터 정보(2940)는 상기 도 27에서 설명한 내용이 적용될 수 있다.
상기 이용가능한 어플리케이션 정보(2950)는 멀티 스크린 서비스를 제공하기 위해 이용가능한 어플리케이션의 정보를 의미할 수 있다.
상기 도 29의 실시예는 상기 도 20의 구성 요소들에 의해 수행될 수 있다. 예를 들어, 동반 스크린 디바이스(2010)의 컨트롤러(2013)는 네트워크 인터페이스(2014)를 통해 이용가능한 어플리케이션 정보 획득 액션(2000)을 메인 스크린 디바이스(2020)에 전송할 수 있다.
상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는 네트워크 인터페이스(2024)를 통해 상기 이용가능한 어플리케이션 정보 획득 액션(2900)을 수신할 수 있다. 그리고, 상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는, 상기 이용가능한 어플리케이션 정보 획득 액션(2900)에 응답하여, 상기 동반 스크린 디바이스(2010)에 이용가능한 어플리케이션 정보를 전송할 수 있다. 이때, 상기 이용가능한 어플리케이션 정보는 상기 제 2 어플리케이션 정보 획득 액션의 입력 정보에 기초하여 결정될 수 있다. 상기 입력 정보는 상기 어플리케이션 식별자(2910), 상기 기준 정보(2920), 상기 디바이스 프로파일 정보(2930) 및 상기 필터 정보(2940) 중 적어도 하나를 포함할 수 있다.
도 30은 본 발명이 적용되는 실시예로, 실행 어플리케이션 정보 획득 액션(running application information obtaining action)과 그 아규먼트를 나타낸다.
상기 실행 어플리케이션 정보 획득 액션(3000)은 스크린 컨트롤 포인트로 하여금 실행 중인 어플리케이션의 리스트를 획득하는 것을 가능하게 할 수 있다. 그리고, 상기 실행 어플리케이션 정보 획득 액션(3000)의 명칭은 GetRunningApp()로 표시될 수 있다(3000).
상기 실행 어플리케이션 정보 획득 액션(3000)의 아규먼트는 실행 중인 어플리케이션 정보(3010)를 포함할 수 있다.
여기서, 상기 실행 중인 어플리케이션 정보(3010)는 실행 중인 어플리케이션의 리스트를 의미할 수 있다. 예를 들어, 상기 실행 중인 어플리케이션 정보(3010)는, 어플리케이션 정보 리스트에 포함된 변수 “실행 상태 정보(“RunningStatus”)가 “실행 중(Running)”으로 설정된 어플리케이션들의 식별자들의 리스트를 의미할 수 있다.
상기 도 30의 실시예는 상기 도 20의 구성 요소들에 의해 수행될 수 있다. 예를 들어, 동반 스크린 디바이스(2010)의 컨트롤러(2013)는 네트워크 인터페이스(2014)를 통해 실행 어플리케이션 정보 획득 액션(3000)을 메인 스크린 디바이스(2020)에 전송할 수 있다.
상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는 네트워크 인터페이스(2024)를 통해 상기 실행 어플리케이션 정보 획득 액션(3000)을 수신할 수 있다. 그리고, 상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는, 상기 실행 어플리케이션 정보 획득 액션(3000)에 응답하여, 상기 동반 스크린 디바이스(2010)에 실행 중인 어플리케이션 정보를 전송할 수 있다.
도 31은 본 발명이 적용되는 실시예로, 실행 상태 정보 획득 액션(running status information obtaining action)과 그 아규먼트를 나타낸다.
상기 실행 상태 정보 획득 액션(3100)은 스크린 컨트롤 포인트로 하여금 어플리케이션 식별자에 의해 특정된 어플리케이션의 실행 상태 정보를 획득하는 것을 가능하게 할 수 있다. 그리고, 상기 실행 상태 정보 획득 액션(3100)의 명칭은 GetRunningStatus()로 표시될 수 있다(3100).
상기 실행 상태 정보 획득 액션(3100)의 아규먼트는 어플리케이션 식별자(3110)와 실행 상태 정보(3120)를 포함할 수 있다.
여기서, 상기 어플리케이션 식별자(3110)는 실행 상태 정보를 획득하기 위한 어플리케이션을 나타내며, 앞의 실시예들에서 설명한 내용이 유사하게 적용될 수 있다.
상기 실행 상태 정보(“RunningStatus”)(3120)는, 어플리케이션 정보 리스트의 특정 부분을 나타낼 수 있다. 상기 실행 상태 정보(3120)는 상기 어플리케이션 식별자(3110)에 의해 특정된 어플리케이션의 요소, 그 속성 및 그 실행 상태 요소를 포함할 수 있다.
상기 도 31의 실시예는 상기 도 20의 구성 요소들에 의해 수행될 수 있다. 예를 들어, 동반 스크린 디바이스(2010)의 컨트롤러(2013)는 네트워크 인터페이스(2014)를 통해 실행 상태 정보 획득 액션(3100)을 메인 스크린 디바이스(2020)에 전송할 수 있다.
상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는 네트워크 인터페이스(2024)를 통해 상기 실행 상태 정보 획득 액션(3100)을 수신할 수 있다. 그리고, 상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는, 상기 실행 상태 정보 획득 액션(3100)에 응답하여, 상기 동반 스크린 디바이스(2010)에 실행 중인 어플리케이션의 실행 상태 정보(2520)를 전송할 수 있다.
도 32는 본 발명이 적용되는 실시예로, 제 1 어플리케이션 활성화 액션과 그 아규먼트를 나타낸다.
상기 제 1 어플리케이션 활성화 액션(3200)은 스크린 디바이스 상에서 어플리케이션 정보 리스트에 포함된 어플리케이션을 실행하도록 할 수 있다. 상기 어플리케이션은 어플리케이션 식별자에 의해 식별될 수 있다. 게다가, 상기 제 1 어플리케이션 활성화 액션(3200)은 실행 중인 어플리케이션의 활성화 파라미터 정보를 제공하기 위해 이용될 수도 있다. 그리고, 상기 제 1 어플리케이션 활성화 액션(3200)의 명칭은 ActivateAppByID()로 표시될 수 있다(3200).
상기 제 1 어플리케이션 활성화 액션(3200)의 아규먼트는 어플리케이션 식별자(3210)와 파라미터 정보(3220)를 포함할 수 있다.
여기서, 상기 어플리케이션 식별자(3210)는 활성화될 어플리케이션을 나타내며, 앞의 실시예들에서 설명한 내용이 유사하게 적용될 수 있다.
상기 파라미터 정보(3220)는 파라미터 타입을 나타낼 수 있으며, 예를 들어, 상기 파라미터 타입은 활성화 파라미터 정보 또는 설치 파라미터 정보 중 하나를 나타낼 수 있다.
상기 도 32의 실시예는 상기 도 20의 구성 요소들에 의해 수행될 수 있다. 예를 들어, 동반 스크린 디바이스(2010)의 컨트롤러(2013)는 네트워크 인터페이스(2014)를 통해 제 1 어플리케이션 활성화 액션(3200)을 메인 스크린 디바이스(2020)에 전송할 수 있다.
상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는 네트워크 인터페이스(2024)를 통해 상기 제 1 어플리케이션 활성화 액션(3200)을 수신할 수 있다. 그리고, 상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는, 상기 제 1 어플리케이션 활성화 액션(3200)에 응답하여, 상기 메인 스크린 디바이스(2020) 내 어플리케이션을 활성화할 수 있다.
도 33은 본 발명이 적용되는 실시예로, 제 2 어플리케이션 활성화 액션과 그 아규먼트를 나타낸다.
상기 제 2 어플리케이션 활성화 액션(3300)은 스크린 디바이스 상에서 URI를 이용하여 어플리케이션을 실행하도록 할 수 있다. 게다가, 상기 제 2 어플리케이션 활성화 액션(3300)은 전이 펜딩 입력(transitioning pending input) 중인 어플리케이션의 활성화 파라미터 정보를 제공하기 위해 이용될 수 있다. 그리고, 상기 제 2 어플리케이션 활성화 액션(3300)의 명칭은 ActivateAppByURI()로 표시될 수 있다(3300).
상기 제 2 어플리케이션 활성화 액션(3300)의 아규먼트는 활성화 URI 정보(3310), 어플리케이션 정보(3320), 파라미터 정보(3330) 및 어플리케이션 식별자(3340) 중 적어도 하나를 포함할 수 있다.
여기서, 상기 활성화 URI 정보(3310)는 어플리케이션을 시작할 URI 정보를 나타낸다.
상기 어플리케이션 정보(3320)는 어플리케이션 정보 리스트 변수의 특정 부분을 나타내며, 시작될 어플리케이션의 부가 정보를 제공할 수 있다. 예를 들어, 사용자에 의해 설정된 이름을 포함할 수 있다.
상기 파라미터 정보(3330)는 파라미터 타입을 나타낼 수 있으며, 예를 들어, 상기 파라미터 타입은 활성화 파라미터 정보 또는 설치 파라미터 정보 중 하나를 나타낼 수 있다.
상기 어플리케이션 식별자(3340)는 새롭게 할당된 어플리케이션 식별자를 나타내거나, 또는 상기 활성화 URI 정보(3310)와 동일한 URI를 갖는 어플리케이션의 식별자를 나타낼 수 있다. 만약, 어플리케이션이 설치되지 않고 URI를 이용하여 시작될 수 있고, 스크린 디바이스의 어플리케이션 정보 리스트 변수 내에 상기 활성화 URI 정보(3310)가 없다면, 스크린 디바이스는 상기 제 2 어플리케이션 활성화 액션(3300)을 통해 어플리케이션을 시작할 수 있다.
예를 들어, 상기 제 2 어플리케이션 활성화 액션(3300)을 수신하면, 상기 스크린 디바이스는 어플리케이션 정보 리스트에 새로운 어플리케이션 요소를 생성할 수 있다. 이때, 상기 새로운 어플리케이션 요소는 활성화 URI 정보와 부가 정보를 포함할 수 있다. 그리고, 어플리케이션 식별자에 새로운 값을 할당하고, 상기 새로운 값을 상기 어플리케이션 식별자(3340)를 통해 출력(return)할 수 있다.
상기 도 33의 실시예는 상기 도 20의 구성 요소들에 의해 수행될 수 있다. 예를 들어, 동반 스크린 디바이스(2010)의 컨트롤러(2013)는 네트워크 인터페이스(2014)를 통해 제 2 어플리케이션 활성화 액션(3300)을 메인 스크린 디바이스(2020)에 전송할 수 있다.
상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는 네트워크 인터페이스(2024)를 통해 상기 제 2 어플리케이션 활성화 액션(3300)을 수신할 수 있다. 그리고, 상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는, 상기 제 2 어플리케이션 활성화 액션(3300)에 응답하여, 상기 메인 스크린 디바이스(2020) 내 어플리케이션을 활성화할 수 있다. 즉, 상기 컨트롤러(2023)는 어플리케이션을 시작할 URI 정보에 기초하여 어플리케이션을 활성화할 수 있다. 활성화된 어플리케이션은 디스플레이(2021)를 통해 출력될 수 있다.
도 34는 본 발명이 적용되는 실시예로, 비활성화 액션과 그 아규먼트를 나타낸다.
상기 비활성화 액션(3400)은 스크린 디바이스 상에서 어플리케이션 식별자에 의해 지정된 어플리케이션을 정지하도록 할 수 있다. 상기 비활성화 액션(3400)의 명칭은 DeactivateApp()로 표시될 수 있다(3400).
상기 비활성화 액션(3400)의 아규먼트는 어플리케이션 식별자(3410)와 정지된 어플리케이션 식별자(3420)를 포함할 수 있다.
여기서, 상기 어플리케이션 식별자(3410)는 비활성화될 어플리케이션을 나타내며, 앞의 실시예들에서 설명한 내용이 유사하게 적용될 수 있다.
상기 정지된 어플리케이션 식별자(3420)는 정지된 어플리케이션들의 식별자들의 리스트를 나타낸다.
상기 도 34의 실시예는 상기 도 20의 구성 요소들에 의해 수행될 수 있다. 예를 들어, 동반 스크린 디바이스(2010)의 컨트롤러(2013)는 네트워크 인터페이스(2014)를 통해 비활성화 액션(3400)을 메인 스크린 디바이스(2020)에 전송할 수 있다.
상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는 네트워크 인터페이스(2024)를 통해 상기 비활성화 액션(3400)을 수신할 수 있다. 그리고, 상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는, 상기 비활성화 액션(3400)에 응답하여, 상기 메인 스크린 디바이스(2020) 내 어플리케이션을 정지할 수 있다. 상기 정지된 어플리케이션은 사용자 인터페이스(2012, 2022)를 통해 사용자에 의해 제어될 수 있다.
도 35는 본 발명이 적용되는 실시예로, 제 1 어플리케이션 설치 액션과 그 아규먼트를 나타낸다.
상기 제 1 어플리케이션 설치 액션(3500)은 스크린 디바이스 상에서 어플리케이션 정보 리스트에 포함된 정보를 이용하여 어플리케이션을 설치하도록 할 수 있다. 게다가, 상기 제 1 어플리케이션 설치 액션(3500)은 설치 펜딩 입력(installation pending input) 중인 어플리케이션의 설치 파라미터 정보를 제공하기 위해 이용될 수도 있다. 또한, 최신 버전이 존재하는 경우, 설치된 어플리케이션을 상기 최신 버전으로 업데이트하기 위해 이용될 수도 있다. 한편, 상기 제 1 어플리케이션 설치 액션(3500)의 명칭은 InstallAppByID()로 표시될 수 있다(3500).
상기 제 1 어플리케이션 설치 액션(3500)의 아규먼트는 어플리케이션 식별자(3510)와 파라미터 정보(3520)를 포함할 수 있다.
여기서, 상기 어플리케이션 식별자(3510)는 설치될 어플리케이션을 나타내며, 앞의 실시예들에서 설명한 내용이 유사하게 적용될 수 있다.
상기 파라미터 정보(3520)는 파라미터 타입을 나타낼 수 있으며, 예를 들어, 상기 파라미터 타입은 활성화 파라미터 정보 또는 설치 파라미터 정보 중 하나를 나타낼 수 있다.
상기 도 35의 실시예는 상기 도 20의 구성 요소들에 의해 수행될 수 있다. 예를 들어, 동반 스크린 디바이스(2010)의 컨트롤러(2013)는 네트워크 인터페이스(2014)를 통해 제 1 어플리케이션 설치 액션(3500)을 메인 스크린 디바이스(2020)에 전송할 수 있다. 이때, 상기 제 1 어플리케이션 설치 액션(3500)은 입력 정보로 어플리케이션 식별자(3510)와 파라미터 정보(3520)를 포함할 수 있다.
상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는 네트워크 인터페이스(2024)를 통해 상기 제 1 어플리케이션 설치 액션(3500)을 수신할 수 있다. 그리고, 상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는, 상기 제 1 어플리케이션 설치 액션(3500)에 응답하여, 어플리케이션을 설치할 수 있다.
도 36은 본 발명이 적용되는 실시예로, 제 2 어플리케이션 설치 액션과 그 아규먼트를 나타낸다.
상기 제 2 어플리케이션 설치 액션(3600)은 스크린 디바이스 상에서 URI를 이용하여 어플리케이션을 설치하도록 할 수 있다. 게다가, 상기 제 2 어플리케이션 설치 액션(3600)은 설치 펜딩 입력(installing pending input) 중인 어플리케이션의 설치 파라미터 정보를 제공하기 위해 이용될 수 있다. 그리고, 상기 제 2 어플리케이션 설치 액션(3600)의 명칭은 InstallAppByURI()로 표시될 수 있다(3600).
상기 제 2 어플리케이션 설치 액션(3600)의 아규먼트는 설치 URI 정보(3610), 어플리케이션 정보(3620), 파라미터 정보(3630) 및 어플리케이션 식별자(3640) 중 적어도 하나를 포함할 수 있다.
여기서, 상기 설치 URI 정보(3610)는 어플리케이션을 설치할 URI 정보를 나타낸다.
상기 어플리케이션 정보(3620)는 어플리케이션 정보 리스트 변수의 특정 부분을 나타내며, 설치될 어플리케이션의 부가 정보를 제공할 수 있다. 예를 들어, 사용자에 의해 설정된 이름을 포함할 수 있다.
상기 파라미터 정보(3630)는 파라미터 타입을 나타낼 수 있으며, 예를 들어, 상기 파라미터 타입은 활성화 파라미터 정보 또는 설치 파라미터 정보 중 하나를 나타낼 수 있다.
상기 어플리케이션 식별자(3640)는 새롭게 할당된 어플리케이션 식별자를 나타내거나, 또는 상기 설치 URI 정보(3610)와 동일한 URI를 갖는 어플리케이션의 식별자를 나타낼 수 있다. 만약, 스크린 디바이스의 어플리케이션 정보 리스트 변수 내에 상기 설치 URI 정보(3610)가 없다면, 상기 제 2 어플리케이션 설치 액션(3600)은 스크린 디바이스 상에서 어플리케이션을 설치하도록 할 수 있다.
예를 들어, 메인 스크린 디바이스(2020)의 컨트롤러(2023)는 네트워크 인터페이스(2024)를 통해 상기 제 2 어플리케이션 설치 액션(3600)을 수신하면, 상기 컨트롤러(2023)는 어플리케이션 정보 리스트 변수 내에 새로운 어플리케이션 요소를 생성할 수 있다. 이때, 상기 새로운 어플리케이션 요소는 설치 URI 정보와 부가 정보를 포함할 수 있다. 그리고, 상기 컨트롤러(2023)는 어플리케이션 식별자에 새로운 값을 할당하고, 상기 새로운 값을 상기 어플리케이션 식별자(3640)를 통해 출력(return)할 수 있다. 상기 컨트롤러(2023)는 네트워크 인터페이스(2024)를 통해 동반 스크린 디바이스(2010)에 새로운 값으로 할당된 상기 어플리케이션 식별자(3040)를 전송할 수 있다.
도 37은 본 발명이 적용되는 실시예로, 삭제(uninstallation) 액션과 그 아규먼트를 나타낸다.
상기 삭제 액션(3700)은 스크린 디바이스 상에서 어플리케이션 식별자에 의해 지정된 어플리케이션을 삭제하도록 할 수 있다. 상기 삭제 액션(3700)의 명칭은 UninstallApp()로 표시될 수 있다(3700).
상기 삭제 액션(3700)의 아규먼트는 어플리케이션 식별자(3710)와 삭제된 어플리케이션 식별자(3720)를 포함할 수 있다.
여기서, 상기 어플리케이션 식별자(3710)는 삭제될 어플리케이션을 나타내며, 앞의 실시예들에서 설명한 내용이 유사하게 적용될 수 있다.
상기 삭제된 어플리케이션 식별자(3720)는 삭제된 어플리케이션들의 식별자들의 리스트를 나타낸다.
상기 도 37의 실시예는 상기 도 20의 구성 요소들에 의해 수행될 수 있다. 예를 들어, 동반 스크린 디바이스(2010)의 컨트롤러(2013)는 네트워크 인터페이스(2014)를 통해 삭제 액션(3700)을 메인 스크린 디바이스(2020)에 전송할 수 있다. 이때, 상기 삭제 액션(3700)은 입력 정보로 어플리케이션 식별자(3710)를 포함할 수 있다.
상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는 네트워크 인터페이스(2024)를 통해 상기 삭제 액션(3700)을 수신할 수 있다. 그리고, 상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는, 상기 삭제 액션(3700)에 응답하여, 상기 동반 스크린 디바이스(2010)에 삭제된 어플리케이션의 식별자를 전송할 수 있다.
도 38은 본 발명이 적용되는 실시예로, 설치 상태 정보 획득 액션(installation status information obtaining action)과 그 아규먼트를 나타낸다.
상기 설치 상태 정보 획득 액션(3800)은 스크린 컨트롤 포인트로 하여금 어플리케이션 식별자에 의해 특정된 어플리케이션의 설치 상태 정보를 획득하는 것을 가능하게 할 수 있다. 그리고, 상기 설치 상태 정보 획득 액션(3800)의 명칭은 GetAppInstallationStatus()로 표시될 수 있다(3800).
상기 설치 상태 정보 획득 액션(3800)의 아규먼트는 어플리케이션 식별자(3810)와 설치 상태 정보(3820)를 포함할 수 있다.
여기서, 상기 어플리케이션 식별자(3810)는 설치 상태 정보를 획득하기 위한 어플리케이션을 나타내며, 앞의 실시예들에서 설명한 내용이 유사하게 적용될 수 있다.
상기 설치 상태 정보(“InstallationStatus”)(3820)는, 어플리케이션 정보 리스트의 특정 부분을 나타낼 수 있다. 상기 설치 상태 정보(3820)는 상기 어플리케이션 식별자(3810)에 의해 특정된 어플리케이션의 요소, 그 속성 및 그 설치 상태 요소를 포함할 수 있다. 예를 들어, 상기 설치 상태 요소는 “설치 완료”, “다운로드 진행 중” 및 “설치 진행 중”을 포함할 수 있다.
상기 도 38의 실시예는 상기 도 20의 구성 요소들에 의해 수행될 수 있다. 예를 들어, 동반 스크린 디바이스(2010)의 컨트롤러(2013)는 네트워크 인터페이스(2014)를 통해 설치 상태 정보 획득 액션(3800)을 메인 스크린 디바이스(2020)에 전송할 수 있다. 이때, 상기 설치 상태 정보 획득 액션(3800)은 입력 정보로 어플리케이션 식별자(3810)를 포함할 수 있다.
상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는 네트워크 인터페이스(2024)를 통해 상기 설치 상태 정보 획득 액션(3800)을 수신할 수 있다. 그리고, 상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는, 상기 설치 상태 정보 획득 액션(3800)에 응답하여, 상기 동반 스크린 디바이스(2010)에 “설치 완료”, “다운로드 진행 중” 및 “설치 진행 중” 중 어느 하나의 설치 상태 정보를 전송할 수 있다.
도 39는 본 발명이 적용되는 실시예로, 연결 정보 획득 액션(connection information obtaining action)과 그 아규먼트를 나타낸다.
상기 연결 정보 획득 액션(3900)은 스크린 컨트롤 포인트로 하여금 어플리케이션 식별자에 의해 특정된 어플리케이션들의 연결 정보를 획득하는 것을 가능하게 할 수 있다. 그리고, 상기 연결 정보 획득 액션(3900)의 명칭은 GetAppConnectionInfo()로 표시될 수 있다(3900).
상기 연결 정보 획득 액션(3900)의 아규먼트는 어플리케이션 식별자(3910)와 연결 정보(3920)를 포함할 수 있다.
여기서, 상기 어플리케이션 식별자(3910)는 연결 정보를 획득하기 위한 어플리케이션을 나타내며, 앞의 실시예들에서 설명한 내용이 적용될 수 있다.
상기 연결 정보(3920)는, 어플리케이션 정보 리스트의 특정 부분을 나타낼 수 있다. 상기 연결 정보(3920)는 상기 어플리케이션 식별자(3910)에 의해 특정된 어플리케이션의 요소, 그 속성 및 그 어플리케이션 간 정보 요소를 포함할 수 있다. 예를 들어, 상기 어플리케이션 간 정보 요소는 특정 프로토콜 명칭 정보, 전송 프로토콜 정보 및 연결 주소 정보 중 적어도 하나를 포함할 수 있다. 여기서, 상기 연결 주소 정보는 어플리케이션 간 통신을 위한 액세스 정보를 의미할 수 있다.
상기 도 39의 실시예는 상기 도 20의 구성 요소들에 의해 수행될 수 있다. 예를 들어, 동반 스크린 디바이스(2010)의 컨트롤러(2013)는 네트워크 인터페이스(2014)를 통해 연결 정보 획득 액션(3900)을 메인 스크린 디바이스(2020)에 전송할 수 있다. 이때, 상기 연결 정보 획득 액션(3900)은 입력 정보로 어플리케이션 식별자(3910)를 포함할 수 있다.
상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는 네트워크 인터페이스(2024)를 통해 상기 연결 정보 획득 액션(3900)을 수신할 수 있다. 그리고, 상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는, 상기 연결 정보 획득 액션(3900)에 응답하여, 상기 동반 스크린 디바이스(2010)에 연결 정보(3920), 예를 들어, 특정 프로토콜 명칭 정보, 전송 프로토콜 정보 및 연결 주소 정보 중 적어도 하나를 전송할 수 있다.
상기 연결 정보(3920)에 기초하여, 상기 동반 스크린 디바이스(2010)와 상기 메인 스크린 디바이스(2020)는 네트워크 인터페이스(2014, 2024)를 통해 연결되어 서로 간의 통신을 수행할 수 있게 된다.
도 40은 본 발명이 적용되는 실시예로, 어플리케이션 간 연결 액션(apptoapp connection action)과 그 아규먼트를 나타낸다.
상기 어플리케이션 간 연결 액션(4000)은 스크린 디바이스와 어플리케이션 간 연결을 설정하기 위해 이용되며, 연결 관리를 가능하게 한다. 상기 어플리케이션 간 연결 액션(4000)의 명칭은 ConnectApptoApp()로 표시될 수 있다(4000).
상기 어플리케이션 간 연결 액션(4000)의 아규먼트는 어플리케이션 식별자(4010)와 연결 식별자(4020)를 포함할 수 있다.
여기서, 상기 어플리케이션 식별자(4010)는 스크린 디바이스와 어플리케이션 간 연결을 설정하기 위한 어플리케이션을 나타낸다.
상기 연결 식별자(4020)는 설정된 어플리케이션 간 연결의 식별자를 나타내며, 이는 스크린 디바이스에 의해 할당될 수 있다.
상기 도 40의 실시예는 상기 도 20의 구성 요소들에 의해 수행될 수 있다. 예를 들어, 동반 스크린 디바이스(2010)의 컨트롤러(2013)는 네트워크 인터페이스(2014)를 통해 어플리케이션 간 연결 액션(4000)을 메인 스크린 디바이스(2020)에 전송할 수 있다. 이때, 상기 어플리케이션 간 연결 액션(4000)은 입력 정보로 어플리케이션 식별자(4010)를 포함할 수 있다.
상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는 네트워크 인터페이스(2024)를 통해 상기 어플리케이션 간 연결 액션(4000)을 수신할 수 있다. 그리고, 상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는, 상기 어플리케이션 간 연결 액션(4000)에 응답하여, 상기 동반 스크린 디바이스(2010)에 연결 식별자(4020)를 전송할 수 있다.
상기 연결 식별자(4020)에 기초하여, 상기 동반 스크린 디바이스(2010)와 상기 메인 스크린 디바이스(2020)는 멀티 스크린 서비스 제공을 위한 연결을 수행할 수 있다.
도 41은 본 발명이 적용되는 실시예로, 어플리케이션 간 연결 해제 액션(apptoapp disconnection action)과 그 아규먼트를 나타낸다.
상기 어플리케이션 간 연결 해제 액션(4100)은 연결 식별자에 의해 특정된 어플리케이션 간 연결을 스크린 디바이스로부터 해제하기 위해 이용될 수 있다. 상기 어플리케이션 간 연결 해제 액션(4100)의 명칭은 DisconnectApptoApp()로 표시될 수 있다(4100).
상기 어플리케이션 간 연결 해제 액션(4100)의 아규먼트는 연결 식별자(4110)와 연결 해제된 연결 식별자(4120)를 포함할 수 있다.
여기서, 상기 연결 식별자(4110)는 연결 해제될 연결을 나타내고, 상기 연결 해제된 연결 식별자(4120)는 연결 해제된 어플리케이션 간 연결의 식별자들 리스트를 나타낸다.
상기 도 41의 실시예는 상기 도 20의 구성 요소들에 의해 수행될 수 있다. 예를 들어, 동반 스크린 디바이스(2010)의 컨트롤러(2013)는 네트워크 인터페이스(2014)를 통해 어플리케이션 간 연결 해제 액션(4100)을 메인 스크린 디바이스(2020)에 전송할 수 있다. 이때, 상기 어플리케이션 간 연결 해제 액션(4100)은 입력 정보로 연결 식별자(4110)를 포함할 수 있다.
상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는 네트워크 인터페이스(2024)를 통해 상기 어플리케이션 간 연결 해제 액션(4100)을 수신할 수 있다. 그리고, 상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는, 상기 어플리케이션 간 연결 해제 액션(4100)에 응답하여, 상기 동반 스크린 디바이스(2010)에 연결 해제된 연결 식별자(4120)를 전송할 수 있다.
상기 연결 해제된 연결 식별자(4120)에 기초하여, 상기 동반 스크린 디바이스(2010)와 상기 메인 스크린 디바이스(2020) 간의 연결은 헤제된다.
도 42는 본 발명이 적용되는 실시예로, 현재 연결 정보 획득 액션(current connection information obtaining action)과 그 아규먼트를 나타낸다.
상기 현재 연결 정보 획득 액션(4200)은 스크린 컨트롤 포인트로 하여금, 어플리케이션 간 연결 액션에 의해 설립되었고 현재 스크린 디바이스가 지원하고 있는 어플리케이션 간 연결의 정보를 수집하도록 한다. 상기 현재 연결 정보 획득 액션(4200)의 명칭은 GetCurentConnectionInfo()로 표시될 수 있다(4200).
상기 현재 연결 정보 획득 액션(4200)의 아규먼트는 연결 식별자(4210)와 연결 어플리케이션 식별자들(4220)을 포함할 수 있다.
여기서, 상기 연결 식별자(4210)는 현재 어플리케이션 간 연결의 식별자를 나타낼 수 있다.
상기 연결 어플리케이션 식별자들(4220)은 어플리케이션 간 연결에 대응되는 어플리케이션 식별자들을 나타낼 수 있다.
상기 도 42의 실시예는 상기 도 20의 구성 요소들에 의해 수행될 수 있다. 예를 들어, 동반 스크린 디바이스(2010)의 컨트롤러(2013)는 네트워크 인터페이스(2014)를 통해 현재 연결 정보 획득 액션(4200)을 메인 스크린 디바이스(2020)에 전송할 수 있다. 이때, 상기 현재 연결 정보 획득 액션(4200)은 입력 정보로 연결 식별자(4210)를 포함할 수 있다.
상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는 네트워크 인터페이스(2024)를 통해 상기 현재 연결 정보 획득 액션(4200)을 수신할 수 있다. 그리고, 상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는, 상기 현재 연결 정보 획득 액션(4200)에 응답하여, 상기 동반 스크린 디바이스(2010)에 어플리케이션 간 연결에 대응되는 어플리케이션 식별자들를 전송할 수 있다.
도 43은 본 발명이 적용되는 실시예로, 검색 필드 획득 액션(searchable field obtaining action)과 그 아규먼트를 나타낸다.
상기 검색 필드 획득 액션(4300)은 스크린 컨트롤 포인트로 하여금 지원되는 검색 필드 정보를 획득하도록 할 수 있다. 상기 검색 필드 획득 액션(4300)의 명칭은 GetSupportedTargetFields()로 표시될 수 있다(4300).
상기 검색 필드 획득 액션(4300)의 아규먼트는 지원되는 검색 필드 정보(4310)를 포함할 수 있다. 여기서, 상기 지원되는 검색 필드 정보(4310)는 검색 가능한 필드의 리스트를 나타내며, 이는 스크린 디바이스의 어플리케이션 정보 리스트의 요소일 수 있다. 상기 지원되는 검색 필드 정보(4310)는 사용자에 의해 만들어진 어플리케이션 명칭 및 프로토콜 명칭 중 적어도 하나를 포함할 수 있다.
상기 도 43의 실시예는 상기 도 20의 구성 요소들에 의해 수행될 수 있다. 예를 들어, 동반 스크린 디바이스(2010)의 컨트롤러(2013)는 네트워크 인터페이스(2014)를 통해 검색 필드 획득 액션(4300)을 메인 스크린 디바이스(2020)에 전송할 수 있다.
상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는 네트워크 인터페이스(2024)를 통해 상기 검색 필드 획득 액션(4300)을 수신할 수 있다. 그리고, 상기 메인 스크린 디바이스(2020)의 컨트롤러(2023)는, 상기 검색 필드 획득 액션(4300)에 응답하여, 상기 동반 스크린 디바이스(2010)에 지원되는 검색 필드 정보(4310), 예를 들어, 사용자에 의해 만들어진 어플리케이션 명칭 및 프로토콜 명칭 중 적어도 하나를 전송할 수 있다.
도 44는 본 발명이 적용되는 일실시예로서, 어플리케이션 관리를 위해 필요한 상태 변수를 나타낸다.
본 발명에서, 어플리케이션 관리를 위해 필요한 상태 변수는 어플리케이션 정보 리스트(4401), 이용가능한 어플리케이션 정보(4402), 검색 필드 정보(4403), 어플리케이션 식별자(4404), 검색 정보(4405), 검색 필드 정보(4406), 필터 정보(4407), 실행 중인 어플리케이션 리스트(4408), URI 정보(4409), 파라미터 정보(4410), 연결 식별자(4411) 중 적어도 하나를 포함할 수 있다.
상기 어플리케이션 정보 리스트(4401)는 스크린 디바이스가 멀티 스크린 서비스를 위해 가지고 있는 어플리케이션들의 전체 정보를 포함할 수 있다. 상기 어플리케이션 정보 리스트(4401)는 XML 템플릿으로 표현될 수 있으며, 서브요소 구조를 포함할 수 있다.
예를 들어, 상기 어플리케이션 정보 리스트(4401)는 어플리케이션 요소를 포함할 수 있고, 어플리케이션 요소가 복수개일 경우 각 어플리케이션 별로 그 속성과 서브 요소를 포함하는 구조로 나타낼 수 있다.
상기 어플리케이션 요소는 어플리케이션 식별자, 마켓 어플리케이션 식별자 요소, 사용자 설명 요소, 대체 식별자 요소, 기능 요소, 실행 상태 요소, 활성화 URI 요소, 설치 상태 요소, 다운로딩 진행상태 요소, 설치 진행상태 요소, 설치 URI 요소, 사용정책 요소, 어플리케이션 간 정보 요소 및 아이콘 리스트 요소 중 적어도 하나를 포함할 수 있다.
상기 어플리케이션 식별자는 어플리케이션 관리 서비스 내의 어플리케이션의 고유 식별자를 나타낸다.
상기 마켓 어플리케이션 식별자 요소는 어플리케이션 마켓에 의해 할당된 어플리케이션의 식별자를 나타내며, 마켓 정보와 버전 정보를 포함할 수 있다. 여기서, 상기 마켓 정보는 어플리케이션이 제공되는 디지털 플랫폼의 식별자를 나타내고, 상기 버전 정보는 어플리케이션의 버전을 나타낸다.
상기 사용자 설명 요소는 사용자에 의해 만들어진 어플리케이션에 대한 설명 문구를 나타내며, 언어 정보를 포함할 수 있다.
상기 대체 식별자 요소는 표준 기관에서 사용되는 어플리케이션의 식별자를 나타내며, 기관 정보를 포함할 수 있다. 상기 기관 정보는 표준 기관의 도메인 네임을 의미할 수 있다.
상기 실행 상태 요소는 스크린 디바이스 상에서의 어플리케이션의 활성화 상태를 나타낸다. 상기 활성화 상태는 비활성화, 전이 중(transitioning), 전이 펜딩 입력 중(transitioning pending input), 실행 중(running), 알수없음(unknown) 중 하나를 나타낼 수 있다.
상기 활성화 URI 요소는 스크린 컨트롤 포인트가 어플리케이션을 시작하기 위해 접속할 수 있는 URI를 나타내며, 디바이스 타입 정보를 포함할 수 있다. 여기서, 상기 디바이스 타입 정보는 어플리케이션이 적용가능한 디바이스 타입을 나타내며, 상기 디바이스 타입은 메인 스크린 디바이스, 동반 스크린 디바이스, 또는 둘다를 의미할 수 있다.
상기 설치 상태 요소는 스크린 디바이스 상에서 어플리케이션 식별자에 의해 지정된 어플리케이션의 설치 상태를 나타낸다. 상기 설치 상태는, ‘다운로드되지 않음’, ‘다운로드 중’, ‘다운로딩 펜딩 입력 중’, ‘설치안됨’, ‘설치 중’, ‘설치 펜딩 입력 중’, ‘설치 완료’, ‘알수없음’ 중 하나를 나타낼 수 있다.
상기 다운로딩 진행상태 요소는 상기 설치 상태 요소가 ‘다운로드 중’인 경우에만 적용되며, 다운로드 진행 정도는 0부터 100사이의 퍼센티지로 표현될 수 있다.
상기 설치 진행상태 요소는 상기 설치 상태 요소가 ‘설치 중’인 경우에만 적용되며, 설치 진행 정도는 0부터 100사이의 퍼센티지로 표현될 수 있다.
상기 설치 URI 요소는 스크린 컨트롤 포인트가 어플리케이션을 설치하기 위해 접속할 수 있는 URI를 나타내며, 디바이스 타입 정보를 포함할 수 있다. 여기서, 상기 디바이스 타입 정보는 어플리케이션이 적용가능한 디바이스 타입을 나타내며, 상기 디바이스 타입은 메인 스크린 디바이스, 동반 스크린 디바이스, 또는 둘다를 의미할 수 있다.
상기 사용정책 요소는 어플리케이션 사용을 위한 허가 관련 정보를 나타내며, 상기 허가 관련 정보는 ‘제한 없음’, ‘구매 필요’, ‘시험만 가능(trial only)’, ‘부모동의필요’, ‘로그인 필요’ 중 하나를 나타낼 수 있다.
상기 어플리케이션 간 정보 요소는 어플리케이션 간 연결을 생성하기 위한 정보를 나타내며, 실행 상태 요소가 최소한 ‘실행 중’인 경우에 지원될 수 있다. 상기 어플리케이션 간 정보 요소는 매칭 프로토콜 명칭 요소, 프로토콜 요소 및 연결 주소 요소 중 적어도 하나를 포함할 수 있다. 상기 매칭 프로토콜 명칭 요소는 제조업자-정의된 프로토콜 명칭을 나타낸다. 상기 프로토콜 요소는 전송 계층의 프로토콜을 나타내며, 예를 들어, HTTP, 웹소켓(websocket), UPnP를 포함할 수 있다. 상기 연결 주소 요소는 어플리케이션 간 통신을 위한 액세스 정보를 나타내며, 예를 들어, 상기 연결 주소 요소는 HTTP URI, 웹소켓(websocket) URI, uuid:device-uuid, 제조업자 정의 주소를 포함할 수 있다.
상기 이용가능한 어플리케이션 정보(4402)는 멀티 스크린 서비스를 제공하기 위해 해당 시간에 이용가능한 어플리케이션들의 정보를 나타낸다.
상기 지원되는 검색 필드 정보(4403)는 서치가능한 필드의 리스트를 나타낸다.
상기 어플리케이션 식별자 아규먼트(4404)는 다양한 액션들 내의 다양한 어플리케이션 식별자의 타입 정보를 제공한다.
상기 검색 정보 아규먼트(4405)는 검색 정보의 타입 정보를 나타낸다.
상기 검색 필드 정보 아규먼트(4406)는 검색 필드 정보의 타입 정보를 나타낸다.
상기 필터 정보 아규먼트(4407)는 특정 조건을 만족시키는 어플리케이션 정보를 획득하기 위해 이용되는 정보를 나타낸다.
상기 실행 중인 어플리케이션 리스트(4408)는 실행 중인 어플리케이션들의 리스트를 제공한다.
상기 URI 정보 아규먼트(4409)는 활성화 URI 아규먼트와 설치 URI 아규먼트 중 어느 하나에 대한 타입 정보를 나타낸다.
상기 파라미터 정보 아규먼트 (4410)는 활성화 파라미터 아규먼트와 설치 파라미터 아규먼트 중 어느 하나에 대한 타입 정보를 나타낸다.
상기 연결 식별자 아규먼트 (4411)는 어플리케이션 간 연결들의 고유 식별자들의 리스트를 나타낸다.
도 45는 본 발명이 적용되는 실시예로, 어플리케이션을 업데이트하는 과정을 나타낸다.
멀티 스크린 서비스를 제공하는 어플리케이션을 업데이트하기 위해, 업데이트 가능한 어플리케이션 획득 액션과 어플리케이션 업데이트 액션 중 적어도 하나가 필요할 수 있다.
스크린 컨트롤 포인트는 업데이트 가능한 어플리케이션 획득을 스크린 디바이스에 요청할 수 있다(S4510). 이때, 업데이트 가능한 어플리케이션 획득 액션이 이용될 수 있다. 상기 업데이트 가능한 어플리케이션 획득 액션은 스크린 컨트롤 포인트로 하여금 버전 업데이트가 가능한 어플리케이션들의 리스트를 획득하도록 할 수 있다. 상기 스크린 디바이스는 상기 액션에 응답하여 버전 업데이트가 가능한 어플리케이션들의 리스트를 상기 스크린 컨트롤 포인트에 전송할 수 있다.
상기 스크린 컨트롤 포인트는 최신 버전이 아닌 어플리케이션들에 대해 어플리케이션 업데이트를 요청할 수 있다(S4520). 이때, 어플리케이션 업데이트 액션이 이용될 수 있다. 상기 어플리케이션 업데이트 액션은 버전 정보를 포함할 수 있으며, 상기 버전 정보가 아무런 정보를 갖고 있지 않은 경우 어플리케이션이 최신 버전으로 업데이트되어야 함을 의미할 수 있다. 상기 요청에 따라, 상기 스크린 디바이스는 최신 버전이 아닌 어플리케이션들을 최신 버전으로 업데이트할 수 있다.
상기 스크린 컨트롤 포인트는 상기 스크린 디바이스에 업데이트된 어플리케이션의 설치를 요청할 수 있다(S4530). 이때, 어플리케이션 설치 액션이 이용될 수 있으며, 상기 액션은 어플리케이션 식별자에 기초하거나 설치 URI(Uniform Resource Identifier)에 기초하여 수행될 수 있다.
도 46은 본 발명이 적용되는 실시예로, 어플리케이션의 설치 상태 다이어그램을 나타낸다.
먼저, 어플리케이션이 다운로드 되지 않은 경우(4610), 사용자는 스크린 컨트롤 포인트를 통해 어플리케이션 설치를 요청할 수 있다(4611). 이때, 어플리케이션이 어떤 상태에 있든(4600), 설치 취소 요청(4601)에 의해 어플리케이션이 삭제되는 경우(4605)에도, 어플리케이션이 다운로드 되지 않은 경우에 해당한다고 볼 수 있다.
상기 설치 요청에 의해 스크린 디바이스는 어플리케이션을 다운로드할 수 있다(4620). 이때, 사용자에 의해 설치 멈춤 요청이 있는 경우(4621), 상기 어플리케이션의 다운로드는 멈추게 된다(4622). 상기 스크린 디바이스는, 다시 사용자에 의해 설치 계속 요청 또는 설치 요청을 수신하는 경우(4623), 계속해서 다운로드할 수 있다(4620).
또는, 다운로드 중 사용자의 입력이 필요한 경우(4624), 상기 스크린 디바이스는 다운로드 과정에서 사용자 입력 중 상태일 수 있다(4625). 이때, 상기 스크린 디바이스는 사용자 입력 중인 상태임을 디스플레이할 수 있다(4626). 사용자 입력과 함께 설치 요청시(4627), 상기 스크린 디바이스는 계속해서 다운로드할 수 있다(4620).
다운로드 중에는 설치 미완료 상태일 수 있고(4630), 설치 중인 상태가 될 수 있다(4640). 이때, 사용자에 의해 설치 멈춤 요청이 있는 경우(4641), 상기 어플리케이션의 설치는 멈추게 된다(4642). 상기 스크린 디바이스는, 다시 사용자에 의해 설치 계속 요청 또는 설치 요청을 수신하는 경우(4643), 계속해서 설치할 수 있다(4640).
또는, 설치 중 사용자의 입력이 필요한 경우(4644), 상기 스크린 디바이스는 설치 과정에서 사용자 입력 중 상태일 수 있다(4645). 이때, 상기 스크린 디바이스는 사용자 입력 중인 상태임을 디스플레이할 수 있다(4646). 사용자 입력과 함께 설치 요청시(4647), 상기 스크린 디바이스는 계속해서 설치할 수 있다(4640).
설치가 완료되면 상기 스크린 디바이스는 설치 완료 상태로 된다(4650).
본 명세서에서 설명되는 다양한 실시예들은 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 여기에 설명되는 실시 예는 ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays, 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 그러일 실시예들이 컨트롤러 또는 컨트롤 포인트에 의해 구현될 수 있다.
소프트웨어적인 구현에 의하면, 절차나 기능과 같은 실시예들은 적어도 하나의 기능 또는 작동을 수행하게 하는 별개의 소프트웨어 모듈과 함께 구현될 수 있다. 소프트웨어 코드는 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션에 의해 구현될 수 있다. 소프트웨어 코드는 메모리에 저장되고, 제어부에 의해 실행될 수 있다.
본 발명의 일 실시 예에 의하면, 전술한 방법은, 프로그램이 기록된 매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장 장치 등이 있으며, 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
상기와 같이 설명된 장치들은 상기 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.

Claims (20)

  1. 네트워크로 연결된 동반 디바이스와 방송 수신 디바이스의 어플리케이션 간 서비스를 제공하는 방법에 있어서,
    상기 방송 수신 디바이스에 어플리케이션 간 통신을 위해 사용되는 정보를 갖는 어플리케이션 정보를 획득하기 위한 요청 메시지를 전송하는 단계; 및
    상기 방송 수신 디바이스로부터 상기 요청 메시지에 대한 응답 메시지를 수신하는 단계로서, 상기 응답 메시지는 상기 어플리케이션 정보를 포함하는, 상기 응답 메시지를 수신하는 단계
    를 포함하되,
    상기 어플리케이션 정보는 상기 동반 디바이스의 어플리케이션과 상기 방송 수신 디바이스의 어플리케이션 간의 통신을 위한 주소 정보 및 상기 동반 디바이스와 상기 방송 수신 디바이스의 싱크를 위한 싱크 주소 정보를 포함하며,
    상기 방법은, 상기 동반 디바이스가 상기 방송 수신 디바이스의 어플리케이션을 시작하도록 제어한 경우이거나, 또는 상기 방송 수신 디바이스의 어플리케이션과 상관없이 상기 동반 디바이스의 어플리케이션이 시작된 경우에 수행되는 것을 특징으로 하는 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 동반 디바이스의 어플리케이션과 상기 방송 수신 디바이스의 어플리케이션 간의 통신을 위한 주소 정보(ApptoAppURL)는 웹소켓 서버(Web Socket Server) URL을 나타내는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 어플리케이션 정보는 XML 형식의 설명 정보(description information)에 포함되는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 방송 수신 디바이스는 방송망 또는 인터넷망 중 적어도 하나를 통해서 방송 신호를 수신하고,
    상기 방송 신호는 미디어 컨텐트, 어플리케이션 데이터, 어플리케이션 정보 테이블 및 스트림 이벤트 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  6. 네트워크로 연결된 동반 디바이스와 방송 수신 디바이스의 어플리케이션 간 서비스를 제공하는 방법에 있어서,
    상기 방송 수신 디바이스의 어플리케이션 주소를 획득하는 단계;
    상기 방송 수신 디바이스의 어플리케이션 주소로 상기 방송 수신 디바이스의 어플리케이션 실행을 요청하는 요청 메시지를 전송하는 단계;
    상기 방송 수신 디바이스로부터 상기요청 메시지에 대한 응답 메시지를 수신하는 단계
    를 포함하되,
    상기 응답 메시지는 상기 어플리케이션의 실행에 대한 상태를 나타내는 코드 정보를 포함하며,
    상기 코드 정보는, 어플리케이션이 실행되었음을 나타내는 제1코드 정보, 사용자에 의해 어플리케이션이 실행될 수 없음을 나타내는 제2코드 정보, 상기 방송 수신 디바이스에 의해 어플레케이션이 실행될 수 없음을 나타내는 제3코드 정보 또는 상기 방송 수신 디바이스의 상태로 인해 어플리케이션이 실행될 수 없음을 나타내는 제4코드 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  7. 삭제
  8. 제6항에 있어서,
    상기 요청 메시지의 바디 데이터는 어플리케이션 식별자와 어플리케이션 설명 정보를 포함하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 어플리케이션 설명 정보는 시작, 정지 또는 모니터링 중 적어도 하나를 포함하는 제어 코드 정보를 포함하는 것을 특징으로 하는 방법.
  10. 제6항에 있어서,
    상기 방송 수신 디바이스는 방송망 또는 인터넷망 중 적어도 하나를 통해서 방송 신호를 수신하고,
    상기 방송 신호는 미디어 컨텐트, 어플리케이션 데이터, 어플리케이션 정보 테이블 및 스트림 이벤트 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  11. 네트워크 상에서 방송 수신 디바이스와의 연결을 관리하는 동반 디바이스에 있어서,
    상기 방송 수신 디바이스와 통신을 수행하는 네트워크 인터페이스; 및
    상기 방송 수신 디바이스에 어플리케이션 간 통신을 위해 사용되는 정보를 갖는 어플리케이션 정보를 획득하기 위한 요청 메시지를 전송하고, 상기 방송 수신 디바이스로부터 상기 요청 메시지에 대한 응답 메시지를 수신하는 컨트롤러를 포함하되, 상기 응답 메시지는 상기 어플리케이션 정보를 포함하고,
    상기 어플리케이션 정보는 상기 동반 디바이스의 어플리케이션과 상기 방송 수신 디바이스의 어플리케이션 간의 통신을 위한 주소 정보 및 상기 동반 디바이스와 상기 방송 수신 디바이스의 싱크를 위한 싱크 주소 정보를 포함하며,
    상기 컨트롤러는, 상기 동반 디바이스가 상기 방송 수신 디바이스의 어플리케이션을 시작하도록 제어한 경우이거나, 또는 상기 방송 수신 디바이스의 어플리케이션과 상관없이 상기 동반 디바이스의 어플리케이션이 시작된 경우에 수행되는 것을 특징으로 하는 동반 디바이스.
  12. 삭제
  13. 제11항에 있어서,
    상기 동반 디바이스의 어플리케이션과 상기 방송 수신 디바이스의 어플리케이션 간의 통신을 위한 주소 정보는 웹소켓 서버(Web Socket Server) URL을 나타내는 것을 특징으로 하는 동반 디바이스.
  14. 제11항에 있어서,
    상기 어플리케이션 정보는 XML 형식의 설명 정보(description information)에 포함되는 것을 특징으로 하는 동반 디바이스.
  15. 제11항에 있어서,
    상기 방송 수신 디바이스는 방송망 또는 인테넷망 중 적어도 하나를 통해서 방송 신호를 수신하고,
    상기 방송 신호는 미디어 컨텐트, 어플리케이션 데이터, 어플리케이션 정보 테이블 및 스트림 이벤트 중 적어도 하나를 포함하는 것을 특징으로 하는 동반 디바이스.
  16. 네트워크 상에서 방송 수신 디바이스와의 연결을 관리하는 동반 디바이스에 있어서,
    상기 방송 수신 디바이스와 통신을 수행하는 네트워크 인터페이스; 및
    상기 방송 수신 디바이스의 어플리케이션 주소를 획득하고, 상기 방송 수신 디바이스의 어플리케이션 주소로 상기 방송 수신 디바이스의 어플리케이션 실행을 요청하는 요청 메시지를 전송하고, 상기 방송 수신 디바이스로부터 응답 메시지를 수신하는 컨트롤러를 포함하되,
    상기 응답 메시지는 상기 어플리케이션의 실행에 대한 상태를 나타내는 코드 정보를 포함하며,
    상기 코드 정보는, 어플리케이션이 실행되었음을 나타내는 제1코드 정보, 사용자에 의해 어플리케이션이 실행될 수 없음을 나타내는 제2코드 정보, 상기 방송 수신 디바이스에 의해 어플레케이션이 실행될 수 없음을 나타내는 제3코드 정보 또는 상기 방송 수신 디바이스의 상태로 인해 어플리케이션이 실행될 수 없음을 나타내는 제4코드 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 동반 디바이스.
  17. 삭제
  18. 제16항에 있어서,
    상기 요청 메시지의 바디 데이터는 어플리케이션 식별자와 어플리케이션 설명 정보를 포함하는 것을 특징으로 하는 동반 디바이스.
  19. 제18항에 있어서,
    상기 어플리케이션 설명 정보는 시작, 정지 또는 모니터링 중 적어도 하나를 포함하는 제어 코드 정보를 포함하는 것을 특징으로 하는 동반 디바이스.
  20. 제16항에 있어서,
    상기 방송 수신 디바이스는 방송망 또는 인터넷망 중 적어도 하나를 통해서 방송 신호를 수신하고,
    상기 방송 신호는 미디어 컨텐트, 어플리케이션 데이터, 어플리케이션 정보 테이블 및 스트림 이벤트 중 적어도 하나를 포함하는 것을 특징으로 하는 동반 디바이스.
KR1020167012189A 2014-01-14 2015-01-13 네트워크로 연결된 방송 수신 디바이스와 다른 디바이스 간 연결을 관리하는 방법 및 장치 KR101871423B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201461927455P 2014-01-14 2014-01-14
US61/927,455 2014-01-14
US201461938163P 2014-02-11 2014-02-11
US61/938,163 2014-02-11
US201461939716P 2014-02-13 2014-02-13
US61/939,716 2014-02-13
PCT/KR2015/000347 WO2015108319A1 (ko) 2014-01-14 2015-01-13 네트워크로 연결된 방송 수신 디바이스와 다른 디바이스 간 연결을 관리하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20160075561A KR20160075561A (ko) 2016-06-29
KR101871423B1 true KR101871423B1 (ko) 2018-06-27

Family

ID=53543153

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167012189A KR101871423B1 (ko) 2014-01-14 2015-01-13 네트워크로 연결된 방송 수신 디바이스와 다른 디바이스 간 연결을 관리하는 방법 및 장치

Country Status (4)

Country Link
US (1) US10554745B2 (ko)
JP (1) JP6400715B2 (ko)
KR (1) KR101871423B1 (ko)
WO (1) WO2015108319A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015041494A1 (ko) * 2013-09-23 2015-03-26 삼성전자 주식회사 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치
US10547993B2 (en) * 2014-05-29 2020-01-28 Huawei Technologies Co., Ltd. Media content sharing method and apparatus
KR102425988B1 (ko) * 2015-04-01 2022-07-29 삼성전자주식회사 방송 시스템에서의 비상 통보 메시지를 처리하는 장치 및 방법
KR102335007B1 (ko) * 2015-04-01 2021-12-06 삼성전자주식회사 방송 시스템에서 디바이스들 간에 정보를 송수신하는 방법 및 장치
CN105956463B (zh) * 2016-04-23 2019-01-11 腾讯科技(深圳)有限公司 一种设备控制方法、装置及终端
JP6929160B2 (ja) * 2017-08-10 2021-09-01 キヤノン株式会社 画像形成装置およびその制御方法とプログラム
EP3787299A1 (de) 2019-09-02 2021-03-03 Institut für Rundfunktechnik GmbH Aufbau einer verbindung zwischen einer ersten anwendung auf einem ersten gerät und einer zweiten anwendung auf einem zweiten gerät
CN116361255A (zh) * 2020-06-22 2023-06-30 华为技术有限公司 数据同步方法、电子设备和计算机可读存储介质
CN115695381A (zh) * 2021-07-30 2023-02-03 中兴通讯股份有限公司 通信方法、信令控制网元、媒体控制网元及通信系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020036072A (ko) * 2000-11-07 2002-05-16 황기수 계층적 구조의 코드를 사용한 인터넷 자동 접속 방법 및시스템
FI113129B (fi) * 2001-03-26 2004-02-27 Nokia Corp Sovellusdatan synkronointi tietoliikennejärjestelmässä
US20130166580A1 (en) * 2006-12-13 2013-06-27 Quickplay Media Inc. Media Processor
JP5151211B2 (ja) 2007-03-30 2013-02-27 ソニー株式会社 多画面同期再生システム、表示制御端末、多画面同期再生方法、及びプログラム
US20110177774A1 (en) * 2010-01-13 2011-07-21 Qualcomm Incorporated Dynamic generation, delivery, and execution of interactive applications over a mobile broadcast network
JP2011166441A (ja) * 2010-02-09 2011-08-25 Nippon Hoso Kyokai <Nhk> デジタル放送受信機、端末装置及びコンピュータプログラム
EP2616901B1 (en) * 2010-09-17 2017-12-06 Google LLC Moving information between computing devices
JP5073032B2 (ja) * 2010-09-27 2012-11-14 株式会社東芝 情報出力装置、情報処理システムおよび情報処理方法
JP5703664B2 (ja) * 2010-09-30 2015-04-22 ソニー株式会社 受信装置、受信方法、送信装置、送信方法、プログラム、および放送システム
KR101733493B1 (ko) * 2010-12-27 2017-05-10 엘지전자 주식회사 영상표시기기의 메시지 공유 방법 및 그에 따른 영상표시기기
KR101231208B1 (ko) 2010-12-17 2013-02-07 이화여자대학교 산학협력단 피어링 제의 리스트를 제공하는 방법, p2p 네트워크를 형성하는 방법, p2p 어플리케이션 장치, p2p네트워크를 형성하는 단말 및 네트워크 장치
EP2658248A4 (en) * 2010-12-26 2014-07-09 Lg Electronics Inc AUDIOVISUAL SERVICE TRANSMISSION METHOD, AUDIOVISUAL SERVICE RECEIVING METHOD, AND AUDIOVISUAL SERVICE RECEIVING APPARATUS
KR101141163B1 (ko) * 2010-12-31 2012-05-02 주식회사 알티캐스트 A/v 컨텐츠와 관련된 어플리케이션의 실행 방법 및 그 장치
KR20120084233A (ko) 2011-01-19 2012-07-27 삼성전자주식회사 엠엠티 제어 계층을 이용한 위젯/어플리케이션 명령어 전송 방법
US20120210238A1 (en) * 2011-02-11 2012-08-16 Sony Network Entertainment International Llc Direct service launch on a second display
GB2492540B (en) * 2011-06-30 2015-10-14 Samsung Electronics Co Ltd Receiving a broadcast stream
KR101893151B1 (ko) * 2011-08-21 2018-08-30 엘지전자 주식회사 영상 표시 장치, 단말 장치 및 그 동작 방법
JP2013066159A (ja) 2011-08-26 2013-04-11 Nippon Hoso Kyokai <Nhk> 受信機
JP5607095B2 (ja) 2012-03-19 2014-10-15 株式会社東芝 情報生成装置および情報出力装置
KR20130124183A (ko) * 2012-05-04 2013-11-13 삼성전자주식회사 제2 디바이스와 통신이 가능한 방송 수신 장치 및 이의 어플리케이션 제어 방법, 그리고 디바이스
EP2660998A3 (en) * 2012-05-04 2014-10-15 Samsung Electronics Co., Ltd. Broadcast receiving apparatus and method for controlling application, and device
WO2014050733A1 (ja) 2012-09-28 2014-04-03 ソニー株式会社 情報処理装置、携帯端末、情報処理方法、プログラム、および情報処理システム
JP6271203B2 (ja) 2013-09-30 2018-01-31 株式会社東芝 電子機器、プログラム、及び情報制御方法

Also Published As

Publication number Publication date
US20160337449A1 (en) 2016-11-17
WO2015108319A1 (ko) 2015-07-23
JP6400715B2 (ja) 2018-10-03
KR20160075561A (ko) 2016-06-29
US10554745B2 (en) 2020-02-04
JP2017510131A (ja) 2017-04-06

Similar Documents

Publication Publication Date Title
KR101871423B1 (ko) 네트워크로 연결된 방송 수신 디바이스와 다른 디바이스 간 연결을 관리하는 방법 및 장치
KR101817339B1 (ko) 네트워크로 연결된 방송 수신 디바이스와 다른 디바이스 간 연결을 관리하는 방법 및 장치
US9723375B2 (en) Apparatus and method for processing an interactive service
US8244829B2 (en) Data transmitting apparatus, data receiving apparatus, data transmitting method and data receiving method
US20080172712A1 (en) Multimedia data transmitting apparatus, multimedia data receiving apparatus, multimedia data transmitting method, and multimedia data receiving method
US7950039B2 (en) Multimedia data transmitting apparatus and multimedia data receiving apparatus
US20080250101A1 (en) Multimedia data transmitting apparatus and multimedia data receiving apparatus
KR20150090049A (ko) 양방향 서비스를 처리하는 장치 및 방법
US20080141323A1 (en) Content information outputting apparatus, content information receiving apparatus, content information outputting method, content information receiving method
WO2011048625A1 (ja) コンテンツ配信装置およびシステム
WO2015072764A1 (ko) 네트워크 상에서 복수개의 기기 간 연결을 관리하는 방법 및 장치
WO2011005051A2 (ko) 원격 관리 및 펌웨어 업그레이드 방법 및 장치
WO2013061364A1 (ja) 映像信号の送受信方法、表示装置、及び送信装置

Legal Events

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