KR101919777B1 - 이동 단말기 및 그 제어방법 - Google Patents

이동 단말기 및 그 제어방법 Download PDF

Info

Publication number
KR101919777B1
KR101919777B1 KR1020120002377A KR20120002377A KR101919777B1 KR 101919777 B1 KR101919777 B1 KR 101919777B1 KR 1020120002377 A KR1020120002377 A KR 1020120002377A KR 20120002377 A KR20120002377 A KR 20120002377A KR 101919777 B1 KR101919777 B1 KR 101919777B1
Authority
KR
South Korea
Prior art keywords
application
backup
mobile terminal
recovery
backup recovery
Prior art date
Application number
KR1020120002377A
Other languages
English (en)
Other versions
KR20130081417A (ko
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 KR1020120002377A priority Critical patent/KR101919777B1/ko
Priority to CN201210491690.6A priority patent/CN103200306B/zh
Priority to CN201210504625.2A priority patent/CN103197991B/zh
Priority to EP12199112.9A priority patent/EP2613260B1/en
Priority to EP12199121.0A priority patent/EP2634697B1/en
Priority to US13/726,385 priority patent/US9588846B2/en
Priority to US13/737,680 priority patent/US9037906B2/en
Publication of KR20130081417A publication Critical patent/KR20130081417A/ko
Application granted granted Critical
Publication of KR101919777B1 publication Critical patent/KR101919777B1/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
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore

Abstract

본 발명은 개방형 운영 체계로 동작하는 이동 단말기로써 백업 동작 및 복구 동작을 수행할 수 있는 이동 단말기를 제공한다.
본 발명은 상기 이동 단말기에 대한 백업 동작 및 복구 동작을 수행하는 제어부를 포함하며, 상기 제어부는, 백업 복구 애플리케이션 및 적어도 하나의 애플리케이션들을 구동시키는 애플리케이션 모듈, 및 상기 이동 단말기의 기본 하드웨어 기능을 관리하는 리눅스 커널 (Linux Kernel) 모듈로써, 상기 적어도 하나의 애플리케이션들 각각에 대한 파일 시스템에 접근할 수 있는 액세스 권한을 가진 백업 복구 서비스 유닛을 포함하는, 상기 리눅스 커널 모듈을 포함하며, 상기 백업 복구 애플리케이션은 상기 백업 복구 서비스 유닛을 통하여 상기 적어도 하나의 애플리케이션들에 대한 파일 시스템에 접근하여, 상기 적어도 하나의 애플리케이션들 각각에 대한 데이터의 백업 및 복구 동작을 수행할 수 있다.

Description

이동 단말기 및 그 제어방법{MOBILE TERMINAL AND METHOD FOR CONTROLLING THEREOF}
본 발명은 이동 단말기에 대한 복구 및 백업 동작을 수행할 수 있는 단말기 및 제어 방법에 관한 것이다.
단말기는 이동 가능 여부에 따라 이동 단말기(mobile/portable terminal) 및 고정 단말기(stationary terminal)으로 나뉠 수 있다. 다시 이동 단말기는 사용자의 직접 휴대 가능 여부에 따라 휴대(형) 단말기(handheld terminal) 및 거치형 단말기(vehicle mount terminal)로 나뉠 수 있다.
이와 같은 단말기(terminal)는 기능이 다양화됨에 따라 예를 들어, 사진이나 동영상의 촬영, 음악이나 동영상 파일의 재생, 게임, 방송의 수신 등의 복합적인 기능들을 갖춘 멀티미디어 기기(Multimedia player) 형태로 구현되고 있다.
또한, 최근의 스마트 폰 (smart phone) 의 등장에 따라서 사용자가 원하는 기능의 프로그램 또는 애플리케이션을 개별적으로 추가하는 것이 가능해졌다. 종전에는 단말기 제조사가 제조 당시에 설치했던 프로그램을 이용하는 수준이었다면, 현재의 스마트 폰과 같은 단말기는 사용자가 자신이 원하는 애플리케이션을 검색하고, 검색된 애플리케이션을 자신의 단말기에 설치하는 것이 가능해졌다. 이에 따라서, 각각의 사용자는 사용자의 단말기별로 서로 다른 단말기 환경을 구현하는 것이 가능해졌다.
따라서, 사용자가 자신에게 최적화된 단말기 환경을 직접 구현할 수 있게됨에 따라서 데이터가 손실되는 특수한 상황 (예를 들어, 하드웨어의 고장) 을 대비하기 위해서 상기 단말기 환경을 저장 또는 백업할 필요성이 증대되었다.
하지만, 종래의 단말기는 기본적 백업 및 복구의 기능을 제공할 수는 있지만, 각각의 프로그램의 상태 또는 사용자가 원하는 최적의 환경으로 복구시킬 수는 없는 문제점이 존재한다.
본 발명은 개방형 운용 체제를 가진 이동 단말기에 있어서 백업 및 복구할 애플리케이션 데이터를 액세스할 수 있는 접근 권한을 통하여 완벽한 백업 및 복구 동작을 수행할 수 있는 방법을 제공하기 위한 것이다.
또한, 본 발명은 백업 및 복구 과정에서 발생할 수 있는 여러 복구 문제에 대비하여 사용자가 원하는 최적의 백업 및 복구 환경을 제공하기 위한 방법을 제공하기 위한 것이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기한 과제를 실현하기 위한 본 발명의 일예와 관련된 이동 단말기는 개방형 운영 체계로 동작하는 이동 단말기로써, 상기 이동 단말기에 대한 백업 동작 및 복구 동작을 수행하는 제어부를 포함하며, 상기 제어부는, 백업 복구 애플리케이션 및 적어도 하나의 애플리케이션들을 구동시키는 애플리케이션 모듈, 및 상기 이동 단말기의 기본 하드웨어 기능을 관리하는 리눅스 커널 (Linux Kernel) 모듈로써, 상기 적어도 하나의 애플리케이션들 각각에 대한 파일 시스템에 접근할 수 있는 액세스 권한을 가진 백업 복구 서비스 유닛을 포함하는, 상기 리눅스 커널 모듈을 포함하며, 상기 백업 복구 애플리케이션은 상기 백업 복구 서비스 유닛을 통하여 상기 적어도 하나의 애플리케이션들에 대한 파일 시스템에 접근하여, 상기 적어도 하나의 애플리케이션들 각각에 대한 데이터의 백업 및 복구 동작을 수행할 수 있다.
여기에서, 상기 개방형 운영체제는 안드로이드 OS (Operating System) 을 포함할 수 있다.
상기 백업 복구 서비스 유닛은 상기 이동 단말기의 초기화 과정 (init process) 에서 상기 백업 복구 서비스 유닛을 생성하기 위한 init.rc 파일에 기초하여 생성될 수 있다. 상기 init.rc 파일에 기초하여 채널 소켓이 생성되며, 상기 백업 복구 애플리케이션과 상기 백업 복구 서비스 유닛은 상기 생성된 채널 소켓을 통하여 연결될 수 있다.
상기 백업 복구 애플리케이션은 상기 적어도 하나의 애플리케이션 및 상기 적어도 하나의 애플리케이션에 관련된 애플리케이션 세부 정보를 백업 및 복구할 수 있다.
상기 적어도 하나의 애플리케이션들 중 특정 애플리케이션에 대한 상기 파일 시스템은 상기 특정 애플리케이션 및 상기 백업 복구 서비스 유닛에 의해서만 접근이 허용될 수 있다.
상기 이동 단말기는 상기 백업 복구 애플리케이션에 의하여 백업된 데이터들을 저장하는 메모리를 더 포함할 수 있다. 상기 이동 단말기는 또한 상기 백업 복구 애플리케이션에 의하여 백업된 데이터들을 외부 저장 서버에 전송하는 무선 통신부를 더 포함한다. 상기 백업 복구 애플리케이션에 대한 백업 복구 동작에 대한 진행 과정을 나타내는 인디케이터 창을 표시하는 디스플레이부를 더 포함할 수도 있다.
상기한 과제를 실현하기 위한 본 발명의 다른 예와 관련된 이동 단말기 제어 방법은 개방형 운영 체계로 동작하는 이동 단말기에 대한 백업 및 복구 동작을 수행하는 방법으로써, 상기 이동 단말기의 초기화 과정 (init process) 을 통하여 백업 복구 서비스를 생성하는 단계로써, 상기 백업 복구 서비스는 상기 이동 단말기에 포함된 적어도 하나의 애플리케이션들 각각에 대한 파일 시스템에 접근할 수 있는 액세스 권한을 가진, 상기 생성 단계, 상기 생성된 백업 복구 서비스와 백업 복구 애플리케이션 간에 채널을 연결하는 단계, 및 상기 백업 복구 애플리케이션이 상기 적어도 하나의 애플리케이션들에 대한 백업 및 복구 동작을 수행하는 단계로써, 상기 백업 복구 애플리케이션은 상기 백업 복구 서비스를 통하여 상기 적어도 하나의 애플리케이션들에 대한 파일 시스템에 접근하여 상기 적어도 하나의 애플리케이션들 각각에 대한 데이터의 백업 및 복구 동작을 수행하는, 상기 수행 단계를 포함할 수 있다. 여기에서, 상기 개방형 운영체제는 안드로이드 OS (Operating System) 을 포함한다.
상기 백업 복구 서비스는 상기 초기화 과정에서 상기 백업 복구 서비스를 생성하기 위한 init.rc 파일에 기초하여 생성된다. 또한, 상기 init.rc 파일에 기초하여 채널 소켓이 생성되며, 상기 백업 복구 애플리케이션과 상기 백업 복구 서비스는 상기 생성된 채널 소켓을 통하여 연결될 수 있다.
상기 백업 복구 애플리케이션은 상기 적어도 하나의 애플리케이션 및 상기 적어도 하나의 애플리케이션에 관련된 애플리케이션 세부 정보를 백업 및 복구할 수 있다.
상기한 과제를 실현하기 위한 본 발명의 또 다른 예와 관련된 이동 단말기 제어 방법은 백업 대상 단말기에 포함된 적어도 하나의 애플리케이션에 대한 데이터를 백업하는 단계, 및 상기 적어도 하나의 애플리케이션에 대한 데이터를 복구 대상 이동 단말기에 복구하는 단계를 포함하며, 상기 복구하는 단계는, 상기 적어도 하나의 애플리케이션과 관련된 데이터에 대한 기본 복구 동작을 진행하는 과정; 상기 적어도 하나의 애플리케이션들 중 특정 애플리케이션에 대한 데이터 복구 과정에 사전 규정된 복구 에러가 발생했는 지를 판단하는 과정; 및 상기 판단 결과에 따라서 상기 복구 에러에 상응하는 복구 동작을 수행하는 과정을 포함한다.
상기 이동 단말기 제어 방법은 상기 적어도 하나의 애플리케이션과 관련된 복구 동작의 수행 과정을 나타내는 인디케이터 창을 표시하는 단계를 더 포함한다.
상기 판단 과정에 있어서, 상기 복구 대상 단말기에 상기 백업 대상 단말기에 설치된 특정 애플리케이션이 존재하지 않은 경우를 사전 규정된 복구 에러로 판단하고, 상기 복구 동작 수행 과정은, 상기 사전 규정된 복구 에러로 판단한 경우, 상기 복구 대상 단말기에 상기 특정 애플리케이션을 설치하며, 상기 설치 동작이 완료된 시점에 상기 특정 애플리케이션과 관련된 애플리케이션 세부 정보를 복구하는 것을 특징으로 한다. 여기에서, 상기 특정 애플리케이션은 외부 서버에 접속하여 상기 복구 대상 단말기에 설치될 수 있다.
또한, 상기 판단 과정에 있어서, 상기 복구 대상 단말기에 복구 이전에 사전 설치된 특정 애플리케이션의 버전이 상기 백업 대상 단말기에 설치된 특정 애플리케이션의 버전보다 최신인 경우를 사전 규정된 복구 에러로 판단하고, 상기 복구 동작 수행 과정은, 상기 사전 규정된 복구 에러로 판단한 경우, 상기 특정 애플리케이션이 사전 설정된 화이트리스트에 속한다면 상기 특정 애플리케이션과 관련된 애플리케이션 세부 정보를 상기 복구 대상 단말기에 복구하며, 상기 특정 애플리케이션이 사전 설정된 화이트리스트에 속하지 않는다면 상기 특정 애플리케이션에 대한 데이터를 상기 복구 대상 단말기에 복구하지 않을 수 있다.
또한, 상기 판단 과정에 있어서, 상기 복구 대상 단말기에 복구 이전 사전 설치된 특정 애플리케이션의 버전이 상기 백업 대상 단말기에 설치된 특정 애플리케이션의 버전과 동일한 경우를 사전 규정된 복구 에러로 판단하고, 상기 복구 동작 수행 과정은, 상기 사전 규정된 복구 에러로 판단한 경우, 상기 특정 애플리케이션은 상기 복구 대상 단말기에 복구하지 않으며, 상기 특정 애플리케이션에 대한 애플리케이션 세부 정보를 상기 복구 대상 단말기에 복구할 수 있다.
상기 백업 대상 단말기는 상기 복구 대상 단말기에서 동작할 수 없는 제한을 가진 애플리케이션을 블랙리스트로 관리하며, 상기 판단 과정에 있어서, 상기 백업 대상 단말기에 설치된 특정 애플리케이션이 상기 블랙리스트에 해당하는 애플리케이션인 경우 사전 규정된 복구 에러로 판단하고, 상기 백업 단계에 있어서, 상기 블랙리스트에 해당하는 애플리케이션은 백업하지 않으며, 상기 블랙리스트에 대한 정보는 백업한다. 상기 복구 동작 수행 과정은, 상기 사전 규정된 복구 에러로 판단한 경우 상기 블랙리스트에 대한 정보를 이용하여 외부 서버로부터 상기 복구 대상 단말기에서 동작가능한 버전으로 상기 특정 애플리케이션을 상기 복구 대상 단말기에 설치할 수도 있다.
상기 복구 대상 단말기는 상기 백업 대상 단말기와 동일한 단말기인 것을 특징으로 하며, 또한, 상기 복구 대상 단말기는 상기 백업 대상 단말기와 상이한 버전의 동일한 운용 체제로 동작할 수도 있다.
또한, 선택적으로 상기 복구 대상 단말기는 상기 백업 대상 단말기와 상이한 단말기일 수도 있다.
상기와 같이 구성되는 본 발명의 적어도 하나의 실시예에 관련된 이동 단말기 및 이동 단말기 제어 방법은 종래에 접근할 수 없었던 애플리케이션의 세부 정보에 대해서도 접근이 가능하기 때문에, 단말기를 백업 및 복구함에 있어서, 최적의 효과를 제공할 수 있다.
또한, 상기와 같이 구성되는 본 발명의 적어도 하나의 실시예에 관련된 이동 단말기 및 이동 단말기 제어 방법은 복구 대상 단말기와 백업 대상 단말기간의 다른 환경으로 인하여 생기는 복구 에러를 해결할 수 있는 효과를 제공할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예와 관련된 이동 단말기의 블록 구성도(block diagram).
도 2 는 개방형 운영 시스템으로 안드로이드 플랫폼의 구조를 도시한 도면.
도 3a 는 종래의 백업 복구 애플리케이션을 통한 접근 방식을 도시한 도면이며, 도 3b 는 본 발명에 따른 백업 복구 애플리케이션을 통한 방식을 도시한 도면.
도 4 는 백업 복구 애플리케이션이 백업 복구 서비스를 통하여 데이터 액세스하는 과정을 개략적으로 나타낸 도면
도 5 는 본 발명의 단말기 데이터의 백업 복구 방법의 흐름을 개략적으로 설명한 순서도.
도 6 은 소켓을 통하여 백업 복구 서비스와 백업 복구 애플리케이션이 채널이 연결되는 과정을 간단하게 나타내는 도면.
도 7 은 백업 복구 애플리케이션을 통한 복구 동작과 관련된 구체적 경우를 표시한 도면.
도 8 은 복구 동작과 관련한 인디케이터 창을 표시하는 도면.
도 9 는 본 발명과 관련하여 복구 에러가 발생한 제 1 경우를 도시한 도면.
도 10 은 본 발명과 관련하여 복구 에러가 발생한 제 2 경우를 도시한 도면.
도 11 은 본 발명과 관련하여 복구 에러가 발생한 제 3 경우를 도시한 도면.
도 12 는 본 발명과 관련하여 복구 에러가 발생한 제 4 경우를 도시한 도면.
이하, 본 발명과 관련된 이동 단말기에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
본 명세서에서 설명되는 이동 단말기에는 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션 등이 포함될 수 있다. 그러나, 본 명세서에 기재된 실시예에 따른 구성은 이동 단말기에만 적용 가능한 경우를 제외하면, 디지털 TV, 데스크탑 컴퓨터 등과 같은 고정 단말기에도 적용될 수도 있음을 본 기술분야의 당업자라면 쉽게 알 수 있을 것이다.
도 1은 본 발명의 일 실시예와 관련된 이동 단말기의 블록 구성도(block diagram)이다.
상기 이동 단말기(100)는 무선 통신부(110), A/V(Audio/Video) 입력부(120), 사용자 입력부(130), 센싱부(140), 출력부(150), 메모리(160), 인터페이스부(170), 제어부(180) 및 전원 공급부(190) 등을 포함할 수 있다. 도 1에 도시된 구성요소들이 필수적인 것은 아니어서, 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 갖는 이동 단말기가 구현될 수도 있다.
이하, 상기 구성요소들에 대해 차례로 살펴본다.
무선 통신부(110)는 이동 단말기(100)와 무선 통신 시스템 사이 또는 이동 단말기(100)와 이동 단말기(100)가 위치한 네트워크 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 예를 들어, 무선 통신부(110)는 방송 수신 모듈(111), 이동통신 모듈(112), 무선 인터넷 모듈(113), 근거리 통신 모듈(114) 및 위치정보 모듈(115) 등을 포함할 수 있다.
방송 수신 모듈(111)은 방송 채널을 통하여 외부의 방송 관리 서버로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다.
상기 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 상기 방송 관리 서버는, 방송 신호 및/또는 방송 관련 정보를 생성하여 송신하는 서버 또는 기 생성된 방송 신호 및/또는 방송 관련 정보를 제공받아 단말기에 송신하는 서버를 의미할 수 있다. 상기 방송 신호는, TV 방송 신호, 라디오 방송 신호, 데이터 방송 신호를 포함할 뿐만 아니라, TV 방송 신호 또는 라디오 방송 신호에 데이터 방송 신호가 결합한 형태의 방송 신호도 포함할 수 있다.
상기 방송 관련 정보는, 방송 채널, 방송 프로그램 또는 방송 서비스 제공자에 관련한 정보를 의미할 수 있다. 상기 방송 관련 정보는, 이동통신망을 통하여도 제공될 수 있다. 이러한 경우에는 상기 이동통신 모듈(112)에 의해 수신될 수 있다.
상기 방송 관련 정보는 다양한 형태로 존재할 수 있다. 예를 들어, DMB(Digital Multimedia Broadcasting)의 EPG(Electronic Program Guide) 또는 DVB-H(Digital Video Broadcast-Handheld)의 ESG(Electronic Service Guide) 등의 형태로 존재할 수 있다.
상기 방송 수신 모듈(111)은, 예를 들어, DMB-T(Digital Multimedia Broadcasting-Terrestrial), DMB-S(Digital Multimedia Broadcasting-Satellite), MediaFLO(Media Forward Link Only), DVB-H(Digital Video Broadcast-Handheld), ISDB-T(Integrated Services Digital Broadcast-Terrestrial) 등의 디지털 방송 시스템을 이용하여 디지털 방송 신호를 수신할 수 있다. 물론, 상기 방송 수신 모듈(111)은, 상술한 디지털 방송 시스템뿐만 아니라 다른 방송 시스템에 적합하도록 구성될 수도 있다.
방송 수신 모듈(111)을 통해 수신된 방송 신호 및/또는 방송 관련 정보는 메모리(160)에 저장될 수 있다.
이동통신 모듈(112)은, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 상기 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
무선 인터넷 모듈(113)은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 이동 단말기(100)에 내장되거나 외장될 수 있다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 등이 이용될 수 있다.
근거리 통신 모듈(114)은 근거리 통신을 위한 모듈을 말한다. 근거리 통신(short range communication) 기술로 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.
위치정보 모듈(115)은 이동 단말기의 위치를 획득하기 위한 모듈로서, 그의 대표적인 예로는 GPS(Global Position System) 모듈이 있다.
도 1을 참조하면, A/V(Audio/Video) 입력부(120)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(121)와 마이크(122) 등이 포함될 수 있다. 카메라(121)는 화상 통화모드 또는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 처리된 화상 프레임은 디스플레이부(151)에 표시될 수 있다.
카메라(121)에서 처리된 화상 프레임은 메모리(160)에 저장되거나 무선 통신부(110)를 통하여 외부로 전송될 수 있다. 카메라(121)는 사용 환경에 따라 2개 이상이 구비될 수도 있다.
마이크(122)는 통화모드 또는 녹음모드, 음성인식 모드 등에서 마이크로폰(Microphone)에 의해 외부의 음향 신호를 입력받아 전기적인 음성 데이터로 처리한다. 처리된 음성 데이터는 통화 모드인 경우 이동통신 모듈(112)을 통하여 이동통신 기지국으로 송신 가능한 형태로 변환되어 출력될 수 있다. 마이크(122)에는 외부의 음향 신호를 입력받는 과정에서 발생되는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘이 구현될 수 있다.
사용자 입력부(130)는 사용자가 단말기의 동작 제어를 위한 입력 데이터를 발생시킨다. 사용자 입력부(130)는 키 패드(key pad) 돔 스위치 (dome switch), 터치 패드(정압/정전), 조그 휠, 조그 스위치 등으로 구성될 수 있다.
센싱부(140)는 이동 단말기(100)의 개폐 상태, 이동 단말기(100)의 위치, 사용자 접촉 유무, 이동 단말기의 방위, 이동 단말기의 가속/감속 등과 같이 이동 단말기(100)의 현 상태를 감지하여 이동 단말기(100)의 동작을 제어하기 위한 센싱 신호를 발생시킨다. 예를 들어 이동 단말기(100)가 슬라이드 폰 형태인 경우 슬라이드 폰의 개폐 여부를 센싱할 수 있다. 또한, 전원 공급부(190)의 전원 공급 여부, 인터페이스부(170)의 외부 기기 결합 여부 등을 센싱할 수도 있다. 한편, 상기 센싱부(140)는 근접 센서(141)를 포함할 수 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것으로, 이에는 디스플레이부(151), 음향 출력 모듈(152), 알람부(153), 햅틱 모듈(154) 및 프로젝터 모듈(155) 등이 포함될 수 있다.
디스플레이부(151)는 이동 단말기(100)에서 처리되는 정보를 표시(출력)한다. 예를 들어, 이동 단말기가 통화 모드인 경우 통화와 관련된 UI(User Interface) 또는 GUI(Graphic User Interface)를 표시한다. 이동 단말기(100)가 화상 통화 모드 또는 촬영 모드인 경우에는 촬영 또는/및 수신된 영상 또는 UI, GUI를 표시한다.
디스플레이부(151)는 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다.
이들 중 일부 디스플레이는 그를 통해 외부를 볼 수 있도록 투명형 또는 광투과형으로 구성될 수 있다. 이는 투명 디스플레이라 호칭될 수 있는데, 상기 투명 디스플레이의 대표적인 예로는 TOLED(Transparant OLED) 등이 있다. 디스플레이부(151)의 후방 구조 또한 광 투과형 구조로 구성될 수 있다. 이러한 구조에 의하여, 사용자는 단말기 바디의 디스플레이부(151)가 차지하는 영역을 통해 단말기 바디의 후방에 위치한 사물을 볼 수 있다.
이동 단말기(100)의 구현 형태에 따라 디스플레이부(151)이 2개 이상 존재할 수 있다. 예를 들어, 이동 단말기(100)에는 복수의 디스플레이부들이 하나의 면에 이격되거나 일체로 배치될 수 있고, 또한 서로 다른 면에 각각 배치될 수도 있다.
디스플레이부(151)와 터치 동작을 감지하는 센서(이하, '터치 센서'라 함)가 상호 레이어 구조를 이루는 경우(이하, '터치 스크린'이라 함)에, 디스플레이부(151)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 터치 센서는, 예를 들어, 터치 필름, 터치 시트, 터치 패드 등의 형태를 가질 수 있다.
터치 센서는 디스플레이부(151)의 특정 부위에 가해진 압력 또는 디스플레이부(151)의 특정 부위에 발생하는 정전 용량 등의 변화를 전기적인 입력신호로 변환하도록 구성될 수 있다. 터치 센서는 터치 되는 위치 및 면적뿐만 아니라, 터치 시의 압력까지도 검출할 수 있도록 구성될 수 있다.
터치 센서에 대한 터치 입력이 있는 경우, 그에 대응하는 신호(들)는 터치 제어기로 보내진다. 터치 제어기는 그 신호(들)를 처리한 다음 대응하는 데이터를 제어부(180)로 전송한다. 이로써, 제어부(180)는 디스플레이부(151)의 어느 영역이 터치 되었는지 여부 등을 알 수 있게 된다.
상기 근접 센서(141)는 상기 터치스크린에 의해 감싸지는 이동 단말기의 내부 영역 또는 상기 터치 스크린의 근처에 배치될 수 있다. 상기 근접 센서는 소정의 검출면에 접근하는 물체, 혹은 근방에 존재하는 물체의 유무를 전자계의 힘 또는 적외선을 이용하여 기계적 접촉이 없이 검출하는 센서를 말한다. 근접 센서는 접촉식 센서보다는 그 수명이 길며 그 활용도 또한 높다.
상기 근접 센서의 예로는 투과형 광전 센서, 직접 반사형 광전 센서, 미러 반사형 광전 센서, 고주파 발진형 근접 센서, 정전용량형 근접 센서, 자기형 근접 센서, 적외선 근접 센서 등이 있다. 상기 터치스크린이 정전식인 경우에는 상기 포인터의 근접에 따른 전계의 변화로 상기 포인터의 근접을 검출하도록 구성된다. 이 경우 상기 터치 스크린(터치 센서)은 근접 센서로 분류될 수도 있다.
이하에서는 설명의 편의를 위해, 상기 터치스크린 상에 포인터가 접촉되지 않으면서 근접되어 상기 포인터가 상기 터치스크린 상에 위치함이 인식되도록 하는 행위를 "근접 터치(proximity touch)"라고 칭하고, 상기 터치스크린 상에 포인터가 실제로 접촉되는 행위를 "접촉 터치(contact touch)"라고 칭한다. 상기 터치스크린 상에서 포인터로 근접 터치가 되는 위치라 함은, 상기 포인터가 근접 터치될 때 상기 포인터가 상기 터치스크린에 대해 수직으로 대응되는 위치를 의미한다.
상기 근접센서는, 근접 터치와, 근접 터치 패턴(예를 들어, 근접 터치 거리, 근접 터치 방향, 근접 터치 속도, 근접 터치 시간, 근접 터치 위치, 근접 터치 이동 상태 등)을 감지한다. 상기 감지된 근접 터치 동작 및 근접 터치 패턴에 상응하는 정보는 터치 스크린상에 출력될 수 있다.
음향 출력 모듈(152)은 호신호 수신, 통화모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서 무선 통신부(110)로부터 수신되거나 메모리(160)에 저장된 오디오 데이터를 출력할 수 있다. 음향 출력 모듈(152)은 이동 단말기(100)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음 등)과 관련된 음향 신호를 출력하기도 한다. 이러한 음향 출력 모듈(152)에는 리시버(Receiver), 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.
알람부(153)는 이동 단말기(100)의 이벤트 발생을 알리기 위한 신호를 출력한다. 이동 단말기에서 발생 되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 터치 입력 등이 있다. 알람부(153)는 비디오 신호나 오디오 신호 이외에 다른 형태, 예를 들어 진동으로 이벤트 발생을 알리기 위한 신호를 출력할 수도 있다. 상기 비디오 신호나 오디오 신호는 디스플레이부(151)나 음성 출력 모듈(152)을 통해서도 출력될 수 있어서, 그들(151,152)은 알람부(153)의 일부로 분류될 수도 있다.
햅틱 모듈(haptic module)(154)은 사용자가 느낄 수 있는 다양한 촉각 효과를 발생시킨다. 햅틱 모듈(154)이 발생시키는 촉각 효과의 대표적인 예로는 진동이 있다. 햅틱 모듈(154)이 발생하는 진동의 세기와 패턴 등은 제어가능하다. 예를 들어, 서로 다른 진동을 합성하여 출력하거나 순차적으로 출력할 수도 있다.
햅틱 모듈(154)은, 진동 외에도, 접촉 피부면에 대해 수직 운동하는 핀 배열, 분사구나 흡입구를 통한 공기의 분사력이나 흡입력, 피부 표면에 대한 스침, 전극(eletrode)의 접촉, 정전기력 등의 자극에 의한 효과와, 흡열이나 발열 가능한 소자를 이용한 냉온감 재현에 의한 효과 등 다양한 촉각 효과를 발생시킬 수 있다.
햅틱 모듈(154)은 직접적인 접촉을 통해 촉각 효과의 전달할 수 있을 뿐만 아니라, 사용자가 손가락이나 팔 등의 근 감각을 통해 촉각 효과를 느낄 수 있도록 구현할 수도 있다. 햅틱 모듈(154)은 휴대 단말기(100)의 구성 태양에 따라 2개 이상이 구비될 수 있다.
프로젝터 모듈(155)은, 이동 단말기(100)를 이용하여 이미지 프로젝트(project) 기능을 수행하기 위한 구성요소로서, 제어부(180)의 제어 신호에 따라 디스플레이부(151)상에 디스플레이되는 영상과 동일하거나 적어도 일부가 다른 영상을 외부 스크린 또는 벽에 디스플레이할 수 있다.
구체적으로, 프로젝터 모듈(155)은, 영상을 외부로 출력하기 위한 빛(일 예로서, 레이저 광)을 발생시키는 광원(미도시), 광원에 의해 발생한 빛을 이용하여 외부로 출력할 영상을 생성하기 위한 영상 생성 수단 (미도시), 및 영상을 일정 초점 거리에서 외부로 확대 출력하기 위한 렌즈(미도시)를 포함할 수 있다. 또한, 프로젝터 모듈(155)은, 렌즈 또는 모듈 전체를 기계적으로 움직여 영상 투사 방향을 조절할 수 있는 장치(미도시)를 포함할 수 있다.
프로젝터 모듈(155)은 디스플레이 수단의 소자 종류에 따라 CRT(Cathode Ray Tube) 모듈, LCD(Liquid Crystal Display) 모듈 및 DLP(Digital Light Processing) 모듈 등으로 나뉠 수 있다. 특히, DLP 모듈은, 광원에서 발생한 빛이 DMD(Digital Micromirror Device) 칩에 반사됨으로써 생성된 영상을 확대 투사하는 방식으로 프로젝터 모듈(151)의 소형화에 유리할 수 있다.
바람직하게, 프로젝터 모듈(155)은, 이동 단말기(100)의 측면, 정면 또는 배면에 길이 방향으로 구비될 수 있다. 물론, 프로젝터 모듈(155)은, 필요에 따라 이동 단말기(100)의 어느 위치에라도 구비될 수 있음은 당연하다.
메모리부(160)는 제어부(180)의 처리 및 제어를 위한 프로그램이 저장될 수도 있고, 입/출력되는 데이터들(예를 들어, 전화번호부, 메시지, 오디오, 정지영상, 동영상 등)의 임시 저장을 위한 기능을 수행할 수도 있다. 상기 메모리부(160)에는 상기 데이터들 각각에 대한 사용 빈도(예를 들면, 각 전화번호, 각 메시지, 각 멀티미디어에 대한 사용빈도)도 함께 저장될 수 있다. 또한, 상기 메모리부(160)에는 상기 터치스크린 상의 터치 입력시 출력되는 다양한 패턴의 진동 및 음향에 관한 데이터를 저장할 수 있다.
메모리(160)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 이동 단말기(100)는 인터넷(internet)상에서 상기 메모리(160)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작할 수도 있다.
인터페이스부(170)는 이동 단말기(100)에 연결되는 모든 외부기기와의 통로 역할을 한다. 인터페이스부(170)는 외부 기기로부터 데이터를 전송받거나, 전원을 공급받아 이동 단말기(100) 내부의 각 구성 요소에 전달하거나, 이동 단말기(100) 내부의 데이터가 외부 기기로 전송되도록 한다. 예를 들어, 유/무선 헤드셋 포트, 외부 충전기 포트, 유/무선 데이터 포트, 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트, 오디오 I/O(Input/Output) 포트, 비디오 I/O(Input/Output) 포트, 이어폰 포트 등이 인터페이스부(170)에 포함될 수 있다.
식별 모듈은 이동 단말기(100)의 사용 권한을 인증하기 위한 각종 정보를 저장한 칩으로서, 사용자 인증 모듈(User Identify Module, UIM), 가입자 인증 모듈(Subscriber Identify Module, SIM), 범용 사용자 인증 모듈(Universal Subscriber Identity Module, USIM) 등을 포함할 수 있다. 식별 모듈이 구비된 장치(이하 '식별 장치')는, 스마트 카드(smart card) 형식으로 제작될 수 있다. 따라서 식별 장치는 포트를 통하여 단말기(100)와 연결될 수 있다.
상기 인터페이스부는 이동단말기(100)가 외부 크래들(cradle)과 연결될 때 상기 크래들로부터의 전원이 상기 이동단말기(100)에 공급되는 통로가 되거나, 사용자에 의해 상기 크래들에서 입력되는 각종 명령 신호가 상기 이동단말기로 전달되는 통로가 될 수 있다. 상기 크래들로부터 입력되는 각종 명령 신호 또는 상기 전원은 상기 이동단말기가 상기 크래들에 정확히 장착되었음을 인지하기 위한 신호로 동작될 수도 있다.
제어부(controller, 180)는 통상적으로 이동 단말기의 전반적인 동작을 제어한다. 예를 들어 음성 통화, 데이터 통신, 화상 통화 등을 위한 관련된 제어 및 처리를 수행한다. 제어부(180)는 멀티 미디어 재생을 위한 멀티미디어 모듈(181)을 구비할 수도 있다. 멀티미디어 모듈(181)은 제어부(180) 내에 구현될 수도 있고, 제어부(180)와 별도로 구현될 수도 있다.
상기 제어부(180)는 상기 터치스크린 상에서 행해지는 필기 입력 또는 그림 그리기 입력을 각각 문자 및 이미지로 인식할 수 있는 패턴 인식 처리를 행할 수 있다.
또한, 본 발명과 관련하여 제어부 (180) 는 백업 복구와 관련된 모든 동작을 제어할 수 있다. 예를 들어, 백업 복구 애플리케이션의 구동, init process 의 동작을 위한 모든 동작을 수행할 수 있다.
또한, 제어부 (180) 는 본 발명과 관련하여 애플리케이션 모듈 및 리눅스 커널 모듈을 더 포함할 수도 있다. 여기에서 애플리케이션 모듈은 이동 단말기 (100) 에 설치된 모든 애플리케이션들을 수행시킬 수 있는 모듈이며, 안드로이드 OS 구조상 애플리케이션 계층에 해당되는 모듈이다. 또한, 리눅스 커널 모듈은 안드로이드 OS 구조상 리눅스 커널 (linux kernel) 계층에 해당되는 모듈로, 이동 단말기 (100) 의 기본 하드웨어 기능을 관리할 수 있다. 또한, 리눅스 커널은 추가적으로 백업 복구 서비스 유닛을 포함하거나, 백업 복구 서비스를 동작시킬 수 있으며, 여기서 백업 복구 서비스 유닛 또는 백업 복구 서비스는 각각의 애플리케이션들의 파일 시스템에 접근할 수 있는 루트 권한을 가진다.
전원 공급부(190)는 제어부(180)의 제어에 의해 외부의 전원, 내부의 전원을 인가받아 각 구성요소들의 동작에 필요한 전원을 공급한다.
여기에 설명되는 다양한 실시예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 여기에 설명되는 실시예는 ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays, 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시예들이 제어부(180) 자체로 구현될 수 있다.
소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다. 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리(160)에 저장되고, 제어부(180)에 의해 실행될 수 있다.
최근의 단말기는 기존의 휴대 기기와 많은 발전을 이루고 그에 따라서 종전의 컴퓨터가 수행하던 다양한 기능을 수행하게 되었다. 따라서, 기존의 휴대 기기와는 달리 컴퓨터의 운영 시스템처럼 단말기용 운영 시스템 (OS : Operating System) 을 탑재하기 시작하였다. 여기에서, 단말기용 운영 시스템이 어떤 운영 시스템을 탑재하느냐에 따라서 단말기의 종류가 다양해지며, 각 단말기에 장단점 역시 발생한다. 또한, 단말기의 운영 시스템에 따라서 단말기에 설치할 수 있는 애플리케이션들이 달라질 수 있다.
현재까지 단말기용 운영 시스템은 크게는 단말기 제조 회사에 따라서 아이폰에 탑재된 iOS, 안드로이드폰에 탑재된 안드로이드 OS, 윈도우 모바일 폰에 탑재된 윈도우 모바일 OS, RIM 사의 블랙베리 OS, 노키아 사의 심비안 OS, 삼성 사의 바다 OS 등이 존재한다.
단말기용 운영 시스템을 구분하는 다른 기준으로 운영 시스템이 개방형인지 폐쇄형인지에 따라서 구분될 수도 있다. 개방형 OS 는 상업적 의도로 제작되지 않았으며 소스 코드도 다 무료로 공개되어 있고 개선이나 제작에 누구나 참여할 수 있는 운영 시스템을 의미한다. 그와 반대로, 폐쇄형 OS 는 상업적 의도로 제작되었고 소스 코드도 무료 공개되지 않아서 개선이나 제작에 특정인에 한하여 허용되는 운영 시스템을 의미한다. 개방형 OS 의 예로는 안드로이드 OS, 심비안 OS 등이 존재한다.
본 발명은 단말기용 개방형 운영 시스템을 기준으로 설명한다. 또한, 설명의 편의를 위해서 개방형 운영 시스템 중 안드로이드 운영 시스템과 관련하여 설명한다. 하지만, 본 발명은 안드로이드 운영 시스템에만 적용될 수 있는 특징이 아닌 경우에 다른 개방형 운영 시스템에도 적용될 수 있음을 당업자는 쉽게 이해할 수 있다.
도 2 는 개방형 운영 시스템으로 안드로이드 플랫폼의 구조를 도시한 도면이다.
안드로이드 (Android) 플랫폼 (200) 은 안드로이드 OS 를 기반으로 생성된 플랫폼이다. 안드로이드 플랫폼 (200) 은 휴대 전화와 같은 이동 단말기를 비롯한 휴대용 장치를 위한 운영 체제와 미들웨어, 사용자 인터페이스 그리고 표준 응용 프로그램(웹 브라우저, 이메일 클라이언트, 단문 메시지 서비스(SMS), 멀티미디어 메시지 서비스(MMS)등)을 포함하고 있는 소프트웨어 스택이자 모바일 운영 체제이다. 안드로이드는 개발자들이 자바 언어로 응용 프로그램을 작성할 수 있게 하였으며, 컴파일된 바이트코드를 구동할 수 있는 런타임 라이브러리를 제공한다. 또한 안드로이드 소프트웨어 개발 키트(SDK: Software Development Kit)를 통해 응용 프로그램을 개발하기 위해 필요한 각종 도구들과 응용 프로그램 프로그래밍 인터페이스(API)를 제공한다.
안드로이드는 리눅스 커널 위에서 동작하며, 다양한 안드로이드 시스템 구성 요소에서 사용되는 C/C++ 라이브러리들을 포함하고 있다. 안드로이드는 기존의 자바 가상 머신과는 다른 가상 머신인 달빅 가상 머신을 통해 자바로 작성된 응용 프로그램을 별도의 프로세스에서 실행하는 구조로 되어 있다.
안드로이드 플랫폼 (200) 은 크게 네 부분으로 나뉘어진다.
첫번째 계층은 H/W 와 내부 메모리 관리, 프로세스 관리, 네트워킹 관리를 담당하는 리눅스 커널 (240) 이다. 이 리눅스 커널 (240) 을 통하여 안드로이드 플랫폼이 H/W 에서 제대로 작동하도록 할 것이다.
두번째 계층은 C 또는 C++ 로 구성된 라이브러리 계층 (230) 으로 단말기에 사용되는 H/W 를 사용하기 위한 기능을 제공한다. 이러한 라이브러리 계층 (230) 의 대표적인 예로써 그래픽을 구현하기 위한 그래픽 라이브러리와 동영상 재생을 위한 미디어 코덱 (media codec) 이 있다. 또한, 안드로이드 플랫폼에서는 자바 애플리케이션을 동작시키기 위한 런타임 (Runtime) 인 Dalvik VM 이 위치해 있다.
세번째 계층은 안드로이드 애플리케이션을 작성하기 위해 필요한 기능들을 제공하는 애플리케이션 프레임워크 계층 (220) 이 존재한다. 애플리케이션 프레임워크 계층 (220) 은 API (Application programming interface) 을 제공하며, API 를 이용하여 안드로이드 애플리케이션 개발자는 필요한 기능을 구현할 수 있다.
네번째 계층은 최상위 애플리케이션 계층 (210) 으로 사용자가 사용하는 애플리케이션들이 배치되는 계층이다. 애플리케이션 개발자가 애플리케이션을 배포하면 여기에 포함되며 디폴트로 단말기에 설치된 구글의 기본 애플리케이션과 동등한 위치를 가질 수 있다.
이하에서는, 안드로이드 OS 를 가진 단말기에 있어서 백업 (backup) 및 복구 (restore) 방법에 대해서 설명한다.
안드로이드 OS 를 포함한 다수의 개방형 OS 를 가진 단말기는 단말기에 설치된 다수의 데이터들을 안전하게 보호하기 위해서 백업 및 복구를 할 수 있는 기능을 제공한다.
안드로이드 OS 단말기에서 가장 일반적인 백업 및 복구 방법은 백업 복구 애플리케이션을 구동하여 수행하는 방식이다. 안드로이드 OS 단말기에 설치된 다수의 애플리케이션을 통하여 다양한 기능을 수행할 수 있으며, 그러한 다수의 애플리케이션들 중 백업 복구 애플리케이션이 포함될 수도 있다.
백업 복구 애플리케이션을 구동시킬 경우 안드로이드 OS 단말기에서 백업 및 복구를 할 대상을 선택받고, 해당 대상 파일들 또는 애플리케이션을 제 3 의 저장 장소 (예를 들어, 외부 서버 또는 저장 장치) 또는 메모리에 저장한다. 이후에 안드로이드 OS 단말기에 상기 백업된 내용을 다시 설치 또는 복구할 필요가 있는 경우에 백업 복구 애플리케이션을 구동하여 상기 저장된 백업 내용을 기반으로 복구를 수행할 수 있다.
백업 복구 애플리케이션을 구동시켜서 백업 복구 과정을 수행하는 경우에 백업되는 대상은 단말기에 설치된 애플리케이션들, 애플리케이션 각각에 관련된 애플리케이션 세부 정보들, 단말기에 애플리케이션들이 정렬 또는 배열된 환경 정보들을 포함한다.
예를 들어, 단말기에 문자 애플리케이션, 통화 애플리케이션, 게임 애플리케이션이 설치되어 있다고 가정한다. 이 경우에, 백업 복구 애플리케이션을 구동하는 경우에, 각각의 문자 애플리케이션, 통화 애플리케이션, 게임 애플리케이션 각각에 대한 데이터가 저장된다. 또한, 문자 애플리케이션과 관련된 애플리케이션 세부 정보들로써 다수의 상대방 단말들과 주고받은 여러 문자 데이터들 역시 백업 복구 애플리케이션에 의해서 외부에 저장될 수 있으며, 통화 애플리케이션과 관련된 애플리케이션 세부 정보들로 다수의 상대방 단말들과의 통화 정보들이 외부에 저장될 수 있다. 또한, 게임 애플리케이션의 애플리케이션 세부 정보들로 각각의 게임의 진행 정도와 관련된 로딩 상태 정보가 외부에 저장될 수 있다.
안드로이드 단말기의 경우에 배경 화면에 다양하게 애플리케이션들을 편집할 수 있으며, 그에 따라서 애플리케이션들이 단말기의 디스플레이부에 다양한 정렬 상태를 가지면서 표시될 수 있다. 이러한 정렬 상태와 관련된 환경 정보 역시 백업 복구 애플리케이션에 의해서 외부에 저장될 수 있다.
백업 복구 애플리케이션에 의해서 저장된 상기 데이터 또는 정보들은 사용자의 선택 또는 자동적으로 다시 동일 단말기 또는 다른 버전의 단말기에 복구될 수 있다.
한편, 애플리케이션 세부 정보는 메모리 (160) 에 저장되어 있으며, 소프트웨어 구조상 애플리케이션과 별도의 파일 시스템에 저장된다. 또한, 파일 시스템에 저장된 애플리케이션 세부 정보에 접근할 권원을 가지는 것은 해당 애플리케이션 세부 정보와 관련된 애플리케이션에 한한다. 예를 들어, 통화 기록과 관련된 통화 애플리케이션 세부 정보는 통화 애플리케이션에 한하여 접근하여 이를 판독, 저장할 수 있다.
따라서, 백업 복구 과정에 있어서, 원칙적으로 백업 복구 애플리케이션은 다른 애플리케이션의 애플리케이션 세부 정보에 접근할 수 없다. 따라서, 백업 복구 애플리케이션이 백업 복구 과정을 수행하더라도 완벽하게 애플리케이션 세부 정보까지 복구할 수는 없다. 하지만, 예외적으로, 모든 애플리케이션에 대한 루트 (root) 권한으로 접근할 수 있는 프로그램인 경우에 한하여 특정 애플리케이션에 대한 애플리케이션 세부 정보에 접근할 수 있다.
특정 애플리케이션에 대해서, 다른 애플리케이션에 대한 애플리케이션 세부 정보를 접근할 수 있는 권한을 부여하는 경우에 해킹에 노출될 우려가 있기 때문에, 개별적 애플리케이션에 루트 권한을 부여하지 않는 것이 일반적이다.
따라서, 백업 복구 애플리케이션을 통해서 단말기에 설치된 모든 데이터들, 즉, 애플리케이션 자체, 애플리케이션 세부 정보, 환경 정보를 사용자가 원하는 수준으로 정확하게 백업 복구하기 위해서는 다른 애플리케이션에 접근할 수 있는 루트 권한을 이용하는 것이 요구된다.
본 발명에서는, 백업 복구 애플리케이션을 통하여 백업 복구 과정을 수행함에 있어서, 사전에 루트 권한을 가진 백업 복구 서비스를 사전에 탑재하여, 그를 통하여 백업 복구 애플리케이션이 개별적 애플리케이션의 애플리케이션 세부 정보에 접근하여 백업 복구할 수 있도록 한다.
도 3a 는 종래의 백업 복구 애플리케이션을 통한 접근 방식이며, 도 3b 는 본 발명에 따른 백업 복구 애플리케이션을 통한 방식이다.
도 3a 를 참조하면, 각각의 애플리케이션 (301) 은 각각의 애플리케이션 세부 정보 (302) 에 접근할 수 있지만, 해당 애플리케이션의 백업을 하기 위한 백업 복구 애플리케이션 (303) 은 애플리케이션 세부 정보 (302) 에 접근할 수가 없다. 따라서, 백업 복구되더라도 실제로 애플리케이션 각각에 대한 세부 정보는 복구되지 않을 수도 있다.
도 3b 를 참조하면, 각각의 애플리케이션 (301) 은 각각의 애플리케이션 세부 정보 (302)에 접근할 수 있고, 백업 복구 애플리케이션 (303) 은 여전히 직접적으로 애플리케이션 세부 정보 (302) 에 접근할 수는 없는 것으로 도시된다. 하지만, 본 발명의 경우에 백업 복구 애플리케이션 (303) 은 애플리케이션 세부 정보 (302) 를 직접적으로 접근하는 대신에 루트 권한을 가진 백업 복구 서비스 (304) 를 통하여 애플리케이션 세부 정보 (302) 를 확인하고, 정보를 저장 복구할 수 있게 된다.
즉, 도 3b 와 관련하여, 본 발명에 따르면, 종전에 백업 복구 애플리케이션이 접근할 수 없었던 각 애플리케이션에 대한 애플리케이션 세부 정보를 그에 대한 루트 권한을 가진 백업 복구 서비스를 통해서 접근하여 그 정보를 백업 복구할 수 있다.
도 4 는 백업 복구 애플리케이션이 백업 복구 서비스를 통하여 데이터 액세스하는 과정을 개략적으로 나타낸 도면이다.
안드로이드 플랫폼의 애플리케이션 계층 (210) 에 다수의 애플리케이션들로 제 1 애플리케이션 (211), 제 2 애플리케이션 (212) 및 백업 복구 애플리케이션 (213) 이 존재한다.
제 1 애플리케이션 (211) 은 제 1 애플리케이션에 대한 애플리케이션 세부 정보로 파일 시스템 (410) 에 있는 파일 #1 (412) 에 자유롭게 접근하여 판독 및 저장할 수 있으며, 제 2 애플리케이션 (212) 는 제 2 애플리케이션에 대한 애플리케이션 세부 정보로 파일 시스템 (410) 에 있는 파일 #2 (414) 에 자유롭게 판독 및 저장할 수 있다. 하지만, 상기 설명한 바와 같이, 제 1 애플리케이션 및 제 2 애플리케이션 각각을 백업 복구하기 위한 백업 복구 애플리케이션 (213) 은 애플리케이션 세부 정보 (452, 454) 에 직접 접근할 수 있는 권한은 부여되지 않는다.
하지만, 본 발명의 이동 단말기 (100) 는 백업 복구 애플리케이션 (430) 을 수행함에 있어서, 리눅스 계층 (240) 의 백업 복구 서비스 (242) 를 통하여 백업 복구 애플리케이션 (213) 은 파일 시스템 (410) 에 접근할 수 있고, 애플리케이션 세부 정보들 (412, 414) 을 백업 복구할 수 있다.
도 5 는 본 발명의 단말기 데이터의 백업 복구 방법의 흐름을 개략적으로 설명한 순서도이다.
제어부 (180) 는 루트 권한을 가진 백업 복구 서비스를 생성한다 (S510). 제어부 (180) 는 생성된 백업 복구 서비스와 백업 복구 애플리케이션 사이에 채널을 연결한다 (S520). 제어부 (180) 는 백업 복구 애플리케이션을 구동하여 데이터에 대한 백업 동작을 수행한다 (S530). 제어부 (180) 는 백업 복구 애플리케이션을 통하여 단말기 (100) 에 복구 동작을 수행한다.
이하에서는, 도 5 에 설명된 백업 복구 방법의 흐름에 기반하여 본 발명의 실시예를 설명한다.
먼저, 제어부 (180) 는 루트 권한을 가진 백업 복구 서비스를 생성한다 (S510).
백업 복구 서비스 생성과 관련하여, 이하에서, init process 에서의 절차를 설명한다. 여기에서, 리눅스 상에서 동작하는 모드 프로세스는 init process 에서 생성되어 실행된다. 본 발명은 각각의 애플리케이션에 대한 애플리케이션 세부 정보를 액세스할 수 있는 루트 권한을 애플리케이션 계층이 아닌 리눅스 계층에서 수행할 수 있다. 따라서, 리눅스 계층에서 상기 루트 권한을 부여하기 위한 과정이 필요하다.
init process 에서 수행하는 역할을 설명하면, 간단하게는 init.rc 파일 분석 및 실행, 디바이스 드라이버 노드 생성, 세부 프로세스의 종료 처리, property service 종료등으로 구분할 수 있다.
구체적으로, init.rc 파일은 init process 에서 사용하는 파일로 서비스 (service) 와 액션 (action) 에 대해서 정의한다. 본 발명과 관련하여, 백업 복구 애플리케이션에 루트 권한을 부여하기 위하여 init.rc 파일에 루트 권한 부여 내용을 추가할 수 있다.
init.rc 에서 정의하는 액션이란, export, mkdir등 init 프로세스가 동작시 자동으로 수행해야 하는 기능들을 의미한다. 또한, init.rc 에서 정의하는 서비스란 init process에 의해서 실행되는 프로세스를 의미한다.
본 발명에서 루트 권한을 가진 백업 복구 서비스를 실행을 위해서 상기 init.rc 에서 백업 복구 애플리케이션을 위한 백업 복구 서비스에 대해서 정의한다.
구체적으로, 백업 복구 애플리케이션에서 백업을 위한 루트 권한을 가진 백업 복구 서비스를 실행하기 위해서 아래와 같은 문법 형식으로 백업 복구 서비스를 수행한다.
service linkbackupd /system/xbin/linkbackupd
socket linkbackup stream 660 root radio
user root
group root
상기 문법은 백업 루트 권한을 가진 백업 복구 서비스를 실행하기 위한 것으로 예시적이다. 따라서, 상기 내용을 init.rc에 기술하는 경우, 해당 내용을 통해 백업 복구 과정에서 루트 권한을 가진 백업 복구 서비스를 실행 또는 생성할 수 있다. 상기 백업 복구 서비스를 위한 문법은 각각 새로운 서비스를 실행하고, 서비스 실행 시에 대해서 소켓 (socket) 을 생성하여 애플리케이션과 통신 채널을 만드는 것에 대해서 설명한다.
백업 복구 서비스가 생성된 이후에, 제어부 (180) 는 백업 복구 애플리케이션과 백업 복구 서비스 간에 채널을 연결한다 (S520).
이와 같이, init process 를 통하여 루트 권한을 가진 백업 복구 서비스를 생성한 이후에, 백업 복구 서비스와 백업 복구 애플리케이션 간의 채널 연결을 위한 소켓을 생성한다.
도 6 은 소켓을 통하여 백업 복구 서비스와 백업 복구 애플리케이션이 채널이 연결되는 과정을 간단하게 나타내는 도면이다.
init process (630) 의 과정을 통하여 init.rc 를 판독하고 (S610), init.rc 에 기술된 대로 백업 복구 서비스 (620) 이 생성되며 소켓이 생성된다 (S620). 여기에서, 소켓은 백업 복구 서비스와 백업 복구 애플리케이션의 통신 연결 수단이다. 백업 복구 애플리케이션 (610) 은 소켓을 통하여 공용 키를 백업 복구 서비스 (620) 에 전달하며 (S630), 그에 응답하여, 백업 복구 서비스 (620) 는 다른 공용 키로 응답한다 (S640). 이러한 과정을 통하여, 백업 복구 서비스와 백업 복구 애플리케이션은 채널이 연결된다.
백업 복구 서비스와 백업 복구 애플리케이션 간에 채널이 연결된 경우에, 상기 설명한 바와 같이, 백업 복구 애플리케이션은 백업 복구 서비스를 통하여 백업 복구에 필요한 각각의 애플리케이션의 애플리케이션 세부 정보에 접근할 수 있고, 그를 백업, 복구할 수 있게 된다.
백업 복구 애플리케이션과 백업 복구 서비스 간에 채널이 연결된 이후에 백업 복구 애플리케이션은 백업 과정을 수행한다 (S530).
백업 복구 애플리케이션을 구동함에 있어서, 상기 설명한 바와 같이, 백업 복구 서비스를 통하여 파일 시스템에 접근하여 세부 정보들을 접근할 수 있는 것을 전제로 한다.
백업 복구 애플리케이션은 주기적으로 백업 동작을 수행할 수 있다. 백업 동작은 상기 설명한 바와 같이, 외부의 저장 장치에 단말기 (100) 에 관련된 데이터를 저장할 수도 있고 또는 단말기 (100) 의 메모리 (160) 에 저장할 수도 있다. 또한, 선택적으로 백업 복구 애플리케이션은 사용자가 백업 복구 애플리케이션을 구동할 것으로 선택한 경우에 한하여 백업 동작을 수행할 수도 있다.
백업 동작과 관련하여, 사용자는 백업할 대상을 선택할 수 있다. 즉, 백업 복구 애플리케이션을 백업 동작 개시를 위해서 구동한 경우에, 단말기 (100) 와 관련된 모든 데이터들, 예를 들어, 애플리케이션들, 애플리케이션 세부 정보들, 환경 정보들을 표시할 수 있으며, 그중에서, 사용자에 의해서 선택된 데이터에 한하여 백업 동작을 수행할 수도 있다.
한편, 백업 복구 애플리케이션과 관련하여, 백업하지 말아야할 대상을 블랙 리스트 (blacklist) 로 관리할 수도 있다. 예를 들어, 특정 단말기 종류에만 사용될 수 있는 애플리케이션들의 경우, 백업 복구하더라도 복구된 단말기에서 제대로 작동하지 않을 수도 있다. 이러한 특정 데이터의 경우에, 블랙 리스트로 관리하여 백업 대상의 예외로 선택할 수도 있다. 이러한 블랙 리스트의 경우에 메모리 (160) 에 저장될 수 있다. 또한, 제어부 (180) 는 자동으로 블랙 리스트에 해당하는 데이터들을 판단하여 관리할 수도 있다. 하지만, 블랙 리스트로 관리되더라도, 블랙 리스트에 해당하는 애플리케이션에 대한 요약 정보는 저장할 수도 있다.
또한, 백업 복구 애플리케이션과 관련하여, 반드시 백업해야할 대상을 화이트 리스트 (whitelist) 로 관리할 수도 있다. 따라서, 화이트 리스트로 관리되는 데이터, 예를 들어 애플리케이션의 경우, 사용자가 백업의 대상으로 삼지 않더라도 자동으로 백업할 수도 있다.
백업 동작을 수행한 이후에 백업 복구 애플리케이션은 복구 과정을 수행한다 (S540).
복구 과정과 관련하여, 필요한 경우에, 백업 복구 애플리케이션은 백업 복구 서비스를 통한 루트 권한을 이용하여 과정을 수행할 수 있다.
도 7 은 백업 복구 애플리케이션을 통한 복구 동작과 관련된 구체적 경우를 표시한 도면이다.
본 발명과 관련하여 복구 과정 수행 단계 (S540) 는 도 7 과 같은 세부적 단계로 구성된다.
먼저, 백업 복구 애플리케이션은 기본적 복구 동작을 수행한다 (S710). 기본적 복구 동작과 관련하여, 백업 복구 애플리케이션은 루트 권한을 가진 백업 복구 서비스를 이용하여 정보를 복구할 수 있다.
백업 복구 애플리케이션은 복구 동작과 관련된 인디케이터 창을 표시할 수 있다 (S720). 이후에, 백업 복구 애플리케이션은 크게는 4 가지 경우를 복구 에러 로 판단할 수 있으며, 각각의 복구 에러에 대해서 복구 동작을 수행할 수 있다. 복구 에러로 규정되는 경우는 1) 복구 과정에서 특정한 애플리케이션이 없는 경우 (S730), 2) 복구 과정에서 특정 애플리케이션의 상위 버전이 존재하는 경우 (S740), 3) 복구 과정에서 동일한 버전의 애플리케이션이 이미 설치된 경우 (S750), 4) 특정 단말기에서 동작하지 않는 애플리케이션이 존재하는 경우 (S760) 로 구분될 수 있다.
먼저, 복구 과정에 대한 인디케이터 창 표시와 관련하여 도 8 을 참조하여 설명한다.
도 8 은 복구 동작과 관련한 인디케이터 창을 표시하는 도면이다.
도 8(a) 와 관련하여, 디스플레이부 (151) 는 백업 복구 동작을 수행 여부를 사용자에게 문의하는 창을 표시할 수도 있다. 백업 복구 동작 수행과 관련하여 단말기 (100) 는 사용자의 선택에 따라서 백업 또는 복구 동작을 개시할 수 있으며, 이는 사용자의 선택에 따르는 것으로, 이와 관련된 사용자의 의사를 문의할 수도 있다.
도 8(b) 와 관련하여, 디스플레이부 (151) 는 백업 복구 애플리케이션을 구동하여 복구 동작을 개시한 경우에 표시되는 인디케이터 창 (820) 을 표시할 수 있다.
복구 동작과 관련된 인디케이터 창 (820) 은 복구 과정이 수행되는 동안 계속적으로 표시될 수도 있고, 복구 동작이 완료된 경우에 한하여 표시될 수도 있다.
인디케이터 창 (820) 은 백업 복구 애플리케이션의 복구 대상인 데이터들의 복구 결과 또는 복구 상태에 대해서 표시할 수 있다. 예를 들어, 복구 결과 완료, 복구 준비중, 복구 실패, 부분 복구 완료, 설치 필요 등 다양한 복구 상태를 표시할 수 있다.
도 8(b) 에 도시된 인디케이터 창 (820) 을 살펴보면, 예를 들어, A 애플리케이션 (831) 에 대한 복구 과정이 80 % 진행 중임을 표시하며, B 애플리케이션 (832) 또는 D 애플리케이션 (834) 에 대해서는 복구 과정이 완료되었음을 표시한다. 또한, C 애플리케이션 (833) 에 대해서는 복구가 실패했음을 표시할 수 있다. 다른 상태로, 복구 준비 중인 경우, 또는 설치가 필요한 경우가 존재할 수도 있다.
인디케이터 창 (820) 에 표시된 여러 애플리케이션 또는 데이터 각각을 선택할 경우에 각각의 애플리케이션 또는 데이터에 대한 정보를 표시할 수 있다. 예를 들어, 인디케이터 창 (820) 에 표시된 E 애플리케이션 (835) 을 선택하는 경우에 E 애플리케이션의 어떠한 부분이 복구되었고, 어떠한 부분이 복구가 되지 않았는 지에 대해서 상세한 정보를 추가적으로 표시할 수도 있다.
이하에서는, 복구 에러로 규정된 4 가지 세부적 동작에 대해서 도 9 내지 12 를 참조하여 설명한다.
복구 과정에 있어서, 백업 당시의 단말기의 환경과 복구 당시의 단말기의 환경이 상이할 수 있기 때문에, 다음과 같은 세부적 동작을 본 발명을 수행할 수 있다.
먼저, 첫번째 복구 에러로 복구 과정에서 특정 애플리케이션이 부존재한 경우 (S730) 에 대해서 도 9 와 관련하여 설명한다.
복구 과정에서 특정 애플리케이션이 설치되지 않은 경우에 특정 애플리케이션에 대한 애플리케이션 세부 정보를 복구할 수 없는 문제점이 존재한다. 따라서, 본 발명은 복구 과정에서 특정 애플리케이션이 부존재하는 경우에 다음과 같은 절차를 수행한다.
먼저, 특정 애플리케이션이 부존재하는 경우에 대해서 설명한다.
도 9(a) 를 참조하면, 특정 애플리케이션이 부존재하는 경우에 제어부 (180) 는 디스플레이부 (151) 를 통하여 부존재하는 특정 애플리케이션을 설치할 것인지 에 대해서 사용자에게 문의할 수 있다 (S732). 디스플레이부 (151) 는 문의 창 (910) 을 통하여 사용자의 의사를 물을 수 있다.
제어부 (180) 는 문의 창 (910) 을 통하여 해당 애플리케이션에 대한 설치 여부에 대한 사용자의 동의가 존재하는 지를 확인한다 (S734).
도 9(b) 를 참조하면, 사용자가 설치할 것을 동의한 경우 (S736) 에 백업 복구 애플리케이션은 무선 통신부 (110) 를 통하여 외부 서버를 통하여 해당 애플리케이션을 설치할 수 있다. 여기에서 외부 서버는 안드로이드 마켓과 같은 애플리케이션들을 전달할 수 있는 서버를 의미한다.
한편, 백업 복구 애플리케이션은 해당 애플리케이션이 외부 서버로부터 설치된 경우에, 설치가 완료되는 시점에 해당 애플리케이션에 대한 애플리케이션 세부 정보를 복구할 수 있다.
도 9(c) 를 참조하면, 사용자가 설치하지 않을 것으로 선택한 경우 (S738) 에 백업 복구 애플리케이션은 표시 창 (820) 으로부터 해당 애플리케이션에 대한 정보를 삭제한다. 도 8(b) 에 도시된 표시 창 (820) 과 비교할 때, 도 9(c) 에 도시된 표시 창 (820) 은 설치가 필요했던 F 애플리케이션 (837) 이 삭제된 것으로 도시된다.
다음으로, 두번째 복구 에러로 복구 과정에서 특정 애플리케이션의 상위 버전이 존재하는 경우 (S740) 에 대해서 설명한다.
도 10 과 관련하여, 복구 과정에서 단말기에 설치된 특정 애플리케이션의 버전이 복구하려는 버전보다 상위 버전인 경우에 대해서 백업 복구 애플리케이션은 다음과 같은 절차를 진행한다.
도 10(a) 에서, 필요한 경우에 백업 복구 애플리케이션은 표시창 (1010) 을 통하여 특정 애플리케이션의 현재 단말기에 설치된 버전이 복구할 버전보다 최신임을 알릴 수 있다.
이 경우에, 원칙적으로, 현재 단말기에 설치된 버전이 최신 버전이므로, 복구할 애플리케이션의 버전으로 복구하지 않는다. 다만, 해당 특정 애플리케이션이 화이트 리스트에 해당되는 애플리케이션인 경우에는 취급을 달리할 수 있다.
도 10(b) 를 참조하면, 디스플레이부 (151) 는 화이트 리스트 (1020) 를 표시한다. 여기에서, 화이트 리스트는 상기 설명한 바와 같이, 백업 과정에서 반드시 백업해야할 대상으로 분류되는 것으로, 복구 과정에서도 복구되어야 하는 대상이다. 도면에서, B 애플리케이션의 경우 화이트 리스트에 해당된다.
도 10(c) 를 참조하면, 화이트 리스트로 분류된 데이터 또는 애플리케이션에 있어서 최신 버전이 단말기에 설치된 경우에는 해당 애플리케이션의 애플리케이션 세부 정보를 복구할 수 있다 (S744). 즉, 애플리케이션 자체는 버전이 상위 버전이므로 복구하지 않지만, 애플리케이션에 대한 애플리케이션 세부 정보는 화이트 리스트에 한하여 복구할 수 있다.
한편, 화이트 리스트에는 애플리케이션의 상위 버전과 호환성이 검증된 애플리케이션에 한하여 등록되도록 설정될 수도 있다.
그 다음으로, 3 번째 복구 에러로 복구 과정에서 특정 애플리케이션의 동일 버전이 이미 설치된 경우 (S750) 에 대해서 설명한다.
해당 복구 과정에 있어서, 단말기 (100) 에 동일한 버전으로 동일한 애플리케이션이 설치된 경우에는 굳이 애플리케이션을 재설치하는 과정을 거칠 필요가 없다. 따라서, 이 경우에는 애플리케이션에 대한 애플리케이션 세부 정보에 한하여 복구 여부를 결정하는 것이 요구된다.
도 11(a) 를 참조하면, 백업 복구 애플리케이션은 동일한 버전에 대해서 동일한 애플리케이션 이미 단말기에 설치되었음을 디스플레이부 (151) 를 통해서 표시할 수 있다.
이 경우에, 백업 복구 애플리케이션은 해당 애플리케이션에 대한 애플리케이션 세부 정보만을 복구할 수 있으며, 이러한 복구 과정에 대해서 사용자에게 문의할 수도 있다. 도 11(b) 를 참조하면, 애플리케이션 세부 정보를 오버라이트하는 것에 대해서 사용자에게 문의하는 동작을 도시하며, 사용자가 동의하는 경우에 한하여 오바라이트를 통하여 애플리케이션 세부 정보를 단말기에 복구할 수 있다.
마지막으로, 4 번째 복구 에러로 특정 단말기에서 동작하지 않는 애플리케이션이 존재하는 경우 (S760) 에 대해서 설명한다.
단말기의 데이터를 백업 복구 하는 경우에 있어서, 백업 이전의 단말기에서는 정상적으로 작동하던 애플리케이션이 복구 이후의 단말기에서는 작동하지 않을 수도 있다. 예를 들어, 동일한 단말기라도 운용 시스템의 버전 변동, 또는 애플리케이션의 버전 변동이 있는 경우에 정상적으로 작동하지 않을 수 있으며, 특정 단말기의 데이터를 다른 단말기에 복구하려는 경우에도 정상적으로 작동하지 않을 수도 있다. 구체적인 예로, 애플리케이션 DRM (Digital Rights Management) 가 걸려있는 애플리케이션의 경우, 다른 단말기에서는 동작하지 않을 수도 있다.
따라서, 본 발명에서는, 특정 단말기에서는 작동하지 않을 애플리케이션에 대해서 블랙리스트로 관리할 수 있다. 상기 설명한 바와 같이, 블랙리스트는 특정 단말기에 백업 복구 과정에서 백업하지 말아야할 애플리케이션 또는 데이터들의 리스트를 의미한다. 따라서, 백업 복구 애플리케이션은 이렇게 블랙리스트에 해당하는 애플리케이션들은 백업 대상으로 하지 않고, 복구 대상으로 하지 않는다.
이렇게 특정 단말기에서만 작동하는 애플리케이션은 블랙리스트로 관리되지만, 백업 복구 애플리케이션에 의해서 블랙리스트에 속하는 애플리케이션의 리스트는 백업될 수 있다. 따라서, 본 발명에서, 이러한 리스트를 바탕으로 애플리케이션을 외부 서버로부터 직접 수신할 수 있다. 구체적으로, 블랙리스트에 속하는 애플리케이션들을 그대로 단말기에 복구할 경우에는 DRM 등으로 인하여 작동하지 않지만, 블랙리스트에 속하는 애플리케이션들의 리스트를 바탕으로 외부 서버 (마켓) 으로부터 해당 단말기에 사용가능한 애플리케이션 버전으로 수신할 수 있다.
도 12(a) 를 참조하면, 백업 복구 애플리케이션에 의해서 블랙 리스트로 관리되는 애플리케이션들로 f 애플리케이션 (1212), calendar app (1214), Rich note app (1216) 이 표시된다.
도 12(b) 를 참조하면, 블랙 리스트에 속하는 애플리케이션에 대해서는 백업되지 않았으며, 블랙리스트에 속하는 애플리케이션들의 요약 리스트는 백업되었음을 표시창 (1220) 을 통해서 표시할 수 있다.
도 12(c) 를 참조하면, 상기 요약 리스트를 바탕으로 블랙리스트에 속하는 애플리케이션들을 해당 단말기에 적합한 버전으로 외부 서버 (마켓) 에서 수신 중임을 표시할 수 있다.
이러한 과정을 통하여 DRM 등으로 인하여 특정 단말기에서만 사용할 수 있는 애플리케이션의 경우라도, 외부 서버 (마켓) 으로부터 복구 단말기에 적합한 애플리케이션이 존재하는 경우 이를 수신하여 복구할 수 있다.
또한, 본 발명의 일실시예에 의하면, 전술한 방법은, 프로그램이 기록된 매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
상기와 같이 설명된 이동 단말기는 상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100 이동 단말기
151 무선 통신부
160 메모리
180 제어부

Claims (29)

  1. 개방형 운영 체계로 동작하는 이동 단말기에 있어서,
    상기 이동 단말기에 대한 백업 동작 및 복구 동작을 수행하는 제어부를 포함하며;
    상기 제어부는:
    백업 복구 애플리케이션 및 적어도 하나의 애플리케이션들을 구동시키는 애플리케이션 모듈; 및
    상기 이동 단말기의 기본 하드웨어 기능을 관리하며, 상기 적어도 하나의 애플리케이션들 각각에 대한 파일 시스템에 접근할 수 있는 액세스 권한을 가진 백업 복구 서비스 유닛을 포함하는 리눅스 커널(Linux Kernel) 모듈을 포함하며,
    상기 제어부는 상기 백업 복구 애플리케이션과 상기 백업 복구 서비스 유닛사이에 채널을 형성하며, 상기 채널을 형성하기 위해 상기 백업 복구 애플리케이션은 상기 이동 단말기내에서 공용 키를 백업 복구 서비스에 전달하며 상기 백업 복구 서비스는 전달된 공용 키에 응답하여 상기 이동 단말기내에서 다른 공용 키로 응답하며,
    상기 백업 복구 애플리케이션은 상기 백업 복구 서비스 유닛을 통하여 상기 적어도 하나의 애플리케이션들에 대한 파일 시스템에 접근하여, 상기 적어도 하나의 애플리케이션들 각각에 대한 데이터의 백업 및 복구 동작을 수행하는,
    이동 단말기.
  2. 제 1 항에 있어서,
    상기 개방형 운영체계는 안드로이드 OS (Operating System) 을 포함하는,
    이동 단말기.
  3. 제 1 항에 있어서,
    상기 백업 복구 서비스 유닛은 상기 이동 단말기의 초기화 과정 (init process) 에서 상기 백업 복구 서비스 유닛을 생성하기 위한 init.rc 파일에 기초하여 생성되는,
    이동 단말기.
  4. 제 3 항에 있어서,
    상기 init.rc 파일에 기초하여 채널 소켓이 생성되며,
    상기 백업 복구 애플리케이션과 상기 백업 복구 서비스 유닛은 상기 생성된 채널 소켓을 통하여 연결되는,
    이동 단말기.
  5. 제 1 항에 있어서,
    상기 백업 복구 애플리케이션은 상기 적어도 하나의 애플리케이션 및 상기 적어도 하나의 애플리케이션에 관련된 애플리케이션 세부 정보를 백업 및 복구하는,
    이동 단말기.
  6. 제 1 항에 있어서,
    상기 적어도 하나의 애플리케이션들 중 특정 애플리케이션에 대한 상기 파일 시스템은 상기 특정 애플리케이션 및 상기 백업 복구 서비스 유닛에 의해서만 접근이 허용되는,
    이동 단말기.
  7. 제 1 항에 있어서,
    상기 백업 복구 애플리케이션에 의하여 백업된 데이터들을 저장하는 메모리를 더 포함하는,
    이동 단말기.
  8. 제 1 항에 있어서,
    상기 백업 복구 애플리케이션에 의하여 백업된 데이터들을 외부 저장 서버에 전송하는 무선 통신부를 더 포함하는,
    이동 단말기.
  9. 제 1 항에 있어서,
    상기 백업 복구 애플리케이션에 대한 백업 복구 동작에 대한 진행 과정을 나타내는 인디케이터 창을 표시하는 디스플레이부를 더 포함하는,
    이동 단말기.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
KR1020120002377A 2012-01-09 2012-01-09 이동 단말기 및 그 제어방법 KR101919777B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020120002377A KR101919777B1 (ko) 2012-01-09 2012-01-09 이동 단말기 및 그 제어방법
CN201210491690.6A CN103200306B (zh) 2012-01-09 2012-11-27 移动终端及其控制方法
CN201210504625.2A CN103197991B (zh) 2012-01-09 2012-11-30 移动终端及其控制方法
EP12199112.9A EP2613260B1 (en) 2012-01-09 2012-12-21 Mobile terminal and controlling method thereof
EP12199121.0A EP2634697B1 (en) 2012-01-09 2012-12-21 Mobile terminal and controlling method thereof
US13/726,385 US9588846B2 (en) 2012-01-09 2012-12-24 Mobile terminal and controlling method thereof
US13/737,680 US9037906B2 (en) 2012-01-09 2013-01-09 Mobile terminal and controlling method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120002377A KR101919777B1 (ko) 2012-01-09 2012-01-09 이동 단말기 및 그 제어방법

Publications (2)

Publication Number Publication Date
KR20130081417A KR20130081417A (ko) 2013-07-17
KR101919777B1 true KR101919777B1 (ko) 2018-11-19

Family

ID=47632737

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120002377A KR101919777B1 (ko) 2012-01-09 2012-01-09 이동 단말기 및 그 제어방법

Country Status (4)

Country Link
US (2) US9588846B2 (ko)
EP (2) EP2613260B1 (ko)
KR (1) KR101919777B1 (ko)
CN (2) CN103200306B (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9444912B1 (en) * 2013-05-21 2016-09-13 Trend Micro Incorporated Virtual mobile infrastructure for mobile devices
KR102156140B1 (ko) * 2013-07-19 2020-09-15 엘지전자 주식회사 이동 단말기 및 이의 제어방법
KR102013373B1 (ko) * 2013-08-28 2019-08-23 삼성전자주식회사 외부 단말과의 연동을 실행하는 방법, 장치 및 기록매체
KR102109883B1 (ko) 2013-09-03 2020-05-12 삼성전자주식회사 컨텐츠 전송 방법 및 전자 장치
CN103455392B (zh) * 2013-09-18 2016-03-23 成都易我科技开发有限责任公司 一种虚拟器及跨os的数据处理系统和方法
CN103546807A (zh) * 2013-10-30 2014-01-29 乐视致新电子科技(天津)有限公司 云备份、云恢复方法及相关装置
CN103561324A (zh) * 2013-10-30 2014-02-05 乐视致新电子科技(天津)有限公司 云电视应用程序云备份的方法及装置
CN103561323A (zh) * 2013-10-30 2014-02-05 乐视致新电子科技(天津)有限公司 云电视应用程序云备份的方法和装置
CN103561176B (zh) 2013-11-07 2015-08-19 腾讯科技(深圳)有限公司 一种终端设备的通话记录获取方法、装置及终端设备
CN104636375B (zh) * 2013-11-12 2019-05-07 中兴通讯股份有限公司 一种自动备份应用数据且按需恢复的方法及装置
JP6231957B2 (ja) * 2014-08-12 2017-11-15 株式会社Nttドコモ データ復元装置及びデータ復元方法
US10284593B1 (en) * 2015-01-15 2019-05-07 EMC IP Holding Company LLC Protecting newly restored clients from computer viruses
CN106211144B (zh) * 2015-04-30 2020-06-16 华为技术有限公司 一种移动终端的通信方法及移动终端
CN104850785B (zh) * 2015-05-28 2017-12-08 成都中科创达软件有限公司 一种android安全智能辅助系统
CN105162841B (zh) * 2015-08-03 2020-07-31 广东美的环境电器制造有限公司 家用电器的控制方法和控制系统
CN105512545B (zh) * 2015-12-03 2018-07-27 小米科技有限责任公司 访问权限管理方法和装置
CN105740372B (zh) * 2016-01-27 2020-11-27 北京金山安全软件有限公司 一种数据恢复方法、装置及电子设备
US10747467B2 (en) * 2016-06-10 2020-08-18 Apple Inc. Memory management for application loading
US10520979B2 (en) 2016-06-10 2019-12-31 Apple Inc. Enhanced application preview mode
WO2018049564A1 (zh) * 2016-09-13 2018-03-22 华为技术有限公司 一种移动终端防盗方法及装置
CN106569855B (zh) * 2016-10-27 2020-08-18 北京数字天域科技有限责任公司 基于Recovery模式的应用程序控制方法以及装置
CN106502832A (zh) * 2016-11-01 2017-03-15 乐视控股(北京)有限公司 移动设备应用隐私数据备份还原方法、装置及移动设备
CN106598779B (zh) * 2016-11-15 2019-08-23 广东欧珀移动通信有限公司 一种从至少两个终端设备中恢复数据的方法和终端设备
CN108206998A (zh) * 2016-12-20 2018-06-26 北京小米移动软件有限公司 获取终端信息的方法及装置
CN107659983A (zh) * 2017-10-12 2018-02-02 上海斐讯数据通信技术有限公司 一种用户无法连接无线ap的处理方法及装置
CN107743309A (zh) * 2017-10-16 2018-02-27 深圳市汉普电子技术开发有限公司 无线密码数据的处理方法、终端设备及存储介质
CN108196977B (zh) * 2017-11-28 2021-11-26 口碑(上海)信息技术有限公司 批量数据回滚方法以及装置
CN108984339B (zh) * 2018-06-05 2022-01-04 Oppo广东移动通信有限公司 数据恢复方法及相关产品
JP7098427B2 (ja) * 2018-06-08 2022-07-11 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
KR20200014094A (ko) * 2018-07-31 2020-02-10 삼성전자주식회사 팩토리 데이터 리셋 기능에 의해 제거된 어플리케이션을 복원하는 장치 및 방법
CN109379634A (zh) * 2018-09-17 2019-02-22 四川长虹电器股份有限公司 一种基于设备驱动智能电视获取tvinfo的方法
CN109634776A (zh) * 2018-10-16 2019-04-16 平安普惠企业管理有限公司 应用恢复方法、装置、设备及存储介质
CN111062006B (zh) * 2018-10-17 2023-01-10 福建天泉教育科技有限公司 一种安卓系统的管控方法及终端
CN113194121B (zh) * 2021-04-15 2023-04-18 许家源 电子设备间的文件备份方法
US11403072B1 (en) 2021-08-10 2022-08-02 Bank Of America Corporation Mobile application development device
US11748075B2 (en) 2021-08-10 2023-09-05 Bank Of America Corporation Two-phase application development device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080114855A1 (en) * 2006-11-15 2008-05-15 Bharat Welingkar Over-the-air device services and management
US20080307175A1 (en) * 2007-06-08 2008-12-11 David Hart System Setup for Electronic Backup
US20090041230A1 (en) * 2007-08-08 2009-02-12 Palm, Inc. Mobile Client Device Driven Data Backup

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002152821A (ja) * 2000-11-08 2002-05-24 Nec Saitama Ltd 携帯端末装置のプログラム更新方法および携帯端末装置
CN1156763C (zh) * 2001-04-29 2004-07-07 北京瑞星科技股份有限公司 硬盘数据保护与恢复方法
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US7584225B2 (en) * 2003-11-10 2009-09-01 Yahoo! Inc. Backup and restore mirror database memory items in the historical record backup associated with the client application in a mobile device connected to a communion network
TWI248579B (en) * 2003-12-04 2006-02-01 Wistron Corp Method and system for restoring backup data
US7334157B1 (en) * 2004-02-26 2008-02-19 Symantec Operating Corporation Restore of data to a computer system having different hardware
US7489782B1 (en) * 2004-02-27 2009-02-10 Symantec Operating Corporation Registry restore to original hardware
CN100391291C (zh) * 2005-08-10 2008-05-28 华为技术有限公司 一种数据备份和恢复方法及其系统
US20070168721A1 (en) * 2005-12-22 2007-07-19 Nokia Corporation Method, network entity, system, electronic device and computer program product for backup and restore provisioning
US8347137B1 (en) * 2006-02-03 2013-01-01 Acronis International Gmbh System and method for bare metal restore of a computer over a network
US7937609B2 (en) * 2006-10-24 2011-05-03 International Business Machines Corporation Disaster recovery in a data processing system
US7603435B2 (en) * 2006-11-15 2009-10-13 Palm, Inc. Over-the-air device kill pill and lock
US7769990B1 (en) * 2007-03-23 2010-08-03 Symantec Corporation Using a monitoring process to update system configuration settings during restore operations
US8132186B1 (en) * 2007-03-23 2012-03-06 Symantec Corporation Automatic detection of hardware and device drivers during restore operations
US7886185B1 (en) * 2007-03-23 2011-02-08 Symantec Corporation Creation of a device database and synthesis of device driver information during dissimilar system restore
US7805631B2 (en) * 2007-05-03 2010-09-28 Microsoft Corporation Bare metal recovery from backup media to virtual machine
US8452017B2 (en) * 2007-12-21 2013-05-28 Research In Motion Limited Methods and systems for secure channel initialization transaction security based on a low entropy shared secret
US8095858B2 (en) * 2008-02-07 2012-01-10 International Business Machines Corporation File error identification, reporting, and replacement of media files
US8112664B2 (en) * 2008-03-26 2012-02-07 Symantec Operating Corporation Using volume snapshots to prevent file corruption in failed restore operations
EP2175366B1 (en) * 2008-10-08 2012-10-10 Research In Motion Limited Server for sending new application portions to mobile wireless communications devices and related methods
US8291261B2 (en) * 2008-11-05 2012-10-16 Vulcan Technologies Llc Lightweight application-level runtime state save-and-restore utility
US7996708B1 (en) * 2009-03-16 2011-08-09 Symantec Corporation Techniques for file system resource restoration
TW201035760A (en) * 2009-03-18 2010-10-01 Inventec Corp Method for backing up data of a server machine
US20110016089A1 (en) * 2009-07-16 2011-01-20 Apple Inc. Restoring data to a mobile device
CN101873640B (zh) * 2010-05-27 2013-04-24 华为终端有限公司 流量处理方法、装置和移动终端
CN101916201B (zh) * 2010-08-06 2015-05-27 中兴通讯股份有限公司 一种基于Android移动终端冷启动的方法和装置
US8359016B2 (en) * 2010-11-19 2013-01-22 Mobile Iron, Inc. Management of mobile applications
US20120216281A1 (en) * 2011-02-22 2012-08-23 PCTEL Secure LLC Systems and Methods for Providing a Computing Device Having a Secure Operating System Kernel
US9063822B2 (en) * 2011-09-02 2015-06-23 Microsoft Technology Licensing, Llc Efficient application-aware disaster recovery
CN104205114B (zh) * 2011-11-29 2018-08-07 索尼移动通信公司 用于提供安全的进程间通信的系统和方法
US8751457B2 (en) * 2012-01-01 2014-06-10 Bank Of America Corporation Mobile device data archiving

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080114855A1 (en) * 2006-11-15 2008-05-15 Bharat Welingkar Over-the-air device services and management
US20080307175A1 (en) * 2007-06-08 2008-12-11 David Hart System Setup for Electronic Backup
US20090041230A1 (en) * 2007-08-08 2009-02-12 Palm, Inc. Mobile Client Device Driven Data Backup

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Manuel Di Cerbo 외 1명. Using Android in Industrial Automation, University of Applied Sciences Northwestern Switzerland School of Engineering, 2010.01.29.

Also Published As

Publication number Publication date
EP2613260B1 (en) 2016-03-02
CN103200306A (zh) 2013-07-10
EP2613260A2 (en) 2013-07-10
EP2613260A3 (en) 2014-12-03
CN103197991A (zh) 2013-07-10
CN103197991B (zh) 2018-04-17
EP2634697A3 (en) 2014-05-21
EP2634697A2 (en) 2013-09-04
EP2634697B1 (en) 2015-06-17
US9588846B2 (en) 2017-03-07
CN103200306B (zh) 2017-05-24
KR20130081417A (ko) 2013-07-17
US20130191686A1 (en) 2013-07-25
US20130179403A1 (en) 2013-07-11
US9037906B2 (en) 2015-05-19

Similar Documents

Publication Publication Date Title
KR101919777B1 (ko) 이동 단말기 및 그 제어방법
KR101761615B1 (ko) 이동 단말기 및 그 제어 방법
CN109416658B (zh) 在空中固件更新期间的容错变量区域重新铺设
KR101727041B1 (ko) 이동 단말기 및 그 제어 방법
KR101725247B1 (ko) 이동 단말기 및 이것의 모드 제어 방법
KR101660742B1 (ko) 이동 단말기 및 그 제어방법
KR101229752B1 (ko) 이동 단말기 및 이동 단말기의 제어 방법
KR101781859B1 (ko) 이동 단말기 및 이것의 정보 관리 방법
KR101679349B1 (ko) 이동 단말기, 그 구동 방법 및 식별 모듈 카드
CN109416657B (zh) 在空中固件更新期间的容错变量区域重新铺设
US10042596B2 (en) Electronic device and method for controlling the same
KR20120022131A (ko) 이동 단말기 및 이동 단말기의 아이콘 관리 방법
KR101749612B1 (ko) 이동 단말기
KR101595618B1 (ko) 단말기, 그 동작 방법 및 서버 장치
KR20120091551A (ko) 이동 단말기 및 그 제어 방법
CN108475367B (zh) 用于显示支付方式的指示的方法和装置
KR20130113811A (ko) 이동 단말기 및 그것을 이용한 애플리케이션 관리 시스템
KR20140094930A (ko) 이동 단말기
CN111737680B (zh) 应用程序授权方法、装置和计算机设备
KR101781962B1 (ko) 이동 단말기 및 그 구동 방법
KR20130084795A (ko) 이동 단말기 및 그 제어방법
KR20140005480A (ko) 단말기 및 그 제어 방법

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