KR20080024169A - 전자 기기를 초기화하는 동안 오류를 검출하기 위한 방법및 이 방법을 구현하는 장치 - Google Patents

전자 기기를 초기화하는 동안 오류를 검출하기 위한 방법및 이 방법을 구현하는 장치 Download PDF

Info

Publication number
KR20080024169A
KR20080024169A KR1020077030990A KR20077030990A KR20080024169A KR 20080024169 A KR20080024169 A KR 20080024169A KR 1020077030990 A KR1020077030990 A KR 1020077030990A KR 20077030990 A KR20077030990 A KR 20077030990A KR 20080024169 A KR20080024169 A KR 20080024169A
Authority
KR
South Korea
Prior art keywords
startup
memory
error
alert
during
Prior art date
Application number
KR1020077030990A
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 KR20080024169A publication Critical patent/KR20080024169A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • 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
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4425Monitoring of client processing errors or hardware failure
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4432Powering on the client, e.g. bootstrap loading using setup parameters being stored locally or received from the server
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4586Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
    • 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/488Data services, e.g. news ticker
    • H04N21/4882Data services, e.g. news ticker for displaying messages, e.g. warnings, reminders

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 전자 디바이스의 상주 소프트웨어의 론칭 단계 동안에 발생하는 문제점이 검출되게 한다. 이 검출은 이 단계 동안에 비휘발성 메모리에 기록된 정보를 사용해서 수행된다. 그 후, 이 정보는 검출이 성공한 경우에 삭제된다. 실패한 경우에는, 그러므로, 그 다음 시동 동안에 문제점을 검출하기 위해 이 정보를 사용하는 것이 가능하다.

Description

전자 기기를 초기화하는 동안 오류를 검출하기 위한 방법 및 이 방법을 구현하는 장치{METHOD FOR DETECTING ERRORS DURING INITIALIZATION OF AN ELECTRONIC APPLIANCE AND APPARATUS THEREFOR}
본 발명은 전자 디바이스 초기화 분야(domain)에 대한 것이고, 보다 구체적으로는 이 디바이스 내에 내장된 운영체제의 초기화 단계 동안 발생하는 문제점의 검출에 대한 것이다.
운영 체제를 구비하는 전자 디바이스의 초기화 개요(schema)는 일반적으로 다음과 같다.
제1 단계에서, 시스템 커널이 메모리 내로 로딩(loading)되고, 실행된다. 이 커널은 일반적으로 최소가 되도록 설계된다. 이 커널은 메모리 관리자와 작업 스케줄러와 같은 최소한의 기본 기능을 제공한다. 이 커널은 일반적으로 그 초기화와 론칭(launching)이 재생성가능하도록 정적으로 설계된다. 따라서, 하드웨어 고장이 없다면, 커널 초기화는 확실히 성공할 것이다.
제2 단계에서, 특정 개수의 서비스가 론칭된다. 이 서비스는 시스템의 보다 정교한 기능을 제공한다. 이것은 커널에 의해 지원된다, 이 서비스는 예를 들면, 주변 장치의 관리, 즉, 외부 세계, 입출력 주변 장치, 네트워크 또는 다른 장치들과 이 디바이스의 통신 층(layers of communication)의 임의의 필요한 관리를 제공한다. 이 서비스는 또한 사용자 선호의 관리와, 디바이스의 이전 사용 동안 저장된 구성 파라미터의 복구분만 아니라 이 디바이스의 특별한 목적과 관련하여 임의의 서비스를 포함할 수 있다.
이러한 서비스의 복잡성과 사용자의 인식과, 디바이스의 환경 파라미터는 이 단계의 성공을 보장하는 것을 훨씬 더 어렵게 한다. 참으로, 모든 시나리오가 시험될 수는 없고, 오류는 여전히 발생할 수 있다.
제3 단계에서, 일단 시스템을 구성하는 모든 서비스가 론칭되면, 애플리케이션이 또한 론칭된다. 이것은 그 환경 내의 디바이스의 기능을 완성시킬 애플리케이션이다. 이 애플리케이션은 완전한, 작동하는 운영 체제 상에서 론칭된다. 이 시스템은 일반적으로 애플리케이션 내에 발생하는 오류가 정정되게 한다. 아주 종종, 애플리케이션을 재론칭(relaunching)하는 것은 충분하다.
그러므로, 우리는 가장 중대한 오류는 제2 단계, 즉, 서비스 론칭 단계 동안 발생하는 오류라는 것을 알 수 있다. 이러한 오류를 다루는 것을 시도하기 위한 방법이 존재한다. 예를 들면, 개인용 컴퓨터의 세계에서, 시스템은 최소한의 시스템을 론칭하는 것으로 이루어진 "무오류(error-free)" 모드를 포함하는 다수의 론칭 모드를 일반적으로 제공한다. 이 최소한의 시스템은 일반적으로 서비스를 초기화하려고 시도하지 않으며, 이런 서비스의 론칭 파라미터를 정정하기 위한 인터페이스 를 사용자에게 제공한다. 이런 방식으로, 초기화 오류와 직면할 때, 사용자는 이런 오류의 원인을 정정하고 사용가능한 디바이스를 복구할 수 있다. 이런 정정은 시스템을 완전히 대체하는데 까지 이를 수 있다. 이 방법은 컴퓨터의 세계에서 정확히 기능하지만, 이러한 문제점에 대한 충족(indulgence)뿐만 아니라 사용자로부터의 특정 기술을 요구한다.
하지만, "일반 대중" 전자공학의 영역 내에서, 등가의 방법을 적용하는 것은 고려되지 않는다. 또한, 일반 대중 디바이스의 사용자는 디바이스의 고장을 쉽게 수용하려 하지 않을 것이다. 참으로, 사용자는 일반적으로 고장이 없는 더 낮은 수준의 복잡성을 가진 디바이스에 익숙하다. 또한 이러한 사용자는 잠재적인 문제점을 "수동으로" 정정하기 위해 필요한 기술을 소유하는 것이 요구될 수 없다.
오류가 정정되도록 하는 제1 조치는 시스템을 갱신하기 위한 능력이다. 이 가능성은 다수의 디바이스에 대해 존재한다. 예를 들면, 개인용 컴퓨터에 연결될 수 있는 디바이스는 종종 이런 컴퓨터로부터의 시스템 버전에 의해 갱신될 수 있다. 디지털 텔레비전 수신 디바이스는 또한 새로운 버전의 시스템 소프트웨어의 수신을 통해 일반적으로 갱신될 수 있다. 이 방법은 시스템의 설계상의 오류 또는 이 시스템의 메모리 덤프(dump)의 손상(corruption)이 극복되게 하거나, 새로운 기능이 추가되게 한다. 특정 개수의 기준이 충족되었을 때만, 다운로드 동작을 시작하기 위한 결정이 일반적으로 취해진다. 이러한 기준 중에는, 이 디바이스 내의 새로운 상주 소프트웨어의 존재 또는 현재 소프트웨어의 손상된 버전의 검출이다.
문서 US 6 393 585는 이러한 방법에 따라 단말기의 론칭을 개시하는 것으로 여겨진다. 이 문서에 따라서, 사용자는 시동 동안 제1 애플리케이션을 로딩하고 론칭하며, 만약 문제점이 발생되면, 사용자는 다른 애플리케이션을 로딩한다. 이러한 방법은 시동 문제점이 정교하게 취급되게 하지 않는다.
일반 대중 디바이스 내에서 오류를 취급하기 위한 다른 하나의 조치는 이 디바이스를 재시작하는 추가적인 가능성이다. 이 재시작 동작은 자동적이거나 또는 사용자에 의한 특정 행동에 의해 제어된다. 이 재시작 조치는 시스템이 재론칭 되게 하고, 디바이스의 사용 동안에 발생하는 오류가 다루어지게 한다.
그러므로, 새로운 소프트웨어 버전의 다운로드를 유발하기 위한 기준이 충족되지 않고, 시스템 서비스의 초기화 단계가 문제를 발생시키는 것이 가능하다. 이 경우에, 이 문제는 시스템 재시작을 유발시킨다. 그 다음에, 오류를 발생시키는 일련의 재시작이 발생하고, 따라서 새로운 재시작으로 이어진다.
본 발명은 전자 디바이스의 상주 소프트웨어의 론칭 단계 동안에 발생하는 문제가 검출되게 하며, 론칭 단계는 다수의 단계 또는 모듈로 나누어진다. 이 검출은 이 단계 동안에 그리고 각 모듈의 론칭 이전에 비휘발성 메모리에 기록되는 정보를 사용해서 수행된다. 그 후, 이 정보는 성공했을 경우에 삭제된다. 실패했을 경우에는, 그러므로, 다음 재시작 동안에 이 문제를 검출하기 위해 이 정보와, 그 연관된 모듈을 사용하는 것이 가능하다. 그러므로, 사용자는 시동 동안에 발생할 수 있는 문제의 검출에 있어서 높은 정밀도로부터 혜택을 얻는다.
본 발명은 영구 메모리를 포함하는 전자 디바이스의 시동 동안에 발생하는 오류를 검출하기 위한 방법에 대한 것이고, 이 디바이스는 상주 소프트웨어에 의해 구동되고, 이 방법은 적어도 다음 단계들:
- 제1 시동 동안에, 디바이스 메모리에 정보를 기록하기 위한 적어도 하나의 단계와,
- 제2 시동 동안에, 이러한 제1 시동 동안 메모리에 기록된 상기 정보에 따라, 제1 시동 동안 발생된 오류를 검출하기 위한 단계를 포함한다.
이롭게, 시동 프로세스는 복수의 모듈의 연속적인 론칭을 수반하고, 각 모듈이 론칭되기 전에 정보를 메모리에 기록하기 위한 단계를 포함한다.
특별한 실시예에 따라, 이 방법은 상주 소프트웨어의 적어도 일부분의 무오류 론칭의 완료 시에 메모리에 기록된 정보를 삭제하기 위한 단계를 또한 포함한다.
특별한 실시예에 따라, 오류-검출 단계는 시동 프로세스 동안 메모리에 기록된 상기 정보의 존재를 검출함으로써 수행된다.
특별한 실시예에 따라, 이 방법은 오류를 발생시킨 적어도 하나의 이전 시동의 검출에 후속하여 경보의 유발을 더 포함한다.
특별한 실시예에 따라, 경보가 유발될 때, 이 방법은 상기 디바이스의 적어도 하나의 파라미터의 디폴트 값을 복원하기 위한 단계를 또한 포함한다.
특별한 실시예에 따라, 이 방법은 경보가 유발될 때, 디바이스의 그 다음 시동 동안 적어도 하나의 모듈의 론칭을 비활성화하기 위한 단계를 또한 포함한다.
특별한 실시예에 따라, 이 방법은 경보가 유발될 때, 새로운 버전의 상주 소프트웨어의 다운로드를 야기하는 단계를 또한 포함한다.
특별한 실시예에 따라, 이 방법은 경보가 유발될 때, 상기 사용자를 위해 정보의 디스플레이를 야기하는 단계를 또한 포함한다.
본 발명은 또한 영구 메모리와 이 영구 메모리를 제어하기 위해 설계된 상주 소프트웨어를 포함하는 전자 디바이스에 대한 것으로서, 상기 디바이스의 시동 시에 상주 소프트웨어 론칭 수단은 복수의 연속적인 론칭을 포함하는 상기 시동 프로세스 동안 각 모듈의 론칭 전에 상기 디바이스 메모리에 정보를 기록하기 위한 수단 및 상기 시동 프로세스는 상기 시동 프로세스 동안 상기 메모리에 기록된 상기 정보에 따라 상기 이전 시동 동안 발생한 오류를 검출하기 위한 수단을 또한 포함한다.
특별한 실시예에 따라, 상기 디바이스는 상주 소프트웨어의 적어도 일부분의 무오류 론칭의 종료 시에 메모리에 기록된 정보를 삭제하기 위한 수단을 또한 포함한다.
특별한 실시예에 따라, 이 디바이스는 오류를 발생시킨 적어도 하나의 이전의 시동의 검출에 후속하여 경보를 유발시키기 위한 수단을 또한 포함한다.
특별한 실시예에 따라, 이 디바이스는 경보가 유발될 때, 상기 디바이스의 적어도 하나의 파라미터의 디폴트 값을 재설정하기 위한 수단을 또한 포함한다.
특별한 실시예에 따라, 이 디바이스는 경보가 유발될 때, 그 다음 디바이스 시동 동안 적어도 하나의 모듈의 론칭을 비활성화하기 위한 수단을 또한 포함한다.
특별한 실시예에 따라, 이 디바이스는 경보가 유발될 때, 새로운 버전의 상주 소프트웨어의 다운로드를 야기하기 위한 수단을 또한 포함한다.
특별한 실시예에 따라, 이 디바이스는 경보가 유발될 때, 사용자를 위해 정보를 디스플레이하기 위한 수단을 또한 포함한다.
본 발명은 첨부된 도면들을 참조해서 다음 설명을 읽음으로써, 더 잘 이해될 것이고, 다른 특징과 이점이 분명해질 것이다.
도 1은 본 발명의 실시예에 따른 방법의 흐름도.
도 2는 본 발명에 따른 디바이스의 실시예를 예시한 도면.
도 3은 본 발명에 따른 디바이스가 소프트웨어 제어 하에 동작하는 아키텍처를 예시한 도면.
도 4는 본 발명에 따라 상주 소프트웨어의 세트가 론칭되는 순서를 도시한 도면.
지금부터 설명될 본 발명의 실시예는 디지털 텔레비전 디코더의 영역 내에서 발견되지만, 이 영역에 제한되지는 않는다. 이 디코더는 방송된 텔레비전 서비스를 수신하고 디코딩하기 위한 역할을 담당한다. 이런 서비스는 예를 들면, 위성, 케이블, 지상파, 및 인터넷과 같은 보다 최근의 컴퓨터 네트워크와 같은 다수의 유형의 기술을 사용해 방송될 수 있다. 이런 서비스는 일반적으로 디지털 데이터의 스트림형태로 방송되고, 여기서 다수의 서비스는 결합될 수 있고, 각 서비스의 다른 구성 요소가 결합된다. 이런 구성 요소는 오디오 구성 요소, 비디오 구성 요소 및 서비스에 대한 정보를 포함할 수 있다. 전자 프로그래밍 가이드를 디스플레이 하기 위한 정보, 대화식 애플리케이션, 및 다른 종류의 정보가 또한 이 스트림 내에 발견될 수 있다. 이러한 구성 요소 중 일부는 압축될 수 있으며, 서비스를 시청하기 위해 인가된 사람들만에 의해서만 이 서비스가 사용될 수 있도록 이 서비스가 일반적으로 인코딩된다. 이러한 서비스를 시청하는 것은 디코더 디바이스의 사용을 요구하는데, 이 디코더 디바이스는 방송된 디지털 스트림을 수신하고, 예를 들면 텔레비전 수상기 상에서 서비스를 복구하려는 목적으로 다른 구성 요소를 분리시키고, 디코딩하고, 압축 해제하고, 동기화할 수 있다. 디코더는 또한 데이터 및 프로그램 가이드와 같은 관련 프로그램과, 게임 등과 같은 애플리케이션을 수신하고, 저장하고, 디스플레이할 수 있어야 한다.
이러한 디바이스의 아키텍처의 예는 도 2에 예시된다. 디코더 그 자체는 박스(2.1)에 요약된다, 예로서 주어진 디코더는 인터넷과 같은 컴퓨터 네트워크를 경유해 서비스를 수신하는 디코더이다. 그러므로, 이 디코더는 2.7로 표시된 이더넷 인터페이스를 경유해서, 전화선을 사용해서 연결을 제공하는 예를 들면 2.2라고 표시된 DSL (Digital Subscriber Line: 디지털 가입자 회선)과 같은 모뎀으로 연결된다. 수신된 데이터의 스트림은 프로세서(2.9)의 제어 하에 버스(2.1)를 통해 전달된 후에 2.12로 표시된 역다중화기에 의해 역다중화될 것이다. 그리고 나서, 오디 오와 비디오 구성 요소는 2.6으로 표시된 디코더에 의해 디코딩되고/되거나 압축 해제된다. 메뉴와 같은 임의의 추가적인 데이터는 2.8로 표시된 그래픽 프로세서에 의해 처리될 것이다. 디코더(2.6)와 그래픽 프로세서(2.8)로부터의 데이터는 2.4로 표시된 디지털-아날로그 변환기에 의해 오디오 및 비디오 신호로 변환될 것이다. 2.5로 표시된 이 신호는 2.3으로 표시된 텔레비전 수상기 상에 디스플레이하기 위해 PAL 또는 NTSC와 같은 텔레비전 표준에 따라 생성된다. 디코더는 프로세서(2.9)에 의해 제어된다. 이 프로세서는 2.10으로 표시된 플래시 메모리 내에 저장된 운영 체제를 실행시킨다. 이 플래시 메모리는 영구적이라는 속성을 가지며, 따라서 디바이스의 전원이 스위치 오프될 때, 여기에 저장된 정보가 메모리 내에 유지된다. 이 시스템은 작업 메모리로서 RAM(Random Access Memory: 무작위 액세스 메모리)을 사용한다.
일반적으로, 이런 유형의 디바이스는 소프트웨어 층(layer)의 제어 하에 작동하고, 이러한 층의 아키텍처의 한 예가 도 3에 주어진다. 이런 도면에서, 디코더의 하드웨어는 박스(3.11)에 의해 표현된다. 3.10이라고 표시된 제1 구동기 층은 이러한 하드웨어가 관리되게 한다. 3.2라고 표시된 시스템 커널은 작업 관리자와 스케줄러와 같은 기본 시스템 매커니즘을 구현한다. 디코더와 IP 네트워크간의 통신은 3.9라고 표시된 IP 스택에 의해 관리된다. 특정 개수의 모듈은 시스템 커널 위에 구현되고, 이 모듈 중 일부는 IP 통신 층위에 구현된다. 이런 모듈 중에 하나가, 비 전면 방식(non-exhaustive manner)으로, 디코더 세트가 중앙 콘솔로부터 관리되게 하기 위해 사용되는 3.4라고 표시된 SNMP(Simple Network Management Protocol) 클라이언트를 발견할 수 있다. 새로운 소프트웨어 부분을 다운로딩함으로써 상주 소프트웨어의 갱신의 관리를 가능케 하는 3.5라고 표시된 갱신 관리자가 또한 발견될 수 있다. 추가적으로, 예를 들면 텔레비전 제공(offer)을 지불하는 상황에서 사용자가 수신된 스트림을 보기 위해 참으로 인가됐는지를 검사하기 위해 사용되는 3.6으로 표시된 조건부 액세스 모듈이 발견될 수 있다. 3.7이라고 표시된 주문형 비디오(Video on Demand: VOD)가 주문형 방송 콘텐츠로의 액세스가 제어되게 한다. 3.8로 표시된 멀티캐스트 방송 제어 모듈은 텔레비전 서비스를 포함하는 이러한 모드의 스트림에서의 수신을 관리하기 위한 책임이 있다. 3.3이라고 표시된 서비스의 목록의 제어 모듈은 자신이 사용할 권한을 갖는 서비스의 목록을 복구하고 유지하기 위한 책임이 있다.
그러므로 이 모듈은 일련의 서비스를 제공하고, 이러한 서비스는 일반적으로 커널에 의해 관리되고 스케줄링되는 작업(task)으로서 론칭(launching)된다는 의미에서 시스템 커널의 기능을 사용한다. 이러한 모듈의 필요에 따라, 이러한 모듈은 IP 통신 층 또는 하드웨어 구동기를 사용한다. 예를 들면, 액세스 제어 모듈은 칩-카드(chip-card) 판독기 모듈 구동기를 사용할 것이다.
전체적으로, 이 디바이스는 3.1로 표시된 애플리케이션에 의해 관리되고, 이 애플리케이션의 목적은 사용자에게 사용자 자신의 디바이스의 작동 인터페이스를 제공하는 것이다. 그러므로, 이 애플리케이션은 예를 들면, 연결된 텔레비전 수상기를 통해 이용 가능한 프로그램 목록의 디스플레이, 프로그램 중 하나를 선택하는 가능성과, 디코더에 의한 상기 프로그램의 수신과 같은 기능의 세트를 제공할 것이 다. 작동하기 위해, 이러한 기능 각각은 모듈의 서비스와, 이 디바이스 상에 론칭된 시스템의 서비스를 사용할 것이다.
구동기, 커널, 모듈, 및 애플리케이션을 포함하는 상주 소프트웨어의 이러한 세트는 플래시 메모리 내에 저장된다. 디바이스가 시동될 때, 소프트웨어는 일반적으로 RAM 내로 로딩되어야 하고, 도 4에서 예시된 순서로 론칭되어야 한다. E1이라고 표시된 제1 단계에서, 디코더가 시동된다. 그리고 나서, 제2 단계(E2라고 표시됨)에서, 상주 소프트웨어, 커널, 구동기, 서비스 모듈, 및 애플리케이션의 이미지의 무결성이 검증된다. 참으로, 플래시 메모리 또는 어떤 다른 유형의 영구 메모리 내에 저장된 소프트웨어의 손상(corruption)에 대해서, 손상이 발생 시 이런 소프트웨어의 무결성을 검증하고, 무결한(integral) 대체 버전을 다운로드 하기 위한 시스템을 포함하는 것이 통상적이다. 이 시스템은 메모리 내의 소프트웨어의 무결성으로부터 계산되는 코드를 추가하는 CRC(Cyclic Redundancy Code: 순환 중복 코드)에 기초해서 작동할 수 있다. 시스템 론칭의 초기 단계에서, 저장된 코드의 임의의 부분의 론칭 이전에, CRC 계산이 코드에 대해 수행되고, 저장된 코드에 비교된다. 불일치(discrepancy)가 발생 시에는, 손상이 검출되고, 대체 버전이 다운로딩된다. CRC 보호가 전체 소프트웨어 또는 코드 모듈 단위로 적용될 수 있다. 이런 방식으로, 손상된 코드를 론칭하려는 시도가 결코 없을 것이다. 이 단계(E2)는 심지어 시스템 무결성의 경우에조차, 시스템 갱신이 요구되지 않는 지를 또한 검사한다. 참으로, 특정 경우에서, 예를 들면 디코더에 대한 상주 소프트웨어의 새로운 버전의 이용가능성 또는 어떤 다른 이유 때문에, 애플리케이션은 새로운 상주 소프 트웨어의 다운로딩을 요청할 수 있다. 일반적으로, 이것은 요구된 소프트웨어 버전의 식별자와 같은 추가적으로 필요한 정보와 함께, 메모리의 알려진 영역에서 다운로드 플래그의 배치를 통해 수행된다. 갱신 조건, 즉, 비무결성 또는 다운로드 요청이 충족되었을 때, 상주 소프트웨어 버전이 기존 버전에 대한 대체로서 메모리 내에 다운로딩되고 위치된다. 이 단계의 끝에서, 디바이스는 상주 소프트웨어의 무결한 버전을 가지는 것이 확실하다. 소프트웨어는, 메모리 내에 저장된 소프트웨어의 복제본을 구성하는 각 바이트가 참조 버전 내의 대응하는 바이트와 매칭이 되었을 때, 무결하다고 간주된다. 이것은 어떠한 프로세스도, 물리적 또는 소프트웨어적으로 이러한 바이트의 값을 변경하였거나, 이러한 바이트 중 어떤 바이트를 손상하지 않았다는 것을 의미한다.
그리고 나서, 제2 단계(E3라고 표시됨), 시스템 커널이 메모리 내에 로딩되고 론칭된다. 다음으로, 구동기가 이 예시에서 도시되지 않은 단계에서 론칭되었다면, 서비스는 시스템 커널에 의해 로딩되고 론칭된다. 이 서비스는 단계(E8)에서 도시된 것처럼, 하나씩 차례대로 론칭되고, 이 단계(E8)는 모든 서비스가 론칭될 때까지 반복된다. 일단 모든 서비스가 론칭되었으면, 애플리케이션은 단계(E10)에서 론칭된다. 그리고 나서 디코더가 작동되고, 사용하기 위해 준비된다.
그리고 나서, 소프트웨어 론칭은 커널 론칭, 서비스 론칭, 애플리케이션 론칭에 대응하는 3개의 단계로 나누어질 수 있다. 실행 문제가 이 단계 각각에 일어날 수 있다. 이 단계 각각의 다른 특징, 오류 유형, 및 오류가 발생할 확률에 따라, 오류가 시스템의 동작에 끼치는 결과와, 예측가능한 정정 조치가 다르다.
커널 론칭 단계는 하드웨어 상에서 실행될 최소 소프트웨어를 특징으로 한다. 이 소프트웨어는 일반적으로 파라미터 또는 제한된 개수의 외부 파라미터를 고려하지 않는다. 그러므로, 커널의 동작을 전면적으로(exhaustively) 테스트하는 것이 일반적으로 가능하다. 우리는 동작이 비교적 간단하고, 안정적 환경에서 실행되는 소프트웨어를 가진다. 그러므로, 이런 시점에서 발생하는 오류의 확률은 낮으며, 일반적으로 하드웨어 장애(failure) 또는 플래시 메모리 내에 저장된 버전의 손상에 기인한다.
서비스 론칭 단계는, 그 자체는 보다 복잡한 기능을 특징으로 하는데, 이 기능은 자신의 소프트웨어가 전면적인 방식으로 테스트하기가 더 어렵다는 것을 의미한다. 추가적으로, 이런 모듈 중의 다수는 론칭될 때, 외부 파라미터를 사용한다. 예를 들면, 칩 카드 내에 포함된 정보를 사용하는 액세스 제어 모듈이 언급될 수 있으며, 서비스 제어기의 목록은 네트워크 상에서 서비스 목록을 검색할 수 있거나 이전 사용으로부터 저장된 목록을 사용해 초기화될 수 있다. 모듈이 이전 사용으로부터 또한 저장된 사용자 파라미터를 사용하는 것이 또한 일반적일 것이다. 그러므로, 서비스 소프트웨어 모듈은 변하는 환경에서 실행되는 비교적 복잡한 프로그램이다. 결과적으로, 모든 가능한 파라미터 값과 관련하여 서비스 소프트웨어 모듈을 철저히 테스트하는 것은 일반적으로 불가능하다. 이러한 모듈은 또한 하드웨어 장애 또는 메모리 내에 저장된 소프트웨어의 손상의 희생양(victim)이 될 수 있다.
애플리케이션 론칭 단계에 대해서, 이 단계는 훨씬 더 많이 변하는 실행 조건을 가진 보다 복잡한 서비스 론칭이라는 것을 특징으로 한다. 참으로, 이 단계가 고려해야 하는 다른 파라미터에 추가적으로, 이 단계의 실행은 사용자 및, 이 사용자가 디코더에 대해 취할 수 있는 모든 행위와 또한 상호작용해야 한다. 이 단계는 하드웨어 장애 또는 메모리 내에 저장된 소프트웨어의 손상을 또한 경험할 수 있다.
오류를 더 잘 관리하려고 시도하기 위해 채용될 수 있는 다른 조치가 이제 설명될 것이다.
하드웨어 장애에 대해서는, 사용자가 디바이스를 수리하기 위해 가지고 가야하므로, 일반적으로 아무 것도 수행되지 않는다.
커널은 주로 하드웨어 장애와 그 저장된 소프트웨어 이미지의 손상에 기인한 오류로부터 피해를 입는다는 것이 관찰되어 왔다. 아무런 다른 오류 복구 매커니즘도 이 코드를 위해서 일반적으로 계획되지 않는다.
애플리케이션에 대해서는, 일반적으로 이 애플리케이션은 실행동안 발생하는 소프트웨어 문제에 기인한 방해(blockage)를 검출하기 위한 매커니즘을 또한 가진다. 감시자(watchdog) 재설정이라고 알려진 이러한 매커니즘은 시스템에 대해서, 카운터를 감소시켜서 0이 되게 하는 동작으로 이루어진다. 이 애플리케이션은 감시자 재설정 카운터를 규칙적으로 증가시켜서 이 카운터가 결코 0이 되지 않게 한다. 애플리케이션이 정지될 때, 이 애플리케이션은 더 이상 카운터를 증가시킬 수 없으므로, 이 카운터는 0의 값에 도달된다. 카운터가 0의 값에 도달될 때, 시스템은 시스템 재초기화, 즉, 디코더의 재시작을 유발한다. 이 재시작은 일반적으로 디바이스의 작동 상태를 재수립하기에 충분하다. 애플리케이션의 작동 단계 동안 발생하 는 문제가 일반적으로 그것의 사용 또는 외부 조건의 발생에 기인하기 때문에, 재시작은 이러한 문제를 일으킨 조건이 사라진 새로운 론칭을 야기한다.
메모리 내에서 소프트웨어의 손상이나 하드웨어 장애를 지나서, 서비스 론칭 단계는 론칭 문제를 경험할 수 있다. 참으로, 이런 서비스는 특정한 복잡성을 가지고, 추가적으로, 이 서비스의 론칭은 서비스 또는 사용자 선호도의 최종 목록과 같은 외부 파라미터에 종속할 수 있다. 이런 모듈은 가능한 외부 파라미터 값 전부를 사용하여 철저히 테스트될 수는 없다. 결과적으로, 방해(blockage)가 론칭 동안 발생할 수 있다. 이런 문제는 일반적으로 디바이스를 다시 시작함으로서 해소될 수는 없으며, 이런 재시작은 고려된 파라미터를 변경시키지 않는다. 모듈 실행 오류를 야기하는 파라미터는 매번 이러한 오류를 야기시킨다. 이러한 상황에서, 시동되는 디바이스는 모듈이 론칭될 때, 오류를 경험할 수 있다. 그러면, 이런 오류는 디바이스가 재시작되게 한다. 오류는 재시작시에 다시 발생하고, 디바이스는 끊길 수 없는 재시작 주기에 진입한다.
도 1은 이런 유형의 상황이 검출되게 하고, 정정 조치가 취해지도록 하는 본 발명의 실시예에 따른 시동 도면을 보여준다. 이 실시예는 서비스 론칭 단계 동안 스위칭 지점을 기억하는 사실에 기초한다. 기억은 "흔적" 데이터를 메모리에 기록함으로써 수행된다. 이러한 시동이 성공적일 때, 이러한 흔적은 서비스 시동 단계의 끝에서 메모리로부터 삭제된다. 하지만, 문제가 서비스 중 하나의 론칭 동안 발생할 때, 이 흔적이 삭제되는 단계에 도달하기 전에, 재시작이 발생한다. 이 시동 동안에, 메모리 내의 흔적의 존재는 이전 시동이 완료되지 않았음을 지시한다. 또 한, 흔적의 값은 이 문제를 야기한 서비스가 식별되게 한다. 단계(E1)에서, 디바이스가 시동된다. 디바이스의 소프트웨어의 무결성을 검증하는 단계(E2)가, 만약 필요하다면, 새로운 상주 소프트웨어의 다운로딩에 후속된다. 다음으로, 커널과 구동기를 론칭하는 단계(E3)가 후속된다. 이런 단계(E3)의 끝에서, 메모리에 기록된 흔적의 존재가 검사된다. 만약 아무런 흔적도 존재하지 않는다면, 이전 시동은 성공되었고, 서비스 론칭 프로세스가 시작될 수 있다. 이 정보는 단계(E7)에서 제1 흔적의 형태로 기억된다. 그리고 나서 제1 서비스가 E8이라고 표시된 단계에서 론칭된다. 다음으로, 단계(E7과 E8)가 단계(E7)에서 서비스 론칭 프로세스의 상태를 매번 저장함으로써 반복된다. 이 상태는 예를 들면, 론칭되는 최종 서비스로의 참조이거나, 론칭될 다음 서비스로의 참조일 수 있다. 모든 서비스가 론칭되었을 때, 흔적은 단계(E9)에서 삭제된다. 이 실시예에서, 이 단계는 아래에서 설명될 변칙(anomaly) 카운터를 또한 재설정할 것이다. 다음으로, 서비스가 성공적으로 론칭된 후에, 애플리케이션 론칭 단계(E10)는 디바이스 시동 프로세스를 끝낸다.
서비스의 론칭이 실패할 때, 디바이스는 즉시로 또는 디바이스가 방해한 후에 사용자의 명령에 의해 재시작한다. 임의의 경우에서, 이런 재시작은 시동 프로세스가 흔적 삭제의 단계(E9)를 수행할 수 있기 전에 발생한다. 그러므로, 재시작 동안, 커널 론칭 단계(E3)의 끝에서 수행된 흔적 존재 테스트는 긍정(positive)일 것이다. 이 경우에, 단계(E4)는 변칙 카운터를 증가시키는 동작으로 이루어진다. 이 카운터는 연속적으로 실패한 시동의 횟수를 계수하기 위해 사용된다. 그 후, 흔적은 단계(E5)에서 삭제될 것이다. 이런 두 개의 단계의 순서는 중요하지 않다. 그 후 임계치와 관련해서 변칙 카운터를 테스트하기 위한 테스트가 수행될 것이다. 만약 이런 임계치가 초과된다면, 정정 동작이 취해지게 하기 위해 경보(alarm)가 유발된다. 임계치 테스트와 연관된 이러한 변칙 카운터의 사용은, 특정 횟수의 연속적으로 실패한 시동이 오류를 발생시킨 후에만 경보가 유발되게 한다. 이러한 사용은 선택사항이며, 참으로 제1의 실패한 시동으로부터 경보를 유발시키는 것이 가능하다. 그러나, 이런 경우에서는, 예를 들면, 정전이나 사용자에 의해 디바이스가 턴오프되는 것과 같은 시동 프로세스에서의 우발적인 중단으로부터 문제가 발생할 때, 경보를 야기시키는 것이 가능하다. 임계치에 도달되지 않는 한, 시동은 단계(E7) 내지 단계(E10)의 실행을 통해서 시도될 것이다. 임계치는 일반적으로 몇 단위, 즉, 3 또는 5일 것이다. 이 값이 더 높으면 높을수록, 더 많은 실패한 시동이 경보를 유발시키기 위해 필요할 것이다 이 값이 더 낮으면 낮을수록, 우발적인 문제에 대한 경보를 유발시키는 위험이 더 높다.
여러 유형의 정정 동작이 가능하다. 제1 가능성은 디바이스를 디폴트 구성으로 재설정하는 것이다. 다른 말로 하자면, 사용자 프로파일, 선호도, 서비스 목록과 같은 파라미터가 디폴트 값으로 재설정된다. 이런 방식으로, 시동이 일어나게 하는 알려지고 테스트된 구성이 획득된다. 잘못된(faulty) 서비스 론칭은 또한 비활성화될 수 있고, 디바이스는 하나 이상의 서비스가 부족한 상태에서 재시작될 수 있다. 이것은 아마도 열화된(degraded) 기능을 초래할 것이지만, 사용자로 하여금 이 문제를 정정하게 할 수 있다. 새로운 버전의 상주 소프트웨어를 다운로드하려는 요청은 또한 디바이스를 알려진 상태로 재설정하기 위해 메모리에 기록될 수 있다. 사용자를 위해 메시지를 디스플레이하는 것이 가능하다. 파라미터가 초기에 디폴트 값으로 재설정하는 복구 전략을 구현하는 것이 또한 가능하며, 만약 이것이 충분하지 않다면, 일부 서비스가 비활성화될 수 있어서, 이 동작이 실패하는 경우에, 새로운 버전의 상주 소프트웨어가 다운로드하기 위해 요청될 수 있다. 바람직하게, 사용자는 온-스크린 메시지 또는 디바이스 상에서 특정 신호의 활성화와 같은 다른 통신 수단에 의해 상황을 인식하게 될 것이다.
따라서, 설명된 실시예는 제한적이지 않다. 당업자는 적응(adaptation)이 가능하다는 것을 이해한다. 특히, 흔적을 삭제하는 것은 최종 시동이 성공적이라는 것을 지시하는 파라미터를 기록함으로써 대체될 수 있고, 이 파라미터는 서비스 론칭 단계 이전에 문제를 지시하는 값으로 초기화될 것이다. 또한, 정정 동작은 본 발명의 체제를 벗어나지 않고 여러 방식으로 결합될 수 있다는 것이 명백하다. 메모리에 기록된 흔적의 순간과 내용을 다르게 선택하는 것이 또한 가능하다.
본 발명은 전자 디바이스 초기화 분야(domain)에 이용가능하고, 보다 구체적으로는 이 디바이스 내에 내장된 운영체제의 초기화 단계 동안 발생하는 문제점의 검출에 이용가능하다.

Claims (15)

  1. 영구 메모리를 포함하고, 상주(resident) 소프트웨어에 의해 제어되는 전자 디바이스의 시동 동안에 발생하는 오류를 검출하기 위한 방법에 있어서, 이 디바이스는 , 상기 상주 소프트웨어 시동 프로세스는:
    - 초기 시동 동안에, 각 모듈이 론칭(launching)되기 전에 상기 디바이스의 메모리에 정보를 기록하기 위한 적어도 하나의 단계로서, 상기 시동 프로세스는 복수의 모듈의 연속적인 론칭을 수반하는, 정보를 기록하기 위한 적어도 하나의 단계와,
    - 제2 시동 동안에, 이러한 제1 시동 동안 메모리에 기록된 상기 정보에 따라, 제1 시동 동안 발생된 오류를 검출하기 위한 단계를
    적어도 포함하는 것을 특징으로 하는, 오류를 검출하기 위한 방법.
  2. 제1항에 있어서, 상기 상주 소프트웨어의 적어도 일부분의 무오류(error-free)론칭의 완료시에 상기 메모리에 기록된 정보를 삭제하는 단계를 또한 포함하는, 오류를 검출하기 위한 방법.
  3. 제2항에 있어서, 상기 오류 검출 단계는 상기 시동 프로세스 동안 상기 메모리에 기록된 상기 정보의 존재를 검출함으로써 수행되는, 오류를 검출하기 위한 방법.
  4. 제1항 내지 제3항 중의 어느 한 항에 있어서, 오류를 발생시킨 적어도 하나의 이전 시동의 검출에 후속하여 경보의 유발을 더 포함하는, 오류를 검출하기 위한 방법.
  5. 제4항에 있어서, 경보가 유발될 때, 상기 디바이스의 적어도 하나의 파라미터의 디폴트 값을 복원하기 위한 단계를 더 포함하는, 오류를 검출하기 위한 방법.
  6. 제4항에 있어서, 경보가 유발될 때, 그 다음 디바이스 시동 동안 적어도 하나의 모듈의 론칭을 비활성화하기 위한 단계를 더 포함하는, 오류를 검출하기 위한 방법.
  7. 제4항에 있어서, 경보가 유발될 때, 새로운 버전의 상주 소프트웨어의 다운로드를 야기하는 단계를 더 포함하는, 오류를 검출하기 위한 방법.
  8. 제4항에 있어서, 경보가 유발될 때, 상기 사용자를 위해 정보의 디스플레이를 야기하는 단계를 더 포함하는, 오류를 검출하기 위한 방법.
  9. 영구 메모리와 이 영구 메모리를 제어하기 위해 설계된 상주 소프트웨어를 포함하는 전자 디바이스로서, 상기 디바이스의 시동 시에 상주 소프트웨어 론칭 수 단은 복수의 모듈의 연속적인 론칭을 포함하는 상기 시동 프로세스 동안 각 모듈의 론칭 전에 상기 디바이스 메모리에 정보를 기록하기 위한 수단, 및 상기 시동 프로세스 동안 상기 메모리에 기록된 상기 정보에 따라 상기 이전 시동 동안 발생한 오류를 검출하기 위한 수단을 또한 포함하는, 전자 디바이스.
  10. 제9항에 있어서, 상기 상주 소프트웨어의 적어도 일부분의 무오류 론칭의 완료 시에 메모리에 기록된 정보를 삭제하기 위한 수단을 더 포함하는, 전자 디바이스.
  11. 제9항 또는 제10항에 있어서, 오류를 발생시킨 적어도 하나의 이전 시동의 검출에 후속하여 경보를 유발시키기 위한 수단을 더 포함하는, 전자 디바이스.
  12. 제11항에 있어서, 경보가 유발될 때, 상기 디바이스의 적어도 하나의 파라미터의 디폴트 값을 재설정하기 위한 수단을 더 포함하는, 전자 디바이스.
  13. 제11항에 있어서, 경보가 유발될 때, 그 다음 디바이스 시동 동안 적어도 하나의 모듈의 론칭을 비활성화하기 위한 수단을 더 포함하는, 전자 디바이스.
  14. 제11항에 있어서, 경보가 유발될 때, 새로운 버전의 상주 소프트웨어의 다운로드를 야기하기 위한 수단을 더 포함하는, 전자 디바이스.
  15. 제11항에 있어서, 경보가 유발될 때, 상기 사용자를 위해 정보를 디스플레이하기 위한 수단을 더 포함하는, 전자 디바이스.
KR1020077030990A 2005-07-11 2006-07-07 전자 기기를 초기화하는 동안 오류를 검출하기 위한 방법및 이 방법을 구현하는 장치 KR20080024169A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0552135A FR2888353A1 (fr) 2005-07-11 2005-07-11 Procede de detection d'erreurs lors de l'initialisation d'un appareil electronique et appareil implementant le procede
FR0552135 2005-07-11

Publications (1)

Publication Number Publication Date
KR20080024169A true KR20080024169A (ko) 2008-03-17

Family

ID=36084195

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077030990A KR20080024169A (ko) 2005-07-11 2006-07-07 전자 기기를 초기화하는 동안 오류를 검출하기 위한 방법및 이 방법을 구현하는 장치

Country Status (8)

Country Link
US (1) US20090276655A1 (ko)
EP (1) EP1908305B1 (ko)
JP (1) JP2009505172A (ko)
KR (1) KR20080024169A (ko)
CN (1) CN101253779B (ko)
DE (1) DE602006007006D1 (ko)
FR (1) FR2888353A1 (ko)
WO (1) WO2007006758A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101110021B1 (ko) * 2010-01-29 2012-02-29 한국과학기술원 소프트웨어에서의 상호작용 패턴을 이용한 결함 검출 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224343B (zh) * 2014-05-27 2019-09-17 阿里巴巴集团控股有限公司 一种应用程序的更新提示方法和装置
JP6147240B2 (ja) * 2014-12-05 2017-06-14 キヤノン株式会社 情報処理装置、該装置の制御方法、並びにプログラム
JP6744448B2 (ja) * 2019-04-12 2020-08-19 Necプラットフォームズ株式会社 情報処理装置、情報処理システム、故障検出方法、及びそのためのプログラム
CN110262840B (zh) * 2019-06-17 2023-01-10 Oppo广东移动通信有限公司 设备启动监控方法及相关产品
US11729474B2 (en) * 2020-08-07 2023-08-15 Arris Enterprises Llc System and method for ensuring media appliance stability

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5432927A (en) * 1992-06-17 1995-07-11 Eaton Corporation Fail-safe EEPROM based rewritable boot system
JPH0635737A (ja) * 1992-07-15 1994-02-10 Matsushita Electric Works Ltd 自動障害復旧方式
US6381694B1 (en) * 1994-02-18 2002-04-30 Apple Computer, Inc. System for automatic recovery from software problems that cause computer failure
US5974546A (en) * 1997-05-08 1999-10-26 Micron Electronics, Inc. Apparatus and method to determine cause of failed boot sequence to improve likelihood of successful subsequent boot attempt
GB2332541B (en) * 1997-12-20 2002-12-04 Ibm Boot failure recovery system and method
JPH11327914A (ja) * 1998-05-11 1999-11-30 Nec Corp 自動インストールシステムおよび自動インストールプログラムを記録した記録媒体
US6230285B1 (en) * 1998-09-08 2001-05-08 Symantec Corporation Boot failure recovery
US6393585B1 (en) * 1998-12-23 2002-05-21 Scientific-Atlanta, Inc. Method and apparatus for restoring operating systems in a set-top box environment
US6948099B1 (en) * 1999-07-30 2005-09-20 Intel Corporation Re-loading operating systems
US6463531B1 (en) * 1999-09-16 2002-10-08 International Business Machines Corporation Method and system for monitoring a boot process of a data processing system providing boot data and user prompt
US7069578B1 (en) * 2000-02-04 2006-06-27 Scientific-Atlanta, Inc. Settop cable television control device and method including bootloader software and code version table for maintaining and updating settop receiver operating system software
US6763456B1 (en) * 2000-02-25 2004-07-13 Intel Corporation Self correcting server with automatic error handling
US6745343B1 (en) * 2000-07-13 2004-06-01 International Business Machines Corporation Apparatus and method for performing surveillance prior to boot-up of an operating system
US7137026B2 (en) * 2001-10-04 2006-11-14 Nokia Corporation Crash recovery system
EP1345124A1 (en) * 2002-03-14 2003-09-17 Hewlett-Packard Company Managing boot errors
EP1351144A1 (en) * 2002-04-04 2003-10-08 Hewlett-Packard Company Data processing system and method having an improved device initialisation process
EP1494119A1 (en) * 2003-06-30 2005-01-05 Thomson Multimedia Broadband Belgium Network equipment and a method for monitoring the start up of a such an equipment
US7350111B2 (en) * 2004-08-03 2008-03-25 Inventec Corporation Method of providing a real time solution to error occurred when computer is turned on
US7716464B2 (en) * 2005-06-23 2010-05-11 Intel Corporation Method to have fault resilient booting
EP1899814B1 (en) * 2005-06-30 2017-05-03 Sling Media, Inc. Firmware update for consumer electronic device
US7493525B2 (en) * 2005-09-21 2009-02-17 Cisco Technology, Inc. Method and system for managing failure information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101110021B1 (ko) * 2010-01-29 2012-02-29 한국과학기술원 소프트웨어에서의 상호작용 패턴을 이용한 결함 검출 방법

Also Published As

Publication number Publication date
EP1908305A1 (fr) 2008-04-09
EP1908305B1 (fr) 2009-05-27
CN101253779B (zh) 2011-08-31
DE602006007006D1 (de) 2009-07-09
WO2007006758A1 (fr) 2007-01-18
JP2009505172A (ja) 2009-02-05
US20090276655A1 (en) 2009-11-05
FR2888353A1 (fr) 2007-01-12
CN101253779A (zh) 2008-08-27

Similar Documents

Publication Publication Date Title
EP1433060B1 (en) Crash recovery system
US10114655B2 (en) Rapid start up method for electronic equipment
US8041988B2 (en) Firmware update for consumer electronic device
US7558958B2 (en) System and method for securely booting from a network
US8161277B2 (en) Method of safe and recoverable firmware update and device using the same
US7149889B2 (en) Proactive reboot
US6393585B1 (en) Method and apparatus for restoring operating systems in a set-top box environment
KR20080024169A (ko) 전자 기기를 초기화하는 동안 오류를 검출하기 위한 방법및 이 방법을 구현하는 장치
KR100440950B1 (ko) 네트워크 환경에 있어서 소프트웨어 업그레이드 방법 및그에 따른 네트워크 디바이스
US20070174689A1 (en) Computer platform embedded operating system backup switching handling method and system
EP2241987B1 (en) Method and system for safely deleting information from a computer
US7870352B2 (en) State-based memory unloading
US6895463B2 (en) Method and apparatus for efficiently running an execution image using volatile and non-volatile memory
EP1584005B1 (en) Mobile handset with a fault tolerant update agent
EP1527388B1 (en) Software download into a receiver
US7991390B2 (en) Program updating method of wireless communication terminal and wireless communication terminal using the same
KR20090041060A (ko) 자가 복구가 가능한 iptv 시스템 및 이를 이용한 자가복구 방법
KR20140066370A (ko) 디스플레이장치 및 소프트웨어 복구 방법
CN110769317A (zh) 图像处理电路及其备份/还原方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application