KR101541112B1 - Fota 시스템 및 그 실행 방법 - Google Patents

Fota 시스템 및 그 실행 방법 Download PDF

Info

Publication number
KR101541112B1
KR101541112B1 KR1020130078580A KR20130078580A KR101541112B1 KR 101541112 B1 KR101541112 B1 KR 101541112B1 KR 1020130078580 A KR1020130078580 A KR 1020130078580A KR 20130078580 A KR20130078580 A KR 20130078580A KR 101541112 B1 KR101541112 B1 KR 101541112B1
Authority
KR
South Korea
Prior art keywords
file
fota
upgrade
download
firmware
Prior art date
Application number
KR1020130078580A
Other languages
English (en)
Other versions
KR20150005164A (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 KR1020130078580A priority Critical patent/KR101541112B1/ko
Publication of KR20150005164A publication Critical patent/KR20150005164A/ko
Application granted granted Critical
Publication of KR101541112B1 publication Critical patent/KR101541112B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

본 발명에 따른 FOTA 시스템은, FOTA 서버와 데이터 통신을 수행하고 다운로드 파일을 수신하는 통신부와; 상기 통신부를 통한 상기 다운로드 파일의 수신을 제어하는 다운로드부와; 상기 FOTA 서버와 네트워크 연결 및 데이터 IO에 대해 함수 라이브러리를 구성하는 소켓층과; 상기 다운로드부의 다운로드 파일과 현재 설치된 파일을 비교하여 차분 파일을 추출하여 업 데이트 파일을 생성하여 설치하는 제어부 및 상기 업 데이트 파일을 저장하는 메모리부를 포함하는 점에 그 특징이 있다.
본 발명에 따르면, FOTA 시스템의 펌웨어 업그레이드를 수행할 때, 이전 펌웨어의 상태와 비교하여 추가될 부분만을 추출하여 새로운 펌웨어를 생성하여 효율적으로 업그레이드를 수행할 수 있다.

Description

FOTA 시스템 및 그 실행 방법{FOTA system and the method}
본 발명은 FOTA 시스템 및 그 실행 방법에 관한 것으로, 특히 FOTA 시스템의 펌웨어 업그레이드를 수행할 때, 이전 펌웨어의 상태와 비교하여 추가될 부분만을 추출하여 새로운 펌웨어를 생성하여 효율적으로 업그레이드를 수행할 수 있는 FOTA 시스템 및 그 실행 방법에 관한 것이다.
무선 단말기의 기능이 복잡해짐에 따라 탑재되는 소프트웨어 또한 많은 버그(bug)를 가지고 있고, 무선 단말기의 출시 후 기능 추가에 대한 요구가 갈수록 더해지고 있다. 이에 따라 무선 단말기의 소프트웨어의 패치 및 기능 업그레이드를 무선상으로 해결하기 위해 나온 것이 FOTA(Firmware Over The Air)이다.
종래 기술에 따른 FOTA 서비스 방법을 살펴보면, 각 FOTA 솔루션 업체에서 FOTA를 실행하기 위한 소프트웨어를 각기 개발하여 공급하고, 이동통신망을 이용하여 무선 단말기로 상기 소프트웨어를 다운받아 실행함으로써 무선 단말기의 펌웨어(Firmware) 업데이트를 수행하게 된다.
FOTA를 수행하기 위한 소프트웨어는 음성 데이터 패킷이나 SMS 메시지의 데이터 등에 비해 데이터의 양이 훨씬 크므로 다운로드에 많은 시간이 소요되는데, 이로 인해 소프트웨어를 다운받는 동안에는 다른 수행을 할 경우 다운로드를 중단해야 하는 문제점이 발생한다.
또, 다운받는 소프트웨어의 용량이 큰 편이므로, 다운로드 중에는 특정 단말이 무선 자원(Radio Resource)을 많이 소모하게 된다. 이로 인해, 특정 셀(cell) 내에 있는 한 사용자에게 무선 자원이 집중되어 동일 셀 내의 다른 사용자가 무선 통신 서비스를 이용함에 있어 악영향을 미칠 수 있다는 문제점을 남기게 된다. 이러한 문제점은 단말 사용자에게 불편을 초래하는 것 이외에, 각 이통통신 서비스 사용자에게 최상을 통신 환경을 제공하려는 이통통신 사업자에게도 효율적인 무선 자원 분배에 어려움을 가중시킨다.
이러한 문제점을 해소하기 위해, 소프트웨어 전체를 다운로드하지 않고 이전 버전의 소프트웨어와 비교해 수정된 부분만 추출하여 파일을 생성하고, 생성한 파일을 다시 압축하여 다운받을 파일의 사이즈를 최소화하는 기술이 사용되기도 한다. 이를 Diff Package 생성 과정이라 한다. Diff Package를 이용하여, 휴대폰의 저장공간을 좀 더 효율적으로 활용할 수 있고, 다운로드에 걸리는 소요 시간도 줄일 수 있다.
그러나, FOTA 수행을 위한 소프트웨어 파일의 사이즈를 줄였다 하더라도, 다운로드에 소요되는 시간 및 다운받은 소프트웨어를 설치하는 시간은 통상 5~10분 정도 소요되어, 그 시간동안 걸려오는 전화나 메시지에 대응하는데 불편함이 발생한다는 문제점을 해소하여 주지는 못하며, 이동통신 사업자 입장에서 볼 때, 무선 자원의 불균형한 분배에 따른 문제점도 해소하지 못한다.
또, 펌웨어 업그레이드를 수행하는 과정에서 단말의 전원이 오프 되었다가 다시 켜지는 과정은 반드시 거치게 되어 있어, 휴대폰을 이용한 통화가 잦은 사용자에게는 불편함을 안겨준다는 문제점이 있다.
또한, FOTA 기능이 탑재된 휴대폰 모델이 점점 더 많아지는 추세이기 때문에, FOTA 기능을 응용하여 펌웨어 업그레이드용 소프트웨어뿐만 아니라 다른 종류의 소프트웨어를 다운받아 사용하는 서비스가 이루어질 경우, 무선 자원 소모 심화, 다운로드 및 실행에 따른 사용자의 불편함이 발생된다.
본 발명이 해결하고자 하는 기술적 과제는 무선 단말기의 펌웨어 업그레이드의 사이즈를 줄여 통신비 절감을 할 수 있는 무선 통신 단말기의 펌웨어 FOTA업그레이드 시스템 및 그 방법을 제공하는 것이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 FOTA 시스템은, FOTA 서버와 데이터 통신을 수행하고 다운로드 파일을 수신하는 통신부와; 상기 통신부를 통한 상기 다운로드 파일의 수신을 제어하는 다운로드부와; 상기 FOTA 서버와 네트워크 연결 및 데이터 IO에 대해 함수 라이브러리를 구성하는 소켓층과; 상기 다운로드부의 다운로드 파일과 현재 설치된 파일을 비교하여 차분 파일을 추출하여 업 데이트 파일을 생성하여 설치하는 제어부 및 상기 업 데이트 파일을 저장하는 메모리부를 포함하는 점에 그 특징이 있다.
여기서, 특히 상기 제어부는 상기 추출된 파일에 따라 풀 업그레이드, 패치 업그레이드 또는 컴프레스트 업그레이드 중에서 선택하여 설치하는 점에 그 특징이 있다.
여기서, 특히 상기 패치 업그레이드 또는 상기 컴프레스트 업그레이드는 BZip2 라이브러리또는 BSDiff 라이브러리를 이용하여 펌웨어를 수행하는 점에 그 특징이 있다.
또한, 본 발명에 따른 FOTA 실행 방법은, FOTA 서버로부터 클라이언트의 무선 단말기에 FOTA 요청 SMS 전송하는 단계와; 상기 SMS 요청을 수신한 무선 단말기가 해당 URL로 HTTP 서버로 접속하는 단계와; 상기 해당 무선 단말기와 상기 웹서버 간의 유효성 검사를 수행하는 단계와; 상기 유효성 검사 후 FOTA의 FTP 서버에 접속하여 해당 파일을 다운로드하는 단계와; 상기 다운로드 된 파일과 현재 설치된 파일의 사이즈를 비교하여 다른 부분을 추출하는 단계와; 상기 추출된 파일에 따라 업 데이트 타입을 결정하고, 그에 대응하는 펌웨어를 만들어 설치하는 단계를 포함하는 점에 그 특징이 있다.
여기서, 특히 상기 추출된 파일에 따라 업 데이트 타입의 결정은 풀 업그레이드, 패치 업그레이드 또는 컴프레스트 업그레이드 중에서 선택하여 실행하는 점에 그 특징이 있다.
여기서, 특히 상기 패치 업그레이드 또는 상기 컴프레스트 업그레이드는 BZip2 라이브러리 또는 BSDiff 라이브러리를 이용하여 펌웨어를 수행하는 점에 그 특징이 있다.
이상의 본 발명에 따르면, FOTA 시스템의 펌웨어 업그레이드를 수행할 때, 이전 펌웨어의 상태와 비교하여 추가될 부분만을 추출하여 새로운 펌웨어를 생성하여 효율적으로 업그레이드를 수행할 수 있다.
도 1은 본 발명의 FOTA 서비스 제공 시스템의 전체적인 개략도.
도 2는 FOTA 시스템의 구성을 개략적으로 도시한 도면.
도 3은 본 발명에 따른 FOTA 실행 방법에 대한 순서도.
도 4 내지 도 6은 패치 파일의 생성, 구조 및 추출에 대한 도면.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시 예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 '연결'되어 있다고 할때, 이는 '직접적으로 연결'되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 '간접적으로 연결'되어 있는 경우도 포함한다. 또한 어떤 구성 요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 본 발명의 일 실시 예를 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 FOTA 서비스 제공 시스템의 전체적인 개략도이고, 도 2는 FOTA 시스템의 구성을 개략적으로 도시한 도면이다. 도 1에 도시된 바와 같이, FOTA 서비스를 제공하기 위한 시스템은, FOTA 서버, IPS 사업자 기지국, 통신 네트워크 및 단말을 포함하여 이루어진다.
상기 FOTA 서버는 무선으로 단말 사용자에게 FOTA 서비스를 제공하는 서버로서, 단말 사용자에게 문자 메시지 등으로 FOTA 서비스를 알리며, 인증 절차 등을 거쳐 단말 사용자가 펌웨어 업그레이드용 파일을 다운받아 실행할 수 있는 솔루션을 제공한다.
상기 FOTA 서버에는 무선 자원(Radio Resource) 사용률에 관한 정보 또는 FOTA 서비스를 수행하기 위한 시간에 대한 정보가 저장될 수 있다. 이동통신 사업자는 이동통신망을 관리하기 때문에, 상기 무선 자원 사용률에 관한 정보를 수시로 체크하며, 각 시간대별 무선자원 사용률이나 점유율에 대한 정보를 갖고 있다. 따라서, 이동통신 사업자는 각 시간대별 무선자원 사용률에 근거하여 무선자원 사용률이 낮은 시각에 FOTA 서비스가 수행될 수 있도록 무선자원 사용률에 대한 정보나, FOTA 서비스를 수행하기 적합한 시각에 대한 정보를 저장해 둠이 바람직하다.
도 2에 도시된 바와 같이, 본 발명에 따른 FOTA 시스템은, FOTA 서버와 데이터 통신을 수행하고 다운로드 파일을 수신하는 통신부와; 상기 통신부를 통한 상기 다운로드 파일의 수신을 제어하는 다운로드부와; 상기 FOTA 서버와 네트워크 연결 및 데이터 IO에 대해 함수 라이브러리를 구성하는 소켓층과; 상기 다운로드부의 다운로드 파일과 현재 설치된 파일을 비교하여 차분 파일을 추출하여 업 데이트 파일을 생성하여 설치하는 제어부 및 상기 업 데이트 파일을 저장하는 메모리부를 포함하여 구성된다.
상기 FOTA 서버는 웹서버, DB 서버 및 FTP 서버를 포함하고, 웹 서버는 단말기가 FOTA 서버에 접속한 단말기의 등록 여부를 판단하고, FTP 서버는 해당 파일을 전송한다. 그리고, DB 서버는 파일 및 사용자 등록 데이터 등을 저장 및 관리한다.
상기 통신부는 FOTA(Firmware Over The Air) 서비스에 따른 펌웨어 업데이트를 실행하기 위한 파일을 수신하는 기능을 한다. 파일을 수신하는 방법은 유선과 무선으로 나눌 수 있다. 유선으로 수신하는 방법의 일 예로는, 단말 제조업체가 제공하는 파일을 인터넷을 통해 컴퓨터에 다운받은 뒤 단말과 컴퓨터를 케이블로 연결하여 파일을 수신하는 방법, 이동통신 서비스업체가 운영하는 홈페이지나 대리점 등을 통해 유선으로 파일을 옮겨 수신하는 방법 등이 있을 수 있다. 무선으로 수신하는 방법의 일 예로는, 단말 제조업체가 제공하는 파일을 무선통신 망을 이용하여 이동통신 사업자의 서버로부터 단말로 다운로드 하는 방법이 가능할 것이다.
상기 통신부에는, 무선 이동통신망을 통한 파일 데이터의 수신을 위해 안테나가 연결될 수 있다.
상기 다운로드부는 FOTA 서버와 연동하여 서비스에 따른 파일의 다운로드 수행을 제어하는 기능을 하며, 다운로드 받은 파일이나 메모리에 저장된 파일을 실행시켜 단말의 펌웨어 업데이트(Firmware Update)를 수행한다. 또한, 현재 상태 확인 (state Varify), 파일 변환(file transfer), 상태 보고(state report)를 담당한다.
상기 소켓층은 상기 FOTA 서버와 네트워크 연결 및 데이터 IO에 대해 함수 라이브러리를 구성하게 된다. 즉, BZip2 라이브러리 또는 BSDiff 라이브러리 등을 구성할 수 있다.
여기서, BZip2 및 BSDiff 라이브러리는 오픈 되어 있는 알고리즘 및 소스를사용한다. Bsdiff 알고리즘은 다른 압축 알고리즘보다 효율이 좋으며 사용하기가 용이하여 적용하는 것이 바람직하다.
상기 제어부는 상기 추출된 파일에 따라 풀 업그레이드(Full upgrade), 패치 업그레이드(patch upgrade) 또는 컴프레스트 업그레이드(compressed upgrade) 중에서 선택하여 설치하도록 제어한다.
여기서, 상기 패치 업그레이드 또는 상기 컴프레스트 업그레이드는 BZip2 라이브러리또는 BSDiff 라이브러리를 이용하여 펌웨어를 수행한다.
먼저, 도 4에 도시된 바와 같이, 펌 웨어 패치 파일 생성은 업데이트를 하기 전 대상 단말기에 이미 설치되어 있는 펌 웨어(Firmware)의 원본과 업데이트를 할 펌 웨어 대상을 비교한다. 이때 bsdiff 알고리즘을 사용한다.
그리고, 펌 웨어(Firmware)를 논리적으로 일정한 크기의 블럭(block) 단위로 구분하여 나눈다. 원본과 대상을 각각의 블럭 넘버에 맞게 일대일 대응해서 비교하여 차이가 있는 부분은 따로 블럭 넘버와 내용을 저장하게 되는데 이때 저장되는 위치가 diff table이다. 따라서, 이러한 방식을 사용해서 실제 펌 웨어(Firmware)의 사이즈보다 훨씬 작은 사이즈의 패치 파일을 생성하게 된다. 여기서, 하기 표는 펌 웨어를 설치하는 과정의 상태를 표시하고 있다.
Figure 112013060433914-pat00001
또한, 도 5에 도시된 바와 같이, 상기 만들어진 패치 파일의 구조는 헤더(Header)와 바디(Body)로 나뉜다. 각각의 용도는 아래와 같다.
Mark[6] : 패치 파일을 식별하기 위한 고유 문자열
State[1] : 패치 진행 상태를 나타낸다. 패치 파일 다운 로드 시작 시점부터 패치 파일 업데이트 완료 후 보고까지의 단계를 가지고 있다.
name[50] : 패치 파일의 이름
save_size[4] : 단말기가 다운로드 한 패치 파일의 크기
total size[4] : 패치 파일의 크기. 단말기가 다운로드 해야 할 크기
CheckSum[4] : 패치 파일 에러 검출을 위한 CRC 체크섬 값.
Fota_url[100] : FOTA 서버 URL
상기 메모리부는 송수신부를 통해 수신된 FOTA 서비스 관련 파일을 저장하는 기능을 수행한다. 메모리에 저장되는 파일은, FOTA 서비스를 수행하기 위한 펌웨어 소프트웨어 파일 전체 일수도 있고, 이미 단말에 설치되어 있는 이전 버전(version)의 펌웨어와의 차이점만 추출되어 압축된 형태의 파일일 수도 있다. 상기 메모리는 내장 메모리 또는 외장 메모리 모두 사용 가능하며, 플래시(flash) 메모리나 하드 디스크와 같은 특정 메모리로 한정하지 않는다.
또한, 도 3은 본 발명에 따른 FOTA 실행 방법에 대한 순서도이다. 도 3에 도시된 바와 같이, 본 발명에 따른 FOTA 실행 방법은, FOTA 서버로부터 클라이언트의 무선 단말기에 FOTA 요청 SMS 전송하는 단계가 수행된다(S301).
여기서, 기지국을 통해 FOTA 단말기(100)로 FOTA 서비스 정보가 수신되면, 단말의 펌웨어 업데이트를 지금 수행할 것인지를 묻는 메시지가 표시된다.
그리고, 상기 SMS 요청을 수신한 무선 단말기가 해당 URL로 HTTP 서버로 접속하는 단계가 수행된다(S302).
이어서, 상기 해당 무선 단말기와 상기 웹서버 간의 유효성 검사하는 단계가 수행된다(S303). 즉, FOTA 서버와 무선 단말기의 인증 절차를 거치게 된다.
그 다음으로, 상기 유효성 검사 후 FOTA의 FTP 서버에 접속하여 해당 파일을 다운로드하는 단계가 수행된다(S304). 여기서, 단말 사용자가 '지금 시작' 항목을 선택하면, 다운로드부(120)는 통신부(110)를 통해 펌웨어 업데이트용 소프트웨어를 수신하도록 제어하고, 다운로드 받은 소프트웨어를 메모리(140)에 저장한다.
이어, 상기 다운로드 된 파일과 현재 설치된 파일의 사이즈를 비교하여 다른 부분을 추출하는 단계가 수행된다(S305).
보다 구체적으로, 상기 다운로드 된 파일의 헤더 정보를 읽고, 바이너리 단위로 비교하여 다른 부분에 대한 차분 파일을 추출하게 된다. 도 6에 도면과 같이, 패치 파일을 다시 추출하여 업데이트를 진행하는 과정은 패치 파일을 압축하는 과정을 역으로 행하면서 이루어진다. 먼저, 현재 단말기에 설치되어 있는 펌 웨어(Firmware)를 메모리로 불러온 후, 패치 파일의 diff table에서 블럭 넘버(block no)를 확인하여 해당하는 위치에 덮어씌운다. 그 다음, 대상 파일로 덮어 씌우기가 완료되면 해당 이미지를 단말기의 실제 코드 영역에 넣어서 펌 웨어(Firmware) 업데이트를 완료한다.
그리고, 상기 추출된 파일에 따라 업 데이트 타입을 결정하고(S306), 그에 대응하는 펌웨어를 만들어 설치하는 단계가 수행된다.
보다 상세하게는, 상기 제어부(130)는 상기 추출된 파일에 따라 업 데이트 타입의 결정은 풀 업그레이드(S307), 패치 업그레이드(S308) 또는 컴프레스트 업그레이드(S309) 중에서 선택하여 실행하게 되며, 다운로드 받은 소프트웨어를 실행하여 단말의 펌웨어 업데이트가 이루어지도록 한다. 여기서, 상기 패치 업그레이드 또는 상기 컴프레스트 업그레이드는 BZip2 라이브러리 또는 BSDiff 라이브러리를 이용하여 펌웨어를 수행하게 된다.
그리고, 상기 단말기에 설치된 펌웨어가 정상적으로 설치되었는지 여부를 검사하고(S310) 부팅하여 실행하게 된다(S311).
이상에서 설명한 바와 같이, 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예에 관하여 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 범주에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 따라서 본 발명의 권리 범위는 설명된 실시 예에 국한되어 정해져서는 안되며, 후술하는 청구범위뿐만 아니라, 이와 균등한 것들에 의해 정해져야 한다.
<도면의 주요부분에 대한 부호의 설명>
100 --- FOTA 단말기 110 --- 통신부
120 --- 다운로드부 130 --- 제어부
140 --- 메모리부 150 --- 소켓층
200 --- FOTA 서버 210 --- 웹서버
220 --- DB 서버 230 ---FTP 서버

Claims (6)

  1. FOTA 서버와 데이터 통신을 수행하고 다운로드 파일을 수신하는 통신부와;
    상기 통신부를 통한 상기 다운로드 파일의 수신을 제어하는 다운로드부와;
    상기 FOTA 서버와 네트워크 연결 및 데이터 IO에 대해 함수 라이브러리를 구성하는 소켓층과;
    상기 다운로드부의 다운로드 파일과 현재 설치된 파일을 비교하여 차분 파일을 추출하여 업 데이트 파일을 생성하여 설치하는 제어부; 및
    상기 업 데이트 파일을 저장하는 메모리부를 포함하는 FOTA 시스템.
  2. 제 1항에 있어서,
    상기 제어부는 상기 추출된 파일에 따라 풀 업그레이드, 패치 업그레이드 또는 컴프레스트 업그레이드 중에서 선택하여 설치 실행하는 것을 특징으로 하는 FOTA 시스템.
  3. 제 2항에 있어서,
    상기 패치 업그레이드 또는 상기 컴프레스트 업그레이드는 BZip2 라이브러리또는 BSDiff 라이브러리를 이용하여 펌웨어를 수행하는 것을 특징으로 하는 FOTA 시스템.
  4. FOTA 서버로부터 클라이언트의 무선 단말기에 FOTA 요청 SMS 전송하는 단계와;
    상기 SMS 요청을 수신한 무선 단말기가 해당 URL로 HTTP 서버로 접속하는 단계와;
    상기 해당 무선 단말기와 웹서버 간의 유효성 검사를 수행하는 단계와;
    상기 유효성 검사 후 FOTA의 FTP 서버에 접속하여 해당 파일을 다운로드하는 단계와;
    상기 다운로드 된 파일과 현재 설치된 파일의 사이즈를 비교하여 다른 부분을 추출하는 단계와;
    상기 추출된 파일에 따라 업 데이트 타입을 결정하고, 그에 대응하는 펌웨어를 만들어 설치하는 단계를 포함하는 것을 특징으로 하는 FOTA 실행 방법.
  5. 제 4항에 있어서,
    상기 추출된 파일에 따라 업 데이트 타입의 결정은 풀 업그레이드, 패치 업그레이드 또는 컴프레스트 업그레이드 중에서 선택하여 실행하는 것을 특징으로 하는 FOTA 실행 방법.
  6. 제 5항에 있어서,
    상기 패치 업그레이드 또는 상기 컴프레스트 업그레이드는 BZip2 라이브러리또는 BSDiff 라이브러리를 이용하여 펌웨어를 수행하는 것을 특징으로 하는 FOTA 실행 방법.
KR1020130078580A 2013-07-04 2013-07-04 Fota 시스템 및 그 실행 방법 KR101541112B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130078580A KR101541112B1 (ko) 2013-07-04 2013-07-04 Fota 시스템 및 그 실행 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130078580A KR101541112B1 (ko) 2013-07-04 2013-07-04 Fota 시스템 및 그 실행 방법

Publications (2)

Publication Number Publication Date
KR20150005164A KR20150005164A (ko) 2015-01-14
KR101541112B1 true KR101541112B1 (ko) 2015-07-31

Family

ID=52477073

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130078580A KR101541112B1 (ko) 2013-07-04 2013-07-04 Fota 시스템 및 그 실행 방법

Country Status (1)

Country Link
KR (1) KR101541112B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200045931A (ko) 2018-10-23 2020-05-06 주식회사 시옷 펌웨어 패키징 및 언패키징 방법
KR20200045928A (ko) 2018-10-23 2020-05-06 주식회사 시옷 저전력 무선네트워크를 이용한 펌웨어 업데이트 방법
WO2021040166A1 (ko) 2019-08-27 2021-03-04 루나 주식회사 소프트웨어 업데이트를 위한 신구 데이터간의 차분 생성 방법 및 그 장치

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109120718A (zh) * 2018-09-28 2019-01-01 慧翰微电子股份有限公司 一种支持其他ecu fota升级的车联网终端及实现方法
KR102088170B1 (ko) * 2019-08-27 2020-03-12 루나 주식회사 신구 데이터간의 차분에 대한 데이터 구조화 방법 및 그 디바이스
KR102088167B1 (ko) * 2019-08-27 2020-03-12 루나 주식회사 소프트웨어 업데이트 에이전트 장치 및 이를 통한 패치방법
KR102525600B1 (ko) * 2021-09-15 2023-04-27 시큐리티플랫폼 주식회사 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 및 시스템
CN114500280B (zh) * 2022-01-06 2023-12-26 新华三信息技术有限公司 一种固件升级方法、装置以及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060068558A (ko) * 2004-12-16 2006-06-21 엘지전자 주식회사 휴대 단말기를 위한 펌웨어 업그레이드 방법
KR20080083512A (ko) * 2007-03-12 2008-09-18 (주)프레스토블루 Fota 시스템
KR20110118975A (ko) * 2010-04-26 2011-11-02 삼성전자주식회사 휴대용 단말기에서 펌웨어 업데이트를 수행하기 위한 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060068558A (ko) * 2004-12-16 2006-06-21 엘지전자 주식회사 휴대 단말기를 위한 펌웨어 업그레이드 방법
KR20080083512A (ko) * 2007-03-12 2008-09-18 (주)프레스토블루 Fota 시스템
KR20110118975A (ko) * 2010-04-26 2011-11-02 삼성전자주식회사 휴대용 단말기에서 펌웨어 업데이트를 수행하기 위한 장치 및 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200045931A (ko) 2018-10-23 2020-05-06 주식회사 시옷 펌웨어 패키징 및 언패키징 방법
KR20200045928A (ko) 2018-10-23 2020-05-06 주식회사 시옷 저전력 무선네트워크를 이용한 펌웨어 업데이트 방법
WO2021040166A1 (ko) 2019-08-27 2021-03-04 루나 주식회사 소프트웨어 업데이트를 위한 신구 데이터간의 차분 생성 방법 및 그 장치
US11775288B2 (en) 2019-08-27 2023-10-03 Konamobility Company Limited Method and apparatus for generating difference between old and new versions of data for updating software

Also Published As

Publication number Publication date
KR20150005164A (ko) 2015-01-14

Similar Documents

Publication Publication Date Title
KR101541112B1 (ko) Fota 시스템 및 그 실행 방법
CN110621011B (zh) 一种基于蓝牙设备端的ota固件升级方法及系统
KR100782080B1 (ko) 이동 통신 단말기 및 시스템의 펌웨어 갱신 방법
CN106897086B (zh) 用于升级机器人操作系统的方法、装置及系统
EP2878140B1 (en) Wireless firmware upgrades to an alarm security panel
KR100663415B1 (ko) 무선장치상에 상주하는 데이터세트 버전을 업데이트하기위한 시스템 및 방법
EP2456257B1 (en) Method and system for upgrading wireless data card
CN110597542B (zh) 软件自动ota升级方法及装置、电子设备
KR101007739B1 (ko) Fota 서비스 제공 방법 및 그 시스템
US20080040713A1 (en) Method for remotely upgrading the firmware of a target device using wireless technology
EP1757132B1 (en) Modular data components for wireless communication devices
US20130060890A1 (en) Apparatus and method for providing application execution using a cloud system
US20160170735A1 (en) Operating system updating method by using a checklist
KR20090090801A (ko) 휴대 단말기의 펌웨어 업데이트 방법 및 장치
JP2006517694A (ja) デバイス上のコンポーネントを自動的に処理するシステム
CN101883139A (zh) 外设设备软件升级的方法、计算机及系统
CN102004657B (zh) 一种电子设备及其升级方法
CN103916846A (zh) 一种终端应用的更新方法、系统及设备
CN102137182A (zh) 实现手机用户操作系统下载的方法及系统
CN105094919A (zh) 一种应用程序启动方法
CN106470227A (zh) 一种ota升级包的配置方法及装置
CN113094064A (zh) 网关软件模块升级方法、装置、设备及存储介质
KR101083523B1 (ko) 펌웨어 업그레이드 방법 및 이를 위한 시스템
CN108989428B (zh) 蓝牙终端升级方法、服务器、计算机可读存储介质及系统
KR100827172B1 (ko) 휴대단말기 펌웨어를 업그레이드하기 위한 장치와 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee