KR20120053875A - 펌웨어 업그레이드 방법 및 이를 위한 시스템 - Google Patents

펌웨어 업그레이드 방법 및 이를 위한 시스템 Download PDF

Info

Publication number
KR20120053875A
KR20120053875A KR1020100115221A KR20100115221A KR20120053875A KR 20120053875 A KR20120053875 A KR 20120053875A KR 1020100115221 A KR1020100115221 A KR 1020100115221A KR 20100115221 A KR20100115221 A KR 20100115221A KR 20120053875 A KR20120053875 A KR 20120053875A
Authority
KR
South Korea
Prior art keywords
upgrade
engine
terminal
server
package
Prior art date
Application number
KR1020100115221A
Other languages
English (en)
Other versions
KR101156770B1 (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 KR1020100115221A priority Critical patent/KR101156770B1/ko
Publication of KR20120053875A publication Critical patent/KR20120053875A/ko
Application granted granted Critical
Publication of KR101156770B1 publication Critical patent/KR101156770B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

업그레이드될 펌웨어에 따라 업그레이드 엔진을 선택하여 업그레이드를 실행하는 펌웨어 업그레이드 방법 및 이를 위한 시스템이 개시된다. 단말기에 업그레이드 엔진이 탑재되어 있는지 판단하는 단계, 상기 판단 결과 상기 단말기에 업그레이드 엔진이 탑재되어 있지 않은 경우 업그레이드 엔진 및 업그레이드 패키지 중 적어도 하나의 전송을 서버로 요청하는 단계 및 상기 서버로부터 업그레이드 엔진을 수신한 경우 업그레이드 엔진을 상기 단말기에 탑재하며, 상기 서버로부터 업그레이드 엔진 및 업그레이드 패키지를 수신한 경우 업그레이드 엔진을 상기 단말기에 탑재한 후 상기 탑재된 업그레이드 엔진에서 업그레이드 패키지를 실행하는 단계를 포함하여 구성될 수 있다. 따라서, 휴대 단말기에 포함된 복수개의 업그레이드 엔진 중 적절한 업그레이드 엔진을 선택하여 펌웨어 업그레이드를 실행함에 따라 업그레이드의 성능 향상을 높일 수 있다.

Description

펌웨어 업그레이드 방법 및 이를 위한 시스템{METHOD OF UPGRADING FIRMWARE AND SYSTEM FOR THE SAME}
본 발명은 펌웨어 업그레이드 방법 및 이를 위한 시스템에 관한 것으로, 더욱 상세하게는 업그레이드가 수행될 펌웨어에 따라 업그레이드 엔진을 적응적으로 선택하여 펌웨어의 업그레이드를 실행하는 펌웨어 업그레이드 방법 및 이를 위한 시스템에 관한 것이다.
무선통신 기술이 발달하면서 사용자 편의를 위한 다양한 서비스와 기능이 포함된 휴대용 단말기, 예를 들어 휴대용 CDP(Compact Disk Player), 휴대용 MP3 플레이어, PMP(Portable Multimedia Player) 등의 기술적 발전 또한 눈부시게 발전하고 있는 상황이다.
이러한 휴대용 단말기는 그 기능이 다양하고 복잡해짐에 따라 휴대용 단말기에 탑재되는 소프트웨어 또한 많은 버그가 발생할 확률이 높아지고, 휴대용 단말기의 출시 이후에 새로운 기능의 추가에 대한 요구가 갈수록 더해지고 있다. 이와 같은 이유로 최근 휴대용 단말기는 사용자의 요구를 반영하는 다양한 기능들을 수용하고 있다. 특히, 최근의 휴대용 단말기는 제품 출시 단계에서 모든 개발이 완료되는 것이 아니라, 제품의 최초 출시 이후에도 끊임없이 탑재된 소프트웨어의 진화를 추구하고 있다.
따라서, 휴대용 단말기의 개발 및 생산 업체의 경우에는 제품 최초 출시 이후 단계에서도 출시된 제품에 탑재된 펌웨어의 수정, 보완 작업을 지속적으로 진행한다. 여기서, 펌웨어는 일반적으로 롬(ROM: Read Only Memory)에 저장된 하드웨어를 제어하는 마이크로 프로그램을 의미하며, 프로그램이라는 관점에서는 소프트웨어와 동일하지만 하드웨어와 밀접한 관계를 가지고 있다는 점에서 일반 응용소프트웨어와 구분되어 펌웨어는 소프트웨어와 하드웨어의 특성을 동시에 가진다.
최근에는 휴대용 단말기의 하드웨어의 변경 없이 펌웨어만으로 휴대용 단말기에 새로운 기능을 추가할 수 있어 점점 펌웨어의 업그레이드가 빈번하게 이루어지고 있다. 휴대용 단말기는 펌웨어를 업그레이드하기 위하여 유선 또는 무선 등 다양한 방법등을 이용하여 업그레이드 패키지를 수신하여 업그레이드를 실행한다. 즉, 휴대용 단말기는 유선 또는 무선으로 업그레이드 패키지를 수신하고, 휴대용 단말기에 탑재된 기존 펌웨어에서 변화된 부분만을 업그레이드 패키지를 이용하여 업그레이드할 수 있다. 이를 위하여 휴대 단말기는 업그레이드 엔진을 포함한다.
하지만, 휴대 단말기의 생산 시 하나의 업그레이드 엔진이 휴대 단말기에 포함되어 출시되기 때문에, 기존의 업그레이드 엔진의 성능에만 맞추어 업그레이드를 진행해야 하기 때문에, 다양한 업그레이드 엔진의 성능에 따라 업그레이드를 진행해야 한다는 문제점이 있다. 또한, 휴대용 단말기에 포함된 업그레이드 엔진이 예기치 못한 버그를 포함하는 경우, 업그레이드 엔진은 서버로부터 수신한 업그레이드 패키지를 업그레이드 하지 못하거나 업그레이드 도중 에러를 발생시킬 수 있는 문제점을 내포하고 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 제 1 목적은, 업그레이드가 수행될 펌웨어에 따라 업그레이드 엔진을 적응적으로 선택하여 펌웨어의 업그레이드를 실행하는 펌웨어 업그레이드 시스템을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 제 2 목적은, 업그레이드가 수행될 펌웨어에 따라 업그레이드 엔진을 적응적으로 선택하여 펌웨어의 업그레이드를 실행하는 펌웨어 업그레이드 방법을 제공하는데 있다.
상기한 본 발명의 제 1 목적을 달성하기 위한 본 발명의 일 실시예에 따른 단말기와 서버를 포함하는 펌웨어 업그레이드 시스템은, 서버로부터 업그레이드 엔진 및 업그레이드 패키지 중 적어도 하나를 수신하거나 업그레이드 엔진 및 업그레이드 패키지 중 적어도 하나의 전송 요청을 상기 서버로 송신하는 제 1 송/수신부, 상기 수신된 업그레이드 엔진의 탑재, 삭제 및 업그레이드 중 적어도 하나를 실행하고, 상기 단말기에 탑재된 복수개의 업그레이드 엔진 중 하나의 업그레이드 엔진을 선택하여 상기 수신된 업그레이드 패키지를 실행하는 업그레이드부, 상기 업그레이드 패키지를 실행하는 업그레이드 엔진을 로딩하여 업그레이드 엔진을 실행하는 업그레이드 엔진 로더부 및 상기 단말기에 업그레이드 엔진이 탑재되지 않은 상태에서 상기 서버로부터 업그레이드 엔진을 수신한 경우 상기 수신된 업그레이드 엔진이 단말기에 탑재되도록 제어하며, 상기 단말기에 업그레이드 엔진이 탑재되지 않은 상태에서 상기 서버로부터 업그레이드 엔진 및 업그레이드 패키지를 수신한 경우 상기 수신된 업그레이드 엔진이 탑재된 후 상기 탑재된 업그레이드 엔진에서 상기 수신된 업그레이드 패키지가 실행되도록 제어하는 제 1 제어부를 포함하여 구성될 수 있다.
본 발명의 제 2 목적을 달성하기 위한 본 발명의 일 실시예에 따른 펌웨어 업그레이드 방법은, 단말기에 업그레이드 엔진이 탑재되어 있는지 판단하는 단계, 상기 판단 결과 상기 단말기에 업그레이드 엔진이 탑재되어 있지 않은 경우 업그레이드 엔진 및 업그레이드 패키지 중 적어도 하나의 전송을 서버로 요청하는 단계 및 상기 서버로부터 업그레이드 엔진을 수신한 경우 업그레이드 엔진을 상기 단말기에 탑재하며, 상기 서버로부터 업그레이드 엔진 및 업그레이드 패키지를 수신한 경우 업그레이드 엔진을 상기 단말기에 탑재한 후 상기 탑재된 업그레이드 엔진에서 업그레이드 패키지를 실행하는 단계를 포함하여 구성될 수 있다.
상기와 같은 본 발명에 따른 펌웨어 업그레이드 성능에 따라 업그레이드를 실행하는 펌웨어 업그레이드 방법 및 이를 위한 시스템을 이용할 경우에는 휴대 단말기에 포함된 복수개의 업그레이드 엔진 중 적절한 업그레이드 엔진을 선택하여 펌웨어 업그레이드를 실행함에 따라 업그레이드의 성능 향상을 높일 수 있다. 또한, 휴대 단말기에 업그레이드 엔진이 존재하지 않을 경우, 휴대 단말기에 업그레이드 엔진을 탑재한 후 펌웨어의 업그레이드를 실행할 수 있다.
도 1은 본 발명의 일 실시예에 따른 펌웨어 업그레이드 시스템의 내부 구조를 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 펌웨어 업그레이드 시스템을 구성하는 서버 및 단말기의 내부 구조를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 펌웨어 업그레이드 시스템의 단말기(100)가 업그레이드 엔진을 탑재하기 위해서 서버(200)로부터 업그레이드 엔진을 수신하여 탑재하는 경우를 도시한 예시도이다.
도 4는 본 발명의 일 실시예에 따른 펌웨어 업그레이드 시스템의 단말기(100)가 업그레이드 엔진을 탑재하기 위해서 서버(200)로부터 업그레이드 엔진 및 업그레이드 패키지를 수신하여 탑재하는 경우를 도시한 예시도이다.
도 5는 본 발명의 일 실시예에 따른 펌웨어 업그레이드 시스템의 단말기(100)가 펌웨어 업그레이드를 실행하기 위해서 서버(200)로부터 업그레이드 패키지를 수신하여 탑재하는 경우를 도시한 예시도이다.
도 6은 본 발명의 일 실시예에 따른 펌웨어 업그레이드 시스템에서 단말기(100)가 서버(200)로부터 업그레이드 엔진 또는 업그레이드 패키지를 수신받아 탑재하는 과정을 도시한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 펌웨어 업그레이드 시스템의 내부 구조를 개략적으로 도시한 도면이다.
도 1을 참조하면, 펌웨어 업그레이드 시스템은 단말기(100) 및 서버(200)를 포함하여 구성될 수 있다.
단말기(100)는 서버(200)로부터 업그레이드 엔진을 수신하여 탑재하거나, 서버(200)로부터 업그레이드 엔진 및 업그레이드 패키지를 수신하여 업그레이드 엔진을 탑재 후 탑재한 업그레이드 엔진을 이용하여 업그레이드 패키지를 실행할 수 있다. 먼저, 단말기(100)가 서버(200)로부터 업그레이드 엔진을 수신하여 탑재하는 경우를 설명하기로 한다. 단말기(100)가 서버(200)로부터 업그레이드 엔진을 수신하여 탑재하는 경우는 단말기(100)가 업그레이드 엔진을 포함하거나 포함하지 않는 경우이다.
본 발명의 일 실시예에 따르면, 단말기(100)가 업그레이드 엔진을 포함하고 있지 않는 경우, 서버(200)로부터 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진을 수신하기 위해서, 서버(200)로 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진 또는 소정의 버전에 해당되는 업그레이드 엔진의 검색을 요청할 수 있다. 업그레이드 엔진의 검색 요청에 따라, 단말기(100)는 서버(200)로부터 검색된 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진을 수신하여 업그레이드 엔진을 탑재할 수 있다.
본 발명의 일 실시예에 따르면, 단말기(100)가 적어도 하나 이상의 업그레이드 엔진을 포함하고 있지만, 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 패키지를 실행할 업그레이드 엔진이 존재하지 않는 경우, 서버(200)로 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 패키지를 실행할 업그레이드 엔진 또는 소정의 버전에 해당되는 업그레이드 엔진의 검색을 요청할 수 있다. 업그레이드 엔진의 검색 요청에 따라, 단말기(100)는 서버(200)로부터 검색된 업그레이드를 실행할 업그레이드 패키지에 해당되는 업그레이드 엔진을 이용하여 단말기(100)에 설치된 업그레이드 엔진을 업그레이드하고, 업그레이된 업그레이드 엔진을 이용하여 업그레이드 패키지를 실행함으로써 펌웨어 업그레이드를 실행한다.
둘째, 단말기(100)가 서버(200)로부터 업그레이드 엔진 및 업그레이드 패키지를 수신하고, 수신된 업그레이드 엔진을 탑재하여 업그레이드 패키지를 실행하는 경우를 설명하기로 한다. 단말기(100)가 서버(200)로부터 업그레이드 엔진 및 업그레이드 패키지를 수신하여 업그레이드 엔진을 탑재하고 업그레이드 패키지를 실행하는 경우는 단말기(100)가 업그레이드 엔진을 포함하거나 포함하지 않는 경우이다.
본 발명의 일 실시예에 따르면, 단말기(100)가 업그레이드 엔진을 포함하고 있지 않는 경우, 서버(200)로 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 패키지를 실행할 업그레이드 엔진 또는 소정의 버전에 해당되는 업그레이드 엔진 및 업그레이드 패키지를 요청할 수 있다. 본 발명의 일 실시예에 따르면, 단말기(100)는 서버(200)로 업그레이드 엔진 및 업그레이드 패키지를 요청함에 따라 서버(200)로부터 업그레이드 엔진 및 업그레이드 패키지를 수신하고, 수신된 업그레이드 엔진을 탑재한 후 탑재된 업그레이드 엔진을 이용하여 업그레이드 패키지를 실행한다.
또한, 단말기(100)는 서버(200)로부터 업그레이드 패키지를 수신하여 수신된 업그레이드 패키지를 실행할 업그레이드 엔진을 선택하여 업그레이드 패키지를 실행하거나, 업그레이드 엔진 및 업그레이드 패키지 파일을 수신하여 수신된 업그레이드 엔진을 탑재한 후 탑재된 업그레이드 엔진을 이용하여 업그레이드 패키지를 실행할 수 있다.
먼저, 단말기(100)가 서버(200)로부터 업그레이드 패키지를 수신하여 수신된 업그레이드 패키지를 실행할 업그레이드 엔진을 선택하여 업그레이드 패키지를 실행하는 경우를 설명하기로 한다. 단말기(100)가 서버(200)로부터 업그레이드 패키지를 수신하여 펌웨어의 업그레이드를 실행하는 경우는 단말기(100)에 업그레이드 패키지를 실행할 업그레이드 엔진이 탑재되어 있는 경우이다. 이 경우, 단말기(100)는 서버(200)로부터 업그레이드 패키지를 수신하고, 복수개의 업그레이드 엔진 중 수신된 업그레이드 패키지를 실행할 업그레이드 엔진을 선택한 후, 선택된 업그레이드 엔진을 이용하여 수신된 업그레이드 패키지를 실행한다.
둘째, 단말기(100)가 업그레이드 엔진 및 업그레이드 패키지 파일을 수신하여 수신된 업그레이드 엔진을 탑재한 후 탑재된 업그레이드 엔진에서 업그레이드 패키지를 실행하는 경우를 설명하기로 한다. 단말기(100)가 서버(200)로부터 업그레이드 엔진 및 업그레이드 패키지 파일을 수신하는 경우는 단말기(100)가 업그레이드 엔진을 포함하거나 포함하지 않는 경우이다.
본 발명의 일 실시예에 따르면, 단말기(100)가 업그레이드 엔진을 포함하고 있지 않는 경우, 서버(200)로부터 업그레이드 패키지에 해당되는 업그레이드 엔진을 수신하기 위해서, 서버(200)로 업그레이드 패키지를 실행할 수 있는 업그레이드 엔진 또는 소정의 버전에 해당되는 업그레이드 엔진의 검색을 요청할 수 있다. 업그레이드 엔진의 검색 요청에 따라, 단말기(100)는 서버(200)로부터 검색된 업그레이드를 실행할 업그레이드 패키지에 해당되는 업그레이드 엔진을 수신하여 업그레이드 엔진을 탑재하고, 탑재된 업그레이드 엔진을 이용하여 업그레이드 패지키를 실행하여 펌웨어 업그레이드를 실행할 수 있다.
본 발명의 일 실시예에 따르면, 단말기(100)가 적어도 하나 이상의 업그레이드 엔진을 포함하고 있지만, 업그레이드를 실행할 업그레이드 패키지에 해당되는 업그레이드 엔진이 존재하지 않는 경우, 서버(200)로 업그레이드를 실행할 업그레이드 패키지를 실행할 수 있는 업그레이드 엔진 또는 소정의 버전에 해당되는 업그레이드 엔진의 검색을 요청할 수 있다. 업그레이드 엔진의 검색 요청에 따라, 단말기(100)는 서버(200)로부터 검색된 업그레이드를 실행할 업그레이드 패키지에 해당되는 업그레이드 엔진을 이용하여 단말기(100)에 설치된 업그레이드 엔진을 업그레이드하고, 업그레이된 업그레이드 엔진을 이용하여 업그레이드 패키지를 실행함으로써 펌웨어 업그레이드를 실행한다.
서버(200)는 단말기(100)에 업그레이드 엔진의 탑재 여부를 판단할 수 있다. 먼저, 서버(200)가 단말기(100)에 업그레이드 엔진이 탑재되어있지 않다고 판단한 경우를 설명하기로 한다. 본 발명의 일 실시예에 따르면, 서버(200)는 복수개의 업그레이드 엔진 중 업그레이드 패키지를 실행할 수 있는 업그레이드 엔진을 선택하고, 선택된 업그레이드 엔진을 단말기(100)로 전송한다. 본 발명의 일 실시예에 따르면, 업그레이드 엔진이 탑재되어있지 않은 단말기(100)가 서버(200)로부터 업그레이드 엔진을 수신하여 업그레이드 엔진을 탑재한 경우, 서버(200)는 단말기(100)에 업그레이드 패키지를 전송할 수 있다.
둘째, 서버(200)가 단말기(100)에 업그레이드 엔진이 탑재되었다고 판단한 경우를 설명하기로 한다. 본 발명의 일 실시예에 따르면, 서버(200)가 단말기(100)에 탑재된 업그레이드 엔진이 업그레이드 패키지를 실행할 수 없다고 판단한 경우, 서버(200)는 복수개의 업그레이드 엔진 중 업그레이드 패키지를 실행할 수 있는 업그레이드 엔진을 선택하고, 선택된 업그레이드 엔진을 단말기(100)로 전송한다. 본 발명의 일 실시예에 따르면, 업그레이드 패키지를 실행할 수 업그레이드 엔진이 탑재되어있지 않은 단말기(100)가 서버(200)로부터 업그레이드 엔진을 수신하여 업그레이드 엔진을 업그레이드 한 경우, 서버(200)는 단말기(100)에 업그레이드 패키지를 전송할 수 있다.
또한, 서버(200)는 단말기(100)에 탑재된 복수개의 업그레이드 엔진 중 업그레이드 패키지를 실행할 업그레이드 엔진이 존재하는지 판단할 수 있다. 먼저, 서버(200)가 단말기(100)에 탑재된 복수개의 업그레이드 엔진 중 업그레이드 패키지를 실행할 업그레이드 엔진이 존재한다고 판단한 경우를 설명하기로 한다. 본 발명의 일 실시예에 따르면, 단말기(100)에 업그레이드 패키지를 실행할 수 업그레이드 엔진이 탑재되어있는 경우, 서버(200)는 업그레이드 패키지를 단말기(100)로 전송한다.
둘째, 서버(200)가 단말기(100)에 탑재된 복수개의 업그레이드 엔진 중 업그레이드 패키지를 실행할 업그레이드 엔진이 존재하지 않는다고 판단한 경우를 설명하기로 한다. 본 발명의 일 실시예에 따르면, 단말기(100)에 업그레이드 패키지를 실행할 수 업그레이드 엔진이 탑재되어있지 않은 경우, 서버(200)는 단말기(100)에 탑재된 복수개의 업그레이드 엔진 중 업그레이드 패키지를 실행할 업그레이드 엔진이 존재한다고 판단하고, 이에 따라 서버(200)는 업그레이드 패키지를 실행할 수 있는 업그레이드 엔진 및 업그레이드 패키지를 선택하고, 선택된 업그레이드 엔진을 단말기(100)로 전송한다.
또한, 서버(200)는 단말기(100)에 업그레이드 패키지를 전송할 수 있다. 먼저, 서버(200)는 단말기(100)에 업그레이드 패키지에 해당되는 업그레이드 엔진이 탑재되어 있는 경우 업그레이드 패키지를 전송한다. 둘째, 서버(200)는 단말기(100)에 업그레이드 패키지에 해당되는 업그레이드 엔진이 탑재되어 있지 않은 경우 서버(200)는 단말기(100)에 업그레이드 패키지와 업그레이드 패키지에 해당되는 업그레이드 엔진을 동시에 전송한다.
또한, 서버(200)는 단말기(100)로부터 업그레이드 패키지 또는 소정의 버전의 펌웨어에 해당되는 업그레이드 엔진의 전송 요청을 수신할 수 있다. 서버(200)는 단말기(100)로부터 업그레이드 엔진의 전송 요청을 수신함에 따라, 전송 요청에 해당되는 업그레이드 엔진을 선택하여 단말기(100)로 전송할 수 있다. 그러면 이하에서는, 도 2를 참조하여 본 발명의 일 실시예에 따른 펌웨어 업그레이드 시스템을 구성하는 서버 및 단말기의 내부 구조를 보다 구체적으로 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 펌웨어 업그레이드 시스템을 구성하는 서버 및 단말기의 내부 구조를 도시한 도면이다.
펌웨어 업그레이드 시스템은 단말기(100)와 서버(200)를 포함하여 구성될 수 있으며, 단말기(100)는 제 1 송/수신부(101), 제 1 제어부(105), 제 1 저장부(104), 업그레이드부(102), 업그레이드 엔진 로더부(103)를 포함하여 구성될 수 있다. 서버(200)는 제 2 송/수신부(201), 제 2 제어부(202) 및 제 2 저장부(203)를 포함하여 구성될 수 있으며, 제 2 저장부(203)는 업그레이드 엔진 저장유닛(미도시), 업그레이드 패키지 저장유닛(미도시) 및 단말기 정보 저장유닛(미도시)을 포함하여 구성될 수 있다.
제 1 송/수신부(101)는 업그레이드부(102)로부터 수신된 업그레이드 엔진 정보 또는 펌웨어 정보를 이용하여 서버(200)로 업그레이드 엔진에 대한 전송 요청 및 업그레이드 패키지에 대한 전송 요청을 송신한다.
또한, 업그레이드 엔진에 대한 전송 요청 및 업그레이드 패키지에 대한 전송 요청을 전송함에 따라 제 1 송/수신부(101)는 서버(200)로부터 업그레이드 엔진 또는 업그레이드 패키지를 수신한다. 그리고, 제 1 송/수신부(101)는 서버(200)로부터 수신된 업그레이드 엔진 또는 업그레이드 패키지의 유효한지 검사를 수행한다. 업그레이드부(102)는 제 1 제어부(105)의 제어에 의해 서버(200)로부터 수신한 업그레이드 엔진을 탑재, 삭제, 업그레이드를 수행하거나 업그레이드 엔진 로더부(103)로부터 선택된 복수개의 업그레이드 엔진 중 하나의 엔진을 이용하여 업그레이드 패키지를 실행한다. 업그레이드 엔진 로더부(103)는 제 1 제어부(105)의 제어에 의해 서버(200)로부터 수신한 업그레이드 엔진 또는 이미 포함되고 있는 복수개의 업그레이드 엔진 중 하나의 업그레이드 엔진을 로딩하여 업그레이드 엔진을 수행한다.
제 1 저장부(104)는 제 1 제어부(105)의 제어에 의해 서버(200)로부터 수신된 업그레이드 엔진 및 업그레이드 패키지를 저장한다. 제 1 제어부(105)는 제 1 송/수신부(101)가 서버(200)로부터 업그레이드 엔진 또는 업그레이드 패키지를 수신할 경우, 제 1 송/수신부(101)가 업그레이드 엔진 또는 업그레이드 패키지의 유효성 검사를 실행하도록 제어한다.
또한, 제 1 제어부(105)는 제 1 송/수신부(101)가 서버(200)로 업그레이드 엔진에 대한 전송 요청을 송신하도록 제어할 수 있다. 제 1 제어부(105)는 제 1 송/수신부(101)가 서버(200)로 업그레이드 엔진에 대한 전송 요청을 송신하도록 제어하는 경우는, 단말기(100)가 업그레이드 엔진 포함하고 있지 않은 경우이거나 업그레이드 엔진을 포함하고 있으나 업그레이드 엔진의 업그레이드를 실행하고자 할 경우이다. 먼저, 단말기(100)가 업그레이드 엔진 포함하고 있지 않은 경우 제 1 제어부(105)는 제 1 송/수신부(101)가 서버(200)로 업그레이드 엔진에 대한 전송 요청을 송신하도록 제어하는 경우를 설명하기로 한다.
본 발명의 일 실시예에 따르면, 단말기(100)가 업그레이드 엔진을 포함하고 있지 않는 경우, 서버(200)로부터 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진을 수신하기 위해서, 제 1 제어부(105)는 제 1 송/수신부(101)가 서버(200)로 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진 또는 소정의 버전에 해당되는 업그레이드 엔진을 검색하여 전송하라는 전송 요청을 송신하도록 제어할 수 있다. 업그레이드 엔진의 전송 요청에 따라, 제 1 송/수신부(101)는 서버(200)로부터 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진을 수신하고, 제 1 제어부(105)는 업그레이드부(102)가 서버(200)로부터 수신된 업그레이드 엔진을 탑재하도록 제어한다.
둘째, 단말기(100)가 업그레이드 엔진을 포함하고 있으나 업그레이드 엔진의 업그레이드를 실행하고자 하는 경우를 설명하기로 한다. 본 발명의 일 실시예에 따르면, 단말기(100)가 적어도 하나 이상의 업그레이드 엔진을 포함하고 있지만, 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진이 존재하지 않는 경우, 제 1 제어부(105)의 제어에 의해 제 1 송/수신부(101)가 서버(200)로 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진 또는 소정의 버전에 해당되는 업그레이드 엔진을 검색하여 전송하라는 전송 요청할 수 있다. 업그레이드 엔진의 전송 요청에 따라, 제 1 송/수신부(101)는 서버(200)로부터 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진을 수신하고, 제 1 제어부(105)는 업그레이드부(102)가 서버(200)로부터 수신된 업그레이드 엔진을 탑재하도록 제어한다.
제 1 제어부(105)는 제 1 송/수신부(101)가 서버(200)로부터 업그레이드 엔진을 수신할 경우, 업그레이드부(102)가 업그레이드 엔진을 탑재, 삭제, 업그레이드를 수행하거나 업그레이드 엔진을 이용하여 업그레이드 패키지를 실행하도록 제어한다. 제 1 제어부(105)는 제 1 송/수신부(101)가 서버(200)로부터 업그레이드 패키지를 수신할 경우, 업그레이드 엔진 로더부(103)가 복수개의 업그레이드 엔진 중 하나의 업그레이드 엔진을 로딩하고, 업그레이드부(102)가 로딩된 업그레이드 엔진을 이용하여 업그레이드를 실행하도록 제어한다. 또한, 제 1 제어부(105)는 제 1 송/수신부(101)가 서버(200)로부터 업그레이드 엔진 또는 업그레이드 패키지를 수신할 경우, 서버(200)로부터 업그레이드 엔진 또는 업그레이드 패키지가 제 1 저장부(104)에 저장되도록 제어한다.
제 2 송/수신부(201)는 단말기(100)로부터 업그레이드 엔진에 대한 전송 요청 및 업그레이드 패키지에 대한 전송 요청을 수신한다. 또한, 제 2 송/수신부(201)는 제 2 제어부(202)의 제어에 의해 업그레이드 엔진 저장유닛에 저장된 업그레이드 엔진을 단말기(100)로 전송하고, 업그레이드 패키지 저장유닛에 저장된 업그레이드 패키지를 단말기(100)로 송신한다.
제 2 제어부(202)는 제 2 송/수신부(201)가 단말기(100)로부터 업그레이드 엔진에 대한 전송 요청을 수신한 경우, 업그레이드 엔진 저장유닛에 저장된 업그레이드 엔진이 단말기(100)로 전송되도록 제 2 송/수신부(201)를 제어하고, 단말기(100)로 전송된 업그레이드 엔진의 정보가 단말기 정보 저장유닛에 저장되도록 제어한다. 제 2 송/수신부(201)가 단말기(100)로부터 업그레이드 엔진에 대한 전송 요청을 수신하여 제 2 제어부(202)가 제 2 저장부(203)에 저장된 업그레이드 엔진 또는 업그레이드 패키지를 전송하도록 제어하는 경우는 단말기(100)가 업그레이드 엔진 포함하고 있지 않은 경우이거나 업그레이드 엔진을 포함하고 있으나 업그레이드 엔진의 업그레이드를 실행하고자 할 경우이다.
먼저, 단말기(100)가 업그레이드 엔진 포함하고 있지 않은 경우 제 2 송/수신부(201)가 단말기(100)로부터 업그레이드 엔진에 대한 전송 요청을 수신한 경우를 설명하기로 한다. 본 발명의 일 실시예에 따르면, 단말기(100)가 업그레이드 엔진을 포함하고 있지 않는 경우, 제 2 송/수신부(201)는 단말기(100)로부터 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진의 전송 요청을 수신하고, 이에 따라 제 2 제어부(202)는 제 2 송/수신부(201)가 수신한 제 2 송/수신부(201)에 해당되는 업그레이드 엔진을 검색하도록 업그레이드 엔진 저장유닛을 제어하고, 업그레이드 엔진 저장유닛으로부터 검색된 업그레이드 엔진을 단말기(100)로 송신하도록 제 2 송/수신부(201)를 제어한다.
둘째, 단말기(100)가 업그레이드 엔진을 포함하고 있으나 업그레이드 엔진의 업그레이드를 실행하고자 하는 경우 제 2 송/수신부(201)가 단말기(100)로부터 업그레이드 엔진에 대한 전송 요청을 수신한 경우를 설명하기로 한다. 본 발명의 일 실시예에 따르면, 단말기(100)가 적어도 하나 이상의 업그레이드 엔진을 포함하고 있지만, 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진이 존재하지 않는 경우, 제 2 송/수신부(201)는 단말기(100)로부터 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진의 전송 요청을 수신하고, 이에 따라 제 2 제어부(202)는 제 2 송/수신부(201)가 수신한 제 2 송/수신부(201)에 해당되는 업그레이드 엔진을 검색하도록 업그레이드 엔진 저장유닛을 제어하고, 업그레이드 엔진 저장유닛으로부터 검색된 업그레이드 엔진을 단말기(100)로 송신하도록 제 2 송/수신부(201)를 제어한다.
제 2 제어부(202)는 제 2 송/수신부(201)가 단말기(100)로부터 업그레이드 패키지에 대한 전송 요청을 수신한 경우, 업그레이드 패키지 저장유닛에 저장된 업그레이드 패키지가 단말기(100)로 전송되도록 제 2 송/수신부(201)를 제어한다. 업그레이드 엔진 저장유닛은 업그레이드 엔진 및 업그레이드 엔진의 버전 정보를 저장한다. 업그레이드 패키지 저장유닛은 업그레이드 패키지 및 업그레이드 패키지에 적용되는 업그레이드 엔진 정보를 저장한다. 단말기 정보 저장유닛은 단말기에 탑재된 업그레이드 엔진 정보를 저장한다. 그러면 이하에서는, 도 3 내지 도 5를 참조하여 본 발명의 일 실시예에 따른 펌웨어 업그레이드 시스템의 서버(200)가 단말기(100)로 업그레이드 엔진 또는 업그레이드 패키지를 전송하는 경우를 보다 구체적으로 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 펌웨어 업그레이드 시스템의 단말기(100)가 업그레이드 엔진을 탑재하기 위해서 서버(200)로부터 업그레이드 엔진을 수신하여 탑재하는 경우를 도시한 예시도이다.
도 3을 참조하면, 단말기(100)가 업그레이드 엔진을 탑재하기 위해서 서버(200)로부터 업그레이드 엔진을 수신한다. 먼저, 단말기(100)가 업그레이드 엔진을 포함하고 있지 않는 경우에 서버(200)로부터 업그레이드 엔진을 수신하는 경우를 설명하기로 한다. 단말기(100)가 업그레이드 엔진을 포함하고 있지 않는 경우, 서버(200)로부터 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진을 수신하기 위해서, 서버(200)로 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 패키지를 실행할 업그레이드 엔진 또는 소정의 버전에 해당되는 업그레이드 엔진의 검색을 요청할 수 있다. 업그레이드 엔진의 검색 요청에 따라, 단말기(100)는 서버(200)로부터 검색된 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 패키지를 실행할 업그레이드 엔진을 수신하여 유효성을 검사한 후 업그레이드 엔진을 탑재할 수 있다.
둘째, 단말기(100)가 적어도 하나 이상의 업그레이드 엔진을 포함하고 있지만, 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 패키지를 실행할 업그레이드 엔진이 존재하지 않는 경우를 설명하기로 한다. 단말기(100)가 업그레이드 엔진을 포함하는 경우, 서버(200)로부터 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진을 수신하기 위해서, 서버(200)로 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진 또는 소정의 버전에 해당되는 업그레이드 엔진의 검색을 요청할 수 있다. 업그레이드 엔진의 검색 요청에 따라, 단말기(100)는 서버(200)로부터 검색된 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진을 수신하여 유효성을 검사한 후 업그레이드 엔진의 업그레이드를 실행할 수 있다.
도 4는 본 발명의 일 실시예에 따른 펌웨어 업그레이드 시스템의 단말기(100)가 업그레이드 엔진을 탑재하기 위해서 서버(200)로부터 업그레이드 엔진 및 업그레이드 패키지를 수신하여 탑재하는 경우를 도시한 예시도이다.
도 4를 참조하면, 단말기(100)가 업그레이드 엔진을 포함하고 있지 않는 경우에 서버(200)로부터 업그레이드 엔진 및 업그레이드 패키지를 수신할 수 있다. 단말기(100)가 업그레이드 엔진을 포함하고 있지 않는 경우, 서버(200)로부터 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진 및 업그레이드 패키지를 수신하기 위해서, 서버(200)로 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 패키지를 실행할 업그레이드 엔진 또는 소정의 버전에 해당되는 업그레이드 엔진 및 업그레이드 패키지의 검색을 요청할 수 있다. 검색 요청에 따라, 단말기(100)는 서버(200)로부터 검색된 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 패키지를 실행할 업그레이드 엔진을 수신하여 유효성을 검사한 후 업그레이드 엔진을 탑재하고, 탑재된 업그레이드 엔진을 이용하여 업그레이드 패키지를 실행하여 펌웨어의 업그레이드를 실행한다.
둘째, 단말기(100)가 적어도 하나 이상의 업그레이드 엔진을 포함하고 있지만, 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진이 존재하지 않는 경우 서버(200)로부터 업그레이드 엔진 및 업그레이드 패키지를 수신할 수 있다. 단말기(100)가 업그레이드 엔진을 포함하는 경우, 서버(200)로부터 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 패키지를 실행할 업그레이드 엔진을 수신하기 위해서, 서버(200)로 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 패키지를 실행할 업그레이드 엔진 또는 소정의 버전에 해당되는 업그레이드 엔진 및 업그레이드 패키지의 검색을 요청할 수 있다. 검색 요청에 따라, 단말기(100)는 서버(200)로부터 검색된 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진을 업그레이드하고, 업그레이된 업그레이드 엔진을 이용하여 업그레이드 패키지를 실행함으로써 펌웨어의 업그레이드를 실행한다.
도 5는 본 발명의 일 실시예에 따른 펌웨어 업그레이드 시스템의 단말기(100)가 펌웨어 업그레이드를 실행하기 위해서 서버(200)로부터 업그레이드 패키지를 수신하여 탑재하는 경우를 도시한 예시도이다.
도 5를 참조하면, 단말기(100)가 서버(200)로부터 업그레이드 패키지를 수신하여 펌웨어의 업그레이드를 실행하는 경우는 단말기(100)가 서버(200)로부터 업그레이드 패키지를 수신하여 펌웨어의 업그레이드를 실행하는 경우는 단말기(100)에 업그레이드 패키지를 실행할 업그레이드 엔진이 탑재되어 있는 경우이다. 이 경우, 단말기(100)는 서버(200)로부터 업그레이드 패키지를 수신하여 유효성을 검사하고, 수신된 업그레이드 패키지가 적용될 업그레이드 엔진을 선택한 후, 선택된 업그레이드 엔진을 이용하여 펌웨어의 업그레이드를 실행한다.
여기서, 도 4를 다시 참조하여 본 발명의 일 실시예에 따른 펌웨어 업그레이드 시스템의 단말기(100)가 펌웨어 업그레이드를 실행하기 위해서 서버(200)로부터 업그레이드 엔진 및 업그레이드 패키지를 수신하여 탑재하는 경우를 설명하기로 한다.
도 4를 참조하면, 단말기(100)가 서버(200)로부터 업그레이드 엔진 및 업그레이드 엔진에서 업그레이드될 업그레이드 패키지 파일을 수신하는 경우는 단말기(100)가 서버(200)로부터 업그레이드 엔진을 수신하여 탑재하는 경우는 단말기(100)가 업그레이드 엔진을 포함하거나 포함하지 않는 경우이다.
먼저, 단말기(100)가 업그레이드 엔진을 포함하고 있지 않는 경우, 서버(200)로부터 업그레이드를 실행할 업그레이드 패키지에 해당되는 업그레이드 엔진을 수신하기 위해서, 서버(200)로 업그레이드를 실행할 펌웨어에 해당하는 업그레이드 패키지를 실행할 업그레이드 엔진 또는 소정의 버전에 해당되는 업그레이드 엔진 및 업그레이드 패키지의 검색을 요청할 수 있다. 검색 요청에 따라, 단말기(100)는 서버(200)로부터 검색된 업그레이드를 실행할 업그레이드 패키지에 해당되는 업그레이드 엔진을 수신하여 유효성 검사를 한 후 업그레이드 엔진을 탑재하고, 탑재되 업그레이드 엔진을 이용하여 업그레이드 패키지를 실행함으로써 펌웨어 업그레이드를 실행한다.
둘째, 단말기(100)가 적어도 하나 이상의 업그레이드 엔진을 포함하고 있지만, 업그레이드를 실행할 업그레이드 패키지를 실행 할 업그레이드 엔진이 존재하지 않는 경우, 서버(200)로 업그레이드를 실행할 업그레이드 패키지에 해당되는 업그레이드 엔진 또는 소정의 버전에 해당되는 업그레이드 엔진의 및 업그레이드 패키지의 검색을 요청할 수 있다. 검색 요청에 따라, 단말기(100)는 서버(200)로부터 검색된 업그레이드를 실행할 업그레이드 패키지를 실행 할 업그레이드 엔진을 수신하여 유효성 검사를 한 후 업그레이드 엔진을 업그레이드하고, 업그레이된 업그레이드 엔진을 이용하여 업그레이드 패키지를 실행함으로써 펌웨어 업그레이드를 실행한다. 그러면 이하에서는, 도 6을 참조하여 본 발명의 일 실시예에 따른 펌웨어 업그레이드 시스템에서 단말기(100)가 서버(200)로부터 업그레이드 엔진 또는 업그레이드 패키지를 수신받아 탑재하는 과정을 보다 구체적으로 설명하기로 한다.
도 6은 본 발명의 일 실시예에 따른 펌웨어 업그레이드 시스템에서 단말기(100)가 서버(200)로부터 업그레이드 엔진 또는 업그레이드 패키지를 수신받아 탑재하는 과정을 도시한 흐름도이다.
도 6을 참조하면, 단말기(100)가 업그레이드 엔진 포함하고 있지 않은 경우(S601), 서버(200)로 업그레이드 엔진 또는 업그레이드 엔진 및 업그레이드 패키지의 전송 요청을 송신한다(S602). 본 발명의 일 실시예에 따르면, 단말기(100)가 업그레이드 엔진을 포함하고 있지 않는 경우, 서버(200)로부터 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진을 수신하기 위해서, 서버(200)로 업그레이드를 실행할 펌웨어에 해당되는 업그레이드 엔진 또는 소정의 버전에 해당되는 업그레이드 엔진을 검색하여 전송하라는 전송 요청을 송신한다.
만약, 단말기(100)가 서버(200)로부터 업그레이드 엔진을 수신(S603)한 경우, 단말기(100)는 서버(200)로부터 수신된 업그레이드 엔진을 탑재한다(S604). 반면, 단말기(100)가 서버(200)로부터 업그레이드 엔진 및 업그레이드 패키지를 수신(S603)한 경우, 단말기(100)는 서버(200)로부터 수신된 업그레이드 엔진을 탑재하고, 탑재된 업그레이드 엔진을 이용하여 업그레이드 패키지를 실행하여 펌웨어 업그레이드를 실행(S605)한다.
단말기(100)가 업그레이드 엔진 포함하고 있는 경우(S601), 서버(200)로 현재 단말기(100)에 탑재된 업그레이드 엔진보다 높은 버전의 업그레이드 엔진 또는 높은 버전의 업그레이드 엔진 및 업그레이드 패키지의 전송 요청을 송신한다(S606). 만약, 단말기(100)가 서버(200)로부터 현재 단말기(100)에 탑재된 업그레이드 엔진보다 높은 버전의 업그레이드 엔진을 수신(S607)한 경우, 단말기(100)는 서버(200)로부터 수신된 업그레이드 엔진을 이용하여 현재 단말기(100)에 탑재된 업그레이드 엔진의 업그레이드를 실행한다(S608). 반면, 단말기(100)가 서버(200)로부터 현재 단말기(100)에 탑재된 업그레이드 엔진보다 높은 버전의 업그레이드 엔진 및 업그레이드 패키지를 수신(S607)한 경우, 단말기(100)는 서버(200)로부터 수신된 업그레이드 엔진을 이용하여 현재 단말기(100)에 탑재된 업그레이드 엔진의 업그레이드를 실행하고, 업그레이드된 업그레이드 엔진을 이용하여 업그레이드 패키지를 실행하여 펌웨어 업그레이드를 실행(S609)한다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 단말기 101: 제 1 송/수신부
102: 업그레이드부 103: 업그레이드 엔진 로더부
104: 제 1 저장부 200: 서버
201: 제 2 송/수신부 202: 제 2 제어부
203: 제 2 저장부

Claims (15)

  1. 단말기와 서버를 포함하는 펌웨어 업그레이드 시스템에 있어서,
    서버로부터 업그레이드 엔진 및 업그레이드 패키지 중 적어도 하나를 수신하거나 업그레이드 엔진 및 업그레이드 패키지 중 적어도 하나의 전송 요청을 상기 서버로 송신하는 제 1 송/수신부;
    상기 수신된 업그레이드 엔진의 탑재, 삭제 및 업그레이드 중 적어도 하나를 실행하고, 상기 단말기에 탑재된 복수개의 업그레이드 엔진 중 하나의 업그레이드 엔진을 선택하여 상기 수신된 업그레이드 패키지를 실행하는 업그레이드부;
    상기 업그레이드 패키지를 실행하는 업그레이드 엔진을 로딩하여 업그레이드 엔진을 실행하는 업그레이드 엔진 로더부; 및
    상기 단말기에 업그레이드 엔진이 탑재되지 않은 상태에서 상기 서버로부터 업그레이드 엔진을 수신한 경우 상기 수신된 업그레이드 엔진이 단말기에 탑재되도록 제어하며, 상기 단말기에 업그레이드 엔진이 탑재되지 않은 상태에서 상기 서버로부터 업그레이드 엔진 및 업그레이드 패키지를 수신한 경우 상기 수신된 업그레이드 엔진이 탑재된 후 상기 탑재된 업그레이드 엔진에서 상기 수신된 업그레이드 패키지가 실행되도록 제어하는 제 1 제어부를 포함하는 것을 특징으로 하는 업그레이드 시스템.
  2. 제 1 항에 있어서, 상기 제 1 제어부는,
    상기 단말기에 적어도 하나의 업그레이드 엔진이 탑재되어 있는 상태에서 서버로부터 업그레이드 패키지를 수신한 경우 상기 수신된 업그레이드 패키지가 실행하게 될 업그레이드 엔진이 선택되도록 제어하는 것을 특징으로 하는 업그레이드 시스템.
  3. 제 2 항에 있어서, 상기 수신된 업그레이드 패키지는,
    상기 선택된 업그레이드 엔진을 이용하여 실행되는 것을 특징으로 하는 업그레이드 시스템.
  4. 제 1 항에 있어서, 상기 제 1 제어부는,
    상기 단말기에 적어도 하나의 업그레이드 엔진이 탑재되어 있는 상태에서 서버로부터 업그레이드 엔진 및 업그레이드 패키지를 수신한 경우 상기 수신된 업그레이드 엔진을 이용하여 상기 단말기에 미리 탑재된 업그레이드 엔진의 업그레이드를 실행하고, 상기 업그레이드된 업그레이드 엔진에서 상기 수신된 업그레이드 패키지가 실행되도록 제어하는 것을 특징으로 하는 업그레이드 시스템.
  5. 제 1 항에 있어서, 상기 제 1 제어부는,
    상기 단말기에 업그레이드 엔진의 탑재 여부를 판단하여 상기 업그레이드 엔진이 탑재되어 있지 않을 경우 업그레이드 엔진의 전송을 요청하는 전송 요청이 상기 서버로 송신되도록 제어하는 것을 특징으로 하는 펌웨어 업그레이드 시스템.
  6. 제 1항에 있어서, 상기 제 1 제어부는,
    상기 단말기에 업그레이드 엔진의 탑재 여부를 판단하여 상기 업그레이드 엔진이 탑재되어 있지만 업그레이드 패키지를 실행할 업그레이드 엔진이 탑재되어 있지 않을 경우 업그레이드 엔진의 전송을 요청하는 전송 요청이 상기 서버로 송신되도록 제어하는 것을 특징으로 하는 펌웨어 업그레이드 시스템.
  7. 제 1 항에 있어서, 상기 제 1 제어부는,
    상기 단말기에 업그레이드 엔진이 탑재되어 있는 경우 상기 업그레이드 엔진에서 실행될 업그레이드 패키지의 전송을 요청하는 전송 요청이 상기 서버로 송신되도록 제어하는 것을 특징으로 하는 업그레이드 시스템.
  8. 제 1 항에 있어서, 상기 제 1 제어부는,
    상기 업그레이드 엔진이 탑재되어 있지만 업그레이드 패키지를 실행할 업그레이드 엔진이 탑재되어있지 않은 경우 상기 단말기에 미리 탑재된 업그레이드 엔진보다 새로운 버전의 업그레이드 엔진 및 업그레이드 패키지의 전송을 요청하는 전송 요청이 상기 서버로 송신되도록 제어하는 것을 특징으로 하는 업그레이드 시스템.
  9. 제 1 항에 있어서, 제 1 송/수신부
    상기 서버로부터 수신된 업그레이드 엔진 및 업그레이드 패키지 중 적어도 하나의 유효성을 검사하는 것을 특징으로 하는 업그레이드 시스템.
  10. 제 1 항에 있어서, 상기 업그레이드부는,
    상기 단말기에 탑재된 업그레이드 엔진의 목록 및 펌웨어의 버전을 관리하는 것을 특징으로 하는 업그레이드 시스템.
  11. 펌웨어 업그레이드 방법에 있어서,
    단말기에 업그레이드 엔진이 탑재되어 있는지 판단하는 단계;
    상기 판단 결과 상기 단말기에 업그레이드 엔진이 탑재되어 있지 않은 경우 업그레이드 엔진 및 업그레이드 패키지 중 적어도 하나의 전송을 서버로 요청하는 단계; 및
    상기 서버로부터 업그레이드 엔진을 수신한 경우 업그레이드 엔진을 상기 단말기에 탑재하며, 상기 서버로부터 업그레이드 엔진 및 업그레이드 패키지를 수신한 경우 업그레이드 엔진을 상기 단말기에 탑재한 후 상기 탑재된 업그레이드 엔진에서 업그레이드 패키지를 실행하는 단계를 포함하는 것을 특징으로 하는 업그레이드 방법.
  12. 제 11 항에 있어서, 전송을 서버로 요청하는 단계는,
    상기 상기 판단 결과 상기 단말기에 업그레이드 엔진이 탑재되어 있는 경우, 상기 서버로부터 업그레이드 패키지를 수신하고, 상기 단말기에 탑재된 복수개의 업그레이드 엔진 중 하나의 업그레이드 엔진을 선택하여 상기 수신된 업그레이드 패키지를 실행하는 것을 특징으로 하는 업그레이드 방법.
  13. 제 11 항에 있어서,
    상기 판단 결과 상기 단말기에 업그레이드 엔진이 탑재되어 있지만 업그레이드 패키지를 실행한 업그레이드 엔진이 탑재되어 있지 않은 경우 상기 단말기에 탑재된 업그레이드 엔진보다 새로운 버전의 업그레이드 엔진 및 업그레이드 패키지 중 적어도 하나의 전송을 서버로 요청하는 단계를 더 포함하는 것을 특징으로 하는 업그레이드 방법.
  14. 제 13 항에 있어서, 전송을 서버로 요청하는 단계는,
    상기 서버로부터 새로운 버전의 업그레이드 엔진을 수신한 경우 상기 수신된 새로운 버전의 업그레이드 엔진을 이용하여 상기 단말기에 미리 탑재된 업그레이드 엔진의 업그레이드를 수행하는 것을 특징으로 하는 업그레이드 방법.
  15. 제 13 항에 있어서, 전송을 서버로 요청하는 단계는,
    상기 서버로부터 새로운 버전의 업그레이드 엔진 및 업그레이드 패키지를 수신한 경우 상기 수신된 새로운 버전의 업그레이드 엔진을 이용하여 상기 단말기에 미리 탑재된 업그레이드 엔진의 업그레이드한 후 상기 업그레이된 업그레이드 엔진을 이용하여 상기 수신된 업그레이드 패키지를 수행하는 것을 특징으로 하는 업그레이드 방법.
KR1020100115221A 2010-11-18 2010-11-18 펌웨어 업그레이드 방법 및 이를 위한 시스템 KR101156770B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100115221A KR101156770B1 (ko) 2010-11-18 2010-11-18 펌웨어 업그레이드 방법 및 이를 위한 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100115221A KR101156770B1 (ko) 2010-11-18 2010-11-18 펌웨어 업그레이드 방법 및 이를 위한 시스템

Publications (2)

Publication Number Publication Date
KR20120053875A true KR20120053875A (ko) 2012-05-29
KR101156770B1 KR101156770B1 (ko) 2012-06-18

Family

ID=46269945

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100115221A KR101156770B1 (ko) 2010-11-18 2010-11-18 펌웨어 업그레이드 방법 및 이를 위한 시스템

Country Status (1)

Country Link
KR (1) KR101156770B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100762618B1 (ko) 2004-03-18 2007-10-01 삼성전자주식회사 이동통신 단말기에서 펌웨어 업그레이드 엔진을업그레이드하는 방법 및 시스템
KR20100081720A (ko) * 2009-01-07 2010-07-15 삼성전자주식회사 포타 서비스 방법 및 시스템

Also Published As

Publication number Publication date
KR101156770B1 (ko) 2012-06-18

Similar Documents

Publication Publication Date Title
KR102024533B1 (ko) 소프트웨어 정의 라디오 어플리케이션의 동작 방법
KR101368543B1 (ko) 버스트 액세스 프로토콜 및 제 2 프로세서의 우선순위 초기화
US8990361B2 (en) Method and system for proximity-based, peer-initiated device configuration
CN105270288B (zh) 用于动态更新车辆模块配置记录的方法和设备
US20140067879A1 (en) Application management for a terminal
KR101541112B1 (ko) Fota 시스템 및 그 실행 방법
CN103809996A (zh) 对移动计算设备传播经更新驱动程序的方法和其传播系统
US20090070500A1 (en) Sharing of data between devices
CN103250133A (zh) 软件定义无线终端设备以及用于发布和安装无线应用的方法
KR101499068B1 (ko) 어플리케이션 공유 서비스 방법 및 이에 적용되는 장치
US9465599B2 (en) Method, device and system for installing terminal software
US20160198018A1 (en) Mobile device for executing radio application
US10521216B2 (en) Unified extensible firmware interface updates
US10078532B2 (en) Resource management method and device for terminal system among multiple operating systems
CN105653331A (zh) 一种中间件的应用方法及装置
CN114185579A (zh) 软件升级的方法、装置、电子设备和可读存储介质
US8510423B2 (en) Install system and install method
KR20180050001A (ko) 사물인터넷 기기의 펌웨어 업그레이드 시스템 및 방법
EP1880283A1 (en) Configuring a device using information from a device table
KR100974662B1 (ko) 이동 통신 단말기 및 이의 펌웨어 업데이트 방법
US20210405987A1 (en) Dynamic driver selection based on firmware for a hardware component
CN113094064A (zh) 网关软件模块升级方法、装置、设备及存储介质
KR101156770B1 (ko) 펌웨어 업그레이드 방법 및 이를 위한 시스템
KR20150080356A (ko) 홈오토시스템의 원거리업데이트방법
KR102064519B1 (ko) 차량 ecu 소프트웨어 업데이트 방법, 그를 수행하기 위한 장치 및 시스템

Legal Events

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

Payment date: 20150602

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160607

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170607

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 8