KR101529713B1 - 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법 및 이를 위한 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 - Google Patents

비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법 및 이를 위한 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 Download PDF

Info

Publication number
KR101529713B1
KR101529713B1 KR1020140001873A KR20140001873A KR101529713B1 KR 101529713 B1 KR101529713 B1 KR 101529713B1 KR 1020140001873 A KR1020140001873 A KR 1020140001873A KR 20140001873 A KR20140001873 A KR 20140001873A KR 101529713 B1 KR101529713 B1 KR 101529713B1
Authority
KR
South Korea
Prior art keywords
android
counter
value
recovery
boot
Prior art date
Application number
KR1020140001873A
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 주식회사 텔레칩스
Priority to KR1020140001873A priority Critical patent/KR101529713B1/ko
Application granted granted Critical
Publication of KR101529713B1 publication Critical patent/KR101529713B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Retry When Errors Occur (AREA)

Abstract

본 발명은 비정상 전원절환에 대하여 안드로이드 단말의 안정성을 강화하기 위한 기술에 관한 것이다. 특히, 본 발명은 비정상적인 파워 온/오프 등으로 인해 안드로이드 시스템이 정상적으로 동작하지 않는 문제가 발생했을 때 크래쉬 카운터 등을 이용해서 그 문제를 자동으로 해결함으로써 안드로이드 단말의 안정성을 강화하는 기술에 관한 것이다. 본 발명에 따르면 비정상 파워 온/오프로 인해 안드로이드 단말이 제대로 동작하지 않는 문제가 발생했을 때 이를 자동으로 복구하여 사용자가 별다른 불편 없이 사용할 수 있도록 하는 편의를 제공한다.

Description

비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법 및 이를 위한 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체{Method for improving system stability of android devices in abnormal power switching, and computer-readable recording medium for the same}
본 발명은 비정상 전원절환에 대하여 안드로이드 단말의 안정성을 강화하기 위한 기술에 관한 것이다. 특히, 본 발명은 비정상적인 파워 온/오프 등으로 인해 안드로이드 시스템이 정상적으로 동작하지 않는 문제가 발생했을 때 크래쉬 카운터(crash counter) 등을 이용해서 그 문제를 자동으로 해결함으로써 안드로이드 단말의 안정성을 강화하는 기술에 관한 것이다.
안드로이드 플랫폼(Android platform)은 Google사가 주도하는 OHA(Open Handset Alliance)에서 공개한 소프트웨어 스택이다. 안드로이드 플랫폼은 리눅스 커널(Linux Kernel), 가상머신(VM), 프레임워크, 어플리케이션(applicatoin)을 모두 포함하는 소프트웨어 패키지이다. 이러한 안드로이드 플랫폼을 위한 안드로이드 운영체제(Android OS)는 스마트폰이나 태블릿 컴퓨터와 같은 모바일 단말에서 범용화되어 가고 있으며, 최근에는 스마트 텔레비전, 스마트 셋톱박스, 스마트 OTT 박스(Smart OTT box), HDMI 동글(HDMI dongle) 등과 같은 다양한 형태의 장치에 활발하게 적용되고 있다.
안드로이드 운영체제는 리커버리 모드(recovery mode)를 제공하는데, 리커버리 모드에서는 어플리케이션이 새로 생성한 데이터 등이 비정상적일 경우에 초기화 과정으로 와이프 아웃(wipe-out), 팩토리 리셋(factory reset) 등을 수행하여 이를 복구할 수 있다. 또한, 필요한 경우에는 사용자로 하여금 혹은 자동으로 펌웨어 업그레이드를 실시할 수도 있다.
일반적인 스마트폰이나 안드로이드 MID(Mobile Internet Device) 등과 같이 배터리가 내장되어 있는 스마트 디바이스는 비정상적으로 파워가 오프되는 경우가 매우 드물다. 그러나 배터리를 내장하지 않는 장치, 예컨대 스마트 텔레비전, 스마트 셋톱박스, 스마트 OTT 박스, HDMI 동글 등의 경우라면 비정상적인 전원절환 상황(비정상 파워 오프)이 언제든지 발생할 수 있다.
특히 HDMI 동글의 경우에는 스토리지를 언마운트(unmount)하고 동작전원을 오프하는 과정을 거치는 정상적인 파워오프 프로세스가 마련되어 있지 않는 것이 일반적이다. 통상적으로는 USB 포트에서 뽑거나 디지털 텔레비전을 끄는 경우 이와 연결된 HDMI 동글은 비정상적으로 파워 오프된다. 이러한 비정상 전원절환으로 인해서 유저 데이터(user data)나 시스템 데이터(system data)를 저장하는 내부 스토리지에 문제가 발생할 가능성이 있다. 즉, 내부 스토리지의 데이터가 망가져서 정상적으로 안드로이드 운영체제가 부팅되지 않는 문제가 발생할 수 있다.
이러한 문제가 발생한 경우, 이를 해결하기 위해서는 첫째로, 팩토리 리셋을 이용해서 비정상 유저 데이터를 삭제하거나, 둘째로, 펌웨어 업그레이드를 통해서 시스템 데이터를 다시 복구할 수 있다. 그러나 이와 같은 종래의 방법은 안드로이드 운영체제 기반의 시스템이 정상적으로 부팅되지 않기 때문에 사용자에 의해서만 진행될 수 있는 불편함이 있다.
좀더 구체적으로 살펴보면, 종래의 부트로더(bootloader)와 안드로이드 시스템이 크래쉬 카운터를 이용할 때, 먼저, 부팅시에 부트로더가 크래쉬 카운터를 특정 파티션에 기록하면서 크래쉬 카운터의 값을 증가시킨다. 부트로더는 크래쉬 카운터가 설정 값(CTHS) 이상이면 안드로이드 시스템에 문제가 있다고 생각하고 리커버리 모드로 진입해서 팩토리 리셋을 실행한다.
다음으로, 안드로이드 부팅(Android booting)이 정상적으로 부팅 완료된 경우에는 안드로이드 서비스(Android service) 또는 어플리케이션(application)(이하, '안드로이드 프로그램'이라 함)이 크래쉬 카운터를 초기화한다. 이 경우 크래쉬 카운터가 설정값(CTHS) 이하의 경우에 시스템이 부팅되지 않는 문제가 발생하는 경우, 안드로이드 시스템의 부팅이 이루어지지 않는 상태에서 계속 머무르게 되고, 사용자가 리셋이나 파워 오프를 수행해야만 다시 부트로더부터 크래쉬 카운터 증가 동작이 수행되며, 설정값 이상이 되어야만 비로소 리커버리 모드로 진입하게 되는 문제점이 있다.
또한, 크래쉬 카운터가 설정 값 이상이 되어 자동으로 팩토리 리셋이 수행되더라도 유저 데이터만 와이프 아웃 처리된다. 만약 시스템 파일(system file) 자체에 문제가 발생하여 안드로이드 시스템이 정상적으로 부팅되지 않는 경우라면 팩토리 리셋을 반복적으로 수행하더라도 위 문제는 해결되지 않으며, 결국 정상적인 부팅은 이루어지지 않는 문제점이 있어 왔다.
이에 따라 해당 기술분야에 있어서는 비정상 전원절환(파워 온/오프 등)으로 인해 안드로이드 시스템이 정상적으로 동작하지 않는 문제가 발생했을 때 자동으로 팩토리 리셋과 펌웨어 업그레이드를 순차적으로 수행하여 그 문제를 해결하기 위한 기술개발이 절실히 요구되고 있다.
1. 휴대단말기의 무결성 보호 방법 및 장치(특허출원번호 제10-2012-0019095호)
2. 휴대단말기의 어플리케이션 처리장치 및 방법(특허출원번호 제10-2012-0019305호)
본 발명의 목적은 비정상 전원절환에 대하여 안드로이드 단말의 안정성을 강화하는 기술을 제공하는 것이다. 특히, 본 발명의 목적은 비정상적인 파워 온/오프 등으로 인해 안드로이드 시스템이 정상적으로 동작하지 않는 문제가 발생했을 때 그 문제 상황을 자동으로 인식하고 팩토리 리셋을 자동으로 수행하도록 하며, 만약 팩토리 리셋으로 문제가 해결되지 않는다면 펌웨어 업그레이드까지 자동으로 수행하기 위한 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 기술을 제공하는 것이다.
이러한 과제를 달성하기 위한 본 발명에 따른 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법은, 안드로이드 단말 상에서 안드로이드 OS에 대한 부트로더에 의한 부팅을 시작하는 제 1 단계; 크래쉬 카운터의 값을 증가시키는 제 2 단계; 크래쉬 카운터의 값이 미리 설정된 임계치(CTHS) 보다 큰 값인 경우, 비정상 상태로 판단하고 리커버리 모드로 진입하는 제 3 단계; 리커버리 카운터의 값이 "0" 인 경우, 리커버리 모드로의 진입이 처음이라고 판단하고 팩토리 리셋을 수행하는 제 4 단계;를 포함하여 구성된다.
이때, 리커버리 카운터의 값이 "0"이 아닌 경우, 이전에 리커버리 모드로 진입하였으나 정상 부팅에 실패한 것으로 판단하고 별도 파티션에 마련된 이머전시 펌웨어를 이용한 리커버리 펌웨어의 업데이트를 수행하는 제 5 단계; 크래쉬 카운터의 값이 임계치보다 작은 값인 경우, 안드로이드 OS(15)의 커널에 의한 안드로이드 부팅을 시작하는 제 6 단계; 커널에 의해 안드로이드 부팅이 정상적으로 수행되지 않은 경우 제 1 단계로 회귀하는 제 7 단계; 커널에 의한 안드로이드 부팅이 정상적으로 수행된 경우 크래쉬 카운터를 초기화하고 정상 부팅을 완료하는 제 8 단계;를 더 포함하여 구성될 수 있다.
이때, 제 5 단계에서 안드로이드 단말은 펌웨어 생성 날짜를 무시하고 리커버리 펌웨어의 업데이트를 실행하는 것이 바람직하다. 또한, 제 7 단계는, 안드로이드 부팅이 정상적으로 수행되지 않으면 자이코트(Zygote)가 안드로이드 부팅을 반복 시도하는 단계; 반복 시도시에 안드로이드 리셋 카운터를 관리하여 미리 설정된 특정 횟수 이상 반복해서 안드로이드 시스템 부팅을 시도한 경우에는 자동으로 하드웨어 리셋을 발생시켜서 단계(S11)로 회귀하는 단계;를 포함하여 구성되는 것이 바람직하다. 또한, 제 4 단계는 내부 스토리지 상에서 유저데이터 파티션에 대한 와이프 아웃을 수행하는 것이 바람직하다.
한편, 본 발명에 따른 컴퓨터로 판독가능한 기록매체는 이상과 같은 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법을 실행시키기 위한 프로그램을 기록한 것이다.
본 발명에 따르면 비정상 파워 온/오프(Power On/Off)로 인해 안드로이드 단말이 제대로 동작하지 않는 문제가 발생했을 때 이를 자동으로 복구하여 사용자가 별다른 불편 없이 사용할 수 있도록 하는 편의를 제공한다.
[도 1]은 본 발명의 제 1 실시예에 따른 안드로이드 단말의 내부 구성을 나타내는 기능 블록도,
[도 2]는 본 발명의 제 2 실시예에 따른 안드로이드 단말의 내부 구성을 나타내는 기능 블록도,
[도 3]은 본 발명이 구현되는 안드로이드 단말에서 스토리지에 구현된 필수 파티션 구조를 나타내는 도면,
[도 4]는 본 발명에 따른 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법을 나타내는 순서도.
이하에서는 도면을 참조하여 본 발명을 상세하게 설명한다.
[도 1] 내지 [도 3]은 본 발명에 따른 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법이 구현되는 안드로이드 단말(10)의 내부 구성 및 내부 스토리지(14)에 구현된 파티션 구조를 나타내는 도면이다.
먼저 [도 1]을 참조하면, 본 발명의 제 1 실시예에 따른 안드로이드 단말(10)은 송수신부(11), 입출력부(12), 중앙제어장치(13), 스토리지(14), 안드로이드 OS(15), 부트로더(16), 리커버리부(17)를 포함하며, 이를 통해 안드로이드 프로그램(18)을 실행한다. 이때, 스토리지(14)에는 이머전시 펌웨어(14a)가 저장되고, 안드로이드 OS(15)에는 커널(15a)이 구비되며, 부트로더(16)는 스토리지(14) 상에 형성되거나 별도 구성으로 형성될 수 있다.
다음으로 [도 2]는 본 발명의 제 2 실시예에 따른 안드로이드 단말(10)의 구성을 나타내는데, 제 2 실시예에서는 이머전시 펌웨어(19)가 [도 1]에서와는 달리 일반적인 스토리지(14) 외에 별개의 스토리지 장치로 구현된다. [도 1]에서는 스토리지(14) 내에 이머전시 펌웨어(14a)가 구현되는데, 이 경우에는 비정상 전원절환에 의해 시스템 파일이 손상될 때 이머전시 펌웨어(14a)도 함께 손상될 위험성이 존재한다. 반면, [도 2]의 구성에서는 이머전시 펌웨어(19)가 일반적인 스토리지(14)와는 구분되어 별개의 스토리지 장치로 구현되므로 이와 같은 위험성 마저 제거할 수 있는 장점이 있다.
본 발명에서 안드로이드 단말(10)은 팩토리 리셋으로도 안드로이드 부팅이 정상적으로 수행되지 않은 경우에는 이머전시 펌웨어(14a)를 이용한다. 그에 따라, 안드로이드 단말(10)은 이머전시 펌웨어를 저장하기 위한 스토리지(14) 상의 파티션, 즉 이머전시 파티션(14-7)을 구비한다. 즉, 안드로이드 단말(10)은 리커버리 펌웨어 업데이트(recovery firmware update) 용으로 내부의 스토리지(14)에 이머전시 파티션(14-7)을 마련하여 이머전시 펌웨어(emergency firmware)를 저장해두고 필요시에 활용한다. 이머전시 펌웨어는 제품 제작 후에 이루어지는 최초의 공장 펌웨어 다운로드(firmware download) 시에 안드로이드 단말(10) 상으로 다운로드된다.
일반적으로 안드로이드 단말(10)의 중앙제어장치(13)는 펌웨어를 업데이트할 때 펌웨어 생성 날짜를 체크해서 이전 펌웨어로의 다운그레이드(downgrade)를 방지하는데, 이머전시 펌웨어가 개입되어 리커버리 펌웨어를 업데이트할 때에는 항상 펌웨어 업데이트가 진행되도록 제어함이 바람직하다. 이는 안드로이드 단말(10)의 비정상 전원절환에 의해 기존의 펌웨어에서 시스템 파일이 손상된 것으로 판단하였기 때문이다.
송수신부(11)는 유무선 통신망을 통해 각종의 단말장치 및 시스템들과 데이터 송수신을 수행하기 위해 제공된다. 입출력부(12)는 안드로이드 단말(10)이 모바일 단말인 경우 터치스크린으로 형성되는 것이 일반적으로 입력 인터페이스와 출력 인터페이스를 제공한다.
한편, 스토리지(14)는 상술한 이머전시 펌웨어(14a)를 저장하기 위한 이머전시 파티션(14-7) 외에 부트 파티션(14-1), 시스템 파티션(14-2), 유저데이터 파티션(14-3), 캐쉬 파티션(14-4), 리커버리 파티션(14-5), MISC 파티션(14-6)의 필수 파티션을 구비한다.
부트로더(16)는 안드로이드 단말(10) 상에서 안드로이드 OS(15)에 대한 부팅을 시작하고, 크래쉬 카운터의 값을 1 증가시킨 후, 스토리지(14) 상의 미리 설정된 파티션에 증가된 크래쉬 카운터 값을 저장한다.
부트로더(16)는 크래쉬 카운터의 값이 미리 설정된 임계치(CTHS) 보다 큰 값인 경우 비정상 상태로 판단하고 리커버리 모드로 진입한다. 리커버리 모드가 수행될 때, 리커버리 카운터의 값이 "0"(Zero)라면 리커버리 모드로의 진입이 처음이라고 판단하고 팩토리 리셋을 수행한다.
리커버리부(17)는 리커버리 카운터의 값이 "0"이 아니면 이전에 리커버리 모드로 진입하였으나 정상 부팅에 실패한 것으로 판단한다. 이러한 경우, 리커버리부(17)는 이머전시 펌웨어(14a)를 이용한 펌웨어 업그레이드를 수행하도록 한다.
한편, 커널(15a)은 크래쉬 카운터의 값이 임계치보다 작은 경우 부트로더(16)에 의해 로딩되며 안드로이드 OS(15)에 대한 부트로드 단계 이후의 커널 단계의 부팅을 시작한다.
안드로이드 프로그램(18)은 커널(15a)에 의해 안드로이드 OS에 대한 부팅(즉, 안드로이드 부팅)이 정상적으로 수행된 경우 크래쉬 카운터를 초기화하며, 안드로이드 OS(15)에 대한 정상 부팅을 완료한다.
이하에서는 [도 1] 내지 [도 3]에 따른 안드로이드 단말(10)의 구성요소를 중심으로 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 기술을 [도 4]를 참조하여 살펴본다.
[도 4]는 본 발명에 따른 비정상 전원절환에 대한 안드로이드 단말(10)의 안정성 강화 방법을 나타내는 순서도이다. [도 1] 내지 [도 4]를 참조하면, 먼저 부트로더(16)는 안드로이드 단말(10) 상에서 안드로이드 OS(15)에 대한 부팅을 시작한다(S11).
단계(S11) 이후, 부트로더(16)는 크래쉬 카운터를 증가시킨 후(S12), 스토리지(14) 상의 미리 설정된 특정 파티션(예컨대, 제 1 파티션(Partiton_1))에 그 증가된 크래쉬 카운터 값을 저장한다.
단계(S12) 이후, 부트로더(16)는 크래쉬 카운터의 값이 미리 설정된 임계치(CTHS)보다 큰 값인지 여부를 판단한다(S13).
단계(S13)의 판단 결과 크래쉬 카운터의 값이 임계치보다 작다면, 부트로더(16)는 단계(S18)에 따른 안드로이드 단말(10) 상에서 안드로이드 OS(15)에 대한 커널(15a)에 의한 정상 부팅을 진행한다. 한편 단계(S18) 이후의 과정은 이후에 구체적으로 설명한다.
이와는 반대로 단계(S13)의 판단 결과 크래쉬 카운터의 값이 임계치보다 크다면, 부트로더(16)는 비정상 상태로 간주하고 단계(S14) 이후의 리커버리 모드로 진입한다.
단계(S15)에서, 리커버리부(17)는 리커버리 모드로 진입한 후, 먼저 리커버리 카운터(recovery counter)를 체크한다. 즉, 리커버리 카운터의 값이 "0" 인지 여부를 판단한다.
단계(S15)의 판단 결과 리커버리 카운터의 값이 "0"이라면, 리커버리부(17)는 리커버리 모드로의 진입이 처음이라고 판단하며 리커버리 카운터를 증가시키고 저장한 후 일차적으로 팩토리 리셋을 수행한다(S16). 팩토리 리셋에서 리커버리부(17)는 스토리지(14) 상에서 유저데이터 파티션(14-3)에 대한 와이프 아웃을 수행한다.
한편, 단계(S15)의 판단 결과 리커버리 카운터의 값이 "0"이 아니라면, 리커버리부(17)는 이전에 리커버리 모드로 진입하였으나 정상 부팅에 여전히 실패한 것으로 판단한다. 이때, 리커버리부(17)는 단계(S17)로 진행하여 이머전시 펌웨어(14a)를 이용한 리커버리 펌웨어의 업그레이드를 수행하도록 한다.
상술한 바와 같이, 단계(S13)의 판단 결과 크래쉬 카운터가 임계치(CTHS)보다 작다면 안드로이드 OS(15)의 커널(15a)은 정상적인 안드로이드 부팅을 시작한다(S18).
그리고 나서, 커널(15a)은 안드로이드 OS(15)에 대한 부팅(안드로이드 부팅)이 정상적으로 수행되었는지 여부를 판단한다(S19).
단계(S19)의 판단 결과 정상적으로 안드로이드 부팅이 수행되지 않았다면 처음의 단계(S11)로 회귀한다. 이때, 정상적으로 안드로이드 부팅이 되지 않으면 자이코트가 계속해서 안드로이드 부팅을 반복 시도하는데, 이 경우와 관련해서 안드로이드 리셋 카운터(Android reset counter)를 이용해서 미리 설정된 특정 횟수(예: 3회) 이상 반복해서 안드로이드 시스템 부팅을 시도한 경우에는 자동으로 하드웨어 리셋을 발생시켜서 단계(S11)로 회귀하여 부트로더(16)에 의해 다시 부팅을 시도하도록 구성할 수 있다.
이와는 반대로 단계(S19)의 판단 결과 정상적으로 안드로이드 OS(15)가 부팅된 경우 안드로이드 프로그램(18)은 크래쉬 카운터를 초기화하며(S20), 안드로이드 OS(15)는 정상 부팅이 완료된다(S21).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드의 형태로 구현하는 것이 가능하다. 이때, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 캐리어웨이브(예: 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산된 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인 프로그램, 코드, 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예가 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명하다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
10: 안드로이드 단말(안드로이드 OS 기반 단말)
11: 송수신부
12: 입출력부
13: 중앙제어장치
14: 스토리지
14-1: 부트 파티션
14-2: 시스템 파티션
14-3: 유저데이터 파티션
14-4: 캐쉬 파티션
14-5: 리커버리 파티션
14-6: MISC 파티션
14a, 19 : 이머전시 펌웨어
15: 안드로이드 OS
15a: 커널
16: 부트로더
17: 리커버리부
18: 안드로이드 프로그램

Claims (6)

  1. 비정상적인 전원절환에 대응하여 안드로이드 단말의 안정성을 강화하기 위한 방법으로서,
    안드로이드 단말 상에서 안드로이드 OS에 대한 부트로더에 의한 부팅을 시작하는 제 1 단계;
    크래쉬 카운터의 값을 증가시키는 제 2 단계;
    상기 크래쉬 카운터의 값이 미리 설정된 임계치(CTHS) 보다 큰 값인 경우, 비정상 상태로 판단하고 리커버리 모드로 진입하는 제 3 단계;
    상기 리커버리 카운터의 값이 "0" 인 경우, 상기 리커버리 모드로의 진입이 처음이라고 판단하고 팩토리 리셋을 수행하는 제 4 단계; 그리고
    상기 리커버리 카운터의 값이 "0"이 아닌 경우, 이전에 리커버리 모드로 진입하였으나 정상 부팅에 실패한 것으로 판단하고 별도 파티션에 마련된 이머전시 펌웨어를 이용하여 리커버리 펌웨어의 업데이트를 수행하는 제 5 단계;
    를 포함하여 구성되는 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 제 5 단계에서 상기 안드로이드 단말은 펌웨어 생성 날짜를 무시하고 리커버리 펌웨어의 업데이트를 실행하는 것을 특징으로 하는 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법.
  4. 청구항 3에 있어서,
    상기 크래쉬 카운터의 값이 상기 임계치보다 작은 값인 경우, 안드로이드 OS(15)의 커널에 의한 안드로이드 부팅을 시작하는 제 6 단계;
    상기 커널에 의해 안드로이드 부팅이 정상적으로 수행되지 않은 경우 상기 제 1 단계로 회귀하는 제 7 단계;
    상기 커널에 의한 안드로이드 부팅이 정상적으로 수행된 경우 상기 크래쉬 카운터를 초기화하고 정상 부팅을 완료하는 제 8 단계;
    를 더 포함하여 구성되는 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법.
  5. 청구항 4에 있어서,
    상기 제 7 단계는,
    안드로이드 부팅이 정상적으로 수행되지 않으면 자이코트가 안드로이드 부팅을 반복 시도하는 단계;
    상기 반복 시도시에 안드로이드 리셋 카운터를 관리하여 미리 설정된 특정 횟수 이상 반복해서 안드로이드 시스템 부팅을 시도한 경우에는 자동으로 하드웨어 리셋을 발생시켜서 단계(S11)로 회귀하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법.
  6. 청구항 1 그리고 청구항 3 내지 청구항 5 중의 어느 하나의 항에 따른 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
KR1020140001873A 2014-01-07 2014-01-07 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법 및 이를 위한 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 KR101529713B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140001873A KR101529713B1 (ko) 2014-01-07 2014-01-07 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법 및 이를 위한 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140001873A KR101529713B1 (ko) 2014-01-07 2014-01-07 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법 및 이를 위한 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체

Publications (1)

Publication Number Publication Date
KR101529713B1 true KR101529713B1 (ko) 2015-06-17

Family

ID=53519273

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140001873A KR101529713B1 (ko) 2014-01-07 2014-01-07 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법 및 이를 위한 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체

Country Status (1)

Country Link
KR (1) KR101529713B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101802177B1 (ko) * 2016-03-04 2017-11-28 주식회사 큐셀네트웍스 소형 셀에서의 프로세서 부팅을 위한 장치 및 방법
CN109344574A (zh) * 2018-09-19 2019-02-15 四川长虹电器股份有限公司 一种基于说明书的自适应安卓加固方法
KR101947487B1 (ko) * 2018-04-12 2019-05-02 주식회사 케이디티 데이터 자동복구가 가능한 감시 제어 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR980006742A (ko) * 1996-06-29 1998-03-30 김광호 전원 온/오프 변환 방지 방법
KR20060056090A (ko) * 2004-11-19 2006-05-24 주식회사 팬택앤큐리텔 펌웨어 다운로드 에러에 대한 복구 기능을 구비한이동통신 단말기 및 이동통신 단말기의 펌웨어 다운로드에러에 대한 복구 방법
KR100617755B1 (ko) * 2005-04-21 2006-08-28 삼성전자주식회사 Nand 플래시 메모리를 구비한 이동 통신 단말의 부팅방법 및 장치
KR20080090071A (ko) * 2007-04-04 2008-10-08 삼성전자주식회사 오류 발생 시 시스템을 복원하는 방법 및 휴대단말기

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR980006742A (ko) * 1996-06-29 1998-03-30 김광호 전원 온/오프 변환 방지 방법
KR20060056090A (ko) * 2004-11-19 2006-05-24 주식회사 팬택앤큐리텔 펌웨어 다운로드 에러에 대한 복구 기능을 구비한이동통신 단말기 및 이동통신 단말기의 펌웨어 다운로드에러에 대한 복구 방법
KR100617755B1 (ko) * 2005-04-21 2006-08-28 삼성전자주식회사 Nand 플래시 메모리를 구비한 이동 통신 단말의 부팅방법 및 장치
KR20080090071A (ko) * 2007-04-04 2008-10-08 삼성전자주식회사 오류 발생 시 시스템을 복원하는 방법 및 휴대단말기

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101802177B1 (ko) * 2016-03-04 2017-11-28 주식회사 큐셀네트웍스 소형 셀에서의 프로세서 부팅을 위한 장치 및 방법
KR101947487B1 (ko) * 2018-04-12 2019-05-02 주식회사 케이디티 데이터 자동복구가 가능한 감시 제어 장치
CN109344574A (zh) * 2018-09-19 2019-02-15 四川长虹电器股份有限公司 一种基于说明书的自适应安卓加固方法
CN109344574B (zh) * 2018-09-19 2020-09-22 四川长虹电器股份有限公司 一种基于说明书的自适应安卓加固方法

Similar Documents

Publication Publication Date Title
US8972966B2 (en) Updating firmware in a hybrid computing environment
US8874892B1 (en) Assessing BIOS information prior to reversion
EP3494471B1 (en) Systems and methods for secure recovery of host system code
US9880862B2 (en) Method and system for verifying proper operation of a computing device after a system change
CN102360298B (zh) 一种终端设备的软件升级方法
US20150242201A1 (en) Method for updating firmware and electronic device thereof
CN103106092A (zh) 终端设备中系统软件升级方法和装置
KR20120052406A (ko) 펌웨어 이미지 갱신 및 관리
CN106775610B (zh) 一种电子设备启动方法及一种电子设备
CN102222011A (zh) 一种机顶盒的软件升级方法及机顶盒
KR101673299B1 (ko) 운영 시스템 복구 방법 및 장치, 그리고 단말기기
US8819330B1 (en) System and method for updating a locally stored recovery image
CN106331862A (zh) 一种机顶盒的软件升级方法及机顶盒
US20140149644A1 (en) Electronic apparatus, method of updating firmware, and computer-readable recording medium
KR20130142073A (ko) 모바일 메모리 카드를 사용하여 모바일폰 운영체제를 부팅시키는 방법 및 단말
CN104461594A (zh) 嵌入式操作系统的升级方法及装置
KR101529713B1 (ko) 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법 및 이를 위한 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
KR20150098263A (ko) 펌웨어를 갱신하기 위한 전자 장치 및 방법
CN106156626B (zh) 一种系统安全升级的方法和装置
CN105069381B (zh) 一种基于智能终端的分区保护方法及系统
US20080209201A1 (en) Apparatus and method for updating boot logo image in portable terminal
CN103995717A (zh) 一种嵌入式设备软件升级的方法
US8364598B2 (en) Use of software update policies
US20160048389A1 (en) System and method for supporting part replacement
CN112612498A (zh) 一种嵌入式设备升级方法和嵌入式设备

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180521

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190513

Year of fee payment: 5