KR20070063654A - SyncML을 이용하여 펌웨어를 업데이트하기 위한휴대단말장치 및 방법. - Google Patents

SyncML을 이용하여 펌웨어를 업데이트하기 위한휴대단말장치 및 방법. Download PDF

Info

Publication number
KR20070063654A
KR20070063654A KR1020050123648A KR20050123648A KR20070063654A KR 20070063654 A KR20070063654 A KR 20070063654A KR 1020050123648 A KR1020050123648 A KR 1020050123648A KR 20050123648 A KR20050123648 A KR 20050123648A KR 20070063654 A KR20070063654 A KR 20070063654A
Authority
KR
South Korea
Prior art keywords
firmware
syncml
information
terminal device
portable terminal
Prior art date
Application number
KR1020050123648A
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 KR1020050123648A priority Critical patent/KR20070063654A/ko
Publication of KR20070063654A publication Critical patent/KR20070063654A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • 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/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 동기화 마크업 언어(Synchronization Markup Language:SyncML)를 이용하여 휴대단말장치 간에 기능별로 펌웨어 버전을 비교하여 최신 버전으로 업데이트할 수 있는 휴대단말장치 및 방법에 관한 것이다. 본 발명은 펌웨어의 메인 버전과 부분 버전 정보가 들어있는 DB부와 상기 DB부에 들어있는 펌웨어 정보를 동기화를 위한 SyncML 정보로 변환하거나, 수신된 SyncML 정보를 펌웨어 정보로 변환하는 SyncML 처리부와 상기 SyncML 처리부에서 변환된 SyncML 정보를 타 휴대단말장치로 송신하거나, 상기 타 휴대단말장치에서 보낸 SyncML 정보를 수신하여 상기 SyncML 처리부로 전달하는 송/수신부와 상기 SyncML 처리부에서 변환된 타 휴대단말장치의 펌웨어 정보와 DB부에 들어있는 펌웨어 정보를 비교하여 서버와 클라이언트를 결정하고, 업데이트 할 펌웨어를 결정하는 펌웨어 비교부 및 타 휴대단말장치로 전송할 펌웨어 코드가 임시 저장되거나, 수신된 펌웨어 코드가 임시 저장되는 임시 저장 영역을 포함하고, 휴대단말장치의 운영을 위한 펌웨어 코드들이 저장되어 있는 코드 영역부를 포함한다. 따라서, 상기 코드 영역부에서 업데이트 되는 펌웨어 코드는 각 기능별 부분 버전이 서로 다른 펌웨어 코드만 업데이트 된다.

Description

SyncML을 이용하여 펌웨어를 업데이트하기 위한 휴대단말장치 및 방법.{A Portable Mobile Apparatus and Method for updating firmware using SyncML}
도 1은 본 발명의 실시예에 따른 SyncML을 이용한 펌웨어를 업데이트하기 위한 휴대단말장치의 구성도를 나타낸 블록도이다.
도 2는 도 1에 도시된 코드 영역부를 상세히 나타낸 구성도이다.
도 3은 본 발명의 실시예에 따라 도 1에 도시된 휴대단말장치들 간에 펌웨어를 업데이트하는 방법을 나타낸 흐름도이다.
*도면의 주요부분에 대한 부호 설명*
100:제 1 휴대단말장치 200:제 2 휴대단말장치
110,210:SyncML 처리부 111,211:엔코더부
113,213:디코더부 120,220:송/수신부
130,230:펌웨어 비교부 140,240:DB부
150,250:코드 영역부
본 발명은 휴대단말장치 간의 펌웨어를 업데이트하기 위한 장치 및 방법에 관한 것으로서, 구체적으로 동기화 마크업 언어(Synchronization Markup Language: 이하, "SyncML" 이라 한다.)를 이용하여 휴대단말장치 간에 기능별로 펌웨어 버전을 비교하여 최신 버전으로 업데이트할 수 있는 장치 및 그 방법에 관한 것이다.
이동무선통신의 발달과 함께, 이동무선통신 휴대단말장치 또는 PDA(Personal Digital Assistant)의 사용이 급격하게 늘고 있다. 따라서, 휴대단말장치는 기업의 생산성을 높이기 위한 도구로 발전하면서 교육, 금융, 제조, 서비스, 물류 분야 등 많은 사업 분야에 적용되기 시작함으로써, 포스트 PC 시장을 선도할 품목으로 자리매김하고 있다.
최근, 하드웨어 기술의 발달로 휴대단말장치의 구입가격이 저렴해지고 통신의 발달로 효용성이 증가되면서 매우 급속하게 보급이 이루어지고 있다. 이와 더불어, 새롭게 생산되는 휴대단말장치의 펌웨어는 매번 새로운 버전으로 업데이트 되고 있다. 여기서, 펌웨어(firmware)란 롬(ROM)에 기록된 하드웨어를 제어하는 마이크로프로그램의 집합이다.
따라서, 기존 휴대단말장치의 사용자가 최신 펌웨어 버전으로 업그레이드하기 위하여는 통신 사업자의 대리점 또는 A/S센터에 방문하여 직접 PC와 휴대단말장치를 연결해서 휴대단말장치 전용 다운로드 툴을 이용하여 펌웨어 전체를 다운로드 해야했다. 이럴 경우 펌웨어 업데이트 반영하는 주기가 길어지고, 다운로드 시에 전체를 다운받아야 하므로 사용자의 개인 정보까지 손실되는 문제점이 있었다.
상기 문제점을 해결하기 위한 본 발명의 목적은 휴대단말장치의 펌웨어 생성시 기능별로 구분해서 각 기능별 버전을 생성한 후, 그에 대한 정보를 휴대단말장치의 별도 공간에 저장하여 관리하고, SyncML을 사용하여 각 휴대단말장치의 버전을 기능별로 비교하여 전송하고자 하는 기능의 펌웨어만을 전송하여 업데이트 하는데 있다.
상기 목적을 달성하기 위한 본 발명의 SyncML을 이용하여 펌웨어를 업데이트하기 위한 휴대단말장치는 펌웨어의 메인 버전과 부분 버전 정보가 들어있는 DB부; 상기 DB부에 들어있는 펌웨어 정보를 동기화를 위한 SyncML 정보로 변환하거나, 수신된 SyncML 정보를 펌웨어 정보로 변환하는 SyncML 처리부; 상기 SyncML 처리부에서 변환된 SyncML 정보를 타 휴대단말장치로 송신하거나, 상기 타 휴대단말장치에서 보낸 SyncML 정보를 수신하여 상기 SyncML 처리부로 전달하는 송/수신부; 상기 SyncML 처리부에서 변환된 타 휴대단말장치의 펌웨어 정보와 DB부에 들어있는 펌웨어 정보를 비교하여 서버와 클라이언트를 결정하고, 업데이트 할 펌웨어를 결정하는 펌웨어 비교부; 및 타 휴대단말장치로 전송할 펌웨어 코드가 임시 저장되거나, 수신된 펌웨어 코드가 임시 저장되는 임시 저장 영역을 포함하고, 휴대단말장치의 운영을 위한 펌웨어 코드들이 저장되어 있는 코드 영역부를 포함하며, 상기 코드 영역부에서 업데이트 되는 펌웨어 코드는 각 기능별 부분 버전이 서로 다른 펌웨어 코드만 업데이트 되는 것을 특징으로 한다.
또한, 상기 목적은 제 1 휴대단말장치와 제 2 휴대단말장치 간에 펌웨어를 업데이트하는 방법에 있어서, 상기 제 1 휴대단말장치에서 펌웨어 정보를 SyncML 정보로 변환하여 상기 제 2 휴대단말장치로 전송하는 단계(a); 제 2 휴대단말장치에서 SyncML 정보를 펌웨어 정보로 변환하여 비교 후 서버(제 1 휴대단말장치)와 클라이언트(제 2 휴대단말장치)를 결정하는 단계(b); 상기 서버는 클라이언트로 SyncML 형식의 서버주소를 전송하고, 상기 클라이언트는 상기 서버주소와 클라이언트주소를 가지고 URI 정보를 생성하는 단계(c); 상기 클라이언트는 상기 URI 정보와 함께 펌웨어 정보를 SyncML 형식으로 서버로 전송하는 단계(d); 상기 서버에서 펌웨어 정보를 비교하여 업데이트 할 펌웨어를 결정하는 단계(e); 상기 서버에서 업데이트 할 펌웨어 코드를 임시저장영역에 저장 후 클라이언트로 상기 업데이트 할 펌웨어 코드를 전송하는 단계(f); 상기 클라이언트에서 업데이트 할 펌웨어 코드를 수신하여 임시 저장 영역에 저장하고, 상기 서버로 정상수신 리턴 코드를 전송하는 단계(g); 및 상기 클라이언트에서 재부팅 후 상기 임시 저장 영역에 저장된 업데이트 할 펌웨어 코드를 원래 코드 영역에 복사하는 단계(h)를 포함하는 SyncML을 이용하여 펌웨어를 업데이트하기 위한 방법에 의해서도 달성될 수 있다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명하기로 한다.
실시예
도 1은 본 발명의 실시예에 따른 SyncML을 이용한 펌웨어를 업데이트하기 위한 휴대단말장치의 구성도를 나타낸 블록도이다.
도 1을 참조하면, 제 1 휴대단말장치(100)와 제 2 휴대단말장치(200) 간에 펌웨어를 업데이트 하기 위하여 데이터를 SyncML 동기화를 시켜 송수신하는 구성도이다. 제 1 휴대단말장치(100)와 제 2 휴대단말장치(200)는 동일한 구성을 가지기 때문에 본 명세서에서는 제 1 휴대단말장치(100)의 구성도를 실시예로 기술하기로 한다.
각각의 휴대단말장치는 SyncML 처리부(110), 송/수신부(120), 펌웨어 비교부(130), 데이터베이스 부(140 : 이하, 'DB 부'라 한다.) 및 코드 영역부(150)로 구성된다.
먼저, SyncML 처리부(110)는 각 휴대단말장치(100,200)의 펌웨어 정보를 동기화를 위한 SyncML 정보로 변환하거나, SyncML 정보를 펌웨어 정보로 추출하는 기능을 한다. 여기서, SyncML이란 임의의 네트워크상에서 서로 다른 디바이스(device) 또는 응용 서비스 간에 데이터를 일치시켜 주기 위한 국제 표준 언어로서, XML(Extensible Markup Language) 형태로 표현된 데이터를 포함한 메시지를 서버와 디바이스 간에 주고 받음으로써 서버와 디바이스간의 데이터 동기화를 수행한다.
상기 SyncML 처리부(110)에서 생성되는 SyncML의 구조는 크게 헤더(Header) 부와 메다 데이터(Meta Data)부로 구분할 수 있다. 헤더(Header)부는 두 휴대단말장치(100,200)간의 타겟(Target:클라이언트 기능)과 소스(Source:서버 기능)를 알려주는 Target URI와 Source URI가 포함되어 있다. 메타 데이터(Meta Data)부는 Main Ver(펌웨어 메인버전), Prog Ver(부분별 버전), Prog ID(부분별 ID), Start Address(부분별 저장될 시작주소), End Address(부분별 저장될 끝주소) Data URI(다운로드 될 화일이 있는 URI), Res Data(결과 리턴 값) 및 Req Data(요구값)으로 구성되어 있다.
상기 SyncML 처리부(110)는 상기와 같은 구성으로 펌웨어 정보를 SyncML 정보로 생성하는 엔코더부(Encoder:111)와 상기 SyncML 정보를 실제 펌웨어 정보로 변환하는 인코더부(Decoder:113)로 구성된다.
상기와 같이 본 발명의 실시예에 따르면, 상기 SyncML의 언어구조체를 이용하여 펌웨어 업데이트에 필요한 정보를 실어서 제 1 및 제 2 휴대단말장치(100,200)를 서버(server)와 클라이언트(client)로 지정하여 양 휴대단말장치(100,200)의 펌웨어 정보를 동기화하여 업데이트 시킨다.
송/수신부(120)는 상기 SyncML 처리부(110)에서 생성된 SyncML 정보를 타 단말기(200)로 송신하거나, 타 단말기(200)에서 전송되는 SyncML 정보를 수신하여 SyncML 인코더부(111)로 전달한다. 상기 송/수신부(120)는 휴대단말장치의 성능에 따라 무선기능(블루투스, 적외선 통신방식) 또는/및 유선기능(USB케이블, RS-232)을 사용한다.
펌웨어 비교부(130)은 상기 SyncML 디코더부(113)로부터 전달된 타 휴대단말 장치(200)의 펌웨어 정보와 본 휴대단말장치(100)의 DB부(140)에 저장된 펌웨어 정보를 비교한다. 이때, 가장 최신 펌웨어 정보를 가진 휴대단말장치를 서버로 정의한다.
DB부(140)는 펌웨어 정보가 들어있는 곳으로 메인 버전과 부분 버전 정보가 들어 있다.
코드 영역부(150)는 휴대단말장치의 운영을 위한 코드들이 저장되어 있는 코드영역의 주소부분이다. 상기 코드 영역부(150)에 대하여 도 2를 참조하여 설명한다.
도 2는 도 1에 도시된 코드 영역부를 상세히 나타낸 구성도이다. 코드 영역부(150)는 임시 저장 영역(151)을 포함하여, Brew 영역(152), Camera 영역(155), SMS 영역(157), Browser 영역(158) 및 UI 영역(159)으로 구분 지을 수 있다. 각 영역은 펌웨어 생성시 기능별로 구분되어서 생성되고, 각 영역간에 영역구분이 되어 있어야 한다. 여기서, 임시 저장 영역(151)은 서버 휴대단말장치에서는 최신 펌웨어를 전송하기 위해 임시로 저장하며, 클라이언트 휴대단말장치에서는 전송된 최신버전의 펌웨어를 저장하고 복사하기 위해 임시 저장하는 영역이다.
상기와 같은 구성의 본 발명의 실시예에 따른 휴대단말장치는 펌웨어 생성시 기능별로 구분되어서 기능별 버전을 생성한 다음, 그에 대한 정보를 휴대단말장치의 별도 공간에 저장을 하여서 관리하고, 타 휴대단말장치와의 유/무선 통신을 이용해서 OMA 표준화 방식인 SyncML을 사용하여 서로 간의 기능별 버전을 비교한 후, 전송하고자 하는 펌웨어를 전송하여 업데이트 한다.
본 발명의 실시예에 따라 구성된 제 1 및 제 2 휴대단말장치(100,200) 간에 펌웨어를 업데이트하는 방법에 대하여 도 3의 흐름도를 참조하여 상세히 설명한다.
도 3은 본 발명의 실시예에 따라 도 1에 도시된 휴대단말장치들 간에 펌웨어를 업데이트하는 방법을 나타낸 흐름도이다.
도 1 및 도 3을 참조하면, 우선, 휴대단말장치에 별도의 펌웨어 업데이트 모드로 전환이 가능한 별도의 메뉴가 미리 정의되어 있다. 업데이트 모드가 시작되면, 제 1 휴대단말장치(100)의 펌웨어 업데이트 모드 메뉴를 사용자가 선택하면, 업데이트 중에 다른 이벤트(전화 또는 SMS 등)에 의해 발생되는 오류를 막기 위해 디스플레이부(미도시)에 펌웨어 업데이트 모드로 전환한다는 알림 창을 띄워준다.
제 1 휴대단말장치(100)와 제 2 휴대단말장치(200)간에 데이터 전송을 위해 무선기능(블루투스, 적외선 통신방식)과 유선기능(USB 케이블, RS-232)을 선택하기 위한 메뉴를 휴대단말장치의 디스플레이부에 보여주고 사용자가 선택을 하고, 제1 및 제 2 휴대단말장치(100,200)를 연결한다.(S10) 본 명세서에서는 유선으로 연결된 상태로 가정한다.
제 1 휴대단말장치(100)는 펌웨어의 베인 버전 정보, 폰번호 정보 등을 SyncML 처리부(110)의 엔코더부(111)에서 SyncML 정보로 생성하여 송/수신부(120)를 통하여 제 2 휴대단말장치(200)로 전송한다.(S20)
그러면, USB케이블을 통하여 수신된 데이터는 제 2 휴대단말장치(200)의 송/수신부(220)를 통하여 SyncML 처리부(210)의 디코더부(213)로 전송되고, 상기 디코더부(213)에서 전송된 SyncML 헤더 및 본문내용을 파싱해서 실제 데이터를 추출하 여 펌웨어 비교부(230)로 데이터를 전송한다. 상기 펌웨어 비교부(230)에서는 제 2 휴대단말장치(200)의 펌웨어 정보를 DB부(240)에서 읽어 들여서 비교하게 된다.(S30)
서로 다른 버전의 펌웨어가 여러 개 있을 경우 각 영역의 Prog ID를 저장한다.(S35)
가장 최신 펌웨어 정보를 가진 휴대단말장치를 서버(server), 다른 휴대단말장치를 클라이언트(client)로 정의한다.(S40) 예를 들어, 제1 휴대단말장치(100)의 메인 버전 정보가 5.0이고, 제 2 휴대단말장치(200)의 메인 버전 정보가 4.9였다면, 제 1 휴대단말장치가 서버 기능을 하고, 제 2 휴대단말장치가 클라이언트 기능을 수행하게 된다. 이하에서는, 제 1 휴대단말장치(100)가 서버이고, 제 2 휴대단말장치(200)가 클라이언트라고 가정하고 기술하기로 한다.
다음, 제 1 휴대단말장치(100)는 제 2 휴대단말장치(200)에 서버임을 나타낸는 SyncML 정보(전화번호를 이용해서 생성된 서버주소)를 전송한다.(S50) 상기 서버의 정보를 수신한 제 2 휴대단말장치(200)는 서버주소 및 자신의 번호를 이용해서 생성된 클라이언트 주소를 가지고 URI 정보를 생성한다.
제 2 휴대단말장치(200)는 상기 URI 정보와 함께 현재 제 2 휴대단말장치 내에 있는 펌웨어의 메인 버전, 부분별 버전 및 저장 가능한 공간 사이즈 정보를 SyncML Body에 SyncML 형식으로 생성하여 제 1 휴대단말장치(100)로 전송한다.(S60)
제1 휴대단말장치(100)는 제 2 휴대단말장치(200)에서 전송한 SyncML 정보를 디코더부(113)에서 정보를 추출하여 펌웨어 비교부(130)로 전송하면, 상기 펌웨어 비교부(130)는 제 1 휴대단말장치(100) 내의 메인 버전 및 부분별 버전을 비교한다. 만약, 비교결과 브라우저(Browser) 부분 버전만 다르다고 판단되면, 제 1 휴대단말장치(100)의 펌웨어 업데이트 처리부에서는 임시 저장 영역(151)에 브라우저(Browser) 코드 부분을 복사 이동시켜 놓는다.(S70)
복사 이동이 정상적으로 수행되면, 제 1 휴대단말장치(100)는 브라우저(Browser) 코드의 사이즈 정보와 브라우저(Browser) 부분 버전을 엔코더부(111)에서 SyncML로 변환시켜 제 2 휴대단말장치(200)로 전송하게 되고, 상기 제 2 휴대단말장치(200)는 수신된 정보를 가지고 자체 버전과 저장 가능한 공간을 재 비교해서 이상 없으면, 이상 없음에 대한 SyncML 코드를 제 1 휴대단말장치(100)로 전송한다.(S90)
제 1 휴대단말장치(100)는 제 2 휴대단말장치(200)에서 정상이라는 리턴 값을 수신하면 임시 저장 영역(151)에 있는 브라우저(Browser) 코드를 일정 사이즈 만큼 잘라서 전송하고, 제 2 휴대단말장치(200)에서는 수신된 브라우저(Browser) 코드를 임시저장 영역에 저장하고 정상 수신되었다는 값을 제 1 휴대단말장치(100)로 전송한다. 제 1 휴대단말장치(100)는 정상 수신이라는 리턴 값을 수신하면 상기 동작을 반복한다.(S100,S110,S115) 만약, 제 2 휴대단말장치(200)가 에러코드를 전송하게 되면 제 1 휴대단말장치(100)는 이전에 전송했던 부분을 재 전송하게 된다. 이 경우 재 전송이 일정 횟수 이상으로 반복되면 제 1 및 제 2 휴대단말장치(100,200)의 디스플레이부에 전송중 에러를 표시하고 펌웨어 전송 작업을 중단하게 된다.
제 1 휴대단말장치(100)에서 제 2 휴대단말장치(200)로의 브라우저(Browser) 코드가 정상적으로 다운로드 되었다면, 다른 Prog ID가 있는지 카운터하여 있다면, S50단계로 돌아가 상기 동작을 반복한다.(S120)
다른 Prog ID가 없다면, 제 2 휴대단말장치(200)는 최종적으로 브라우저(Browser) 코드 사이즈와 함께 정상 수신 리턴 코드를 제 1 휴대단말장치(100)로 발송한다.(S130) 이때, 제 1 휴대단말장치(200)는 디스플레이부에 정상적으로 전송되었음을 알려주는 메시지 창을 띄우고, 임시 저장 영역(151)에 저장된 브라우저(Browser) 코드를 삭제한다.
제 2 휴대단말장치(200)에서는 디스플레이부에 정상적으로 다운로드 되었음을 알려주며, 펌웨어 업데이트와 함께 단말기를 재부팅 한다는 메시지를 띄우고 사용자의 응답을 기다린다.(S140) 이때, 사용자가 재부팅을 선택하지 않으면, 업데이트는 종료된다.
상기 메시지에서 사용자가 제 2 휴대단말장치(200)의 재부팅을 선택하게 되면, 제 2 휴대단말기(200)는 재부팅을 한다.(S150)
정상적으로 재부팅이 일어나면, UI ldle 모드로 들어가기 전에 Text 형태로 업데이트 중임을 알리는 메시지를 출력 후, 임시 저장 영역에 저장된 브라우저(Browser) 코드를 원래 코드 영역에 있는 브라우저(Browser) 부분에 복사 이동시킨다.(S160) 이때, 정상적으로 복사 이동 작업이 수행되면, 임시저장 영역에 있는 브라우저(Browser) 코드를 삭제한다. 이로써, 브라우저(Browser) 코드의 업데이트 작 업은 종료된다.
위와 같이 본 발명의 실시예에 따르면, 휴대단말장치의 펌웨어 생성시 기능별로 구분해서 각 기능별 버전을 생성한 후, 그에 대한 정보를 휴대단말장치의 별도 공간에 저장하여 관리하고, SyncML을 사용하여 각 휴대단말장치의 버전을 기능별로 비교하여 전송하고자 하는 기능의 펌웨어만을 전송하여 업데이트 함으로써, 펌웨어 전체를 다운받는데 걸리는 시간을 단축할 수 있으며, 또한, 사용자의 개인 정보 손실 없이 프로그램 코드만 업데이트 될 수 있다. 또한, 펌웨어를 업데이트 받기 위해 번거럽게 통신 사업자의 대리점 또는 A/S센터에 방문하는 불편함을 막아 시간을 절약할 수 있다.
이상 본 발명의 특정 실시예를 도시하고 설명하였으나, 본 발명의 기술사상은 첨부된 도면과 상기한 설명내용에 한정하지 않으며 본 발명의 사상을 벗어나지 않는 범위 내에서 다양한 형태의 변형이 가능함은 이 분야의 통상의 지식을 가진 자에게는 자명한 사실이다.
본 발명은 SyncML의 방식을 이용해서 휴대단말장치 간에 펌웨어를 비교하여 부분별로 업데이트가 필요한 코드만 전송 및 다운로드 함으로써, 펌웨어 전체를 다운받는데 걸리는 시간을 단축할 수 있으며, 또한, 사용자의 개인 정보 손실 없이 프로그램 코드만 업데이트 될 수 있다는 효과가 있다.
또한, 펌웨어를 업데이트 받기 위해 번거럽게 통신 사업자의 대리점 또는 A/S센터에 방문하는 불편함을 막아 시간을 절약할 수 있다.

Claims (8)

  1. 펌웨어의 메인 버전과 부분 버전 정보가 들어있는 DB부;
    상기 DB부에 들어있는 펌웨어 정보를 동기화를 위한 SyncML 정보로 변환하거나, 수신된 SyncML 정보를 펌웨어 정보로 변환하는 SyncML 처리부;
    상기 SyncML 처리부에서 변환된 SyncML 정보를 타 휴대단말장치로 송신하거나, 상기 타 휴대단말장치에서 보낸 SyncML 정보를 수신하여 상기 SyncML 처리부로 전달하는 송/수신부;
    상기 SyncML 처리부에서 변환된 타 휴대단말장치의 펌웨어 정보와 DB부에 들어있는 펌웨어 정보를 비교하여 서버와 클라이언트를 결정하고, 업데이트 할 펌웨어를 결정하는 펌웨어 비교부; 및
    상기 타 휴대단말장치로 전송할 펌웨어 코드가 임시 저장되거나, 수신된 펌웨어 코드가 임시 저장되는 임시 저장 영역을 포함하고, 휴대단말장치의 운영을 위한 펌웨어 코드들이 저장되어 있는 코드 영역부를 포함하며,
    상기 코드 영역부에서 업데이트 되는 펌웨어 코드는 각 기능별 부분 버전이 서로 다른 펌웨어 코드만 업데이트 되는 것을 특징으로 하는 SyncML을 이용하여 펌웨어를 업데이트하기 위한 휴대단말장치.
  2. 제 1 항에 있어서,
    상기 코드 영역부에 저장된 펌웨어 코드들은 각각 기능별로 영역이 구분되어 저장되는 것을 특징으로 하는 SyncML을 이용하여 펌웨어를 업데이트하기 위한 휴대단말장치.
  3. 제 1 항에 있어서,
    상기 SyncML 처리부는,
    상기 DB부에 들어있는 펌웨어 정보를 동기화를 위한 SyncML 정보로 변환하는 엔코더부; 및
    상기 타 휴대단말장치로부터 수신된 SyncML 정보를 펌웨어 정보로 변환하는 디코더부를 포함하는 것을 특징으로 하는 SyncML을 이용하여 펌웨어를 업데이트하기 위한 휴대단말장치.
  4. 제 3 항에 있어서,
    상기 변환된 SyncML 정보는 헤더(Header)부와 메타 데이터(Meta data)부로 구성되며,
    상기 메타 데이터부는 펌웨어 메인버전(Main Ver), 부분별 버전(Prog Ver), 부분별 버전 ID(Prog ID), 부분별 버전이 저장될 시작주소(Start Address), 부분별 버전이 저장될 끝주소(End Address), 다운로드 될 화일이 있는 URI(Data URI), 결과 리턴 값(Res Data) 및 요구 값(Req Data)을 포함하는 것을 특징으로 하는 SyncML을 이용하여 펌웨어를 업데이트하기 위한 휴대단말장치.
  5. 제 1 휴대단말장치와 제 2 휴대단말장치 간에 펌웨어를 업데이트하는 방법에 있어서,
    상기 제 1 휴대단말장치에서 펌웨어 정보를 SyncML 정보로 변환하여 상기 제 2 휴대단말장치로 전송하는 단계(a);
    제 2 휴대단말장치에서 SyncML 정보를 펌웨어 정보로 변환하여 비교 후 서버(제 1 휴대단말장치)와 클라이언트(제 2 휴대단말장치)를 결정하는 단계(b);
    상기 서버는 클라이언트로 SyncML 형식의 서버주소를 전송하고, 상기 클라이언트는 상기 서버주소와 클라이언트주소를 가지고 URI 정보를 생성하는 단계(c);
    상기 클라이언트는 상기 URI 정보와 함께 펌웨어 정보를 SyncML 형식으로 서버로 전송하는 단계(d);
    상기 서버에서 펌웨어 정보를 비교하여 업데이트 할 펌웨어를 결정하는 단계(e);
    상기 서버에서 업데이트 할 펌웨어 코드를 임시저장영역에 저장 후 클라이언트로 상기 업데이트 할 펌웨어 코드를 전송하는 단계(f);
    상기 클라이언트에서 업데이트 할 펌웨어 코드를 수신하여 임시 저장 영역에 저장하고, 상기 서버로 정상수신 리턴 코드를 전송하는 단계(g); 및
    상기 클라이언트에서 재부팅 후 상기 임시 저장 영역에 저장된 업데이트 할 펌웨어 코드를 원래 코드 영역에 복사하는 단계(h)를 포함하는 SyncML을 이용하여 펌웨어를 업데이트하기 위한 방법.
  6. 제 5 항에 있어서,
    상기 단계(b)에서, 버전 정보가 서로 다른 복수개의 펌웨어 부분별 버전이 있는 경우, 부분별 버전 아이디를 각각 저장하여 각각의 부분별 펌웨어 버전마다 서버와 클라이언트를 결정하는 것을 특징으로 하는 SyncML을 이용하여 펌웨어를 업데이트하기 위한 방법.
  7. 제 6 항에 있어서,
    상기 단계(f)에서, 상기 서버는 업데이트 할 펌웨어 코드를 일정 크기로 나누어 전송하며,
    상기 단계(g)에서, 전송 중 에러가 나면, 상기 서버는 이전 전송부분을 재 전송하는 것을 특징으로 하는 SyncML을 이용하여 펌웨어를 업데이트하기 위한 방법.
  8. 제 7 항에 있어서,
    상기 단계(g)에서, 다른 업데이트 할 부분별 펌웨어 버전이 있다면, 상기 단계(b)에서 단계(g)를 반복하는 것을 특징으로 하는 SyncML을 이용하여 펌웨어를 업데이트하기 위한 방법.
KR1020050123648A 2005-12-15 2005-12-15 SyncML을 이용하여 펌웨어를 업데이트하기 위한휴대단말장치 및 방법. KR20070063654A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050123648A KR20070063654A (ko) 2005-12-15 2005-12-15 SyncML을 이용하여 펌웨어를 업데이트하기 위한휴대단말장치 및 방법.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050123648A KR20070063654A (ko) 2005-12-15 2005-12-15 SyncML을 이용하여 펌웨어를 업데이트하기 위한휴대단말장치 및 방법.

Publications (1)

Publication Number Publication Date
KR20070063654A true KR20070063654A (ko) 2007-06-20

Family

ID=38363524

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050123648A KR20070063654A (ko) 2005-12-15 2005-12-15 SyncML을 이용하여 펌웨어를 업데이트하기 위한휴대단말장치 및 방법.

Country Status (1)

Country Link
KR (1) KR20070063654A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120034892A (ko) * 2010-10-04 2012-04-13 엘지전자 주식회사 이동 단말기 및 미디어 파일 송수신 방법
CN108255507A (zh) * 2018-01-17 2018-07-06 北京奇艺世纪科技有限公司 一种服务器的更新方法及系统
WO2019059444A1 (ko) * 2017-09-19 2019-03-28 주식회사 포인트모바일 모바일 디바이스 및 그 모바일 디바이스에서 설정 동기화 방법
KR20200060863A (ko) * 2018-11-23 2020-06-02 주식회사제이엘텍코퍼레이션 임베디드 시스템의 펌웨어 관리 시스템 및 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120034892A (ko) * 2010-10-04 2012-04-13 엘지전자 주식회사 이동 단말기 및 미디어 파일 송수신 방법
WO2019059444A1 (ko) * 2017-09-19 2019-03-28 주식회사 포인트모바일 모바일 디바이스 및 그 모바일 디바이스에서 설정 동기화 방법
CN108255507A (zh) * 2018-01-17 2018-07-06 北京奇艺世纪科技有限公司 一种服务器的更新方法及系统
CN108255507B (zh) * 2018-01-17 2021-03-26 北京奇艺世纪科技有限公司 一种服务器的更新方法及系统
KR20200060863A (ko) * 2018-11-23 2020-06-02 주식회사제이엘텍코퍼레이션 임베디드 시스템의 펌웨어 관리 시스템 및 방법

Similar Documents

Publication Publication Date Title
US9591428B2 (en) Method, software and apparatus for performing actions on a wireless device using action lists and versioning
JP5662405B2 (ja) ユーザ装置をプロビジョニングするシステム及び方法
US7788352B2 (en) System and method for servicing a user device
US8112549B2 (en) Alert mechanism for notifying multiple user devices sharing a connected-data-set
KR100663415B1 (ko) 무선장치상에 상주하는 데이터세트 버전을 업데이트하기위한 시스템 및 방법
JP4684656B2 (ja) 移動機、コンテンツ配信システム、及びコンテンツ配信方法
US20070016632A1 (en) System and method for synchronizing between a user device and a server in a communication network
CN105162841A (zh) 家用电器的控制方法和控制系统
US8001095B2 (en) Method of updating a version of an application program
CA2496675A1 (en) Server processing for updating dataset versions resident on a wireless device
EP1775913B1 (en) Method for controlling multimedia middleware apparatus using metadata
JP2009544095A (ja) Ota可能な携帯端末のプログラム更新システム及び方法
US20100077024A1 (en) Method for transmitting data transmitted incompletely between server and client
US8365158B2 (en) Update of software in a portable radio communication equipment
US7784048B2 (en) Mobile communication terminal and application control method
KR100663497B1 (ko) 휴대단말기에 서비스정보 알림방법
JP2002278767A (ja) ネットワーク通信システム、サーバ装置、携帯端末、通信方法及びプログラム
JPWO2015068518A1 (ja) 通信装置、通信システム、通信方法および通信プログラム
KR20070063654A (ko) SyncML을 이용하여 펌웨어를 업데이트하기 위한휴대단말장치 및 방법.
US7584300B2 (en) Information processing system, mobile phone and information processing server
CN100356324C (zh) 信息处理装置、安装方法和信息处理系统
JP2004178353A (ja) 情報端末,コンテンツ取得プログラム
CN113064611A (zh) 针对无线设备实现数据分析软件升级的方法及其更新方法
JP2006185309A (ja) 電子機器およびファームウェアの更新方法
JP7346955B2 (ja) アプリケーションプログラム及びソフトウェアエージェント

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid