KR20050010924A - 네트워크 유닛으로부터 이동 디바이스로의 프로그래밍업데이트를 위한 방법 및 장치 - Google Patents

네트워크 유닛으로부터 이동 디바이스로의 프로그래밍업데이트를 위한 방법 및 장치 Download PDF

Info

Publication number
KR20050010924A
KR20050010924A KR10-2004-7020382A KR20047020382A KR20050010924A KR 20050010924 A KR20050010924 A KR 20050010924A KR 20047020382 A KR20047020382 A KR 20047020382A KR 20050010924 A KR20050010924 A KR 20050010924A
Authority
KR
South Korea
Prior art keywords
mobile device
update data
memory unit
external memory
programming
Prior art date
Application number
KR10-2004-7020382A
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 노키아 코포레이션
Publication of KR20050010924A publication Critical patent/KR20050010924A/ko

Links

Classifications

    • 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
    • H04W8/245Transfer of terminal data from a network towards a terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 이동 디바이스를 위해 접속가능하게 되고, 이동 디바이스 내에 프로그램될 이동 디바이스의 펌웨어를 네트워크 유닛으로부터 전송하는 방법과 관련된다. 본 발명에 따르면, 네트워크에 속하는 이동 디바이스의 펌웨어는 먼저 업데이트 데이터가 네트워크(107)의 유닛으로부터 전송되도록 업데이트되며, 업데이트 데이터는 이동 디바이스의 외부 메모리 유닛(106) 내에 저장될 이동 디바이스(101)에 의해 유닛내에 저장된다. 저장된 업데이트 데이터는 제공된 프로그래밍 로직에 따라 이동 디바이스의 영구 메모리 유닛(102)내에서 프로그램된다.

Description

네트워크 유닛으로부터 이동 디바이스로의 프로그래밍 업데이트를 위한 방법 및 장치 {Method and apparatus for programming updates from a network unit to a mobile device}
이동 디바이스는 통상적으로 디바이스 개시시 항상 실행되는 특정 펌웨어를 포함한다. 펌웨어는 이를테면, API(application program interface)용 인터페이스 및 GUI(graphical user interface)용 인터페이스를 말한다. 펌웨어는 이동 디바이스의 기능적 사용 환경 및 그것의 특징을 책임진다. 일반적으로, 펌웨어는 공장에서 이미 이동 디바이스내에 프로그램된다. 그리고 나서, 서비스 센터에서 유지되거나 업데이트될 수 있다. 그러나, 예를 들면, 특정 작업시 또는 일반적으로 전화 특징이 개발되거나, 구식이 되거나, 증가되거나 할 때, 또는 에러가 발생할 때, 이동 디바이스의 동작을 최적화하기 위하여 때때로 이동 디바이스의 펌웨어를 업데이트할 필요가 있다.
특허 공보 EP 1087294는 네트워크에 위치한 통신 디바이스의 플래시 메모리내에 기록된 펌웨어를 원격 제어에 의해 업데이트 하기 위한 방법 및 장치를 소개한다. 이러한 솔루션에서, 통신 디바이스의 플래시 메모리는 적어도 2개의 부분으로 분할되는데, 그 이유는 플래시 메모리 내에 기록된 플래시 메모리가 동시에 동작하고 업데이트될 수 없기 때문이다. 상기 특허 공보에서는 동작 주기로부터 저장된 데이터가 있는 통신 디바이스의 RAM 메모리도 사용된다. 펌웨어의 업데이트 버전은 통신 디바이스로 전송되며, 조금씩 섹션내의 플래시 메모리 내에 저장된다.
특허 공보 WO0017749는 주변 디바이스에서 업데이트하는 자동 펌웨어를 개시한다. 새로운 펌웨어 버전은 PC로부터 USB(universal serial bus)를 통하여 주변 디바이스로 전송된다. 새로운 버전은 현재, 액티브 펌웨어로부터 분리된 플래시 메모리 내에 기록된다. 설치 이전에, 새로운 버전은 무결성(integrity) 체크를 하게 된다. 전체 펌웨어의 업데이트는 거의 자동적으로 수행되며, 때때로 전부는 아니지만 최소량의 상호동작이 사용자에게 요구된다.
특허 공보 US6275694에서도, 이동 디바이스의 프로그램은 원격 제어에 의해 업데이트된다. 상기 공보에서, 업데이트는 데이터 네트워크에 연결된 원격 제어 단말기에 의해서 수행된다. 소정의 휴대용 디바이스를 업데이트하기 위하여, 제어 단말기는 특정 준비 신호를 전송함으로써 접속을 설정한다. 휴대용 디바이스는 이러한 신호를 수신하고, 그것의 유효성을 점검하며, 그리고 신호가 유효한 경우에, 펌웨어 코드의 업데이트 버전을 수신할 준비가 되어 있다는 것을 나타내는 검증 신호를 제어 단말기로 전송한다. 제어 단말기가 상기 검증 신호를 수신하면, 펌웨어 코드의 업데이트 버전을 이동 디바이스의 플래시 메모리 안으로 다운로드를 진행시킨다.
공지된 모든 장치에서, 디바이스의 펌웨어를 업데이트할 때, 비휘발성 플래시 메모리는 바이트 보다 더 큰 크기의 메모리 유닛 블록들 내에서 업데이트될 수 있으며, 그리고 나서 블록들은 제거되고 서로 상관없이 재프로그램될 수 있다는 사실이 활용된다. 그러므로, 동작시 중단(interruption)이 발생할 경우에, 소정 블록의 데이터는 재업데이트될 수 있어서, 메모리 내에 저장된 모든 데이터가 손실되고, 펌웨어의 공유가 되지 않는다. 무선으로 한 블럭내에 많은 데이터를 전송하는 것은 위험하고, 디바이스의 메모리 용량은 구버전과 새로운 버전을 동시에 저장하기에 충분치 않기 때문에, 전체 플래시 메모리를 프로그램하는 것이 불가능하다.
통상적인 종래 기술에서, 업데이트 버전과 프로그래밍 로직을 포함하며, 그에 의해 업데이트 처리가 수행되는 외부 프로그래밍 디바이스, 이를테면 PC가 있다. 이러한 솔루션은 외부 프로그래밍 디바이스가 프로그래밍 단계를 수행하는 것을 요구하며, 그 후, 업데이트 버전이 업데이트될 디바이스로 전송된다. 또한, 원격 다운로딩은 업데이트될 디바이스가 활용할 수 있는 충분한 메모리를 갖는 것이 필요하다. 통상적으로, 이동 디바이스 및 많은 다른 휴대용 디바이스의 특징은 소형, 제한된 처리 및 메모리 용량, 저전력 소비 및 저가격이다. 또한, 이러한 디바이스는 통상적으로 특정 종류의 기능을 수행하는데 전문화된다. 더 큰, 정적인 지능형 디바이스와 비교할 때, 이러한 디바이스의 통상적인 특징은 펌웨어 업데이트를 위하여 특정한 제한을 야기한다.
본 발명은 이동 디바이스에 의해 액세스될 수 있는 네트워크 유닛으로부터 이동 디바이스의 펌웨어의 전송 및 이동 디바이스 내의 상기 펌웨어의 프로그래밍과 관련된다.
도 1은 이동 디바이스의 펌웨어를 업데이트를 위한 본 발명의 바람직한 실시예에 따른 장치를 도시하는 블록도이다.
도 2는 디바이스의 펌웨어를 업데이트를 위한 본 발명의 바람직한 실시예에 따른 방법을 도시하는 흐름도이다.
도 3은 디바이스의 펌웨어를 업데이트를 위한 본 발명의 바람직한 다른 실시예에 따른 방법을 도시하는 흐름도이다.
도 4는 디바이스의 펌웨어를 업데이트를 위한 본 발명의 바람직한 제 3 실시예에 따른 방법을 도시하는 흐름도이다.
본 발명의 목적은 펌웨어 업데이트를 위한 동작시 용이하고, 경제적이며 안전한 방법 및 장치를 실현시키는 것이다. 이러한 목적은 네트워크 유닛으로부터 이동 디바이스의 외부 메모리 유닛으로 업데이트 데이터를 전송함으로써 획득되며, 이동 디바이스는 펌웨어를 프로그램하고 업데이트한다.
본 발명은 독립항의 특징부에서 상술되는 것을 특징으로 한다. 본 발명의 바람직한 실시예는 종속항에서 상술된다.
본 발명의 바람직한 실시예에 따르면, 이동 디바이스의 펌웨어를 업데이트하기 위하여, 업데이트 데이터는 네트워크, 이를테면, 네트워크 서버, 데이터베이스 또는 조작자로부터 다운로드된다. 업데이트 데이터는 이동 디바이스의 외부 메모리 유닛 내에 저장되며, 이러한 이동 디바이스의 외부 메모리는 이동 디바이스에 연결될 수 있으며, 자신의 메모리 용량을 갖는 임의의 유닛, 이를테면, 메모리를 갖거나 메모리가 제공되는 데스크탑 충전기(charger)와 같은 멀티미디어카드(MMC)나 주변 디바이스일 수 있다. 본 발명의 바람직한 실시예에 따르면, 이동 디바이스의 외부 메모리 유닛내에 저장된 업데이트 데이터는 이동 디바이스 내에 제공된 프로그래밍 드라이버에 의해서 펌웨어 유닛 내에 프로그램된다.
본 발명의 제 1 실시예에 따르면, 이동 디바이스는 펌웨어의 업데이트가 선택될 수 있는 영구(permanent) 메뉴를 포함한다. 이러한 선택은 미리 결정된 특정의 로딩 및 수행될 프로그래밍 단계를 자동적으로 활성화시킨다. 통상적으로, 이동 디바이스는 업데이트 데이터가 이동 디바이스로 다운로드되는 미리 결정된 네트워크 서버를 자동적으로 콘택한다. 업데이트 데이터는 이동 디바이스의 외부 메모리유닛 내에 저장된다. 그 후, 이동 디바이스의 펌웨어는 외부 메모리 유닛내에 저장된 업데이트 데이터에 따라 업데이트될 수 있다.
본 발명의 다른 실시예에 따르면, 이동 디바이스의 펌웨어의 업데이트는 완전히 또는 거의 자동적으로 수행된다. 업데이트는 소정의 네트워크나 그룹에 속하는 이동 디바이스를 위해, 또는 소정 기능에 대한 응답으로서, 소정의 시간에 수행되도록 활성화될 수 있다.
본 발명의 제 3실시예에 따르면, 이동 디바이스가 네트워크 서버상에 위치한 업데이트 데이터와 상이한 업데이트 버전을 브라우저하도록 펌웨어의 업데이트가 수행된다. 브라우저에는, 네트워크 서버상에 위치한 메뉴가 있으며, 메뉴에는 이동 디바이스의 펌웨어의 업데이트가 선택될 수 있다. 원격 다운로딩은 이를테면, 공지된 WAP(Wireless Application Protocol)에 따라 업데이트 데이터를 전송함으로써 수행될 수 있다. 업데이트 데이터는 이동 디바이스의 외부 메모리 유닛 내에 저장되면, 펌웨어의 실제 업데이트는 이를테면, 이동 디바이스가 파워 스위칭 오프한 후에 다음 스위치 온될 때 수행된다.
이하에서, 본 발명은 도면을 참조하여 더욱 상세히 설명된다.
도 1은 본 발명의 바람직한 실시예에 따라 펌웨어를 업데이트하기 위해 필요한 구성성분과 이동 디바이스(101)를 도시한다. 이동 디바이스(101)는 이동 디바이스의 모든 기능을 제어하는 제어 유닛(104)을 포함한다. 제어 유닛(104)은 구성 성분들간의 데이터를 전송하고, 이동 디바이스 유닛의 동작을 제어한다. 다른 기능 중에서, 제어 유닛(104)은 무선으로 전송될 수 있는 데이터를 통하여, 사용될 수 있는 프로토콜을 확인한다.
본 바람직한 실시예에서, 이동 디바이스(101)의 메모리 유닛은 영구 ROM(read-only memory)(102)와 임시 RAM(random access memory)(103)로 구성된다. 영구 ROM(102)은 통상적으로 비휘발성 플래시 메모리를 포함하며, 디바이스의 개시 블록으로부터의 데이터가 저장된다. 통상적으로, 플래시 메모리에는 네트워크(107)로부터 외부 메모리 유닛(106)으로 다운로드될 수 있는 선택된 업데이트 펌웨어에 의해서 애플리케이션이 저장된다. 또한, 영구 ROM(102)은 애플리케이션이나 프로그래밍 드라이버를 포함하며, 플래시 메모리의 업데이트는 외부 메모리 유닛 내에 저장된 업데이트 데이터의 기초하여 수행된다. 본 발명의 바람직한 실시예에 따르면, ROM(102)에는 업데이트 버전을 구동하기 위한 펌웨어 알고리즘이나 프로그래밍 드라이버가 저장된다. 통상적으로, 펌웨어 알고리즘이나 프로그래밍 드라이버는 적어도 업데이트 데이터의 프로그래밍의 지속동안에 RAM(103)에 저장된다. 본 발명의 다른 바람직한 실시예에 따르면, 펌웨어 알고리즘이나 프로그래밍 드라이버는 외부 메모리 유닛에 업데이트 데이터와 함께 저장되며, 업데이트 데이터 프로그래밍 이전에 RAM(103)으로 다운로드된다.
이동 디바이스는 접속 인터페이스(105)를 포함하며, 이를 통하여 이동 디바이스는 외부 구성성분과 유닛과 접속될 수 있다. 접속 인터페이스(105)는 이동 디바이스(101)의 로직 및 기능 블록이며, 하드웨어나 소프트웨어 성분으로 구현될 수 있다. 바람직한 실시예에 따라, 접속 인터페이스(105)를 통하여, 이동 디바이스는 네트워크(107) 이를테면, 네트워크 서버와 접속될 수 있다. 외부 서비스, 기능 및 유닛과의 접속은 이를테면, WAP에 따라 설정될 수 있다.
또한, 접속 인터페이스(105)는 통신 버스를 포함하며, 이를 통하여, 본 발명의 바람직한 실시예에 따른 외부 메모리 유닛(106)은 이동 디바이스(101)에 접속된다. 상기 통신 버스 및 통신 버스에 의해 사용된 전송 프로토콜의 형태 및 동작은 사용되는 외부 메모리 유닛(106)이 무슨 형태인지에 따라 다양할 수 있다, 메모리 버스는 이를테면 이동 디바이스(101)의 외부 메모리 유닛(106)으로서 메모리 카드를 접속하기 위한 디지털 시리얼 통신 버스일 수 있다. 통상적으로, 외부 메모리 유닛(106)은 이동 디바이스(101)에 단단히 접속된다. 외부 메모리 유닛(106)은 메모리를 갖거나 메모리가 제공될 수 있는 임의의 디바이스일 수 있다. 외부 메모리 유닛은 예를 들면, I/O 집적 회로 보드, 메모리 카드, 멀티미디어 카드, 데스크탑충전기, 전화 케이싱, 카 액세서리, 백업 디스크, 게임 카드나 디바이스에 접속될 상응하는 메모리 포함 유닛과 같은 소위 I/O 디바이스(입력/출력)일 수 있다. 메모리 카드는 디지털 카메라 제조업체들에 의해서 개발되었으며, 예를 들면, 소니 스탠다드 메모리 스틱, 파나소닉 시큐어 디지털(SD) 메모리 카드나 올림푸스 스마트미디어 카드가 있다. 본 발명의 바람직한 실시예에 따르면, 논리적으로 외부 메모리 유닛(106)은 단지 외부 메모리 유닛이며, 임의의 기능부를 포함할 필요가 없다.
네트워크(107)는 이동 디바이스(101)가 접속되며, 접속 인터페이스(105)를 통하여 콘택될 수 있는 임의의 가능성 있는 통신 네트워크이다. 네트워크(107)로부터 다운로드될 업데이트 데이터는 네트워크(107)의 서버상에, 데이터베이스 내에, 조작자의 디바이스 내에 또는 네트워크의 상응하는 저장위치일 수 있다. 이동 디바이스(101) 또는 일반적으로 무선 디바이스는 예를 들면, 공지된 WAP에 의해서, 통상적인 인터넷 서비스로의 액세스 및 다른 디바이스 및 WAP을 사용하는 네트워크의 유닛으로의 액세스를 획득할 수 있다. 이동 디바이스(101)로부터 업데이트 데이터의 저장 위치로 설정된 접속은 회선 또는 패킷-회선, 메시지 기반 또는 다른 형태의 통신 형태일 수 있다. 통상적으로, 업데이트 데이터는 2진수 형태이며, 임의의 공지된 전송 기술에 의해서 전송될 수 있다.
도 2는 이동 디바이스의 펌웨어를 업데이트하기 위한 본 발명의 바람직한 실시예에 따른 방법을 도시한다. 본 발명의 바람직한 실시예에 따름 이러한 방법은 펌웨어를 업데이트하기 위한 자신의 영구적인 메뉴가 제공된다. 그러므로, 사용자는 그가 원할 때, 그의 이동 디바이스 내에 새로운 특징이나 기능을 업데이트한다.사용자는 통상적으로 상업적 업데이트 버전을 통하여 새로운 추가적인 특징이나 기능의 제안을 얻는다. 단계 201에서, 업데이트 기능이 이동 디바이스의 메뉴 내에서 선택된다. 단계 220에서, 네트워크 서버와 접속이 설정된다. 사용자는 그의 이동 디바이스의 메뉴내의 업데이트 기능을 선택한 후에, 어떠한 동작이나 응답조차도 행할 필요가 없다. 유리하게도, 영구적인 업데이트 기능에는 미리 정해진 특정 경로, 주소나 네트워크 위치가 있어서, 접속이 행해진다. 그러므로, 업데이트 데이터는 항상 이를테면, 이동 디바이스 제조업자, 유지 사이트나 조작자에 의해서 유지되는 서버로부터 인증된 곳(party)에서 다운로드된다.
단계 202에서 미리 결정된 네트워크 위치로의 접속이 설정되면, 단계 203에서 업데이트 데이터는 저장될 이동 디바이스를 통하여 네트워크로부터 다운로드되어 외부 메모리 유닛 내에 저장된다. 이동 디바이스는 외부 메모리 유닛에 업데이트 데이터를 저장하기 전에, 외부 메모리 유닛에 필요한 형태로 업데이트 데이터를 변환시킨다. 외부 메모리 유닛은 메모리를 포함하거나 메모리가 제공될 수 있는 이동 디바이스에 접속될 유닛이다. 이동 디바이스의 메모리 용량이 제한되기 때문에, 외부 메모리 유닛은 업데이트 데이터를 저장하기 위해 사용된다. 그러므로, 이동 디바이스는 통상적으로 한 번만 프로그램된 업데이트 데이터와 함께 로드되지 않는다. 이동 디바이스는 네트워크로부터 외부 메모리 유닛으로 다운로드된 업데이트 데이터를 저장할 수 있어야 하며, 외부 메모리 유닛으로부터 상기 업데이트 데이터를 판독할 수 있어야 한다. 통상적으로, 외부 메모리 유닛만 2진 데이터의 저장부로서 역할하며, 임의의 종류의 처리 또는 변경시키는 용량이 요구되지 않는다. 자연스럽게, 정보 전송을 위한 이동 디바이스와 외부 메모리 유닛 간의 버스가 있어야 한다. 통상적으로, 이동 디바이스의 제어 유닛은 이동 디바이스의 다른 구성성분과 유사한 방식으로 이동 디바이스에 접속된 외부 메모리 유닛을 제어한다.
도 2에 도시된 실시예에서, 업데이트 데이터가 외부 메모리 유닛 내에 저장된 후에, 단계 204에서 이동 디바이스는 자동적으로 재시작된다. 이동 디바이스의 RAM 내에 위치한 프로그래밍 드라이버는 이동 디바이스 ROM을 프로그램하여, ROM을 비우게하고, 새로운 버전이 외부 메모리 유닛으로부터 프로그램되게 한다. 비록 데이터의 나머지가 손실되더라도, 이동 디바이스의 펌웨어가 항상 프로그램될 수 있도록, 프로그래밍 드라이버는 이동 디바이스의 영구 ROM 내에 저장될 수 있다.
도 3은 이동 디바이스의 펌웨어를 자동으로 업데이트하기 위한 본 발명의 다른 바람직한 실시예에 따른 방법을 도시한다. 본 실시예에서, 업데이트 기능의 개시는 특정 기능에 의해 트리거될 수 있거나, 업데이트는 소정 간격으로 실행될 수 있거나, 동작은 서버의 개시에서 제어된 방식으로 수행될 수 있다. 이러한 업데이트는 이를테면, 소정 근거리 통신망 내의 모든 이동 디바이스 예를 들면, 소정 전문 그룹의 이동 디바이스를 업데이트 하기 위하여 사용될 수 있다.
단계 301에서, 펌웨어의 자동 업데이트가 시작되어야 하는 지시가 획득된다. 상기 지시는 이를테면, 워크 타임 종료 후에 데스크탑 충전기 내에 이동 디바이스가 세팅되는 것일 수 있다. 바람직한 실시예에 따르면, 근거리 통신망 제공자는 예를 들면, 사용자의 주도에 의해서 서버로부터 근거리 망 내의 모든 또는 특정 디바이스로 업데이트 명령을 전송한다. 단계 302에서, 업데이트될 이동 디바이스와 업데이트 데이터를 포함하는 네트워크 유닛 간의 접속이 설정된다. 이것은 소위 배경 처리로서 수행되며, 사용자가 주의를 기울일 필요는 없다. 단계 303에서, 업데이트 데이터는 네트워크로부터 다운로드되며, 이동 디바이스의 외부 메모리 유닛내에 저장된다. 본 실시예에서, 이 단계 역시 배경 처리, 이를테면 패킷 전송 모드로서 수행된다.
단계 304에서, 업데이트될 디바이스가 활성화인지를 점검한다. 여기서, 활성화는 디바이스가 동작이 준비가 되고, 이를테면, 프로그램될 수 있는지를 의미한다. 단계 304에서, 디바이스가 활성화되지 않은 경우에, 프로그램은 단계 307로 이동하고, 동작이 종료된다. 외부 메모리 유닛으로부터의 펌웨어의 실제 업데이트는 디바이스가 다음번에 시작할 때 실행된다. 예를 들면, 워크 시프트의 종료시 충전기내에 남겨진 이동 디바이스의 외부 메모리 내에, 네트워크 서버로부터 다운로드된 업데이트 데이터가 저장될 수 있다. 이동 디바이스가 스위치 온 될 때, 다운로딩은 통상적으로 내부 ROM으로부터 개시된다. 만약 ROM이 비워지거나 구 버전을 포함한다면, 업데이트 데이터는 외부 메모리 유닛내에서 발견될 수 있다.
단계 304에서, 디바이스가 활성화인 경우에, 단계 305에서, 디바이스는 재시작되며, 본 실시예에서 제 1 프로그래밍 드라이버와 프로그래밍 로직이 외부 메모리 유닛으로부터 이동 디바이스 RAM으로 다운로드된다. 단계 306에서, 프로그래밍 로직에 따라, 업데이트 데이터는 프로그래밍 드라이버에 의해 이동 디바이스 내에 프로그램된다. 단계 307에서, 이동 디바이스의 펌웨어가 업데이트되면, 업데이트 동작이 종료된다.
도 4는 이동 디바이스 브라우저나 다른 상응하는 접속 프로그램에 의해 이동 디바이스의 펌웨어를 업데이트하기 위한 바람직한 제 3 실시예에 따른 방법을 도시한다. 이동 디바이스 공급자는 이를 테면, 제품의 펌웨어 내의 에러를 감지할 수 있으며, 사용자는 서버를 지시할 수 있으며, 비용 없이 디바이스 내에 새로운, 업데이트 버전이 다운로드될 수 있다. 이것은 제조업자, 유지 및 사용자의 견지에서 유연하게 동작할 수 있는 방식이다. 단계 401에서, 이동 디바이스 브라우저를 통하여 네트워크 서버로의 접속이 설정되며, 이러한 네트워크 서버에는 프로그램의 업데이트 버전이 저장된다. 이동 디바이스 브라우저는 이를테면 WAP 브라우저일 수 있으며, 이런 경우, 기능은 상기 브라우저의 특징에 따라 표현되며 실행된다. 접속이 설정되면, 이동 디바이스 스크린은 바람직한 실시예에 따라 업데이트 데이터나 펌웨어를 업데이트하기 위한 버전을 포함하는 서버 메뉴를 보여준다. 단계 402에서, 이동 디바이스 브라우저에 의해 도시된 메뉴에서 요구된 업데이트 대안이나 버전이 선택된다. 상이한 특징이 있는 단말기를 위해 다양한 상이한 업데이트 대안, 다양한 형태의 펌웨어 및 사용자 인터페이스의 다양한 형태가 제공될 수 있다.
단계 403에서, 선택된 업데이트 데이터는 외부 메모리 유닛내에 저장될 이동 디바이스를 통하여 다운로드된다. 단계 404에서, 업데이트 데이터가 외부 메모리 유닛과 외부 메모리 버스에서 요구되는 형태나 형식인지를 점검한다. 만약, 업데이트 데이터가 외부 메모리 유닛과 외부 메모리 버스와 호환가능하다면, 단계 406에서, 업데이트 데이터의 전송을 제어하는 이동 디바이스는 업데이트 데이터를 직접 외부 메모리 버스로 수행하고, 업데이트 데이터는 외부 메모리내에 저장된다.업데이트 데이터가 외부 메모리 유닛 내에 저장되면, 407 단계에서, 사용자에게 이동 디바이스의 업데이트 데이터가 즉시 프로그램되어야만 하는지를 문의한다. 만약, 이동 디바이스가 즉시 업데이트되지 않으면, 처리는 단계 409에서 종료된다. 이제, 업데이트 데이터는 외부 메모리 유닛내에 존재하고, 이동 디바이스가 다음에 시작될 때 업데이트된다.
단계 407에서, 펌웨어가 즉시 업데이트 되도록 선택된다면, 프로그램은 단계 408로 이동하며, 이동 디바이스가 재시작되어, 펌웨어의 업데이트 데이터는 외부 메모리 유닛으로부터 판독되고, 이동 디바이스 내에서 프로그램된다. 프로그래밍 드라이버는 이동 디바이스의 RAM 내에 설치될 수 있다. 바람직한 실시예에 따르면, 프로그래밍 드라이버는 ROM으로부터 RAM으로 전송되며, 영구적으로 위치하게 된다. 다른 바람직한 실시예에 따르면, 프로그래밍 드라이버는 업데이트 데이터 프로그래밍 이전에 외부 메모리 유닛으로부터 이동 디바이스로 다운로드된다. 펌웨어가 업데이트되면, 동작은 단계 409에서 종료된다.
이동 디바이스 펌웨어가 본 발명의 바람직한 실시예에 따라 업데이트되면, 네트워크로부터 다운로드된 소정의 업데이트 버전은 요청하는 이동 디바이스와 관련되어, 업데이트 버전은 이러한 특정한 이동 디바이스에서만 프로그램될 수 있다. 상술된 특정 이동 디바이스로의 업데이트 데이터의 전송은 안전하며, 그 이유는 업데이트 데이터를 유지하는 파티(party)는 특정 데이터 및 명령을 수신하는 디바이스를 제어할 수 있기 때문이다. 기능이 테스트되고 요구되도록, 이를테면, 계획적인 에러나 바이러스의 확산을 허용하지 못하도록 펌웨어가 공식 파티에 의해서 승인되는 것이 중요하다. 바람직한 다른 실시예에 따르면, 외부 메모리 유닛내에 저장된 업데이트 버전은 특정 그룹의 이동 디바이스, 근거리 통신망에서 프로그램될 수 있으며, 이 경우 모두가 개별적으로 업데이트 처리를 수행할 필요가 없다. 바람직한 실시예에 따르면, 외부 메모리 카드로 전송된 업데이트 데이터는 복수의 이동 디바이스에서도 자유롭게 프로그램될 수 있다. 외부 메모리 유닛내에 저장된 업데이트 데이터는 각각의 프로그래밍 처리와 관련하여 하나에 의해서 공제된 카운터 값을 포함할 수 있다. 그러므로, 카운터 값은 네트워크로부터 다운로드된 업데이트 데이터가 몇 번 프로그램될 수 있는지를 정의한다. 업데이트 데이터의 카운터 값이 하나보다 적으면, 상기 업데이트 데이터는 외부 메모리 유닛으로부터 제거될 수 있다.
이상의 상세한 설명 및 이하의 도면은 본 발명에 따른 장치 및 방법을 도시하기 위한 것이며, 본 발명은 상술된 바람직한 실시예만으로 제한되지 않는다. 본 발명을 적용하고 실현하기 위한 다양한 대안적인 방법이 있다는 것은 당업자에게 명백하며, 이러한 대안적인 방법은 독립항에서 정의된 본 발명의 범주 내에 존재한다.

Claims (13)

  1. 네트워크에 속하는 이동 디바이스의 펌웨어를 업데이트하기 위한 방법에 있어서,
    이동 디바이스(403)에 의해서 네트워크 유닛으로부터 이동 디바이스에 접속된 로직, 외부 메모리 유닛으로 업데이트 데이터를 전송하는 단계;
    상기 이동 디바이스의 외부 메모리 유닛(203, 303, 406)내에 상기 업데이트 데이터를 저장하는 단계 및
    상기 이동 디바이스 내에 제공된 프로그래밍 로직에 따라, 상기 이동 디바이스의 영구 메모리 유닛(204, 306, 408) 내에 저장된 업데이트 데이터를 프로그래밍하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서, 전송을 개시하는 특정 기능에 대한 응답으로서 네트워크 유닛으로부터 이동 디바이스로의 업데이트 데이터 전송 방법을 포함하며, 상기 기능은 사용자에 의한 네트워크 유닛 메뉴(402)로부터의 선택, 사용자에 이한 이동 디바이스 메뉴(201)로부터의 선택, 네트워크 유닛에 새로운 업데이트 데이터의 출현 또는 이동 디바이스의 펌웨어의 아웃데이팅(outdating)(301)중 하나인 것을 특징으로 하는 방법.
  3. 제 1항에 있어서, 상기 로직, 외부 메모리 유닛은 외부 메모리 버스(105)에의해 이동 디바이스에 접속되는 것을 특징으로 하는 방법.
  4. 제 1항에 있어서, 상기 업데이트 데이터는 상기 메모리 유닛과 그에 접속될 메모리 버스(405)에 호환 가능하도록 변환되며, 그 후 변환된 업데이트 데이터는 상기 메모리 버스(406)를 따라 외부 메모리 유닛에 전송되는 이동 디바이스(403)에 의한 업데이트 데이터 전송 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제 1항에 있어서, 상기 업데이트 데이터가 메모리 버스(203)를 따라 이동 디바이스의 외부 메모리 버스로 직접 전송되는 이동 디바이스에 의한 업데이트 데이터 전송 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제 1항에 있어서, 상기 이동 디바이스가 다음 번(304, 307, 407, 409)에 스위치 온 될 때, 이동 디바이스내의 외부 메모리 내에 저장된 업데이트 데이터를 프로그래밍하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제 1항에 있어서, 상기 업데이트 데이터(305)를 프로그래밍하기 전에, 상기 업데이트 데이터를 프로그래밍하기 위한 프로그래밍 로직을 외부 메모리 유닛으로부터 이동 디바이스의 영구 메모리 유닛으로 복사하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 제 1항에 있어서, 상기 업데이트 데이터를 프로그래밍하기 전에, 상기 업데이트 데이트를 프로그래밍하기 위한 프로그래밍 로직을 이동 디바이스의 영구 메모리로부터 이동 디바이스의 RAM 메모리로 저장하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 네트워크에 속하는 이동 디바이스의 펌웨어를 업데이트하기 위한 장치에 있어서,
    상기 업데이트 데이터를 저장하기 위한 외부 메모리 유닛(106);
    네트워크로(107)부터 상기 이동 디바이스의 외부 메모리 유닛(106)으로 상기 업데이트 데이터를 전송하기 위한 수단;
    상기 이동 디바이스의 상기 외부 메모리 유닛(106)으로 상기 업데이트 데이터를 저장하기 위한 수단 및
    상기 이동 디바이스내에 제공된 프로그래밍 드라이버에 의해 상기 저장된 업데이트 데이터를 상기 영구 메모리 유닛(102)으로 프로그래밍하기 위한 수단을 포함하는 것을 특징으로 하는 장치.
  10. 제 9항에 있어서, 상기 이동 디바이스는 로직, 외부 메모리 유닛(106)을 상기 이동 디바이스(101)에 접속시키기 위한 외부 버스(105)를 포함하는 것을 특징으로 하는 장치.
  11. 제 9항에 있어서, 상기 이동 디바이스는 상기 외부 메모리 유닛에 필요한 형태(104, 105)로 상기 업데이트 데이터를 변환시키기 위한 수단을 포함하는 것을 특징으로 하는 장치.
  12. 제 9항에 있어서, 상기 이동 디바이스는 상기 업데이트 데이터를 프로그래밍하기 이전에, 상기 프로그래밍 드라이버를 상기 외부 메모리 유닛(106)으로부터 영구 메모리 유닛(102)으로 복사하기 위한 수단을 포함하는 것을 특징으로 하는 장치.
  13. 제 9항에 있어서, 상기 수단들은 프로그래밍가능한 수단인 것을 특징으로 하는 장치.
KR10-2004-7020382A 2002-06-18 2003-06-11 네트워크 유닛으로부터 이동 디바이스로의 프로그래밍업데이트를 위한 방법 및 장치 KR20050010924A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FI20021175 2002-06-18
FI20021175A FI114602B (fi) 2002-06-18 2002-06-18 Menetelmä ja laitteisto verkon yksiköllä olevien päivitystietojen ohjelmoimiseksi matkaviestimeen
PCT/FI2003/000462 WO2003107700A1 (en) 2002-06-18 2003-06-11 Method and apparatus for programming updates from a network unit to a mobile device

Publications (1)

Publication Number Publication Date
KR20050010924A true KR20050010924A (ko) 2005-01-28

Family

ID=8564173

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7020382A KR20050010924A (ko) 2002-06-18 2003-06-11 네트워크 유닛으로부터 이동 디바이스로의 프로그래밍업데이트를 위한 방법 및 장치

Country Status (7)

Country Link
US (1) US20050246703A1 (ko)
EP (1) EP1514440A1 (ko)
KR (1) KR20050010924A (ko)
CN (1) CN100496155C (ko)
AU (1) AU2003240900A1 (ko)
FI (1) FI114602B (ko)
WO (1) WO2003107700A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100716883B1 (ko) * 2005-06-08 2007-05-09 주식회사 현대오토넷 차량용 퍼스널컴퓨터의 파일 업그레이드 방법

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7409685B2 (en) 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US7668612B1 (en) * 2003-09-18 2010-02-23 Hewlett-Packard Development Company, L.P. System and method for efficient manufacture and update of electronic devices
US20080052704A1 (en) * 2006-06-02 2008-02-28 Apple Computer, Inc. Media management system for management of games acquired from a media server
EP1564972A1 (en) * 2004-02-12 2005-08-17 Sony Ericsson Mobile Communications AB Mobile terminal with accessory file download possibility
US7904895B1 (en) * 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
TWI251419B (en) * 2004-05-13 2006-03-11 Asia Optical Co Inc Handheld device and method for firmware upgrade
TWI279718B (en) * 2004-07-01 2007-04-21 Winity Technology Inc Architecture and method of a cellular phone embedded system
DE602004020214D1 (de) 2004-08-05 2009-05-07 Sony Ericsson Mobile Comm Ab Softwareaktualisierung in einem tragbaren Funkkommunikationsgerät
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US7698698B2 (en) * 2004-09-30 2010-04-13 Smith Micro Software, Inc. Method for over-the-air firmware update of NAND flash memory based mobile devices
US8347285B2 (en) * 2004-12-16 2013-01-01 Intel Corporation Embedded agent for self-healing software
JP2006268172A (ja) * 2005-03-22 2006-10-05 Nec Corp サーバシステムおよびオンラインソフトウェア更新方法
US20060252462A1 (en) * 2005-05-05 2006-11-09 Govind Balakrishnan Accessing dedicated functions in personal devices
TWI291654B (en) * 2005-05-13 2007-12-21 Etrovision Technology Independent update device and method for embedded system
JP2007047993A (ja) * 2005-08-09 2007-02-22 Rohm Co Ltd 制御回路、それを用いた電子機器およびファームウェアの更新方法
US20070050678A1 (en) * 2005-08-25 2007-03-01 Motorola, Inc. Apparatus for self-diagnosis and treatment of critical software flaws
JP4984503B2 (ja) * 2005-11-28 2012-07-25 富士通株式会社 携帯端末装置およびソフトウェアインストール方法
KR101259908B1 (ko) * 2005-11-30 2013-05-02 텔레콤 이탈리아 소시에떼 퍼 아찌오니 이동 통신 단말기에서의 애플리케이션 업데이트 방법 및시스템
FR2894420A1 (fr) * 2005-12-05 2007-06-08 Inventel Sa Combine telephonique, base et methode associee pour mettre a jour le logiciel du combine
US7676803B2 (en) * 2005-12-06 2010-03-09 Dell Products L.P. Method of defining packaging applicability
US20070157194A1 (en) * 2005-12-31 2007-07-05 Govind Balakrishnan Post-deployment user interface update in a mobile device
US20070155425A1 (en) * 2005-12-31 2007-07-05 Govind Balakrishnan Enabling rapid and de-coupled ui development for a cellular telephone
US20070156841A1 (en) * 2005-12-31 2007-07-05 Govind Balakrishnan Platform independent user interface for a mobile device
US7660558B2 (en) * 2005-12-31 2010-02-09 Adobe Systems Incorporated Interrupting and resuming a media player
US20070155426A1 (en) * 2005-12-31 2007-07-05 Govind Balakrishnan Application access to cellular telephone settings
US7603113B2 (en) * 2005-12-31 2009-10-13 Adobe Systems Incorporated Using local codecs
US7542759B2 (en) * 2006-04-18 2009-06-02 Edwards Bryan T Method and apparatus for broadcasting software update information to mobile phones over a wireless communications network
US10188348B2 (en) * 2006-06-05 2019-01-29 Masimo Corporation Parameter upgrade system
WO2007146710A2 (en) 2006-06-08 2007-12-21 Hewlett-Packard Development Company, L.P. Device management in a network
EP2047420A4 (en) 2006-07-27 2009-11-18 Hewlett Packard Development Co USER EXPERIENCE AND DEPENDENCE MANAGEMENT IN A MOBILE DEVICE
KR100782080B1 (ko) * 2006-09-07 2007-12-04 삼성전자주식회사 이동 통신 단말기 및 시스템의 펌웨어 갱신 방법
EP2069925A4 (en) * 2006-09-29 2011-06-29 Nokia Corp METHOD AND DEVICE FOR UPDATING FIRMWARE AS A BACKGROUND TASK
US7880626B2 (en) 2006-10-12 2011-02-01 Masimo Corporation System and method for monitoring the life of a physiological sensor
US20130167024A1 (en) 2006-12-05 2013-06-27 Adobe Systems Incorporated Embedded document within an application
TW200828099A (en) * 2006-12-19 2008-07-01 Realtek Semiconductor Corp Flash memory device and renewing method, and program search method
US7743339B1 (en) 2007-02-01 2010-06-22 Adobe Systems Incorporated Rendering text in a brew device
US8589779B2 (en) * 2007-03-08 2013-11-19 Adobe Systems Incorporated Event-sensitive content for mobile devices
US8701102B2 (en) 2007-06-27 2014-04-15 Microsoft Corporation Techniques for automatic software provisioning
US7857222B2 (en) 2007-08-16 2010-12-28 Hand Held Products, Inc. Data collection system having EIR terminal interface node
US20090075641A1 (en) * 2007-09-18 2009-03-19 Metropcs Wireless, Inc. Automated over-the-air firmware update for a wireless phone
US8078861B1 (en) * 2008-02-13 2011-12-13 Omnimgtrix, LLC Remote processor reprogramming
US20090228868A1 (en) * 2008-03-04 2009-09-10 Max Drukman Batch configuration of multiple target devices
US8571619B2 (en) 2009-05-20 2013-10-29 Masimo Corporation Hemoglobin display and patient treatment
US9497092B2 (en) 2009-12-08 2016-11-15 Hand Held Products, Inc. Remote device management interface
US8990771B2 (en) * 2011-08-19 2015-03-24 Red Hat, Inc. Building and distributing software packages
US8539123B2 (en) 2011-10-06 2013-09-17 Honeywell International, Inc. Device management using a dedicated management interface
US8621123B2 (en) 2011-10-06 2013-12-31 Honeywell International Inc. Device management using virtual interfaces
JP5742781B2 (ja) * 2012-05-17 2015-07-01 株式会社デンソー 車両用装置、携帯通信端末
CN103826080B (zh) * 2012-11-16 2018-02-16 杭州海康威视数字技术股份有限公司 对硬盘录像机进行批量升级的方法及系统
US9843624B1 (en) 2013-06-13 2017-12-12 Pouya Taaghol Distributed software defined networking
US11663338B2 (en) * 2019-05-14 2023-05-30 University Of Florida Research Foundation, Incorporated Automated security analysis of baseband firmware
US11038966B1 (en) * 2020-04-28 2021-06-15 Arm Ip Limited Remote device operation

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2269032B (en) * 1992-07-21 1996-03-20 Orbitel Mobile Communications Reprogramming methods and apparatus
US5590373A (en) * 1994-07-25 1996-12-31 International Business Machines Corporation Field programming apparatus and method for updating programs in a personal communications device
US6044265A (en) * 1995-06-05 2000-03-28 Bellsouth Corporation Methods and apparatus for cellular set programming
US5689825A (en) * 1995-07-28 1997-11-18 Motorola, Inc. Method and apparatus for downloading updated software to portable wireless communication units
DE19633919C1 (de) * 1996-08-22 1997-06-05 Siemens Ag Aktualisierung eines Mobilfunkgerätes
US6023620A (en) * 1997-02-26 2000-02-08 Telefonaktiebolaget Lm Ecrisson Method for downloading control software to a cellular telephone
US5974312A (en) * 1997-07-10 1999-10-26 Ericsson Inc. System and method for updating a memory in an electronic device via wireless data transfer
DE10025929B4 (de) * 2000-05-26 2006-02-16 Harman Becker Automotive Systems (Becker Division) Gmbh Verfahren zum Übertragen von Daten
US7890947B2 (en) * 2000-10-13 2011-02-15 Sony Corporation System, method and apparatus for embedded firmware code update
US20020095587A1 (en) * 2001-01-17 2002-07-18 International Business Machines Corporation Smart card with integrated biometric sensor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100716883B1 (ko) * 2005-06-08 2007-05-09 주식회사 현대오토넷 차량용 퍼스널컴퓨터의 파일 업그레이드 방법

Also Published As

Publication number Publication date
FI114602B (fi) 2004-11-15
CN100496155C (zh) 2009-06-03
FI20021175A0 (fi) 2002-06-18
FI20021175A (fi) 2003-12-19
EP1514440A1 (en) 2005-03-16
WO2003107700A1 (en) 2003-12-24
AU2003240900A1 (en) 2003-12-31
CN1663308A (zh) 2005-08-31
US20050246703A1 (en) 2005-11-03

Similar Documents

Publication Publication Date Title
KR20050010924A (ko) 네트워크 유닛으로부터 이동 디바이스로의 프로그래밍업데이트를 위한 방법 및 장치
US6684324B2 (en) Method for installing two or more operating systems/user interfaces into an electronic device and an electronic device
KR100400458B1 (ko) 네트워크 가능한 가전기기의 프로토콜 업그레이드 방법
US20060136899A1 (en) Method for programming/updating software using USB OTG
EP1087294A2 (en) Method and apparatus of remotely updating firmware of a communication device
KR100440950B1 (ko) 네트워크 환경에 있어서 소프트웨어 업그레이드 방법 및그에 따른 네트워크 디바이스
KR100412358B1 (ko) 제어데이터 제공시스템 및 그 방법
US20030140129A1 (en) Installing communication protocol in a handheld device
JPH11265282A (ja) 自動販売機の制御装置
KR20010090304A (ko) 휴대폰 단말기를 위한 다운로드 서비스 시스템 및 이를이용한 어플리케이션 프로그램 서비스 방법
KR20020005127A (ko) 이동통신 단말기의 응용 프로그램 갱신 방법
KR100524588B1 (ko) 무선인터넷에서 다운로드 중단된 데이터를 이어받는 방법
US20090157908A1 (en) Software Driver Device
KR20010028892A (ko) 이동통신 단말기의 소프트웨어 업그레이드 방법
KR20070105996A (ko) 무선 통신 디바이스와 그것을 포함하는 무선 통신 시스템
WO2020129324A1 (ja) モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法
JP2006259849A (ja) 携帯端末装置
KR20060041027A (ko) 무선 단말을 이용한 가전기기의 프로그램 업그레이드시스템 및 그 방법
KR100586357B1 (ko) 아이피 폰 운용 시스템 및 방법
KR100429628B1 (ko) 가전기기 제어데이터 업그레이드 시스템 및 그 방법
KR101900729B1 (ko) Plc 운영체제 구동 방법
KR20030055767A (ko) 홈 게이트웨이 시스템의 이미지 업데이트 방법
CN117241075A (zh) 智能电视盒升级方法、装置和系统
KR100800445B1 (ko) 게임 업데이트 단말기 및 그 방법
KR20050046347A (ko) 무선 아이피 단말의 원격 업그레이드 방법

Legal Events

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