KR20020006522A - 무선 통신 장치의 저장 세트 위치에 기능들을 독립적으로다운로딩하는 시스템 및 방법 - Google Patents

무선 통신 장치의 저장 세트 위치에 기능들을 독립적으로다운로딩하는 시스템 및 방법 Download PDF

Info

Publication number
KR20020006522A
KR20020006522A KR1020017011603A KR20017011603A KR20020006522A KR 20020006522 A KR20020006522 A KR 20020006522A KR 1020017011603 A KR1020017011603 A KR 1020017011603A KR 20017011603 A KR20017011603 A KR 20017011603A KR 20020006522 A KR20020006522 A KR 20020006522A
Authority
KR
South Korea
Prior art keywords
selectable
optional
memory
main program
storage location
Prior art date
Application number
KR1020017011603A
Other languages
English (en)
Other versions
KR100617669B1 (ko
Inventor
제임스 에이. 4세 헛치슨
에릭 제이. 렉벤
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 KR20020006522A publication Critical patent/KR20020006522A/ko
Application granted granted Critical
Publication of KR100617669B1 publication Critical patent/KR100617669B1/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)
  • Transceivers (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

무선 통신 장치(102)의 한 세트의 저장 위치(114)에 주요 프로그램 및 선택적 기능들(124)을 독립적으로 다운로딩하는 시스템 및 방법(100)은 주프로그램 및 한 세트의 선택된 선택적 기능들(124)을 저장하기 위하여 메모리(123)를 이용한다. 선택된 선택적 기능 세트중 하나(162)와 연관된 식별 엘리멘트(160)는 주프로그램(134)이 상기 세트의 선택된 선택적 기능들(124-130)중 하나와 상호작용하도록 한다. 프로그래머(도시되지 않음)는 메모리(116)의 저장 위치를 지정함으로써 메모리(116)에 선택된 선택적 기능 프로그램(124-130)을 프로그램한다. 지시자는 선택된 선택적 기능들의 세트가 메모리에 저장되었을 때를 나타낸다. 메모리는 또한 메모리의 저장 위치를 식별하기 위한 포인터(162-166) 및 링킹 엘리멘트를 포함할 수 있다. 본 발명은 선택된 선택적 기능들로 하여금 주 프로그램이 메모리에 저장된 후에 저장될 수 있게 한다.

Description

무선 통신 장치의 저장 세트 위치에 기능들을 독립적으로 다운로딩하는 시스템 및 방법 {SYSTEM AND METHOD FOR INDEPENDENTLY DOWNLOADING FEATURES INTO A SET OF STORAGE LOCATIONS IN A WIRELESS COMMUNICATION DEVICE}
셀룰러 전화기와 같은 현재의 무선 통신 장치들은 사용하기가 편리하며 통상적인 전화기에서 수행하기 어려운 여러 기능들과 옵션을 제공하기 때문에 매우 인기있다. 예를 들어, 무선 통신 장치는 특정한 나라를 위한 특정한 다이얼링 계획 및 다이얼링 패턴으로 프로그램 및 커스터마이징될 수 있다. 이러한 방식으로, 무선 통신 장치는 외국으로 수출하기 위하여 만들어진 제품일 수 있으며, 추가의 프로그래밍없이 바로 사용할 수 있다. 미국의 경우, 무선 통신 장치는 북미인의 넘버링 플랜의 10-디지트 전화번호 및 전화 이동기의 시스템에서 이용될 수 있는 여러 옵션들을 활성화시키는데 사용되는 "스타" 코드들을 수용하기 위하여 프로그램될 수 있다.
무선 통신 장치는 또한 데이터 암호화 계획안에 따라 동작할 수 있도록, 또한 외국어 텍스트로 동작하며, 그 사용자로 하여금 컴퓨터화된 무선 게임을 이용할수 있도록 프로그램될 수 있다. 이러한 기능들은 사용자에게 커스터마이징된 여러 기능들을 제공하기 위하여 각각의 무선 통신 장치의 여러 조합으로 실행될 수 있다.
상술한 선택적 기능들은 제작과정에서 제작자에 의하여 무선 통신 장치에 미리 프로그래밍된다. 각각의 선택적 기능들과 연관되며, 각각의 선택적 기능들을 동작시키는 데이터 및 실행가능 코드/인스트럭션은 무선 통신 장치의 동작을 제어하는 표준 데이터 및 실행가능 코드/인스트럭션(즉, 주프로그램)과 조합된다. 조합된 프로그램은 이후에 무선 통신 장치의 전기적으로 소거할 수 있는 판독전용 메모리(EEPROM)에 기록된다. 즉, 선택적 기능들과 주프로그램은 모두 단일 프로그램으로 EEPROM에 동시에 기록 또는 다운로딩된다. 다른 형태의 기록가능한 비휘발성 저장매체(예를 들어, FERAM, 배터리가 달린 RAM, OPT RAM등)가 사용될 수 있다.
단일 다운로드를 이용하는데는 여러가지 상당한 단점들이 있다. 우선, 주프로그램 및 선택적 기능들이 단일 프로그램으로서 다운로딩될 필요가 있기 때문에, 제작자는 무선 통신 장치에 필요한 선택적 기능이 어떤것인지를 결정한 후 주프로그램에 선택적 기능들을 일치시킨다. 이러한 방법은 어떠한 기능들이 기존의 고객들에 의하여 요청될지를 예측하기가 어려우며, 또한 주프로그램과 모든 가능한 선택적 기능들을 결합함으로써 모든 선택적 특성을 계산하는 것은 메모리 공간을 비효율적으로 사용하기 때문에 바람직하지 않다.
둘째로, 선택적 기능들과 주프로그램이 함께 결합되고 다운로딩되기 때문에, 추가의 선택적 기능들은 초기 다운로딩이 이루어진후에 EEPROM에 추가될 수 없다.만일 제작자가 무선 통신 장치에 추가의 선택적 기능들을 추가하기를 원한다면, 전체 EEPROM은 소거되거나 교체될 필요가 있으며, 선택적 기능들과 주프로그램의 업데이트된 조합은 새로운 블랭크 EEPROM에 연속적으로 다운로딩된다. 또한, 선택적 기능들은 단일 조합된 프로그램으로서 주프로그램과 관계되어 있기 때문에, 주프로그램의 일부는 자체적으로 제작자가 단순히 단일한 선택적 기능을 추가하기를 원할 때에만 업데이트될 필요가 있을 것이다. 분명히, 이러한 업데이팅은 조합된 프로그램이 EEPROM에 다운로딩되기 전에 행하여지며, 이는 통상적인 시스템이 일단 다운로딩될 때 조합된 프로그램을 업데이트시킬 수 없기 때문이다.
셋째로, 주프로그램과 선택적 기능들을 조합하여 결과된 큰 블록의 정보가 기본적으로 다운로딩을 더욱 어렵게 만들 수 있다. EEPROM의 단일한 연속 저장 블록은 다운로딩된 정보의 전체 블록을 수용하기 위하여 미리 할당될 필요가 있다. 다운로딩된 정보의 블록이 EEPROM의 스캐터링된 저장 블록에서 저장되는 부분들로 분리될 수 없다는 것은 가능한 일이다. 예를 들어, EEPROM의 한 저장 블록에 주프로그램을 기록한 후에 EEPROM의 다른 스캐터링된 저장 블록중 이용될 수 있는 어느 부분에라도 선택적 기능을 기록하는 것은 바람직하다.
따라서, 선택적 기능이 주프로그램의 다운로딩과는 독립적으로 EEPROM에 다운로딩될 수 있는 방식으로 선택적 기능을 가진 무선 통신 장치를 커스터마이징할 필요가 있다. 본 발명은 상술한 문제에 대한 해결방법을 제공하고 또한 다음의 첨부된 도면과 상세할 설명에 의하여 명백해질 것이다.
본 발명은 무선 통신 장치에 관한 것으로서, 특히 무선 통신 장치의 메모리에 기능들을 독립적으로 다운로딩하는 시스템 및 방법에 관한 것이다.
도면에서, 도면번호는 여러 도면에 걸쳐 동일한 도면 부호를 사용한다.
도 1은 본 발명의 무선 통신 장치의 전형적인 실시예의 기능 블록도이다.
도 2는 도 1에 도시된 실시예의 프로그램가능한 메모리의 도면이다.
도 3은 도 2에 도시된 프로그램가능한 메모리의 링크 테이블이다.
도 4는 도 1-3에 도시된 실시예의 다운로딩 동작을 도시한 흐름도이다.
본 발명은 무선 통신 장치의 메모리에 선택적 기능을 다운로딩하는 시스템 및 방법에 관한 것이다. 전형적인 실시예에서, 무선 통신 장치는 무선 통신 장치의 동작을 제어하기 위하여 주프로그램을 저장하는 메모리를 포함한다. 선택가능한 선택적 기능 세트는 주프로그램과는 독립적으로 메모리에 프로그램될 수 있다. 주프로그램은 선택가능한 선택적 기능의 선택된 세트와 상호작용하도록 선택가능한 선택적 기능 세트 또는 세트들과 연관된 식별 엘리멘트를 이용한다.
전형적인 실시예는 주프로그램을 선택가능한 선택적 기능 세트와 연관시키는 링킹 엘리멘트를 더 포함하며, 상기 링킹 엘리멘트는 상기 선택가능한 선택적 기능들이 메모리에 프로그램될 때까지 인액티브된다. 링킹 엘리멘트는 주프로그램의 일부일 수 있으며, 메모리의 다수 해당 저장위치를 식별하기 위하여 다수의 포인터를 포함할 수 있다. 주프로그램은 또한 선택가능한 선택적 기능 세트에 해당하는 저장 위치를 위한 메모리를 검색하기 위하여 검색 프로그램을 포함할 수 있으며, 상기 저장 위치는 선택가능한 선택적 기능 세트가 저장위치에 저장될 때를 나타내는 지시자를 가진다.
링킹 엘리멘트는 또한 제 2 링킹 엘리멘트를 식별하는 포인터를 포함할 수 있으며, 상기 제 2 링킹 엘리멘트는 메모리의 다수 저장 위치를 식별하는 다수의 포인터를 가진다. 본 발명의 전형적인 실시예에서, 선택가능한 선택적 기능 세트는 메모리의 저장 위치를 식별하기 위하여 포인터 또는 제 2 링킹 엘리멘트를 포함할 수 있다.
메모리에 결합된 포트 및 프로그래머는 선택가능한 선택적 기능 세트를 수신한다. 프로그래머는 주프로그램의 저장과는 독립적으로 프로그램가능한 메모리의 저장을 위한 포트에 선택가능한 선택적 기능 세트를 전송한다. 선택가능한 선택적 기능 세트는 다이얼링 플랜 시스템, 암호화 시스템, 브라우저 시스템, 또는 언어 시스템과 같은 기능 또는 진단 확장 및 개조 그리고 오디오 핸들링 확장 및 개조, 생산성 툴 및 게임을 포함할 수 있다.
본 발명은 도 1의 기능 블록도에 도시된 시스템(100)에서 구체화된다. 상기 시스템(100)은 무선 통신 장치(101)를 포함하며, 이는 셀룰러 전화기에서 구현될수 있다. 시스템(100)은 시스템(100) 및 셀 사이트 제어기(도시되지 않음)와 같은 원격국 사이에서 오디오 통신과 같은 데이터를 송신 및 수신하기 위하여 송신기(104) 및 수신기(106)를 포함하는 하우징(102)을 포함한다. 송신기(104) 및 수신기(106)는 트랜시버(108)로 결합될 수 있다. 안테나(110)는 하우징(102)에 부착되며, 트랜시버(108)에 전기적으로 결합된다. 송신기(104), 수신기(106) 및 안테나(110)의 동작은 당업자에게 공지되어 있으며, 본 명세서에서 기술하지 않겠다. 본 발명의원리들은 셀룰러 전화기로서 본 명세서에 기술되었지만, 셀룰러/PCS, 무선 전화기등을 포함하는 여러 무선 통신 장치에 응용될 수 있다. 따라서 본 발명은 무선 통신 장치의 특정 형태에 제한받지 않는다.
무선 통신 장치(101)는 중앙 처리 유니트(CPU)를 가지며, 이는 시스템(100)의 동작을 제어한다. CPU(112)는 시스템(100)의 동작에 포함된 모든 작업 또는 이들의 일부를 수행할 수 있으며, 나머지 작업들은 시스템(100)에 포함된 다른 처리 유니트들(도시도지 않음)에 위임된다.
무선 통신 장치(101)는 하나 이상의 메모리 유니트들을 포함하며, 이는 전기적으로 소거할 수 있는 프로그램가능한 판독전용 메모리(EEPROM)와 같은 프로그램가능한 메모리(116) 및 랜덤 액세스 메모리(RAM)일 수 있다. RAM(114)은 무선 통신 장치(101)를 가동시킬 때 제공될 수 있는 정보를 저장하기 위한 비휘발성 RAM을 포함할 수 있다. 기술상 공지된 바와 같이, RAM(114)의 일부는 프로그램가능한 메모리(116) 또는 표준 ROM(도시되지 않음)에 일반적으로 저장되는 데이터 및 실행가능 코드/명령과 같은 정보를 저장하기 위하여 쉐도우 판독전용 메모리(ROM)로서 사용될 수 있다. 또한, 도 1은 프로그램가능한 메모리(116)와 RAM(114)를 구별할 수 있으며, 당업자들은 RAM(114)이 "프로그램가능한" 메모리 타입이라는 것을 이해할 것이다. CPU(112)는 무선 통신 장치(101)를 동작시키기 위하여 프로그램가능한 메모리(116) 또는 RAM(114)에 저장된 정보를 처리한다.
무선 통신 장치(101)는 또한 하우징(102)의 외부에 위치한 프로그래머(122)로부터 "번들"로서 참조된 기능(123) 세트를 수신하도록 입/출력 포트(118)를 포함한다. 프로그래머(122)는 상기 기능들이 무선 통신 장치(101)에 다운로딩될 수 있게 하는 하드웨어 및 소프트웨어 시스템이다. 상기 시스템(100)은 또한 프로그래머(122)로부터 상기 기능들을 수신하기 위하여 또는 적당한 메모리 위치에 상기 수신된 기능들을 기록하기 위하여 RAM(114)에 다운로더(115)를 가질 수 있다. 이와 같이, 다운로더(115)는 프로그래머(122)와 프로그램가능한 메모리(116) 또는 RAM(114) 사이에서 프로그램을 즉각적으로 다운로딩하도록 동작한다.
본 발명을 위하여, 본 명세서 전반에 걸쳐 사용된 용어 "기능"은 데이터, 실행가능 소프트웨어 코드, 및 프로그래머(122) 또는 다운로더(115)에 의하여 프로그램가능한 메모리(116) 또는 RAM(114)에 기록된 식별(ID) 코드 및 변수들과 같은 임의의 첨부된 정보를 포함하는 것으로 이해될 수 있다. 상기 세트(123)는 임의의 다수 개별 선택기능(124,126,128,130)과 연관된 각각의 선택적 기능의 통합을 포함한다. 예를 들어, 도 1에서 124로서 도시된 기능(1)은 인디아의 다이얼링 플랜을 위한 데이터에 해당할 수 있다. 프로그래머(122)는 프로그램가능한 메모리(116)에 세트(123)에 포함된 선택적 기능을 기록하거나, 또는 각각의 선택적 기능들(예를 들어 기능1) 또는 각각의 선택적 기능들(예를 들어 기능 1, 기능 3 및 기능4)의 "번들"로서 세트(123)에 포함된 선택적 기능을 RAM(114)에 기록한다. 개별적인 선택적 기능은 "번들"로서 참조될 수 있는데, 이는 임의의 주어진 선택적 기능이 데이터 및 실행가능 코드의 "번들"이기 때문이다. 그러므로, 용어 "번들" 및 "기능"은 본 명세서의 전반에 걸쳐 서로 번갈아 사용된다.
세트(123)는 프로그래머(122)안에 상주할 수 있거나 제 1 통신 링크(132)를통하여 프로그래머(122)에 액세스될 수 있다. 또한, 도 1에는 단지 하나의 세트(123)만이 도시되어 있지만, 프로그래머(122)에 액세스될 수 있는 다른 여러 세트가 가능하다. 상기 다른 세트들 중 하나는 무선 통신 장치(101)가 기능하기 위한 주프로그램을 포함한다.
제 1 통신 링크(133)는 세트(123)가 프로그램가능한 메모리(116) 또는 RAM(114)에 기록 또는 다운로딩할 수 있도록 프로그래머(122)를 입/출력 포트(118)에 결합시킨다. 하우징(102)내의 여러 성분들은 버스 시스템(120)에 의하여 서로 결합되며, 이는 파워 버스, 제어 버스 및 데이터 버스에 더하여 상태 신호 버스를 포함할 수 있다. 그러나 명료함을 위하여, 여러 버스들이 도 1에는 버스 시스템(120)으로서 도시되어 있다. 또한 도 1에는 본 발명과 관련이 없어 도시하지 않았지만, 당업자는 무선 통신 장치(101)가 키패드, 배터리 및 디스플레이와 같은 추가의 엘리멘트를 가진다는 것을 이해할 것이다.
상술한 바와 같이, 통상적인 무선 통신 시스템은 주프로그램 및 선택적 기능의 조합을 필요로 하며, 조합된 프로그램은 EEPROM에 프로그램된다. 본 발명은 하나 이상의 선택적 기능을 위한 다운로딩 처리로 하여금 주프로그램의 다운로딩 처리와 분리되게 한다. 도 2-4는 이것의 실행방법을 도시한다.
도 2는 본 발명의 전형적인 실시예의 프로그램가능한 메모리(116)의 도면이다. 주프로그램은 프로그램가능한 메모리(116)의 저장블록(메모리 위치;134)에 기록된다. 도 1의 세트(123)에 속해있는 번들 기능1, 기능2, 기능3은 각각 124,126, 및 128로 도시되어 있으며, 프로그램가능한 메모리(116)의 다른 저장 블록에 기록된다. 기능 1과 같은 각각의 번들은 또한 식별(ID;136), 하나 이상의 포인터(138-140) 및 플래그(142)를 포함한다. 빈 저장 블록(152)은 추가의 향후 번들로 하여금 프로그램가능한 메모리(116)에 기록될 수 있게 한다.
상술한 바와 같이, 기능 1 번들은 데이터 및 실행가능 코드를 모두 포함할 수 있으며, 프로그램가능한 메모리(116)의 저장 블록(124)으로서 개략적으로 도시되어 있다. ID(136)는 기능 1 번들의 바이트 크기, 그 메모리 어드레스 및 번들 타입(예를 들면, 다이얼링 플랜)을 식별하는 코드와 같은 정보를 포함할 수 있다.
당업자에 공지된 포인터들은 일반적으로 기능 1 번들과 연관된 특정 세트의 데이터 또는 실행가능 서브루틴이 액세스할 수 있는 RAM(114) 또는 프로그램가능한 메모리(116)의 메모리 어드레스를 포함하는 변수들이다. 번들의 액세스 위치는 "엔트리 포인트"로서 가끔 참조된다. 각각의 번들은 다른 번들의 임의의 엔트리 포인트에 대하여 다수의 포인터를 포함할 수 있다. 예를 들어, 138로서 도시된 포인터 1은 기능 1 번들의 가동을 시작하는 저장 블록(134)의 메모리 위치에 포인트할 수 있다. 다른 실시예로서, 139로 도시된 포인터 2는 기능 1 번들과 동시에 가동할 필요가 있는 다른 번들에 포인트할 수 있으며, 따라서 기능 1 번들과 다른 번들을 다이나믹하게 링크할 수 있다. 이러한 방식으로, 포인터는 프로그램의 그룹 또는 프로그램의 일부를 각각 다이나믹하게 링크시킬 수 있으며, 단일 프로그램 또는 메모리 위치에 모든 프로그램을 조합하는 필요성을 제거할 수 있다.
플래그(142)는 특정 번들(124)이 유효한지 또는 EEPROM(116)에 성공적으로 로딩되었는지 또는 메모리 위치가 번들에 의하여 점유되었는지와 같은 지시 데이터를 제공한다. 도 2는 저장 블록(124)와 분리되어 ID(136), 포인터(138-140) 및 플래그(142)를 도시하고 있지만, 이러한 정보는 또한 저장 블록(124)내에 저장될 수 있다고 이해될 수 있다. 추가적으로 도 2는 프로그램가능한 메모리(116)의 저장 블록(124,126,128)에 위치된 선택적 기능을 도시하는 반면, 당업자는 이러한 기능들의 일부가 RAM(114)의 비휘발성 부분에 기록될 수 있다고 이해할 것이다(도 1 참조). 만일 이것이 실행된다면, 비휘발성 RAM(114)의 정보는 적당한 포인터에 의하여 프로그램가능한 메모리(116)에 링크 및 액세스될 수 있다.
선택적인 기능 및 그 포인터의 다른 예는 저장 블록(126)의 기능 2 번들과 같이 도시된 데이터 암호화 계획이다. 정보를 암호화하는 데이터 및 실행가능 코드는 저장 블록(126)에 저장된다. 이러한 프로그램은 저장 블록(126)이 로딩되는 것을 지시하기 위하여 암호화 번들 및 플래그(150)을 나타내는 ID(144)를 가진다. 포인터(146,148)는 공용 및/또는 사설 암호해독 키가 각각 저장되는 메모리 위치(즉, 엔트리 포인트)에 포인트한다. 키 및 유지 기능은 상기 기능에 외부적으로 저장될 수 있으며 상기 기능을 사용하는 호출자에 의하여 번들에 패싱될 수 있다.
본 발명의 전형적인 실시예에서, 저장 블록(134)의 주프로그램은 임의의 선택적 기능(124,126,128)을 찾기 위하여 프로그램가능한 메모리(116)를 탐색하는 루틴을 포함한다. 이러한 루틴은 임의의 주어진 선택적 기능을 검색하는데 필요한 시간을 최소화하기 위하여 공지된 최적화 기술을 이용한다. 일단 선택적 기능이 위치되면, 주프로그램의 다른 루틴들은 선택적 기능을 활성화하기 위하여 선택적 기능과 상호 작용한다. 따라서 주프로그램이 선택적 기능들의 특정 메모리 위치를처음부터 알 필요는 없다. 주프로그램은 단지 선택적 기능이 다운로딩될 수 있는 것을 아는 능력만을 가지면 되고, 선택적 기능을 위한 프로그램가능한 메모리(116)를 탐색할 필요만 있다.
본 발명의 다른 전형적인 실시예에서, 도 3에 도시된 링크 테이블(160)은 RAM(114)의 비휘발성 부분에 또는 프로그램가능한 메모리(116)에 선택적으로 또는 추가적으로 포함될 수 있다. 링크 테이블(160)은 각각의 번들(124,126,128)과 연관된 엔트리 포인트를 통상적으로 위치시키고 다이나믹하게 링크하기 위하여 하나 이상의 포인터(162,164,166)를 포함한다. 즉, 무선 통신 장치(101)의 주프로그램 또는 프로그래머(122)가 특정 번들에 대한 전체 프로그램가능한 메모리(116)를 검색하는 대신에, 주프로그램 또는 프로그래머(122)가 특정 번들의 위치를 즉각적으로 획득하기 위하여 링크 테이블(160)을 참조할 수 있다.
링크 테이블(160)은 다른 링크 테이블에 포인트하는 포인터를 포함할 수 있으며, 이는 다음으로 추가의 번들 또는 링크 테이블에 포인트할 수 있다. 이러한 방식으로, 시스템(100)의 여러 레벨의 번들은 포인터 및 링크 테이블에 의하여 함께 링크될 수 있다. 링크 테이블(160)의 전형적인 실시예는 또한 추가의 포인터들(다른 링크 테이블에 포인팅 또는 번들에 포인팅)로 하여금 새로운 번들로서 링크 테이블(160)에 추가될 수 있게 하는 위치(168)를 가질 수 있으며, 링크 테이블은 프로그램가능한 메모리(116)에 기록된다. 도 3에 도시되지는 않았지만, 링크 테이블(160)은 또한 각각의 포인터(162,164,166)와 연관된 플래그 또는 ID를 가질 수 있다. 예를 들어, 포인터(162)는 포인팅된 메모리 위치가 번들과 함께 로딩될 때를 나타내도록 플래그를 가질 수 있다.
저장 블록(134)의 주프로그램은 주프로그램과 링크 테이블(160) 사이의 적당한 상호 관계 및 링킹을 링크 테이블(160)에 제공하기 위하여 포인터(도시되지 않음)를 포함한다. 선택적으로, 링크 테이블(160)은 주프로그램 자체내에 통합될 수 있다. 게다가, 프로그램가능한 메모리(116)의 사용되지 않은 저장 블록은 선택적 기능의 향후 다운로딩을 위하여 미리 할당될 수 있으며, 링크 테이블(160)의 포인터에 의하여 개별적으로 어드레싱 및 벡터될 수 있다. 링크 테이블(160)을 이용할 수 없는 다른 전형적인 실시예에서, 주프로그램은 각각의 선택적 기능을 활성화하는 선택적 기능 리스트 또는 서브루틴을 포함할 수 있다. 주프로그램은 이후에 통상적인 기능 호출 명령을 이용하여 나중에 다운로딩된 선택적 기능들을 식별 및 활성화시킬 수 있다.
링크 테이블(160)을 이용하는 본 발명의 전형적인 실시예에서, 주프로그램 및 링크 테이블(160)은 초기 다운로딩 처리과정동안 조합된 프로그램으로서 함께 로딩된다. 선택적 기능은 이 시간에는 로딩될 필요가 없지만, 제작자는 상기 기능들에 대한 번들이 향후에 연속적으로 로딩되는 것을 기대하면서 암호화 및 다이얼링 플랜 포인트와 같은 링크 테이블(160)의 포인트를 포함할 수 있다. 즉, 주프로그램과 함께 미리 결정된 포인트를 갖는 링크 테이블(160)을 로딩함으로써, 주프로그램은 새로운 번들이 추가될 수 있는지, 번들이 무엇인지, 번들이 위치될 수 있는 장소를 인식하는 메카니즘을 가지며, 이후에 상기 번들에 다이나믹하게 링크할 수 있다. 이하에 설명되는 바와 같이, 링크 테이블(160)은 무선 통신 장치(101)에 처음으로 로딩될 때 인액티브 디폴트 스테이지(inactive default stage)에 존재한다. 링크 테이블은 번들이 다운로딩될 때 프로그래머(122)에 의하여 시작될 때까지 디폴트 스테이지에 남아있다.
요약하면, 본 발명의 전형적인 실시예는 선택적 기능들로 하여금 주프로그램과는 분리되어 다운로드될 수 있게 한다. 선택적 기능 및 주프로그램은 분리되어 다운로드될 수 있지만, 그럼에도 불구하고 포인터의 사용에 의하여 서로 상호작용 및 액세스할 수 있다. 본 발명은 주프로그램이 단일 다운로드동안 선택적 기능과 조합될 수 있지만, 다음에 설명하는 바와 같이, 선택적 기능과 동시에 프로그램가능한 메모리(116)에 주프로그램을 기록하여야하는 필요성을 제거하며, 다이나믹 로딩 기능은 선택적 기능으로 하여금 전체 프로그램가능 메모리(116)를 재프로그램할 필요가 없이 추가 또는 변경될 수 있도록 한다. 예를 들어, 프로그램가능 메모리(116)는 처음으로 미국에서 국내 사용을 위해 기능 2(즉, 암호화) 번들(126)의 버전으로 프로그래밍될 수 있다. 다음으로, 수출하기에 적당한 암호화 버전으로 국내 암호화 버전을 교체하는 것이 바람직하다. 시스템(100)의 다이나믹 로딩은 사용자로 하여금 필요하다면 전체 프로그래가능한 메모리(116)를 재프로그램할 필요가 없이 포인터외에 기능 2 번들(126)만을 재프로그램하도록 할 수 있다.
도 4는 도 2에 도시된 프로그램가능한 메모리의 다운로딩 처리과정을 도시한 흐름도이다. 다운로더(115)를 이용하는 실시예에서, 다운로더(115;도 1참조)는 이미 RAM(114)의 위치에 존재한다고 가정한다. 다운로더(115)는 프로그램가능한 메모리(116)를 프로그램하기 위하여 프로그래머(122)와 상호작용한다.프로그래머(122) 및 다운로더(115)의 동작은 기술상 공지되어 있으며 본 명세서에서는 상세하게 설명하지 않는다.
본 발명의 전형적인 실시예의 단계 170에서, 무선 통신 장치(101)의 기본 동작과 연관된 주프로그램이 프로그래머(122)에 의하여 프로그램가능한 메모리(116)의 저장 블록(134)에 가장 먼저 다운로딩/기록된다. 링크 테이블(160)이 사용되는 실시예에서, 미리 결정된 포인터를 가지지만 인액티브 디폴트 스테이지인 링크 테이블(160)은 단계 170에서 주프로그램과 함께 로딩된다. 링크 테이블(160)은 저장 블록(134)에 기록될 필요가 없다. 만일 필요하다면, 저장 블록(134)의 주프로그램은 링크 테이블(160)의 메모리 위치에 링크하는 포인터를 포함할 수 있다.
단계 172에서, 만일 제작자가 무선 통신 장치(101)에 임의의 추가 기능을 추가하기를 원하지 않는다면, 프로그래머(122)는 단계 182에서 다운로딩 과정을 종료하고, 무선 통신 장치(101)는 소비자를 위해 대기한다. 링크 테이블(160)은 만일 하나의 다운로딩만 존재한다면, 인액티브 상태로 남아있는다.
그러나 만일 세트(123)의 번들(124,126,128,130)과 연관된 선택적 기능들이 추가된다면, 단계 174에서, 프로그래머(122)는 번들을 다운로딩하기 위하여 프로그램가능한 메모리(116)의 이용가능 저장 블록을 참조한다. 상술한 바와 같이, 번들이 미리 할당된 저장 블록에 다운로딩될 필요는 없다. 번들은 저장 블록(134)의 주프로그램이 다운로딩후에 번들을 위치시키기 위하여 프로그램가능한 메모리(116)를 검색하는 검색 루틴을 가지기 때문에 임의의 이용가능 저장 블록으로 다운로딩될 수 있다. 단계 174이전에, 제작자는 번들(124,126,128,130)을 개별 번들로서또는 큰 번들을 형성하는 여러 번들의 조합으로서 프로그램가능한 메모리(116)에 다운로딩하는 것을 결정한다. 번들링 과정은 단계 174이전에 프로그래머(122)에 의하여 오프라인 수행된다.
선택적으로 링크 테이블(160)을 이용하는 실시예의 단계 174에서, 프로그래머(122)는 인액티브 링크 테이블(160)을 시작하며, 링크 테이블(160)의 포인터가 번들을 위한 저장 블록을 디자인하는지를 결정하기 위하여 링크 테이블(160)을 판독한 후, 번들을 다운로딩하기 위하여 프로그램가능한 메모리(116)의 상기 저장 블록을 향한다. 링크 테이블(160)은 프로그래머(122)에 의하여 일단 시작되면 액티브 상태로 남아있는다.
단계 176에서, 프로그래머(122) 또는 다운로더(115)는 프로그램가능한 메모리(116)의 저장 블록에 번들을 다운로딩한다. 단계 178에서, 응용가능 플래그(142 또는 150; 도 2참조)는 번들이 성공적으로 다운로딩되어 기능을 다하는지를 나타내기 위하여 프로그래머(122)에 의하여 세팅된다. 또한 링크 테이블(160)을 이용하는 실시예의 단계 178에서, 링크 테이블(160)의 적당한 포인터(162,164,166)의 플래그는 또한 어떠한 메모리 블록이 로딩되는지를 나타내기 위하여 프로그래머(122)에 의하여 세팅될 수 있다. 단계 178동안, 프로그램(123)는 또한 만일 필요하다면, 추가의 번들이 다음의 로딩 절차에서 로딩될 수 있는 저장 블록에 새로운 포인터를 추가하기 위하여 위치(168)에서 링크 테이블(160)을 업데이트할 수 있다.
단계 176 및 178에서 프로그램가능한 메모리(116)로의 "번들"의 로딩으로서 넓게 설명되었지만, 상기 "번들"은 선택적 기능, 다른 링크 테이블, 일세트의 포인터, 주프로그램에 대한 변경 또는 이들 아이템들의 조합으로 이해될 수 있다. 따라서, 본 발명은 제작자로 하여금 여러 방식으로 프로그램가능한 메모리(116)의 현존 콘텐츠를 빌드업 및 업데이트할 수 있도록 하며, 프로그램가능한 메모리(116)에 다운로딩되는 번들타입에 의하여 제한받지 않는다.
번들이 프로그램가능한 메모리(116)에 다운로딩된 후에 만일 어떠한 추가 번들도 단계 180에서 추가되지 않는다면, 다운로딩 과정은 단계 182에서 완료된다. 만일 더 많은 번들이 추가될 필요가 있다면, 상술한 과정은 단계 174를 시작으로 반복된다.
요약하면, 도 4의 흐름도에 도시된 다운로딩 처리과정은 선택적 기능의 번들로 하여금 주프로그램과는 독립적으로 프로그램가능한 메모리(116)에 추가될 수 있도록 한다. 이 방식으로, 무선 통신 장치(101)는 초기 프로그래밍과는 독립적으로 커스터마이징될 수 있다.
본 발명의 특정 실시예들은 설명을 위하여 본 명세서에서 기술되었지만, 향후 본 발명의 사상 및 영역을 벗어나지 않는다면 여러 변경들이 이루어질 수 있다. 예를 들어, 상술한 실시예의 도면은 번들이 프로그램가능한 메모리(116)에 기록되는 것으로 도시되어 있지만, 번들의 일부, 전체 번들 또는 모든 번들이 RAM(114)의 비휘발성 부분에 저장될 수 있다. 상기의 번들은 포인터에 의하여 주프로그램 또는 서로에 대하여 다이나믹하게 링크된다. 따라서 본 발명은 첨부된 청구항을 제외하고는 제한받지않으며, 그 해석은 청구항의 해석 원칙을 따른다.

Claims (29)

  1. 무선 통신 장치로서:
    메모리;
    상기 무선 통신 장치의 동작을 제어하기 위하여, 상기 메모리에 저장된 주프로그램;
    상기 주프로그램과 독립적으로 상기 메모리에 프로그램가능한, 선택가능한 선택적 기능 세트; 그리고
    독립적으로 프로그래밍된 상기 선택가능한 선택적 기능 세트중 적어도 하나와 연관된 식별 엘리멘트를 포함하며,
    상기 주프로그램은 독립적으로 프로그래밍된 상기 선택가능한 선택적 기능 세트중 적어도 하나와 상호작용하기 위하여 상기 식별 엘리멘트를 이용하는 무선 통신 장치.
  2. 제 1 항에 있어서, 상기 선택가능한 선택적 기능 세트가 상기 메모리에 프로그래밍될 때까지 인엑티브를 유지하는 링킹 엘리멘트를 더 포함하는 것을 특징으로 하는 장치.
  3. 제 2 항에 있어서, 상기 링킹 엘리멘트는 상기 주프로그램의 일부이고, 상기 메모리의 다수의 해당 저장위치를 식별하기 위하여 다수의 포인터를 포함하며, 상기 다수의 해당 저장위치는 선택가능한 해당 선택적 기능을 세트로 저장하는 것을 특징으로 하는 장치.
  4. 제 1 항에 있어서, 상기 주프로그램은 선택가능한 선택적 기능 세트중 하나에 해당하는 저장 위치를 위한 메모리를 검색하기 위하여 검색 프로그램을 포함하며, 상기 저장 위치는 상기 선택가능한 선택적 기능 세트중 하나가 저장 위치에 저장될 때를 나타내기 위한 지시자를 가지는 것을 특징으로 하는 장치.
  5. 제 1 항에 있어서, 상기 선택가능한 선택적 기능 세트는 상기 선택가능한 선택적 기능 세트중 하나가 저장되는 저장 위치를 식별하는 포인터를 포함하는 것을 특징으로 하는 장치.
  6. 제 1 항에 있어서, 상기 선택가능한 선택적 기능 세트는 상기 선택가능 선택적 기능 세트중 하나를 저장하는 메모리의 저장 위치를 식별하는 포인터를 갖는 링킹 엘리멘트를 포함하며, 상기 주프로그램은 상기 포인터에 의하여 식별된 선택가능한 선택적 기능 세트중 하나와 상호작용하기 위하여 링킹 엘리멘트를 이용하는 것을 특징으로 하는 장치.
  7. 제 1 항에 있어서, 상기 선택가능한 선택적 기능 세트의 적어도 하나는 다이얼링 플랜 시스템, 암호 시스템, 브라우저 시스템 또는 언어 시스템중에서 선택된하나를 포함하는 것을 특징으로 하는 장치.
  8. 무선 통신 장치를 위한 프로그래밍 시스템으로서:
    프로그램가능한 메모리를 갖는 무선 통신 장치를 포함하는데, 상기 프로그램가능한 메모리는 상기 무선 통신 장치의 동작과 연관된 주프로그램을 저장하기 위한 제 1 저장 위치 및 상기 제 1 저장위치와는 다른 제 2 저장위치를 가지며;
    상기 무선 통신 장치를 위한 선택가능한 선택적 기능 세트를 수신하기 위하여 상기 프로그램가능한 메모리에 결합된 포트;
    상기 제 2 저장 위치에 저장하기 위하여 상기 선택가능한 선택적 기능 세트를 상기 포트에 전송하도록 상기 포트에 결합된 프로그래머를 포함하며, 상기 프로그래머는 상기 제 1 저장 위치에 주프로그램을 저장하는 것과는 독립적으로 상기 제 2 저장위치에 상기 선택가능한 선택적 기능 세트를 저장하며; 그리고
    상기 선택가능한 선택적 기능 세트와 상기 주프로그램을 연관기키는 링킹 엘리멘트를 포함하는 시스템.
  9. 제 8 항에 있어서, 상기 링킹 엘리멘트는 상기 주프로그램과 함께 상기 제 1 저장 위치에 저장되며, 상기 선택가능한 선택적 기능 세트가 상기 제 2 저장 위치에 저장될 때를 나타내기 위하여 상기 프로그래머에 의하여 세팅된 지시자를 가지는 것을 특징으로 하는 시스템.
  10. 제 9 항에 있어서, 상기 링킹 엘리멘트는 상기 선택가능한 선택적 기능 세트를 상기 프로그램가능한 메모리의 어느곳에 저장하는 가를 프로그래머에게 지시하도록 하는 포인터를 포함하는 것을 특징으로 하는 시스템.
  11. 제 8 항에 있어서, 상기 링킹 엘리멘트는 상기 제 1 저장 위치와는 다른 상기 프로그램가능한 메모리의 저장 위치에 저장되는 것을 특징으로 하는 시스템.
  12. 제 8 항에 있어서, 상기 링킹 엘리멘트는 제 2 링킹 엘리멘트를 식별하는 포인터를 포함하며, 상기 제 2 링킹 엘리멘트는 프로그램가능한 메모리의 메모리 위치를 식별하기 위하여 다수의 포인터를 가지는 것을 특징으로 하는 시스템.
  13. 제 8 항에 있어서, 상기 선택가능한 선택적 기능 세트는 프로그램가능한 메모리의 메모리 위치를 식별하기 위한 포인터를 포함하는 것을 특징으로 하는 시스템.
  14. 제 8 항에 있어서, 상기 선택가능한 선택적 기능 세트는 프로그램가능한 메모리에서의 다수의 해당 메모리 위치를 식별하기 위하여 다수의 포인터를 갖는 제 2 링킹 엘리멘트를 포함하는 것을 특징으로 하는 시스템.
  15. 제 8 항에 있어서, 상기 선택가능한 선택적 기능 세트는 상기 선택가능한 선택적 기능 세트중 하나가 제 2 저장 위치에 저장될 때를 나타내는 제 1 지시자 및 상기 선택가능한 선택적 기능 세트중 하나가 저장되는 상기 제 2 저장 위치의 메모리 위치, 상기 메모리 위치의 크기 또는 상기 선택가능한 선택적 기능 세트중 하나의 타입을 식별하기 위한 제 2 지시자를 포함하는 것을 특징으로 하는 시스템.
  16. 제 8 항에 있어서, 상기 링킹 엘리멘트는 프로그래머에 의하여 활성화될 때까지 인액티브로 남아있으며, 상기 프로그래머는 상기 프로그래머가 상기 제 2 저장 위치에 저장하기 위하여 상기 선택가능한 선택적 기능 세트를 전송할 때 상기 링킹 엘리멘트를 활성화시키며, 상기 링킹 엘리멘트는 상기 선택가능한 선택적 기능 세트가 상기 제 2 저장 위치에 저장될 때를 나타내기 위하여 프로그래머에 의하여 세팅되는 지시자를 가지는 것을 특징으로 하는 시스템.
  17. 무선 통신 장치로서:
    상기 무선 통신 장치의 동작과 연관된 주프로그램을 저장하는 제 1 저장 위치;
    상기 주프로그램과는 독립적으로, 선택가능한 선택적 기능 세트를 저장하도록 프로그램할 수 있는 제 2 저장 위치;
    상기 선택가능한 선택적 기능 세트와 상기 주프로그램을 연관시키기 위한 링킹 엘리멘트를 포함하며, 상기 링킹 엘리멘트는 상기 제 2 저장 위치가 선택가능한 선택적 기능 세트를 저장하도록 프로그램될 때 상기 주프로그램과 상기 선택가능한선택적 기능 세트를 연관시키며; 그리고
    상기 선택가능한 선택적 기능 세트가 상기 제 2 저장 위치에 저장될 때를 나타내는 지시자를 포함하는 장치.
  18. 제 17 항에 있어서, 상기 링킹 엘리멘트는 상기 제 2 저장 위치의 해당 빈위치를 식별하기 위하여 다수의 포인터를 포함하며, 상기 선택가능한 선택적 기능 세트는 상기 다수의 포인터에 의하여 식별된 빈위치에 저장되고, 상기 빈위치는 상기 선택가능한 선택적 기능 세트가 상기 빈위치에 저장될 때를 나타내는 지시자를 가지는 것을 특징으로 하는 장치.
  19. 제 17 항에 있어서, 상기 주프로그램은 검색 프로그램을 포함하며, 상기 검색 프로그램은 상기 무선 통신 장치를 동작시키기 위하여, 상기 선택가능한 선택적 기능 세트를 위치시키며, 상기 주프로그램과 상기 선택가능한 선택적 기능 세트를 통합시키도록, 상기 링킹 엘리멘트를 이용하는 것을 특징으로 하는 장치.
  20. 제 17 항에 있어서, 상기 선택가능한 선택적 기능 세트는 상기 제 1 또는 제 2 저장 위치의 메모리 위치를 식별하기 위한 포인터를 포함하며, 상기 메모리 위치는 상기 선택가능한 선택적 기능 세트중 하나를 저장하도록 프로그램될 수 있는 것을 특징으로 하는 장치.
  21. 제 17 항에 있어서, 상기 선택가능한 선택적 기능 세트는 제 2 링킹 엘리멘트를 포함하며, 상기 제 2 링킹 엘리멘트는 상기 제 1 또는 제 2 저장 위치의 다수의 해당 메모리 위치를 식별하기 위하여 다수의 포인터를 가지며, 상기 해당 메모리 위치는 상기 선택가능한 선택적 기능 세트중 하나를 저장하도록 프로그램될 수 있는 것을 특징으로 하는 장치.
  22. 제 17 항에 있어서, 상기 링킹 엘리멘트는 상기 제 1 저장 위치에 저장된 주프로그램의 일부인 것을 특징으로 하는 장치.
  23. 제 17 항에 있어서, 상기 선택가능한 선택적 기능 세트는 다이얼링 플랜 시스템, 암호화 시스템, 브라우저 시스템 또는 언어 시스템중 하나를 포함하는 것을 특징으로 하는 시스템.
  24. 무선 통신 장치에 프로그램을 저장하는 방법으로서:
    상기 무선 통신 장치가 동작할 수 있도록 메모리에 주프로그램을 저장하는 단계;
    상기 주프로그램의 저장과는 독립적으로 선택가능한 선택적 기능 세트를 상기 메모리에 다운로딩하는 단계; 그리고
    상기 주프로그램을 상기 다운로딩된 기능과 다이나믹하게 링크시킴으로써, 상기 다운로딩된 선택가능한 선택적 기능 세트중 임의의 하나를 위치시킬 수 있는방법.
  25. 제 24 항에 있어서, 상기 주프로그램으로부터 상기 선택가능한 선택적 기능 세트에 링크를 제공하는 단계 및 상기 선택가능한 선택적 기능 세트를 다운로딩할 때까지 링크를 인액티브 유지시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  26. 제 25 항에 있어서, 상기 링크는 상기 메모리의 다수의 해당 저장 위치를 식별하기 위하여 다수의 포인터를 가지며, 상기 선택가능한 선택적 기능을 다운로딩하는 단계는:
    다수의 저장 위치들중 하나를 위치시키기 위하여 다수의 포인터중 하나를 판독하는 단계;
    저장을 위한 상기 다수의 저장 위치에서 상기 선택가능한 선택적 기능 세트중 임의의 하나를 수신하는 단계; 그리고
    상기 선택가능한 선택적 기능 세트중 임의의 하나가 상기 다수의 저장 위치들중 하나에 저장되는 것을 나타내도록 지시자를 세팅하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  27. 제 24 항에 있어서, 상기 선택가능한 선택적 기능 세트를 다운로딩하는 단계는 상기 메모리의 주프로그램을 저장한 후에 이루어지는 것을 특징으로 하는 방법.
  28. 제 24 항에 있어서, 상기 다운로딩동안 상기 선택가능한 선택적 기능 세트를 저장하기 위하여 상기 메모리의 해당 저장 위치를 식별하도록 상기 주프로그램의 포인터를 활성화시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  29. 제 24 항에 있어서, 상기 선택가능한 선택적 기능 세트를 다운로딩하는 단계는:
    상기 선택가능한 선택적 기능 세트를 저장하기 위하여 상기 메모리에 빈저장위치를 위치시키는 단계; 그리고
    상기 제 2 저장 위치에 상기 선택가능한 선택적 기능 세트를 저장할 때를 나타내기 위하여 지시자를 세팅하는 단계를 더 포함하는 것을 특징으로 하는 방법.
KR1020017011603A 1999-03-12 2000-03-13 무선 통신 장치의 저장 위치 세트에 기능들을 독립적으로 다운로딩하는 시스템 및 방법 KR100617669B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/267,824 1999-03-12
US09/267,824 US6449476B1 (en) 1999-03-12 1999-03-12 System and method for independently downloading features into a set of storage locations in a wireless communication device

Publications (2)

Publication Number Publication Date
KR20020006522A true KR20020006522A (ko) 2002-01-19
KR100617669B1 KR100617669B1 (ko) 2006-08-28

Family

ID=23020275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017011603A KR100617669B1 (ko) 1999-03-12 2000-03-13 무선 통신 장치의 저장 위치 세트에 기능들을 독립적으로 다운로딩하는 시스템 및 방법

Country Status (12)

Country Link
US (1) US6449476B1 (ko)
EP (1) EP1161845A1 (ko)
JP (2) JP4638049B2 (ko)
KR (1) KR100617669B1 (ko)
CN (1) CN1343431B (ko)
AU (1) AU761631B2 (ko)
BR (1) BR0008913A (ko)
CA (1) CA2367193C (ko)
HK (1) HK1043013A1 (ko)
IL (2) IL145318A0 (ko)
MX (1) MXPA01009197A (ko)
WO (1) WO2000054530A1 (ko)

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US6449476B1 (en) * 1999-03-12 2002-09-10 Qualcomm Incorporated System and method for independently downloading features into a set of storage locations in a wireless communication device
GB0003313D0 (en) * 2000-02-15 2000-04-05 Koninkl Philips Electronics Nv Software reconfiguration of communications apparatus
US6993328B1 (en) * 2000-05-08 2006-01-31 Nokia Corporation Method for over the air mobile station management
JP2001356925A (ja) * 2000-06-12 2001-12-26 Nec Corp 携帯電話機
GB2366697A (en) 2000-08-31 2002-03-13 Nokia Mobile Phones Ltd Transmission of user profile via messaging service
US7096010B2 (en) * 2000-11-30 2006-08-22 Qualcomm Inc. Method and apparatus for defining and executing features in a personal wireless handset
JP2002185579A (ja) * 2000-12-08 2002-06-28 Nec Corp 携帯電話端末のアプリケーションバックアップ方法
FR2821231A1 (fr) * 2001-02-19 2002-08-23 Bull Cp8 Procede d'administration d'une carte d'abonne pour un equipement de telephonie mobile du type a lecteur auxiliaire et systeme embarque pour la mise en oeuvre du procede
DE10124139A1 (de) * 2001-05-17 2002-11-21 Philips Corp Intellectual Pty Verfahren und Vorrichtung zur Sicherung der Datenübertragung zwischen einem Zentralprozessor und einem Speicher
US6941133B2 (en) 2001-05-18 2005-09-06 Qualcomm Inc. Dynamic loading and creation of functional objects in a wireless device
US7027806B2 (en) * 2001-07-26 2006-04-11 Kyocera Wireless, Corp. System and method for field downloading a wireless communications device software code section
US7197302B2 (en) 2001-07-26 2007-03-27 Kyocera Wireless Corp. System and method for interchangeable modular hardware components for wireless communication devices
US7386846B2 (en) * 2001-07-26 2008-06-10 Kyocera Wireless Corp. System and method for the management of wireless communications device system software downloads in the field
US9554268B2 (en) 2001-07-26 2017-01-24 Kyocera Corporation System and method for updating persistent data in a wireless communications device
US7143407B2 (en) * 2001-07-26 2006-11-28 Kyocera Wireless Corp. System and method for executing wireless communications device dynamic instruction sets
US7328007B2 (en) * 2001-07-26 2008-02-05 Kyocera Wireless Corp. System and method for organizing wireless communication device system software
US7159214B2 (en) * 2001-07-26 2007-01-02 Kyocera Wireless Corp. System and method for compacting field upgradeable wireless communication device software code sections
US7184759B2 (en) 2001-07-26 2007-02-27 Kyocera Wireless Corp. Modular software components for wireless communication devices
US7200389B2 (en) * 2001-07-26 2007-04-03 Kyocera Wireless Corp. Dynamic interface software for wireless communication devices
US7184793B2 (en) * 2001-07-26 2007-02-27 Kyocera Wireless Corp. System and method for over the air area code update
US6961537B2 (en) * 2001-08-10 2005-11-01 Kyocera Wireless Corp. System and method for peer-to-peer handset communication
US7254386B2 (en) 2001-08-10 2007-08-07 Kyocera Wireless Corp. System and method for improved security in handset reprovisioning and reprogramming
FI20011985A (fi) * 2001-10-12 2003-04-13 Nokia Corp Muistikorttiväline informaation siirtämiseksi sovelluslaitteen muistikorttipaikan ja langattoman päätelaitteen välillä
CA2410118C (en) * 2001-10-26 2007-12-18 Research In Motion Limited System and method for controlling configuration settings for mobile communication devices and services
DE10153946A1 (de) * 2001-11-06 2003-05-28 T Mobile Deutschland Gmbh Verfahren zur Vereinheitlichung der Bediensteuerung bei Mobilfunkendgeräten
US20030120911A1 (en) * 2001-12-20 2003-06-26 Muench-Casanova Stephen L. Method of reprogramming modules
JP3980901B2 (ja) * 2002-02-12 2007-09-26 沖電気工業株式会社 デジタル信号処理装置
US8290505B2 (en) 2006-08-29 2012-10-16 Telecommunications Systems, Inc. Consequential location derived information
US8027697B2 (en) 2007-09-28 2011-09-27 Telecommunication Systems, Inc. Public safety access point (PSAP) selection for E911 wireless callers in a GSM type system
US8126889B2 (en) 2002-03-28 2012-02-28 Telecommunication Systems, Inc. Location fidelity adjustment based on mobile subscriber privacy profile
US8918073B2 (en) 2002-03-28 2014-12-23 Telecommunication Systems, Inc. Wireless telecommunications location based services scheme selection
US7426380B2 (en) 2002-03-28 2008-09-16 Telecommunication Systems, Inc. Location derived presence information
US9154906B2 (en) 2002-03-28 2015-10-06 Telecommunication Systems, Inc. Area watcher for wireless network
US20040235459A1 (en) * 2003-05-23 2004-11-25 Nokia Corporation Systems and methods for generating a feature list indicating the activated features of a mobile station
US20040266417A1 (en) * 2003-06-26 2004-12-30 David Janas Wirelessly programming memory devices
US7424293B2 (en) 2003-12-02 2008-09-09 Telecommunication Systems, Inc. User plane location based service using message tunneling to support roaming
US7260186B2 (en) 2004-03-23 2007-08-21 Telecommunication Systems, Inc. Solutions for voice over internet protocol (VoIP) 911 location services
US20080126535A1 (en) 2006-11-28 2008-05-29 Yinjun Zhu User plane location services over session initiation protocol (SIP)
US20080090546A1 (en) 2006-10-17 2008-04-17 Richard Dickinson Enhanced E911 network access for a call center using session initiation protocol (SIP) messaging
US20050160414A1 (en) * 2004-01-21 2005-07-21 Nokia Corporation System and method for dynamically adding features to software applications
JP2005352996A (ja) * 2004-06-14 2005-12-22 Ntt Docomo Inc 移動通信端末及びアプリケーション制御方法
US7629926B2 (en) 2004-10-15 2009-12-08 Telecommunication Systems, Inc. Culled satellite ephemeris information for quick, accurate assisted locating satellite location determination for cell site antennas
US6985105B1 (en) 2004-10-15 2006-01-10 Telecommunication Systems, Inc. Culled satellite ephemeris information based on limiting a span of an inverted cone for locating satellite in-range determinations
US7353034B2 (en) 2005-04-04 2008-04-01 X One, Inc. Location sharing and tracking using mobile phones or other wireless devices
US8660573B2 (en) 2005-07-19 2014-02-25 Telecommunications Systems, Inc. Location service requests throttling
US9282451B2 (en) 2005-09-26 2016-03-08 Telecommunication Systems, Inc. Automatic location identification (ALI) service requests steering, connection sharing and protocol translation
US7825780B2 (en) 2005-10-05 2010-11-02 Telecommunication Systems, Inc. Cellular augmented vehicle alarm notification together with location services for position of an alarming vehicle
US7907551B2 (en) 2005-10-06 2011-03-15 Telecommunication Systems, Inc. Voice over internet protocol (VoIP) location based 911 conferencing
US8467320B2 (en) 2005-10-06 2013-06-18 Telecommunication Systems, Inc. Voice over internet protocol (VoIP) multi-user conferencing
US8150363B2 (en) 2006-02-16 2012-04-03 Telecommunication Systems, Inc. Enhanced E911 network access for call centers
US8059789B2 (en) 2006-02-24 2011-11-15 Telecommunication Systems, Inc. Automatic location identification (ALI) emergency services pseudo key (ESPK)
US7899450B2 (en) 2006-03-01 2011-03-01 Telecommunication Systems, Inc. Cellular augmented radar/laser detection using local mobile network within cellular network
US9167553B2 (en) 2006-03-01 2015-10-20 Telecommunication Systems, Inc. GeoNexus proximity detector network
US7471236B1 (en) 2006-03-01 2008-12-30 Telecommunication Systems, Inc. Cellular augmented radar/laser detector
US8208605B2 (en) 2006-05-04 2012-06-26 Telecommunication Systems, Inc. Extended efficient usage of emergency services keys
US7966013B2 (en) 2006-11-03 2011-06-21 Telecommunication Systems, Inc. Roaming gateway enabling location based services (LBS) roaming for user plane in CDMA networks without requiring use of a mobile positioning center (MPC)
US8050386B2 (en) 2007-02-12 2011-11-01 Telecommunication Systems, Inc. Mobile automatic location identification (ALI) for first responders
WO2009038726A1 (en) 2007-09-17 2009-03-26 Telecommunication Systems, Inc. Emergency 911 data messaging
US9130963B2 (en) 2011-04-06 2015-09-08 Telecommunication Systems, Inc. Ancillary data support in session initiation protocol (SIP) messaging
US7929530B2 (en) 2007-11-30 2011-04-19 Telecommunication Systems, Inc. Ancillary data support in session initiation protocol (SIP) messaging
KR101185111B1 (ko) * 2008-01-11 2012-09-21 엔에이치엔(주) 웹 런칭 시스템 및 방법
DE102008020343A1 (de) 2008-04-23 2009-10-29 Giesecke & Devrient Gmbh Portabler Datenträger
US8068587B2 (en) 2008-08-22 2011-11-29 Telecommunication Systems, Inc. Nationwide table routing of voice over internet protocol (VOIP) emergency calls
US8892128B2 (en) 2008-10-14 2014-11-18 Telecommunication Systems, Inc. Location based geo-reminders
EP2347395A4 (en) 2008-10-14 2016-11-02 Telecomm Systems Inc Location Based Approach Alert
CN101437224A (zh) * 2008-12-22 2009-05-20 中兴通讯股份有限公司 移动终端软件的更新方法和移动终端
US9301191B2 (en) 2013-09-20 2016-03-29 Telecommunication Systems, Inc. Quality of service to over the top applications used with VPN
US8867485B2 (en) 2009-05-05 2014-10-21 Telecommunication Systems, Inc. Multiple location retrieval function (LRF) network having location continuity
US20120006610A1 (en) 2010-07-09 2012-01-12 Erik Wallace Telematics enhanced mobile device safety interlock
US8315599B2 (en) 2010-07-09 2012-11-20 Telecommunication Systems, Inc. Location privacy selector
US8942743B2 (en) 2010-12-17 2015-01-27 Telecommunication Systems, Inc. iALERT enhanced alert manager
US8688087B2 (en) 2010-12-17 2014-04-01 Telecommunication Systems, Inc. N-dimensional affinity confluencer
WO2012087353A1 (en) 2010-12-22 2012-06-28 Telecommunication Systems, Inc. Area event handling when current network does not cover target area
US8682321B2 (en) 2011-02-25 2014-03-25 Telecommunication Systems, Inc. Mobile internet protocol (IP) location
US8649806B2 (en) 2011-09-02 2014-02-11 Telecommunication Systems, Inc. Aggregate location dynometer (ALD)
US9479344B2 (en) 2011-09-16 2016-10-25 Telecommunication Systems, Inc. Anonymous voice conversation
US8831556B2 (en) 2011-09-30 2014-09-09 Telecommunication Systems, Inc. Unique global identifier header for minimizing prank emergency 911 calls
US9313637B2 (en) 2011-12-05 2016-04-12 Telecommunication Systems, Inc. Wireless emergency caller profile data delivery over a legacy interface
US9264537B2 (en) 2011-12-05 2016-02-16 Telecommunication Systems, Inc. Special emergency call treatment based on the caller
US8984591B2 (en) 2011-12-16 2015-03-17 Telecommunications Systems, Inc. Authentication via motion of wireless device movement
US9384339B2 (en) 2012-01-13 2016-07-05 Telecommunication Systems, Inc. Authenticating cloud computing enabling secure services
US8688174B2 (en) 2012-03-13 2014-04-01 Telecommunication Systems, Inc. Integrated, detachable ear bud device for a wireless phone
US9307372B2 (en) 2012-03-26 2016-04-05 Telecommunication Systems, Inc. No responders online
US9544260B2 (en) 2012-03-26 2017-01-10 Telecommunication Systems, Inc. Rapid assignment dynamic ownership queue
US9338153B2 (en) 2012-04-11 2016-05-10 Telecommunication Systems, Inc. Secure distribution of non-privileged authentication credentials
WO2014028712A1 (en) 2012-08-15 2014-02-20 Telecommunication Systems, Inc. Device independent caller data access for emergency calls
US9208346B2 (en) 2012-09-05 2015-12-08 Telecommunication Systems, Inc. Persona-notitia intellection codifier
US9456301B2 (en) 2012-12-11 2016-09-27 Telecommunication Systems, Inc. Efficient prisoner tracking
US8983047B2 (en) 2013-03-20 2015-03-17 Telecommunication Systems, Inc. Index of suspicion determination for communications request
US9408034B2 (en) 2013-09-09 2016-08-02 Telecommunication Systems, Inc. Extended area event for network based proximity discovery
US9516104B2 (en) 2013-09-11 2016-12-06 Telecommunication Systems, Inc. Intelligent load balancer enhanced routing
US9479897B2 (en) 2013-10-03 2016-10-25 Telecommunication Systems, Inc. SUPL-WiFi access point controller location based services for WiFi enabled mobile devices

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5046082A (en) * 1990-05-02 1991-09-03 Gte Mobile Communications Service Corporation Remote accessing system for cellular telephones
US5109403A (en) * 1990-05-11 1992-04-28 Goldstar Products Co., Limited System for programming of features of a mobile cellular telephone unit
JPH04354445A (ja) * 1991-05-31 1992-12-08 Sony Corp デジタルコードレス電話装置
JPH0594289A (ja) * 1991-10-01 1993-04-16 Daikin Ind Ltd 汎用化アプリケーシヨンシステム
US5418837A (en) * 1993-07-30 1995-05-23 Ericsson-Ge Mobile Communications Inc. Method and apparatus for upgrading cellular mobile telephones
JPH0774744A (ja) * 1993-08-31 1995-03-17 Univ Waseda 情報提供方式
FI955188A (fi) 1995-10-30 1997-06-24 Nokia Telecommunications Oy Matkaviestimen ohjelmiston ylläpito
US5625339A (en) * 1996-01-08 1997-04-29 Minnesota Mining And Manufacturing Company Apparatus for changing the status of magnetic markers in an electronic article surveillance system
JPH09200682A (ja) * 1996-01-12 1997-07-31 Nippon Lsi Card Kk 携帯端末機及びそれを用いた映像・音声情報記録方法
JPH10271562A (ja) * 1997-03-25 1998-10-09 Taito Corp ゲーム動作が可能な移動体通信端末
US6029065A (en) * 1997-05-05 2000-02-22 Nokia Mobile Phones, Ltd. Remote feature code programming for mobile stations
SE512110C2 (sv) 1997-06-17 2000-01-24 Ericsson Telefon Ab L M System och förfarande för att kundanpassa trådlösa kommunikationsenheter
US6125287A (en) * 1997-09-05 2000-09-26 Fujitsu Limited Wireless telephone having an improved user interface
US6449476B1 (en) * 1999-03-12 2002-09-10 Qualcomm Incorporated System and method for independently downloading features into a set of storage locations in a wireless communication device

Also Published As

Publication number Publication date
IL145318A (en) 2006-10-31
JP2002539691A (ja) 2002-11-19
IL145318A0 (en) 2002-06-30
CA2367193C (en) 2008-12-23
CA2367193A1 (en) 2000-09-14
EP1161845A1 (en) 2001-12-12
AU3527300A (en) 2000-09-28
MXPA01009197A (es) 2002-08-12
AU761631B2 (en) 2003-06-05
KR100617669B1 (ko) 2006-08-28
US6449476B1 (en) 2002-09-10
JP2011040074A (ja) 2011-02-24
BR0008913A (pt) 2002-09-24
HK1043013A1 (zh) 2002-08-30
CN1343431B (zh) 2011-07-06
WO2000054530A1 (en) 2000-09-14
JP4638049B2 (ja) 2011-02-23
CN1343431A (zh) 2002-04-03

Similar Documents

Publication Publication Date Title
KR100617669B1 (ko) 무선 통신 장치의 저장 위치 세트에 기능들을 독립적으로 다운로딩하는 시스템 및 방법
EP1410189B1 (en) System and method for organizing field upgradable wireless communication device software
JP4953465B2 (ja) 無線通信デバイスシステムソフトウエアダウンロードの管理のための方法およびデバイス
US7027806B2 (en) System and method for field downloading a wireless communications device software code section
US6804772B2 (en) Dynamic field patchable microarchitecture
US6684324B2 (en) Method for installing two or more operating systems/user interfaces into an electronic device and an electronic device
US20040243993A1 (en) Electronic device supporting multiple update agents
US20020065958A1 (en) System and method for implementing a self-activating embedded application
US5471518A (en) Method and apparatus for non-volatile data storage in radio telephones and the like
KR19990082961A (ko) 셀룰러 또는 휴대용 전화기를 동작하는 방법과 장치
US7328007B2 (en) System and method for organizing wireless communication device system software
US20030069007A1 (en) System and method for updating persistent data in a wireless communications device
EP0966137B1 (en) Method and apparatus for updating data in an electrical device
KR100335370B1 (ko) 개인용 컴퓨터에서 단말기로의 파일 다운 로드 방법
EP1244007A2 (en) Dynamic microcode patching
JP2001209763A (ja) 1チップマイクロコンピュータおよびそれを内蔵したicカード
JP2001093030A (ja) 自動販売機制御装置
KR100578642B1 (ko) 부트 스트랩 로더가 없는 cpu에서 플레쉬 이이피롬을 갱신하는 장치 및 방법
JPH0934515A (ja) プログラミング機器
JP2001022573A (ja) 電子機器
JPH09288567A (ja) 通信機器

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: 20120727

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130729

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 14