KR100651398B1 - 이동통신 단말기의 소프트웨어 업데이트 방법 - Google Patents

이동통신 단말기의 소프트웨어 업데이트 방법 Download PDF

Info

Publication number
KR100651398B1
KR100651398B1 KR1020040057822A KR20040057822A KR100651398B1 KR 100651398 B1 KR100651398 B1 KR 100651398B1 KR 1020040057822 A KR1020040057822 A KR 1020040057822A KR 20040057822 A KR20040057822 A KR 20040057822A KR 100651398 B1 KR100651398 B1 KR 100651398B1
Authority
KR
South Korea
Prior art keywords
software
mobile communication
communication terminal
binary image
iota
Prior art date
Application number
KR1020040057822A
Other languages
English (en)
Other versions
KR20060008685A (ko
Inventor
김태형
김석순
전진하
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020040057822A priority Critical patent/KR100651398B1/ko
Publication of KR20060008685A publication Critical patent/KR20060008685A/ko
Application granted granted Critical
Publication of KR100651398B1 publication Critical patent/KR100651398B1/ko

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 이동통신 단말기의 소프트웨어 업데이트에서 불필요한 경비 및 시간을 절약할 수 있는 방법을 제공한다. 이에 따라 본 발명은 바이너리 이미지 비교 정보를 미리 전송하여, 패치 파일을 다운로드 받기 전에 미리 그 패치 파일이 소프트웨어 업데이트를 실행시킬 수 있는 것인지, 아니면 소프트웨어 업데이트를 실행시킬 수 없는 불필요한 것인지를 확인할 수 있도록 한다. 이에 따라 본 발명은 불필요한 패치 파일의 다운로드에 낭비되던 경비와 시간을 절약할 수 있다.
IOTA-SD, 이동통신 단말기, 소프트웨어 업데이트

Description

이동통신 단말기의 소프트웨어 업데이트 방법{METHOD FOR UPDATING MOBILE TERMINAL'S SOFTWARE}
도 1은 통상적인 IOTA-SD 서버와 이동통신 단말기의 구성도,
도 2는 무선 데이터 망을 이용한 통상적인 이동통신 단말기 소프트웨어 업데이트 과정의 흐름도,
도 3은 본 발명의 제1 실시 예에 따른 이동통신 단말기 소프트웨어 업데이트 과정의 흐름도,
도 4는 본 발명의 제2 실시 예에 따른 이동통신 단말기 소프트웨어 업데이트 과정의 흐름도.
본 발명은 이동통신 단말기의 소프트웨어 업데이트 방법에 관한 것으로, 특히 무선 데이터 망을 이용한 소프트웨어 업데이트 방법에 관한 것이다.
통상적으로 사용되는 이동통신 단말기의 소프트웨어 업데이트 방법은 사용자가 직접 이동통신 단말기의 서비스 업체나 대리점 등을 방문하여 오프라인으로 업데이트를 하는 방법과 대한민국 공개 특허 10-2004-8007에 개시되어 있는 바와 같이 무선 데이터 망을 이용하는 방법이 있을 수 있다. 그리고 그 중에서 무선 데이터 망을 이용하는 방법은 사용자가 직접 대리점 등을 방문할 필요가 없다는 이점 때문에 주로 사용되고 있다.
상기한 대한민국 공개 특허 10-2004-8007에 개시되어 있는 기술은 무선 단말기의 펌웨어 업그레이드 방법에 관한 것으로 무선 단말기가 업데이트 체크 프로그램을 내장하고, 그 업데이트 체크 프로그램을 통해 현재 무선 단말기의 펌웨어 업그레이드가 필요한지 아닌지를 체크한다. 그리고 업그레이드가 필요할 경우 새로운 버전의 펌웨어를 다운로드 받아서 무선 단말기의 펌웨어를 업그레이드 하도록 하는 것이다.
한편, 무선 데이터 망을 이용한 소프트웨어 업데이트를 위해서는 통상적으로 이동통신 단말기와 IOTA-SD(Internet Over The Air - Software Download) 서버, 그리고 무선 데이터 망 등을 구비해야 한다. 도 1은 통상적인 IOTA-SD 서버와 이동통신 단말기의 구성을 나타낸 도면이다.
무선 데이터 망(102)은 이동통신 단말기와 IOTA-SD 서버를 접속시키는 채널 역할을 한다. IOTA-SD 서버(100)는 IOTA-SD 기술을 이용하여 이동통신 단말기(104)와 접속하고, 소프트웨어 업데이트를 위한 패치 파일을 전송하기 위한 서버이다. 이동통신 단말기(104)는 현재 내장된 소프트웨어의 버전을 확인하고 이를 IOTA-SD 서버(100)에서 제공하는 소프트웨어의 버전과 비교한다. 그리고 IOTA-SD 서버(100)에서 제공하는 소프트웨어의 버전이 더 큰 경우라면 사용자에게 소프트웨어의 업데이트가 필요함을 알리고 사용자가 업데이트를 선택하였을 경우 업데이트 과정을 시작하게 된다.
도 2는 무선 데이터 망을 이용한 통상적인 이동통신 단말기 소프트웨어 업데이트 과정을 보이고 있는 흐름도이다.
업데이트 과정이 시작될 경우, 204단계에서 이동통신 단말기(104) IOTA-SD 서버(100)에 접속 요청 신호를 전송한다. 이동통신 단말기(104)로부터 접속 요청 신호를 받은 IOTA-SD 서버(100)는 이에 대한 응답으로 206단계에서 접속 확인 신호를 이동통신 단말기(104)로 전송한다. 그러면 이동통신 단말기(104)는 IOTA-SD 서버(100)와 접속이 되었음을 확인하고 208단계에서 현재 내장되어 있는 소프트웨어의 버전 정보를 IOTA-SD 서버(100)로 전송한다.
그리고 이동통신 단말기(104)로부터 소프트웨어의 버전 정보를 전송 받은 IOTA-SD 서버(100)는 210단계에서 현재 IOTA-SD 서버(100)에 저장되어 있는 소프트웨어 업데이트 패치(patch) 파일 중에 이동통신 단말기(104)로부터 전송받은 소프트웨어 버전에 대한 패치 파일이 있는지 확인한다. 그리고 그러한 패치 파일이 있을 경우에는 212단계에서 그 패치 파일과 함께 사용자의 이동통신 단말기(104)로부터 전송받은 소프트웨어 버전에 대한 바이너리(binary) 이미지 비교 정보를 전송한다. 그러나 IOTA-SD 서버(100)에 해당 패치 파일이 없을 때에는 224단계로 진행하여 이동통신 단말기(104)로 에러정보를 전송한다. 만약 이 에러정보를 이동통신 단말기(104)가 전송받았다면 이동통신 단말기(104)는 222단계로 진행하여 업데이트를 취소한다.
여기서 바이너리 이미지 비교 정보라는 것은 이동통신 단말기(104)로부터 전 송받은 소프트웨어 버전 정보에 대응하는 소프트웨어가 어떤 이동통신 단말기에 내장되어 있다고 가정할 경우, 그 이동통신 단말기의 플래시 메모리에 기록되어 있는 바이너리 이미지와, 실제 이동통신 단말기(104)의 플래시 메모리에 기록되어 있는 바이너리 이미지가 동일한지 그렇지 않은지 비교할 수 있는 정보를 말하는 것이다. 이러한 방법으로서는 CRC체크 방식을 이용하여 서로 비교하는 방법이 있을 수도 있고, 아니면 해밍 코드만을 전송하여 실제 이동통신 단말기(104)의 플래시 메모리의 해밍 코드와 비교하는 방법이 있을 수도 있다. 물론 이러한 비교 방법은 IOTA-SD 서버(100)와 이동통신 단말기(104)간에 미리 결정되어 있다.
한편, 212단계에서 패치 파일과 바이너리 이미지 비교 정보를 전송받은 이동통신 단말기(104)는 214단계에서 패치 파일과 바이너리 이미지 비교 정보가 이상 없이 다운로드 되었는지를 확인한다. 그리고 다운로드에 이상이 발생했을 경우에는 이동통신 단말기(104)는 204단계로 진행하여 IOTA-SD 서버(100)와의 접속을 재시도한다. 그러나 214단계에서 다운로드가 이상 없이 완료되었다면 이동통신 단말기(104)는 216단계에서 IOTA-SD 서버(100)로부터 전송받은 바이너리 이미지 비교 정보가, 현재 플래시 메모리에 기록되어 있는 바이너리 이미지를 이용하여 생성한 바이너리 이미지 비교 정보와 일치하는지를 확인한다.
즉, IOTA-SD 서버(100)가 이동통신 단말기(104)로부터 전송받은 버전 정보가 1.0이었다면 IOTA-SD 서버(100)는 버전 1.0에 해당되는 소프트웨어의 바이너리 이미지에 대한 비교 정보를 전송한다. 그리고 그 바이너리 이미지 비교 정보를 전송받은 이동통신 단말기(104)는 자신의 플래시 메모리의 바이너리 이미지를 읽어 들여서 미리 약속된 방식으로 변환하여 바이너리 이미지 비교 정보를 생성한다. 그리고 전송 받은 바이너리 이미지 비교 정보와 비교하여 서로 일치하는지 그렇지 않은지를 확인한다.
여기서 IOTA-SD 서버(100)와 이동통신 단말기(104)의 바이너리 이미지 비교 정보를 서로 비교하는 이유는, IOTA-SD 기술을 이용한 소프트웨어 업그레이드 기술이 업데이트 시에 전송되는 데이터의 양을 줄이기 위해 업데이트 되기 이전 플래시 메모리 바이너리 이미지, 즉 업데이트 대상이 되는 바이너리 이미지와 업데이트된 바이너리 이미지를 비교한 후, 그 차이점만을 전송하여 이동통신 단말기의 소프트웨어를 업데이트 하는 것이기 때문이다. 따라서, 실제 이동통신 단말기(104)의 바이너리 이미지와 업데이트 되기 이전 소프트웨어의 바이너리 이미지가 일치하지 않은 상태에서 IOTA-SD 기술을 이용한 소프트웨어 업데이트가 이루어지게 된다면, 정상적인 소프트웨어 업데이트가 이루어지지 않는 것은 물론, 플래시 메모리의 바이너리 이미지에 손상을 주게 되기 때문이다. 따라서 IOTA-SD 서버(100)는 이동통신 단말기(104)로부터 소프트웨어 버전을 전송받았음에도 불구하고 다시 한번 바이너리 이미지 비교 정보를 전송하여 확인하도록 한다.
바이너리 이미지 비교 정보가 일치할 경우에는 이동통신 단말기(104)가 전송받은 패치 파일이 현재 소프트웨어 업데이트에 해당되는 것임을 확인하고 218단계로 진행하여 소프트웨어의 업데이트를 실행한다.
그러나 바이너리 이미지 비교 정보가 일치하지 않는 경우도 있다. 바이너리 이미지 비교 정보가 일치하지 않는 여러 가지 경우 중 하나는 이동통신 단말기(104)가 자신의 플래시 메모리에 기록되어 있는 소프트웨어 버전을 잘못 인식하고 있는 경우이다. 이는 이동통신 단말기(104)의 사용자가 대리점 등에서 소프트웨어를 업데이트를 하였을 때 이동통신 단말기(104)가 이를 인식하지 못한 경우 발생할 수 있으며, 이동통신 단말기(104)의 업데이트 과정에서 사람의 실수로 이동통신 단말기(104)에 업데이트 버전 정보가 잘못 입력된 경우에도 발생할 수 있다. 이러한 경우에는 이동통신 단말기(104)가 전술한 문제점, 즉 소프트웨어의 업데이트가 정상적으로 이루어지지 않거나 플래시 메모리의 바이너리 이미지에 손상을 주게 되는 등 피해를 입는 것을 막기 위하여 220단계로 진행하여 다운로드가 완료된 패치 파일을 삭제하고 222단계로 진행하여 소프트웨어의 업데이트 과정을 취소한다.
이처럼 업데이트 대상이 되는 바이너리 이미지와 실제 이동통신 단말기(104)의 바이너리 이미지가 일치하지 않는 경우에는 비록 사용자가 패치 파일과 바이너리 이미지 비교 정보를 모두 다운로드 받았다고 하더라도 소프트웨어를 업데이트 할 수 없게 된다. 그러나 종래 기술은 패치 파일과 바이너리 이미지 비교 정보를 모두 다운로드 받기 전에는 업데이트가 실행될지 취소될지 알 수 없으므로, 사용자의 이동통신 단말기(104)가 인식하고 있는 소프트웨어 버전 정보에 오류가 있을 경우, 소프트웨어의 업데이트가 이루어지지 않음에도 불구하고 패치 파일을 다운로드함으로써, 불필요한 데이터 전송에 따른 비용과 시간을 낭비하게 된다는 문제점이 있다.
삭제
그러므로 본 발명의 목적은 무선 데이터 망을 이용한 이동통신 단말기의 소프트웨어 업데이트 시에 업데이트가 이루어지는 패치 파일만을 다운로드 받도록 함으로써 불필요한 데이터의 전송에 따른 비용과 시간을 절약할 수 있는 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 발명은, 상기 이동통신 단말기가 상기 IOTA-SD서버로부터 소프트웨어 업데이트 통지를 받고 상기 IOTA-SD서버와 접속하는 접속 단계와, 상기 이동통신 단말기가 자신의 소프트웨어 버전 정보에 대응되는 제1 바이너리 이미지 비교 정보를 상기 IOTA-SD서버로부터 전송받는 비교 정보 전송 단계와, 상기 이동통신 단말기가 저장된 소프트웨어의 바이너리 이미지로 제2 바이너리 이미지 비교 정보를 생성하고, 이를 상기 제1 바이너리 이미지 비교 정보와 비교하는 비교 단계와, 상기 이동통신 단말기가 상기 제1 바이너리 이미지 비교 정보와 상기 제2 바이너리 이미지 비교 정보가 일치하는 경우 상기 IOTA-SD서버로부터 패치 파일을 다운로드 받는 패치 파일 다운로드 단계와, 상기 이동통신 단말기가 상기 패치 파일을 이용하여 소프트웨어를 업데이트 하는 단계를 구비한다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성 요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 하기 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
도 3과 도 4는 본 발명의 실시 예를 나타낸 도면이다. 본 발명에서는 상기한 문제점을 해결하기 위해 IOTA-SD 서버(300)로부터 패치 파일을 전송받기 전에 업데이트가 실행될지 아니면 취소가 될지 결정되도록 한다. 이를 위해 본 발명에서는 바이너리 이미지 비교 정보를 이용하여, 바이너리 이미지 비교 정보가 일치하는지 아닌지를 미리 확인한 후 바이너리 이미지 비교 정보가 일치할 경우에는 IOTA-SD 서버(300)에 이를 알리는 신호를 전송하여 패치 파일을 전송받고 업데이트를 실행하도록 한다. 그러나 바이너리 이미지 비교 정보가 일치하지 않을 경우에는 업데이트가 취소되도록 한다.
여기서 바이너리 이미지 비교 정보라는 것은 상술하였던 것처럼 업데이트의 대상이 되는 바이너리 이미지(즉, 소프트웨어)를 비교하기 위한 정보(예: MD5, 체크섬 등)를 말하는 것이다. 이는 무선 데이터 망을 통해 전송되는 데이터의 양을 줄이기 위한 것으로, IOTA-SD 서버(300)에서 전송하는 바이너리 이미지가 이동통신 단말기(302)의 플래시 메모리에 기록되어 있는 바이너리 이미지와 일치하는가 그렇지 않은가를 비교하기 위한 것이다. 따라서 데이터의 무결성을 검증하는 데 사용하는 압축 방법, 예를 들어 MD5(Message Digest 5)나 해밍 코드, 또는 CRC 체크 등과 같은 여러 가지 방법 등이 바이너리 이미지의 변환 방법으로 사용될 수 있다. 본 발명에서는 이러한 바이너리 이미지 비교 정보를 생성하기 위해 MD5 방식을 이용하여 바이너리 이미지를 변환하는 것을 예로 들어 설명하기로 한다.
도 3은 본 발명의 제1 실시 예를 나타낸 것으로, IOTA-SD 서버가, IOTA-SD 서버에 저장되어 있는 사용자 정보에 따라 이동통신 단말기의 소프트웨어 업데이트가 필요한 사용자들에게 이를 통지하는 경우, IOTA-SD 서버와 이동통신 단말기의 업데이트 과정에 대한 흐름을 보이고 있는 도면이다. 여기서 IOTA-SD 서버(300)로부터 이동통신 단말기(302)로의 소프트웨어 업데이트 통지라는 것은 IOTA-SD 서버(300)가 이동통신 단말기(302)의 사용자에게 새로운 소프트웨어 버전이 출시되었음을 알림과 동시에 새로운 소프트웨어로 교체할 것을 알리는 것을 말한다. 그런데 이러한 업데이트 통지는 IOTA-SD 서버(300)에 저장되어 있는 사용자의 정보를 바탕으로 이루어지게 된다. 이러한 업데이트 통지가 왔을 경우를 가정한 도 3을 참조하여 살펴보면, IOTA-SD 서버(300)는 304단계에서 이동통신 단말기(302)로 업데이트 통지를 전송한다. 그리고 업데이트 통지를 받은 이동통신 단말기(304)는 306단계에서 사용자에게 IOTA-SD 서버(300)로부터 업데이트 통지가 전송되었음을 알리고 사용자에 업데이트를 할 것인지를 묻는다. 그리고 306단계에서 사용자가 업데이트를 원하지 않을 경우에는 이동통신 단말기(302)는 322단계로 진행하여 업데이트를 취소한다. 그러나 사용자가 306단계에서 업데이트를 선택하였다면 308단계로 진행하여 IOTA-SD 서버(300)에 접속 요청 신호를 전송한다.
그러면 접속 요청 신호를 전송받은 IOTA-SD 서버(300)는 310단계에서 접속 확인 신호와 함께 IOTA-SD 서버(300)에 저장되어 있는 이동통신 단말기(302)의 소 프트웨어 버전에 대응하는 바이너리 이미지를 MD5 방식으로 변환한 정보(이하 바이너리 이미지 MD5 정보라 칭함)를 전송한다. 그리고 바이너리 이미지 MD5 정보를 전송받은 이동통신 단말기(302)는 자신의 플래시 메모리에 기록되어 있는 바이너리 이미지를 MD5 방식으로 변환하여 생성한 바이너리 이미지 MD5 정보와, 312단계에서 IOTA-SD 서버(300)로부터 전송받은 바이너리 이미지 MD5 정보가 일치하는지를 확인한다. 그리고 서로 일치할 경우에는 314단계로 진행하여 IOTA-SD 서버(300)에 바이너리 이미지가 서로 일치함을 알리는 확인 신호를 전송한다. 그러나 312단계에서 바이너리 이미지 MD5 정보가 일치하지 않을 경우에는 322단계로 진행하여 업데이트 과정을 취소하게 된다.
한편, 바이너리 이미지가 서로 일치한다는 확인 신호를 전송받은 IOTA-SD 서버(300)는 316단계로 진행하여 304단계에서 사용자에게 통지한 소프트웨어 버전의 패치 파일을 전송한다. 그리고 패치 파일을 전송받은 이동통신 단말기(302)는 318단계로 진행하여 패치 파일의 다운로드가 이상 없이 완료되었는지를 확인한다. 이 318단계에서 다운로드에 이상이 발생하였을 경우, 즉, 다운로드 도중에 서버와의 접속이 끊기거나, 다운로드 받은 패치 파일의 무결성에 문제가 있는 경우에는 다시 308단계로 진행하여 IOTA-SD 서버(300)에 재접속을 시도하고, 이후의 소프트웨어 업데이트 과정을 재시작한다. 그러나 318단계에서 패치 파일의 다운로드가 이상 없이 완료되었다면 이동통신 단말기(302)는 320단계로 진행하여 다운로드 받은 패치 파일을 이용한 소프트웨어 업데이트를 실행한다.
따라서 본 발명의 제1 실시 예에 의하면 이동통신 단말기(302)는 IOTA-SD 서 버(300)로부터 바이너리 이미지 비교 정보를 전송받고, 자신의 플래시 메모리에 기록되어 있는 바이너리 이미지를 읽어 들여 미리 결정되어 있는 방식으로 변환시킨다. 그리고 변환된 결과로 생성된 바이너리 이미지 비교 정보를, IOTA-SD서버(300)로부터 전송받은 바이너리 이미지 비교 정보와 비교하여 서로 일치하는지를 확인한다. 그러므로 이동통신 단말기(302)의 사용자는 IOTA-SD 서버(300)로부터 패치 파일을 다운로드 받기 전에 소프트웨어 업데이트가 실행될 것인지 취소될 것인지를 미리 알 수 있다. 따라서 사용자는 업데이트가 실행될 수 있는 경우에만 IOTA-SD 서버(300)로부터 패치 파일을 다운로드 받는 것이 가능하게 된다.
도 4는 본 발명의 제2 실시 예를 나타낸 것으로, 이동통신 단말기(303) 사용자의 요구에 의해 소프트웨어 업데이트가 이루어지는 과정에 대한 흐름을 보이고 있는 도면이다. 도 4를 참조하여 살펴보면, 400단계에서 사용자의 요구에 의한 접속 요청 신호가 이동통신 단말기(302)로부터 IOTA-SD 서버(300)로 전송되게 된다. 그러면 접속 요청 신호를 전송 받은 IOTA-SD 서버(300)는 402단계에서 이에 대한 응답으로 접속 확인 신호를 전송하게 된다.
IOTA-SD 서버(300)로부터 접속 확인 신호를 전송 받음으로써 IOTA-SD 서버(300)에 접속되어 있는 것을 확인한 이동통신 단말기(302)는 404단계로 진행하여 자신의 플래시 메모리에 기록되어 있는 바이너리 이미지를 MD5 방식으로 변환하여 바이너리 이미지 MD5 정보를 생성하고, 이를 소프트웨어 버전 정보와 함께 IOTA-SD 서버(300)로 전송한다. 그러면 이동통신 단말기(302)로부터 바이너리 이미지 MD5 정보와 소프트웨어 버전 정보를 전송받은 IOTA-SD 서버(300)는, 406단계로 진행하여 현재 저장되어 있는 바이너리 이미지 MD5 정보 중에서, 이동통신 단말기(302)로부터 전송받은 소프트웨어 버전에 대응하는 바이너리 이미지 MD5 정보를 확인한다. 그리고 408단계로 진행하여 406단계에서 확인한 바이너리 이미지 MD5 정보와 이동통신 단말기(302)로부터 전송받은 바이너리 이미지 MD5 정보가 일치하는지를 확인한다. 이때 바이너리 이미지가 서로 일치하지 않는다면 418단계로 진행하여 에러 정보를 이동통신 단말기(302)로 전송하게 되고, 만약 이동통신 단말기(302)가 이 에러 정보를 전송받는다면 이동통신 단말기(302)는 업데이트 과정을 취소하게 된다. 물론 여기서 에러정보를 전송함으로써 업데이트를 취소시키는 것 대신에 만약 IOTA-SD서버(300)가 이동통신 단말기(302)의 오류를 수정하는 것이 가능하다면 오류를 수정할 수 있는 정보를 전송하여 업데이트가 가능하게끔 하는 것은 당연하다. 즉, IOTA-SD서버(300)가 이동통신 단말기(302)로부터 전송받은 바이너리 이미지 MD5 정보에 대응하는 정확한 소프트웨어 버전 정보가 확인되면, 상기한 에러정보 대신에 오류를 수정할 수 있는 정보를 이동통신 단말기(302)로 전송하고, 이동통신 단말기(302)는 오류 수정 정보를 받아서 오류를 수정한 후 다시 400단계부터 소프트웨어 업데이트 과정을 재시작하게 된다.
그러나 408단계에서 바이너리 이미지 MD5 정보가 서로 일치하였다면 IOTA-SD 서버(300)는 410단계로 진행하여 이동통신 단말기(302)로부터 전송받은 소프트웨어 버전에 대한 업데이트 패치 파일이 있는지를 확인한다. 그리고 408단계에서 IOTA-SD 서버(300)에 해당 소프트웨어 버전에 대한 업데이트 패치 파일이 없을 경우에는 418단계로 진행하여 에러 정보를 이동통신 단말기(302)로 전송하고 업데이트 과정 을 취소하게 된다. 그러나 이 410단계에서 IOTA-SD 서버(300)에 해당 소프트웨어 버전에 대한 업데이트 패치 파일이 있을 경우에는 IOTA-SD 서버(300)는 412단계로 진행하여 해당 패치 파일을 이동통신 단말기(302)로 전송한다.
그리고 패치 파일을 전송 받은 이동통신 단말기(302)는 414단계로 진행하여 다운로드 받은 패치 파일에 이상은 없는가를 확인한다. 이 경우 본 발명의 제1 실시 예와 마찬가지로 다운로드에 이상이 발생했을 경우, 즉, 다운로드 도중에 서버와의 접속이 끊기거나, 다운로드 받은 패치 파일의 무결성에 문제가 있는 경우에는 다시 400단계로 진행하여 IOTA-SD 서버(300)에 재접속을 시도하고, 이후의 소프트웨어 업데이트 과정을 재시작한다. 그러나 414단계에서 패치 파일이 이상 없이 다운로드 되었을 경우에는 416단계로 진행하여 414단계에서 다운로드 받은 패치 파일을 이용한 소프트웨어 업데이트를 실행한다.
그러므로 본 발명의 제2 실시 예에 따르면 이동통신 단말기(302)로부터 IOTA-SD 서버(300)로 바이너리 이미지 MD5 정보와 소프트웨어 버전 정보를 전송한다. 그리고 IOTA-SD 서버(300)에서, 전송받은 바이너리 이미지 MD5 정보를 이용하여 이동통신 단말기(302)의 소프트웨어 버전 정보가 올바른 것인지를 확인한다. 그리고 올바른 것일 경우에는 그 소프트웨어 버전에 해당하는 업데이트용 패치 파일이 있는지를 확인하고, 있을 경우에 해당 패치 파일을 이동통신 단말기(302)로 전송한다. 따라서 본 발명의 제2 실시 예 역시 제1 실시 예와 마찬가지로 이동통신 단말기(302)의 사용자가 IOTA-SD 서버(300)로부터 패치 파일을 다운로드 받기 전에 소프트웨어 업데이트가 실행될 것인지 취소될 것인지를 미리 알 수 있다. 그러므로 사용자는 업데이트가 실행될 수 있는 경우에만 IOTA-SD 서버(300)로부터 패치 파일을 다운로드 받는 것이 가능해 진다.
한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시할 수 있다. 특히 본 발명의 실시 예에서는 IOTA-SD 서버로부터 이동통신 단말기로 업데이트가 통지되고 사용자가 업데이트를 선택함으로써 업데이트가 이루어지는 경우와 사용자의 요청에 의하여 이동통신 단말기가 IOTA-SD 서버에 접속하여 업데이트가 이루어지는 경우의 예를 들었다. 그런데 여기서 비록 도시되지는 않았으나, 이동통신 단말기의 소프트웨어 버전 정보에 오류가 있는 경우, IOTA-SD 서버에서 그 오류를 발견할 수 있다면, 에러정보를 전송하는 것 대신에, 이동통신 단말기로 그 오류를 수정하는 정보를 전송하여 이동통신 단말기의 소프트웨어 버전 정보를 올바르게 수정할 수도 있음은 물론이다. 또한 이와 더불어 이동통신 단말기에서 전송된 바이너리 이미지 MD5 정보에 대응하는 소프트웨어 버전을 확인하고, 올바른 소프트웨어 버전 정보에 따른 패치 파일을 전송함으로써 이동통신 단말기의 오류 정보를 수정함은 물론 업데이트까지 실행되게 할 수 있음은 물론이다. 따라서 발명의 범위는 설명된 실시 예들에 의해 정할 것이 아니고 특허청구범위와 특허청구범위의 균등한 것에 의해 정하여져야 한다.
상술한 바와 같이 본 발명은 바이너리 이미지 비교 정보를 미리 전송하여, 패치 파일을 다운로드 받기 전에 미리 그 패치 파일이 소프트웨어 업데이트를 실행시킬 수 있는 것인지, 아니면 소프트웨어 업데이트를 실행시킬 수 없는 불필요한 것인지를 확인할 수 있도록 한다. 그리고 소프트웨어의 업데이트가 실행될 수 있는 패치 파일만을 IOTA-SD서버로부터 다운로드 받을 수 있도록 한다. 이에 따라 본 발명은 불필요한 패치 파일의 다운로드에 낭비되던 경비와 시간을 절약할 수 있다.

Claims (4)

  1. IOTA-SD(Internet Over The Air-Software Download)서버를 이용한 이동통신 단말기 소프트웨어의 업데이트 방법에 있어서,
    상기 이동통신 단말기가 상기 IOTA-SD서버로부터 소프트웨어 업데이트 통지를 받고 상기 IOTA-SD서버와 접속하는 접속 단계와,
    상기 이동통신 단말기가 자신의 소프트웨어 버전 정보에 대응되는 제1 바이너리 이미지 비교 정보를 상기 IOTA-SD서버로부터 전송받는 비교 정보 전송 단계와,
    상기 이동통신 단말기가 저장된 소프트웨어의 바이너리 정보로 제2 바이너리 이미지 비교 정보를 생성하고, 이를 상기 제1 바이너리 이미지 비교 정보와 비교하는 비교 단계와,
    상기 이동통신 단말기가 상기 제1 바이너리 이미지 비교 정보와 상기 제2 바이너리 이미지 비교 정보가 일치하는 경우 상기 IOTA-SD서버로부터 패치 파일을 다운로드 받는 패치 파일 다운로드 단계와,
    상기 이동통신 단말기가 상기 패치 파일을 이용하여 소프트웨어를 업데이트 하는 단계를 포함함을 특징으로 하는 이동통신 단말기의 소프트웨어 업데이트 방법.
  2. 제1항에 있어서,
    상기 바이너리 이미지 비교 정보는,
    특정 소프트웨어가 내장된 이동통신 단말기의 플래시 메모리에 기록되어 있는 상기 특정 소프트웨어의 바이너리 이미지를 MD5(Message Digest 5) 방식, 해밍 코드 방식, 체크 섬 방식 중 어느 하나의 방식으로 변환하여 생성하는 것임을 특징으로 하는 이동통신 단말기의 소프트웨어 업데이트 방법.
  3. IOTA-SD(Internet Over The Air-Software Download)서버를 이용한 이동통신 단말기 소프트웨어의 업데이트에 있어서,
    상기 IOTA-SD서버가 상기 이동통신 단말기로부터 소프트웨어 업데이트를 요청받고 상기 이동통신 단말기와 접속하는 접속 단계와,
    상기 IOTA-SD서버가 상기 이동통신 단말기로부터 상기 이동통신 단말기에 저장된 소프트웨어의 제1 바이너리 이미지 비교 정보와 소프트웨어 버전 정보를 전송받는 정보 전송 단계와,
    상기 IOTA-SD서버가 저장되어 있는 바이너리 이미지 비교 정보들 중 상기 이동통신 단말기로부터 전송받은 소프트웨어 버전 정보에 대응되는 제2 바이너리 이미지 비교 정보를 확인하는 버전 정보 확인 단계와,
    상기 IOTA-SD서버가 상기 제2 바이너리 이미지 비교 정보와 상기 제1 바이너리 이미지 비교 정보를 비교하여 일치하는지 확인하는 비교 단계와,
    상기 IOTA-SD서버가 상기 제1 바이너리 이미지 비교 정보와 상기 제2 바이너리 이미지 비교 정보가 일치할 경우 상기 이동통신 단말기의 소프트웨어를 업데이트 시킬 수 있는 업데이트 패치 파일이 저장되어 있는지 확인하는 단계와,
    상기 IOTA-SD서버가 상기 업데이트 패치 파일이 있는 경우, 상기 이동통신 단말기로 상기 업데이트 패치 파일을 전송하는 패치 파일 전송 단계를 포함함을 특징으로 하는 이동통신 단말기의 소프트웨어 업데이트 방법.
  4. 제3항에 있어서,
    상기 바이너리 이미지 비교 정보는,
    특정 소프트웨어가 내장된 이동통신 단말기의 플래시 메모리에 기록되어 있는 상기 특정 소프트웨어의 바이너리 이미지를 MD5(Message Digest 5) 방식, 해밍 코드 방식, 체크 섬 방식 중 어느 하나의 방식으로 변환하여 생성하는 것임을 특징으로 하는 이동통신 단말기의 소프트웨어 업데이트 방법.
KR1020040057822A 2004-07-23 2004-07-23 이동통신 단말기의 소프트웨어 업데이트 방법 KR100651398B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040057822A KR100651398B1 (ko) 2004-07-23 2004-07-23 이동통신 단말기의 소프트웨어 업데이트 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040057822A KR100651398B1 (ko) 2004-07-23 2004-07-23 이동통신 단말기의 소프트웨어 업데이트 방법

Publications (2)

Publication Number Publication Date
KR20060008685A KR20060008685A (ko) 2006-01-27
KR100651398B1 true KR100651398B1 (ko) 2006-11-29

Family

ID=37119676

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040057822A KR100651398B1 (ko) 2004-07-23 2004-07-23 이동통신 단말기의 소프트웨어 업데이트 방법

Country Status (1)

Country Link
KR (1) KR100651398B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246528A (zh) * 2012-02-10 2013-08-14 中兴通讯股份有限公司 软件升级方法和装置
CN107944021B (zh) * 2017-12-11 2021-06-18 北京奇虎科技有限公司 文件替换方法、装置及终端设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000276335A (ja) 1999-03-29 2000-10-06 Nec Soft Ltd プログラム自動更新システム
KR20040008007A (ko) * 2002-07-15 2004-01-28 에임텍 주식회사 무선단말기 펌웨어 업그레이드 방법
KR20040019841A (ko) * 2002-08-30 2004-03-06 퀄컴 인코포레이티드 무선 장치상에 상주하는 데이타 세트 버전들을 업데이트하는 서버 프로세싱

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000276335A (ja) 1999-03-29 2000-10-06 Nec Soft Ltd プログラム自動更新システム
KR20040008007A (ko) * 2002-07-15 2004-01-28 에임텍 주식회사 무선단말기 펌웨어 업그레이드 방법
KR20040019841A (ko) * 2002-08-30 2004-03-06 퀄컴 인코포레이티드 무선 장치상에 상주하는 데이타 세트 버전들을 업데이트하는 서버 프로세싱

Also Published As

Publication number Publication date
KR20060008685A (ko) 2006-01-27

Similar Documents

Publication Publication Date Title
CN110621011B (zh) 一种基于蓝牙设备端的ota固件升级方法及系统
US5901320A (en) Communication system configured to enhance system reliability using special program version management
CN110083374B (zh) 一种升级回滚方法、系统及终端设备
US8972591B2 (en) Method for downloading software
US20120117557A1 (en) Method and system for upgrading wireless data card
JP2017097851A (ja) 中継装置、中継方法およびプログラム
EP1417570A2 (en) Software driver code usage
US20160170735A1 (en) Operating system updating method by using a checklist
KR101541112B1 (ko) Fota 시스템 및 그 실행 방법
CN112698851B (zh) 程序更新系统、程序传送装置和程序传送方法
CN107209700B (zh) 控制装置、具备该控制装置的车载程序的改写装置以及车载程序的改写方法
CN105045671A (zh) 一种智能终端的系统升级方法及装置
CN113821238B (zh) 智能穿戴设备外设固件更新方法、装置、移动终端及介质
CN104915234A (zh) 一种Android移动终端升级上报方法及系统
KR101350059B1 (ko) 전력량계 펌웨어 업그레이드 장치 및 방법
KR100651398B1 (ko) 이동통신 단말기의 소프트웨어 업데이트 방법
CN112181455B (zh) 微控制器的在线升级方法、微控制器及存储介质
CN113939802A (zh) 车辆控制装置、更新程序、程序更新系统以及写入装置
KR101847824B1 (ko) 스마트 키 펌웨어 업데이트 시스템 및 방법
JP2004110610A (ja) リモートメンテナンス方式
CN115515012A (zh) 一种密钥烧录方法、装置、电子设备板卡及存储介质
KR20050106846A (ko) 휴대단말기 펌웨어를 업그레이드하기 위한 장치와 방법
KR100685314B1 (ko) 이동통신 단말기 소프트웨어 자동 업그레이드 시스템 및 방법
KR20080065166A (ko) 이동단말기에서 터치패널의 응용 프로그램 다운로드 장치및 방법
CN114268624B (zh) 版本文件传输方法、装置及服务器

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121030

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141030

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151029

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee