KR100566224B1 - 무선 이동 단말기의 소프트웨어를 업그레이드하기 위한장치 및 방법 - Google Patents

무선 이동 단말기의 소프트웨어를 업그레이드하기 위한장치 및 방법 Download PDF

Info

Publication number
KR100566224B1
KR100566224B1 KR1020030083346A KR20030083346A KR100566224B1 KR 100566224 B1 KR100566224 B1 KR 100566224B1 KR 1020030083346 A KR1020030083346 A KR 1020030083346A KR 20030083346 A KR20030083346 A KR 20030083346A KR 100566224 B1 KR100566224 B1 KR 100566224B1
Authority
KR
South Korea
Prior art keywords
mobile terminal
file
software
memory
software upgrade
Prior art date
Application number
KR1020030083346A
Other languages
English (en)
Other versions
KR20040049258A (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
Priority claimed from US10/310,738 external-priority patent/US7752618B2/en
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20040049258A publication Critical patent/KR20040049258A/ko
Application granted granted Critical
Publication of KR100566224B1 publication Critical patent/KR100566224B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • 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
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • 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

Landscapes

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

Abstract

무선망을 통하여 무선 이동 단말기를 업그레이드 할 수 있는 소프트웨어 업그레이드 서버가 개시된다. 상기 소프트웨어 업그레이드 서버는 1) 다수의 목적파일로서 다수의 소프트웨어 업그레이드 파일과 상기 무선 이동 단말기용의 다수의 이미지 파일을 저장할 수 있는 데이터 베이스와, 2) 데이터 베이스와 접속되어 무선망을 통하여 이동 단말기와 통신하기 위한 업그레이드 제어기를 포함한다. 상기 업그레이드 제어기는 다수의 소프트웨어 업그레이드 파일 중에서 하나를 선택하기 위한 선택 메시지와 이동 단말기의 메모리에 있는 최초의 이미지 파일과 관련된 목적지 어드레스를 상기 이동 단말기로부터 수신하고, 선택되는 목적파일들을 링크하여 목적지 어드레스에 근거한 동적으로 링크되는 라이브러리파일(DLL)을 형성한다. 또한, 상기 업그레이드 제어기는 최초의 이미지 파일의 사본을 데이터베이스로부터 검색하고, 최초의 이미지 파일과 DLL 파일간의 차에 대응하는 델타파일을 발생시키며, 델타파일을 무선 이동 단말기에 전송한다.
무선, 통신, 단말기, 업그레이드, 소프트웨어

Description

