KR20060129312A - 시스템 소프트웨어 업데이트 서비스를 신호화하기 위한사용 로더 - Google Patents

시스템 소프트웨어 업데이트 서비스를 신호화하기 위한사용 로더 Download PDF

Info

Publication number
KR20060129312A
KR20060129312A KR1020067015018A KR20067015018A KR20060129312A KR 20060129312 A KR20060129312 A KR 20060129312A KR 1020067015018 A KR1020067015018 A KR 1020067015018A KR 20067015018 A KR20067015018 A KR 20067015018A KR 20060129312 A KR20060129312 A KR 20060129312A
Authority
KR
South Korea
Prior art keywords
receiver
software
mode
update
receiver system
Prior art date
Application number
KR1020067015018A
Other languages
English (en)
Inventor
샌더 루돌퍼스 쿠이즈만스
Original Assignee
코닌클리케 필립스 일렉트로닉스 엔.브이.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 코닌클리케 필립스 일렉트로닉스 엔.브이. filed Critical 코닌클리케 필립스 일렉트로닉스 엔.브이.
Publication of KR20060129312A publication Critical patent/KR20060129312A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

통신 인터페이스(62)를 통해 업그레이드될 수 있는 비-휘발성 메모리(52) 내에 포함된 소프트웨어를 구비하는 수신기(50)가 개시된다. 상기 수신기(50)는 소프트웨어 업데이트를 검색(16)하고 로딩(28)하기 위해 작동 모드와 연계해 작동하는 대기 모드를 제공한다. 이용가능한 업데이트가 발견된 경우, 상기 수신기는 소프트웨어 업데이트가 업데이트의 로딩(28)과 설치(22)를 허용하기 위해 이용가능하다는 표시(44)를 기록한다. 수신기는, 작동 모드로 들어가면, 소프트웨어 업데이트가 이용가능하다는 표시가 확인되는 수신기를 위한 표시를 생성하기 위해 대기 모드에서 업데이트의 위치를 지정할 수 있으며, 시스템 소프트웨어는 이후 이 새로운 소프트웨어 업데이트를 로드한다. 수신기는 작동 모드 중에 소프트웨어 업데이트를 검색할 수 있으며 이용가능한 업데이트가 발견되면, 수신기는 이 업데이트를 메모리에 로딩하며, 대기 모드로 다시 들어가면, 메모리에 저장된 업데이트는 업데이트가 다음에 작동 모드로 들어갈 때 이용가능하도록 미리 결정된 비-휘발성 메모리에 배치된다.

Description

시스템 소프트웨어 업데이트 서비스를 신호화하기 위한 사용 로더{USE LOADER FOR SIGNALING THE SYSTEM SOFTWARE UPDATE SERVICE}
본 발명은, 수신기 디바이스, 더 구체적으로 셋톱 박스에 대한 소프트웨어 업그레이드에 관한 것이다.
셋톱 박스의 현재 구현에서, 셋톱 박스 내의 수신기는 시스템 소프트웨어 업데이트의 검색에 관한 기능을 포함한다. 일반적으로, 셋톱 박스는 셋톱 박스의 기능을 수용해서 일반 방송(broadcast)을 수행하는 시스템 소프트웨어를 구비한다. 추가적으로, 로더들은 시스템 소프트웨어 업데이트를 수행하기 위해 업데이트 서비스를 찾는 것을 담당하는 수신기 내부에 구현된다. 수신기는 시스템 소프트웨어 업데이트에 관한 데이터(예, 새로운 시스템 소프트웨어의 설명, 버전 번호, 시스템 소프트웨어 업데이트 방송의 시작 및 종료 시간, 시스템 소프트웨어 업데이트의 예상 지속 기간 등)를 얻기 위해 이 시스템 소프트웨어 업데이트 서비스를 찾을 수 있어야 한다. 이들 종래 기술의 구현에서의 문제점은 시스템 소프트웨어와 로더 내의 시스템 소프트웨어 검색 기능이 사용된 코드에서 다를 수 있으며(로더를 제 3자에게서 가져온 경우 발생할 수 있는 상황) 시스템 소프트웨어와 로더 사이의 비호환성이 야기된다. 이들 상황은 시스템 소프트웨어와 로더 사이의 시스템 소프트웨 어 업데이트를 처리하는데 비일관성을 초래할 수 있다. 예를 들어, 시스템 소프트웨어는 시스템 소프트웨어 업데이트 서비스를 찾을 수 있으며 사용자에게 시스템 소프트웨어 업데이트가 시작될 것이라고 알릴 수 있다. 그러나, 로더가 시스템 소프트웨어 업데이트 서비스를 발견하지 않는 경우, 통신 또는 기본 비호환성의 부족으로 인해, 시스템 소프트웨어 업데이트는 발생하지 않을 것이다.
전술한 논의로부터, 일관된 방식으로 시스템 소프트웨어를 업데이트할 수 있는 시스템 소프트웨어 및 로더 구성에 대한 셋톱 박스의 기술 내에서 필요성이 존재하는 것은 명백할 것이다.
본 발명은 종래 기술 내의 단점을 다루는데, 이는 적어도 제 1 모드가 수신기에 대한 일반 작동 모드가 되도록 수신기 상의 복수의 모드를 가지는 수신기를 제공하고, 모드들 중 적어도 하나의 소프트웨어 업데이트를 검색하며, 상기 수신기 내의 모드들 중 하나에 소프트웨어 업데이트의 가용성을 표시하며, 이용가능한 소프트웨어 업데이트를 상기 수신기로 전송하며; 전송된 소프트웨어 업데이트를 상기 수신기에 설치함으로써 이루어진다.
본 발명의 목적은 네트워크에 연결되고 네트워크 연결을 통해 업그레이드될 수 있는 시스템 내의 비-휘발성 메모리로 구성된 시스템을 제공하는 것이다.
본 발명의 추가적인 목적은 시스템이 소프트웨어 업데이트를 검색하고, 소프트웨어 업데이트가 이용가능한 시스템에 대한 표시를 제공하는 대기 모드를 가진 시스템을 제공하는 것이다.
본 발명의 추가적인 목적은 작동 모드를 가진 시스템을 제공하는 것이며, 이 시스템은 소프트웨어 업데이트가 이용가능하다는 표시를 인지하고 이 시스템 소프트웨어는 소프트웨어 업데이트를 로딩하는 것이다.
본 발명의 추가적인 목적은 작동 모드 중에 이용가능한 소프트웨어 업데이트를 검색할 수 있고 이용가능한 소프트웨어 업데이트를 시스템으로 전송할 수 있는 작동 모드를 가진 시스템을 제공하는 것이다.
본 발명의 또 다른 추가적인 목적은 대기 모드로 재진입함과 동시에, 로딩 프로그램이 시스템으로 전송된 소프트웨어 업데이트를 로딩하는 대기 모드를 가진 시스템을 제공하는 것이다.
이들 및 다른 목적은 네트워크에 연결되고, 네트워크 연결을 통해 업그레이드될 수 있는 비-휘발성 메모리 내에 포함된 소프트웨어를 가진 시스템에 의해 제공된다. 이 시스템은 대기 모드를 제공하며, 이 모드에서 시스템은 소프트웨어 업데이트를 검색하고 이용가능한 업데이트가 발견된 경우, 시스템은 소프트웨어 업데이트가 이용가능하다는 표시를 기록한다. 시스템이 동작 모드에 들어가면, 소프트웨어 업데이트가 이용가능하다는 표시가 시스템에 의해 확인되며 시스템 소프트웨어는 이후 새 소프트웨어 업데이트를 로딩한다. 시스템은 작동 모드 중에 소프트웨어 업데이트를 검색할 수 있으며 이용가능한 업데이트가 발견된 경우, 시스템은 이 업데이트를 메모리에 로딩하고 대기 모드로 다시 들어가면, 메모리에 저장된 업데이트는 미리 결정된 비-휘발성 메모리에 배치되어서 업데이트가 다음에 작동 모드로 들어갈 때 이용가능하도록 한다.
도 1은 본 발명의 바람직한 실시예를 도시하는 흐름도.
도 2는 도 1의 알고리즘을 실행하기 위한 셋톱 박스에 대한 블록도.
도 1은 본 발명을 실시하기 위해 사용된 로더(10)를 위한 흐름도이다. 도 2는 흐름도와 도 1에 도시된 로더(10) 알고리즘을 실행할 수 있는 일반적인 셋-톱 박스 내의 하드웨어(50)에 대한 블록도이다.
도 2를 참조하면, 셋톱 박스를 위한 하드웨어(50)는 입력/출력 제어기(60)의 직접 제어 하에서 작동하는 전단부(62)를 구비한다. 원격 제어가 될 수 있는, 전면 패널 제어부(64)는 명령을 입력 출력 제어기(60)로 제공할 것이다. 입력/출력 제어기(60)는 또한 IEEE1394 인터페이스(66) 또는 RS232 인터페이스(68)를 통해 데이터를 수신하고 전송할 수 있다. 셋톱 박스 하드웨어(50)에 의해 수신된 데이터는 전단부(62)로 들어가서 메모리(58)에 위치될 것이다. 메모리(58)는 휘발성 또는 비-휘발성 메모리가 될 수 있으며, 이것은 일부 유형의 DRAM인 것이 바람직하다. 셋톱 박스를 실행하는 시스템 소프트웨어는 일반적으로 플래시 메모리와 같이, 비-휘발성 유형의 메모리 내에 존재한다. 모두 작성될 수 있지만 일단 시스템 전력이 제거되면 그들의 컨텐츠를 손실하지 않는, EEPROM, FLASH 메모리 또는 배터리 전원 공급된 DRAM과 같은 다른 유형의 비-휘발성 메모리가 존재한다. FLASH(52)는 시스템 소프트웨어의 현재 버전을 유지하는 본 발명의 바람직한 실시예에 의해 채용된 플래시-메모리이다. 셋톱 박스 하드웨어(50)는 CPU 버스(75)를 통해 CPU(70)의 제어 하에서 작동할 것이다. CPU(70)와 FLASH(52) 뿐만 아니라, DRAM(54)과 메모리(56)는 또한 CPU(70)에 의해 사용될 수 있는 자원으로서 CPU 버스(75) 상에 존재한다. 추가적으로, CPU(70)는 별도의 전용 버스 상에서 비디오 그래픽(72)과 인터페이스한다. 바람직한 실시예에서 구상된 것처럼, 비디오 그래픽(72)은 적어도 하나의 메모리 자원을 구비한다.
바람직하게, 셋톱 박스 하드웨어(50)에서, 그리고 일반적으로 디지털 텔레비전 도메인 내에서, 수신기의 시스템 소프트웨어(셋톱 박스용 또는 디지털 텔레비전용)는 플래시 메모리가 비-휘발성이고 작성될 수 있기 때문에 플래시 메모리 내에 저장된 대부분에 대한 것이다. FLASH(52)는 시스템 소프트웨어를 저장하는데 사용된 바람직한 실시예 내부의 플래시 메모리이다. 작성될 수 있는 비-휘발성 메모리 내의 시스템 소프트웨어를 업데이트할 수 있으므로 셋톱 박스 하드웨어(52)는 시스템 소프트웨어를 유지하기 위해 플래시 메모리를 사용한다. EEPROM 또는 배터리 전원 휘발성 메모리와 같이 작성될 수 있는 다른 유형의 비휘발성 메모리가 존재하지만 플래시 메모리는 설계 및 제조의 비용, 집적 밀도 및 단순성으로 인해 바람직한 실시예에서 선호된다.
셋톱 박스 하드웨어(50)에서, 그리고 일반적으로 디지털 텔레비전 도메인 내에서, 일반적으로 셋톱 박스용 시스템 소프트웨어에 대한 업데이트는 전단부(62)에 의해 수신되고 일시적으로 메모리(58)에 배치될 것이다. 새 시스템 소프트웨어는 일반적으로 방송 스트림 내의 별도의 서비스 상에 방송된다. 시스템 소프트웨어 업데이트를 수행하기 위해, 셋톱 박스는 우선 새 시스템 소프트웨어를 포함하는 서비 스를 찾은 다음, 새 시스템 소프트웨어를 메모리(58)에 로딩하며, 마지막으로(새 시스템 소프트웨어가 올바른지 확인한 후), 새 시스템 소프트웨어를 일부 유형의 비-휘발성 메모리에 저장하며, 이것은 바람직한 실시예에서 FLASH(58) 메모리이다.
소프트웨어적 관점에서, 바람직한 실시예는 셋톱 박스의 수신기 부분이 두 가지 기본 구성요소를 가질 것으로 구상한다. 첫 번째 구성요소는 셋톱 박스 상에서 구동하는 시스템 소프트웨어이며 두 번째 구성요소는 시스템 소프트웨어에 대한 업그레이드를 검색하는 로더(10)이다.
시스템 소프트웨어는 수신기의 명목 상의 동작(nominal behavior)를 제공하는 소프트웨어이다. 로더(10)는 시스템 소프트웨어 업데이트 서비스를 검색하는 소프트웨어이며 실제 소프트웨어 업그레이드를 수행한다. 시스템 소프트웨어와 로더(10)는 종래 기술에서, 동시에 실행될 수 없다.
현재 수신기의 구현은 시스템 소프트웨어와 로더 내에서 모두 시스템 소프트웨어 업데이트 서비스를 검색하는 기능을 결합하고 있다. 이들 종래 기술의 구현은 전체적으로 호환되지 않는 검색 기능을 초래할 수 있다. 이 상황은 시스템 소프트웨어 업데이트를 검색하는데 비일관성을 가져올 수 있다.
본 발명은 로더(10)가 두 가지 다른 모드에서 시작될 수 있도록 연장된 기능성을 가지는 로더(10)를 제공함으로써 이 문제를 다룬다. 첫 번째 모드는 로더(10)가 시스템 소프트웨어 업데이트 서비스를 검색하는 것을 허용한다. 두 번째 모드는 로더(10)가 시스템 소프트웨어 업데이트 서비스를 검색하는 것을 허용하며, 로더(10)가 이 서비스를 찾는 경우, 이것은 시스템 소프트웨어 업데이트 수행을 시작 한다. 첫 번째 모드는 현재 로더 구현에 제공되지 않는다. 본 발명은 시스템 소프트웨어 업데이트 서비스 자체를 검색하지 않는 시스템 소프트웨어를 제공하지만, 대신 전술한 첫 번째 모드와 유사한, 시스템 소프트웨어 업데이트 서비스를 검색하는 기능을 수행하기 위해 별도의 로더(10)를 채용한다.
전술한 것처럼, 로더(10) 및 시스템 소프트웨어는 일반적으로 동시에 실행되지 않는다. 일반적으로, 플래시 또는 EEPROM과 같은, 비-휘발성 메모리 내의 위치는 로더(10) 또는 시스템 소프트웨어가 전원을 스위칭-온 한 후에 또는 리셋을 수행한 후에 시작되어야 하는지 여부를 표시하기 위해 사용된다. 더욱이, 플래시 또는 EEPROM과 같은, 이 비-휘발성 메모리는 또한 로더와 시스템 소프트웨어 사이에서 정보(예, 시스템 소프트웨어 업데이트 서비스를 참조하는 위치 설정자)를 전달하는데 사용될 것이다. 시스템 소프트웨어 업데이트 서비스를 찾기 위해 시스템 소프트웨어가 로더(10)를 사용하도록 하는 한 가지 방법은 다음과 같다: 수신기가 대기 상태가 되려고 할 때, 시스템 소프트웨어는 정보를 로더로 전달하고 이후 수신기를 리셋한다. 수신기는 로더(10)를 첫 번째 모드에서 시작하며, 이 모드에서 로더(10)는 시스템 소프트웨어 업데이트 서비스를 검색할 것이다. 일단 로더(10)가 검색을 마치면, 수신기를 대기 모드로 전환한다. 수신기의 전원이 다시 켜지면(즉, 대기 모드가 끝나면), 시스템 소프트웨어는 로더(10)가 시스템 소프트웨어 업데이트 서비스를 찾았는지 여부를 점검한다. 플래그를 설정하거나 소프트웨어 내의 세마포어(semaphore)를 변경하는 것과 같이, 시스템 소프트웨어가 로더(10)에 의해 복귀된 상태를 확인할 수 있는 다수의 방법이 존재하며, 이들은 시스템 소프트웨어 가 이에 따라 작동할 수 있도록 한다. 로더(10)가 업데이트가 이용가능하다고 표시하는 경우, 시스템 소프트웨어는 이 서비스로 튜닝되고 셋톱 박스에 대한 업데이트를 다운로드해야 하는 임의의 정보를 검색한다.
도 1은 본 발명의 바람직한 실시예의 로더(10)의 작동을 도시한 흐름도이다. 본 발명의 바람직한 실시예에 의해 구상된 것과 같은 로더(10)는 일반적으로 일단 시스템이 초기에 턴온되면(본 명세서에서는 콜드 부팅(cold boot)이라 함), 시작한다(15). 그러나, 수많은 루틴(routines)들이 로더(10)를 개시할 수 있다는 것을 주목해야 한다. 본 발명의 바람직한 실시예는 작동 모드 또는 대기 모드에서 만들어진 도 1의 알고리즘 호출을 설명한다. 도 1에 도시된 알고리즘의 호출(invocation)은 일반적으로, 15에서 시작되는 것으로 언급된다. 호출되면(예, 초기 전원이 켜지거나 모드가 변경되는 동안), 로더(10)는 두 가지 작업을 수행할 것이다. 첫 번째 작업은 현재 이미지를 확인(13)하는 것으로서, 이 경우 소프트웨어 이미지가 현재 시스템 내에 있는 이미지를 확인한다. 현재 이미지 확인 단계(13)는 현재 이미지가 손상되었는지 여부 및 바람직하게 이미지의 체크섬(checksum) 또는 주기적 리던던시 체크섬(CRC; Cyclic Redundancy Checksum)을 계산함으로써 구현되는지 여부를 결정하기 위해 현재 이미지를 확인한다. CRC는 2개의 이미지 또는 파일이 동일한지를 결정할 수 있다. CRC 기능은 일반적으로 이미지 또는 파일의 각 바이트(byte)를 처리한다. 이미지 또는 파일 내의 임의의 차이는, 다른 CRC 번호를 생성할 것이다. 그러나, 현재 이미지를 확인하기 위한 다른 구현은 가능하며 당업자에게 즉시 명백할 것이다.
두 번째 작업은 강제된 다운로드 시퀀스를 점검(12)하는 것이다. 본 발명을 통해 구상된 것과 같은 강요된 다운로드 시퀀스는 리모콘 또는 수신기 상의 버튼의 미리 결정된 시퀀스로 들어감으로써 셋톱 박스 디바이스의 가정내의 사용자에 의해 개시될 수 있다. 추가적으로, 강요된 다운로드 시퀀스는 수리점에서 서비스 직원에 의해 개시될 수 있다. 일단 개시되면, 강요된 다운로드 시퀀스는 본 명세서에서 표준 이미지라고 하는 것을 검색한다. 표준 이미지는 셋톱 디바이스에 원래 있었던 이미지이다.
현재 이미지 확인(13) 단계를 수행하기 전에 그리고 필요한 시퀀스가 현재 이미지 확인 단계(13)를 수행하기 전에 강요된 다운로드 시퀀스를 개시하기 위해 시작되었을 경우 강요된 다운로드 시퀀스에 대한 점검(12)을 수행하는 실시예가 구상된다. 그러나, 바람직한 실시예는 현재 이미지를 확인하기 전에 다운로드 시퀀스(12)에 대한 점검을 수행하지 않는데, 그 이유는 강요된 다운로드 시퀀스에 대한 점검은 비상 이벤트(catastrophic event)에 관한 것이며, 시스템으로의 입력이 이루어질 것을 필요로 하며, 거의 수행될 필요가 없는 기능으로 인해 시간이 걸릴 것이기 때문이다. 바람직한 실시예에서, 강요된 다운로드 시퀀스(12)에 대한 확인은 현재 이미지(13)를 확인하는 것과 본질적으로 병렬로 수행된다. 강요된 다운로드 시퀀스(12)와 현재 이미지(13) 확인 기능은 서로에 대해 독립적으로 구현될 수 있으며, 이것은 바람직한 실시예에서 수행된다. 바람직한 실시예는 또한 강요된 다운로드 시퀀스(12)와 현재 이미지(13) 확인 기능이 병렬로 수행된 두 가지 기능으로 수행되는 것을 허용하는 시스템 내에 하드웨어를 제공한다.
로컬 다운로드 서버 테스트(14)는 로더가 강요된 다운로드 시퀀스(12)와 현재 이미지(13) 확인 단계를 수행한 후 다운로드될 수 있는 이용가능한 업그레이드를 가진 다운로드 서버를 검색할 것이다. 로컬 다운로드 서버는 셋톱 박스와 같은 위치의 또는 사용자가 시스템을 수리를 위해 가져올 수 있는 지역 상점의 PC에서 구동하는 소프트웨어일 수 있다. 로컬 다운로드 서버 테스트(14)는 시스템 내의 소프트웨어 이미지가 오염되고 어떠한 소프트웨어 이미지도 현재 방송되고 있지 않은 경우에 유용하다. 로컬 다운로드서버의 사용(가정 또는 상점에서)은 사용자가 올바른 소프트웨어 이미지를 시스템에 다시 입력하는 것을 허용한다. 로컬 다운로드 서버를 비상 상황에서 사용하는 것이 바람직한 실시예의 의도이다. 다운로드 서버가 검출되면, 이 서버에서 이용가능한 이미지는 선택된 이미지가 될 것이다.
일단 로컬 다운로드 서버 테스트(14)가 실행되면, 결정 블록(41)은 테스트 로컬 다운로드 서버(14)의 결과를 확인하며 프로그램 작동을 이에 따라 라우팅할 것이다. 결정 블록(41)이 어떠한 다운로드 서버도 검출되지 않았다고 결정하면, 결정 블록(42)은 강요된 다운로드 시퀀스가 이전에 논의된 것처럼 검출되었는지 여부를 결정한다. 결정 블록(42)이 어떠한 강요된 다운로드도 검출되지 않았다고 결정하면 로더(10)는 이미지 선택(16)을 수행한다. 이미지 선택(16)은 로더(10)가 소프트웨어 업데이트용 방송 신호를 검색하는 단계이다. 일반적인 작동에서, 로더(10)는 다운로드 서버 또는 강요된 다운로드를 검출하지 않을 것이며, 그러므로, 이미지 선택(16)은 정상적으로 수행될 것이다. 소프트웨어 업데이트가 이용가능한 경우, 로더(10)는 셋톱 박스에 대한 업데이트를 검색하기 위해 선택된 이미지 다운로 드 기능(28)을 실행할 것이다. 결정 블록(43)은 가능한 오염에 대한 이미지를 테스트한다. 결정 블록(43)이 현재 이미지가 오염되었다고 결정하면, 로더(10)는 셋톱 박스에 대한 업데이트를 검색하기 위해 선택된 이미지 다운로드(28) 단계를 수행한다. 일반적으로, 하나의 특정 시스템에 대해 임의의 시간에 방송된 하나의 소프트웨어 이미지만이 존재한다. 이전에 언급한 것처럼, 결정 블록(41)이 다운로드 서버가 검출된 경우, 이 서버에서 이용가능한 이미지가 선택된 이미지가 될 것이라는 것을 결정한다.
결정 블록(44)은 선택된 이미지가 현재 이미지인지를 확인할 것이다. 결정 블록(44)은 선택된 이미지가 셋톱 박스에서 현재 사용 중인 이미지와 동일할 수 있다고 결정하는 것이 전적으로 가능하다. 현재 이미지가 선택된 이미지인 경우, 플래시 메모리에 현재 작성된 이미지는 정확하며 루틴은 종료된다는 것이 가정된다. 이미지를 오염에 대해 테스트하는 결정 블록(43) 및 현재 이미지가 선택된 이미지인지를 확인하기 위한 결정 블록(44)에 의해 수행된 기능들이 단일 기능으로 결합될 수 있다는 것이 당업자에게는 즉시 명백해질 것이다. 그 목적은 현재 이미지가 오염되었거나 현재 이미지 이외의 이미지가 선택된 경우 다운로드가 발생하는 것이다. 선택된 이미지가 현재 이미지와 같을 수 있다는 것이 주목되어야 한다. 이것은 일반적으로 성공적인 소프트웨어 업그레이드 이후에 발생하며, 이것은 단일 소프트웨어 이미지가 여러 달 또는 심지어 여러 해 동안 방송될 수 있으므로 일반적인 경우가 아니다.
결정 블록(41)이 다운로드 서버가 검출되었다고 결정하면, 로더는 이전에 논 의된 것처럼 이 서버로부터 업데이트를 검색하기 위해 선택된 이미지 다운로드(28)를 수행한다.
선택된 이미지 다운로드(28)가 수행된 후, 선택된 이미지는 결정 블록(46)에서 올바르게 다운로드되었다는 것을 확인하기 위해 테스트된다. 선택된 이미지의 다운로드가 결정 블록(46)에서 성공적이라고 결정된 경우, 다운로드된 이미지 확인(20) 단계는 이미지가 오염되었는지 여부를 결정하고 이에 따라 결정 블록(47)은 프로그램 동작을 분기시킨다(branch). 결정 블록(47)은 다운로드된 이미지가 오염되었는지 결정하고, 하나의 가지(branch)는 기존 이미지를 로딩하기 위해 현재 이미지를 로딩(26)하는 것이 된다. 결정 블록(47)이 다운로드된 이미지가 오염되지 않았다고 결정한 경우, 이미지는 플래시 메모리에 작성되고 로더(10)는 시스템 소프트웨어 작동으로 되돌아온다. 결정 블록(49)이 작성이 성공적이지 않다고 결정한 경우, 작동은 표준 이미지를 다운로드(18)로 분기한다.
선택된 이미지 다운로드(28) 단계로 되돌아가면, 선택된 이미지의 다운로드는 결정 블록(46)에 의해 실패했다고 결정된 경우, 현재 이미지 로딩(26) 단계에 의해 기존 이미지를 복구하기 위한 단계가 취해진다. 기존 이미지는 이후 결정 블록(48)에 의해 오염에 대해 테스트된다. 기존 이미지가 오염이 없는 것으로 발견되면, 프로그램 작동은 되돌아가기로 분기하고 로더(10)는 종료된다. 기존 이미지가 오염된 것으로 발견된 경우, 프로그램 작동은 표준 이미지를 다운로드(18)로 분기하고 결정 블록(46)은 다시 이미지를 테스트하고, 오직 이 때에만 이것은 표준 이미지이다.
결정 블록(41)으로 다시 돌아가서, 어떠한 다운로드 서버도 검출되지 않았다고 결정된 경우, 프로그램은 강요된 다운로드 시퀀스의 표시가 있는지 여부를 확인하기 위해 결정 블록(42)으로 분기한다. 강요된 다운로드 시퀀스가 검출된 경우, 작동은 표준 이미지 다운로드(18)로 분기하고, 이 다운로드는 셋톱 박스에 원래 이미지를 복구하는 셋톱 박스로의 다운로드 시퀀스를 개시할 것이다. 작동은 이후 결정 블록(46)으로 분기하며, 결정 블록은 다운로드의 정확함을 점검할 것이다. 결정 블록(46)이 이미지가 올바로 다운로드되었는지를 결정한 경우, 이미지는 확인되고 이전에 논의된 것처럼 플래시 메모리에 작성된다. 결정 블록(47)이 이미지가 오염되었는지를 결정한 경우 시스템은 현재 이미지 로딩(26) 단계를 수행한다. 현재 이미지가 성공적으로 확인된 경우, 루틴은 종료한다(24). 현재 이미지가 올바로 확인하지 않은 경우, 일련의 단계는 이미지를 정정하고 복구하기 위해 수행된다.
본 발명은 시스템 소프트웨어 및 로더(10)가 완전히 서로 인식하고 있으므로 시스템 소프트웨어 업데이트 서비스를 검색하기 위한 기능을 구현하는 한편, 로더가 어떠한 방법으로도 비호환성이 아니라는 것을 보장한다는 이점을 제공한다. 바람직하게, 로더(10)와 시스템 소프트웨어는 동일한 코드를 사용한다. 추가적으로, 시스템 소프트웨어의 크기는 감소된다. 로더(10)와 시스템 소프트웨어의 설계에 대해 중앙화된 접근방식을 구비해서, 바람직한 실시예는 다음 문헌에서 기술된 것처럼 DVB 시스템에서의 시스템 소프트웨어 업데이트를 위한 규격(specification)을 채용한다: ETSI TS 102 006 VI.2.1(2002-10), 디지털 비디오 방송(DVB; Digital Video Broadcasting(DVB); DVB 시스템에서 시스템 소프트웨어 업데이트를 위한 규 격(Specification).
전술한 논의는 발명자가 가장 선호하는 실시예를 설명한다. 이들 실시예의 변형예는 당업자에게 즉시 명백할 것이며, 따라서, 본 발명의 범위는 전술한 실시예에 의해 제한되지 않으며 첨부된 청구항을 통해 측정한다.
본 발명은, 수신기 디바이스, 더 구체적으로 셋톱 박스에 대한 소프트웨어 업그레이드에 관한 것으로서, 소프트웨어를 업데이트하기 위한 방법 등에 이용가능하다.

Claims (18)

  1. 소프트웨어를 업데이트하기 위한 방법으로서,
    적어도 제 1 모드는 셋톱 디바이스를 위한 일반 작동 모드이며 제 2 모드(10)는 소프트웨어 업데이트를 검색하도록 수신기 디바이스(50) 상에 복수의 모드를 구현하는 단계;
    적어도 하나의 모드를 가진 소프트웨어 업데이트를 검색하는 단계(16);
    이용가능한 소프트웨어 업데이트의 발생 시에 수신기 디바이스 내부의 모드들 중 하나를 표시하는 단계(44);
    이용가능한 소프트웨어 업데이트를 상기 수신기 디바이스에 전송하는 단계(28); 및
    전송된 소프트웨어 업데이트를 프로그래밍 가능한 디바이스에 설치하는 단계(22)
    를 포함하는, 소프트웨어를 업데이트하기 위한 방법.
  2. 제 1항에 있어서, 상기 구현 단계는 복수의 모드로서 작동 모드 및 대기 모드를 더 포함하는, 소프트웨어를 업데이트하기 위한 방법.
  3. 제 2항에 있어서, 상기 검색 단계(16) 및 전송 단계(28)는 대기 모드에서 수행되는, 소프트웨어를 업데이트하기 위한 방법.
  4. 제 2항에 있어서, 상기 검색 단계(16) 및 전송 단계(28)는 작동 모드에서 수행되는, 소프트웨어를 업데이트하기 위한 방법.
  5. 제 3항에 있어서, 상기 검색 단계(16)는 대기 모드에서 소프트웨어 업데이트 검색 단계를 더 포함하고, 소프트웨어 업데이트가 발견되면 소프트웨어 업데이트가 이용가능하다는 표시가 되는, 소프트웨어를 업데이트하기 위한 방법.
  6. 통신 인터페이스(62)를 가진 수신기 시스템(50)으로서, 상기 시스템(50)은 네트워크 연결을 통해 업그레이드될 수 있는 비-휘발성 메모리(52) 내의 소프트웨어를 포함하며:
    소프트웨어 업데이트를 설치하기 위해 작동 모드와 연계하여 작동하는 수신기 시스템(50) 내의 대기 모드로서, 상기 수신기 시스템(50)은 작동 모드에서 정상적으로 기능하며, 상기 대기 모드는 상기 작동 모드와 동시에 기능하지 않는, 대기 모드; 및
    소프트웨어 업데이트에 대한 가용성의 표시(16)를 제공하기 위해 작동 모드 또는 대기 모드 중 하나에서 작동하며 표시를 식별하고 수신기로의 소프트웨어 업데이트 설치를 지원하기 위해 작동 모드 또는 대기 모드 중 나머지에 의해 사용되는 루틴(10)
    을 포함하는, 통신 인터페이스를 가진 수신기 시스템.
  7. 제 6항에 있어서, 상기 대기 모드는 소프트웨어 업데이트의 존재를 식별하고 상기 작동 모드는 상기 수신기에 이용가능한 업데이터(updater)를 설치하는, 통신 인터페이스를 가진 수신기 시스템.
  8. 제 6항에 있어서, 상기 작동 모드는 이용가능한 소프트웨어 업데이트의 존재를 식별하고 상기 대기 모드는 이용가능한 소프트웨어 업데이트를 상기 수신기에 로딩하는, 통신 인터페이스를 가진 수신기 시스템.
  9. 제 6항에 있어서, 상기 루틴은 소프트웨어 업데이트를 상기 비-휘발성 메모리에 나중에 배치될 휘발성 메모리에 배치하는, 통신 인터페이스를 가진 수신기 시스템.
  10. 제 9항에 있어서, 상기 루틴은 대기 모드에서 소프트웨어 업데이트를 상기 휘발성 메모리에 배치하고 상기 수신기는 상기 작동 모드로 다시 들어간 후 소프트웨어 업데이트를 상기 비-휘발성 메모리에 배치하는, 통신 인터페이스를 가진 수신기 시스템.
  11. 변경될 수 있는 비-휘발성 메모리(52)를 가진 수신기 시스템(50)으로서,
    상기 수신기 시스템 내의 처리 수단의 제어 하에 상기 비-휘발성 메모리(52) 와 작동상 연결된 수신기 시스템 내의 통신 인터페이스(62);
    상기 수신기 시스템의 정상 작동을 수행하는 상기 수신기 내의 시스템 소프트웨어 수단; 및
    소프트웨어 업데이트를 검색(16)하고 발견된 업데이트를 검색(28)하기 위한 상기 시스템 소프트웨어 수단으로부터 독립적으로 기능하는 로더(10);
    를 포함하며, 상기 로더는 복수의 미리 결정된 이벤트 중 하나의 발생과 동시에 실행되는, 변경될 수 있는 비-휘발성 메모리를 가진 수신기 시스템.
  12. 제 11항에 있어서, 상기 시스템 소프트웨어 수단은 상기 시스템이 방송 신호를 수신하기 위해 작동하는 작동 모드에서 실행되며 상기 로더는 정상 방송 수신 기능이 디스에이블된(disabled) 대기 모드에서 실행하는, 변경될 수 있는 비-휘발성 메모리를 가진 수신기 시스템.
  13. 제 12항에 있어서, 상기 작동 모드는 소프트웨어 업데이트가 상기 로더에 이용가능하다고 식별하고, 상기 로더는 이용가능한 소프트웨어 업데이트를 검색하는, 변경될 수 있는 비-휘발성 메모리를 가진 수신기 시스템.
  14. 제 12항에 있어서, 상기 대기 모드는 이용가능한 소프트웨어 업데이트를 식별하고 상기 작동 모드는 이용가능한 소프트웨어 업데이트를 설치하는, 변경될 수 있는 비-휘발성 메모리를 가진 수신기 시스템.
  15. 제 12항에 있어서, 상기 수신기는, 작동 모드에 들어가면, 소프트웨어 업데이트가 이용가능하다는 표시가 식별되는 상기 수신기에 대한 표시를 생성하기 위해 대기 모드에서 업데이트의 위치를 지정할 수 있으며, 상기 수신기는 이후 상기 새로운 소프트웨어 업데이트를 로딩하는, 변경될 수 있는 비-휘발성 메모리를 가진 수신기 시스템.
  16. 제 11항에 있어서, 상기 복수의 미리 결정된 이벤트는 전력을 상기 수신기 시스템(50)에 인가하는 단계를 더 포함하는, 변경될 수 있는 비-휘발성 메모리를 가진 수신기 시스템.
  17. 제 11항에 있어서, 상기 복수의 미리 결정된 이벤트는 수신기 시스템(50) 상의 채널을 변경하는 단계를 더 포함하는, 변경될 수 있는 비-휘발성 메모리를 가진 수신기 시스템.
  18. 제 11항에 있어서, 상기 복수의 미리 결정된 이벤트는 상기 수신기 시스템에 대한 입력을 더 포함하는, 변경될 수 있는 비-휘발성 메모리를 가진 수신기 시스템.
KR1020067015018A 2004-01-28 2005-01-25 시스템 소프트웨어 업데이트 서비스를 신호화하기 위한사용 로더 KR20060129312A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US53972304P 2004-01-28 2004-01-28
US60/539,723 2004-01-28

Publications (1)

Publication Number Publication Date
KR20060129312A true KR20060129312A (ko) 2006-12-15

Family

ID=34826118

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067015018A KR20060129312A (ko) 2004-01-28 2005-01-25 시스템 소프트웨어 업데이트 서비스를 신호화하기 위한사용 로더

Country Status (6)

Country Link
US (1) US20070162905A1 (ko)
EP (1) EP1711889A2 (ko)
JP (1) JP2007528534A (ko)
KR (1) KR20060129312A (ko)
CN (1) CN101091158A (ko)
WO (1) WO2005073845A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180096087A (ko) * 2017-02-20 2018-08-29 현대자동차주식회사 차량용 소프트웨어 업데이트 시스템 및 그 방법, 이의 avn 장치
US10324703B2 (en) 2015-10-29 2019-06-18 Hyundai Motor Company Terminal, vehicle, and method for controlling the same

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100751146B1 (ko) * 2005-12-05 2007-08-22 엘지전자 주식회사 Oad 채널 변환 방법 및 이를 이용하는 방송 수신기
CN101605202B (zh) * 2008-06-12 2014-02-05 深圳市同洲电子股份有限公司 机顶盒软件升级方法及装置
CN102053878B (zh) * 2010-10-29 2015-05-20 广州爱九游信息技术有限公司 用于移动通讯设备终端的软件安装备份方法及其装置
US8813061B2 (en) * 2012-10-17 2014-08-19 Movimento Group Module updating device
US10757475B2 (en) * 2012-12-21 2020-08-25 Centurylink Intellectual Property Llc System and method for utilizing set-top box testing in television distribution network
US9411571B2 (en) * 2013-02-28 2016-08-09 Adobe Systems Incorporated Method and apparatus for deploying software as a service
US10126136B2 (en) 2016-06-14 2018-11-13 nuTonomy Inc. Route planning for an autonomous vehicle
US11092446B2 (en) 2016-06-14 2021-08-17 Motional Ad Llc Route planning for an autonomous vehicle
US10309792B2 (en) 2016-06-14 2019-06-04 nuTonomy Inc. Route planning for an autonomous vehicle
US10829116B2 (en) 2016-07-01 2020-11-10 nuTonomy Inc. Affecting functions of a vehicle based on function-related information about its environment
US10331129B2 (en) 2016-10-20 2019-06-25 nuTonomy Inc. Identifying a stopping place for an autonomous vehicle
US10473470B2 (en) 2016-10-20 2019-11-12 nuTonomy Inc. Identifying a stopping place for an autonomous vehicle
US10857994B2 (en) 2016-10-20 2020-12-08 Motional Ad Llc Identifying a stopping place for an autonomous vehicle
US10681513B2 (en) 2016-10-20 2020-06-09 nuTonomy Inc. Identifying a stopping place for an autonomous vehicle
US20200104118A1 (en) * 2018-09-28 2020-04-02 Bose Corporation Systems and methods for providing staged updates in embedded devices

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440632A (en) * 1992-12-02 1995-08-08 Scientific-Atlanta, Inc. Reprogrammable subscriber terminal
EP0907285A1 (en) * 1997-10-03 1999-04-07 CANAL+ Société Anonyme Downloading data
JP4296618B2 (ja) * 1998-10-22 2009-07-15 パナソニック株式会社 受信端末装置
US6718374B1 (en) * 1999-04-21 2004-04-06 General Instrument Corporation Method and system for identifying and downloading appropriate software or formware specific to a particular model of set-top box in a cable television system
BR0009903A (pt) * 1999-04-21 2002-03-12 Gen Instrument Corp Processo para controlar uma atualização e sistema para atualização de programação em uma população de terminais de topo de aparelho conectada a um sistema de televisão a cabo
US7016944B1 (en) * 1999-09-30 2006-03-21 Apple Computer, Inc. System and method for passive detection and context sensitive notification of upgrade availability for computer information
US6779176B1 (en) * 1999-12-13 2004-08-17 General Electric Company Methods and apparatus for updating electronic system programs and program blocks during substantially continued system execution
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
JP3932547B2 (ja) * 2001-10-15 2007-06-20 ソニー株式会社 放送受信装置および方法
GB0313720D0 (en) * 2003-06-13 2003-07-16 Electra Guide Ltd England An improved television system
JP4438048B2 (ja) * 2003-08-08 2010-03-24 キヤノン株式会社 周辺装置及びその周辺装置のファームウェア更新方法、プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10324703B2 (en) 2015-10-29 2019-06-18 Hyundai Motor Company Terminal, vehicle, and method for controlling the same
KR20180096087A (ko) * 2017-02-20 2018-08-29 현대자동차주식회사 차량용 소프트웨어 업데이트 시스템 및 그 방법, 이의 avn 장치

Also Published As

Publication number Publication date
WO2005073845A2 (en) 2005-08-11
US20070162905A1 (en) 2007-07-12
EP1711889A2 (en) 2006-10-18
JP2007528534A (ja) 2007-10-11
WO2005073845A3 (en) 2007-06-14
CN101091158A (zh) 2007-12-19

Similar Documents

Publication Publication Date Title
KR20060129312A (ko) 시스템 소프트웨어 업데이트 서비스를 신호화하기 위한사용 로더
EP1142309B1 (en) Method and apparatus for operating system downloads in a set-top box environment
US10545469B2 (en) Systems and methods for self provisioning building equipment
US8352916B2 (en) Facilitating the automated testing of daily builds of software
US11875143B2 (en) Deploying device campaign updates to IoT devices
US9027014B2 (en) Updating firmware compatibility data
CN110083374B (zh) 一种升级回滚方法、系统及终端设备
KR101082940B1 (ko) 네트워크 장비 및 이러한 장비의 시작을 모니터링하기 위한 방법
US20050289534A1 (en) Method for upgrading software version of mobile terminal using integrated difference files
US10509646B2 (en) Software update rollbacks using file system volume snapshots
CN104918114A (zh) 一种操作系统升级方法及装置
CN105204909A (zh) 一种基于移动终端的强相关apk升级方法及系统
CN110569053A (zh) 电子设备中应用芯片的升级方法及电子设备
CN111698558A (zh) 电视软件升级方法、电视终端及计算机可读存储介质
EP3260981B1 (en) Information processing apparatus, information processing system, and information processing method for updating firmware
US11023220B2 (en) Firmware update with integrated smart sequence and action engine
US8095926B2 (en) Method for the installation of a program component
CN112527371B (zh) 一种引导加载程序升级方法、装置、电子设备及存储介质
CN116048581A (zh) 应用更新方法及装置、电子设备、计算机可读存储介质
CN115543429A (zh) 项目环境的搭建方法、电子设备及计算机可读存储介质
KR102221593B1 (ko) 단말의 설치 환경 유지를 위한 시스템
CN108833128A (zh) 一种设备更新的方法
CN111796837A (zh) 操作系统的热补丁卸载方法、设备、存储介质及装置
CN116383093B (zh) Windows测试环境部署方法、装置、可读存储介质及电子设备
CN110955440B (zh) 一种锁屏应用分离升级方法、装置、设备及计算机可读介质

Legal Events

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