[go: up one dir, main page]

KR100693551B1 - Communication terminal and communication network system for partial update of software, partial update method of software, software generating device and method therefor - Google Patents

Communication terminal and communication network system for partial update of software, partial update method of software, software generating device and method therefor Download PDF

Info

Publication number
KR100693551B1
KR100693551B1 KR1020040057776A KR20040057776A KR100693551B1 KR 100693551 B1 KR100693551 B1 KR 100693551B1 KR 1020040057776 A KR1020040057776 A KR 1020040057776A KR 20040057776 A KR20040057776 A KR 20040057776A KR 100693551 B1 KR100693551 B1 KR 100693551B1
Authority
KR
South Korea
Prior art keywords
software
version
identification key
area
update
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020040057776A
Other languages
Korean (ko)
Other versions
KR20050030534A (en
Inventor
김재욱
유성욱
Original Assignee
주식회사 팬택앤큐리텔
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 팬택앤큐리텔 filed Critical 주식회사 팬택앤큐리텔
Priority to US10/948,325 priority Critical patent/US7873956B2/en
Priority to EP04022988A priority patent/EP1519268B1/en
Publication of KR20050030534A publication Critical patent/KR20050030534A/en
Application granted granted Critical
Publication of KR100693551B1 publication Critical patent/KR100693551B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 소프트웨어의 부분 업데이트를 위한 통신단말기 및 통신네트워크 시스템과, 소프트웨어의 부분 업데이트 방법 및 이를 위한 소프트웨어 생성 장치 및 방법에 관한 것으로, 여러 개의 영역으로 이루어져 있는 소정의 소프트웨어와; 각 영역에 대한 식별키를 가지고 있는 메모리부와; 상기 식별키를 이용하여 소정의 영역을 업데이트하는 업데이트수단을 포함하여 이루어지되, 소프트웨어의 버전정보 또는 각 영역별 식별키를 비교하여 소프트웨어의 변경된 영역의 데이타만 다운로드하여 업그레이드함으로써 업그레이드 시간을 단축할 수 있도록 한 것이다.The present invention relates to a communication terminal and a communication network system for partial update of software, a method for partial update of software, and a software generating apparatus and method for the same, comprising: predetermined software consisting of several areas; A memory unit having an identification key for each area; It includes an update means for updating a predetermined area by using the identification key, it is possible to shorten the upgrade time by comparing the version information of the software or the identification key for each area to download and upgrade only the data of the changed area of the software. It would be.

소프트웨어(Software), 부분 업데이트(Partial update)Software, partial update

Description

소프트웨어의 부분 업데이트를 위한 통신단말기 및 통신네트워크 시스템, 소프트웨어의 부분 업데이트 방법 및 이를 위한 소프트웨어 생성 장치 및 방법 {Terminal and network system for partial updating a software, and partial updating method, and software generating device and method}Terminal and network system for partial updating a software, and partial updating method, and software generating device and method for partial update of software

도 1 은 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 개요도1 is a schematic diagram of a partial update service system of software embedded in an embedded device according to the present invention;

도 2 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 식별키 생성모듈의 일 실시예의 구성을 도시한 블럭도2 is a block diagram showing the configuration of an embodiment of an identification key generation module of a partial update service system of software embedded in an embedded device according to the present invention;

도 3a 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 다운로드 처리모듈의 일 실시예의 블럭도3A is a block diagram of one embodiment of a download processing module of a partial update service system of software embedded in an embedded device according to the present invention;

도 3b 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 다운로드 처리모듈의 또 다른 실시예의 블럭도3B is a block diagram of another embodiment of a download processing module of a partial update service system of software embedded in an embedded device according to the present invention.

도 3c 는 도 3b 에 도시한 실시예에서의 임베디드 기기에서 실행되는 소프트웨어의 자동 업데이트 엔진의 일실시예를 도시한 블럭도FIG. 3C is a block diagram illustrating one embodiment of an automatic update engine of software running on an embedded device in the embodiment shown in FIG. 3B.

도 3d 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 다운로드 처리모듈의 또 다른 실시예의 블럭도3D is a block diagram of another embodiment of a download processing module of a partial update service system of software embedded in an embedded device according to the present invention.

도 3e 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데 이트 서비스 시스템의 다운로드 처리모듈의 또 다른 실시예의 블럭도3E is a block diagram of another embodiment of a download processing module of a partial update service system of software embedded in an embedded device according to the present invention;

도 3f 는 도 3e 에 도시한 실시예에서의 임베디드 기기에서 실행되는 소프트웨어의 자동 업데이트 엔진의 일실시예를 도시한 블럭도FIG. 3F is a block diagram illustrating one embodiment of an automatic update engine of software running on an embedded device in the embodiment shown in FIG. 3E.

도 4 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 식별키 생성시의 일 실시예의 흐름도4 is a flowchart of an embodiment of generating an identification key of a partial update service system of software embedded in an embedded device according to the present invention.

도 5a 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 부분 다운로드시의 일 실시예의 흐름도5A is a flowchart of an embodiment of partial download of a system of partial update service of software embedded in an embedded device according to the present invention;

도 5b 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 부분 다운로드시의 또 다른 실시예의 흐름도5B is a flowchart of another embodiment in the partial download of the partial update service system of software embedded in the embedded device according to the present invention.

도 5c 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 부분 다운로드시의 또 다른 실시예의 흐름도5C is a flowchart of another embodiment of the partial download of the partial update service system of the software embedded in the embedded device according to the present invention.

도 5d 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 부분 다운로드시의 또 다른 실시예의 흐름도5d is a flowchart of another embodiment of a partial download of a system of partial update service of software embedded in an embedded device according to the present invention;

도 6 은 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 식별키 생성모듈에 의해 영역 분리된 소프트웨어 및 각 영역별 식별키의 데이타 구조 일예6 is an example of a data structure of the software separated by the identification key generation module of the partial update service system of the software embedded in the embedded device and the identification key for each region according to the present invention.

도 7a 는 데이타 통신을 이용해 다운로드 처리모듈이 임베디드 기기로부터 영역별 식별키를 저장한 파일을 불러오는 과정의 신호 흐름의 일예7A illustrates an example of a signal flow in a process in which a download processing module retrieves a file storing region-specific identification keys from an embedded device using data communication;

도 7b 는 OTA 방식을 통한 데이타 통신을 이용해 다운로드 처리모듈이 임베디드 기기로부터 영역별 식별키를 저장한 파일을 불러오는 과정의 신호 흐름의 일 예7B illustrates an example of a signal flow in a process in which a download processing module retrieves a file storing an area identification key from an embedded device by using data communication through an OTA method.

도 8a 은 데이타 통신을 이용해 다운로드 처리모듈이 임베디드 기기로 변경된 영역의 데이타를 부분 다운로드하는 과정의 신호 흐름의 일예8A illustrates an example of a signal flow in a process of partially downloading data of a region changed by a download processing module to an embedded device using data communication;

도 8b 는 OTA 방식을 통한 데이타 통신을 이용해 다운로드 처리모듈이 임베디드 기기로 변경된 영역의 데이타를 부분 다운로드하는 과정의 신호 흐름의 일예8B illustrates an example of a signal flow in a process of partially downloading data of a region in which a download processing module is changed to an embedded device by using data communication through an OTA scheme;

도 9 는 CMD_RAM 명령 및 이에 대한 응답 신호의 데이타 구조를 도시한 도면9 shows a data structure of a CMD_RAM command and a response signal thereto;

도 10 은 CMD_DECOMPRESS 명령 및 이에 대한 응답 신호의 데이타 구조를 도시한 도면10 shows a data structure of a CMD_DECOMPRESS command and a response signal thereto;

도 11 은 CMD_ERASE 명령 및 이에 대한 응답 신호의 데이타 구조를 도시한 도면11 shows a data structure of a CMD_ERASE command and a response signal thereto;

도 12 는 CMD_PROGRAM 명령 및 이에 대한 응답 신호의 데이타 구조를 도시한 도면12 illustrates a data structure of a CMD_PROGRAM command and a response signal thereto;

도 13 에 CMD_FINISH 명령의 데이타 구조를 도시한 도면Fig. 13 shows the data structure of the CMD_FINISH command

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

10 : 단말기 20 : 임베디드 기기10: terminal 20: embedded device

100 : 부분 업데이트 서비스 시스템 110 : 식별키 생성모듈100: partial update service system 110: identification key generation module

111 : 영역 분리부 112 : 식별키 생성부111: region separation unit 112: identification key generation unit

113 : 식별키 저장부 120 : 다운로드 처리모듈113: identification key storage unit 120: download processing module

121a : 식별키 요청부 121b : 식별키 요청 처리부121a: identification key request unit 121b: identification key request processing unit

121c : 버전정보 요청부 121d : 버전정보 요청처리부121c: version information request unit 121d: version information request unit

122a : 식별키 비교부 122b : 부분 다운로드 처리부122a: identification key comparison unit 122b: partial download processing unit

122c : 버전정보 비교부 122d : 부분 다운로드 처리부122c: version information comparison unit 122d: partial download processing unit

123a : 부분 다운로드 처리부 123c : 부분 다운로드 처리부123a: partial download processing unit 123c: partial download processing unit

200 : 업데이트 엔진 210a : 식별키 요청부200: update engine 210a: identification key request unit

210b : 버전정보 요청부 220a : 식별키 비교부210b: version information request unit 220a: identification key comparison unit

220b : 버전정보 비교부 230a : 부분 다운로드 처리부220b: version information comparison unit 230a: partial download processing unit

230b : 부분 다운로드 처리부230b: Partial download processor

본 발명은 소프트웨어의 부분 업데이트를 위한 통신단말기 및 통신네트워크 시스템과, 소프트웨어의 부분 업데이트 방법 및 이를 위한 소프트웨어 생성 장치 및 방법에 관한 것으로, 소프트웨어의 업데이트 기술에 관련되며, 특히 임베디드 기기에 내장된 소프트웨어의 변경된 부분만을 찾아내어 그 변경된 부분만을 다운로드 할 수 있도록 한 기술에 관련된다.The present invention relates to a communication terminal and a communication network system for partial update of software, to a method for partially updating the software, and to an apparatus and method for generating a software therefor. The present invention relates to software update technology, and more particularly, to a software embedded in an embedded device. It relates to a technique that allows you to find only the parts that have changed and to download only those parts that have changed.

임베디드(Embeded) 기기란 휴대폰, PDA 등 소프트웨어가 칩에 내장되는 기기를 말한다.Embedded devices are devices in which software such as mobile phones and PDAs are embedded in the chip.

이러한 임베디드 기기에 내장되는 소프트웨어를 업그레이드 할 경우에는 보통 고객이 해당 임베디드 기기 관련 영업소에 방문하여 요청하면 관리자가 해당 소프트웨어를 업그레이드시키는 컴퓨터 등의 단말기에 고객의 임베디드 기기를 연결 하여 소프트웨어를 다운로드시켜 변경한다.When upgrading the software embedded in such an embedded device, when a customer visits the relevant embedded device office and requests it, the administrator downloads the software by connecting the customer's embedded device to a terminal such as a computer that upgrades the software. .

종래의 임베디드 기기에 내장되는 소프트웨어를 업그레이드하는 방법은 임베디드 기기에 내장되는 소프트웨어에 대한 다운로드 서비스를 제공하는 단말기가 이와 연결된 임베디드 기기에 내장된 소프트웨어와 파일대 파일 비교를 통해 소프트웨어가 변경되었는지 확인하고, 변경되었다 판단된 경우 임베디드 기기로 변경된 소프트웨어를 다운로드하여 업그레이드를 수행하였다.The conventional method of upgrading the software embedded in the embedded device is to check whether the software has been changed by comparing the file embedded in the embedded device with the file providing the download service for the software embedded in the embedded device. If it was determined that the change was made, the upgrade was performed by downloading the changed software to the embedded device.

따라서, 이러한 종래의 방법은 소프트웨어 변경시 파일 전체를 다운로드 해야만 했기 때문에 작업 시간이 많이 소요되는 문제점이 있었다.Therefore, this conventional method has a problem that takes a lot of work time because the entire file must be downloaded when changing the software.

본 발명은 상기한 문제점을 해결하기 위해 발명된 것으로, 일정 크기의 영역별로 분리된 소프트웨어의 각 영역에 고유의 식별키를 부여하고, 이 식별키를 이용해 소프트웨어의 변경된 부분을 찾아내어 변경된 영역의 데이타만 다운로드하여 업그레이드함으로써 임베디드 기기에 내장되는 소프트웨어의 업그레이드시 작업 시간을 단축할 수 있도록 한 소프트웨어의 부분 업데이트를 위한 통신단말기 및 통신네트워크 시스템과, 소프트웨어의 부분 업데이트 방법 및 이를 위한 소프트웨어 생성 장치 및 방법을 제공함을 그 목적으로 한다.The present invention has been invented to solve the above-described problem, and a unique identification key is assigned to each area of the software separated for each area of a predetermined size, and the changed part of the software is found by using the identification key. Communication terminal and communication network system for partial update of the software to shorten the working time when upgrading the software embedded in the embedded device by only downloading and upgrading the software; The purpose is to provide.

상기한 목적을 달성하기 위한 본 발명의 일 양상에 따르면, 본 발명은 여러 개의 영역으로 이루어져 있는 소정의 소프트웨어와; 각 영역에 대한 식별키를 가지고 있는 메모리부와; 상기 식별키를 이용하여 소정의 영역을 업데이트하는 업데이트수단을 포함하여 구버전 소프트웨어와 신버전 소프트웨어의 영역별 식별키를 비 교하여 식별키가 상이한 부분만을 업데이트하는 것을 특징으로 한다.According to an aspect of the present invention for achieving the above object, the present invention comprises a predetermined software consisting of several areas; A memory unit having an identification key for each area; Including the updating means for updating a predetermined area by using the identification key, it is characterized in that to update only the portion where the identification key is different by comparing the identification key for each area of the old version software and the new version software.

본 발명의 또 다른 양상에 따르면, 본 발명은 여러 개의 영역으로 이루어져 있는 소정의 소프트웨어와; 상기 소프트웨어의 정보를 전송하기 위한 전송수단과; 상기 소프트웨어의 영역들 중 소정의 영역에 대한 신버전을 수신하여 해당 영역을 업데이트하는 업데이트수단을 포함하여 구버전 소프트웨어와 신버전 소프트웨어의 버전을 비교하여 상이할 경우 식별키가 상이한 부분만을 업데이트하는 것을 특징으로 한다.According to yet another aspect of the present invention, there is provided a software device comprising: predetermined software consisting of several areas; Transmitting means for transmitting information of the software; Receiving a new version of a predetermined area of the area of the software, including updating means for updating the corresponding area, characterized in that to update only the portion of the identification key is different when comparing the version of the old version and the new version software .

따라서, 임베디드 기기를 포함하는 통신단말기에 내장되는 소프트웨어의 변경된 부분을 찾아내어 그 영역의 데이타만을 부분 다운로드하여 업그레이드함으로써 작업 시간을 단축할 수 있게 된다.Therefore, it is possible to shorten the work time by finding the changed part of the software embedded in the communication terminal including the embedded device, and partially downloading and upgrading only the data of the area.

이하, 첨부된 도면을 참조하여 기술되는 바람직한 실시예를 통하여 본 발명을 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 기술하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily understand and reproduce the present invention.

본 발명을 상세하게 설명하기에 앞서, 본 발명은 크게 두 가지 방법으로 임베디드 기기를 포함하는 통신단말기에 내장되는 소프트웨어를 업데이트하게 된다.Prior to describing the present invention in detail, the present invention largely updates the software embedded in a communication terminal including an embedded device in two ways.

첫번째 방법은 여러 개의 영역으로 이루어져 있는 구버전 소프트웨어와 신버전 소프트웨어의 영역별 식별키를 비교하여 식별키가 상이한 부분만을 업데이트하는 방법이다.The first method is to compare the identification keys for each area of the old version software and the new version software, which is composed of several areas, and update only the portions where the identification keys are different.

두번째 방법은 여러 개의 영역으로 이루어져 있는 구버전 소프트웨어와 신버전 소프트웨어의 버전을 비교하여 상이할 경우 식별키가 상이한 부분만을 업데이트 하는 방법이다.The second method is to compare the version of the old version software and the new version software, which consists of several areas, and to update only the portions where the identification keys differ.

이 후, 위의 두 가지 방법을 이용해 임베디드 기기를 포함하는 통신단말기에 내장되는 소프트웨어를 업데이트하는 구체적인 실시예를 기술한다.Next, a specific embodiment of updating the software embedded in the communication terminal including the embedded device by using the above two methods will be described.

도 1 은 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 개요도이다.1 is a schematic diagram of a partial update service system of software embedded in an embedded device according to the present invention.

도면에 도시한 바와같이, 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템(100)은 임베디드 기기(20)를 제조하여 출하하는 제조사 단말기(10a)에서 실행되는 식별키 생성모듈(110)과, 임베디드 기기(20)에 내장되는 소프트웨어에 대한 다운로드 서비스를 제공하는 영업소 단말기(10b)에서 실행되는 다운로드 처리모듈(120)을 포함한다.As shown in the figure, the partial update service system 100 of software embedded in an embedded device according to the present invention is an identification key generation module 110 that is executed in the manufacturer terminal 10a that manufactures and ships the embedded device 20. And a download processing module 120 that is executed in the business terminal 10b that provides a download service for the software embedded in the embedded device 20.

상기 식별키 생성모듈(110)은 임베디드 기기(20)로 다운로드될 소프트웨어를 일정 크기의 영역으로 나누고, 이 나누어진 각 영역에 대해 고유의 식별키를 생성하고, 생성된 각 영역별 식별키를 저장한다.The identification key generation module 110 divides the software to be downloaded to the embedded device 20 into a region having a predetermined size, generates a unique identification key for each divided region, and stores the generated identification key for each region. do.

즉, 임베디드 기기 제조사에서 임베디드 기기(20) 출하전에 추후 갱신시 변경된 부분만 다운로드할 수 있도록 일정 크기의 영역으로 나누어진 소프트웨어 및 이 나누어진 각 영역에 대한 고유의 식별키를 탑재하여 출하하는데, 이 때, 임베디드 기기(20)에 탑재될 소프트웨어를 상기 식별키 생성모듈(110)을 통해 일정 크기의 영역으로 나누고, 이 나누어진 각 영역에 대해 고유의 식별키를 생성하여, 이들을 각각 임베디드 기기(20) 및 제조사 단말기(10a)에 저장함으로써 부분 업데이트 서비스를 위한 기반을 조성한다.That is, the embedded device manufacturer ships the software divided into areas of a certain size and a unique identification key for each divided area so that only the changed parts can be downloaded in the future before the embedded device 20 is shipped. When the software to be mounted on the embedded device 20 is divided into areas having a predetermined size through the identification key generation module 110, a unique identification key is generated for each divided area, and each of them is embedded in the embedded device 20. ) And the manufacturer terminal 10a to form a basis for the partial update service.