무선 이동 단말기의 소프트웨어를 업그레이드하기 위한 장치 및 방법{APPARATUS AND METHOD FOR UPGRADING SOFTWARE OF A WIRELESS MOBILE STATION}
도 1은 본 발명의 제1실시 예에 따른 무선망의 예를 보여주는 도면,
도 2는 본 발명의 제1실시 예에 따른 이동 단말기의 예를 상세히 보여주는 도면,
도 3은 본 발명의 제1실시 예에 따른 업그레이드 서버의 예를 보며주는 도면,
도 4는 본 발명의 제1실시 예에 따른 이동 단말기의 업그레이드 동작을 보여주는 흐름도, 그리고
도 5는 본 발명의 제2실시 예에 따른 이동 단말기의 업그레이드 동작을 보여주는 흐름도이다.
본 발명은 무선 이동 시스템에 관한 것으로, 특히 무선 이동 단말기에서 소프트웨어를 업그레이드하기 위한 장치 및 방법에 관한 것이다.
무선 시장을 최대한 증가시키기 위해, 무선 서비스 제공자 및 무선 장비 제조업자들은 무선 장비 및 서비스가 가능한 한 편리하고 유저-친화적이며 적절한 가격이 되도록 하기 위한 새로운 방법들을 꾸준히 모색하고 있다. 이를 위해, 무선 서비스 제공자 및 셀 폰 및 다른 무선 이동 통신 단말기의 제조업자들은 새로운 가입자들을 등록하고 기존 가입자들의 서비스 및 장비를 개선시키기 위한 절차들을 간소화하기 위해 서로 협력하고 있다.
이러한 노력들 중 한가지 중요한 점은, 셀 폰, 무선 PDAs(personal digital assistants), 무선 핸드-헬드 컴퓨터, 양방향 호출기 등과 같은 무선 이동 단말기의 OTA (over-the-air) 공급(provisioning) 및 업그레이드와 관련 있다. OTA 설비는 새로운 셀 폰 (또는 다른 이동 단말기)을 구입하는 새로운 가입자가 무선 서비스 제공자와 계정을 설정하고 상기 폰이 작동하도록 구성할 수 있게 하는 비교적 새로운 특징이다. OTA 설비 절차는 대부분 자동화되어 있으며 새로운 가입자가 셀 폰 서비스 센터를 방문할 필요가 없다. 일반적으로, 새로운 가입자는 상자에서 새로운 셀 폰을 꺼내, (사용 설명서에 주어진) 특정 목적의 전화 번호로 전화를 해, 자동 조작 에이전트 또는 인적 서비스 대리인과 상호 공급 절차를 수행한다.
무선 이동 단말기의 OTA 업그레이딩 또한 비교적 새로운 절차로, 가입자가 패치(patches), 버그 수정(bug fixes), 및 운영 체계(OS)를 포함하는 이동 단말기 소프트웨어의 보다 새로운 버전을 포함하는 업그레이드된 소프트웨어를 다운로드하 고 설치할 수 있게 한다. 무선 서비스 제공자 또는 이동 단말기 제조자, 또는 이들 둘 다는 업그레이드된 소프트웨어를 제공한다.
인터넷을 통해 개인용 컴퓨터를 위한 소프트웨어 업그레이드를 다운로드하고 설치하는 것은 오랫동안 가능해 왔다. 그러나, 이러한 과정은 이동 단말기에서는 상당히 복잡하다. 개인용 컴퓨터는 동적 연결 라이브러리 (dynamically linked libraries), 메모리 관리 장치 (memory management unit) 및 큰 RAM 공간을 포함하는 소프트웨어 업그레이드 수행하는데 이용 가능한 훨씬 많은 자원들을 가지고 있다. 종래의 PC 소프트웨어 업그레이드는 일단의 공유 대상으로서 분할되어 개인용 컴퓨터에 다운로드 된다. 만약 하나의 목적 파일이 전송 중 훼손되었거나 인터럽트 되었다면, 단지 그 목적 파일만 재전송되면 된다. 적절히 수신된 목적 파일들은 재 전송될 필요가 없다. 일단 모든 목적 파일이 있으면, PC의 MMU는 모든 목적 파일을 RAM에 로드시키고 상기 목적 파일을 재 링크하여 DLL을 형성한다. 그런 다음 DLL은 PC에 있는 ROM (즉, 디스크)에 다시 저장된다. 이러한 과정 동안, MMU는 코드 또는 심벌 테이블의 일부분을 수정할 수 있다.
그러나, 무선 이동 단말기 (예를 들어, 셀 폰)는 통상적으로 PC보다 이용 가능한 자원들이 훨씬 적다. 이동 단말기는 MMU가 없고 코드는 RAM으로부터 실행되지 않는다. 코드는 ROM 역할을 하는 플래시 메모리로부터 실행된다. 일반적으로 플래시 메모리는 쓰기가 불가능하며, 어렵게 재 프로그램 될 수만 있다. 이러한 자원적 제한은 무선 이동 단말기에서의 소프트웨어 업그레이드 동작을 상당히 복잡하게 만든다.
따라서, 무선 핸드셋과 다른 종류의 이동 단말기의 소프트 업그레이드를 자동적으로 수행하기 위한 향상된 시스템과 방법이 이 기술 분야에서 필요하다. 특히, 이동 단말기 핸드셋에서 DLL과 유사한 방법의 사용이 가능한 OTA 소프트 업그레이드를 수행하기 위한 시스템과 방법이 필요하다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 무선망을 통해 소프트웨어 업그레이드 서버로부터 무선으로 소프트웨어 파일을 수신할 수 있는 이동 단말기를 제공하는 데 있다.
본 발명의 다른 목적은, 무선망을 통해 무선 이동 단말기로 소프트웨어 파일을 송신할 수 있는 소프트웨어 업그레이드 서버를 제공하는데 있다.
본 발명의 또 다른 목적은, 무선망을 통하여 소프트 업그레이드 서버로부터 수신되는 델타파일에 의해 업그레이드가 가능한 이동 단말기를 제공함에 있다.
상기와 같은 목적은 본 발명의 실시 예에 따라, 1) 상기 소프트웨어 파일을 저장할 수 있는 메모리, 및 2) 상기 메모리와 연결되고 상기 무선 네트워크를 통해 상기 소프트웨어 업그레이드 서버와 통신할 수 있는 제어기를 갖는 이동 단말기에 의해 달성된다. 여기서 상기 제어기는 소프트웨어 업그레이드 서버로부터, 상기 이동 단말기에 의해 실행될 수 있는 유효소프트웨어 파일을 나타내는 적어도 제 1 메시지를 수신한다. 상기 제어기는 상기 유효 소프트웨어 파일이 설치될 상기 메모리에서의 유효 공간을 결정하고 상기 소프트웨어 업그레이드 서버로 메모리의 유효 공간과 관련된 목적지 어드레스를 송신한다.
본 발명의 실시 예에 따라, 상기 목적지 어드레스는 상기 메모리의 유효 공간의 시작점을 나타낸다.
본 발명의 다른 실시 예에 따라, 상기 메모리의 유효 공간은 모든 유효 소프트웨어 파일을 저장할 수 있는 메모리의 연속 블록이다.
본 발명의 또 다른 실시 예에 따라, 상기 유효 소프트웨어 파일은 DLL 파일이다.
본 발명의 또 다른 실시 예에 따라, 상기 제어기는 상기 소프트웨어 업그레이드 서버로부터 수신된 상기 제 1 메시지로부터 유효 소프트웨어 파일의 파일 크기를 결정한다.
본 발명의 또 다른 실시 예에 따라, 상기 제어기는 상기 유효 소프트웨어 파일의 파일 크기로부터 메모리에서의 유효 공간을 결정한다.
본 발명의 또 다른 실시 예에 따라, 상기 제어기는 상기 이동 단말기에 의해 실행될 수 있는 유효 소프트웨어 파일의 목록을 요청하는 상기 소프트웨어 업그레이드 서버로 업그레이드 요청 메시지를 송신한다.
한편, 상기와 같은 목적은 본 발명의 실시 예에 따라, 1) 최초의(original) 이미지 파일과, 상기 최초의 이미지 파일을 업그레이드하는데 적합한 상기 델타파일을 저장할 수 있는 메모리와, 2) 상기 메모리와 접속되어 상기 무선망을 통하여 상기 소프트웨어 업그레이드 서버와 통신가능한 제어기를 갖는 이동 단말기에 의해 달성된다. 상기 제어기는 적어도 하나의 제1메시지를 상기 최초의 이미지 파일에 대응하는 업그레이드된 이미지 파일을 확인하는 상기 소프트웨어 업그레이드 서버로부터 수신한다. 상기 제어기는 상기 제1메시지에 응답하여 상기 최초의 이미지 파일과 연관된 상기 메모리에 있는 목적지 어드레스를 상기 소프트웨어 업그레이드 서버로 전송한다. 상기 제어기는 또한 상기 델타파일에 저장되어 있는 명령에 따라 상기 최초의 이미지파일을 변경하여 상기 메모리에 있는 상기 업그레이드된 이미지 파일을 발생시킨다.
또한, 상기와 같은 목적은 본 발명의 실시 예에 따라, 1) 다수의 목적파일로서 다수의 소프트웨어 업그레이드 파일과 상기 무선 이동 단말기용의 다수의 이미지 파일을 저장할 수 있는 데이터 베이스와, 2) 상기 데이터 베이스와 접속되어 상기 무선망을 통하여 상기 이동 단말기와 통신하기 위한 업그레이드 제어기를 갖는 소프트웨어 업그레이드 서버에 의해 달성된다. 상기 업그레이드 제어기는 상기 다수의 소프트웨어 업그레이드 파일 중에서 하나를 선택하기 위한 선택 메시지와 상기 이동 단말기의 메모리에 있는 최초의 이미지 파일과 관련된 목적지 어드레스를 상기 이동 단말기로부터 수신한다. 상기 업그레이드 제어기는 상기 목적지 어드레스의 수신에 응답하여 상기 다수의 목적 파일들 중 선택된 것들을 링크하여 상기 목적지 어드레스에 근거한 동적으로 링크되는 라이브러리(dynamically linked library; DLL) 파일을 형성한다. 또한, 상기 업그레이드 제어기는 상기 최초의 이미지 파일의 사본을 상기 데이터베이스로부터 검색하고, 상기 최초의 이미지 파일과 상기 DLL 파일간의 차에 대응하는 델타파일을 발생시키며, 상기 델타파일을 상기 무선 이동 단말기에 전송한다.
이상에서는 본 발명의 특징과 기술적인 이점들이 좀 넓게 부각되어 통상의 기술을 가진 자가 본 발명을 더 잘 이해할 수 있도록 하였다. 본 발명의 청구범위의 주제를 형성하는 또 다른 본 발명의 특징들과 이점들이 이하에 설명되어 질 것이다. 당 업계에 통상의 지식을 가진 자라면 본 발명의 동일한 목적을 수행하기 위하여 다른 구조들을 변경하고 설계하는 기초로서 개시되는 개념과 특정 실시 예를 쉽게 사용할 수 있을 것이다. 또한 그와 동일한 구성이 본 발명의 사상과 범위를 벗어나지 않는다는 것을 주의하여야한다.
하기의 본 발명의 상세한 설명에 들어가기에 앞서, 본 특허 서류 전방에 걸쳐 사용되는 단어와 어구의 정의를 설명하는 것이 좋을 것이다. 즉, "-를 포함한다" 및 "-로 구성된다"와 그 파생 용어는 제한하지 않는 포함을 의미하며, "혹은 (또는)"은 및/혹은의 의미를 포함하는 것이다. "-과 연관되는(-과 접속되는)"과 그 파생 용어는 -를 포함하거나, -에 포함되거나, -과 혹은 -에 접속되거나, -과 혹은 -에 연결되거나, -과 통신가능 하거나, -과함께 하여나, -사이에 놓여지거나, -에 나란히 놓여지거나, -에 가깝거나, -과 혹은 -에 고정되거나, -을 가지거나, -을 소유하거나, 등등을 포함하는 의미를 가질 수 있다. "제어기"는 어떤 장치, 시스템 혹은 적어도 하나의 동작을 제어하는 그것의 일부를 의미하며, 그러한 장치는 하드웨어, 펌웨어, 소프트웨어, 혹은 이들 중 적어도 2개의 몇몇 조합으로 달성될 수 있다. 어떤 특정한 제어기와 관련된 기능은 거기에서든 원격으로든 집중되거나 분산될 수 있다는 것을 주의하여야 한다. 어떤 단어나 어구의 정의는 본 특허 서류 전반에 걸쳐 제공되며 이 기술 분야에서 통상의 지식을 가진 자는 모든 경우가 그 러한 것은 아니지만 많은 경우에서 그와 같이 정의된 단어나 어구의 앞으로의 사용뿐만 아니라 이전의 사용에서도 그러한 정의가 적용된다는 것을 이해하여야 한다.
하기에 설명될 도 1 내지 도 5 및 본 발명의 원리를 기술하는데 이용되는 여러 실시 예들은 본 발명의 주된 내용을 구체화하기 위하여 필요한 것이며 본 발명의 범위를 제한하는 것으로 이해해서는 안된다. 이 기술분야에서 통상의 지식을 가진 자는 임의의 적절히 배열된 무선망에서 본 발명의 원리를 실시할 수 있음을 이해할 수 있을 것이다.
도 1은 본 발명의 제1실시 예에 따른 무선망 100의 일 예를 도시하고 있다. 무선 망 100은 각각 기지국들 (BS) 101,102,103중 하나씩을 포함하고 있는 다수의 셀 사이트 121,122,123으로 구성된다. 기지국들 101,102,103은 코드분할 다중접속 (CDMA) 채널을 통하여 다수의 이동 단말기들 (MS) 111,112,113,114과 통신한다. 이동 단말기들 111,112,113,114은 종래의 셀룰러 무선 전화기, PCS 핸드셋 장치, PDA, 휴대용 컴퓨터를 포함한 임의의 적정한 무선장치가 될 수 있다. 본 발명은 이동장치에 제한되지 않는다. 고정된 무선 단말기를 포함한 다른 종류의 접속 단말기들도 사용될 수 있다. 그러나, 간략화를 위해 이동 단말기만이 도시되고 이하에서 설명될 것이다.
점선은 기지국들 101,102,103이 위치하고 있는 셀 사이트의 개략적 범위를 보여준다. 상기 셀 사이트는 도면에 나타내고 설명을 할 목적으로 대략 원형으로 도시하고 있지만, 선택되는 셀 구성과 인공 장애물에 따라 비규칙적인 형태를 가질 수 있다는 것은 명백히 이해하여야 한다.
기존에 잘 알려진 바와 같이, 셀 사이트 121,122,123은 다수의 섹터(도시되지 않음)로 구성되며 각 섹터는 기지국에 연결된 지향성 안테나에 의하여 구획된다. 도 1의 실시 예에서는 기지국이 셀의 중앙에 있다. 또 다른 실시 예는 방향성 안테나를 섹터의 구석에 위치시킨다. 본 발명의 시스템은 어떤 특정한 셀 사이트 구조에 국한되지 않는다.
본 발명의 제1실시 예에서, 기지국들(Base Station; BS) 101,102,103은 기지국제어기(Base Station Controller; BSC) 및 하나 이상의 기지국송수신 시스템(Base Transceiver subsystem; BTS)으로 구성된다. BSC 및 BTS는 이 기술분야에 통상의 지식을 가진 자에게 잘 알려져 있다. BSC는 무선통신망내의 특정 셀에 대한 기지국 송수신국들(Base Transceiver Stations)을 포함한 무선 통신 자원을 관리하는 장치이다. BTS는 RF 송수신기, 안테나 및 각 셀 사이트에 위치하는 다른 전기적 장치로 구성된다. 본 발명의 동작의 설명을 간략화하고 분명하게 하기 위하여, 셀 121,122,123의 각각에 있는 BTS와 BTS에 접속되는 BSC를 묶어서 각각 기지국들 101,102,103으로 나타낸다.
기지국들 101,102,103은 통신라인 131과 이동전화 교환국(Mobile Switching Center; MSC) 140을 통하여 기지국 상호간 및 공중 교환 전화망(PSTN; 도시되지 않음) 사이의 음성 및 데이터신호를 전달해 준다. 또한 기지국들 101,102,1033은 통신라인 131과 패킷데이터 서비스노드 (PSDN) 150을 통하여 패킷데이터와 같은 데이 터신호를 인터넷(도시되지 않음)으로 (혹은 인터넷으로부터) 전달해 준다. 통신라인 131은 MSC 140과 기지국들 101,102,103간의 음성 및 데이터 회로를 위한 접속을 구축하기 위하여 사용되는 이동교환국 140과 기지국들 101,102,103간의 전송제어신호로 접속경로를 제공한다.
통신라인 131은 T1라인, T3라인, 광섬유링크, 네트워크 패킷데이터 백본 접속, 혹은 임의의 다른 종류의 데이터접속을 포함한 임의의 적정 접속수단이 될 수 있다. 통신 라인 131은 BSC에 있는 각 보코더를 MSC 140에 있는 스위치소자와 링크시킨다. 이 기술 분야에서 통상의 지식을 가진 자라면, 통신라인 131상의 접속이 아날로그 음성 대역신호를 전송하기 위한 전송경로, 펄스코드변조 (PCM) 포맷으로 음성신호를 전송하기 위한 디지털경로, 인터넷프로토콜 (IP) 포맷으로 음성신호를 전송하기 위한 디지털경로, 비동기식 전송 모드 (ATM) 포맷으로 음성신호를 전송하기 위한 디지털 경로, 혹은 다른 적절한 접속 전송 프로토콜을 제공할 수 있음을 이해 할 수 있을 것이다. 또한, 통신라인 131상의 접속은 적절한 시그널링 프로토콜의 형태로 아날로그 혹은 디지털 제어신호를 전송하기 위한 통신경로를 제공할 수 있다는 것도 이해 할 수 있을 것이다.
MSC 140은 무선망 및 PSTN 혹은 인터넷과 같은 외부의 망에 있는 가입자들간의 서비스와 조정을 제공하는 교환장치이다. MSC 140은 이 기술분야에서 통상의 지식을 가진 자에게 잘 알려져 있다. 본 발명의 몇몇 실시 예에서, 통신라인 131은 각 데이터링크가 기지국 101, 102 혹은 103 중에서 하나를 MSC 140과 연결시키는 몇 개의 서로 다른 데이터링크가 될 수 있다.
예로 든 무선망 100에서, 이동 단말기 (Mobile Station; MS) 111은 셀 사이트 121에 위치하며 기지국 101과 통신한다. 이동 단말기 113은 셀 사이트 122에 위치하며 기지국 102와 통신한다. 이동 단말기 114는 셀 사이트 123에 위치하며 기지국 103과 통신한다. 이동 단말기 112는 셀 사이트 123의 가장자리에 가까이 위치하며 화살표로 나타낸바와 같이 셀 사이트 123의 방향으로 이동하고 있다. 어떤 지점에서는, 이동 단말기 112가 셀 사이트 123으로 진입하고 셀 사이트 121에서 벗어남에 따라 핸드오프가 일어날 것이다.
잘 알려진 바와 같이, 핸드오프절차는 호의 제어를 제1셀 사이트에서 제2셀 사이트로 전환시킨다. 이동 단말기 112가 셀 121로부터 셀 123으로 이동함에 따라 이동 단말기 112는 기지국 103으로부터 파일럿신호를 검출하고 파일럿 강도 측정 메시지 (Pilot Strength Measurement Message)를 기지국 101로 전송한다. 기지국 103에 의하여 전송되고 이동 단말기 112에 의해 수신되고 보고되는 파일럿신호의 강도가 임계값을 초과하면, 기지국 101은 TIA/EIA IS-95 혹은 TIA/EIA IS-2000에 기술된 바와 같이 핸드오프가 필요한 목표 기지국 103을 시그널링하여 소프트 핸드오프 과정을 개시한다.
기지국 103과 이동 단말기 112는 계속하여 CDMA 채널에서 통신링크의 설정을 협의한다. 기지국 103과 이동 단말기 112간의 통신링크의 설정에 이어 이동 단말기 112는 소프트 핸드오프모드에서 기지국 101 및 103과 통신한다. 잘 알 수 있는 바와 같이, 소프트 핸드오프는 순방향 (기지국에서 이동 단말기) 채널 및 역방향(이동 단말기에서 기지국) 채널링크의 성능을 향상시킨다. 기지국 101로부터의 신호 가 소정 신호 강도 임계값 아래로 떨어지면, 이동 단말기 112는 기지국 101과의 링크에서 벗어나 기지국 103으로부터의 신호를 수신만 하게 된다. 그리하여 호는 끊김 현상 없이 기지국 101에서 103으로 전환된다. 상술한 소프트 핸드오프는 음성 혹은 데이터 호에서의 이동 단말기를 가정한 것이다. 아이들 핸드오프는 제어 혹은 페이징 채널에서 통신하고 있는 이동 단말기의 셀 사이트간 핸드오프이다.
무선망 100에서 임의의 혹은 모든 이동 단말기들은 도 3에 도시한 원격 업그레이드 서버 300으로부터 이동 단말기로 새로운 소프트웨어를 전송하는 OTA (over-the-air) 업그레이드 절차에 의하여 업그레이드 될 수 있다. 본 발명의 원리에 따르면, 업그레이드 서버 300은 개인용 컴퓨터(PC)는 이용할 수 있지만 셀룰러폰 혹은 유사한 이동 단말기에게는 대개 결핍되어 있는 자원을 선택된 이동 단말기, 예컨대, 이동 단말기 111에게 제공한다. 특히, 업그레이드서버 300은 이동 단말기(예를 들어, 이동 단말기 111)로부터 메모리에 있는 목적지 어드레스(Target Address)를 수신하고, 상기 목적지 어드레스를 사용하여 특정 소프트웨어 업그레이드와 관련된 일단의 공유 목적물들을 원격으로 링크시켜 DLL(Dynamically Linked Library)을 형성시킨다. 그러면 이 DLL 파일은 이동 단말기를 위하여 무선으로 전송되며 목적지 어드레스에서 메모리로 로딩된다. 이러한 방식으로, DLL을 재링크하는 것과 연관된 치밀한 처리과정이 이동 단말기에서가 아니라 원격으로 수행된다.
본 발명의 바람직한 실시 예에 따르면, 이동 단말기(예컨대, 이동 단말기 111)의 초기의 업그레이드 및 후속하는 더 작은 양의 업그레이드는 델타파일에 의하여 수행될 수 있다. 이와 같은 실시 예에서, 업그레이드 서버 300은 델타파일(dxy)을 이동 단말기로 전송한다. 이동 단말기는 델타파일로부터 명령과 데이터를 독출하는 소프트웨어 알고리즘을 실행한다. 상기 소프트웨어 알고리즘은 예를 들어 기존의 운영체계 (OS) 소프트웨어를 변경하여 새로운 (혹은 업그레이드된) 버전의 운영체계 소프트웨어를 발생시킨다. 이와 같은 유리한 실시 예에서, 본 발명은 큰 이미지파일 대신 작은 델타파일을 이동 단말기로 무선으로 다운로드하여 망 대역폭을 유지한다.
델타파일의 생성은 두 가지 태스크를 포함한다. 즉, 1) 유틸리티 어플리케이션은 이동 단말기 실행 가능한 펌웨어의 두 개의 버전간의 가장 작은 잠재적인 이진수 차("델타파일")를 발생시킨다. 2) 이동 단말기에서 운영되는 소프트 알고리즘은 이진 델타파일을 입력으로 수신하고 그것을 이동 단말기상의 기존 이미지파일로 전달하여 기존의 이미지파일을 새로운 이미지파일로 변형시킨다.
예를 들어, IO를 기존 이미지(예컨대, revision 1.0)라 하고 IN을 새로운 이미지(예컨대, revision 1.1)라고 하자. T(x,y)는 두 개의 이미지 x 및 y를 취하여 델타파일 dxy를 발생시키는 유틸리티 어플리케이션이다. P(dxy, x)는 델타파일 d xy와 이미지 x를 취하여 새로운 이미지파일 y를 재구성하는 소프트웨어 알고리즘이다. 새로운 이미지 파일 y는 T(x,y)에 의하여 구현되는 이미지 파일 y의 정확한 비트 사본이다.
본 발명은 다음과 같은 과정으로 구성된다.
1) 호스트 워크스테이션 혹은 서버상에서 dxy = T(IO, IN)를 계산한다.
2) dxy를 이동 단말기로 무선으로 송신한다. 일반적인 경우, dxy의 크기는 I N의 크기 보다 훨씬 작다.
3) 전화기상에서 소프트알고리즘 P(dxy, IO)을 수행한다. P(dxy, I O)의 출력은 이미지 IN를 정확하게 비트로 나타낸 것이다.
도 2는 본 발명의 바람직한 실시 예에 따른 무선 이동 단말기 111을 도시한 것이다. 무선 이동 단말기 111은 안테나 205, RF (Radio Frequency) 송수신기 210, 송신 (TX) 처리회로 215, 마이크 220 및 수신 (RX) 처리회로 225를 갖는다. 이동 단말기 111은 또한 스피커 230, 주 처리장치 240, 입출력(I/O) 인터페이스 (IF) 245, 키패드 250, 디스플레이 장치 255 및 메모리 260을 구비한다. 메모리 260은 기본 운영체계 (OS) 프로그램 261, 업그레이드 제어프로그램 262, 재링크 DLL 영역(re-linked DLL space) 263, P(dxy, Io) 알고리즘 프로그램 264, 및 델타(d xy)파일 265를 구비한다.
RF 송수신기 210은 안테나 205로부터 무선망 100의 기지국에 의하여 송신되어 들어오는 RF신호를 수신한다. RF 송수신기 210은 입력되는 RF신호를 하향 주파수 변환하여 중간주파수 (IF) 혹은 기저대역 신호를 발생시킨다. 상기 IF 혹은 기저대역 신호는 그 IF 혹은 기저대역 신호를 필터링, 복호화, 및/혹은 디지털변환함으로써 처리된 기저신호를 발생시키는 RX 처리회로 225로 송신된다. RX 처리회로 225는 상기 처리된 기저신호를 스피커 230(즉, 음성 데이터)으로 송신하거나 다음 처리(예컨대, 웹 브라우징)를 위하여 주 처리장치 240으로 송신한다.
TX 처리회로 215는 마이크 220으로부터 아날로그 혹은 디지털 음성 데이터를 수신하거나 주 처리장치 240으로부터 다른 출력 기저대역 데이터(예를 들어, 웹데이터, e-mail, 인터액티브 비디오게임 데이터)를 수신한다. 또한, TX 처리회로 215는 출력 기저대역 데이터를 부호화, 멀티플렉싱 및/혹은 디지털 변환하여 처리된 기저대역 혹은 IF 신호를 발생시킨다. RF 송수신기 210은 TX 처리회로 215로부터 출력되는 처리된 기저대역 혹은 IF신호를 수신한다. RF 송수신기 210은 기저대역 혹은 IF신호를 RF신호로 상향 주파수 변환하여 안테나 205를 통하여 전송한다.
본 발명의 바람직한 실시 예에 따르면, 주 처리장치 240은 마이크로프로세서 혹은 마이크로컨트롤러이다. 메모리 260은 주 처리장치 240에 접속된다. 본 발명의 바람직한 실시 예에 따르면, 메모리 260의 일부는 RAM으로 구성되며, 메모리 260의 다른 일부는 ROM으로 작용하는 플래시 메모리로 구성된다.
주 처리장치 240은 무선 이동 단말기 111의 전반적인 동작을 제어하기 위하여 메모리 260에 저장된 기본적인 운영체계 (OS) 프로그램 261을 수행한다. 그러한 동작에 있어서, 주 처리장치 240은 RF 송수신기 210, RX 처리회로 225 및 TX 처리회로 215에 의하여 순방향 채널신호의 수신과 역방향 채널신호의 송신을 제어한다.
주 처리장치 240은 메모리 260에 있는 다른 과정과 프로그램을 실행할 수 있다. 주 처리장치 240은 실행과정에서 필요한 데이터를 메모리로 옮기거나 메모리로부터 꺼낼 수 있다. 주 처리장치 240은 I/O 인터페이스 245에도 접속된다. I/O 인터페이스 245는 이동 단말기 111이 랩탑 컴퓨터와 핸드헬드 컴퓨터와 같은 다른 장치와 접속할 수 있게 한다. I/O 인터페이스 245는 이러한 액세서리들과 메인 컨트 롤러 240간의 통신경로이다.
주 처리장치 240은 키패드 250 및 디스플레이 장치 255와도 접속된다. 이동 단말기 111의 조작자는 키패드를 사용하여 데이터를 이동 단말기 111로 입력한다. 디스플레이장치 255는 웹사이트로부터 텍스트 및/혹은 최소한 한정된 그래픽이 되게 할 수 있는 액정표시장치가 될 수 있다. 또 다른 실시 예에서는 다른 종류의 디스플레이 장치를 사용할 수도 있다.
본 발명의 원리에 따르면, 주 처리장치 240은 업그레이드 제어프로그램 262의 제어하에서 소프트 업그레이드를 수신하고 설치할 수 있다. 이 OTA 업그레이드는 2가지 방식 중 하나로 수행될 수 있다. 첫 번째 OTA 절차는, 만약 업그레이드되는 프로그램이 이동 단말기 111에게 완전히 새롭거나 이전 버전과 근본적으로 다르다면, 업그레이드되는 프로그램 전체가 업그레이드 서버 300에서 원격으로 링크될 수 있을 것이며 그런 다음 그 전체가 이동 단말기 111로 전송된다. 또 다른 방법인 두 번째 OTA 절차는, 만일 업그레이드되는 프로그램이 이미 이동 단말기 111에 설치된 기존 프로그램과 상대적으로 작은 양만큼만 다르다면, 델타파일이 사용될 수 있을 것이다.
이 두 번째 절차에서, 업그레이드되는 프로그램은 업그레이드 서버 300에서 원격으로 링크되며 차 검출 프로그램이 업그레이드되는 프로그램과 이미 이동 단말기 111에 설치된 프로그램의 이전 버전과의 차이를 검출하기 위하여 사용된다. 그런 다음, 업그레이드 서버 300은 그 두 프로그램간의 검출된 차이에 근거하여 하나 혹은 그 이상의 델타파일을 발생시킨다. 최종적으로, 하나 혹은 그 이상의 델타파 일만이 이동 단말기 111로 전송된다.
상술한 OTA 업그레이드 절차는 이동 단말기 조작자에 의해 개시되는 실행, 자동화된 주기적 절차 (즉, 이동 단말기 111에 있는 타이머의 종료), 혹은 업그레이드 서버 300으로부터의 통지 메시지의 수신과 같은 어떤 종래의 트리거링 이벤트에서 개시될 수 있다. 상기 통지 메시지는 단문 메시지 서비스(SMS)에 근거한 OTA 통보를 포함 할 수 있다. 이들 트리거링 이벤트 중 임의의 것에 응답하여, 주 처리장치 240은 무선망 100의 인터넷접속을 통하여 무선망 100 및 서버 300으로 통신링크를 설정한다.
통신링크가 설정되면, 주 처리장치 240은 각 타입의 이동 단말기가 이용할 수 있는 업그레이드 프로그램의 리스트를 요청한다. 업그레이드 서버 300은 업그레이드 프로그램 리스트와 이 업그레이드 프로그램에 필요한 자원(즉, 메모리 공간, 처리장치 속도)을 가지고 응답한다. 또 다른 예로서, 통신링크가 설정되면, 업그레이드 서버 300은 주 처리장치 240에게 소프트 업그레이드파일이 이용가능하며 전송준비가 되었다고 단순히 알릴 수 도 있다.
그러면 주 처리장치 240은 원하는 업그레이드 프로그램을 (필요하다면 사용자 승인으로) 선택하고, 선택된 업그레이드 프로그램을 보유할 수 있을 만큼 충분히 큰 메모리 260에 있는 인접 공간을 결정한다. 도 2에서, 이 공간이 목적지 어드레스 270에서 시작하는 재링크 DLL 영역 263이다. 주 처리장치 240은 도 3에 도시한 업그레이드 서버 300에게 선택된 업그레이드 프로그램이 무엇인지를 알리고 또한 업그레이드 서버 300에게 DLL이 목적지 어드레스 270에서 저장되어 질 것이라 는 것을 통지한다.
도 3은 본 발명의 제1실시 예에 따른 업그레이드 서버 300의 일례를 도시한다. 업그레이드 서버 300은 업그레이드 제어기 305와 메모리 310으로 구성된다. 메모리 310은 업그레이드 서버 응용프로그램 315, DLL 재 링크 응용프로그램 320, T(x,y) 유틸리티 알고리즘 프로그램 325 및 이동 단말기 업그레이드 데이터베이스 330을 포함한 업그레이드 서버 300의 동작과 연관된 응용프로그램과 데이터를 저장한다. 이동 단말기 업그레이드 데이터베이스 330은 예시적인 목적 파일 331, 332 및 333을 포함한 다수의 목적파일과, 예시적인 이미지파일 341, 342 및 343을 포함한 이동 단말기 111과 연관된 다수의 이미지파일로 구성된다. 이하에서 더 상세히 설명하겠지만 T(x,y) 유틸리티 알고리즘 프로그램 325와 이미지파일 341, 342 및 343은 이동 단말기 111을 업그레이드 할 수 있는 델타파일의 동작과 관련하여 사용된다.
업그레이드 제어기 305는 업그레이드 서버 응용프로그램 315의 제어하에 동작하여 무선망 100의 이동 단말기들에게 소프트 업그레이드 서비스를 제공한다. 업그레이드 서버 응용프로그램 315는 이동 단말기 111에 있는 주 처리장치 240과 통신한다. 업그레이드 서버 응용프로그램 315는 이동 단말기 111로부터 업그레이드에 대한 요청을 수신하고 이동 단말기 111의 판매자와 모델 혹은 유사한 기준에 따라 이동 단말기에서 업그레이들 이용할 수 있는 업그레이드 데이터베이스 330을 확인한다. 또한, 업그레이드 서버 응용프로그램 315는 이동 단말기 111로부터 목적지 어드레스 270을 수신하고 이에 응답하여 DLL 재링크 프로그램 320을 착수한다. DLL 재링크 프로그램 320은 이동 단말기 업그레이드 데이터베이스에서 이동 단말기 111에 의하여 요청된 소프트웨어 업그레이드와 연관된 목적 파일 중 선택된 것을 확인한다. 그런 다음 DLL 재링크 프로그램 320은 목적지어드레스 270을 사용하여 확인된 목적파일을 DLL파일로 재링크한다. 만약, DLL파일 전체가 모두 새로운 프로그램이라면 (즉, 이동 단말기 111에 이미 있는 것이 아닌 것이라면), DLL파일은 업그레이드 제어기 305로 전송되며, 업그레이드 제어기 305는 이 DLL 파일을 OTA 다운로드를 위하여 이동 단말기 111로 전송한다.
도 4는 본 발명의 바람직한 실시 예에 따른 이동 단말기 111의 업그레이드 동작을 보여주는 흐름도 400을 도시한 것이다. 하나 이상의 1) 사용자 프롬프트, 2) 타이머 종료, 혹은 3) 업그레이드 서버 300으로부터의 통지 메시지에 응답하여, 이동 단말기 111은 업그레이드 서버 300으로부터 이용 가능한 소프트웨어 업그레이드에 관한 정보를 요청하고 수신한다. 그리고, 이동 단말기 111은 재링크되는 DLL 코드를 저장하기 위하여 메모리 260(즉, 플래시 메모리)의 적정한 인접 블록을 확인한다(과정 405).
그런 다음, 이동 단말기 111은 목적지 어드레스 270을 업그레이드 서버 300으로 전송한다(과정 410). 업그레이드 서버 300은 요청된 업그레이드 소프트웨어를 위한 필요한 목적파일을 검색하고 목적파일을 재링크하여 목적지 어드레스 270에 근거한 DLL을 형성한다(과정 415). 다음에, 재링크된 DLL은 이동 단말기 111로 전송된다(과정 420). 이동 단말기 111은 플래시 메모리를 재프로그래밍하고 재링크된 DLL 파일을 목적지 어드레스 270에서 시작하는 메모리 260에 저장한다(과정 425). 재부팅시 이동 단말기 111은 목적지 어드레스 270을 지시하여 재링크된 DLL코드를 실행한다(과정 430).
전술한 설명에서, 목적지 어드레스가 메모리 260에서 이용 가능한 메모리 영역의 시작점이라고 가정한다. 그러나 이러한 가정이 엄격하게 적용되는 것은 아니다. 업그레이드 서버 300과 이동 단말기 111은 이동 가능한 메모리 영역에서 끝 혹은 중간 지점에 위치하는 목적지 어드레스를 가지고 동작하도록 쉽게 변경 가능하다. 그와 같은 또 다른 실시 예에서, 업그레이드 서버 300은 끝 지점(혹은 중간지점)과 파일크기를 DLL이 위치되어야 하는 메모리 260의 시작점을 계산하기 위하여 사용할 수 있다. 그러면 업그레이드 서버 300은 계산된 시작점을 이용하여 DLL 파일을 링크한다.
상기한 바와 같이, 만일 업그레이드 프로그램이 이동 단말기 111에 설치된 기존 프로그램과 상대적으로 작은 양만큼만 다르다면, 델타파일이 사용될 수 있다. 본 발명의 원리에 따르면, 업그레이드되는 소프트웨어는 메모리 265에 저장되는 델타(dxy)파일 265의 형태로 이동 단말기 111로 전송된다. 그 다음, P(dxy, IO) 알고리즘 프로그램 264는 델타파일 265를 입력으로 취하고 그것을 이동 단말기 111상에 이미 설치되어 있는 최초의(original) 이미지파일 IO에 인가하여 새로운 이미지파일 IN을 발생시킨다. 예컨대, 업그레이드 될 IO 이미지파일은 목적지 어드레스 270에서 시작하는 재링크 DLL 영역 263에 있는 응용프로그램이 될 수 있다. 업그레이드는 델타(dxy)파일 265에 있는 데이터와 명령에 따라 플래시 메모리로부터 P(dxy, Io) 알고리즘 프로그램 264를 실행하고 재링크 DLL영역 263에 있는 응용프로그램을 변형시켜 수행되어 업그레이드된 이미지파일 IN을 발생시킨다. 그 후, 이동 단말기 111은 재링크 DLL 영역 263에 있는 응용프로그램의 업그레이드된 버전을 수행한다.
델타파일 265와 같은 델타파일들의 생성은 원격으로 링크되는 DLL 파일과 같은 업그레이드된 프로그램과 이동 단말기 111에 있는 것으로 알려진 동일 프로그램의 이전 버전과의 차이를 비교함으로써 업그레이드 서버 300에서 수행된다. 업그레이드 서버 응용 프로그램 315는 이동 단말기 111로부터 업그레이드에 대한 요청을 수신하고/하거나 이동 단말기 111로 업그레이드가 이용 가능함을 알린다. 업그레이드 서버 응용프로그램 315는 이동 단말기 111의 판매자와 모델 혹은 유사한 기준에 따라 이동 단말기 업그레이드 데이터베이스 330에서 이용 가능한 업그레이드를 확인한다.
업그레이드 서버 응용 프로그램 315는 또한 이동 단말기 111상의 소프트웨어 어플리케이션의 현재 버전 번호를 수신한다. 업그레이드 서버 응용 프로그램 315는 상기 현재의 버전 번호를 사용하여 이동 단말기 111에 이미 설치되어 있는 최초의 (혹은 현재의) 이미지 파일 IO와 이동 단말기 업그레이드 데이터베이스 330에 있는 새로운 (혹은 업그레이드된) 이미지 파일 IN을 확인한다. 본 발명의 원리에 따르면, 최초의 이미지 파일 IO은 업그레이드 서버 300에 이미 링크되어서 이동 단말기 110 으로 전송되었던 DLL 파일로 구성된다. 그리고, 새로운 (혹은 업그레이드된) 이미지 파일 IN은 도 4에서 기술한 바와 같이 두 개 이상의 목적파일 331,332,333을 링크시켜 형성될 수 있다. 이러한 점에서, 이동 단말기 111은 재링크 DLL 영역 263에 있는 최초의 이미지 파일 IO 의 목적지 어드레스 270을 전송할 수 있다. 그런 다음, 업그레이드 서버 300은 목적지 어드레스 270을 사용하여 이동 단말기 업그레이드 데이터베이스 330에 저장되어 있는 최초의 해당 이미지 파일 IO을 확인한다.
그런 후, 업그레이드 서버 응용프로그램 315는 T(x,y) 유틸리티 알고리즘 프로그램 325를 IO 및 IN에 대하여 수행하여 이동 단말기 111로 전송할 델타(d xy)파일을 생성한다. 목적지 어드레스 270은 IO 및 IN에 대하여 동일하므로, 업그레이드 서버 응용 프로그램 315는 목적지 어드레스 270을 이용하여 델타파일 265를 생성한다. 델타파일 265는 업그레이드 제어기 305로 전송되며, 업그레이드 제어기 305는 델타파일 265를 OTA 다운로드를 위하여 이동 단말기 111로 전송한다.
도 5는 본 발명의 실시 예에 따른 무선망 100을 통하여 이동 단말기 111의 업그레이드 동작을 보여주는 흐름도 500을 도시한 것이다. 하나 이상의 1) 사용자 프롬프트, 2) 타이머 종료, 혹은 3) 업그레이드 서버 300으로부터의 통지 메시지에 응답하여, 이동 단말기 111은 이동 단말기 111에 있는 기존의 소프트웨어 프로그램의 버전 번호에 관한 정보를 업그레이드 서버 300으로 송신한다(과정 505). 이 정보는 그와 같은 소프트웨어 프로그램 각각에 관한 목적지 어드레스 270을 포함한 다. 업그레이드 서버 300은 그 버전 정보와 목적지 어드레스 270을 이용하여 업그레이드 데이터베이스 330을 탐색하여 최초의 이미지 파일 IO을 가져온다. 업그레이드 서버 300은 또한 특정 타입의 이동 단말기를 위하여 최초의 이미지 파일 IO에 대응하는 새로운 (혹은 업그레이드) 이미지 파일 IN을 탐색한다(과정 510).
그 다음, 업그레이드 서버 300은 입력으로서 x=IO 및 y=IN을 가지고T(x,y) 유틸리티 알고리즘 프로그램을 실행한다. 그 출력이 델타(dxy)파일 265이다(과정 515). 선택적으로, 이동 단말기 111이 기존에 P(dxy, IO) 알고리즘 프로그램 264를 포함하고 있지 않는 상황에서는 업그레이드 서버 300은 업그레이드를 수행하기 위하여 P(dxy, IO) 알고리즘 프로그램 264를 델타파일 265에 추가할 수 있다. 그러면 델타파일 265는 이동 단말기 111로 전송된다(과정 520). 이동 단말기 111은 델타파일 265를 수신하고 임시 비휘발성 메모리 (즉, 플래시 메모리)에 저장한다. 일반적으로, 델타파일 265의 크기는 IO 이미지 파일이나 IN 이미지 파일에 비해 매우 작기 때문에 메모리 문제는 발생하지 않는다.
전체 델타(dxy)파일이 다운로드 된 후에, 이동 단말기 111은 MD5, HMAC-MD5, 혹은 유사한 체크섬 알고리즘을 이용하여 델타(dxy)파일 265를 완전하게 검증한다. 이어 이동 단말기 111은 P(dxy, IO) 알고리즘 264를 실행한다. 최초의 이미지 파일 IO는 이미 이동 단말기 111상에 존재한다. P(dxy, IO) 알고리즘의 실행으로 최초의 이미지 파일 IO(즉, 운영체계 프로그램 261)는 새로운 이미지 IN의 정확한 사본으로 변경된다(과정 525). 재부팅후, 이동 단말기 111은 새로운 (혹은 업그레이드된) 이미지 파일을 실행한다(과정 530).
본 발명의 실시 예에 따르면, 델타(dxy)파일 265는 다음과 같은 중요한 정보를 포함할 수 있다.
1) P(dxy, IO) 알고리즘 프로그램 264가 그 동작을 완료한 후에 검증되는 새로운 이미지 IN의 암호화 확보 체크섬,
2) IN의 최종 크기, 및
3) 기존 이미지 파일 IO를 새로운 이미지 파일 IN으로 변경하기 위한 명령.
델타(dxy)파일 265에서의 명령은 예를 들어 다음과 같은 것이 될 수 있다.
a) 오프셋 N에서 M 바이트의 문자 데이터를 더한다.
b) 오프셋 M에서 최초의 이미지로부터의 데이터를 새로운 오프셋 N으로 복사한다.
c) 오프셋 M에서의 N 바이트의 데이터를 삭제한다.
선택적으로, 델타(dxy)파일 265는 LZW, GZIP, RLE, ZIP등을 포함한 다수의 종래의 알고리즘 중 임의의 것을 사용하여 OTA 전송크기를 더 줄이도록 압축될 수 있다.
또 다른 방법으로, 델타(dxy)파일 265는 인터넷을 통하여 개인용 컴퓨터로 다운로드 될 수 있으며 이동 단말기 111은 개인용 컴퓨터상에서 운영되는 시리얼 포트 혹은 특정 고객 지원 소프트웨어를 통하여 재 프로그래밍 될 수 있다. 이 방법은 전체의 소프트웨어가 프로그래밍 될 필요 없이 단지 작은 델타파일만이 필요하므로 빠르고 쉽게 많은 소프트웨어의 업데이트 가능하게 한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 따라서 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의하여 정해져야 한다.
본 발명에 따르면, 소프트웨어 파일을 메모리에 저장하고 무선망을 통해 소프트웨어 업그레이드 서버로부터 통신을 통해 이동 단말기에 의해 실행될 수 있는 유효소프트웨어 파일을 나타내는 적어도 제 1 메시지를 수신하며, 유효 소프트웨어 파일이 설치될 메모리에서의 유효 공간을 결정하고, 소프트웨어 업그레이드 서버로 메모리의 유효 공간과 관련된 목적지 어드레스를 송신함으로써, 무선망을 통해 소프트웨어 업그레이드 서버로부터 무선으로 소프트웨어 파일을 수신할 수 있다.
최초의 이미지 파일 및 최초의 이미지 파일을 업그레이드하는데 적합한 델타 파일을 저장하고 무선망을 통하여 소프트웨어 업그레이드 서버로부터 통신을 통해 메시지를 수신하며, 수신한 메시지에 응답하여 최초의 이미지 파일과 연관된 메모리에 있는 목적지 어드레스를 소프트웨어 업그레이드 서버로 전송하며, 델타파일에 저장되어 있는 명령에 따라 최초의 이미지파일을 변경하여 메모리에 있는 업그레이드된 이미지 파일을 발생시킴으로써, 무선망을 통하여 소프트 업그레이드 서버로부터 수신되는 델타파일에 의해 업그레이드가 가능하다.
이상에서는 본 발명에서 특정의 바람직한 실시예에 대하여 도시하고 또한 설명하였다. 그러나, 본 발명은 상술한 실시예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능할 것이다.

Claims (44)

  1. 무선망을 통하여 소프트웨어 업그레이드 서버로부터 수신되는 델타파일에 의하여 업그레이드 될 수 있는 이동 단말기에 있어서,
    최초의 이미지 파일과, 상기 최초의 이미지 파일을 업그레이드하는데 적합한 상기 델타파일을 저장할 수 있는 메모리; 및
    상기 메모리와 접속되어 상기 무선망을 통하여 상기 소프트웨어 업그레이드 서버와 통신가능하며, 적어도 하나의 제1메시지를 상기 최초의 이미지 파일에 대응하는 업그레이드된 이미지 파일을 확인하는 상기 소프트웨어 업그레이드 서버로부터 수신하며, 상기 제1메시지에 응답하여 상기 최초의 이미지 파일과 연관된 상기 메모리에 있는 목적지 어드레스를 상기 소프트웨어 업그레이드 서버로 전송하며, 상기 소프트웨어 업그레이드 서버가 다수의 소프트웨어 업그레이드 파일인 목적 파일 중 선택된 것을 링크하여 형성한 상기 목적지 어드레스에 근거한 DLL(dynamically linked library) 파일과 상기 최초의 이미지 파일간의 차에 대응하여 생성한 상기 델타파일을 상기 소프트웨어 업그레이드 서버로부터 수신하며, 상기 델타파일에 저장되어 있는 명령에 따라 상기 최초의 이미지파일을 변경하여 상기 메모리에 있는 상기 업그레이드된 이미지 파일을 발생시키는 제어기를 포함함을 특징으로 하는 이동 단말기.
  2. 제 1항에 있어서,
    상기 목적지 어드레스는 상기 메모리에 있는 상기 최초의 이미지 파일의 시작점을 지시함을 특징으로 하는 이동 단말기.
  3. 제 1항에 있어서,
    상기 제어기는 상기 무선망을 통하여 상기 소프트웨어 업그레이드 서버와 통신할 수 있으며, 상기 최초의 이미지 파일의 현재 버전을 식별하기 위한 버전 표시를 상기 소프트웨어 업그레이드 서버로 전송함을 특징으로 하는 이동 단말기.
  4. 제 3항에 있어서,
    상기 제어기는 상기 업그레이드 서버로부터 수신되는 통지 메시지에 응답하여 상기 버전 표시를 상기 소프트웨어 업그레이드 서버로 송신함을 특징으로 하는 이동 단말기.
  5. 제 3항에 있어서,
    상기 제어기는 상기 이동 단말기의 조작자로부터 수신되는 사용자 프롬프트에 응답하여 상기 버전 표시를 상기 소프트웨어 업그레이드 서버로 전송함을 특징으로 하는 이동 단말기.
  6. 제 3항에 있어서,
    상기 제어기는 타이머의 종료에 응답하여 상기 버전 표시를 상기 소프트웨어 업그레이드 서버로 전송함을 특징으로 하는 이동 단말기.
  7. 제 1항에 있어서,
    상기 델타파일은 상기 업그레이드된 이미지 파일과 연관된 파일 크기를 포함함을 특징으로 하는 이동 단말기.
  8. 제 7항에 있어서,
    상기 델타파일은 상기 업그레이드된 이미지 파일과 연관된 적어도 하나의 체크섬 값을 포함함을 특징으로 하는 이동 단말기.
  9. 제 1항에 있어서,
    상기 제어기는 상기 소프트웨어 업그레이드 서버로부터 수신되는 상기 적어도 하나의 제1메시지로부터 상기 업그레이드 이미지 파일의 파일 사이즈를 결정함을 특징으로 하는 이동 단말기.
  10. 제 1항에 있어서,
    상기 제어기는 상기 이동 단말기에 의하여 수행될 수 있는 이용 가능한 소프트웨어 파일의 리스트를 요청하기 위한 업그레이드 요청 메시지를 상기 소프트웨어 업그레이드 서버로 전송할 수 있음을 특징으로 하는 이동 단말기.
  11. 무선망을 통하여 소프트웨어 업그레이드 서버로부터 수신되는 델타파일에 의하여 업그레이드 될 수 있는 이동 단말기에 있어서 상기 이동 단말기의 메모리에 저장된 최초의 이미지 파일을 업그레이드하기 위한 방법에 있어서,
    적어도 하나의 제1메시지를 상기 최초의 이미지 파일에 대응하는 업그레이드된 이미지 파일을 확인하는 상기 소프트웨어 업그레이드서버로부터 수신하는 과정과,
    상기 최초의 이미지 파일과 연관된 메모리에 있는 목적지 어드레스를 상기 소프트웨어 업그레이드서버로 전송하는 과정과,
    상기 소프트웨어 업그레이드 서버가 다수의 소프트웨어 업그레이드 파일인 목적 파일 중 선택된 것을 링크하여 형성한 상기 목적지 어드레스에 근거한 DLL(dynamically linked library) 파일과 상기 최초의 이미지 파일간의 차에 대응하여 생성한 파일로서 상기 이동 단말기의 상기 메모리에 저장된 상기 최초의 이미지 파일을 업그레이드 할 수 있는 델타파일을 상기 소프트웨어 업그레이드 서버로부터 수신하는 과정과,
    상기 델타파일을 상기 이동 단말기의 메모리에 저장하는 과정과,
    상기 델타파일에 저장되어 있는 명령에 따라 상기 최초의 이미지 파일을 변형시켜 상기 이동 단말기의 메모리에 있는 상기 업그레이드된 이미지 파일을 발생시키는 과정을 포함함을 특징으로 하는 방법.
  12. 제 11항에 있어서,
    상기 목적지 어드레스는 상기 메모리에 있는 상기 최초의 이미지 파일의 시작점을 지시함을 특징으로 하는 방법.
  13. 제 11항에 있어서,
    상기 최초의 이미지파일의 현재 버전을 식별하기 위한 버전 표시를 상기 소프트웨어 업그레이드 서버로 전송하는 과정을 더 구비함을 특징으로 하는 방법.
  14. 제 13항에 있어서,
    상기 버전 표시를 상기 소프트웨어 업그레이드 서버로 송신하는 과정은 상기 업그레이드 서버로부터 수신되는 통지 메시지에 응답하여 수행됨을 특징으로 하는 방법.
  15. 제 13항에 있어서,
    상기 버전 표시를 상기 소프트웨어 업그레이드 서버로 전송하는 과정은 상기 이동 단말기의 조작자로부터 수신되는 사용자 프롬프트에 응답하여 수행됨을 특징으로 하는 방법.
  16. 제 13항에 있어서,
    상기 버전 표시를 상기 소프트웨어 업그레이드 서버로 전송하는 과정은 타이머의 종료에 응답하여 수행됨을 특징으로 하는 방법.
  17. 제 13항에 있어서,
    상기 델타파일은 상기 업그레이드된 이미지 파일과 연관된 파일 크기를 포함함을 특징으로 하는 방법.
  18. 제 17항에 있어서,
    상기 델타파일은 상기 업그레이드된 이미지 파일과 연관된 적어도 하나의 체크섬 값을 포함함을 특징으로 하는 방법.
  19. 제 11항에 있어서,
    상기 이동 단말기에 의하여 수행될 수 있는 이용 가능한 소프트웨어 파일의 리스트를 요청하기 위한 업그레이드 요청 메시지를 상기 소프트웨어 업그레이드 서버로 전송하는 과정을 더 구비함을 특징으로 하는 방법.
  20. 무선망을 통하여 무선 이동 단말기를 업그레이드 할 수 있는 소프트웨어 업그레이드 서버에 있어서,
    다수의 목적파일로서 다수의 소프트웨어 업그레이드 파일과 상기 무선 이동 단말기용의 다수의 이미지 파일을 저장할 수 있는 데이터 베이스와,
    상기 데이터 베이스와 접속되어 상기 무선망을 통하여 상기 이동 단말기와 통신가능하며, 상기 다수의 소프트웨어 업그레이드 파일 중에서 하나를 선택하기 위한 선택 메시지와 상기 이동 단말기의 메모리에 있는 최초의 이미지 파일과 관련된 목적지 어드레스를 상기 이동 단말기로부터 수신하고, 상기 목적지 어드레스의 수신에 응답하여 상기 다수의 목적파일 중 선택된 것들을 링크하여 상기 목적지 어드레스에 근거한 DLL(dynamically linked library) 파일을 형성하며, 상기 최초의 이미지 파일의 사본을 상기 데이터베이스로부터 검색하고, 상기 최초의 이미지 파일과 상기 DLL 파일간의 차에 대응하는 델타파일을 발생시키며, 상기 델타파일을 상기 무선 이동 단말기에 전송하는 업그레이드 제어기를 포함함을 특징으로 하는 소프트웨어 업그레이드 서버.
  21. 제 20항에 있어서,
    상기 목적지 어드레스는 상기 이동 단말기 메모리에 있는 상기 최초의 이미지 파일의 시작점을 지시함을 특징으로 하는 소프트웨어 업그레이드 서버.
  22. 제 20항에 있어서,
    상기 업그레이드 제어기는 상기 무선 이동 단말기로 하여금 상기 버전 표시를 상기 소프트웨어 업그레이드 서버로 전송하도록 하는 통지 메시지를 상기 무선 이동 단말기로 전송할 수 있음을 특징으로 하는 소프트웨어 업그레이드 서버.
  23. 제 20항에 있어서,
    상기 업그레이드 제어기는 업그레이드 요청 메시지를 상기 다수의 소프트웨어 업그레이드 파일 중 상기 이동 단말기에 의하여 수행될 수 있는 것들의 리스트를 요청하는 상기 이동 단말기로부터 수신할 수 있음을 특징으로 하는 소프트웨어 업그레이드 서버.
  24. 소프트웨어 업그레이드서버에 있어서 무선망을 통하여 무선 이동 단말기를 업그레이드하는 방법에 있어서,
    다수의 소프트웨어 업그레이드 파일을 다수의 목적 파일로서 데이터 베이스에 저장하고 무선 이동 단말기용의 다수의 이미지 파일을 상기 데이터베이스에 저장하는 과정과,
    상기 다수의 소프트웨어 업그레이드 파일 중에서 하나를 선택하기 위한 선택 메시지와 상기 이동 단말기의 메모리에 있는 최초의 이미지 파일과 연관된 목적지 어드레스를 상기 이동 단말기로부터 수신하는 과정과,
    상기 목적지 어드레스의 수신에 응답하여, 상기 다수의 목적 파일 중 선택된 것들을 링크하여 상기 목적지 어드레스에 근거한 DLL(dynamically linked library) 파일을 형성하는 과정과,
    상기 데이터베이스로부터 상기 최초의 이미지 파일의 사본을 검색하는 과정과,
    상기 최초의 이미지 파일과 상기 DLL 파일간의 차에 대응한 델타파일을 생성시키는 과정과,
    상기 델타파일을 상기 무선망을 통하여 무선 이동 단말기로 전송하는 과정을 포함함을 특징으로 하는 방법.
  25. 무선 네트워크를 통해 소프트웨어 업그레이드 서버로부터 무선으로 소프트웨어 파일을 수신할 수 있는 이동 단말기에 있어서,
    상기 소프트웨어 파일을 저장할 수 있는 메모리; 및
    상기 메모리와 연결되고, 상기 무선 네트워크를 통해 상기 소프트웨어 업그레이드 서버와 통신할 수 있는 제어기를 구비하며,
    상기 제어기는 상기 이동 단말기에 의해 실행될 수 있는 유효 소프트웨어 파일을 식별하는 상기 소프트웨어 업그레이드 서버로부터 적어도 제 1 메시지를 수신하고, 상기 유효 소프트웨어 파일이 저장될 상기 메모리의 유효 공간을 결정하여 상기 메모리 내의 유효 공간과 관련된 목적지 어드레스를 상기 소프트웨어 업그레이드 서버로 송신하며, 상기 소프트웨어 업그레이드 서버가 다수의 소프트웨어 업그레이드 파일인 목적 파일 중 선택된 것을 링크하여 형성한 상기 목적지 어드레스에 근거한 DLL(dynamically linked library) 파일을 상기 유효 소프트웨어 파일로서 상기 소프트웨어 업그레이드 서버로부터 수신함을 특징으로 하는 상기 이동 단말기.
  26. 제 25항에 있어서,
    상기 목적지 어드레스는 상기 메모리 내의 유효 공간의 시작점을 나타냄을 특징으로 하는 상기 이동 단말기.
  27. 제 26항에 있어서,
    상기 메모리 내의 유효 공간은 상기 모든 유효 소프트웨어 파일을 저장할 수 있는 메모리 내의 연속 블록(contiguous block) 임을 특징으로 하는 상기 이동 단말기.
  28. 삭제
  29. 제 25항에 있어서,
    상기 제어기는 상기 소프트웨어 업그레이드 서버로부터 수신된 상기 제 1메시지로부터 상기 유효 소프트웨어 파일의 파일 크기를 결정함을 특징으로 하는 이동 단말기.
  30. 제 29항에 있어서,
    상기 제어기는 상기 유효 소프트웨어 파일의 파일 크기로부터 상기 메모리 내의 유효 공간을 결정함을 특징으로 하는 상기 이동 단말기.
  31. 무선 네트워크를 통해 소프트웨어 업그레이드 서버로부터 소프트웨어 파일을 무선으로 수신할 수 있는 이동 단말기에서 소프트웨어를 업그레이드하기 위한 방법에 있어서,
    상기 이동 단말기에 의해 실행될 수 있는 유효 소프트웨어 파일을 식별하는 소프트웨어 업그레이드 서버로부터 적어도 제 1 메시지를 수신하는 과정;
    상기 유효 소프트웨어 파일이 저장될 유효 공간을 결정하기 위하여 상기 이동 단말기의 메모리를 탐색하는 과정; 및
    상기 메모리에 있는 유효 공간과 관련된 목적지 어드레스를 상기 소프트웨어 업그레이드 서버로 전송하는 과정과,
    상기 소프트웨어 업그레이드 서버가 다수의 소프트웨어 업그레이드 파일인 목적 파일 중 선택된 것을 링크하여 형성한 상기 목적지 어드레스에 근거한 DLL(dynamically linked library) 파일을 상기 유효 소프트웨어 파일로서 상기 소프트웨어 업그레이드 서버로부터 수신하는 과정을 포함함을 특징으로 하는 상기 방법.
  32. 제 31항에 있어서,
    상기 목적지 어드레스는 상기 메모리 내의 유효 공간의 시작점임을 특징으로 하는 상기 방법.
  33. 제 32항에 있어서,
    상기 메모리 내의 유효 공간은 모든 유효 소프트웨어 파일을 저장할 수 있는 메모리의 연속 블록임을 특징으로 하는 상기 방법.
  34. 삭제
  35. 제 31항에 있어서,
    상기 소프트웨어 업그레이드 서버로부터 수신된 상기 제 1 메시지는 상기 유효 소프트웨어 파일의 파일 크기를 가짐을 특징으로 하는 상기 방법.
  36. 제 35항에 있어서,
    상기 메모리를 탐색하는 과정은 상기 유효 소프트웨어 파일로부터 메모리 내의 유효 공간을 결정함을 특징으로 하는 상기 방법.
  37. 무선 네트워크를 통해 무선 이동 단말기로 소프트웨어 파일을 전송할 수 있는 소프트웨어 업그레이드 서버에 있어서,
    다수의 목적 파일인 다수의 소프트웨어 업그레이드 파일을 저장할 수 있는 데이터 베이스;
    상기 데이터 베이스와 연결되고, 상기 무선 네트워크를 통해 상기 이동 단말기와 통신할 수 있는 업그레이드 제어기를 구비하며,
    상기 업그레이드 제어기는, 상기 이동 단말기로부터 상기 다수의 소프트웨어 업그레이드 파일에서 하나를 선택하는 선택 메시지 및 상기 이동 단말기의 메모리 내의 유효 공간과 관련된 목적지 어드레스를 수신하고, 상기 목적지 어드레스에 응답하여, 상기 다수의 목적 파일들 중 선택된 파일들을 링크하여 상기 목적지 어드레스에 기초한 DLL(dynamically linked library) 파일을 형성하고 상기 DLL 파일을 상기 이동 단말기로 송신함을 특징으로 하는 상기 소프트웨어 업그레이드 서버.
  38. 제 37항에 있어서,
    상기 목적지 어드레스는 상기 이동 단말기 메모리 내의 유효 공간의 시작점을 나타냄을 특징으로 하는 상기 소프트웨어 업그레이드 서버.
  39. 제 38항에 있어서,
    상기 유효 공간은 상기 모든 DLL 파일을 저장할 수 있는 메모리의 연속 블록임을 특징으로 하는 상기 소프트웨어 업그레이드 서버.
  40. 제 37항에 있어서,
    상기 업그레이드 제어기는 상기 이동 단말기에 의해 실행될 수 있는 상기 다수의 소프트웨어 업그레이드 파일의 목록을 요청하는 상기 이동 단말기로부터 업그레이드 요청 메시지를 수신할 수 있음을 특징으로 하는 상기 소프트웨어 업그레이 드 서버.
  41. 무선 네트워크를 통해 소프트웨어 파일을 이동 단말기로 무선으로 송신할 수 있는 소프트웨어 업그레이드 방법에 있어서,
    다수의 목적 파일인 다수의 소프트웨어 업그레이드 파일을 데이터 베이스에 저장하는 과정;
    상기 이동 단말기로부터 상기 다수의 소프트웨어 업그레이드 파일들 중 하나를 선택하는 선택 메시지 및 상기 이동 단말기의 메모리 내의 유효 공간과 관련 있는 목적지 어드레스를 수신하는 과정;
    상기 목적지 어드레스에 응답하여, 상기 다수의 목적 파일들 중 선택된 파일들을 링크하여 목적지 어드레스를 기초로 DLL(dynamically linked library) 파일을 형성하는 과정; 및
    상기 이동 단말기로 상기 DLL 파일을 송신하는 과정을 구비함을 특징으로 하는 상기 이동 단말기에서 소프트웨어 파일을 업그레이드하는 방법.
  42. 제 41항에 있어서,
    상기 목적지 어드레스는 상기 이동 단말기 메모리 내의 유효 공간의 시작점을 나타냄을 특징으로 하는 상기 방법.
  43. 제 42항에 있어서,
    상기 유효 공간은 상기 DLL 파일 모두를 저장할 수 있는 메모리의 연속 블록임을 특징으로 하는 상기 방법.
  44. 제 43항에 있어서,
    상기 이동 단말기에 의해 실행될 수 있는 상기 다수의 소프트웨어 업그레이드 파일의 목록을 요청하는 상기 이동 단말기로부터 업그레이드 요청 메시지를 수신하는 과정을 더 구비함을 특징으로 하는 상기 방법.
KR1020030083346A 2002-12-05 2003-11-22 무선 이동 단말기의 소프트웨어를 업그레이드하기 위한장치 및 방법 KR100566224B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10/310,738 US7752618B2 (en) 2002-12-05 2002-12-05 Apparatus and method for remote DLL linking of software upgrades for a wireless mobile station
US10/310,738 2002-12-05
US10/366,758 2003-02-14
US10/366,758 US7461373B2 (en) 2002-12-05 2003-02-14 Apparatus and method for upgrading software of a wireless mobile station

Publications (2)

Publication Number Publication Date
KR20040049258A KR20040049258A (ko) 2004-06-11
KR100566224B1 true KR100566224B1 (ko) 2006-03-29

Family

ID=34380713

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030083346A KR100566224B1 (ko) 2002-12-05 2003-11-22 무선 이동 단말기의 소프트웨어를 업그레이드하기 위한장치 및 방법

Country Status (3)

Country Link
US (1) US7461373B2 (ko)
KR (1) KR100566224B1 (ko)
CN (1) CN1505433A (ko)

Families Citing this family (73)

* 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
US20030182414A1 (en) 2003-05-13 2003-09-25 O'neill Patrick J. System and method for updating and distributing information
US8233893B2 (en) * 2002-08-22 2012-07-31 Hewlett-Packard Development Company, L.P. Mobile handset update package generator that employs nodes technique
KR100539778B1 (ko) * 2002-12-31 2006-01-11 엘지전자 주식회사 이동통신 단말기의 기능제어 파라메터 변경방법
US20040230965A1 (en) * 2003-02-28 2004-11-18 Harri Okkonen Mobile handset network that facilitates interaction between a generic intelligent responsive agent and a service broker server
US7975147B1 (en) 2003-03-31 2011-07-05 Hewlett-Packard Development Company, L.P. Electronic device network supporting enciphering and deciphering and update generation in electronic devices
US7343443B1 (en) 2003-07-08 2008-03-11 Hewlett-Packard Development Company, L.P. Updated package generation based on analysis of bank dependency
US7886093B1 (en) 2003-07-31 2011-02-08 Hewlett-Packard Development Company, L.P. Electronic device network supporting compression and decompression in electronic devices
DE10335989B4 (de) * 2003-08-01 2019-07-11 Kw-Software Gmbh Online-Änderungen von CIL-Code-Programmen für die Industrieautomatisierung
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US8239858B2 (en) * 2004-02-25 2012-08-07 Research In Motion Limited Method and system for selecting a program for download
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
US7543118B1 (en) 2004-05-07 2009-06-02 Hewlett-Packard Development Company, L.P. Multiple variance platform for the management of mobile devices
US20050257205A1 (en) * 2004-05-13 2005-11-17 Microsoft Corporation Method and system for dynamic software updates
US7657886B1 (en) * 2004-06-03 2010-02-02 Hewlett-Packard Development Company, L.P. Mobile device with a MMU for faster firmware updates in a wireless network
US7899513B2 (en) * 2004-07-23 2011-03-01 Calypso Medical Technologies, Inc. Modular software system for guided radiation therapy
US9586059B2 (en) 2004-07-23 2017-03-07 Varian Medical Systems, Inc. User interface for guided radiation therapy
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
JP5173427B2 (ja) * 2004-11-08 2013-04-03 イノパス・ソフトウェアー・インコーポレーテッド 圧縮リード・オンリ・メモリ・ファイル・システム(crmfs)イメージの更新
US20060130054A1 (en) * 2004-11-12 2006-06-15 Research In Motion Limited System and method for downloading or enabling download of a program from a program store location
KR100656521B1 (ko) * 2005-01-07 2006-12-11 삼성전자주식회사 단말의 오퍼레이션 파라메터 변경시스템 및 그 방법
US20060168578A1 (en) * 2005-01-21 2006-07-27 U-Turn Media Corporation Methods and systems for managing a mobile client in a client-server system connected via a public network
CN100386725C (zh) * 2005-03-16 2008-05-07 华为技术有限公司 一种可升级移动台软件的移动台及其升级方法
JP2006268172A (ja) * 2005-03-22 2006-10-05 Nec Corp サーバシステムおよびオンラインソフトウェア更新方法
WO2006110991A1 (en) * 2005-04-18 2006-10-26 Research In Motion Limited Method and system for controlling software version updates
KR100700578B1 (ko) * 2005-06-09 2007-03-28 엘지전자 주식회사 휴대폰의 펌웨어 업그레이드 방법
DE102005034047A1 (de) * 2005-07-21 2007-01-25 Robert Bosch Gmbh Datenübertragungsverfahren und Datenübertragungssystem
US7958502B2 (en) * 2005-08-05 2011-06-07 Hewlett-Packard Development Company, L.P. Efficient generator of update packages for mobile devices that uses non-ELF preprocessing
EP1926520B1 (en) 2005-09-19 2015-11-11 Varian Medical Systems, Inc. Apparatus and methods for implanting objects, such as bronchoscopically implanting markers in the lung of patients
KR100622816B1 (ko) * 2005-10-07 2006-09-14 삼성에스디에스 주식회사 이동 단말장치의 시스템 소프트웨어 업데이트 방법 및시스템
US20070132774A1 (en) * 2005-12-01 2007-06-14 Samsung Electronics Co., Ltd. System and method for a patch minimization tool
KR101151027B1 (ko) * 2005-12-07 2012-06-01 주식회사 케이티 관리가 용이한 단말관리정보 프로파일을 갖는 단말기 및그의 관리 방법
US7801970B2 (en) * 2005-12-08 2010-09-21 International Business Machines Corporation Method and system for efficiently handling navigational state in a portal
KR100726513B1 (ko) * 2005-12-29 2007-06-11 주식회사 팬택앤큐리텔 서버에 의한 단말기 소프트웨어의 무선 업데이트 방법
EP2025095A2 (en) 2006-06-08 2009-02-18 Hewlett-Packard Development Company, L.P. Device management in a network
US7779401B2 (en) * 2006-06-26 2010-08-17 Research In Motion Limited Method and system for generating a reverse binary patch for undoing a software update
US7779085B2 (en) * 2006-07-17 2010-08-17 Research In Motion Limited Automatic mobile device configuration
US8296268B2 (en) * 2006-07-21 2012-10-23 Samsung Electronics Co., Ltd. System and method for change logging in a firmware over the air development environment
EP2047420A4 (en) 2006-07-27 2009-11-18 Hewlett Packard Development Co USER EXPERIENCE AND DEPENDENCE MANAGEMENT IN A MOBILE DEVICE
US8170540B2 (en) * 2006-09-07 2012-05-01 Qualcomm Incorporated System and methods for remotely upgrading software applications
US7991427B2 (en) 2006-09-13 2011-08-02 Mformation Technologies, Inc. System and method to provide application management on wireless data terminals by means of device management agent and dynamic link libraries
GB0620927D0 (en) * 2006-10-20 2006-11-29 Vodafone Plc Device management
KR20080037450A (ko) * 2006-10-26 2008-04-30 웹싱크 주식회사 소프트웨어 실행모듈의 업데이트 시스템 및 방법
US8060874B2 (en) * 2007-01-29 2011-11-15 Symbol Technologies, Inc. Efficient provisioning of software packages to mobile handheld devices
US8726259B2 (en) * 2007-04-09 2014-05-13 Kyocera Corporation System and method for preserving device parameters during a FOTA upgrade
US8468977B2 (en) * 2007-08-07 2013-06-25 The Kong Company, Llc Pet toy with noise making instrument
US8250566B2 (en) * 2007-09-27 2012-08-21 Mark Zusman Automated software upgrade and distribution
US8826266B2 (en) * 2007-11-29 2014-09-02 Red Hat, Inc. Updates of message consumers
US8539471B2 (en) * 2007-12-13 2013-09-17 Telefonaktiebolaget L M Ericsson (Publ) Updating firmware of an electronic device
US8219595B2 (en) * 2008-02-14 2012-07-10 Hewlett-Packard Development Company, L.P. System and method for efficient remote data access for server management
US8255896B2 (en) * 2008-04-01 2012-08-28 Honeywell International Inc. Network software normalization and installation in a fire detection system
EP2447859B1 (en) 2010-11-01 2015-04-08 Kaspersky Lab, ZAO System and method for acceleration of malware detection using antivirus cache
US7962959B1 (en) 2010-12-01 2011-06-14 Kaspersky Lab Zao Computer resource optimization during malware detection using antivirus cache
US8424093B2 (en) * 2010-11-01 2013-04-16 Kaspersky Lab Zao System and method for updating antivirus cache
US9158526B1 (en) * 2010-11-10 2015-10-13 Open Invention Network, Llc Application update using multiple network connections
CN102163157A (zh) * 2011-04-07 2011-08-24 北京百纳威尔科技有限公司 非智能终端升级方法、非智能终端和应用服务器
US9176744B2 (en) * 2011-05-20 2015-11-03 Citrix Systems, Inc. Quickly provisioning a virtual machine by identifying a path to a differential file during pre-boot
US20130019235A1 (en) * 2011-07-11 2013-01-17 Salesforce.Com, Inc. Mechanism for facilitating management of metadata and metada-based update of software
CN102917340A (zh) * 2011-08-01 2013-02-06 中兴通讯股份有限公司 多模终端的终端管理升级方法及装置
WO2013078951A1 (zh) * 2011-12-01 2013-06-06 腾讯科技(深圳)有限公司 软件升级方法和系统
US8949818B2 (en) 2012-06-29 2015-02-03 Intel Corporation Mechanism for facilitating dynamic and trusted cloud-based extension upgrades for computing systems
CN104239081A (zh) * 2013-06-18 2014-12-24 富泰华工业(深圳)有限公司 软件升级系统及方法
JP6167736B2 (ja) * 2013-08-05 2017-07-26 ソニー株式会社 情報処理装置、サーバ装置、情報処理方法及びプログラム
CN104516877A (zh) * 2013-09-26 2015-04-15 江苏智软信息科技有限公司 一种web应用快速发布的方法
US9919165B2 (en) 2014-05-07 2018-03-20 Varian Medical Systems, Inc. Systems and methods for fiducial to plan association
US10043284B2 (en) 2014-05-07 2018-08-07 Varian Medical Systems, Inc. Systems and methods for real-time tumor tracking
US9804836B2 (en) * 2014-06-27 2017-10-31 Welch Allyn, Inc. Medical device nucleus architecture
US10310845B2 (en) 2014-06-27 2019-06-04 Welch Allyn, Inc. Medical device low acuity vitals system architecture
KR102590347B1 (ko) * 2016-12-15 2023-10-18 삼성전자주식회사 서버, 전자 장치 및 데이터 관리 방법
US10496469B2 (en) 2017-07-25 2019-12-03 Aurora Labs Ltd. Orchestrator reporting of probability of downtime from machine learning process
US11055087B2 (en) * 2018-03-16 2021-07-06 Google Llc Leveraging previously installed application elements to install an application
CN112653648B (zh) * 2019-10-09 2022-12-20 北京新能源汽车股份有限公司 一种生成通信协议的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6640334B1 (en) * 1999-09-27 2003-10-28 Nortel Networks Limited Method and apparatus of remotely updating firmware of a communication device
US6999976B2 (en) * 2002-05-29 2006-02-14 International Business Machines Corporation Method, apparatus, and program for using a Java archive to encode a file system delta
US20040098715A1 (en) * 2002-08-30 2004-05-20 Parixit Aghera Over the air mobile device software management
US6836657B2 (en) * 2002-11-12 2004-12-28 Innopath Software, Inc. Upgrading of electronic files including automatic recovery from failures and errors occurring during the upgrade

Also Published As

Publication number Publication date
US20040133887A1 (en) 2004-07-08
KR20040049258A (ko) 2004-06-11
US7461373B2 (en) 2008-12-02
CN1505433A (zh) 2004-06-16

Similar Documents

Publication Publication Date Title
KR100566224B1 (ko) 무선 이동 단말기의 소프트웨어를 업그레이드하기 위한장치 및 방법
US8285268B2 (en) System and method for delta-based over-the-air software upgrades for a wireless mobile station
KR100584443B1 (ko) 소프트웨어 콤포넌트 다운로드 관리 기능을 가지는 이동 단말기와 그 방법
US7752618B2 (en) Apparatus and method for remote DLL linking of software upgrades for a wireless mobile station
US8572597B2 (en) Apparatus and method for performing an over-the-air software update in a dual processor mobile station
KR100724878B1 (ko) 이동국에서 안전한 소프트웨어 갱신을 수행하는 장치 및방법
EP1697836B1 (en) Mobile device programming system and method
US20120015642A1 (en) Firmware update method for mobile terminal and mobile terminal using the same
US7650164B2 (en) Method and system for exchanging data between a mobile phone and a PC
RU2339076C2 (ru) Выполнение неверифицированных программ в операционной среде устройства радиосвязи
CN1674692A (zh) 用于移动终端传送消息的方法
JP4823239B2 (ja) 無線通信装置及び該装置を有する無線通信システム
KR100242432B1 (ko) 휴대용 무선 단말기 소프트웨어 업그레이드 시스템 및 방법
CN109815053B (zh) 一种实现ip话机多模式系统升级失败恢复方法
KR20040048144A (ko) 무선통신을 이용한 이동통신 단말기의 모바일 플랫폼 갱신시스템 및 그 방법
KR20020030432A (ko) 이동통신기기의 소프트웨어 업그레이드방법
KR101250240B1 (ko) 정보공유 휴대단말기
KR100673259B1 (ko) 무선컨텐츠 다운로드 방법
KR100637390B1 (ko) 무선 컨텐츠 다운로드 방법
KR20070071651A (ko) 이동통신단말기의 긴급 발신 통화 방법
KR20060108996A (ko) 듀얼 efs를 구비한 이동 통신 단말기 및 이를 이용한플랫폼 제공 방법

Legal Events

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

Payment date: 20130227

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140227

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee