KR100638420B1 - 무선 기기에서 기능 객체의 다이내믹한 로딩 및 생성 - Google Patents

무선 기기에서 기능 객체의 다이내믹한 로딩 및 생성 Download PDF

Info

Publication number
KR100638420B1
KR100638420B1 KR1020037002189A KR20037002189A KR100638420B1 KR 100638420 B1 KR100638420 B1 KR 100638420B1 KR 1020037002189 A KR1020037002189 A KR 1020037002189A KR 20037002189 A KR20037002189 A KR 20037002189A KR 100638420 B1 KR100638420 B1 KR 100638420B1
Authority
KR
South Korea
Prior art keywords
fixed
dynamic
entry point
objects
requested
Prior art date
Application number
KR1020037002189A
Other languages
English (en)
Other versions
KR20040004364A (ko
Inventor
폴 이. 제이콥스
스티븐 에이. 스프릭
Original Assignee
콸콤 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 콸콤 인코포레이티드 filed Critical 콸콤 인코포레이티드
Publication of KR20040004364A publication Critical patent/KR20040004364A/ko
Application granted granted Critical
Publication of KR100638420B1 publication Critical patent/KR100638420B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

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

Abstract

미리 로딩된 고정 객체들을 가지고 있는 무선 통신 기기는 사용자의 지시에 따라 무선으로 동적 객체들을 다운로드하고 설치하도록 동작할 수 있다. 무선 통신 기기는 고유 객체 ID를 객체 관리자에 제공함으로써 객체 관리자가 요구된 객체, 그것의 엔트리 지점 및 객체 클래스를 식별하고 그에 따라 요구된 객체를 액티베이션시킬 때, 객체의 실행을 요구하는 복수의 이니시에이터들을 포함한다

Description

무선 기기에서 기능 객체의 다이내믹한 로딩 및 생성{DYNAMIC LOADING AND CREATION OF FUNCTIONAL OBJECTS IN A WIRELESS DEVICE}
본 출원은 이하에서 참고로 통합되어 있는 2001년 5월 18일에 출원된 미국 가출원 제 60/292,051의 우선권을 주장하고 있다.
본 발명은 휴대용 무선 통신 기기에 관한 것이다. 보다 구체적으로, 본 발명은 미리 로드된 고정 객체와 사용자가 인스톨하는 동적 객체를 가지고 있는 무선 통신 기기에 관한 것이다. 무선 통신 기기는 여러 이니시에이터들을 포함하고 있는데, 이니시에이터는 객체 관리자에 고유 객체-ID를 제공함으로써 객체의 실행을 요구하며, 객체 관리자는 요구된 객체, 그것의 엔트리 지점 및 객체 클래스를 식별하고, 요구된 객체를 액티베이션(activation)시킨다.
무선 전화는 요즘 점점 더 일반화되고 있다. 그리고 무선 서비스에 대한 사용자의 요구가 증가함에 따라, 제작자는 이러한 요구를 충족시키고 무선 전화에 더욱 개선된 컴팩트성과 기능을 제공하는 것으로 이에 응답하고 있다. 여러 해에 걸쳐 무선 전화의 기능은 벨소리 볼륨/톤의 설정, 진동(vibrate) 모드의 활용, 메모리로의 전화번호 저장 등을 위한 사용자-조작가능 메뉴를 포함하고 있다. 게다가, 많은 무선 전화는 음성 인식, 비디오 게임, 진단, 네트워크 통신 등과 같은 컴퓨팅 임무를 수행하기 위해 빌트-인(built-in) 프로그램들을 포함하고 있다.
이러한 빌트-인 기능에 추가적으로, 퀄컴 사의 엔지니어들은, 다음 세대의 무선 전화기가 무선 링크를 통해 원격 서버로부터 새로운 프로그램을 스스로 다운로드할 수 있는 능력과 상기 전화기에서 국부적으로 사용하기 위해 상기 프로그램을 스스로 인스톨할 수 있는 능력을 고객들에게 제공하는 것을 생각하고 있다. 이러한 분야에 있어 하나의 도전은 전화기 회로의 서브 구성요소로 하여금 고객이 다운로드한 동적 애플리케이션뿐만 아니라 전화기에 빌트인된 고정 애플리케이션을 개시할 수 있게 하는 충분히 컴팩트하면서 경제적이고 파워풀한 전화 회로를 설계하는 것이다.
대체적으로, 본 발명은, 사전에 여러 고정 객체가 로드되며 사용자의 지시에 응답하여 특정한 동적 객체를 무선으로 다운로드하고 인스톨하는 무선 통신 기기에 관한 것이다. 무선 통신 기기는 여러 이니시에이터들을 포함하고 있는데, 이니시에이터는 객체 관리자에 고유 객체-ID를 제공함으로써 객체의 실행을 요구하며, 객체 관리자는 요구된 객체, 그것의 엔트리 지점 및 객체 클래스를 식별하고, 그에 따라 요구된 객체를 액티베이션시킨다.
보다 구체적으로, 무선 통신 기기는 전화 모듈의 회로에 고정되어 있는 복수의 고정 객체를 가지고 있는 무선 전화 모듈을 포함하고 있다. 각 고정 객체는 고유 객체 ID와 관련되어 있다. 각 고정 객체는 엔트리 지점을 가지고 있는데, 엔트리 지점은 고정 객체를 액티베이션시키는 바람직한 주소나 다른 시작 지점이다. 전화 모듈은 객체 ID, 엔트리 지점 및 각 고정 객체의 객체 클래스를 상관시키는 고정 객체 테이블을 포함하고 있다. 객체 클래스는 객체가 프로그램, 실행될 파일, 액티베이션되는 네트워크 서비스, 디스플레이되는 메뉴 등에 해당하는지 여부를 나타낸다.
전화 모듈은 사용자 인터페이스, 하나 이상의 드라이버들 및 마스터 제어기와 필요에 따라 추가적인 구성 요소를 가지고 있는 복수의 객체 이니시에이터를 포함하고 있다. 전화 모듈은 또한 고정 및 동적 객체를 관리하기 위해 제공된 객체 관리자를 포함하고 있다. 하나의 기능에 상응하여, 객체 관리자는 사용자의 지시에 따라 무선 링크를 통해 하나 이상의 동적 객체를 다운로드한다. 객체 관리자는 고유 객체 ID를 각각의 동적 객체에 할당하며, 또한 나중에 요구가 있을 경우에 각각의 동적 객체에 대한 객체 클래스와 엔트리 지점을 확인하기 위해 동적 객체 조정자를 준비시킨다. 또 다른 기능에 상응하여, 객체 관리자는 상기 고정 및 동적 객체들의 액티베이션을 검사한다. 처음에, 객체 관리자는 객체 이니시에이터로부터 객체를 액티베이션시키라는 요구를 수신한다. 각 요구는 고유하게 요구되는 객체를 식별하게 하는 객체 ID를 포함한다. 각 요구에 응답하여, 객체 관리자는 요구되는 객체에 대한 엔트리 지점과 그것의 객체 클래스를 식별하기 위해 고정 객체 테이블과 동적 객체 조정자 중 적어도 하나를 통해 객체 ID를 참조한다. 객체 관리자는 식별된 엔트리 지점과 객체 클래스에 대하여 적절한 방식으로 요구된 객체를 액티베이션시킨다.
객체 관리자는 고정 객체 테이블을 참조하기 전에 동적 객체 조정자를 참조하도록 구성될 수 있으며, 그 결과 객체 ID와 관련되어 있는 동적 프로그램들이 임의의 고정 프로그램들 보다 먼저(그리고 고정 프로그램을 제외하고) 검색된다. 이것은 사용자로 하여금, 고정 객체들이 전화 모듈의 회로에 설치되어 있더라도, 고정 객체들을 효율적으로 대체할 수 있는 동적 객체들을 다운로드할 수 있도록 한다.
전술한 특징들은 여러 다른 형식으로 구현될 수 있다. 예를 들어, 본 발명은 무선 통신 기기에서 고정 및 동적 객체들을 관리하는 방법을 제공하도록 구현될 수 있다. 또 다른 실시예에서, 본 발명은 무선 통신 기기 또는 그 기기 내에 있는 무선 전화 모듈과 같은 장치들을 제공하도록 구현될 수 있다. 또 다른 실시예에서, 본 발명은 무선 통신 기기에서 고정 및 동적 객체를 관리하기 위해서 디지털 데이터 프로세싱 장치에 의해 실행가능한 기계-판독가능 명령 프로그램을 포함하는 신호 베어링(bearing) 매체를 제공하도록 구현될 수 있다. 또 다른 실시예는 무선 통신 기기에서 고정 및 동적 객체를 관리하도록 구성된 복수의 전기 전도성 요소들을 가지고 있는 로직 회로에 관한 것이다.
본 발명은 사용자에게 다수의 차별화되는 장점들을 제공한다. 간단히, 본 발명은 고정(빌트인된) 객체와 동적(사용자가 다운로드 받은) 객체에 동일한 처리를 적용하기 때문에, 이것은 동일한 메커니즘이 고정 및 동적 객체를 처리하고 액티베이션시키는데 사용될 수 있다는 이유에서 회로의 복잡성을 감소시킨다. 또한, 요구되는 객체 ID들을 인스톨된 동적 객체에 먼저 비교하고, 그 후에 매칭되는 동적 객체들이 없을 경우에만 고정 객체들에 비교함으로써, 본 발명은 사용자로 하여금 효율적으로 동일한 객체 ID를 가지는 고정 객체를 대체할 수 있는 동적 객체를 다운로드할 수 있게 한다. 본 발명은 또한 객체 ID가 유동적으로 다른 여러 객체, 예를 들어, 운용 프로그램, 실행될 파일, 수행될 네트워크 연결, 디스플레이될 메뉴 또는 취해지는 여러 가지 다른 동작들과 연관될 수 있기 때문에 유용하다. 본 발명은 또한 다양한 다른 장점들을 제공할 수 있으며, 이러한 장점들은 본 발명에 대한 다음의 설명으로부터 명백해질 것이다.
도1A는 본 발명에 따른 무선 통신 기기의 블록도이다.
도1B는 본 발명에 따른 무선 전화 모듈 하드웨어 구성요소들 및 상호접속의 블록도이다.
도2는 본 발명에 따른 디지털 데이터 프로세싱 장치의 블록도이다.
도3은 본 발명에 따른 예시적인 신호 베어링 매체를 도시하고 있다.
도4는 본 발명에 따른 고정 및 동적 객체를 관리하기 위한 동작 시퀀스의 흐름도이다.
도5는 본 발명에 따른 액티베이션된 객체들을 해제하기 위한 동작 시퀀스의 흐름도이다.
본 발명의 특징과 본질 및 장점들은 다음의 도면과 상세한 설명으로부터 보다 명확히 이해될 수 있을 것이다.
하드웨어 구성요소 & 상호 연결들(HARDWARE COMPONENTS & INTERCONNECTIONS)
무선 통신 기기
본 발명의 한 측면은 무선 통신 기기에 관한 것이며, 무선 통신 기기는 일 예로 도 1A의 전화 핸드셋(150)에 의해 설명되어 있는 여러 하드웨어 구성요소들 및 상호연결들에 의해 구현될 수 있다. 핸드셋(150)은 스피커(152), 마이크로폰(154), 키패드(159), 디스플레이(166), 안테나(156) 및 핸드셋 회로(158)를 포함한다. 핸드셋 회로(158)는 부분들(160, 164)을 포함한다. 부분(160)은 송수신기(162)를 통해서 스피커(152)와 마이크로폰(154)으로 원격국과 사용자 사이의 양방향 무선 통신을 수행하도록 구성되었다. 예를 들어, 부분(160)은 상업적으로 이용 가능한 여러 종래의 무선 전화기 회로에 의해 제공될 수 있다.
"무선 전화 모듈"로 언급되는 상기 부분(164)은 여러 임무를 수행하기 위해 선택적으로 액티베이션될 수 있는 고정 객체(static object) 및 동적 객체(dynamic object)를 포함한다. 무선 전화 모듈(164)은 고정 및/또는 동적 객체들을 액티베이션시키고자 하는 여러 이니시에이터(initiator)의 요구에 응답하는 객체 관리자를 포함한다. 즉, 이니시에이터는 고유 객체 ID를 상기 객체 관리자에 제공하며, 객체 관리자는 요구된 객체, 그것의 엔트리 지점 및 객체 클래스를 식별하고 요구된 객체를 적절하게 액티베이션시킨다.
무선 전화 모듈
도 1B는 무선 전화 모듈(164)을 보다 자세히 도시하고 있다. 아래에서 보다 자세히 설명되는 바와 같이, 무선 전화 모듈(164)은 로직 회로, 하나 이상의 명령-실행 프로세서 또는 그들의 결합에 의해 제공될 수 있다. 예시적인 실시예에서, 모듈(164)은 플래시-메모리 이미지(102), 마스터 제어기(120) 및 랜덤 접속 메모리(RAM, 104)를 포함한다. 마스터 제어기(120)는 예시되어 있는 것과 같은 특정 주문형 집적회로(ASIC)를 포함하고 있다.
모듈(164)을 어떠한 제한 없이 보다 자세히 살펴보면, 이미지(102)는 예시되어 있는 것과 같이, 플래시 메모리에 첨부된 고정 이미지를 포함하고 있다. 이미지(102)는 복수의 고정 객체들(106), 여러 동적 객체들(110), 객체 관리자(114), 사용자 인터페이스(116) 및 여러 드라이버(118)를 포함하고 있다. 고정 객체(106)는 상기 모듈(164)의 회로에 고정되어 있는 프로그램들(기능 객체들)을 포함하며, 전화 핸드셋 사용자에 의해 변경하거나 삭제되지 않는다. 다시 말하면, 고정 객체들(106)은 기기(150)에 빌트-인되어, 기기(150)로 처음에 전력이 인가되면 이용가능하게 된다. 각 고정 객체(106)는 수 개의 소정의 "객체 클래스들" 중 하나의 동작을 포함하며, 객체 클래스는 다음과 같은 동작들의 종류를 정의한다: (1) 계산 수행, (2) 파일 실행, (3) 소켓 오픈과 같은 네트워크 서비스의 액티베이션, (4) 메뉴 디스플레이, (5) 계산 수행, 또는 (6) 비록 구체적으로 제시되어 있지 않지만 이러한 개시(disclosure)를 통해 이득을 얻는 당업자라면 명확히 이해할 수 있는 다른 동작을 수행.
각 고정 객체는 고유 객체 ID에 관련되어 있으며, 예시적인 실시예에서 32 비트 이진수를 포함하고 있다. 각 고정 객체는 또한 고정 객체의 초기화를 위한 고정 객체의 프로그램 시퀀스에 대한 소정의 지점을 포함하고 있는 "엔트리 지점"을 가지고 있다. 예를 들어, 엔트리 지점은 이미지(102)의 저장 주소를 포함할 수 있다.
고정 객체 테이블(108)은 고정 객체(106)와 관련되어 있다. 테이블(108)은 객체 ID와 각 고정 객체(106)의 엔트리 지점을 리스트한다. 테이블 1은 이하에서 고정 객체 테이블(108)의 예를 도시하고 있다. 비록 상기 테이블(108)이 예시되어 있고 임의의 의도된 제한없이 표로서 참조되고 있지만, 당업자는 테이블(108)이 또한 링크된 리스트 또는 다른 임의의 유용한 데이터 구조로 구현될 수 있다는 것을 이해할 것이다.
테 이 블 1
객체 ID 객체 클래스 엔트리 지점
1111 1111 1111 1111 1111 1111 1111 1111 계산 프로그램 주소 09A7
1111 1010 1101 0001 1111 1010 1011 1000 오픈 파일 주소 A395
1001 1101 0111 1101 1000 1001 0110 1011 오픈 네트워크 설비 주소 F373
1111 1111 1111 1111 1111 1111 1111 1111 디스플레이 메뉴 주소 882B
....그 이상 그 이상 그 이상
상기 고정 객체 테이블(108)은 모듈(164)과 함께 제공되도록 제작될 수 있다.
고정 객체(106)와 같이, 동적 객체(110)는 프로그램 시퀀스를 포함한다. 그러나, 동적 객체(110)는 모듈(164)의 회로에 고정되어 있지 않다. 동적 객체(110)는 이하 보다 자세히 설명되는 것과 같이 핸드셋 사용자에 의해 추가되거나 삭제된다. 고정 객체처럼, 각 동적 객체들은 소정의 객체 클래스 중 하나의 동작을 포함하고 있으며, 각 동적 객체는 고유한 객체 ID와 연관되어 있으며, 각 고정 객체는 고정 객체를 개시하기 위한 고정 객체 프로그램 시퀀스의 소정의 지점을 포함하고 있는 엔트리 지점을 가지고 있다.
동적 객체 조정기(112)는 동적 객체들(108)과 관련되어 있다. 조정기(112)는 동적 객체의 객체 ID에 근거하여 요구되는 동적 객체에 대한 엔트리 지점과 객체 클래스를 찾기 위한 메커니즘을 포함하고 있다. 일 실시예에서, 조정기(112)는 고정 객체 테이블(108)(예를 들어, 테이블, 링크된 리스트 등)과 관련하여 위에서 설명된 여러 형태 중 하나로 구성할 수 있다.
이미지(102)는 또한 복수의 객체 이니시에이터들을 포함하고 있다. 이니시에이터들은 임무를 수행하기 위해 상기 고정 및 동적 객체(106, 110)를 요구하는데 필요한 모듈(164)의 다른 엔티티(entity)들을 포함한다. 이니시에이터는 사용자 인터페이스(116), 하나 이상의 드라이버(118), 마스터 제어기(120) 및 필요에 따라 추가적인 구성 요소를 포함한다. 추가적으로, 모듈(164) 또는 기기(150)에 위치하고 있지 않은 하나 이상의 원격 이니시에이터들이 존재할 수 있다. 예를 들어, 원격 이니시에이터들은 네트워크 연결, 인터넷, 전화 연결 또는 다른 링크를 통해 기기(150)와 무선으로 통신할 수 있다.
사용자 인터페이스(116)는 핸드셋 사용자에 의해 동작되는 입력 기기와 객체 관리자(114), 마스터 제어기(120) 등과 같은 모듈(164)의 여러 구성요소들 사이의 교환 데이터를 관리하는 소프트웨어 프로그램을 포함하고 있다. 예를 들어, 사용자 인터페이스(116)는 디스플레이(166)에 제공되는 메뉴의 사용과 외관을 관리할 수 있다. 기기(150)의 기능에 따라, 드라이버들(118)은 핸드셋(150)의 특정 기기 또는 소프트웨어와 상호작용하는 소프트웨어 프로그램을 포함하며, 드라이버를 사용하는 프로그램들이 포함하지 않는 장치 또는 소프트웨어 인터페이스에 대한 특정 정보를 포함한다. 마스터 제어기(120)는 전화 핸드셋(150)의 모든 동작을 제어하는 최상위 프로세싱 엔터티를 포함하고 있다. 일 실시예에서, 마스터 제어기(120)는 ASIC을 포함한다.
위에서 언급된 바와 같이, 이미지(102)는 또한 객체 관리자(114)를 포함한다. 관리자(114)는 고정 및 동적 객체들(106, 110)의 액티베이션을 관리하도록 구성된 프로세싱 엔티티(예를 들어, 논리 회로 또는 실행 프로그램)를 포함한다. 추가적으로, 객체 관리자(114)는 사용자에 의해 개시되는 동적 객체(110)의 다운로딩과 삭제를 관리한다. 게다가, 이하 보다 자세히 설명되는 것과 같이, 객체 관리자(114)는 고정 객체 테이블(108)과 동적 객체 조정자(112)를 생성하거나 또는 업데이트한다.
모듈(164)의 또다른 구성 요소는 RAM(104)이다. 객체관리자(114)는 고정 및 동적 객체들(106, 110)이 액티베이션될 때, 즉, 객체들(106, 110)을 RAM(104)에 로딩하기 위해 RAM(104)을 이용한다.
예시적인 디지털 데이터 프로세싱 장치
위에서 언급된 바와 같이, 객체들(106, 110), 사용자 인터페이스(116), 드라이버(118), 객체 관리자(114) 및 마스터 제어기(120)는 컴팩트성과 비용 등을 고려하여 다양한 형태로 구현될 수 있다. 이러한 애플리케이션에 근거하여, 도 2에 도시된 디지털 데이터 프로세싱 장치(200)의 상호연결 및 하드웨어 구성들에 의해 예시되는 것과 같이, 이러한 특징들 중 일부나 모두가 하나 이상의 디지털 프로세싱 장치에 의해 구현될 수도 있으며, 이러한 특징들을 구현하기 위해 디지털 프로세싱 장치를 사용하지 않을 수도 있다.
장치(200)는 마이크로프로세서 또는 다른 프로세싱 기계와 같은, 저장매체(204)에 연결되어 있는 프로세서(202)를 포함하고 있다. 본 예에서, 저장매체(204)는 비휘발성 저장매체뿐만 아니라 빠른 접속 저장매체(206)를 포함하고 있다. 빠른 접속 저장매체(206)는 RAM을 포함할 수 있으며, 프로세서(202)에 의해 실행되는 프로그래밍 명령들을 저장할 수 있다. 비휘발성 저장매체(208)는 예를 들어, "하드 드라이브", 테이프 드라이브 또는 다른 적절한 저장 기기와 같은 하나 이상의 마그네틱 데이터 저장 디스크를 포함할 수 있다. 장치(200)는 또한 라인, 버스, 케이블, 전자기 링크 또는 프로세서(202)가 데이터를 장치(200) 외부에 있는 다른 하드웨어와 교환하도록 하기 위한 다른 수단과 같은 입력/출력(210)을 포함한다.
위에서 전술한 설명에도 불구하고, 당업자들은 본 발명의 범위를 벗어남이 없이 위에서 설명한 장치를 다른 구조를 가지는 기계에 의해 구현할 수 있다는 것을 이해할 수 있을 것이다. 예시적으로, 구성요소들(206, 208) 중 하나는 삭제될 수 있다: 게다가, 저장매체(204)는 내장형 상기 프로세서(202) 또는 장치(200)의 외부에 제공될 수 있다.
논리 회로
위에서 설명한 디지털 데이터 프로세싱 장치와는 반대로, 본 발명의 다른 실시예는 하나 이상의 아이템들(106, 110, 114, 116, 118, 120)을 구현하기 위해 컴퓨터로 실행되는 명령들 대신에 논리 회로를 사용할 수 있다. 속도, 비용, 툴링(tooling) 비용 등과 같은 측면에서 애플리케이션의 특정 요구에 근거하여, 논리 회로는 수천 개의 작은 집적 트랜지스터들을 가지고 있는 특정 주문형 집적회로(ASIC)를 구성함으로써 구현될 수 있다. ASIC은 CMOS, TTL, VLSI 또는 다른 적절한 구조에 의해 구현될 수 있다. 다른 대안은 디지털 신호 프로세싱 칩(DSP), 이산 회로(레지스터, 커패시터, 다이오드, 인덕터 및 트랜지스터), 필드 프로그램가능한 게이트 어레이(FPGA), 프로그램가능한 로직 어레이(PLA) 등을 포함한다.
동작
본 발명의 구조적인 특징들을 설명하였기 때문에, 본 발명의 동작에 대한 양상이 이제 설명될 것이다. 위에서 언급된 바와 같이, 본 발명의 동작 양상은 일반적으로 미리 로드된 고정 객체 및 사용자가 인스톨한 동적 객체를 갖는 기기를 동작시키는 방법을 포함하고 있으며, 여기서 고유 객체 ID를 객체 관리자에 제공함으로써 객체 실행을 요구하는 여러 이니시에이터에 응답하여, 객체 관리자는 요구된 객체, 그것의 엔트리 지점 및 객체 클래스를 식별하며 그런 후에 요구된 객체를 액티베이션시킨다. 비록 본 발명이 모든 종류의 계산 기기들에 광범위하게 적용될 수 있지만, 설명된 구조의 특징은 무선 통신 기기를 조정하는데 가장 적합하며, 다음의 설명은 어떠한 의도된 제한없이 본 발명의 애플리케이션에 대하여 설명한다.
신호-베어링(bearing) 매체
부분들(106, 110, 114, 116, 118, 120) 중 하나 이상이 기계로 실행되는 프로그램 시퀀스를 포함하는 실시예에서, 그들은 여러 형태의 신호-베어링 매체로 구현된다. 도 2와 관련해서, 이러한 신호-베어링 매체는, 예를 들어, 직접 또는 간접적으로 프로세서(202)에 의해 접속될 수 있는 저장매체(204) 또는 마그네틱 데이터 저장 디스켓(300)(도 3)을 포함할 수 있다. 명령들은 저장매체(206), 디스켓(300) 또는 다른 매체를 포함하는 다양한 기계-판독가능한 데이터 저장매체에 저장될 수 있다. 몇몇 예들은 직접 접속 저장 매체(예를 들어, 종래의 "하드 드라이브", 저비용 디스크 잔여 어레이(RAID : redundant array of inexpensive disk)나 다른 직접 접속 저장 기기(DASD))로서, 마그네틱 또는 광 테이프와 같은 시리얼-접속 저장매체, 전자 판독가능 메모리(예를 들어, ROM, EPROM 또는 EEPROM), 광 저장매체(예를 들어, CD-ROM, WORM, DVD, 디지털 광 테이프), 종이 "펀치" 카드 또는 아날로그 또는 디지털 전송 매체와 아날로그 및 통신 링크와 무선을 포함하는 다른 적합한 신호-베어링 매체를 포함한다. 본 발명의 예시적인 실시예에서, 상기 기계-판독가능한 명령들은 "C"언어 등과 같은 언어로 컴파일된 소프트웨어 객체 코드를 포함할 수 있다.
논리 회로
위에 설명된 신호-베어링 매체에 대조적으로, 본 발명의 동작은 명령들을 실행하기 위해 프로세서를 사용하는 것 이외에도 (또는 대신에) 논리 회로를 사용하여 구현될 수 있다. 이러한 실시예에서, 논리 회로는 아이템(106, 110, 114, 116, 118, 120) 중 하나 이상으로 구현될 수 있다. 논리 회로는 상기 설명한 것과 같이 여러 다른 유형의 회로를 사용하여 구현될 수 있다.
전체적인 동작 시퀀스
도 4는 본 발명의 일 실시예에 상응하여 고정 및 동적 객체들을 관리하는 시퀀스(400)를 도시하고 있다. 어떠한 의도적인 제한 없이 쉽게 설명하기 위해, 도 4의 예는 상기 설명한 도 1A-1B, 2, 3에서 설명된 구성요소와 관련하여 설명된다.
시퀀스(400)는 단계(402), 예를 들어 사용자(미도시)가 기기(150)에 전력을 공급할 때에 시작된다. 단계(404)에서, 객체 관리자(114)는 고정 및 동적 객체(106, 110)를 나중에 사용할 수 있도록 하기 위한 여러 초기화 작업을 수행한다. 예를 들어, 객체 관리자(114)는 테이블 1에 도시된 고정 객체(106)의 특성을 반영하여 고정 객체 테이블(118)을 구성한다. 또한, 단계(404)에서, 객체 관리자(114)는 조정기(112)를 구현하는데 사용되는 데이터 구조에 따라 동적 객체 조정기(112)를 구성, 포맷, 생성하거나 그렇지 않으면 초기화하기 위해 적절한 조치를 취한다. 예를 들어, 객체 관리자(114)는 동적 객체(110)를 조사할 수 있으며, 설치된 동적 객체(110)의 객체 ID, 객체 클래스 및 엔트리 지점을 동적 개체 조정기(112)로 제공한다.
단계(404) 후에, 객체 관리자(114)는 사용자 요구를 처리하여 동적 객체를 다운로드하여 설치하려는 임의의 사용자 요구를 처리한다. 예를 들어, 기기(150)의 키패드(159)를 통해 입력되는 사용자 명령에 응답하여, 마스터 제어기(120)는 송수신기(162)를 액티베이션시켜 원격 서버로부터 요구된 동적 객체를 다운로드한다. 객체 관리자(114)는 다운로드된 객체를 이미지(102)에 저장시키고 설치하며, 또한 동적 객체 조정기(112)를 업데이트하여 새롭게 다운로드된 동적 객체를 인식한다. 동적 객체 조정기(112)의 업데이트는 고유 객체 ID를 할당하는 단계 및 객체의 클래스와 엔트리 지점을 확인하는 단계를 포함한다. 키패드 또는 다른 사용자가 개시하는 명령에 의해, 예를 들어, 객체 관리자(114)는 또한 하나 이상의 동적 객체(110)를 언인스톨하도록 요청할 수 있다. 단계(404)는 쉽게 설명하기 위해 단순히 순서적으로 설명한 것이며, 초기화(404) 후에 여러번 반복될 수 있다.
단계(408)에서, 객체 관리자(114)는 임의의 객체 이니시에이터들이 고정 또는 동적 객체(106, 110) 중 하나를 액티베이션하라는 요구를 보냈는지 여부를 결정한다. 각각의 이러한 요구는 단지 요구된 객체들의 객체 ID를 포함하는 것이 바람직하다. 게다가, 이니시에이터는 요구된 객체가 고정 객체(106)인지 또는 동적 객체(110)인지 여부에 대해 알 필요는 없다. 액티베이션 요구가 수신될 때, 단계(408)는 단계(410)로 진행하며, 단계(410)에서 객체 관리자(114)는 요구된 객체가 임의의 고정(106) 또는 동적(110) 객체에 상응하는지를 결정한다. 즉, 객체 관리자(114)는 조정기(112)와 고정 객체 테이블(118)을 참조하여 요구된 객체 ID가 그곳에서 발견되는지를 결정한다. 한 실시예에서, 상기 객체 관리자(114)(단계 410)는 처음에 조정기(112)를 먼저 참조하고, 다음으로 요구된 객체가 조정기(112)에 의해 리스트되지 않는 경우에만 테이블(108)을 참조한다. 이러한 배치는 동일한 객체 ID를 갖는 동적 객체에 대한 사용자의 다운로드에 의해 고정 객체의 업데이트를 용이하게 하기 때문에 유리하다. 그 이유는 조정기(112)가 먼저 참조되고 그 다음에 테이블(108)이 참조되어, 이전의(outdated) 고정 객체(108)가 효과적으로 교체되기 때문이다.
단계(410) 후에, 단계(412)는 요구된 객체 ID가 조정기(112) 또는 테이블(108)에서 발견되었는지를 결정한다. 만약, 그렇지 않으면, 객체 관리자(114)는 에러 메시지(414)를 마스터 제어기(120), 디스플레이(166) 또는 다른 곳으로 전달한다. 만약 요구된 객체 ID가 조정기(112)에 의해 발견되면, 객체 관리자(114)는 요구된 객체의 엔트리 지점 및 객체 클래스를 결정하기 위해 적절한 조치를 취한다(단계418). 만약 조정기(112)가 프로그램으로 구현되면, 단계(418)는 조정기(112) 프로그램을 RAM(104)에 로드함으로써 프로그램을 실행한다. 단계(416)에서, 객체 관리자(114)는 (현재 실행 중인) 조정기(112) 프로그램을 활용하여 요구된 객체의 엔트리 지점(단계 416) 및 객체 클래스(420)를 발견한다. 위에서 전술한 것과 반대로, 단계(412)가 요구된 객체 ID를 상기 조정기(112)에서 발견하지 못하고 고정 객체 테이블(108)에서 객체 ID를 발견하면, 객체 관리자(114)는 테이블(108)을 참조하여 객체의 엔트리 지점(단계 416)과 객체 클래스(420)를 알게 된다.
단계(420) 후에, 동적 또는 고정 객체를 위해 수행되었는지 여부에 따라, 객체 관리자(114)는 요구된 객체를 RAM(104)에 로드하고 객체의 클래스와 엔트리 지점에 따라 객체를 실행하기 위해 적절한 조치를 취한다(단계 422).
객체 해제
도 5는 객체가 도 4에 따라 액티베이션되면, 객체의 실행 완료에 대한 응답으로 객체가 차지하고 있던 자원들을 확보하기 위한 시퀀스(500)를 도시하고 있다. 어떤 의도적인 제한 없이 쉽게 설명하기 위해, 도 5의 예는 상기 설명된 도 1A-1B, 2, 3에서 설명된 구성요소들과 관련해서 설명된다.
시퀀스(500)는 단계(502)에서 시작하는데, 주기적 타이머, 비주기적 이벤트, 하드웨어 인터럽트 또는 다른 반복 트리거를 통해 반복적으로 수행된다. 상기 시퀀스(500)는 모든 객체에 대해 반복적으로 수행되거나 또는 액티베이션된 각 객체에 대해 반복적으로 수행된다. 본 발명의 설명에서, 단계(500)는 "현재" 객체로 언급되는 각각의 액티베이션된 객체에 대해 수행된다. 단계(504)에서, 객체 관리자(114)는 현재 객체가 해제되었는지를 결정한다. 객체의 해제는 객체의 시퀀스의 완료와 같은 여러 기준에 근거하여 결정될 수 있다. 만약, 현재 객체가 해제되지 않았다면, 객체 관리자(114)는 대기한(단계 506) 후에 다시 객체의 해제 여부를 결정하기 위한 시도를 하게 된다(단계 504).
현재 객체가 해제되면, 단계(504)는 현재 객체가 고정 객체이면 단계(512)로 진행한다. 단계(512)에서, 객체 관리자(114)는 RAM(104)으로부터 현재 객체를 언로딩함으로써 현재 객체에 할당되었던 자원을 확보한다. 단계(512) 후에, 프로그램(500)은 종료한다(단계 514).
반대로, 만약 현재 객체가 동적 객체이면, 객체 관리자(114)는 조정기(112)가 해제되었는지를 결정한다(단계 508). 만약 조정기(112)가 해제되지 않았다면, 객체 관리자(114)는 대기한(단계 510) 후에 다시 조정기(112)의 해제 여부를 결정하기 위한 시도를 하게 된다(단계 508). 조정기가 해제되면(단계 508), 객체 관리자(114)는 현재 객체에 할당되었던 자원을 확보한다(단계 512). 예를 들어, 객체 관리자(114)는 현재 객체와 현재 객체의 조정기를 RAM(104)로부터 언로딩할 수 있다. 단계(512) 후에, 루틴(500단계)은 종료한다(단계 514)
다른 실시예들
위에서 전술한 설명은 본 발명의 여러 예시적인 실시예를 나타내고 있지만, 당업자는 첨부된 청구항에 의해 정의되는 본 발명의 범위를 벗어남이 없이 여러 수정과 변경을 할 수 있다는 것을 이해할 수 있다. 게다가, 비록 본 발명의 소자들이 단수로서 설명되거나 청구되지만, 단수로 명확히 제한되어 설명되지 않는 한 복수로 생각될 수 있다. 게다가, 당업자는, 설명을 위해 동작 시퀀스가 순차적으로 설명되었다는 것과 상기 특정 순서를 벗어난 여러 변경을 본 발명이 고려한다는 것을 이해할 수 있을 것이다.

Claims (13)

  1. 무선 통신 기기를 동작하는 방법으로서,
    상기 기기의 회로에 고정된 다수의 고정 객체(static object)를 제공하는 단계 -각각의 고정 객체는 고유 객체 ID와 연관되며, 소정의 엔트리 지점(entry point)을 각각 가짐-;
    각각의 고정 객체의 객체 ID와 엔트리 지점을 상관시키는 고정 객체 테이블을 제공하는 단계;
    적어도 사용자 인터페이스, 하나 이상의 드라이버 및 마스터 제어기를 포함하고 있는 다수의 객체 이니시에이터(initiator)들을 제공하는 단계;
    상기 기기 사용자의 지시에 응답하여, 하나 이상의 동적 객체(dynamic object)를 무선으로 다운로드하도록 상기 기기를 동작시키고, 고유 객체 ID를 각각의 동적 객체에 할당하며, 각각의 동적 객체에 대한 엔트리 지점을 확인하도록 구성된 동적 객체 조정기(dynamic object handler)를 준비하는 단계; 및
    상기 고정 및 동적 객체의 액티베이션을 관리하는 단계를 포함하는데,
    상기 액티베이션 관리 단계는,
    객체들을 액티베이션시키고자 하는 상기 객체 이니시에이터들로부터의 요구를 수신하는 단계 -각각의 요구는 객체 ID를 포함함-, 및
    각각의 요구에 응답하여, 상기 요구된 객체에 대한 엔트리 지점을 식별하기 위해 상기 동적 객체 조정기와 상기 고정 객체 테이블 중 적어도 하나를 통해 상기 객체 ID를 참조하는 동작과, 상기 식별된 엔트리 지점을 활용하여 상기 요구된 객체를 액티베이션시키는 동작을 포함하는 액티베이션 동작들을 수행하는 단계를 포함하는 무선 통신 기기 동작 방법.
  2. 제1항에 있어서, 객체를 액티베이션시키고자 하는 각각의 요구는 상기 객체 ID를 포함하는 무선 통신 기기 동작 방법.
  3. 제1항에 있어서, 상기 액티베이션 단계는,
    상기 동적 객체 조정기를 통해 상기 객체 ID를 먼저 참조하는 단계;
    만약 발견되면, 상기 요구된 객체에 대한 엔트리 지점을 식별하기 위해 상기 동적 객체 조정기를 사용하고 상기 식별된 엔트리 지점에 있는 상기 객체를 액티베이션시키는 단계; 및
    만약 발견되지 않으면, 상기 요구된 객체에 대한 엔트리 지점을 식별하기 위해 상기 고정 객체 테이블을 사용하고 상기 식별된 엔트리 지점에 있는 상기 객체를 액티베이션시키는 단계를 포함하는 무선 통신 기기 동작 방법.
  4. 제1항에 있어서, 상기 방법은 상기 무선 전화 모듈의 각 부트업(bootup)에 응답하여, 상기 고정 객체 테이블과 동적 객체 조정기를 구성하는 단계를 더 포함하는 무선 통신 기기 동작 방법.
  5. 제1항에 있어서,
    각각의 객체는 추가적으로 객체 클래스와 연관되며;
    상기 고정 객체 테이블은 추가적으로 각 고정 객체의 객체 ID와 클래스를 상관시키며;
    상기 동적 객체 조정기를 준비하는 동작은 상기 동적 객체 조정기가 추가적으로 동적 객체들의 객체 클래스들을 확인하도록 수행되며;
    상기 액티베이션 동작들을 수행하는 단계는 상기 요구된 객체에 대한 객체 클래스를 식별하기 위해 상기 동적 객체 조정기 및 고정 객체 테이블 중 적어도 하나를 통해 상기 객체 ID를 참조하는 단계를 더 포함하며;
    상기 요구된 객체를 액티베이션시키는 동작은 상기 요구된 객체의 상기 객체 클래스에 따라 수행되는 무선 통신 기기 동작 방법.
  6. 무선 통신 기기의 회로에 고정되며, 고유 객체 ID와 각각 연관되며, 소정의 엔트리 지점을 각각 갖는 복수의 고정 객체들; 각 고정 객체의 객체 ID와 엔트리 지점을 상관시키는 고정 객체 테이블; 사용자 인터페이스, 하나 이상의 드라이버 및 마스터 제어기를 적어도 구비한 복수의 객체 이니시에이터들을 포함하고 있는 무선 통신 기기에서 객체를 관리하는 방법을 수행하도록 디지털 프로세싱 장치에 의해 동작되는 기계-판독가능한 명령 프로그램을 포함하고 있는 신호-베어링 매체로서, 상기 방법은,
    상기 기기 사용자의 지시에 응답하여, 무선으로 하나 이상의 동적 객체를 다운로드하도록 상기 기기를 동작시키고, 고유 객체 ID를 각각의 동적 객체에 할당하며, 각각의 동적 객체에 대한 엔트리 지점을 확인하도록 구성된 동적 객체 조정기를 준비하는 단계; 및
    상기 고정 및 동적 객체들의 액티베이션을 관리하는 단계를 포함하는데,
    상기 액티베이션 관리 단계는,
    객체를 액티베이션시키고자 하는 상기 객체 이니시에이터로부터의 요구를 수신하는 단계 -각각의 요구는 객체 ID를 포함함-, 및
    각 요구에 응답하여, 상기 요구된 객체에 대한 엔트리 지점을 식별하기 위해 상기 동적 객체 조정기와 고정 객체 테이블 중 적어도 하나를 통해서 상기 객체 ID를 참조하는 동작과, 상기 식별된 엔트리 지점을 활용하여 상기 요구된 객체를 액티베이션시키는 동작을 포함한 액티베이션 동작들을 수행하는 단계를 포함하는 신호-베어링(bearing) 매체.
  7. 무선 통신 기기의 회로에 고정되고, 고유 객체 ID와 각각 연관되며, 소정의 엔트리 지점을 각각 갖는 복수의 고정 객체들; 각 고정 객체의 객체 ID와 엔트리 지점을 상관시키는 고정 객체 테이블; 사용자 인터페이스, 하나 이상의 드라이버 및 마스터 제어기를 적어도 구비한 복수의 객체 이니시에이터들을 포함하고 있는 무선 통신 기기에서 객체들을 관리하도록 구성된 복수의 상호연결된 전기 전도성 구성요소의 논리 회로로서,
    상기 논리 회로는 상기 기기 사용자의 지시에 응답하여, 무선으로 하나 이상의 동적 객체들을 다운로드하도록 상기 기기를 동작시키고, 고유 객체 ID를 각각의 동적 객체에 할당하며, 각각의 동적 객체에 대한 엔트리 지점을 확인하도록 구성된 동적 객체 조정기를 준비하며,
    상기 논리 회로는 상기 고정 및 동적 객체들의 액티베이션을 관리하며,
    상기 고정 및 동적 객체들의 액티베이션을 관리하기 위해, 상기 논리 회로는 객체를 액티베이션시키기 위한, 각각의 요구가 객체 ID를 포함하는, 상기 객체 이니시에이터로부터의 요구들을 수신하며, 각 요구에 응답하여, 상기 요구된 객체에 대한 엔트리 지점을 식별하기 위해서 상기 동적 객체 조정기와 고정 객체 테이블 중 적어도 하나를 통해 상기 객체 ID를 참조하는 동작과, 상기 식별된 엔트리 지점을 활용하여 상기 요구된 객체를 액티베이션시키는 동작을 포함하는 액티베이션 동작들을 수행하는 것을 특징으로 하는 논리 회로.
  8. 무선 통신 모듈로서,
    상기 무선 통신 모듈의 회로에 고정되고, 고유 객체 ID와 각각 연관되며, 소정의 엔트리 지점을 각각 갖는 복수의 고정 객체들;
    각 고정 객체의 객체 ID와 엔트리 지점을 상관시키는 고정 객체 테이블;
    사용자 인터페이스, 하나 이상의 드라이버 및 마스터 제어기를 적어도 포함하고 있는 복수의 객체 이니시에이터들; 및
    동작들을 수행하기 위해 프로그래밍된 객체 관리자를 포함하며,
    상기 객체 관리자는 사용자의 지시에 응답하여, 무선으로 하나 이상의 동적 객체들을 다운로드하도록 상기 기기를 동작시키고, 고유 객체 ID를 각각의 동적 객체에 할당하며, 각각의 동적 객체에 대한 엔트리 지점을 확인하도록 구성된 동적 객체 조정기를 준비하는 동작을 수행하고,
    상기 객체 관리자는 상기 고정 및 동적 객체들의 액티베이션을 관리하는 동작을 수행하고,
    상기 고정 및 동적 객체들의 액티베이션을 관리하기 위해, 상기 객체 관리자는 객체들을 액티베이션시키기 위한, 각각의 요구가 객체 ID를 포함하는, 상기 객체 이니시에이터로부터의 요구들을 수신하는 동작을 수행하고, 각 요구에 응답하여, 상기 요구된 객체에 대한 엔트리 지점을 식별하기 위해 상기 동적 객체 조정기와 고정 객체 테이블 중 적어도 하나를 통해서 상기 객체 ID를 참조하는 동작과, 상기 식별된 엔트리 지점을 활용하여 상기 요구된 객체를 액티베이션시키는 동작을 포함하는 액티베이션 동작들을 수행하는 것을 특징으로 하는 무선 전화 모듈.
  9. 제8항에 있어서,
    상기 객체 관리자는,
    처음에 상기 동적 객체 조정기를 통해 상기 객체 ID를 참조하는 동작과,
    만약 발견되면, 상기 요구된 객체에 대한 엔트리 지점을 식별하기 위해 상기 동적 객체 조정기를 사용하고 상기 식별된 엔트리 지점에 있는 상기 객체를 액티베이션시키는 동작과, 그리고
    만약 발견되지 않으면, 상기 요구된 객체에 대한 엔트리 지점을 식별하기 위해 상기 고정 객체 테이블을 사용하고 상기 식별된 엔트리 지점에 있는 상기 객체를 액티베이션시키는 동작을 포함하는 액티베이션 동작들을 수행하도록 프로그래밍된 것을 특징으로 하는 무선 전화 모듈.
  10. 제8항에 있어서,
    상기 객체 관리자는 상기 무선 전화 모듈의 각 부트업(bootup)에 응답하여, 상기 고정 객체 테이블과 동적 객체 조정기를 준비하는 동작을 수행하도록 추가적으로 프로그래밍된 것을 특징으로 하는 무선 전화 모듈.
  11. 제8항에 있어서,
    각 객체는 연관된 객체 클래스를 가지고 있으며;
    상기 고정 객체 테이블은 추가적으로 각 고정 객체의 객체 ID와 클래스를 상관시키며;
    상기 객체 관리자는,
    상기 동적 개체 조정기가 동적 개체들의 객체 클래스들을 확인하도록 추가적으로 구성될 수 있도록 함으로써 상기 동적 객체 조정기를 준비하는 동작을 수행하도록 프로그래밍되며,
    상기 액티베이션 동작들이 상기 요구된 객체에 대한 객체 클래스를 식별하기 위해 상기 동적 객체 조정기 및 고정 객체 테이블 중 적어도 하나를 통해 상기 객체 ID를 참조하는 동작을 추가로 포함하도록 프로그래밍되며,
    상기 요구된 객체의 상기 객체 클래스에 따라 상기 요구된 객체를 액티베이션시키는 동작을 수행하도록 프로그래밍된 것을 특징으로 하는 무선 전화 모듈.
  12. 무선 전화 모듈로서,
    상기 무선 전화 모듈의 회로에 고정되고, 고유 객체 ID와 각각 연관되며, 소정의 엔트리 지점을 각각 가지고 있는 복수의 고정 객체들;
    각 고정 객체의 객체 ID와 엔트리 지점을 상관시키는 고정 객체 테이블 수단;
    사용자 인터페이스, 하나 이상의 드라이버 및 마스터 제어기를 적어도 포함하고 있는 복수 객체 이니시에이터들; 및
    객체들을 관리하기 위한 객체 관리자 수단을 포함하며,
    상기 객체 관리자 수단은 사용자의 지시에 응답하여, 무선으로 하나 이상의 동적 객체들을 다운로드하도록 상기 기기를 동작시키고, 고유 객체 ID를 각각의 동적 객체에 할당하고, 각각의 동적 객체에 대한 엔트리 지점을 확인하도록 구성된 동적 객체 조정기를 준비하며,
    상기 객체 관리자 수단은 상기 고정 및 동적 객체들의 액티베이션을 관리하며,
    상기 고정 및 동적 객체들의 액티베이션을 관리하기 위해, 상기 객체 관리자 수단은 객체를 액티베이션시키기 위한, 각각의 요구가 객체 ID를 포함하는, 상기 객체 이니시에이터로부터의 요구들을 수신하며, 각각의 요구에 응답하여, 상기 요구된 객체에 대한 엔트리 지점을 식별하기 위해 상기 동적 객체 조정기 및 고정 객체 테이블 중 적어도 하나를 통해서 상기 객체 ID를 참조하는 동작과, 상기 식별된 엔트리 지점을 활용하여 상기 요구된 객체를 액티베이션시키는 동작을 포함하는 액티베이션 동작들을 수행하는 것을 특징으로 하는 무선 전화 모듈.
  13. 무선 통신 기기로서,
    스피커;
    마이크로폰;
    안테나 및 송수신기; 및
    상기 스피커, 마이크로폰 및 송수신기에 연결된 탑재형(on-board) 회로 -상기 회로는 상기 송수신기를 통해 상기 스피커와 마이크로폰으로 원격국과 사용자 사이의 양방향 무선 통신을 수행하도록 구성됨- 를 포함하며,
    상기 회로는 추가적으로 무선 전화 모듈을 포함하며,
    상기 무선 전화 모듈은,
    상기 기기의 회로에 고정되고, 고유 객체 ID와 각각 연관되며, 소정의 엔트리 지점을 각각 갖는 복수의 고정 객체들;
    각 고정 객체의 객체 ID와 엔트리 지점을 상관시키는 고정 객체 테이블;
    사용자 인터페이스, 하나 이상의 드라이버 및 마스터 제어기를 적어도 포함하고 있는 복수의 객체 이니시에이터들; 및
    동작들을 수행하도록 프로그래밍된 객체 관리자를 포함하며,
    상기 객체 관리자는 상기 기기 사용자의 지시에 응답하여, 무선으로 하나 이상의 동적 객체들을 다운로드하도록 상기 기기를 동작시키고, 고유 객체 ID를 각각의 동적 객체에 할당하며, 각각의 동적 객체에 대한 엔트리 지점을 확인하도록 구성된 동적 객체 조정기를 준비하는 동작을 수행하고,
    상기 객체 관리자는 상기 고정 및 동적 객체들의 액티베이션을 관리하는 동작을 수행하고,
    상기 고정 및 동적 객체들의 액티베이션을 관리하기 위해, 상기 객체 관리자는 객체들을 액티베이션시키기 위한, 각각의 요구가 객체 ID를 포함하는, 상기 객체 이니시에이터로부터의 요구들을 수신하는 동작을 수행하고, 각 요구에 응답하여, 상기 요구된 객체에 대한 엔트리 지점을 식별하기 위해 상기 동적 객체 조정기와 고정 객체 테이블 중 적어도 하나를 통해서 상기 객체 ID를 참조하는 동작과, 상기 식별된 엔트리 지점을 활용하여 상기 요구된 객체를 액티베이션시키는 동작을 포함하는 액티베이션 동작들을 수행하는 것을 특징으로 하는 무선 통신 기기.
KR1020037002189A 2001-05-18 2002-05-17 무선 기기에서 기능 객체의 다이내믹한 로딩 및 생성 KR100638420B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US29205101P 2001-05-18 2001-05-18
US60/292,051 2001-05-18
US10/133,693 US6941133B2 (en) 2001-05-18 2002-04-25 Dynamic loading and creation of functional objects in a wireless device
US10/133,693 2002-04-25
PCT/US2002/015413 WO2002096074A2 (en) 2001-05-18 2002-05-17 Dynamic loading and creation of functional objects in a wireless device

Publications (2)

Publication Number Publication Date
KR20040004364A KR20040004364A (ko) 2004-01-13
KR100638420B1 true KR100638420B1 (ko) 2006-10-24

Family

ID=26831601

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037002189A KR100638420B1 (ko) 2001-05-18 2002-05-17 무선 기기에서 기능 객체의 다이내믹한 로딩 및 생성

Country Status (20)

Country Link
US (3) US6941133B2 (ko)
EP (1) EP1388247B1 (ko)
JP (1) JP4170097B2 (ko)
KR (1) KR100638420B1 (ko)
CN (1) CN1275447C (ko)
AR (1) AR033901A1 (ko)
AT (1) ATE421222T1 (ko)
AU (1) AU2002309845B2 (ko)
BR (1) BRPI0209801B1 (ko)
CA (1) CA2447326C (ko)
DE (1) DE60230866D1 (ko)
ES (1) ES2318012T3 (ko)
HK (1) HK1073035A1 (ko)
IL (2) IL158814A0 (ko)
MX (1) MXPA03010513A (ko)
NZ (1) NZ529447A (ko)
PE (1) PE20030017A1 (ko)
RU (1) RU2291573C2 (ko)
TW (1) TWI226180B (ko)
WO (1) WO2002096074A2 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6941133B2 (en) * 2001-05-18 2005-09-06 Qualcomm Inc. Dynamic loading and creation of functional objects in a wireless device
US20030220988A1 (en) * 2002-05-22 2003-11-27 Hymel James A. Method and electronic device for establishing an interface to control an accessory device
US7458061B2 (en) * 2002-06-14 2008-11-25 Sun Microsystems, Inc. Protecting object identity in a language with built-in synchronization objects
US8737981B2 (en) 2002-12-19 2014-05-27 Qualcomm Incorporated Downloadable configuring application for a wireless device
AR047299A1 (es) * 2002-12-19 2006-01-18 Qualcomm Inc Aplicacion descargable para la configuracion de un dispositivo inalambrico
CN101193452B (zh) * 2007-03-15 2011-03-16 中兴通讯股份有限公司 自动交换光网络中控制模块注册的方法及其应用方法
US8533847B2 (en) * 2007-05-24 2013-09-10 Sandisk Il Ltd. Apparatus and method for screening new data without impacting download speed
US8965950B2 (en) * 2007-06-18 2015-02-24 Microsoft Corporation Decoupled mechanism for managed copy client applications and e-commerce servers to interoperate in a heterogeneous environment
CN101277265B (zh) * 2008-05-07 2011-05-04 浙江大学 一种无线传感网络中加速加载elf文件的方法
US8539478B2 (en) 2008-06-20 2013-09-17 International Business Machines Corporation Dynamic web installer
US8205060B2 (en) * 2008-12-16 2012-06-19 Sandisk Il Ltd. Discardable files
US9015209B2 (en) * 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
US8375192B2 (en) * 2008-12-16 2013-02-12 Sandisk Il Ltd. Discardable files
US9104686B2 (en) 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
US9020993B2 (en) 2008-12-16 2015-04-28 Sandisk Il Ltd. Download management of discardable files
US8849856B2 (en) 2008-12-16 2014-09-30 Sandisk Il Ltd. Discardable files
US20100153474A1 (en) * 2008-12-16 2010-06-17 Sandisk Il Ltd. Discardable files
US20100235329A1 (en) * 2009-03-10 2010-09-16 Sandisk Il Ltd. System and method of embedding second content in first content
US20100333155A1 (en) * 2009-06-30 2010-12-30 Philip David Royall Selectively using local non-volatile storage in conjunction with transmission of content
CN101754356B (zh) * 2010-01-20 2015-05-20 中兴通讯股份有限公司 移动终端及其动态应用的管理方法
US8549229B2 (en) 2010-08-19 2013-10-01 Sandisk Il Ltd. Systems and methods for managing an upload of files in a shared cache storage system
US8463802B2 (en) 2010-08-19 2013-06-11 Sandisk Il Ltd. Card-based management of discardable files
US9721387B2 (en) * 2010-12-21 2017-08-01 Cyberlink Corp. Systems and methods for implementing augmented reality
US8788849B2 (en) 2011-02-28 2014-07-22 Sandisk Technologies Inc. Method and apparatus for protecting cached streams
CN102866916B (zh) * 2012-09-07 2014-12-24 华为终端有限公司 一种终端及动态加载应用程序界面的方法
US10756795B2 (en) 2018-12-18 2020-08-25 XCOM Labs, Inc. User equipment with cellular link and peer-to-peer link
US11063645B2 (en) 2018-12-18 2021-07-13 XCOM Labs, Inc. Methods of wirelessly communicating with a group of devices
US11330649B2 (en) 2019-01-25 2022-05-10 XCOM Labs, Inc. Methods and systems of multi-link peer-to-peer communications
US10756767B1 (en) 2019-02-05 2020-08-25 XCOM Labs, Inc. User equipment for wirelessly communicating cellular signal with another user equipment

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE59508793D1 (de) * 1994-08-31 2000-11-23 Siemens Ag Verfahren zur Verwaltung dynamischer Objekte in einer objektorientiert programmierten Einrichtung
FI955188A (fi) 1995-10-30 1997-06-24 Nokia Telecommunications Oy Matkaviestimen ohjelmiston ylläpito
WO1997050222A1 (en) 1996-06-27 1997-12-31 Mci Communications Corporation Wireless smart phone
US6029065A (en) 1997-05-05 2000-02-22 Nokia Mobile Phones, Ltd. Remote feature code programming for mobile stations
US6636489B1 (en) * 1997-11-03 2003-10-21 Bell South Wireless Data. L.P. Wireless management system and a method for an automated over-the-air managing process for wireless communication device
DE19801576C2 (de) * 1998-01-19 2002-04-11 Deutsche Telekom Mobil Verfahren zur endgeräteunterstützten Menüführung in Mobilkommunikationssystemen
JP2000023251A (ja) 1998-06-26 2000-01-21 Kokusai Electric Co Ltd 移動通信機及び移動通信システム
FR2785759B1 (fr) * 1998-11-05 2000-12-01 Sagem Procede de programmation d'un appareil, notamment d'un telephone mobile
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
AUPQ439299A0 (en) * 1999-12-01 1999-12-23 Silverbrook Research Pty Ltd Interface system
US6529724B1 (en) * 1999-10-26 2003-03-04 Qualcomm Incorporated System and method for managing contact information based on use of a communications device
US6684082B1 (en) * 1999-12-22 2004-01-27 Nokia Corporation Adaptive system selection database
US6993328B1 (en) 2000-05-08 2006-01-31 Nokia Corporation Method for over the air mobile station management
US6941133B2 (en) * 2001-05-18 2005-09-06 Qualcomm Inc. Dynamic loading and creation of functional objects in a wireless device

Also Published As

Publication number Publication date
BRPI0209801B1 (pt) 2016-06-21
US20060003811A1 (en) 2006-01-05
PE20030017A1 (es) 2003-01-29
CA2447326C (en) 2010-12-07
BR0209801A (pt) 2006-02-07
DE60230866D1 (de) 2009-03-05
EP1388247B1 (en) 2009-01-14
WO2002096074A2 (en) 2002-11-28
RU2291573C2 (ru) 2007-01-10
US20020187778A1 (en) 2002-12-12
CA2447326A1 (en) 2002-11-28
MXPA03010513A (es) 2004-07-01
ATE421222T1 (de) 2009-01-15
US6941133B2 (en) 2005-09-06
CN1593054A (zh) 2005-03-09
TWI226180B (en) 2005-01-01
AR033901A1 (es) 2004-01-07
CN1275447C (zh) 2006-09-13
NZ529447A (en) 2007-02-23
RU2003136422A (ru) 2005-05-10
US20070157217A1 (en) 2007-07-05
US7424290B2 (en) 2008-09-09
IL158814A (en) 2009-06-15
IL158814A0 (en) 2004-05-12
KR20040004364A (ko) 2004-01-13
AU2002309845B2 (en) 2006-10-19
US7190951B2 (en) 2007-03-13
EP1388247A2 (en) 2004-02-11
JP2005515654A (ja) 2005-05-26
HK1073035A1 (en) 2005-09-16
WO2002096074A3 (en) 2003-05-15
JP4170097B2 (ja) 2008-10-22
ES2318012T3 (es) 2009-05-01

Similar Documents

Publication Publication Date Title
KR100638420B1 (ko) 무선 기기에서 기능 객체의 다이내믹한 로딩 및 생성
AU2002309845A1 (en) Dynamic loading and creation of functional objects in a wireless device
US9092286B2 (en) System to automatically process components on a device
US7747834B2 (en) Memory manager for an embedded system
CN110225487A (zh) Profile生成、获取方法及相关设备和存储介质
US20080119178A1 (en) Allocating Compression-Based Firmware Over the Air
US8144873B2 (en) User interface technique for selection and activation of wireless service among multiple transport carriers
JP5248657B2 (ja) デバイス上におけるレジストリベースの自動インストール及びコンポーネントハンドリングのためのシステム
CN110413259B (zh) Android服务框架、实现扩展服务的方法及装置
CN114020291A (zh) 一种加载应用和升级应用的方法及终端设备
US20210304068A1 (en) Data processing system and data processing method
CN108958807A (zh) 一种终端系统启动方法及终端
CN115827049A (zh) 基于配置的缓存切换方法、电子设备及存储介质
JP2018518760A (ja) アプリケーション加速方法およびデバイス
CN113515299A (zh) 软件开发工具包sdk热升级方法、装置、设备及存储介质
KR100627819B1 (ko) 왑 브라우저의 기능을 이용하여 애플리케이션을 제어하는방법
US11190523B1 (en) Post-activation installation of custom applications with system privileges
CN115480818A (zh) 应用的存储方法及相关设备
CN116909546A (zh) 一种软件框架的配置方法、装置及存储介质
KR20130142311A (ko) 응용프로그램의 처리 지연을 줄이기 위한 방법 및 그 전자 장치
KR20100069843A (ko) 소프트웨어 운용 방법 및 이를 이용하는 휴대 단말기

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120927

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150930

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160929

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 14