KR101625685B1 - 소프트웨어 업데이트 방법 및 장치 - Google Patents

소프트웨어 업데이트 방법 및 장치 Download PDF

Info

Publication number
KR101625685B1
KR101625685B1 KR1020100028419A KR20100028419A KR101625685B1 KR 101625685 B1 KR101625685 B1 KR 101625685B1 KR 1020100028419 A KR1020100028419 A KR 1020100028419A KR 20100028419 A KR20100028419 A KR 20100028419A KR 101625685 B1 KR101625685 B1 KR 101625685B1
Authority
KR
South Korea
Prior art keywords
data
broadcast receiving
update
tracker
receiving terminal
Prior art date
Application number
KR1020100028419A
Other languages
English (en)
Other versions
KR20110079437A (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 KR20110079437A publication Critical patent/KR20110079437A/ko
Application granted granted Critical
Publication of KR101625685B1 publication Critical patent/KR101625685B1/ko

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 소프트웨어 업데이트 방법 및 장치를 개시한다. 본 발명은 데이터 서버 및 트랙커(tracker)와 네트워크를 통해 연결되는 방송 수신 단말의 소프트웨어 업데이트 방법으로서, 상기 데이터 서버로부터 소프트웨어 업데이트를 위한 시그널링을 수신하는 단계-상기 시그널링에는 상기 소프트웨어 업데이트를 위한 데이터의 P2P(peer to peer) 전송 정보가 포함됨-; 상기 데이터 서버 및 하나 이상의 다른 방송 수신 단말로부터 블록 단위로 상기 데이터를 다운로드하는 단계; 및 상기 데이터에 상응하는 전체 블록의 다운로드가 완료되는 경우, 상기 트랙커의 업데이트 명령에 따라 상기 소프트웨어 업데이트를 수행한다. 본 발명에 따르면, 방송망에서 소프트웨어 업데이트를 효율적으로 수행할 수 있는 장점이 있다.

Description

소프트웨어 업데이트 방법 및 장치{Method and Apparatus for updating software}
본 발명은 소프트웨어 업데이트 방법 및 장치에 관한 것으로서, 보다 상세하게는 방송망에서 각 방송 수신 단말의 소프트웨어를 효율적으로 업데이트 할 수 있는 방법 및 장치에 관한 것이다.
과거 방송 서비스는 단방향으로만 제공되었기 때문에 사용자는 수동적으로 프로그램을 시청하기만 하였으나, 근래에는 대화형(양방향) 방송 서비스가 가능해지고 있어, 사용자는 프로그램 시청 중 부가적인 서비스를 요청하는 것도 가능하다.
현재 제공되는 양방향 방송 서비스는 날씨, 뉴스, 증권, 이메일, 전자 프로그램 가이드(Electric Program Guide: EPG), TV 쇼핑, 뱅킹, 전화 서비스 및 인터넷 검색과 같이 단지 방송을 시청하는 것뿐만 아니라 방송과 직접, 간접적으로 관련된 데이터(부가 정보)를 제공하는 서비스를 포함한다.
이처럼 다양한 서비스를 제공하기 위해서는 방송 수신 단말에 서비스 관련 소프트웨어가 설치되어야 한다.
시간이 지남에 따라 소프트웨어는 추가 기능 수행 및 오류 수정을 위해 업데이트가 요구된다. 여기서 소프트웨어의 업데이트는 플랫폼 이미지 또는 방송 사업자(MSO)가 제공하는 어플리케이션일 수 있다.
도 1은 종래기술에 따른 소프트웨어 업데이트 과정의 일 예를 도시한 흐름도이다.
도 1을 참조하면, 소프트웨어 업데이트가 요구되는 경우, 소프트웨어 업데이트를 위한 어플리케이션을 브로드캐스팅한다(단계 100). 여기서, 데이터 서버는 방송망을 통해 방송 신호를 송출하는 헤드엔드에 포함된 구성이다.
어플리케이션이 브로드캐스팅 되는 동안 데이터 서버는 방송 수신 단말로 시그널링(signaling)을 전송한다(단계 102).
MHP(Multimedia Home Platform) 규격에 따르면, 시그널링은 AIT(Application Information Table)일 수 있으며, OCAP(Open Cable Application Platform)에서는 XAIT(Extensible AIT)일 수 있다. 또한 시그널링은 CVT(Code Version Table)일 수 있다. 여기서, CVT는 단말기의 이미지를 업데이트를 시그널링하는 메시지이다.
방송 수신 단말은 브로드캐스팅 되는 데이터 및 시그널링를 수신하며(단계 104), 데이터가 메모리에 저장이 완료되는지 여부를 판단하고(단계 106), 데이터의 저장이 완료되는 경우, 리부팅(re-booting)을 통해 소프트웨어를 업데이트 한다(단계 108).
단계 108은 방송 수신 단말에 포함된 부트로더(boot-loader)에 의해 수행될 수 있다.
도 1과 같이, 소프트웨어 업데이트를 위한 데이터를 브로드캐스팅하는 경우, 모든 방송 수신 단말이 데이터를 수신 완료할 때까지 브로드캐스팅이 유지되어야 하기 때문에 네트워크 자원이 낭비되는 단점이 있다.
도 2는 종래기술에 따른 소프트웨어 업데이트의 다른 예를 도시한 흐름도이다.
도 2는 IPTV 또는 OCAP 환경에서 HTTP(HyperText Transfer Protocol) 기반으로 소프트웨어 업데이트를 위한 데이터를 전송하는 경우를 도시한 것이다.
도 2를 참조하면, 소프트웨어 업데이트가 필요한 경우 데이터 서버는 방송 수신 단말로 시그널링을 전송한다(단계 200). 단계 200의 시그널링에는 서버의 URL 정보가 포함된다.
단계 200은 일반적인 방송망을 통해 수행될 수 있다.
시그널링을 수신한 방송 수신 단말은 데이터 서버에 접속하며(단계 202), 데이터 서버는 접속한 방송 수신 단말에 소프트웨어 업데이트를 위한 데이터를 전송한다(단계 204).
특히, OCAP 환경에서 상기한 방식으로 소프트웨어 업데이트를 수행하는 경우, XAIT에는 소프트웨어 업데이트를 위한 데이터가 존재하는 HTTP URL이 포함되며, 이러한 XAIT(시그널링)은 방송망을 통해 방송 수신 단말로 브로드캐스팅되고, 방송 수신 단말은 HTTP URL에 따른 서버에 접속하여 데이터를 다운로드 하게 된다.
도 2와 같이, 서버-클라이언트 기반으로 소프트웨어를 업데이트하는 경우, 많은 방송 수신 단말이 서버에 접속하기 때문에 서버에 많은 부하를 받는 문제점이 있다.
특히 방송망에서 소프트웨어 업데이트는 모든 방송 수신 단말에서 동시에 이루어지는 경우가 일반적인데, 상기한 바와 같이, 모든 방송 수신 단말이 동시에 서버에 접속하게 되면, 서버에 부하가 집중되어 효율적인 업데이트가 수행되기 어렵다.
본 발명은 상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 방송망에서 소프트웨어 업데이트가 효율적으로 이루어지도록 하는 소프트웨어 업데이트 방법 및 장치를 제안하고자 한다.
상기한 목적을 달성하기 위해, 본 발명의 바람직한 일 실시예에 따르면, 데이터 서버 및 트랙커(tracker)와 네트워크를 통해 연결되는 방송 수신 단말의 소프트웨어 업데이트 방법으로서, 상기 데이터 서버로부터 소프트웨어 업데이트를 위한 시그널링을 수신하는 단계-상기 시그널링에는 상기 소프트웨어 업데이트를 위한 데이터의 P2P(peer to peer) 전송 정보가 포함됨-; 상기 데이터 서버 및 하나 이상의 다른 방송 수신 단말로부터 블록 단위로 상기 데이터를 다운로드하는 단계; 및 상기 데이터에 상응하는 전체 블록의 다운로드가 완료되는 경우, 상기 트랙커의 업데이트 명령에 따라 상기 소프트웨어 업데이트를 수행하는 단계를 포함하는 소프트웨어 업데이트 방법이 제공된다.
본 발명의 다른 측면에 따르면, 트랙커(tracker) 및 하나 이상의 방송 수신 단말과 네트워크를 통해 연결되어 상기 방송 수신 단말의 소프트웨어를 업데이트하는 장치로서, 상기 방송 수신 단말의 소프트웨어 업데이트를 위한 시그널링을 생성하는 시그널링 생성부-상기 시그널링에는 상기 소프트웨어 업데이트를 위한 데이터의 P2P(peer to peer) 전송 정보가 포함됨-; 상기 소프트웨어 업데이트를 위한 데이터를 블록 단위로 분할하는 블록 분할부; 및 상기 데이터를 블록 단위로 하나 이상의 방송 수신 단말로 전송하는 통신부를 포함하되, 상기 방송 수신 단말은 상기 데이터의 전체 블록의 다운로드가 완료된 후 상기 트랙커의 업데이트 명령에 따라 상기 소프트웨어 업데이트를 수행하는 소프트웨어 업데이트 장치가 제공된다.
본 발명의 또 다른 측면에 따르면, 데이터 서버 및 하나 이상의 방송 수신 단말과 네트워크를 통해 연결되어 상기 방송 수신 단말의 소프트웨어를 업데이트를 제어하는 장치로서, 상기 하나 이상의 방송 수신 단말에 소프트웨어 업데이트를 위한 시그널링을 전송되고, 상기 데이터 서버가 상기 소프트웨어 업데이트를 위한 데이터를 블록 단위로 전송하는 경우, 상기 하나 이상의 방송 수신 단말 각각의 다운로드 완료율을 모니터링하는 다운로드 모니터링부; 상기 모니터링되는 다운로드 완료율을 통해 데이터 가용성을 모니터링하는 가용성 모니터링부; 및 상기 데이터 가용성에 기초하여 상기 하나 이상의 방송 수신 단말의 업데이트 시점을 결정하는 업데이트 제어부를 포함하되, 상기 방송 수신 단말은 상기 업데이트 제어부에 의해 결정된 업데이트 시점에 상기 소프트웨어 업데이트를 수행하는 것을 특징으로 하는 소프트웨어 업데이트 제어 장치가 제공된다.
본 발명에 따르면, 방송 수신 단말의 소프트웨어 업데이트를 위한 데이터를 P2P 방식으로 전송하며, 나아가 데이터 가용성이 일정 수준 이상 유지되도록 업데이트 시점을 제어하기 때문에 데이터 전송 효율을 높일 수 있다.
도 1은 종래기술에 따른 소프트웨어 업데이트 과정의 일 예를 도시한 흐름도.
도 2는 종래기술에 따른 소프트웨어 업데이트의 다른 예를 도시한 흐름도.
도 3은 본 발명의 바람직한 일 실시예에 따른 방송 시스템의 구성을 도시한 도면.
도 4는 본 발명에 따른 데이터 서버의 상세 구성을 도시한 도면.
도 5는 본 발명에 따른 트랙커의 상세 구성을 도시한 도면.
도 6은 본 발명에 따른 트랙커가 그룹 단위로 방송 수신 단말을 관리하는 상태를 도시한 도면.
도 7은 본 발명에 따른 소프트웨어 업데이트 과정을 도시한 흐름도.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면 번호에 상관없이 동일한 수단에 대해서는 동일한 참조 번호를 사용하기로 한다.
도 3은 본 발명의 바람직한 일 실시예에 따른 방송 시스템의 구성을 도시한 도면이다.
도 3에 도시된 바와 같이, 본 발명에 따른 방송 시스템은 AV(Audio/Video) 서버(300) 및 데이터 서버(302)를 포함하며, 방송 시스템은 하나 이상의 방송 수신 단말(310)과 네트워크를 통해 연결될 수 있다.
본 발명에 따른 방송 시스템이 IPTV 시스템인 경우, 네트워크는 IP 프로토콜에 따라 데이터를 송수신하는 인터넷일 수 있다.
한편, 방송 시스템은 멀티플렉서, 모듈레이션 및 업커버팅을 수행하는 송출부를 더 포함할 수 있으며, 이러한 경우, 네트워크는 통상의 지상망, 위성망 및 케이블망을 포함하는 방송망을 포함할 수 있다.
AV 서버(300)는 프로그램 프로바이더(Program Provider)로부터 제공된 방송 프로그램의 오디오 및 비디오 신호(Audio/Video: AV 신호)를 미리 설정된 포맷으로(MPEG-2 Transport Stream) 인코딩한다.
데이터 서버(302)는 어플리케이션 저작툴을 통해 입력된 어플리케이션을 암호화하고, 암호화된 어플리케이션을 출력하는 어플리케이션 서버 또는 단말기 이미지를 제공하는 단말 이미지 서버를 모두 포함할 수 있다.
여기서, 단말기 이미지는 단말기의 펌웨어(firmware), 운영체제(Operation System)과 그 위에서 실행되는 어플리케이션을 전체 또는 일부를 업그레이드 가능한 형태로 압축/변환/부호화한 것을 의미한다.
하기에서는 데이터 서버(302)가 어플리케이션 업데이트를 수행하는 과정을 중심으로 설명하나, 단말 이미지 업데이트를 위해서도 동일한 과정을 수행될 수 있다는 점은 당업자에게 있어 자명할 것이다.
상기한 AV 서버(300)에서 출력된 전송 스트림 및 데이터 서버(302)로부터 제공된 어플리케이션은 멀티플렉서를 통해 다중화된 후 변조 및 업컨버팅되어 방송 수신 단말(310)로 전송된다.
방송 수신 단말(310)은 방송 신호를 디코딩하며, 어플리케이션을 실행하는 플랫폼 이미지를 포함하는 셋톱박스일 수 있으나, 반드시 이에 한정되지 않으며, 데스크탑, 노트북, 그밖에 네트워크를 통해 수신된 전송 스트림을 디코딩할 수 있는 단말이라면 모두 포함할 수 있다.
본 발명에 따른 데이터 서버(302)는 방송 수신 단말(310)의 소프트웨어 업데이트가 필요한 경우, 시그널링을 생성한다.
전술한 바와 같이, 시그널링은 어플리케이션에 관련된 정보를 저장하고 있는 XAIT 또는 CVT일 수 있다.
본 발명의 바람직한 일 실시예에 따르면, 소프트웨어 업데이트는 P2P(Peer to Pear) 방식으로 이루어진다.
이를 위해, 트랙커(320)가 제공되며, 트랙커(320)는 네트워크를 통해 데이터 서버(302) 및 소프트웨어 업데이트를 수행하는 복수의 방송 수신 단말(310)과 네트워크를 통해 연결된다.
본 발명에 따른 데이터 서버(302)는 소프트웨어 업데이트가 필요한 경우, P2P 전송 정보를 포함하는 시그널링을 생성하며, 이를 방송 수신 단말(310)로 전송한다.
여기서, P2P 전송 정보는 방송 수신 단말(310)이 P2P 방식으로 전송되는 소프트웨어 업데이트를 위한 데이터의 식별 정보 및 이를 수신하기 위한 위치(주소) 또는 경로에 관한 정보를 포함한다.
본 발명에 따른 P2P 전송 정보는 공지의 토렌트(torrent) 파일로 구성될 수 있으며, 이를 위해 본 발명에 따른 방송 수신 단말(310)에는 토렌트 파일을 해석하고, 데이터의 개별 블록을 다운로드/업로드 하기 위한 클라이언트 프로그램이 설치된다.
상기한 P2P 전송 정보를 해석한 방송 수신 단말(310)은 트랙커(320)에 접속하여 완전한 데이터를 저장하고 있는 씨더(seeder) 주소 정보 또는 개별 블록을 저장하고 있는 방송 수신 단말(Leacher)의 주소 정보를 입수하며, 주소 정보를 기반으로 소프트웨어 업데이트를 위한 데이터의 개별 블록을 다운로드 한다.
이때, 씨더는 초기에 데이터 서버(302)만이 해당될 수 있으나, 다운로드가 진행되는 동안 다른 방송 수신 단말도 씨더가 될 수 있다.
일반 P2P 방식과 마찬가지로 방송 수신 단말(310)은 개별 블록의 다운로드와 동시에 업로드를 수행할 수 있다.
트랙커(320)는 소프트웨어 업데이트가 요구되는 경우, 데이터 서버(302), 즉, 소프트웨어 업데이트를 위한 완전한 데이터를 저장하고 있는 초기 씨더(initial seeder) 및 다운로드를 진행하고 있는 각 방송 수신 단말(310)의 상태를 모니터링하면서, 데이터 서버(302)의 부하를 분산시킨다.
일반적으로, 방송 수신 단말(310)은 소프트웨어 업데이트를 위한 데이터의 수신을 완료하는 경우, 바로 소프트웨어 업데이트를 위한 리부팅(re-booting 또는 re-load)을 진행한다.
상기한 리부팅을 위해서는 임시 메모리에 다운로드한 데이터를 플래시와 같은 메모리에 쓰는 시간과 리부팅한 후 소프트웨어를 실행하여 안정화되는 상태까지 대기해야 하는 시간이 소요된다.
이러한 경우, 다운로드한 데이터의 저장 공간이 변경되기 때문에 리부팅을 수행하고 있는 방송 수신 단말(310)은 P2P 시스템에서 씨더로서 기능할 수 없다.
이러한 문제를 방지하기 위해, 본 발명에 따른 트랙커(320)는 방송 수신 단말(310)의 다운로드 완료율을 모니터링하며, 데이터 가용성(avalibiltiy)을 적절한 수준으로 유지한다.
여기서, 데이터 가용성이란 소프트웨어 업데이트를 위한 데이터가 네트워크 상에서 얼마큼 존재하고 있는지에 관한 정보이다.
초기 시점에는 데이터 서버(302)만이 씨더가 되므로 가용성은 1이 된다.
각 방송 수신 단말(310)에서 P2P 방식으로 다운로드가 진행되는 경우, 데이터 가용성은 1을 넘는 값을 가지게 되며, 데이터를 다운로드 완료한 방송 수신 단말(310)이 증가할수록 또는 개별 블록을 수신하고 있는 방송 수신 단말(310)이 증가할수록 높은 값을 가지게 된다.
본 발명의 일 실시예에 따르면, 트랙커(320)는 많은 수의 방송 수신 단말(310)이 데이터의 다운로드를 완료할 수 있도록 가용성을 미리 설정된 수치 이상(예를 들어, 10 이상)으로 유지시키면서 데이터의 다운로드를 완료한 방송 수신 단말(310)의 업데이트 시점을 제어한다.
바람직하게, 본 발명에 따른 트랙커(320)는 데이터 서버(302)에서 제공된 정보를 이용하여 가용성 수치 및 업데이트 시점을 결정한다.
본 발명에 따른 트랙커(320)에는 복수의 데이터 서버(302)가 연결될 수 있으며, 각 데이터 서버(302)에서 제공되는 어플리케이션마다 적절한 가용성 및 업데이트 시점이 다르게 결정될 수 있다. 이에, 트랙커(320)는 각 데이터 서버(302)으로부터 가용성 수치를 수신하여, 수신된 수치 이상으로 가용성이 유지되는지 모니터링하고, 또한 이에 기초하여 업데이트 시점을 결정하게 된다.
한편, 본 발명의 다른 실시예에 따르면, 트랙커(320)는 모든 방송 수신 단말(310)에서 데이터 다운로드가 완료되는 경우에 일괄적으로 리부팅이 수행되도록 제어할 수 있다.
방송 수신 단말(310)은 데이터의 다운로드가 완료되었다고 하더라도 상기한 트랙커(320)의 제어에 따라 소정 시점에 소프트웨어 업데이트 과정을 수행한다.
본 발명에 따르면, 방송망에서 소프트웨어 업데이트를 위한 데이터를 P2P 방식으로 전송하며, 데이터의 다운로드를 완료한 방송 수신 단말이 트랙커(320)의 제어에 따라 리부팅을 수행하기 때문에 데이터 서버(302)의 부하를 분산시키면서 아울러 적절할 수의 씨더를 유지시킬 수 있다.
도 4는 본 발명에 따른 데이터 서버의 상세 구성을 도시한 도면이다.
도 4에 도시된 바와 같이, 본 발명에 따른 데이터 서버(302)는 어플리케이션 인코딩부(400), 시그널링 생성부(402), 등록 요청부(404), 블록 분할부(406) 및 통신부(408)를 포함할 수 있다.
어플리케이션 인코딩부(400)는 어플리케이션 저작툴을 통해 제작된 어플리케이션을 미리 설정된 방식으로 암호화(encapsulation)한다.
시그널링 생성부(402)는 방송 수신 단말의 소프트웨어 업데이트를 위한 시그널링을 생성한다.
전술한 바와 같이, 본 발명에 따른 시그널링에는 P2P 전송 정보가 포함된다.
본 발명에 따른 P2P 전송 정보는 트랙커(320)의 URL 정보 및 소프트웨어 업데이트를 위한 데이터의 이름 및 길이, 그리고, 데이터의 개별 블록에 대한 길이 및 블록의 무결성을 검증하기 위한 해시 코드를 포함할 수 있다.
등록 요청부(404)는 데이터 서버(302)가 트랙커(320)에 초기 씨더로서 등록되도록 요청한다.
트랙커(302)는 데이터의 다운로드가 진행되는 동안 씨더의 수를 파악하며, 데이터를 다운로드 받은 방송 수신 단말의 수가 늘어나는 경우에 데이터 서버(302)의 부하를 분산시킨다. 바람직하게, 트랙커(302)는 미리 설정된 가용성이 넘어서는 경우, 데이터 서버(302)의 주소 정보를 방송 수신 단말에 제공하지 않을 수 있다. 즉, 방송 수신 단말이 개별 블록을 다운로드 하기 위해 데이터 서버(302)에 접속하는 것을 차단할 수 있다.
블록 분할부(406)는 소프트웨어 업데이트를 위한 데이터를 블록 단위로 분할한다.
개별 블록의 크기는 전체 데이터의 크기에 따라 다양하게 설정될 수 있으며, 이와 같이 분할된 개별 블록의 이름 및 크기, 무결성을 검증하기 위한 해시 코드가 상기한 P2P 전송 정보에 포함된다.
통신부(408)는 상기와 같이 분할된 개별 블록을 하나 이상의 방송 수신 단말(310)로 전송한다.
본 발명에 따르면, 통신부(408)는 데이터가 n개의 블록으로 분할된 경우, n개의 방송 수신 단말로 각 블록을 전송할 수 있다. 그러나 이에 한정됨이 없이 네트워크 상에 씨더의 개수가 적절한 숫자만큼 존재하도록 초기 시점에서 미리 설정된 방송 수신 단말에 블록 전체를 전송할 수도 있다.
도 5는 본 발명에 따른 트랙커의 상세 구성을 도시한 도면이다.
도 5에 도시된 바와 같이, 본 발명에 따른 트랙커(320)는 네트워크 통신부(500), 등록부(502), 다운로드 모니터링부(504), 가용성 모니터링부(506) 및 업데이트 제어부(508)를 포함할 수 있다.
네트워크 통신부(500)는 데이터 서버(302) 및 각 방송 수신 단말(310)로부터 등록 요청을 수신하며, 등록부(502)는 P2P 네트워크에 포함된 데이터 서버(302) 및 방송 수신 단말(310)을 등록한다.
등록부(502)에는 데이터 서버(302) 및 방송 수신 단말(310)의 식별 정보 및 주소 정보가 저장될 수 있다.
또한, 네트워크 통신부(500)는 소프트웨어 업데이트를 위한 데이터의 다운로드가 진행되는 경우, 방송 수신 단말(310)로부터 다운로드 관련 정보를 수신하며, 다운로드 모니터링부(504)는 상기와 같이 수신된 다운로드 관련 정보를 이용하여 각 방송 수신 단말(310)의 다운로드 완료율을 모니터링한다. 여기서, 다운로드 관련 정보는 다운로드 받고 있는 단말 식별 정보, 다운로드 완료된 블록 정보를 포함할 수 있다.
가용성 모니터링부(506)는 각 방송 수신 단말(310)의 다운로드 완료율을 통해 데이터 가용성을 모니터링한다.
전술한 바와 같이, 데이터 가용성은 소프트웨어 업데이트를 위한 데이터가 네트워크 상에서 얼마큼 존재하고 있는지에 관한 정보이다.
초기 시점에는 데이터 서버(302)만이 씨더로 존재하므로 데이터 가용성은 1이 되며, 만일 제1 방송 수신 단말이 1/2에 해당하는 블록을 수신하는 경우, 데이터 가용성은 1.5가 된다.
바람직하게, 가용성 모니터링부(506)는 완전한 데이터를 저장하고 있는 씨더의 수를 모니터링할 수 있다. 즉 개별 블록을 다운로드하고 있는 방송 수신 단말은 제외하고, 데이터 전체를 다운로드 완료한 방송 수신 단말의 수를 관리할 수도 있는 것이다.
하기에서 데이터 가용성은 네트워크 상에 존재하는 씨더의 수인 것으로 가정하여 설명한다.
본 발명에 따른 업데이트 제어부(508)는 모니터링된 가용성에 기초하여 방송 수신 단말(310)의 소프트웨어 업데이트 시점을 제어한다.
이때, 업데이트 제어부(508)는 가용성이 미리 설정된 수치 이상이 유지되는 것을 전제로 하여 방송 수신 단말에 업데이트 명령을 전송할 수 있다.
예를 들어, 소프트웨어 업데이트가 필요한 단말의 수가 100개인 경우, 최소 가용성은 10으로 설정될 수 있다.
가용성 모니터링부(506)는 데이터 가용성이 10이상이 되는지 여부를 모니터링하며, 가용성이 10은 넘어서는 경우, 업데이트 제어부(508)는 리부팅을 수행할 방송 수신 단말(310)을 결정한다.
이때, 업데이트 제어부(508)는 리부팅에 의해 가용성이 10이하로 되는지를 고려하여 리부팅을 수행할 방송 수신 단말(310)의 수를 결정할 수 있다.
예를 들어, 임계 데이터 가용성이 10으로 설정되고, 현재 데이터 가용성이 14인 경우, 4개의 방송 수신 단말에서 업데이트를 위한 리부팅이 수행되더라도 씨더의 수는 10이상을 유지할 수 있으므로 업데이트 제어부(508)는 결정된 수를 반영하여 4개의 방송 수신 단말로 업데이트 명령을 전송한다.
이때, 업데이트 명령을 수신하는 방송 수신 단말(310)은 랜덤하게 결정될 수 있다.
본 발명의 일 실시예에 따르면, 트랙커(320)는 미리 설정된 그룹별로 방송 수신 단말의 업데이트 시점을 제어할 수 있다.
도 6에 도시된 바와 같이, 트랙커(320)는 복수의 방송 수신 단말(310)을 복수의 그룹(Group 1 내지 Group n)으로 관리하면서, 각 그룹 별로 가용성을 모니터링하고, 각 그룹별로 업데이트 시점을 제어할 수 있다.
도 6에서는 하나의 트랙커(320)가 복수의 그룹을 관리하는 것으로 도시하였으나, 이에 한정됨이 없이 각 그룹별로 트랙커가 제공될 수도 있다는 점은 당업자에게 있어 자명할 것이다.
한편, 트랙커(320)는 일괄적으로 업데이트 명령을 전송할 수도 있다.
이를 위해, 업데이트 시점이 모든 방송 수신 단말이 데이터의 다운로드를 완료한 시점으로 설정될 수 있으며, 업데이트 제어부(508)는 각 방송 수신 단말(310)의 다운로드 완료율을 통해 모든 단말에서 데이터의 다운로드가 완료되는 경우에 업데이트 명령을 생성한다.
상기 업데이트 명령은 네트워크 통신부(500)를 통해 각 방송 수신 단말에 브로드캐스팅될 수 있다.
본 발명에 따르면, P2P 전송 방식에 있어 각 방송 수신 단말의 업데이트 시점을 데이터 가용성 등을 고려하여 결정함으로써 네트워크 상에 적절한 씨더를 유지함으로써 데이터의 다운로드 효율을 높이게 된다.
도 7은 본 발명에 따른 소프트웨어 업데이트 처리 과정을 도시한 흐름도이다.
도 7을 참조하면, 데이터 서버(302)는 소프트웨어 업데이트가 요구되는 경우, 시그널링을 생성하고(단계 700), 이를 방송 수신 단말(310)로 전송한다(단계 702).
상기에서는 데이터 서버(302)가 시그널링을 전송하는 것으로 설명하였으나, 이에 한정됨이 없이 트랙커(320)가 데이터 서버(302)로부터 AIT, XAIT 또는 CVT 정보를 제공 받아 방송 수신 단말(310)로 시그널링을 전송하는 것도 본 발명의 범주에 포함될 수 있다.
여기서, 시그널링은 브로드캐스팅 또는 IPTV 시스템의 유니캐스팅 및 멀티캐스팅을 통해 방송 수신 단말(310)로 전송된다.
방송 수신 단말(310)은 시그널링에 포함된 P2P 전송 정보를 해석한다(단계 704).
상기한 P2P 전송 정보에는 트랙커(320)의 URL이 포함되며, 이를 통해 방송 수신 단말(310)은 트랙커(320)에 등록을 요청한다(단계 706).
이후, 데이터 서버(302)는 소프트웨어 업데이트를 위한 데이터 블록을 방송 수신 단말(310)로 전송하며(단계 708), 방송 수신 단말(310)은 트랙커(320)와 연동하여 개별 블록이 저장된 서버(302) 및 다른 방송 수신 단말의 주소 정보를 이용하여 개별 블록을 수신한다(단계 710).
트랙커(320)는 방송 수신 단말(310)과 연동하여 데이터의 다운로드 완료율 및 데이터 가용성을 모니터링하며(단계 712), 데이터 가용성을 기초로 하여 업데이트 명령을 방송 수신 단말(310)로 전송한다(단계 714).
데이터 다운로드를 완료한 방송 수신 단말(310)은 트랙커(302)의 업데이트 명령에 따라 소프트웨어 업데이트를 수행한다(단계 716)
상기에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (11)

  1. 데이터 서버 및 트랙커(tracker)와 네트워크를 통해 연결되는 방송 수신 단말의 소프트웨어 업데이트 방법으로서,
    상기 데이터 서버로부터 소프트웨어 업데이트를 위한 시그널링을 수신하는 단계-상기 시그널링에는 상기 소프트웨어 업데이트를 위한 데이터의 P2P(peer to peer) 전송 정보가 포함됨-;
    상기 데이터 서버 및 하나 이상의 다른 방송 수신 단말로부터 블록 단위로 상기 데이터를 다운로드하는 단계; 및
    상기 데이터에 상응하는 전체 블록의 다운로드가 완료되는 경우, 상기 트랙커의 업데이트 명령에 따라 상기 소프트웨어 업데이트를 수행하는 단계를 포함하되,
    상기 트랙커는 상기 데이터 서버가 상기 데이터를 블록 단위로 전송하는 경우에 데이터 가용성이 미리 설정된 수치 이상이 되는지 여부를 모니터링하며, 상기 데이터 가용성의 수치에 따라 업데이트를 수행할 방송 수신 단말의 수를 결정하는 소프트웨어 업데이트 방법.
  2. 제1항에 있어서,
    상기 시그널링에 포함된 상기 P2P 전송 정보는 상기 트랙커의 URL 정보 및 상기 데이터의 이름 및 길이, 상기 데이터의 개별 블록의 길이 및 상기 블록의 무결성을 검증하기 위한 해시 코드 중 적어도 하나를 포함하는 소프트웨어 업데이트 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 트랙커는 미리 설정된 그룹에 속하는 복수의 방송 수신 단말에서 상기 데이터의 모든 블록의 다운로드가 완료되는 경우, 상기 그룹에 속하는 모든 방송 수신 단말에 업데이트 명령을 전송하는 소프트웨어 업데이트 방법.
  5. 제1항에 있어서,
    상기 트랙커는 상기 데이터 가용성의 수치에 따라 업데이트를 수행할 하나 이상의 방송 수신 단말을 결정하고, 상기 결정된 방송 수신 단말에 업데이트 명령을 전송하는 소프트웨어 명령을 전송하는 소프트웨어 업데이트 방법.
  6. 제1항에 있어서,
    상기 트랙커에 등록 요청을 전송하는 단계; 및
    상기 데이터를 블록 단위로 수신하는 동안 상기 트랙커로 다운로드 관련 정보를 전송하는 단계를 포함하는 소프트웨어 업데이트 방법.
  7. 트랙커(tracker) 및 하나 이상의 방송 수신 단말과 네트워크를 통해 연결되어 상기 방송 수신 단말의 소프트웨어를 업데이트하는 장치로서,
    상기 방송 수신 단말의 소프트웨어 업데이트를 위한 시그널링을 생성하는 시그널링 생성부-상기 시그널링에는 상기 소프트웨어 업데이트를 위한 데이터의 P2P(peer to peer) 전송 정보가 포함됨-;
    상기 소프트웨어 업데이트를 위한 데이터를 블록 단위로 분할하는 블록 분할부; 및
    상기 데이터를 블록 단위로 하나 이상의 방송 수신 단말로 전송하는 통신부를 포함하되,
    상기 방송 수신 단말은 상기 데이터의 전체 블록의 다운로드가 완료된 후 상기 트랙커의 업데이트 명령에 따라 상기 소프트웨어 업데이트를 수행하며,
    상기 통신부는 상기 트랙커에서 데이터 가용성이 미리 설정된 수치 이상인 것으로 판단되는 경우, 상기 데이터의 블록 전송을 중단하는 소프트웨어 업데이트 장치.
  8. 삭제
  9. 제7항에 있어서,
    상기 트랙커는 상기 데이터 가용성의 수치에 따라 업데이트를 수행할 하나 이상의 방송 수신 단말을 결정하고, 상기 결정된 방송 수신 단말에 업데이트 명령을 전송하는 소프트웨어 업데이트 장치.
  10. 제7항에 있어서,
    상기 트랙커는 미리 설정된 그룹에 속하는 복수의 방송 수신 단말에서 상기 데이터의 모든 블록의 다운로드가 완료되는 경우, 상기 그룹에 속하는 모든 방송 수신 단말에 업데이트 명령을 전송하는 소프트웨어 업데이트 장치.
  11. 데이터 서버 및 하나 이상의 방송 수신 단말과 네트워크를 통해 연결되어 상기 방송 수신 단말의 소프트웨어를 업데이트를 제어하는 장치로서,
    상기 하나 이상의 방송 수신 단말에 소프트웨어 업데이트를 위한 시그널링을 전송되고, 상기 데이터 서버가 상기 소프트웨어 업데이트를 위한 데이터를 블록 단위로 전송하는 경우, 상기 하나 이상의 방송 수신 단말 각각의 다운로드 완료율을 모니터링하는 다운로드 모니터링부;
    상기 모니터링되는 다운로드 완료율을 통해 데이터 가용성을 모니터링하는 가용성 모니터링부; 및
    상기 데이터 가용성에 기초하여 상기 하나 이상의 방송 수신 단말의 업데이트 시점을 결정하는 업데이트 제어부를 포함하되,
    상기 방송 수신 단말은 상기 업데이트 제어부에 의해 결정된 업데이트 시점에 상기 소프트웨어 업데이트를 수행하는 것을 특징으로 하는 소프트웨어 업데이트 제어 장치.
KR1020100028419A 2009-12-30 2010-03-30 소프트웨어 업데이트 방법 및 장치 KR101625685B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090134386 2009-12-30
KR20090134386 2009-12-30

Publications (2)

Publication Number Publication Date
KR20110079437A KR20110079437A (ko) 2011-07-07
KR101625685B1 true KR101625685B1 (ko) 2016-05-30

Family

ID=44918812

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100028419A KR101625685B1 (ko) 2009-12-30 2010-03-30 소프트웨어 업데이트 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101625685B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101992680B1 (ko) * 2013-02-05 2019-06-25 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 화상형성장치, 추적장치, 관리장치 및 화상형성장치의 펌웨어 업데이트 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020091807A1 (en) * 2001-01-05 2002-07-11 International Business Machines Corporation Automatic firmware update of processor nodes
JP2008065611A (ja) * 2006-09-07 2008-03-21 Olympus Corp ソフトウェア更新方式及びソフトウェア更新プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020091807A1 (en) * 2001-01-05 2002-07-11 International Business Machines Corporation Automatic firmware update of processor nodes
JP2008065611A (ja) * 2006-09-07 2008-03-21 Olympus Corp ソフトウェア更新方式及びソフトウェア更新プログラム

Also Published As

Publication number Publication date
KR20110079437A (ko) 2011-07-07

Similar Documents

Publication Publication Date Title
US10911834B2 (en) User selection of software components in a television set-top box
KR100777409B1 (ko) 디지털 양방향 방송에서의 네트워크 서비스 프로바이더애플리케이션 프로비저닝 방법
KR101689050B1 (ko) 정보 처리 장치, 데이터 관리 방법 및 기록 매체
JP5720095B2 (ja) 受信装置、受信方法、送信装置、送信方法、プログラム、および放送システム
KR101635569B1 (ko) 컨텐츠 목록 제공 방법 및 그 방법을 채용한 디지털 방송 수신기
WO2018166319A1 (zh) 一种视频播放方法、用户终端以及服务器
US7089579B1 (en) System for transporting MPEG video as streaming video in an HTML web page
US6804708B1 (en) Media-on-demand flexible and adaptive architecture
US20030217369A1 (en) Flexible application information formulation
JP2006502615A (ja) ソフトウェアパッケージの放送
KR20060065645A (ko) 브로드캐스트에서 특징 이용성 핸들링
KR100624682B1 (ko) 아이피 네트워크를 이용한 디지털 방송 시스템에서 전자 티브이 가이드 데이터 송/수신 시스템 및 처리 방법
GB2416409A (en) Updating software in a consumer device
WO2014057833A1 (ja) 受信装置、受信方法、送信装置、送信方法、及び、プログラム
US9888272B2 (en) Method, terminal and CDN server in IPTV system for realizing playing while downloading
CN108271039B (zh) 一种文件发送方法及装置
KR101625685B1 (ko) 소프트웨어 업데이트 방법 및 장치
WO2015178218A1 (ja) 受信装置、受信方法、送信装置、及び、送信方法
KR20120039980A (ko) 통합 방송 분배 장치 및 그 방법
US8789088B2 (en) Method and apparatus for remotely installing and updating different security clients for broadcasting or communication channels
CN101707694B (zh) 一种实现有线电视数据点播的方法和装置
US20100043043A1 (en) Method of switching digital tv application
KR20110079438A (ko) 계층적 트랙커를 이용한 p2p 전송 시스템 및 이를 위한 트랙커 장치
KR102613231B1 (ko) 방송 시스템에서 방송 서비스 정보 제공 방법 및 장치
KR101029651B1 (ko) 케이블 방송 환경의 양방향 컨텐츠 서비스 제공을 위한 시스템 및 그 방법

Legal Events

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

Payment date: 20190326

Year of fee payment: 4