KR20030014355A - 소프트웨어를 업데이트하기 위한 방법 및 프로그램 - Google Patents

소프트웨어를 업데이트하기 위한 방법 및 프로그램 Download PDF

Info

Publication number
KR20030014355A
KR20030014355A KR1020027010474A KR20027010474A KR20030014355A KR 20030014355 A KR20030014355 A KR 20030014355A KR 1020027010474 A KR1020027010474 A KR 1020027010474A KR 20027010474 A KR20027010474 A KR 20027010474A KR 20030014355 A KR20030014355 A KR 20030014355A
Authority
KR
South Korea
Prior art keywords
software
updated
configuration information
original
switching
Prior art date
Application number
KR1020027010474A
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 KR20030014355A publication Critical patent/KR20030014355A/ko

Links

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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Abstract

장치(102)는 구성 정보(118) 제어하에서 적어도 부분적으로 동작하도록 배열된 소프트웨어(116)를 갖는다. 업데이트된 부분으로 이 소프트웨어의 본래 부분을 대체함으로써 이 소프트웨어를 업데이트하기 위하여, 이 장치는, 구성 정보를 판독하기 위한 판독 수단(122), 구성 정보를 전환하기 위한 전환 수단(202), 전환된 구성 정보를 저장하기 위한 제 1 저장 수단(204), 및 소프트웨어의 업데이트된 부분을 저장하기 위한 제 2 저장 수단(114)을 갖는다.

Description

소프트웨어를 업데이트하기 위한 방법 및 프로그램{Method of and program for updating software}
현재, 장치들의 많은 기능들이 장치가 소프트웨어에 의해 실현된다. 그 예로서 텔레비전과 휴대용 전화기가 있으며, 텔레비전에서 비디오 처리, 사운드 처리 및 텔레텍스트 서비스들은 이 텔레비전에 남아있는 소프트웨어의 각각의 모듈들에의해 실현되고, 휴대용 전화기에서 오디오를 나타내는 패키지들의 수신 및 전환 같은 기본적인 기능들과, 이름들 및 번호들의 디렉토리를 유지하는 것 같은 부가적인 기능들은 이 전화의 소프트웨어에 의해 모두 실현된다. 또한, X 레이 이미지들을 얻고 추후에 처리 및 표현하기 위한 의학 시스템 같은 보다 전문적인 시스템들에서, 많은 기능들이 소프트웨어에 의해 실현된다. 소프트웨어는 장치의 ROM(판독 전용 메모리)에 있거나 하드디스크인 장치의 저장 장치에 저장되고, 여기서 필요할 때 작업 메모리로 로딩된다. 장치의 소프트웨어는 소프트웨어에 의해 처리되는 데이터를 동작시킨다. 상기 처리는 이미지의 노이즈 감소와 같은 데이터의 몇몇 보정, 또는 디지털적으로 인코딩된 사운드의 디지털 대 오디오 전환 같은 몇몇 전환 방법을 포함할 수 있다. 다른 형태의 장치에서 데이터는 사용자, 예를 들어 창조되는 도큐먼트를 나타내는 데이터 파일을 생성하는 워드 프로세서에 의해 동작될 때 장치에 의해 생성된 생산품이다. 하나의 장치는 사용자에 특정 기능 기능이 정확하게 수행되는지에 대해 어떤 가용성을 제공한다. 장치에 전달된 소프트웨어 기능은 다소 조절되거나 사용자에 의해 완성된다. 예를 들어 텔레비전에서, 디폴트 컬러 세팅은 변경될 수 있고 프로그램에 따라 주파수 및 몇몇 스테이션 이름은 입력될 수 있다. 워드 프로세서에서 사용자는 디폴트 언어, 디폴트 프린터 및 파일 위치 같은 많은 세팅을 지정할 수 있다. 상기 사용자 선호도 및 시스템 세팅은 일반적으로 구성 정보라 한다. 구성 정보는 장치의 작동을 임의의 범위를 제어한다. 즉 장치의 기능을 지정한다. 이것은 데이터와 대비된다. 상기 장치는 데이터상에서 작동하고, 예를 들어 처리하거나 생산한다.
상기된 형태의 장치에서 소프트웨어를 업데이트하는 것이 공지되었다. 업데이트에 대한 이유는 소프트웨어가 에러를 포함하고 몇몇 상황에서 오동작하거나 장치의 특정 기능을 강화시키거나 완전히 새로운 기능을 부가하기 위한 것이다.. 업데이트는 부분 업데이트와, 완전 업데이트가 있고, 부분 업데이트에서 일부분의 소프트웨어는 새로운 부분으로 대체되고, 완전 업데이트에서 소프트웨어 모두는 새로운 소프트웨어에 의해 대체된다. 만약 장치의 소프트웨어가 로컬 저장 장치상에 있으면, 업데이트는 장치상 소프트웨어를 대체하도록 내려온다. 이것은 저장 매체의 오래된 소프트웨어를 갖는 파일 또는 파일들을 삭제하고 저장 장치위에 새로운 소프트웨어를 갖는 파일 또는 파일을 카피하는 것을 의미한다. 그러나, 장치의 ROM에서 소프트웨어는 업데이트될 수 있다. 그래서 장치는 업데이트된 소프트웨어를 포함하도록 제거 및 프로그램될 수 있는 EEPROM(전기 소거가능 프로그램 판독 전용 메모리) 또는 플래시 ROM이라 불리는 메모리를 갖는다. 많은 경우 소프트웨어를 업데이트하는 것은 모든 오래된 소프트웨어를 삭제하고 저장 장치나 EEPROM에 새로운 소프트웨어를 카피하도록 내려오는 것이다. 플래시 ROM은 비휘발성이고 바이트를 단위로 삭제 및 재프로그램된다.
새로운 소프트웨어는 초기 소프트웨어와 동일하거나 유사한 기능을 갖는다. 그러므로, 선호도 및 사용자에 의한 시스템 세팅을 포함하는 구성 정보는 소프트웨어의 새로운 버전에 다시 요구된다. 공지된 시스템에서, 이런 요구는 파일 또는 새로운 소프트웨어가 인스톨될 때 구성 정보를 갖는 다른 저장 공간을 유지함으로써 만족된다. 이것은 초기 소프트웨어 파일을 삭제할 때 구조 파일을 삭제하지 않음으로서 실현된다. 선택적으로, 파일은 안전한 장소, 예를 들어 백그라운드 저장 장치에 우선 카피되고, 초기 소프트웨어의 모든 파일은 삭제되고 새로운 파일이 적소에 가져오게 된다. 마지막으로 구조 파일은 안전한 장소로부터 새로운 소프트웨어를 포함하는 소프트웨어 위치로 카피된다.
본 발명은 업데이트된 부분으로 소프트웨어의 본래 부분을 대체함으로써 소프트웨어를 업데이트하는 방법에 관한 것으로, 이 소프트웨어는 구성 정보의 제어하에서 적어도 부분적으로 동작하도록 배열된다.
또한, 본 발명은 상기 방법을 프로세서가 실행하도록 하게 배열된 컴퓨터 프로그램 제품에 관한 것이다.
또한, 본 발명은 이러한 컴퓨터 프로그램 제품을 포함하는 캐리어에 관한 것이다.
또한, 본 발명은 컴퓨터 프로그램 제품과 같은 것을 나타내는 신호에 관한 것이다.
또한, 본 발명은 소프트웨어 및 이 소프트웨어를 업데이트하기 위한 업데이트 수단을 포함하는 장치에 관한 것이다.
도 1은 소프트웨어가 본 발명에 따라 업데이트되는 장치를 개략적으로 도시한 도면.
도 2는 본 발명에 따른 구성 정보의 전환 개요를 도시한 도면.
도 3은 본 발명에 따른 구성 정보의 전환을 보다 구체적으로 도시한 도면.
본 발명의 목적은 구성 정보 처리를 개선하는 서문에 기술된 바와 같은 방법을 제공하는 것이다. 이 목적은 다음의 방법을 포함하는 본 발명에 따라 달성된다 : 구성 정보를 판독하는 단계, 구성 정보를 전환하는 단계, 전환된 구성 정보를 저장하는 단계, 업데이트된 부분을 저장하는 단계. 상기 전환은 초기 버전의 소프트웨어를 위해 입력된 구성 정보가 새로운 버전의 소프트웨어에 의해 가능한 한 많이 사용되도록 하고, 이런 새로운 버전은 최적으로 설계될 수 있고 자신의 요구를 만족시키도록 실행된다. 즉, 새로운 버전의 설계 및 실행은 구성 정보가 초기 버전에 의해 저장되는 방식을 고려할 필요가 없다. 전환 과정은 새로운 버전의 구성 정보의 구조 및 포맷과 초기 버전의 구성 정보의 구조와 포맷 사이의 임의의 차를 고려한다. 본 발명은 처음에 입력된 구성 정보가 여전히 새로운 릴리즈에 사용되는 동안 새로운 소프트웨어에 대해 설계 자유도를 가지는 장점을 실현시킨다. 이것은 초기 버전의 사용자에 의해 입력된 선호도와 같은 정보가 사용자에 의해 그것들을 새로 입력하지 않고 새로운 버전에 사용될 수 있는 것을 의미한다. 본 발명에 의해, 새로운 버전의 소프트웨어가 인스톨될 때 구성 정보를 유지하기 위하여 사용자가 간섭할 필요가 없다. 이것은 새로운 소프트웨어의 인스톨에 임의의 사용자 상호작용없이 완전히 자동화를 허용한다. 이것은 사용자가 소프트웨어를 인스톨하기에 충분한 숙련자이어야 할 텔레비전 같은 고객 장치 및 업데이트될 필요가 있는 각각의 장치에 엔지니어를 보낼 필요가 없는 상황의 텔레비전 같은 고객 장치에 보다 중요하다.
본 발명에 따른 소프트웨어를 업데이트하는 방법은 청구항 제 2 항에 기술된다. 구조 파라미터의 세트로서 구성 정보를 표현하는 것은 바람직하다. 이런 방식에서, 제공된 구성 정보는 저장되고 전용 파라미터로서 검색된다. 하나의 예는 단일 파라미터로서 저장될 수 있는 볼륨의 디폴트 세팅이다.
본 발명에 따른 소프트웨어를 업데이트하는 방법의 다른 변형은 청구항 제 3 항에 기술된다. 이들 동작은 구성 정보를 새로운 버전으로 전환하는 유동적인 방식을 제공한다. 구조 파라미터들을 카피하는 것은 본래 값이 새로운 버전에 유지되는 것을 보장하고, 새로운 세트 파라미터의 위치는 새로운 버전에 완전히 적용되도록 본래 위치와 다를 수 있다. 구조 파라미터들을 삭제하는 것은 새로운 기능이 대응 구성 정보를 더 이상 요구하지 않거나 구성 정보가 잠재적으로 다수의 다른 구조 파라미터에 저장될 때 사용된다. 구조 파라미터들을 전환하는 것은 새로운 소프트웨어가 자신의 요구에 적합한 다른 방식으로 구성 정보의 형태를 저장하도록 한다. 간단한 예는 1 바이트 대신 정수 또는 4 바이트의 텍스트 대신 10 바이트의 텍스트 같은 다른 포맷으로 구조 파라미터들을 저장하는 것이다; 그러나, 일차원 파라미터로부터 이차원 파라미터로의 변화같은 보다 복잡한 변화가 가능하다. 새로운 구조 파라미터들을 부가하는 동작은 새로운 소프트웨어가 초기 소프트웨어에서 이용되지 않은 측면에 관하여 구성 정보를 유지하도록 한다. 새로운 구조 파라미터들을 부가하는 동작은 업데이트된 세트의 파라미터에 대하여 디폴트 값을 제공하는 방식으로 배열될 수 있다.
본 발명에 따른 소프트웨어를 업데이트하는 방법의 다른 변형은 청구항 제 4 항에 기술된다. 전환 기능은 초기 소프트웨어 릴리즈의 구조 파라미터가 어떻게 소프트웨어 릴리즈를 위한 구조 파라미터로 전환되는가를 지정하기 위하여 필요하다.
본 발명에 따른 소프트웨어를 업데이트하는 방법의 다른 변형은 청구항 제 6 항에 기술된다. 어떻게 구성 정보를 전환하는가를 지정하는 전환 명령을 사용하는 것은 소프트웨어 업데이트 부분이 사용자에 의해 상호대화를 요구하지 않는 것을 달성하기에 편리한 방식이다. 이것은 장치 소프트웨어의 완전한 자동 업데이트를 허용한다.
본 발명에 따른 소프트웨어를 업데이트하는 방법의 다른 변형은 청구항 제 8 항에 기술된다. 원격 위치에서 소프트웨어를 다운로딩하는 것은 소프트웨어를 장치쪽으로 물리적으로 가져올 필요성을 방지한다. 일실시예는 텔레비전 프로그램의 수신을 위한 케이블 또는 위상 안테나에 접속된 셋톱 박스 또는 텔레비전이다. 상기 케이블(또는 위성) 신호는 데이터를 전송하기 위하여 배열되고 원격 위치로부터 장치로 소프트웨어 업데이트를 전송하기 위하여 사용될 수 있다. 전환 명령은 이런 방식으로 전송된다.
본 발명의 다른 목적은 구성 정보를 처리하는 개선된 방식을 갖는 전제부에기술된 장치를 제공하는 것이다. 이 목적은 하나의 장치에 의해 본 발명에 따라 달성되고 여기서 업데이트 수단은 : 구성 정보를 판독하기 위한 수단, 구성 정보를 전환하기 위한 전환 수단, 전화된 구성 정보를 저장하기 위한 제 1 저장 수단, 및 업데이트된 부분을 저장하기 위한 제 2 저장 수단을 포함한다. 상기 업데이트 수단을 갖는 장치는 상기된 바와 같은 방법을 수행하기에 적당하므로, 상기된 장점을 달성할 수 있다.
본 발명 및 첨부된 장점은 예시적인 실시예 및 첨부 도면의 도움으로 더욱 명료해 질것이다.
다양한 도면의 대응 구조는 동일 참조번호로 표시된다.
도 1은 본 발명에 따라 소프트웨어를 업데이트하는 장치를 개략적으로 도시한다. 상기 장치는 입력(104)에 텔레비전 프로그램을 나타내는 신호(103)를 수신하는 셋톱 박스(102)이다. 텔레비전 프로그램과 달리, 상기 신호들은 전자 프로그램 가이드(EPG) 또는 다른 정보 같은 부가적인 데이터를 운반할 수 있다. 상기 신호들은 제공기(106)에 의해 전송되고 셋톱 박스 근처 안테나(108)에 의해 수신된다. 통상적으로, 신호는 위성으로 전송되고 다수의 수신기 안테나로 재전송된다. 그러나, 전송 성질은 본 발명과 상관이 없고 셋톱 박스는 제공기로부터 신호를 전송하는 케이블 네트워크에 접속될 수 있다. 상기 신호들은 임의의 표준에 따라 인코딩되고 셋톱 박스의 소프트웨어는 신호를 디코드하고 재생을 위한 텔레비전 수신기(110)에 디코딩된 신호를 전송한다. 텔레비전 프로그램의 오디오/비디오 신호는 통상적으로 MPEG 표준에 따라 인코딩된다. 셋톱 박스의 구조 및 특히 소프트웨어 부분의 몇몇 구성은 이후에 논의될 것이다.
셋톱 박스는 다양한 소프트웨어 모듈 및 다른 파라미터 데이터가 저장된 영구 메모리(112)를 갖는다. 이 메모리는 요구될 때 부분적으로 프로그래밍되고 전기적으로 소거 가능한 프로그램 판독 전용 메모리(EEPROM) 및 플래시 메모리처럼 부분적으로 실행되는 판독 전용 메모리이다. 메모리(112)는 셋톱 박스상에 새로운 소프트웨어의 다운로드를 지원하는 로더 모듈(114)을 포함한다. 게다가, 메모리는 비디오 스트림의 디코딩같은 박스의 모든 기능을 수행하는 소프트웨어 모듈을 포함한다. 이들 소프트웨어 모듈은 그 구조가 본 발명과 관련이 없기 때문에 간략화를 위하여 단일 블록(116)에 의해 표현되었다. 게다가, 메모리(112)는 소프트웨어의 구조 파라미터들을 포함하는 파일(118)을 포함한다. 이들 구조 파라미터는 수신된 각각의 채널에 대한 이름, 주파수, 변조 및 다른 정보 같은 소프트웨어에 대한 다양한 세팅에 관한 것이다. 셋톱 박스는 소프트웨어의 실행동안 사용되고 처리되며 영구적으로 저장되지 않는 데이터의 저장을 위한 메모리(120)를 갖는다. 이 메모리(120)는 랜덤 액세스 메모리(RAM)로서 실행된다.
텔레비전 프로그램외에, 제공자(106)는 신호(103)를 통하여 소프트웨어 업데이트를 각각의 데이터 층의 셋톱 박스로 전송하고 상기 층은 전송 표준에 따라 이용할 수 있다. 로더 모듈(114)은 만약 상기 소프트웨어 업데이트 스트림이 방송적인 것을 알린다. 로더는 특정 셋톱 박스가 소프트웨어 업데이트를 수신하기 위하여 권리를 주었는지를 검사하고, 만약 그렇다면 업데이트 과정을 시작한다. 그후, 로더는 이런 전환 모듈의 판독 구성요소를 활성화한다. 전환 모듈은 구조 파일(118)을 판독하고 그것을 작업 메모리(122)의 저장 공간(124)에 저장한다. 전환 모듈은 구조 파일의 일부가 전환될 필요가 있는지를 나타내는 테이블 형태의 스크립트를 갖는다. 전환은 작업 메모리에서 구성 정보를 저장하기 전에 실행된다. 구성 정보가 메모리(120)에 저장될 때, 소프트웨어(116) 및 구조 파일(118)을 포함하는 메모리(112)의 일부는 삭제된다. 로더를 포함하는 부분은 삭제되지 않는다. 그러나, 다른 실시예에서 로더는 작업 메모리(120)에 로딩되고 거기에서 실행된다. 그 다음, 다른 실시예에서, 전체 메모리(112)는 삭제된다. 메모리(112)(메모리의 일부)가 삭제된 후, 로더는 소프트웨어 업데이트 스트림으로부터 새로운 소프트웨어를 선택하고 메모리(112)에 그것을 저장한다. 이것이 완료될 때, 로더는 전환 모듈(122)의 기록 구성요소를 활성화시킨다. 전환 모듈(122)은 공간(124)에 저장된 구조 데이터를 판독하고 그것을 메모리(112)의 파일(128)에 기록한다. 이것은 파일(118)과 동일한 위치이지만 다른 위치를 가질 수 있다. 게다가, 정보는 만약 새로운 소프트웨어에 보다 편리하면 다른 수의 새로운 구조 파일에 저장된다. 다른 위치에 구성 정보를 저장하는 것의 장점은 메모리 셀들의 웨어(wear)가 메모리에 보다 균일하게 퍼질 수 있다는 것이다. 구성 정보는 종종 변경될 수 있는 파라미터, 예를 들어 사운드 레벨에 대한 텔레비전의 세팅을 포함하고 채널 번호는 텔레비전이 다시 스위치 온될 때 이들 세팅을 복구하기 위하여 텔레비전이 스위치 오프될 때 저장 및 유지된다.
구성 정보를 전환하는 상기 과정은 두 개의 구별되는 단계를 갖는다 : 소프트웨어의 현재 버전에 의해 사용된 구조 파일로부터 판독하는 단계 및 업데이트된 소프트웨어에 의해 사용될 파일을 기록하는 단계. 두 개의 구별되는 단계의 구별은 업데이트된 소프트웨어에 대한 구조 파일 또는 파일들이 현재 소프트웨어의 구조 파일과 다른 파일 시스템에 있다는 것을 허용한다. 정말로, 본 발명의 실시예에서, 업데이트된 소프트웨어는 본래 소프트웨어와 다른 파일 시스템을 사용하고, 그러므로 업데이트된 소프트웨어의 구조 파일은 본래 파일 시스템과 다른 파일 시스템에 저장된다.
상기 과정에 대한 대안으로서, 소프트웨어 업데이트가 케이블 또는 위성 신호를 통해 장치로 다운로드되는 경우 업데이트는 물리적 캐리어를 통하여 분배된다. CDROM(126) 같은 물리적 캐리어에는 소프트웨어 업데이트 및 전환 모듈 및 전환 명령이 제공된다. 물리적 캐리어는 장치(102)에 첨가되거나 통합된 적당한 판독기(도시되지 않음)에 의해 판독된다. 로더 모듈(114)은 소프트웨어 및 신호(103)의 소프트웨어 업데이트 스트림 대신 캐리어로부터의 다른 정보를 검색한다. 구성 정보를 전환하고 소프트웨어를 인스톨하는 과정은 상기된 바와 같다.
도 2는 본 발명에 따른 구성 정보의 전환에 대한 개요를 도시한다. 본 발명에 따른 전환 모듈은 판독 구성요소(202) 및 기록 구성요소(204)를 갖는다. 판독 구성요소(202)는 데이터 저장소(206)의 현재 버전에 의해 사용된 구성 정보를 판독한다. 현재 실시예에서, 데이터 저장소(206)는 셋톱 박스의 EEPROM에 배치된 다수의 파일로서 실행된다. 그러나, 이 데이터 저장소(206)는 소프트웨어의 코드 사이 단일 파일 또는 부분 파일과 같이 다른 방식으로 실행된다. 판독 구성요소(202)는 데이터 저장소(206)로부터 판독된 구성 정보를 전환하고 데이터 저장소(208)에 전환된 정보를 저장한다. 현재 실시예에서, 데이터 저장소(208)는 RAM의 저장 공간으로서 실행된다. 그러나, 이런 데이터 저장소(208)는 하드디스크 같은 백그라운드 메모리상 또는 삭제되지 않은 ROM의 일부에서 다른 방식으로 실행된다. 소프트웨어 업데이트가 상기된 셋톱 박스상에서 인스톨된 후, 기록 구성요소(204)는 데이터 저장소(208)로부터 전환된 구조를 판독하고 그것을 데이터 저장소(2100에 기록한다. 현재 바람직한 실시예에서, 데이터 저장소(210)는 셋톱 박스의 EEPROM에 배치된 다수의 파일로서 실행된다. 그러나, 이 데이터 저장소(210)는 단일 파일로서 다른 방식으로 실행될 수 있다.
판독 구성요소 및 기록 구성요소로 전환 모듈을 분해할 때, 구성 정보를 현재 소프트웨어에 따른 구조 및 포맷으로부터 업데이트된 소프트웨어에 따른 구조 및 포맷으로 실제로 전환하는 임무는 판독 구성요소(202)에 할당된다. 이것은 데이터 저장소(208)의 포맷 및 구조가 데이터 저장소(210)의 포맷 및 구조와 동일하다는 것을 의미한다. 그러므로, 기록 구성요소(204)의 처리는 임시 데이터 저장소(208)로부터 영구 데이터 저장소(210)로 데이터의 간단한 카피로 수행된다.그러나, 대안으로서 구성 정보의 실제 전환 임무는 기록 구성요소(204)에 할당될 수 있다. 대안으로서, 데이터 저장소(208)의 포맷은 전환이 아직 발생하지 않았기 때문에 데이터 저장소(206)의 포맷과 동일하다.
도 3은 본 발명에 따른 구성 정보의 전환을 보다 상세히 도시한다. 상기 전환은 전환 스크립에 따라 실행된다. 이 전환 스크립트는 소프트웨어 스트림으로부터 검색되고 데이터 저장소(302)에 저장된다. 하나의 대안은 전환 스크립트가 전환 모듈 그 자체의 코딩시 내장되는 것이다. 판독 구성요소(202)는 판독 데이터 서브 구성요소(304) 및 전환 데이터 서브 구성요소(306)로 구성된다. 판독 데이터 서브 구성요소(304)는 데이터 저장소(206)로부터 데이터를 판독한다. 데이터의 일부는 데이터 저장소(208)에 직접 저장되고 데이터의 일부는 전환 데이터 서브 구성요소(306)에 의해 전환된다. 데이터를 판독하고 전환 및 저장하는 것은 데이터 저장소(302)에 저장된 스크립트에 따라 행해진다. 이런 스크립트는 현재 소프트웨어에 따른 구조 데이터의 위치를 지정하고 데이터가 업데이트된 소프트웨어에 따라 저장되는 장소 및 저장되는 방법을 지정한다. 예시적인 스크립트는 하기와 같다.
/*e-4TV 파일 : 상주 글로벌 세팅*/
const tNecAttr rgs[] = {
/*RGS-13 스크린 포맷 */
{38, 2, NEC_OTVF_BATE_GLOBAL_DATA, 1, 0, 4, 0, NULL},
/*RGS-39 핀 코드 모드(Pin code mode)*/
{592, 1, NEC_OTVF_BATE_GLOBAL_DATA, 1, 0, 89, 0, NULL},
/*RGS-4 변조기 주파수(Remodulator frequency) */
{6, 4, NEC_OTVF_BATE_GLOBAL_DATA, 1, 0, 106, 0, *NecfreqToChannel},
/*RGS-33 서비스 전화 번호*/
{167, 30, NEC_OTVF_CAS_KEYSETS, 3, 30, 115, 92, NULL} ;
};
이 예시적인 스크립트는 파일 이름 "상주 글로벌 세팅"의 구성 정보가 어떻게 판독되고 전환되는지를 지정한다. 이 실시예에서, 소프트웨어의 현재 버전은 e-4TV 소프트웨어라 하고 업데이트된 버전의 소프트웨어는 OpenTV 소프트웨어라 한다. 각각의 구조 파라미터에 대하여 스크립트는 현재 파일의 위치를 지정하는 라인과 업데이트된 소프트웨어의 구조파일 저장 방식을 포함한다. 사양 라인은 다음 아이템을 포함한다 : 제 1 아이템은 현재 파일에서 파라미터의 오프셋(위치)을 가리킨다 ; 제 2 아이템은 파라미터의 바이트 크기를 가리킨다 ; 제 3 아이템은 파라미터가 새로운 버전으로 저장되는 구조 파일의 이름을 제공한다; 제 4 아이템은 구조 파라미터의 일부를 형성하는 서브 파라미터의 수를 가리킨다; 제 5 아이템은 서브 파라미터가 본래 파라미터와 얼마라 다른지를 나타낸다; 제 6 아이템은 새로운 구조 파일의 오프셋을 가리킨다; 제 7 아이템은 서브 파라미터가 새로운 파일(만약 응용 가능하다면)에 얼마나 다르게 저장되는지를 가리킨다; 제 8 아이템은 파라미터의 값이 전환되는데 사용될 함수를 가리킨다.
실시예에서 제공된 파라미터들을 고려해보자. e-4TV 파일 상주 글로벌 세팅의 오프셋 38("스크린 포맷")에서의 파라미터는 2 바이트로 구성되고 오프셋 4에서openTV 파일 BATE 글로벌 데이터로 저장되어야 한다. 이 파라미터는 RGS-13으로서 내부적으로 식별된다. 유사하게, 파라미터 RGS-39("핀 코드 모드")는 오프셋 592이고 오프셋 89에서 OpenTV 파일 BATE 글로벌 데이터에 저장되어야 한다. 오프셋 6("변조기 주파수")에서 파라미터는 저장되기 전에 전환되어야 한다. 함수 NecfreqToChannel()는 이런 목적을 위하여 호출된다. 파라미터 RGS-33("서비스 전화 번호")는 3번 카피되어야 한다. 그것들은 오프셋 167, 197에서 e-4TV 파일에 있다. 오프셋(167)에서 시작하여, 그것들은 30 바이트 간격을 갖는다. 그러므로 파라미터는 3번 검색되고 오프셋 115, 207, 299에서 OpenTV 파일 CAS Keyset에 저장된다. 즉, 92 바이트 간격으로 저장된다. 전환은 필요하지 않다.
도 3을 다시 참조하여, 전환 모듈의 기록 구성요소(204)는 설정된 디폴트 서브구성요소(308) 및 기록 서브구성요소(310)로 구성된다. 설정된 디폴트 서브 구성요소(308)는 요구된 데이터 저장소(208)에 이들 파라미터에 대한 디폴트 값을 설정한다. 디폴트 세팅은 데이터 저장소(302)의 스크립트로 지정된다. 디폴트를 세팅하기 위한 예시적인 스크립트는 다음과 같다.
/*BATE 글로벌 데이터*/
static const tNecDef bgd[] = {
(110, 4, 0, NULL), /*현재 주제(Current theme)*/
(26, 21, '2', NecSetListName), /*리스트 이름2(List name 2)*/
(120, 1, 1, NULL), /*처녀 모드(Virgin mode)*/
};
이 실시예는 OpenTV 파일 Bate 글로벌 데이터에 대한 디폴트를 포함한다. "현재 주제"에 대한 디폴트는 오프셋 110에 저장된다. 이것은 4 바이트 길고 영으로 채워져야 한다. 파라미터 "리스트 이름"은 오프셋 26에 저장되고 21 바이트를 차지한다. 디폴트 값은 '2'이고 함수 NecSetListName()는 스트링("---2")을 형성하고 그것을 영으로 패딩한다. 본래의 비트는 디폴트에 의해 설정된다. 이것은 만약 아무것도 잘못되지 않으면, 셋톱 박스가 본래 모드에서 재시작하도록 하는 예방방법이다. 본래의 비트는 전환 과정의 연속적인 완료후 기록 구성요소의 실행 끝에서 재설정된다. 모든 디폴트가 설정될 때, 기록 서브 구성요소(310)는 데이터 저장소(208)로부터 구조 파라미터들을 판독하고 데이터 저장소(210)에 파라미터 파일로 그것들을 저장한다.
상기된 실시예가 본 발명을 제한하기 위한 것이 아니라 당업자가 첨부된 청구범위의 사상으로부터 벗어나지 않고 많은 다른 실시예를 설계할 수 있도록 하는 것이 주의된다. 청구범위에서, 괄호 사이에 배치된 임의의 참조 번호는 청구항을 제한하지 않는다. 워드 '포함(comprising)'은 청구범위에 나열된 것과 다른 구성 요소 또는 단계의 존재를 배제하지 않는다. 구성 요소를 선행하는 워드 "한" 또는 "어떤"(a 또는 an)은 다수의 구성 요소의 존재를 배제하지 않는다. 본 발명은 몇몇 구별되는 구성 요소를 포함하는 하드웨어 및 적당히 프로그램된 컴퓨터에 의해 실행될 수 있다. 몇몇 수단을 열거한 하나의 청구항에서, 몇몇 수단은 하나 및 동일 아이템의 하드웨어에 의해 실현된다.

Claims (13)

  1. 업데이트된 부분으로 소프트웨어(116)의 본래 부분(original part)을 대체함으로써 소프트웨어(116)를 업데이트하는 방법으로서, 상기 소프트웨어는 구성 정보(118 ; configuration information)의 제어하에 적어도 부분적으로 동작하도록 배열되는 소프트웨어 업데이트 방법에 있어서,
    상기 구성 정보를 판독하는 단계(304),
    상기 구성 정보를 전환하는 단계(306),
    전환된 구성 정보를 저장하는 단계(310), 및
    상기 업데이트 부분을 저장하는 단계(114)를 포함하는 소프트웨어 업데이트 방법.
  2. 제 1 항에 있어서, 상기 구성 정보를 전환하는 단계는, 본래 구조 파라미터들을 갖는 본래 셋트(206)를 업데이트된 구조 파라미터들을 갖는 업데이트된 셋트(210)로 전환하는 단계를 포함하는 소프트웨어 업데이트 방법.
  3. 제 2 항에 있어서, 상기 본래 구조 파라미터들을 갖는 상기 본래 셋트(206)를 상기 업데이트된 구조 파라미터들을 갖는 상기 업데이트된 셋트(210)로 전환하는 상기 단계는,
    상기 본래 구조 파라미터들 중 하나를 상기 업데이트된 셋트에 카피하는 동작,
    상기 본래 구조 파라미터들 중 하나를 상기 본래 셋트로부터 삭제하는 동작,
    상기 본래 셋트의 상기 본래 구조 파라미터들 중 하나를 상기 업데이트된 셋트의 상기 업데이트된 구조 파라미터들 중 하나로 전환하는 동작, 및
    상기 업데이트된 셋트의 상기 업데이트된 구조 파라미터들 중 하나로서 새로운 구조 파라미터들을 부가하는 동작 중 다른 동작들을 사용하는 소프트웨어 업데이트 방법.
  4. 제 3 항에 있어서, 전환 기능(conversion function)은 상기 본래 셋트(206)의 상기 본래 구조 파라미터들 중 하나를 상기 업데이트된 셋트(210)의 상기 업데이트된 구조 파라미터들 중 하나로 전환하기 위해 사용되는 소프트웨어 업데이트 방법.
  5. 제 2 항에 있어서, 상기 본래 셋트(206)는 상기 소프트웨어의 상기 본래 부분(116)에 의해 액세스 가능한 제 1 파일(118)에 위치되고 상기 업데이트된 셋트(210)는 상기 업데이트된 부분에 의해 액세스 가능한 제 2 파일(128)에 위치되는 소프트웨어 업데이트 방법.
  6. 제 2 항에 있어서, 상기 본래 구조 파라미터들을 갖는 상기 본래 셋트(206)를 상기 업데이트된 구조 파라미터들을 갖는 업데이트된 셋트(210)로 전환하는 상기 단계는, 상기 본래 셋트가 상기 업데이트된 셋트로 어떻게 전환될지를 지정하는 전환 명령(302)을 바탕으로 수행되는 소프트웨어 업데이트 방법.
  7. 제 6 항에 있어서, 상기 전환 명령은 테이블(table)인 소프트웨어 업데이트 방법.
  8. 제 1 항에 있어서, 상기 소프트웨어(116)는 장치(102)내에 있고 상기 소프트웨어의 상기 업데이트된 부분은 원격 위치(106)로부터 상기 장치로 다운로드되는 소프트웨어 업데이트 방법.
  9. 제 8 항에 있어서, 상기 구성 정보를 전환하는 단계는, 전환 명령(302)을 바탕으로 본래 구조 파라미터들을 갖는 본래 셋트(206)를 업데이트된 구성 파라미터들을 갖는 업데이트된 셋트(210)로 전환하는 단계를 포함하고, 상기 전환 명령은 상기 원격 위치(106)로부터 상기 장치로 다운로드되는 소프트웨어 업데이트 방법.
  10. 프로세서가 제 1 항 내지 제 9 항 중 어느 한 항에 청구된 바와 같은 방법을 실행하도록 배열되는 컴퓨터 프로그램 제품(202, 204).
  11. 청구항 제 10 항에 청구된 바와 같은 컴퓨터 프로그램 제품(202, 204)을 포함하는 캐리어(126 ; carrier).
  12. 청구항 제 10 항에 청구된 바와 같은 컴퓨터 프로그램 제품(202, 204)을 나타내는 표현하는 신호(103).
  13. 업데이트된 부분으로 소프트웨어의 본래 부분을 대체함으로써 소프트웨어를 업데이트하기 위한 업데이트 수단 및 상기 소프트웨어(116)를 포함하는 장치(102)로서, 상기 소프트웨어는 구성 정보(118)의 제어하에서 적어도 부분적으로 동작하도록 배열되며, 상기 업데이트 수단은,
    상기 구성 정보를 판독하기 위한 판독 수단(112),
    상기 구성 정보를 전환하기 위한 전환 수단(202),
    전환된 구성 정보를 저장하기 위한 제 1 저장 수단(204), 및
    상기 업데이트된 부분을 저장하기 위한 제 2 저장 수단(114)을 포함하는 장치.
KR1020027010474A 2000-12-13 2001-12-03 소프트웨어를 업데이트하기 위한 방법 및 프로그램 KR20030014355A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00204479 2000-12-13
EP00204479.0 2000-12-13

Publications (1)

Publication Number Publication Date
KR20030014355A true KR20030014355A (ko) 2003-02-17

Family

ID=8172420

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027010474A KR20030014355A (ko) 2000-12-13 2001-12-03 소프트웨어를 업데이트하기 위한 방법 및 프로그램

Country Status (6)

Country Link
US (1) US20020124243A1 (ko)
EP (1) EP1346277A2 (ko)
JP (1) JP2004516543A (ko)
KR (1) KR20030014355A (ko)
CN (1) CN1618058A (ko)
WO (1) WO2002048859A2 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100433056B1 (ko) * 2001-08-18 2004-05-24 엘지전자 주식회사 프로그램 업그레이드 방법
DE10161321A1 (de) * 2001-12-13 2003-06-26 Siemens Ag Verfahren zur Aktualisierung von elektronisch modifizierbaren Komponenten eines Automatisierungsgerätes
US20030204711A1 (en) * 2002-04-29 2003-10-30 Guess Alan J. Method and system for restoring custom user configuration settings across a host application download
US7603371B1 (en) * 2002-12-17 2009-10-13 Vignette Corporation Object based system and method for managing information
JP2004199490A (ja) * 2002-12-19 2004-07-15 Komatsu Ltd 車載プログラムの書き換え制御装置
TW200417852A (en) * 2002-12-19 2004-09-16 Komatsu Mfg Co Ltd Rewrite control apparatus for onboard program
JP4026495B2 (ja) 2002-12-19 2007-12-26 株式会社小松製作所 サーバの切り換え制御装置
US7263648B2 (en) * 2003-01-24 2007-08-28 Wegener Communications, Inc. Apparatus and method for accommodating loss of signal
US7171606B2 (en) * 2003-03-25 2007-01-30 Wegener Communications, Inc. Software download control system, apparatus and method
US7117482B2 (en) * 2003-03-26 2006-10-03 Sony Corporation Migration of configuration data from one software installation through an upgrade
US7206411B2 (en) 2003-06-25 2007-04-17 Wegener Communications, Inc. Rapid decryption of data by key synchronization and indexing
US7500235B2 (en) * 2003-09-05 2009-03-03 Aol Time Warner Interactive Video Group, Inc. Technique for updating a resident application and associated parameters in a user terminal through a communications network
US7340719B1 (en) * 2003-12-24 2008-03-04 Sun Microsystems, Inc. Methods and apparatus to preserve software modifications
US20050223372A1 (en) * 2004-04-01 2005-10-06 Borchers Gregory E Methods and systems for firmware download configuration
US20060041881A1 (en) * 2004-08-19 2006-02-23 Adkasthala Bheema P Universal upgrade architecture
TWI273453B (en) * 2004-12-10 2007-02-11 Hon Hai Prec Ind Co Ltd An system and method for automatically updating software
US7904923B2 (en) * 2005-01-05 2011-03-08 Rovi Solutions Corporation Applications registry for a television environment
US7555640B2 (en) * 2006-03-09 2009-06-30 Sharp Laboratories Of America, Inc. Mobile electronic device with fragmented device settings
US7840942B2 (en) * 2006-11-29 2010-11-23 International Business Machines Corporation Configuration file sharing
US20090017812A1 (en) * 2007-07-11 2009-01-15 Weng Chong Chan Method and system for restoring user settings after over-the-air update of mobile electronic device software
US8528037B2 (en) 2009-08-28 2013-09-03 CSC Holdings, LLC Dynamic application loader for set top box
SE534471C2 (sv) * 2010-01-13 2011-09-06 Scania Cv Ab Metod och system för att uppdatera programvara
EP2475182A3 (en) 2011-01-04 2013-04-03 Samsung Electronics Co., Ltd. Display apparatus, 3D glasses, and control method thereof
US20120174088A1 (en) * 2011-01-04 2012-07-05 Samsung Electronics Co., Ltd. Electronic device and method for updating software thereof
US20130169604A1 (en) * 2011-12-28 2013-07-04 Samsung Electronics Co., Ltd. Display apparatus and control method thereof
EP2624131A3 (en) * 2012-01-31 2013-12-18 Samsung Electronics Co., Ltd Display apparatus, upgrading apparatus, display system and data processing method of display system
US9170827B2 (en) * 2012-01-31 2015-10-27 Hewlett-Packard Development Company, L.P. Configuration file compatibility
TW201415365A (zh) * 2012-10-15 2014-04-16 Askey Computer Corp 作業系統更新的方法及手持電子裝置
CN104102203B (zh) * 2014-07-08 2017-04-26 人民电器集团上海有限公司 基于北斗卫星的高压开关柜远程监控方法
CA2963867A1 (en) 2014-10-10 2016-04-14 Visa International Service Association Methods and systems for partial personalization during mobile application update
KR102261815B1 (ko) * 2014-10-30 2021-06-07 삼성전자주식회사 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
US11283900B2 (en) * 2016-02-08 2022-03-22 Microstrategy Incorporated Enterprise performance and capacity testing
US10440153B1 (en) 2016-02-08 2019-10-08 Microstrategy Incorporated Enterprise health score and data migration
CN107391167A (zh) * 2017-06-06 2017-11-24 深圳天珑无线科技有限公司 更新应用程序权限的方法、终端、服务器及装置
CN109460263A (zh) * 2017-08-30 2019-03-12 中国移动通信有限公司研究院 一种应用自动更新方法和终端
CN109274959B (zh) * 2018-09-19 2020-02-14 深圳创维-Rgb电子有限公司 电视机屏参分离方法、电视机及计算机可读存储介质
US11263111B2 (en) 2019-02-11 2022-03-01 Microstrategy Incorporated Validating software functionality
US11637748B2 (en) 2019-08-28 2023-04-25 Microstrategy Incorporated Self-optimization of computing environments
US11210189B2 (en) 2019-08-30 2021-12-28 Microstrategy Incorporated Monitoring performance of computing systems
US11354216B2 (en) 2019-09-18 2022-06-07 Microstrategy Incorporated Monitoring performance deviations
US11360881B2 (en) 2019-09-23 2022-06-14 Microstrategy Incorporated Customizing computer performance tests
US11438231B2 (en) 2019-09-25 2022-09-06 Microstrategy Incorporated Centralized platform management for computing environments

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2886961B2 (ja) * 1990-09-19 1999-04-26 株式会社日立製作所 プログラム入替方法
US5867714A (en) * 1996-10-31 1999-02-02 Ncr Corporation System and method for distributing configuration-dependent software revisions to a computer system
DE19810784B4 (de) * 1998-03-12 2006-03-16 Telefonaktiebolaget Lm Ericsson (Publ) Rechnersystem
US6131192A (en) * 1998-06-18 2000-10-10 Microsoft Corporation Software installation
DE19843048C2 (de) * 1998-09-19 2000-08-17 Nokia Networks Oy Verfahren für einen Softwarezugriffswechsel in einem Netzwerkknoten eines Telekommunikationsnetzwerkes sowie ein zum Durchführen eines solchen Verfahrens geeigneter Netzwerkknoten
US6484309B2 (en) * 1998-10-08 2002-11-19 Intel Corporation Enabling software designed for one operating system to operate on another operating system
US6336215B1 (en) * 1998-11-13 2002-01-01 Hewlett-Packard Company Apparatus and method for on-line code only replacement of a running program using checkpoints
US6301710B1 (en) * 1999-01-06 2001-10-09 Sony Corporation System and method for creating a substitute registry when automatically installing an update program
US6425125B1 (en) * 1999-03-30 2002-07-23 Microsoft Corporation System and method for upgrading client software
US6493871B1 (en) * 1999-09-16 2002-12-10 Microsoft Corporation Method and system for downloading updates for software installation
US20020073410A1 (en) * 2000-12-13 2002-06-13 Arne Lundback Replacing software at a telecommunications platform
US20020091720A1 (en) * 2001-01-05 2002-07-11 Jun Liu Methods and arrangements for providing improved software version control in managed devices

Also Published As

Publication number Publication date
EP1346277A2 (en) 2003-09-24
WO2002048859A2 (en) 2002-06-20
JP2004516543A (ja) 2004-06-03
CN1618058A (zh) 2005-05-18
US20020124243A1 (en) 2002-09-05
WO2002048859A3 (en) 2002-10-31

Similar Documents

Publication Publication Date Title
KR20030014355A (ko) 소프트웨어를 업데이트하기 위한 방법 및 프로그램
US6343379B1 (en) Receiver and program updating method
US7363622B2 (en) Remote program downloading system
CA2304144C (en) Downloading data
KR100547930B1 (ko) 텔레비전 수신 장치 및 방법
JPWO2006077882A1 (ja) 放送受信装置
CN101365047A (zh) 实现数字电视机顶盒机卡分离的方法
RU2181929C2 (ru) Извлечение секций данных из транслируемого потока данных
JP2010166407A (ja) プログラム取得装置、プログラム更新装置、およびプログラム取得プログラム
AU2001286213B2 (en) Motion picture reproducing middleware selecting/ executing device and method
JP2001518256A5 (ko)
US20090019307A1 (en) Digital broadcast file data receiving method and apparatus
US7096461B1 (en) Method and apparatus for digital signal processing and method of providing extension function
JP4057832B2 (ja) デジタルテレビ受信機のソフトウェアを更新するためのシステム
WO2006000635A1 (en) Method and system for controlling broadcast recorder
CN100459673C (zh) 具有定格功能的广播接收机及其方法
US20040163112A1 (en) Data signal receiver programmed by loading program and method for updating software using loading program
EP1146741B1 (en) Method and apparatus for digital signal processing
JP4887717B2 (ja) 放送受信装置およびそのプログラム更新方法
KR100617565B1 (ko) 이동단말기의 컨텐츠 프리인스톨 방법
JP4716783B2 (ja) ディジタル放送受信装置
EP1067455A1 (en) Running and testing applications
JP2010003168A (ja) 端末装置、設定移動システム、設定復元方法、設定移動方法、及びプログラム
JP2009118401A (ja) デジタル放送受信装置
KR20060019959A (ko) 위성 디지털 멀티미디어 방송 서비스 데이터를 관리하는방법 및 그 장치

Legal Events

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