KR20080037450A - 소프트웨어 실행모듈의 업데이트 시스템 및 방법 - Google Patents

소프트웨어 실행모듈의 업데이트 시스템 및 방법 Download PDF

Info

Publication number
KR20080037450A
KR20080037450A KR1020060104638A KR20060104638A KR20080037450A KR 20080037450 A KR20080037450 A KR 20080037450A KR 1020060104638 A KR1020060104638 A KR 1020060104638A KR 20060104638 A KR20060104638 A KR 20060104638A KR 20080037450 A KR20080037450 A KR 20080037450A
Authority
KR
South Korea
Prior art keywords
software
update
terminal
update package
information
Prior art date
Application number
KR1020060104638A
Other languages
English (en)
Inventor
김기익
Original Assignee
웹싱크 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 웹싱크 주식회사 filed Critical 웹싱크 주식회사
Priority to KR1020060104638A priority Critical patent/KR20080037450A/ko
Publication of KR20080037450A publication Critical patent/KR20080037450A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Abstract

본 발명은 모바일 단말의 플랫폼에서 실행되는 소프트웨어의 업데이트 시스템 및 방법에 관한 것으로, 본 발명에 따른 업데이트 시스템은, 신 버전 소프트웨어와 다운로더블 모듈(downloadable module) 또는 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module)의 구 버전 소프트웨어를 비교하여 추출된 차이점 정보와 단말 및 소프트웨어 식별정보를 포함하는 업데이트 패키지를 생성하는 업데이트 패키지 생성장치, 생성된 업데이트 패키지를 단말 및 소프트웨어 식별정보에 기초하여 저장하고 관리하는 업데이트 서버 및 업데이트 서버로부터 단말 및 소프트웨어 식별정보를 이용하여 해당하는 업데이트 패키지를 다운로드받고 다운로드된 업데이트 패키지로부터 해석된 차이점 정보를 이용하여 최종 버전의 소프트웨어 파일을 생성하는 소프트웨어 업데이트 장치를 포함하는 것을 특징으로 한다. 이에 따라 모바일 단말과 업데이트 서버간에 전송되는 데이터의 양을 획기적으로 줄임으로써 업데이트 효율을 제고할 수 있다.
모바일 무선 플랫폼, 소프트웨어, 업데이트, 서버, 비교분석부, 업데이트 패키지

Description

소프트웨어 실행모듈의 업데이트 시스템 및 방법{System and method for processing update software run on mobile terminal platform}
도 1은 본 발명에 따른 모바일 단말의 플랫폼에서 실행되는 소프트웨어의 업데이트를 처리하는 업데이트 시스템의 전체적인 구성도,
도 2는 상기 업데이트 시스템을 구성하는 업데이트 패키지 생성장치의 블록도,
도 3은 상기 업데이트 시스템을 구성하는 업데이트 서버의 블록도,
도 4는 상기 업데이트 시스템을 구성하는 소프트웨어 업데이트 장치가 탑재된 모바일 단말의 블록도,
도 5는 모바일 단말에 탑재되는 소프트웨어 업데이트 장치를 구성하는 업데이트 처리부의 상세 블록도,
도 6 및 도 7은 본 발명에 따른 모바일 단말의 플랫폼에서 실행되는 소프트웨어의 업데이트 방법을 도시한 플로우차트,
도 8은 본 발명에 따른 업데이트 패키지의 구성을 예시한 참고도,
도 9a 내지 도 9c는 본 발명에 따른 업데이트 패키지의 생성 과정을 예시한 참고도이다.
<도면의 주요부에 대한 설명>
1: 업데이트 패키지 생성장치 2: 업데이트 서버
3: 소프트웨어 업데이트 장치 10: 비교분석부
12: 데이터압축부 14: 패키지생성부
20: 업데이트 패키지 관리부 22: 업데이트 패키지 전송부
30: 업데이트 진행확인부 32: 다운로드 처리부
34: 업데이트 처리부 700: 업데이트 패키지
본 발명은 모바일 단말의 플랫폼에서 실행되는 소프트웨어의 업데이트를 처리하는 업데이트 시스템 및 그 업데이트 방법에 관한 것이다.
최근 들어 모바일 단말은 개인이 항시 휴대하고 다닐 만큼 널리 보급되고 있는 추세이다. 특히 모바일 단말은 하드웨어, 소프트웨어의 기술의 발전에 따라 기존의 음성 호 처리 및 단문 메시지 처리뿐만 아니라 텍스트, 게임, 채팅, 실시간 증권정보 등의 다양한 멀티미디어 서비스를 다운로드하여 사용할 수 있도록 무선 인터넷 플랫폼이 탑재되고 있다. 통상적으로 무선 인터넷 플랫폼은 다양한 서비스를 지원하기 위해 다수의 소프트웨어 모듈들로 구성되어 있다. 이에 따라 모바일 서비스가 발전함에 따라 기존에 사용 중이던 소프트웨어 모듈의 업데이트 및 신규 소프트웨어의 다운로드 서비스가 증가할 것으로 예상된다.
종래는 모바일 단말의 사용자가 영업소나 서비스 센터를 방문하여 유선을 통 하여 변경된 전체 소프트웨어 모듈을 모두 다운로드 하는 방식이 주로 사용되었다. 그러나, 모바일 단말의 사용자가 일일이 영업소나 서비스 센터를 방문하여 유선을 통해 다운로드 받는 방식은 사용자 입장에서 매우 번거롭고 불편한 일이다.
한편, 또 다른 방법으로 무선 네트워크를 이용하여 모바일 단말에서 자동 업데이트를 받는 방식이 고려될 수 있다. 즉, 무선 네트워크를 이용하여 모바일 단말에서 변경된 전체 소프트웨어 모듈을 모두 다운로드 받는 방식이다. 그러나, 모바일 단말의 CPU, 메모리 등의 자원이 제한될 뿐만 아니라 일반 유선을 통한 다운로드와는 달리 무선 네트워크는 통신 밴드위스(bandwidth)가 제한되고 속도의 한계로 인하여 업데이트 시간이 증가하고 대용량의 소프트웨어 모듈을 안전하게 다운로드하기 어렵다는 문제점이 있다.
전술한 문제를 해결하기 위하여 일반 컴퓨터의 플랫폼에서 사용되는 업데이트를 위한 데이터량을 최소화하는 다양한 방법들이 시도되고 있다. 그러나, 무선 인터넷을 지원하는 모바일 단말의 플랫폼에서 실행되는 소프트웨어 모듈들은 첫째, 단말 소프트웨어와는 별도의 파일 형태로 파일 시스템에 저장되었다가 메모리에 로딩되어 수행되는 경우(이하 ‘다운로더블 모듈(downloadable module)’이라 한다)와, 둘째, 플래시 메모리에 탑재되어 항상 실행가능한 형태의 폰 바이너리 이미지, 즉 단말 소프트웨어의 일부로서 포함되어 있는 경우(이하 ‘임베디드 모듈(embedded module)'이라 한다)로 구분되어 있어 일반 컴퓨터 플랫폼에서 사용되는 업데이트 방법을 그대로 적용할 수 없다는 문제점이 있다.
본 발명은 전술한 배경에서 제안된 것으로, 본 발명의 목적은 모바일 단말의 무선 인터넷 플랫폼에서 실행되는 소프트웨어가 다운로더블 모듈(downloadable module) 형태이거나 또는 단말 소프트웨어의 임베디드 모듈(embedded module) 형태를 동시에 가질 수 있는 모바일 단말에서의 효율적인 소프트웨어 업데이트 및 다운로드 기술을 제공하는 것이다.
본 발명의 부가적인 목적은 모바일 단말에서 소프트웨어 업데이트 진행이 중지되더라도 원래 파일 혹은 단말 소프트웨어의 복구가 정상적으로 이루어질 수 있도록 하는 기술을 제공하는 것이다.
본 발명의 일 양상에 따르면 전술한 목적은, 모바일 단말의 플랫폼에서 실행되는 소프트웨어에 대한 업데이트를 처리하는 업데이트 시스템에 있어서, 신 버전 소프트웨어와 다운로더블 모듈(downloadable module) 또는 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module)의 구 버전 소프트웨어를 비교하여 추출된 차이점 정보와 단말 및 소프트웨어 식별정보를 포함하는 업데이트 패키지를 생성하는 업데이트 패키지 생성장치, 상기 생성된 업데이트 패키지를 단말 및 소프트웨어 식별정보에 기초하여 저장하고 관리하는 업데이트 서버 및 업데이트 서버로부터 단말 및 소프트웨어 식별정보를 이용하여 해당하는 업데이트 패키지를 다운로드받고 상기 다운로드된 업데이트 패키지로부터 해석된 차이점 정보를 이용하여 최종 버전의 소프트웨어 파일을 생성하는 소프트웨어 업데이트 장치를 포함하는 것을 특징으로 하는 업데이트 시스템에 의해 달성된다.
이 때, 업데이트 패키지는 구 버전 소프트웨어와 신 버전 소프트웨어를 비교 하여 추출된 차이점 정보와, 구 버전 소프트웨어에 추출된 차이점 정보를 적용하여 신 버전 소프트웨어를 생성하기 위한 제어정보를 묶어 압축하여 생성되는 것이 바람직하며, 구 버전 소프트웨어가 다운로더블 모듈(downloadable module)인 경우 파일 대 파일 비교를 통해 차이점 정보를 추출하고, 구 버전 소프트웨어가 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module)인 경우 단말에 탑재된 소프트웨어의 바이너리 이미지와 신 버전 소프트웨어를 비교하여하는 것이 특히 바람직하다.
한편, 본 발명의 일 양상에 따르면 전술한 목적은, 모바일 단말의 플랫폼에서 실행되는 소프트웨어에 대한 업데이트를 처리하는 업데이트 패키지 생성장치에 있어서, 신 버전 소프트웨어와 다운로더블 모듈(downloadable module) 또는 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module)의 구 버전 소프트웨어를 비교하여 차이점을 추출하는 비교분석부; 추출된 차이점 정보를 압축하는 데이터압축부; 및 압축된 차이점 정보와 단말 및 소프트웨어 식별정보를 포함하는 업데이트 패키지를 생성하는 패키지생성부를 포함하며, 생성된 업데이트 패키지는 단말 및 소프트웨어 식별정보에 기초하여 저장 및 관리되는 것을 특징으로 하는 업데이트 패키지 생성장치에 의해 달성된다.
한편, 본 발명의 일 양상에 따르면 전술한 목적은, 모바일 단말의 플랫폼에서 실행되는 소프트웨어에 대한 업데이트를 처리하는 업데이트 서버에 있어서, 신 버전 소프트웨어와 다운로더블 모듈(downloadable module) 또는 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module)의 구 버전 소프트웨어를 비교하여 추 출된 차이점 정보와 단말 및 소프트웨어 식별정보를 포함하는 업데이트 패키지를 데이터베이스에 저장 및 관리하는 업데이트 패키지 관리부; 및 업데이트 패키지를 모바일 단말로 전송하는 업데이트 패키지 전송부를 포함하며, 업데이트 패키지는 단말 및 소프트웨어 식별정보에 기초하여 저장 및 관리되는 것을 특징으로 하는 업데이트 서버에 의해 달성된다.
한편, 본 발명의 일 양상에 따르면 전술한 목적은, 모바일 단말의 플랫폼에서 실행되는 소프트웨어에 대한 업데이트를 처리하기 위하여 모바일 단말에 탑재되는 소프트웨어 업데이트 장치에 있어서, 모바일 단말에 탑재되는 소프트웨어에 대한 업데이트 통지 메시지가 입력되면 업데이트 진행 여부를 확인하는 업데이트 진행 확인부; 업데이트 진행 확인부에서 업데이트 진행 결정신호가 입력되면 단말 및 소프트웨어 식별정보를 포함하는 업데이트 패키지 요청 메시지를 생성하여 업데이트 서버로 전송하고 그 응답으로 업데이트 서버로부터 해당하는 업데이트 패키지를 다운로드하는 다운로드 처리부; 및 다운로드된 업데이트 패키지로부터 해석된 차이점 정보를 이용하여 최종 버전의 소프트웨어 파일을 생성하고 생성된 최종 버전의 소프트웨어를 모바일 단말의 파일 시스템에 저장하는 업데이트 처리부를 포함하는 것을 특징으로 하는 소프트웨어 업데이트 장치에 의해 달성된다.
이 때, 업데이트 시작 전에 먼저 파일 시스템 내에 임시파일 저장영역을 생성하여 업데이트 결과물을 임시파일 저장영역에 저장하고 업데이트 진행중임을 표시하는 것이 바람직하며, 특히, 소프트웨어 업데이트 장치 재시동 시에, 파일 시스템 내에 임시파일 저장영역을 확인하여 업데이트가 완료되지 않은 파일이 있는 경 우, 업데이트가 완료되지 않은 파일의 업데이트를 재시도하는 것이 바람직하다.
한편, 본 발명의 일 양상에 따르면 전술한 목적은, 모바일 단말의 플랫폼에서 실행되는 소프트웨어에 대한 업데이트를 처리하는 방법에 있어서, 신 버전 소프트웨어와 다운로더블 모듈(downloadable module) 또는 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module)의 구 버전 소프트웨어를 비교하여 차이점을 추출하는 단계; 추출된 차이점 정보를 압축하여 단말 및 소프트웨어 식별정보를 포함하는 업데이트 패키지를 생성하는 단계; 생성된 업데이트 패키지를 단말 및 소프트웨어 식별정보에 기초하여 데이터베이스에 저장하는 단계; 및 업데이트 패키지를 새로 저장한 사실을 모바일 단말에 통지하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 업데이트 방법에 의해 달성된다.
한편, 본 발명의 일 양상에 따르면 전술한 목적은, 모바일 단말의 플랫폼에서 실행되는 소프트웨어에 대한 업데이트를 처리하는 방법에 있어서, 단말 및 소프트웨어 식별정보에 기초하여 업데이트 서버로 업데이트 패키지를 요청하는 단계; 요청된 업데이트 패키지를 모바일 단말로 다운로드 받는 단계; 다운로드된 업데이트 패키지를 해석하여 차이점 정보를 추출하는 단계; 및 추출된 차이점 정보를 기존의 소프트웨어에 적용하여 최종 버전의 소프트웨어 파일을 생성하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 업데이트 방법에 의해 달성된다.
이하, 첨부된 도면을 참조하여 기술되는 바람직한 실시예를 통하여 본 발명을 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.
도 1은 본 발명에 따른 모바일 단말의 플랫폼에서 실행되는 소프트웨어의 업데이트를 처리하는 업데이트 시스템의 전체적인 구성을 개략적으로 도시한다.
도 1을 참조하면, 본 발명에 따른 업데이트 시스템은 크게 업데이트 패키지 생성장치(1)와, 업데이트 서버(2), 그리고 모바일 단말에 탑재되는 소프트웨어 업데이트 장치(3)를 구비하며, 각각의 장치들은 모바일 네트워크를 통해 연결된다.
업데이트 패키지 생성장치(1)는 신 버전 소프트웨어와 다운로더블 모듈(downloadable module) 또는 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module) 형태의 구 버전 소프트웨어를 비교하여 추출된 차이점 정보와 단말 및 소프트웨어 식별정보를 포함하는 업데이트 패키지(update package)를 생성한다.
업데이트 서버(2)는 생성된 업데이트 패키지를 단말 및 소프트웨어 식별정보에 기초하여 업데이트 패키지 데이터베이스에 저장하고 단말 및 소프트웨어 식별정보를 이용하여 관리한다.
모바일 단말에 탑재되는 소프트웨어 업데이트 장치(3)는 업데이트 서버(2)로부터 단말 및 소프트웨어 식별정보를 이용하여 해당하는 업데이트 패키지를 다운로드받고 다운로드된 업데이트 패키지로부터 해석된 차이점 정보를 이용하여 최종 버전의 소프트웨어 파일을 생성한다.
모바일 단말은 기존의 음성 호 처리 및 단문메시지 처리와, 텍스트, 게임, 채팅, 실시간 증권정보 등 다양한 멀티미디어 서비스를 다운로드할 수 있는 무선 인터넷 플랫폼을 포함하도록 해석되어져야 한다. 바람직하게는, 모바일 단말은 모 바일 단말의 플랫폼에서 실행되는 소프트웨어에 대한 업데이트 통지 메시지를 수신하면 해당 소프트웨어를 업데이트하는 소프트웨어 업데이트 장치(3)를 포함한다.
모바일 네트워크는 기지국과 기지국 제어기, 이동교환기 및 라우터를 포함하는 모바일 교환망과, 패키지 데이터 서비스 노드(PDSN), 패키지 데이터 게이트웨이 노드(PDGN), 인증/과금 서버를 포함하는 데이터 통신망, 및 왑(WAP) 서버, 단문 메시지 서버(SMCC)를 포함한다. 이러한, 모바일 네트워크의 구성 및 기능은 이미 널리 공지된 것이므로 이에 대한 자세한 설명은 생략하기로 한다.
업데이트 패키지 생성장치(1)는 다양한 소프트웨어 제작업체로부터 제공되는 모바일 단말의 플랫폼에서 실행되는 각종 신 버전 소프트웨어를 구 버전 소프트웨어와 비교하여 차이점에 관한 정보를 획득하고 이를 업데이트 패키지 형태로 업데이트 서버(2)를 통해 데이터베이스에 저장해 둔다. 모바일 단말에 탑재된 소프트웨어 업데이트 장치(3)는 소프트웨어 업데이트 통지 메시지를 수신하면 미리 저장된 모바일 단말 및 소프트웨어 식별정보를 이용하여 업데이트 서버(2)로 해당하는 업데이트 패키지를 요청하고 이를 모바일 네트워크를 통해 다운로드 받아 소프트웨어를 업데이트 한다. 이 때, 업데이트 서버(2)는 신 버전 소프트웨어 전체를 전송하는 것이 아니라 상대적으로 매우 적은 양의 차이점에 대한 정보만을 전송함으로써 모바일 단말의 데이터 전송속도를 높일 수 있어 업데이트 효율을 제고시키는 효과가 있다. 업데이트 패키지의 상세한 구조는 후술한다.
이하, 도시한 도면을 참조하여 업데이트 생성장치(1)와, 업데이트 서버(2) 및 모바일 단말에 탑재되는 소프트웨어 업데이트 장치(3)의 구성 및 동작에 대하여 구체적으로 설명한다.
도 2는 본 발명의 일 실시예에 따라 업데이트 시스템을 구성하는 업데이트 패키지 생성장치의 블록도이다.
도 2를 참조하면, 업데이트 패키지 생성장치(1)는 신 버전 소프트웨어와 다운로더블 모듈(downloadable module) 또는 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module)의 구 버전 소프트웨어를 비교하여 차이점을 추출하는 비교분석부(10), 추출된 차이점 정보를 압축하는 데이터압축부(12) 및 압축된 차이점 정보와 단말 및 소프트웨어 식별정보를 포함하는 업데이트 패키지를 생성하는 패키지생성부(14)를 포함하여 구현될 수 있다. 생성된 업데이트 패키지는 모바일 단말 및 소프트웨어 식별정보에 기초하여 저장 및 관리되는 것이 바람직하다.
비교분석부(10)는 구 버전 소프트웨어가 다운로더블 모듈(downloadable module)인 경우 파일 대 파일 비교를 통해 차이점 정보를 추출하고, 구 버전 소프트웨어가 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module)인 경우 단말에 탑재된 소프트웨어의 바이너리 이미지와 신 버전 소프트웨어를 비교하여 차이점 정보를 추출하도록 구현된다. 또한 비교분석부(10)는 구 버전 소프트웨어와 신 버전 소프트웨어를 비교하여 추출된 차이점 정보와, 구 버전 소프트웨어에 추출된 차이점 정보를 적용하여 신 버전 소프트웨어를 생성하기 위한 제어정보를 생성하도록 구현된다.
나아가 비교분석부(10)는 구 버전 소프트웨어와 신 버전 소프트웨어에 대한 버전정보 또는 업데이트 패키지(update package)가 파일 대 파일 비교를 통해 생성 된 것인지, 단말 소프트웨어와 신 버전 소프트웨어 비교를 통해 생성된 것인지를 나타내는 식별정보를 포함하는 패키지 부가정보를 생성하도록 구현되며, 업데이트 패키지의 무결성을 보장하는 CRC 등의 체크섬 시퀀스(Check sequence) 정보를 생성하여 패키지 부가정보에 포함하도록 구현될 수 있다.
데이터압축부(12)는 비교분석부(211)에서 추출된 차이점 정보를 압축하여 패키지생성부(14)로 출력하도록 구현될 수 있다. 추출된 차이점 정보를 제외한 나머지 소프트웨어 부분은 모두 공통적인 부분으로 차이점이 ‘0’으로 표현될 수 있으며, 따라서 데이터압축부(12)를 통해 압축되어 업데이트 패키지에 부가되므로 데이터량을 획기적으로 줄일 수 있다. 데이터 압축부(12)는 범용의 데이터 압축 알고리즘, 예를 들어, 허프만 부호, 적응형 허프만 부호 및 산술 부호를 이용한 압축 모듈로 구현될 수 있다.
패키지생성부(14)는 비교분석부(10)에서 생성되어 데이터압축부(12)에서 압축된 차이점 정보, 구 버전 소프트웨어에 추출된 차이점 정보를 적용하여 신 버전 소프트웨어를 생성하기 위한 제어정보, 체크섬 정보를 묶어서 업데이트 패키지를 생성하며, 여기에 단말 및 소프트웨어 식별정보, 즉 단말의 종류, 제조사를 구별할 수 있는 식별정보와 현재 탑재된 구 버전 소프트웨어의 종류 및 버전과 업데이트될 신 버전 소프트웨어의 종류 및 버전 등을 구별할 수 있는 식별정보를 포함하도록 함으로써, 단말 및 소프트웨어 식별정보를 기초로 각 단말의 각 소프트웨어의 업데이트를 위해 필요한 업데이트 패키지를 구별할 수 있게 된다.
도 3은 본 발명의 일 실시예에 따라 업데이트 시스템을 구성하는 업데이트 서버의 블록도이다.
도 3을 참조하면, 업데이트 서버(2)는 구 버전 소프트웨어와 신 버전 소프트웨어를 비교하여 추출된 차이점 정보와 단말 및 소프트웨어 식별정보를 포함하는 업데이트 패키지를 데이터베이스에 저장 및 관리하는 업데이트 패키지 관리부(20)와, 업데이트 패키지를 모바일 단말로 전송하는 업데이트 패키지 전송부(22)를 포함하도록 구현된다.
업데이트 패키지 전송부(22)는 일 실시예에 있어서, 업데이트 패키지 생성장치(1)로부터 생성된 업데이트 패키지(update package)가 입력되면 소프트웨어 업데이트 통지 메시지를 생성하여 모바일 단말로 전송하도록 구현된다. 이 같은 실시예에 따라, 업데이트 패키지 전송부(22)는 모바일 단말로부터 업데이트 패키지 요청 메시지가 입력되면 그에 대한 응답으로 해당 업데이트 패키지(update package)를 업데이트 패키지 데이터베이스로부터 읽어 들여 모바일 단말로 전송한다. 이 때, 업데이트 패키지는 단말 및 소프트웨어 식별정보에 기초하여 저장, 관리 및 전송되는 것이 바람직하다.
도 4는 상기 업데이트 시스템을 구성하는 소프트웨어 업데이트 장치가 탑재된 모바일 단말의 블록도이다.
도시한 바와 같이 본 실시예에 따른 모바일 단말은 안테나를 통해 송수신되는 무선신호로부터 음성 및 데이터 신호를 추출하는 무선 통신부(310)와, 무선 통신부(310)로부터의 음성 통화 신호를 마이크 및 스피커를 통해 입출력하는 음성 입출력부(320)와, 모바일 단말의 핵심적인 기능을 담당하는 운영체제(OS)(332) 및 필 수 어플리케이션들을 포함하는 실행 프로그램을 포함하는 파일 시스템(334)이 저장되는 저장부(330)와, 조작부(350)와, 메뉴 및 동작상태를 표시하는 표시부(360) 및 제어부(370)를 포함한다.
여기서, 제어부(370)는 통상 모뎀칩으로 불리는 집적회로로 구현되며 내부에 통신을 처리하는 전용의 하드웨어와, 디지탈 신호처리기 및 범용의 마이크로프로세서를 포함한다. 바람직하게는, 제어부(370)는 무선 통신부(310)를 통해 기지국과의 음성 및 데이터 통신을 제어하는 통신 처리부(372)와 본 발명의 특징적인 양상에 따라 소프트웨어 업데이트 장치(3)를 포함한다.
소프트웨어 업데이트 장치(3)는 업데이트 진행 확인부(30)와, 업데이트 서버(2)로부터 업데이트 패키지를 다운로드하는 다운로드 처리부(32) 및 업데이트 패키지를 이용하여 해당 소프트웨어를 업데이트하고 업데이트된 최종 버전의 소프트웨어를 파일 시스템(334)에 저장하는 업데이트 처리부(34)를 포함한다.
업데이트 진행 확인부(30)는 모바일 단말의 소프트웨어에 대한 업데이트 통지 메시지가 입력되면 업데이트 진행 여부를 확인한다. 일실시예에 있어서, 업데이트 진행 확인부(30)는 왑(WAP) 푸시 메시지 또는 단문 메시지(SMS)를 통해 업데이트 통지 메시지가 입력되면 업데이트 통지 메시지와 함께 업데이트 진행 여부를 확인하는 정보를 표시하고, 사용자에게 업데이트 진행 여부를 확인받도록 구현될 수 있다. 다른 실시예에 있어서, 업데이트 진행 확인부(30)는 일정한 조건(예를 들면 사용자가 업데이트 통지 메시지를 확인한 경우)이 충족되면 자동으로 업데이트 진행 결정신호를 출력하도록 구현될 수 있다.
다운로드 처리부(32)는 업데이트 진행 확인부(3731)에서 업데이트 진행 결정신호가 입력되면 파일 시스템(334)에 저장된 소프트웨어 버전정보 또는 단말 소프트웨어의 임베디드 모듈(embedded module) 버전정보를 포함하는 업데이트 패키지 요청 메시지를 생성하여 업데이트 서버(2)로 전송하고, 그 응답으로 업데이트 서버(2)로부터 해당하는 업데이트 패키지를 다운로드 한다. 다운로드 처리부(32)는 다운받은 업데이트 패키지를 파일 시스템(334)에 저장하고, 업데이트 패키지 수신 완료 정보를 업데이트 처리부(34)로 출력한다.
업데이트 처리부(34)는 업데이트 패키지를 분석하여 구 버전 소프트웨어와 신 버전 소프트웨어에 대한 버전정보, 업데이트 패키지가 신 버전 소프트웨어와 다운로더블 모듈(downloadable module) 비교를 통해 생성된 것인지, 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module) 비교를 통해 생성된 것인지를 나타내는 식별정보와 업데이트 패키지의 무결성을 보장하는 CRC 등의 체크섬 시퀀스 정보를 획득한다. 업데이트 처리부(34)는 획득된 정보를 기초로 파일 시스템(334)에 저장된 다운로더블 모듈(downloadable module) 또는 단말 소프트웨어의 임베디드 모듈(embedded module)과 업데이트 패키지(update package)에 포함된 신 버전 소프트웨어를 비교하여 최종 버전의 소프트웨어를 생성하여 이를 파일 시스템(334)에 저장한다.
업데이트 처리부(34)는 일실시예에 있어서 업데이트 시작 전에, 파일 시스템(334) 내에 임의로 약속된 이름을 가지는 임시파일 저장영역을 생성하여 업데이트 결과물을 임시파일 저장영역에 저장하고, 업데이트 진행 중임을 표시하도록 구 현된다. 이 같은 실시예에 따라, 업데이트 처리부(34)는 소프트웨어 업데이트 장치 재시동 시에, 상기 파일 시스템 내에 임시파일 저장영역을 확인하여 업데이트가 완료되지 않은 파일이 있는 경우 상기 업데이트가 완료되지 않은 파일을 다시 업데이트 하도록 구현될 수 있다. 즉, 구 버전의 소프트웨어는 다운로더블 모듈(downloadable module) 또는 단말 소프트웨어의 임베디드 모듈(embedded module)로 존재하므로 모바일 단말에서 소프트웨어 업데이트 진행이 중지되더라도 재실행과정을 거쳐 복구가 정상적으로 이루어질 수 있다. 따라서 보다 안정적으로 모바일 단말의 소프트웨어 업데이트를 수행할 수 있다.
도 5는 본 발명의 일 실시예에 따라 모바일 단말기에 탑재되는 소프트웨어 업데이트 장치(3)를 구성하는 업데이트 처리부(34)의 상세 블록도이다.
도 5를 참조하면, 업데이트 처리부(34)는 다운로드 받은 업데이트 패키지로부터 각종 차이점 정보, 제어정보 등을 분석해내는 업데이트 패키지 분석부(3402)와, 현재 단말의 파일 시스템에 저장되어 있는 다운로더블(downloadable) 소프트웨어 모듈이나 또는 단말기 소프트웨어의 일부로 탑재되어 있는 임베디드(embedded) 소프트웨어 모듈에 추출된 제어 정보에 따라 차이점 정보를 적용하여 신 버전의 소프트웨어 파일을 생성하는 비교생성부(3404)를 포함하여 구현된다. 구 버전 소프트웨어에 업데이트 패키지를 적용하여 신 버전 소프트웨어를 생성하는 구체적인 방법은 후술한다.
도 6 및 도 7은 본 발명에 따른 모바일 단말의 플랫폼에서 실행되는 소프트웨어의 업데이트 방법을 도시한 플로우차트이다.
도 6은 업데이트 패키지를 생성하여 업데이트 서버에 저장하는 과정을 도시한다. 모바일 단말의 플랫폼에서 실행되는 소프트웨어에 대한 업데이트를 처리하기 위하여, 먼저 업데이트 생성장치(1)는 구 버전 소프트웨어와 신 버전 소프트웨어를 비교하여 차이점을 추출하고(S100), 추출된 차이점 정보를 압축하여 단말 및 소프트웨어 식별정보를 포함하는 업데이트 패키지를 생성한다(S102). 이제 업데이트 서버(2)는 생성된 업데이트 패키지를 단말 및 소프트웨어 식별정보에 기초하여 업데이트 패키지 데이터베이스에 저장하고(S104), 업데이트 패키지를 새로 저장한 사실을 모바일 단말에 통지하기 위하여 업데이트 통지 메시지를 왑 서버나 단문 메시지 서버 등을 경유하여 모바일 단말에 전송한다(S106).
한편, 도 7은 소프트웨어 업데이트 통지를 수신한 모바일 단말에서 업데이트 패키지를 이용하여 소프트웨어를 업데이트 하는 방법을 도시한다. 먼저, 모바일 단말은 자신의 로컬 저장부에 저장된 단말 및 소프트웨어 식별정보에 기초하여 업데이트 패키지 요청 메시지를 생성하고 이를 업데이트 서버(2)로 전송한다(S200). 또한 모바일 단말은 업데이트 서버(2)로부터 요청된 업데이트 패키지를 다운로드 받고(S202) 다운로드된 업데이트 패키지를 해석하여 차이점 정보를 추출하며(S204)추출된 차이점 정보를 기존의 소프트웨어에 적용하여 최종 버전의 소프트웨어 파일을 생성한다(S206).
이하에서는 보다 구체적으로 업데이트 패키지의 구성과 그 생성과정을 예를 들어 설명하도록 한다.
도 8은 본 발명의 일 실시예에 따른 업데이트 패키지의 구성을 예시한 참고 도이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 업데이트 패키지(700)는 헤더정보(710) 및 적어도 하나 이상의 파티션에 대한 업데이트 정보를 포함한다. 헤더 정보(710)에는 단말 및 소프트웨어의 식별정보나, 업데이트 패키지가 파일 대 파일 비교를 통해 생성된 것인지(downloadable type), 단말 소프트웨어의 바이너리 이미지와 신 버전 소프트웨어 비교를 통해 생성된 것인지(embedded type)룰 나타내는 구별 정보, 또는 체크섬 정보 등이 포함될 수 있다.
특히, 각 파티션에 대한 업데이트 정보는 헤더 정보(701), 제어정보(control section, 702), 차이점 정보(diff section, 703), 및 신규정보(new section, 704) 등이 포함될 수 있다. 헤더 정보(701)에는 압축된 업데이트 패키지의 크기, 제어 정보, 차이점 정보 및 신규 정보에 대한 포인터 등이 포함될 수 있다.
제어 정보(702)는 구 버전 소프트웨어에 추출된 차이점 정보를 적용하여 신 버전 소프트웨어를 생성하기 위해 필요한 정보가 포함된다. 구체적으로는 구 버전 소프트웨어로부터 최대한 재사용할 수 있는 최적 정합부분(optimal match)의 크기와, 구 버전 소프트웨어를 재사용할 수 없는 변경부분의 크기, 각 부분의 포인터 등이 포함될 수 있다.
차이점 정보(703)는 최적 정합부분에 대하여 구 버전 소프트웨어와 신 버전 소프트웨어 간의 차이(delta)에 대한 정보로서, 대부분의 경우 차이점이 없어 ‘0’으로 기록될 것이고, 일부분만이 차이점 정보로 포함될 것이다. 따라서, 차이점 정보(703)를 압축하면 전송될 데이터의 양을 획기적으로 줄이는 효과가 있다.
신규 정보(704)는 구 버전 소프트웨어를 재사용할 수 없는 변경부분에 대한 정보를 포함한다.
도 9a 내지 도 9c는 본 발명에 따른 업데이트 패키지의 생성 과정을 예시한 참고도이다.
도 9a를 참조하면, 구 버전 데이터와 신 버전 데이터를 비교 분석한 결과가 도시되어 있다. 본 발명에 따른 업데이트 패키지 생성장치(1)는 양 데이터를 서로 비교하고 구 버전 소프트웨어로부터 최대한 재사용할 수 있는 최적 정합부분(optimal match)을 찾아 신/구 버전 간에 차이점을 추출하여 차이점 정보를 생성한다. 도시된 그림에서는 k1 바이트의 영역(s1, b1, s2, b2, s3)이 최적 정합부분에 해당한다. 구 버전 소프트웨어를 재사용할 수 없는 변경부분을 찾아 신규 정보를 생성한다. 도시된 예에서는 k2 바이트의 영역(s5)이 신규 영역에 해당한다.
이 때, 최적 정합부분을 찾는 과정에서 일부 일치되지 않는 바이트들이 중간에 끼어 있는 경우(b1, b2, b3, b4)에도 무시할 만한 작은 크기인 경우라면 하나의 최적 정합부분으로 포함시키고 중간 중간에 끼어있는 다른 값들은 차이점 정보 영역에서 처리해 주는 것이 바람직하다. 왜냐하면 최적 정합부분 하나에 대한 오버헤드 정보가 최소 10바이트 이상이 되므로 최적 정합부분의 수가 변경될 데이터의 크기에 비해 너무 많아지면 오버헤드가 커지고 업데이트 패키지의 크기도 더 커지게 되기 때문이다.
도 9b는 데이터 압축 이전에 차이점 정보(703’)와 신규정보(704), 그리고 이들에 대한 크기 및 포인터 정보를 포함하는 제어정보(702)를 포함하는 업데이트 정보의 일 예가 도시된다. 도 9a에 도시된 바와 같이 최적 정합부분의 크기는 k1, 신규영역부분의 크기는 k2이고 각각의 포인터 정보가 제어정보(702)로서 포함된다. 차이점 정보(703‘)에는 최적 정합부분에서 신/구 버전의 소프트웨어 간에 차이에 대한 정보가 대부분 ‘0’으로 기록되고 일부 차이가 있는 부분의 차이점 정보가 중간 중간에 삽입되어 기록된다. 또한, 구 버전 소프트웨어에서 재사용할 수 없는 부분(s5)은 신규정보(704)로서 기록된다.
도 9c는 데이터 압축 후의 차이점 정보(703)의 크기 변화를 도시한다. 압축 전 차이점 정보가 상대적으로 큰 크기(k3+m+k4+n+k3 바이트)인데 반하여, 압축 후에는 차이점 정보 중 ‘0’에 해당하는 영역이 거의 줄어들게 되므로 상대적으로 적은 크기(3+m+3+n 바이트)로 차이점 정보를 표현할 수 있게 된다. 따라서 업데이트 패키지의 크기가 획기적으로 감소하여 업데이트 서버(2)와 모바일 단말 간에 전송될 데이터의 량이 줄어들게 되므로 업데이트 효율을 제고하게 된다.
상술한 바와 같이, 본 발명에 따르면 모바일 단말의 플랫폼에서 실행되는 소프트웨어가 단말 소프트웨어와 분리되어 실행 가능한 파일의 형태(downloadable type)로 저장되고 또한 단말 소프트웨어의 임베디드 모듈(embedded module)로 저장되는 형태를 동시에 가지고 있는 모바일 단말에서, 신/구 버전 간의 차이점 정보를 포함하는 업데이트 패키지를 생성하여 전송되는 데이터의 양을 획기적으로 줄임으로써 소프트웨어 업데이트 및 다운로드 효율을 높일 수 있는 유용한 효과가 있다.
본 발명은 첨부된 도면을 참조하여 바람직한 실시예를 중심으로 기술되었지 만 당업자라면 이러한 기재로부터 본 발명의 범주를 벗어남이 없이 많은 다양한 자명한 변형이 가능하다 라는 것은 명백하다. 따라서, 이러한 많은 변형예들을 포함하도록 기술된 특허청구범위에 의해서 해석되어져야 할 것이다.

Claims (21)

  1. 소프트웨어 실행모듈에 대한 업데이트 시스템에 있어서,
    신 버전 소프트웨어와 다운로더블 모듈(downloadable module) 또는 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module)의 구 버전 소프트웨어를 비교하여 추출된 차이점 정보와 단말 및 소프트웨어 식별정보를 포함하는 업데이트 패키지를 생성하는 업데이트 패키지 생성장치;
    상기 생성된 업데이트 패키지를 단말 및 소프트웨어 식별정보에 기초하여 저장하고 관리하는 업데이트 서버; 및
    상기 업데이트 서버로부터 단말 및 소프트웨어 식별정보를 이용하여 해당하는 업데이트 패키지를 다운로드받고 상기 다운로드된 업데이트 패키지로부터 해석된 차이점 정보를 이용하여 최종 버전의 소프트웨어 파일을 생성하는 소프트웨어 업데이트 장치;
    를 포함함을 특징으로 하는 소프트웨어 실행모듈에 대한 업데이트 시스템.
  2. 제 1 항에 있어서, 상기 업데이트 패키지는,
    상기 구 버전 소프트웨어와 신 버전 소프트웨어를 비교하여 추출된 차이점 정보와, 상기 구 버전 소프트웨어에 상기 추출된 차이점 정보를 적용하여 상기 신 버전 소프트웨어를 생성하기 위한 제어정보를 묶어 압축하여 생성되는 것을 특징으로 하는 소프트웨어 실행모듈에 대한 업데이트 시스템.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 업데이트 패키지 생성장치는,
    상기 구 버전 소프트웨어가 다운로더블 모듈(downloadable module)인 경우 파일 대 파일 비교를 통해 차이점 정보를 추출하고,
    상기 구 버전 소프트웨어가 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module)인 경우 상기 단말에 탑재된 소프트웨어의 바이너리 이미지와 신 버전 소프트웨어를 비교하여 차이점 정보를 추출하는 것을 특징으로 하는 소프트웨어 실행모듈에 대한 업데이트 시스템.
  4. 제 3 항에 있어서, 상기 업데이트 패키지 생성장치는,
    상기 구 버전 소프트웨어와 신 버전 소프트웨어에 대한 버전정보, 또는 상기 업데이트 패키지가 신 버전 소프트웨어와 다운로더블 모듈(downloadable module) 비교를 통해 생성된 것인지, 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module) 비교를 통해 생성된 것인지를 나타내는 구별정보를 포함하는 부가정보를 상기 업데이트 패키지에 더 부가하는 것을 특징으로 하는 소프트웨어 실행모듈에 대한 업데이트 시스템.
  5. 제 1 항 또는 제 2 항에 있어서, 상기 업데이트 패키지 생성장치는,
    상기 업데이트 서버와 분리된 별도의 장치 또는 상기 업데이트 서버의 일부분으로 구성되는 것을 특징으로 하는 소프트웨어 실행모듈에 대한 업데이트 시스 템.
  6. 제 1 항 또는 제 2 항에 따른 소프트웨어 업데이트 장치가 탑재되는 것을 특징으로 하는 모바일 단말.
  7. 소프트웨어 실행모듈에 대한 업데이트를 처리하는 업데이트 패키지 생성장치에 있어서,
    신 버전 소프트웨어와 다운로더블 모듈(downloadable module) 또는 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module)의 구 버전 소프트웨어를 비교하여 차이점을 추출하는 비교분석부;
    상기 추출된 차이점 정보를 압축하는 데이터압축부; 및
    상기 압축된 차이점 정보와 단말 및 소프트웨어 식별정보를 포함하는 업데이트 패키지를 생성하는 패키지생성부를 포함하며,
    상기 생성된 업데이트 패키지는 상기 단말 및 소프트웨어 식별정보에 기초하여 저장 및 관리되는 것을 특징으로 하는 업데이트 패키지 생성장치.
  8. 제 7 항에 있어서, 상기 업데이트 패키지 생성장치는,
    상기 생성된 업데이트 패키지를 업데이트 서버로 전송하는 전송부를 더 포함하는 것을 특징으로 하는 업데이트 패키지 생성장치.
  9. 제 7 항 또는 제 8 항에 있어서, 상기 비교분석부는,
    상기 구 버전 소프트웨어와 신 버전 소프트웨어를 비교하여 추출된 차이점 정보와, 상기 구 버전 소프트웨어에 상기 추출된 차이점 정보를 적용하여 상기 신 버전 소프트웨어를 생성하기 위한 제어정보를 생성하는 것을 특징으로 업데이트 패키지 생성장치.
  10. 제 7 항 또는 제 8 항에 있어서, 상기 비교분석부는,
    상기 구 버전 소프트웨어가 다운로더블 모듈(downloadable module)인 경우 파일 대 파일 비교를 통해 차이점 정보를 추출하고,
    상기 구 버전 소프트웨어가 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module)인 경우 상기 단말에 탑재된 소프트웨어의 바이너리 이미지와 신 버전 소프트웨어를 비교하여 차이점 정보를 추출하는 것을 특징으로 하는 업데이트 패키지 생성장치.
  11. 제 7 항 또는 제 8 항에 있어서, 상기 패키지 생성부는,
    상기 구 버전 소프트웨어와 신 버전 소프트웨어에 대한 버전정보, 또는 상기 업데이트 패키지가 신 버전 소프트웨어와 다운로더블 모듈(downloadable module) 비교를 통해 생성된 것인지, 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module) 비교를 통해 생성된 것인지를 나타내는 구별정보를 포함하는 부가정보를 상기 업데이트 패키지에 더 부가하는 것을 특징으로 하는 업데이트 패키지 생성장 치.
  12. 소프트웨어 실행모듈에 대한 업데이트를 처리하는 업데이트 서버에 있어서,
    신 버전 소프트웨어와 다운로더블 모듈(downloadable module) 또는 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module)의 구 버전 소프트웨어를 비교하여 추출된 차이점 정보와 단말 및 소프트웨어 식별정보를 포함하는 업데이트 패키지를 데이터베이스에 저장 및 관리하는 업데이트 패키지 관리부; 및
    상기 업데이트 패키지를 모바일 단말로 전송하는 업데이트 패키지 전송부를 포함하며,
    상기 업데이트 패키지는 상기 단말 및 소프트웨어 식별정보에 기초하여 저장 및 관리되는 것을 특징으로 하는 업데이트 서버.
  13. 제 12 항에 있어서, 상기 업데이트 서버는,
    구 버전 소프트웨어와 신 버전 소프트웨어를 비교하여 추출된 차이점 정보와 단말 및 소프트웨어 식별정보를 포함하는 업데이트 패키지를 생성하는 업데이트 패키지 생성장치를 더 포함하는 것을 특징으로 하는 업데이트 서버.
  14. 제 12 항 또는 제 13 항에 있어서, 상기 업데이트 패키지 관리부는,
    상기 업데이트 패키지를 새로 저장하면 소프트웨어에 대한 업데이트 통지 메시지를 출력하는 것을 특징으로 하는 업데이트 서버.
  15. 모바일 단말의 플랫폼에서 실행되는 소프트웨어에 대한 업데이트를 처리하기 위하여 모바일 단말에 탑재되는 소프트웨어 업데이트 장치에 있어서,
    상기 모바일 단말에 탑재되는 소프트웨어에 대한 업데이트 통지 메시지가 입력되면 업데이트 진행 여부를 확인하는 업데이트 진행 확인부;
    상기 업데이트 진행 확인부에서 업데이트 진행 결정신호가 입력되면 단말 및 소프트웨어 식별정보를 포함하는 업데이트 패키지 요청 메시지를 생성하여 업데이트 서버로 전송하고 그 응답으로 상기 업데이트 서버로부터 해당하는 업데이트 패키지를 다운로드하는 다운로드 처리부; 및
    상기 다운로드된 업데이트 패키지로부터 해석된 차이점 정보를 이용하여 최종 버전의 소프트웨어 파일을 생성하고 생성된 최종 버전의 소프트웨어를 상기 모바일 단말의 파일 시스템에 저장하는 업데이트 처리부를 포함하는 것을 특징으로 하는 소프트웨어 업데이트 장치.
  16. 제 15 항에 있어서, 상기 업데이트 처리부는,
    업데이트 시작 전에 먼저 상기 파일 시스템 내에 임시파일 저장영역을 생성하여 업데이트 결과물을 상기 임시파일 저장영역에 저장하고 업데이트 진행중임을 표시하는 것을 특징으로 하는 소프트웨어 업데이트 장치.
  17. 제 16 항에 있어서, 상기 업데이트 처리부는,
    소프트웨어 업데이트 장치 재시동 시에, 상기 파일 시스템 내에 임시파일 저장영역을 확인하여 업데이트가 완료되지 않은 파일이 있는 경우, 상기 업데이트가 완료되지 않은 파일의 업데이트를 재시도하는 것을 특징으로 하는 소프트웨어 업데이트 장치.
  18. 모바일 단말의 플랫폼에서 실행되는 소프트웨어에 대한 업데이트를 처리하는 방법에 있어서,
    신 버전 소프트웨어와 다운로더블 모듈(downloadable module) 또는 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module)의 구 버전 소프트웨어를 비교하여 차이점을 추출하는 단계;
    상기 추출된 차이점 정보를 압축하여 단말 및 소프트웨어 식별정보를 포함하는 업데이트 패키지를 생성하는 단계;
    상기 생성된 업데이트 패키지를 단말 및 소프트웨어 식별정보에 기초하여 데이터베이스에 저장하는 단계; 및
    상기 업데이트 패키지를 새로 저장한 사실을 상기 모바일 단말에 통지하는 단계;
    를 포함하는 것을 특징으로 하는 소프트웨어 업데이트 방법.
  19. 제 18 항에 있어서, 상기 업데이트 패키지는,
    상기 구 버전 소프트웨어와 신 버전 소프트웨어를 비교하여 추출된 차이점 정보와, 상기 구 버전 소프트웨어에 상기 추출된 차이점 정보를 적용하여 상기 신 버전 소프트웨어를 생성하기 위한 제어정보를 묶어 압축하여 생성되는 것을 특징으로 하는 소프트웨어 업데이트 방법.
  20. 제 18 항 또는 제 19 항에 있어서, 상기 차이점을 추출하는 단계는,
    상기 구 버전 소프트웨어가 다운로더블 모듈(downloadable module)인 경우 파일 대 파일 비교를 통해 차이점 정보를 추출하고,
    상기 구 버전 소프트웨어가 단말에 탑재된 소프트웨어의 임베디드 모듈(embedded module)인 경우 상기 단말에 탑재된 소프트웨어의 바이너리 이미지와 신 버전 소프트웨어를 비교하여 차이점 정보를 추출하는 단계인 것을 특징으로 하는 소프트웨어 업데이트 방법.
  21. 모바일 단말의 플랫폼에서 실행되는 소프트웨어에 대한 업데이트를 처리하는 방법에 있어서,
    단말 및 소프트웨어 식별정보에 기초하여 업데이트 서버로 업데이트 패키지를 요청하는 단계;
    요청된 업데이트 패키지를 상기 모바일 단말로 다운로드 받는 단계;
    상기 다운로드된 업데이트 패키지를 해석하여 차이점 정보를 추출하는 단계; 및
    상기 추출된 차이점 정보를 기존의 소프트웨어에 적용하여 최종 버전의 소프 트웨어 파일을 생성하는 단계;
    를 포함하는 것을 특징으로 하는 소프트웨어 업데이트 방법.
KR1020060104638A 2006-10-26 2006-10-26 소프트웨어 실행모듈의 업데이트 시스템 및 방법 KR20080037450A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060104638A KR20080037450A (ko) 2006-10-26 2006-10-26 소프트웨어 실행모듈의 업데이트 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060104638A KR20080037450A (ko) 2006-10-26 2006-10-26 소프트웨어 실행모듈의 업데이트 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20080037450A true KR20080037450A (ko) 2008-04-30

Family

ID=39575445

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060104638A KR20080037450A (ko) 2006-10-26 2006-10-26 소프트웨어 실행모듈의 업데이트 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20080037450A (ko)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117215A (zh) * 2009-12-30 2011-07-06 艾利和电子科技(中国)有限公司 电子词典终端更新系统以及更新方法
KR101064737B1 (ko) * 2009-03-20 2011-09-16 주식회사 케이티 모듈 형태로 관리 및 업데이트가 이루어지는 모바일 플랫폼이 탑재된 이동통신 단말, 그 모바일 플랫폼 구동 방법, 모듈 관리 방법 및 모듈 업데이트 방법
KR101422563B1 (ko) * 2011-07-25 2014-07-24 소니 컴퓨터 엔터테인먼트 아메리카 엘엘씨 데이터 패키지의 효율적인 다운로드 방법 및 시스템
WO2015090062A1 (zh) * 2013-12-18 2015-06-25 华为技术有限公司 终端终生学习处理方法、装置和系统
WO2016007563A1 (en) * 2014-07-07 2016-01-14 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
CN105389191A (zh) * 2015-12-11 2016-03-09 北京奇虎科技有限公司 一种基于局域网的软件升级方法、装置和系统
KR20170022689A (ko) * 2015-08-21 2017-03-02 주식회사 안랩 패키지 파일의 전달 단말과 패키지 파일의 수집 서버 및 이들을 이용하여 패키지 파일을 전달하고 수집하는 방법
KR20170120922A (ko) * 2016-04-22 2017-11-01 주식회사 엘지유플러스 임베디드 시스템, 패치 서버, 및 상기 임베디드 시스템의 업데이트 방법
US9891907B2 (en) 2014-07-07 2018-02-13 Harman Connected Services, Inc. Device component status detection and illustration apparatuses, methods, and systems
CN108008967A (zh) * 2017-12-22 2018-05-08 浪潮金融信息技术有限公司 应用程序的版本控制方法及装置、计算机可读存储介质、终端
KR20180046617A (ko) * 2016-10-28 2018-05-09 한국전자통신연구원 제어 시스템의 업데이트 관리 장치, 업데이트 검증 장치 및 그 방법
KR20180063505A (ko) * 2016-12-02 2018-06-12 충남대학교산학협력단 패치 자동 설치 시스템 및 방법
CN109918097A (zh) * 2017-12-12 2019-06-21 优信数享(北京)信息技术有限公司 一种二进制差量热更新的方法,装置及系统
WO2021040168A1 (ko) 2019-08-27 2021-03-04 루나 주식회사 신구 데이터간의 차분에 대한 데이터 구조화 방법 및 그 디바이스
KR20210047745A (ko) * 2019-10-22 2021-04-30 주식회사 케이티 B2b 서비스 제공 시스템, 이를 이용한 서비스 구성 방법 및 다중 사업장 서비스 제공 방법
CN116382728A (zh) * 2023-02-24 2023-07-04 荣耀终端有限公司 传播名显示方法和终端设备
WO2023128065A1 (ko) * 2021-12-31 2023-07-06 엘지전자 주식회사 업그레이드 완료 후 가전 기기의 소프트웨어의 기능을 간편하게 설정하는 방법과 이를 구현하는 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030071750A (ko) * 2000-11-17 2003-09-06 비트폰 코포레이션 정보의 업데이트 및 분산 시스템 및 방법
KR20040049258A (ko) * 2002-12-05 2004-06-11 삼성전자주식회사 무선 이동 단말기의 소프트웨어를 업그레이드하기 위한장치 및 방법
JP2004213201A (ja) * 2002-12-27 2004-07-29 Fujitsu Ltd バージョンアップ方法
KR20050093073A (ko) * 2004-03-18 2005-09-23 삼성전자주식회사 이동통신 단말기에서 펌웨어 업그레이드 엔진을업그레이드하는 방법 및 시스템
KR20050106644A (ko) * 2004-05-06 2005-11-11 삼성전자주식회사 무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법
JP2006031455A (ja) * 2004-07-16 2006-02-02 Nec Corp 電子メールを用いた携帯端末のソフトウェア更新システムおよび方法、並びにサーバ装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030071750A (ko) * 2000-11-17 2003-09-06 비트폰 코포레이션 정보의 업데이트 및 분산 시스템 및 방법
KR20040049258A (ko) * 2002-12-05 2004-06-11 삼성전자주식회사 무선 이동 단말기의 소프트웨어를 업그레이드하기 위한장치 및 방법
JP2004213201A (ja) * 2002-12-27 2004-07-29 Fujitsu Ltd バージョンアップ方法
KR20050093073A (ko) * 2004-03-18 2005-09-23 삼성전자주식회사 이동통신 단말기에서 펌웨어 업그레이드 엔진을업그레이드하는 방법 및 시스템
KR20050106644A (ko) * 2004-05-06 2005-11-11 삼성전자주식회사 무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법
JP2006031455A (ja) * 2004-07-16 2006-02-02 Nec Corp 電子メールを用いた携帯端末のソフトウェア更新システムおよび方法、並びにサーバ装置

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101064737B1 (ko) * 2009-03-20 2011-09-16 주식회사 케이티 모듈 형태로 관리 및 업데이트가 이루어지는 모바일 플랫폼이 탑재된 이동통신 단말, 그 모바일 플랫폼 구동 방법, 모듈 관리 방법 및 모듈 업데이트 방법
CN102117215A (zh) * 2009-12-30 2011-07-06 艾利和电子科技(中国)有限公司 电子词典终端更新系统以及更新方法
KR101422563B1 (ko) * 2011-07-25 2014-07-24 소니 컴퓨터 엔터테인먼트 아메리카 엘엘씨 데이터 패키지의 효율적인 다운로드 방법 및 시스템
US8880651B2 (en) 2011-07-25 2014-11-04 Sony Computer Entertainment America, LLC Method and system for efficient download of data package
WO2015090062A1 (zh) * 2013-12-18 2015-06-25 华为技术有限公司 终端终生学习处理方法、装置和系统
US10078509B2 (en) 2013-12-18 2018-09-18 Huawei Technologies Co., Ltd. Method and system for processing lifelong learning of terminal and apparatus
US9891907B2 (en) 2014-07-07 2018-02-13 Harman Connected Services, Inc. Device component status detection and illustration apparatuses, methods, and systems
WO2016007563A1 (en) * 2014-07-07 2016-01-14 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
US9747096B2 (en) 2014-07-07 2017-08-29 Harman Connected Services, Inc. Remote embedded device update platform apparatuses, methods and systems
KR20170022689A (ko) * 2015-08-21 2017-03-02 주식회사 안랩 패키지 파일의 전달 단말과 패키지 파일의 수집 서버 및 이들을 이용하여 패키지 파일을 전달하고 수집하는 방법
CN105389191A (zh) * 2015-12-11 2016-03-09 北京奇虎科技有限公司 一种基于局域网的软件升级方法、装置和系统
KR20170120922A (ko) * 2016-04-22 2017-11-01 주식회사 엘지유플러스 임베디드 시스템, 패치 서버, 및 상기 임베디드 시스템의 업데이트 방법
US11144644B2 (en) 2016-10-28 2021-10-12 Electronics And Telecommunications Research Institute Update management apparatus of industry control system, apparatus and method for update verification
KR20180046617A (ko) * 2016-10-28 2018-05-09 한국전자통신연구원 제어 시스템의 업데이트 관리 장치, 업데이트 검증 장치 및 그 방법
KR20180063505A (ko) * 2016-12-02 2018-06-12 충남대학교산학협력단 패치 자동 설치 시스템 및 방법
CN109918097A (zh) * 2017-12-12 2019-06-21 优信数享(北京)信息技术有限公司 一种二进制差量热更新的方法,装置及系统
CN108008967A (zh) * 2017-12-22 2018-05-08 浪潮金融信息技术有限公司 应用程序的版本控制方法及装置、计算机可读存储介质、终端
WO2021040168A1 (ko) 2019-08-27 2021-03-04 루나 주식회사 신구 데이터간의 차분에 대한 데이터 구조화 방법 및 그 디바이스
KR20210047745A (ko) * 2019-10-22 2021-04-30 주식회사 케이티 B2b 서비스 제공 시스템, 이를 이용한 서비스 구성 방법 및 다중 사업장 서비스 제공 방법
WO2023128065A1 (ko) * 2021-12-31 2023-07-06 엘지전자 주식회사 업그레이드 완료 후 가전 기기의 소프트웨어의 기능을 간편하게 설정하는 방법과 이를 구현하는 장치
CN116382728A (zh) * 2023-02-24 2023-07-04 荣耀终端有限公司 传播名显示方法和终端设备
CN116382728B (zh) * 2023-02-24 2023-11-21 荣耀终端有限公司 传播名显示方法和终端设备

Similar Documents

Publication Publication Date Title
KR20080037450A (ko) 소프트웨어 실행모듈의 업데이트 시스템 및 방법
US7401065B2 (en) System for downloading contents, and client terminal for downloading contents from contents server
US8719810B2 (en) Program upgrade system and method for over the air-capable mobile terminal
CN106815370B (zh) 更新资源文件的方法、装置和系统
KR100663415B1 (ko) 무선장치상에 상주하는 데이터세트 버전을 업데이트하기위한 시스템 및 방법
US8667483B2 (en) Device dependent on-demand compiling and deployment of mobile applications
US8645943B2 (en) Communication system, communication device, and management server device
CN105302587B (zh) 数据更新方法及装置
US20080163189A1 (en) System for generating efficient and compact update packages
US20040098715A1 (en) Over the air mobile device software management
KR20110104383A (ko) 펌웨어 업데이트 서비스 장치 및 방법
CN110311964A (zh) 套接字ota升级方法、装置、系统、用户终端和存储介质
CN107547239A (zh) 配置对象的更新方法及装置
CN111158738B (zh) 耳机固件的升级方法、装置及可读存储介质
CN101984405A (zh) 一种软件版本升级方法、终端及系统
KR101541112B1 (ko) Fota 시스템 및 그 실행 방법
CN105530130A (zh) 一种空中下载技术的升级方法及装置
CN109391673A (zh) 一种管理更新文件的方法、系统及终端设备
JP2007528064A (ja) 無線装置オペレーティング環境における未検証プログラムの実行
JP2008508623A (ja) ソフトウェアを更新する携帯無線通信機器及びその方法
JP2002278767A (ja) ネットワーク通信システム、サーバ装置、携帯端末、通信方法及びプログラム
KR100320302B1 (ko) 이동통신망을이용한이동전화기의소프트웨어다운로드방법
CN102377793A (zh) 基于移动通讯设备终端的Flash交互方法及装置
CN113452776B (zh) PaaS平台服务调度方法、装置及PaaS平台
CN111176693B (zh) 一种数字电视系统的升级方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application