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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link 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
도 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
121c : 버전정보 요청부 121d : 버전정보 요청처리부121c: version
122a : 식별키 비교부 122b : 부분 다운로드 처리부122a: identification
122c : 버전정보 비교부 122d : 부분 다운로드 처리부122c: version
123a : 부분 다운로드 처리부 123c : 부분 다운로드 처리부123a: partial
200 : 업데이트 엔진 210a : 식별키 요청부200:
210b : 버전정보 요청부 220a : 식별키 비교부210b: version
220b : 버전정보 비교부 230a : 부분 다운로드 처리부220b: version
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
상기 식별키 생성모듈(110)은 임베디드 기기(20)로 다운로드될 소프트웨어를 일정 크기의 영역으로 나누고, 이 나누어진 각 영역에 대해 고유의 식별키를 생성하고, 생성된 각 영역별 식별키를 저장한다.The identification
즉, 임베디드 기기 제조사에서 임베디드 기기(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
상기 다운로드 처리모듈(120)은 임베디드 기기(20)에 내장된 소프트웨어의 각 영역별 식별키와 다운로드 서비스를 제공하는 영업소 단말기(10b)에 저장된 소프트웨어의 각 영역별 식별키를 비교하고, 식별키가 일치하지 않는다 판단된 영역의 데이타 및 식별키를 임베디드 기기(20)로 전송하여 임베디드 기기(20)에 내장된 소프트웨어의 해당 영역 데이타를 변경하고, 변경된 영역의 식별키를 갱신한다.The
통상적으로, 이 다운로드 처리모듈(120)은 고객에게 판매된 임베디드 기기에 대한 고객지원을 담당하는 A/S(After Service) 센터, 영업소 등에 고객이 방문하여 임베디드 기기에 탑재된 소프트웨어에 대한 업그레이드(Upgrade)를 요청할 경우 해당 소프트웨어의 변경된 부분을 검색하여 이 변경된 부분만 다운로드하도록 처리하는 역할을 수행한다. Typically, the
상기 다운로드 처리모듈(120)에 의한 부분 업데이트 서비스는 휴대폰 등에서와 같이 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)에서 임베디드 기기(20)로 강제로 변경된 영역의 데이타를 전송하여 임베디드 기기에 내장된 소프트웨어를 업데이트 시키는 방법도 가능하고, 임베디드 기기(20)가 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)로 변경된 영역의 데이타를 요청하여 임베디드 기기에 내장된 소프트웨어를 자동 업데이트하는 방법도 가능하다.The partial update service by the
위에 언급한 것처럼, 상기 식별키 생성모듈(110)은 임베디드 기기를 제조하고, 임베디드 기기에 소프트웨어를 탑재하여 출하하는 임베디드 기기 제조사 단말기(10a)에서, 상기 다운로드 처리모듈(120)은 고객에게 판매된 임베디드 기기에 대한 고객지원을 담당하는 A/S(After Service) 센터, 영업소 등의 영업소 단말기 (10b)에서 실행되는 것이 통상적이다.As mentioned above, the identification
그러나, 부분 업데이트 서비스를 위한 영역별 식별키의 효율적인 관리를 위해서나, 임베디드 기기에 탑재된 소프트웨어가 새로운 소프트웨어로 변경되었을 경우 이 새로운 소프트웨어의 효율적인 설치 및 부분 업데이트 서비스를 위해 부분 업데이트 서비스를 제공하는 동일한 영업소 단말기(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
상기한 식별키 생성모듈(110)과 다운로드 처리모듈(120)의 구체적인 구성을 알아본다.The detailed configuration of the identification
도 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
상기 영역 분리부(111)는 소프트웨어를 일정 크기의 영역으로 나눈다.The
예컨데, 소프트웨어의 크기가 16MB 라 가정하면, 식별키 생성모듈(110)은 상기 영역 분리부(111)를 통해 64KB 의 일정 크기로 소프트웨어를 나누어 총 256 개의 영역으로 분리할 수 가 있다.For example, assuming that the size of the software is 16MB, the identification
상기 식별키 생성부(112)는 상기 영역 분리부(111)에 의해 분리된 각 영역의 식별키를 생성한다.The identification
상기 식별키 생성은 다양한 방법이 이용될 수 있으며, 일 예로 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
그 이유는 서로 다른 영역이 동일한 식별키를 가진다면, 임베디드 기기(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
아울러, 상기 식별키 생성부(112)가 각 영역별 식별키 생성시 각 영역의 크기와 대비해 일정 백분율 미만의 식별키를 생성하는 것이 바람직하다.In addition, it is preferable that the identification
그 이유는 식별키 비교시 이용되는 식별키 사이즈가 매우 크다면 비교 과정에 소요되는 시간 및 이를 기록하는 영역의 사이즈가 커지기 때문이다. 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
예컨데, 상기 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
상기한 구성을 가지는 식별키 생성모듈(110)의 동작 흐름을 도 4 에 도시하였다.4 illustrates an operation flow of the identification
도 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
그 다음, 식별키 생성단계(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
상기 식별키 요청부(121a)는 소프트웨어가 내장된 임베디드 기기(20)로 각 영역별 식별키를 요청하여 수신한다.The identification
예컨데, 휴대폰 사용 고객이 자신의 휴대폰에 내장된 소프트웨어를 변경하고자 할 경우 해당 휴대폰 통신사 영업소를 방문하여 요청하면, 관리자는 임베디드 기기(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
그러면, 상기 다운로드 처리모듈(120)은 상기 식별키 요청부(121a)를 통해 해당 고객의 휴대폰으로 내장된 소프트웨어의 각 영역별 식별키를 요청하여 수신한다.Then, the
이 때, 휴대폰으로 내장된 소프트웨어의 각 영역별 식별키는 해당 소프트웨어의 일정 영역에 기록되어 저장되어 있는 것이 바람직하며, 이와는 달리 휴대폰의 플래쉬 롬(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
즉, 상기 다운로드 처리모듈(120)은 식별키 비교부(122a)를 통해 고객의 휴대폰으로부터 수신한 각 영역별 식별키와 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)에 저장된 다운로드할 소프트웨어의 각 영역별 식별키를 각 영역별로 비교한다.That is, the
상기 부분 다운로드 처리부(123a)는 상기 식별키 비교부(122a)에 의해 식별 키가 일치하지 않는다 판단된 영역의 데이타 및 식별키를 임베디드 기기(20)로 전송하여 임베디드 기기(20)에 내장된 소프트웨어의 해당 영역 데이타를 변경하고, 변경된 영역의 식별키를 갱신한다.The partial
즉, 상기 다운로드 처리모듈(120)은 각 영역별로 비교되어 식별키가 일치하지 않은 영역의 데이타를 상기 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)에 저장된 소프트웨어로부터 추출하여 이를 임베디드 기기(20)인 해당 고객의 휴대폰으로 전송하여 이에 내장된 소프트웨어의 해당 영역에 덮어쓰기를 수행함으로써 변경된 부분만 부분 다운로드 시키고, 추후 업데이트시에 비교될 변경된 식별키를 해당 휴대폰에 전송하여 식별키 저장 영역의 데이타를 갱신한다.That is, the
상기한 구성을 가지는 다운로드 처리모듈(120)의 동작 흐름을 도 5a 에 도시하였다.An operation flow of the
도 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
그 다음, 상기 다운로드 처리모듈(120)은 식별키 비교단계(S220)에서 상기 식별키 요청단계(S210)에 의해 수신된 각 영역별 식별키와 다운로드할 소프트웨어의 각 영역별 식별키를 각 영역별로 비교한다.Next, the
마지막으로, 상기 다운로드 처리모듈(120)은 부분 다운로드 처리단계(S230) 에서 상기 식별키 비교단계(S220)에 의해 식별키가 일치하지 않는다 판단된 영역의 데이타 및 식별키를 임베디드 기기(20)로 전송하여 임베디드 기기(20)에 내장된 소프트웨어의 해당 영역 데이타를 변경하고, 변경된 영역의 식별키를 갱신하는 동작을 한다.Finally, the
따라서, 위와같이 함에 의해 임베디드 기기에 내장되는 소프트웨어의 변경된 부분을 찾아내어 그 영역의 데이타만을 부분 다운로드하여 업그레이드함으로써 작업 시간을 단축할 수 있게 된다.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
상기 식별키 요청 처리부(121b)는 임베디드 기기(20)로부터 다운로드될 소프트웨어의 각 영역별 식별키 요청을 수신하고, 요청된 각 영역별 식별키를 전송한다.The identification
예컨데, 임베디드 기기(20)인 인터넷 이용이 가능한 모바일 단말기의 모바일 익스플로러를 모바일 단말기에서 실행할 경우를 가정하자. For example, suppose that the mobile explorer of the mobile terminal capable of using the Internet, which is the embedded
모바일 단말기를 이용하는 고객이 모바일 익스플로러를 실행하면, 모바일 단말기의 운영체제(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
상기 자동 업데이트 엔진(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
상기 부분 다운로드 처리부(122b)는 임베디드 기기(20)로부터 식별키가 일치하지 않는다 판단된 영역의 데이타 전송 요청을 수신하고, 요청된 영역의 데이타를 전송하여 임베디드 기기(20)에 내장된 소프트웨어의 변경된 영역의 데이타 및 식별키를 갱신하도록 처리한다.The partial
즉, 상기 다운로드 처리모듈(120)은 임베디드 기기(20)인 모바일 단말기로부터의 데이타 전송 요청에 따라 상기 부분 다운로드 처리부(122b)를 통해 요청된 모바일 익스플로러의 변경된 영역의 데이타를 전송하여 업데이트 엔진이 모바일 익스플로러를 갱신하도록 한다. 아울러, 상기 다운로드 처리모듈(120)은 상기 부분 다운로드 처리부(122b)를 통해 추후 업데이트시에 이용되도록 변경된 식별키를 해당 모바일 단말기로 전송하여 업데이트 엔진이 식별키 저장 영역의 데이타를 갱신하도록 한다.That is, the
상기 업데이트 엔진은 임베디드 기기(20)에서 실행되어, 다운로드 처리모듈(120)로부터 전송된 변경된 영역의 데이타를 임베디드 기기(20)의 램(RAM)에 기록하고, 부분 다운로드할 소프트웨어가 저장된 플래쉬(Flash) 메모리로부터 변경될 영역의 데이타를 지우고, 상기 램(RAM)에 저장된 변경된 영역의 데이타를 상기 플래쉬(Flash) 메모리의 지운 영역에 기록함으로써 임베디드 기기에 탑재된 소프트웨어를 갱신하는 것이며, 상기 다운로드 처리모듈(120)로부터 변경된 영역별 식별키를 수신하여 임베디드 기기(20)에 저장된 영역별 식별키를 갱신하는 것을 더 포함할 수 도 있다.The update engine is executed in the embedded
이에 대한 구체적인 설명은 이후에 설명하고자 한다.Detailed description thereof will be described later.
상기한 구성을 가지는 다운로드 처리모듈(120)의 동작 흐름을 도 5b 에 도시하였다.An operation flow of the
도 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
그 다음, 상기 다운로드 처리모듈(120)은 부분 다운로드 처리단계(S320)를 통해 상기 임베디드 기기(20)로부터 식별키가 일치하지 않는다 판단된 영역의 데이타 전송 요청을 수신하고, 요청된 영역의 데이타를 전송하여 임베디드 기기(20)에 내장된 소프트웨어의 변경된 영역의 데이타 및 식별키를 갱신하도록 처리하는 동작 을 한다.Next, the
따라서, 위와같이함에 의해 임베디드 기기에 내장되는 소프트웨어의 변경된 부분을 찾아내어 그 영역의 데이타만을 부분 다운로드하여 업그레이드함으로써 작업 시간을 단축할 수 있게 된다.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
도 3c 는 도 3b 에 도시한 실시예에서의 임베디드 기기에서 실행되는 소프트웨어의 자동 업데이트 엔진(200)의 일실시예를 도시한 것이다.FIG. 3C illustrates one embodiment of an
상기 자동 업데이트 엔진(200)은 식별키 요청부(210a)와, 식별키 비교부(220a)와, 부분 다운로드 처리부(230a)를 포함한다.The
상기 식별키 요청부(210a)는 각 소프트웨어에 대해 종속적으로 수행되어 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)로 해당 소프트웨어가 변경되었는지 확인하기 위해 해당 소프트웨어의 각 영역별 식별키를 요청하여 수신한다. The identification
즉, 자동 업데이트 엔진(200)이 상기 식별키 요청부(210a)를 통해 해당 소프트웨어가 변경되었는지 확인하기 위해 해당 소프트웨어의 각 영역별 식별키를 영업소 단말기(10b)로 요청하면, 영업소 단말기(10b)가 다운로드 처리모듈(120a)의 식별키 요청 처리부(121b)를 통해 요청된 소프트웨어의 각 영역별 식별키를 전송하고, 자동 업데이트 엔진(200)은 상기 식별키 요청부(210a)를 통해 이를 수신한다.That is, when the
상기 식별키 비교부(220a)는 상기 영업소 단말기(10b)로부터 수신한 소프트웨어의 각 영역별 식별키를 임베디드 기기(20) 자체에 저장된 해당 소프트웨어의 각 영역별 식별키와 비교한다.The identification
즉, 자동 업데이트 엔진(200)은 상기 영업소 단말기(10b)로부터 해당 소프트웨어의 각 영역별 식별키를 수신하면, 상기 식별키 비교부(220a)를 통해 수신한 소프트웨어의 각 영역별 식별키를 임베디드 기기(20) 자체에 저장된 해당 소프트웨어의 각 영역별 식별키와 비교한다.That is, when the
상기 부분 다운로드 처리부(230a)는 상기 식별키 비교부(220a)에 의해 식별키가 일치하지 않는 영역에 대한 데이타 전송을 상기 영업소 단말기(10b)로 요청하고, 이를 수신하여 해당 소프트웨어의 변경된 영역 데이타를 변경하고, 변경된 영역의 식별키를 갱신한다.The
즉, 자동 업데이트 엔진(200)이 상기 식별키 비교부(220a)에 의해 식별키가 일치하지 않는 영역에 대한 데이타 전송을 상기 부분 다운로드 처리부(230a)를 통해 상기 영업소 단말기(10b)로 요청하면, 영업소 단말기(10b)가 다운로드 처리모듈(120)의 부분 다운로드 처리부(122b)를 통해 해당 소프트웨어의 변경된 영역 데이타 및 변경된 영역의 식별키를 임베디드 기기(20)로 전송하고, 상기 자동 업데이트 엔진(200)은 상기 부분 다운로드 처리부(230a)를 통해 이를 수신하여 해당 소프트웨어의 변경된 영역 데이타를 변경하고, 변경된 영역의 식별키를 갱신한다.That is, when the
따라서, 위와같이함에 의해 임베디드 기기에 내장되는 소프트웨어의 변경된 부분을 찾아내어 그 영역의 데이타만을 부분 다운로드하여 업그레이드함으로써 작 업 시간을 단축할 수 있게 된다.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
상기 버전정보 요청부(121c)는 소프트웨어가 내장된 임베디드 기기(20)로 소프트웨어의 버전정보를 요청하여 수신한다.The version
예컨데, 휴대폰 사용 고객이 자신의 휴대폰에 내장된 소프트웨어를 변경하고자 할 경우 해당 휴대폰 통신사 영업소를 방문하여 요청하면, 관리자는 임베디드 기기(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
그러면, 상기 다운로드 처리모듈(120)은 상기 버전정보 요청부(121c)를 통해 해당 고객의 휴대폰으로 내장된 소프트웨어의 버전정보를 요청하여 수신한다.Then, the
이 때, 휴대폰으로 내장된 소프트웨어의 버전정보는 해당 소프트웨어의 영역별 식별키 파일의 해더(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
즉, 상기 다운로드 처리모듈(120)은 버전정보 비교부(122c)를 통해 고객의 휴대폰으로부터 수신한 버전정보와 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)에 저장된 다운로드할 소프트웨어의 버전정보를 비교한다.That is, the
상기 부분 다운로드 처리부(123c)는 상기 버전 비교부(122c)에 의해 버전정보가 상이할 경우, 두 버전 각각의 영역별 식별키를 비교하여 식별키가 일치하지 않는다 판단된 영역의 데이타 및 영역별 식별키를 임베디드 기기(20)로 전송하여 임베디드 기기(20)에 내장된 소프트웨어의 해당 영역 데이타를 변경하고, 변경된 영역의 식별키를 갱신한다.When the version information is different by the
즉, 상기 다운로드 처리모듈(120)은 버전이 일치하지 않은 경우, 식별키가 일치하지 않은 영역의 데이타를 상기 부분 업데이트 서비스를 제공하는 영업소 단말기(10b)에 저장된 소프트웨어로부터 추출하여 이를 임베디드 기기(20)인 해당 고객의 휴대폰으로 전송하여 이에 내장된 소프트웨어의 해당 영역에 덮어쓰기를 수행함으로써 변경된 부분만 부분 다운로드 시키고, 추후 업데이트시에 비교될 변경된 식별키를 해당 휴대폰에 전송하여 식별키 저장 영역의 데이타를 갱신한다.That is, if the versions do not match, the
상기한 구성을 가지는 다운로드 처리모듈(120)의 동작 흐름을 도 5c 에 도시하였다.An operation flow of the
도 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
그 다음, 상기 다운로드 처리모듈(120)은 버전정보 비교단계(S420)에서 상기 버전정보 요청단계(S410)에 의해 수신된 버전정보와 임베디드 기기(20)에 탑재된 소프트웨어의 버전정보를 비교한다.Next, the
마지막으로, 상기 다운로드 처리모듈(120)은 부분 다운로드 처리단계(S430)에서 버전정보가 다를 경우 임베디드 기기(20)에 탑재된 영역별 식별키와 다운로드할 소프트웨어의 각 영역별 식별키를 각 영역별로 비교하여 식별키가 일치하지 않는다 판단된 영역의 데이타 및 식별키를 임베디드 기기(20)로 전송하여 임베디드 기기(20)에 내장된 소프트웨어의 해당 영역 데이타를 변경하고, 변경된 영역의 식별키를 갱신하는 동작을 한다.Finally, if the version information is different in the partial download processing step (S430), the
따라서, 위와같이 함에 의해 임베디드 기기에 내장되는 소프트웨어의 변경된 부분을 찾아내어 그 영역의 데이타만을 부분 다운로드하여 업그레이드함으로써 작업 시간을 단축할 수 있게 된다.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
상기 버전정보 요청 처리부(121d)는 임베디드 기기(20)로부터 다운로드될 소프트웨어의 버전정보 요청을 수신하고, 요청된 버전정보를 전송한다.The version
예컨데, 임베디드 기기(20)인 인터넷 이용이 가능한 모바일 단말기의 모바일 익스플로러를 모바일 단말기에서 실행할 경우를 가정하자. For example, suppose that the mobile explorer of the mobile terminal capable of using the Internet, which is the embedded
모바일 단말기를 이용하는 고객이 모바일 익스플로러를 실행하면, 모바일 단말기의 운영체제(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
즉, 상기 다운로드 처리모듈(120)은 임베디드 기기(20)인 모바일 단말기로부터의 데이타 전송 요청에 따라 상기 부분 다운로드 처리부(122d)를 통해 변경된 영역의 데이타를 전송하고, 아울러 상기 다운로드 처리모듈(120)은 상기 부분 다운로드 처리부(122d)를 통해 추후 업데이트시에 이용되도록 변경된 식별키를 해당 모바일 단말기로 전송하여 식별키 저장 영역의 데이타를 갱신하도록 한다.That is, the
상기한 구성을 가지는 다운로드 처리모듈(120)의 동작 흐름을 도 5d 에 도시하였다.An operation flow of the
도 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
그 다음, 상기 다운로드 처리모듈(120)은 부분 다운로드 처리단계(S520)를 통해 상기 임베디드 기기(20)로부터 버전정보가 일치하지 않을 경우 변경된 영역에 대한 데이타 전송 요청을 수신하고, 요청된 영역의 데이타를 전송하여 임베디드 기기(20)에 내장된 소프트웨어의 변경된 영역의 데이타 및 식별키를 갱신하도록 처리하는 동작을 한다.Then, the
따라서, 위와같이함에 의해 임베디드 기기에 내장되는 소프트웨어의 변경된 부분을 찾아내어 그 영역의 데이타만을 부분 다운로드하여 업그레이드함으로써 작업 시간을 단축할 수 있게 된다.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
도 3f 는 도 3e 에 도시한 실시예에서의 임베디드 기기에서 실행되는 소프트웨어의 자동 업데이트 엔진(200)의 일실시예를 도시한 것이다.FIG. 3F illustrates one embodiment of an
상기 자동 업데이트 엔진(200)은 버전정보 요청부(210b)와, 버전정보 비교부 (220b)와, 부분 다운로드 처리부(230b)를 포함한다.The
상기 버전정보 요청부(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
즉, 자동 업데이트 엔진(200)이 상기 버전정보 요청부(210b)를 통해 해당 소프트웨어가 변경되었는지 확인하기 위해 해당 소프트웨어의 버전정보를 다운로드 처리모듈(120)로 요청하면, 다운로드 처리모듈(120)은 버전정보 요청 처리부(121b)를 통해 요청된 소프트웨어의 버전정보를 전송하고, 자동 업데이트 엔진(200)은 상기 버전정보 요청부(210b)를 통해 이를 수신한다.That is, when the
상기 버전정보 비교부(220b)는 상기 다운로드 처리모듈(120)로부터 수신한 해당 소프트웨어의 버전정보와 임베디드 기기 자체에 저장된 해당 소프트웨어의 버전정보를 비교한다.The version
즉, 자동 업데이트 엔진(200)은 상기 다운로드 처리모듈(120)로부터 해당 소프트웨어의 버전정보를 수신하면, 상기 버전정보 비교부(220b)를 통해 수신한 버전정보와 임베디드 기기(20) 자체에 저장된 해당 소프트웨어의 버전정보를 비교한다.That is, when the
상기 부분 다운로드 처리부(230b)는 상기 버전정보 비교부(220b)에 의해 버전정보가 일치하지 않을 경우 변경된 영역에 대한 데이타 전송을 상기 다운로드 처리모듈(120)로 요청하고, 해당 소프트웨어의 변경된 영역 데이타 및 변경된 영역별 식별키를 다운로드 처리모듈(120)로부터 수신하여 해당 소프트웨어 및 영역별 식별키를 갱신한다.When the version
즉, 자동 업데이트 엔진(200)은 상기 버전정보 비교부(220b)에 의해 버전이 일치하지 않을 경우 이를 다운로드 처리모듈(120)로 이에 대한 정보를 전송한다. 그러면 다운로드 처리모듈(120)은 해당 소프트웨어의 변경된 영역 데이타 및 변경된 영역의 식별키를 임베디드 기기(20)로 전송하고, 상기 자동 업데이트 엔진(200)은 상기 부분 다운로드 처리부(230b)를 통해 이를 수신하여 해당 소프트웨어의 변경된 영역 데이타를 변경하고, 변경된 영역의 식별키를 갱신한다.That is, the
따라서, 위와같이함에 의해 임베디드 기기에 내장되는 소프트웨어의 변경된 부분을 찾아내어 그 영역의 데이타만을 부분 다운로드하여 업그레이드함으로써 작업 시간을 단축할 수 있게 된다.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
도 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
그 후, 식별키 생성모듈(110)은 도 6 의 하부에 도시한 바와같이 식별키 저장부(113)를 통해 각 영역별 식별키를 저장하는데, 먼저 헤더(Header)에 식별키임을 나타내는 정보를 기록하고, 분할된 첫번째 영역부터 마지막 256 번째 영역까지의 해쉬코드를 차례로 기록하여 식별키 파일을 생성하고, 이를 저장한다.Thereafter, the identification
즉, 해쉬코드 각각의 크기는 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
그 후, 고객이 소프트웨어가 변경되었다는 사실을 알고, 고객 지원 센터 등의 영업소에 방문하여 자신이 소지한 임베디드 기기의 소프트웨어 업그레이드를 요청하면, 영업소 단말기(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
이 때, 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
도 7a 및 도 8a 를 참조하여 본 발명에 따른 임베디드 기기에 내장되는 소프트웨어의 부분 업데이트 서비스 시스템의 다운로드 처리모듈(120)과 임베디드 기기(20)간의 부분 다운로드 처리 과정을 좀더 구체적으로 알아본다.7A and 8A, a partial download processing process between the
고객이 소프트웨어가 변경되었다는 사실을 알고, 고객 지원 센터 등의 영업소에 방문하여 자신이 소지한 임베디드 기기의 소프트웨어 업그레이드를 요청하면, 영업소 관리자는 영업소 단말기(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
먼저, 상기 영업소 단말기(10b)에서 실행 가능한 다운로드 처리모듈(120)은 임베디드 기기(20)로부터 영역별 식별키 파일을 도 7a 의 과정을 통해 불러온다. First, the
도 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
그러면, 이를 수신한 임베디드 기기(20)는 자신에 저장된 영역별 식별키를 저장한 파일의 헤더(Header)를 분석해 영역별 식별키를 저장한 파일 전송을 위한 전송정보(szAABBBB) 즉, 영역별 식별키를 저장한 파일의 총 크기(BBBB)가 얼마고, 얼마만한 패킷 단위(AA)로 영역별 식별키를 저장한 파일을 전송할 것인가에 대한 정보를 다운로드 처리모듈(120)로 전송한다.Then, the embedded
상기 임베디드 기기(20)로부터 전송정보(szAABBBB)를 수신한 다운로드 처리모듈(120)이 이에 대한 응답정보(Response)로 전송을 확인(OK)하는 신호를 임베디드 기기(20)로 전송하면, 이를 수신한 임베디드 기기(20)는 상기의 전송 패킷 단위(AA)로 영역별 식별키를 저장한 파일을 영업소 단말기(10b)로 전송한다.When the
상기 영역별 식별키를 저장한 파일의 총 크기(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
이렇게 하여 임베디드 기기(20)에 저장된 부분 다운로드할 영역별 식별키를 저장한 파일을 수신한 다운로드 처리모듈(120)은 영업소 단말기(10b)에 저장된 해당 부분 다운로드할 소프트웨어의 영역별 식별키를 저장한 파일과 임베디드 기기(20)로부터 수신한 파일을 비교하여 변경된 부분을 검색한다. 이 변경된 부분에 대한 검색은 위에 자세히 설명했으므로, 이에 대한 중복 설명은 생략하기로 한다.In this way, the
해당 소프트웨어에 대해 변경된 부분이 존재할 경우 상기 다운로드 처리모듈(120)을 통해 임베디드 기기(20)로 변경된 영역의 데이타만 도 8a 에 도시한 과정을 거쳐 선택적으로 전송되어 임베디드 기기에 저장된 소프트웨어가 갱신된다.If there is a changed part of the corresponding software, only the data of the area changed to the embedded
만일, 이와 반대로 데이타 통신을 이용해 임베디드 기기가 다운로드 처리모듈로부터 영역별 식별키를 저장한 파일을 불러오는 경우에는 도 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
임베디드 기기(20)는 전송된 명령(CMD_RAM)에 따라 임베디드 기기(20)의 램(RAM)의 특정 주소에 상기 일정 크기의 데이타를 저장하고, 상기 다운로드 처리모듈(120)로 이에 대한 응답(Response) 정보를 전송한다.The embedded
한편, 도 7b 및 도 8b 에 도시한 것과 같이, 다운로드 처리모듈(120)이 이동통신 시스템에 연동되는 서버(도면 도시 생략)상에 탑재되어 이동통신 시스템의 데이타 통신 서비스를 이용해 부분 다운로드될 소프트웨어의 영역별 식별키 및 부분 다운로드할 변경된 영역의 데이타를 상기 임베디드 기기(20)로 전송하는 OTA(Over The Air) 방식으로 구현할 수 도 있다. 도 7b 및 도 8b 는 기지국(BS)과 임베디드 기기간의 데이타 흐름을 나타낸 도면이다.On the other hand, as shown in Figs. 7b and 8b, the
이 경우에는 영업소 단말기(10b)에 다운로드 처리모듈(120)을 탑재한 것과는 달리, 이동통신망을 통해 임베디드 기기에 내장된 소프트웨어의 부분 업데이트 서 비스를 제공할 수 있어 고객이 영업소를 방문할 필요없는 장점이 있다.In this case, unlike the
상기 도 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
도 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
도 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
이에 따라, 상기 임베디드 기기(20)는 자신의 플래쉬(Flash) 메모리로부터 해당 영역을 지우고, 상기 다운로드 처리모듈(120)로 이에 대한 응답(Response) 정보를 전송한다.Accordingly, the embedded
도 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
이에 따라, 상기 임베디드 기기(20)는 자신의 램(RAM)의 특정 주소에 저장된 일정 크기의 데이타를 읽어 자신의 플래쉬(Flash) 메모리의 특정 영역에 기록하여 해당 영역을 변경하여 갱신하고, 상기 다운로드 처리모듈(120)로 이에 대한 응답(Response) 정보를 전송한다.Accordingly, the embedded
도 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
모든 변경된 영역의 데이타가 전송되면, 상기 다운로드 처리모듈(120)은 임베디드 기기(20)로 모든 작업을 종료하고 임베디드 기기(20)를 리셋하도록 하는 명령(CMD_FINISH) 명령을 전송한다.When data of all changed areas are transmitted, the
도 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)
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)
| 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)
| 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 |
-
2004
- 2004-07-23 KR KR1020040057776A patent/KR100693551B1/en not_active Expired - Fee Related
Patent Citations (4)
| 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)
| 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 |