상기 다운로드 처리모듈(120)은 임베디드 기기(20)에 내장된 소프트웨어의 각 영역별 식별키와 다운로드 서비스를 제공하는 영업소 단말기(10b)에 저장된 소프트웨어의 각 영역별 식별키를 비교하고, 식별키가 일치하지 않는다 판단된 영역의 데이타 및 식별키를 임베디드 기기(20)로 전송하여 임베디드 기기(20)에 내장된 소프트웨어의 해당 영역 데이타를 변경하고, 변경된 영역의 식별키를 갱신한다.The download processing module 120 compares the identification key for each area of the software embedded in the embedded device 20 with the identification key for each area of the software stored in the office terminal 10b that provides the download service. The data of the determined area and the identification key are transmitted to the embedded device 20 to change the corresponding area data of the software embedded in the embedded device 20, and update the identification key of the changed area.

통상적으로, 이 다운로드 처리모듈(120)은 고객에게 판매된 임베디드 기기에 대한 고객지원을 담당하는 A/S(After Service) 센터, 영업소 등에 고객이 방문하여 임베디드 기기에 탑재된 소프트웨어에 대한 업그레이드(Upgrade)를 요청할 경우 해당 소프트웨어의 변경된 부분을 검색하여 이 변경된 부분만 다운로드하도록 처리하는 역할을 수행한다. Typically, the download processing module 120 upgrades the software installed in the embedded device when the customer visits an after-sales center or a sales office in charge of customer support for the embedded device sold to the customer. ) Request to search for the changed part of the software and to download only the changed part.

상기 다운로드 처리모듈(120)에 의한 부분 업데이트 서비스는 휴대폰 등에서와 같이 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)에서 임베디드 기기(20)로 강제로 변경된 영역의 데이타를 전송하여 임베디드 기기에 내장된 소프트웨어를 업데이트 시키는 방법도 가능하고, 임베디드 기기(20)가 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)로 변경된 영역의 데이타를 요청하여 임베디드 기기에 내장된 소프트웨어를 자동 업데이트하는 방법도 가능하다.The partial update service by the download processing module 120 is a software embedded in the embedded device by transmitting data of the area forcibly changed from the terminal terminal 10b that provides the partial update service to the embedded device 20, such as a mobile phone, etc. It is also possible to update the method, and the embedded device 20 may request a data of the changed area to the sales office terminal 10b that provides the partial update service, and may also automatically update the software embedded in the embedded device.

위에 언급한 것처럼, 상기 식별키 생성모듈(110)은 임베디드 기기를 제조하고, 임베디드 기기에 소프트웨어를 탑재하여 출하하는 임베디드 기기 제조사 단말기(10a)에서, 상기 다운로드 처리모듈(120)은 고객에게 판매된 임베디드 기기에 대한 고객지원을 담당하는 A/S(After Service) 센터, 영업소 등의 영업소 단말기 (10b)에서 실행되는 것이 통상적이다.As mentioned above, the identification key generation module 110 manufactures an embedded device, and in the embedded device manufacturer terminal 10a that ships the software by loading the embedded device, the download processing module 120 is sold to a customer. It is common to be executed in a sales terminal 10b such as an after-sales center or a sales office in charge of customer support for an embedded device.

그러나, 부분 업데이트 서비스를 위한 영역별 식별키의 효율적인 관리를 위해서나, 임베디드 기기에 탑재된 소프트웨어가 새로운 소프트웨어로 변경되었을 경우 이 새로운 소프트웨어의 효율적인 설치 및 부분 업데이트 서비스를 위해 부분 업데이트 서비스를 제공하는 동일한 영업소 단말기(10b)상에 설치되어 실행될 수 도 있다.However, the same office that provides partial update service for efficient management of area-specific identification keys for partial update service or for efficient installation and partial update service of new software when the embedded software is changed to new software. It may be installed and executed on the terminal 10b.

한편, 상기 다운로드 처리모듈(120)을 이동통신 시스템에 연동시켜 이동통신 데이타 서비스를 통해 원격으로 임베디드 기기에 내장되는 소프트웨어에 대한 부분 업데이트 서비스를 제공하도록 OTA(On The Air) 방식으로 구현할 수 도 있다.On the other hand, the download processing module 120 may be implemented in an on-the-air (OTA) manner to provide a partial update service for software embedded in an embedded device remotely through a mobile communication data service by interworking the download processing module 120 with a mobile communication system. .

상기한 식별키 생성모듈(110)과 다운로드 처리모듈(120)의 구체적인 구성을 알아본다.The detailed configuration of the identification key generation module 110 and the download processing module 120 will be described.

도 2 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 식별키 생성모듈의 일 실시예의 구성을 도시한 블럭도이다.2 is a block diagram showing the configuration of an embodiment of an identification key generation module of a partial update service system of software embedded in an embedded device according to the present invention.

도면에 도시한 바와같이, 식별키 생성모듈(110)은 영역 분리부(111)와, 식별키 생성부(112)와, 식별키 저장부(113)를 포함한다.As shown in the figure, the identification key generation module 110 includes an area separation unit 111, an identification key generation unit 112, and an identification key storage unit 113.

상기 영역 분리부(111)는 소프트웨어를 일정 크기의 영역으로 나눈다.The area separator 111 divides the software into areas of a predetermined size.

예컨데, 소프트웨어의 크기가 16MB 라 가정하면, 식별키 생성모듈(110)은 상기 영역 분리부(111)를 통해 64KB 의 일정 크기로 소프트웨어를 나누어 총 256 개의 영역으로 분리할 수 가 있다.For example, assuming that the size of the software is 16MB, the identification key generation module 110 may divide the software into a predetermined size of 64 KB through the area separation unit 111 and divide the software into 256 areas.

상기 식별키 생성부(112)는 상기 영역 분리부(111)에 의해 분리된 각 영역의 식별키를 생성한다.The identification key generation unit 112 generates identification keys for each area separated by the area separation unit 111.

상기 식별키 생성은 다양한 방법이 이용될 수 있으며, 일 예로 MD5 알고리즘을 이용해 그 영역을 식별할 수 있는 식별키를 생성할 수 있다. MD5의 경우 64KB 의 데이타를 처리하여 생성한 키값은 16 Byte 가 된다.The identification key may be generated in various ways. For example, an identification key for identifying the region may be generated using an MD5 algorithm. In the case of MD5, the key value generated by processing 64 KB of data is 16 bytes.

이 때, 상기 식별키 생성부(112)가 각 영역별 식별키 생성시 서로 다른 영역의 키값이 동일하지 않도록 각 영역별로 고유한 식별키를 생성하는 것이 바람직하다.At this time, it is preferable that the identification key generation unit 112 generates a unique identification key for each area so that key values of different areas are not the same when generating the identification key for each area.

그 이유는 서로 다른 영역이 동일한 식별키를 가진다면, 임베디드 기기(20)에 내장된 소프트웨어의 각 영역별 식별키와 다운로드 서비스를 제공하는 영업소 단말기(10b)에 저장된 소프트웨어의 각 영역별 식별키를 비교시 충돌이 일어날 가능성이 매우 크기 때문이다.The reason is that if different areas have the same identification key, the identification key for each area of the software embedded in the embedded device 20 and the identification key for each area of the software stored in the office terminal 10b that provides the download service. This is because there is a very high possibility of collision in comparison.

아울러, 상기 식별키 생성부(112)가 각 영역별 식별키 생성시 각 영역의 크기와 대비해 일정 백분율 미만의 식별키를 생성하는 것이 바람직하다.In addition, it is preferable that the identification key generator 112 generates an identification key of less than a certain percentage in comparison with the size of each region when generating the identification key for each region.

그 이유는 식별키 비교시 이용되는 식별키 사이즈가 매우 크다면 비교 과정에 소요되는 시간 및 이를 기록하는 영역의 사이즈가 커지기 때문이다. The reason is that when the identification key size used for the comparison of the identification keys is very large, the time required for the comparison process and the size of the area for recording the identification keys become large.

상기 MD5 알고리즘을 이용할 경우 위의 2 가지 조건을 동시에 만족할 수 가 있다. 상기 MD5 알고리즘은 입력 데이타(길이에 상관없는 하나의 메시지)로부터 128 비트(16 Byte) 메시지 축약을 만듦으로써 데이타 무결성을 검증하는데 사용되는 알고리즘이다. MD5는 전자 서명 응용프로그램들과 함께 사용할 목적으로 미국 MIT의 로널드 리베스트 교수가 개발하였으며, 큰 파일들은 RSA와 같은 공개키 암호 사용법하에서 개인키와 함께 암호화되기 전에 안전한 방법으로 압축되어야만 한다. MD5 규격은 현재 IETF RFC 1321에 명시되어 있다. MD5 규격에 따르면, MD5 알고리즘에 입력된 어떤 두 개의 메시지가 동일한 메시지 축약을 결과로 내거나, 또는 어떤 메시지 축약을 통해 엉뚱한 메시지가 만들어지는 것은 "계산적으로 불가능"하다고 한다.When the MD5 algorithm is used, the above two conditions can be satisfied at the same time. The MD5 algorithm is an algorithm used to verify data integrity by making a 128 bit (16 Byte) message abbreviation from input data (one message of any length). MD5 was developed by Ronald Livest, a professor at MIT in the United States for use with digital signature applications, and large files must be compressed in a secure manner before being encrypted with the private key under public key cryptography such as RSA. The MD5 specification is currently specified in IETF RFC 1321. According to the MD5 specification, it is "computatively impossible" that any two messages entered into the MD5 algorithm result in the same message abbreviation, or that the wrong message is produced by some message abbreviation.

예컨데, 상기 영역별 식별키는 MD5 규격을 따르는 해쉬함수에 의해 해당 소프트웨어의 분리된 각 영역이 해쉬(Hash)처리된 값일 수 있다.For example, the identification key for each region may be a value obtained by hashing each separated region of the corresponding software by a hash function conforming to the MD5 standard.

상기 식별키 저장부(113)는 상기 식별키 생성부(112)에 의해 생성된 각 영역별 식별키를 저장한다.The identification key storage unit 113 stores the identification key for each area generated by the identification key generation unit 112.

예컨데, 상기 MD5 알고리즘에 의해 생성된 각 영역별 식별키가 16Byte 이므로, 16MB 의 소프트웨어를 64KB 단위의 영역으로 분리하여 생성된 각 식별키들을 저장하는데 필요한 크기는 16Byte ×256 = 4KB 가 된다.For example, since the identification key for each area generated by the MD5 algorithm is 16 bytes, the size required to store each identification key generated by separating 16 MB of software into areas of 64 KB units is 16 bytes × 256 = 4 KB.

이 때, 상기 식별키 저장부(113)가 생성된 각 영역별 식별키를 해당 소프트웨어의 일정 영역에 기록하여 저장하는 것이 바람직하며, 이와는 달리 해당 단말기의 하드디스크 등의 메모리 수단에 저장할 수 도 있다.In this case, it is preferable that the identification key storage unit 113 records and stores the identification key for each area generated in a predetermined area of the corresponding software. Alternatively, the identification key storage unit 113 may store the identification key for each area in a memory means such as a hard disk of the corresponding terminal. .

상기한 구성을 가지는 식별키 생성모듈(110)의 동작 흐름을 도 4 에 도시하였다.4 illustrates an operation flow of the identification key generation module 110 having the above configuration.

도 4 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 식별키 생성시의 일 실시예의 흐름도이다.4 is a flowchart of an embodiment of generating an identification key of a partial update service system of software embedded in an embedded device according to the present invention.

상기 식별키 생성모듈(110)은 먼저, 영역 분리단계(S110)에서 소프트웨어를 일정 크기의 영역으로 나눈다.The identification key generation module 110 first divides the software into regions of a predetermined size in an area separation step S110.

그 다음, 식별키 생성단계(S120)에서 상기 영역 분리단계(S110)에서 나누어진 각 영역별 식별키를 생성한다.Next, in the identification key generation step S120, an identification key for each area divided in the area separation step S110 is generated.

이 때, 서로 다른 영역의 키값이 동일하지 않도록 각 영역별로 고유한 식별키를 생성하고, 아울러 각 영역의 크기와 대비해 일정 백분율 미만의 식별키를 생성한다.At this time, a unique identification key is generated for each region so that key values of different regions are not the same, and an identification key less than a certain percentage is generated in comparison with the size of each region.

마지막으로, 식별키 저장단계(S130)에서 상기 식별키 생성단계(S120)에 의해 생성된 각 영역별 식별키를 저장하는 동작을 한다.Finally, in the identification key storage step (S130), an operation of storing the identification key for each area generated by the identification key generation step (S120).

이 때, 생성된 각 영역별 식별키를 해당 소프트웨어의 일정 영역에 기록하여 저장하는 것이 바람직하며, 이와는 달리 해당 소프트웨어의 다운로드 서비스를 제공하는 영업소 단말기의 메모리 수단에 저장할 수 도 있다.At this time, it is preferable to record and store the generated identification key for each area in a predetermined area of the corresponding software. Alternatively, the generated identification key for each area may be stored in a memory means of a business terminal providing a download service of the corresponding software.

따라서, 위와같이함에 의해 변경된 부분만 다운로드 할 수 있도록 하는 식별키를 생성하게 된다.Therefore, an identification key is generated so that only the changed part can be downloaded.

도 3a 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 다운로드 처리모듈의 일 실시예의 블럭도이다.3A is a block diagram of one embodiment of a download processing module of a partial update service system of software embedded in an embedded device according to the present invention.

이 실시예에 따른 다운로드 처리모듈(120)은 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)에서 임베디드 기기(20)로 강제로 변경된 영역의 데이타를 전송하여 업데이트 시키는 경우로, 식별키 요청부(121a)와, 식별키 비교부(122a)와, 부분 다운로드 처리부(123a)를 포함한다.The download processing module 120 according to the present embodiment is a case where the terminal terminal 10b providing the partial update service updates data by forcibly changing the area of the changed area to the embedded device 20. The identification key request unit 121a ), An identification key comparison unit 122a, and a partial download processing unit 123a.

상기 식별키 요청부(121a)는 소프트웨어가 내장된 임베디드 기기(20)로 각 영역별 식별키를 요청하여 수신한다.The identification key request unit 121a requests and receives an identification key for each area from the embedded device 20 in which software is embedded.

예컨데, 휴대폰 사용 고객이 자신의 휴대폰에 내장된 소프트웨어를 변경하고자 할 경우 해당 휴대폰 통신사 영업소를 방문하여 요청하면, 관리자는 임베디드 기기(20)인 해당 고객의 휴대폰을 부분 업데이트 서비스를 제공하는 컴퓨터 등의 영업소 단말기(10b)에 연결하고, 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템을 실행한다.For example, if a customer who uses a mobile phone wants to change the software embedded in his or her mobile phone, he or she visits the mobile phone carrier and asks for it. It connects to the office terminal 10b and executes a partial update service system of software embedded in the embedded device according to the present invention.

그러면, 상기 다운로드 처리모듈(120)은 상기 식별키 요청부(121a)를 통해 해당 고객의 휴대폰으로 내장된 소프트웨어의 각 영역별 식별키를 요청하여 수신한다.Then, the download processing module 120 requests and receives an identification key for each area of the software embedded in the mobile phone of the corresponding customer through the identification key request unit 121a.

이 때, 휴대폰으로 내장된 소프트웨어의 각 영역별 식별키는 해당 소프트웨어의 일정 영역에 기록되어 저장되어 있는 것이 바람직하며, 이와는 달리 휴대폰의 플래쉬 롬(Flash ROM)과 같은 비휘발성 메모리에 소프트웨어와는 별도로 저장되어 있을 수 도 있다.At this time, the identification key of each area of the software embedded in the mobile phone is preferably recorded and stored in a certain area of the corresponding software.In contrast, the identification key is stored in a nonvolatile memory such as a flash ROM of the mobile phone separately from the software. It may be stored.

상기 식별키 비교부(122a)는 상기 식별키 요청부(121a)에 의해 수신된 각 영역별 식별키와 다운로드할 소프트웨어의 각 영역별 식별키를 비교한다.The identification key comparing unit 122a compares the identification key for each area received by the identification key requesting unit 121a with the identification key for each area of the software to be downloaded.

즉, 상기 다운로드 처리모듈(120)은 식별키 비교부(122a)를 통해 고객의 휴대폰으로부터 수신한 각 영역별 식별키와 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)에 저장된 다운로드할 소프트웨어의 각 영역별 식별키를 각 영역별로 비교한다.That is, the download processing module 120 stores each area of the software to be downloaded stored in the terminal terminal 10b that provides the partial update service and the identification key for each area received from the mobile phone of the customer through the identification key comparison unit 122a. The star identification key is compared for each area.

상기 부분 다운로드 처리부(123a)는 상기 식별키 비교부(122a)에 의해 식별 키가 일치하지 않는다 판단된 영역의 데이타 및 식별키를 임베디드 기기(20)로 전송하여 임베디드 기기(20)에 내장된 소프트웨어의 해당 영역 데이타를 변경하고, 변경된 영역의 식별키를 갱신한다.The partial download processing unit 123a transmits the data and the identification key of the area determined by the identification key comparison unit 122a to be inconsistent to the embedded device 20 so as to be embedded in the embedded device 20. Changes the corresponding region data of and updates the identification key of the changed region.

즉, 상기 다운로드 처리모듈(120)은 각 영역별로 비교되어 식별키가 일치하지 않은 영역의 데이타를 상기 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)에 저장된 소프트웨어로부터 추출하여 이를 임베디드 기기(20)인 해당 고객의 휴대폰으로 전송하여 이에 내장된 소프트웨어의 해당 영역에 덮어쓰기를 수행함으로써 변경된 부분만 부분 다운로드 시키고, 추후 업데이트시에 비교될 변경된 식별키를 해당 휴대폰에 전송하여 식별키 저장 영역의 데이타를 갱신한다.That is, the download processing module 120 extracts the data of the areas which are compared for each area and the identification keys do not match from the software stored in the office terminal 10b that provides the partial update service. Updates the data in the identification key storage area by transferring only the changed part to the mobile phone of the customer and overwriting the corresponding area of the software embedded in it. do.

상기한 구성을 가지는 다운로드 처리모듈(120)의 동작 흐름을 도 5a 에 도시하였다.An operation flow of the download processing module 120 having the above configuration is illustrated in FIG. 5A.

도 5a 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 부분 다운로드시의 일 실시예의 흐름도이다.5A is a flowchart of an embodiment of a partial download of a partial update service system of software embedded in an embedded device according to the present invention.

도면에 도시한 바와같이, 상기 다운로드 처리모듈(120)은 먼저, 식별키 요청단계(S210)에서 소프트웨어가 내장된 임베디드 기기(20)로 각 영역별 식별키를 요청하여 수신한다.As shown in the figure, the download processing module 120 first requests and receives an identification key for each region from the embedded device 20 in which software is embedded in the identification key request step S210.

그 다음, 상기 다운로드 처리모듈(120)은 식별키 비교단계(S220)에서 상기 식별키 요청단계(S210)에 의해 수신된 각 영역별 식별키와 다운로드할 소프트웨어의 각 영역별 식별키를 각 영역별로 비교한다.Next, the download processing module 120 uses the identification key for each area received by the identification key request step (S210) and the identification key for each area of the software to be downloaded in the identification key comparison step (S220). Compare.

마지막으로, 상기 다운로드 처리모듈(120)은 부분 다운로드 처리단계(S230) 에서 상기 식별키 비교단계(S220)에 의해 식별키가 일치하지 않는다 판단된 영역의 데이타 및 식별키를 임베디드 기기(20)로 전송하여 임베디드 기기(20)에 내장된 소프트웨어의 해당 영역 데이타를 변경하고, 변경된 영역의 식별키를 갱신하는 동작을 한다.Finally, the download processing module 120 transfers the data and the identification key of the area determined by the identification key comparison step S220 in the partial download processing step S230 to the embedded device 20. It transmits and changes the area data of the software embedded in the embedded device 20, and updates the identification key of the changed area.

따라서, 위와같이 함에 의해 임베디드 기기에 내장되는 소프트웨어의 변경된 부분을 찾아내어 그 영역의 데이타만을 부분 다운로드하여 업그레이드함으로써 작업 시간을 단축할 수 있게 된다.Therefore, by doing the above it is possible to find the changed part of the software embedded in the embedded device and to download only the data of the area and upgrade, thereby reducing the work time.

도 3b 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 다운로드 처리모듈의 또 다른 실시예의 블럭도이다.3B is a block diagram of another embodiment of a download processing module of a partial update service system of software embedded in an embedded device according to the present invention.

이 실시예에 따른 다운로드 처리모듈(120)은 임베디드 기기(20)가 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)로 변경된 영역의 데이타를 요청하여 업데이트하는 경우로, 식별키 요청 처리부(121b)와, 부분 다운로드 처리부(122b)를 포함한다.The download processing module 120 according to this embodiment is a case in which the embedded device 20 requests and updates data of the changed area to the business terminal 10b that provides the partial update service, and includes an identification key request processing unit 121b. And a partial download processor 122b.

상기 식별키 요청 처리부(121b)는 임베디드 기기(20)로부터 다운로드될 소프트웨어의 각 영역별 식별키 요청을 수신하고, 요청된 각 영역별 식별키를 전송한다.The identification key request processor 121b receives an identification key request for each area of the software to be downloaded from the embedded device 20 and transmits the requested identification key for each area.

예컨데, 임베디드 기기(20)인 인터넷 이용이 가능한 모바일 단말기의 모바일 익스플로러를 모바일 단말기에서 실행할 경우를 가정하자. For example, suppose that the mobile explorer of the mobile terminal capable of using the Internet, which is the embedded device 20, is executed in the mobile terminal.

모바일 단말기를 이용하는 고객이 모바일 익스플로러를 실행하면, 모바일 단말기의 운영체제(OS)의 제어하에 수행되는 모바일 익스플로러(Mobile Explorer)가 자동 업데이트 엔진(Update Engine)을 실행하여 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)로 해당 모바일 익스플로러가 변경되었는지 확인하기 위해 다운로드될 소프트웨어인 모바일 익스플로러의 각 영역별 식별키를 요청한다.When the customer using the mobile terminal runs the mobile explorer, the business terminal (Mobile Explorer) under the control of the operating system (OS) of the mobile terminal running the automatic update engine (Update Engine) to provide a partial update service (terminal terminal ( 10b) requests identification key of each area of mobile explorer which is software to be downloaded to check whether the mobile explorer has been changed.

그러면, 다운로드 처리모듈(120)은 식별키 요청 처리부(121b)를 통해 모바일 익스플로러의 각 영역별 식별키를 해당 모바일 단말기로 전송한다. Then, the download processing module 120 transmits the identification key for each area of the mobile explorer through the identification key request processing unit 121b to the corresponding mobile terminal.

상기 자동 업데이트 엔진(Update Engine)은 내장된 모바일 익스플로러의 각 영역별 식별키와 상기 영업소 단말기(10b)로부터 수신한 모바일 익스플로러의 각 영역별 식별키를 각 영역별로 비교하여 일치하지 않는 영역에 대한 데이타 전송을 상기 영업소 단말기(10b)로 요청한다.The automatic update engine compares the identification key for each area of the embedded mobile explorer with the identification key for each area of the mobile explorer received from the office terminal 10b for each area and compares the data for the areas that do not match. Request transmission to the office terminal 10b.

상기 부분 다운로드 처리부(122b)는 임베디드 기기(20)로부터 식별키가 일치하지 않는다 판단된 영역의 데이타 전송 요청을 수신하고, 요청된 영역의 데이타를 전송하여 임베디드 기기(20)에 내장된 소프트웨어의 변경된 영역의 데이타 및 식별키를 갱신하도록 처리한다.The partial download processing unit 122b receives a data transmission request of the determined area from the embedded device 20 that the identification key does not match, and transmits data of the requested area to change the software embedded in the embedded device 20. Process to update the area's data and identification key.

즉, 상기 다운로드 처리모듈(120)은 임베디드 기기(20)인 모바일 단말기로부터의 데이타 전송 요청에 따라 상기 부분 다운로드 처리부(122b)를 통해 요청된 모바일 익스플로러의 변경된 영역의 데이타를 전송하여 업데이트 엔진이 모바일 익스플로러를 갱신하도록 한다. 아울러, 상기 다운로드 처리모듈(120)은 상기 부분 다운로드 처리부(122b)를 통해 추후 업데이트시에 이용되도록 변경된 식별키를 해당 모바일 단말기로 전송하여 업데이트 엔진이 식별키 저장 영역의 데이타를 갱신하도록 한다.That is, the download processing module 120 transmits data of the changed area of the requested mobile explorer through the partial download processing unit 122b according to a data transmission request from the mobile terminal, which is the embedded device 20, so that the update engine is mobile. Make sure to update Explorer. In addition, the download processing module 120 transmits the changed identification key to the mobile terminal through the partial download processing unit 122b so that the update engine can update the data in the identification key storage area.

상기 업데이트 엔진은 임베디드 기기(20)에서 실행되어, 다운로드 처리모듈(120)로부터 전송된 변경된 영역의 데이타를 임베디드 기기(20)의 램(RAM)에 기록하고, 부분 다운로드할 소프트웨어가 저장된 플래쉬(Flash) 메모리로부터 변경될 영역의 데이타를 지우고, 상기 램(RAM)에 저장된 변경된 영역의 데이타를 상기 플래쉬(Flash) 메모리의 지운 영역에 기록함으로써 임베디드 기기에 탑재된 소프트웨어를 갱신하는 것이며, 상기 다운로드 처리모듈(120)로부터 변경된 영역별 식별키를 수신하여 임베디드 기기(20)에 저장된 영역별 식별키를 갱신하는 것을 더 포함할 수 도 있다.The update engine is executed in the embedded device 20 to record the data of the changed area transmitted from the download processing module 120 in the RAM of the embedded device 20, and stores flash for storing the software for partial download. (C) updating software mounted in an embedded device by erasing data of a region to be changed from a memory, and writing the data of the changed region stored in the RAM to the erased region of the flash memory. The method may further include updating the region-specific identification key stored in the embedded device 20 by receiving the region-specific identification key from the 120.

이에 대한 구체적인 설명은 이후에 설명하고자 한다.Detailed description thereof will be described later.

상기한 구성을 가지는 다운로드 처리모듈(120)의 동작 흐름을 도 5b 에 도시하였다.An operation flow of the download processing module 120 having the above configuration is illustrated in FIG. 5B.

도 5b 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 부분 다운로드시의 또 다른 실시예의 흐름도이다.5B is a flowchart of another embodiment of a partial download of a system of partial update service of software embedded in an embedded device according to the present invention.

도면에 도시한 바와같이, 상기 다운로드 처리모듈(120)은 먼저, 식별키 요청 처리단계(S310)에서 임베디드 기기(20)로부터 다운로드될 소프트웨어의 각 영역별 식별키 요청을 수신하고, 요청된 각 영역별 식별키를 전송한다.As shown in the figure, the download processing module 120 first receives an identification key request for each area of software to be downloaded from the embedded device 20 in the identification key request processing step (S310), and then requests each area. Sends a star identification key.

그 다음, 상기 다운로드 처리모듈(120)은 부분 다운로드 처리단계(S320)를 통해 상기 임베디드 기기(20)로부터 식별키가 일치하지 않는다 판단된 영역의 데이타 전송 요청을 수신하고, 요청된 영역의 데이타를 전송하여 임베디드 기기(20)에 내장된 소프트웨어의 변경된 영역의 데이타 및 식별키를 갱신하도록 처리하는 동작 을 한다.Next, the download processing module 120 receives a data transmission request of an area in which it is determined that the identification keys do not match from the embedded device 20 through the partial download processing step S320, and transmits data of the requested area. Transmits and updates the data and the identification key of the changed area of the software embedded in the embedded device 20.

따라서, 위와같이함에 의해 임베디드 기기에 내장되는 소프트웨어의 변경된 부분을 찾아내어 그 영역의 데이타만을 부분 다운로드하여 업그레이드함으로써 작업 시간을 단축할 수 있게 된다.Therefore, by doing the above, it is possible to shorten the work time by finding the changed part of the software embedded in the embedded device and downloading only the data of the area and upgrading it.

이 때, 도 3b 에 도시한 임베디드 기기(20)가 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)로 소정의 소프트웨어에 대한 변경된 영역의 데이타를 요청하여 업데이트하는 경우에는, 각 소프트웨어가 자신에 대한 자동 업데이트 엔진(Update Engine)을 구비해야 한다.At this time, when the embedded device 20 shown in FIG. 3B requests and updates the data of the changed area of the predetermined software to the sales terminal 10b that provides the partial update service, each software automatically executes the software. You must have an Update Engine.

도 3c 는 도 3b 에 도시한 실시예에서의 임베디드 기기에서 실행되는 소프트웨어의 자동 업데이트 엔진(200)의 일실시예를 도시한 것이다.FIG. 3C illustrates one embodiment of an automatic update engine 200 of software running on an embedded device in the embodiment shown in FIG. 3B.

상기 자동 업데이트 엔진(200)은 식별키 요청부(210a)와, 식별키 비교부(220a)와, 부분 다운로드 처리부(230a)를 포함한다.The automatic update engine 200 includes an identification key request unit 210a, an identification key comparison unit 220a, and a partial download processor 230a.

상기 식별키 요청부(210a)는 각 소프트웨어에 대해 종속적으로 수행되어 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)로 해당 소프트웨어가 변경되었는지 확인하기 위해 해당 소프트웨어의 각 영역별 식별키를 요청하여 수신한다. The identification key request unit 210a requests and receives an identification key for each area of the corresponding software in order to check whether the corresponding software has been changed to the business terminal 10b which is performed dependently on each software and provides the partial update service. .

즉, 자동 업데이트 엔진(200)이 상기 식별키 요청부(210a)를 통해 해당 소프트웨어가 변경되었는지 확인하기 위해 해당 소프트웨어의 각 영역별 식별키를 영업소 단말기(10b)로 요청하면, 영업소 단말기(10b)가 다운로드 처리모듈(120a)의 식별키 요청 처리부(121b)를 통해 요청된 소프트웨어의 각 영역별 식별키를 전송하고, 자동 업데이트 엔진(200)은 상기 식별키 요청부(210a)를 통해 이를 수신한다.That is, when the automatic update engine 200 requests the identification key for each area of the corresponding software to the sales terminal 10b in order to check whether the corresponding software has been changed through the identification key request unit 210a, the sales terminal 10b. Transmits an identification key for each area of the requested software through the identification key request processing unit 121b of the download processing module 120a, and the automatic update engine 200 receives the identification key through the identification key requesting unit 210a. .

상기 식별키 비교부(220a)는 상기 영업소 단말기(10b)로부터 수신한 소프트웨어의 각 영역별 식별키를 임베디드 기기(20) 자체에 저장된 해당 소프트웨어의 각 영역별 식별키와 비교한다.The identification key comparison unit 220a compares the identification key for each area of the software received from the office terminal 10b with the identification key for each area of the corresponding software stored in the embedded device 20 itself.

즉, 자동 업데이트 엔진(200)은 상기 영업소 단말기(10b)로부터 해당 소프트웨어의 각 영역별 식별키를 수신하면, 상기 식별키 비교부(220a)를 통해 수신한 소프트웨어의 각 영역별 식별키를 임베디드 기기(20) 자체에 저장된 해당 소프트웨어의 각 영역별 식별키와 비교한다.That is, when the automatic update engine 200 receives the identification key for each area of the corresponding software from the office terminal 10b, the automatic update engine 200 embeds the identification key for each area of the software received through the identification key comparison unit 220a. (20) It compares with identification key of each area of the corresponding software stored in itself.

상기 부분 다운로드 처리부(230a)는 상기 식별키 비교부(220a)에 의해 식별키가 일치하지 않는 영역에 대한 데이타 전송을 상기 영업소 단말기(10b)로 요청하고, 이를 수신하여 해당 소프트웨어의 변경된 영역 데이타를 변경하고, 변경된 영역의 식별키를 갱신한다.The partial download processor 230a requests the office terminal 10b to transmit data for an area where the identification keys do not match by the identification key comparison unit 220a, and receives the changed area data of the corresponding software. Change and update the identification key of the changed area.

즉, 자동 업데이트 엔진(200)이 상기 식별키 비교부(220a)에 의해 식별키가 일치하지 않는 영역에 대한 데이타 전송을 상기 부분 다운로드 처리부(230a)를 통해 상기 영업소 단말기(10b)로 요청하면, 영업소 단말기(10b)가 다운로드 처리모듈(120)의 부분 다운로드 처리부(122b)를 통해 해당 소프트웨어의 변경된 영역 데이타 및 변경된 영역의 식별키를 임베디드 기기(20)로 전송하고, 상기 자동 업데이트 엔진(200)은 상기 부분 다운로드 처리부(230a)를 통해 이를 수신하여 해당 소프트웨어의 변경된 영역 데이타를 변경하고, 변경된 영역의 식별키를 갱신한다.That is, when the automatic update engine 200 requests the office terminal 10b through the partial download processing unit 230a to transmit data for an area where the identification keys do not match, by the identification key comparison unit 220a, The office terminal 10b transmits the changed area data of the corresponding software and the identification key of the changed area to the embedded device 20 through the partial download processing unit 122b of the download processing module 120, and the automatic update engine 200. Receives this through the partial download processor 230a, changes the changed area data of the corresponding software, and updates the identification key of the changed area.

따라서, 위와같이함에 의해 임베디드 기기에 내장되는 소프트웨어의 변경된 부분을 찾아내어 그 영역의 데이타만을 부분 다운로드하여 업그레이드함으로써 작 업 시간을 단축할 수 있게 된다.Therefore, by doing the above, it is possible to shorten the working time by finding the changed part of the software embedded in the embedded device and downloading only the data of the area and upgrading it.

도 3d 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 다운로드 처리모듈의 또 다른 실시예의 블럭도이다.3D is a block diagram of another embodiment of a download processing module of a partial update service system of software embedded in an embedded device according to the present invention.

이 실시예에 따른 다운로드 처리모듈(120)은 도 3a 에 도시한 실시예와는 달리 소프트웨어의 버전정보를 비교함에 의해 해당 소프트웨어가 변경되었는지를 검출하도록 한 것으로, 버전정보 요청부(121c)와, 버전정보 비교부(122c)와, 부분 다운로드 처리부(123c)를 포함한다.Unlike the embodiment illustrated in FIG. 3A, the download processing module 120 according to the present embodiment is configured to detect whether the corresponding software has been changed by comparing the version information of the software. The version information request unit 121c includes: The version information comparison unit 122c and the partial download processing unit 123c are included.

상기 버전정보 요청부(121c)는 소프트웨어가 내장된 임베디드 기기(20)로 소프트웨어의 버전정보를 요청하여 수신한다.The version information request unit 121c requests and receives version information of the software from the embedded device 20 in which the software is embedded.

예컨데, 휴대폰 사용 고객이 자신의 휴대폰에 내장된 소프트웨어를 변경하고자 할 경우 해당 휴대폰 통신사 영업소를 방문하여 요청하면, 관리자는 임베디드 기기(20)인 해당 고객의 휴대폰을 부분 업데이트 서비스를 제공하는 컴퓨터 등의 영업소 단말기(10b)에 연결하고, 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템을 실행한다.For example, if a customer who uses a mobile phone wants to change the software embedded in his or her mobile phone, he or she visits the mobile phone carrier and asks for it. It connects to the office terminal 10b and executes a partial update service system of software embedded in the embedded device according to the present invention.

그러면, 상기 다운로드 처리모듈(120)은 상기 버전정보 요청부(121c)를 통해 해당 고객의 휴대폰으로 내장된 소프트웨어의 버전정보를 요청하여 수신한다.Then, the download processing module 120 requests and receives version information of the software embedded in the mobile phone of the corresponding customer through the version information requesting unit 121c.

이 때, 휴대폰으로 내장된 소프트웨어의 버전정보는 해당 소프트웨어의 영역별 식별키 파일의 해더(Header)에 기록되어 저장되어 있는 것이 바람직하다. 이 영역별 식별키 파일의 해더(Header)에 대해서는 추후 설명하기로 한다.At this time, the version information of the software embedded in the mobile phone is preferably stored in the header of the identification key file for each area of the software. The header of the area identification key file will be described later.

상기 버전정보 비교부(122c)는 상기 버전정보 요청부(121c)에 의해 수신된 버전과 다운로드할 소프트웨어의 버전을 비교한다.The version information comparing unit 122c compares the version received by the version information requesting unit 121c with the version of the software to be downloaded.

즉, 상기 다운로드 처리모듈(120)은 버전정보 비교부(122c)를 통해 고객의 휴대폰으로부터 수신한 버전정보와 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)에 저장된 다운로드할 소프트웨어의 버전정보를 비교한다.That is, the download processing module 120 compares the version information received from the mobile phone of the customer through the version information comparison unit 122c with the version information of the software to be downloaded stored in the business terminal 10b that provides the partial update service. .

상기 부분 다운로드 처리부(123c)는 상기 버전 비교부(122c)에 의해 버전정보가 상이할 경우, 두 버전 각각의 영역별 식별키를 비교하여 식별키가 일치하지 않는다 판단된 영역의 데이타 및 영역별 식별키를 임베디드 기기(20)로 전송하여 임베디드 기기(20)에 내장된 소프트웨어의 해당 영역 데이타를 변경하고, 변경된 영역의 식별키를 갱신한다.When the version information is different by the version comparison unit 122c, the partial download processing unit 123c compares the identification keys for each region of each of the two versions and identifies the identification keys that do not match. The key is transmitted to the embedded device 20 to change the corresponding area data of the software embedded in the embedded device 20 and update the identification key of the changed area.

즉, 상기 다운로드 처리모듈(120)은 버전이 일치하지 않은 경우, 식별키가 일치하지 않은 영역의 데이타를 상기 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)에 저장된 소프트웨어로부터 추출하여 이를 임베디드 기기(20)인 해당 고객의 휴대폰으로 전송하여 이에 내장된 소프트웨어의 해당 영역에 덮어쓰기를 수행함으로써 변경된 부분만 부분 다운로드 시키고, 추후 업데이트시에 비교될 변경된 식별키를 해당 휴대폰에 전송하여 식별키 저장 영역의 데이타를 갱신한다.That is, if the versions do not match, the download processing module 120 extracts the data of the region where the identification keys do not match from the software stored in the office terminal 10b that provides the partial update service, and stores the data in the embedded device 20. Data is stored in the identification key storage area by transferring it to the mobile phone of the customer and overwriting the corresponding area of the software embedded in it. Update the.

상기한 구성을 가지는 다운로드 처리모듈(120)의 동작 흐름을 도 5c 에 도시하였다.An operation flow of the download processing module 120 having the above configuration is illustrated in FIG. 5C.

도 5c 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 부분 다운로드시의 또 다른 실시예의 흐름도이다.5C is a flowchart of another embodiment of a partial download of a system of partial update service of software embedded in an embedded device according to the present invention.

도면에 도시한 바와같이, 상기 다운로드 처리모듈(120)은 먼저, 버전정보 요 청단계(S410)에서 소프트웨어가 내장된 임베디드 기기(20)로 소프트웨어의 버전정보를 요청하여 수신한다.As shown in the figure, the download processing module 120 first requests and receives version information of the software from the embedded device 20 in which the software is embedded in the version information request step (S410).

그 다음, 상기 다운로드 처리모듈(120)은 버전정보 비교단계(S420)에서 상기 버전정보 요청단계(S410)에 의해 수신된 버전정보와 임베디드 기기(20)에 탑재된 소프트웨어의 버전정보를 비교한다.Next, the download processing module 120 compares the version information received by the version information request step S410 in the version information comparison step S420 with the version information of the software mounted on the embedded device 20.

마지막으로, 상기 다운로드 처리모듈(120)은 부분 다운로드 처리단계(S430)에서 버전정보가 다를 경우 임베디드 기기(20)에 탑재된 영역별 식별키와 다운로드할 소프트웨어의 각 영역별 식별키를 각 영역별로 비교하여 식별키가 일치하지 않는다 판단된 영역의 데이타 및 식별키를 임베디드 기기(20)로 전송하여 임베디드 기기(20)에 내장된 소프트웨어의 해당 영역 데이타를 변경하고, 변경된 영역의 식별키를 갱신하는 동작을 한다.Finally, if the version information is different in the partial download processing step (S430), the download processing module 120 uses the identification key for each area mounted on the embedded device 20 and the identification key for each area of the software to be downloaded for each area. In comparison, the identification key does not match. The data of the determined area and the identification key are transmitted to the embedded device 20 to change the corresponding area data of the software embedded in the embedded device 20 and update the identification key of the changed area. It works.

따라서, 위와같이 함에 의해 임베디드 기기에 내장되는 소프트웨어의 변경된 부분을 찾아내어 그 영역의 데이타만을 부분 다운로드하여 업그레이드함으로써 작업 시간을 단축할 수 있게 된다.Therefore, by doing the above it is possible to find the changed part of the software embedded in the embedded device and to download only the data of the area and upgrade, thereby reducing the work time.

도 3e 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 다운로드 처리모듈의 또 다른 실시예의 블럭도이다.3E is a block diagram of another embodiment of a download processing module of a partial update service system of software embedded in an embedded device according to the present invention.

이 실시예에 따른 다운로드 처리모듈(120)은 도 3b 에 도시한 실시예와는 달리 소프트웨어의 버전정보를 비교함에 의해 해당 소프트웨어가 변경되었는지를 검출하도록 한 것으로, 버전정보 요청 처리부(121d)와, 부분 다운로드 처리부(122d)를 포함한다.Unlike the embodiment shown in FIG. 3B, the download processing module 120 according to the present embodiment is configured to detect whether the corresponding software has been changed by comparing the version information of the software, and the version information request processing unit 121d, A partial download processing unit 122d is included.

상기 버전정보 요청 처리부(121d)는 임베디드 기기(20)로부터 다운로드될 소프트웨어의 버전정보 요청을 수신하고, 요청된 버전정보를 전송한다.The version information request processor 121d receives a version information request of software to be downloaded from the embedded device 20, and transmits the requested version information.

예컨데, 임베디드 기기(20)인 인터넷 이용이 가능한 모바일 단말기의 모바일 익스플로러를 모바일 단말기에서 실행할 경우를 가정하자. For example, suppose that the mobile explorer of the mobile terminal capable of using the Internet, which is the embedded device 20, is executed in the mobile terminal.

모바일 단말기를 이용하는 고객이 모바일 익스플로러를 실행하면, 모바일 단말기의 운영체제(OS)의 제어하에 수행되는 모바일 익스플로러(Mobile Explorer)가 자동 업데이트 엔진(Update Engine)을 실행하여 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)로 해당 모바일 익스플로러가 변경되었는지 확인하기 위해 다운로드될 소프트웨어의 버전정보를 요청한다.When the customer using the mobile terminal runs the mobile explorer, the business terminal (Mobile Explorer) under the control of the operating system (OS) of the mobile terminal running the automatic update engine (Update Engine) to provide a partial update service (terminal terminal ( 10b) requests version information of the software to be downloaded to check if the corresponding mobile explorer has changed.

상기 부분 다운로드 처리부(122d)는 버전정보를 비교한 임베디드 기기(20)로부터 식별키가 일치하지 않을 경우, 변경된 영역에 대한 데이타 전송 요청을 수신하고, 요청된 영역의 데이타를 전송하여 임베디드 기기(20)에 내장된 소프트웨어의 변경된 영역의 데이타 및 식별키를 갱신하도록 처리한다. The partial download processing unit 122d receives a data transmission request for a changed area when the identification keys do not match from the embedded device 20 comparing the version information, and transmits data of the requested area to the embedded device 20. Process to update the data and the identification key of the changed area of the built-in software.

즉, 상기 다운로드 처리모듈(120)은 임베디드 기기(20)인 모바일 단말기로부터의 데이타 전송 요청에 따라 상기 부분 다운로드 처리부(122d)를 통해 변경된 영역의 데이타를 전송하고, 아울러 상기 다운로드 처리모듈(120)은 상기 부분 다운로드 처리부(122d)를 통해 추후 업데이트시에 이용되도록 변경된 식별키를 해당 모바일 단말기로 전송하여 식별키 저장 영역의 데이타를 갱신하도록 한다.That is, the download processing module 120 transmits the data of the changed area through the partial download processing unit 122d according to a data transmission request from the mobile terminal, which is the embedded device 20, and the download processing module 120. The partial download processor 122d transmits the changed identification key to the mobile terminal to update the data in the identification key storage area.

상기한 구성을 가지는 다운로드 처리모듈(120)의 동작 흐름을 도 5d 에 도시하였다.An operation flow of the download processing module 120 having the above configuration is illustrated in FIG. 5D.

도 5d 는 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 부분 다운로드시의 또 다른 실시예의 흐름도이다.5D is a flowchart of another embodiment of a partial download of a system of partial update service of software embedded in an embedded device according to the present invention.

도면에 도시한 바와같이, 상기 다운로드 처리모듈(120)은 먼저, 버전정보 요청 처리단계(S510)에서 임베디드 기기(20)로부터 다운로드될 소프트웨어의 버전정보 요청을 수신하고, 요청된 버전정보를 전송한다.As shown in the figure, the download processing module 120 first receives a version information request of software to be downloaded from the embedded device 20 in the version information request processing step (S510), and transmits the requested version information. .

그 다음, 상기 다운로드 처리모듈(120)은 부분 다운로드 처리단계(S520)를 통해 상기 임베디드 기기(20)로부터 버전정보가 일치하지 않을 경우 변경된 영역에 대한 데이타 전송 요청을 수신하고, 요청된 영역의 데이타를 전송하여 임베디드 기기(20)에 내장된 소프트웨어의 변경된 영역의 데이타 및 식별키를 갱신하도록 처리하는 동작을 한다.Then, the download processing module 120 receives a data transmission request for the changed area when the version information does not match from the embedded device 20 through the partial download processing step (S520), the data of the requested area Transmits the data to update the data and the identification key of the changed area of the software embedded in the embedded device (20).

따라서, 위와같이함에 의해 임베디드 기기에 내장되는 소프트웨어의 변경된 부분을 찾아내어 그 영역의 데이타만을 부분 다운로드하여 업그레이드함으로써 작업 시간을 단축할 수 있게 된다.Therefore, by doing the above, it is possible to shorten the work time by finding the changed part of the software embedded in the embedded device and downloading only the data of the area and upgrading it.

이 때, 도 3e 에 도시한 임베디드 기기(20)가 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)로 소정의 소프트웨어에 대한 변경된 영역의 데이타를 요청하여 업데이트하는 경우에는, 각 소프트웨어가 자신에 대해 종속적인 자동 업데이트 엔진(Update Engine)을 구비해야 한다.At this time, when the embedded device 20 shown in FIG. 3E requests and updates the data of the changed area for the predetermined software to the sales terminal 10b providing the partial update service, each software is dependent on itself. Have an automatic update engine.

도 3f 는 도 3e 에 도시한 실시예에서의 임베디드 기기에서 실행되는 소프트웨어의 자동 업데이트 엔진(200)의 일실시예를 도시한 것이다.FIG. 3F illustrates one embodiment of an automatic update engine 200 of software running on an embedded device in the embodiment shown in FIG. 3E.

상기 자동 업데이트 엔진(200)은 버전정보 요청부(210b)와, 버전정보 비교부 (220b)와, 부분 다운로드 처리부(230b)를 포함한다.The automatic update engine 200 includes a version information requesting unit 210b, a version information comparing unit 220b, and a partial download processing unit 230b.

상기 버전정보 요청부(210b)는 다운로드 처리모듈(120)로 소프트웨어가 변경되었는지 확인하기 위해 해당 소프트웨어의 버전정보를 요청하여 수신한다.The version information requesting unit 210b requests and receives version information of the corresponding software in order to check whether the software has been changed by the download processing module 120.

즉, 자동 업데이트 엔진(200)이 상기 버전정보 요청부(210b)를 통해 해당 소프트웨어가 변경되었는지 확인하기 위해 해당 소프트웨어의 버전정보를 다운로드 처리모듈(120)로 요청하면, 다운로드 처리모듈(120)은 버전정보 요청 처리부(121b)를 통해 요청된 소프트웨어의 버전정보를 전송하고, 자동 업데이트 엔진(200)은 상기 버전정보 요청부(210b)를 통해 이를 수신한다.That is, when the automatic update engine 200 requests version information of the corresponding software to the download processing module 120 to check whether the corresponding software has been changed through the version information requesting unit 210b, the download processing module 120 The version information of the requested software is transmitted through the version information request processing unit 121b, and the automatic update engine 200 receives it through the version information requesting unit 210b.

상기 버전정보 비교부(220b)는 상기 다운로드 처리모듈(120)로부터 수신한 해당 소프트웨어의 버전정보와 임베디드 기기 자체에 저장된 해당 소프트웨어의 버전정보를 비교한다.The version information comparison unit 220b compares the version information of the corresponding software received from the download processing module 120 with the version information of the corresponding software stored in the embedded device itself.

즉, 자동 업데이트 엔진(200)은 상기 다운로드 처리모듈(120)로부터 해당 소프트웨어의 버전정보를 수신하면, 상기 버전정보 비교부(220b)를 통해 수신한 버전정보와 임베디드 기기(20) 자체에 저장된 해당 소프트웨어의 버전정보를 비교한다.That is, when the automatic update engine 200 receives the version information of the corresponding software from the download processing module 120, the version information received through the version information comparison unit 220b and the corresponding stored in the embedded device 20 itself. Compare version information of software.

상기 부분 다운로드 처리부(230b)는 상기 버전정보 비교부(220b)에 의해 버전정보가 일치하지 않을 경우 변경된 영역에 대한 데이타 전송을 상기 다운로드 처리모듈(120)로 요청하고, 해당 소프트웨어의 변경된 영역 데이타 및 변경된 영역별 식별키를 다운로드 처리모듈(120)로부터 수신하여 해당 소프트웨어 및 영역별 식별키를 갱신한다.When the version information comparison unit 220b does not match the version information, the partial download processing unit 230b requests the download processing module 120 to transmit data for the changed area, and changes the area data and The changed region-specific identification key is received from the download processing module 120 to update the corresponding software and the region-specific identification key.

즉, 자동 업데이트 엔진(200)은 상기 버전정보 비교부(220b)에 의해 버전이 일치하지 않을 경우 이를 다운로드 처리모듈(120)로 이에 대한 정보를 전송한다. 그러면 다운로드 처리모듈(120)은 해당 소프트웨어의 변경된 영역 데이타 및 변경된 영역의 식별키를 임베디드 기기(20)로 전송하고, 상기 자동 업데이트 엔진(200)은 상기 부분 다운로드 처리부(230b)를 통해 이를 수신하여 해당 소프트웨어의 변경된 영역 데이타를 변경하고, 변경된 영역의 식별키를 갱신한다.That is, the automatic update engine 200 transmits the information about this to the download processing module 120 when the versions do not match by the version information comparison unit 220b. Then, the download processing module 120 transmits the changed area data of the corresponding software and the identification key of the changed area to the embedded device 20, and the automatic update engine 200 receives the received information through the partial download processing unit 230b. The changed area data of the software is changed, and the identification key of the changed area is updated.

따라서, 위와같이함에 의해 임베디드 기기에 내장되는 소프트웨어의 변경된 부분을 찾아내어 그 영역의 데이타만을 부분 다운로드하여 업그레이드함으로써 작업 시간을 단축할 수 있게 된다.Therefore, by doing the above, it is possible to shorten the work time by finding the changed part of the software embedded in the embedded device and downloading only the data of the area and upgrading it.

이하에서는 임베디드 기기에 탑재되는 소프트웨어를 일정 영역별로 분리하고, 영역별로 분리된 소프트웨어의 각 영역에 고유의 식별키를 부여하고, 이 식별키를 이용해 소프트웨어의 변경된 부분을 찾아내어 변경된 영역의 데이타만 다운로드하여 업그레이드하는 구체적인 일예를 들어본다.In the following, the software mounted on the embedded device is separated by a certain area, a unique identification key is assigned to each area of the software separated by area, and the changed part of the software is found using this identification key to download only the changed area data. Let's give a specific example of upgrading.

먼저, 임베디드 기기에 탑재되는 소프트웨어의 총 크기가 16Mb, 이 소프트웨어를 분할하는 분할 단위를 플래쉬 메모리에 기록된 내용을 지우는 최소 단위(플래쉬 메모리 마다 다르나, 보통 16Kb 또는 64Kb 임)인 64Kb, 식별키를 생성하는 알고리즘으로 MD5 알고리즘을 이용한다 가정하자.First, the total size of the software installed in the embedded device is 16Mb, and the partition unit for dividing the software is 64Kb, which is the minimum unit for erasing the contents recorded in the flash memory (it varies depending on the flash memory, but is usually 16Kb or 64Kb) and the identification key. Suppose we use the MD5 algorithm as the algorithm to generate.

도 6 의 상부에 도시한 바와같이, 상기 식별키 생성모듈(110)은 영역 분리부(111)를 통해 16Mb 의 소프트웨어를 64Kb 단위로 나누어 총 256 개의 영역으로 분리한다.As shown in the upper portion of FIG. 6, the identification key generation module 110 divides the software of 16Mb in units of 64Kb through a region separating unit 111 and divides the total into 256 regions.

도 6 은 상기한 식별키 생성모듈에 의해 영역 분리된 소프트웨어 및 각 영역 별 식별키의 데이타 구조 일예이다.FIG. 6 shows an example of a data structure of software separated into areas by the identification key generation module and identification keys for each area.

그 다음, 식별키 생성모듈(110)은 식별키 생성부(112)를 통해 상기 영역 분리부(111)에 의해 256 개의 영역으로 분리된 각 영역에 대한 식별키를 생성하는데, 이 때 MD5 알고리즘에서 이용되는 해쉬(Hash) 함수(이 해쉬 함수는 다양한 방법으로 정의 가능하다)를 이용해 64Kb 단위의 각 분리 영역 데이타를 처리하여 16 byte 단위의 256 개의 해쉬코드를 생성한다. 이 256개의 해쉬코드가 각 영역별 식별키가 된다.Then, the identification key generation module 110 generates an identification key for each area divided into 256 areas by the area separation unit 111 through the identification key generation unit 112, in which the MD5 algorithm The hash function used (this hash function can be defined in various ways) is used to process 256 separate pieces of data in 64Kb units to generate 256 hash codes in 16 byte units. These 256 hash codes serve as identification keys for each area.

그 후, 식별키 생성모듈(110)은 도 6 의 하부에 도시한 바와같이 식별키 저장부(113)를 통해 각 영역별 식별키를 저장하는데, 먼저 헤더(Header)에 식별키임을 나타내는 정보를 기록하고, 분할된 첫번째 영역부터 마지막 256 번째 영역까지의 해쉬코드를 차례로 기록하여 식별키 파일을 생성하고, 이를 저장한다.Thereafter, the identification key generation module 110 stores the identification key for each area through the identification key storage unit 113 as shown in the lower part of FIG. 6. First, information indicating the identification key is indicated in the header. A hash code from the first segment to the last 256 th region is recorded in order to generate an identification key file and to store the identification key file.

즉, 해쉬코드 각각의 크기는 16byte 이므로, 256개의 해쉬코드(식별키)를 저장하는데 필요한 크기는 4Kb가 되고, 여기에 정보를 기록하는 헤더(Header) 및 파일의 끝을 알리는 테일(Tail) 크기를 더하면 식별키 파일의 총 용량이 된다.That is, since the size of each hash code is 16 bytes, the size required to store 256 hash codes (identification keys) is 4Kb, and a header for recording information and a tail size for notifying the end of the file. Plus is the total capacity of the identification key file.

상기 헤더(Header)는 플래쉬(Flash) 정보와, 핸드폰 정보와, 파일 정보를 포함하고 있으며, 헤더(Header)의 시작과 끝을 나타내는 태그(Tag)가 각각 헤더(Header)의 처음과 끝에 기록된다. 한편, 이 헤더(Header)에는 해당 소프트웨어의 버전정보가 더 포함될 수 도 있다.The header includes flash information, mobile phone information, and file information, and tags indicating the start and end of the header are recorded at the beginning and the end of the header, respectively. . The header may further include version information of the corresponding software.

상기 플래쉬(Flash) 정보에는 롬(ROM) 크기, 램(RAM) 크기, EFS(Embedded File System) 크기, 분할 영역(Block) 크기, EFS 시작 주소, RAM 시작 주소 등이 포함된다.The flash information includes ROM size, RAM size, embedded file system (EFS) size, block size, EFS start address, RAM start address, and the like.

상기 핸드폰 정보에는 핸드폰의 모델명, 다운로드시 사용할 이미지 파일명 등이 포함된다.The mobile phone information includes a model name of the mobile phone and an image file name for use in downloading.

상기 파일정보에는 부분 다운로드될 파일명, 파일 생성 시각, 해쉬(Hash) 방법 등이 포함된다.The file information includes a file name to be partially downloaded, a file generation time, a hash method, and the like.

이렇게 생성된 식별키 파일 및 소프트웨어는 각각 임베디드 기기 및 부분 업데이트 서비스를 제공하는 단말기에 저장된다.The identification key file and the software generated in this way are stored in the terminal providing the embedded device and the partial update service, respectively.

만일, 소프트웨어가 변경되었을 경우 임베디드 기기의 제조사 단말기(10a)의 식별키 생성모듈(110)을 통해 변경된 소프트웨어를 영역별로 분리하고, 식별키 파일을 생성하고, 이를 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)로 배포하여 저장한다.If the software is changed, the office terminal for separating the changed software by area through the identification key generation module 110 of the manufacturer terminal 10a of the embedded device, generating an identification key file, and providing a partial update service thereof ( Distribute and save as 10b).

그 후, 고객이 소프트웨어가 변경되었다는 사실을 알고, 고객 지원 센터 등의 영업소에 방문하여 자신이 소지한 임베디드 기기의 소프트웨어 업그레이드를 요청하면, 영업소 단말기(10b)에서 실행되는 다운로드 처리모듈(120)은 부분 업데이트 서비스를 제공하는 영업소 단말기(10b) 자체에 저장된 변경된 소프트웨어의 식별키 파일과 고객이 소지한 임베디드 기기(20)에 저장된 식별키 파일을 비교하여 식별키가 상이한 영역을 검색한다.Thereafter, when the customer knows that the software has been changed, visits a sales office such as a customer support center, and requests a software upgrade of the embedded device he / she owns, the download processing module 120 executed in the sales terminal 10b The identification key file of the changed software stored in the office terminal 10b itself providing the partial update service is compared with the identification key file stored in the embedded device 20 owned by the customer to search for an area having different identification keys.

이 때, MD5 일고리즘에 의한 각 영역별 해쉬코드 각각의 크기가 16byte 이므로, 상기 두 식별키 파일의 헤더(Header)와 테일(Tail) 사이의 데이타 영역을 16byte 단위로 차례로 읽어 비교하면, 몇번째 영역이 변경되었는지 판별 가능하다. 상기 다운로드 처리모듈(120)은 해쉬코드(식별키)가 상이한 영역 검출시 해당 고객 임베디드 단말기에 탑재된 소프트웨어의 해당 영역의 데이타를 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)로부터 다운로드하여 변경된 데이타 영역을 변경하고, 변경된 영역의 해쉬코드(식별키)를 변경함으로써 임베디드 기기(20)에 내장되는 소프트웨어의 변경된 부분만을 갱신한다.At this time, since the size of each hash code of each area by MD5 algorithm is 16 bytes, the data area between the header and the tail of the two identification key files is sequentially read in 16 byte units. It is possible to determine whether the area has changed. When the download processing module 120 detects a region having a different hash code (identification key), the download data module 120 downloads the data of the corresponding area of the software mounted on the corresponding customer embedded terminal from the terminal 10b that provides the partial update service and then changes the data area. And only the changed part of the software embedded in the embedded device 20 is updated by changing the hash code (identification key) of the changed area.

도 7a 및 도 8a 를 참조하여 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 다운로드 처리모듈(120)과 임베디드 기기(20)간의 부분 다운로드 처리 과정을 좀더 구체적으로 알아본다.7A and 8A, a partial download processing process between the download processing module 120 and the embedded device 20 of the partial update service system of software embedded in the embedded device according to the present invention will be described in more detail.

고객이 소프트웨어가 변경되었다는 사실을 알고, 고객 지원 센터 등의 영업소에 방문하여 자신이 소지한 임베디드 기기의 소프트웨어 업그레이드를 요청하면, 영업소 관리자는 영업소 단말기(10b)에 해당 임베디드 기기(20)를 연결하여 영업소 단말기(10b)와 해당 임베디드 기기(20)간에 데이타 통신이 가능하도록 한 상태에서 다운로드 처리모듈(120)을 실행시킨다.When a customer knows that the software has been changed, visits a sales office such as a customer support center, and requests a software upgrade of his or her own embedded device, the sales office manager connects the embedded device 20 to the sales terminal 10b. The download processing module 120 is executed while enabling data communication between the business terminal 10b and the embedded device 20.

먼저, 상기 영업소 단말기(10b)에서 실행 가능한 다운로드 처리모듈(120)은 임베디드 기기(20)로부터 영역별 식별키 파일을 도 7a 의 과정을 통해 불러온다. First, the download processing module 120 executable in the office terminal 10b loads an identification key file for each region from the embedded device 20 through the process of FIG. 7A.

도 7a 는 데이타 통신을 이용해 다운로드 처리모듈이 임베디드 기기로부터 영역별 식별키를 저장한 파일을 불러오는 과정의 신호 흐름을 도시한 것이다.FIG. 7A illustrates a signal flow of a process in which a download processing module retrieves a file storing an area identification key from an embedded device using data communication.

도면에 도시한 바와같이, 다운로드 처리모듈(120)은 임베디드 기기(20)로 부분 다운로드될 소프트웨어의 영역별 식별키를 저장한 파일을 전송하라는 요청 정보(AT$DNINFO)를 전송한다.As shown in the figure, the download processing module 120 transmits request information (AT $ DNINFO) to transmit a file storing an identification key for each area of software to be partially downloaded to the embedded device 20.

그러면, 이를 수신한 임베디드 기기(20)는 자신에 저장된 영역별 식별키를 저장한 파일의 헤더(Header)를 분석해 영역별 식별키를 저장한 파일 전송을 위한 전송정보(szAABBBB) 즉, 영역별 식별키를 저장한 파일의 총 크기(BBBB)가 얼마고, 얼마만한 패킷 단위(AA)로 영역별 식별키를 저장한 파일을 전송할 것인가에 대한 정보를 다운로드 처리모듈(120)로 전송한다.Then, the embedded device 20 receiving the same analyzes the header of the file storing the identification key for each region stored therein and transmits the information (szAABBBB) for the file transmission storing the identification key for each region, that is, for each region identification. Information about the total size BBBB of the file storing the key and how many packet units AA transmits the file storing the identification key for each area is transmitted to the download processing module 120.

상기 임베디드 기기(20)로부터 전송정보(szAABBBB)를 수신한 다운로드 처리모듈(120)이 이에 대한 응답정보(Response)로 전송을 확인(OK)하는 신호를 임베디드 기기(20)로 전송하면, 이를 수신한 임베디드 기기(20)는 상기의 전송 패킷 단위(AA)로 영역별 식별키를 저장한 파일을 영업소 단말기(10b)로 전송한다.When the download processing module 120 receiving the transmission information (szAABBBB) from the embedded device 20 transmits a signal to the embedded device 20 confirming transmission (OK) as response information (Response), it is received. An embedded device 20 transmits a file storing an identification key for each area to the office terminal 10b in the transmission packet unit AA.

상기 영역별 식별키를 저장한 파일의 총 크기(BBBB)에 해당하는 패킷량이 모두 전송되면, 상기 다운로드 처리모듈(120)이 임베디드 기기(20)로 전송완료를 확인(OK)하는 응답정보(Response) 전송한다.When all the packet amounts corresponding to the total size (BBBB) of the file storing the identification key for each area are transmitted, the response information (Response) that the download processing module 120 confirms the completion of transmission to the embedded device 20 (OK). ) send.

이렇게 하여 임베디드 기기(20)에 저장된 부분 다운로드할 영역별 식별키를 저장한 파일을 수신한 다운로드 처리모듈(120)은 영업소 단말기(10b)에 저장된 해당 부분 다운로드할 소프트웨어의 영역별 식별키를 저장한 파일과 임베디드 기기(20)로부터 수신한 파일을 비교하여 변경된 부분을 검색한다. 이 변경된 부분에 대한 검색은 위에 자세히 설명했으므로, 이에 대한 중복 설명은 생략하기로 한다.In this way, the download processing module 120 that receives the file storing the region-specific identification key for the partial download stored in the embedded device 20 stores the region-specific identification key of the software for the partial download stored in the business terminal 10b. The file and the file received from the embedded device 20 are compared to search for the changed part. Since the search for this changed part has been described in detail above, duplicate description thereof will be omitted.

해당 소프트웨어에 대해 변경된 부분이 존재할 경우 상기 다운로드 처리모듈(120)을 통해 임베디드 기기(20)로 변경된 영역의 데이타만 도 8a 에 도시한 과정을 거쳐 선택적으로 전송되어 임베디드 기기에 저장된 소프트웨어가 갱신된다.If there is a changed part of the corresponding software, only the data of the area changed to the embedded device 20 through the download processing module 120 is selectively transmitted through the process shown in FIG. 8A to update the software stored in the embedded device.

만일, 이와 반대로 데이타 통신을 이용해 임베디드 기기가 다운로드 처리모듈로부터 영역별 식별키를 저장한 파일을 불러오는 경우에는 도 7a 에 도시한 신호 흐름이 반대가 되면 된다.On the contrary, when the embedded device retrieves a file storing the area identification key from the download processing module using data communication, the signal flow shown in FIG. 7A may be reversed.

도 8a 는 데이타 통신을 이용해 다운로드 처리모듈이 임베디드 기기로 변경된 영역의 데이타를 부분 다운로드하는 과정의 신호 흐름을 도시한 것이다.8A illustrates a signal flow of a process of partially downloading data of a region changed by a download processing module to an embedded device using data communication.

먼저, 다운로드 처리모듈(120)이 영업소 단말기(10b)내에 저장된 부분 다운로드할 소프트웨어의 변경된 영역의 데이타 중 일정 크기의 데이타를 독출하고, 이를 임베디드 기기(20)의 램(RAM)의 특정 주소에 올리도록 요청(Request)하는 명령(CMD_RAM)에 포함시켜 임베디드 기기(20)로 전송한다.First, the download processing module 120 reads data of a predetermined size among the data of the changed area of the software to be downloaded, which is stored in the business terminal 10b, and uploads it to a specific address of RAM of the embedded device 20. It is included in the command (CMD_RAM) requesting to be transmitted to the embedded device 20.

임베디드 기기(20)는 전송된 명령(CMD_RAM)에 따라 임베디드 기기(20)의 램(RAM)의 특정 주소에 상기 일정 크기의 데이타를 저장하고, 상기 다운로드 처리모듈(120)로 이에 대한 응답(Response) 정보를 전송한다.The embedded device 20 stores the predetermined size data at a specific address of the RAM of the embedded device 20 according to the transmitted command CMD_RAM, and responds to the download processing module 120 with the response. Send information.

한편, 도 7b 및 도 8b 에 도시한 것과 같이, 다운로드 처리모듈(120)이 이동통신 시스템에 연동되는 서버(도면 도시 생략)상에 탑재되어 이동통신 시스템의 데이타 통신 서비스를 이용해 부분 다운로드될 소프트웨어의 영역별 식별키 및 부분 다운로드할 변경된 영역의 데이타를 상기 임베디드 기기(20)로 전송하는 OTA(Over The Air) 방식으로 구현할 수 도 있다. 도 7b 및 도 8b 는 기지국(BS)과 임베디드 기기간의 데이타 흐름을 나타낸 도면이다.On the other hand, as shown in Figs. 7b and 8b, the download processing module 120 is mounted on a server (not shown) linked to the mobile communication system to partially download the software using the data communication service of the mobile communication system. An area-specific identification key and data of a changed area to be partially downloaded may be implemented by an over-the-air (OTA) method for transmitting the data to the embedded device 20. 7B and 8B illustrate data flows between a base station (BS) and an embedded device.

이 경우에는 영업소 단말기(10b)에 다운로드 처리모듈(120)을 탑재한 것과는 달리, 이동통신망을 통해 임베디드 기기에 내장된 소프트웨어의 부분 업데이트 서 비스를 제공할 수 있어 고객이 영업소를 방문할 필요없는 장점이 있다.In this case, unlike the download processing module 120 installed in the sales office terminal 10b, it is possible to provide a partial update service of the software embedded in the embedded device through the mobile communication network, so that the customer does not have to visit the sales office. There is this.

상기 도 7b 및 도 8b에 도시한 실시예는 도 7a 및 도 8a 에 도시한 실시예와는 다운로드 처리모듈(120)이 탑재된 단말기의 위치 및 통신 방법상에서만 차이가 있을 뿐, 데이타 처리과정은 도 7a 및 도 8a 에 도시한 실시예와 동일하므로 중복 설명은 생략하고자 한다.7B and 8B are different from the embodiments shown in FIGS. 7A and 8A only in the location and communication method of the terminal on which the download processing module 120 is mounted. Since it is the same as the embodiment shown in FIGS. 7A and 8A, duplicate description will be omitted.

도 9 에 CMD_RAM 명령 및 이에 대한 응답 신호의 데이타 구조를 도시하였다.9 shows a data structure of a CMD_RAM command and a response signal thereof.

도면에 도시한 바와같이, 상기 CMD_RAM 명령은 명령어 식별정보와, 데이타를 저장할 임베디드 기기의 램(RAM) 주소정보를 포함한다.As shown in the figure, the CMD_RAM command includes command identification information and RAM address information of an embedded device to store data.

한편, 상기 다운로드 처리모듈(120)이 영업소 단말기(10b)내에 저장된 부분 다운로드할 소프트웨어의 변경된 영역의 데이타 중 일정 크기의 데이타를 독출하고 이를 압축하여 전송하였을 경우, 상기 다운로드 처리모듈(120)이 임베디드 기기(20)에 압축된 데이타를 복호화하는데 필요한 정보(CMD_DECOMPRESS)를 임베디드 기기(20)로 전송하는 과정이 더 필요하다.On the other hand, when the download processing module 120 reads the data of a predetermined size among the data of the changed area of the software to be downloaded and stored in the business terminal 10b, compresses it, and transmits it, the download processing module 120 is embedded. A process of transmitting the information CMD_DECOMPRESS necessary for decoding the compressed data to the device 20 to the embedded device 20 is further required.

도 10 에 CMD_DECOMPRESS 명령 및 이에 대한 응답 신호의 데이타 구조를 도시하였다.10 illustrates a data structure of a CMD_DECOMPRESS command and a response signal thereof.

도면에 도시한 바와같이, 상기 CMD_DECOMPRESS 명령은 명령어 식별정보와, 압축된 데이타가 보관될 램(RAM) 주소정보와, 압축된 데이타를 해제할 램(RAM) 주소정보를 포함한다.As shown in the figure, the CMD_DECOMPRESS command includes command identification information, RAM address information for storing compressed data, and RAM address information for releasing compressed data.

그 다음, 다운로드 처리모듈(120)이 부분 다운로드할 소프트웨어가 저장된 임베디드 기기(20)내의 플래쉬(Flash) 메모리의 특정 영역(수신된 일정 크기의 데 이타에 해당하는 영역 즉, 업데이트 되어야할 영역)을 지우도록 요청(Request)하는 명령(CMD_ERASE)을 임베디드 기기(20)로 전송한다.Next, the download processing module 120 selects a specific area of the flash memory in the embedded device 20 in which the software to be downloaded partially is stored (an area corresponding to data of a predetermined size, that is, an area to be updated). The command CMD_ERASE requesting to be erased is transmitted to the embedded device 20.

이에 따라, 상기 임베디드 기기(20)는 자신의 플래쉬(Flash) 메모리로부터 해당 영역을 지우고, 상기 다운로드 처리모듈(120)로 이에 대한 응답(Response) 정보를 전송한다.Accordingly, the embedded device 20 deletes the corresponding area from its flash memory and transmits response information to the download processing module 120.

도 11 에 CMD_ERASE 명령 및 이에 대한 응답 신호의 데이타 구조를 도시하였다.11 shows a data structure of a CMD_ERASE command and a response signal thereof.

도면에 도시한 바와 같이, 상기 CMD_ERASE 명령은 명령어 식별정보와, 데이타를 지울 임베디드 기기의 플래쉬(Flash) 메모리 주소정보를 포함한다.As shown in the figure, the CMD_ERASE command includes command identification information and flash memory address information of an embedded device to erase data.

그 후, 상기 다운로드 처리모듈(120)이 임베디드 기기(20)의 램(RAM)의 특정 주소에 저장된 일정 크기의 데이타를 상기 임베디드 기기(20)의 플래쉬(Flash) 메모리의 특정 영역(지운 영역)에 기록하여 변경하도록 요청(Request)하는 명령(CMD_PROGRAM)을 임베디드 기기(20)로 전송한다.Thereafter, the download processing module 120 transmits data of a predetermined size stored in a specific address of RAM of the embedded device 20 to a specific area (erased area) of the flash memory of the embedded device 20. A command (CMD_PROGRAM) for requesting to change the data is recorded and transmitted to the embedded device 20.

이에 따라, 상기 임베디드 기기(20)는 자신의 램(RAM)의 특정 주소에 저장된 일정 크기의 데이타를 읽어 자신의 플래쉬(Flash) 메모리의 특정 영역에 기록하여 해당 영역을 변경하여 갱신하고, 상기 다운로드 처리모듈(120)로 이에 대한 응답(Response) 정보를 전송한다.Accordingly, the embedded device 20 reads data of a certain size stored in a specific address of its RAM, writes it in a specific area of its flash memory, changes the corresponding area, and updates the download. The response information is transmitted to the processing module 120.

도 12 에 CMD_PROGRAM 명령 및 이에 대한 응답 신호의 데이타 구조를 도시하였다.12 illustrates a data structure of a CMD_PROGRAM command and a response signal thereof.

도면에 도시한 바와 같이, 상기 CMD_PROGRAM 명령은 명령어 식별정보와, 부 분 다운로드할 데이타가 보관된 임베디드 기기의 램(RAM) 주소정보와, 부분 다운로드되는 데이타를 기록할 임베디드 기기의 플래쉬(Flash) 메모리 주소정보를 포함한다.As shown in the figure, the CMD_PROGRAM command may include command identification information, RAM address information of an embedded device in which data to be downloaded is partially stored, and a flash memory of an embedded device in which data to be partially downloaded is recorded. Contains address information.

이후, 영업소 단말기(10b)내에 저장된 부분 다운로드할 소프트웨어의 변경된 영역의 데이타 전부가 해당 임베디드 기기(20)의 플래쉬(Flash) 메모리의 대응되는 영역에 기록되어 임베디드 기기(20)내의 해당 소프트웨어를 갱신할 때까지 위의 과정이 반복된다.Subsequently, all of the changed area data of the software to be downloaded in the business terminal 10b is recorded in the corresponding area of the flash memory of the embedded device 20 to update the corresponding software in the embedded device 20. Until the above process is repeated.

모든 변경된 영역의 데이타가 전송되면, 상기 다운로드 처리모듈(120)은 임베디드 기기(20)로 모든 작업을 종료하고 임베디드 기기(20)를 리셋하도록 하는 명령(CMD_FINISH) 명령을 전송한다.When data of all changed areas are transmitted, the download processing module 120 transmits a command (CMD_FINISH) command to terminate all the tasks and reset the embedded device 20 to the embedded device 20.

도 13 에 CMD_FINISH 명령의 데이타 구조를 도시하였다.13 shows the data structure of the CMD_FINISH command.

한편, 영역별 식별키를 저장한 파일을 불러오는 경우에는 도 7a 에 도시한 신호 흐름이 반대가 되면 된다.On the other hand, when the file storing the identification key for each area is loaded, the signal flow shown in Fig. 7A may be reversed.

따라서, 위와 같이 함에 의해 임베디드 기기에 내장되는 소프트웨어의 변경된 부분만을 선택적으로 부분 다운로드하여 임베디드 기기에 내장된 소프트웨어를 간편하고 신속하게 갱신할 수 있게 되어 상기에서 제시한 본 발명에 따른 소프트웨어의 부분 업데이트를 위한 통신단말기 및 통신네트워크 시스템과, 소프트웨어의 부분 업데이트 방법 및 이를 위한 소프트웨어 생성 장치 및 방법의 목적을 달성할 수 있게 된다.Accordingly, by selectively downloading only the changed parts of the software embedded in the embedded device, the software embedded in the embedded device can be easily and quickly updated, thereby performing partial update of the software according to the present invention. It is possible to achieve the purpose of the communication terminal and communication network system, a partial update method of software, and a software generating apparatus and method therefor.

하기하는 특허청구범위상에서는 상세한 설명상에서 기재된 실시예에서 사용 한 용어를 포괄하는 개념의 용어를 사용하여 기술한다.In the following claims, description is made using terms of concepts encompassing terms used in the embodiments described in the detailed description.

이상에서 설명한 바와같은 본 발명에 따른 소프트웨어의 부분 업데이트를 위한 통신단말기 및 통신네트워크 시스템과, 소프트웨어의 부분 업데이트 방법 및 이를 위한 소프트웨어 생성 장치 및 방법은 일정 크기의 영역별로 분리된 소프트웨어의 각 영역에 고유의 식별키를 부여하고, 소프트웨어의 버전정보 또는 상기 식별키를 이용해 소프트웨어의 변경된 부분을 찾아내어 변경된 영역의 데이타만 다운로드하여 업그레이드함으로써 임베디드 기기에 내장되는 소프트웨어의 업그레이드시 작업 시간을 단축할 수 있는 유용한 효과를 가진다.As described above, the communication terminal and the communication network system for the partial update of the software according to the present invention, the partial update method of the software, and the apparatus and method for generating the software therefor are inherent in each area of the software separated for each area of a predetermined size. It is useful to shorten the working time when upgrading the software embedded in the embedded device by assigning the identification key of the software and finding the changed part of the software by using the software version information or the identification key and downloading and upgrading only the data of the changed area. Has an effect.

본 발명은 첨부된 도면을 참조하여 바람직한 실시예를 중심으로 기술되었지만, 당업자라면 이러한 기재로부터 후술하는 특허청구범위에 의해 포괄되는 범위내에서 본 발명의 범주를 벗어남이 없이 다양한 변형이 가능하다는 것은 명백하다.Although the present invention has been described with reference to the accompanying drawings, it will be apparent to those skilled in the art that various modifications may be made without departing from the scope of the invention within the scope of the appended claims. Do.

Claims (33)

여러 개의 영역으로 이루어져 있는 소정의 소프트웨어와 각 영역에 대한 식별키를 저장하는 메모리부와;A memory unit for storing predetermined software consisting of several areas and identification keys for each area; 상기 식별키를 이용하여 소정의 영역을 업데이트하는 업데이트수단을;Updating means for updating a predetermined area by using the identification key; 포함하는 것을 특징으로 하는 통신단말기.Communication terminal comprising a. 제 1항에 있어서, The method of claim 1, 상기 업데이트 수단은 외부로부터 상기 식별키 요청이 들어오면 상기 소프트웨어의 식별키를 전송하는 것을 특징으로 하는 통신단말기.And said updating means transmits an identification key of said software when said identification key request is received from the outside. 제 1항에 있어서, The method of claim 1, 상기 업데이트 수단은 외부로부터 상기 소프트웨어에 대한 버전정보 요청이 들어오면 상기 소프트웨어의 버전정보를 전송하는 것을 특징으로 하는 통신단말기.And the updating means transmits version information of the software when a version information request for the software is received from the outside. 제 1항에 있어서, The method of claim 1, 상기 업데이트 수단은 외부로부터 상기 소프트웨어의 소정의 영역에 대한 신버전을 수신하여 해당 영역에 기록하는 것을 특징으로 하는 통신단말기.And said updating means receives a new version of the predetermined area of the software from the outside and records the new version in the corresponding area. 제 1항 내지 제 4항 중의 어느 한 항에 있어서, The method according to any one of claims 1 to 4, 업데이트 대상 영역의 판별은 구버전과 신버전의 식별키 또는 버전을 비교하여 이루어지는 것을 특징으로 하는 통신단말기. And determining the update target area by comparing an identification key or a version of an old version with a new version. 여러 개의 영역으로 이루어져 있는 소정의 소프트웨어의 정보를 전송하기 위한 전송수단과;Transmission means for transmitting information of a predetermined software consisting of several areas; 상기 소프트웨어의 영역들 중 소정의 영역에 대한 신버전을 수신하여 해당 영역을 업데이트 하는 업데이트수단을;Updating means for receiving a new version of a predetermined area of the software area and updating the corresponding area; 포함하는 것을 특징으로 하는 통신단말기. Communication terminal comprising a. 제 6항에 있어서, The method of claim 6, 상기 소프트웨어의 정보는 상기 소프트웨어의 각각의 영역에 각각 할당된 식별키들인 것을 특징으로 하는 통신단말기. And the information of the software is identification keys respectively assigned to respective areas of the software. 제 6항에 있어서, The method of claim 6, 상기 소프트웨어의 정보는 상기 소프트웨어의 버전정보인 것을 특징으로 하는 통신단말기. The information of the software is a communication terminal, characterized in that the version information of the software. 제 6항 내지 제 8항 중 어느 한 항에 있어서, The method according to any one of claims 6 to 8, 업데이트 대상 영역의 판별은 구버전과 신버전의 식별키 또는 버전을 비교하여 이루어지는 것을 특징으로 하는 통신단말기.And determining the update target area by comparing an identification key or a version of an old version with a new version. 여러 개의 영역으로 이루어진 소정의 소프트웨어의 업데이트를 요청하는 요청수단과;Requesting means for requesting an update of predetermined software consisting of several areas; 상기 소프트웨어의 영역들 중 소정의 영역에 대한 신버전을 수신하여 해당 영역을 업데이트하는 업데이트 수단을;Updating means for receiving a new version of a predetermined one of the areas of the software and updating the corresponding area; 포함하는 것을 특징으로 하는 통신단말기. Communication terminal comprising a. 제 10항에 있어서, The method of claim 10, 상기 소프트웨어의 각각의 영영에는 각각의 식별키가 할당되어있고, 업데이트 요청시 상기 소프트웨어 정보로서 상기 식별키를 전송하는 것을 특징으로 하는 통신단말기.Each identification key of the software is assigned an identification key, and when the update request, characterized in that the transmission of the identification key as the software information. 제 10항에 있어서, The method of claim 10, 업데이트 요청시 상기 소프트웨어 정보로서 상기 소프트웨어의 버전정보를 전송하는 것을 특징으로 하는 통신단말기. And a version information of the software is transmitted as the software information when an update request is made. 제 10항 내지 제 12항 중의 어느 한 항에 있어서, The method according to any one of claims 10 to 12, 업데이트 대상 영역의 판별은 구버전과 신버전의 식별키 또는 버전을 비교하여 이루어지는 것을 특징으로 하는 통신단말기.And determining the update target area by comparing an identification key or a version of an old version with a new version. 구버전 소프트웨어를 가지는 통신단말기와;A communication terminal having old software; 상기 통신단말기에 내장된 구버전 소프트웨어의 신버전 소프트웨어를 저장하되, 상기 구버전과 신버전 소프트웨어의 상이한 부분을 판단하여 상기 통신단말기로 상기 상이한 부분의 신버전 부분을 전송하는 전송수단을 가지는 업데이트시스템을;An update system for storing the new version software of the old version software embedded in the communication terminal, and having transmission means for determining a different portion of the old version and the new version software and transmitting the new version portion of the different portion to the communication terminal; 포함하여 이루어지는 것을 특징으로 하는 통신네트워크 시스템.Communication network system comprising a. 제 14항에 있어서, The method of claim 14, 상기 구버전 및 신버전 소프트웨어의 각각은 여러 개의 영역으로 이루어져 있고, 각각의 영역에는 각각의 식별키가 할당되어있고, 상기 업데이트시스템은 상기 구버전 소프트웨어의 식별키를 수신하여 신버전의 식별키와 비교하므로서 구버전과 신버전의 상이한 부분을 판별하는 것을 특징으로 하는 통신네트워크 시스템.Each of the old version and the new version of the software consists of several areas, each area is assigned a respective identification key, and the update system receives the identification key of the old version software and compares it with the identification key of the new version. A communication network system, characterized by identifying different parts of a new version. 제 14항에 있어서, The method of claim 14, 구버전과 신버전의 상이한 부분의 판단은 구버전과 신버전의 버전정보를 비교하므로서 이루어지는 것을 특징으로 하는 통신네트워크 시스템.The determination of the different parts of the old version and the new version is made by comparing the version information of the old version and the new version. 여러 영역으로 이루어진 구버전 소프트웨어를 가지고, 상기 구버전 소프트웨어에 대한 신버전 소프트웨어의 업데이트를 요청하는 통신단말기와;A communication terminal having an old version software composed of various areas and requesting an update of the new version software for the old version software; 상기 통신단말기의 신버전 소프트웨어의 업데이트 요청에 응답하여, 상기 구버전 소프트웨어의 업데이트 여부를 판단하고, 상기 구버전 소프트웨어의 영역들중 업데이트가 필요한 부분을 판단하여 해당 부분을 상기 통신단말기로 전송하는 업데이트시스템을;An update system for determining whether to update the old version software in response to the update request of the new version software of the communication terminal, determining a portion of the area of the old version software that needs to be updated, and transmitting the corresponding portion to the communication terminal; 포함하여 이루어지는 것을 특징으로 하는 통신네트워크 시스템. Communication network system comprising a. 제 17항에 있어서, The method of claim 17, 상기 구버전 및 신버전 소프트웨어의 각각의 영역에는 각각의 식별키가 할당되어있고, 상기 업데이트시스템은 상기 구버전 소프트웨어의 식별키를 수신하여 신버전의 식별키와 비교하므로서 업데이트가 필요한 부분을 판단하는 것을 특징으로 하는 통신네트워크 시스템.Each area of the old version and the new version of the software is assigned a respective identification key, and the update system receives the identification key of the old version of the software and compares with the identification key of the new version, characterized in that for determining the portion that needs to be updated Communication network system. 제 17항에 있어서, The method of claim 17, 상기 업데이트가 필요한 부분의 판단은 구버전과 신버전의 버전정보를 비교하므로서 이루어지는 것을 특징으로 하는 통신네트워크 시스템.The determination of the portion that needs to be updated is made by comparing the version information of the old version and the new version communication network system. 구버전 소프트웨어를 신버전 소프트웨어로 업데이트 하는 방법에 있어서,In the method of updating the old software to the new software, 상기 구버전소트웨어 정보와 신버전 소프트웨어 정보를 비교하는 단계;Comparing the old version software information with the new version software information; 상기 구버전과 신버전 소프트웨어의 상이한 부분을 판단하는 단계;Determining different portions of the old and new version software; 상기 상이한 부분에 대한 신버전 부분을 상기 구버전 소프트웨어의 해당 영역에 기록하는 단계를;Recording a new version portion for the different portion in a corresponding area of the old version software; 포함하는 것을 특징으로 하는 소프트웨어 부분 업데이트 방법.Software portion update method comprising a. 제 20항에 있어서, The method of claim 20, 상기 구버전과 신버전의 소프트웨어는 여러 개의 영역으로 이루어져 있고, 상기 각각의 영역에는 식별키가 할당되어 있으며, 상기 식별키를 비교하므로써 구버전과 신버전의 상이한 부분을 판단하는 것을 특징으로 하는 소프트웨어 부분 업데이트 방법. The software of the old version and the new version is composed of a plurality of areas, each area is assigned an identification key, by comparing the identification key software portion update method, characterized in that different parts of the old version and the new version is determined. 제 20항에 있어서, The method of claim 20, 상기 구버전과 신버전의 상이한 부분의 판단은 각각의 버전정보를 비교하여 이루어지는 것을 특징으로 하는 소프트웨어 부분 업데이트 방법. The determination of the different parts of the old version and the new version is made by comparing the respective version information. 구버전 소프트웨어 정보를 제공하는 단계;Providing old version software information; 상기 구버전 소프트웨어와 상이한 신버전 소프트웨어의 부분을 수신하는 단계;Receiving a portion of the new version software that is different from the old version software; 상기 신버전 소프트웨어의 부분을, 상기 구버전 소프트웨어의 해당 영역에 기록하는 단계를;Recording a portion of the new version software in a corresponding area of the old version software; 포함하는 것을 특징으로 하는 소프트웨어 부분 업데이트 방법.Software portion update method comprising a. 삭제delete 삭제delete 구버전 소프트웨어와 신버전 소프트웨어를 비교하여 서로 상이한 부분을 판단하는 단계;Comparing the old version software with the new version software and determining different portions from each other; 서로 상이한 부분에 해당하는 영역을 전송하는 단계;Transmitting regions corresponding to different portions from each other; 서로 상이한 부분에 해당하는 영역을 수신하여, 상기 구버전 소프트웨어의 해당 영역을 대체하는 단계를;Receiving an area corresponding to a different part from each other and replacing the corresponding area of the old version of the software; 포함하는 것을 특징으로 하는 소프트웨어 부분 업데이트 방법.Software portion update method comprising a. 제 26항에 있어서, The method of claim 26, 상기 구버전과 신버전의 소프트웨어는 여러 개의 영역으로 이루어져 있고, 상기 각각의 영역에는 식별키가 할당되어 있으며, 상기 식별키를 비교하므로써 구버전과 신버전의 상이한 부분을 판단하는 것을 특징으로 하는 소프트웨어 부분 업데이트 방법.The software of the old version and the new version is composed of a plurality of areas, each area is assigned an identification key, by comparing the identification key software portion update method, characterized in that different parts of the old version and the new version is determined. 제 26항에 있어서,The method of claim 26, 상기 구버전 소프트웨어와 신버전 소프트웨어의 상이한 부분의 판단은 각각의 버전정보를 비교하므로서 이루어지는 것을 특징으로 하는 소프트웨어 부분 업데이트 방법. The determination of the different parts of the old version software and the new version software is made by comparing respective version information. 삭제delete 삭제delete 삭제delete 소프트웨어를 일정크기의 영역으로 분리하는 단계와;Separating the software into regions of a certain size; 상기 단계에 의해 분리된 각 영역의 식별키를 생성하는 단계를;Generating an identification key of each area separated by the step; 포함하는 것을 특징으로 하는 소프트웨어 생성방법.Software generation method comprising a. 제 32항에 있어서, The method of claim 32, 상기 단계에 의해 생성된 각 영역별 식별키를 해당 영역 또는 소정의 메모리에 저장하는 단계를;Storing the identification key for each area generated by the step in a corresponding area or a predetermined memory; 더 포함하는 것을 특징으로 하는 소프트웨어 생성방법.Software generation method further comprising.
KR1020040057776A 2003-09-25 2004-07-23 Communication terminal and communication network system for partial update of software, partial update method of software, software generating device and method therefor Expired - Fee Related KR100693551B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/948,325 US7873956B2 (en) 2003-09-25 2004-09-24 Communication terminal and communication network for partially updating software, software update method, and software creation device and method therefor
EP04022988A EP1519268B1 (en) 2003-09-25 2004-09-27 Communication terminal and communication network for partially updating software, software update method, and software creation device and method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020030066693 2003-09-25
KR20030066693 2003-09-25

Publications (2)

Publication Number Publication Date
KR20050030534A KR20050030534A (en) 2005-03-30
KR100693551B1 true KR100693551B1 (en) 2007-03-14

Family

ID=37386843

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040057776A Expired - Fee Related KR100693551B1 (en) 2003-09-25 2004-07-23 Communication terminal and communication network system for partial update of software, partial update method of software, software generating device and method therefor

Country Status (1)

Country Link
KR (1) KR100693551B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100767785B1 (en) * 2005-06-22 2007-10-18 (주)에이티솔루션 Application update system for mobile terminal
US8271969B2 (en) 2007-08-09 2012-09-18 Research In Motion Limited Method and apparatus for determining the state of a computing device
KR102448453B1 (en) * 2020-11-11 2022-09-28 주식회사 엘지유플러스 How to update electronic devices and firmware

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996024231A1 (en) 1995-01-30 1996-08-08 Telefonaktiebolaget Lm Ericsson (Publ) Flexible downloading of software
JPH11110221A (en) 1997-09-30 1999-04-23 Nec Corp Method of downloading operation program of mobile communication station and machine-readable recording medium storing program
KR20000041146A (en) * 1998-12-21 2000-07-15 구자홍 Method for updating software of network computer
KR20020003255A (en) * 2000-05-30 2002-01-12 정규석 Method of efficiently updating softwares on the network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996024231A1 (en) 1995-01-30 1996-08-08 Telefonaktiebolaget Lm Ericsson (Publ) Flexible downloading of software
JPH11110221A (en) 1997-09-30 1999-04-23 Nec Corp Method of downloading operation program of mobile communication station and machine-readable recording medium storing program
KR20000041146A (en) * 1998-12-21 2000-07-15 구자홍 Method for updating software of network computer
KR20020003255A (en) * 2000-05-30 2002-01-12 정규석 Method of efficiently updating softwares on the network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1020000041146
1020040057776 - 619345

Also Published As

Publication number Publication date
KR20050030534A (en) 2005-03-30

Similar Documents

Publication Publication Date Title
EP1519268B1 (en) Communication terminal and communication network for partially updating software, software update method, and software creation device and method therefor
CN100541430C (en) Software updating method, device and system
US10162625B2 (en) Vehicle control storage methods and systems
CN110597542B (en) Software automatic OTA (over the air) upgrading method and device and electronic equipment
CN105808284B (en) A kind of method for updating increment and the server using it
CN102073512B (en) JAVA cluster application system code loading and upgrading device and method
CN107506221A (en) Application program updating method, apparatus and equipment
CN104820602A (en) Method, device and system for publishing software package
KR20040093745A (en) Communication terminal software updating method, communication terminal, and software updating method
CN102422265A (en) Bios image manager
CN107797818A (en) Application program updating method and device
JP7662072B2 (en) Server for distributing update data, method and program for distributing update data, and software update system
CN111290773A (en) System upgrading method, device and readable storage medium
KR20060109021A (en) Method of providing a large-scale content download service through a wireless network and a recording medium on which a program for implementing the same is recorded
CN105549996B (en) Application program updating method of mobile terminal and mobile terminal
KR102088170B1 (en) Method of data structuring for difference between old and new data and device thereof
CN113961226B (en) Software development kit repairing method, terminal, server and equipment
KR20080083512A (en) FOTA system
KR100693551B1 (en) Communication terminal and communication network system for partial update of software, partial update method of software, software generating device and method therefor
CN118276902A (en) Automatic updating method and device of application program and computer equipment
US20070079279A1 (en) Embedded device with software registry
JP2003173260A (en) Remote program update system
WO2005088448A1 (en) Method and apparatus for reliable in-place update
CN116204205A (en) Application update method, boot loader design method and device
CN116456327A (en) Vehicle OTA upgrading method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

AMND Amendment
E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E601 Decision to refuse application
PE0601 Decision on rejection of patent

St.27 status event code: N-2-6-B10-B15-exm-PE0601

AMND Amendment
J201 Request for trial against refusal decision
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PJ0201 Trial against decision of rejection

St.27 status event code: A-3-3-V10-V11-apl-PJ0201

PB0901 Examination by re-examination before a trial

St.27 status event code: A-6-3-E10-E12-rex-PB0901

B701 Decision to grant
PB0701 Decision of registration after re-examination before a trial

St.27 status event code: A-3-4-F10-F13-rex-PB0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

FPAY Annual fee payment

Payment date: 20130304

Year of fee payment: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

FPAY Annual fee payment

Payment date: 20140228

Year of fee payment: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

FPAY Annual fee payment

Payment date: 20150302

Year of fee payment: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

FPAY Annual fee payment

Payment date: 20160302

Year of fee payment: 10

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

FPAY Annual fee payment

Payment date: 20170901

Year of fee payment: 11

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 11

S17-X000 Non-exclusive voluntary license recorded

St.27 status event code: A-4-4-S10-S17-lic-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 12

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

S17-X000 Non-exclusive voluntary license recorded

St.27 status event code: A-4-4-S10-S17-lic-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 13

FPAY Annual fee payment

Payment date: 20200302

Year of fee payment: 14

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 14

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 15

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 16

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20230306

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20230306