KR20090103214A - Method of partial upgrade of handheld terminal software with partial patch and handheld terminal performing the same - Google Patents

Method of partial upgrade of handheld terminal software with partial patch and handheld terminal performing the same

Info

Publication number
KR20090103214A
KR20090103214A KR1020080028660A KR20080028660A KR20090103214A KR 20090103214 A KR20090103214 A KR 20090103214A KR 1020080028660 A KR1020080028660 A KR 1020080028660A KR 20080028660 A KR20080028660 A KR 20080028660A KR 20090103214 A KR20090103214 A KR 20090103214A
Authority
KR
South Korea
Prior art keywords
software
portable terminal
partial patch
patch
stored
Prior art date
Application number
KR1020080028660A
Other languages
Korean (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 KR1020080028660A priority Critical patent/KR20090103214A/en
Publication of KR20090103214A publication Critical patent/KR20090103214A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE: A partial upgrade method of portable terminal software using a partial patch and the portable terminal performing the same are provided to minimize a load of upgrading software in a portable terminal. CONSTITUTION: An upgrade method of portable terminal software comprises the following steps. A software partial patch is downloaded from a base station(S110). When software of a portable terminal is a target to which the software partial patch will be applied, the downloaded software partial patch is stored in a non volatile storage unit of the portable terminal(S130). The stored software partial patch is applied to a software binary code in a volatile storage unit of the portable terminal(S170).

Description

부분 패치를 이용한 휴대용 단말기 소프트웨어의 부분 업그레이드 방법 및 이를 수행하는 휴대용 단말기{METHOD OF PARTIAL UPGRADE OF HANDHELD TERMINAL SOFTWARE WITH PARTIAL PATCH AND HANDHELD TERMINAL PERFORMING THE SAME}TECHNICAL FIELD OF PARTIAL UPGRADE OF HANDHELD TERMINAL SOFTWARE WITH PARTIAL PATCH AND HANDHELD TERMINAL PERFORMING THE SAME}

본 발명은 휴대용 단말기 소프트웨어의 업그레이드 방법 및 이를 수행하는 휴대용 단말기에 관한 것으로, 더욱 상세하게는 휴대용 단말기 소프트웨어의 부분 업그레이드 방법 및 이를 수행하는 휴대용 단말기에 관한 것이다.The present invention relates to a method for upgrading portable terminal software and a portable terminal for performing the same, and more particularly, to a method for partially upgrading the portable terminal software and a portable terminal for performing the same.

최근 휴대용 단말기의 하드웨어는 급속도로 고사양으로 발전하고 있으며, 그러한 고사양을 기반으로 휴대용 단말기가 제공하는 기능도 복잡 다양해지고 있다. 그에 따라 휴대용 단말기에 탑재되는 소프트웨어의 종류와 기능도 매우 복잡 다양해지고 있으며, 소프트웨어의 오류 제거 및 기능 향상을 위한 패치의 제작 및 공급은 통상적인 후속 과정이 되고 있다.Recently, the hardware of the portable terminal is rapidly developing to high specifications, and the functions provided by the portable terminal based on such high specifications are also complicated and diverse. Accordingly, the types and functions of the software mounted on the portable terminal are also very complicated, and the production and supply of patches for error elimination and enhancement of the software is becoming a conventional follow-up process.

패치(Patch)란 컴퓨터, 휴대용 단말기 등의 전자 장치에서 사용되는 소프트웨어가 배포된 후에 각종 오류를 해결하고 기능을 개선하기 위해 발표되는 기계명령어의 열 또는 프로그램을 의미한다. 이러한 패치 작업이 제대로 이루어 지지 않는 경우 오류가 해결되지 않은 채 휴대용 단말기 등에 문제가 발생하고 그에 따라 시간상, 비용상, 보안상 손실을 초래하게 된다.A patch is a series of machine instructions or programs issued to solve various errors and improve functions after software used in electronic devices such as computers and portable terminals is distributed. If this patching process is not done properly, the problem occurs in the portable terminal without the error being resolved, resulting in time, cost and security losses.

휴대용 단말기의 사용자는 상기와 같은 손실을 막기 위해 패치를 이용하여 자신의 휴대용 단말기 소프트웨어를 업그레이드할 필요가 있다. 휴대용 단말기 소프트웨어의 업그레이드를 위하여, 통상적으로 사용자가 직접 휴대용 단말기의 서비스 센터를 방문하거나, 인터넷 통신망을 통해 휴대용 단말기의 서비스 사이트에 접속하여 해당 패치를 직접 다운로드 받아 설치하는 과정이 필요하다.The user of the portable terminal needs to upgrade his portable terminal software using a patch to prevent such losses. In order to upgrade the portable terminal software, a user typically needs to visit a service center of the portable terminal or directly access the service site of the portable terminal through an internet communication network and directly download and install the corresponding patch.

상기와 같은 번거로운 과정을 피하고 휴대용 단말기 소프트웨어의 업그레이드에 있어 사용편의성을 향상시키는 방법이 제안되고 있다. 한국공개특허 제2006-0065079호("단문메시지를 이용한 통신 단말기의 소프트웨어 업그레이드 제공 방법")는 소프트웨어 업그레이드를 위한 업그레이드 알림 단문 메시지를 생성하여 통신 단말기로 전송하고, 통신 단말기로부터 업그레이드 알림 단문 메시지에 대한 업그레이드 요청 신호를 수신하면 업그레이드 요청 신호에 대응하는 버전의 소프트웨어를 통신 단말기로 전송한다.A method of avoiding such a cumbersome process and improving the usability in upgrading the portable terminal software has been proposed. Korean Laid-Open Patent No. 2006-0065079 ("Method for providing a software upgrade of a communication terminal using a short message") generates an upgrade notification short message for software upgrade and transmits it to the communication terminal, and transmits an upgrade notification short message from the communication terminal. When the upgrade request signal is received, a version of software corresponding to the upgrade request signal is transmitted to the communication terminal.

또한 한국공개특허 제2000-0018398호("무선통신을 이용한 이동통신단말기의 소프트웨어 업그레이드방법")는 기지국으로부터 수신된 소프트웨어 데이터를 다운로딩데이터 저장유닛에 저장하고, 플래시 롬에 저장된 기존의 소프트웨어를 램(RAM)에 이동 저장한 후 다운로딩데이터 저장유닛에 저장된 다운로딩 데이터를 독출하여 플래시 롬(Flash ROM)에 업그레이드시킨다.In addition, Korean Patent Publication No. 2000-0018398 ("Software Upgrade Method of Mobile Communication Terminal Using Wireless Communication") stores software data received from a base station in a downloading data storage unit, and stores existing software stored in a flash ROM. After moving to the RAM, the downloading data stored in the downloading data storage unit is read out and upgraded to the flash ROM.

또한 한국등록특허 제10-0538627호("무선통신단말기의 소프트웨어 부분 업그레이드 방법")는 현재 무선통신단말기에 설치되어 있는 소프트웨어와 새로 업그레이드될 소프트웨어를 비교한 후 서로 다른 부분을 다운로드 하여 무선통신단말기의 소프트웨어를 업그레이드시키되, 이때 단말기에 다운로드 된 소프트웨어의 분산 로딩(단계 Scatter Loading) 파일을 수정하여 소프트웨어의 변경을 최소화한다.In addition, Korean Patent No. 10-0538627 ("How to upgrade the software part of the wireless communication terminal") compares the software currently installed in the wireless communication terminal with the new software to be upgraded to download different parts of the wireless communication terminal Upgrade the software, but at this time, modify the distributed loading (scatter loading) file of the software downloaded to the terminal to minimize the change of the software.

그러나 상기 한국공개특허 제2000-0018398호의 방법은 플래시 롬에 저장되어 있는 소프트웨어 코드 전체를 업그레이드하는 방법으로서, 소프트웨어 코드 중 일부 만에 의하여 발생하는 오류를 제거하기 위한 방법으로서는 비효율적이고, 플래시 롬은 그 특성상 지우기 및 쓰기의 횟수가 제한되어 있으므로 플래시 롬에 저장되어 있는 소프트웨어 코드에 대한 빈번한 업그레이드는 플래시 롬의 수명을 단축시키는 결과를 낳는다.However, the method of Korean Patent Laid-Open Publication No. 2000-0018398 is a method of upgrading the entire software code stored in a flash ROM, which is inefficient as a method for removing an error caused by only a part of the software code, and a flash ROM is Because of the limited number of erases and writes, frequent upgrades to software code stored in flash ROMs result in shortened flash ROM lifetimes.

또한 상기 한국등록특허 제10-0538627호는 비통전 상태에 놓이는 경우 분산 로딩 파일의 수정에 의한 램(RAM) 영역 상의 소프트웨어 업그레이드가 지워지므로 다시 소프트웨어 업그레이드를 실행하여야 하는 문제가 있다.In addition, the Korean Patent No. 10-0538627 has a problem in that the software upgrade on the RAM area by the modification of the distributed loading file is erased when it is placed in the non-energized state.

따라서 본 발명의 목적은 휴대용 단말기 소프트웨어의 업그레이드의 부담을 최소화하기 위하여 부분 패치를 이용한 휴대용 단말기 소프트웨어의 부분 업그레이드 방법 및 이를 수행하는 휴대용 단말기를 제공하는 것이다.Accordingly, an object of the present invention is to provide a partial upgrade method of portable terminal software using a partial patch and a portable terminal performing the same in order to minimize the burden of upgrading the portable terminal software.

상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 부분 패치를 이용한 휴대용 단말기 소프트웨어의 부분 업그레이드 방법은, 비휘발성 저장유닛부 및 휘발성 저장유닛부를 구비한 휴대용 단말기 소프트웨어의 업그레이드 방법에 있어서, 기지국으로부터 소프트웨어 부분 패치를 다운로드 받는 단계와, 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인 경우에 상기 다운로드 받은 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 비휘발성 저장유닛부에 저장하는 단계 및 상기 저장된 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 휘발성 저장유닛부 내의 소프트웨어 바이너리 코드에 적용하는 단계를 포함한다.Partial upgrade method of the portable terminal software using a partial patch according to an aspect of the present invention for achieving the above object of the present invention, in the upgrade method of portable terminal software having a nonvolatile storage unit and a volatile storage unit And downloading a software partial patch from a base station, and storing the downloaded software partial patch in the nonvolatile storage unit of the portable terminal when the software of the portable terminal is the application target of the downloaded software partial patch. And applying the stored software partial patch to software binary code in the volatile storage unit portion of the portable terminal.

상기 소프트웨어 부분 패치는 적어도 하나의 응용 프로그램 인터페이스 함수에 대한 소프트웨어 패치를 포함할 수 있다.The software partial patch may comprise a software patch for at least one application program interface function.

상기 소프트웨어 부분 패치는, 상기 소프트웨어 부분 패치가 적용되는, 상기 휘발성 저장유닛부 내의 블록 주소 및 상기 휘발성 저장유닛부 내의 페이지 주소 중 적어도 하나에 관한 정보를 포함할 수 있다.The software partial patch may include information regarding at least one of a block address in the volatile storage unit unit and a page address in the volatile storage unit unit to which the software partial patch is applied.

상기 기지국으로부터 소프트웨어 부분 패치를 다운로드 받는 단계는 상기 기지국으로부터 단문 메시지 서비스(Short Message Service: SMS), 멀티미디어 메시징 시스템(Multimedia Messaging System: MMS) 및 광대역 메시징 서비스(Broadband Messaging Service: BMS) 중 어느 하나를 통하여 다운로드 받을 수 있다.The step of downloading the software partial patch from the base station may include any one of a short message service (SMS), a multimedia messaging system (MMS), and a broadband messaging service (BMS). You can download it via

상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인 경우에 상기 다운로드 받은 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 비휘발성 저장유닛부에 저장하는 단계는, 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인지 판단함에 있어서, 상기 다운로드 받은 소프트웨어 부분 패치의 식별 정보와 상기 휴대용 단말기의 식별 정보를 비교하여 판단할 수 있다.When the software of the portable terminal is the application target of the downloaded software partial patch, storing the downloaded software partial patch in the nonvolatile storage unit of the portable terminal may include the downloaded software by the software of the portable terminal. In determining whether to apply the partial patch, it may be determined by comparing the downloaded identification information of the partial patch software and the identification information of the portable terminal.

이 경우 상기 다운로드 받은 소프트웨어 부분 패치의 식별 정보는 상기 다운로드 받은 소프트웨어 부분 패치가 적용될 휴대용 단말기 모델 ID 및 상기 다운로드 받은 소프트웨어 부분 패치의 버전 정보를 포함하고, 상기 휴대용 단말기의 식별 정보는 상기 휴대용 단말기의 모델 ID, 상기 휴대용 단말기의 소프트웨어 버전 정보 및 상기 휴대용 단말기에 이미 저장되어 있는 소프트웨어 부분 패치의 버전 정보를 포함할 수 있다.In this case, the identification information of the downloaded software partial patch includes a portable terminal model ID to which the downloaded software partial patch is to be applied and version information of the downloaded software partial patch, and the identification information of the portable terminal is a model of the portable terminal. It may include an ID, software version information of the portable terminal, and version information of a software partial patch already stored in the portable terminal.

이 경우 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인 경우에 상기 다운로드 받은 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 비휘발성 저장유닛부에 저장하는 단계는, 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인지 판단함에 있어서, 상기 다운로드 받은 소프트웨어 부분 패치가 적용될 휴대용 단말기 모델 ID와 상기 휴대용 단말기의 모델 ID가 일치하고, 상기 다운로드 받은 소프트웨어 부분 패치의 버전이 상기 휴대용 단말기의 소프트웨어 버전 및 상기 휴대용 단말기에 이미 저장되어 있는 소프트웨어 부분 패치의 버전보다 상위 버전인지를 판단할 수 있다.In this case, when the software of the portable terminal is the application target of the downloaded software partial patch, storing the downloaded software partial patch in the nonvolatile storage unit of the portable terminal may include downloading the software from the portable terminal. In determining whether to apply the received software partial patch, the portable terminal model ID to which the downloaded software partial patch is to be applied and the model ID of the portable terminal match, and the version of the downloaded software partial patch is the software version of the portable terminal. And a version higher than a version of the software partial patch already stored in the portable terminal.

상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인 경우에 상기 다운로드 받은 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 비휘발성 저장유닛부에 저장하는 단계는 상기 다운로드 받은 소프트웨어 부분 패치를 임베디드 파일 시스템(Embedded File System)이 인식 가능한 형태로 저장할 수 있다.When the software of the portable terminal is the application target of the downloaded software partial patch, storing the downloaded software partial patch in the nonvolatile storage unit of the portable terminal may include storing the downloaded software partial patch in an embedded file system ( Embedded File System) can be stored in a recognizable form.

상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인 경우에 상기 다운로드 받은 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 비휘발성 저장유닛부에 저장하는 단계는 상기 다운로드 받은 소프트웨어 부분 패치를 메모리 청크(Memory Chunk)의 형태로 저장할 수 있다.When the software of the portable terminal is the application target of the downloaded software partial patch, storing the downloaded software partial patch in the nonvolatile storage unit of the portable terminal may include storing the downloaded software partial patch in a memory chunk. Chunk).

상기 부분 패치를 이용한 휴대용 단말기 소프트웨어의 부분 업그레이드 방법은 상기 사용자에게 비프 음, 벨 소리, 진동 및 문자 중 적어도 하나의 형태로 상기 저장된 소프트웨어 부분 패치의 적용 여부 및 상기 저장된 소프트웨어 부분 패치의 적용 시점을 결정할 것을 통지하는 단계를 더 포함할 수 있다.The partial upgrade method of the portable terminal software using the partial patch determines whether to apply the stored software partial patch to the user in the form of at least one of a beep sound, a bell sound, a vibration, and a character, and when to apply the stored software partial patch. The method may further include the step of notifying.

상기 부분 패치를 이용한 휴대용 단말기 소프트웨어의 부분 업그레이드 방법은 상기 사용자로부터 상기 저장된 소프트웨어 부분 패치의 적용 여부를 결정하는 단계를 더 포함할 수 있다.The partial upgrade method of the portable terminal software using the partial patch may further include determining whether to apply the stored software partial patch from the user.

상기 부분 패치를 이용한 휴대용 단말기 소프트웨어의 부분 업그레이드 방법은, 상기 사용자로부터 상기 저장된 소프트웨어 부분 패치의 적용 시점을 결정하는 단계를 더 포함하되, 상기 적용 시점은 상기 휴대용 단말기의 다음 번 재기동 시, 상기 저장된 소프트웨어 부분 패치가 적용되는 소프트웨어의 다음 번 로딩 시 및 상기 다운로드 받은 소프트웨어 부분 패치가 저장되는 즉시 중 어느 하나일 수 있다.The partial upgrade method of the portable terminal software using the partial patch further includes the step of determining an application time of the stored software partial patch from the user, wherein the application time is the stored software at the next restart of the portable terminal. It may be either at the next loading of the software to which the partial patch is applied and immediately after the downloaded software partial patch is stored.

상기 저장된 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 휘발성 저장유닛부 내의 소프트웨어 바이너리 코드에 적용하는 단계는, 상기 저장된 소프트웨어 부분 패치를 상기 저장된 소프트웨어 부분 패치가 적용되는 소프트웨어의 다음 번 로딩 시 적용하되, 상기 소프트웨어가 이미 상기 휘발성 저장유닛부 내에 로딩되어 실행 중인 경우에, 상기 소프트웨어의 언로딩 및 상기 휴대용 단말기의 재기동 중 어느 하나의 동작을 수행할 수 있다.The applying of the stored software partial patch to the software binary code in the volatile storage unit of the portable terminal may include applying the stored software partial patch at the next loading of the software to which the stored software partial patch is applied. Is already loaded into the volatile storage unit and executed, the operation of either unloading the software or restarting the portable terminal can be performed.

상기 저장된 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 휘발성 저장유닛부 내의 소프트웨어 바이너리 코드에 적용하는 단계는, 상기 저장된 소프트웨어 부분 패치를 상기 다운로드 받은 소프트웨어 부분 패치가 저장되는 즉시 적용하되, 상기 소프트웨어가 이미 상기 휘발성 저장유닛부 내에 로딩되어 실행 중인 경우에, 상기 소프트웨어의 언로딩 및 상기 휴대용 단말기의 재기동 중 어느 하나의 동작을 수행할 수 있다.The applying of the stored software part patch to the software binary code in the volatile storage unit of the portable terminal may include applying the stored software part patch as soon as the downloaded software part patch is stored, but the software is already volatile. When the program is loaded and executed in the storage unit, any one of unloading the software and restarting the portable terminal may be performed.

상기 저장된 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 휘발성 저장유닛부 내의 소프트웨어 바이너리 코드에 적용하는 단계는, 상기 저장된 소프트웨어 부분 패치의 크기가 상기 적용 대상인 소프트웨어 바이너리 코드의 크기보다 큰 경우에, 상기 저장된 소프트웨어 부분 패치 중 상기 적용 대상인 소프트웨어 바이너리 코드의 크기만큼의 부분으로 상기 적용 대상인 소프트웨어 바이너리 코드를 업그레이드하고, 상기 저장된 소프트웨어 부분 패치 중 상기 적용 대상인 소프트웨어 바이너리 코드의 크기만큼을 제외한 부분을 상기 휘발성 저장유닛부 내의 빈 저장 공간에 저장할 수 있다.The applying of the stored software partial patch to the software binary code in the volatile storage unit of the portable terminal may include: when the size of the stored software partial patch is larger than the size of the software binary code to be applied, the stored software portion. Upgrade the software binary code to be applied to the portion of the patch as the size of the software binary code to be applied, and remove the portion of the stored software portion patch except the size of the software binary code to be applied to the bin in the volatile storage unit Can be stored in storage space.

상기 저장된 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 휘발성 저장유닛부 내의 소프트웨어 바이너리 코드에 적용하는 단계는, 상기 저장된 소프트웨어 부분 패치의 크기가 상기 적용 대상인 소프트웨어 바이너리 코드의 크기보다 작은 경우에, 상기 저장된 소프트웨어 부분 패치로 상기 적용 대상인 소프트웨어 바이너리 코드를 업그레이드하고, 상기 적용 대상인 소프트웨어 바이너리 코드의 저장 공간 중 상기 저장된 소프트웨어 부분 패치의 크기만큼을 제외한 부분을 널(null) 값으로 채울 수 있다.The applying of the stored software part patch to the software binary code in the volatile storage unit part of the portable terminal may include: when the size of the stored software part patch is smaller than the size of the software binary code to be applied, the stored software part. The software binary code to be applied may be upgraded with a patch, and a portion of the storage space of the software binary code to be applied may be filled with a null value except for the size of the stored software part patch.

상술한 본 발명의 목적을 달성하기 위한 본 발명의 다른 일 측면에 따른 부분 패치를 이용한 소프트웨어 부분 업그레이드 방법을 수행하는 휴대용 단말기는, 비휘발성 저장유닛부 및 휘발성 저장유닛부를 구비한 휴대용 단말기에 있어서, 기지국으로부터 적어도 하나의 응용 프로그램 인터페이스 함수에 대한 소프트웨어 부분 패치를 다운로드 받는 무선 송수신부 및 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인 경우에 상기 다운로드 받은 소프트웨어 부분 패치를 상기 비휘발성 저장유닛부에 저장하며, 상기 저장된 소프트웨어 부분 패치를 상기 휘발성 저장유닛부 내의 소프트웨어 바이너리 코드에 적용하는 제어부를 포함한다.In order to achieve the above object of the present invention, a portable terminal for performing a software partial upgrade method using a partial patch according to another aspect of the present invention includes a nonvolatile storage unit and a volatile storage unit. The non-volatile storage unit converts the downloaded software partial patch when the software of the wireless transceiver and the portable terminal to which the software partial patch for at least one application program interface function is downloaded from the base station is applied to the downloaded software partial patch. And a control unit for storing the stored software partial patch to the software binary code in the volatile storage unit unit.

상기 소프트웨어 부분 패치는 적어도 하나의 응용 프로그램 인터페이스 함수에 대한 소프트웨어 패치를 포함할 수 있다.The software partial patch may comprise a software patch for at least one application program interface function.

상기 제어부는, 상기 사용자로부터 상기 저장된 소프트웨어 부분 패치의 적용 시점을 결정하되, 상기 적용 시점은 상기 휴대용 단말기의 다음 번 재기동 시, 상기 저장된 소프트웨어 부분 패치가 적용되는 소프트웨어의 다음 번 로딩 시 및 상기 다운로드 받은 소프트웨어 부분 패치가 저장되는 즉시 중 어느 하나일 수 있다.The control unit may determine an application time of the stored software partial patch from the user, wherein the application time is the next restart of the portable terminal, at the next loading of the software to which the stored software partial patch is applied and the downloaded time. It can be either as soon as the software partial patch is saved.

상기 제어부는, 상기 저장된 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 휘발성 저장유닛부 내의 소프트웨어 바이너리 코드에 적용함에 있어서, 상기 저장된 소프트웨어 부분 패치의 크기가 상기 적용 대상인 소프트웨어 바이너리 코드의 크기보다 큰 경우에, 상기 저장된 소프트웨어 부분 패치 중 상기 적용 대상인 소프트웨어 바이너리 코드의 크기만큼의 부분으로 상기 적용 대상인 소프트웨어 바이너리 코드를 업그레이드하고, 상기 저장된 소프트웨어 부분 패치 중 상기 적용 대상인 소프트웨어 바이너리 코드의 크기만큼을 제외한 부분을 상기 휘발성 저장유닛부 내의 빈 저장 공간에 저장할 수 있다.The control unit, in applying the stored software partial patch to the software binary code in the volatile storage unit of the portable terminal, when the size of the stored software partial patch is larger than the size of the software binary code of the application target, Upgrade the software binary code to be applied to the portion of the stored software partial patches as large as the size of the software binary code, the volatile storage unit Can be stored in an empty storage space in the department.

상기와 같은 부분 패치를 이용한 휴대용 단말기 소프트웨어의 부분 업그레이드 방법 및 이를 수행하는 휴대용 단말기에 따르면, 오류를 발생시키는 소프트웨어 코드 부분만을 업그레이드함으로써 실행시간 및 저장공간 상으로 부담을 감소시킬 수 있고, 플래시 롬에 대하여 지우기 및 쓰기 동작을 수반하지 않으므로 휴대용 단말기의 소프트웨어 저장공간인 플래시 롬의 수명을 연장시킬 수 있다.According to the partial upgrade method of the portable terminal software using the partial patch as described above and the portable terminal performing the same, the burden on the execution time and storage space can be reduced by upgrading only the software code portion that causes the error, Since it does not involve erase and write operations, the lifetime of the flash ROM, the software storage space of the portable terminal, can be extended.

도 1은 본 발명의 일 실시예에 따른 부분 패치를 이용한 휴대용 단말기 소프트웨어의 부분 업그레이드 방법을 나타내는 흐름도이다.1 is a flowchart illustrating a method of partially upgrading portable terminal software using a partial patch according to an embodiment of the present invention.

도 2는 다양한 크기의 소프트웨어 부분 패치를 이용하여 소프트웨어 부분 패치 적용 대상인 소프트웨어 바이너리 코드를 업그레이드하는 방법을 나타내는 개념도이다.2 is a conceptual diagram illustrating a method of upgrading a software binary code to which a software partial patch is applied by using a software partial patch of various sizes.

도 3은 본 발명의 다른 일 실시예에 따른 부분 패치를 이용하여 휴대용 단말기 소프트웨어를 부분 업그레이드하는 휴대용 단말기를 나타내는 블록도이다.3 is a block diagram illustrating a portable terminal for partially upgrading portable terminal software using a partial patch according to another embodiment of the present invention.

* 도면의 주요부분에 대한 부호의 설명 * Explanation of symbols on the main parts of the drawings

310 : 터치 모듈부 320 : 키 입력부310: touch module unit 320: key input unit

330 : 카메라 모듈부 340 : 마이크330: camera module unit 340: microphone

350 : 제어부 360 : 저장유닛350: control unit 360: storage unit

370 : 디스플레이부 380 : 스피커370: display unit 380: speaker

390 : 무선 송수신부390: wireless transceiver

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. Hereinafter, the same reference numerals are used for the same components in the drawings, and duplicate descriptions of the same components are omitted.

도 1은 본 발명의 일 실시예에 따른 부분 패치를 이용한 휴대용 단말기 소프트웨어의 부분 업그레이드 방법을 나타내는 흐름도이다.1 is a flowchart illustrating a method of partially upgrading portable terminal software using a partial patch according to an embodiment of the present invention.

도 1을 참조하면, 기지국(Base Station: BS)으로부터 소프트웨어 부분 패치를 다운로드 받는다(단계 S110).Referring to FIG. 1, a software partial patch is downloaded from a base station (BS) (step S110).

상기 소프트웨어 부분 패치는 적어도 하나의 응용 프로그램 인터페이스 함수에 대한 소프트웨어 패치를 포함할 수 있다. 상기 응용 프로그램 인터페이스(Application Program Interface: 이하 API)는 응용 프로그램이 컴퓨터 운영체제(Operating System: OS)나 데이터베이스 관리 시스템(Database Management System: DBMS) 등 다른 프로그램의 기능을 이용할 수 있도록 한 인터페이스를 의미한다. 상기 휴대용 단말기의 소프트웨어는 상기 적어도 하나의 API 명령어를 포함하는 적어도 하나의 함수를 포함하고, 상기 함수를 이하 API 함수라 한다.The software partial patch may comprise a software patch for at least one application program interface function. The application program interface (API) refers to an interface that allows an application program to use functions of other programs such as a computer operating system (OS) or a database management system (DBMS). The software of the portable terminal includes at least one function including the at least one API instruction, which is hereinafter referred to as an API function.

상기 소프트웨어 부분 패치는 상기 휴대용 단말기의 특정 소프트웨어에 포함되는 특정 API 함수에 대한 패치를 포함할 수 있다. 상기 소프트웨어 부분 패치의 적용 대상인 상기 특정 API 함수는 휘발성 저장유닛부(367) 내의 특정 블록 주소 또는 특정 페이지 주소에 해당하는 저장공간에 저장되어 있다. 상기 소프트웨어 부분 패치는, 상기 소프트웨어 부분 패치가 적용되는, 상기 휘발성 저장유닛부(367) 내의 상기 특정 블록 주소 또는 상기 특정 페이지 주소를 포함할 수 있다. The software partial patch may include a patch for a specific API function included in specific software of the portable terminal. The specific API function to which the software partial patch is applied is stored in a storage space corresponding to a specific block address or a specific page address in the volatile storage unit 367. The software partial patch may include the specific block address or the specific page address in the volatile storage unit 367 to which the software partial patch is applied.

상기 휘발성 저장유닛부(367)는 적어도 하나의 휘발성 기억장치(Volatile Memory)를 구비할 수 있다. 상기 휘발성 기억장치는 에스디램(단계 Synchronous Dynamic RAM: SDRAM) 및 에스램(단계 Static Random Access Memory: SRAM) 중 하나일 수 있다. 비휘발성 저장유닛부(361)에 저장된 소프트웨어 코드는 상기 휴대용 단말기의 운영체제에 의하여 상기 휘발성 저장유닛부(367)에 로딩되어 실행될 수 있다.The volatile storage unit unit 367 may include at least one volatile memory. The volatile memory device may be one of an synchronous DRAM (SDRAM) and an synchronous RAM (SRAM). The software code stored in the nonvolatile storage unit 361 may be loaded and executed in the volatile storage unit 367 by an operating system of the portable terminal.

상기 비휘발성 저장유닛부(361)는 적어도 하나의 비휘발성 기억장치(Non-Volatile Memory)를 구비할 수 있다. 상기 비휘발성 기억장치는 상기 휴대용 단말기의 구동 및 기능을 담당하는 소프트웨어 코드 및 상기 소프트웨어 부분 패치를 저장할 수 있다.The nonvolatile storage unit 361 may include at least one non-volatile memory. The nonvolatile memory device may store software code and a software partial patch for driving and functioning the portable terminal.

스캐터 로딩(Scatter Loading)을 통하여 소프트웨어 바이너리 코드를 오브젝트 코드(Object Code) 등의 단위로 상기 휘발성 저장유닛부 내의 특정 주소에 로딩시킬 수 있다. API 함수마다 별개의 오브젝트 코드를 생성하고 링커(Linker) 옵션을 조절함으로써 하나의 API 함수를 하나 이상의 정수 개의 블록 또는 페이지에 대응시킬 수 있다.Through scatter loading, the software binary code may be loaded to a specific address in the volatile storage unit in units of an object code or the like. By creating a separate object code for each API function and adjusting the linker options, one API function can be mapped to one or more integer blocks or pages.

상기 블록(Block)은 같은 크기로 나누어진 물리적 저장 공간의 최소 단위를 의미하고, 상기 페이지(Page)는 같은 크기로 나누어진 주소 공간의 최소 단위를 의미한다. 한 페이지는 512 바이트(Byte) 또는 2048 바이트의 크기를 가질 수 있다. 예를 들어, 8K의 주소 공간과 4K의 물리적 저장 공간을 갖는 저장장치의 경우, 1K 워드의 크기로 나눈다면 8개의 페이지와 4개의 블록으로 구성될 수 있다. 주어진 4개 이내의 페이지가 4개의 블록 중 하나에 대응될 수 있다.The block means the minimum unit of the physical storage space divided into the same size, and the page means the minimum unit of the address space divided into the same size. One page may have a size of 512 bytes or 2048 bytes. For example, a storage device having an 8K address space and a 4K physical storage space may be divided into eight pages and four blocks divided by the size of 1K word. Given within four pages may correspond to one of the four blocks.

상기 기지국으로부터 단문 메시지 서비스(단계 Short Message Service: 이하 SMS), 멀티미디어 메시징 시스템(Multimedia Messaging System: 이하 MMS) 및 광대역 메시징 서비스(Broadband Messaging Service: 이하 BMS) 중 어느 하나를 통하여 적어도 하나의 API 함수에 대한 소프트웨어 부분 패치를 다운로드 받을 수 있다.From the base station to at least one API function through any one of a short message service (SMS), a multimedia messaging system (MMS) and a broadband messaging service (BMS). You can download a partial patch for the software.

다음으로 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인지 판단한다(단계 S120). 이 경우 상기 다운로드 받은 소프트웨어 부분 패치의 식별 정보와 상기 휴대용 단말기의 식별 정보를 비교할 수 있다.Next, it is determined whether the software of the portable terminal is the application target of the downloaded software partial patch (step S120). In this case, identification information of the downloaded software partial patch may be compared with identification information of the portable terminal.

상기 다운로드 받은 소프트웨어 부분 패치의 식별 정보는 상기 다운로드 받은 소프트웨어 부분 패치가 적용될 휴대용 단말기 모델 ID 및 상기 다운로드 받은 소프트웨어 부분 패치의 버전 정보를 포함할 수 있다.The identification information of the downloaded software partial patch may include a portable terminal model ID to which the downloaded software partial patch is to be applied and version information of the downloaded software partial patch.

상기 휴대용 단말기의 식별 정보는 상기 휴대용 단말기의 모델 ID, 상기 휴대용 단말기의 소프트웨어 버전 정보 및 상기 휴대용 단말기에 이미 저장되어 있는 소프트웨어 부분 패치의 버전 정보를 포함할 수 있다.The identification information of the portable terminal may include a model ID of the portable terminal, software version information of the portable terminal, and version information of a software partial patch already stored in the portable terminal.

상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인지 판단함에 있어서, 상기 다운로드 받은 소프트웨어 부분 패치가 적용될 휴대용 단말기 모델 ID와 상기 휴대용 단말기의 모델 ID가 일치하고, 상기 다운로드 받은 소프트웨어 부분 패치의 버전이 상기 휴대용 단말기의 소프트웨어 버전 및 상기 휴대용 단말기에 이미 저장되어 있는 소프트웨어 부분 패치의 버전보다 상위 버전인지를 판단할 수 있다.In determining whether the software of the portable terminal is the application target of the downloaded software partial patch, the portable terminal model ID to which the downloaded software partial patch is to be applied and the model ID of the portable terminal coincide with each other. It may be determined whether the version is higher than the software version of the portable terminal and the version of the software partial patch already stored in the portable terminal.

예를 들어, 상기 다운로드 받은 소프트웨어 부분 패치의 버전이 1.2이고, 상기 휴대용 단말기의 소프트웨어 버전이 1.0이며, 상기 휴대용 단말기에 이미 저장되어 있는 소프트웨어 부분 패치의 버전이 1.1인 경우에 상기 휴대용 단말기의 소프트웨어에 상위 다운로드 받은 소프트웨어 부분 패치가 적용된다.For example, when the downloaded version of the software partial patch is 1.2, the software version of the portable terminal is 1.0, and the version of the software partial patch already stored on the portable terminal is 1.1, Top downloaded software part patches are applied.

또한, 상기 다운로드 받은 소프트웨어 부분 패치의 버전이 1.1이고, 상기 휴대용 단말기의 소프트웨어 버전이 1.0이며, 상기 휴대용 단말기에 이미 저장되어 있는 소프트웨어 부분 패치의 버전이 1.2인 경우에 상기 휴대용 단말기의 소프트웨어에 상위 다운로드 받은 소프트웨어 부분 패치가 적용되지 않는다.In addition, when the downloaded software partial patch version is 1.1, the software version of the portable terminal is 1.0, and the version of the software partial patch already stored in the portable terminal is 1.2, the upper level is downloaded to the software of the portable terminal. The software partial patch you received is not applied.

다음으로 상기 판단 결과 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인 경우에 상기 다운로드 받은 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 비휘발성 저장유닛부에 저장한다(단계 S130). 이 경우 상기 다운로드 받은 소프트웨어 부분 패치를 임베디드 파일 시스템(Embedded File System: 이하 EFS)이 인식 가능한 형태 또는 메모리 청크의 형태로 저장할 수 있다.Next, when the software of the portable terminal is the application target of the downloaded software partial patch, the downloaded software partial patch is stored in the nonvolatile storage unit of the portable terminal (step S130). In this case, the downloaded software partial patch may be stored in a form recognized by an embedded file system (hereinafter referred to as EFS) or a memory chunk.

상기 EFS는 RAM Disk, RAMFS, CRAMFS(Compressed RAM File System), JFFS2(Journaling Flash File Systems), NFS(Network File System) 및 PROC File System 중 적어도 하나일 수 있다.The EFS may be at least one of a RAM Disk, a RAMFS, a Compressed RAM File System (CRAMFS), a Journaling Flash File Systems (JFFS2), a Network File System (NFS), and a PROC File System.

상기 메모리 청크(Memory Chunk)란, 내용을 파악하기 위하여 별도의 파싱(Parsing)이 요구되지 않는, 최소한의 헤더(Header)만을 포함한 미가공(Raw) 바이너리 코드의 덩어리를 의미한다.The memory chunk refers to a chunk of raw binary code including only a minimum of headers, which does not require separate parsing to grasp contents.

상기 소프트웨어 부분 패치의 저장이 완료된 후, 상기 사용자에게 비프 음, 벨 소리, 진동 및 문자 중 적어도 하나의 형태로 상기 저장된 소프트웨어 부분 패치의 적용 여부 및 상기 저장된 소프트웨어 부분 패치의 적용 시점을 결정할 것을 사용자에게 통지할 수 있다(단계 S140). 상기 적용 시점은 후술하는 바와 같다.After the storage of the software partial patch is completed, the user is asked to determine whether to apply the stored software partial patch in at least one of beep sound, ring tone, vibration, and text and when to apply the stored software partial patch. A notification can be made (step S140). The application point is as described later.

상기 소프트웨어 부분 패치의 저장이 완료되거나(단계 S130), 상기 저장된 소프트웨어 부분 패치의 적용 여부 및 적용 시점을 결정할 것을 사용자에게 통지한(단계 S140) 후, 상기 사용자로부터 상기 저장된 소프트웨어 부분 패치의 적용 여부를 결정할 수 있다(단계 S150).After the storage of the software partial patch is completed (step S130) or the user is informed to determine whether to apply the stored software partial patch and when to apply (step S140), whether or not to apply the stored software partial patch from the user Can be determined (step S150).

상기 사용자로부터 상기 저장된 소프트웨어 부분 패치의 적용이 허가되는 경우에 상기 사용자로부터 상기 저장된 소프트웨어 부분 패치의 적용 시점을 결정할 수 있다(단계 S160). 상기 적용 시점은 상기 휴대용 단말기의 다음 번 재기동 시, 상기 저장된 소프트웨어 부분 패치가 적용되는 소프트웨어의 다음 번 로딩 시 및 상기 다운로드 받은 소프트웨어 부분 패치가 저장되는 즉시 중 어느 하나일 수 있다.When the application of the stored software partial patch is permitted from the user, an application time point of the stored software partial patch may be determined from the user (step S160). The application time point may be any one of the next restart of the portable terminal, the next loading of the software to which the stored software partial patch is applied, and immediately after the downloaded software partial patch is stored.

다음으로 상기 저장된 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 휘발성 저장유닛부 내의 소프트웨어 바이너리 코드에 적용한다(단계 S170).Next, the stored software partial patch is applied to the software binary code in the volatile storage unit of the portable terminal (step S170).

구체적으로, 상기 휴대용 단말기의 재기동(Reset) 시 부트로더(Boot Loader, Boot Code) 또는 운영체제에 의하여, 상기 비휘발성 저장유닛부에 저장되어 있는, 상기 소프트웨어 부분 패치의 적용 대상인 소프트웨어 바이너리 코드가 로딩될 수 있다. 이 경우 상기 적용 대상인 소프트웨어 바이너리 코드는 상기 소프트웨어 부분 패치의 내용으로 대체되어 상기 휘발성 저장유닛부로 로딩될 수 있다.Specifically, the software binary code applied to the software partial patch stored in the nonvolatile storage unit may be loaded by a boot loader or an operating system when the portable terminal is reset. Can be. In this case, the software binary code to be applied may be replaced with the contents of the software partial patch and loaded into the volatile storage unit.

또는, 상기 저장된 소프트웨어 부분 패치가 적용되는 소프트웨어의 다음 번 로딩 시, 상기 적용 대상인 소프트웨어 바이너리 코드는 상기 소프트웨어 부분 패치의 내용으로 대체되어 상기 휘발성 저장유닛부로 로딩될 수 있다.Alternatively, at the next loading of the software to which the stored software partial patch is applied, the software binary code to be applied may be replaced with the contents of the software partial patch and loaded into the volatile storage unit.

또는, 상기 다운로드 받은 소프트웨어 부분 패치가 저장되는 즉시, 상기 적용 대상인 소프트웨어 바이너리 코드는 상기 소프트웨어 부분 패치의 내용으로 대체되어 상기 휘발성 저장유닛부로 로딩될 수 있다.Alternatively, as soon as the downloaded software partial patch is stored, the software binary code to be applied may be replaced with the contents of the software partial patch and loaded into the volatile storage unit.

상기 저장된 소프트웨어 부분 패치를 상기 저장된 소프트웨어 부분 패치가 적용되는 소프트웨어의 다음 번 로딩 시 또는 상기 다운로드 받은 소프트웨어 부분 패치가 저장되는 즉시 적용하는 경우에, 상기 적용 대상인 소프트웨어가 이미 상기 휘발성 저장유닛부 내에 로딩되어 실행 중이면, 상기 적용 대상인 소프트웨어의 언로딩(Unloading) 및 상기 휴대용 단말기의 재기동 중 어느 하나의 동작을 수행할 수 있다.When the stored software partial patch is applied at the next loading of the software to which the stored software partial patch is applied or immediately after the downloaded software partial patch is stored, the applied software is already loaded into the volatile storage unit. If it is running, any one of unloading the software to be applied and restarting the portable terminal may be performed.

상기 휴대용 단말기의 운영체제는, 상기 적용 대상인 소프트웨어가 이미 상기 휘발성 저장유닛부 내에 로딩되어 실행 중인 경우에, 상기 적용 대상인 소프트웨어의 동작을 정지시키고 상기 휘발성 저장유닛부로부터 언로딩할 수 있다.The operating system of the portable terminal may stop the operation of the software to be applied and unload it from the volatile storage unit when the software to be applied is already loaded and executed in the volatile storage unit.

또는, 상기 휴대용 단말기의 운영체제는, 상기 적용 대상인 소프트웨어의 동작의 정지 또는 상기 휘발성 저장유닛부로부터의 언로딩이 가능하지 않은 경우 상기 휴대용 단말기의 재기동을 수행할 수 있다.Alternatively, the operating system of the portable terminal may restart the portable terminal when the operation of the software that is the application target or the unloading from the volatile storage unit is not possible.

상기 저장된 소프트웨어 부분 패치의 크기가 상기 적용 대상인 소프트웨어 바이너리 코드의 크기보다 큰 경우에, 상기 저장된 소프트웨어 부분 패치 중 상기 적용 대상인 소프트웨어 바이너리 코드의 크기만큼의 부분으로 상기 적용 대상인 소프트웨어 바이너리 코드를 업그레이드하고, 상기 저장된 소프트웨어 부분 패치 중 상기 적용 대상인 소프트웨어 바이너리 코드의 크기만큼을 제외한 부분을 상기 휘발성 저장유닛부 내의 빈 저장 공간에 저장할 수 있다.If the size of the stored software partial patch is larger than the size of the software binary code to be applied, the software binary code to be upgraded is upgraded to a portion equal to the size of the software binary code to be applied among the stored software partial patches. A portion of the stored software portion patch except for the size of the software binary code that is the application target may be stored in an empty storage space in the volatile storage unit.

상기 저장된 소프트웨어 부분 패치의 크기가 상기 적용 대상인 소프트웨어 바이너리 코드의 크기보다 작은 경우에, 상기 저장된 소프트웨어 부분 패치로 상기 적용 대상인 소프트웨어 바이너리 코드를 업그레이드하고, 상기 적용 대상인 소프트웨어 바이너리 코드의 저장 공간 중 상기 저장된 소프트웨어 부분 패치의 크기만큼을 제외한 부분을 널(null) 값으로 채울 수 있다.If the size of the stored software partial patch is smaller than the size of the software binary code to which the application target is applied, upgrade the software binary code to which the application target is applied with the stored software partial patch, and the stored software in the storage space of the software binary code to which the application target is applied. You can fill parts with null values except for the size of the partial patch.

도 2는 다양한 크기의 소프트웨어 부분 패치를 이용하여 소프트웨어 부분 패치 적용 대상인 소프트웨어 바이너리 코드를 업그레이드하는 방법을 나타내는 개념도이다. 이하 설명의 간소화를 위해 상기 소프트웨어 부분 패치 적용 대상인 소프트웨어 바이너리 코드의 크기는 상기 휘발성 저장유닛부(367)의 단위 블록 또는 단위 페이지의 크기와 일치한다고 본다.2 is a conceptual diagram illustrating a method of upgrading a software binary code to which a software partial patch is applied by using a software partial patch of various sizes. For the sake of simplicity, the size of the software binary code to which the software partial patch is applied corresponds to the size of the unit block or the unit page of the volatile storage unit 367.

도 2를 참조하면, 상기 휘발성 저장유닛부(367) 내의 3번 블록 또는 10번 페이지에 적용되는 소프트웨어 부분 패치의 크기는 상기 적용 대상인 소프트웨어 바이너리 코드의 저장공간의 크기와 동일하다. 예를 들어, 상기 소프트웨어 부분 패치의 크기 및 상기 적용 대상인 소프트웨어 바이너리 코드의 저장 공간의 크기가 모두 2,048 바이트로 동일하다면, 상기 소프트웨어 부분 패치를 상기 휘발성 저장유닛부(367) 내의 3번 블록 또는 10번 페이지에 바로 적용할 수 있다.Referring to FIG. 2, the size of a software partial patch applied to block 3 or page 10 in the volatile storage unit 367 is equal to the size of the storage space of the software binary code. For example, if the size of the software partial patch and the storage space of the software binary code to be applied are equal to 2,048 bytes, the software partial patch is assigned to block 3 or 10 in the volatile storage unit unit 367. You can apply it directly to the page.

다른 경우로서, 상기 휘발성 저장유닛부(367) 내의 20번 블록 또는 5번 페이지에 적용되는 소프트웨어 부분 패치의 크기는 상기 적용 대상인 소프트웨어 바이너리 코드의 저장공간의 크기보다 크다. 예를 들어, 상기 소프트웨어 부분 패치의 크기가 3,072 바이트이고, 상기 적용 대상인 소프트웨어 바이너리 코드의 저장 공간의 크기가 2,048 바이트라면, 상기 소프트웨어 부분 패치 중 2,048 바이트 부분을 우선 적용할 수 있다. 그리고 상기 소프트웨어 부분 패치 중 나머지 1,024 바이트 부분은 상기 휘발성 저장유닛부(367) 내의 임의의 빈 저장 공간에 저장할 수 있다. 이 경우 상기 나누어져 저장된 두 부분은 스캐터 로딩(단계 Scatter Loading)과 함수 진출입 코드에 의하여 하나의 바이너리 코드로서 실행이 가능하다.In another case, the size of the software partial patch applied to block 20 or page 5 in the volatile storage unit 367 is larger than the storage space of the software binary code to be applied. For example, if the size of the software portion patch is 3,072 bytes and the storage space of the software binary code to be applied is 2,048 bytes, the 2,048 byte portion of the software portion patch may be applied first. The remaining 1,024 byte portion of the software portion patch may be stored in any empty storage space in the volatile storage unit portion 367. In this case, the divided and stored two parts can be executed as one binary code by scatter loading and function entry / exit code.

또 다른 경우로서, 상기 휘발성 저장유닛부(367) 내의 34번 블록 또는 3번 페이지에 적용되는 소프트웨어 부분 패치의 크기는 상기 적용 대상인 소프트웨어 바이너리 코드의 저장공간의 크기보다 작다. 예를 들어, 상기 소프트웨어 부분 패치의 크기가 1,536 바이트이고, 상기 적용 대상인 소프트웨어의 저장 공간의 크기가 2,048 바이트라면, 상기 소프트웨어 부분 패치 전체를 상기 적용 대상인 소프트웨어의 저장 공간에 우선 적용할 수 있다. 그리고 상기 적용 대상인 소프트웨어의 저장 공간 중 나머지 512 바이트 크기의 저장 공간을 널(null) 값으로 채울 수 있다.In another case, the size of the software partial patch applied to block 34 or page 3 in the volatile storage unit 367 is smaller than the storage space of the software binary code to be applied. For example, if the size of the software partial patch is 1,536 bytes and the storage space of the software to be applied is 2,048 bytes, the entire software partial patch may be applied to the storage space of the software to be applied. The remaining 512 bytes of the storage space of the software to be applied may be filled with a null value.

도 3은 본 발명의 다른 일 실시예에 따른 부분 패치를 이용하여 휴대용 단말기 소프트웨어를 부분 업그레이드하는 휴대용 단말기를 나타내는 블록도이다. 여기서 휴대용 단말기는 이동통신 단말기를 예로 들어 설명한다.3 is a block diagram illustrating a portable terminal for partially upgrading portable terminal software using a partial patch according to another embodiment of the present invention. Herein, the portable terminal will be described using a mobile communication terminal as an example.

도 3을 참조하면, 무선 송수신부(390)는 기지국으로부터 소프트웨어 부분 패치를 다운로드 받는다. 상기 소프트웨어 부분 패치는 적어도 하나의 API 함수에 대한 소프트웨어 패치를 포함할 수 있다. 상기 소프트웨어 부분 패치 및 상기 API 함수에 대하여는 상기 도 1을 참조하여 상기 기지국으로부터 소프트웨어 부분 패치를 다운로드 받는 단계(단계 S110)에서 상술한 바와 같다.Referring to FIG. 3, the wireless transceiver 390 downloads a software partial patch from a base station. The software partial patch may comprise a software patch for at least one API function. The software partial patch and the API function are as described above in the step S110 of downloading the software partial patch from the base station with reference to FIG. 1.

상기 소프트웨어 부분 패치는 상기 소프트웨어 부분 패치가 적용되는, 후술할 휘발성 저장유닛부(367) 내의 블록 주소 및 상기 휘발성 저장유닛부(367) 내의 페이지 주소 중 적어도 하나에 관한 정보를 포함할 수 있다.The software partial patch may include information regarding at least one of a block address in the volatile storage unit 367 and a page address in the volatile storage unit 367 to which the software partial patch is applied.

상기 무선 송수신부(390)는 상기 기지국으로부터 SMS, MMS 및 BMS 중 어느 하나를 통하여 상기 적어도 하나의 API 함수에 대한 상기 소프트웨어 부분 패치를 다운로드 받을 수 있다.The wireless transceiver 390 may download the software partial patch for the at least one API function from any one of SMS, MMS, and BMS from the base station.

상기 제어부(350)는 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인지 판단하고, 상기 판단 결과 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인 경우에 상기 다운로드 받은 소프트웨어 부분 패치를 비휘발성 저장유닛부(361)에 저장하며, 상기 저장된 소프트웨어 부분 패치를 상기 휘발성 저장유닛부(367) 내의 소프트웨어 바이너리 코드에 적용한다. The controller 350 determines whether the software of the portable terminal is the application target of the downloaded software partial patch, and if the software of the portable terminal is the application target of the downloaded software partial patch, the downloaded software portion The patch is stored in the nonvolatile storage unit unit 361, and the stored software partial patch is applied to the software binary code in the volatile storage unit unit 367.

상기 제어부(350)는 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인지 판단함에 있어서, 상기 다운로드 받은 소프트웨어 부분 패치의 식별 정보와 상기 휴대용 단말기의 식별 정보를 비교하여 판단할 수 있다.In determining whether the software of the portable terminal is the application target of the downloaded software partial patch, the controller 350 may compare the determined identification information of the downloaded software partial patch with the identification information of the portable terminal.

상기 다운로드 받은 소프트웨어 부분 패치의 식별 정보는 상기 다운로드 받은 소프트웨어 부분 패치가 적용될 휴대용 단말기 모델 ID 및 상기 다운로드 받은 소프트웨어 부분 패치의 버전 정보를 포함할 수 있다.The identification information of the downloaded software partial patch may include a portable terminal model ID to which the downloaded software partial patch is to be applied and version information of the downloaded software partial patch.

상기 휴대용 단말기의 식별 정보는 상기 휴대용 단말기의 모델 ID, 상기 휴대용 단말기의 소프트웨어 버전 정보 및 상기 휴대용 단말기에 이미 저장되어 있는 소프트웨어 부분 패치의 버전 정보를 포함할 수 있다.The identification information of the portable terminal may include a model ID of the portable terminal, software version information of the portable terminal, and version information of a software partial patch already stored in the portable terminal.

상기 제어부(350)는, 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인지 판단함에 있어서, 상기 다운로드 받은 소프트웨어 부분 패치가 적용될 휴대용 단말기 모델 ID와 상기 휴대용 단말기의 모델 ID가 일치하고, 상기 다운로드 받은 소프트웨어 부분 패치의 버전이 상기 휴대용 단말기의 소프트웨어 버전 및 상기 휴대용 단말기에 이미 저장되어 있는 소프트웨어 부분 패치의 버전보다 상위 버전인지를 판단할 수 있다.The controller 350 determines whether the software of the portable terminal is the application target of the downloaded software partial patch, and the portable terminal model ID to which the downloaded software partial patch is to be applied matches the model ID of the portable terminal, It may be determined whether the downloaded version of the software partial patch is higher than the software version of the portable terminal and the version of the software partial patch already stored in the portable terminal.

상기 제어부(350)는, 상기 판단 결과 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인 경우에 상기 다운로드 받은 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 비휘발성 저장유닛부에 저장함에 있어서, 상기 다운로드 받은 소프트웨어 부분 패치를 임베디드 파일 시스템이 인식 가능한 형태 또는 메모리 청크의 형태로 저장할 수 있다.The control unit 350 stores the downloaded software partial patch in the nonvolatile storage unit of the portable terminal when the software of the portable terminal is the application target of the downloaded software partial patch. The downloaded software patch can be saved in a form that the embedded file system can recognize or in the form of a memory chunk.

상기 제어부(350)는 상기 사용자에게 비프 음, 벨 소리, 진동 및 문자 중 적어도 하나의 형태로 상기 저장된 소프트웨어 부분 패치의 적용 여부 및 상기 저장된 소프트웨어 부분 패치의 적용 시점을 결정할 것을 통지할 수 있다.The controller 350 may notify the user to determine whether to apply the stored software part patch in at least one of a beep sound, a bell sound, a vibration, and a text, and to determine an application time point of the stored software part patch.

이 경우 상기 제어부(350)는 상기 비프 음 및/또는 상기 벨 소리에 대응되는 전기적 신호를 생성하여, 상기 생성한 결과를 스피커(380)로 출력할 수 있다. 또는, 상기 제어부(350)는 상기 진동에 대응되는 명령을 생성하여, 상기 생성한 명령을 진동 장치(미도시)로 출력할 수 있다. 또는, 상기 제어부(350)는 상기 문자에 대응되는 이미지 데이터를 생성하여, 상기 생성한 결과를 디스플레이부(370)로 출력할 수 있다.In this case, the controller 350 may generate an electrical signal corresponding to the beep sound and / or the bell sound, and output the generated result to the speaker 380. Alternatively, the controller 350 may generate a command corresponding to the vibration and output the generated command to a vibration device (not shown). Alternatively, the controller 350 may generate image data corresponding to the character and output the generated result to the display unit 370.

상기 제어부(350)는 상기 사용자로부터 상기 저장된 소프트웨어 부분 패치의 적용 여부를 입력 받아 결정할 수 있다.The controller 350 may determine whether to apply the stored software partial patch from the user.

상기 제어부(350)는 상기 사용자로부터 상기 저장된 소프트웨어 부분 패치의 적용 시점을 입력 받아 결정할 수 있다. 상기 적용 시점은 상기 휴대용 단말기의 다음 번 재기동 시, 상기 저장된 소프트웨어 부분 패치가 적용되는 소프트웨어의 다음 번 로딩 시 및 상기 다운로드 받은 소프트웨어 부분 패치가 저장되는 즉시 중 어느 하나일 수 있다.The controller 350 may receive and determine an application time point of the stored software partial patch from the user. The application time point may be any one of the next restart of the portable terminal, the next loading of the software to which the stored software partial patch is applied, and immediately after the downloaded software partial patch is stored.

상기 제어부(350)는, 상기 저장된 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 휘발성 저장유닛부(367) 내의 소프트웨어 바이너리 코드에 적용함에 있어서, 상기 저장된 소프트웨어 부분 패치가 적용되는 소프트웨어의 다음 번 로딩 시 적용할 수 있다. 이 경우 상기 소프트웨어가 이미 상기 휘발성 저장유닛부(367) 내에 로딩되어 실행 중인 경우에, 상기 소프트웨어를 언로딩하거나 상기 휴대용 단말기를 재기동할 수 있다. The controller 350 may apply the stored software partial patch to the software binary code in the volatile storage unit 367 of the portable terminal, and may be applied at the next loading of the software to which the stored software partial patch is applied. Can be. In this case, when the software is already loaded and executed in the volatile storage unit 367, the software may be unloaded or the portable terminal may be restarted.

또는, 상기 제어부(350)는, 상기 저장된 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 휘발성 저장유닛부(367) 내의 소프트웨어 바이너리 코드에 적용함에 있어서, 상기 다운로드 받은 소프트웨어 부분 패치가 저장되는 즉시 적용할 수 있다. 이 경우 상기 소프트웨어가 이미 상기 휘발성 저장유닛부(367) 내에 로딩되어 실행 중인 경우에, 상기 소프트웨어를 언로딩하거나 상기 휴대용 단말기를 재기동할 수 있다.Alternatively, the control unit 350 may apply the stored software partial patch to the software binary code in the volatile storage unit 367 of the portable terminal immediately after the downloaded software partial patch is stored. . In this case, when the software is already loaded and executed in the volatile storage unit 367, the software may be unloaded or the portable terminal may be restarted.

상기 저장된 소프트웨어 부분 패치의 적용 시점 및 적용 과정에 대하여는 상기 도 1을 참조하여 상기 사용자로부터 상기 저장된 소프트웨어 부분 패치의 적용 시점을 결정하는 단계(단계 S160) 및 상기 저장된 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 휘발성 저장유닛부 내의 소프트웨어 바이너리 코드에 적용하는 단계(단계 S170)에서 상술한 바와 같다.As to the application time and the application process of the stored software part patch, the step of determining the application time of the stored software part patch from the user with reference to FIG. 1 (step S160) and the stored software part patch of the portable terminal; As described above in the step of applying to the software binary code in the volatile storage unit section (step S170).

상기 제어부(350)는, 이동통신 단말기의 통상적인 기능 및 작용에 따라, 터치 모듈부(310), 키 입력부(320), 카메라 모듈부(330), 마이크(340) 또는 무선 송수신부(390)로부터 전기적 신호 등의 형태를 가지는 값을 입력 받아, 상기 터치 모듈부(310), 상기 키 입력부(320), 상기 카메라 모듈부(330), 상기 마이크(340) 및 상기 무선 송수신부(390)의 동작 및 기능과 상기 값에 대응하는 동작을 수행하고, 상기 동작 수행의 결과를 디스플레이부(370), 스피커(380) 또는 상기 무선 송수신부(390)에 제공할 수 있다.The controller 350 may include a touch module unit 310, a key input unit 320, a camera module unit 330, a microphone 340, or a wireless transceiver 390 according to a typical function and operation of a mobile communication terminal. A value having a form such as an electrical signal is input from the touch module unit 310, the key input unit 320, the camera module unit 330, the microphone 340, and the wireless transceiver 390. An operation corresponding to an operation and a function and the value may be performed, and a result of the operation may be provided to the display unit 370, the speaker 380, or the wireless transceiver 390.

저장유닛(360)은 비휘발성 저장유닛부(361)와 휘발성 저장유닛부(367)을 포함할 수 있다.The storage unit 360 may include a nonvolatile storage unit unit 361 and a volatile storage unit unit 367.

상기 비휘발성 저장유닛부(361)는 적어도 하나의 비휘발성 기억장치(Non-Volatile Memory)를 구비할 수 있다. 상기 비휘발성 기억장치는 플래시 롬(Flash ROM) 및 이이피롬(Electrically Erasable and Programmable Read Only Memory: 이하 EEPROM) 중 하나일 수 있다.The nonvolatile storage unit 361 may include at least one non-volatile memory. The nonvolatile memory device may be one of a flash ROM and an EEPROM (Electrically Erasable and Programmable Read Only Memory).

상기 비휘발성 저장유닛부(361)는 소프트웨어 코드 저장부(363)와 소프트웨어 패치 저장부(365)를 포함할 수 있다. 상기 소프트웨어 코드 저장부(363)와 상기 소프트웨어 패치 저장부(365)는 상기 비휘발성 저장유닛부(361) 내의 동일한 비휘발성 기억장치를 공유하거나, 또는 각각 별도의 비휘발성 기억장치를 구비할 수 있다.The nonvolatile storage unit 361 may include a software code storage 363 and a software patch storage 365. The software code storage unit 363 and the software patch storage unit 365 may share the same nonvolatile storage device in the nonvolatile storage unit unit 361, or may include separate nonvolatile storage devices. .

상기 소프트웨어 코드 저장부(363)는 상기 휴대용 단말기의 구동 및 기능을 담당하는 소프트웨어 바이너리 코드를 저장할 수 있다. 상기 소프트웨어 코드 저장부(363)에 저장된 소프트웨어 바이너리 코드는 상기 휴대용 단말기의 제조 시에 저장될 수 있다.The software code storage unit 363 may store software binary codes for driving and functioning the portable terminal. The software binary code stored in the software code storage 363 may be stored at the time of manufacture of the portable terminal.

상기 소프트웨어 패치 저장부(365)는 상기 다운로드 받은 소프트웨어 부분 패치를 저장할 수 있다.The software patch storage unit 365 may store the downloaded software partial patch.

상기 휘발성 저장유닛부(367)는 적어도 하나의 휘발성 기억장치(Volatile Memory)를 구비할 수 있다. 상기 휘발성 기억장치는 에스디램(단계 Synchronous Dynamic RAM: SDRAM) 및 에스램(단계 Static Random Access Memory: SRAM) 중 하나일 수 있다. 상기 비휘발성 저장유닛부(361)에 저장된 소프트웨어 코드는 상기 휴대용 단말기의 운영체제에 의하여 상기 휘발성 저장유닛부(367)에 로딩되어 실행될 수 있다.The volatile storage unit unit 367 may include at least one volatile memory. The volatile memory device may be one of an synchronous DRAM (SDRAM) and an synchronous RAM (SRAM). The software code stored in the nonvolatile storage unit 361 may be loaded and executed in the volatile storage unit 367 by an operating system of the portable terminal.

상기 저장유닛(360)은 상기 제어부(350)로부터 상기 휴대용 단말기의 상기 설정 정보 및 상기 애플리케이션 실행 정보 중 적어도 하나를 입력 받아 저장하고, 상기 제어부(350)의 요청에 따라 상기 설정 정보 및 상기 애플리케이션 실행 정보 중 적어도 하나를 상기 제어부(350)로 출력한다.The storage unit 360 receives and stores at least one of the setting information of the portable terminal and the application execution information from the controller 350, and executes the setting information and the application at the request of the controller 350. At least one of the information is output to the controller 350.

상기에서는 이동통신 단말기를 예로 들어 설명하였으나, 본 발명은 이동통신 단말기에만 한정되지 않으며, 터치 입력부를 가지는 개인 휴대정보 단말기(personal digital assistant: PDA), 휴대용 멀티미디어 플레이어(portable multimedia player: PMP), MP3 플레이어 등과 같은 다양한 휴대용 장치 및 네트워크 접속 기능을 가지는 텔레비전 등의 영상 처리 장치에도 적용될 수 있다.In the above description, the mobile communication terminal has been described as an example. However, the present invention is not limited to the mobile communication terminal, but a personal digital assistant (PDA), a portable multimedia player (PMP), and an MP3 having a touch input unit are provided. The present invention can also be applied to various portable devices such as a player and an image processing device such as a television having a network connection function.

이상 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described with reference to the above embodiments, those skilled in the art will understand that various modifications and changes can be made without departing from the spirit and scope of the invention as set forth in the claims below. Could be.

Claims (20)

비휘발성 저장유닛부 및 휘발성 저장유닛부를 구비한 휴대용 단말기 소프트웨어의 업그레이드 방법에 있어서,In the upgrade method of the portable terminal software having a nonvolatile storage unit and a volatile storage unit, 기지국으로부터 소프트웨어 부분 패치를 다운로드 받는 단계;Downloading a software partial patch from a base station; 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인 경우에 상기 다운로드 받은 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 비휘발성 저장유닛부에 저장하는 단계; 및Storing the downloaded software partial patch in the nonvolatile storage unit of the portable terminal when the software of the portable terminal is the application target of the downloaded software partial patch; And 상기 저장된 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 휘발성 저장유닛부 내의 소프트웨어 바이너리 코드에 적용하는 단계를 포함하는 휴대용 단말기 소프트웨어의 업그레이드 방법.Applying the stored software partial patch to software binary code in the volatile storage unit portion of the portable terminal. 제1항에 있어서, 상기 소프트웨어 부분 패치는The method of claim 1, wherein the software partial patch is 적어도 하나의 응용 프로그램 인터페이스 함수에 대한 소프트웨어 패치를 포함하는 것을 특징으로 하는 휴대용 단말기 소프트웨어의 업그레이드 방법.And a software patch for at least one application program interface function. 제1항에 있어서, 상기 소프트웨어 부분 패치는The method of claim 1, wherein the software partial patch is 상기 소프트웨어 부분 패치가 적용되는, 상기 휘발성 저장유닛부 내의 블록 주소 및 상기 휘발성 저장유닛부 내의 페이지 주소 중 적어도 하나에 관한 정보를 포함하는 것을 특징으로 하는 휴대용 단말기 소프트웨어의 업그레이드 방법.And at least one of a block address in the volatile storage unit unit and a page address in the volatile storage unit unit to which the software partial patch is applied. 제1항에 있어서,The method of claim 1, 상기 기지국으로부터 소프트웨어 부분 패치를 다운로드 받는 단계는Downloading the software partial patch from the base station 상기 기지국으로부터 단문 메시지 서비스(Short Message Service: SMS), 멀티미디어 메시징 시스템(Multimedia Messaging System: MMS) 및 광대역 메시징 서비스(Broadband Messaging Service: BMS) 중 어느 하나를 통하여 다운로드 받는 것을 특징으로 하는 휴대용 단말기 소프트웨어의 업그레이드 방법.The mobile terminal software may be downloaded from the base station through any one of a short message service (SMS), a multimedia messaging system (MMS), and a broadband messaging service (BMS). How to upgrade. 제1항에 있어서,The method of claim 1, 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인 경우에 상기 다운로드 받은 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 비휘발성 저장유닛부에 저장하는 단계는When the software of the portable terminal is the application of the downloaded software partial patch, storing the downloaded software partial patch in the nonvolatile storage unit of the portable terminal 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인지 판단함에 있어서, 상기 다운로드 받은 소프트웨어 부분 패치의 식별 정보와 상기 휴대용 단말기의 식별 정보를 비교하여 판단하는 것을 특징으로 하는 휴대용 단말기 소프트웨어의 업그레이드 방법.In determining whether the software of the portable terminal is the application target of the downloaded software partial patch, the upgrade of the portable terminal software, characterized by comparing the identification information of the downloaded software partial patch and the identification information of the portable terminal. Way. 제5항에 있어서,The method of claim 5, 상기 다운로드 받은 소프트웨어 부분 패치의 식별 정보는The identification information of the downloaded software partial patch is 상기 다운로드 받은 소프트웨어 부분 패치가 적용될 휴대용 단말기 모델 ID 및 상기 다운로드 받은 소프트웨어 부분 패치의 버전 정보를 포함하고,A portable terminal model ID to which the downloaded software partial patch is to be applied and version information of the downloaded software partial patch, 상기 휴대용 단말기의 식별 정보는Identification information of the portable terminal 상기 휴대용 단말기의 모델 ID, 상기 휴대용 단말기의 소프트웨어 버전 정보 및 상기 휴대용 단말기에 이미 저장되어 있는 소프트웨어 부분 패치의 버전 정보를 포함하는 것을 특징으로 하는 휴대용 단말기 소프트웨어의 업그레이드 방법.And a version ID of the portable terminal, software version information of the portable terminal, and version information of a software partial patch already stored in the portable terminal. 제6항에 있어서,The method of claim 6, 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인 경우에 상기 다운로드 받은 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 비휘발성 저장유닛부에 저장하는 단계는When the software of the portable terminal is the application of the downloaded software partial patch, storing the downloaded software partial patch in the nonvolatile storage unit of the portable terminal 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인지 판단함에 있어서, 상기 다운로드 받은 소프트웨어 부분 패치가 적용될 휴대용 단말기 모델 ID와 상기 휴대용 단말기의 모델 ID가 일치하고, 상기 다운로드 받은 소프트웨어 부분 패치의 버전이 상기 휴대용 단말기의 소프트웨어 버전 및 상기 휴대용 단말기에 이미 저장되어 있는 소프트웨어 부분 패치의 버전보다 상위 버전인지를 판단하는 것을 특징으로 하는 휴대용 단말기 소프트웨어의 업그레이드 방법.In determining whether the software of the portable terminal is the application target of the downloaded software partial patch, the portable terminal model ID to which the downloaded software partial patch is to be applied and the model ID of the portable terminal coincide with each other. And determining whether a version is higher than a software version of the portable terminal and a version of a software partial patch already stored in the portable terminal. 제1항에 있어서,The method of claim 1, 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인 경우에 상기 다운로드 받은 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 비휘발성 저장유닛부에 저장하는 단계는When the software of the portable terminal is the application of the downloaded software partial patch, storing the downloaded software partial patch in the nonvolatile storage unit of the portable terminal 상기 다운로드 받은 소프트웨어 부분 패치를 임베디드 파일 시스템(Embedded File System)이 인식 가능한 형태로 저장하는 것을 특징으로 하는 휴대용 단말기 소프트웨어의 업그레이드 방법.Upgrade method of the portable terminal software, characterized in that for storing the downloaded software partial patch in an embedded file system (Embedded File System). 제1항에 있어서,The method of claim 1, 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인 경우에 상기 다운로드 받은 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 비휘발성 저장유닛부에 저장하는 단계는When the software of the portable terminal is the application of the downloaded software partial patch, storing the downloaded software partial patch in the nonvolatile storage unit of the portable terminal 상기 다운로드 받은 소프트웨어 부분 패치를 메모리 청크(Memory Chunk)의 형태로 저장하는 것을 특징으로 하는 휴대용 단말기 소프트웨어의 업그레이드 방법.Upgrade method of the portable terminal software, characterized in that for storing the downloaded software partial patch in the form of a memory chunk (Memory Chunk). 제1항에 있어서,The method of claim 1, 상기 사용자에게 비프 음, 벨 소리, 진동 및 문자 중 적어도 하나의 형태로 상기 저장된 소프트웨어 부분 패치의 적용 여부 및 상기 저장된 소프트웨어 부분 패치의 적용 시점을 결정할 것을 통지하는 단계를 더 포함하는 휴대용 단말기 소프트웨어의 업그레이드 방법.And notifying the user to determine whether to apply the stored software partial patch and to when to apply the stored software partial patch in the form of at least one of a beep, ringing, vibration and text. Way. 제1항에 있어서,The method of claim 1, 상기 사용자로부터 상기 저장된 소프트웨어 부분 패치의 적용 여부를 결정하는 단계를 더 포함하는 휴대용 단말기 소프트웨어의 업그레이드 방법.Determining whether the stored software partial patch is applied from the user. 제1항에 있어서,The method of claim 1, 상기 사용자로부터 상기 저장된 소프트웨어 부분 패치의 적용 시점을 결정하는 단계를 더 포함하되,Determining a time point of application of the stored software partial patch from the user; 상기 적용 시점은 상기 휴대용 단말기의 다음 번 재기동 시, 상기 저장된 소프트웨어 부분 패치가 적용되는 소프트웨어의 다음 번 로딩 시 및 상기 다운로드 받은 소프트웨어 부분 패치가 저장되는 즉시 중 어느 하나인 것을 특징으로 하는 휴대용 단말기 소프트웨어의 업그레이드 방법.The application time point may be any one of the next restart of the portable terminal, the next loading of the software to which the stored software partial patch is applied, and immediately after the downloaded software partial patch is stored. How to upgrade. 제1항에 있어서,The method of claim 1, 상기 저장된 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 휘발성 저장유닛부 내의 소프트웨어 바이너리 코드에 적용하는 단계는Applying the stored software partial patch to the software binary code in the volatile storage unit of the portable terminal 상기 저장된 소프트웨어 부분 패치를 상기 저장된 소프트웨어 부분 패치가 적용되는 소프트웨어의 다음 번 로딩 시 적용하되, 상기 소프트웨어가 이미 상기 휘발성 저장유닛부 내에 로딩되어 실행 중인 경우에, 상기 소프트웨어의 언로딩 및 상기 휴대용 단말기의 재기동 중 어느 하나의 동작을 수행하는 것을 특징으로 하는 휴대용 단말기 소프트웨어의 업그레이드 방법.The stored software partial patch is applied at the next loading of the software to which the stored software partial patch is applied, but when the software is already loaded and executed in the volatile storage unit, the unloading of the software and the portable terminal The upgrade method of the portable terminal software, characterized in that to perform any one operation of the restart. 제1항에 있어서,The method of claim 1, 상기 저장된 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 휘발성 저장유닛부 내의 소프트웨어 바이너리 코드에 적용하는 단계는Applying the stored software partial patch to the software binary code in the volatile storage unit of the portable terminal 상기 저장된 소프트웨어 부분 패치를 상기 다운로드 받은 소프트웨어 부분 패치가 저장되는 즉시 적용하되, 상기 소프트웨어가 이미 상기 휘발성 저장유닛부 내에 로딩되어 실행 중인 경우에, 상기 소프트웨어의 언로딩 및 상기 휴대용 단말기의 재기동 중 어느 하나의 동작을 수행하는 것을 특징으로 하는 휴대용 단말기 소프트웨어의 업그레이드 방법.The stored software partial patch is applied immediately after the downloaded software partial patch is stored, and when the software is already loaded and executed in the volatile storage unit, any one of unloading the software and restarting the portable terminal The upgrade method of the portable terminal software, characterized in that to perform the operation of. 제1항에 있어서,The method of claim 1, 상기 저장된 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 휘발성 저장유닛부 내의 소프트웨어 바이너리 코드에 적용하는 단계는Applying the stored software partial patch to the software binary code in the volatile storage unit of the portable terminal 상기 저장된 소프트웨어 부분 패치의 크기가 상기 적용 대상인 소프트웨어 바이너리 코드의 크기보다 큰 경우에, 상기 저장된 소프트웨어 부분 패치 중 상기 적용 대상인 소프트웨어 바이너리 코드의 크기만큼의 부분으로 상기 적용 대상인 소프트웨어 바이너리 코드를 업그레이드하고, 상기 저장된 소프트웨어 부분 패치 중 상기 적용 대상인 소프트웨어 바이너리 코드의 크기만큼을 제외한 부분을 상기 휘발성 저장유닛부 내의 빈 저장 공간에 저장하는 것을 특징으로 하는 휴대용 단말기 소프트웨어의 업그레이드 방법.If the size of the stored software partial patch is larger than the size of the software binary code to be applied, the software binary code to be upgraded is upgraded to a portion equal to the size of the software binary code to be applied among the stored software partial patches. And storing a portion of the stored software partial patch except for the size of the software binary code to be applied to the empty storage space in the volatile storage unit. 제1항에 있어서,The method of claim 1, 상기 저장된 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 휘발성 저장유닛부 내의 소프트웨어 바이너리 코드에 적용하는 단계는Applying the stored software partial patch to the software binary code in the volatile storage unit of the portable terminal 상기 저장된 소프트웨어 부분 패치의 크기가 상기 적용 대상인 소프트웨어 바이너리 코드의 크기보다 작은 경우에, 상기 저장된 소프트웨어 부분 패치로 상기 적용 대상인 소프트웨어 바이너리 코드를 업그레이드하고, 상기 적용 대상인 소프트웨어 바이너리 코드의 저장 공간 중 상기 저장된 소프트웨어 부분 패치의 크기만큼을 제외한 부분을 널(null) 값으로 채우는 것을 특징으로 하는 휴대용 단말기 소프트웨어의 업그레이드 방법.If the size of the stored software partial patch is smaller than the size of the software binary code to which the application target is applied, upgrade the software binary code to which the application target is applied with the stored software partial patch, and the stored software in the storage space of the software binary code to which the application target is applied. A method of upgrading portable terminal software, which comprises filling a portion except for the size of a partial patch with a null value. 비휘발성 저장유닛부 및 휘발성 저장유닛부를 구비한 휴대용 단말기에 있어서,A portable terminal comprising a nonvolatile storage unit and a volatile storage unit, 기지국으로부터 적어도 하나의 응용 프로그램 인터페이스 함수에 대한 소프트웨어 부분 패치를 다운로드 받는 무선 송수신부;A wireless transceiver for downloading a software partial patch for at least one application program interface function from a base station; 상기 휴대용 단말기의 소프트웨어가 상기 다운로드 받은 소프트웨어 부분 패치의 적용 대상인 경우에 상기 다운로드 받은 소프트웨어 부분 패치를 상기 비휘발성 저장유닛부에 저장하며, 상기 저장된 소프트웨어 부분 패치를 상기 휘발성 저장유닛부 내의 소프트웨어 바이너리 코드에 적용하는 제어부를 포함하는 휴대용 단말기.When the software of the portable terminal is the application target of the downloaded software partial patch, the downloaded software partial patch is stored in the nonvolatile storage unit, and the stored software partial patch is stored in the software binary code in the volatile storage unit. A portable terminal comprising a control unit for applying. 제17항에 있어서, 상기 소프트웨어 부분 패치는18. The method of claim 17, wherein the software partial patch 적어도 하나의 응용 프로그램 인터페이스 함수에 대한 소프트웨어 패치를 포함하는 것을 특징으로 하는 휴대용 단말기.And a software patch for at least one application program interface function. 제17항에 있어서, 상기 제어부는The method of claim 17, wherein the control unit 상기 사용자로부터 상기 저장된 소프트웨어 부분 패치의 적용 시점을 결정하되,Determine when to apply the stored software partial patch from the user, 상기 적용 시점은 상기 휴대용 단말기의 다음 번 재기동 시, 상기 저장된 소프트웨어 부분 패치가 적용되는 소프트웨어의 다음 번 로딩 시 및 상기 다운로드 받은 소프트웨어 부분 패치가 저장되는 즉시 중 어느 하나인 것을 특징으로 하는 휴대용 단말기.The application time point is any one of the next restart of the portable terminal, at the next loading of the software to which the stored software partial patch is applied and immediately after the downloaded software partial patch is stored. 제17항에 있어서, 상기 제어부는The method of claim 17, wherein the control unit 상기 저장된 소프트웨어 부분 패치를 상기 휴대용 단말기의 상기 휘발성 저장유닛부 내의 소프트웨어 바이너리 코드에 적용함에 있어서,In applying the stored software partial patch to the software binary code in the volatile storage unit of the portable terminal, 상기 저장된 소프트웨어 부분 패치의 크기가 상기 적용 대상인 소프트웨어 바이너리 코드의 크기보다 큰 경우에, 상기 저장된 소프트웨어 부분 패치 중 상기 적용 대상인 소프트웨어 바이너리 코드의 크기만큼의 부분으로 상기 적용 대상인 소프트웨어 바이너리 코드를 업그레이드하고, 상기 저장된 소프트웨어 부분 패치 중 상기 적용 대상인 소프트웨어 바이너리 코드의 크기만큼을 제외한 부분을 상기 휘발성 저장유닛부 내의 빈 저장 공간에 저장하는 것을 특징으로 하는 휴대용 단말기.If the size of the stored software partial patch is larger than the size of the software binary code to be applied, the software binary code to be upgraded is upgraded to a portion equal to the size of the software binary code to be applied among the stored software partial patches. And a portion of the stored software partial patch except for the size of the software binary code, which is applied, to an empty storage space in the volatile storage unit.
KR1020080028660A 2008-03-27 2008-03-27 Method of partial upgrade of handheld terminal software with partial patch and handheld terminal performing the same KR20090103214A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080028660A KR20090103214A (en) 2008-03-27 2008-03-27 Method of partial upgrade of handheld terminal software with partial patch and handheld terminal performing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080028660A KR20090103214A (en) 2008-03-27 2008-03-27 Method of partial upgrade of handheld terminal software with partial patch and handheld terminal performing the same

Publications (1)

Publication Number Publication Date
KR20090103214A true KR20090103214A (en) 2009-10-01

Family

ID=41532771

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080028660A KR20090103214A (en) 2008-03-27 2008-03-27 Method of partial upgrade of handheld terminal software with partial patch and handheld terminal performing the same

Country Status (1)

Country Link
KR (1) KR20090103214A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101254208B1 (en) * 2011-06-17 2013-04-18 인크로스 주식회사 Real Time Update Method Of Application Of Mobile Terminal
KR20190061865A (en) * 2017-11-28 2019-06-05 엘지전자 주식회사 Air conditioner system's central control apparatus and method for update software thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101254208B1 (en) * 2011-06-17 2013-04-18 인크로스 주식회사 Real Time Update Method Of Application Of Mobile Terminal
KR20190061865A (en) * 2017-11-28 2019-06-05 엘지전자 주식회사 Air conditioner system's central control apparatus and method for update software thereof

Similar Documents

Publication Publication Date Title
US7644406B2 (en) Update system capable of updating software across multiple FLASH chips
US7657886B1 (en) Mobile device with a MMU for faster firmware updates in a wireless network
KR100584338B1 (en) Method and system for updating software
US7873956B2 (en) Communication terminal and communication network for partially updating software, software update method, and software creation device and method therefor
US9298444B2 (en) Software updating method and portable terminal device
RU2419839C2 (en) Software update system and method for portable ota supporting mobile terminal
CN110597542B (en) Software automatic OTA (over the air) upgrading method and device and electronic equipment
US20040093597A1 (en) Firmware update system for facilitating firmware update in mobile handset related applications
US20070294685A1 (en) Program upgrade system and method for ota-capable portable device
US20050114852A1 (en) Tri-phase boot process in electronic devices
KR101555210B1 (en) Apparatus and method for downloadin contents using movinand in portable terminal
CN110825563A (en) System recovery method and device and electronic equipment
CN114443081A (en) Terminal upgrading method and terminal
CN109710287B (en) Hot updating method, device and computer storage medium
KR20090103214A (en) Method of partial upgrade of handheld terminal software with partial patch and handheld terminal performing the same
CN115756561A (en) Software upgrading method and device, computer equipment and storage medium
US20060230190A1 (en) Method and apparatus for executing application in system having NAND flash memory
EP3992783A1 (en) Patch releasing method, server and terminal device
CN114237675A (en) Android system upgrading method and device, set top box and storage medium
KR100538627B1 (en) Method for partupgrading sofrware of wireless terminal
CN102202129A (en) Method for loading mobile phone operating system
CN112667444A (en) System upgrading method, storage medium and terminal equipment
JP4910402B2 (en) Nonvolatile memory rewriting device and rewriting method
JP7355876B2 (en) Program startup method, equipment, and storage medium
JP5708228B2 (en) IC card and IC card refresh method

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination