KR100750132B1 - 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체 - Google Patents
부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체 Download PDFInfo
- Publication number
- KR100750132B1 KR100750132B1 KR1020050089692A KR20050089692A KR100750132B1 KR 100750132 B1 KR100750132 B1 KR 100750132B1 KR 1020050089692 A KR1020050089692 A KR 1020050089692A KR 20050089692 A KR20050089692 A KR 20050089692A KR 100750132 B1 KR100750132 B1 KR 100750132B1
- Authority
- KR
- South Korea
- Prior art keywords
- update
- kernel
- information
- boot record
- component
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 부팅 방법, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그 시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체에 대한 것으로,
마스터 부트 레코드(master boot record)와 백업 부트 레코드(backup boot record)를 이용하여 커널을 안전하게 업데이트하고 업데이트 에러 발생시 효율적인 복원 기능을 지원하며, 컴포넌트 구성 DB를 이용함으로써 커널을 포함한 다수의 소프트웨어 컴포넌트를 하나의 트랜잭션으로 묶어 업데이트하고 업데이트 에러를 완벽하게 복원할 수 있다.
소프트웨어 자동 업데이트, 부트 레코드, 부트 로더, 커널.
Description
도 1은 일반적인 시스템에서의 부트 영역의 구성,
도 2는 업데이트 유효성 확인 저장소를 이용하여 커널에 대한 자동 업데이트 기능을 제공하는 종래 기술의 예,
도 3은 2개의 부트 로더를 이용하여 커널에 대한 자동 업데이트 기능을 제공하는 종래 기술의 다른 예,
도 4a는 본 발명에 따른 부트 레코드의 예,
도 4b는 본 발명에 따른 컴포넌트 구성 정보의 예,
도 5는 본 발명에 따른 부트 영역의 구성,
도 6은 본 발명에 따른 부팅 방법 중 커널 로드 과정을 도시한 흐름도,
도 7은 본 발명에 따른 부팅 방법 중 기타 소프트웨어 컴포넌트들을 로드하는 과정을 도시한 흐름도,
도 8은 본 발명에 따른 커널의 자동 업데이트 메커니즘을 도시한 흐름도,
도 9a, 9b 및 9c는 본 발명에 따른 커널의 자동 업데이트 과정에서 메모리 상태 변화를 예시한 도면,
도 10a, 10b, 10c 및 10d는 본 발명에 따라 업데이트 패키지 내의 컴포넌트들을 자동 업데이트하는 과정에서 메모리 상태 변화를 예시한 도면,
도 11은 본 발명의 일실시예에 따른 소프트웨어 업데이트 및 에러 복원 시스템의 구성도,
도 12는 본 발명의 다른 실시예에 따른 소프트웨어 업데이트 및 에러 복원 시스템의 구성도.
본 발명은 소프트웨어 업데이트(software update)에 관한 것으로, 더욱 상세하게는 시스템에 설치된 소프트웨어 컴포넌트들의 업데이트 및 업데이트 도중 발생하는 에러의 복원을 지원하기 위한 부팅 방법, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그 시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체에 관한 것이다.
커널(kernel)은 운영체제(OS)의 가장 핵심적인 부분으로서, 커널 이미지(kernel image)의 자동 업데이트시 시스템 크래시(crash)로 인해 업데이트가 중간에 중단된 경우 해당 장치를 부팅조차 할 수 없는 위험 부담이 따른다.
도 1은 일반적인 시스템에서의 부트 영역의 구성을 도시한 것이다. 현재 이미지(CURRENT IMAGE, 110)는 OS와 어플리케이션을 통합한 바이너리 이미지(binary image)이고, 부트 로더(BOOT LOADER, 120)는 시스템이 시작될 때 처음으로 실행시키는 코드로서 현재 이미지를 램에 로드하고 실행하여 시스템을 부팅하는 역할을 한다. 이러한 구성의 문제점은, 이미지 업데이트 실패시 자동 복원이 안된다는 것이다. 또한, 여러 개의 소프트웨어 컴포넌트들을 업데이트하고 업데이트 에러를 복원하는 기능을 제공하기 곤란하다.
도 2는 업데이트 유효성 확인 저장소(230)를 이용하여 커널에 대한 자동 업데이트 기능을 제공하는 종래 기술의 예이다. 이 예에서는, 커널 업데이트시 커널의 현재 이미지(220)를 백업 저장소에 복사하여 백업 이미지(BACKUP IMAGE, 210)를 생성한 후, 신규 이미지(NEW IMAGE, 220)를 다운로드한다. 그리고 부팅시 문제가 발생하면 부트 로더(240)가 업데이트 유효성 확인 저장소(230)를 참조하여 업데이트의 유효성을 확인하고 백업 이미지(210)를 신규 이미지(220)에 복사한 후, 이를 이용하여 시스템을 재부팅한다. 이러한 방법에 의하면, 시스템 복원시 백업 이미지(210) 전체를 다시 복사해야 하는데, 보통 12 Mbyte 정도인 커널 이미지를 플래시 메모리에 복사하려면 보통 2-30초 소요되므로 비효율적이다.
도 3은 2개의 부트 로더(330, 340)를 이용하여 커널에 대한 자동 업데이트 기능을 제공하는 종래 기술의 다른 예이다. 이 예에서도 마찬가지로, 커널 업데이트시 현재 이미지(320)를 백업 저장소에 복사하여 백업 이미지(310)를 생성한 후, 신규 이미지(320)를 다운로드한다. 그리고 부팅시 부트 로더1(340)을 실행하여 문제가 발생하면, 부트 로더2(330)를 실행하여 백업 이미지(310)가 로드되도록 한다. 이러한 방법에 의하면, 시스템이 물리적으로 2개의 부트 로더를 실행시킬 수 있어 야 한다는 문제가 있다.
따라서, 커널을 자동 업데이트하고 업데이트 에러가 발생했을 때 효율적으로 시스템을 복원하는 기술이 필요한 실정이다. 또한, 커널을 포함한 여러 개의 소프트웨어 컴포넌트를 업데이트할 때, 에러 발생시 업데이트 롤백(rollback)을 할 수 있는 기능이 필요하다. 즉, 소프트웨어 자동 업데이트의 신뢰성(reliability)을 제공하기 위해 업데이트 에러시 이전 상태(마지막 재부팅 시점)로의 자동 복원 기능이 필요하다.
본 발명은 상기와 같은 문제를 해결하여, 커널과 같은 중요 컴포넌트를 포함한 다수의 컴포넌트를 업데이트하고 업데이트시 에러를 효율적으로 자동 복원하기 위한 부팅 방법, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그 시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체를 제공하는 것을 목적으로 한다.
상기 목적의 달성을 위해 본 발명은, 부트 레코드(boot record)를 이용하여 커널을 안전하게 업데이트하고 업데이트 에러 발생시 효율적인 복원 기능을 지원하며, 컴포넌트 구성 DB를 이용함으로써 커널을 포함한 다수의 소프트웨어 컴포넌트를 하나의 트랜잭션으로 묶어 업데이트하고 업데이트 에러를 복원하는 부팅 방법, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그 시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체를 제공한다.
본 발명의 특징은, 커널을 로드하여 시스템을 부팅하는 방법에 있어서, 상기 커널에 대한 정보를 포함하는 마스터 부트 레코드의 유효성을 체크하는 단계; 상기 마스터 부트 레코드가 유효하면, 상기 마스터 부트 레코드를 이용하여 커널을 로드하고 실행하는 단계; 및 상기 마스터 부트 레코드가 유효하지 않으면, 업데이트 이전의 커널에 대한 정보를 포함하는 백업 부트 레코드를 이용하여 커널을 로드하고 실행하는 단계를 포함하는 것이다.
바람직하게는 상기 방법이, 상기 시스템에 설치된 소프트웨어 컴포넌트들의 업데이트에 대한 정보를 포함하는 컴포넌트 구성 정보를 읽어 이전 업데이트의 실행 결과를 판단하는 단계; 상기 업데이트가 성공적으로 종료된 것으로 판단되는 경우는, 상기 구성 정보에 포함된 현재 정보를 이용하여 컴포넌트들을 로드하고 실행하는 단계; 및 상기 업데이트가 성공적으로 종료되기 전에 중단된 것으로 판단되는 경우는, 상기 구성 정보에 포함된 이전 정보를 이용하여 컴포넌트들을 로드하고 실행하는 단계를 더 포함한다.
바람직하게는 상기 방법이, 상기 업데이트가 성공적으로 종료되기 전에 중단되었지만, 커널을 제외한 컴포넌트들의 업데이트가 완료되어 있고, 상기 구성 정보에 포함된 커널의 현재 정보와 상기 마스터 부트 레코드의 커널 정보가 동일한 것으로 판단되는 경우는, 상기 구성 정보에 포함된 현재 정보를 이용하여 컴포넌트들을 로드하고 실행하는 단계를 더 포함한다.
본 발명의 다른 특징은, 커널을 업데이트하는 소프트웨어 자동 업데이트 및 에러 복원 방법에 있어서, 신규 버전의 커널을 다운로드 받아 저장하는 단계; 커널에 대한 정보를 포함하는 마스터 부트 레코드를 백업 부트 레코드에 복사하는 단 계; 상기 마스터 부트 레코드에 상기 신규 버전의 커널에 대한 정보를 기록하는 단계;를 포함하는 것이다.
본 발명의 또 다른 특징은, 커널을 업데이트하는 소프트웨어 자동 업데이트 및 에러 복원 방법에 있어서, 업데이트 트랜잭션을 시작하는 단계; 상기 커널의 상태 정보를 '다운로드'로 변경하고, 상기 커널의 이전 정보를 현재 정보로 변경하고, 신규 버전의 커널을 다운로드하여 저장하는 단계; 상기 커널의 상태 정보를 '업데이트'로 변경하고, 커널에 대한 정보를 포함하는 마스터 부트 레코드의 정보를 백업 부트 레코드에 복사하고, 상기 커널의 현재 정보 및 상기 마스터 부트 레코드에 상기 신규 버전의 커널에 대한 정보를 기록하는 단계; 상기 커널의 상태 정보를 '완료'로 변경하는 단계; 및 상기 트랜잭션을 종료하는 단계를 포함하는 것이다.
바람직하게는 상기 방법에서, 상기 마스터 부트 레코드에 새로운 정보를 기록하기 전에 상기 마스터 부트 레코드의 유효성 플래그를 '무효'로 표시하고, 상기 새로운 정보를 기록한 후에 상기 유효성 플래그를 '유효'로 표시하는 단계를 더 포함한다.
본 발명의 또 다른 특징은, 업데이트 에러가 발생한 커널을 자동 복원하는 소프트웨어 자동 업데이트 및 에러 복원 방법에 있어서, 커널에 대한 업데이트가 정상적으로 종료되기 전에 중단되었는지 판단하는 단계; 및 상기 업데이트가 중단된 것으로 판단되면, 백업 부트 레코드를 마스터 부트 레코드에 복사하는 단계를 포함하는 것이다.
바람직하게는 상기 판단하는 단계가, 상기 업데이트의 트랜잭션이 시작된 상 태이면 정상적으로 종료되기 전에 중단된 것으로 판단하는 단계를 더 포함한다.
바람직하게는 상기 판단하는 단계가, 상기 커널의 현재 정보와 상기 마스터 부트 레코드의 커널 정보가 동일한 경우에는, 상기 업데이트가 중단되지 않은 것으로 판단하는 단계를 더 포함한다.
본 발명의 또 다른 특징은, 함께 업데이트할 필요가 있는 1개 이상의 소프트웨어 컴포넌트를 업데이트하는 소프트웨어 자동 업데이트 및 에러 복원 방법에 있어서, 상기 업데이트할 컴포넌트의 리스트를 포함하는 업데이트 패키지에 존재하는 커널 이외의 컴포넌트를 순차적으로 업데이트하는 단계; 및 상기 업데이트 패키지에 커널이 포함된 경우, 커널을 마지막에 업데이트하는 단계;를 포함하는 것이다.
바람직하게는 상기 커널 이외의 컴포넌트 업데이트 단계가, 상기 컴포넌트의 이전 정보를 상기 컴포넌트의 현재 정보로 변경하고, 신규 버전의 컴포넌트를 다운로드 받는 단계; 및 상기 컴포넌트의 현재 정보를 상기 신규 버전의 컴포넌트에 대한 정보로 변경하는 단계;를 더 포함한다.
바람직하게는 상기 방법이, 상기 커널 이외의 컴포넌트를 업데이트하기 전, 업데이트 트랜잭션을 시작하는 단계; 및 상기 커널 업데이트 후, 상기 트랜잭션을 종료하는 단계를 더 포함한다.
바람직하게는 상기 커널 이외의 컴포넌트 업데이트 단계가, 상기 컴포넌트의 상태 정보를 '다운로드'로 변경하고, 상기 컴포넌트의 이전 정보를 현재 정보로 변경하고, 신규 버전의 컴포넌트를 다운로드하여 저장하는 단계; 상기 컴포넌트의 상태 정보를 '업데이트'로 변경하고, 이전 버전의 컴포넌트명을 백업본으로 변환하고 상기 신규 버전의 컴포넌트명을 원본으로 변환하는 단계; 및 상기 컴포넌트의 현재 정보를 상기 신규 버전의 컴포넌트에 대한 정보로 변경하고, 상기 컴포넌트의 상태 정보를 '완료'로 변경하는 단계;를 더 포함한다.
본 발명의 또 다른 특징은, 업데이트 에러가 발생한 소프트웨어 컴포넌트를 복원하기 위한 소프트웨어 자동 업데이트 및 에러 복원 방법에 있어서, 업데이트 패키지에 포함된 컴포넌트들에 대한 업데이트가 정상적으로 종료되기 전에 중단되었는지 판단하는 단계; 및 상기 업데이트가 중단된 것으로 판단되면, 상기 업데이트 패키지의 모든 컴포넌트에 대한 백업본을 원본으로 전환하는 단계를 포함하는 것이다.
바람직하게는 상기 전환하는 단계가, 상기 컴포넌트가 커널인 경우, 백업 부트 레코드를 마스터 부트 레코드에 복사하는 단계를 더 포함한다.
본 발명의 또 다른 특징은, 소프트웨어 자동 업데이트 및 에러 복원 시스템에 있어서, 현재의 커널, 상기 현재 커널의 주소 정보를 포함하는 마스터 부트 레코드, 상기 시스템 시작시 상기 마스터 부트 레코드를 이용하여 상기 현재 커널을 램에 로드하고 실행함으로써 상기 시스템을 부팅하는 부트 로더를 저장하는 비휘발성 메모리; 및 상기 비휘발성 메모리에 저장된 부트 로더를 실행하는 프로세서를 포함하는 것이다.
바람직하게는 상기 마스터 부트 레코드가, 상기 현재 커널의 유효 여부를 표시하는 유효성 플래그를 더 포함하고, 상기 비휘발성 메모리는, 이전 버전의 커널, 상기 이전 커널의 주소 정보를 포함하는 백업 부트 레코드를 더 포함하고, 상기 부 트 로더는, 상기 마스터 부트 레코드가 유효하면 상기 마스터 부트 레코드의 정보를 이용하여 상기 현재 커널을 로드하고, 상기 마스터 부트 레코드가 유효하지 않으면 상기 백업 부트 레코드의 정보를 이용하여 상기 이전 커널을 로드한다.
바람직하게는 상기 비휘발성 메모리가, 소프트웨어 업데이트에 대한 정보를 포함하는 컴포넌트 구성 정보와, 상기 구성 정보를 이용하여 소프트웨어 컴포넌트들의 업데이트 및 업데이트시 발생한 에러의 복원을 수행하는 업데이트 엔진을 더 포함한다.
바람직하게는 상기 구성 정보가, 업데이트 트랜잭션의 상태 정보, 각 컴포넌트의 이름, 업데이트 이전의 컴포넌트 주소와 버전이 포함된 이전 정보, 업데이트 이후의 주소와 버전이 포함된 현재 정보, 컴포넌트의 업데이트 상태 정보를 포함하고, 상기 업데이트 엔진은, 상기 구성 정보를 참조하고 변경해가면서 각 컴포넌트의 업데이트 및 업데이트 에러 복원 작업을 수행한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다.
도 4a는 본 발명에 따른 부트 레코드의 예를 도시한 것이다. 본 발명에 따르면, 시스템 시작시 부트 로더는 부트 레코드를 사용하여 커널을 로드하고 실행한다.
부트 레코드에는 기본적으로 커널의 주소(412)와 유효성 플래그(413)가 포함된다. 커널의 주소(412)는, 예컨대 플래시 메모리에 저장된 커널의 위치를 가리키는 것으로, 부트 로더는 이 정보를 이용하여 커널을 찾아 로드한다. 또한, 유효성 플래그(413)는 해당 커널이 유효한지 여부를 표시하는 것이다. 즉, 커널을 업데이트하는 과정에서 부트 레코드의 정보도 수정하게 되는데, 레코드 수정 전에는 플래그(413)를 무효로 표시하고, 레코드 수정 후에 플래그(413)를 다시 유효로 표시함으로써, 부트 레코드의 정보가 유효한 것인지 여부를 항상 정확히 알 수 있다. 또한, 커널 식별자(410) 및 버전(411) 정보도 부트 레코드에 포함될 수 있다.
본 발명에 따르면, 상기와 같은 형식을 가진 부트 레코드가 2개 존재한다. 현재의 커널에 대한 정보를 저장하는 마스터 부트 레코드(master boot record)와, 기존에 성공적으로 로드되었던 이전의 커널에 대한 정보를 포함하는 백업 부트 레코드(backup boot record)가 그것이다.
도 4b는 본 발명에 따른 컴포넌트 구성 정보의 예를 도시한 것이다. 컴포넌트 구성 정보는 시스템에 설치된 소프트웨어 컴포넌트들의 기본 정보와 업데이트에 대한 정보를 포함하는 것으로 데이터베이스(DB)의 형태로 구현될 수 있다.
트랜잭션 상태 정보(420)는 업데이트를 트랜잭션 단위로 관리하기 위한 것으로, 업데이트 트랜잭션의 현재 상태를 저장하여 업데이트의 성공 여부를 판단하는데 사용되는 플래그이다.
또한, 컴포넌트 구성 정보에는 각 컴포넌트에 대한 정보가 저장되는데, 컴포넌트의 이름(431), 컴포넌트의 주소 정보(432) 및 버전 정보(433)를 포함하는 컴포넌트의 현재 정보(440), 업데이트 이전의 컴포넌트 주소(434) 및 버전(435)을 관리하기 위한 이전 정보(450), 컴포넌트의 업데이트 상태를 관리하기 위한 상태 정보(436) 등이 저장된다. 본 발명에서는 컴포넌트 상태 정보를 이용하여 효율적인 자 동 복원 기능을 제공한다.
도 5는 본 발명에 따른 부트 영역의 구성을 도시한 것으로, 부트 로더(550), 현재의 커널(520), 백업본인 이전 커널(520), 현재의 커널(520)에 대한 정보를 기록한 마스터 부트 레코드(540), 이전 커널(510)에 대한 정보를 기록한 백업 부트 레코드(530)로 구성된다.
도 6은 상기와 같은 구성을 이용하여 커널을 로드하는 메커니즘을 도시한 것이다. 먼저, 부트 로더가 시작되어(S602), 마스터 부트 레코드의 유효성 플래그를 읽어 유효한지 여부를 체크한다(S604). 유효성 플래그가 유효함을 표시하고 있다면(S606), 마스터 부트 레코드를 이용하여 커널을 로드하고 실행한다(S608). 즉, 마스터 부트 레코드가 가리키고 있는 현재 커널이 로드된다. 그러나, 마스터 부트 레코드가 유효하지 않으면(S606), 이전의 커널 업데이트시 에러가 발생한 것이므로 백업 부트 레코드를 이용하여 커널을 로드하고 실행함으로써(S610), 시스템을 정상적으로 시작할 수 있다.
도 7은 커널 로드 후 기타 소프트웨어 컴포넌트들을 로드하는 과정을 도시한 흐름도이다. 본 발명에 따르면, 업데이트 엔진이라는 프로그램이 시스템에서 사용되는 소프트웨어 컴포넌트들을 로드시켜 실행시킨다. 먼저, 업데이트 엔진이 시작되고(S702), 컴포넌트 구성 정보를 읽어 이전 업데이트가 성공적으로 끝났는지 실행 결과를 판단해야 한다(S704). 이 판단은 구성 정보의 트랜잭션 상태 정보를 읽음으로써 수행될 수 있다. 트랜잭션 상태 정보가 트랜잭션 종료로 표시되어 있다면 업데이트 트랜잭션이 성공적으로 종료된 것이고, 트랜잭션 시작으로 표시되어 있는 경우라면 종료되기 전에 어떤 이유로 중단된 것이다.
이전 업데이트가 성공적으로 종료된 것으로 판단되는 경우는(S706), 구성 정보에 포함된 컴포넌트의 현재 정보를 이용하여 컴포넌트들을 로드하고 실행한다(S708). 즉, 현재 주소 정보를 참조하여 현재 버전의 컴포넌트들을 로드한다.
그러나, 업데이트가 성공적으로 종료되기 전에 중단된 것으로 판단되는 경우는(S706), 구성 정보에 포함된 이전 정보를 이용하여 컴포넌트들을 로드하고 실행한다(S712). 즉, 이전 주소 정보를 참조하여 업데이트 이전 버전의 컴포넌트들을 로드한다.
본 발명에 따르면, 커널 이외의 어플리케이션을 모두 업데이트한 후에 커널을 업데이트하는 것이 바람직하다. 따라서, 업데이트가 성공적으로 종료되기 전에 중단되었지만, 커널을 제외한 컴포넌트들의 업데이트가 완료되어 있고, 구성 정보에 포함된 커널의 현재 정보와 마스터 부트 레코드의 커널 정보가 동일한 것으로 판단되는 경우가 있을 수 있다(S710). 즉, 마스터 부트 레코드의 정보까지도 성공적으로 수정한 후에 커널 업데이트가 중단된 경우이다. 이러한 경우는 업데이트 트랜잭션이 성공적으로 완료된 것으로 간주하고, 구성 정보에 포함된 현재 정보를 이용하여 컴포넌트들을 로드하고 실행하는 것이 효율적이다(S708).
이와 같이, 재부팅 전에 다수의 컴포넌트들에 대한 업데이트를 실행하다 중단된 경우라도 사용자가 마지막으로 사용하였던 컴포넌트 구성으로 복원할 수 있다.
도 8은 본 발명에 따른 커널의 자동 업데이트 메커니즘을 도시한 것이다. 커널 업데이트는 신규 버전의 커널을 다운로드 받아 저장하고(S802), 커널에 대한 정보를 포함하는 마스터 부트 레코드를 백업 부트 레코드에 복사하여 백업한 후(S804), 마스터 부트 레코드에 신규 버전의 커널에 대한 정보(주소 등)를 기록하는 (S806) 과정을 통해 수행된다.
도 9a, 9b 및 9c는 본 발명에 따른 커널의 자동 업데이트 과정에서 메모리 상태 변화를 상세히 예시한 것이다. 이들 도면을 참조하면, 파일 시스템(file system) 영역(910)에 3개의 어플리케이션(App.1, App.2, App.3)이 저장되어 있으며, 로 포맷(raw format) 영역(920)은 도 5와 같은 구성임을 알 수 있다. 또한, 업데이트와 복원에 필요한 컴포넌트 구성 정보를 저장한 구성 DB(CONFIG DB, 930)에 트랜잭션의 상태 정보(PACKAGECOMMIT, 940)와, 각 컴포넌트에 대한 식별자(COMP, 950), 현재 버전 정보(VER, 960), 상태 정보(STATE, 970) 및 이전 버전 정보(PREVIOUS, 980) 등이 포함되어 있다. 도 4b에 도시된 현재 주소 정보(432) 및 이전 주소 정보(435)는 도시되어 있지 않으나, 해당 버전 정보를 갱신할 때 같이 갱신된다.
로 포맷 영역(920)은 파일 시스템이 없는 부트 영역으로 부트 로더(921) 등이 저장된다. 그러나, 부트 로더가 파일 시스템까지 포함한다면 커널과 부트 레코드는 파일 시스템 영역(910)에 존재할 수 있다. 또한, 파일 시스템 영역(910)은 DOS(Disk Operation System)와 같은 파일 시스템이 존재하는 영역으로, 본 발명의 구성이 파일 시스템을 꼭 필요로 하지는 않는다. 파일 시스템이 없는 경우는 어플리케이션들도 로 포맷 영역에 존재할 수 있다. 또한, 구성 DB(930)는 로 포맷 영 역(920)이나 파일 시스템 영역(910) 어디에나 존재할 수 있다.
도 9a를 참조하면, 먼저 트랜잭션 상태 정보에 해당하는 PACKAGECOMMIT(940)이 'NO'로 설정된다(S91). 이는 트랜잭션이 시작되었음을 의미하는 것이다. 다음에, 업데이트 대상인 커널의 상태 정보(970)가 '다운로드(DOWNLOAD)'로 변경되고(S92), 이전 버전 정보(980)가 현재 버전 정보(960)인 '1.0'으로 변경되며(S93), 신규 버전(1.1)의 커널(NEW KERNEL, 925)이 다운로드되어 저장된다(S94). 이때, 마스터 부트 레코드(922)는 버전 1.0의 현재 커널(CURRENT KERNEL, 924)을 가리키고 있으며, 백업 부트 레코드(923)는 아직까지 이전의 백업 커널인 버전 0.5의 커널에 대한 정보를 가지고 있다.
도 9b를 참조하면, 커널의 상태 정보를 '업데이트(UPDATE)'로 변경하고(S95), 마스터 부트 레코드(922)의 정보를 백업 부트 레코드(923)에 복사하고(S96), 커널의 현재 정보 및 마스터 부트 레코드(922)에 신규 버전의 커널에 대한 정보를 기록한다(S97). 즉, 마스터 부트 레코드는 버전 1.1의 신규로 다운로드된 커널을 가리키게 되며, 구성 DB의 현재 버전 및 주소 정보도 그에 따라 변경된다.
도 9c를 참조하면, 커널의 상태 정보를 '완료(DONE)'로 변경하여(S98) 커널 업데이트가 성공적으로 끝났음을 표시한다. 마지막으로, PACKAGECOMMIT(440)을 'YES'로 설정하여(S99), 업데이트 트랜잭션이 성공적으로 종료되었음을 표시한다.
상기 과정에서, 마스터 부트 레코드(922)에 새로운 정보를 기록하기 전에는 항상 마스터 부트 레코드의 유효성 플래그를 '무효'로 표시하고, 기록을 끝낸 후에는 이 유효성 플래그를 '유효'로 표시한다.
커널 업데이트시 에러가 발생한 경우의 자동 복원 과정은 다음과 같다. 커널에 대한 업데이트가 정상적으로 종료되기 전에 중단되었는지 판단하고, 업데이트가 중단된 것으로 판단되면, 백업 부트 레코드를 마스터 부트 레코드에 복사하는 간단한 과정으로 이전에 성공적으로 로드되었던 버전의 커널로 시스템을 복원할 있다.
업데이트가 중단되었는지 여부는 트랜잭션 상태 정보(940)를 체크하여 판단한다. 즉, 시스템 부팅시 PACKAGECOMMIT이 'NO'이면, 트랜잭션이 시작된 상태에서 성공적으로 종료되기 전에 중단된 것으로 판단한다.
그러나, 트랜잭션이 실패한 경우라도, 커널의 현재 정보와 마스터 부트 레코드의 커널 정보가 동일한 경우가 있을 수 있다. 이는 단계 S97까지 수행한 후 중단된 경우이다. 이 경우는 업데이트가 중단되지 않은 것으로 판단하여 복원 작업을 수행하지 않고 트랜잭션을 종료시키면 된다.
도 10a, 10b, 10c 및 10d는 본 발명에 따라 업데이트 패키지 내의 컴포넌트들을 자동 업데이트하는 과정에서 메모리 상태 변화를 예시한 것이다.
도 10a를 참조하면, 업데이트 패키지(990)는 함께 업데이트할 필요가 있는 소프트웨어 컴포넌트들의 리스트이다. 이 리스트에는 어플리케이션 컴포넌트와 커널이 같이 존재할 수 있다. 이 경우, 업데이트 패키지에 존재하는 커널 이외의 컴포넌트를 순차적으로 업데이트한 후(S102~S109), 중요 컴포넌트인 커널을 마지막에 업데이트하는 것이 바람직하다.
커널 이외의 컴포넌트, 예컨대 업데이트 패키지(990)에 포함되어 있는 어플 리케이션 App.1에 대한 업데이트 과정이 도 10b, 10c 및 10d에 도시되어 있다. 어플리케이션의 업데이트는, 해당 컴포넌트의 이전 정보를 컴포넌트의 현재 정보로 변경하고, 신규 버전의 컴포넌트를 다운로드 받은 후, 컴포넌트의 현재 정보를 신규 버전의 컴포넌트에 대한 정보로 변경하는 과정에 의한다.
도 10b를 참조하면, 먼저 PACKAGECOMMIT을 'NO'로 설정하여 업데이트 트랜잭션을 시작한다(S101). 그런 후, 해당 컴포넌트의 상태 정보(970)를 '다운로드'로 변경하고(S102), 컴포넌트의 이전 정보(980)를 현재 정보(960)로 변경하고(S103), 신규 버전의 컴포넌트(New App.1)를 다운로드하여 저장한다(S104).
도 10c를 참조하면, 컴포넌트의 상태 정보(970)를 '업데이트'로 변경하고(S105), 이전 버전의 컴포넌트명(App.1)을 백업본(App1.bak)으로 변환하고(S106), 신규 버전의 컴포넌트명(New App.1)을 원본(App.1)으로 변환한다(S107).
도 10d를 참조하면, 컴포넌트의 현재 정보(960)를 신규 버전의 컴포넌트에 대한 정보로 변경하고(S108), 컴포넌트의 상태 정보(970)를 '완료'로 변경한다(S109). 이제, App.1의 현재 버전은 1.1이고 이전 버전은 1.0임을 알 수 있다.
이러한 어플리케이션 업데이트 과정(S102~S109)은 업데이트 패키지(990)에 속한 각 어플리케이션에 대해 수행되며, 마지막으로 커널에 대한 업데이트가 도 9a, 9b 및 9c에 도시된 과정(S92~S98)에 의해 수행된다. 이와 같이 업데이트 패키지(990)의 모든 컴포넌트에 대한 업데이트가 완료되면, PACKAGECOMMIT을 'YES'로 설정하여 업데이트 트랜잭션을 종료한다(S120).
상기와 같은 업데이트 과정을 수행하는 중간에 에러가 발생한 경우의 복원 과정은 다음과 같다. 먼저, 업데이트 패키지에 포함된 컴포넌트들에 대한 업데이트가 정상적으로 종료되기 전에 중단되었는지 판단하고, 업데이트가 중단된 것으로 판단되면, 업데이트 패키지의 모든 컴포넌트에 대한 백업본을 원본으로 전환하면 된다. 커널의 경우는, 백업 부트 레코드를 마스터 부트 레코드에 복사함으로써 이전 버전으로 복원할 수 있다.
업데이트 에러의 발생 여부는, 업데이트의 트랜잭션 상태 정보를 읽어 트랜잭션이 시작된 상태이면 성공적으로 종료되기 전에 중단된 것으로 판단한다. 이때, 트랜잭션이 종료되지 않은 상태라도, 업데이트 패키지에 포함된 커널 이외의 컴포넌트의 상태 정보가 모두 '완료'이고, 커널의 현재 정보와 마스터 부트 레코드의 커널 정보가 동일한 경우에는, 커널에 대한 업데이트가 실질적으로는 끝난 것이므로 업데이트가 중단되지 않은 것으로 판단하여 이전 버전으로 복원하지 않고 트랜잭션을 종료하는 것이 바람직하다.
도 11은 본 발명에 따른 소프트웨어 업데이트 및 에러 복원 시스템의 구성도이다. 본 발명에 따른 시스템은 프로세서(1200)와 램(1100)을 구비하며, 현재의 커널(1001), 현재 커널의 주소 정보를 포함하는 마스터 부트 레코드(1002), 시스템을 부팅하는 프로그램 코드인 부트 로더(1003)를 저장하는 비휘발성 메모리(1000)를 포함하는 것을 특징으로 한다.
부트 로더(1003)는, 시스템 시작시 마스터 부트 레코드(1002)를 이용하여 현재 커널(1001)을 램(1100)에 로드하고 실행함으로써 시스템을 부팅한다. 마스터 부트 레코드(1002)에는 현재 커널의 유효 여부를 나타내는 유효성 플래그가 포함될 수 있다. 또한, 도 12에 도시된 바와 같이, 커널의 백업본인 이전 버전의 커널(1004)과, 마스터 부트 레코드(1002)의 백업본인 백업 부트 레코드(1005)가 비휘발성 메모리(1000)에 더 포함되어 있을 수 있다. 이 경우는 시스템의 부팅시, 부트 로더(1003)가 마스터 부트 레코드(1002)의 유효 여부를 체크하고, 유효하면 마스터 부트 레코드(1002)의 정보를 이용하여 현재 커널(1001)을 로드하고, 유효하지 않으면 백업 부트 레코드(1005)의 정보를 이용하여 이전 커널(1004)을 로드한다.
또한, 소프트웨어 업데이트에 대한 정보를 포함하는 컴포넌트 구성 정보(1010)와, 이 구성 정보를 이용하여 소프트웨어 컴포넌트들의 업데이트 및 업데이트시 발생한 에러의 복원을 수행하는 업데이트 엔진(1020)이 비휘발성 메모리(1000)에 저장될 수 있다.
컴포넌트 구성 정보(1010)는 도 4b에 도시된 바와 같이, 업데이트 트랜잭션의 상태 정보, 각 컴포넌트의 이름, 업데이트 이전의 컴포넌트 주소와 버전이 포함된 이전 정보, 업데이트 이후의 주소와 버전이 포함된 현재 정보, 컴포넌트의 업데이트 상태 정보를 포함하는 것이 바람직하다. 업데이트 엔진(1020)은 상술한 바와 같이, 이 구성 정보(1010)를 참조하고 변경해가면서 각 컴포넌트의 업데이트 및 업데이트 에러 복원 작업을 수행한다.
상술한 바와 같은 본 발명에 따른 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본 질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같은 본 발명의 구성에 의하면, 컴포넌트 구성 정보를 이용함으로써, 업데이트 실패시 치명적인 결과를 발생시킬 수 있는 커널을 포함하여 여러 개의 소프트웨어를 한번에 업데이트하고 에러를 복원할 수 있다.
또한, 본 발명은 성공적으로 로드되었던 마지막 구성 정보를 이용하여 부팅 단위로 시스템을 복원시키기 때문에, 외부적인 이유로 소프트웨어 업데이트가 중단되어 로드가 안되는 경우도 완벽하게 시스템을 이전 버전으로 롤백(rollback)시킬 수 있다.
또한, 부트 레코드를 이용해 커널의 업데이트 및 부팅 과정을 효율적으로 수행할 수 있으며, 커널 복원시 부트 레코드만 변경하면 되므로 속도를 크게 개선할 수 있다.
Claims (25)
- 부트 로더가 커널을 로드하여 시스템을 부팅하는 방법에 있어서,상기 커널에 대한 정보를 포함하는 마스터 부트 레코드의 유효성을 체크하는 단계;상기 마스터 부트 레코드가 유효하면, 상기 마스터 부트 레코드를 이용하여 커널을 로드하고 실행하는 단계; 및상기 마스터 부트 레코드가 유효하지 않으면, 업데이트 이전의 커널에 대한 정보를 포함하는 백업 부트 레코드를 이용하여 커널을 로드하고 실행하는 단계를 포함하는 것을 특징으로 하는 부팅 방법.
- 제1항에 있어서,상기 시스템에 설치된 소프트웨어 컴포넌트들의 업데이트에 대한 정보를 포함하는 컴포넌트 구성 정보를 읽어 이전 업데이트의 실행 결과를 판단하는 단계;상기 업데이트가 성공적으로 종료된 것으로 판단되는 경우는, 상기 구성 정보에 포함된 현재 정보를 이용하여 컴포넌트들을 로드하고 실행하는 단계; 및상기 업데이트가 성공적으로 종료되기 전에 중단된 것으로 판단되는 경우는, 상기 구성 정보에 포함된 이전 정보를 이용하여 컴포넌트들을 로드하고 실행하는 단계를 더 포함하는 것을 특징으로 하는 부팅 방법.
- 제2항에 있어서,상기 업데이트가 성공적으로 종료되기 전에 중단되었지만, 커널을 제외한 컴포넌트들의 업데이트가 완료되어 있고, 상기 구성 정보에 포함된 커널의 현재 정보와 상기 마스터 부트 레코드의 커널 정보가 동일한 것으로 판단되는 경우는, 상기 구성 정보에 포함된 현재 정보를 이용하여 컴포넌트들을 로드하고 실행하는 단계를 더 포함하는 것을 특징으로 하는 부팅 방법.
- 커널을 업데이트하는 소프트웨어 자동 업데이트 및 에러 복원 방법에 있어서,신규 버전의 커널을 다운로드 받아 저장하는 단계;커널에 대한 정보를 포함하는 마스터 부트 레코드를 백업 부트 레코드에 복사하는 단계;상기 마스터 부트 레코드에 상기 신규 버전의 커널에 대한 정보를 기록하는 단계;를 포함하는 것을 특징으로 하는 소프트웨어 자동 업데이트 및 에러 복원 방법.
- 커널을 업데이트하는 소프트웨어 자동 업데이트 및 에러 복원 방법에 있어서,업데이트 트랜잭션을 시작하는 단계;상기 커널의 상태 정보를 '다운로드'로 변경하고, 상기 커널의 이전 정보를 현재 정보로 변경하고, 신규 버전의 커널을 다운로드하여 저장하는 단계;상기 커널의 상태 정보를 '업데이트'로 변경하고, 커널에 대한 정보를 포함하는 마스터 부트 레코드의 정보를 백업 부트 레코드에 복사하고, 상기 커널의 현재 정보 및 상기 마스터 부트 레코드에 상기 신규 버전의 커널에 대한 정보를 기록하는 단계;상기 커널의 상태 정보를 '완료'로 변경하는 단계; 및상기 트랜잭션을 종료하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 자동 업데이트 및 에러 복원 방법.
- 제5항에 있어서,상기 마스터 부트 레코드에 새로운 정보를 기록하기 전에 상기 마스터 부트 레코드의 유효성 플래그를 '무효'로 표시하고, 상기 새로운 정보를 기록한 후에 상기 유효성 플래그를 '유효'로 표시하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 자동 업데이트 및 에러 복원 방법.
- 업데이트 에러가 발생한 커널을 자동 복원하는 소프트웨어 자동 업데이트 및 에러 복원 방법에 있어서,커널에 대한 업데이트가 정상적으로 종료되기 전에 중단되었는지 판단하는 단계; 및상기 업데이트가 중단된 것으로 판단되면, 백업 부트 레코드를 마스터 부트 레코드에 복사하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 자동 업데이트 및 에러 복원 방법.
- 제7항에 있어서, 상기 판단하는 단계는,상기 업데이트의 트랜잭션이 시작된 상태이면 정상적으로 종료되기 전에 중단된 것으로 판단하는 단계를 더 포함하는 소프트웨어 자동 업데이트 및 에러 복원 방법.
- 제8항에 있어서, 상기 판단하는 단계는,상기 커널의 현재 정보와 상기 마스터 부트 레코드의 커널 정보가 동일한 경우에는, 상기 업데이트가 중단되지 않은 것으로 판단하는 단계를 더 포함하는 소프트웨어 자동 업데이트 및 에러 복원 방법.
- 함께 업데이트할 필요가 있는 1개 이상의 소프트웨어 컴포넌트를 업데이트하는 소프트웨어 자동 업데이트 및 에러 복원 방법에 있어서,상기 업데이트할 컴포넌트의 리스트를 포함하는 업데이트 패키지에 존재하는 커널 이외의 컴포넌트를 순차적으로 업데이트하는 단계; 및상기 업데이트 패키지에 커널이 포함된 경우, 커널을 마지막에 업데이트하는 단계;를 포함하는 것을 특징으로 하는 소프트웨어 자동 업데이트 및 에러 복원 방법.
- 제10항에 있어서, 상기 커널 이외의 컴포넌트 업데이트 단계는,상기 컴포넌트의 이전 정보를 상기 컴포넌트의 현재 정보로 변경하고, 신규 버전의 컴포넌트를 다운로드 받는 단계; 및상기 컴포넌트의 현재 정보를 상기 신규 버전의 컴포넌트에 대한 정보로 변경하는 단계;를 더 포함하는 것을 특징으로 하는 소프트웨어 자동 업데이트 및 에러 복원 방법.
- 제11항에 있어서, 상기 커널 업데이트 단계는,신규 버전의 커널을 다운로드 받아 저장하는 단계;커널에 대한 정보를 포함하는 마스터 부트 레코드를 백업 부트 레코드에 복사하는 단계; 및상기 마스터 부트 레코드에 상기 신규 버전의 커널에 대한 정보를 기록하는 단계;를 더 포함하는 것을 특징으로 하는 소프트웨어 자동 업데이트 및 에러 복원 방법.
- 제10항에 있어서,상기 커널 이외의 컴포넌트를 업데이트하기 전, 업데이트 트랜잭션을 시작하는 단계; 및상기 커널 업데이트 후, 상기 트랜잭션을 종료하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 자동 업데이트 및 에러 복원 방법.
- 제13항에 있어서,상기 커널 업데이트 단계는,상기 커널의 상태 정보를 '다운로드'로 변경하고, 상기 커널의 이전 정보를 현재 정보로 변경하고, 신규 버전의 커널을 다운로드하여 저장하는 단계;상기 커널의 상태 정보를 '업데이트'로 변경하고, 커널에 대한 정보를 포함하는 마스터 부트 레코드의 정보를 백업 부트 레코드에 복사하고, 상기 커널의 현재 정보 및 상기 마스터 부트 레코드에 상기 신규 버전의 커널에 대한 정보를 기록하는 단계; 및상기 커널의 상태 정보를 '완료'로 변경하는 단계;를 더 포함하는 것을 특징으로 하는 소프트웨어 자동 업데이트 및 에러 복원 방법.
- 제14항에 있어서, 상기 커널 이외의 컴포넌트 업데이트 단계는,상기 컴포넌트의 상태 정보를 '다운로드'로 변경하고, 상기 컴포넌트의 이전 정보를 현재 정보로 변경하고, 신규 버전의 컴포넌트를 다운로드하여 저장하는 단계;상기 컴포넌트의 상태 정보를 '업데이트'로 변경하고, 이전 버전의 컴포넌트명을 백업본으로 변환하고 상기 신규 버전의 컴포넌트명을 원본으로 변환하는 단계; 및상기 컴포넌트의 현재 정보를 상기 신규 버전의 컴포넌트에 대한 정보로 변경하고, 상기 컴포넌트의 상태 정보를 '완료'로 변경하는 단계;를 더 포함하는 것을 특징으로 하는 소프트웨어 자동 업데이트 및 에러 복원 방법.
- 업데이트 에러가 발생한 소프트웨어 컴포넌트를 복원하기 위한 소프트웨어 자동 업데이트 및 에러 복원 방법에 있어서,업데이트 패키지에 포함된 컴포넌트들에 대한 업데이트가 정상적으로 종료되기 전에 중단되었는지 판단하는 단계; 및상기 업데이트가 중단된 것으로 판단되면, 상기 업데이트 패키지의 모든 컴포넌트에 대한 백업본을 원본으로 전환하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 자동 업데이트 및 에러 복원 방법.
- 제16항에 있어서, 상기 판단하는 단계는,상기 업데이트의 트랜잭션이 시작된 상태이면 성공적으로 종료되기 전에 중단된 것으로 판단하는 소프트웨어 자동 업데이트 및 에러 복원 방법.
- 제17항에 있어서, 상기 판단하는 단계는,상기 업데이트의 트랜잭션이 시작된 상태이지만, 상기 업데이트 패키지에 포함된 커널 이외의 컴포넌트의 업데이트가 완료된 상태이고, 상기 커널의 현재 정보와 마스터 부트 레코드의 커널 정보가 동일한 경우에는, 상기 업데이트가 중단되지 않은 것으로 판단하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 자동 업데이트 및 에러 복원 방법.
- 제16항에 있어서, 상기 전환하는 단계는,상기 컴포넌트가 커널인 경우, 백업 부트 레코드를 마스터 부트 레코드에 복사하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 자동 업데이트 및 에러 복원 방법.
- 제1항 내지 제19 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
- 소프트웨어 자동 업데이트 및 에러 복원 시스템에 있어서,현재의 커널, 상기 현재 커널의 주소 정보를 포함하는 마스터 부트 레코드, 상기 시스템 시작시 상기 마스터 부트 레코드를 이용하여 상기 현재 커널을 램에 로드하고 실행함으로써 상기 시스템을 부팅하는 부트 로더를 저장하는 비휘발성 메모리; 및상기 비휘발성 메모리에 저장된 부트 로더를 실행하는 프로세서를 포함하는 것을 특징으로 하는 소프트웨어 자동 업데이트 및 에러 복원 시스템.
- 제21항에 있어서,상기 마스터 부트 레코드는, 상기 현재 커널의 유효 여부를 표시하는 유효성 플래그를 더 포함하고,상기 비휘발성 메모리는, 이전 버전의 커널, 상기 이전 커널의 주소 정보를 포함하는 백업 부트 레코드를 더 포함하고,상기 부트 로더는, 상기 마스터 부트 레코드가 유효하면 상기 마스터 부트 레코드의 정보를 이용하여 상기 현재 커널을 로드하고, 상기 마스터 부트 레코드가 유효하지 않으면 상기 백업 부트 레코드의 정보를 이용하여 상기 이전 커널을 로드하는 것을 특징으로 하는 소프트웨어 자동 업데이트 및 에러 복원 시스템.
- 제22항에 있어서,상기 비휘발성 메모리는, 소프트웨어 업데이트에 대한 정보를 포함하는 컴포넌트 구성 정보와, 상기 구성 정보를 이용하여 소프트웨어 컴포넌트들의 업데이트 및 업데이트시 발생한 에러의 복원을 수행하는 업데이트 엔진을 더 포함하는 것을 특징으로 하는 소프트웨어 자동 업데이트 및 에러 복원 시스템.
- 제23항에 있어서,상기 구성 정보는, 업데이트 트랜잭션의 상태 정보, 각 컴포넌트의 이름, 업데이트 이전의 컴포넌트 주소와 버전이 포함된 이전 정보, 업데이트 이후의 주소와 버전이 포함된 현재 정보, 컴포넌트의 업데이트 상태 정보를 포함하고,상기 업데이트 엔진은, 상기 구성 정보를 참조하고 변경해가면서 각 컴포넌 트의 업데이트 및 업데이트 에러 복원 작업을 수행하는 것을 특징으로 하는 소프트웨어 자동 업데이트 및 에러 복원 시스템.
- 제22항에 있어서,상기 마스터 부트 레코드 및 백업 부트 레코드는, 커널의 식별자 및 버전에 대한 정보를 더 포함하는 것을 특징으로 하는 소프트웨어 자동 업데이트 및 에러 복원 시스템
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050089692A KR100750132B1 (ko) | 2005-09-27 | 2005-09-27 | 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체 |
US11/513,057 US8166285B2 (en) | 2005-09-27 | 2006-08-31 | Method and system for booting and automatically updating software, and recovering from update error, and computer readable recording medium storing method |
EP06121225.4A EP1770513B1 (en) | 2005-09-27 | 2006-09-25 | Method and system for booting and automatically updating software, and recovering from update error |
CN200610159300XA CN1940878B (zh) | 2005-09-27 | 2006-09-27 | 引导和自动更新软件和从更新错误中恢复的方法和系统 |
US13/291,901 US8825995B2 (en) | 2005-09-27 | 2011-11-08 | Method and system for booting and automatically updating software, and recovering from update error, and computer readable recording medium storing method |
US14/341,428 US9792105B2 (en) | 2005-09-27 | 2014-07-25 | Method and system for booting and automatically updating software, and recovering from update error, and computer readable recording medium storing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050089692A KR100750132B1 (ko) | 2005-09-27 | 2005-09-27 | 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070035164A KR20070035164A (ko) | 2007-03-30 |
KR100750132B1 true KR100750132B1 (ko) | 2007-08-21 |
Family
ID=37102507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050089692A KR100750132B1 (ko) | 2005-09-27 | 2005-09-27 | 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체 |
Country Status (4)
Country | Link |
---|---|
US (3) | US8166285B2 (ko) |
EP (1) | EP1770513B1 (ko) |
KR (1) | KR100750132B1 (ko) |
CN (1) | CN1940878B (ko) |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101232397B (zh) * | 2008-02-22 | 2010-10-27 | 成都市华为赛门铁克科技有限公司 | 多控制器系统修复的方法和装置 |
JP5001886B2 (ja) * | 2008-03-14 | 2012-08-15 | 株式会社リコー | 画像入出力システム、画像入出力装置のバックアップ方法、およびそのプログラム |
US20090247293A1 (en) | 2008-03-26 | 2009-10-01 | Aristocrat Technologies Australia Pty Limited | Gaming machine |
US9495250B2 (en) * | 2008-09-02 | 2016-11-15 | Fujitsu Limited | Providing code to a programmable device |
US8271623B2 (en) * | 2009-01-15 | 2012-09-18 | Microsoft Corporation | Performing configuration in a multimachine environment |
KR101108679B1 (ko) * | 2009-11-04 | 2012-01-25 | 삼성메디슨 주식회사 | 자가진단 및 복원기능을 갖는 초음파 진단 방법 및 시스템 |
US20110202995A1 (en) * | 2010-02-16 | 2011-08-18 | Honeywell International Inc. | Single hardware platform multiple software redundancy |
FR2957700B1 (fr) * | 2010-03-22 | 2012-04-13 | Bull Sas | Procede, programme d'ordinateur et dispositif d'optimisation de chargement et de demarrage d'un systeme d'exploitation dans un systeme informatique via un reseau de communication |
US8504869B2 (en) * | 2010-07-16 | 2013-08-06 | Commvault Systems, Inc. | Kernel swapping systems and methods for recovering a network device |
US8578362B2 (en) * | 2011-03-18 | 2013-11-05 | Hamilton Sundstrand Corporation | Method for downloading software to an electronics product |
US8726087B2 (en) * | 2011-03-18 | 2014-05-13 | Denso International America, Inc. | System and method for curing a read inability state in a memory device |
CN102693139B (zh) * | 2011-03-25 | 2015-09-30 | 比亚迪股份有限公司 | 一种无线升级手机软件的方法及系统 |
JP5077726B1 (ja) * | 2011-05-23 | 2012-11-21 | Necインフロンティア株式会社 | コンピュータ、その制御方法及びプログラム |
US20130042231A1 (en) | 2011-08-10 | 2013-02-14 | Ford Global Technologies, Llc | Methods and Apparatus for Software Updating |
KR101895453B1 (ko) * | 2011-11-09 | 2018-10-25 | 삼성전자주식회사 | 이기종 컴퓨팅 환경에서 보안 강화 방법 및 장치 |
TWI450194B (zh) * | 2011-11-10 | 2014-08-21 | Inst Information Industry | 作業系統處理方法以及系統、以及儲存其之電腦可讀取記錄媒體 |
CN103135995A (zh) * | 2011-11-22 | 2013-06-05 | 中兴通讯股份有限公司 | 一种BootLoader的备份管理方法及装置 |
US8281119B1 (en) * | 2011-11-22 | 2012-10-02 | Google Inc. | Separate normal firmware and developer firmware |
KR101994811B1 (ko) * | 2012-03-04 | 2019-07-01 | 삼성전자주식회사 | 전자 장치, mbr 복원 방법 및 컴퓨터 판독가능 기록매체 |
KR101403305B1 (ko) | 2012-08-23 | 2014-06-05 | 한국전자통신연구원 | 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법 |
KR20140060912A (ko) * | 2012-11-13 | 2014-05-21 | 한국전자통신연구원 | 부트로더를 업데이트하는 방법 및 장치 |
JP6021597B2 (ja) * | 2012-11-15 | 2016-11-09 | 三菱電機株式会社 | 情報処理装置、情報処理方法、およびコンピュータプログラム |
CN104375844A (zh) * | 2013-08-12 | 2015-02-25 | 中兴通讯股份有限公司 | 固件升级方法及装置 |
US9792075B1 (en) * | 2014-02-26 | 2017-10-17 | Veritas Technologies Llc | Systems and methods for synthesizing virtual hard drives |
CN104079631B (zh) * | 2014-06-09 | 2018-10-16 | 中国建设银行股份有限公司 | 一种版本管理方法及相关装置 |
US20160019117A1 (en) | 2014-07-16 | 2016-01-21 | Commvault Systems, Inc. | Creating customized bootable image for client computing device from backup copy |
CN105700965A (zh) * | 2014-11-26 | 2016-06-22 | 英业达科技有限公司 | 系统错误排除方法 |
US9626277B2 (en) * | 2015-04-01 | 2017-04-18 | Microsoft Technology Licensing, Llc | Anomaly analysis for software distribution |
US10191811B2 (en) * | 2015-08-13 | 2019-01-29 | Quanta Computer Inc. | Dual boot computer system |
CN106469069B (zh) * | 2015-08-17 | 2021-06-11 | 中兴通讯股份有限公司 | 一种版本升级方法及系统 |
JP6408450B2 (ja) * | 2015-10-26 | 2018-10-17 | 日立オートモティブシステムズ株式会社 | 自動車用電子制御装置 |
CN105468420B (zh) * | 2015-12-25 | 2018-12-28 | 广州视睿电子科技有限公司 | 操作系统升级方法和装置 |
CN106775610B (zh) * | 2016-03-22 | 2021-11-12 | 新华三技术有限公司 | 一种电子设备启动方法及一种电子设备 |
CN108024002B (zh) * | 2016-10-31 | 2021-05-07 | 成都卫士通信息产业股份有限公司 | 一种基于rom的双域手机系统的构建方法 |
US10402273B2 (en) * | 2016-12-14 | 2019-09-03 | Microsoft Technology Licensing, Llc | IoT device update failure recovery |
US10416991B2 (en) | 2016-12-14 | 2019-09-17 | Microsoft Technology Licensing, Llc | Secure IoT device update |
US10715526B2 (en) | 2016-12-14 | 2020-07-14 | Microsoft Technology Licensing, Llc | Multiple cores with hierarchy of trust |
US10341361B2 (en) * | 2017-06-05 | 2019-07-02 | Hewlett Packard Enterprise Development Lp | Transmitting secure information |
CN107273139A (zh) * | 2017-07-05 | 2017-10-20 | 努比亚技术有限公司 | 一种系统更新方法、设备及计算机可读存储介质 |
KR102422226B1 (ko) * | 2017-11-28 | 2022-07-15 | 엘지전자 주식회사 | 공기조화시스템의 중앙제어장치 및 그의 소프트웨어 업데이트 방법 |
CN108089876B (zh) * | 2017-12-29 | 2020-09-18 | 中国科学院国家空间科学中心 | 一种星载dsp软件在轨更新方法 |
CN110045971B (zh) * | 2018-01-16 | 2023-03-24 | 浙江宇视科技有限公司 | 系统升级恢复方法及装置 |
CN108415718B (zh) * | 2018-03-28 | 2021-06-08 | 南京理工大学 | 一种应用于星载软件在线更新的BootLoader设计方法 |
KR101947487B1 (ko) * | 2018-04-12 | 2019-05-02 | 주식회사 케이디티 | 데이터 자동복구가 가능한 감시 제어 장치 |
CN110389786B (zh) * | 2018-04-20 | 2022-10-14 | 伊姆西Ip控股有限责任公司 | 内核管理方法、电子设备和计算机可读存储介质 |
CN108694051A (zh) * | 2018-05-18 | 2018-10-23 | 深圳市先河系统技术有限公司 | 基于双系统的升级方法、装置以及存储装置 |
JP2020087293A (ja) * | 2018-11-30 | 2020-06-04 | キヤノン株式会社 | 情報処理装置および情報処理装置の制御方法 |
CN109766140A (zh) * | 2018-12-19 | 2019-05-17 | 青岛海信宽带多媒体技术有限公司 | 一种机顶盒启动异常的定位方法及装置 |
EP3941078A4 (en) * | 2019-03-13 | 2022-12-07 | Hisense Visual Technology Co., Ltd. | RESET DEVICE AND INDICATOR |
CN110007971A (zh) * | 2019-03-25 | 2019-07-12 | 联想(北京)有限公司 | 一种信息处理方法及装置、设备、存储介质 |
CN109992312B (zh) * | 2019-03-26 | 2021-09-14 | 联想(北京)有限公司 | 电子设备的启动方法、装置以及系统 |
US11237924B2 (en) | 2019-12-11 | 2022-02-01 | Commvault Systems, Inc. | Dynamic resizing and re-distribution of destination data storage resources for bare metal restore operations in a data storage management system |
US11275574B2 (en) * | 2020-02-03 | 2022-03-15 | Dell Products L.P. | Recovering the last successful device update on a computing system |
CN111459525A (zh) * | 2020-04-14 | 2020-07-28 | 潘传迪 | 应用程序更新数据处理系统、方法、存储介质、计算机 |
JP7362583B2 (ja) * | 2020-09-23 | 2023-10-17 | 株式会社東芝 | 情報処理装置 |
US20220147636A1 (en) * | 2020-11-12 | 2022-05-12 | Crowdstrike, Inc. | Zero-touch security sensor updates |
US20230229438A1 (en) * | 2022-01-20 | 2023-07-20 | Target Brands, Inc. | Kernels as a service |
US20240069923A1 (en) * | 2022-08-24 | 2024-02-29 | Quanta Cloud Technology Inc. | Standardized and robust framework to enhance bootloader configuration management |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000315157A (ja) * | 1994-09-19 | 2000-11-14 | Hitachi Ltd | プログラム更新/回復方法 |
KR20020065186A (ko) * | 2001-02-06 | 2002-08-13 | 삼성전자 주식회사 | 셀룰러 시스템에서 업데이트 실패시 부터코드의 복구방법 |
KR20030044906A (ko) * | 2000-04-12 | 2003-06-09 | 인텔 코오퍼레이션 | 비휘발성 재프로그램가능한 반도체 메모리에 저장된 파일데이터를 액세싱하는 방법 및 시스템 |
JP2004038716A (ja) * | 2002-07-05 | 2004-02-05 | Hitachi Printing Solutions Ltd | 障害発生時の自動復旧機能を備えたファームウェア更新方法 |
KR20040083236A (ko) * | 2003-03-21 | 2004-10-01 | 엘지전자 주식회사 | 메모리의 프로그램 업그레이드 방법 |
KR20050028157A (ko) * | 2003-09-17 | 2005-03-22 | 삼성전자주식회사 | 부팅 및 부트 코드 업데이트 방법 및 시스템 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5557799A (en) * | 1990-03-22 | 1996-09-17 | International Business Machines | Computer determination of operating system or data |
US6560701B1 (en) | 1997-02-10 | 2003-05-06 | International Business Machines Corporation | Alternate boot record |
US6175917B1 (en) | 1998-04-23 | 2001-01-16 | Vpnet Technologies, Inc. | Method and apparatus for swapping a computer operating system |
US6308264B1 (en) * | 1998-09-30 | 2001-10-23 | Phoenix Technologies Ltd. | Dual use master boot record |
US6205558B1 (en) * | 1998-10-07 | 2001-03-20 | Symantec Corporation | Recovery of file systems after modification failure |
US6490722B1 (en) * | 1999-03-30 | 2002-12-03 | Tivo Inc. | Software installation and recovery system |
US6532538B1 (en) * | 2000-02-17 | 2003-03-11 | International Business Machines Corporation | Method and system for supporting multiple operating systems on the same disk running on different computers at the same time |
US6792556B1 (en) * | 2000-05-31 | 2004-09-14 | Dell Products L.P. | Boot record recovery |
US7150036B1 (en) * | 2000-07-18 | 2006-12-12 | Western Digital Ventures, Inc. | Method of and personal computer for displaying content received from a content delivery server using a disk drive which includes a network address for the content delivery server and a server-contacting program |
US20020124245A1 (en) * | 2000-08-14 | 2002-09-05 | Alvin Maddux | Method and apparatus for advanced software deployment |
DE10129425C1 (de) * | 2001-06-19 | 2003-02-13 | Tenovis Gmbh & Co Kg | Verfahren zum Betrieb eines Computersystems und Computersystem |
US6711660B1 (en) | 2001-06-22 | 2004-03-23 | Western Digital Ventures, Inc. | System and method for performing disk drive diagnostics and restoration using a host-inaccessible hidden partition |
US6862681B2 (en) | 2001-07-16 | 2005-03-01 | International Business Machines Corporation | Method and system for master boot record recovery |
CN1241120C (zh) * | 2001-08-31 | 2006-02-08 | 联想(北京)有限公司 | 计算机硬盘数据备份及恢复方法 |
JP2003084979A (ja) | 2001-09-07 | 2003-03-20 | Internatl Business Mach Corp <Ibm> | 電子装置の起動方法、電子装置およびプログラム |
US7251812B1 (en) * | 2001-10-31 | 2007-07-31 | Microsoft Corporation | Dynamic software update |
CN1286012C (zh) * | 2002-03-20 | 2006-11-22 | 联想(北京)有限公司 | 计算机硬盘内信息恢复和备份的实现方法 |
US7194659B2 (en) * | 2002-12-10 | 2007-03-20 | International Business Machines Corporation | Method and system for detection and correction of entrance into an improper MBR state in a computer system |
US20040158701A1 (en) * | 2003-02-12 | 2004-08-12 | Dell Products L.P. | Method of decreasing boot up time in a computer system |
WO2004090722A1 (en) * | 2003-04-11 | 2004-10-21 | Star Softcomm Pte Ltd | Data isolation system and method |
KR101115486B1 (ko) | 2003-08-08 | 2012-02-27 | 엘지전자 주식회사 | 컴퓨터 시스템의 부팅 제어 장치 및 방법 |
US7549042B2 (en) * | 2003-12-16 | 2009-06-16 | Microsoft Corporation | Applying custom software image updates to non-volatile storage in a failsafe manner |
US20060041738A1 (en) * | 2004-08-17 | 2006-02-23 | Yu-Chen Lai | Recovery method for master boot record of hard disk drive |
TWI263939B (en) * | 2004-09-22 | 2006-10-11 | Lite On Technology Corp | Dynamic boot system and method, machine readable medium thereof, and construction method for an operating system image |
US7698698B2 (en) * | 2004-09-30 | 2010-04-13 | Smith Micro Software, Inc. | Method for over-the-air firmware update of NAND flash memory based mobile devices |
US7484127B2 (en) * | 2005-01-13 | 2009-01-27 | Nokia Siemens Networks Oy | Method and system for preserving crash dump in a diskless system |
US20060288197A1 (en) * | 2005-06-16 | 2006-12-21 | Swanson Robert C | Identifying an operating system associated with a boot path |
US7634689B2 (en) * | 2005-09-22 | 2009-12-15 | Advanced Micro Devices, Inc. | Boot performance optimization for hard drive for personal internet communicator |
-
2005
- 2005-09-27 KR KR1020050089692A patent/KR100750132B1/ko not_active IP Right Cessation
-
2006
- 2006-08-31 US US11/513,057 patent/US8166285B2/en not_active Expired - Fee Related
- 2006-09-25 EP EP06121225.4A patent/EP1770513B1/en not_active Not-in-force
- 2006-09-27 CN CN200610159300XA patent/CN1940878B/zh not_active Expired - Fee Related
-
2011
- 2011-11-08 US US13/291,901 patent/US8825995B2/en active Active
-
2014
- 2014-07-25 US US14/341,428 patent/US9792105B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000315157A (ja) * | 1994-09-19 | 2000-11-14 | Hitachi Ltd | プログラム更新/回復方法 |
KR20030044906A (ko) * | 2000-04-12 | 2003-06-09 | 인텔 코오퍼레이션 | 비휘발성 재프로그램가능한 반도체 메모리에 저장된 파일데이터를 액세싱하는 방법 및 시스템 |
KR20020065186A (ko) * | 2001-02-06 | 2002-08-13 | 삼성전자 주식회사 | 셀룰러 시스템에서 업데이트 실패시 부터코드의 복구방법 |
JP2004038716A (ja) * | 2002-07-05 | 2004-02-05 | Hitachi Printing Solutions Ltd | 障害発生時の自動復旧機能を備えたファームウェア更新方法 |
KR20040083236A (ko) * | 2003-03-21 | 2004-10-01 | 엘지전자 주식회사 | 메모리의 프로그램 업그레이드 방법 |
KR20050028157A (ko) * | 2003-09-17 | 2005-03-22 | 삼성전자주식회사 | 부팅 및 부트 코드 업데이트 방법 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
CN1940878B (zh) | 2012-05-23 |
EP1770513A2 (en) | 2007-04-04 |
US8166285B2 (en) | 2012-04-24 |
US8825995B2 (en) | 2014-09-02 |
CN1940878A (zh) | 2007-04-04 |
US20140337608A1 (en) | 2014-11-13 |
KR20070035164A (ko) | 2007-03-30 |
EP1770513A3 (en) | 2009-04-15 |
US20070073978A1 (en) | 2007-03-29 |
US20120054475A1 (en) | 2012-03-01 |
US9792105B2 (en) | 2017-10-17 |
EP1770513B1 (en) | 2013-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100750132B1 (ko) | 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체 | |
US8417992B2 (en) | Method, system and article of manufacture for system recovery | |
KR101143112B1 (ko) | 페일세이프 방식으로 맞춤 소프트웨어 영상 갱신을불휘발성 저장 장치에 적용하는 시스템 및 방법 | |
TWI384367B (zh) | 韌體更新系統及方法 | |
US7971199B1 (en) | Mobile device with a self-updating update agent in a wireless network | |
JP5113700B2 (ja) | ファームウェア更新装置及び方法 | |
US8196130B2 (en) | Tri-phase boot process in electronic devices | |
US20070055969A1 (en) | System and method for updating firmware | |
US20040255106A1 (en) | Recovery of operating system configuration data by firmware of computer system | |
US20070074201A1 (en) | Method and system for updating software and computer readable recording medium storing the method | |
CN113254048B (zh) | 引导程序更新方法、装置、设备及计算机可读介质 | |
US6205561B1 (en) | Tracking and managing failure-susceptible operations in a computer system | |
KR20110055841A (ko) | 시스템의 복구 방법 및 이를 지원하는 장치 | |
CN113157303A (zh) | 升级方法、嵌入式系统、终端及计算机存储介质 | |
JP2001331327A (ja) | 電子機器 | |
CN113806139B (zh) | 操作系统恢复方法、设备、存储介质及计算机程序产品 | |
US20140156943A1 (en) | Information processing apparatus, information processing method, and program | |
JP2005284902A (ja) | 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム | |
KR100853941B1 (ko) | 멀티미디어 저장장치와 데이터 복구방법 | |
WO2022111097A1 (zh) | 一种文件更新方法及装置、设备、存储介质 | |
CN113467797B (zh) | 程序更新方法、装置和系统以及计算机可读存储介质 | |
KR20070060448A (ko) | 2단계 부트로더를 이용한 시스템 업그레이드 장치 및 방법 | |
CN113918199A (zh) | 底层固件程序的更新方法、存储介质以及电子设备 | |
CN117873513A (zh) | 一种嵌入式系统的usb升级方法、嵌入式设备及存储介质 | |
CN115269030A (zh) | 嵌入式电子装置、启动方法、内储程序的嵌入式电子装置 |
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 | ||
G170 | Re-publication after modification of scope of protection [patent] | ||
FPAY | Annual fee payment |
Payment date: 20120730 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20130730 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140730 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150730 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160728 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |