KR20010085233A - 맨-머신 인터페이스에 기초하는 마크업 언어를 이용하는무선 통신 장치 - Google Patents

맨-머신 인터페이스에 기초하는 마크업 언어를 이용하는무선 통신 장치 Download PDF

Info

Publication number
KR20010085233A
KR20010085233A KR1020007011194A KR20007011194A KR20010085233A KR 20010085233 A KR20010085233 A KR 20010085233A KR 1020007011194 A KR1020007011194 A KR 1020007011194A KR 20007011194 A KR20007011194 A KR 20007011194A KR 20010085233 A KR20010085233 A KR 20010085233A
Authority
KR
South Korea
Prior art keywords
markup language
page
url
data
tag
Prior art date
Application number
KR1020007011194A
Other languages
English (en)
Inventor
아담 드부어
마이클 디. 에거스
Original Assignee
추후제출
지오워크스 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22010325&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20010085233(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 추후제출, 지오워크스 코포레이션 filed Critical 추후제출
Publication of KR20010085233A publication Critical patent/KR20010085233A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/72445User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9562Bookmark management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • 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/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0267Wireless devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/274Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc
    • H04M1/2745Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips
    • H04M1/27467Methods of retrieving data
    • H04M1/2748Methods of retrieving data by matching character strings
    • 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
    • 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/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • 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/72469User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/56Details of telephonic subscriber devices including a user help function
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Mathematical Physics (AREA)
  • Telephone Function (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Document Processing Apparatus (AREA)
  • Digital Computer Display Output (AREA)

Abstract

시스템, 방법 및 소프트웨어 제품은 마크업 언어 기초 맨-머신 인터페이스를 구비하는 무선 통지 장치를 제공한다. 맨-머신 인터페이스는, 전화번호의 다이얼, 전화 호출에 대한 응답, 메시지 작성, 메시지 송신, 메시지 수신, HTML 등의 마크업 언어로 정의되고 무선 통신 장치에 의해 실행되는 브라우저 프로그램에 의해 액세스되는 구성 세팅의 설정을 비롯하여, 무선 통신 장치의 다양한 기능성에 대한 사용자 인터페이스를 제공한다. 사용자 인터페이스를 통하여 사용자에게 제공되는 모든 데이터는 마크업 언어 기초 페이지를 통하여 제공되기 때문에, 이러한 기능은 인터넷 또는 웹 페이지와 같은 월드 와이드 웹에 대한 직접적인 액세스가 장치의 원격 통신 기능에 결합되고, 웹 컨텐트가 다른 유형의 데이터에 심리스하게 결합될 수 있게 한다. 브라우저는 종래의 HTML의 네비게이션, 논리 및 디스플레이 기능을 강화하는 새로운 태그 및 속성을 제공하는 확장된 형태의 HTML을 프로세스하고, 특히 HTML이 소형 스크린 디스플레이를 구비하는 무선 통신 장치 상에서 디스플레이되고 사용될 수 있도록 개조된다. 무선 통신 장치는, 브라우저, 이식 가능 컴포넌트의 세트, 및 이식성 레이어를 포함한다. 브라우저는 무선 통신 장치의 다양한 기능을 액세스하기 위한 상이한 프로토콜을 구현하는 프로토콜 핸들러, 및 컨텐트를 페치하여 스크린 디스플레이 상에 출력하는 다양한 컨텐트 디스플레이 메커니즘을 구형하는 컨텐트 핸들러를 포함한다.

Description

맨-머신 인터페이스에 기초하는 마크업 언어를 이용하는 무선 통신 장치{WIRELESS COMMUNICATION DEVICE WITH MARKUP LANGUAGE BASED MAN-MACHINE INTERFACE}
무선 통신 장치는 개인 통신 수요에 따라 점점 더 보편화되어 가고 있다. 이러한 장치로는, 예를 들어 셀룰러폰, 영숫자식 페이저, "팜탑" 컴퓨터 및 개인용 정보 매니저(personal information manager, PIMS)와, 그 외에 소형의 휴대용 통신 및 컴퓨터 장치가 있다. 무선 통신 장치는 그 특성 면에서 상당히 발전되어 있으며, 현재는 전화 호출과 같은 기본적인 지점 대 지점간 통신 기능은 물론, 전자 메일, 팩시밀리 송수신, 인터넷 액세스 및 월드 와이드 웹의 브라우징과 같은 고차원적인 통신 기능까지 지원하고 있다.
일반적으로, 무선 통신 장치는 다양한 송수화기 기능 및 기지국에 대한 원격 통신 접속을 관리하는 소프트웨어를 구비한다. 전형적으로, 모든 전화 기능을 관리하는 소프트웨어는 전화 스택(telephone stack)으로 칭하고, 스크린 표시를 관리하고 키 조작에 의한 사용자 입력을 처리하는 소프트웨어는 맨-머신-인터페이스(man-machine interface) 또는 "MMI"로 칭한다. MMI는 무선 통신 장치의 소프트웨어 중 최상위에 있으며 가시성이 가장 높은 레이어이다.
대부분의 무선 통신 장치는 크기면에서 이미 충분히 소형화되어 있기 때문에, 성공적인 장치에 대한 결정적인 요인은 특성 세트와 사용의 용이성일 것이다. 따라서, 사용하기 쉽고 특성 세트들(종종 서로 대치되기도 함)이 풍부한 무선 통신 장치를 신속하게 설계, 테스트 및 보급하는 능력은 성공적인 제품 성능의 필수적인 요소가 될 것이다.
그러나, 무선 통신 장치는, 설계 및 구현 면에서, 유사한 원격 통신 특성을 갖는 노트북과 데스크탑 컴퓨터와 같은 대형 프로세서 계열의 시스템에서는 발생되지 않던 다양한 고난도의 문제점들을 제공하고 있다. 이러한 설계 상의 문제점들로는, 사용자 인터페이스의 설계, 특정 서비스 운영자를 위한 장치의 주문 생산, 인터넷 및 월드 와이드 웹과 다른 통신 기능들의 일체화, 및 소프트웨어 개발 프로세스 등이 있다.
사용자 인터페이스 설계 제약
무선 통신 장치는, 데스크탑 및 노트북 컴퓨터와는 달리, 스크린 디스플레이의 크기가 초소형이어야 한다는 형태 인자를 갖는다. 전형적으로, 데스크탑 컴퓨터는, 크기가 최소 14인치이고 해상도가 640×480 내지 1024×768 픽셀인 디스플레이를 구비한다. 반면에, 무선 통신 장치는, 전형적으로 25×25㎜ 내지 80×80㎜ 크기이고 90×60 내지 120×120 픽셀의 해상도를 갖는 스크린이나, 데스크탑 또는노트북 스크린 크기의 약 3-8%인 스크린을 구비한다. 이러한 조건에 의한 직접적인 결과로서, 무선 통신 장치의 사용자 인터페이스 설계는, 텍스트, 이미지 및 아이콘 등을 디스플레이하기 위한 작은 스크린 영역만을 이용하여, 전자 메일, 팩시밀리 및 웹 브라우징과 같은 데스크탑 컴퓨터와 동일한 특성을 제공해야만 한다. 종래의 웹 컨텐트(예를 들어, 양식 등)는 종래의 데스크탑 컴퓨터의 대형 스크린 크기를 전제로 하고 있기 때문에, 이러한 특성들을 제공하기 위한 사용자 인터페이스를 설계하는 데에 있어서의 상기 문제점은 웹 기반 컨텐트를 다룰 때에 특히 중요해진다. 이러한 양식들을 무선 통신 장치의 소형 스크린에 디스플레이하면, 컨텐트 사용에 있어서 혼란과 어려움이 발생하게 된다.
무선 통신 장치의 사용자 인터페이스의 또 다른 한계는 사용자가 이용할 수 있는 입력 세트가 상당히 제한되어 있다는 것이다. 종래의 데스크탑 또는 노트북 컴퓨터는, 마우스, 트랙볼 및 조이스틱과 같이 커서에 기초하는 포인팅 장치와 풀-키보드를 구비한다. 따라서, 스크롤 바를 클릭 및 드래그하고, 하이퍼텍스트 링크를 클릭하고, HTML 양식 등의 양식 필드들 사이를 키보드로 탭함으로써, 웹 컨텐트에 대한 네비게이션을 실행할 수 있다. 전형적으로, 무선 통신 장치는 업/다운키와 1 내지 3개의 소프트키로 이루어진 매우 제한된 수의 입력을 갖는다.
따라서, 무선 통신 장치의 한정된 스크린 해상도와 입력 기능을 보상하는, 웹 컨텐트에 대한 사용자 인터페이스의 주문 생산 및 이용을 가능하게 하는 무선 통신 장치의 MMI에 대한 소프트웨어 아키텍처를 제공하는 것이 바람직하다.
전화 통신과 인터넷/웹 기능의 결합
인터넷과 월드 와이드 웹의 출현에 따라, 고성능 무선 통신 장치는 완전한 인터넷 액세스와 월드 와이드 웹에 대한 직접적인 브라우징 기능을 제공하고 있다. 현재의 장치는 엄격한 형식의 인터페이스를 통해 인터넷 및 월드 와이드 웹에 대한 액세스를 제공하며, 사용자는 전화 호출, 저장된 전화번호부의 액세스, 팩시밀리 전송 등을 위한 본래의 원격 통신 모드에서 무선 통신 장치를 이용할 것인지 또는 브라우저 모드에서 무선 통신 장치를 이용할 것인지를 선택해야 한다. "브라우저 모드"에서, 사용자는 전화를 걸어 통화를 할 수 없다. 마찬가지로, 전화 통신 모드에서는 웹사이트에 액세스할 수 없다. 따라서, 사용자는, 브라우징 중에 획득한 웹 컨텐트의 항목을 자신의 전화번호부나 이메일 메시지에 삽입하는 것과 같이, 전화 기능의 상황에서 웹 컨텐트가 다운로드 및 조작되게 하는 심리스 방식(seamless fashion)으로 무선 통신 장치를 조작할 수 없다.
따라서, 무선 통신 장치의 전화 통신 및 다른 제어에 인터넷 및 월드 와이드 웹이 심리스 방식으로 결합되어, 사용자가 무선 통신 장치의 모든 기능에 언제든지 액세스할 수 있게 하는 MMI를 제공하는 것이 바람직하다.
MMI의 소프트웨어 엔지니어링
전형적으로, MMI는 전화 제어 기능을 관리하는 코드 대부분에서 모듈로서 구현된다. MMI는 그 외의 전화 제어 소프트웨어들과 동일한 컴퓨터 언어로 코딩된다. 따라서, 전체 전화 제어 소프트웨어를 제작하는 데에 이용된 것과 동일한 프로그래밍 스킬과 툴을 이용하지 않으면, MMI를 수정하기가 어렵다. 즉, MMI의 일부분을 수정하기 위해서는, 기본적인 전화 통신 프로그래밍의 세부 사항 및 컴퓨터언어에 익숙한 숙련된 프로그래머의 서비스가 필요한 것이다. 또한, MMI는 전화 제어 소프트웨어를 위한 코드의 필수적인 부분이기 때문에, MMI에 새로운 변경 사항을 구현한다는 것은, 전화 제어 소프트웨어의 새로운 이미지를 컴파일하고 새로운 MMI 특성이 다른 코드 모듈 전체와 호환 가능한지를 테스트한다는 것을 의미한다. 요약하면, MMI 소프트웨어를 수정함으로써, 송수화기가 오작동하게 하거나 다른 사용자들에 대해 네트워크 상의 서비스를 혼란시킨다는 문제점들이 발생할 수 있다는 것이다. 전화 제어 소프트웨어의 임의의 부분에 대한 변경은, 그 정도에 따라, 버그를 유발하거나 전체 무선 통신 장치의 새로운 유형의 승인을 요구하게 될 수도 있다. 따라서, MMI 기능의 구현과 전화 제어 소프트웨어의 구현을 분리하여, 제조사들이 특정 소비자의 요구에 적합한 MMI 설계를 신속하고 안전하게 주문 생산할 수 있게 하는 것이 바람직하다.
서비스 운영자에 대한 MMI의 주문 생산 : "브랜드화(branding)"
무선 통신 장치 산업에서, 셀룰러 서비스 제공자 등의 서비스 운영자들은, 자신의 무선 통신 장치 제품을 적극적으로 브랜드화하고 사용자에게 새로운 전화 통화 특성 및 네트워크 서비스를 제공함으로써 소비자들을 확보하는 데에 관심이 있다. 이들 중 중요한 것은, 사용자에게 가치를 추가로 제공하는 음성 메일, 전자 메시징, 인터넷 액세스 등의 서비스들이다. "브랜드화"는, 서비스 운영자에 의해 제공되는 것임을 사용자에게 인식시키는 휘장, 로고 또는 다른 표시를 무선 통신 장치의 MMI에 삽입하는 것이다.
따라서, 통상적으로 기초적인 하드웨어 부품만을 제공하는 무선 통신 장치제조사들은, 서비스 운영자들이 이러한 특성 및 서비스를 소프트웨어 프로그래밍에 의해 무선 통신 장치에 일체화시키고 그 특성을 브랜드화하기 위한 메커니즘을 제공할 수 있게 해야 한다. 핵심적인 문제점은, 이러한 서비스들이 기능 및 조건 면에서 상이하고, 사용자들에게 현재의 서비스 및 특성들을 제공하기가 어렵다는 것이다.
전통적으로, 무선 통신 장치 제조사들은, 자신의 통신 서비스와 함께 무선 통신 장치를 판매하는 서비스 운영자들 각각에 대해 특별 버전의 무선 통신 장치 제어 소프트웨어를 제공함으로써 이러한 문제점을 해결해왔다. 무선 통신 장치의 특별 버전은 장치 제조사의 브랜드화, 운용자의 브랜드화 및 서비스 운영자가 지원하는 특성 및 서비스에 대한 지원을 포함한다. 이러한 특별 버전들 각각은, 새로운 특성 또는 서비스가 소비자에게 제공됨에 따라 테스트, 유지 및 수정되는 상이한 소프트웨어로 된다. 따라서, 소프트웨어 개발 비용 및 유지 상의 문제점이 상당히 증가한다. 또한, 무선 통신 장치 제조사가 서비스 운영자에게 MMI의 소스 코드와 전화 제어 소프트웨어를 제공하지 않는 경우, 서비스 운영자의 브랜드화 및 MMI 설계 요구에 무선 통신 장치 제조사가 직접적으로 개입해야 한다. 따라서, 무선 통신 장치 제조사가 단일의 전화 제어 소프트웨어를 각 서비스 운영자에게 제공하고, 서비스 운영자가 장치 제조사의 도움없이 독립적으로 무선 통신 장치의 MMI를 설계, 구현 및 브랜드화할 수 있게 하는 MMI를 위한 소프트웨어 아키텍처를 제공하는 것이 바람직하다.
<발명의 요약>
본 발명은 마크업 언어에 기초하는 MMI를 구비하는 무선 통신 장치를 제공함으로써, 종래의 무선 통신 장치의 다양한 제한들을 극복한다. 마크업 언어는, 컨텐트의 논리 성분 및 페이지 또는 스크린 상에서의 컨텐트의 레이아웃에 대한 명령을 나타내는 심볼, 또는 컨텐트의 디스플레이, 조작 또는 수정을 담당하는 일정한 자동 시스템에 의해 해석될 수 있는 다른 데이터를 페이지 또는 스크린 디스플레이의 컨텐트 내에 포함시킴으로써, 그 컨텐트가 정의될 수 있게 하는 것이다.
한 양태에서, 본 발명은 마크업 언어로 정의된 사용자 인터페이스를 포함하는 무선 통신 장치를 제공한다. 이를 실현하기 위해, 본 발명은 사용자 인터페이스에서 사용자가 전화 통화 기능을 선택하는 것에 응답하여 무선 통신 장치의 전화 통신 제어를 제공하고, 사용자가 인터넷 상에 위치하는 컨텐트와 연관된 데이터 항목을 선택하는 것에 응답하여 하이퍼텍스트 트랜스포트 프로토콜(HyperText Transport Protocol, HTTP)을 통한 인터넷 액세스를 제공한다.
일 실시예에서, 무선 통신 장치의 원격 통신 제어 및 다른 기능은 마크업 언어로 기술된 다양한 사용자 인터페이스 페이지에 의해 정의된다. 각각의 제어 기능은 유니폼 리소스 로케이터(Uniform Resource Locator, URL)와 연관되거나 그에 의해 구동된다. URL은 페치 또는 조작되어야 할 데이터 항목을 획득하기 위한 프로토콜을 지정하는 데이터 항목이다. 사용자 인터페이스 페이지는 무선 통신 장치의 로컬 메모리에 저장되고 브라우저에 의해 페치되며, 브라우저는 페치된 페이지들을 디코딩하고 적절한 사용자 인터페이스 엘리먼트를 디스플레이한다. 브라우저는 월드 와이드 웹과 같은 원격 통신망을 통해 액세스함으로써, 원격적으로 저장된 마크업 언어 페이지나 다른 컨텐트를 페치할 수 있으며, 이와 같이 원격적으로 액세스된 페이지들을 디코딩하고 디스플레이할 수도 있다. 사용자 인터페이스 페이지가 디스플레이될 때, 사용자가 제어 기능을 선택하면 URL 또는 커맨드 데이터가 브라우저로 전달된다. 브라우저는 수신된 URL 또는 커맨드에 응답하여 원격 통신 기능을 수행한다.
브라우저는 전화 통신 프로토콜 핸들러, 로컬 파일 프로토콜 핸들러 및 원격 파일 프로토콜 핸들러를 비롯한 다수의 프로토콜 핸들러와, 마크업 언어 핸들러를 비롯한 다수의 컨텐트 핸들러를 포함하는 것이 바람직하다. 전화 통신 프로토콜 핸들러는 전화 다이얼링 및 응답과 같은 전화 통신 제어 특성을 위한 URL을 디코딩하고, 무선 통신 장치의 하드웨어를 제어하는 전화 통신 제어 소프트웨어의 하부 기능을 활성화한다. 전화 통화 제어를 디스플레이하는 데에 요구되는 URL의 컨텐트는, 컨텐트를 분석하여 스크린 디스플레이 상에 디스플레이하는 마크업 언어 컨텐트 핸들러에 제공된다. 일반적으로, 마크업 언어 컨텐트 핸들러는, 모든 사용자 인터페이스 페이지를 포함하는 페치된 마크업 언어 페이지를 디스플레이하고, 양식 및 다른 입력 수단을 통한 이들 페이지로의 사용자 입력을 수신하는 기능을 한다.
일반적으로, 마크업 언어 핸들러는 로컬 파일 프로토콜 핸들러 및 원격 파일 프로토콜 핸들러의 2가지 소스로부터 컨텐트를 수신한다. 원격 파일 프로토콜 핸들러는 URL을 디코딩하여 월드 와이드 웹 상의 컨텐트를 액세스하고, 웹 페이지, 양식, 애플릿 등과 같은 페치된 컨텐트를 마크업 언어 컨텐트 핸들러에 제공하여무선 통신 장치의 스크린 디스플레이로 컨텐트를 출력한다. 적합한 원격 파일 프로토콜 핸들러로는 HTTP가 있다. 로컬 파일 프로토콜 핸들러는 URL을 디코딩하여 로컬 사용자 인터페이스 파일을 액세스하고, 그러한 컨텐트를 마크업 언어 컨텐트 핸들러에 제공한다. MMI의 바람직한 실시예에서, 사용자 인터페이스는 HTML에 의해 정의되며, 브라우저는 웹 컨텐트와 "HTML(HyperText Markup Language)"로 정의된 사용자 인터페이스 특성을 둘 다 디스플레이하는 HTML 컨텐트 핸들러를 포함한다.
무선 통신 장치의 MMI를 정의하는 데에 마크업 언어를 이용하면, 종래의 MMI 소프트웨어 아키텍처에 비해 수많은 이점을 얻을 수 있다. 우선, 마크업 언어를 이용하면, 인터넷 및 월드 와이드 웹 액세스를 무선 통신 장치의 전화 통신 및 다른 기능들에 완전하고 심리스하게 일체화시킬 수 있다. MMI는 모든 기능적인 스크린을 디스플레이하는 데에 HTML과 같은 마크업 언어를 이용하기 때문에, 월드 와이드 웹 컨텐트(HTML로 기술되어 있음)는 무선 통신 장치의 다른 특성들과 동일한 양태를 갖는다. 더 상세하게는, MMI의 페이지는, 웹 컨텐트가 액세스되는 것과 마찬가지로 URL을 이용하여 액세스된다. 기능적인 페이지를 디스플레이할 때, 무선 통신 장치는 로컬 URL을 액세스한다. 그리고, 웹 컨텐트를 디스플레이할 때, 무선 통신 장치는 웹 서버와의 접속을 자동적으로 개시하여 웹 컨텐트를 획득한다. 따라서, 마크업 언어에 기초하는 MMI는 모드없는 사용자 인터페이스를 가능하게 하여, 사용자가 종래의 장치들에서처럼 무선 통신 장치를 전화 통신과 "브라우저" 모드 간에서 스위칭하지 않고서도 언제든지 인터넷 및 월드 와이드 웹에 액세스할 수있게 한다.
마크업 언어에 기초하는 MMI의 다른 이점은, 웹 페이지 및 양식 등의 월드 와이드 웹 페이지로부터의 웹 컨텐트가, 무선 통신 장치의 전화 통신, 메시징 및 그 외의 비-인터넷 특성들에 직접적으로 결합되고 액세스될 수 있다는 것이다. 예를 들어, 바람직한 실시예에서, 무선 통신 장치는 전화번호 및 이름이 저장되어 있는 전화번호부를 구비한다. 종래에, 사용자는 무선 통신 장치의 키패드를 이용하여 이러한 엔트리들을 수동으로 입력해야 했다. 그러나, 본 발명에 따른 MMI를 이용하는 무선 통신 장치에서, 사용자는, 정보를 전화번호부에 용이하게 직접적으로 저장할 수 있게 하는 HTML을 포함하는 월드 와이드 웹 상의 전화번호부에 액세스함으로써, 엔트리를 전화번호부에 간단하게 추가할 수 있다.
또한, 마크업 언어를 이용하면, 특정 무선 통신 장치에 대한 MMI를 제작하기 위한 소프트웨어 엔지니어링 프로세스의 복잡성을 감소시킬 수 있다. 우선, 본 발명의 MMI는 마크업 언어에 기초하기 때문에, C 또는 하위 레벨의 언어 프로그래밍에 익숙한 프로그래머를 필요로 하던 종래의 MMI와는 달리, 매우 적은 프로그래밍 기술만 있으면 완전한 특성을 가진 사용자 인터페이스를 설계할 수 있다. 사용자 인터페이스의 편집 및 수정은, 완전한 애플리케이션 프로그래밍 환경이 아닌 단순한 마크업 언어 및 이미지 편집 툴만을 필요로 한다. 또한, 본 발명의 마크업 언어에 기초하는 MMI를 이용하면, 전화 제어 소프트웨어 전체에 대한 재해석과 전체 패키지에 대한 재테스트 및 인증없이도, MMI의 모든 기능을 수정할 수 있다. MMI는 기초적인 전화 제어 및 에어 인터페이스 스택과는 분리되어 있으므로, 개별적으로 수정되고 추가된 사용자 인터페이스 페이지만을 테스트하면 된다. 따라서, 새로운 특성 및 서비스가 상용화될 때에, 상품화하는 데에 소요되는 시간을 감소시키며, MMI의 설계, 유지 및 수정을 보다 더 용이하게 한다. 사용자 인터페이스를 변경하고 테스트하는 데에 소요되는 시간이 감소된다는 것은, 종래의 MMI에 비해 짧은 시간에 더 다양한 버전들이 표준화되어 임의의 사용자 조건 및 특성에 대해 최상의 사용자 인터페이스 설계의 설계 개발이 용이해진다는 것을 의미한다.
MMI의 사용자 인터페이스의 제작 및 수정의 용이함과 상품화에 소요되는 시간의 감소는, 장치 제조자가 특정 소비자 타겟들 각각에 대한 특정한 제품 소프트웨어 이미지를 제작하지 않고서도, 서비스 운영자가 그 특정 소비자들을 타겟으로 하는 무선 통신 장치를 신속하게 제조할 수 있게 한다. 예를 들어, 서비스 운영자는, 요구 사항과 무선 통신 장치의 특성들을 사용할 수 있는 능력이 각각 다른 회사 중역, 틴에이저 및 성인들 각각에 대해 상이한 사용자 인터페이스를 구비하는 동일한 무선 통신 장치 하드웨어 및 전화 통신 제어 소프트웨어를 이용할 수 있다.
예를 들어, 마크업 언어를 이용하여 사용자 인터페이스의 페이지를 정의하면, 타이틀 바 형태 및 텍스트, 모든 정보 텍스트, 옵션 리스트 텍스트, 모든 후속 스크린에 대한 링크, 소프트키 할당, 배너 메시지에 대한 영구적인 스크롤링, 배너 광고 및 헬프 텍스트와 같은 항목들 중 어느 것이라도 임의의 페이지 상에서 변경할 수 있다.
마크업 언어에 기초하는 MMI를 이용하면, 상이한 서비스 운영자들에 대한 무선 통신 장치의 브랜드화에서도 이점을 얻을 수 있다. 사용자 인터페이스가 마크업 언어 페이지로 정의되어 있기 때문에, 서비스 운영자의 특정 로고, 삽화 및 텍스트는 각각의 서비스 운영자에 의해 용이하게 추가 및 변경될 수 있다. 따라서, 무선 통신 장치는 동일한 무선 통신 장치 하드웨어 및 전화 통신 제어 소프트웨어를 다수의 서비스 운영자에게 제공할 수 있고, 종래에서처럼 무선 통신 장치 제조사들이 각각의 운용자에 대한 사용자 인터페이스를 구현, 테스트 및 탑재하지 않고서도, 서비스 운영자들 각각이 자신들 특유의 사용자 인터페이스를 이용하여 무선 통신 장치를 신속하고 용이하게 브랜드화할 수 있다.
마크업 언어에 기초하는 MMI를 구비하는 무선 통신 장치를 제공하는 데에 있어서, 본 발명은 무선 통신 장치에서 작업하는 데에 특히 유용한 다수의 확장 부분을 통해 표준 HTML을 개선한다. 표준 HTML은 키보드, 포인팅 장치 및 풀-사이즈 스크린을 구비하는 종래의 컴퓨터를 전제로 하지만, 대부분의 무선 통신 장치는 이들을 구비하지 않고 있다. HTML의 가장 두드러진 결함은 다음과 같다.
· 마우스없이 양식 요소(체크박스, 라디오 버튼)를 네비게이트하기 어렵다.
· 현재 컨텐트 내에 존재하는 양식들은 사용자들이 소형 스크린 상에서 기입할 때에 일정한 상황을 유지하기에는 너무 크다. 양식이 n개의 양식으로 분할되는 경우, 사용자의 입력은 클라이언트와 서버 사이에서 n-1회 송수신되기 때문에 대역폭이 낭비된다. 게다가, 작은 양식들의 시리즈를 이용하면, 사용자들이 시리즈 내의 각 양식마다 백키(back key)를 눌러야하기 때문에, 작업의 종료가 복잡해진다.
·하이퍼링크를 선택하기 위한 마우스와 페이지의 컨텐트를 스크롤하기 위한 별도의 스크롤바없이는, 하이퍼링크를 수행하기 어렵다. 후속할 하이퍼링크를 선택하고 디스플레이를 스크롤하기 위한 업키와 다운키만을 구비하는 장치 상에서, 스크롤과 선택 기능을 업키와 다운키에 고정적으로 할당하는 것은 요구되는 네비게이션의 기능들을 제공하기에 충분하지 않다.
사용자 인터페이스 정의 언어로서, HTML은 다음과 같은 다수의 키 기능들이 결여되어 있다.
· 소프트 기능키 또는 장치 상의 임의의 키에 대한 액션을 지정하는 기능
· 선택 사항들의 팝업 메뉴를 정의하는 기능
· 이름이나 전화번호와 같이, 장치 상에 저장하고자 하는 데이터를 디스플레이 또는 변경하는 기능
· 블랭크를 채우는 데에 C 코드를 기입하지 않고서도 탬플릿으로서 스크린을 설계할 수 있는 기능
· 전파 상으로 도달하는 컨텐트를 확장하거나 장치가 사용자에게 제공하는 인터페이스를 상품화하는 기능
본 발명은 멀티-파트 양식의 설계를 용이하게 하며, 제한된 수의 키를 이용하여 웹 페이지를 네비게이트하는 동시에, 하이퍼텍스트 링크를 선택하고, URL을 이용하여 무선 통신 장치의 임의의 키(키패드 또는 소프트키)에 대한 액션을 정의 하며, 소프트키에 대한 옵션 메뉴를 작성하고, 텍스트, 포맷 및 사용자 인터페이스 도구를 조건적으로 포함할 수 있게 하는 HTML 언어에 대한 확장을 제공한다.
더 상세하게는, 본 발명은, 임의의 키에 임의의 메뉴를 결합시키는 것을 비롯하여, 키패드의 임의의 키에 특정 기능 또는 액션을 할당할 수 있게 하는 "key" 태그를 제공한다. "keymenu" 태그는, 키에 결합되어 있는 메뉴 내에 메뉴 항목들의 사양이 포함될 수 있게 한다. "templat" 태그와 "include" 태그는, 외부 HTML 또는 다른 데이터를 페이지의 HTML에 직접 삽입하거나 대체할 수 있게 한다. "help" 태그는, 선정된 시간이 경과한 후에 페이지의 타이틀바를 통해 자동적으로 스크롤되는 헬프 스트링(help string)의 정의를 허용한다. 조건부 태그는, 예를 들어 변수 또는 장치의 구성 세팅에 기초하여 표현식을 테스트함으로써, 페이지 내에 HTML 데이터를 조건적으로 디스플레이할 수 있게 한다. 양식들에 대한 "next" 방법은, 클라이언트와 서버 간에 히든 데이터를 반복적으로 전송하여 상태를 유지하지 않고서도 멀티-파트 양식의 상태를 유지할 수 있게 한다. 개선된 네비게이션 방법은, 별도의 탭 및 엔터키와 스크롤바가 없을 때, 무선 통신 장치의 업키 및 다운키가 페이지의 스크롤과 사용자 인터페이스 도구 및 하이퍼링크의 선택을 제어할 수 있게 한다.
본 발명은 무선 통신 장치의 맨-머신 인터페이스에 관한 것으로, 더 상세하게는, 마크업 언어로 구성된 맨-머신 인터페이스에 관한 것이다.
도 1은 본 발명에 따른 무선 통신 장치의 상위 레벨 소프트웨어 및 시스템 아키텍처를 도시하는 도면.
도 2는 본 발명에 따른 무선 통신 장치의 사용자 인터페이스 페이지의 일례를 나타내는 도면.
도 3은 본 발명에 따른 무선 통신 장치의 맨-머신 인터페이스의 상세한 소프트웨어 아키텍처를 도시하는 도면.
도 4는 URL 히스토리 스택을 도시하는 도면.
도 5는 수신된 URL의 핸들링시 쉘의 동작을 나타내는 플로우차트.
도 6은 사용자 인터페이스 도구와 관련된 스트링 입력의 처리시 HTMLp 컨텐트 핸들러의 동작을 나타내는 플로우차트.
도 7은 <KEY> 및 <KEYMENU> 태그를 이용하여 키 메뉴를 나타내는 HTMLp 파일 및 페이지의 일례.
도 8은 <HELP> 태그를 갖는 헬프 텍스트 스크롤 배너를 나타내는 HTMLp 파일 및 페이지의 일례.
도 9는 탬플릿 파일에 대한 <TEMPLATE> 태그의 이용을 나타내는 HTMLp 파일 및 페이지의 일례.
도 10은 전화번호부를 편집하기 위한 HTMLp 파일 및 페이지의 일례.
도 11은 전화번호부를 편집하기 위한 HTMLp 파일 및 페이지의 다른 예.
도 12는 CHECKED 및 SELECTED 속성을 평가하기 위한 표현식의 이용을 나타내는 HTMLp 파일 및 페이지의 일례.
도 13은 <INC> 태그를 갖는 포함된 HTML을 나타내는 HTMLp의 일례.
도 14는 <INPUT> 태그에 대해 PHONENUM 및 PHONENAME 속성을 이용하는 HTMLp 파일 및 페이지의 일례.
도 15는 HTMLp 컨텐트 핸들러에 의한 입력키의 핸들링을 위한 프로세스의 플로우차트.
도 16은 복잡한 양식을 위한 종래의 HTML 파일 및 페이지의 일례.
도 17A 및 17B는 HIDDEN 입력 데이터를 이용하는 종래의 다중 양식 접근을 나타내는 HTML 파일 및 페이지의 일례.
도 18A 및 18B는 NEXT 방법을 이용한 멀티-파트 양식을 나타내는 HTMLp 파일 및 페이지의 일례.
도 19는 <LINKMENU>를 이용하지 않는 하이퍼링크 메뉴의 디폴트 작성을 나타내는 HTMLp 파일 및 페이지의 일례.
도 20은 <LIMKMENU> 태그의 이용을 나타내는 HTMLp 파일 및 페이지의 일례.
도 21A 내지 21E는 전화번호를 다이얼하기 위한 다양한 사용자 인터페이스 페이지를 나타내는 도면.
도 22A 내지 22C는 활성 호출을 핸들링하기 위한 다양한 사용자 인터페이스 페이지를 나타내는 도면.
도 23은 "엑스트라" 프로토콜의 이용을 나타내는 HTMLp 파일 및 페이지의 일례.
도 24는 내장형 프로토콜을 이용한 아이콘 및 이미지 테이블.
도 25는 <DIAL> 태그의 이용을 나타내는 HTMLp 파일 및 페이지의 일례.
A. 시스템 및 소프트웨어 아키텍쳐
이제 도 1을 참조하면, 본 발명에 따른 마크업 언어에 기초하는 MMI를 이용하는 무선 통신 장치(100)의 시스템 및 소프트웨어 아키텍쳐가 도시되어 있다. 무선 통신 장치(100)의 하드웨어는 프로세서(124), 메모리(126), 스크린 디스플레이(126) 및 키패드(128)를 포함한다. 메모리(126)는 ROM, RAM 및 데이터의 장기간 저장을 위한 플래시 메모리를 포함한다. 하드웨어 특성을 제공하는 데에 적합한 무선 통신 장치(100)는 Nokia Telecommunication, Inc에서 제조된 Nokia 6100™이다.
무선 통신 장치(100)는, 전력, 메모리, 스레드(통신 접속), 키패드 입력 및 타이머 액션을 관리하기 위한 모듈을 포함하는 종래의 실시간 운영 체제(122)를 메모리(126) 내에 저장하고 실행한다. 실시간 운영 체제(122)는 표준 애플리케이션 프로그래밍 인터페이스를 제공하여, MMI(102)의 상위 레벨 성분이 무선 통신 장치(100)의 기능을 요청하고 데이터를 송수신할 수 있게 한다.
또한, 전화 호출의 착발신, 다중 전화 회선의 관리, 텍스트 메시징의 관리, 전화 신호의 감시 및 그 외의 기본적인 전화 통신 기능을 비롯한, 주요 전화 제어를 제공하는 전화 통신 제어 모듈(120)은 메모리(126) 내에 저장되어 실시간 운영 체제(122)와 통신한다. 전화 통신 모듈(120)은 에어-인터페이스 프로토콜을 구현하는 종래의 전화 프로토콜 스택을 포함한다. 전화 통신 제어 모듈(120)은 이러한 특성들을 액세스하기 위한 Mmi(102)에 대한 애플리케이션 프로그래밍 인터페이스를 제공한다. 전형적으로, 전화 통신 제어 모듈(120) 및 실시간 운영 체제(122)는 무선 통신 장치(100)의 제조사에 의해 제공되며, 그에 대한 특정한 구현은 본 발명의 구성 요소가 아니다.
스크린 디스플레이(136)는 비트맵 LCD 또는 유사한 디스플레이 장치이다.전형적으로, 스크린 디스플레이(136)는 소형의 휴대용 핸드핼드 전자 장치에 적합하도록 예를 들어 약 90×60 내지 120×120 픽셀(약 .28㎜ 도트 피치)의 매우 제한된 해상도를 갖는다. 디스플레이 기술의 발전에 따라 고해상도의 스크린 디스플레이(136)가 개발될 것으로 예상되지만, 현재까지, 무선 통신 장치는 그 인간 공학 및 양식 요소 조건에 의해 노트북 및 데스크탑 컴퓨터의 스크린 디스플레이에 비해 비교적 작은 스크린 디스플레이(예를 들어, 25×25㎜ 내지 80×120㎜)만 가능하기 때문에, 대형 스크린 디스플레이를 위해 설계된 컨텐트를 동일한 방식으로 디스플레이하지 않는다. 본 발명은, 웹 컨텐트의 디스플레이시, 이러한 스크린 디스플레이를 쉽게 이용할 수 있게 한다.
무선 통신 장치(100)는, 무선 통신 장치(100)의 정의된 기능("Send", "End", "Power")을 액세스하기 위한 키패드(128), 숫자 (적합하게 엔코딩된 경우에는 문자도 가능함)를 입력하기 위한 숫자키(134), 및 표시 중인 사용자 인터페이스(104)의 특정 스크린 디스플레이에 따라 변하는 가변성의 기능을 갖는 프로그래머블 소프트키(130)를 구비한다.
무선 통신 장치(100)는 본 발명에 따라 제조된 MMI(102)의 인스턴스를 메모리(126) 내에 저장하고 실행한다. 이 MMI(102)는 사용자 인터페이스 정의 파일 세트(104), 브라우저(107), 포터블 컴포넌트 세트(116), 및 이식성 레이어(portability layer)(118)를 포함한다. 브라우저(107)는 사용자에게 주요 사용자 인터페이스 메커니즘을 제공하여, 원격 통신 기능 및 인터넷/월드 와이드 웹 액세스 모두에 액세스할 수 있게 한다. 포터블 컴포넌트(116)는 그래픽 프리미티브 세트, 파일 저장 기능, 및 브라우저가 다양한 무선 통신 장치(100)에서 이용될 수 있게 하는 로컬라이즈 특성을 제공한다. 이식성 레이어(118)는 실시간 운영 체제(122) 및 전화 제어 모듈(120)에 브라우저(107) 및 포터블 컴포넌트(116)에 대한 인터페이스를 제공한다.
MMI(102)는 싱글-스레드 애플리케이션으로서 실행하며, 일반적으로 실시간 운영 체제(122), 전화 제어 모듈(120), 충분한 ROM, RAM, 플래시 메모리와 스크린 디스플레이(136) 및 기본 서비스를 제공하는 무선 통신 장치(100) 상에서 동작하도록 설계된다.
B. 브라우저
브라우저(107)는 무선 통신 장치(100)의 기본 사용자 인터페이스를 제공하며, 사용자 인터페이스 정의 파일(104)에 정의되어 있거나, 원격 웹 사이트로의 통신 링크를 통해 액세스된 웹 컨텐트처럼 원격 사이트로부터 검색된 컨텐트를 스크린 디스플레이(136) 상에 디스플레이하는 기능을 담당한다. 사용자 인터페이스 정의 파일(104)은 HTML 또는 나중에 설명되는 바람직한 변형인 HTMLp와 같은 마크업 언어로 기술된 컨텐트 및 코드 파일의 세트이며, 실행 가능한 임베딩된 코드 오브젝트를 포함할 수 있다. 본 발명은 HTML로 국한되지 않으며, SGML, XML 또는 HTML 확장의 넷스케이프 커뮤니케이션 세트와 같은 HTML의 비표준 확장 버전 등의 다른 마크업 언어로 확장되어 동작할 수 있다.
본 발명의 MMI(102)를 이용하는 무선 통신 장치를 제공하는 서비스 운영자들 각각마다, 전형적으로 장치 제조사에 의해 제공된 사용자 인터페이스 정의파일(104)의 일부분을 변경한 그들 고유의 특정 사용자 인터페이스를 설계할 것이기 때문에, 사용자 인터페이스 정의 파일(104)의 특정 컨텐트는 변경 가능하며, 여기에 설명되는 예시적인 사용자 인터페이스 중 어느 것과도 상이할 수 있다. 또한, MMI(102)는 그 어떤 사용자 인터페이스 정의 파일(104)도 없이 서비스 운영자에게 제공되어, 서비스 운영자들이 원하는 대로 이 파일들을 제작하도록 할 수 있으므로, 사용자 인터페이스 정의 파일(104)이 비록 본 발명의 MMI(102)에 의해 이용되긴 하지만 그 자체가 본 발명의 필수 구성 요소는 아니다. 사용자 인터페이스 정의 파일(104)이 사용자에게 제공되는 사용자 인터페이스를 정의하기 때문에, 서비스 운영자는 사용자 인터페이스 정의 파일(104)의 간단한 편집에 의해 무선 통신 장치(100)를 신속하게 브랜드화할 수 있다. 이러한 브랜드화는 하부 브라우저(107), 이식성 레이어(118) 또는 포터블 컴포넌트(116)에 대한 재해석을 필요로 하지 않으므로, 매우 용이하고 비용 효율적인 상품화를 가능하게 한다. 이는, 종래의 코드 개발 프로그래밍의 기술 및 환경없이도, 서비스 운영자가 간단한 마크업 언어 편집 툴에 의해 사용자 인터페이스를 상품화하고 브랜드화할 수 있음을 의미한다.
여기에서는, 월드 와이드 웹의 용어를 따라, 개별적인 사용자 인터페이스 스크린을 "페이지"로 칭한다. 도 2를 참조하면, 브라우저(107)에 의해 스크린 디스플레이(136) 상에 디스플레이되는 페이지(135)의 기본적인 레이아웃이 도시되어 있다. 일반적으로, 각각의 페이지(135)는 4개의 기본 영역을 갖는다. 상태 바(status bar)(200)는 항상 표시되어, 신호 강도(202) 및 전지 강도(204) 및 메시지 대기 인디케이터(206)와 같은 항목들을 디스플레이한다. 타이틀 바(210)는 특정 스크린에 대한 제목이 정의되어 있는 경우, 그 제목을 디스플레이하는 것이 바람직하다. 상태 메시지 영역(212)은 발신 또는 착신된 전화번호와 같은 현재의 컨텐트에 특정한 상태 메시지를 나타내는 데에 이용될 수 있다. 컨텐트 영역(214)은 메시지 텍스트 및 전화번호부 엔트리(phone book entry) 등과 같은 사용자 인터페이스 페이지의 특정 컨텐트를 디스플레이하는 데에 이용될 수 있다. 사용자 인터페이스 정의 파일(104) 내에 제공되는 키 정의에 따라 동적으로 업데이트되는 소프트키 라벨(216)은 최하단(다른 영역이 사용될 수도 있음)에 제공된다. 스크롤 화살표(215)는 사용자가 현재 스크롤하고 있는 방향(업 또는 다운)을 표지한다. 컨텐트 영역(214)에서, 포커스 및 셀렉션 아이콘(220)이 선택적으로 이용되어, 포커스(즉, 현재 사용자 인터페이스 도구 또는 입력 필드)를 갖는 컨텐트의 특정 항목 또는 라인을 표지할 수 있다. 모드 인디케이터(218)는 텍스트 엔트리에 대한 모드가 문자, 숫자 또는 결합형 영숫자 모드 중 어느 것인지를 나타낸다.
스크린 디스플레이(136) 상에 디스플레이되는 페이지 또는 컨텐트는 사용자 인터페이스 정의 파일(104)로부터 국부적으로 획득되거나, 인터넷 또는 월드 와이드 웹으로부터 원격적으로 획득될 수 있다. 로컬 컨텐트의 예로는, 전화번호부, 수신된 텍스트 메시지 또는 송신용으로 작성된 메시지, 및 무선 통신 장치의 구성 세팅 등이 있다. 본 발명의 특성 중 하나는, 컨텐트의 획득의 지연을 제외하고는 (지연이 있는 경우에만), 컨텐트가 국부적으로 페치되는지 또는 원격적으로 페지되는지가 대부분 사용자에게 알려지지 않는다는 것이다. 이러한 특성은 원격 통신기능에 심리스하게(seamlessly) 결합된 인터넷 및 월드 와이드 웹 액세스의 제공을 강화한다.
사용자 인터페이스의 기능 대부분은 URL(Universal Resource Locator)에 의해 활성화된다. 명목상, URL은 데이터를 식별하는 수단으로, 데이터는 미리 정의될 수도 있고, URL 내에 엔코딩되어 있는 인수(argument)에 기초하여 요구되는 즉시 생성될 수도 있다. URL은 다음의 양식을 취하는 스트링이다.
protocol:data-identifier[?arguments]
protocol성분은 데이터를 검색하는 데에 이용되어야 하는 통신 프로토콜을 지정한다. 월드 와이드 웹 상에 위치하는 컨텐트에 대하여, 프로토콜은 통상적으로 "http(HyperText Transport Protocol)"이다. 사용자 인터페이스 정의 파일(104)의 로컬 컨텐트는 "파일" 프로토콜을 이용하여 검색되어, 메모리(126) 내에 저장되어 있는 로컬 파일 시스템 내의 데이터를 획득한다. 본 발명은, 무선 통신 장치(100)의 동작 및 구성을 제어하는 신규의 추가 프로토콜을 여러개 제공한다.
data-identifier성분은 페치되기 원하는 컨텐트의 사양이다. 현재, 월드 와이드 웹 상의 컨텐트에 대해서, 데이터 식별자는 2개의 '/' 캐릭터, 머신 네임(machine name), 다른 '/' 캐릭터 및 일정 소트의 경로 순으로 이루어진 양식을 취한다.
arguments는(존재하는 경우), '?'에 의해data-identifier로부터 분리되며, 인수 이름 및 그 값으로 이루어진 페어의 양식을 취한다. '=' 캐릭터는 인수 이름과 그 값을 분리시킨다. 복수의 인수는, 한 속성의 값과 다음 속성의 이름 사이에 위치하는 '&' 캐릭터에 의해 분리된다.
아키텍쳐에 있어서, 브라우저(107)는 3개의 주요 부분 -쉘(106), 프로토콜 핸들러(112) 및 컨텐트 헨들러(114)- 을 포함한다. 도 3은 브라우저(107)를 포함하는 MMI(102)의 상세한 소프트웨어 아키텍쳐를 도시하고 있다.
쉘(106)은 스크린 디스플레이(136)의 보편적인 부분을 유지하고, URL의 부분들을 그 URL에 적합한 프로토콜 핸들러(112) 및 컨텐트 핸들러(114)에 전달함으로써 URL을 프로세스하고, URL의 히스토리 스택(108)을 유지하며, 사용자 입력을 라우팅하는 기능을 담당한다. 사용자 입력 라우팅은, 사용자 입력 키스트로크를 적합한 컨텐트 핸들러(114) 또는 다른 타겟 엔티티에 전달하여, 입력 숫자 및 문자들을 양식 내에 기입하거나 전화번호를 다이얼하는 등의 프로세스를 수행하는 것을 포함한다.
프로토콜 핸들러(112)는 쉘(106)로부터 URL을 수신하며, URL에 대응하는 데이터를 페치하고, 어떤 컨텐트 핸들러(114)가 데이터를 수신할지를 쉘(106)에 지시하는 기능을 담당한다. 몇몇 경우, URL은 무선 통신 장치(100)의 기능들을 제어하기 위한 커맨드이며, 이는 프로토콜 핸들러(112)에 의해 실행되어야 한다.
컨텐트 핸들러(114)는 페치된 URL 데이터를 디스플레이하고 사용자와 인터랙트하는 기능을 담당한다. 항상 적어도 하나의 컨텐트 핸들러(114)가 현재 컨텐트 핸들러(114)가 된다. 임의의 새로운 URL은, 현재 컨텐트 핸들러로부터 쉘(106)에 제공되며, 임의의 다른 입력 타겟에 전달되지 않은 디폴트 키스트로크에 의해수신된다. 쉘(106)은 도 4 내지 5를 참조하여 아래에서 더 상세하게 설명될 것이다.
1. 프로토콜 핸들러의 개요
프로토콜 핸들러(112)는 MMI(102) 내에서 두 가지 기능을 수행한다. 첫 번째로, 프로토콜 핸들러(112)는 데이터를 페치하고 그 유형을 결정한다. 유형이 결정되면, 어떠한 컨텐트 핸들러가 데이터를 디스플레이하는 데에 이용되는지가 결정된다. 두 번째로, 프로토콜 핸들러(112)는 실시간 운영 체제(122)나 전화 제어 모듈(120)의 임베딩된 오브젝트 또는 적합한 API를 액세스함으로써, 무선 통신 장치(100) 내에서 커맨드를 수행한다. 그 커맨드의 결과를 복귀시켜 상이한 스크린을 디스플레이할 수도 있고, 결과를 리턴시키지 않을 수도 있다. 바람직한 실시예의 프로토콜 핸들러(112)는 다음을 포함한다.
내장형 프로토콜 핸들러(112a)는 무선 통신 장치(100)에 내장되어 있는 아이콘에 대한 액세스를 제공한다.
컨피그 프로토콜 핸들러(112b)는 무선 통신 장치(100)의 구성 세팅을 획득하고 설정한다.
엑스트라 프로토콜 핸들러(112c)는 페이지 내의 임베딩된 오브젝트 또는 이전에 액세스된 페이지들로부터 전달된 인수 및 양식 데이터에 대한 액세스를 제공한다. 이러한 프로토콜은, 페이지가 동적으로 생성될 필요없이, 데이터가 페이지에 직접 전달될 수 있게 한다.
파일 프로토콜 핸들러(112d)는 ROM 및 플래시 파일 시스템 내의 로컬 컨텐트에 대한 액세스를 제공한다. 일반적으로, 이러한 컨텐트는 사용자 인터페이스의 페이지들을 정의하는 사용자 인터페이스 정의 파일(104)이다. 파일 프로토콜 핸들러(112d)는 POSIX 사양과 같은 파일 시스템 액세스에 적합한 사양에 따라 본 기술 분야의 숙련된 기술자에 의해 구현될 수 있다.
HTTP 핸들러(112e)는 표준 하이퍼텍스트 트랜스퍼 프로토콜을 이용하여 월드 와이드 웹 상에 저장되어 있는 원격 컨텐트에 대한 액세스를 제공하는 원격 파일 프로토콜 핸들러이다. HTML 핸들러(112e)는 RFC 2068: HyperText Transport Protocol - HTTP/1.1에 정의된 사양에 따라 본 기술 분야의 숙련된 기술자들에 의해 구현될 수 있다. 다른 원격 파일 액세스 사양을 이용하여 원격 파일 프로토콜 핸들러를 구현할 수 있다.
메시지 프로토콜 핸들러(112f)는 메시지 전송, 저장된 메시지 삭제, 신규 또는 저장된 메시지 판독 또는 저장된 메시지 잠금을 포함하는 다양한 메시징 기능을 활성화한다.
전화 프로토콜 핸들러(112g)는 발신, 착신, 전화번호부의 디스플레이, 전화번호부 엔트리의 편집 및 새로운 전화번호부 엔트리의 생성을 포함하는 다양한 전화 기능을 활성화한다.
컨피그 프로토콜 핸들러(112b)(이식성 레이어(118)의 부분으로서 도시되어 있음)는 무선 통신 장치(100)에 대한 다양한 구성 세팅을 검색하고 설정한다.
a) 기본 프로토콜 핸들러 API
일반적으로, 프로토콜 핸들러(112)는, 수행 가능한 기능 세트가 잘 정의되어 있고, 각각의 프로토콜 핸들러(112)가 동일 기능을 지원하긴 하지만 고유의 방식으로 그 기능을 지원한다는 점에서 장치 드라이버와 유사하다. 각각의 프로토콜 핸들러(112)는 다음의 세가지 기능을 구현한다.
GetURL: URL과 페치될 URL을 포함하는 페이지의 보안 레벨이 주어지면, 그 URL과 연관된 데이터와 그 데이터의 특권 레벨을 리턴시킨다. URL이 데이터에 대한 참조(reference)가 아닌 실질적인 커맨드인 경우, 데이터가 리턴될 필요가 없다.
BuildURL: 전체(full) URL과 부분(partial) URL(protocol: 엘리먼트가 없음)이 주어지면, 전체 URL을 리턴시킨다. 이것은 주로 HTML 페이지 내의 참조에 대해 이용된다.
PutURL: URL, 그 URL 하부에 저장될 데이터의 스트림 및 "put" 방법을 포함하는 페이지의 보안 레벨이 주어지면, 그 보안 레벨이 허용가능한 정도로 높은 경우에는 그 데이터를 저장한다.
프로토콜 핸들러(112)에 의해 지원되는 다양한 임베딩된 오브젝트 및 커맨드 URL은 나중에 설명된다.
2. 컨텐트 핸들러의 개요
컨텐트 핸들러(114)는 페치된 URL에 대응하는 페이지의 컨텐트 데이터를 디코딩하고, 그 컨텐트를 디스플레이하거나 조작하는 기능을 담당한다. 컨텐트 핸들러(114)는 전형적으로 자신이 수신한 컨텐트를 디코딩하고, 스크린 디스플레이(136) 내에 페이지 또는 그 페이지의 일부를 프리젠트한다. 몇몇 컨텐트 핸들러(114)는 메모리(126)로부터 또는 통신 링크를 통해 수신한 데이터로부터 페이지를 구성하고, 다른 컨텐트 핸들러(114)는 무선 통신 장치(100)의 상태를 디스플레이하거나 그 외의 관리 기능을 수행한다. 브라우저(107)의 바람직한 실시예에서, 컨텐트 핸들러(114)는 다음을 포함한다.
콜매니저(CallManager) 컨텐트 핸들러(114b)는 사용자 인터페이스 정의 파일(104) 내에 저장된 인입 호출 스크린을 관리하여, 사용자가 인입 호출을 수신할 수 있게 한다. 콜매니저 컨텐트 핸들러(114b)는 임베딩된 오브젝트를 통해 다른 기능을 제공한다.
HTMLp 컨텐트 핸들러(114c)는 메모리(126) 내의 적합한 사용자 인터페이스 정의 파일(104)을 액세스함으로써 사용자 인터페이스의 벌크를 디스플레이한다. HTMLp 컨텐트 핸들러(114c)는 HTML 3.2 호환형 분석기(parser)를 포함하며, HTML을 디코딩하고 필요한 데이터 구문 및 오브젝트를 생성하여 HTML 태그에 따른 텍스트 및 그래픽을 디스플레이할 수 있다. 또한, HTMLp 컨텐트 핸들러(114c)는 HTML 3.2의 수정된 양식 -여기에서는 HTMLp로 칭하며, HTML 3.2의 특성 및 기능에 대해 유용한 확장을 다수 제공함- 을 수용한다.
사용자 인터페이스를 보다 양호하게 제공하고, 사용자 인터페이스 설계의 유연성을 증가시키기 위해, HTMLp 컨텐트 핸들러(114c)는 C 또는 다른 프로그래밍 언어로 기술된 오브젝트가 HTML 또는 HTMLp 페이지 내에 임베딩되어, 무선 통신 장치(100) 내에 있는 상이한 유형의 데이터들을 디스플레이할 수 있게 한다. 그러나, 표준 HTML 분석기와는 달리, HTMLp 컨텐트 핸들러(114c)는 우선 현재 페이지내의 사용자 선택된 URL을 임의의 임베딩된 오브젝트에 전달하여, URL이 사용자가 선택하거나 입력한 것에 의해 수정되거나 프로세스용 쉘(106)에 제공되기 전에 완전히 프로세스될 수 있게 한다.
바람직한 실시예에서, 허용 가능한 임베딩된 오브젝트는 다음을 포함한다.
전화번호부 오브젝트는 이름, 관련 전화번호, 주소, 이메일 주소, 스피드 다이얼(speed dial) 키 선택, 링 톤(ring tone) 및 그 외에 정의 가능한 데이터 필드의 레코드들을 저장한다. 전화번호부 오브젝트는 레코드의 필드를 획득 및 설정하기 위한 방법을 포함한다. 전화번호부 오브젝트는 페이지 내에 임베딩되어 전화 프로토콜의 적합한 URL에 의해 활성화될 수 있다.
최근/실패(recent/missed) 전화 호출 리스트 오브젝트는 최근에 호출, 수신되거나 응답되지 않은 전화번호의 업데이트된 리스트를 저장한다. 호출 리스트 오브젝트는 리스트 상의 전화번호를 삭제하고 다이얼하기 위한 방법을 포함한다. 호출 리스트는 페이지 내에 임베딩되고 전화 프로토콜의 적합한 URL에 의해 활성화될 수 있다.
스피드 다이얼 번호 리스트 오브젝트는 전화번호 세트 및 키패드(128)의 키와의 연관을 저장하여, 키의 선택이 스피드 다이얼 기능을 제공하게 한다. 이러한 리스트 오브젝트는 스피드 다이얼 번호를 설정, 획득 및 다이얼하기 위한 방법을 포함한다.
전화번호 록업 오브젝트는 전화번호부 오브젝트에 액세스하여, 입력 또는 선택된 이름이나 이름의 일부와 연관된 전화번호를 리턴시킨다.
전화번호부 이름 룩업 오브젝트는 전화번호부 오브젝트를 액세스하여, 입력 또는 선택된 전화번호나 번호의 일부와 연관된 이름을 리턴시킨다.
텍스트 메시지/영숫자 페이지의 리스트 오브젝트는 수신되거나 전송된다. 메시지 리스트 오브젝트는 이메일이나 쇼트 메시지 서비스 메시지를 포함하는 메시지의 리스트를 저장하며, 메시지를 읽고 저장하고 편집하고 삭제하며 전송하기 위한 방법을 포함한다. 메시지 리스트는 페이지 내에 임베딩될 수 있으며, 메시지 프로토콜의 적합한 URL에 의해 활성화될 수 있다.
메인 컨텐트 핸들러(114d)는 주로 무선 통신 장치(100)에 대한 메인 스크린을 디스플레이하기 위한 HTMLp를 이용한다는 점에서, HTMLp 컨텐트 핸들러(114c)의 프론트-엔드(front-end)이다.
광고 컨텐트 핸들러(114a)는, 무선 통신 장치(100)가 아이들 상태일 때 어떠한 광고 페이지를 디스플레이할 것인지를 결정하여 HTMLp 컨텐트 핸들러(114c)가 그것을 디스플레이하도록 지시하는 HTMLp 컨텐트 핸들러(114c)에 대한 프론트-엔드이다. 또한, 이것은 키스트로크 및 사용자 인터페이스 도구 활성화를 인터셉트하여, 응답되거나 경과된 광고를 선택적으로 삭제한다.
a) 기본 컨텐트 핸들러 API
프로토콜 핸들러(112)와 마찬가지로, 컨텐트 핸들러(114)는 쉘(106)과 통신하는 데에 이용될 잘 정의된 인터페이스를 구비한다. 인터페이스는, 컨텐트 영역이 스크린 디스플레이 및 컨텐트 핸들러(114)의 인터랙션 요구 내에 정의되도록 스크린 디스플레이(135)에 맞추어져 있다. 각각의 컨텐트 핸들러(114)가 지원하는 4개의 기능은 다음과 같다.
ContentOpen: 스크린 디스플레이(136)의 컨텐트 영역(214), 소프트키(130) 및 소프트키 라벨(216), 타이틀바(210) 및 상태 메시지 영역(212)의 제어를 컨텐트 핸들러(114)에 제공하는 호출이다. 각각의 컨텐트 핸들러(114)는 자신의 ContentOpen 기능이 실행된 때 다음과 같은 4가지의 정보를 수신한다.
1. 데이터를 페치하는 프로토콜 핸들러(112)에 의해 리턴된 데이터 스트림. 이것이 디스플레이되는 데이터임.
2. 데이터가 디스플레이되는 곳을 나타내는 컨텐트 영역(214)에 대한 핸들.
3. 컨텐트 핸들러(114)가 이 데이터를 이전에 디스플레이했는지를 표지하는 플래그.
4. 쉘(106)이 URL을 페치하도록 요구한 엔티티에 의해 전달되었던 엑스트라 데이터에 대한 포인터. 엑스트라 데이터가 디스플레이 중인 페이지에 입력될 수 있게 함.
엑스트라 데이터의 이용은 HTMLp의 <TEMPLATE> 태그 및 "엑스트라" 프로토콜과 관련하여 나중에 더 설명된다.
ContentClose: 사용자가 페이지를 닫을 것을 요청하거나 다른 페이지를 열 것을 요청하면, 현재 컨텐트 핸들러(114)는 닫힌다. 이것은 페이지가 URL 히스토리 스택(108) 내에 유지되는지 또는 스택으로부터 완전히 제거되는지의 여부를 나타내는 플래그를 수신한다.
ContentProcessKey: 키스트로크를 프로세스할 것이 없는 경우, 쉘(106)은키스트로크를 현재 컨텐트 핸들러(114)에 디폴트로 전달한다. 현재 컨텐트 핸들러(114)는, 그 URL이 URL 스택의 최상위에 있는 컨텐트를 디스플레이하는 것이다.
ContentActivate: 사용자가 소프트키(130)를 누르거나 메뉴로부터 항목을 선택하면, 그 키 또는 항목에 결합된 스트링이 이 기능을 통해 현재 컨텐트 핸들러(114)에 전달된다. 몇몇 경우에서, 스트링은 쉘(106)에 직접 전달되어 패치될 수 있는 URL일 것이다. 그 외의 경우, 스트링은 사용자가 하고자 하는 것에 대한 표시이며, 컨텐트 핸들러(114)는 그 액션 자체를 수행하거나, 사용자가 스크린 디스플레이(136) 상에서 선택한 항목을 이용하여 쉘(106)에 제공할 수 있는 URL을 생성할 수 있다. 예를 들어, 사용자가 전화번호부 내의 엔트리를 선택하고 "Edit"로 표시된 소프트키(130)를 누르면, HTMLp 컨텐트 핸들러(114c)는 그 소프트키(130)와 관련된 스트링을 취하여 임베딩된 전화번호부 오브젝트에 전달하며, 임베딩된 오브젝트 중 사용자가 어떤 전화번호부 엔트리를 선택했는지에 기초하여, 쉘(106)에 전달할 실제 URL을 생성하기 위한 템플릿으로서 그 스트링을 이용할 것이다.
컨텐트 핸들러(114)의 특정 기능은 나중에 더 설명된다.
3. 제어 플로우
브라우저(107)의 바람직한 구현예는, 다른 환경에서 이용되는 이벤트 루프를 대신하는 싱글 콜백 큐(single callback queue)(110) 부근에 편성된다. MMI(102)의 어떠한 부분이라도, 콜백 큐(110)에 기능 요청을 추가함으로써 이후의시간에 기능이 호출되도록 요청할 수 있다.
콜백 큐(110)는 다수의 엘리먼트를 가지며, 이 엘리먼트들 각각은 호출하기 위한 기능에 대한 포인터 및 루틴에 전달하기 위한 2개의 32비트 인수를 포함한다. 기능 포인터는 시스템 내의 임의의 모듈에 대한 것일 수 있다.
필수적으로, 전체 시스템은 다음과 같은 최상위 제어 루프를 실행한다.
1. 콜백 큐(110) 상에 다음 항목을 호출하는 단계.
2. 호출에 의해 이루어진 임의의 변경으로 스크린 디스플레이(136)를 업데이트하는 단계. 이 단계는 키스트로크를 디스플레이하는 스크린에 그래픽 엘리먼트를 드로우잉하는 단계 (예를 들어, 스크롤, 및 상태 메시지와 아이콘의 업데이트), 및 URL과 연관된 기능의 사용자 활성화에 응답하여 새로운 페이지를 디스플레이하는 단계를 포함함.
3. 단계 1로의 복귀 단계.
콜백 큐(110)에 대한 항목은, 주로 키스트로크(업 또는 다운), 활성 콜의 변경, 타이머 경과, 및 인입 텍스트 메시지와 같은 비동기 이벤트에 의해 추가된다.
또한, 몇몇의 연장된 동작은, 콜백 큐(110)를 이용하여 동작을 계속하는 동시에, 다른 동작(사용자 입력)이 핸들링될 수 있게 할 것이다. 예를 들어, 애니메이션 GIF 이미지의 프레임을 판독하는 것은, 다음과 같은 2개의 개념적인 상으로 분리될 수 있다.
1. 제1 프레임의 판독, 및 다음 프레임을 판독하기 위한 호출의 큐.
2. 다음 프레임 판독 시도. 성공하는 경우, 다음 프레임을 판독하기 위한 호출의 큐.
이러한 방식으로, 애니메이션을 포함하는 페이지가 가능한한 빨리 디스플레이되는 동시에, 애니메이션의 나머지 부분이 백그라운드에 효과적으로 로드될 수 있다.
4. 쉘
쉘(106)은 입력 스트로크 및 하위 레이어로부터의 다른 입력을 핸들링하여, 그러한 입력들을 적합한 프로토콜 핸들러(112) 및 컨텐트 핸들러(114)에 전달한다. 쉘(106)의 기능의 리스트는 부록 A에 제공된다.
a) 키패드 입력
키패드 입력은 이식성 레이어(118)로부터 쉘(106)에 자발적으로 도달한다. 쉘(106)은 키스트로크를 프로세스할 수 있는 엔티티, 특히 현재 디스플레이 중인 페이지의 사용자 인터페이스 오브젝트의 리스트인 키스트로크 타겟 리스트를 보유한다. 키스트로크가 도달하면, 쉘(106)은 ShellProcessKey를 통해 키스트로크를 키스트로크 타겟 리스트 내의 제1 엔티티에 전달한다. 엔티티가 키스트로크를 프로세스하지 않는 것으로 결정하는 경우, 쉘(106)을 호출하여 그 키스트로크를 리스트 내의 다음 엔티티에 제공하게 한다 (ShellPreviousInput). 리스트 초기화시에 쉘(106)에 의해 배치된 리스트 내의 최종 엔티티는, 시스템 일반의 키스트로크 디폴트를 구현하는 쉘(106) 내의 디폴트 프로세스 루틴에 전달할 것인지를 선택할 수 있는 현재 컨텐트 핸들러(114)에 키스트로크를 분산시키고, 현재 컨텐트핸들러(114)는 키스트로크를 원하는 대로 핸들링할 수 있다.
쉘(106)은 엔티티(통상적으로 사용자 인터페이스 오브젝트)를 키스트로크 타겟 리스트에 등록하는 기능(ShellGrabInput) 및 리스트로부터 엔티티를 해제하는 기능(ShellReleaseInput)을 포함한다.
b) 소프트키
특별 기능을 갖는 키의 한 유형은 소프트키(130)가며, 이것은 스크린 디스플레이(136) 내의 페이지 상에 그 라벨이 디스플레이되고, 사용자 인터페이스 정의 파일(104) 내에 정의된 파라미터에 따라 페이지마다 그 목적이 변경되는 키이다. 쉘(106)은 다수의 소프트키(130)를 관리하며, 소프트키(130)의 개수는 전형적으로 1 내지 3개이지만 무선 통신 장치(100)에 따라 달라질 수 있다. 각각의 소프트키는, 스트링 또는 각 항목들이 스트링을 지정하는 메뉴에 결합될 수 있다. 또는, 소프트키(130)는 URL 스택으로부터 하나 이상의 엔트리를 팝(pop)하거나, 아무 것도 하지 않도록 설정될 수 있다.
스트링에 결합된 소프트키(130) 또는 메뉴 항목이 활성화되면, 그 스트링은 ContentActivate 기능을 통해 현재 컨텐트 핸들러(114)에 전달된다. 몇몇 경우에서, 소프트키(130)에 결합된 스트링은 페치될 URL이다. 이 경우, URL은 컨텐트 핸들러(114)에 의해 쉘(106)에 전달되어, 적합한 프로토콜 핸들러(112) 및 컨텐트 핸들러(114)에 의해 프로세스(ShellGetURL) 및 페치된다. 그 외의 경우에서, 결합된 스트링은, 컨텐트 핸들러(114)가 페이지를 변경하지 않고 자기 자신을 핸들링할 수 있는 커맨드이다. 마지막으로, 결합된 스트링은 2가지의 혼합, 즉 페치에 앞서 사용자로부터의 일정한 입력에 기초하여 컨텐트 핸들러(114)에 의해 수정된 템플릿 URL(아래 참조)일 수 있다.
상술한 바와 같이, ContentActivate 기능의 일부로서, HTMLp 컨텐트 핸들러(114c)는 사용자가 선택한 사용자 인터페이스 엔티티에 결합된 스트링 자체를 조사하기 전에 그 스트링을 현재 페이지 내의 임베딩된 오브젝트에 전달한다. 몇몇 개의 임베딩된 오브젝트는, 이러한 방식으로 디스플레이하고 있는 데이터에 따라 동작하는 커맨드를 취하는 반면에, 그 외의 임베딩된 오브젝트는 사용자가 선택한 데이터의 일부를 대체하여 쉘(106)에 전달한 URL을 생성하기 위한 스트링 내의 특별한 이스케이프를 탐색한다. 또한, HTMLp 컨텐트 핸들러(114)는, 하이퍼링크로부터의 URL을 단지 수용하는 대신에, 자신이 수용하는 특별한 커맨드를 갖는다.
c) URL 처리
상술한 제어 플로우 중에서, 스크린 디스플레이(136)를 업데이트하는 단계는, 디스플레이를 위한 새로운 페이지를 획득하는 과정에서 수행되는 경우, ShellGetURL 기능을 통해 URL을 쉘(106)에 전달함으로써 수행된다. 도 4는 쉘(106)이 URL 프로세스를 지원하는 데에 이용하는 URL 히스토리 스택(108)을 도시하고 있다. URL 히스토리 스택(108)은 LIFO 스택이다. 각각의 엔트리(402)는 URL(404), URL을 핸들링하는 특정 컨텐트 핸들러(114)을 위한 기능들의 기능 테이블(412)에 대한 포인터(406), (존재하는 경우에만) URL과 함께 전달되어 "엑스트라" 프로토콜에 의해 검색되거나 URL을 위한 컨텐트 핸들러에 의해 이용되는 엑스트라 데이터(408), 다음 URL에 대한 포인터(440), 페이지가 동작 중인 특권 레벨(414), URL의 우선 순위(416), 및 쉘(106)이 컨텐트 핸들러(114) 측에서 유지하는 상태 블록(418)에 대한 포인터를 포함한다.
도 5를 참조하면, URL을 핸들링할 때의 쉘(106)의 동작에 대한 플로우차트가 도시되어 있다. 쉘(106)은 최초의 ':' 캐릭터 앞에 존재하는 URL 스트링의 제1 부분을 추출하고 (단계 500), 그것을 알려져있는 프로토콜 핸들러(112)의 리스트와 비교하여 (단계 502), 그 URL 데이터를 핸들링하는 데에 적합한 핸들러를 식별한다. 프로토콜 핸들러(112)가 발견되지 않으면, 쉘(106)은 현재 URL 스택의 최상위에 있는 URL을 위한 프로토콜의 BuildURL 기능을 호출하여 현재의 최상위 URL 및 페치 중인 URL에 전달함으로써 완전한 URL을 작성한다 (단계 508).
프로토콜 핸들러(112)가 발견되는 경우, 쉘(106)은 그 프로토콜 핸들러(112)의 GetURL 기능을 호출하고(504), URL의 나머지 부분을 전달한다. 프로토콜 핸들러(112)는 URL을 페치하고, 리턴되는 데이터의 유형을 나타내는 스트링, 그 데이터가 해석될 특권 레벨 및 실제 데이터를 포함하는 스트림 (현재까지는 데이터가 표시될 필요가 없지만, 스트림으로부터의 판독은 데이터가 도달하는 즉시 그 데이터를 리턴시켜야 함) 에 대한 포인터를 포함하는 ContentStream 구조에 대한 포인터를 리턴시킨다. 스트림이 리턴되지 않는 경우(단계 506), 쉘(106)은 에러를 리턴시킨다 (단계 510).
쉘(106)은 데이터 타입 스트링을 알려진 컨텐트 핸들러(112)의 리스트와 대조한다. 일치되지 않는 경우, 쉘(106)은 에러를 리턴시킨다 (단계 520). 일치가발생하는 경우 (단계 514), 이 컨텐트 핸들러(114)는 현재 컨텐트 핸들러가 된다. 쉘(106)은 소프트키(130), 컨텐트 영역(214)의 크기, 타이틀 바(210) 및 상태 메시지 영역(212)을 디폴트 상태로 재설정한다. 쉘(106)은 현재 컨텐트 핸들러(114)의 ContenOpen 기능을 호출하여, 컨텐트 디스플레이 영역(214)의 ContentStream 및 제어를, 디스플레이될 컨텐트에 대한 현재 컨텐트 핸들러(114)에 전달한다.
OpenCall이 성공적인 경우 (단계 522), 쉘(106)은 URL 히스토리 스택(108)을 업데이트하여, URL, 현재 컨텐트 핸들러(114) 기능에 대한 포인터 및 임의의 엑스트라 데이터를 스택 상에 배치시키고, URL을 요청하는 엔티티에 성공을 리턴시킨다 (단계 524). 그렇지 않은 경우, 쉘(106)은 URL 히스토리 스택(108)으로부터 이전의 URL을 다시 오픈하고 (단계 526), 에러를 리턴시킨다.
5. 보안
전파를 통해 수신된 컨텐트는 전화 기능을 활성화하고 전화번호부 엔트리 등의 전화 데이터를 액세스할 수 있기 때문에, 본 발명은 기능 또는 데이터에 대한 인증되지 않은 액세스를 방지하기 위한 보안 메커니즘을 제공한다.
URL이 프로토콜 핸들러(112)에 의해 GetURL 기능의 일부로서 페치되는 경우, 그 URL의 데이터는 프로토콜 핸들러에 의해 특권 레벨을 할당받는다. 컨텐트가 특권 소스로부터 오는 경우, 프로토콜 핸들러(112)는 최고 특권 레벨을 할당한다. 예를 들어, 무선 통신 장치(100)의 ROM 내에 저장되어 있는 사용자 인터페이스 정의 파일(104)로부터의 모든 페이지는 최고 특권 레벨을 할당받는다. 수신된 것이든 또는 사용자에 의해 작성된 것이든 간에, 포맷된 텍스트 메시지는 최하위특권 레벨을 할당받는다. 특권 레벨이 할당되지 않은 컨텐트는 쉘(106)에 의해 자동적으로 최하위 특권 레벨을 할당받는다. 예를 들어, 웰드 와이드 웹으로부터의 컨텐트는 최하위 특권 레벨을 부여받는다 (특권 레벨이 미리 할당되지 않은 경우). 컨텐트의 항목의 특권 레벨은 URL 히스토리 스택(108) 내에 URL과 함께 저장된다.
무선 통신 장치(100)의 선택된 기능은, 무선 통신 장치(100) 제조사 또는 서비스 운영자에 의해 특권 레벨을 감지하도록 구성된다. 이러한 기능이 호출되면, URL 히스토리 스택(108) 내의 페이지 URL로부터 컨텐트를 요청하는 페이지의 특권 레벨을 결정한다. 요청하는 페이지의 특권 레벨이 요청된 컨텐트의 특권 레벨보다 낮은 경우, 기능은 액세스를 거부하거나 사용자에게 그 동작을 확인받을 수 있다. 예를 들어, 특권 레벨이 낮은 페이지가 CallManager를 통한 전화 호출을 요청하는 경우, 사용자는 다이얼되는 실제 번호를 통보받으며, 전화가 다이얼되기 전에 요청을 확인해야 한다.
6. 컨텐트 핸들러
하기의 섹션들은 개별적인 컨텐트 핸들러(114)가 각각의 컨텐트 핸들러(114)에 대한 API 내의 4개의 기능을 어떻게 구현하는지를 개략적으로 설명한다.
a) HTMLp 컨텐트 핸들러
(1) HTMLp API
HTMLp 컨텐트 핸들러(114c)는 HTML 3.2 사양을 이용하는 완전한 HTML 컴플라이언트 분석기(fully HTML compliant parser)를 제공한다. 이 분석기는 컨텐트의 페이지를 분석하는 동안 HTMLp 컨텐트 핸들러가 요구할 때마다 활성화되어, 스크린 디스플레이(136)의 디스플레이를 위한 사용자 인터페이스 엔티티를 작성하고, 라벨과 같은 엔티티와 관련된 각각의 데이터 및 사용자 인터페이스 엔티티가 선택될 때 페치되는 URL을 포함하는 관련 데이터를 저장한다.
상술한 바와 같이, 각각의 컨텐트 핸들러(114)는 HTMLpOpen, HTMLpClose, HTMLpActivate 및 HTMLpPrecessKey의 4개의 기능의 외부 인터페이스를 제공한다. HTMLpOpen 및 HTMLpClose가 여기에서 설명된다. 이해를 돕기 위해, HTMLpactivate 및 HTMLpProcessKey는 새로운 HTMLp의 태그에 대한 설명 이후에 설명하기로 한다.
(a) HTMLpOpen
쉘(106)에 의해 호출되는 이 기능은, 컨텐트의 페이지를 디스플레이하기 위해, 스크린 디스플레이(136)의 컨텐트 영역(214)에 대한 제어를 HTMLp 컨텐트 핸들러(114c)에 제공한다. 상술한 바와 같이, HTMLp 컨텐트 핸들러(114c)는 쉘(106)로부터 디스플레이될 데이터의 스트림, 컨텐트 데이터(페이지)가 이전에 디스플레이되었는지를 나타내는 디스플레이 플래그, 및 페이지와 관련된 임의의 엑스트라 데이터에 대한 포인터를 수신한다.
기능은 디스플레이 플래그에 기초하여 페이지가 이전에 디스플레이되었는지를 결정하며, 그러한 경우에는 패이지 내의 임의의 임베딩된 오브젝트가 캐시되었는지를 결정한다. 이 경우, 페이지는 다시 디스플레이되며, 임의의 임베딩된 오브젝트는 그 이전 상태를 다시 구성하기 위해 호출되는 RestoreState를 갖는다.
페이지에 대해 임베딩된 오브젝트가 캐시되지 않거나, 그 페이지가 최초로디스플레이되는 것일 경우, 그 페이지에 대한 컨텐트 스트림은 하위 HTMLp 분석기에 전달되어 HTMLp 코드로서 해석된다. 분석기는 필요에 따라 새로운 윈도우 및 사용자 인터페이스 엔티티와, 랩 텍스트(wrap text)와 업데이트 및 할당 소프트키(130)를 작성할 것이다. 페이지는 완벽하게 해석된 때에 사용자에게 디스플레이된다. 사용자 인터페이스 엔티티의 작성에 있어서, HTMLp 분석기는 사용자 인터페이스 엘리먼트(키(132), 소프트키(130), 메뉴 항목 등)와 이들 엔티티에 결합된 URL(로컬 또는 원격) 간의 연관 테이블을 구성한다. 연관은 각각의 특정 사용자 인터페이스 엔티티와, 그 엔티티가 사용자에 의해 선택 또는 활성화된 경우에 페치될 URL을 식별한다. 이러한 연관은 HTMLpProcessKey 기능에 의해 페이지로부터 수신된 키스트로크를 연속하여 프로세스할 때 이용된다. 페이지의 다른 모든 부분을 보유하는 메인 윈도우에 대한 핸들은, ShellSetState에 대한 호출을 통해 페이지에 대한 상태 블록(418)으로서 설정된다.
(b) HTMLpClose
이 기능은 사용자가 현재의 페이지를 닫거나 다른 페이지로 전환할 때에 호출된다. 쉘(106)은, 페이지가 URL 히스토리 스택(108)으로부터 제거되는지 또는 URL 히스토리 스택(108) 내에 계속 남게 되는지를 표지하는 플래그 내에 전달된다. 페이지가 제거되지 않고 캐시-불가능으로 마크되어 있지 않은 경우, 메인 페이지는 볼 수 없는 것으로 설정되어 사용자로부터 숨겨져 있지만, 액티브 페이지로서 계속 유지된다.
페이지가 캐시-불가능이거나 URL 히스토리 스택(108)으로부터 제거되는 경우, 페이지 윈도우 및 그 관련 데이터 구조는 파괴된다. 페이지는, 자신이 디스플레이되지 않는 동안 변경될 가능성이 있는 외부 데이터를 참조하는 경우에 캐시-불가능으로 된다. 예를 들어, 페이지가 <INC>("include") 태그를 포함하거나 아래에 설명되는 구성 메커니즘을 이용하는 구성 세팅을 디스플레이하는 경우, 그 페이지는 캐시-불가능으로 간주된다. 조건적인 <IF> 태그 및 <TEMPLATE> 태그의 이용은, 이들 태그에 대한 DYNAMIC 속성이 설정되었는지의 여부와 %[url] 이스케이프가 <TEMPLATE> </TEMPLATE> 블록 내부에 있는지의 여부에 따라, 그 페이지를 캐시-불가능으로 할 수도 있고 캐시-불가능으로 하지 않을 수도 있다. 이러한 기능들은 나중에 더 설명된다.
(2) HTML : HTMLp의 확장
본 발명은 완전하게 HTML에 호환 가능한 MMI(102)를 제공한다. 그러나, 단순히 컨텐트를 디스플레이하는 것에 더하여, 무선 통신 장치(100)의 사용자 인터페이스를 개량하여, 원격 통신 기능 및 소형 스크린 디스플레이(136)에 대해 더 기능적으로 하고, 장치 제조사 및 서비스 운영자가 무선 통신 장치를 용이하고 신속하게 상품화할 수 있게 하는 것이 바람직하다.
HTMLp를 구성하는 확장은 다음과 같다.
(a) 사용자 인터페이스 확장
이 섹션에서는, 사용자 인터페이스를 풍부하게 하는 HTMLp의 확장이 설명된다. 이러한 다양한 태그들은, HTMLp 컨텐트 핸들러(114c)가 쉘(106)로부터 컨텐트의 페이지를 수신한 때, HTMLp 컨텐트 핸들러(114c)에 의해 디코딩된다.
(ⅰ) 키와 기능의 결합 : <KEY> 태그
전형적인 무선 통신 장치(100)는 1 내지 3개의 소프트키(130), 표준 숫자키(134) 및 다수의 특별 목적용 키(132)를 구비한다. HTMLp의 새로운 확장은, <KEY> 태그를 이용하여 키패드(128) 내의 임의의 키가 HTML 페이지에 결합될 수 있게 한다. 신택스는 다음과 같다.
<KEY KEY=keyLABEL =stringACTION =url│POP│DONE│CLEAR│MENU│GO│NONE>
KEY 속성의 값은 다음 중 하나이다.
1, …m: 결합될 소프트키를 지정한다. 키는 좌측에서 우측 또는 상측에서 하측으로 번호가 매겨진다(전화기 상에서의 위치에 따라). 전형적으로 m≤3 이지만, 이것은 장치에 따라 달라질 수 있다.
send: "Send" 또는 "Talk" 키를 지정한다.
back: "Back" 키를 지정한다. 모든 장치가 이 키를 갖고 있는 것은 아니다. 페이지는 이 키를 결합시킬 특권을 갖고 있어야 한다.
# n : 다이얼링 키들 중 하나를 지정한다.n은 키 상의 라벨(0-9, *, #)이다. 모든 다이얼링 키에 동일한 액션을 결합시키기 위해 #x를 지정한다.
end: "End" 키를 지정한다. 페이지는 이 키를 결합시킬 특권을 갖고 있어야 한다.
mode: "Mode" 또는 "ABC" 키를 지정한다.
clear: "Clear" 또는 "Del" 키를 지정한다.
up: 상향 화살표 키 또는 업 동작을 지정한다.
down: 하향 화살표 키 또는 다운 동작을 지정한다.
left: 좌향 화살표 키를 지정한다.
right: 우향 화살표 키를 지정한다.
select: 선택 키 또는 액션을 지정한다.
power: 전원키를 지정한다. 페이지는 이 키를 결합시킬 특권을 갖고 있어야만 한다.
default: 표준 액션 이외의 것이 취해지는 경우에는, 항상 그 액션이 배타적으로 지정되어 있어야 하는 back, end 및 power 키를 제외한, 다른 액션이 지정되어 있지 않은 임의의 키에 대한 액션을 지정한다.
소프트키(130)의 경우, LABEL 속성의 값은 그 키에 대한 온-스크린 라벨에 나타나는 스트링이다. 스트링이 할당된 스페이스에 비해 긴 경우에는 일부가 생략된다. LABEL 속성은 소프트키(130)에 대해서만 유효하다.
ACTION 속성의 값은 결합키가 눌려졌을 때 발생해야 하는 동작을 지정한다. 그 가능한 값들은 다음과 같다.
URL : 페치될 URL 또는 페이지 내에 임베딩된 오브젝트에 대한 다른 커맨드를 지정한다. URL은 프로세스를 위해 HTMLp 컨텐트 핸들러의 HTMLpActivate에 전달된다.
POP: 이전 페이지에 대한 디스플레이를 요청한다.
DONE: 최신 <TOP> 페이지 이전의 페이지에 대한 디스플레이를 요청한다.
CLEAR: URL 히스토리 스택(108)으로부터 모든 페이지를 삭제하고, 메인 스크린을 디스플레이할 것을 요청한다.
MENU: 메뉴를 불러오는 소프트키(130)를 지정한다. 메뉴 내의 항목은 <HEAD> 섹션 내의 <KEYMENU> 태그에 의해 지정된다. 이것은 소프트키(130)에 대해서만 유효하다.
GO: 현재 선택된 링크를 페치할 것을 요청한다. 이것은 <LINKMENU> 속성을 갖는 페이지들에 대해서만 유효하다.
NONE: 키를 눌렀을 때 아무런 동작도 행하지 않을 것을 요청한다. 이것은 키에 대한 디폴트 동작이 무효로 될 수 있게 한다.
HTMLp 컨텐트 핸들러(114c)가 <KEY> 태그를 갖는 페이지를 로드하면, 키, 라벨(존재하는 경우) 및 동작 간의 연관을 저장하는 키 결합 테이블이 작성된다.
ACTION 속성에 결합된 스트링은 HTMLpActivate 기능에 의해 다음과 같이 프로세스된다.
(ⅱ) HTMLpActivate
HTMLpActivate 기능은, 키, 소프트키, 메뉴 항목, 하이퍼링크 등과 같은 사용자 인터페이스 엔티티에 결합된 스트링에 대한 적합한 응답을 결정하는 데에 이용된다. 입력은 쉘(106)로부터의 스트링, 더 상세하게는 KEY 또는 KEYMENU 태그의 ACTION 속성이나 태그의 HELP 속성에 결합된 스트링이다. 일반적으로, 새로운 HTMLp 태그는 무선 통신 장치(100)의 임의의 키 또는 메뉴 항목이 특별한 동작 또는 URL에 연관될 수 있게 한다.
도 6A 및 6B를 참조하면, HTMLpActivate 기능의 일 실시예에 대한 플로우차트가 도시되어 있다. HTMLp 컨텐트 핸들러(114c)는 현재 페이지 내에 임베딩된 오브젝트의 리스트를 유지한다. 페이지 내에 임베딩된 오브젝트가 존재하는 경우 (단계 602), 이 기능은 프로세스를 위해 스트링을 임베딩된 오브젝트에 전달한다 (단계 604). 임베딩된 오브젝트는, 그 스트링이 프로세스되었는지 또는 그 스트링에 대해 더 이상의 프로세스가 필요없는지를 나타내는 부울린(Boolean)을 리턴시킨다. 스트링이 임베딩된 오브젝트에 의해 프로세스되지 않은 경우 (단계 606), 이 기능은 쉘(106)에 제어를 리턴시킨다 (단계 608). 임베딩된 오브젝트에 대한 스트링의 프로세스는 나중에 더 설명된다.
스트링이 프로세스되지 않은 경우, HTMLpActivate 기능은, 스트링을 그 값에 따라 ACTION 속성으로서 프로세스한다 (단계 610).
스트링이 "POP"인 경우 (단계 612), 쉘의 ShellGoBack(POP) 기능이 호출된다 (단계 614). 이 기능은 URL 히스토리 스택(108)의 최상위 URL을 팝하여, 이전의 URL이 로드되게 한다.
마찬가지로, 스트링이 "DONE"인 경우 (단계 616), ShellGoBack(DONE) 기능이 호출되어 (단계 618), 최근 <TOP> 태그 이전의 페이지를 디스플레이한다. <TOP> 태그는 멀티-파트 양식의 제1 부분을 식별하며, 이는 나중에 더 설명된다.
HTMLp 컨텐트 핸들러(114c)는, 양식 또는 하이퍼링크의 입력 필드일 수 있는 페이지 내의 현재 오브젝트에 대한 포인터를 유지한다. 이러한 현재 오브젝트는 입력 포커스가 위치하는 곳이다.
스트링이 "GO"이고 (단계 620) 현재 오브젝트가 하이퍼링크가 아닌 경우 (단계 622)에는 아무런 동작도 발생하지 않는다. 현재 오브젝트가 하이퍼링크인 경우, 컨텐트 핸들러(114)는 그 하이퍼링크와 연관된 URL 스트링을 획득하여 (단계 624), 실제 컨텐트를 페치하는 ShellGetURL에 URL 스트링을 전달한다.
스트링이 "CLEAR"인 경우 (단계 626), 쉘(106)의 ShellGoBack(CLEAR)가 호출된다 (단계 628). 이 기능은 URL 히스토리 스택(108)을 클리어하고, 디폴트 메인 페이지가 디스플레이되게 한다.
스트링이 "resetformid"의 양식인 경우 (단계 630), 기능은 양식 번호formid의 입력 엘리먼트를 원래의 상태로 리턴시킨다. 이 액션은 <INPUT TYPE=reset> 도구에 대한 임의의 소프트키(130) 또는 소프트키 메뉴에 결합된다.
스트링이 "submitformid,label"의 양식인 경우 (단계 634), 기능은 양식 번호formid를 정의하는 FORM 태그의 METHOD 및 ACTION 속성에 따라, 양식 번호 formid를 제출한다 (단계 636).label은 존재하는 경우에는, 사용자가 활성화시킨 <INPUT TYPE = submit> 도구를 표지하여, 그 이름-값 쌍이 양식 내의 다른 도구들의 값과 함께 제출될 수 있게 한다.
스트링이 "SELECT"인 경우 (단계 638), 이 기능은, 다음과 같은 도구 유형에 따라, 사용자가 선택한 사용자 인터페이스 도구를 활성화시킨다.
[도구 유형]
· <INPUT TYPE = radio> : 그 라디오 버튼을 선택하고, 동일한 이름을 갖는 다른 라디오 버튼을 선택 해제한다.
· <INPUT TYPE = checkbox> : 체스박스를 체크하거나 체크하지 않는다.
· <SELECT> : 옵션이 디스플레이되는 경우, 사용자가 선택한 옵션을 선택한다. SELECT 리스트가 팝-다운 리스트인 경우, 팝-다운을 닫는다.
· 하이퍼링크 : 링크를 따른다.
스트링이 "NONE"인 경우 (단계 642), 아무런 동작도 취해지지 않는다.
이러한 모든 조건이 통과된 후, 스트링이 URL과 같은 임의의 다른 값을 갖는 경우 (단계 644), 스트링은 ShellGetURL로 전달되어(단계 646) 프로세스된다. URL이 속성을 갖지 않는 경우 (URL 내에 ?가 존재하지 않는 경우), 엑스트라 데이터로서 이 페이지에 전달되었던 임의의 파라미터도 ShellGetURL에 대한 호출 내에 전달된다.
HTMLpActivate 기능의 일례 및 임베딩된 오브젝트에 대한 이점은 나중에 더 설명된다.
<KEY> 태그를 이용하는 Activate 기능에 의한 프로세스의 일례는 다음과 같다. 페이지가 다음의 KEY 태그를 포함하는 것으로 가정한다.
<KEY KEY="send" ACTION=phone:dial>
이 페이지가 로드되면, HTMLp 컨텐트 핸들러(114c)는 Send 키와 URL "phone:dial" 간의 연관을 키 결합 테이블 내에 저장한다. 이와 같이 저장된 데이터는, 사용자가 send 키를 누를 때, 전화 프로토콜 핸들러(112g)의 전화 다이얼 기능을 활성화시키는 데에 이용된다. HTMLp 컨텐트 핸들러(114c)는 현재 컨텐트 핸들러(114)가다.
소정 시간의 경과 후, 사용자가 Send 키를 누른 것으로 가정하자. 이식성 레이어(118)는, 키가 눌려졌는지를 나타내는 ShellProcessKey 기능을 호출하고, 그 Send 키에 대한 키 번호와 그 키가 눌려졌음을 나타내는 플래그를 전달한다. 상술한 바와 같이, 쉘(106)은 키스트로크 타겟 리스트를 유지한다. ShellProcessKey는 수신된 키를 스택 상의 제1 타겟에 보낸다. 이 타겟이 그 키의 목적을 갖고 있지 않은 경우, 타겟은 쉘(106)의 PreviousInput 기능을 호출하여, Send 키 인덱스를 전달한다. 쉘(106)은 그 키스트로크 타겟 리스트 상의 다음 항목을 찾는다. 이러한 프로세스는 키가 HTMLp 컨텐트 핸들러(114c)에 전달될 때까지 반복된다. 이러한 동작은, URL 히스토리 스택(108)의 최상위에 있는 URL이 HTMLp 컨텐트 핸들러(114c)에 대한 포인터를 포함하기 때문에, 쉘(106)이 현재 컨텐트 핸들러(114)의 ProcessKey 기능을 호출한 때에 발생한다.
그 다음, 쉘(106)은 HTMLpProcessKey("send")를 호출한다. 이 기능은, Send 키와 URL"phone:dial" 간의 연관을 포함하는 키 결합 테이블을 탐색한다. HTMLp 컨텐트 핸들러(114c)는, HTMLp 컨텐트 핸들러(114c)의 HTMLpActivate 기능을 호출하는 ShellActivate(phone:dial)을 호출한다.
여기에서, 페이지 내에 임베딩된 오브젝트가 존재하지 않는 것으로 가정한다. 그러면, 이 기능은, POP, DONE, GO, CLEAR 및 NONE과 같은 다양한 다른 동작에 대해 입력 스트링을 테스트한다. 스트링 "phone:dial"이 이들 중 어느 것과도 일치하지 않기 때문에, HTMLpActivate 기능은 쉘의 ShellGetURL(phone:dial) 기능을 호출한다.
도 5의 플로우차트에 도시되어 있는 바와 같이, 쉘(106)은 이 기능을 프로세스한다. 예를 계속하면, 쉘은 URL이 전화 프로토콜 핸들러(112g)를 위한 것으로 결정하고, 프로세스를 위해 "dial" 부분을 전달한다. 프로토콜 핸들러(112g)는, 다이얼될 번호를 포함하는 "CallManager" 유형(호출 매니저 컨텐트 핸들러(114b) 전용임)의 컨텐트 스트림을 리턴시킨다. 쉘(106)은 HTMLp 컨텐트 핸들러(114c)를 닫지만, URL을 URL 히스토리 스택(108)으로부터 제거하지는 않는다. 쉘(106)은 URL"phone:dial"을 URL 히스토리 스택(108)의 최상위에 배치시킨다. 쉘(106)은 전화 프로토콜 핸들러(112g)로부터 리턴된 컨텐트 스트림에서 스트림을 핸들링하기 위한 컨텐트 핸들러(114)의 스트링 이름을 획득한다. 쉘(106)은 그 테이블 내의 스트링을 탐색하여, URL 히스토리 스택(108)의 최상위 엔트리의 CONTENT 필드를 업데이트한다. 최종적으로, 쉘(106)은 새로운 현재 컨텐트 핸들러(114)의 Open 기능을 호출하여, 컨텐트 스트림 데이터를 전달한다. 호출 매니저 컨텐트 핸들러(114b)의 Open 루틴에서, 호출 매니저 컨텐트 핸들러(114b)는 스트림으로부터 전화번호를 검색하고, 전화 제어 모듈(120) 내에서 필요한 기능을 호출하여 전화 통화를 개설한다.
(ⅲ) 메뉴 작성
소프트키(130)가 <KEY> 태그를 이용하는 메뉴에 결합되고 ACTION="menu"인 경우, 그 메뉴의 엔트리는 페이지의 HEAD 섹션 내의 <KEYMENU>를 이용하여 지정된다. <KEYMENU> 태그는 다음의 신택스를 갖는다.
<KEYMENU KEY=nLABEL=stringACTION=url│POP│DONE│CLEAR│GO>
엔트리는 출현하는 순서대로 메뉴 내에 디스플레이된다. 그러나, 모든 메뉴 엔트리가 헤더 내에 함께 있어야 하는 것은 아니다.
KEY 속성의 값은 어떤 메뉴 엔트리가 추가되어야 하는지를 지정한다. 이것은 존재해야 하는 메뉴를 지정하는 <KEY> 태그에 대해 주어진 것과 동일한 값을 갖는다.
LABEL 속성의 값은 메뉴 엔트리 내에 나타나는 스트링이다. 메뉴는 모든 엔트리를 보유하기에 충분할 정도의 폭을 가질 것이다. 그러나, 라벨이 스크린보다 넓은 경우에는 라벨의 일부가 생략될 수 있다.
ACTION 속성의 값은, 그 엔트리가 선택되었을 때 발생해야하는 동작을 지정한다. 그 가능한 값들을 다음과 같다.
URL : 페치될 URL 또는 페이지 내에 임베딩된 오브젝트에 대한 다른 커맨드를 지정한다.
POP: 이전 페이지에 대한 디스플레이를 요청한다.
DONE: 최신 <TOP> 페이지 이전의 페이지에 대한 디스플레이를 요청한다.
CLEAR: 모든 페이지를 URL 히스토리 스택(108)으로부터 팝시키고, 메인 스크린을 디스플레이할 것을 요청한다.
GO: 현재 선택된 링크를 페치할 것을 요청한다. 이것은 <LINKMENU> 속성을 갖는 페이지들에 대해서만 유효하다.
상술한 바와 같이, ACTION 속성은 HTMLpActivate 기능 내의 <KEY> 태그의속성과 동일한 방식으로 프로세스된다.
도 7은, 키 메뉴가 정의되어 있는 페이지에 대한 HTMLp 소스 코드와, 메뉴가 선택되어 디스플레이될 때의 스크린 디스플레이(136)에 대한 일례를 도시하고 있다. HTMLp 코드는 좌측에 도시되어 있고, 그로 인한 페이지는 우측에 도시되어 있다. 라인 4는 제1 소프트키 (KEY=1)에 대한 메뉴를 정의한다. 메뉴가 오픈된 때, 메뉴에 대한 소프트키 라벨(216)이 "Select"로 변경되어, 사용자가 소프트키(130)를 다시 누르면 선택된 엔트리가 활성화됨을 표지한다는 점에 유의한다. 대안적으로, 이 라벨(216)은 메뉴를 닫도록 변경되고, Send 키가 선택 사항을 활성화시키도록 할 수도 있다. 라인 5-7은 이 메뉴에 대한 메뉴 항목들을 정의하며, 이들 각각은 메시지, 최근 호출 또는 폰 세팅 검색을 위한 디스플레이에 적합한 페이지에 대한 사용자 인터페이스 정의 파일(104) 중 하나를 지정하는 ACTION 속성을 갖는다. "Select"로 마크된 소프트키를 누르거나 아이콘을 엔트리의 좌측에 일치시키는 숫자키를 누름으로써 메뉴 내의 엔트리 중 하나를 선택하면, KEYMENU 내에 지정되어 있는 ACTION이 실행된다. 본 예에서, 적합한 HTMLp 사용자 인터페이스 정의 파일(104)은 ROM으로부터 페치된다.
(ⅳ) 지연된 헬프
다수의 컴퓨터용 사용자 인터페이스는 온라인 콘텍스트 전용 헬프 택스트의 몇몇 양식을 제공한다. 종래에, 이러한 헬프 스크린은, 사용자 인터페이스 중 사용자가 데이터를 입력하고자 하는 부분에 겹쳐지는 전용 윈도우에 디스플레이되었다. 또한, 헬프 스크린은 통상적으로 수동적이며, 헬프를 요청하는 사용자의 직접적인 동작에 의해서만 나타났다. 그러나, 초소형의 스크린 디스플레이를 갖는 무선 통신 장치에서, 컨텐트 영역에 헬프 스크린을 겹치면 사용자가 불편하게 된다. 게다가, 사용자는 헬프를 이용할 수 있다는 것을 알지 못하기 때문에, 수동적으로 사용자가 헬프를 요청하기를 기다리고 있으면, 일부 사용자를 돕지 못하게 될 수도 있다.
페이지를 보고 있는 동안, 다음에 무엇을 해야할지를 모르는 사용자를 돕고, 사용자가 데이터를 입력하고자 하는 페이지의 컨텐트 영역(214)을 가리지 않고서 헬프를 제공하기 위해, 본 발명은, 사용자 입력 키스트로크가 없더라도, 소정 시간 경과 후에 페이지의 타이틀(210) 대신 스크린 상에 자동적으로 스크롤하는 헬프 텍스트를 제공한다. 스트링이 적절한 간격을 두고 연속적으로 디스플레이되는 경우, 하나 이상의 헬프 텍스트가 지정될 수 있다. 헬프 텍스트 스트링은, 페이지가 디스플레이될 때마다 한번에 하나씩만 디스플레이된다.
페이지들이 하나 이상의 헬프 스트링을 지정할 수 있도록 하기 위해, 문서의 <HEAD> 섹션에 새로운 <HELP> 태그가 지정된다. <HELP> 태그의 신택스는 다음과 같다.
<HELP>help string</HELP>
여기에서,help string은 디스플레이될 헬프 텍스트이다.
<HELP> 태그를 포함하는 페이지가 로드되면, HTMLp 컨텐트 핸들러(114c)는 헬프 텍스트 스트링을 포함하는 테이블 등의 구조를 작성한다. 이 테이블은, 이후의 이용을 위해 그 테이블을 저장하는 쉘(106)에 전달된다. 그 다음, <HELP> 태그의 기능성은 주로 아이들 타임 프로세스동안 쉘(106)에 의해 핸들링된다.
쉘(106)은 최종 키스트로크 이후의 초를 세는 카운터를 유지한다. 통상적으로, 카운터는 각각의 ShellProcessKey 상에서 클리어된다. 실시간 운영 체제(122)는 백그라운드에서 실행되는 타이머를 구비하며, 카운터를 증분시키는 쉘(106) 내의 루틴을 호출한다. 카운터가 임계 초에 도달하면, 쉘(106)은 스크롤 배너 오브젝트를 생성하여, 테이블 내의 제1 헬프 텍스트를 디스플레이하도록 지시한다. 스크롤 배너 오브젝트는 헬프 텍스트 스트링이 스크린 디스플레이(136) 상에서 완전히 스크롤되는 때를 결정하고 쉘(106)에 통보하며, 쉘(106)은 타이틀(210)을 다시 디스플레이한다. 다음 헬프 스트링을 디스플레이하기 위한 제2 임계값이 설정된다. 임계값은 헬프 텍스트 스트링을 디스플레이하기 위한 원하는 기간에 기초하여, 쉘(106)에 의해 미리 결정된다.
도 8은 2개의 HELP 태그를 포함하는 페이지에 대한 HTMLp 소스와, 페이지가 로드된 때 스크린 디스플레이(136)가 통과하는 시퀀스를 도시하고 있다. HTMLp 코드의 라인 7-8은 디스플레이될 헬프 텍스트를 나타낸다. 제2 및 제3 스크린 이미지는 타이틀 대신 스크롤되고 있는 제1 헬프 텍스트 스트링을 나타낸다.
(ⅴ) 탬플릿으로서의 페이지
본 발명에는, C 코드에 의해 전달되는 인수를 이용하여 양식 엔트리 필드를 완성하거나 장치로부터의 플라이 상에서 페치될 데이터를 지정하여 페이지 내의 양식의 초기 상태를 결정하는 표준 HTML 에디터를 이용하여 페이지를 구성할 수 있게 하는 다수의 HTML 확장이 존재한다. 이러한 확장들로는, 템플릿, 조건부 HTML, 구성 세팅 기능 및 "included" HTML이 있다.
일반적으로, 임베딩된 오브젝트를 위한 C 코드는 디스플레이될 파라미터를 갖고 있지만, 디스플레이의 포맷은 그 페이지를 위한 HTML 내에 정의되는 것이 바람직하다. 예를 들어, 인입 호출을 위한 데이터의 양식을 디스플레이하는 페이지는 전화번호와 그에 연관된 이름을 디스플레이하는 것이 바람직하다. 따라서, 인입 호출을 디스플레이하기 위한 페이지는 파라미터(전화번호 및 호출자의 이름)를 취하고, 그들을 필요에 따라 포맷해야 한다.
그러나, 조건부 HTML 3.2는 이러한 바람직한 어플리케이션을 위해 데이터를 페이지에 직접적으로 전달하는 메커니즘을 갖지 않으며, 최상으로는 요구에 따라 페이지가 생성될 수 있게 하는 HTML을 허용할 뿐이다. HTML의 생성은 속도가 느리고 계산 집약적이며, 전형적으로 페이지를 생성하기 위해 실행할 수 있는 스크립트는 생성되는 페이지보다 큰 저장 용량을 필요로 하기 때문에, 페이지 자체를 저장하는 것보다 덜 효율적이다. 본 발명은, 인수의 간접적인 전달을 허용함으로써, 실행 시간에서 HTML을 생성할 필요가 없게 한다. 이는, 페이지들이 ROM(126) 내에 저장될 수 있게 하며, HTML을 요구에 따라 생성하기 위한 코드보다 적은 메모리를 필요로 한다.
(a) 템플릿으로서 페이지를 이용
데이터가 페이지로 전달될 수 있게 하는 제1 확장은 <TEMPLATE> 태그이다. <TEMPLATE> 태그는 페이지 내의 어느 곳에서라도 나타날 수 있다. 이것은 문서의 구조 내의 적합한 위치에 있는 대응 </TEMPLATE> 태그와 일치되어야 한다.
<TEMPLATE> 태그와 </TEMPLATE> 태그 사이의 모든 텍스트는 양식 %(url), %[url] 및 %<url>의 이스케이프에 대해 조사된다. 이것은 태그 내에, 심지어는 인용된 속성값 내에도 텍스트를 포함한다. 이러한 이스케이프가 발견되면, URL에 대한 데이터가 페치되고, 이들이 평범한 텍스트 또는 HTML인 경우에는, 이스케이프 대신에 계속 존재했던 것처럼 HTML 문서 내에 삽입된다. <TEMPLATE> 태그와 </TEMPLATE> 태그 사이의 텍스트에 % 캐릭터를 포함시키기 위해서는, 다른 "%%"에서와 같이 다른 %가 선행해야 한다.
양식 %<url>은, 다른 URL을 위한 인수로서 이용되기 위해 엔코딩되는url로서 텍스트가 리턴되게 한다. URL 인수는 제한된 캐릭터 세트를 가지며, 그 캐릭터 세트 이외의 것은 두 개의 16진수가 후속하는 %로서 엔코딩된다.
%(url)과 %[url]의 차이는 HTMLp 컨텐트 핸들러(114c)의 캐시 동작에 있다. 정상적으로, 페이지를 위한 데이터는 분석되며, 페이지를 렌더링하는 데에 필요한 정보는 URL이 URL 히스토리 스택(108) 상에 남아있는 한 계속 저장된다. 이는, 이미 페치되었던 페이지가 신속하게 다시 디스플레이될 수 있게 한다. 그러나, %[url] 이스케이프가 템플릿 섹션 내에서 발견된다는 것은, URL에 대한 데이터가, 다시 디스플레이될 필요가 있는 페이지를 재분석하여 사용자가 그 페이지를 최종적으로 본 후에 URL 내에 발생한 변경 사항을 캐치할 수 있음을 보장할 수 있을 정도로 동적이라는 것을 나타낸다.
도 9는 TEMPLATE 태그의 일례를 도시하고 있다. 이 예에서, 라인 19-25 상에 있는 <TEMPLATE> 태그들 사이의 텍스트는 템플릿 텍스트를 정의한다. 라인 20상의 이스케이프는 URL "extra:name"이 페치되어, 변수 "name" 하에 저장되어 있는 데이터가 텍스트를 대신하게 한다. 스크린 디스플레이는 이를 텍스트 "Adam M"과 같은 방식으로 나타낸다.
HTML 4.0 사양은 페이지 내에 임베딩된 오브젝트의 이용을 제공한다. 일반적으로, 임베딩된 오브젝트는 자신의 컨텐트를 구성하고 디스플레이하는 페이지 상의 한 위치에 배치된 코드 항목이다. 임베딩된 오브젝트는, HTML 소스 내의 원하는 위치에 배치된 OBJECT 태그를 위한 URL 내에 지정된다. 정상적으로, URL은 ActiveX 제어, 자바 스크립트, C 코드 등과 같은 코드 엔티티를 지정한다. HTML 4.0 사양에서, URL은 원하는 엔티티를 단순히 리턴시키는 서버로 전달된다. 그러나, 임베딩된 오브젝트를 갖는 페이지가 HTML 4.0 내에서 일단 로드되면, 임베딩된 오브젝트에 대한 프로세스나 전달은 더 이상 발생할 수 없다. 특히, 사용자가 임베딩된 오브젝트를 포함하는 하이퍼링크(URL과 연관된 사용자 인터페이스 도구)를 선택하면, 임베딩된 오브젝트는 URL을 프로세스할 기회를 갖지 못하고, 그 대신 URL은 링크된 페이지를 따르게 된다.
그러나, 본 발명은, 프로세스를 위해 하이퍼링크 또는 사용자 인터페이스 도구를 임베딩된 오브젝트에 우선적으로 제공함으로써, 임베딩된 오브젝트의 기능성을 확장한다. 따라서, 임베딩된 오브젝트는 페이지를 업데이트하기 위한 서버를 구비하지 않고서도, HTML 양식 내에 제공된 인수에 직접적으로 응답할 수 있다. 이러한 임베딩된 오브젝트의 기능성에 대한 구현은, 도 6과 관련하여 설명된 바와 같이, HTMLp 컨텐트 핸들러(114c)의 HTMLpActive 기능에 제공된다.
상술한 바와 같이, HTMLp 컨텐트 핸들러(114c)가 URL인 스트링을 프로세스할 때, 임베딩된 오브젝트가 페이지 내에 존재하는 경우, HTMLp 컨텐트 핸들러(114c)는 URL을 임베딩된 오브젝트에 전달한다. 본 발명에 따르면, 임베딩된 오브젝트는 URL의 처리시 다음과 같은 세가지 동작 중 하나를 수행한다.
· URL을 커맨드로서 프로세스함;
· 페치될 쉘(106)에 URL을 전달하기 전에, URL 내의 이스케이프 시퀀스를 탐색하고, 사용자가 선택한 데이터로부터의 이들 시퀀스 정보를 대체함; 또는
· URL을 처리하지 않고 HTMLp 컨텐트 핸들러(114c)에 리턴시켜, HTMLpActivate의 나머지 부분에 따라 프로세스되게 함.
제2 유형의 프로세스에 대한 일례로서, HTMLp 페이지 내에 임베딩된 오브젝트의 전화번호부 인스턴스는 "@n" 또는 "@I"와 같은 이스케이프 시퀀스를 탐색하여, 사용자가 선택한 전화번호부 레코드의 이름 또는 레코드 ID를 대체한다. 전화번호부 오브젝트는 레코드의 이름이나 필드 중 임의의 것을 편집할 수 있는 편집 방법을 제공한다. URL "phone:edit?Name=@n"을 전화번호부 오브젝트에 전달하면, 선택된 전화번호부 레코드로부터 이미 설정된 이름을 이용하는 전화번호부 엔트리 생성 프로세스에 들어감으로써, 선택된 전화번호부 레코드에 대한 다른 이름의 추가 프로세스가 시작된다. URL "phone:edit?id=@i"를 전화번호부 오브젝트에 전달하면, 레코드의 모든 필드가 편집될 것이다.
이와 같이 확장된 기능성의 이점은, C로 하드코딩된 페이지를 갖는 대신에, C의 데이터 액세스 및 다이내믹 동작이 C로 코딩되어야 하는 성분을 가질 수 있는것과 함께, 사용자가 수행할 수 있는 기능의 사양은 HTML로 실행된다는 것이다. 임베딩된 오브젝트가 사용자와 인터랙트할 수 있는 유일한 방법이, 임베딩된 오브젝트를 구현한 언어로 하드코딩되어 서비스 운영자가 용이하게 수정 또는 브랜드화할 수 없게 되는 사용자 인터페이스를 게시하는 것인 HTML 4.0에서, 이러한 이점은 불가능하다.
도 10 및 도 11은 가능한 전화번호부 페이지에 대한 2가지 예를 제공하며, 임베딩된 오브젝트에 본 발명의 확장된 프로세스가 제공될 수 있는 유연성을 나타내고 있다.
도 10에서, 사용자는 새로운 엔트리를 생성하거나 현재 존재하는 전화번호부 엔트리의 필드 중 하나를 수정하여, 스피드 다이얼키, 링 톤 또는 번호 등을 변경할 수 있다. 라인 5는 디스플레이되는 키 메뉴를 나타내며, 이것은 사용자가 제1 소프트키(130)를 누름으로써 활성화된다. 메뉴 엔트리(라인 6-12)는 현재 선택으로부터의 데이터에 대한 이스케이프 플레이스홀더(placeholder)를 갖는 URL에 결합된다. 특히, 라인 6은, 임베딩된 전화번호부 오브젝트 내에서의 현재 선택으로서 이미 지정된 이름을 이용한 전화번호부 엔트리 생성 프로세스의 제1 페이지로 변경될 임베딩된 전화번호부 오브젝트를 위한 URL로 될 메뉴 항목에 대한 ACTION을 지정한다. 일반적으로, 본 발명의 다른 URL은 이들 인수를 채우기 위해 선택된 전화번호부 레코드의 부분들을 이용하여 활성화될 수 있다. 이들 URL들 중 어느 것이라도, 메뉴 엔트리, 소프트키 또는 키패드 상의 다른 키에 결합될 수 있다. 특정 이스케이프 시퀀스는 전화 프로토콜의 phone: list URL과 관련하여 나중에 더설명된다.
도 11에서, 사용자는 새로운 엔트리를 생성하거나, 별도의 페이지로 가서 특정 엔트리에 대한 모든 파라미터를 디스플레이하고, 원하는 경우 이들을 변경할 수 있다 (이것은 별도의 screen.pdedit.html을 통해 수행되며, phone:list 임베딩된 오브젝트에 대한 editurl 인수 내의 '@' 이스케이프는 pdedit.HTML을 전달하기 위해 엔트리 내의 모든 관련 부분들을 추출한다). 또한, 여기에서는, 무선 통신 장치 제조사의 로고의 타일화된 백그라운드를 테두리로 이용하는 것과 함께, 그래픽 타이틀 바가 이용된다. 임베딩되는 오브젝트는 폰 리스트 오브젝트에 대한 URL을 이용하여 라인 10에 지정된다.
HTMLp 컨텐트 핸들러(114c)는 <OBJECT> 태그를 발견하면, 쉘(106)이 OBJECT 태그에 CODE 속성으로서 주어진 URL과 관련된 데이터를 페치하게 한다. 쉘(106)은 이 데이터를 컨텐트 스트림으로서 리턴시키며, 이것은 "Object" 유형이어야만 한다. 구조는 스트림 내에 다음과 같은 것들을 포함한다.
· 오브젝트에 대한 포인터 (HTMLp 페이지 윈도우의 차일드로서 윈도우가 만들어짐).
· 주어진 스트링을 이용하여 호출할 수 있는 HTMLpActivate 기능에 대한 포인터.
· 오브젝트의 현재 상태를 페치할 기능에 대한 포인터. 이 기능은 HTMLpClose에 의해 호출됨.
· 페치된 상태를 승인하고 오브젝트를 그 상태로 복구하는 기능에 대한 포인터. 이 기능은, 페이지가 이전에 디스플레이되었던 것인 경우에 HTMLpOpen에 의해 호출됨.
· 오브젝트의 "value"를 스트링으로서 복귀시키는 기능에 대한 포인터. 이 기능은, 오브젝트가 제출 중인 양식의 일부인 경우에 호출됨.
· 오브젝트가 자신에 대해 설정해야 하는 "value"를 승인하는 기능에 대한 포인터. 이 기능은, 오브젝트가 전달된 오브젝트와 동일한 이름(NAME 속성에 의해 OBJECT 태그에 제공됨)을 갖는 양식 및 엑스트라 데이터의 일부인 경우에 호출됨.
(b) 장치 세팅에 대한 액세스
무선 통신 장치(100)의 다양한 구성 파라미터는, 아래에 설명되는 컨피그 프로토콜을 통해 액세스할 수 있다. 각각의 설정에 대해 가능한 값들을 지정하기 위한 양식 도구를 이용하여 이러한 설정들을 조정할 수 있는 페이지를 제공하는 것이 바람직하다. 그러나, 이를 위해서는, 이러한 양식 도구들의 초기 상태가 그들이 작용할 것으로 추정되는 설정의 현재값과 일치하도록 설정될 수 있어야 한다.
장치 세팅의 값을 설정하는 데에 가장 바람직하게 이용되는 양식 도구는 라디오 버튼, 체크박스 및 스크롤 리스트이다. 라디오 버튼과 체크박스는 RADIO 또는 CHECKBOX의 TYPE 속성을 갖는 INPUT 태그를 통해 액세스된다. 이러한 입력 엘리먼트들에 대하여, HTML 3.2에서는, 그 입력 성분이 양식 상에서 선택되는지를 정의하는 선택 속성을 지정할 수 있다. 선택 속성은 CHECKED 및 SELECTED를 포함한다. CHECKED 속성은, 라디오 버튼 또는 체크박스가 초기에 선택되어야 함을 표지한다. 마찬가지로, 스크롤 리스트는 <OPTION> 태그를 포함하는 <SELECT> 태그에의해 지정된다. <OPTION> 태그와 <SELECT> 태그 중 어느 것이라도, 선택 리스트의 그 옵션이 초기에 선택되어야 함을 나타내는 SELECTED 속성을 가질 수 있다.
정상적으로, 이들 속성은 부울린이다. CHECKED 또는 SELECTED 속성이 소스 내에 존재하는 경우, 라디오 버튼, 체크박스 또는 옵션이 선택된다. 한편, CHECKED 또는 SELECTED 속성이 소스 내에 존재하지 않는 경우, 라디오 버튼, 체크박스 또는 옵션은 선택되지 않는다. 그러나, 본 발명에서, 이들 속성은 값을 승인하도록 확장된다. 이 값은, '참'으로 판정되는 경우에는 항목이 초기에 선택되게 하는 표현식의 양식을 취한다.
표현식은 URL로부터 데이터를 페치하고, 그것이 부울린 값을 갖는 것으로 취급하여 '참' 또는 '거짓'이 체크되게 하거나, 스트링과 비교하여 동일한지 동일하지 않은지를 알아낸다.
신택스는 다음과 같다.
ATTRIBUTE=[!]url, 또는
ATTRIBUTE=url[!]=string
ATTRIBUTE는 CHECKED 또는 SELECTED이다. 여기에서, URL은 컨피그 프로토콜이며, "config:setting"의 양식을 취하고,setting은 컨피그 프로토콜 핸들러(112b)가 액세스할 대상의 특정 세팅이다.
제1 신택스 양식은 페치된 URL 데이터를 부울린 값으로 취급하여, 텍스트를 정수로 변환하고, 그것이 0인지 0이 아닌지를 판정한다. 선행 "!"가 존재하고 그 값이 0인 경우에는 항목이 선택되고, 선행 "!" 가 존재하지 않고 그 값이 0이 아닌경우에는 항목이 선택되지 않는다.url자체가 등호를 포함하는 경우, 그것은 괄호 내에 포함되어야 한다.
제2 신택스 양식은 URL에 대하여 검색된 데이터와string간의 스트링 비교를 수행한다. "!="가 주어지는 경우, 스트링이 동일하지 않으면 항목이 선택된다. 반면에, =만이 주어지는 경우에는, 스트링이 동일하면 항목이 선택된다.
URL에 의해 리턴된 데이터가 평번한 텍스트도 아니고 HTML도 아닌 경우, 표현식은 항상 거짓으로 평가하고, 항목은 체크되지 않은 채로 유지된다.
도 12는 이러한 확장의 이용에 대한 일례로서, HTMLp 소스와 그에 의한 페이지를 모두 나타내고 있다. 라인 9-14는 다양한 구성 세팅을 지정하며, CHECKED 속성이 URL인 표현식에 의해 콘피크 프로토콜 핸들러로 설정되었음을 나타낸다. 도시된 페이지는 이러한 세팅들을 구성하기 위한 사용자 인터페이스를 나타낸다. 본 예에서, 사용자는 3개의 라디오 버튼과 텍스트 입력 필드를 제공받을 것이다. 사용자는, 스크린 디스플레이(136)를 위한 백라이트가 장치 사용중일 때만 턴온될지, 사용중이거나 플로그인될 때 턴온될지, 또는 항상 턴온되지 않을지를 지정할 수 있다. 또한, 사용자는, 최종 입력 후 몇초가 경과하면 무선 통신 장치가 더 이상 사용되지 않는 것으로 간주될 수 있는지를 지정할 수 있다. 이러한 세팅은 "백라이트" 및 "백라이트 딜레이"에 각각 저장될 수 있다. 스크린이 최초로 나타날 때, 현재 세팅에 대응하는 라디오 버튼이 체크되고, 텍스트 입력 필드는 현재 딜레이를 포함할 것이다.
일반적으로, 이와 같은 확장된 선택 속성을 갖는 <INPUT> 태그가 로드되면,HTMLp 컨텐트 핸들러(114c)는 URL을 쉘(106)에 전달하여 페치되게 한다. HTMLp 컨텐트 핸들러(114c)은 페치된 신택스를 그 신택스 양식에 따라 평가하고, URL 데이터의 평가에 따라 선택 속성의 값을 결정한다.
"포함" HTML
"포함"은 HTML 또는 HTMLp의 블록이 페이지 내에서 참조될 수 있게 하는 HTML에 대한 확장이다. 임의의 포함 HTML은 반복적으로 분석되어, 포함 HTML 자체가 다른 HTML을 포함하게 된다. 현재, HTML 4.0은 하나의 페이지로부터의 HTML 블록을 다른 페이지에 포함시키기 위한 매커니즘을 제공하지 않는다. 포함 HTML의 이점은, 다수의 페이지에서 나타날 필요가 있는 페이지 헤더 또는 푸터(footer), 네비게이션 툴바 등과 같은 공통 HTML 성분이, 포함된 페이지에 대한 단일 참조에 의해 용이하게 포함될 수 있다는 것이다.
본 발명은, URL을 제공함으로써 임의의 소스로부터의 HTML(평범한 텍스트 포함)을 포함시키기 위한 메커니즘을 제공한다. 이것은 주로 템플릿 페이지를 통해 장치 세팅을 디스플레이하는 데에 이용되지만, 다수의 페이지에 대해 공통인 엘리먼트를 컨텐트 아키브의 단독 부분에 배치하고, 그것을 다른 페이지들에 포함시킴으로써 컨텐트 사이즈를 감소시키는 데에도 사용될 수 있다. 메커니즘은 다음과 같은 신택스를 갖는 <INC> 태그에 의해 제공된다.
<INC SRC =urlDYNAMIC>
SRC(소스) 속성은 반드시 있어야 하며, 그 지점에서 문서 내에 데이터가 포함될 URL을 지정한다. <INC> 태그가 HTMLp 컨텐트 핸들러(114c)에 의해 해석되면,URL과 연관된 데이터는 <INC> 태그의 위치에서 페치되고 삽입된다.
<INC> 태그는, 다른 태그 내만 아니라면, 페이지 내의 어느 곳에서라도 이용될 수 있다. 예를 들어, "<A HREF=<INC SRC=file:commonurl.txt>>는 허용되지 않는다.
도 13은 <INC> 태그의 일례를 나타낸다. 본 예에서, 제1 페이지 infor.html은 라인 2 상에서 제2 file bbody.html을 참조하는 <INC> 태그를 가지며, 제2 file bbody.html 자신은 라인 8 상에서 제3 file stdlogo.html을 참조한다. 제1 페이지가 로드되면, HTMLp 컨텐트 핸들러(114c)는 모든 <INC> 태그를 완전히 해석하고, 도시된 것과 같은 최종 페이지를 생성한다. file info.html은 라인 13에서 endbody.html을 참조하는 <INC> 태그를 가지며, 이 최종 파일은 완전히 상이한 파일인 bbody.html에서 나타나는 <BODY> 태그를 적절하게 닫는 </BODY> 태그를 포함한다.
일반적으로, 페이지를 분석할 때, HTMLp 컨텐트 핸들러(114c)는 <INC> 태그를 식별한 때에, 참조 URL을 페치하여 그 파일로부터의 데이터를 현재 파일의 소스에 삽입하고, 페이지를 디스플레이하기 위하여 필요할 때 해석한다.
다이내믹 속성은, <INC> 태그에 대하여 지정되는 경우, 사용자가 페이지를 리턴시킨 때에, 페이지가 임시로 닫혔을 때에 캐시되었던 디스플레이 명령을 이용하지 않고 그 페이지가 다시 구성되게 한다. 일반적으로, 다이내믹 속성은, SRC 속성으로서 이용되는url이 페이지가 임시로 닫혔을 때 변경될 수도 있는 데이터를 참조하므로, SRC를 다시 판독하여 페이지를 재구성함으로써 그러한 변경 사항을 수용해야 한다는 것을 나타낸다.
(d) 조건부 HTML
템플릿 HTMLp 페이지의 부분들에 대한 디스플레이는 템플릿 페이지에 대한 URL과 함께 전달된 파라미터에 의해 제어될 수 있다. 이 파라미터는, 파일 프로토콜(112d)에 대한 URL 내에 '?'에 후속하는 인수(파일 프로토콜(112d)에 대한 URL 내에 지정된 인수는 extra:protocol을 이용하는 파일 내에서 값으로서 이용될 수 있음)로서, 참조 URL 내의 METHOD=NEXT 형태의 양식 데이터로 직접적으로 전달되거나, 본 발명의 C 코드의 파라미터로서 전달된다.
종래의 HTML은, 조건부 표현식이 페이지의 HTML 소스 내에서 직접적으로 엔코딩되어 페이지의 어떤 엘리먼트가 디스플레이될 것인지를 제어하는 것을 허용하지 않는다. 본 발명은 새로운 <IF> 태그를 이용하여 이러한 결점을 극복한다. <IF> 태그는 파라미터나 장치 세팅과 같은 표현식의 테스트를 허용하여, 페이지의 디스플레이를 제어할 수 있다. 신택스는 다음과 같다.
<IF TEST=expressionDYNAMIC>html<ELSE
TEST=expression>html<ELSE>html</IF>
TEST 속성 내의expression은 CHECKED 및 SELECTED 속성과 관련하여 설명한 것과 동일한 방식으로 평가된다.
예를 들어, 다음과 같은 HTMLp 소스를 생각하자.
<IF TEST=extra:conf>
<KEY KEY=1 LABEL=conference ACTION=phone:conference>
<ELSE>
<KEY KEY=1 LABEL="Pick Up" ACTION=phone:answer>
</IF>
<KEY KEY=send ACTION=phone:answer>
<IF TEST=config:anykey>
<KEY KEY=default ACTION=phone:answer>
<KEY KEY=back ACTION=phone:answer>
<ELSE>
<KEY KEY=default ACTION=none>
<KEY KEY=back ACTION=phone:ignore>
</IF>
제1 <IF> 태그 내에서, TEST는 페이지 내에 로드된 C 코드에 의해 페이지로 전달된 엑스트라 데이터 "conf"에 대하여 평가된다. 이 데이터는 HTMLp 컨텐트 핸들러(114c)에 허용 가능한 변수 내에 저장된다. 페이지가 로드된 때, "conf"가 '참'인 것으로 평가되면, 제1 소프트키(130)(키=1)는 "conference"로 라벨되고, 테이블을 URL "phone:conference"에 결합시키는 키에 결합됨으로써, 사용자가 전화의 회의(conference) 기능을 활성화시키게 한다. "conf"가 '거짓'인 것으로 평가되면, 소프트키는 "Pick Up"으로 라벨되고, 그 키는 상이한 URL에 결합된다.
제2 <IF> 태그에서, 테스트되는 데이터는 "config:anykey" URL에 의해 액세스되는 무선 통신 장치의 구성 세팅이다. 이 세팅에 대한 장치 구성에 따라, 백키를 포함한 모든 키가 "phone:answer" 기능에 결합되거나, 백키 이외의 모든 키는 아무런 동작도 하지 않고 백키만이 "phone:ignore" 기능에 결합된다.
<IF> 태그는, 사용중인 URL이 다이내믹 데이터를 생성하며 그 페이지가 재해석되어야 함을 분석기에 통지하는 DYNAMIC 속성을 갖는다. 이것은, 탬플릿 모드에서 이용되어, URL이 참조하는 데이터가, 페이지를 다시 디스플레이할 때 그 페이지를 다시 구성해야 할 정도로 다이내믹한 데이터를 참조하고 있음을 알리는 %[url]과 유사하다.
(ⅵ) 전화번호 엔트리 필드
HTML 4.0은 범용 언어로서 설계되며, 무선 통신 장치 -특히 전화 발신을 할 수 있고 전화번호 및 연관 이름을 저장할 수 있는 것 -에서의 이용을 위해 특별히 개조될 수 있게 하는 특성은 포함하지 않는다.
HTML이 이러한 무선 통신 장치(100)들에 대해 더 개조될 수 있게 하기 위해, 본 발명은 <INPUT> 태그의 타입 속성에 대한 새로운 값으로서 "phonenum" 및 "phonename"을 지정한다. 일반적으로, <INPUT> 태그는 체크박스, 라디오 버튼, 텍스트 또는 이미지와 같은 데이터 입력 타입의 사양을 허용한다.
본 발명의 새로운 입력 타입은, 사용자가 전화번호나 개인의 이름을 입력할 수 있게 한다. 사용자 타입으로서, 입력 필드는 입력 데이터를 이용하여 전화번호부 데이터 구조 내의 일치 레코드를 탐색한다. 그 다음, 일치 레코드는, 전화번호부 디스플레이에서 이용된 것과 동일한 포맷으로 입력 필드 아래의 리스트에 디스플레이된다. 일단 일치 레코드가 디스플레이되면, 사용자는 리스트 내의 항목을 선택하고 그 항목을 이용하여 양식을 완성시킬 수 있다.
더 상세하게는, 입력 타입이 "phonenum"인 경우, 입력 숫자는 전화번호부 내의 모든 전화번호와 비교되고, 일치 전화번호가 리스트에 디스플레이된다. 사용자가 리스트 내의 일치 전화번호 중 하나를 선택하면, 입력 필드는 완전히 선택된 전화번호에 의해 대체되고, 입력과 일치된 부분에는 밑줄이 표시된다. 비교 시, 한자리 숫자(0-9) 또는 두자리 숫자(00-99)가 스피드 다이얼 리스트에 대해서만 대조되며, 일치 스피드 다이얼 넘버를 디스플레이한다.
입력 타입이 "phonename"인 경우, 입력 캐릭터는 전화번호부 내의 이름들과 비교되고, 일치하는 엔트리들이 디스플레이되며, 일치된 캐릭터들은 밑줄로 표시된다. 이름의 첫 캐릭터가 일치하는 것이 그 다음 캐릭터가 일치하는 것보다 먼저 표시되는 방식으로, 리스트가 분류된다. 사용자가 일치 이름 중 하나를 선택하면, 입력 필드는 완전히 일치하는 이름으로 대체된다.
도 14는 HTMLp 소스 및 그에 따른 페이지의 일례를 도시하고 있다. 여기에서, 라인 7은 전화번호를 다이얼하기 위한 전화 프로토콜을 지정하며, 입력 타입은 "phonenum"이다. 사용자가 우선 "2"를 입력하면, 이것이 스피드 다이얼 리스트와 대조되고, 일치 이름이 디스플레이된다. 다음 이미지에서, 사용자는 "995"를 입력하고, 이것은 전화번호부 리스트에 대해 대조되며, 하나의 일치 이름이 디스플레이된다. 3번째 이미지에서, 사용자가 이름을 선택하면, 미리 입력된 숫자 및 나머지숫자들과 일치하는 전화번호가 입력 필드에 삽입되어 다이얼시에 사용된다.
(b) 멀티-파트 양식
전술한 바와 같이, 데스크탑과 그 대형 스크린을 위한 전형적인 HTML 페이지에서, 종래의 양식은 다수의 입력 필드를 이용할 것이다. 이러한 양식이 전형적인 무선 통신 장치(100)의 소형 스크린 디스플레이(136)에 디스플레이되었을 때, 사용자는 일정 시간동안 스크린 디스플레이에 대부분 스크롤되어 버리는 양식의 콘택스트를 상실하거나 입력되는 데이터의 대부분을 볼 수 없기 때문에, 양식 내에서의 위치를 잃기 쉬웠다. 도 16은, 무선 통신 장치(100)의 스크린 디스플레이(136)에서는 이용하기 어려운 종래의 HTML 양식의 일례를 나타내고 있다.
한가지 해결 방안은, 요구되는 하나 또는 둘의 항목을 모은 일련의 양식들로, 하나의 양식을 분할하는 것이다. 그러나, 이 경우, 종래의 HTML은 각각의 양식으로부터의 데이터가 다음 양식을 페치하는 URL의 일부로서 서버에 전송될 것을 요구한다. 그러면, 서버는 URL 내에 전달된 데이터를 취하고, 리턴된 페이지의 양식에 "히든" 타입 입력 엘리먼트로서 포함된 이전 양식으로부터의 전달 데이터와 함께 진행중에 생성되어야 하는 페이지를 리턴시킨다. 이러한 방식으로, 사용자가 입력하는 데이터는 양식 전체가 기입될 때까지 여러회 송수신되어야 한다. 이러한 프로세스는 대역폭 집약적이기 때문에, 시간 소모적이고 비용도 많이 든다.
하나의 양식을 다수의 양식으로 분할하는 방식의 또 다른 결점은, 사용자가 중간에 양식을 완성하지 않기를 원하게 된 경우에 통과해야만 하는 과정들이다. 이러한 경우, 세부 양식들 각각이 개별적인 페이지이기 때문에, 사용자는 기입된세부 양식들 각각에 대하여 "엔드" 또는 "백" 키를 한번씩 눌러야한다. 사용자가 서두르는 경우, 키를 지나치게 많이 눌러서, 결국에는 양식을 취소하고 실질적으로 가길 원했던 장소를 놓치게 된다.
도 17A 및 17B는 상술한 것과 같은 종래의 다중 양식 방법을 도시하고 있으며, 하나의 HTML 페이지의 클라이언트 컴퓨터로부터 수신된 파라미터는, 클라이언트 컴퓨터에 의해 업로드되기 전에, 서버 컴퓨터에 의해 다음 HTML 페이지 내에 HIDDEN 타입 입력으로서 삽입된다. 도면에서 볼 수 있는 바와 같이, 다중 페이지는 다이내믹하게 생성되어, 이러한 데이터들을 클라이언트와 서버 사이에서 계속적으로 송수신해야 한다.
서버와 클라이언트 간에 데이터를 송수신하기 위한 프로토콜은, 클라이언트와 서버 간에서의 각각의 트랜잭션이 상태를 갖지 않으며, 현재의 상태를 완성하는 데에 이전 상태로부터의 데이터에 의존하지 않는다는 표준 HTML의 기본적인 가정으로 인한 것이다.
본 발명은 양식들을 위한 새로운 "NEXT" 방법 및 새로운 <TOP> 태그를 이용하여 HTML의 이러한 결점들을 극복하며, "NEXT" 방법 및 <TOP> 태그는, 클라이언트가 자신의 상태를 저장하고 그 정보를 이용하여 후속 상태를 결정할 수 있다는 사실을 유리하게 이용하여 설계된 것이다.
(ⅶ) "NEXT" 양식 방법
HTML 페이지 내의 양식은 사용자로부터의 데이터를 모으기 위한 하나 이상의 입력 엘리먼트로 구성된다. 각 부분이 자신이 발생된 입력 성분의 이름으로 태그된 데이터는 FORM 태그 내의 2개의 파라미터인 METHOD와 ACTION에 따라 서버에 제출된다. ACTION은 통상적으로 데이터가 첨부되는 URL이고, METHOD는 GET 또는 POST 중 하나이다. GET은 데이터에 기초하여 다른 페이지를 페치하는 데에 이용되고, POST는 통상적으로 데이터를 전송하여 트랜잭션을 종료하는 데에 이용된다.
이러한 두 가지 방법에 더하여, 본 발명은 새로운 NEXT 방법을 추가한다. 일반적으로, NEXT 방법은, 하나의 양식이 전체 양식의 모든 입력 필드의 서브셋들을 포함하는 다수의 부분 내에 지정되고, 전체 양식에 대한 데이터가 외부 데이터 구조에 저장될 수 있게 한다.
NEXT 방법은 다음과 같은 효과를 갖는다.
1. ACTION URL 상에서 이용되는 방법은 URL에 대한 수정을 갖지 않는 "GET"이다. 페이지는 서버로부터 페치될 뿐이다. GetURL은 프로토콜 핸들러(112)를 위하여 호출되는 기능이다.
2. 페치된 페이지 내의 임의의 양식은 현재 페이지 상의 양식 내에서 액티브 상태인 이름/값 데이터 세트에서 시작한다. 이것은 이전 페이지로부터 전달되었던 임의의 이름/값 데이터를 포함한다. 이것은 "히든" 입력 필드의 사용을 대체하여, 데이터를 서버에 전송하고 서버가 그 데이터 및 페이지를 다시 되돌려 보내야 하는 대역폭 패널티를 방지한다. 대신에, 페이지는, 사용자가 서비스에 가입할 때에 트랜잭션을 구성하는 다른 페이지들과 함께 다운로드된 연관 CGI 스크립트없이 서버 상에 상주하거나, 장치 상에 상주할 수 있다.
도 18A 내지 도 18B는 종래의 HTML 페이지에서와 동일한 정보를 캡쳐하지만스크린 디스플레이(136)를 위한 포맷의 이용에 훨씬 유용한 멀티파트 양식을 위한 HTMLp 소스 및 페이지를 나타내고 있다. 최초의 3개의 페이지 "purchaseform.html", "addr.html" 및 "credit.html"은 <FORM> 태그 내에서 NEXT 방법을 이용하여, 추가의 입력 사항을 얻기 위해 로드될 다음 페이지를 지정한다. 최종 페이지 "confirm.html"은 종래의 액션 값을 이용하여 멀티파트 양식 상에 수집된 모든 데이터를 프로세스하기 위한 CGI 스크립트를 지정한다. 이러한 방식에서는, 클라이언트(무선 통신 장치(100))가 이전 입력 페이지의 상태 데이터를 보유하기 때문에, 양식에 대한 모든 입력 사항을 얻고 그들을 서버로 되돌려 보내는 데에 있어서, 서버와 클라이언트 간에 훨씬 적은 양의 대역폭이 요구된다. 이름, 어드레스, 신용카드 번호 등의 상태 데이터는 무선 통신 장치(100)의 메모리(126) 내에 내부 데이터 구조로서 유지되므로, 종래의 HTML에서와 같이 히든 타입 입력 성분으로서 임베딩될 필요가 없다. 이 내부 데이터 구조는 HTMLp 컨텐트 핸들러(114c)에 의해 분석되는 제1 페이지로서 생성되며, 멀티파트 양식의 각 페이지가 업데이트될 때마다 로드된다.
"confirm.html"에서 이용되는 <TOP> 태그 및 "DONE" 동작은 나중에 설명된다.
(ⅷ) 복합 인터랙션
데스크탑 브라우저에 디스플레이되는 표준 HTML 내의 멀티파트 양식이, 각각 1 또는 2 엘리먼트 양식을 포함하는 HTMLp의 다중 페이지로 변환될 수 있다면 (스크린 디스플레이(136) 상에 적합하도록 하기 위해), 사용자는 각각의 필드에 데이터를 제공하는 중간에서도 자신의 위치를 쉽게 알 수 있고 전체 프로세스를 종료할 것인지를 결정할 수 있다. 사용자가 할 수 있는 것이 이전 페이지로의 복귀뿐이라면, 트랜잭션을 종료하는 데에 있어서 이것은 느리고 지루한 프로세스가 될 수 있다.
멀티 페이지 양식의 종료를 보다 용이하게 하기 위해, 본 발명은, 사용자가 완전히 탈출하기를 원하는 복합 인터렉션의 시작 지점에서 페이지가 마크될 수 있게 한다. 이것은 인터랙션의 "최상단"의 원하는 위치에 <TOP> 태그를 제공함으로써 수행될 수 있다. 이러한 인터랙션은 멀티파트 양식이거나 다른 복잡한 페이지군일 수 있다.
인터랙션의 최상단에 액세스하기 위해, 소프트키(130)는 "DONE"의 ACTION 속성을 갖는 <KEY> 태그를 이용하여 정의된다. 이 소프트키(130)가 사용자에 의해 선택되면, 사용자는 자신을 <TOP> 태그로 마크된 최근 페이지로 보내줄 페이지에 리턴할 것이다. 전술한 바와 같이, ACTION에 대한 DONE 값의 프로세스는 HTMLpactivate 기능 동안 수행된다.
(b) 네비게이션
종래의 무선 통신 장치(100) 상에서의 HTML의 디스플레이는, 극히 제한된 키보드와 포인팅 디바이스의 부재로 인해 더 어려워진다. 전형적인 HTML 환경에서는, 클릭 또는 드래그될 수 있는 스크롤바, 양식 내의 필드 간을 이동할 수 있는 탭키, 및 사용자가 이동을 원하는 경우 컨탠트 내에 포함된 하이퍼링크를 선택할 수 있는 마우스가 존재한다.
그러나, 본 발명이 유리하게 동작하는 무선 통신 장치(100)에는, 업키, 다운키 및 네비게이션 제어를 제공하는 데에 이용되는 하나의 소프트키(130)만이 존재한다. 풍부한 네비게이션 기능 세트를 제공하기 위해, 본 발명은 HTMLp에 다음과 같은 기능들을 제공한다.
(ⅰ) 양식 엔트리
페이지가 양식 엘리먼트를 포함하는 경우, Up 및 Down 화살표가 오버로드되어, 아래와 같은 방식으로 양식 필드 간을 이동할 수 있게 한다.
· 양식 내의 후속(Down 화살표) 또는 이전(Up 화살표) 항목을 볼 수 있는 경우에는, 액티브 양식 필드를 생성한다. 이것은 그래픽 선택 인디케이터에 의해 표시되며, 텍스트 입력 엘리먼트에는 텍스트 커서가 깜박거리게 된다.
· 양식 내의 후속 (또는 이전) 필드를 스크린 상에서 볼 수 없는 경우, 페이지의 후속 (또는 이전) 라인이 스크린 상에 나타나도록, 스크린이 스크롤된다. 스크린 상에 나타나게 된 라인에 후속 (또는 이전) 필드가 있는 경우에는, 액티브 양식 필드를 생성한다. 그렇지 않은 경우, 현재의 양식 필드가 액티브 상태로 유지된다.
스크린 디스플레이가 스크롤됨에 따라, 사용자가 필드를 직접 선택하지 않아도, 현재의 양식 필드가 계속적으로 업데이트될 수 있다. 이러한 방법에서, 사용자는 스크롤만을 이용하여 필드 간을 쉽게 이동할 수 있으며, 후속 필드를 기입하기 전에 미리 설명 텍스트를 읽을 수 있다.
이에 더하여, 제1 소프트키(130)가 다른 목적을 위해 페이지에 결합되지 않은 경우, 소프트키 네비게이션 디폴트를 나타낸 다음의 표 1에 나타난 바와 같이, 현재 양식 필드가 변경될 때 키 결합 테이블 내의 키의 액션도 변경할 것이다.
대상 도구 소프트키 라벨 액션
텍스트 필드 라벨 없음 --
스크롤 리스트(개별 선택이 가능함) OK 제출 사항을 선택 및 생성
스크롤 리스트(다중 선택이 가능함) Select 항목을 선택/선택 해제
팝다운(클로즈) Open 팝다운을 오픈
팝다운(오픈) Select 팝다운을 클로즈하고 선택을 행함
체크박스(선택) Clear 선택 해제
체크박스(비선택) Select 선택
라디오 버튼(비선택) Select 버튼을 선택
라디오 버튼(선택) 라벨 없음 --
표준 링크 Select 링크를 활성화
Phone:Dial 링크 Call 번호를 표시하는 다이얼 스크린으로 감(Send 버튼에 의해서도 활성화될 수 있음)
표 1에 정의된 다양한 활동은, 현재 양식 필드인 사용자 인터페이스 도구의 타입에 따라, 소프트키(130)의 변경 가능한 동작 양상에 대해 적합하게 동적으로 제공된다. 이러한 액션들은, 사용자가 페이지를 스크롤하고 도구들 간에서 대상을 변경함으로써 현재 양식 필드를 변경할 때에 동적으로 할당된다. 예를 들어, 현재 양식 필드가 하이퍼링크인 경우, 소프트키는 자동적으로 그 링크를 위한 URL에 할당되고, 소프트키의 선택은 자동적으로 하이퍼링크를 페치한다. 양식 필드가 리스트, 팝다운, 체크박스 또는 라디오 버튼과 같은 선택 장치와 동일한 양식인 경우, 소프트키는 선택 장치로부터의 항목을 선택, 선택 해제, 또는 제출할 것이다. 예를 들어, 스크롤 리스트가 SELECTED 속성을 이용하여 미리 선택된 항목을 갖는 경우 (본 발명의 표현식 평가 특성과는 무관함), 소프트키(130)는 항목을 선택 해제하도록 정의된다.
페이지 네비게이션에 대한 이러한 기능성은 HTMLpProcessKey 기능으로 구현된다. 이 기능은, 현재 페이지의 다른 엔티티가 입력 키스트로크를 수신하도록 채택되지 않는 경우에 쉘(106)에 의해 호출된다. 이 기능에 대한 입력은, 키패드(128)의 키를 나타내는 키 번호와, 키를 눌렀는지의 여부를 나타내는 부울린이다. 도 15를 참조하면, HTMLpProcessKey 기능의 일 실시예에 대한 플로우차트가 도시되어 있다.
키와 연관된 URL이 있는 경우, ProcessKey 기능(606)은 쉘(106)의 GetURL 기능을 호출하여 (단계 1502), 연관 URL을 전달한다. 쉘(106)은 이 URL을 도 5에 도시된 것과 같이 프로세스하여, 그 URL을 핸들링하는 데에 적합한 프로토콜 핸들러(112) 및 컨텐트 핸들러(114)를 결정한다.
기능은, 키 번호로부터, 그 키가 <KEY> 태그나 <A> 또는 <INPUT> 태그 내의 KEY 속성을 이용하는 액션에 결합되어 있는지를 결정한다 (단계 1502). 그러한 경우, 그 키가 소프트키(130)(쉘(106)에 의해 핸들링됨)가 아니면, 이 액션은 키가 해제될 때 ShellActivate에 전달된다 (단계 1504).
그렇지 않으면, 업/다운키만이 특별하게 핸들링된다 (단계 1506). 그 외의 것들은 모두 그들의 디폴트 핸들링을 수신하기 위한 ShellDefaultProcessKey에 전달된다 (단계 1508).
업/다운키의 행동 양상은, 페이지 상에 선택 가능한 사용자 인터페이스 도구가 존재하는지의 여부에 따라 달라진다. 선택 가능한 도구는 양식 입력 필드 (INPUT, SELECT, TEXTAREA, 또는 OBJECT 태그로부터의)일 수도 있고, 하이퍼링크(LINKMENU 태그가 존재하는 경우)일 수도 있다. 페이지 상에 선택 가능한 도구가 존재하지 않는 경우 (단계 1509), 이 기능은 주어진 방향에서의 다음 라인이 보이게 한다.
페이지 상에 선택 가능한 도구가 있는 경우 (단계 1509), 업/다운 키에 대한 반응은 다음과 같다. 선택된 방향에서 후속 사용자 인터페이스 도구를 볼 수 있는 경우 (단계 1510), 기능은 그 도구를 현재 도구로 한다. 후속 사용자 인터페이스 도구를 볼 수 없는 경우, 컨텐트 영역(214)이 스크롤되어 (단계 1512), 주어진 방향에서의 후속 라인이 보이게 된다. 이와 같은 동작으로 인해 후속 도구를 볼 수 있게 된 경우 (단계 1513), 그 후속 도구가 현재 도구로 된다 (단계 1516). 사용자 인터페이스 도구를 볼 수 없는 경우, 현재 도구는 존재하지 않는다.
(ⅱ) 메뉴 컨텐트
양식을 포함하지 않는 컨텐트는 대강 두 가지 그룹으로 분류될 수 있다. 즉, 1) 읽혀지기 위한 정보 컨텐트, 및 2) 보다 상세한 정보를 얻거나 일정한 액션을 수행하기 위해, 사용자가 리스트로부터 무엇인가를 선택할 수 있게 하는 메뉴 컨텐트이다.
사용자에 의해 요구되는 스크롤 및 링크 선택 행동은 이러한 컨텐트의 타입마다 다르다. 정보 컨텐트에서, 스크롤은 메뉴로부터 임의의 링크가 선택된 채로 (링크는 두 번째로 중요한 사항임), 텍스트의 다음 부분이 읽혀지게 하여야 한다 (텍스트가 컨텐트의 핵심이기 때문임). 그러나, 메뉴 컨텐트에 있어서, 이러한 중요도는 반전된다. 즉, 텍스트는 링크를 설명하는 역할을 하지만, 사용자가 보기를 원하는 것은 링크 자체이다. 따라서, 링크는 항상 선택되어야 하고, 스크롤은 다음 링크를 얻는 것과 관련하여 발생해야 한다. 종래의 HTML은 이러한 컨텐트의 타입을 구별하지 않으며, 컨텐트를 디스플레이하는 컴퓨터의 네비게이션 기능을 변경하여 그들의 차이점을 수용하기 위한 메커니즘을 제공하지 않는다.
이러한 두가지 타입의 컨텐트를 구별하고, 원하는 네비게이션 제어를 제공하기 위하여, 본 발명은 새로운 <LINKMENU> 태그를 제공한다. <LINKMENU> 태그는 헤더 내에 제공되어, 그 컨텐트가 선택 메뉴임을 표시할 수 있다. 신택스는 다음과 같다.
<LINKMENU TARGET=nameNOSCROLL>
TARGET 속성은 페이지 상의 모든 링크에 대한 NAME 속성과 대조될 값을 갖는다. 이름의 값이 TARGET 값과 일치하는 링크가, 페이지가 디스플레이될 때 최초로 선택되는 링크이다. TARGET 값이 URL의 양식을 취하는 경우 (값의 제1 부분이 알파 캐릭터이고 그 뒤에 콜론이 옴), URL이 페치되고, 리턴된 컨텐트는 페이지 상의 모든 링크에 대한 NAME 속성과 비교된다.
NOSCROLL 속성이 존재하는 경우, 이것은 선택된 링크가 보이도록 하기 위해 디스플레이가 스크롤되지 않을 것을 요청한다.
<LINKMENU> 메뉴를 지정하는 것은 다음과 같은 효과가 있다. 우선, 종래의 HTML에서와 같이, 그래픽적으로 (예를 들어 밑줄로 표시) 구별되지 않는다. 그 다음, 페이지 상의 제1 링크는 선택된 것으로 마크된다 (TARGET 속성이 주어지지 않은 경우). 마지막으로, HTMLpProcessKey에서 설명된 것과 같이, 업/다운키는 현재 사용자 인터페이스 도구를 볼 수 있는 이전 또는 다음 링크로 설정한다. 다음 링크는, 현재의 링크 아래에 있고 수평 거리가 가장 짧은 링크로 정의된다. 이것은 링크의 컬럼들이 기대되는 방식으로 세련되게 핸들링될 수 있게 한다. 이전 또는 다음 링크를 볼 수 없는 경우, 스크린은 적합한 방향으로 한 라인 스크롤한다. 이와 같이 하여, 원하는 링크를 볼 수 있게 되면 그 링크가 선택되고, 원하는 링크를 볼 수 없는 경우에는 현재 링크가 액티브 상태로 남아 있는다.
페이지 내에 <LINKMENU>가 주어지지 않는 경우, 컨텐트는 다음과 같이 취급된다. 우선, 링크는 밑줄로 표시된다. 그 다음, 최종 소프트키가 어느 것에도 결합되지 않은 경우, 페이지 내의 모든 링크는 그 소프트키에 결합된 메뉴 내로 수집된다. 마지막으로, 업/다운 셀렉터는 한번에 한 텍스트 라인씩 그 페이지를 스크롤한다.
<LINKMENU> 태그의 이와 같은 기능성은, 핸들러가 페이지를 분석하고 키 결합 테이블 및 메뉴를 셋업할 때에 HTMLp 컨텐트 핸들러(114c)에 의해 실현된다.
도 19는 <LINKMENU>가 지정되지 않는 제2 타입의 행동을 도시하고 있다. 본 예에서, iguana.gif, lizard/blue-tongued-iguana.html 또는 데이터베이스 데이터 등의 파일을 포함하는 다른 컨텐트에 대한 모든 링크는, 제2 소프트키(130)에 결합된 "Link" 메뉴에 자동적으로 배치된다. 소프트키(130)를 누르면, 이 메뉴가 제2 페이지로서 디스플레이된다.
도 20은 <LINKMENU>가 지정된 제1 타입의 행동을 도시하고 있다. 종래의 HTML에서와 같이, 예를 들어 <A HREF=flight/ua909.html>UA 909</A>와 같은 페이지 내의 링크가 밑줄로 표시되어 있지 않음에 주목한다. 그 대신, 업/다운 화살표가 이동하여 이 링크들을 순서대로 선택할 것이다.
(ⅲ) 링크와 키의 결합
본 발명은 <A> 태그에 대한 새로운 속성들을 제공한다. 표준 HTML 브라우저들은 이들을 무시하기 때문에, 이 속성들은 무선 통신 장치(100)와 데스크탑 컴퓨터 간에 호환 가능한 방법을 제공한다. 이 속성들은 KEY 및 LABEL 속성이다.
<A KEY=keyLABEL=stringHREF=url>
지정된 경우, KEY 속성은, 표시된 키가 HREF에 대해 자신에 의해 지정된 URL을 따르도록 요청한다. "백" 키는 이러한 방식으로 결합되지 않을 수 있다. 따라서, 이 속성은 특정 키를 특정 URL에 결합시키는 수단을 제공한다.
지정된 경우, LABEL 스트링은 두 가지 중 하나의 방법으로 이용될 것이다.
KEY가 소프트키(130)로서 제공된 경우, 스트링은 스크린 디스플레이(136) 상에 디스플레이된 소프트키(130)에 대한 라벨이 될 것이다.
KEY가 제공되지 않은 경우, 스트링은, LINKMENU 태그가 주어지지 않은 때 HTMLp 컨텐트 핸들러(114c)에 의해 자동적으로 구성된 링크의 메뉴 내에서 이용되는 라벨일 것이다. LABEL 속성이 존재하지 않는 경우, 링크의 텍스트가 이용될 것이다.
(ⅳ) 입력 엘리먼트와 키의 결합
종래의 HTML은 <INPUT> 태그에 대하여 SUBMIT 또는 RESET 속성들을 제공한다. 그러나, 이 속성들은 리턴키 또는 사용자 인터페이스 도구 상에서의 마우스 클릭에 하드코딩되어 있다.
본 발명은, 결합되기 원하는 키를 지정하는 <INPUT> 태그를 위한 KEY 속성을 이용하여, SUBMIT 및 RESET 입력 엘리먼트가 특정 키에도 결합될 수 있게 함으로써, 이들의 이용을 확장한다.
바람직한 실시예에서, SUBMIT 엘리먼트는 제2 소프트키(130)에 디폴트로 결합되고, RESET 엘리먼트가 제3 소프트키(130)에 결합된다. 장치가 2개의 소프트키(130)만을 갖는 경우, RESET 엘리먼트는 액세스할 수 없다. 그러나, 이러한 장치 상의 양식이 간단해진다면, 이것은 거의 문제가 되지 않는다.
다중 SUBMIT 엘리먼트를 갖는 양식은, 배타적인 키 결합이 주어지지 않는 한, 이들 전부를 제2 소프트키(130) 상의 메뉴에 배치해야 한다. 동일한 키에 결합된 다중 SUBMIT 또는 RESET 엘리먼트는 그 키 상의 하나의 메뉴에 조합될 것이다.
(c) 특별화된 컨텐트
본 발명은, 특별화된 타입의 컨텐트를 지원하거나 현재의 월드 와이드 웹 프랙티스를 무선 통신 장치(100)의 소형 스크린 디스플레이(136)에 맵핑하기 위한 방법을 제공하기 위한, HTML에 대한 추가의 확장을 포함한다.
(ⅰ) 전화 다이얼
다른 전화 타입 제품에서와 마찬가지로, 무선 통신 장치(100)는 DTMF 기초네트워크 서비스, 또는 음성 메일 시스템과 같은 기능을 제어하는 데에 DTMF 톤을 이용하는 다른 시스템들을 액세스할 수 있다. 따라서, HTMLp는, 페이지가 페치될 때 DTMF톤을 생성하여 그러한 시스템들과 쉽게 인터페이스할 수 있도록 하게 하는 새로운 태그를 제공한다. 이것은 새로운 <DIAL> 태그를 이용하여 성취된다.
<DIAL NAME=stringICON=numberNOSCREENCHANGE>(nn@t;)+</DIAL>
n은 번호 또는 특별한 다이얼 코드(예를 들어 일시 정지를 위한 p)이다.@t는 수십초 정도의 지속 시간을 지정한다. DTMF 톤의 발생과 새로운 호출 발신 간의 선택은, 호출이 현재 액티브 상태인지의 여부에 따라 이루어진다. 호출이 액티브 상태인 경우, DTMF 톤이 발생된다.
NAME 및 ICON 속성은 호출되는 그룹을 지정하여, 호출 발생동안 디스플레이되는 페이지 및 다이얼되는 번호가 전화번호부 내에 쉽게 배치되도록 하는 추적 페이지 내에서 이용된다. ICON 속성은 호출 접속 페이지에서도 이용되지만, 그 주요 목적은 사용자가 다이얼된 번호를 전화번호부 내에 저장할 수 있게 하는 추적 페이지 내에서의 이용이다. 전화번호는 임베딩된 전화번호부 오브젝트 내에서 그들의 아이콘에 의해 식별되며, ICON 속성은, 실제로 번호를 입력할 때 사용자가 그것을 변경하지 않는 경우에, 사용되는 아이콘을 지정한다.
NOSCREENCHANGE 속성은, 도 22에서와 같이, 호출 성공 후에, 디스플레이가 표준 호출 관리 페이지로 변경되지 않고 이 페이지로 되돌아와야 함을 나타낸다.
특권이 없는 페이지에 의한 발신 시도는 사용자에 의해 확인되어, 불량 컨텐트가 원하지 않는 전화 호출을 발생시키는 것을 방지한다.
이 태그는, 사용자 인터페이스 페이지가 현존하는 DTMF 기초 커맨드 트리에 대한 그래픽적인 지시 시트를 제공하게 한다. 사용자가 스크린 상의 기능들을 활성화시키면, 그 기능들은 새로운 페이지를 제공하고, 이러한 새로운 페이지는 적합한 DTMF 톤을 생성하여 사용자가 요청한 액션을 실행하고, 새로운 상태에서 사용자가 이용할 수 있는 동작을 디스플레이한다. 도 25는 이러한 타입의 이용에 대한 일례를 도시하고 있다. "Voice Box"라는 타이틀의 파일은 음성 메일 시스템에 액세스하기 위한 사용자 인터페이스 페이지이다. 라인 2의 <DIAL> 태그는 음성 메일 시스템을 위한 전화번호 및 사용자 패스워드 "4416722"를 포함한다. 라인 4-8은 시스템의 다양한 기능들을 활성화시키시 위한 키패드(128)의 키들을 정의한다. "Listen"이라는 타이틀의 파일에서, 라인 2의 <DIAL> 태그는, 음성 메일 시스템을 트리거하여 플레이백 모드로 들어가게 하는 번호 "5"에 대응하는 DTMF 톤을 우선적으로 생성한다. 라인 4-8은 각각의 번호 키(134)를 다양한 액션에 할당하며, 이러한 다양한 액션들은 음성 메일 시스템의 기능들을 발생시키는 특정 번호를 다이얼하는 URL이다. 따라서, <DIAL> 태그의 이용은, 사용자가 음성 응답 시스템의 커맨드 트리를 네비게이트할 수 있게 하는 한편, 정확한 하부 DTMF 신호를 제공한다.
<DIAL>은 HTMLp 컨텐트 핸들러(114c)에 의해 쉘(106)에 제공되며, 쉘(106)은 이것을 전화 프로토콜 핸들러(112g)에 제공하고, 전화 프로토콜 핸들러(112g)는 이를 프로세스하여 URL 내에 제공된 번호에 대응하는 DTMF 톤을 생성한다.
(ⅱ) 광고 컨텐트
현존하는 월드 와이드 웹 컨텐트는 대체적으로 그래픽 광고 배너에 의해 후원된다. 그러나, 종래의 이미지 집약적인 광고 배너는 무선 통신 장치(100) 상에서는 적절하게 디스플레이되지 않기 때문에, 무선 통신 장치(136) 상에서의 한정된 대역폭과 스크린 디스플레이(136)의 한정된 스크린 사이즈는 이러한 종류의 광고를 어렵게 한다.
본 발명은, 현존하는 <MARQUEE> 태그를 확장함으로써 이러한 한계를 극복한다. 이 태그는 정상적으로 스크린에 스크롤되는 텍스트를 지정하지만, 페이지의 <BODY> 섹션에 제한된다. 종래에, <MARQUEE> 태그가 <HEAD> 섹션에 있는 경우, 종래의 브라우저는 태그를 무시할 것이다.
본 발명에서, HTMLp 컨텐트 핸들러(114c)는 <MARQUEE> 태그가 문서의 <HEAD> 섹션에 위치할 수 있게 한다. 이렇게 하여 이용될 때, <MARQUEE> 태그 내에 첨부된 광고 배너는, 페이지의 제목 및 <HELP> 태그로 지정되어 있는 지연된 헬프와 교대로 나타나게 된다. 이러한 기능성은 쉘(106)로부터의 호출에 응답하는 HTMLp 컨텐트 핸들러(114c)에 의해 구현된다. 쉘(106)은 자신이 지연된 헬프를 디스플레이할 때마다 HTMLp 컨텐트 핸들러(114c)에 통지하도록 요청된다. 통지를 받으면, HTMLp 컨텐트 핸들러(114c)는, 쉘(106)이 타이틀 영역(210)에 광고 텍스트를 스크롤하도록 지시한다.
요약하면, HTMLp 컨텐트 핸들러(114c) 및 HTMLp 확장은, 종래의 HTML에는 존재하는 않는 다수의 유리한 특성 및 기능을 제공한다.
b) 광고 매니저
광고 매니저 컨텐트 핸들러(114a)는, 광고를 선택하여 아이들 타임에 디스플레이하고, 오래된 광고나 이미 응답된 광고를 삭제하거나, 요청된 회수만큼 광고를 실행시킨다. 광고는 HTML 또는 HTMLp 페이지로서 정의되며, 사용자 인터페이스 정의 파일(104)의 일부로서 메모리(126) 내에 저장된다. 전형적으로, 광고는 스케쥴에 따른 오퍼레이터에 의해 무선 통신 장치(100)로 다운로드된다. 사용자가 광고에 응답하거나, 광고가 지정된 회수만큼 디스플레이된 후, 또는 보다 중요한 광고가 도달한 경우, 다운로드된 광고는 자동적으로 삭제된다.
광고 매니저 컨텐트 핸들러(114a)는 다음과 같은 기초적인 컨텐트 핸들러 기능을 구현한다.
(1) AdvertOpen
광고 매니저 컨텐트 핸들러(114a)가 광고 페이지를 임시적인 것으로 마크하여 히스토리 스택(108) 상에 저장하지 않으면, 그 광고 페이지는 다시 실행되지 않는다. 이것은, 발생한 다른 페이지(예를 들어 인입 호출, 배터리 저하 등)가 URL 히스토리 스택(108) 내의 광고 페이지를 대체한다는 것을 의미한다.
AdvertOpen이 호출되면, AdvertOpen은 자신이 소유하고 있는 허용 가능한 광고 페이지의 세트를 탐색하고, 하나의 광고 페이지를 선택하여 디스플레이한다.
(2) AdvertClose
이 기능은 디스플레이 중인 광고 페이지를 체크하여, 삭제가 마크된 것인 경우(응답되었거나 요청된 회수만큼 디스플레이된 것), 그 광고 페이지를 삭제한다.
(3) AdvertActivate
현재 광고에 사용자가 응답하여 그 광고에 삭제가 마크된 후, 스트링은HTMLp 컨텐트 핸들러(114c)에 전달되어 HTMLpActivate로 프로세스된다.
(4) AdvertProcessKey
광고 페이지에 결합되지 않은 키를 누르면 그 페이지는 닫히게 되고, 키 누름은 광고 페이지가 나타나기 전에 액티브 상태였던 페이지에 의해 다시 프로세스된다.
c) 호출 매니저
호출 매니저 컨텐트 핸들러(114b)는 두 가지 목적으로 이용된다.
1. 액티브 상태의 호출을 디스플레이하는 것,
2. 발신된 호출에 대한 접속 진행을 디스플레이하는 것.
현재 호출 매니저 컨텐트 핸들러(114b)를 이용하는 URL 히스토리 스택(108) 상에는 단 하나의 페이지만이 존재하며, 그 페이지는 두 가지 모드 중 하나에 있다. 호출 매니저 컨텐트 핸들러(114b)는 다음과 같은 기본적인 컨텐트 핸들러 기능을 구현한다.
(1) CallManagerOpen
페이지가 실행 중인 경우, 이 기능은, 그 페이지를 디스플레이하기 전에 생성한 윈도우를 다시 볼 수 있게 하고, 그 컨텐트를 다시 디스플레이한다.
페이지가 최초로 디스플레이되는 것인 경우, CallManagerOpen은 URL에 대한 데이터의 스트림을 조사하여, 다이얼된 전화번호가 존재하는지를 본다. 스트림 내에는 다음과 같은 양식의 스트링이 있을 것이다.
num=string&name=string&icon=n
이것은, 다이얼할 번호(있는 경우에는, DTMF 톤에 후속함), 그 번호에 대해 디스플레이할 이름(번호 자체가 전화번호부 내에 없는 경우), 및 그 이름과 함께 디스플레이할 아이콘을, 이 기능에 알려준다.
다이얼할 번호가 있는 경우, 호출 매니저 컨텐트 핸들러(114b)는, 전화 제어 모듈(120)에 의해 제공되는 인터페이스를 이용하여 다이얼 모드로 들어가고, 전화 호출의 발신 진행 상황을 보여주는 다이얼 페이지를 디스플레이한다. 이 페이지는 DTMF 톤이 다이얼 중인 피드백을 제공하며, 에러가 발생한 경우에는 그 에러를 보고한다. 도 21A 내지 21E는, "connecting", "line is busy" 등과 같은 접속 상태를 나타내는 다이얼 페이지의 일례를 도시하고 있다. 도 20C 내지 20E에서는, 다이얼 중인 전화 번화 전체를 나타내며, 인디케이터는 현재 다이얼중인 숫자 아래를 이동하고 있다.
다이얼할 번호가 없는 경우, 컨텐트 핸들러(114b) CallManagerOpen 기능은 액티브 상태인 호출의 리스트와 그들을 조작할 인터페이스를 함께 디스플레이한다. 단 하나의 호출만이 액티브 상태인 경우에는 보다 간단한 인터페이스가 나타날 것이다. 도 21A 내지 21C는 이러한 인터페이스들을 나타내고 있다. 도 21A는 액티브 상태의 호출이 하나인 경우의 인터페이스를 도시한다. 도 21B는 액티브 상태인 호출이 다수 있는 경우의 인터페이스를 나타낸다. 도 21C는 도 21B와 동일한 인터페이스를 나타내지만, 컨퍼런스 또는 호출 대기를 선택할 수 있게 하는 소프트키(130) 메뉴도 함께 나타나 있다.
(2) CallManagerClose
페이지가 영구적으로 닫혀서 URL 히스토리 스택(108)으로부터 제거되는 경우, 이것은 액티브 상태인 호출을 디스플레이하기 위해 할당한 자원을 비우게 될 것이다. 액티브 상태인 호출이 여전히 존재하는 경우, 이 기능은 ShellAddIdleHook 기능을 호출하여, 사용자 입력없이 일정한 시간이 경과한 후, 액티브 호출의 리스트가 다시 디스플레이되게 한다.
(3) CallManagerActivate
이 기능은 채택된 호출에 대해 어떤 액션이 유용한가에 따라 소프트키(130)에 결합된 다음 커맨드들을 찾아낸다.
Conference: 다중 그룹 호출 내의 현재 호출에 다른(대기중의) 호출을 연결한다.
Split: 선택된 호출을 자신이 속한 다중 그룹 호출로부터 제거한다.
Hold: 선택된 호출 또는 다중 그룹 호출을 대기 상태에 둔다.
PickUp: 대기 중인 호출 또는 다중 그룹 호출을 활성화시킨다.
Back: 호출 매니저 스크린을 닫는다.
Stop: 현재의 DTMF 시퀀스를 중지하고, 호출 진행 스크린 대신에 액티브 상태 호출의 리스트를 디스플레이한다.
(4) CallManagerProcessKey
이 기능은 다중 호출의 경우에 있어서 한 호출에서 다음 호출로의 사용자의 선택을 이동하도록 업/다운 키를 조작한다. 선택된 호출은 액티브 상태의 호출이 되고 이전에 액티브 상태였던 호출은 대기 상태로 놓인다.
액티브 상태의 호출이 선택되면, 번호키(134)는 DTMF 톤을 발생하고(현재 선택된 호출을 비활성화하는 것이 불가능하다고 표지하는 것처럼 보이는 업/다운 키에 대한 응답에도 불구하고, 사용자가 그것을 대기 상태로 하기를 요구했고 선택을 변경하지 않는다면 선택된 호출을 대기 상태에 있게 하는 것이 가능함), 다이얼러 스크린이 나타나고 호출할 번호의 시작으로서 숫자가 입력된다.
End 키는 현재의 호출을 종료한다. 그 호출이 다중 그룹 호출의 일부인 경우, 종료하기 전에 컨퍼런스로부터 제거된다.
Send 키는 다이얼러 스크린을 제시하지만, 사용자가 두 번째 호출을 위해 Send 키를 누를 때까지는 현재 호출에 영향을 주지 않는다.
d) 메인 컨텐트 핸들러
메인 컨텐트 핸들러(114d)는 HTMLp 컨텐트 핸들러(114c)가 장치의 메인 페이지를 표시할 수 있도록 프론트 엔드 처리기로서 광범위하게 이용된다.
(1) MainOpen
입력 모드를 숫자 모드로, 쉬프트 상태를 언쉬프트 상태로 변경함으로써, 사용자가 키를 누르는 때 번호의 다이얼링이 시작되게 한다.
그 후에 스트림을 메인 페이지에 열고, 그 스트림을 HTMLp 컨텐트 핸들러(114c)에 전달하여 표시한다. 메인 페이지의 한 예는 도 22에 도시되어 있다.
(2) MainClose
동일한 인수로 HTMLpClose를 호출한다.
(3) MainActive
동일한 인수로 HTMLpActive를 호출한다.
(4) MainProcessKey
키가 End 키이고 액티브 상태 호출이 존재하는 경우, 이 기능은 액티브 호출 스크린을 띄울 것이다. 그렇게 해서 스크린이 나타나기를 기다릴 필요가 없이 사용자는 호출을 끊을 수 있다.
다른 어떤 키들로 HTMLpProcessKey에 전댈되어 처리된다.
7. 프로토콜 핸들러
본 발명에 따르면, 무선 통신 장치(100)의 기능성은, 데이터 또는 기능을 식별하는 URL에 응답하여 데이터를 페치하거나, 요청된 기능을 수행하는 프로토콜 핸들러(112) 및 프로토콜 번호를 통해서 액세스된다.
바람직한 실시예에서, 무선 통신 장치(100)와의 인터랙트를 위한 전화, 메시지, 컨피그의 세 개의 메인 프로토콜이 존재한다. <TEMPLATE> 태그 및 다른 기능들에서 기술된 것과 같이, 제4 프로토콜인 엑스트라 프로토콜은, HTMLp 템플릿 페이지가 대부분의 사용자 인터페이스를 위해 사용될 수 있도록 한다.
각각의 프로토콜에 대하여, 지원된 URL들은 HTML이나 HTMLp 페이지에 오브젝트가 임베딩되게 하는 것들과, 컨텐트를 디스플레이하거나 무선 통신 장치(100)의 기능을 활성화하는 것들로 분할된다.
a) 전화 프로토콜
이것은 장치의 기능들과 HTML이 아닌 C로 기술된 다양한 임베딩된 오브젝트를 엑세스하기 위한 주요 프로토콜이다. 이것은 전화 프로토콜 핸들러(112g)에 의하여 디코딩된다. 상술한 바와 같이, 이러한 임베딩된 오브젝트들은, 전화번호부 오브젝트, 현재 호출 리스트 오브젝트 등을 포함한다. 각각의 임베딩된 오브젝트는 파라미터 폭과 높이를 가진다. 이러한 파라미터들은 임베딩된 오브젝트에 대해 URL에서 지정되고, 그 출력을 디스플레이하는 임베딩된 오브젝트에 의해 제공되는 윈도우에 대해 픽셀 폭과 높이를 정의한다.
각각의 임베딩된 오브젝트는 URL 사양에 따라 수행할 방법의 집합 세트도 가진다.
(1) 임베딩된 오브젝트
각각의 임베딩된 오브젝트에 대해서, 그것에 의해 수행 가능한 방법뿐 아니라, 그것이 수용하는 파라미터도 서술된다. 이러한 방법들은 키(128)에 결합된 스트링, 하이퍼링크, 또는 소프트키 메뉴 엔트리이다.
phone:dialing?width= number &height= number &storekey= n,storelable/editable
전화 다이얼링을 위하여 임베딩된 오브젝트를 포함한 스트림을 리턴한다. 그 오브젝트는 저장된 전화번호부 데이터 구조 내의 엔트리들을 번호 또는 이름에 의해 검색하고, <INPUT> 태그의 phonename 및 phonenum 속성에 대해, 일치하는 것들을 입력 필드 아래에 디스플레이할 수 있다.
파라미터
storekey 사용자가 일치 리스트에서 엔트리를 선택한 경우에 그 엔트리를편집하거나, 입력한 번호나 이름을 저장하도록 하는 데에 어떠한 소프트키(130)가 사용될것인가를 지정한다.storekey파라미터에 대해 지정된storelabeleditlabel값은, 두 기능 중 하나를 수행하도록 설치된 소프트키에 주어질 라벨을 지정한다.
방식
edit일치 리스트에서 선택된 번호가 편집되기를 요청한다.
store사용자가 타이핑한 것에 의해 채워진 적합한 필드를 가진 신규 전화번호부 엔트리 스트링을 입력함으로써, 사용자가 타이핑한 것이 전화번호부에 저장되도록 요청한다. 현재 텍스트 엔트리 모드가 숫자인 경우, 입력된 데이터는 전화번호로 간주된다. 현재 텍스트 엔트리 모드가 숫자가 아닌 경우, 그것은 이름으로 간주된다.
'@' 캐릭터를 포함한 어떤 액션도 이 오브젝트의 방법으로 간주된다. phone:list 오브젝트에 대해 기술된 @ escapes는 여기에도 작용한다.
phone:list?width= number &height= number &editkey- n . label &service= string &data= string &showstatus
전화번호부 데이터 구조로부터 기록을 표시할 오브젝트가 임베딩된 전화번호부를 포함한 스트림을 리턴한다.
파라미터
editkey 선택된 것에 따라, 변경되어야 할 라벨과 액션을 가진 소프트키(130)를 지정한다(전화번호만이 편집 가능하다).
service, data 서비스(URL)나 데이터(저장된 컨텐트) 엔트리가 선택되면 상태 메시지 영역(212)에 디스플레이할 스트링을 지정한다. 한편,showstatus는 어떤 상태 메시지(212)가 디스플레이될 것인지 결정한다(전화번호 엔트리에 대해, 전화번호가 디스플레이된다).
방법
new리스트가 서치 모드에 있고, 일치 리스트 내의 엔트리가 선택된 경우, 신규 전화번호부 엔트리 스트링, 즉 이름, 번호 등을 수집하고 그 결과를 전화번호부에 저장하는 사용자 인터페이스 정의 파일(104)의 스트링은 새로운 엔트리에 대한 이름으로서 선택된 엔트리의 이름을 사용하여 입력된다. 일치 리스트 내에서 아무런 엔트리도 선택되지 않은 경우, 신규 전화번호부 엔트리 스트링은 초기 데이터로서 사용자가 처음에 타이핑했던 것을 이용하여 입력된다. 현재 텍스트-엔트리 모드가 숫자 모드이면 데이터는 전화번호로 사용되며, 현재 텍스트-엔트리 모드가 숫자 모드가 아닌 경우에는 이름으로 사용된다.
editURL이 생성되어 현재 전화번호부 엔트리를 편집하고 그 URL이 페치된다.
delete사용자에게 확인한 후에 현재 전화번호부 엔트리가 삭제된다.
@ 캐릭터를 포함한 임의의 URL은 이러한 오브젝트의 방식으로 고려되고 다음의 이스케이프가 있는지 탐색된다. 이스케이프가 발견되면 그것은 현재의 선택으로부터 데이터의 관련 부분으로 대체된다. 일단 모든 이스케이프가 대체되고 나면, 최종 URL이 페치된다. 표 2는 이스케이프 값들을 나타낸다.
이스케이프 대체
@i 선택된 엔트리의 레코드 ID
@o 엔트리(0-7)에서 선택된 전화번호의 오프셋
@n 선택된 엔트리 내의 이름
@N 선택된 전화번호(선택된 아이콘이 전화번호가 아닌 경우에는 에러를 발생시킴)
@I 선택된 전화번호의 아이콘(선택된 아이콘이 전화번호가 아닌 경우에는 에러를 발생시킴)
@S 선택된 전화번호의 스피트 다이얼 번호(선택된 아이콘이 전화번호가 아닌 경우에는 에러를 발생시킴)
@r 선택된 엔트리 내의 모든 번호에 대한 링톤
@R 선택된 엔트리 내의 모든 번호에 대한 링 우선순위
@c 선택된 엔트리에 대한 카테고리
@g 선택된 엔트리에 대한 카테고리 내의 그룹
@@ 하나의 @ 캐릭터
phone:recentcall?filter= number &editkey= n,editlabel/storelabel &callkey= n,label &width= n &height= n &noempty
최근 수신되거나 송신된 전화 호출의 리스트를 디스플레이할 수 있는 임베딩된 오브젝트를 포함한 스트림을 리턴시킨다. 호출 리스트 속의 각각의 항목은 그것과 연관된 플래그의 집합을 가진다. 현재 정의된 하나의 플래그는 bit 0인데, 그것은 사용자가 응답하지 못한 번호로부터의 호출을 나타낸다.
파라미터
필터가 존재하는 경우, 그것은 특정 타입의 호출만이 디스플레이되어야 함을 표지한다 (통용되는 필터값 중 하나가 1인데, 응답되지 않고 지나간 수신 호출을 의미한다).editkeycallkey는 선택되었던 호출에 기초하여 변하는 라벨과 액션을 가진 소프트키를 지정한다. 현재noempty로 되어 있는 경우, 그것은 필터링 후의 호출리스트가 비었으면 오브젝트를 포함한 스크린이 디스플레이되어서는 안된다는 것을 표지한다.
방법
edit현재 선택이 전화번호부에 있는 번호인 경우, 그 번호를 위한 전화번호부 편집 스크린을 띄운다.
store현재 선택이 전화번호부에 있는 번호가 아닌 경우, 현재 선택에 대한 설정된 전화번호를 갖는 신규 전화번호 엔트리 스트링을 생성한다.
call현재 선택의 번호로 호출을 시작한다.
dismiss리스트의 모든 항목에 대하여 "missed" 플래그(bit 0)를 소거한 뒤 스크린을 닫는다.
phone:ringtone?width= number &height= number &ptrAddr= hex
인입 호출에 대하여 장치가 발생할 수 있는 벨 소리의 리스트를 표시할 수 있는 임베딩된 오브젝트를 포함한 스트림을 리턴시킨다.
파라미터
ptrAddr이 주어지면, 오브젝트는 사용자에게 시스템의 디폴트 벨을 사용할 옵션을 부여한다. 사용자가 벨 소리를 선택하면 그것의 번호는hex에 의해 주어진 저장 어드레스에 배치된다.
ptrAddr이 선택되지 않으면 오브젝트는 시스템 디폴트 벨을 설정한다.
방법
test몇차례 벨소리를 재생한다.
ok벨소리를 선택된 것으로 설정하고 스크린을 닫는다.
phone:speeddial?width= number &height= number &ptrAddr= hexnumber &Name= string &icon= n
스피드 다이얼 위치의 리스트를 표시할 임베딩 오브젝트를 포함한 스트림을 리턴시킨다.
파라미터
ptrAddr은 사용자가 어떤 엔트리를 선택했을 때, 오브젝트가 선택된 스피드 다이얼 번호를 어디에 저장하여야 하는지 지정한다.Name/icon인수들은, 스피드 다이얼에 할당되어 있는 번호의 이름과 아이콘을 지정하는 phone:store에서와 동일하다.
방법
ok현재의 선택이 다른 번호에 아직 할당되지 않은 경우, 스피드 다이얼 번호를 현재 선택대로 설정하고 스크린을 닫는다.Name/icon인수는 사용자를 위한 확인 스크린을 생성할 때 쓰인다.
clear선택된 스피드다이얼 엔트리의 할당을 삭제한다.
(2) 컨텐트/커맨드 URL
phone:active
액티브 호출 스크린을 디스플레이하여, 사용자가 액티브 상태일 수 있는 호출도 조작할 수 있게 하는 호출 메니저 형태의 스트림을 리턴시킨다. 액티브한호출이 없으면 아무것도 하지 않는다.
phone:answer
임의의 인입 호출이 응답되게 하여, 액티브-호출 스크린이 디스플레이되도록 하는 스트림을 리턴시킨다. 인입 전화 호출이 없으면 아무것도 하지 않는다. 인입 전화 호출이 있다면, 참조 URL은 URL 스택으로부터 팝된다.
phone:conf
임의의 인입 전화 호출이 응답되고 현재 액티브한 전화 호출에 접속되도록 한다. 액티브-콜 스크린을 발생하는 스트림을 리턴시킨다. 인입 전화 호출이 없으면 작동하지 않는다. 인입 전화 호출이 있는 경우, 참조 URL은 URL 히스토리 스택(108)에서 팝된다.
phone:dial?num= string &name= string &icon= number &hidden
표지된 number에 대해 음성 호출이 이루어지게 한다. 이름과 아이콘이 주어진다면 그것들은 호출 진행을 표시하는 페이지와 사용자에게 그 번호를 전화번호부에 추가할 것을 원하는지 묻는 팔로우-업 페이지에서 사용된다. hidden이 지정되었다면 사용자는 일단 접속된 이상 그 호출을 볼 수 없을 것이다(액티브-콜 스크린은 표시되지 않을 것이다). URL은 호출 진행 스크린을 디스플레이하도록 하는 스트림을 리턴시킨다. 아무 인수도 주어지지 않으면 URL은 다이얼러 스크린을 디스플레이하는 스트림을 리턴시켜, 사용자가 호출을 위한 전화번호를 입력할 수 있게 한다.
요청을 발행한 페이지가 충분한 특권을 갖지 않는다면, 사용자는 그 전화번호를 다이얼하는 것이 허용할 수 있는 것인지 질문을 받게 된다. 예를 들어 수신된 문자메시지는 (900)에 대한 호출이나 사용자가 알지 못하는 장거리 번호를 포함하고 있을 수도 있으므로 충분한 특권이 결여된 것이다.
phone:display?id= number
지정된 전화번호부 레코드의 데이터 필드를 표시하는 스트림을 리턴시킨다.
phone:edit?name= string &num= string &offset= number &id= number
전화번호부의 뉴/에디트 스크린이 지나간 파라미터와 함께 표시될 수 있도록 하는 스트림을 리턴시킨다. 오프셋과 아이디는 존재하는 레코드를 편집하기 위해서 오직 내부적으로만 사용된다 (오프셋은 편집할 전화번호가 어떤 것인지 표지하며 아이디는 편집할 레코드의 식별자임).
그러나, name과 num은, 신규 전화번호부 레코드를 작성하여 사용자가 적합한 아이콘을 선택할 수 있게 하거나, 엔트리를 전화번호부에 저장하기 전에 편집할 수 있게 하는 데에 사용될 수 있다.
phone:firstopen?password= string
주어진 패스워드 스트링을 구성 세팅에 저장된 것과 대조한다. 일치하는 경우, 조회한 스크린이 팝되고 phone:main으로 대치된다. 일치하지 않는 경우, 전화는 끊어진다. 이것은 전원 보안 스크린이 HTML 페이지가 될 수 있도록 한다.
phone:ignore
인입 전화 호출이 거부되도록 한다. 인입 전화 호출이 있는 경우, 참조 URL이 URL 히스토리 스택(108)으로부터 팝된다. 인입 호출이 없는 경우에는 아무 동작도 없다. 어떤 스트림도 리턴되지 않고, 따라서 참조 URL이 페치되기 전에 액티브 상태였던 URL이 표시된다.
phone:indir?url= string &pop= action
최후에 페치된 것으로부터 스트림을 리턴하기 전에, 하나 이상의 URL(무엇이 되었건, 부수적 작용을 촉진하는)을 페치한다. pop 인수가 주어진 경우, 데이터가 디스플레이되기 전에 하나 이상의 URL이 리턴된 URL 히스토리 스택(108)으로부터 제거되어야 함을 표지한다. 하나의 URL, 현재 대화중인 모든 URL 또는 모든 URL을 히스토리 스택으로부터 제거하기 위한action은 pop, abort 또는 clear 중의 하나가 될 수 있다.
phone:look?cat= number &sort&form= format
cat인수에 의해 제공되는 번호를 가진 카테고리 내에 있는 전화번호부로부터 이름을 검색한다. Sort 인수가 주어진다면 결과는 알파벳 순서로 정렬된다. form 인수는 데이터가 어떤 포맷으로 주어지는가를 지정한다. 이들은 항상 일정 양식의 HTML(이 URL의 결과는 HTML 스트림임) 내에 존재하지만, 이용되는 태그는다음과 같이 변한다.
·link: 각각의 엔트리의 이름은 적절한 장소에 대한 링크로서 포맷이 지정되어 있다. 서비스 필드를 가진 엔트리에 대하여 HREF은 서비스 필드의 컨텐트이지만, 데이터 필드를 가진 엔트리에 대해서는 HREF는 그 데이터를 보여준다. 다른 모든 엔트리는 엔트리 내의 첫 번째 번호를 다이얼한다.
·form: 이름이 <SELECT> 리스트 (데이터를 페치하는 <INC> 태그를 에워싼)의 <OPTION> 엘리먼트로서 포맷된다. 각각의 옵션의 값은 링크에 대해 기술된 것과 같이 URL이다.
·menu: 각각의 엔트리는 링크를 위한 것과 같은 방식으로 <KEYMENU>태그로서 제공된다. 사용할 키는 form=menu=x 에 의하여 지정되고 여기서 x가 키이다.
·count: 주어진 카테고리 내에 있는 레코드들의 번호를 생성한다.
phone:look URL은 새로운 <INC> 태그와 조합된 때, HTML 페이지가 브랜드화된 그래픽 컨택스트의 종류에 따라 전화번호부의 서브셋을 디스플레이하도록 한다. 더 중요하게는, 그것은 서비스 운영자와 사용자 모두가, 사용자에게 허용 가능한 서비스를 관리하도록 하는 단순한 방법을 제공한다. 서비스 그룹들은 전화번호부에 특정 카테고리를 가지고 저장된다. 그 다음에 장치는, 이 URL을 사용하는 페이지가 그 엔트리를 디스플레이하고 사용자가 서비스 중 하나를 선택하는 것을 허용하도록 하게 한다. 서비스를 추가하거나 삭제하는 것은 단순히 전화번호부 안의 엔트리를 추가하거나 삭제하는 것의 문제이고 서비스 리스트를 디스플레이하는 페이지를 수정할 필요는 없다.
phone:main
미리 정의된 메인 스크린을 표시하도록 하는 스트림을 리턴시킨다.
phone:shortcut?num= n
숏컷 기능을 활성화한다. n은 0-9의 범위이다.
숏컷은 무선 통신 장치(100)의 제조자에 의하여 정의되고, 전형적으로 소프트키(130) 중 하나를 선택한 채로 숫자키(134) 중 하나를 누름으로써 활성화된다. 일반적으로 숏컷은 시동 암호 스크린을 제외한 모든 스크린에서 유용하다.
예를 들어 숏컷 1은 키패드를 잠그거나 열 수 있으며, 숏컷 2는 벨소리를 묵음시킬 수 있으며, 숏컷 3는 무선 통신 장치(100)가 켜질 때 암호 보안을 활성화하거나 비활성화할 수 있다. 어떤 숏컷은 시동 암호 스크린 이외의 특정 스크린 상에서도 제한될 수 있다.
phone:store?Name= string &Phone= speed =icon= string &Owner= string &Service= url &Category= number &Group= number &Ring= number& Data= type %0a data &speed= speed &icon= icon &id= id &offset= number &prio= n &pop= string
전화번호부 내의 레코드를 생성, 부가 또는 편집한다. id와 offset이 지정되면 그 레코드 내에서 선택된 전화번호는 편집된다. 한편, 동일한 Name을 가진 기록이 이미 존재하고 있다면 기록은 부가되고, 일치하지 않는 Name은 새로운 기록을 생성하게 한다.
파라미터
phone 이 파라미터의 컨텐트는 "speed" 파라미터와 "icon" 파라미터가 정의되었는지에 따라 변한다.
정의되지 않은 경우, 이 파라미터는"speed = icon = number%speed = icon=number/ ..."형태의 스트링을 포함한다. 즉, 각각에 연관된 스피드 다이얼 위치와 아이콘을 부여하는, 하나 이상의 전화번호를 지정하는 스트링이다.
"speed"와 "icon"이 지정된 경우, 이 파라미터는 전화번호부에 저장할 하나의 전화번호만을 포함한다.
Owner 엔트리의 컨텐트가 전파로 업데이트 될 수 있도록 허용하는 암호를 지정한다.
Service 엔트리 내에 저장된 URL을 지정한다. 이 URL은 전화번호부 안의 전화번호처럼 보이나 Send 키가 눌러진 때 URL에 대한 데이터가 페치된다.
Category 엔트리가 통상의 전화번호부 스크린에서 감춰지도록, 그러나 HTML 페이지의 포함을 위해 phone:look URL에 의하여 찾아지도록 한다.
카테고리 0, 1 및 2는 통상의 전화번호부에 의해 표시된다.
Ring 이 전화번호부 기록 내의 어떤 전화번호로부터 호출이 도착할 때 사용할 벨소리(1에서 127까지이고 0은 시스템 디폴트를 사용함을 의미)를 지정한다. 하이 비트(32768)가 설정된 경우에는, 장치가 정숙 모드로 되어 있더라도 이 전화번호부 레코드 내의 어떤 번호로부터 수신된 호출이 벨을 울려야 함을 표지한다.하이 비트는prio인수를 사용하여 설정될 수도 있다. 만약 이 값이 1이라면 하이비트가 설정될 것이다.
Data 임의의 데이터가 전화번호부 기록에 저장되도록 허용한다. 그 데이터는 전화번호부 내의 전화번호로 보이나 Send 키를 누를 때 그 데이터가 디스플레이된다. 인수 값의 첫 부분은 데이터의 형태이다. 대개 이것은 문자 또는 HTMLp의 형태가 될 것이다. 두 번째 부분은 6진수 스트링과 같은 데이터 자체로, 저장된 옥텟 당 두 개이다.
Pop (선택적) 조회된 phone:store URL이string값에 따라 URL 히스토리 스택(108)으로부터 제거되도록 한다(pop⇒ 그 URL만이 제거됨,done⇒가장 최근의 최상위 URL을 지난 모든 이전의 URL이 제거됨,clear⇒메인스크린에 모든 이전의 URL이 제거됨).
이러한 특별한 명령은 사용자에게 상당한 유연성을 제공한다. 첫째, DATA 인수는 전화번호뿐 아니라 어떤 데이터도 전화번호부에 저장되도록 허용한다. 특히, 무선 통신 장치(100)에 범용의 데이터베이스를 구축하면, URL, 영상, 음성 데이터와 어떤 다른 내용도 저장될 수 있다. 예를 들어 사용자가 웹 컨텐트를 보고있을 수 있으며, 표시된 URL을 선택할 수 있고, 또한 차후에 재호출하기 위해 그 URL을 전화번호부에 즉시 저장할 수 있다.
둘째, RING 인수는 각각의 전화번호부 엔트리에 대해 지정된 다른 벨소리를 부여한다. 이 RING 톤은 인입 호출이 전화번호부 엔트리 내의 어떤 번호로부터 수신된 때 사용될 것이다. 이것은, 사용자가 다양한 전화번호에 대한 특정의 구분된전화벨을 지정하게 한다. 예컨대, 사용자는 다른 가족 구성원, 동료, 의사의 사무실 등에 대하여 특정한 벨소리를 지정할 수 있다.
셋째, RING 인수는 링톤 값의 하이비트를 설정하거나 영이 아닌 PRIO 인수를 지정함으로써 어떤 전화번호 엔트리과 그것의 링톤에 대해 우선하는 벨울림을 고려한다. 종래의 무선 통신 장치는 대개 전화기를 침묵하게하고 일반적으로 인입 전화에 대한 벨울림을 방지하는 정숙 모드를 포함한다. 본 발명에서, 이 RING 인수는 전화번호부 엔트리으로부터의 호출이 차단되지 않고 벨이 울리도록 지정할 수 있다. 따라서 사용자는 가족이나 다른 중요한 사람에 대하여 우선 벨울림을 설정할 수 있고, 그렇게 해서 정숙 모드에서도 그러한 사람들로부터의 호출은 벨울림이 허용될 수 있다.
호출 매니저 컨텐트 핸들러(114b)는 각각의 인입 전화 호출을 자신의 저장 전화번호와 비교하고, 전화의 벨울림을 선택하고 제어하기 위해 지정된 링톤(만약 있다면)을 사용함으로써 이러한 기능을 실현한다.
b) 메시지 프로토콜
영숫자 페이지와 같은 문자 메시지는 본 발명을 사용하여 수신되고 보여질 수 있다. 메시지는 파일에 저장되고 유일한 식별자에 의하여 식별된다. 이 프로토콜은 메시지 프로토콜 핸들러(112f)에 의하여 조작된다.
(1) 임베딩된 오브젝트
message:list?width= number &height= number &type= type &num= string &lockkey= n,locklable/unlocklable
주어진 형식의 메시지의 리스트를 디스플레이하는 임베딩된 오브젝트를 포함한 스트림을 리턴시킨다.
파라미터
num(선택적) 주어진 소스로부터의 메시지들만이 디스플레이됨을 나타낸다.
lockkey(선택적) 선택된 메시지가 현재 록되어 있는지에 따라 어떤 소프트키(130)가 업데이트될 것인지를 지정한다. 그 소프트키를 누르면, 메시지의 록 상태가 토글된다. 파라미터의 locklabel 및 unlocklabel 부분은, 소프트키(130)가 수행하는 기능에 기초하여 그 소프트키(130)에 주어지는 라벨을 지정한다.
type(선택적) 어떤 타입의 메시지가 디스플레이될지를 지정한다. 가능한 값은 "TEXT", "FAX", "VOICE"임.
방법
lock선택된 메시지를 자동 삭제에 대하여 록함.
unlock선택된 메시지를 록 해제하여, 자동적으로 삭제될 수 있게 함.
new새로운 발신 메시지를 구성하기 시작함.
open선택된 메시지를 디스플레이하고 읽혀진 것으로 마크함.
@를 포함하는 임의의 URL도 이 오브젝트를 위한 방법으로 간주된다. 이것은 다음의 이스케이프들에 대하여 탐색된다. 이스케이프가 발견되는 경우, 그 이스케이프는 현재 선택으로부터의 데이터의 연관 부분들로 대체된다. 모든 이스케이프들이 대체되고 나면, 최종 URL이 페치된다.
이스케이프 대체
@i 선택된 메시지의 레코드 ID
@b 선택된 메시지의 바디(URL-엔코드됨)
@n 메시지에 대해 음성 응답을 원하는 경우에 호출하기 위한 전화번호. 숫자 페이지(전화번호만을 포함하는 메시지)에 있어서, 이것은 페이지 내의 번호가 됨. 그 외의 다른 메시지에 있어서, 이것은 메시지 송신자의 전화번호임.
@s 메시지 송신자의 전화번호
@@ 하나의 @ 캐릭터
(2) 컨텐트/커맨드 URL
message:count?type= type
대기중인 메시지의 번호를 포함하는 스트림을 텍스트로서 리턴시킨다. 가능한 type값은 VOICE, TEXT 또는 FAX이다. 통상적으로, 이것은 모든 타입의 메시지에 대한 인박스(inbox)를 구현하여 장치가 지원하는 메시지 타입의 리스트를 제공하기 위해 <INC> 태그와 함께 이용되며, 리스트는 사용자가 그 타입의 메시지에 대한 개별적인 스크린을 얻을 수 있게 한다. 리스트는 이 URL 및 <INC> 태그를 이용하여, 이 스크린 상에서 허용 가능한 메시지의 번호를 리스트를 구성하는 텍스트의 부분으로서 디스플레이할 수 있다. URL은 이프 태그의 테스트 속성 내에서 이용되어, 허용 가능한 타입의 메시지가 존재하는지의 여부에 기초하여 상이한 <IMG> 태그를 선택할 수 있다. 예를 들어, 메시지가 없을 때에는 정지 영상이 사용될 수 있고, 허용 가능한 타입의 메시지들이 존재하는 경우에는 동영상이 사용될 수 있다.
message:operate?reply=&delete=&lock=&unlock=&adjust=&id= number
id가 지정된 메시지 상의 동작을 수행한다. 가능한 동작들은 다음과 같다(URL 내에 하나만이 지정될 수 있음).
· reply: 메시지 구성 스크린이 발생되고, 데스티네이션 어드레스는 id가 지정된 메시지의 송신자에 대해 설정되게 한다.
· delete: 메시지가 삭제되게 한다.
· delconfirm: 사용자가 삭제를 확인한 후에 메시지가 삭제되게 한다.
· lock: 메시지가 록으로 마크되어, 메시지 기억 장치가 가득 찼을 때 자동적으로 삭제되지 않게 한다.
· unlock: 메시지가 언록으로 마크되어, 메시지 기억 장치가 가득 찼을 때 자동적으로 삭제되게 한다.
adjust인수가 주어진 경우,adjust인수는 URL 히스토리 스택(108)이 다음과 같은 방식으로 조절되게 한다.
· reply: 조절이 이루어지지 않는다.
· delete: 참조 URL이 URL 스택으로부터 팝된다.
· lock, unlock: message:read URL로부터의 스트림이 그 메시지에 대해 리턴되어, 참조 URL을 대체한다.
이 URL은 동작하기에 충분한 특권은 요구한다. 참조 URL이 특권을 갖지 않는 경우, 동작은 사용자에 의해 확인된다.
message:read?id= number
스트림을 리턴시켜, id가 전달된 메시지를 디스플레이한다. 스트림은 탬플릿 HTML 파일에 대한 것이다. 그 탬플릿을 채우는 파라미터는 메시지의 컨텐트에기초하여 리턴된다.
message:send?addr= string &body= string &newaddr=&newbody=&pop=&reply= id
텍스트 메시지가 지정된 어드레스로 송신될 것을 요청한다.addr이 상실되거나newaddr이 나타난 경우, 사용자가 주어진 body는 유지한 채로 메시지에 대한 어드레스를 설정할 수 있게 하는 스트림과 파라미터를 리턴시킨다.
body가 상실되거나newbody가 나타난 경우, 사용자가 주어진 addr 및 reply는 유지한 채로 메시지에 대한 바디를 추가 또는 편집할 수 있게 하는 스트림과 파라미터를 리턴시킨다.
addrbody가 둘 다 상실되고,newaddrnewbody도 존재하지 않는 경우, 메시지가 송신된다.reply가 주어지면, 대응 매시지는 응답된 것으로 마크된다.
메시지가 송신되고 팝이 나타난 경우, 참조 URL이 URL 히스토리 스택(108)으로부터 팝된다.
또한, 이 URL은 POST 동작(PutURL)과 함께 동작하며, 이 때addr은 URL 내에 지정되고, URL에 배치될 데이터의 스트림은 메시지의 바디로 취해진다.
c) 컨피그 프로토콜
장치 기능과의 인터랙션을 위한 제3 프로토콜은, 장치 구성 정보를 설정 및 획득하는 데에 이용되는 컨피그 프로토콜이다. 이 프로토콜은 컨피그 프로토콜 핸들러(112b)에 의해 핸들링된다.
이러한 프로토콜로 형성된 URL이 장치 세팅 자체이다. URL이 페치되면, URL의 현재 세팅은 텍스트로 변환되어 스트림으로서 리턴된다. 데이터가 컨피그 프로토콜 URL로 포스트되면, 데이터는 필요에 따라 변환되고, 장치 세팅이 설정된다. 컨피그 URL은 장치 세팅 내의 비트를 획득하고 설정하기 위해 어드레스한다. 그러면, URL은 다음과 같이 된다.
config:setting.bitnumber:bitsize
:bitsize가 존재하지 않으면, 1로 가정된다.
bitnumber는 0 내지 31이며, 31이 최상위 비트이다.
세팅 중 일부(예를 들어 무선 통신 장치의 PIN 번호)는 충분한 특권(전형적으로, ROM 메모리(126) 내의 HTML 파일)을 갖는 페이지에 의해서만 획득될 수 있지만, 대부분의 세팅은 임의의 모듈에 의해 페치된다. 충분한 특권(마찬가지로, ROM 메모리(126) 내의 HTML 파일)이 없으면, 장치 세팅은 설정되지 않는다.
"config:set"에 포스트함으로써 다중 세팅이 설정될 수 있다. 스트림은 "setting.bitnumber.bitsize/value" 양식의 라인들을 포함한다.
URL 타입 기능
config:keypadlock 부울린 설정시, 키패드록을 예약 또는 예약 해제함
config:smspriority int16 착신 메시지의 중요 순위를 정함 : 0⇒모든 메시지를 디스플레이, 1⇒smskeyword를 갖는 메시지를 디스플레이, 2⇒모든 메시지를 인박스 내에 넣음
config:smskeyword char[16] 착신 호출을 탐색하여, 디스플레이할 정도로 중요한지를 결정하기 위한 워드를 지정함
config:ringtone int16 디폴트로 이용되는 링 시퀀스(1-127)를 지정함
config:ringmode int16 전화의 울림을 지정함: 0⇒ 주기적인 울림, 1⇒주기적인 울림+진동, 2⇒1회 울림, 3⇒울리지 않음
config:setquietmode 부울린 설정시, 우선 순위가 높은 번호로부터의 호출만이 전화가 정상적인 방식으로 울리게 함
config:quietmode int16 침묵 모드에 있을 때 우선 순위가 높지 않은 전화에 대한 울림을 지정함. 0⇒진동, 1⇒작게 울림(chirp), 2⇒울리지 않음
config:setpassword 부울린 설정시, 전화가 켜질 때마다 사용자가 패스워드를 입력하게 함
config:password char[4] 입력되어야 하는 패스워드
config:backlight 부울린 참인 경우, 전화 사용시에 백라이트가 턴온되게 함
config:keyclicks 부울린 참인 경우, 키스트로크에 의해, 눌러진 키에 적합한 클릭 음향이 발생하게 함
config:autosearch 부울린 참인 경우, 사용자가 전화를 다이얼할 때, 일치하는 번호에 대해 전화번호부가 탐색됨
cinfig:followup 부울린 참인 경우, 전화번호부 내에 존재하지 않고 최근에 호출된 적이 없는 번호로의 발신 또는 그러한 번호로부터의 착신시, 사용자는 그 번호를 전화번호부에 넣을 것인지에 대한 질문을 받음
config:lasttime int16 최종 호출이 접속된 초(second)
config:totaltime int32 접속에 소요된 초의 총합
d) "엑스트라" 프로토콜
"엑스트라" 프로토콜은 주로 <INC>, <IF> 및 <TEMPLATE> 태그와 함께 이용되어, HTMLp 탬플릿이 본 발명의 사용자 인터페이스의 벌크로서 기능할 수 있게 한다. 이 프로토콜은 엑스트라 프로토콜 핸들러(112c)에 의해 핸들링된다.
일반적으로 엑스트라 파라미터는 다음 중 하나로부터 HTMLp 탬플릿에 전달된다.
1) MMI(102)의 C 코드.
2) 파일 URL에 대한argument스트링. 이것은 "file: //filename?variablename=extra_data"의 양식을 취한다. 엑스트라 데이터는 변수 이름과 함께 저장되며,filename을 페치하는 페이지에 대한 HTML을 완성하는 데에 이용된다.
3) 새로운 METHOD=NEXT 속성을 이용하여 양식 데이터를 다음 URL에 전달하는 이전 양식으로부터의 데이터.
또한, HTMLp 페이지 내에 있는 URL이 페치되고, 그것이 인수를 갖지 않는 경우, 페치된 URL을 포함하는 페이지에 전달되었던 임의의 파라미터가 페치중인 URL에 전달된다.
엑스트라 프로토콜 핸들러(112c)는 URL과 일치하는 인수를 탐색하고, 그 인수를 스트림으로 변환한다. 예를 들어, "<INC src=extra:body>"는 HTMLp 스트림 내에 "body" 인수를 포함시킬 것이다. 다른 예로서, 표준 포맷의 메시지를 표준 그래픽 성분으로 디스플레이하는 데에 이용되는 HTMLp 페이지를 가정하자. 디스플레이하기 위한 메시지는 HTML 페이지를 로드하는 URL에 대한 인수로서 주어진다.
예를 들어, 다음과 같은 URL을 가정하자.
"file://message.html?message=Please+enter+a+valid+phone+number"
이러한 URL이 주어지면, 엑스트라 프로토콜 핸들러(112)는 텍스트 "Please enter a valid phone number"를 변수 이름 "message"를 갖는 텍스트로서 저장할 것이다. 이 엑스트라 데이터는, 스트링 데이터를 출력할 "extra:message" URL의 이용에 의해 다른 페이지에 디스플레이될 것이다. 도 23은 이러한 이용을 도시하고있다.
일반적으로, 엑스트라 프로토콜 핸들러(112c)는 HTMLp 페이지 내에서 "extra" URL을 분석하는 HTMLp 컨텐트 핸들러(114c)의 결과로서 호출된다. 이와 같이 식별된 때, URL은 엑스트라 데이터의 디코딩 및 검색을 위해 엑스트라 프로토콜 핸들러(112c)에 전달되며, 엑스트라 데이터는 페이지를 렌더링하기 위해 HTMLp 컨텐트 핸들러(114c)에 리턴된다.
e) 내장형 프로토콜(builtin Protocol)
내장형 프로토콜은 IMG 태그의 SRC 속성 내에서의 이용을 위한 내장형 아이콘 및 이미지에 대한 액세스를 제공한다. 이러한 아이콘 및 이미지들은 메모리(126)의 ROM 내에 저장된다. "builtin" 텍스트는 URL의 프로토콜 성분을 형성하고, 원하는 아이콘의 이름은 URL의 데이터 성분을 구성한다. 도 24는 바람직한 아이콘 세트 및 그들을 지정하기 위한 전체 URL을 도시한다.
일반적으로, 내장형 프로토콜 핸들러(112a)는, HTMLp 페이지 내의 "builtin" URL을 분석하는 HTMLp 컨텐트 핸들러(114c)의 결과로서 호출된다. 이와 같이 식별된 때, URL은, 메모리(126)로부터의 아이콘 또는 이미지 데이터의 디코딩 및 검색을 위해 내장형 프로토콜 핸들러(112a)에 전달되며, 메모리(126)로부터의 아이콘 또는 이미지 데이터는 페이지를 렌더링하기 위해 HTMLp 컨텐트 핸들러(114c)에 리턴된다.
C. 이식 가능한 컴포넌트
다시 도 3을 참조하면, 이식 가능한 컴포넌트(116)는, 사용자 인터페이스 엔티티의 세트, 또는 무선 통신 장치(100)의 사용자 인터페이스 또는 저장 용량을 구현하는 데에 이용되는 다른 기능적 컴포넌트들이다. 컴포넌트는 이식성 레이어(118)에 의해 제공되는 API에 기입하고, 다른 무선 통신 장치(100)들에서의 이용을 위한 이식성은 유지한 채로 MMI(102)의 기본적인 구현 엘리먼트의 역할을 한다.
1. 그래픽
그래픽 시스템(224)은 스크린 디스플레이(136)를 윈도우로 칭해지는 섹션들로 분할한다. 윈도우들은 계층적으로 배열되며, 차일드 윈도우(child window)는 그 페어런트 윈도우(parent window) 내에 완전하게 포함된다. 그러나, 다른 윈도우 시스템과는 달리, 본 발명의 윈도우 시스템은 "덜(dull)"과 "스프라이트(sprite)" 두가지 타입을 구별한다. 종래의 시스템에서와 같이 자신의 비트맵을 가져서 더 복잡한 비트맵 핸들링을 요구하는 사용자 인터페이스 컴포넌트 및 윈도우를 모두 갖는 대신에, 그래픽 시스템(224)은 사용자 인터페이스 컴포넌트가 일반적으로는 중첩되지 않는다는 사실을 유리하게 이용한다. 대신에, 그래픽 시스템(224)은, 몇몇 윈도우(다이얼로그 박스, 또는 다른 윈도우와 중첩하여 그들을 가리게 되는 윈도우들)가 비트맵을 갖게 하고("스프라이트"가 됨), 다른 윈도우들("덜" 윈도우)은 비트맵을 갖는 최인접의 원형(ancestor)의 비트맵을 드로우하게 한다. 이러한 구별은 사용자 인터페이스 컴포넌트를 저장하는 데에 필요한 메모리의 양을 감소시키며, 스크린 디스플레이(136)의 업데이트 프로세스를 단순화한다.
사용자 인터페이스 엘리먼트가 윈도우를 드로우하는 때, 실질적으로 드로우잉은 스크린 디스플레이(136)에 직접적으로 발생하지 않고 메모리(126) 내의 비트맵에 발생한다. 일정 지점(실질적으로는, 콜백 큐(110)가 프로세스되는 탑 루프)에서, 이들 비트맵 전부 또는 일부에 대한 모든 변경은 스크린 디스플레이(136)에 전달된다. 이러한 동작은 스크린 디스플레이(136)의 정확하고 깨끗한 업데이트를 보장하며, 하부 비디오 드라이버를 단순화하여, 메모리(126)로부터의 비트맵을 스크린 디스플레이(136)에 전달하는 기능만 수행하게 한다.
그래픽 시스템(224)은 다음과 같은 기본적인 그래픽 프리미티브(primitive)를 제공한다.
· 라인 (굵은/가는, 임의의/특정 목적의 단일 픽셀 두께의 수직 및 수평 라인; 수평 라인, 수직 라인 및 직사각형은 점선 또는 실선으로 하기 위한 필 패턴(fill pattern)을 가질 수 있음)
· 직사각형(외곽선만 가지거나 채워짐)
· 비트맵 (픽셀 당 1 비트, 스텐실[세트 비트는 칼라로 그려지고, 클리어 비트는 아무것도 하지 않음]이나 이미지[세트 비트는 단색으로 그려지고, 클리어 비트는 다른 색으로 그려짐]) 중 하나로서 그려짐)
· 텍스트
스크린 디스플레이(136)의 좌표 시스템은, 좌표들이 스크린 디스플레이(136) 상의 픽셀이 되도록 한 것이다. 그 결과, 사각형이 (a, b)에서 (c, d)까지 그려지고, 다른 사각형이 (c, d)에서 (e, d)까지 그려지게 되면, 이들은 중첩되지 않는다.
텍스트는 TextState로 칭해지는 데이터 구조를 이용하여 그려지고 조작된다. 텍스트는 구성 가능한 다양한 속성들을 갖는다.
· 포인트 사이즈(스몰, 미디움, 라지로 미리 설정됨);
· 스타일(플레인, 볼드, 이탤릭, 언더라인, 폭 고정, 스트라이크-스루); 및
· 칼라
또한, TextState는 드로우잉 위치를 저장하며, 이것은 스트링이 드로우잉된 직후에 업데이트되어, 다중 스트링이 그들의 폭에 대한 계산없이도 순차적으로 드로우잉될 수 있게 한다.
2. 사용자 인터페이스 도구
무선 통신 장치(100)의 사용자 인터페이스의 대부분은 소프트키(130) 및 소프트키 메뉴의 형식으로 제공될 수 있다. 컨텐트 영역(214)은 일반적으로 텍스트, 아이콘, HTML 양식 등을 디스플레이할 것이다. 이러한 특성들을 지원하기 위해, 다음과 같은 다수의 사용자 인터페이스 도구(226)가 제공된다.
·Checkbox: 체크박스 및 라디오 버튼을 구현하는 데에 이용된다 (라디오 버튼은 외부 콜백에 의존하여, 사용자가 라디오 버튼을 선택한 때에 다른 라디오 버튼을 선택 해제해야하는지를 알게 됨). HTML 내의 <INPUT TYPE=checkbox> 및 <INPUT TYPE=radio>에 응답하여 실증된다.
· Icon: 내장형 아이콘을 디스플레이한다.
· LabelLine: 표준 폰트의 표준 위치에 선택적인 텍스트 라벨을 포함하는 수평 라인. HTML 내의 <HR> 태그에 의해 실증된다.
· List: 사용자 인터페이스 내의 다양한 항목 리스트 전체에 대한 기초. 특정한 리스트 서브클래스는 개별적인 항목들을 드로우하고(List에 의해 배치됨), 키스트로크 또는 다른 수단에 의해 List의 선택이 조정되어야하는 때를 결정한다.
· Popup: 사용자가 하나 이상의 항목을 선택할 수 있는 스트링의 팝업 리스트를 구현한다. 각각의 항목은 그에 결합된 스트링 값을 갖는다. SIZE 파라미터가 1일 때 HTML 내의 <SELECT> 태그에 의해 실증된다.
· ScrollBanner: 우측에서 좌측으로, 또는 좌측에서 우측으로 지정된 스피드로 스크롤할 수 있는 싱글 라인 텍스트 배너를 구현한다. HTML 내의 <MARQUEE>에 의해 실증된다.
· StringList: Popup의 리스트 부분을 구현한다. 그러나, 스크롤 리스트로서 단독으로 기능할 수 있다. SIZE 파라미터가 1일 때 HTML 내의 <SELECT> 태그에 의해 실증된다.
· TextEdit: 싱글-라인 또는 멀티-라인 텍스트 편집 영역. HTML 내의 <INPUT TYPE=text> 및 <INPUT TYPE=password>에 의해 실증된다.
이들 엔티티들은 다양한 모듈들이 다양한 그래픽 엘리먼트를 디스플레이하기 위해 필요로 할 때마다 생성된다.
이러한 다양한 타입의 사용자 인터페이스 엘리먼트는, 페이지가 분석되고 대응 HTML 태그에 응답할 때에 HTMLp 컨텐트 핸들러(114c)에 의해 생성된다. 예를 들어, 페이지 내의 INPUTTYPE=TEXT 태그는 스크린 디스플레이(136) 상의 적합한 위치에 TextEdit 오브젝트를 배치할 것이다. 사용자가 업/다운 키를 이용하여 오브젝트를 선택하면, 이러한 키스트로크가 쉘(106)에 의해 TextEdit 오브젝트에 전달될 때, 사용자에 의해 입력된 키스트로크를 수신하기 위한 입력 포커스가 주어진다.
텍스트를 입력하고 디스플레이하기 위한 다른 커플 모듈이 사용자 인터페이스 도구와 연관된다. TextEntry 모듈(228)은 키스트로크를 수용하고, 그들을 텍스트 입력을 위한 커맨드에 맵핑시킨다. 커맨드는, 임시적인 (후속 키스트로크에 의해 수정될 수 있는) 캐릭터 및 워드의 디스플레이, 및 최근의 임시적인 캐릭터 또는 워드를 최종의 것으로 하기 위한 임시적인 캐릭터 및 워드의 대체, 및 커서의 이동 또는 심볼 캐릭터의 삽입을 포함한다.
텍스트 입력을 요구하는 임의의 엔티티는, TextEntry 모듈(228)에 등록되며, 키스트로크를 자신이 분석하지 않고, 거의 모든 키스트로크를 TextEntry 모듈(228)에 전달한다. 다양한 픽토그래픽 언어(pictographic language)에 대한 프론트엔드 프로세스도 물론 이 모듈 내에서 핸들링된다.
다른 모듈은 TextWrap 모듈(230)로서, 이것은 임의의 영역을 핸들링하고, 그 영역들 내의 텍스트 및 오브젝트를 랩(wrap)한다. 이 모듈은 주로 HTML 컨텐트의 디스플레이에 이용되지만, 다중 라인을 랩하도록 허용되는 리스트 엔트리에 대해서도 이용될 수 있다.
3. 데이터 저장
또 다른 구현 엘리먼트는 데이터 저장(232)이다. 데이터 저장 장치(232)는 다음과 같은 특성을 갖는 간단한 "플랫-파일(flat-file) 데이터베이스이다.
· 레코드 당 255까지의 필드. 필드는 이름 및 번호 양자 모두를 갖지만, 실제로 데이터를 액세스하는 데에는 번호만이 이용된다.
· 모든 레코드는 논리적으로 모든 필드를 갖는 것으로 정의된다. 저장을 최적화하기 위해, 특정 레코드를 위한 특정 필드에 대해 데이터가 주어지지 않은 경우, 그 레코드를 위한 필드는 공간을 차지하지 않는다.
· 각각의 레코드는, 그 레코드에 대한 엑세스를 얻는 데에 이용되는 독립적인 식별자(현재는 16 비트)를 갖는다.
· 데이터베이스 레코드는 직접적으로 조작되지 않는다. 대신, 레코드의 필드를 획득 및 설정하기 위한 기능들이 이용된다.
· 데이터베이스는 자신에 대해 유지되는 인덱스를 8개까지 가질 수 있다. 각각의 인덱스는 선택 루틴 및 비교 루틴을 갖는다. 선택 루틴은 어떤 레코드가 그 인덱스의 부분인지를 결정하고, 비교 루틴은 인덱스 내의 레코드를 분류하는 데에 이용된다. 인덱스가 정의되면, 그 인데스는 선택 및 비교 루틴에 의해 이용될 데이터베이스 필드를 지정한다. 레코드가 변경된 경우, 단지 이러한 필드 중 하나가 변경되기만 하면, 레코드는 인덱스에 재배치되거나, 인덱스에 추가되거나, 인덱스로부터 삭제된다.
· 레코드에 액세스하기 위해, 두 기능 중 하나가 호출되어 DataStoreRecord 토큰을 호출한다. 엔티티가 레코드의 조사 또는 조작을 수행한 때, DataRecordDone을 호출함.
4. 파일 시스템
무선 통신 장치(100)는 다음과 같은 두 가지의 파일 시스템과 통신하기 위한 파일 인터페이스를 갖는다.
· 코드로 컴파일된 데이터 구조인 판독 전용 파일 시스템; 및
· 무선 통신 장치(100)의 플래시 메모리 칩들 간에 스프레드된 플래시 파일 시스템.
파일 액세스는 다음과 같은 익숙한 기능 세트를 통해 수행된다.
· FileOpen
· FileCreate
· FileRead
· FileWrite
· FileSeek
· FileTruncate
· FileClose
· FileDelete
각각의 파일 시스템은 모든 기본적인 동작을 호출하기 위한 루틴을 포함하는 구조에 의해 정의된다. 오픈 파일에 대한 참조는 파일 시스템 지정 데이터 및 파일이 위치하는 파일 시스템을 위한 루틴 테이블에 대한 포인터를 포함한다. 파일이 오픈되면, 상위 레이어는 작용할 파일의 이름을 조사하고 적합한 루틴 테이블을 선택하며, 그 테이블 내의 Open 루틴을 이용하여 파일을 오픈한다. 그 다음, 파일 참조를 통해 파일에 대한 액세스가 실행된다.
D. 이식성 레이어
다시 도 3을 참조하면, 이식성 레이어(118)의 다양한 모듈이 도시되어 있다. 이식성 레이어(118)는, 임의의 전화 제어 모듈(120) 및 실시간 운영 체제(122)를 이용하여, 비교적 간단하게 MMI(102)를 구현하도록 설계된다. 이것은 다음과 같은 모듈들을 제공한다.
1. 호출 제어
호출 제어 모듈(140)은, 상위 레이어가 호출을 생성 및 조작하고, DTMF 톤을 발생시키며, 상태 변화의 통지를 수신할 수 있게 한다.
동작들은 호출과 동시에 수행되지만, 각 동작의 성공 또는 실패는 동작이 요청된 후 일정 시간이 경과한 다음에 보고된다는 점에서, 인터페이스는 비동기적이다.
다음의 표 5는 호출 제어 기능들을 나타내고 있다.
기능 목적
CallCreate 다이얼하기 위한 번호가 주어지면, 전화 호출을 시도함. 호출은 음성, 데이터 또는 팩스 중 어느 것이라도 가능함
CallCreateHidden CallCreate와 유사하지만, 호출이 사용자에게 시각적으로 나타나지 않음
CallRelease 전화를 끊으려고 시도함. 그 호출이 호출 그룹(컨퍼런스)의 일부인 경우, 전체 그룹의 전화가 끊김
CallHold 호출(또는 호출 그룹)을 온홀드 상태로 하려고 시도함.
CallResume 호출(또는 호출 그룹)을 오프 홀드 상태로 하려고 시도함. 다른 호출 또는 호출 그룹이 액티브 상태인 경우, 우선적으로 온홀드로 됨
CallCombine 온홀드 호출과 현재 액티브 상태인 호출 또는 호출 그룹을 연결하여, 새로운 또는 보다 큰 호출 그룹을 형성하려고 시도함
CallSeparate 호출 그룹으로부터 호출을 추출하여, 그 호출을 개별적인 호출로 함
CallGetInfo 그 호출 상에서 수행될 수 있는 액션의 종류, 호출의 현재 상태, 호출이 접속된 번호, 호출이 접속된 시간, 호출이 온홀드 상태로 된 시간, 호출이 사용자로부터 숨겨져야 하는지의 여부 등과 같은, 액티브 호출에 대한 다양한 정보를 검색함
CallPickUp 인입 호출에 대한 응답을 시도함
CallStartSequence 서로 의존하는 일련의 호출 조작 단계들의 시작을 마크함. 단계들 중 하나가 실패하면, 시퀀스 내의 나머지 단계들은 시도되지 않음
CallEndSequence 일련의 호출 조작 단계들의 종료를 마크함.
CallStartDTMF 특정 키에 대응하는 DTMF 톤의 생성을 개시함.
CallEndDTMF 이전에 개시되었던 DTMF 톤의 생성을 중단함.
CallEnumerate 시스템 내에서 각각의 액티브 호출에 대한 기능을 호출함.
CallDataAvailable 데이터 호출에 대하여, 판독될 수 있는 바이트들을 리턴시킴.
CallDataRead 데이터 호출에 대하여, 이용 가능한 데이터를 판독함.
CallDataWrite 데이터 호출에 대하여, 데이터를 네트워크에 기입함.
CallsetNotify 각각의 호출 동작의 종료시와 인입 호출의 도달 등의 다양한 비동기 이벤트의 발생시에 호출될 수 있는 루틴을 지정함.
2. 메시지 제어
메시지 제어 모듈(142)은, 상위 레이어가 단문 메시지를 송수신할 수 있게 한다. 이 레이어는 장문 메시지의 분할 및 재조합을 지원할 수도 있고 지원하지 않을 수도 있다.
다음의 표 6은 메시지 제어 기능들을 나타낸다.
기능 목적
SMSCreate 텍스트 메시지의 다양한 파라미터들(데스티네이션 넘버, 바디 데이터, 바디 포맷, 옵션)이 주어지면, 송신될 메시지에 대한 SMS 토큰을 리턴시킴
SMSCreateFromURL URL 엔코딩된 인수의 스트링을 취하고, 그들을 이용하여 메시지에 대한 SMS 토큰을 생성함
SMSSend SMS 토큰을 취하고, 연관된 메시지를 송신함. 메시지 송신 시도가 성공 또는 실패한 때에, 통지 기능이 호출됨
SMSDestroy SMS 토큰에 의해 이용된 메모리를 비움
3. 플랫폼
플랫폼 모듈(144)은 플랫폼 지정 기능을 위해 제공된다.
다음의 표 7은 플랫폼 기능들을 나타낸다.
기능 목적
PlatMutexInitialize PlatMutexGrab에 전달될 때 배타적인 액세스를 보장할 수 있는 변수를 초기화함. MMI(102)가 싱글-스레드인 경우, 상이한 스레드 상에서 실행될 수 있는 이식성 레이어(118)들이 다수 존재함. 상이한 스레드(인터럽트 핸들링 코드도 개별적인 스레드로 봄)로부터 호출될 수 있는 상위 레이어들의 부분들은 이 메커니즘을 이용하여 데이터 구조에 대한 배타적인 액세스를 보장함
PlatMutexGrab PlatMutexInitialize에 의해 초기화되는 상호 배타적인 변수에 의해 관리되는 것에 대한 배타적인 액세스를 얻음
PlatMutexRelease PlatMutexInitialize에 의해 초기화되는 상호 배타적인 변수에 의해 관리되는 것에 대 한 배타적인 액세스를 해제함
PlatMutexDestroy PlatMutexInitialize에 의해 할당된 임의의 자원을 비움
PlatWaitForSomething PlatHaveSomething이 호출될 때까지 일시 정지됨. 이것은 이식성 레이어(118)에 대한 후크를 제공하여, 프로세서의 제어를 셧다운함으로써, 상위 레이어가 프로세서 시간을 불필요하게 낭비하지 않게 함
PlatHaveSomething 상위 레이어가 PlatWaitForSomething으로 대기하고 있는 경우, 그 상위 레이어를 해제함
PlatRingPlay 시스템 스피커를 통해 링튠 또는 다른 음향을 연주함. 음향은 인덱스, 볼륨및 진동도 발생하는지의 여부에 의해 정의됨. 127개(예를 들어, 키 클릭, 에러 음향)의 음향이 시스템 음향으로서 정의되고, 127개의 음향이 전화 벨의 튠으로 정의됨. 즉각적으로 리턴되어, 음향이 백그라운드에서 연주될 수 있게 함.
PlatRingStop PlatRingPlay와 함께 개시된 액티브 상태의 음향을 인터럽트함
PlatRingGetNumberOfRings 지원/정의되는 전화 링튠의 수를 리턴시킴
PlatRingGetName 전화 링튠 중 하나의 이름을 리턴시켜 사용자에게 디스플레이함으로써, 사용자가 디폴트링 또는 특정 개인에 대한 링을 선택할 수 있게 함
PlatGetPowerStatus 전지 및 AC 어댑터의 현재 상태를 검색함
4. 타이머
타이머 모듈(146)은, 상위 레이어가 지정된 시간 경과 후 기능 호출을 수신할 수 있게 하는 기본적인 타이밍 서비스를 제공한다.
다음의 표 8은 타이머 기능들을 나타낸다.
기능 목적
TimerAlloc 반복적으로 이용될 수 있는 타이머를 할당함. 타이머가 경과한 때에 호출되는 루틴을 설정함. 루틴은 콜백큐를 통해 동기적으로 호출되며, 다른 동작을 인터럽트하지 않음
TimerStart 타이머의 후속 타임아웃 간격을 밀리초 단위로 지정함. 그 시간양에 근접한 시간이 경과한 후, TimerAlloc 내에 지정된 루틴이 호출됨
TimerStop 타이머의 점화를 중지함. 타이머가 이미 점화되고 타이머 루틴에 대한 호출이 콜백 큐에 있는 경우, 호출이 큐로부터 제거되어, 타이머 중지 후 호출 획득을 관리할 필요가 없게 함
TimerFree 할당된 타이머를 해제함. 실행 중인 타이머도 중지됨.
TimerGetSeconds 초의 32비트 카운터를 리턴시킴. 카운터는 각 초마다 하나씩 계속적으로 증가하는 한, 다른 것에 대해 상대적일 필요가 없음
5. 디스플레이
디스플레이 모듈(148)은 스크린 디스플레이(136)를 관리한다.
다음의 표 9는 디스플레이 기능들을 나타낸다.
기능 목적
DisplayDriveBlitln 비트맵의 한 부분을 디스플레이 상의 한 지점에 카피함
DisplaySetBacklight 디스플레이의 백라이트를 턴온/오프함
DisplayDriverSetContrast 디스플레이의 콘트라스트를 지정된 값으로 설정함
DisplayDriverGetContrast 디스플레이의 현재 콘트라스트를 검색함
6. 플래시 드라이버
플래시 드라이버 모듈(150)은, 상위 레이어 파일 시스템 모듈(234)이 무선 통신 장치(100) 상의 플래시 메모리 칩을 판독 및 기입할 수 있게 한다.
다음의 표 10은 플래시 드라이브 기능들을 나타낸다.
기능 목적
FlashDriverInitialize 플래시 메모리에 대한 액세스를 초기화함
FlashDriverGetInfo 플래시 드라이버 및 그것이 구동하고 있는 장치에 대한 정보를 리턴시킴.·장치 내의 소거부의 수·각 소거부의 크기·장치가, 임의의 바이트 경계가 아닌 페이지 내에서 판독 및 기입하는 경우, 드라이버는 페이지 크기를 지정할 수 있음·장치 또는 드라이버가 기입된 페이지에 대한 에러 정정을 지원하는 경우, 드라이버는 이것을 플래시 파일 시스템에 나타낼 수 있음
FlashDriverErase 장치의 소거부를 소거함. 이것은 동기적 또는 비동기적으로 발생할 수 있지만, 소거 완료시에 콜백 기능이 호출되는 경우에서는, 소거가 성공적이었는지를 나타냄.
FlashDriverWrite 장치 내의 소거부에 다수의 바이트 블럭을 기입함. 장치가 페이지 내에서 판독 및 기입하는 경우, 장치가 페이지를 구성하는 하나 이상의 블록에 대해 무해한 바이트를 제공할 수 있더라도, 블록의 크기는 항상 페이지의 크기와 동일함.
FlashDriverRead 장치 내의 소거부로부터 다수의 바이트를 판독함.
7. 컨피그 프로토콜 핸들러
이 프로토콜 핸들러(112b)는, C 코드 및 HTML이 무선 통신 장치(100)의 구성 세팅을 획득 및 설정할 수 있게 한다. 이 세팅들은 상위 레이어에 의해 구현된 것이며, 모듈은 필요에 따라 하위 레벨 코드에 대한 다른 세팅들과 통신한다. 컨피그 프로토콜 핸들러(112b)는 구성 세팅에 액세스할 필요가 있기 때문에 이식성 레이어(118) 내에 배치되는 것이 바람직하다.
컨피그 URL은 획득 및 설정 양자 모두를 위한 장치 세팅 내의 어드레스 비트일 수 있다. 컨피그 URL은 다음과 같은 신택스를 갖는다.
config:setting.bitnumber:bitsize
:bitsize가 존재하지 않는 경우에는 1로 간주한다.bitnumber는 0 내지 15이며 15가 최상위 비트이다.
전화의 PIN 번호와 같은 일부 구성 세팅은 충분한 특권(전형적으로 장치의 ROM 내에 있는 HTML 파일)을 갖는 URL에 의해서만 획득될 수 있지만, 대부분의 세팅은 그들을 필요로 하는 임의의 모듈 또는 페이지에 의해 페치될 수 있다. 충분한 특권(전형적으로 장치의 ROM 내에 있는 HTML 파일)이 없으면 장치 세팅은 설정될 수 없다.
다음의 표 11은 콘피그 프로토콜 핸들러(112b)의 각 기능들을 호출하기 위한 바람직한 구성 URL의 세트이다.
기능 목적
ConfigGetIntValue 전체적인 구성 세팅을 검색
ConfigSetIntValue 전체적인 구성 세팅을 설정
ConfigGetStringValue 스트링 구성 세팅을 검색
ConfigSetStringValue 스트링 구성 세팅을 설정
ConfigParseSetting 세팅의 데이터 타입을 산출하는 구성 세팅 및 값의 비트가 페치할 전체 세팅에 대한 스트링 참조를 분석
ConfigCheckPassword 패스워드에 대해 URL로부터의 인수를 조사하고, 그것을 구성 세팅 내에 저장되어 있는 패스워드와 대조
ConfigConfirmPassword 사용자로부터의 패스워드 획득 및 패스워드(ConfigCheckPassword에 의해 조사됨)가 첨부된 URL의 제출을 관리
요약하면, 본 발명은, 무선 통신 장치의 유연성 및 기능성을 실질적으로 강화하는 시스템, 다양한 방법 및 소프트웨어 제품을 제공한다. 프로토콜 핸들러 및 컨텐트 핸들러의 이용을 포함하는 본 발명은, 무선 통신 장치의 모든 특성과 기능들이 마크업 언어에 기초하는 사용자 인터페이스에 의해 액세스되고 조작될 수 있게 하는 시스템 및 소프트웨어 아키텍쳐를 제공한다. HTMLp 및 HTMLp 컨텐트 핸들러의 확장된 기능은, 웹 및 다른 컨텐트가 무선 통신 장치의 소형 스크린 디스플레이 상에 쉽게 디스플레이될 수 있게 하며, HTML의 메뉴 네비게이션 기능 및 양식 핸들링 기능을 강화한다. 본 발명은, 마크업 언어에 기초하는 사용자 인터페이스를 통해 무선 통신 장치의 전화 기능 또는 다른 기능들에 액세스할 수 있게 함으로써, 전문적인 소프트웨어 개발 환경이나 종래의 MMI의 문제점들에 대한 소프트웨어 관리없이도, 서비스 운영자가 상이한 무선 통신 장치들에 대한 새로운 사용자 인터페이스 및 소비자 특성 세트를 신속하고 용이하게 생성할 수 있게 한다. 또한, 본 발명은, 서비스 운영자마다 다른 MMI 소프트웨어를 작성하지 않고서도, 서비스 운영자 및 제조사가 무선 통신 장치를 원하는 대로 신속하고 효과적으로 브랜드할 수 있게 한다.
부록 A
쉘 기능
쉘(106)은, 프로세스키를 이용하고 URL 히스토리 스택(108)을 관리하며 다른 데이터를 핸들링하기 위한 본 발명의 각 부분들에 대해 여러가지 기능을 제공한다. 이러한 기능들이 다음에 간단하게 개시된다.
키 프로세스 기능
기능 목적
ShellProcessKey 이식성 레이어로부터의 키스트로크를 수용하고, 그것을 키패드 타겟 리스트의 제1 엔티티에 전달함.
ShellGrabInput 엔트리를 수신 키스트로크의 관심 대상으로서 등록함. 키패드 타겟 리스트는 LIFO 순서로 프로세스됨. 엔티티는 2개의 루틴과 그 루틴이 임의의 목적으로 이용할 수 있는 보이드*의 테이블로서 정의됨. 2개의 루틴은, 실질적으로 키스크로크를 수신하는 ProcessKey와, 엔티티가 키패드 타겟 리스트의 헤드에 있는 때와 그렇지 않은 때를 통보하는 GrabChange임.
ShellReleaseInput 엔티티를 키패드 타겟 리스트로부터 등록 해제함.
ShellPreviousInput 이 기능을 호출하기 전에 등록되어 있던 엔티티에 키스트로크를 전달함. 컨텐트 핸들러의 ContentProcessKey 기능으로부터 호출되면, 쉘은 시스템-와이드 디폴트에 따라 키스트로크를 처리함.
URL 스택 관리
기능 목적
ShellGetURLWithDataAndFlag URL과 연관된 데이터를 페치하고, 컨텐트 영역의 제어를, 프로토콜 핸들러에 의해 리턴된 컨텐트의 타입에 대한 핸들러에 넘겨줌.URL을 URL 스택의 최상위에 배치함. 프로토콜 핸들러에 의해 리턴된 ContentStream에 더하여, 컨텐트 핸들러는 이 루틴에 전달된 ShellExtraData를 수신함. 호출자는 URL의 우선 순위(데이터를 디스플레이하는 것이 얼마나 중요한지, URL 스택이 더 높은 우선 순위의 URL을 포함하는지, 및 전달된 URL을 페치할 특권 레벨을 포함하는지, 사용자가 스택으로부터 더 높은 우선 순위의 URL을 제거할 때까지, 전달된 URL과 연관된 데이터의 페치 및 디스플레이가 지연되는지) 플래그 세트도 전달함.
ShellGetURL URL과 연관된 데이터를 페치하고 디스플레이하여, 엑스트라 데이터를 전달하지 않고, URL 스택의 최상위에 있는 URL의 우선 순위 및 특권을 이용함.
ShellGetURLFlags URL 스택의 최상위에 있는 URL로부터 플래그(우선 순위 및 특권)를 획득함.
ShellDisplayContent 본 발명의 다이얼로그 박스와 실질적으로 등가임. 프로토콜 및 URL을 갖지 않고서도 컨텐트 핸들러를 직접적으로 호출할 수 있음. 컨텐트 핸들러는 자신을 불러온 URL과 동일한 플래그 및 특권을 수신함.
ShellGetURLStream 컨텐트 핸들러 내에 디스플레이된 것을 변경하지 않고서 URL과 연관된 데이터를 페치함.
ShellRerun URL 스택 상의 최상위 URL에 대한 데이터를 다시 페치하고, 그것이 다시 디스플레이되게 함.
ShellGoBack URL 스택으로부터 하나 이상의 URL을 팝함. 호출기는 최상위 URL, 현재 인터랙션 내에 포함된 모든 URL(Error!Reference Source not found 섹션 참조), 또는 최초의 것 이외의 모든 URL을 단순히 제거할 것인지의 여부를 나타내는 파라미터를 전달함.
ShellGoBackString ShellGoBack과 유사하지만, 동적으로 할당된 스트링을 수용함.
ShellPopURL URL 스택 이외의 지정 URL을 팝함.
ShellMarkTop 현재의 URL을 컴플렉스 인터랙션의 시작점으로 마크함. 적합한 인수를 ShellGoBack에 전달함으로써, 이것의 모든 성분을 스택으로부터 한 번에 팝할 수 있음.
ShellMarkTemp 최상위 URL의 "임시" 인수를 턴온 또는 턴오프시킴. URL이 임시적인 것으로 마크되는 경우, 다른 URL을 페치하기 위한 시도는, 새로운 URL이 디스플레이되기 전에 임시 URL이 스택으로부터 팝되게 함.
ShellPutURL 전달된 URL에 대한 데이터를 저장함. URL 스택에는 영향을 미치지 않음
ShellSetState URL 스택 상의 최상위 URL과 연관될 상태 블록을 기록함. URL에 대한 컨텐트 핸들러는 블록의 컨텐트를 비우고 변경하는 기능을 담당하며, 쉘은 어드레스를 추적함. 사용자가 이 URL로 다시 팝한 때에 시각적으로 동일한 장소로 되돌아갈 수 있게 하기 위한 것임. 쉘은 프로토콜 핸들러에 의해 리턴된 URL 데이터를 캐시하지 않음.
ShellGetState ShellSetState를 호출함으로써 설정된 최상위 URL의 블록의 상태를 검색함.
ShellGetExtraData 최상위 URL에 전달되었던 엑스트라 데이터에 대한 포인터를 리턴시킴.
URL 생성 및 분해
기능 목적
ShellParseURLArgs URL 내에 엔코딩되어 있던 인수를 분석하기 시작함. 인수는 "name=value"의 양식이며, 다수의 인수는 '&" 캐릭터로 분리됨. 통상적으로, 인수는 URL 내의 최초의 '?'에 후속함.
ShellGetNextURLArg ShellParseURLArg에 의해 리턴된 토큰을 이용하여, 인수 리스트로부터 다음 인수를 페치함.
ShellDoneWithURLArgs URL로부터의 인수 분석을 종료함.
ShellFindURLArgs 지정 인수에 대한 URL 인수 스트링을 탐색하여 그 값을 리턴시키는 쇼트핸드 기능. 일부 인수는 강제적인 것으로 마크되어, 강제 인수 전부가 나타나지 않는 경우에는 값을 리턴시키지 않게 할 수도 있음.
ShellBeginURLArgs URL 인수 리스트의 구성을 시작함. 이름/값 쌍의 초기 세트는 이 호출 내에서 주어질 수 있음.
ShellAppendURLArg 구성 중인 인수 리스트에 다른 이름/값 쌍을 추가함.
ShellFinishURLArgs 모든 이름/값 쌍이 적합하게 포맷되고 엔코딩된, 완성된 인수 스트링을 리턴시킴.
ShellPrependURLToArgs 이 인수에 대한 URL을 지정함. ShellFinishURLArgs는 인수가 첨부된 URL을 리턴시킴.
ShellEncodeURLArg URL 인수 리스트에 포함시키기 위해 스트링을 엔코딩함. 이것은 ShellAppendURLArg 및 ShellBeginURLARG에 의해 이용되지만, 범용으로도 사용가능함.
컨텐트 스트림 관리
기능 목적
ShellCreateContentStream 전달된 타입의 스트림에 대한 ContentStream을 할당함.
ShellCloseContentStream 컨텐트 스트림을 닫고, ContentStream 구조를 비움.
소프트키 관리
기능 목적
ShellDefineKeyGo 소프트키가 특정 라벨에 제공되고, 키가 눌러지면, 현재 컨텐트 핸들러의 ContentActivate 기능이 전달된 스트링에 제공될 것을 요청함.
ShellDefineKeyBack 소프트키가 특정 라벨에 제공되고, 키가 눌러지면, 전달된 인수와 함께 ShellGoBack이 호출될 것을 요청함.
ShellDefineKeyMenu 소프트키가 특정 라벨에 제공되고, 키가 눌러지면, 전달된 엔트리와 함께 메뉴를 불러올 것을 요청함. 엔트리 중 하나가 선택되면, 선택된 엔트리에 대해 지정된 스트링과 함께 현재 컨텐트 핸들러의 ContentActivate 기능이 호출됨.
ShellDefineKeyNothing 이전의 결합을 갖는 소프트키가 삭제될 것을 요청함.
그 외의 스크린 엘리먼트
기능 목적
ShellDisplayStatus 상태 메시지 영역을 볼 수 있는 경우, 쉘은 전달된 메시지를 그 영역에 디스플레이함.
ShellDisplayTitle 타이틀 영역을 볼 수 있는 경우, 쉘은 전달된 타이틀을 그 영역에 디스플레이함.
ShellSetScrollable 컨텐트가 업/다운 방향으로 스크롤될 수 있는지를 사용자가 알게 함.
ShellSetNewMail 스크린으로부터 신규 메일 아이콘을 표시 또는 삭제함.
ShellEnlargeContent 컨텐트 영역이 확대되어 스크린의 지정된 부분을 점유하도록 요청함. 점유는 다음 URL이 디스플레이될 때까지, 또는 URL이 그 요청이 다시 디스플레이되도록 할 때에 자동적으로 재구성되지 않을 때까지 계속됨.
텍스트 엔트리 모드
기능 목적
ShellSetTextEntryMode 글로벌 텍스트 엔트리 모드를 변경하고, 디스플레이 상의 모드 인디케이터를 업데이트함. 쉘 자신은 모드에 기초하여 독립적으로 동작하지 않지만, 본 발명의 다른 부분이 컨설트하는 현재 모드 세팅을 관리함.
ShellSetTextShiftState 본 발명의 다른 부분에 의해 사용되는 쉬프트 상태를 설정함. 쉬프트 상태는 쉘이 디스플레이하고 있는 모드 인디케이터를 수정할 수 있음.
ShellGetTextEntryMode 현재 텍스트 엔트리 모드를 페치함.
ShellGetTextShiftState 현재 쉬프트 상태를 페치함.
ShellSetModeSequence "모드" 키에 대한 디폴트 프로세스의 구현시에 쉘이 순회해야 하는 모드의 시퀀스를 지정함. 1 내지 3개의 모드 중 어느 것이라도 지정될 수 있음.
ShellEnforceModeSequence 전달된 파라미터에 따라, 글로벌 모드가 현재 시퀀스 내의 모드 중 하나, 또는 현재 시퀀스의 제1 모드로 설정되었음을 확인함.
아이들 타임의 프로세스
기능 목적
ShellAddIdleHook 사용자 입력 없이 지정된 초가 경과한 후, 기능이 호출될 것을 요청함.
ShellRemoveIdleHook ShellIdleHook와 함께 이전에 등록되었던 기능을 제거함.
ShellDisableIdle 모든 아이들 타임 프로세스를 디스에이블함. 이것은 여러회 호출될 수도 있지만, 각각의 호출은 ShellEnableIdle의 대응 호출과 일치해야함.
ShellEnableIdle ShellDisableIdle에 대한 호출이 없는 경우, 아이들 타임 프로세스를 다시 인에이블함.
그 외의 기능
기능 목적
ShellPowerOff URL 스택 이외의 모든 URL을 팝하고, 이식성 레이어가 장치의 전원을 끄게 함.
ShellStandardDialog 스탠다드 포맷의 전체 스크린 다이얼로그를 불러옴. 호출기는 메시지, 원하는 다이얼로그의 스타일, 소프트키의 동작, 최종 사용자 입력 후 디폴트 액션이 취해질 때까지의 시간을 지정할 수 있음.

Claims (42)

  1. 무선 통신 장치에 있어서,
    스크린 디스플레이;
    메모리;
    상기 스크린 디스플레이 및 상기 메모리에 결합된 프로세서;
    상기 메모리 내에 저장되고, 마크업 언어(markup language)로 엔코딩된 복수의 사용자 인터페이스 페이지 -상기 복수의 사용자 인터페이스 페이지 중 선택된 사용자 인터페이스 페이지들은 상기 무선 통신 장치의 원격 통신 기능에 대한 액세스를 제공함-; 및
    상기 프로세서에 의해 실행되며, 상기 메모리 및 상기 스크린 디스플레이에 통신적으로(communicatively) 결합된 마크업 언어 브라우저 -상기 마크업 언어 브라우저는, 상기 저장된 사용자 인터페이스 페이지를 상기 메모리로부터 액세스하거나, 상기 마크업 언어로 엔코딩된 원거리 저장 페이지를 원격 통신 네트워크를 통해 액세스하고, 액세스된 페이지를 디코딩하여, 상기 스크린 디스플레이 상에 사용자 인터페이스 엘리먼트로 디스플레이하며, 디스플레이된 사용자 인터페이스 엘리먼트에 대한 사용자 입력에 응답하여, 원격 통신 기능을 실행함-
    를 포함하는 무선 통신 장치.
  2. 무선 통신 장치에 있어서,
    프로토콜 성분 및 데이터 성분을 갖는 URL을 수신하는 쉘 -상기 데이터 성분은 실행될 커맨드 또는 페치될 컨텐트를 지정하고, 상기 쉘은 상기 프로토콜 성분에 따라 상기 데이터 성분을 프로토콜 핸들러에 제공하고, 상기 페치될 컨텐트를 프로세스를 위한 컨텐트 핸들러에 제공함-;
    각각 상기 쉘에 결합되어, URL을 수신하고, 상기 데이터 성분에 의해 지정된 컨텐트를 페치하여 상기 페치된 컨텐트를 상기 쉘에 제공하거나, 상기 데이터 성분에 의해 지정된 상기 커맨드를 실행하는 복수의 프로토콜 핸들러; 및
    각각 상기 쉘에 결합되어, 상기 페치된 컨텐트를 수신하고 프로세스하여, 상기 컨텐트를 스크린 디스플레이에 출력하는 복수의 컨텐트 핸들러
    를 포함하는 무선 통신 장치.
  3. 제2항에 있어서,
    상기 복수의 프로토콜 핸들러는,
    상기 쉘로부터 URL을 수신하고 상기 URL을 디코딩하여, 무선 통신 장치의 전화 통신 기능을 활성화시키는 전화 프로토콜 핸들러;
    상기 쉘로부터 URL을 수신하고 상기 URL을 디코딩하여, 상기 무선 통신 장치의 메모리 내에 저장되어 있는 데이터에 액세스하는 파일 프로토콜 핸들러; 및
    상기 쉘로부터 URL을 수신하고, 상기 무선 통신 장치로부터 원거리로 저장되어 있는 URL의 상기 데이터 성분에 의해 어드레스되는 컨텐트를 페치하는 원격 파일 프로토콜 핸들러
    를 포함하고,
    상기 복수의 컨텐트 핸들러는, URL에 대응하는 마크업 언어 컨텐트를 수신하고 상기 컨텐트를 상기 스크린 디스플레이 상에 디스플레이하는 마크업 언어 컨텐트 핸들러를 포함하는 무선 통신 장치.
  4. 제3항에 있어서, 상기 복수의 프로토콜 핸들러는,
    상기 쉘로부터 URL을 수신하고, 상기 데이터 성분에 의해 지정되는 커맨드를 실행하여, 영숫자 메시지(alphanumeric message) 디스플레이 또는 상기 무선 통신 장치의 전송 기능을 활성화하는 메시지 프로토콜 핸들러; 및
    상기 쉘로부터 URL을 수신하고, 상기 URL의 상기 데이터 성분에 따라 상기 무선 통신 장치의 구성 세팅(configuration setting)을 설정하는 구성 프로토콜 핸들러
    를 포함하는 무선 통신 장치.
  5. 제2항에 있어서,
    상기 스크린 디스플레이;
    상기 스크린 디스플레이에 결합되고, 상기 쉘, 상기 프로토콜 핸들러 및 상기 컨텐트 핸들러를 저장하는 메모리; 및
    상기 메모리에 결합되어, 상기 쉘, 상기 프로토콜 핸들러 및 상기 컨텐트 핸들러를 실행시키는 프로세서
    를 포함하는 무선 통신 장치를 더 포함하는 무선 통신 장치.
  6. 복수의 키를 갖는 무선 통신 장치의 동작을 컴퓨터로 구현하는 방법에 있어서,
    상기 키들 중 하나와 한 액션 간의 연관을 정의하는 태그를 포함하는 제1 마크업 언어 페이지를 수신하는 단계;
    상기 키에 대한 사용자 선택을 수신하는 단계; 및
    상기 사용자 선택된 키에 연관된 액션을 실행하는 단계
    를 포함하는 방법.
  7. 제6항에 있어서,
    상기 액션은 데이터 성분을 갖는 URL이며,
    페치될 제2 페이지를 지정하는 상기 URL의 상기 데이터 성분에 응답하여, 상기 제2 페이지를 페치하고, 상기 제2 페이지를 디스플레이하는 단계; 및
    상기 무선 통신 장치의 전화 통신 커맨드를 지정하는 상기 URL의 상기 데이터 성분에 응답하여, 상기 전화 통신 커맨드(telephony command)를 실행하는 단계
    를 더 포함하는 방법.
  8. 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해 상기 무선 통신 장치의 동작을 제어하기 위한 브라우저 프로그램 제품에 있어서,
    상기 브라우저는,
    복수의 키들 중 하나와 한 액션을 지정하는 키 태그를 포함하는 마크업 언어 페이지를 디코딩하는 단계;
    상기 지정된 키 및 상기 액션 간의 연관을 저장하는 단계; 및
    상기 지정된 키의 사용자 입력의 수신에 응답하여, 상기 지정된 키와 연관된 상기 액션을 실행하는 단계
    를 포함하는 동작을 수행하는 브라우저 프로그램 제품.
  9. 제8항에 있어서,
    상기 키 태그는 URL을 지정하고,
    상기 브라우저는, 상기 지정된 키의 사용자 입력에 응답하여, 상기 URL과 연관된 컨텐트를 페치하고 상기 컨텐트를 디스플레이하는 브라우저 프로그램 제품.
  10. 제9항에 있어서,
    상기 키 태그는 상기 지정된 키와 연관된 라벨을 지정하고,
    상기 브라우저는, 상기 페이지의 디코딩에 응답하여, 상기 라벨을 스크린 디스플레이 상에 디스플레이하는 브라우저 프로그램 제품.
  11. 마크업 언어로 엔코딩되고, 임베딩된 오브젝트에 대한 참조를 포함하는 데이터 페이지의 데이터 프로세스를 컴퓨터로 구현하는 방법에 있어서,
    상기 페이지 내의 디스플레이된 사용자 인터페이스 엘리먼트에 대한 사용자 선택을 수신하는 단계 -상기 엘리먼트는 상기 페이지 내에 엔코딩된 URL과 연관되고, 상기 URL은 프로토콜 성분 및 데이터 성분을 가짐-;
    상기 임베딩된 오브젝트를 호출하고, 상기 URL을 프로세스를 위해 상기 임베딩된 오브젝트에 제공하는 단계; 및
    상기 임베딩된 오브젝트가 상기 URL을 프로세스하지 않는 것에 응답하여, 상기 데이터 성분에 의해 지정된 컨텐트를 페치하거나, 상기 데이터 성분에 의해 지정된 커맨드를 실행하는 단계
    를 포함하는 방법.
  12. 사용자에 대한 헬프 데이터(help data)의 자동적인 디스플레이를 컴퓨터로 구현하는 방법에 있어서,
    타이틀 바 영역 내에 타이틀을 갖는 윈도우를 디스플레이하는 단계;
    최종 사용자 입력으로부터 경과된 시간의 양에 대한 카운터를 증분시키는 단계; 및
    상기 카운터가 시간의 임계량 이상이 되는 것에 응답하여, 상기 타이틀 바 영역 내에 제1 헬프 데이터를 스크롤하여 상기 타이틀을 대체하는 단계
    를 포함하는 방법.
  13. 제12항에 있어서, 상기 제1 헬프 데이터의 스크롤 완료에 응답하여,
    상기 타이틀 바 영역 내에 상기 타이틀을 다시 디스플레이하는 단계;
    상기 카운터를 리셋하는 단계;
    최종 사용자 입력으로부터 경과된 시간의 양에 대한 상기 카운터를 증분시키는 단계; 및
    상기 카운터가 상기 임계량 이상이 되는 것이 응답하여, 상기 타이틀 바 영역 내에 제2 헬프 데이터를 스크롤하여 상기 타이틀을 대체하는 단계
    를 포함하는 방법.
  14. 제12항에 있어서, 초기 단계로서,
    상기 타이틀을 정의하는 타이틀 태그 및 상기 제1 헬프 데이터를 정의하는 헬프 태그를 포함하는 마크업 언어 페이지를 수신하는 단계;
    상기 제1 헬프 데이터를 저장하는 단계; 및
    상기 타이틀 바 영역 내의 상기 타이틀 디스플레이를 포함하는 상기 윈도우 내에 상기 마크업 언어 페이지를 디스플레이하는 단계
    를 더 포함하는 방법.
  15. 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해 상기 무선 통신 장치의 동작을 제어하기 위한 브라우저 프로그램 제품에 있어서,
    상기 브라우저는,
    상기 페이지의 타이틀을 정의하는 타이틀 태그 및 헬프 데이터를 지정하는헬프 태그를 포함하는 마크업 언어 페이지를 디코딩하는 단계;
    상기 헬프 데이터를 저장하는 단계;
    상기 페이지를 윈도우에 디스플레이하는 단계;
    상기 타이틀을 상기 윈도우의 타이틀 바 영역에 디스플레이하는 단계;
    최종 사용자 입력으로부터 경과된 시간의 양이 임계치를 초과하는 것에 응답하여, 저장된 헬프 데이터를 상기 타이틀 바 내에 스크롤하여 상기 타이틀 바 영역 내의 상기 타이틀을 대체하는 단계; 및
    상기 저장된 헬프 데이터의 스크롤 완료에 응답하여, 상기 타이틀 바 영역 내에 상기 타이틀을 다시 디스플레이하는 단계
    를 포함하는 동작을 수행하는 브라우저 프로그램 제품.
  16. 적어도 하나의 소프트키를 갖는 무선 통신 장치의 동작을 컴퓨터로 구현하는 방법에 있어서,
    마크업 언어로 정의된 제1 사용자 인터페이스 정의 페이지를 수신하는 단계;
    상기 제1 사용자 인터페이스 정의 페이지를 분석하고, 상기 소프트키들 중 하나와 메뉴 항목들의 메뉴 간의 연관을 저장하는 단계 -상기 메뉴 항목들 각각은 URL 또는 액션과 연관됨-;
    상기 소프트키에 대한 사용자 선택을 수신하는 것에 응답하여, 상기 메뉴 항목들의 메뉴를 디스플레이하는 단계;
    디스플레이된, 액션과 연관된 메뉴 항목에 대한 사용자 선택에 응답하여, 상기 액션을 실행하는 단계; 및
    URL과 연관된 메뉴 항목에 대한 사용자 선택에 응답하여, 상기 URL에 의해 지정된 데이터를 페치하거나, 상기 URL에 의해 지정된 상기 무선 통신 장치의 통신 기능을 실행하는 단계
    를 포함하는 방법.
  17. 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해 상기 무선 통신 장치의 동작을 제어하기 위한 브라우저 프로그램 제품에 있어서,
    상기 브라우저는,
    마크업 언어로 정의된 제1 사용자 인터페이스 정의 페이지를 수신하는 단계;
    상기 제1 사용자 인터페이스 정의 페이지를 분석하고, 상기 소프트키들 중 하나와 메뉴 항목들의 메뉴 간의 연관을 저장하는 단계 -상기 메뉴 항목들 각각은 URL 또는 액션과 연관됨-;
    상기 소프트키에 대한 사용자 선택을 수신하는 것에 응답하여, 상기 메뉴 항목들의 메뉴를 디스플레이하는 단계;
    디스플레이된, 액션과 연관된 메뉴 항목에 대한 사용자 선택에 응답하여, 상기 액션을 실행하는 단계; 및
    URL과 연관된 메뉴 항목에 대한 사용자 선택에 응답하여, 상기 URL에 의해 지정된 데이터를 페치하거나, 상기 URL에 의해 지정된 상기 무선 통신 장치의 통신 기능을 실행하는 단계
    를 포함하는 동작을 실행하는 브라우저 프로그램 제품.
  18. 데이터의 페이지의 디스플레이를 컴퓨터로 구현하는 방법에 있어서,
    제2 마크업 언어 페이지를 참조하는 URL을 지정하는 태그를 포함하는 제1 마크업 언어 페이지를 수신하는 단계;
    상기 URL에 따라 상기 제2 마크업 언어 페이지를 페치하는 단계;
    상기 태그를 상기 제2 마크업 언어 페이지로 대체하여, 조합된 마크업 언어 페이지를 형성하는 단계; 및
    상기 조합된 마크업 언어 페이지를 디스플레이하는 단계
    를 포함하는 방법.
  19. 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해 상기 무선 통신 장치의 동작을 제어하기 위한 브라우저 프로그램 제품에 있어서,
    상기 브라우저는,
    탬플릿 태그(template tag)를 포함하는 제1 마크업 언어 페이지를 수신하는 단계 -상기 탬플릿 태그는 제2 마크업 언어 페이지를 참조하는 URL을 지정함-;
    상기 URL에 따라 상기 제2 마크업 언어 페이지를 페치하는 단계;
    상기 태그를 상기 제2 마크업 언어 페이지로 대체하여, 조합된 마크업 언어 페이지를 형성하는 단계; 및
    상기 조합된 마크업 언어 페이지를 디스플레이하는 단계
    를 포함하는 동작을 실행하는 브라우저 프로그램 제품.
  20. 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해 상기 무선 통신 장치의 동작을 제어하기 위한 브라우저 프로그램 제품에 있어서,
    상기 브라우저는,
    이스케이프 시퀀스(escape sequence)를 포함하는 제1 마크업 언어 페이지를 수신하는 단계 -상기 이스케이프 시퀀스는 제2 마크업 언어 페이지를 참조하는 URL을 지정함-;
    상기 URL에 따라 상기 제2 마크업 언어 페이지를 페치하는 단계;
    상기 태그를 상기 제2 마크업 언어 페이지로 대체하여, 조합된 마크업 언어 페이지를 형성하는 단계; 및
    상기 조합된 마크업 언어 페이지를 디스플레이하는 단계
    를 포함하는 동작을 실행하는 브라우저 프로그램 제품.
  21. 복수의 구성 가능한 기능(configurable feature)을 갖는 무선 통신 장치를 위한 구성 세팅 페이지의 디스플레이를 컴퓨터로 구현하는 방법에 있어서,
    구성 세팅의 사용자 입력을 수신하기 위한 입력 필드를 정의하는 입력 타입 태그, 및 구성 가능한 기능에 대한 URL을 포함하는 표현식(expression)의 값과 동일한 선택 속성을 포함하는 마크업 언어 페이지를 수신하는 단계 -상기 선택 속성은 상기 입력 필드가 미리 선택되는지의 여부를 표지함-;
    상기 URL과 연관된 데이터를 페치하는 단계;
    상기 페치된 데이터를 이용하여 상기 표현식을 평가함으로써, 상기 표현식의 값을 결정하는 단계; 및
    상기 표현식의 상기 값에 기초하여 미리 선택된 것인지 선택되지 않은 것인지를 표지하는 상기 선택 속성에 따라, 상기 구성 세팅의 상기 입력 필드를 포함하는 상기 페이지를 디스플레이하는 단계
    를 포함하는 방법.
  22. 제21항에 있어서,
    상기 표현식은 양식 (선택 속성=[!]URL)을 갖고,
    상기 페치된 데이터를 이용하여 상기 표현식을 평가함으로써, 상기 표현식의 값을 결정하는 단계는,
    상기 URL과 연관된 상기 데이터를 정수값으로 변환하는 단계; 및
    상기 표현식을 평가하여, 0 또는 0이 아닌 값을 얻는 단계
    를 포함하는 방법.
  23. 제21항에 있어서,
    상기 표현식은 양식 (선택 속성 = (URL[!] =string))을 갖고, 상기string은 임의의 영숫자 스트링이며,
    상기 페치된 데이터를 이용하여 상기 표현식을 평가함으로써, 상기 표현식의값을 결정하는 단계는, 상기 URL과 연관된 데이터가 상기 스트링과 동일한지를 판정함으로써 상기 표현식을 평가하여, 0 또는 0이 아닌 값을 얻는 단계를 포함하는 방법.
  24. 복수의 구성 가능한 기능을 갖는 무선 통신 장치를 위한 구성 세팅의 페이지를 디스플레이하고, 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해 상기 무선 통신 장치의 동작을 제어하는 브라우저 프로그램 제품에 있어서,
    상기 브라우저는,
    구성 세팅의 사용자 입력을 수신하기 위한 입력 필드를 정의하는 입력 타입 태그, 및 구성 가능한 기능에 대한 URL을 포함하는 표현식(expression)의 값과 동일한 선택 속성을 포함하는 마크업 언어 페이지를 수신하는 단계 -상기 선택 속성은 상기 입력 필드가 미리 선택되는지의 여부를 표지함-;
    상기 URL과 연관된 데이터를 페치하는 단계;
    상기 페치된 데이터를 이용하여 상기 표현식을 평가함으로써, 상기 표현식의 값을 결정하는 단계; 및
    상기 표현식의 상기 값에 기초하여 미리 선택된 것인지 선택되지 않은 것인지를 표지하는 상기 선택 속성에 따라, 상기 구성 세팅의 상기 입력 필드를 포함하는 상기 페이지를 디스플레이하는 단계
    를 포함하는 동작을 실행하는 브라우저 프로그램 제품.
  25. 데이터의 페이지에 대한 디스플레이를 컴퓨터로 구현하는 방법에 있어서,
    URL을 포함하는 표현식을 갖는 조건부 태그 및 상기 표현식의 값에 따라 조건적으로 디스플레이되는 제1 마크업 언어 데이터를 포함하는 마크업 언어 페이지를 수신하는 단계;
    상기 URL과 연관된 데이터를 페치하는 단계;
    상기 페치된 데이터를 이용하여 상기 표현식을 평가함으로써, 상기 표현식의 값을 결정하는 단계;
    상기 표현식의 값이 참인 것에 응답하여, 상기 제1 마크업 언어 데이터를 갖는 상기 마크업 언어 페이지를 디스플레이하는 단계; 및
    상기 표현식의 값이 거짓인 것에 응답하여, 상기 제1 마크업 언어 데이터를 갖지 않는 마크업 언어 페이지를 디스플레이하는 단계
    를 포함하는 방법.
  26. 제25항에 있어서,
    상기 조건부 태그는 제2 마크업 언어 데이터를 포함하고,
    상기 표현식의 값이 거짓인 것에 응답하여 상기 제1 마크업 언어 데이터를 갖지 않는 마크업 언어 페이지를 디스플레이하는 단계는, 상기 제2 마크업 언어 데이터를 갖는 마크업 언어 페이지를 디스플레이하는 단계를 포함하는 방법.
  27. 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해 상기 무선 통신장치의 동작을 제어하고, 마크업 언어 데이터의 페이지를 디스플레이하는 브라우저 프로그램 제품에 있어서, 상기 브라우저는,
    URL을 포함하는 표현식을 갖는 조간부 태그 및 상기 표현식의 값에 따라 디스플레이되는 제1 마크업 언어 데이터를 포함하는 마크업 언어 페이지를 수신하는 단계;
    상기 URL과 연관된 데이터를 페치하는 단계;
    상기 페치된 데이터를 이용하여 상기 표현식을 평가함으로써, 상기 표현식의 값을 결정하는 단계;
    상기 표현식의 값이 참인 것에 응답하여, 상기 제1 마크업 언어 데이터를 갖는 상기 마크업 언어 페이지를 디스플레이하는 단계; 및
    상기 표현식의 값이 거짓인 것에 응답하여, 상기 제1 마크업 언어 데이터를 갖지 않는 마크업 언어 페이지를 디스플레이하는 단계
    를 포함하는 동작을 실행하는 브라우저 프로그램 제품.
  28. 복수의 하이퍼링크를 포함하는 마크업 언어 페이지의 네비게이션을 컴퓨터로 구현하는 방법에 있어서,
    복수의 하이퍼링크를 포함하는 마크업 언어 페이지를 수신하는 단계;
    상기 마크업 언어 페이지의 하이퍼링크를 현재 하이퍼링크로서 선택하는 단계;
    사용자 입력에 응답하여, 마크업 언어 파일을 스크린 디스플레이 상의 한 방향으로 스크롤하여, 상기 마크업 언어 파일의 일부만을 디스플레이하는 단계;
    상기 스크롤 방향에서 후속 하이퍼링크가 보이는지를 결정하는 단계;
    상기 스크롤 방향에서 상기 후속 하이퍼링크가 보이는 것에 응답하여, 후속 하이퍼링크를 현재 하이퍼링크로 하는 단계; 및
    상기 스크롤 방향에 후속 하이퍼링크가 보이지 않는 것에 응답하여, 상기 마크업 언어 파일의 일부를 스크롤하는 단계
    를 포함하는 방법.
  29. 제28항에 있어서,
    상기 마크업 언어 페이지는, 상기 페이지 내에 포함된 하이퍼링크의 타겟 네임을 지정하는 속성을 갖고,
    상기 마크업 언어 페이지의 하이퍼링크를 현재 하이퍼링크로서 선택하는 단계는,
    상기 속성 내에 지정된 상기 타겟 네임과 상기 하이퍼링크들 각각의 네임을 비교하는 단계; 및
    상기 타겟 네임과 일치하는 네임을 갖는 하이퍼링크를 현재 하이퍼링크로서 하는 단계
    를 더 포함하는 방법.
  30. 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해 상기 무선 통신장치의 동작을 제어하고, 마크업 언어 데이터의 페이지를 디스플레이하는 브라우저 프로그램 제품에 있어서,
    상기 브라우저는,
    복수의 하이퍼링크를 포함하는 마크업 언어 페이지를 수신하는 단계;
    상기 마크업 언어 페이지의 하이퍼링크를 현재 하이퍼링크로서 선택하는 단계;
    사용자 입력에 응답하여, 마크업 언어 파일을 스크린 디스플레이 상의 한 방향으로 스크롤하여, 상기 마크업 언어 파일의 일부만을 디스플레이하는 단계;
    상기 스크롤 방향에서 후속 하이퍼링크가 보이는지를 결정하는 단계;
    상기 스크롤 방향에서 상기 후속 하이퍼링크가 보이는 것에 응답하여, 후속 하이퍼링크를 현재 하이퍼링크로 하는 단계; 및
    상기 스크롤 방향에 후속 하이퍼링크가 보이지 않는 것에 응답하여, 상기 마크업 언어 파일의 일부를 스크롤하는 단계
    를 포함하는 동작을 실행하는 브라우저 프로그램 제품.
  31. 사용자에 대한 광고 데이터의 자동적인 디스플레이를 컴퓨터로 구현하는 방법에 있어서,
    상기 페이지의 헤드 부분에 디스플레이할 수 있는 텍스트를 포함하는 <MARQUEE> 태그, 및 타이틀을 포함하는 마크업 언어 페이지를 수신하는 단계;
    타이틀 바 영역 내에 상기 타이틀을 갖는 윈도우에 상기 마크업 언어 페이지를 디스플레이하는 단계;
    경과된 시간의 양에 대한 카운터를 증분시키는 단계; 및
    상기 카운터가 시간의 임계량 이상이 된 것에 응답하여, 상기 <MARQUEE> 태그 내에 포함된 상기 디스플레이 가능한 텍스트를 상기 타이틀 바 영역에 스크롤하여 상기 타이틀 바를 대체하는 단계
    를 포함하는 방법.
  32. 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해 상기 무선 통신 장치의 동작을 제어하고, 마크업 언어 데이터의 페이지를 디스플레이하는 브라우저 프로그램 제품에 있어서,
    상기 브라우저는,
    상기 페이지의 헤드 부분에 디스플레이할 수 있는 텍스트를 포함하는 <MARQUEE> 태그, 및 타이틀을 포함하는 마크업 언어 페이지를 수신하는 단계;
    타이틀 바 영역 내에 상기 타이틀을 갖는 윈도우에 상기 마크업 언어 페이지를 디스플레이하는 단계;
    경과된 시간의 양에 대한 카운터를 증분시키는 단계; 및
    상기 카운터가 시간의 임계량 이상이 된 것에 응답하여, 상기 <MARQUEE> 태그 내에 포함된 상기 디스플레이 가능한 텍스트를 상기 타이틀 바 영역에 스크롤하여 상기 타이틀 바를 대체하는 단계
    를 포함하는 동작을 실행하는 브라우저 프로그램 제품.
  33. 스크린 디스플레이, 적어도 하나의 소프트키를 포함하는 복수의 키, 및 구성 세팅에 의해 설정될 수 있는 복수의 구성 가능한 기능을 포함하는 무선 통신 장치의 동작을 컴퓨터로 구현한 방법에 있어서,
    a) 적어도 하나의 태그를 포함하는 제1 마크업 언어 페이지를 수신하는 단계
    -상기 적어도 하나의 태그는,
    키와 액션 간의 연관을 정의하는 제1 태그,
    헬프 데이터를 정의하는 제2 태그,
    소프트키와 메뉴 항목의 메뉴 간의 연관을 정의하는 제3 태그 -상기 메뉴 항목 각각은 URL 또는 액션 중 하나와 연관됨-,
    제2 마크업 언어 페이지를 참조하는 URL을 지정하는 제4 태그,
    제3 마크업 언어 페이지를 참조하는 URL을 지정하는 이스케이프 시퀀스를 수반하는 제5 태그,
    구성 세팅의 사용자 입력을 수신하기 위한 입력 필드, 및 구성 가능한 기능에 대한 URL을 포함하는 표현식의 값과 동일한 선택 속성을 정의하는 제6 태그 -상기 선택 속성은 상기 입력 필드가 미리 선택되는지의 여부를 표지함-,
    URL을 포함하는 표현식, 및 상기 표현식의 값에 따라 조건부로 디스플레이되는 제1 마크업 언어 데이터를 갖는 제7 태그,
    상기 제1 마크업 언어 페이지 내에 포함된 적어도 하나의 하이퍼링크의 타겟 네임을 지정하는 속성을 갖는 제8 태그, 및
    상기 제1 마크업 언어 페이지의 헤더 부분에 디스플레이 가능한 텍스트를 포함하는 제9의 <MARQUEE> 태그
    로 이루어지는 그룹으로부터 선택됨-;
    b) 상기 제1 마크업 언어 페이지 내의 태그가 상기 제1 태그인 것에 응답하여,
    상기 키에 대한 사용자 선택을 수신하고,
    상기 사용자 선택된 키와 연관된 상기 액션을 실행하는 단계;
    c) 상기 제1 마크업 언어 페이지 내의 태그가 상기 제2 태그인 것에 응답하여,
    상기 헬프 데이터를 저장하고,
    상기 제1 마크업 언어 페이지를 윈도우 내에 디스플레이하고,
    상기 제1 마크업 언어 페이지의 타이틀을 상기 윈도우의 타이틀 바 영역에 디스플레이하고,
    최종 사용자 입력으로부터 경과된 시간의 양이 임계치를 초과하는 것에 응답하여, 상기 저장된 헬프 데이터를 상기 타이틀 바 내에 스크롤하여 상기 타이틀을 대체하며,
    상기 저장된 헬프 데이터의 스크롤의 완료에 응답하여, 상기 타이틀 바 영역 내에 상기 타이틀을 다시 디스플레이하는 단계;
    d) 상기 제1 마크업 언어 페이지 내의 태그가 상기 제3 태그인 것에 응답하여,
    상기 소프트키와 상기 메뉴 항목의 메뉴 간의 상기 연관을 저장하고,
    상기 소프트키에 대한 사용자 선택을 수신한 것에 응답하여, 상기 메뉴 항목의 메뉴를 디스플레이하고,
    디스플레이된, 액션과 연관된 메뉴 항목에 대한 사용자 선택에 응답하여, 상기 액션을 실행하며,
    URL과 연관된 메뉴 항목에 대한 사용자 선택에 응답하여, 상기 URL에 의해 지정되는 데이터를 페치하거나, 상기 URL에 의해 지정되는 상기 무선 통신 장치의 통신 기능을 실행하는 단계;
    e) 상기 제1 마크업 언어 페이지 내의 태그가 상기 제4 태그인 것에 응답하여,
    상기 URL에 따라 상기 제2 마크업 언어 페이지를 페치하고,
    상기 제4 태그를 상기 제2 마크업 언어로 대체하여, 조합된 마크업 언어 페이지를 형성하며,
    상기 조합된 마크업 언어 페이지를 디스플레이하는 단계;
    f) 상기 제1 마크업 언어 페이지 내의 태그가 상기 제5 태그인 것에 응답하여,
    상기 URL에 따라 상기 제3 마크업 언어 페이지를 페치하고,
    상기 이스케이프 시퀀스를 상기 제3 마크업 언어 페이지로 대체하여, 조합된 마크업 언어 페이지를 형성하며,
    상기 조합된 마크업 언어 페이지를 디스플레이하는 단계;
    g) 상기 제1 마크업 언어 페이지 내의 태그가 상기 제6 태그인 것에 응답하여,
    상기 URL과 연관된 데이터를 페치하고,
    상기 페치된 데이터를 이용하여 상기 표현식을 평가함으로써, 상기 표현식의 값을 결정하며,
    상기 표현식의 상기 값에 따라, 상기 선택 속성에 따른 상기 구성 세팅의 상기 입력 필드를 미리 선택된 것 또는 선택되지 않은 것으로서 포함하는 상기 제1 마크업 언어 페이지를 디스플레이하는 단계;
    h) 상기 제1 마크업 언어 페이지 내의 태그가 상기 제7 태그인 것에 응답하여,
    상기 URL과 연관된 데이터를 페치하고,
    상기 페치된 데이터를 이용하여 상기 표현식을 평가함으로써, 상기 표현식의 값을 결정하고,
    상기 표현식의 값이 참인 것에 응답하여, 상기 제1 마크업 언어 데이터를 갖는 상기 제1 마크업 언어 페이지를 디스플레이하며,
    상기 표현식의 값이 거짓인 것에 응답하여, 상기 제1 마크업 언어를 갖지 않는 상기 제1 마크업 언어 페이지를 디스플레이하는 단계;
    i) 상기 제1 마크업 언어 페이지 내의 태그가 상기 제8 태그인 것에 응답하여,
    상기 제1 마크업 언어 페이지 내의 상기 하이퍼링크들 중 하나를 현재 하이퍼링크로서 선택하고,
    사용자 입력에 응답하여, 상기 제1 마크업 언어 페이지를 상기 스크린 디스플레이 상의 한 방향으로 스크롤하여, 상기 제1 마크업 언어 페이지의 일부만을 디스플레이하고,
    상기 스크롤 방향에 후속 하이퍼링크가 보이는 것에 응답하여, 후속 하이퍼링크를 현재 하이퍼링크로 하며,
    상기 스크롤 방향에 후속 하이퍼링크가 보이지 않는 것에 응답하여, 상기 제1 마크업 언어 페이지의 일부를 스크롤하는 단계; 및
    j) 상기 제1 마크업 언어 페이지 내의 태그가 상기 제9 태그인 것에 응답하여,
    타이틀 바 영역 내에 상기 제1 마크업 언어 페이지의 타이틀을 갖는 윈도우에, 상기 제1 마크업 언어 페이지를 디스플레이하고,
    경과된 시간의 양에 대한 카운터를 증분시키며,
    상기 카운터가 시간의 임계량 이상인 것에 응답하여, 상기 <MARQUEE> 태그 내에 포함된 상기 디스플레이 가능한 텍스트를 상기 타이틀 바 영역에 스크롤하여, 상기 타이틀을 대체하는 단계
    를 포함하는 방법.
  34. 스크린 디스플레이, 적어도 하나의 소프트키를 포함하는 복수의 키, 및 구성 세팅에 의해 설정될 수 있는 복수의 구성 가능한 기능을 포함하는 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해, 상기 무선 통신 장치의 동작을 제어하는 브라우저 프로그램 제품에 있어서, 상기 브라우저는,
    a) 적어도 하나의 태그를 포함하는 제1 마크업 언어 페이지를 수신하는 단계
    -상기 적어도 하나의 태그는,
    키와 액션 간의 연관을 정의하는 제1 태그,
    헬프 데이터를 정의하는 제2 태그,
    소프트키와 메뉴 항목의 메뉴 간의 연관을 정의하는 제3 태그 -상기 메뉴 항목 각각은 URL 또는 액션 중 하나와 연관됨-,
    제2 마크업 언어 페이지를 참조하는 URL을 지정하는 제4 태그,
    제3 마크업 언어 페이지를 참조하는 URL을 지정하는 이스케이프 시퀀스를 수반하는 제5 태그,
    구성 세팅의 사용자 입력을 수신하기 위한 입력 필드, 및 구성 가능한 기능에 대한 URL을 포함하는 표현식의 값과 동일한 선택 속성을 정의하는 제6 태그 -상기 선택 속성은 상기 입력 필드가 미리 선택되는지의 여부를 표지함-,
    URL을 포함하는 표현식, 및 상기 표현식의 값에 따라 조건부로 디스플레이되는 제1 마크업 언어 데이터를 갖는 제7 태그,
    상기 제1 마크업 언어 페이지 내에 포함된 적어도 하나의 하이퍼링크의 타겟 네임을 지정하는 속성을 갖는 제8 태그, 및
    상기 제1 마크업 언어 페이지의 헤더 부분에 디스플레이 가능한 텍스트를 포함하는 제9의 <MARQUEE> 태그
    로 이루어지는 그룹으로부터 선택됨-;
    b) 상기 제1 마크업 언어 페이지 내의 태그가 상기 제1 태그인 것에 응답하여,
    상기 키에 대한 사용자 선택을 수신하고,
    상기 사용자 선택된 키와 연관된 상기 액션을 실행하는 단계;
    c) 상기 제1 마크업 언어 페이지 내의 태그가 상기 제2 태그인 것에 응답하여,
    상기 헬프 데이터를 저장하고,
    상기 제1 마크업 언어 페이지를 윈도우 내에 디스플레이하고,
    상기 제1 마크업 언어 페이지의 타이틀을 상기 윈도우의 타이틀 바 영역에 디스플레이하고,
    최종 사용자 입력으로부터 경과된 시간의 양이 임계치를 초과하는 것에 응답하여, 상기 저장된 헬프 데이터를 상기 타이틀 바 내에 스크롤하여 상기 타이틀을 대체하며,
    상기 저장된 헬프 데이터의 스크롤의 완료에 응답하여, 상기 타이틀 바 영역 내에 상기 타이틀을 다시 디스플레이하는 단계;
    d) 상기 제1 마크업 언어 페이지 내의 태그가 상기 제3 태그인 것에 응답하여,
    상기 소프트키와 상기 메뉴 항목의 메뉴 간의 상기 연관을 저장하고,
    상기 소프트키에 대한 사용자 선택을 수신한 것에 응답하여, 상기 메뉴 항목의 메뉴를 디스플레이하고,
    디스플레이된, 액션과 연관된 메뉴 항목에 대한 사용자 선택에 응답하여, 상기 액션을 실행하며,
    URL과 연관된 메뉴 항목에 대한 사용자 선택에 응답하여, 상기 URL에 의해 지정되는 데이터를 페치하거나, 상기 URL에 의해 지정되는 상기 무선 통신 장치의 통신 기능을 실행하는 단계;
    e) 상기 제1 마크업 언어 페이지 내의 태그가 상기 제4 태그인 것에 응답하여,
    상기 URL에 따라 상기 제2 마크업 언어 페이지를 페치하고,
    상기 제4 태그를 상기 제2 마크업 언어로 대체하여, 조합된 마크업 언어 페이지를 형성하며,
    상기 조합된 마크업 언어 페이지를 디스플레이하는 단계;
    f) 상기 제1 마크업 언어 페이지 내의 태그가 상기 제5 태그인 것에 응답하여,
    상기 URL에 따라 상기 제3 마크업 언어 페이지를 페치하고,
    상기 이스케이프 시퀀스를 상기 제3 마크업 언어 페이지로 대체하여, 조합된 마크업 언어 페이지를 형성하며,
    상기 조합된 마크업 언어 페이지를 디스플레이하는 단계;
    g) 상기 제1 마크업 언어 페이지 내의 태그가 상기 제6 태그인 것에 응답하여,
    상기 URL과 연관된 데이터를 페치하고,
    상기 페치된 데이터를 이용하여 상기 표현식을 평가함으로써, 상기 표현식의 값을 결정하며,
    상기 표현식의 상기 값에 따라, 상기 선택 속성에 따른 상기 구성 세팅의 상기 입력 필드를 미리 선택된 것 또는 선택되지 않은 것으로서 포함하는 상기 제1 마크업 언어 페이지를 디스플레이하는 단계;
    h) 상기 제1 마크업 언어 페이지 내의 태그가 상기 제7 태그인 것에 응답하여,
    상기 URL과 연관된 데이터를 페치하고,
    상기 페치된 데이터를 이용하여 상기 표현식을 평가함으로써, 상기 표현식의 값을 결정하고,
    상기 표현식의 값이 참인 것에 응답하여, 상기 제1 마크업 언어 데이터를 갖는 상기 제1 마크업 언어 페이지를 디스플레이하며,
    상기 표현식의 값이 거짓인 것에 응답하여, 상기 제1 마크업 언어를 갖지 않는 상기 제1 마크업 언어 페이지를 디스플레이하는 단계;
    i) 상기 제1 마크업 언어 페이지 내의 태그가 상기 제8 태그인 것에 응답하여,
    상기 제1 마크업 언어 페이지 내의 상기 하이퍼링크들 중 하나를 현재 하이퍼링크로서 선택하고,
    사용자 입력에 응답하여, 상기 제1 마크업 언어 페이지를 상기 스크린 디스플레이 상의 한 방향으로 스크롤하여, 상기 제1 마크업 언어 페이지의 일부만을 디스플레이하고,
    상기 스크롤 방향에 후속 하이퍼링크가 보이는 것에 응답하여, 후속 하이퍼링크를 현재 하이퍼링크로 하며,
    상기 스크롤 방향에 후속 하이퍼링크가 보이지 않는 것에 응답하여, 상기 제1 마크업 언어 페이지의 일부를 스크롤하는 단계; 및
    j) 상기 제1 마크업 언어 페이지 내의 태그가 상기 제9 태그인 것에 응답하여,
    타이틀 바 영역 내에 상기 제1 마크업 언어 페이지의 타이틀을 갖는 윈도우에, 상기 제1 마크업 언어 페이지를 디스플레이하고,
    경과된 시간의 양에 대한 카운터를 증분시키며,
    상기 카운터가 시간의 임계량 이상인 것에 응답하여, 상기 <MARQUEE> 태그 내에 포함된 상기 디스플레이 가능한 텍스트를 상기 타이틀 바 영역에 스크롤하여, 상기 타이틀을 대체하는 단계
    를 포함하는 동작을 실행하는 브라우저 프로그램 제품.
  35. 스크린 디스플레이는 포함하되 주변 포인팅 장치에 의해 제어되는 독립적인 커서는 포함하지 않는 컴퓨터 시스템 내에서, 적어도 하나의 선택 가능한 하이퍼링크를 포함하는 데이터 페이지의 네비게이트를 컴퓨터로 구현하는 방법에 있어서,
    사용자 입력에 응답하여 상기 스크린 디스플레이 상의 한 방향으로 상기 페이지를 스크롤함으로써, 상기 페이지의 일부만을 디스플레이하는 단계; 및
    상기 스크롤 방향과 상기 페이지의 디스플레이된 부분에서 볼 수 있는 후속 하이퍼링크를, 사용자 선택 가능한 키에 자동적으로 인터랙트하게 할당하는 단계
    를 포함하는 방법.
  36. 스크린 디스플레이 및 복수의 키를 갖는 키패드를 포함하되 주변 포인팅 장치에 의해 제어되는 독립적인 커서는 포함하지 않는 컴퓨터 시스템 내에서, 각각의 타입을 갖는 복수의 양식 필드를 포함하는 데이터 페이지를, 컴퓨터를 이용하여 네비게이션 하는 방법에 있어서,
    사용자 입력에 응답하여 상기 스크린 디스플레이 상의 한 방향으로 상기 페이지를 스크롤하여, 상기 데이터 파일의 일부만을 디스플레이하는 단계;
    상기 스크롤 방향에 후속 양식 필드가 보이는지의 여부를 결정하는 단계;
    상기 스크롤 방향에 후속 양식 필드가 보이는 것에 응답하여, 상기 후속 양식 필드를, 사용자 입력을 수신하기 위한 현재 양식 필드로 하는 단계; 및
    상기 현재 양식 필드의 상기 타입에 따라, 상기 현재 양식 필드를 조작하기 위한 액션을 상기 키패드의 키에 할당하는 단계
    를 포함하는 방법.
  37. 디스플레이 스크린 및 복수의 사용자 선택 가능한 키를 포함하는 무선 통신 장치를 구성하는 방법에 있어서,
    컨텐트 및 상기 디스플레이 스크린 상에서의 상기 컨텐트의 배열을 정의하는 마크업 언어 태그를 포함하는 데이터 파일을 수신하는 단계 -상기 컨텐트의 일부는 URL과 연관됨-;
    상기 마크업 언어 태그에 응답하여, 상기 컨텐트의 URL 연관 부분이 시각적으로 구별되도록 상기 디스플레이 스크린 상에 디스플레이하는 단계;
    상기 마크업 언어 태그에 응답하여, 상기 시각적으로 구별된 컨텐트와 연관된 상기 URL을 상기 사용자 선택 가능한 키 중 하나에 할당하는 단계;
    상기 할당된 사용자 선택 가능한 키의 사용자 입력을 수신하는 단계; 및
    상기 사용자 선택된 키에 할당된 URL과 연관된 데이터 파일 또는 기능을 액세스하는 단계
    를 포함하는 무선 통신 장치의 구성 방법.
  38. 입력 데이터를 수신하는 클라이언트 및 서버 장치를 구비하는 무상태 시스템(stateless system)에서, 양식 내의 데이터 프로세스를 컴퓨터로 구현하는 방법에 있어서,
    상기 클라이언트 장치에서, 데이터의 사용자 입력을 수신하기 위한 적어도 하나의 입력 필드를 갖는 양식의 제1 부분을 포함하는 제1 마크업 언어 페이지를 수신하는 단계;
    상기 클라이언트 장치에서, 상기 양식의 상기 제1 부분에 대한 제1 데이터의 제1 사용자 입력을 수신하는 단계;
    상기 수신된 제1 데이터를 상기 클라이언트 상에 국부적으로 저장하는 동시에, 상기 양식의 제2 부분을 포함하는 제2 마크업 언어 페이지를 상기 클라이언트 장치에서 수신하는 단계;
    상기 클라이언트 장치에서, 상기 양식의 상기 제2 부분에 대한 제2 데이터의 제2 사용자 입력을 수신하는 단계;
    상기 저장된 제1 데이터와 상기 제2 데이터를 URL로 조합하는 단계; 및
    상기 URL을 프로세스를 위해 상기 서버에 제출하는 단계
    를 포함하는 방법.
  39. 마크업 언어로 엔코딩된 데이터 페이지의 데이터 프로세스를 컴퓨터로 구현하는 방법에 있어서,
    상기 페이지 내에 디스플레이된 사용자 인터페이스 엘리먼트에 대한 사용자 선택을 수신하는 단계 -상기 엘리먼트는 상기 페이지 내에 엔코딩된 커맨드와 연관되고, 상기 커맨드는 프로토콜 성분 및 데이터 성분을 가짐-; 및
    임베딩된 오브젝트를 호출하고, 프로세스를 위해 상기 커맨드를 상기 임베딩된 오브젝트에 제공하는 단계 -상기 임베딩된 오브젝트는 내부적으로 정의된 기능을 이용하여 상기 커맨드를 프로세스함-
    를 포함하는 방법.
  40. 무선 통신 장치에 있어서,
    스크린 디스플레이;
    복수의 키;
    복수의 구성 가능한 기능;
    상기 스크린 디스플레이 및 상기 키에 결합된 프로세서;
    프로세서에 의해 실행되어, 프로토콜 성분 및 데이터 성분을 갖는 URL을 수신하기는 쉘 -상기 데이터는 실행될 커맨드 또는 페치될 컨텐트를 지정하고, 상기 쉘은 상기 데이터 성분을 상기 프로토콜 성분에 따른 프로토콜 핸들러에 제공하고, 상기 페치된 컨텐트를 프로세스를 위한 컨텐트 핸들러에 제공함-;
    각각 상기 프로세서에 의해 실행되고 상기 쉘에 결합되어, 상기 쉘로부터 URL을 수신하고 상기 데이터 성분에 의해 지정된 컨텐트를 페치하며, 상기 페치된 컨텐트를 상기 쉘에 제공하거나 상기 데이터 성분에 의해 지정된 커맨드를 실행하는 복수의 프로토콜 핸들러; 및
    각각 상기 프로세서에 의해 실행되고 상기 쉘에 결합되어, URL에 대응하는 마크업 언어 컨텐트를 수신하고, 상기 컨텐트를 상기 스크린 디스플레이 상에 디스플레이하는 마크업 언어 컨텐트 핸들러
    -상기 마크업 언어 핸들러는,
    상기 복수의 키 중 하나에 대한 액션을 정의하는 키 태그,
    상기 스크린 디스플레이 상에 주기적으로 디스플레이될 헬프 텍스트를 정의하는 헬프 태그,
    키와 연관된 메뉴에 대한 메뉴 항목을 정의하는 키메뉴 태그,
    제1 마크업 언어 페이지와는 상이한 제2 마크업 언어 페이지를 지정하여, 상기 제1 마크업 언어 페이지 내에 상기 제2 마크업 언어 페이지의 데이터를 포함시키는 태그,
    구성 세팅에 대한 사용자 입력, 및 구성 가능한 기능에 대한 URL을 포함하는 표현식의 값과 동등한 선택 속성을 수신하기 위한 입력 필드를 정의하는 입력 타입 태그, 및
    URL을 포함하는 표현식 및 상기 표현식의 값에 따라 조건부로 디스플레이되는 제1 마크업 언어 데이터를 갖는 조건부 태그
    를 포함하는 그룹으로부터 선택된 마크업 언어 태그를 디코딩함-
    를 포함하는 무선 통신 장치.
  41. 무선 통신 장치에 있어서,
    스크린 디스플레이;
    메모리;
    상기 스크린 디스플레이 및 상기 메모리에 결합된 프로세서;
    마크업 언어로 엔코딩되어 상기 메모리 내에 저장된 복수의 사용자 인터페이스 페이지 -상기 사용자 인터페이스 페이지 중 선택된 페이지는 상기 무선 통신 장치의 원격 통신 기능에 대한 액세스를 제공함-; 및
    상기 프로세서에 의해 실행되고, 상기 메모리 및 상기 스크린 디스플레이에 통신적으로 결합된 브라우저 수단
    -상기 브라우저 수단은,
    상기 메모리로부터 저장된 사용자 인터페이스 페이지에 액세스하거나, 마크업 언어로 엔코딩되어 저장된 페이지에 원격 통신 네트워크를 통해 액세스하는 수단,
    상기 엑세스된 페이지를 디코딩하여 상기 스크린 디스플레이 상에 사용자 인터페이스 엘리먼트를 디스플레이하는 수단, 및
    상기 디스플레이된 사용자 인터페이스 엘리먼트에 대한 사용자 입력에 응답하여, 원격 통신 기능을 실행시키는 수단
    을 포함함-
    을 포함하는 무선 통신 장치.
  42. 프로토콜 성분 및 데이터 성분을 갖는 URL을 수신하는 제1 수단 -상기 데이터 성분은 실행될 커맨드 또는 페치될 컨텐트를 지정하고, 상기 쉘은 상기 프로토콜 성분에 따라 상기 데이터 성분을 프로토콜 핸들러에 제공하고, 상기 페치될 컨텐트를 프로세스를 위해 컨텐트 핸들러에 제공함-;
    각각 상기 제1 수단에 결합되어, URL을 수신하고, 상기 데이터 성분에 의해 지정된 컨텐트를 페치하여 상기 페치된 컨텐트를 상기 쉘에 제공하거나, 상기 데이터 성분에 의해 지정된 상기 커맨드를 실행하는 복수의 프로토콜 핸들러; 및
    각각 상기 제1 수단에 결합되어, 상기 페치된 컨텐트를 수신하고 프로세스하여, 상기 컨텐트를 스크린 디스플레이에 출력하는 복수의 컨텐트 핸들러
    를 포함하는 장치.
KR1020007011194A 1998-04-08 1999-04-07 맨-머신 인터페이스에 기초하는 마크업 언어를 이용하는무선 통신 장치 KR20010085233A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/057,394 1998-04-08
US09/057,394 US6173316B1 (en) 1998-04-08 1998-04-08 Wireless communication device with markup language based man-machine interface
PCT/US1999/007637 WO1999052032A1 (en) 1998-04-08 1999-04-07 Wireless communication device with markup language based man-machine interface

Publications (1)

Publication Number Publication Date
KR20010085233A true KR20010085233A (ko) 2001-09-07

Family

ID=22010325

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007011194A KR20010085233A (ko) 1998-04-08 1999-04-07 맨-머신 인터페이스에 기초하는 마크업 언어를 이용하는무선 통신 장치

Country Status (8)

Country Link
US (5) US6173316B1 (ko)
EP (3) EP1070288B1 (ko)
JP (13) JP4233759B2 (ko)
KR (1) KR20010085233A (ko)
AU (1) AU3550399A (ko)
DE (1) DE69901947T2 (ko)
HK (1) HK1033015A1 (ko)
WO (1) WO1999052032A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100646033B1 (ko) * 2004-03-05 2006-11-13 에스케이 텔레콤주식회사 이동단말기에서 응답요구용 단문 메시지의 작성을지원하는 방법
KR100759728B1 (ko) * 2003-09-23 2007-09-20 모토로라 인코포레이티드 텍스트 메시지를 제공하는 방법 및 장치
KR100846298B1 (ko) * 2005-04-11 2008-07-14 에스케이 텔레콤주식회사 무선 인터넷 사용자 인터페이스를 위한 템플릿 구조를 제공하기 위한 장치
WO2010062064A2 (en) * 2008-11-03 2010-06-03 Samsung Electronics Co., Ltd. Method and apparatus for controlling access to resources in remote user interface service
US9405594B2 (en) 2008-11-03 2016-08-02 Samsung Electronics Co., Ltd. Method and apparatus for controlling access to resources in remote user interface service

Families Citing this family (746)

* 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
US5691897A (en) * 1995-05-30 1997-11-25 Roy-G-Biv Corporation Motion control systems
US20060206219A1 (en) * 1995-05-30 2006-09-14 Brown David W Motion control systems and methods
US20100131081A1 (en) * 1995-05-30 2010-05-27 Brown David W Systems and methods for motion control
US6941543B1 (en) 1995-05-30 2005-09-06 Roy-G-Biv Corporation Motion control system and method
US7031442B1 (en) 1997-02-10 2006-04-18 Genesys Telecommunications Laboratories, Inc. Methods and apparatus for personal routing in computer-simulated telephony
US6480600B1 (en) 1997-02-10 2002-11-12 Genesys Telecommunications Laboratories, Inc. Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality
US6104802A (en) 1997-02-10 2000-08-15 Genesys Telecommunications Laboratories, Inc. In-band signaling for routing
US6286033B1 (en) * 2000-04-28 2001-09-04 Genesys Telecommunications Laboratories, Inc. Method and apparatus for distributing computer integrated telephony (CTI) scripts using extensible mark-up language (XML) for mixed platform distribution and third party manipulation
US6711611B2 (en) 1998-09-11 2004-03-23 Genesis Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
US6985943B2 (en) 1998-09-11 2006-01-10 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
US20010032278A1 (en) * 1997-10-07 2001-10-18 Brown Stephen J. Remote generation and distribution of command programs for programmable devices
USRE46528E1 (en) 1997-11-14 2017-08-29 Genesys Telecommunications Laboratories, Inc. Implementation of call-center outbound dialing capability at a telephony network level
US20040107208A1 (en) * 1997-12-09 2004-06-03 Seet Siew Shon Method and apparatus for bookmarking telephone numbers for efficient access by wireless phone devices
US6610105B1 (en) 1997-12-09 2003-08-26 Openwave Systems Inc. Method and system for providing resource access in a mobile environment
US6065120A (en) * 1997-12-09 2000-05-16 Phone.Com, Inc. Method and system for self-provisioning a rendezvous to ensure secure access to information in a database from multiple devices
US7907598B2 (en) 1998-02-17 2011-03-15 Genesys Telecommunication Laboratories, Inc. Method for implementing and executing communication center routing strategies represented in extensible markup language
US6332154B2 (en) 1998-09-11 2001-12-18 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing media-independent self-help modules within a multimedia communication-center customer interface
FI108477B (fi) * 1998-02-27 2002-01-31 Nokia Corp Menetelmõ kuvakkeen muodostamiseksi
ES2224020T3 (es) * 1998-03-04 2005-03-01 United Video Properties Inc. Sistema de guia de programas con supervision del uso de anuncios y de las actividades de usuario.
US6324685B1 (en) 1998-03-18 2001-11-27 Becomm Corporation Applet server that provides applets in various forms
US6173316B1 (en) * 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US6509913B2 (en) * 1998-04-30 2003-01-21 Openwave Systems Inc. Configurable man-machine interface
US7025209B2 (en) * 1998-05-29 2006-04-11 Palmsource, Inc. Method and apparatus for wireless internet access
US6343318B1 (en) 1998-05-29 2002-01-29 Palm, Inc. Method and apparatus for communicating information over low bandwidth communications networks
US6590588B2 (en) * 1998-05-29 2003-07-08 Palm, Inc. Wireless, radio-frequency communications using a handheld computer
US6237039B1 (en) 1998-06-30 2001-05-22 Webtv Networks, Inc. Method and apparatus for downloading auxiliary data to a client from a network during client idle periods
US6308202B1 (en) * 1998-09-08 2001-10-23 Webtv Networks, Inc. System for targeting information to specific users on a computer network
US6442755B1 (en) * 1998-07-07 2002-08-27 United Video Properties, Inc. Electronic program guide using markup language
US7010603B2 (en) * 1998-08-17 2006-03-07 Openwave Systems Inc. Method and apparatus for controlling network connections based on destination locations
US7225409B1 (en) * 1998-08-26 2007-05-29 Microsoft Corporation Graphical user interface for a screen telephone
US6338094B1 (en) * 1998-09-08 2002-01-08 Webtv Networks, Inc. Method, device and system for playing a video file in response to selecting a web page link
USRE46153E1 (en) 1998-09-11 2016-09-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment
US6618369B1 (en) * 1998-09-29 2003-09-09 Lg Electronics Inc. Internet phone protocol
US6470317B1 (en) * 1998-10-02 2002-10-22 Motorola, Inc. Markup language to allow for billing of interactive services and methods thereof
US6314094B1 (en) * 1998-10-29 2001-11-06 Central Coast Patent Agency Inc Mobile wireless internet portable radio
US6993004B2 (en) * 1998-10-29 2006-01-31 Sound Starts, Inc. Method and apparatus for practicing IP telephony from an Internet-capable radio
US6635089B1 (en) * 1999-01-13 2003-10-21 International Business Machines Corporation Method for producing composite XML document object model trees using dynamic data retrievals
JP2000207309A (ja) * 1999-01-19 2000-07-28 Matsushita Electric Ind Co Ltd 文書処理装置
US6560640B2 (en) * 1999-01-22 2003-05-06 Openwave Systems, Inc. Remote bookmarking for wireless client devices
US7966078B2 (en) * 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US20060279542A1 (en) * 1999-02-12 2006-12-14 Vega Vista, Inc. Cellular phones and mobile devices with motion driven control
US20060061551A1 (en) * 1999-02-12 2006-03-23 Vega Vista, Inc. Motion detection and tracking system to control navigation and display of portable displays including on-chip gesture detection
US20060061550A1 (en) * 1999-02-12 2006-03-23 Sina Fateh Display size emulation system
US8321411B2 (en) 1999-03-23 2012-11-27 Microstrategy, Incorporated System and method for management of an automatic OLAP report broadcast system
US6567796B1 (en) * 1999-03-23 2003-05-20 Microstrategy, Incorporated System and method for management of an automatic OLAP report broadcast system
US6647260B2 (en) * 1999-04-09 2003-11-11 Openwave Systems Inc. Method and system facilitating web based provisioning of two-way mobile communications devices
US7340057B2 (en) * 2001-07-11 2008-03-04 Openwave Systems Inc. Method and apparatus for distributing authorization to provision mobile devices on a wireless network
US6766162B1 (en) * 1999-04-23 2004-07-20 Skyworks Solutions, Inc. Message notification system for wireless communication system
FR2793636B1 (fr) * 1999-05-14 2001-07-27 Matra Nortel Communications Procede de signalisation entre un systeme de commutation et un equipement telephonique terminal, systeme de commutation et equipement telephonique terminal pour la mise en oeuvre du procede
US9268748B2 (en) 1999-05-21 2016-02-23 E-Numerate Solutions, Inc. System, method, and computer program product for outputting markup language documents
US7249328B1 (en) * 1999-05-21 2007-07-24 E-Numerate Solutions, Inc. Tree view for reusable data markup language
US7650355B1 (en) * 1999-05-21 2010-01-19 E-Numerate Solutions, Inc. Reusable macro markup language
US9262383B2 (en) 1999-05-21 2016-02-16 E-Numerate Solutions, Inc. System, method, and computer program product for processing a markup document
US9262384B2 (en) 1999-05-21 2016-02-16 E-Numerate Solutions, Inc. Markup language system, method, and computer program product
US9208213B2 (en) 1999-05-28 2015-12-08 Microstrategy, Incorporated System and method for network user interface OLAP report formatting
US8607138B2 (en) 1999-05-28 2013-12-10 Microstrategy, Incorporated System and method for OLAP report generation with spreadsheet report within the network user interface
US6463468B1 (en) * 1999-06-01 2002-10-08 Netzero, Inc. Targeted network video download interface
US6549220B1 (en) * 1999-06-10 2003-04-15 International Business Machines Corporation Method, system, and program for providing pages of information with navigation and content areas
AU5728500A (en) * 1999-06-11 2001-01-02 Microsoft Corporation Data driven remote device control model with general programming interface-to-network messaging adapter
US6892230B1 (en) * 1999-06-11 2005-05-10 Microsoft Corporation Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages
US6820260B1 (en) * 1999-06-17 2004-11-16 Avaya Technology Corp. Customized applet-on-hold arrangement
US6922733B1 (en) * 1999-06-30 2005-07-26 International Business Machines Corporation Method for coordinating visual and speech web browsers
EP1069500A1 (en) * 1999-07-12 2001-01-17 International Business Machines Corporation Downloadable user-interface
DE19934506A1 (de) * 1999-07-22 2001-01-25 Siemens Ag Verfahren und Terminal zur Anzeige von Informationen auf einem Bildschirm
US6480211B1 (en) * 1999-07-23 2002-11-12 Denso Corporation Bi-directional update of displays in portable electronic device
US6721410B1 (en) 1999-08-10 2004-04-13 Nortel Networks Limited Recursive identification of individuals for casual collaborative conferencing
US6691153B1 (en) 1999-08-30 2004-02-10 Zaplet, Inc. Method and system for process interaction among a group
US6523063B1 (en) 1999-08-30 2003-02-18 Zaplet, Inc. Method system and program product for accessing a file using values from a redirect message string for each change of the link identifier
US6463461B1 (en) 1999-08-30 2002-10-08 Zaplet, Inc. System for communicating information among a group of participants
US6505233B1 (en) 1999-08-30 2003-01-07 Zaplet, Inc. Method for communicating information among a group of participants
US6496849B1 (en) * 1999-08-30 2002-12-17 Zaplet, Inc. Electronic media for communicating information among a group of participants
US6507865B1 (en) 1999-08-30 2003-01-14 Zaplet, Inc. Method and system for group content collaboration
US8448059B1 (en) * 1999-09-03 2013-05-21 Cisco Technology, Inc. Apparatus and method for providing browser audio control for voice enabled web applications
US6940953B1 (en) * 1999-09-13 2005-09-06 Microstrategy, Inc. System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services including module for generating and formatting voice services
US6964012B1 (en) * 1999-09-13 2005-11-08 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, including deployment through personalized broadcasts
US8130918B1 (en) 1999-09-13 2012-03-06 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with closed loop transaction processing
US6587547B1 (en) 1999-09-13 2003-07-01 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with real-time drilling via telephone
US20050223408A1 (en) * 1999-09-13 2005-10-06 Microstrategy, Incorporated System and method for real-time, personalized, dynamic, interactive voice services for entertainment-related information
US6836537B1 (en) * 1999-09-13 2004-12-28 Microstrategy Incorporated System and method for real-time, personalized, dynamic, interactive voice services for information related to existing travel schedule
US6829334B1 (en) 1999-09-13 2004-12-07 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with telephone-based service utilization and control
US7293074B1 (en) * 1999-09-20 2007-11-06 Fusionone, Inc. Performing server actions using template with field that can be completed without obtaining information from a user
US7000183B1 (en) * 1999-09-27 2006-02-14 John M. Crawford, Jr. Method and apparatus for viewer-specific presentation of information
US6628644B1 (en) * 1999-09-30 2003-09-30 Cisco Technology, Inc. Telephone-based hypertext transport protocol server
US6791586B2 (en) * 1999-10-20 2004-09-14 Avaya Technology Corp. Dynamically autoconfigured feature browser for a communication terminal
US6792575B1 (en) * 1999-10-21 2004-09-14 Equilibrium Technologies Automated processing and delivery of media to web servers
US6430624B1 (en) * 1999-10-21 2002-08-06 Air2Web, Inc. Intelligent harvesting and navigation system and method
US6529724B1 (en) * 1999-10-26 2003-03-04 Qualcomm Incorporated System and method for managing contact information based on use of a communications device
US8032605B2 (en) * 1999-10-27 2011-10-04 Roy-G-Biv Corporation Generation and distribution of motion commands over a distributed network
US20100131078A1 (en) * 1999-10-27 2010-05-27 Brown David W Event driven motion systems
US6549769B1 (en) * 1999-10-29 2003-04-15 Concerto Software, Inc. System and method for integrating text messaging to an outbound call system
US6950881B1 (en) * 1999-11-02 2005-09-27 Mshift, Inc. System for converting wireless communications for a mobile device
US6625609B1 (en) 1999-11-03 2003-09-23 Amazon.Com, Inc. Method and system for navigating within a body of data using one of a number of alternative browse graphs
US8185549B1 (en) 1999-11-03 2012-05-22 A9.Com, Inc. Method and system for navigating within a body of data using one of a number of alternative browse graphs
CA2323286A1 (en) * 1999-11-10 2001-05-10 Attachmate Corporation Method and system for property page management
SE521551C2 (sv) * 1999-12-01 2003-11-11 Ericsson Telefon Ab L M Portabel telekommunikationsapparat för styrning av en elektronisk konsumentprodukt
US6763247B1 (en) 1999-12-01 2004-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Portable telecommunication apparatus for controlling an electronic utility device
US7929978B2 (en) 1999-12-01 2011-04-19 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network
US6968365B2 (en) 1999-12-01 2005-11-22 Telefonaktiebolaget L M Ericsson (Publ) Device and a method for operating an electronic utility device from a portable telecommunication apparatus
EP1786179A3 (en) * 1999-12-08 2007-10-17 NTT DoCoMo Inc. Portable telephone and terminal
GB2357220B (en) * 1999-12-10 2003-11-05 Nokia Mobile Phones Ltd A user interface
US7133873B1 (en) * 1999-12-14 2006-11-07 United Parcel Service Of America, Inc. System and method for modifying output of computer program without source code modifications
JP3705059B2 (ja) 1999-12-16 2005-10-12 日本電気株式会社 携帯無線通信端末およびそのスタイル処理方法
US6892196B1 (en) 1999-12-22 2005-05-10 Accenture Llp System, method and article of manufacture for a user programmable diary interface link
GB9930851D0 (en) * 1999-12-24 2000-02-16 Koninkl Philips Electronics Nv Apparatus control system and method
US6892067B1 (en) * 1999-12-30 2005-05-10 Nokia Corporation Script based interfaces for mobile phones
US6901559B1 (en) * 2000-01-06 2005-05-31 Microsoft Corporation Method and apparatus for providing recent categories on a hand-held device
IL134035A0 (en) * 2000-01-13 2001-04-30 Ronen Daniel A device, system and method for remote push-publishing of content onto display screens of mobile devices including a screen saver application
US7248862B2 (en) * 2000-01-19 2007-07-24 Sony Ericsson Mobile Communications Ab Method and apparatus for retrieving calling party information in a mobile communications system
US6977909B2 (en) * 2000-01-19 2005-12-20 Phonepages Of Sweden, Inc. Method and apparatus for exchange of information in a communication network
US20070127645A1 (en) * 2000-01-19 2007-06-07 Sony Ericsson Mobile Communications Ab Technique for providing secondary information to a user equipment
US20070129074A1 (en) * 2000-01-19 2007-06-07 Bloebaum L S System, Method and Device For Providing Secondary Information To A Communication Device
US8400946B2 (en) * 2000-01-19 2013-03-19 Sony Corporation System and method for sharing common location-related information between communication devices
US20070124481A1 (en) * 2000-01-19 2007-05-31 Sony Ericsson Mobile Communications Ab System and method for sharing event-triggered, location-related information between communication devices
US6922721B1 (en) 2000-10-17 2005-07-26 The Phonepages Of Sweden Ab Exchange of information in a communication system
US6996072B1 (en) * 2000-01-19 2006-02-07 The Phonepages Of Sweden Ab Method and apparatus for exchange of information in a communication network
US6799196B1 (en) * 2000-01-21 2004-09-28 Gateway, Inc. On-demand data streaming parceling
US6760432B1 (en) * 2000-01-24 2004-07-06 Qualcomm Incorporated Auto name lookup
US8156074B1 (en) 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
US6671757B1 (en) 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US8620286B2 (en) 2004-02-27 2013-12-31 Synchronoss Technologies, Inc. Method and system for promoting and transferring licensed content and applications
US7047033B2 (en) * 2000-02-01 2006-05-16 Infogin Ltd Methods and apparatus for analyzing, processing and formatting network information such as web-pages
US6912530B1 (en) * 2000-02-01 2005-06-28 Unisys Corporation Special device access to distributed data
US6633314B1 (en) * 2000-02-02 2003-10-14 Raja Tuli Portable high speed internet device integrating cellular telephone and palm top computer
EP1193614A4 (en) * 2000-02-04 2004-12-15 Matsushita Electric Ind Co Ltd INFORMATION TERMINAL
EP1122929A1 (en) * 2000-02-07 2001-08-08 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Push of information from a server to a client
US7349955B1 (en) 2000-02-11 2008-03-25 Goamerica, Inc. Method of and system for transferring data over a wireless communications network
US6640098B1 (en) * 2000-02-14 2003-10-28 Action Engine Corporation System for obtaining service-related information for local interactive wireless devices
US20010014601A1 (en) * 2000-02-14 2001-08-16 Tatsuru Kuwabara Client server system for mobile phone
US6874009B1 (en) 2000-02-16 2005-03-29 Raja Tuli Portable high speed internet device with user fees
US6690403B1 (en) * 2000-02-16 2004-02-10 Raja Tuli Portable high speed internet device and information on links to web sites
CN1311667C (zh) * 2000-02-21 2007-04-18 株式会社Ntt都科摩 信息分配方法和信息分配系统
EP1128638A1 (fr) * 2000-02-23 2001-08-29 Koninklijke Philips Electronics N.V. Appareil comprenant un écran de visualisation et procédé pour visualiser des informations
EP1494436A3 (en) * 2000-02-29 2005-01-19 Matsushita Electric Industrial Co., Ltd. Portable telephone with URL accessing function
WO2001065411A1 (en) * 2000-02-29 2001-09-07 Thinairapps, Inc. Flexible wireless advertisement integration in wireless software applications
US6993565B1 (en) * 2000-03-13 2006-01-31 Fujitsu Limited Service processor control system and computer-readable recording medium recording service processor control program
US7330883B1 (en) * 2000-03-15 2008-02-12 Cricket Communications, Inc. System and method for sending local information from a wireless browser to a web server
US7065578B2 (en) 2000-03-20 2006-06-20 At&T Corp. Service selection in a shared access network using policy routing
WO2001071567A1 (en) * 2000-03-20 2001-09-27 At & T Corp. Method for dynamically displaying brand information in a user interface
AU2001247590A1 (en) 2000-03-20 2001-10-03 At And T Corp. Method and apparatus for coordinating a change in service provider between a client and a server
CA2403832C (en) 2000-03-20 2006-08-29 At&T Corp. Method and apparatus for coordinating a change in service provider between a client and a server with identity based service access management
US7516196B1 (en) * 2000-03-21 2009-04-07 Nokia Corp. System and method for delivery and updating of real-time data
US8171158B1 (en) 2000-03-27 2012-05-01 Altera Corporation Browser system and method
AUPQ653800A0 (en) * 2000-03-28 2000-04-20 Sharinga Networks Inc. A data delivery process
US20020023134A1 (en) * 2000-04-03 2002-02-21 Roskowski Steven G. Method and computer program product for establishing real-time communications between networked computers
AUPQ680300A0 (en) * 2000-04-10 2000-05-11 Alexsi Pty Ltd A method
WO2001080086A2 (en) * 2000-04-13 2001-10-25 Neoplanet, Inc. Method and apparatus for a dual rendering engine browser
US6891811B1 (en) 2000-04-18 2005-05-10 Telecommunication Systems Inc. Short messaging service center mobile-originated to HTTP internet communications
US7577834B1 (en) * 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US6603984B2 (en) * 2000-05-16 2003-08-05 At&T Wireless Services, Inc. Methods and systems for managing information on wireless data devices
DE60132821T2 (de) * 2000-05-29 2009-03-05 Saora K.K. System und verfahren zum speichern von navigierten daten
US8175921B1 (en) * 2000-05-30 2012-05-08 Nokia Corporation Location aware product placement and advertising
US6801793B1 (en) 2000-06-02 2004-10-05 Nokia Corporation Systems and methods for presenting and/or converting messages
EP1305690B1 (en) * 2000-06-05 2009-03-25 Unipier Mobile Ltd. Method of navigating through content of cellular network
US7712024B2 (en) 2000-06-06 2010-05-04 Microsoft Corporation Application program interfaces for semantically labeling strings and providing actions based on semantically labeled strings
US7421645B2 (en) 2000-06-06 2008-09-02 Microsoft Corporation Method and system for providing electronic commerce actions based on semantically labeled strings
US7770102B1 (en) 2000-06-06 2010-08-03 Microsoft Corporation Method and system for semantically labeling strings and providing actions based on semantically labeled strings
US7716163B2 (en) 2000-06-06 2010-05-11 Microsoft Corporation Method and system for defining semantic categories and actions
US7788602B2 (en) * 2000-06-06 2010-08-31 Microsoft Corporation Method and system for providing restricted actions for recognized semantic categories
AU2001229459A1 (en) * 2000-06-21 2002-01-02 Vistant Corporation Method and apparatus for remote man-machine interface configuration
AU2001269891A1 (en) * 2000-07-07 2002-01-21 Openwave Systems Inc. Graphical user interface features of a browser in a hand-held wireless communication device
US6674453B1 (en) * 2000-07-10 2004-01-06 Fuji Xerox Co., Ltd. Service portal for links separated from Web content
US20020004819A1 (en) * 2000-07-10 2002-01-10 David Agassy Device and method for data interception and updating
US7797447B1 (en) * 2000-07-10 2010-09-14 Fuji Xerox Co., Ltd. Data detector for creating links from web content for mobile devices
US7245291B2 (en) * 2000-07-11 2007-07-17 Imran Sharif System and method for internet appliance data entry and navigation
KR20020006722A (ko) * 2000-07-13 2002-01-26 권혁 웹페이지 재구성 방법 및 이를 이용한 웹페이지 제공방법
US7895334B1 (en) 2000-07-19 2011-02-22 Fusionone, Inc. Remote access communication architecture apparatus and method
JP2002163143A (ja) * 2000-07-28 2002-06-07 Any One Wireless Co Ltd 無線サイトのコンテンツ・リフォーマッティング・システム及びその方法
AU2000260103A1 (en) * 2000-08-02 2002-02-13 Philipp Kutter Xml-robot
US6832220B1 (en) * 2000-08-03 2004-12-14 Microsoft Corporation Method and apparatus for file searching, accessing file identifiers from reference page
US20030078729A1 (en) * 2000-08-04 2003-04-24 Eriko Ohdachi Route guide information generator, route guide information generating method, and navigation system
AU2001283579A1 (en) * 2000-08-21 2002-03-04 Yahoo, Inc. Method and system of interpreting and presenting web content using a voice browser
AU2001285246A1 (en) * 2000-08-24 2002-03-04 Joseph L. De Bellis Search-on-the-fly with merge function
US7284008B2 (en) 2000-08-30 2007-10-16 Kontera Technologies, Inc. Dynamic document context mark-up technique implemented over a computer network
US7478089B2 (en) * 2003-10-29 2009-01-13 Kontera Technologies, Inc. System and method for real-time web page context analysis for the real-time insertion of textual markup objects and dynamic content
US7451099B2 (en) * 2000-08-30 2008-11-11 Kontera Technologies, Inc. Dynamic document context mark-up technique implemented over a computer network
US7139370B1 (en) * 2000-08-31 2006-11-21 Nortel Networks Limited Using hyperlinks to establish call sessions
JP2002149391A (ja) * 2000-09-01 2002-05-24 Sony Corp 再生装置および再生方法
US7130885B2 (en) * 2000-09-05 2006-10-31 Zaplet, Inc. Methods and apparatus providing electronic messages that are linked and aggregated
US6717593B1 (en) * 2000-09-12 2004-04-06 Avaya Technology Corp. Mark-up language implementation of graphical or non-graphical user interfaces
US6826403B1 (en) 2000-09-12 2004-11-30 Phonepages Of Sweden Ab Method and system for identifying a user
US7350151B1 (en) * 2000-09-14 2008-03-25 Ui Evolution, Inc. Display state and/or cell based user interface provision method and apparatus
US8332553B2 (en) 2000-09-21 2012-12-11 Hewlett-Packard Development Company, L.P. Method and apparatus for accessing a contacts database and telephone services
US8108543B2 (en) * 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
EP1330723A4 (en) * 2000-09-27 2009-04-01 Nokia Inc CONFIGURABLE TRANSFORMATION OF ELECTRONIC DOCUMENTS
US7210100B2 (en) * 2000-09-27 2007-04-24 Eizel Technologies, Inc. Configurable transformation of electronic documents
US7613810B2 (en) * 2000-09-27 2009-11-03 Nokia Inc. Segmenting electronic documents for use on a device of limited capability
US7533342B1 (en) * 2000-09-29 2009-05-12 Palmsource, Inc. System and method of a personal computer device providing telephone capability
US7191211B2 (en) 2000-10-03 2007-03-13 Raja Tuli Portable high speed internet access device priority protocol
JP2002118675A (ja) * 2000-10-06 2002-04-19 Yoshiki Fujimura インターネットへのアクセスシステム、電話帳
FI20002227A (fi) * 2000-10-09 2002-04-10 Sanomawsoy Oyj Menetelmä, järjestely ja tietokoneohjelma verkkopalvelun tarjoamiseksi ja käyttöliittymä
US6822664B2 (en) * 2000-10-11 2004-11-23 Microsoft Corporation Browser navigation for devices with a limited input system
US7076275B1 (en) * 2000-10-13 2006-07-11 Palmsource, Inc. Method and system for single-step enablement of telephony functionality for a portable computer system
JP4293721B2 (ja) * 2000-10-13 2009-07-08 富士通株式会社 携帯電子ビューワシステム
US8799463B1 (en) * 2000-10-19 2014-08-05 Ariba, Inc. Method and apparatus for processing information related to interactive web sites
US7206853B2 (en) 2000-10-23 2007-04-17 Sony Corporation content abstraction layer for use in home network applications
US20020167939A1 (en) * 2000-11-01 2002-11-14 Deborah Weissman-Berman Wireless data input engine
FI114000B (fi) * 2000-11-08 2004-07-15 Mikko Kalervo Vaeaenaenen Sähköinen lyhytviestintä- ja ilmoittelumenetelmä ja vastaavat välineet
US20020086706A1 (en) * 2000-11-15 2002-07-04 Ming-Feng Chen Mobile device server
US20030054810A1 (en) * 2000-11-15 2003-03-20 Chen Yih-Farn Robin Enterprise mobile server platform
JP2002158981A (ja) * 2000-11-17 2002-05-31 Nec Corp 画像情報付電話帳機能を有する電話機
GB2389998B (en) * 2000-11-18 2005-06-15 Sendo Int Ltd An exchangeable cover for a mobile telephone
US7117268B2 (en) * 2000-11-30 2006-10-03 Matsushita Electric Works, Ltd. Architecture for communicating with one or more electronic devices through a gateway computer
US7039875B2 (en) * 2000-11-30 2006-05-02 Lucent Technologies Inc. Computer user interfaces that are generated as needed
US7370074B2 (en) * 2000-12-06 2008-05-06 Vigilos, Inc. System and method for implementing open-protocol remote device control
US6961567B1 (en) * 2000-12-07 2005-11-01 Palm, Inc. Generic activation and registration framework for wireless devices
US7308487B1 (en) 2000-12-12 2007-12-11 Igate Corp. System and method for providing fault-tolerant remote controlled computing devices
US7403600B2 (en) * 2000-12-18 2008-07-22 At&T Delaware Intellectual Property, Inc. Person to person telephone services
US6816864B2 (en) * 2000-12-21 2004-11-09 International Business Machines Corporation System and method for handling set structured data through a computer network
US7877444B2 (en) * 2000-12-22 2011-01-25 Nortel Networks Limited Method and apparatus for providing a web page to a call member
US20020082910A1 (en) * 2000-12-22 2002-06-27 Leandros Kontogouris Advertising system and method which provides advertisers with an accurate way of measuring response, and banner advertisement therefor
AU2002251731A1 (en) * 2001-01-04 2002-07-16 Roy-G-Biv Corporation Systems and methods for transmitting motion control data
US20020109673A1 (en) * 2001-01-04 2002-08-15 Thierry Valet Method and apparatus employing angled single accelerometer sensing multi-directional motion
US9183571B2 (en) * 2007-09-14 2015-11-10 Qualcomm Incorporated System and method for providing advertisement data to a mobile computing device
US8504074B2 (en) * 2001-01-05 2013-08-06 Palm, Inc. System and method for providing advertisement data to a mobile computing device
US7555571B1 (en) * 2001-01-05 2009-06-30 Palm, Inc. Activation of mobile computing device on a cellular network
US6795710B1 (en) * 2001-01-05 2004-09-21 Palmone, Inc. Identifying client patterns using online location-based derivative analysis
US20060036941A1 (en) * 2001-01-09 2006-02-16 Tim Neil System and method for developing an application for extending access to local software of a wireless device
US6684224B2 (en) * 2001-01-16 2004-01-27 Chipdata, Inc. Remote database update method and apparatus
US6961773B2 (en) 2001-01-19 2005-11-01 Esoft, Inc. System and method for managing application service providers
US20020138606A1 (en) * 2001-01-20 2002-09-26 Jeremiah Robison Method and apparatus for determining network connection by links
US20020099736A1 (en) * 2001-01-23 2002-07-25 Neo-Core, L.L.C. Method of storing a structured data document
US9600842B2 (en) * 2001-01-24 2017-03-21 E-Numerate Solutions, Inc. RDX enhancement of system and method for implementing reusable data markup language (RDL)
US7904194B2 (en) * 2001-02-09 2011-03-08 Roy-G-Biv Corporation Event management systems and methods for motion control systems
US7031798B2 (en) * 2001-02-09 2006-04-18 Roy-G-Biv Corporation Event management systems and methods for the distribution of motion control commands
US7191449B2 (en) * 2001-02-16 2007-03-13 Microsoft Corporation System and method for providing componentized transports and forms
US7246351B2 (en) * 2001-02-20 2007-07-17 Jargon Software System and method for deploying and implementing software applications over a distributed network
US7181237B2 (en) 2001-03-15 2007-02-20 Siemens Communications, Inc. Control of a multi-mode, multi-band mobile telephone via a single hardware and software man machine interface
US7380250B2 (en) * 2001-03-16 2008-05-27 Microsoft Corporation Method and system for interacting with devices having different capabilities
US20030153354A1 (en) * 2001-03-16 2003-08-14 Cupps Bryan T. Novel personal electronics device with keypad application
GB2373677B (en) * 2001-03-19 2005-08-10 Nokia Mobile Phones Ltd Client server system
US6996833B1 (en) * 2001-03-27 2006-02-07 Microsoft Corporation Protocol agnostic request response pattern
GB0107784D0 (en) * 2001-03-28 2001-05-16 Hewlett Packard Co Improvement relating to developing documents
US20020147775A1 (en) * 2001-04-06 2002-10-10 Suda Aruna Rohra System and method for displaying information provided by a provider
US7500017B2 (en) * 2001-04-19 2009-03-03 Microsoft Corporation Method and system for providing an XML binary format
US7778816B2 (en) * 2001-04-24 2010-08-17 Microsoft Corporation Method and system for applying input mode bias
US20020158846A1 (en) * 2001-04-30 2002-10-31 Clapper Edward O. Controlling cursor of a pointing device
US7254226B1 (en) * 2001-05-08 2007-08-07 At&T Intellectual Property, Inc. Call waiting priority alert
US7565605B2 (en) * 2001-05-08 2009-07-21 Nokia, Inc. Reorganizing content of an electronic document
US8812398B2 (en) * 2001-05-08 2014-08-19 Qualcomm Incorporated Key for a wireless-enabled device
JP2002345030A (ja) * 2001-05-14 2002-11-29 Fujitsu Ltd ウェブサイトアクセスサービス提供システム
US7155425B2 (en) 2001-05-15 2006-12-26 Nokia Corporation Mobile web services
US7249100B2 (en) 2001-05-15 2007-07-24 Nokia Corporation Service discovery access to user location
US6968334B2 (en) * 2001-05-15 2005-11-22 Nokia Corporation Method and business process to maintain privacy in distributed recommendation systems
AU2002302871A1 (en) * 2001-05-15 2002-11-25 Nokia Corporation Mobile web utilizing services
WO2002093422A1 (en) * 2001-05-15 2002-11-21 Nokia Corporation Method and business process to maintain privacy in distributed recommendation systems
US7272232B1 (en) * 2001-05-30 2007-09-18 Palmsource, Inc. System and method for prioritizing and balancing simultaneous audio outputs in a handheld device
US7380239B1 (en) * 2001-05-31 2008-05-27 Oracle International Corporation Method and mechanism for diagnosing computer applications using traces
US7376937B1 (en) 2001-05-31 2008-05-20 Oracle International Corporation Method and mechanism for using a meta-language to define and analyze traces
US7493397B1 (en) * 2001-06-06 2009-02-17 Microsoft Corporation Providing remote processing services over a distributed communications network
US8266656B2 (en) * 2001-06-06 2012-09-11 Jlb Ventures Llc Method for making selections in search criteria in TV EPGs
EP1333374B1 (en) * 2001-06-11 2016-09-07 Sap Se Dynamic generation of language localized and self-verified Java classes using XML descriptions and static initializers
US6915454B1 (en) 2001-06-12 2005-07-05 Microsoft Corporation Web controls validation
US20030009305A1 (en) * 2001-06-12 2003-01-09 Eden John S. Flexible, extensible, and portable testing platform
US8010702B2 (en) * 2001-06-14 2011-08-30 Nokia Corporation Feature-based device description and content annotation
US7085358B2 (en) 2001-06-25 2006-08-01 Bellsouth Intellectual Property Corporation Visual caller identification
US20100191602A1 (en) * 2001-06-27 2010-07-29 John Mikkelsen Mobile banking and payment platform
US20030003964A1 (en) * 2001-06-27 2003-01-02 Wroblewski Gary T. Method and apparatus for selectively admitting messages to a mobile station
US20100029261A1 (en) * 2001-06-27 2010-02-04 John Mikkelsen Virtual wireless data cable method, apparatus and system
US20100255890A1 (en) * 2001-06-27 2010-10-07 John Mikkelsen Download management of audio and visual content, product method and system
WO2003003235A1 (en) 2001-06-27 2003-01-09 4 Media, Inc. Improved media delivery platform
US20100077022A1 (en) * 2001-06-27 2010-03-25 John Mikkelsen Media delivery platform
US9712582B2 (en) 2001-06-27 2017-07-18 Skky, Llc Telephone initiated protocol-improved media delivery platform
US6826729B1 (en) * 2001-06-29 2004-11-30 Microsoft Corporation Gallery user interface controls
US20040054968A1 (en) * 2001-07-03 2004-03-18 Daniel Savage Web page with system for displaying miniature visual representations of search engine results
US20030093565A1 (en) * 2001-07-03 2003-05-15 Berger Adam L. System and method for converting an attachment in an e-mail for delivery to a device of limited rendering capability
EP1459222A2 (en) * 2001-07-25 2004-09-22 Koninklijke Philips Electronics N.V. Method of and interactive display for exchanging a message
US20030074448A1 (en) * 2001-08-10 2003-04-17 Tadashi Kinebuchi Multimedia information system and computer program
US20030033356A1 (en) * 2001-08-13 2003-02-13 Luu Tran Extensible client aware detection in a wireless portal system
US20040030746A1 (en) * 2001-08-13 2004-02-12 Sathyanarayanan Kavacheri Hierarchical client detection in a wireless portal server
US20040015567A1 (en) * 2001-08-13 2004-01-22 Ziebold Gregory J. Hierarchical client aware content aggregation in a wireless portal system
US7315614B2 (en) 2001-08-14 2008-01-01 At&T Delaware Intellectual Property, Inc. Remote notification of communications
SE0102729D0 (sv) * 2001-08-15 2001-08-15 Phone Pages Sweden Ab Method and apparatus for exchange of information in a communication network
US7093198B1 (en) 2001-08-16 2006-08-15 Nokia Corporation Skins for mobile communication devices
US20030039755A1 (en) * 2001-08-17 2003-02-27 Olga Spaldon-Stewart Coating method for improving oxidation and corrosion resistance of stainless steels
US7692667B2 (en) 2001-08-17 2010-04-06 Palm, Inc. Handheld computer having moveable segments that are interactive with an integrated display
GB0120712D0 (en) * 2001-08-24 2001-10-17 Intuwave Ltd Web server resident on a mobile computing device
US7055104B1 (en) * 2002-03-29 2006-05-30 Digeo, Inc. System and method for focused navigation using filters
US7127238B2 (en) * 2001-08-31 2006-10-24 Openwave Systems Inc. Method and apparatus for using Caller ID information in a browser of a mobile communication device
US20030069998A1 (en) * 2001-08-31 2003-04-10 Brown David W. Motion services protocol accessible through uniform resource locator (URL)
US20040066920A1 (en) * 2001-08-31 2004-04-08 Vandermeijden Tom R. Method and apparatus for automatically populating a contact database in a mobile communication device
US7216294B2 (en) * 2001-09-04 2007-05-08 Microsoft Corporation Method and system for predicting optimal HTML structure without look-ahead
US7567575B2 (en) * 2001-09-07 2009-07-28 At&T Corp. Personalized multimedia services using a mobile service platform
US20030051215A1 (en) * 2001-09-11 2003-03-13 Muneki Nakao Communication apparatus, method of controlling same, and control program
JP2003101607A (ja) * 2001-09-21 2003-04-04 Sharp Corp 通信装置
US7269249B2 (en) 2001-09-28 2007-09-11 At&T Bls Intellectual Property, Inc. Systems and methods for providing user profile information in conjunction with an enhanced caller information system
JP2005507601A (ja) * 2001-10-08 2005-03-17 エムブリッジ システムス インコーポレイテッド 携帯電話端末向けの文字メッセージの生成装置及びその作成方法
FR2831011B1 (fr) * 2001-10-15 2004-01-16 France Telecom Notification de messages par image vectorielle a un terminal
US7466992B1 (en) 2001-10-18 2008-12-16 Iwao Fujisaki Communication device
US7127271B1 (en) 2001-10-18 2006-10-24 Iwao Fujisaki Communication device
US7107081B1 (en) 2001-10-18 2006-09-12 Iwao Fujisaki Communication device
JP2003131988A (ja) * 2001-10-26 2003-05-09 Matsushita Electric Ind Co Ltd ホームページ更新装置、ホームページ更新方法、ホームページ更新プログラム記録媒体およびホームページ更新プログラム
US7151764B1 (en) 2001-11-01 2006-12-19 Nokia Corporation Service notification on a low bluetooth layer
US7555287B1 (en) 2001-11-01 2009-06-30 Nokia Corporation Customized messaging between wireless access point and services
US6744753B2 (en) * 2001-11-01 2004-06-01 Nokia Corporation Local service handover
US20030085927A1 (en) * 2001-11-06 2003-05-08 International Business Machines Corporation Method and apparatus for single selection evaluations in interactive systems
US20030105794A1 (en) * 2001-11-09 2003-06-05 Jasinschi Radu S. Systems for sensing similarity in monitored broadcast content streams and methods of operating the same
US7428725B2 (en) * 2001-11-20 2008-09-23 Microsoft Corporation Inserting devices specific content
US8285880B2 (en) * 2001-11-30 2012-10-09 Oracle International Corporation Servicing requests that are issued in a protocol other than the protocol expected by the service
JP2003178006A (ja) * 2001-12-07 2003-06-27 Nec Corp 通信システム、通信方法、アクション実行装置及びアクション実行装置のプログラム
US6948132B2 (en) 2001-12-12 2005-09-20 International Business Machines Corporation Method for mapping screen display objects with spatial coordinates into an HTML table
JP2003186794A (ja) * 2001-12-13 2003-07-04 Fujitsu Ltd 情報提供プログラム,情報提供プログラムを記録したコンピュータ読取可能な記録媒体及び情報提供装置
US7266591B1 (en) * 2001-12-17 2007-09-04 Verizon Business Global Llc Providing content delivery during a call hold condition
US20030140333A1 (en) * 2001-12-20 2003-07-24 Hitachi, Ltd. Integration of computer system components
WO2003054654A2 (en) 2001-12-21 2003-07-03 Nokia Corporation Location-based novelty index value and recommendation system and method
AU2002351644A1 (en) * 2001-12-26 2003-07-15 Research In Motion Limited User interface and method of viewing unified communications events on a mobile device
US7315618B1 (en) 2001-12-27 2008-01-01 At&T Bls Intellectual Property, Inc. Voice caller ID
US7620908B2 (en) * 2001-12-28 2009-11-17 Sap Ag Managing a user interface
FI114957B (fi) 2001-12-31 2005-01-31 Nokia Corp Menetelmä ja järjestelmä matkaviestintään
US20030135477A1 (en) * 2002-01-17 2003-07-17 Elsey Nicholas J. Technique for effectively collecting and analyzing data in providing information assistance services
US7890639B1 (en) * 2002-01-30 2011-02-15 Novell, Inc. Method and apparatus for controlling access to portal content from outside the portal
FR2835332A1 (fr) * 2002-01-30 2003-08-01 Jean Francois Berthier Procede et systeme pour generer sans besoin de programmation une application sur un equipement mobile
US7987421B1 (en) 2002-01-30 2011-07-26 Boyd H Timothy Method and apparatus to dynamically provide web content resources in a portal
US20030144846A1 (en) * 2002-01-31 2003-07-31 Denenberg Lawrence A. Method and system for modifying the behavior of an application based upon the application's grammar
US7457398B2 (en) * 2002-01-31 2008-11-25 Comverse, Inc. Methods and systems for providing voicemail services
AU2003214975A1 (en) * 2002-02-01 2003-09-02 John Fairweather System and method for navigating data
EP1333638B1 (en) * 2002-02-04 2008-12-17 Koninklijke KPN N.V. Method and system for transmitting information over a communication network
US7340214B1 (en) 2002-02-13 2008-03-04 Nokia Corporation Short-range wireless system and method for multimedia tags
US20030163444A1 (en) * 2002-02-27 2003-08-28 Michael Kotzin Method to optimize information downloading
US7249182B1 (en) 2002-02-27 2007-07-24 Nokia Corporation Personal profile sharing and management for short-range wireless terminals
JP4206673B2 (ja) * 2002-03-04 2009-01-14 セイコーエプソン株式会社 画像または音声の入出力制御
US8099680B1 (en) 2002-03-12 2012-01-17 Arris Group, Inc. System and method of contextual pre-tuning
JP2003337699A (ja) * 2002-03-13 2003-11-28 Saora Inc 情報処理装置及びその方法、及びそのプログラムを記憶した記憶媒体
US7102640B1 (en) 2002-03-21 2006-09-05 Nokia Corporation Service/device indication with graphical interface
US20060075070A1 (en) * 2002-04-02 2006-04-06 Patrick Merissert-Coffinieres Development and deployment of mobile and desktop applications within a flexible markup-based distributed architecture
US7562053B2 (en) * 2002-04-02 2009-07-14 Soluble Technologies, Llc System and method for facilitating transactions between two or more parties
US7120641B2 (en) * 2002-04-05 2006-10-10 Saora Kabushiki Kaisha Apparatus and method for extracting data
US20030195896A1 (en) * 2002-04-15 2003-10-16 Suda Aruna Rohra Method and apparatus for managing imported or exported data
AU2003218938A1 (en) * 2002-04-16 2003-11-03 Mobile Operandi Communications Corp. Method and system of over-the-air activation and modification of a mobile phone
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US7640504B2 (en) * 2002-04-22 2009-12-29 Hewlett-Packard Development Company, L.P. Method and system for exporting menu objects to a peripheral using a direct data entry structure
US20040203854A1 (en) * 2002-04-26 2004-10-14 Nowak Steven P. Formatting location information based on output device specifications
US7421661B1 (en) 2002-04-30 2008-09-02 Aol Llc Instant messaging interface having an informational tool tip
US7127685B2 (en) 2002-04-30 2006-10-24 America Online, Inc. Instant messaging interface having a tear-off element
US20080040675A1 (en) * 2002-04-30 2008-02-14 Aol Llc Instant messaging interface having a tear-off element
US7281215B1 (en) * 2002-04-30 2007-10-09 Aol Llc IM conversation counter and indicator
US7325194B2 (en) 2002-05-07 2008-01-29 Microsoft Corporation Method, system, and apparatus for converting numbers between measurement systems based upon semantically labeled strings
US7707496B1 (en) 2002-05-09 2010-04-27 Microsoft Corporation Method, system, and apparatus for converting dates between calendars and languages based upon semantically labeled strings
US8140642B1 (en) * 2002-05-17 2012-03-20 Mcafee, Inc. Network connection-independent updating system and method
GB0211901D0 (en) * 2002-05-23 2002-07-03 Koninkl Philips Electronics Nv Management of interaction opportunity data
US7707024B2 (en) * 2002-05-23 2010-04-27 Microsoft Corporation Method, system, and apparatus for converting currency values based upon semantically labeled strings
US7742048B1 (en) 2002-05-23 2010-06-22 Microsoft Corporation Method, system, and apparatus for converting numbers based upon semantically labeled strings
US7827546B1 (en) 2002-06-05 2010-11-02 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
US7281245B2 (en) * 2002-06-05 2007-10-09 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
US7103313B2 (en) * 2002-06-05 2006-09-05 Nokia Corporation Automatic determination of access point content and services for short-range wireless terminals
US7356537B2 (en) * 2002-06-06 2008-04-08 Microsoft Corporation Providing contextually sensitive tools and help content in computer-generated documents
US7822609B2 (en) * 2002-06-14 2010-10-26 Nuance Communications, Inc. Voice browser with integrated TCAP and ISUP interfaces
US7716676B2 (en) 2002-06-25 2010-05-11 Microsoft Corporation System and method for issuing a message to a program
US7392479B2 (en) 2002-06-27 2008-06-24 Microsoft Corporation System and method for providing namespace related information
US7209915B1 (en) 2002-06-28 2007-04-24 Microsoft Corporation Method, system and apparatus for routing a query to one or more providers
US7278117B2 (en) * 2002-07-02 2007-10-02 Hewlett-Packard Development Company, L.P. Image segmentation and warping for specialized display viewing
US7623645B1 (en) 2002-07-23 2009-11-24 At&T Intellectual Property, I, L.P. System and method for gathering information related to a geographical location of a caller in a public switched telephone network
US7139374B1 (en) 2002-07-23 2006-11-21 Bellsouth Intellectual Property Corp. System and method for gathering information related to a geographical location of a callee in a public switched telephone network
US7512954B2 (en) * 2002-07-29 2009-03-31 Oracle International Corporation Method and mechanism for debugging a series of related events within a computer system
US7200588B1 (en) 2002-07-29 2007-04-03 Oracle International Corporation Method and mechanism for analyzing trace data using a database management system
US7165190B1 (en) 2002-07-29 2007-01-16 Oracle International Corporation Method and mechanism for managing traces within a computer system
US7007064B2 (en) * 2002-08-02 2006-02-28 Motorola, Inc. Method and apparatus for obtaining and managing wirelessly communicated content
US20040027326A1 (en) * 2002-08-06 2004-02-12 Grace Hays System for and method of developing a common user interface for mobile applications
US20040027378A1 (en) * 2002-08-06 2004-02-12 Hays Grace L. Creation of user interfaces for multiple devices
US20040027377A1 (en) * 2002-08-06 2004-02-12 Grace Hays User interface design and validation including dynamic data
FR2843515B1 (fr) * 2002-08-08 2004-11-12 Eastman Kodak Co Procede de mise en page de messages multimedias
US7233658B2 (en) * 2002-08-13 2007-06-19 At&T Knowledge Ventures, L.P. Flexible ring-tone service
US7570943B2 (en) * 2002-08-29 2009-08-04 Nokia Corporation System and method for providing context sensitive recommendations to digital services
US7376126B1 (en) 2002-09-06 2008-05-20 At&T Delaware Intellectual Property, Inc. Systems and methods for messaging using a broadband connection
US7069497B1 (en) * 2002-09-10 2006-06-27 Oracle International Corp. System and method for applying a partial page change
US20080313282A1 (en) * 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
US8301884B2 (en) * 2002-09-16 2012-10-30 Samsung Electronics Co., Ltd. Method of managing metadata
US7127082B2 (en) * 2002-09-27 2006-10-24 Hrl Laboratories, Llc Active fiducials for augmented reality
US20040061717A1 (en) * 2002-09-30 2004-04-01 Menon Rama R. Mechanism for voice-enabling legacy internet content for use with multi-modal browsers
US7574653B2 (en) 2002-10-11 2009-08-11 Microsoft Corporation Adaptive image formatting control
US20040080544A1 (en) * 2002-10-29 2004-04-29 Stripling Jeffrey Ricks System and method for providing network access to devices using numeric input
US7796977B2 (en) 2002-11-18 2010-09-14 Research In Motion Limited Voice mailbox configuration methods and apparatus for mobile communication devices
US8176428B2 (en) 2002-12-03 2012-05-08 Datawind Net Access Corporation Portable internet access device back page cache
US20040155903A1 (en) * 2002-12-16 2004-08-12 Schneeberg Brian D. Methods and systems for visualizing categorized information
US8561069B2 (en) * 2002-12-19 2013-10-15 Fujitsu Limited Task computing
US8737981B2 (en) 2002-12-19 2014-05-27 Qualcomm Incorporated Downloadable configuring application for a wireless device
US7552168B2 (en) * 2002-12-30 2009-06-23 International Business Machines Corporation Method and apparatus for exchanging data using programmatic conversion to emulated HTML form data
US7467227B1 (en) 2002-12-31 2008-12-16 At&T Corp. System using policy filter decision to map data traffic to virtual networks for forwarding the traffic in a regional access network
US7543238B2 (en) * 2003-01-21 2009-06-02 Microsoft Corporation System and method for directly accessing functionality provided by an application
US8229512B1 (en) 2003-02-08 2012-07-24 Iwao Fujisaki Communication device
US7783614B2 (en) * 2003-02-13 2010-08-24 Microsoft Corporation Linking elements of a document to corresponding fields, queries and/or procedures in a database
US7072890B2 (en) * 2003-02-21 2006-07-04 The United States Of America As Represented By The Secretary Of The Air Force Method and apparatus for improved web scraping
US20040172584A1 (en) * 2003-02-28 2004-09-02 Microsoft Corporation Method and system for enhancing paste functionality of a computer software application
US20040181517A1 (en) * 2003-03-13 2004-09-16 Younghee Jung System and method for social interaction
US7290220B2 (en) * 2003-04-03 2007-10-30 International Business Machines Corporation Method and apparatus for non-sequential access of form fields
US8241128B1 (en) 2003-04-03 2012-08-14 Iwao Fujisaki Communication device
US6956591B2 (en) * 2003-04-17 2005-10-18 Nokia Corporation Smooth scrolling with highlighted navigation and marking of page changes
US7443964B2 (en) 2003-04-18 2008-10-28 At&T Intellectual Property, I,L.P. Caller ID messaging
US7978833B2 (en) 2003-04-18 2011-07-12 At&T Intellectual Property I, L.P. Private caller ID messaging
US8190989B1 (en) * 2003-04-29 2012-05-29 Google Inc. Methods and apparatus for assisting in completion of a form
US7711550B1 (en) 2003-04-29 2010-05-04 Microsoft Corporation Methods and system for recognizing names in a computer-generated document and for providing helpful actions associated with recognized names
US7295852B1 (en) 2003-05-01 2007-11-13 Palm, Inc. Automated telephone conferencing method and system
US7434175B2 (en) * 2003-05-19 2008-10-07 Jambo Acquisition, Llc Displaying telephone numbers as active objects
EP1630692A4 (en) * 2003-05-19 2007-04-11 Saora Kabushiki Kaisha ASSOCIATED INFORMATION PROCESSING METHOD, APPARATUS AND PROGRAM
US7496858B2 (en) * 2003-05-19 2009-02-24 Jambo Acquisition, Llc Telephone call initiation through an on-line search
US7240290B2 (en) * 2003-05-19 2007-07-03 John Melideo Telephone call initiation through an on-line search
US7103010B2 (en) * 2003-05-19 2006-09-05 Jambotech, Llc Application independent telephone call initiation
US7277697B2 (en) * 2003-05-23 2007-10-02 Adesh Desai Method and system for establishing a teleconference over a telephony network
US20040250220A1 (en) * 2003-06-09 2004-12-09 Mika Kalenius System, apparatus, and method for navigation in a hypertext document
US20050021851A1 (en) * 2003-06-09 2005-01-27 Kimmo Hamynen System, apparatus, and method for directional control input browsing in smart phones
JP4244714B2 (ja) * 2003-06-10 2009-03-25 日本電気株式会社 携帯通信端末、および、通信情報選択方法
AU2003242409A1 (en) * 2003-06-13 2005-01-04 Obic Business Consultants Co., Ltd. Basic work processing system
CN101714238A (zh) * 2003-06-13 2010-05-26 欧比克商务咨询有限公司 基础业务处理系统、基础业务处理程序
US7865180B2 (en) 2003-06-23 2011-01-04 Palm, Inc. Automated telephone conferencing method and system
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US7739588B2 (en) 2003-06-27 2010-06-15 Microsoft Corporation Leveraging markup language data for semantically labeling text strings and data and for providing actions based on semantically labeled text strings and data
US8799808B2 (en) * 2003-07-01 2014-08-05 Microsoft Corporation Adaptive multi-line view user interface
US7707255B2 (en) 2003-07-01 2010-04-27 Microsoft Corporation Automatic grouping of electronic mail
US7392249B1 (en) 2003-07-01 2008-06-24 Microsoft Corporation Methods, systems, and computer-readable mediums for providing persisting and continuously updating search folders
US7716593B2 (en) 2003-07-01 2010-05-11 Microsoft Corporation Conversation grouping of electronic mail records
WO2005008480A2 (en) * 2003-07-10 2005-01-27 Computer Associates Think, Inc. System and method for generating a web-enabled graphical user interface plug-in
WO2005008477A2 (en) * 2003-07-11 2005-01-27 Computer Associates Think, Inc. System and method for dynamic generation of a graphical user interface
WO2005008469A2 (en) * 2003-07-11 2005-01-27 Computer Associates Think, Inc. System and method for generating a graphical user interface (gui) element
US20050015465A1 (en) * 2003-07-16 2005-01-20 Ziebold Gregory J. System and method for client aware request dispatching in a portal server
US20050015474A1 (en) * 2003-07-16 2005-01-20 Kavacheri Sathyanarayanan N. Extensible customizable structured and managed client data storage
EP1652048A4 (en) 2003-07-21 2009-04-15 Fusionone Inc ORDERING NEWS MANAGEMENT SYSTEM
JP2005070827A (ja) * 2003-08-22 2005-03-17 Canon Inc 構造化文書データおよびコンテンツ処理方法およびその処理を実行するためのプログラムおよびそのプログラムを記憶した記憶媒体
WO2005026946A2 (en) * 2003-09-17 2005-03-24 Research In Motion Limited System and method for dynamic content processing with extendable provisioning
JP4414181B2 (ja) 2003-09-19 2010-02-10 株式会社Access メッセージ表示端末及びゲートウェイサーバ、並びにメッセージ表示端末用プログラム及びゲートウェイサーバ用プログラム
US20070022194A1 (en) * 2003-09-25 2007-01-25 Brown David W Database event driven motion systems
US20060064503A1 (en) * 2003-09-25 2006-03-23 Brown David W Data routing systems and methods
US8027349B2 (en) 2003-09-25 2011-09-27 Roy-G-Biv Corporation Database event driven motion systems
US8090402B1 (en) 2003-09-26 2012-01-03 Iwao Fujisaki Communication device
NO319625B1 (no) * 2003-09-26 2005-09-05 Opera Software Asa Presentasjon av fjerntliggende og lokal informasjon i en web browser
WO2005031568A1 (en) * 2003-09-26 2005-04-07 Opera Software Asa Presenting remote and local information in a web browser
US20050097185A1 (en) * 2003-10-07 2005-05-05 Simon Gibson Localization link system
US10437964B2 (en) 2003-10-24 2019-10-08 Microsoft Technology Licensing, Llc Programming interface for licensing
US20050097189A1 (en) * 2003-10-30 2005-05-05 Avaya Technology Corp. Automatic detection and dialing of phone numbers on web pages
US8656274B2 (en) * 2003-10-30 2014-02-18 Avaya Inc. Automatic identification and storage of context information associated with phone numbers in computer documents
US20050262435A1 (en) * 2003-10-30 2005-11-24 Avaya Technology Corp. Automatic detection and dialing of phone numbers on computer documents
US8095882B2 (en) * 2003-10-30 2012-01-10 Avaya Technology Corp. Additional functionality for telephone numbers and utilization of context information associated with telephone numbers in computer documents
US20050097489A1 (en) * 2003-11-03 2005-05-05 Seward Robert Y. Method and system for producing a reduced bounding box
US7623849B2 (en) 2003-11-13 2009-11-24 At&T Intellectual Property, I, L.P. Method, system, and storage medium for providing comprehensive originator identification services
EP1690173A4 (en) * 2003-11-17 2010-04-21 Roy G Biv Corp COMMAND PROCESSING SYSTEMS AND METHODS
US7917167B1 (en) 2003-11-22 2011-03-29 Iwao Fujisaki Communication device
US7487515B1 (en) 2003-12-09 2009-02-03 Microsoft Corporation Programmable object model for extensible markup language schema validation
US7178102B1 (en) 2003-12-09 2007-02-13 Microsoft Corporation Representing latent data in an extensible markup language document
US7404195B1 (en) 2003-12-09 2008-07-22 Microsoft Corporation Programmable object model for extensible markup language markup in an application
US7434157B2 (en) 2003-12-09 2008-10-07 Microsoft Corporation Programmable object model for namespace or schema library support in a software application
US7434158B2 (en) * 2003-12-10 2008-10-07 International Business Machines Corporation Presenting multimodal web page content on sequential multimode devices
US8117280B2 (en) * 2003-12-12 2012-02-14 Fujitsu Limited Task computing
US8683347B2 (en) * 2003-12-18 2014-03-25 Blackberry Limited Computer peripheral product and method of branding utility software associated with same
EP1544730B1 (en) * 2003-12-18 2007-08-15 Research In Motion Limited Computer peripheral product and method of branding utility software associated with same
US7363294B2 (en) * 2003-12-19 2008-04-22 Fuji Xerox Co., Ltd. Indexing for contextual revisitation and digest generation
US20050136837A1 (en) * 2003-12-22 2005-06-23 Nurminen Jukka K. Method and system for detecting and using context in wireless networks
WO2005062175A2 (en) * 2003-12-23 2005-07-07 Corizon Limited Method and apparatus for composite user interface creation
US7672444B2 (en) 2003-12-24 2010-03-02 At&T Intellectual Property, I, L.P. Client survey systems and methods using caller identification information
US8007847B2 (en) * 2004-01-13 2011-08-30 Eytan Biderman Feeding formula appliance
US8001120B2 (en) * 2004-02-12 2011-08-16 Microsoft Corporation Recent contacts and items
US7509573B1 (en) 2004-02-17 2009-03-24 Microsoft Corporation Anti-virus security information in an extensible markup language document
US20050182617A1 (en) * 2004-02-17 2005-08-18 Microsoft Corporation Methods and systems for providing automated actions on recognized text strings in a computer-generated document
GB2411331A (en) * 2004-02-19 2005-08-24 Trigenix Ltd Rendering user interface using actor attributes
US20050193370A1 (en) * 2004-02-27 2005-09-01 Goring Brian R. System and method for interactive wireless applications with conditional UI controls and screen navigation
US20050208929A1 (en) * 2004-03-05 2005-09-22 Robert Zmrzli Method and apparatus for providing updated network content to target devices
US20050198353A1 (en) * 2004-03-05 2005-09-08 Robert Zmrzli Method and apparatus for providing dynamic network content to target devices
US20050208930A1 (en) * 2004-03-05 2005-09-22 Robert Zmrzli Method and apparatus for arranging network content on mobile devices
US7555707B1 (en) 2004-03-12 2009-06-30 Microsoft Corporation Method and system for data binding in a block structured user interface scripting language
US8041348B1 (en) 2004-03-23 2011-10-18 Iwao Fujisaki Communication device
US20050216484A1 (en) * 2004-03-25 2005-09-29 Firebaugh Joseph E Accessability synopsis containers for large data sets
US20050216834A1 (en) * 2004-03-29 2005-09-29 Microsoft Corporation Method, apparatus, and computer-readable medium for dynamically rendering a user interface menu
US9734222B1 (en) 2004-04-06 2017-08-15 Jpmorgan Chase Bank, N.A. Methods and systems for using script files to obtain, format and transport data
US7472115B2 (en) * 2004-04-29 2008-12-30 International Business Machines Corporation Contextual flyout for search results
US7890604B2 (en) * 2004-05-07 2011-02-15 Microsoft Corproation Client-side callbacks to server events
US20050251380A1 (en) * 2004-05-10 2005-11-10 Simon Calvert Designer regions and Interactive control designers
ES2585353T3 (es) 2004-05-12 2016-10-05 Synchronoss Technologies, Inc. Sistema de identificación de contactos avanzado
US9542076B1 (en) 2004-05-12 2017-01-10 Synchronoss Technologies, Inc. System for and method of updating a personal profile
US20050256923A1 (en) * 2004-05-14 2005-11-17 Citrix Systems, Inc. Methods and apparatus for displaying application output on devices having constrained system resources
US9026578B2 (en) * 2004-05-14 2015-05-05 Microsoft Corporation Systems and methods for persisting data between web pages
US7849412B2 (en) * 2004-05-21 2010-12-07 Computer Associates Think, Inc. System and method for generating a web control in a Windows development environment
CN1319359C (zh) * 2004-06-07 2007-05-30 华为技术有限公司 一种来话接入方法
KR100566230B1 (ko) * 2004-06-24 2006-03-29 삼성전자주식회사 이동통신 단말기에서 전화번호와 연관된 기능 수행 방법
US8195136B2 (en) 2004-07-15 2012-06-05 At&T Intellectual Property I, L.P. Methods of providing caller identification information and related registries and radiotelephone networks
US20060026287A1 (en) * 2004-07-30 2006-02-02 Lockheed Martin Corporation Embedded processes as a network service
US7703036B2 (en) * 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US8117542B2 (en) 2004-08-16 2012-02-14 Microsoft Corporation User interface for displaying selectable software functionality controls that are contextually relevant to a selected object
US7895531B2 (en) 2004-08-16 2011-02-22 Microsoft Corporation Floating command object
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US8146016B2 (en) 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
US20060056626A1 (en) * 2004-09-16 2006-03-16 International Business Machines Corporation Method and system for selectively masking the display of data field values
US7117112B2 (en) * 2004-09-22 2006-10-03 Research In Motion Limited Method and system for the interactive testing of assembled wireless communication devices
US7165003B2 (en) * 2004-09-22 2007-01-16 Research In Motion Limited Method and system for testing assembled mobile devices
US7747966B2 (en) 2004-09-30 2010-06-29 Microsoft Corporation User interface for providing task management and calendar information
US20060075075A1 (en) * 2004-10-01 2006-04-06 Malinen Jouni I Method and system to contextually initiate synchronization services on mobile terminals in an enterprise environment
DE602004005054T2 (de) * 2004-11-09 2007-07-12 Research In Motion Ltd., Waterloo Benutzerschnittstelle mit dynamischer Leiste
US8402384B2 (en) 2004-11-09 2013-03-19 Research In Motion Limited Dynamic bar oriented user interface
US8065336B2 (en) * 2004-12-20 2011-11-22 Fujitsu Limited Data semanticizer
JP2006202269A (ja) * 2004-12-22 2006-08-03 Canon Inc 情報処理装置、情報処理装置の制御方法およびそのプログラム、記憶媒体
US20060205399A1 (en) * 2005-01-03 2006-09-14 Anku Jain Method for simulating communication functions of a mobile phone according to a markup language and related device thereof
US20060159432A1 (en) * 2005-01-14 2006-07-20 Citrix Systems, Inc. System and methods for automatic time-warped playback in rendering a recorded computer session
US8230096B2 (en) * 2005-01-14 2012-07-24 Citrix Systems, Inc. Methods and systems for generating playback instructions for playback of a recorded computer session
US8935316B2 (en) 2005-01-14 2015-01-13 Citrix Systems, Inc. Methods and systems for in-session playback on a local machine of remotely-stored and real time presentation layer protocol data
US7831728B2 (en) 2005-01-14 2010-11-09 Citrix Systems, Inc. Methods and systems for real-time seeking during real-time playback of a presentation layer protocol data stream
US8200828B2 (en) * 2005-01-14 2012-06-12 Citrix Systems, Inc. Systems and methods for single stack shadowing
US8340130B2 (en) * 2005-01-14 2012-12-25 Citrix Systems, Inc. Methods and systems for generating playback instructions for rendering of a recorded computer session
US8296441B2 (en) 2005-01-14 2012-10-23 Citrix Systems, Inc. Methods and systems for joining a real-time session of presentation layer protocol data
US8145777B2 (en) 2005-01-14 2012-03-27 Citrix Systems, Inc. Method and system for real-time seeking during playback of remote presentation protocols
JP2008527563A (ja) * 2005-01-16 2008-07-24 ズランゴー リミテッド アイコニック通信
EP1872604A4 (en) * 2005-01-16 2010-01-20 Zlango Ltd COMMUNICATION NETWORK SYSTEM AND METHODS OF USE
US8019818B2 (en) * 2005-01-18 2011-09-13 Zlango Ltd. Communications network system and methods for using same
US8744350B2 (en) 2005-01-18 2014-06-03 Zlango Ltd. Activating an application
CA2583840A1 (en) * 2005-02-22 2006-08-31 Nextair Corporation Extending access to local software of a wireless device
US20070057921A1 (en) * 2005-03-17 2007-03-15 Jenkins Phillip D Standardized/extensible semantics in device independent navigation shortcuts in an application
US20060209035A1 (en) * 2005-03-17 2006-09-21 Jenkins Phillip D Device independent specification of navigation shortcuts in an application
US7277691B1 (en) * 2005-03-24 2007-10-02 Sprint Spectrum L.P. Method and system for management of call tones
US7894807B1 (en) * 2005-03-30 2011-02-22 Openwave Systems Inc. System and method for routing a wireless connection in a hybrid network
US8208954B1 (en) 2005-04-08 2012-06-26 Iwao Fujisaki Communication device
US7885397B2 (en) * 2005-04-25 2011-02-08 International Business Machines Corporation On-demand seamless phone number updates
US20060253788A1 (en) * 2005-05-09 2006-11-09 Nokia Corporation Method, apparatus and computer program to provide a display screen button placement hint property
US9626683B2 (en) * 2005-05-20 2017-04-18 Anchorfree, Inc. Method and system for advanced messaging
JP4624182B2 (ja) * 2005-06-03 2011-02-02 Lunascape株式会社 情報処理装置、メッセージ表示方法、コンピュータ実行可能なメッセージ、および表示プログラム
US7886290B2 (en) 2005-06-16 2011-02-08 Microsoft Corporation Cross version and cross product user interface
US20070022367A1 (en) * 2005-06-30 2007-01-25 Nokia Corporation Multidimensional tabbing for electronic devices
US7672931B2 (en) * 2005-06-30 2010-03-02 Microsoft Corporation Searching for content using voice search queries
KR100750188B1 (ko) * 2005-08-23 2007-08-17 삼성전자주식회사 이동통신단말기에서 메시지 입력 오류를 방지하기 위한방법
US8239882B2 (en) 2005-08-30 2012-08-07 Microsoft Corporation Markup based extensibility for user interfaces
US8689137B2 (en) 2005-09-07 2014-04-01 Microsoft Corporation Command user interface for displaying selectable functionality controls in a database application
US7509374B2 (en) * 2005-09-09 2009-03-24 Alchemic Solutions Group, Inc. Systems and methods for creating customized applications
US9542667B2 (en) 2005-09-09 2017-01-10 Microsoft Technology Licensing, Llc Navigating messages within a thread
US7647175B2 (en) * 2005-09-09 2010-01-12 Rembrandt Technologies, Lp Discrete inertial display navigation
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US20070057911A1 (en) * 2005-09-12 2007-03-15 Sina Fateh System and method for wireless network content conversion for intuitively controlled portable displays
US7739259B2 (en) 2005-09-12 2010-06-15 Microsoft Corporation Integrated search and find user interface
US8781532B2 (en) * 2005-09-19 2014-07-15 Google Inc. Customized data retrieval applications for mobile devices providing interpretation of markup language data
US7992085B2 (en) 2005-09-26 2011-08-02 Microsoft Corporation Lightweight reference user interface
US7788590B2 (en) * 2005-09-26 2010-08-31 Microsoft Corporation Lightweight reference user interface
US8191008B2 (en) 2005-10-03 2012-05-29 Citrix Systems, Inc. Simulating multi-monitor functionality in a single monitor environment
US8694925B1 (en) * 2005-10-05 2014-04-08 Google Inc. Generating customized graphical user interfaces for mobile processing devices
WO2007047986A1 (en) * 2005-10-21 2007-04-26 Wisconsin Alumni Research Foundation Method and system for delivering nucleic acid into a target cell
KR100689499B1 (ko) * 2005-10-26 2007-03-02 삼성전자주식회사 휴대단말기에서 키 설정 정보 디스플레이 방법
KR100739748B1 (ko) * 2005-10-31 2007-07-13 삼성전자주식회사 Xml 문서를 이용한 디바이스 제어 방법 및 그 시스템
US20070105545A1 (en) * 2005-11-04 2007-05-10 Motorola, Inc. Color coding recent call list entries
US20090063645A1 (en) * 2005-11-30 2009-03-05 Qwest Communications Internatinal Inc. System and method for supporting messaging using a set top box
US8621531B2 (en) * 2005-11-30 2013-12-31 Qwest Communications International Inc. Real-time on demand server
US20090007171A1 (en) * 2005-11-30 2009-01-01 Qwest Communications International Inc. Dynamic interactive advertisement insertion into content stream delivered through ip network
US8752090B2 (en) * 2005-11-30 2014-06-10 Qwest Communications International Inc. Content syndication to set top box through IP network
US8583758B2 (en) * 2005-11-30 2013-11-12 Qwest Communications International Inc. Network based format conversion
KR100729622B1 (ko) * 2005-12-01 2007-06-19 삼성전자주식회사 멀디미디어 컨텐츠 재생 방법 및 장치
NO325961B1 (no) * 2005-12-05 2008-08-25 Holte Bjoern System, prosess og softwarearrangement for å assistere i navigering på inernett
US7941126B2 (en) * 2005-12-16 2011-05-10 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for delivering ring tones on a communication network by associating ring tones with media files
US20070157117A1 (en) * 2005-12-20 2007-07-05 Nokia Corporation Apparatus, method and computer program product providing user interface configurable command placement logic
US9008075B2 (en) 2005-12-22 2015-04-14 Genesys Telecommunications Laboratories, Inc. System and methods for improving interaction routing performance
US20070162566A1 (en) * 2006-01-11 2007-07-12 Nimesh Desai System and method for using a mobile device to create and access searchable user-created content
EP1977312A2 (en) 2006-01-16 2008-10-08 Zlango Ltd. Iconic communication
IL173663A0 (en) 2006-02-12 2006-08-01 Celltick Technologies Ltd System and method for displaying personalized content on personal cellular telecommunication devices
US9251520B2 (en) * 2006-02-22 2016-02-02 Google Inc. Distributing mobile advertisements
TW200732926A (en) * 2006-02-24 2007-09-01 Hon Hai Prec Ind Co Ltd Embedded device
US8739027B2 (en) * 2006-03-01 2014-05-27 Infogin, Ltd. Methods and apparatus for enabling use of web content on various types of devices
US20080040139A1 (en) * 2006-03-20 2008-02-14 Sms.Ac Systems and methods for generation, registration and mobile phone billing of a music pod system
US8972872B2 (en) 2006-03-27 2015-03-03 Fujitsu Limited Building computing applications based upon metadata
US9710818B2 (en) 2006-04-03 2017-07-18 Kontera Technologies, Inc. Contextual advertising techniques for implemented at mobile devices
US8682712B2 (en) * 2006-05-22 2014-03-25 Google Inc. Monitoring landing page experiments
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US8605090B2 (en) 2006-06-01 2013-12-10 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
US7761590B2 (en) * 2006-06-12 2010-07-20 Nokia Corporation Method, apparatus, mobile terminal and computer program product for converting from a first forms markup language to a second forms markup language
IL176274A0 (en) * 2006-06-13 2007-05-15 Celltick Technologies Ltd Web content distribution to personal cellular telecommunications devices
US20080037720A1 (en) * 2006-07-27 2008-02-14 Speechphone, Llc Voice Activated Communication Using Automatically Updated Address Books
US20080072139A1 (en) * 2006-08-20 2008-03-20 Robert Salinas Mobilizing Webpages by Selecting, Arranging, Adapting, Substituting and/or Supplementing Content for Mobile and/or other Electronic Devices; and Optimizing Content for Mobile and/or other Electronic Devices; and Enhancing Usability of Mobile Devices
US7835514B1 (en) 2006-09-18 2010-11-16 Avaya Inc. Provide a graceful transfer out of active wait treatment
US20080077653A1 (en) * 2006-09-26 2008-03-27 Morris Robert P Methods, systems, and computer program products for enabling dynamic content in a markup-language-based page using a dynamic markup language element
IL180168A0 (en) 2006-12-19 2007-06-03 Celltick Technologies Ltd Mobile advertising packages for displaying advertisement display messages on personal cellular telecommunications devices
IL180542A0 (en) * 2007-01-04 2007-07-04 Celltick Technologies Ltd Mobile advertising on personal cellular telecommunications devices
US7774020B2 (en) * 2007-01-05 2010-08-10 Connectsoft, Inc. Method and system for ascertaining whether multiple radios are associated with a single wireless device
US20080208752A1 (en) * 2007-02-23 2008-08-28 Microsoft Corporation Content communication and purchase using a computer-based media component
US7584294B2 (en) * 2007-03-12 2009-09-01 Citrix Systems, Inc. Systems and methods for prefetching objects for caching using QOS
US7809818B2 (en) * 2007-03-12 2010-10-05 Citrix Systems, Inc. Systems and method of using HTTP head command for prefetching
US8074028B2 (en) 2007-03-12 2011-12-06 Citrix Systems, Inc. Systems and methods of providing a multi-tier cache
US7720936B2 (en) * 2007-03-12 2010-05-18 Citrix Systems, Inc. Systems and methods of freshening and prefreshening a DNS cache
US8504775B2 (en) 2007-03-12 2013-08-06 Citrix Systems, Inc Systems and methods of prefreshening cached objects based on user's current web page
US7783757B2 (en) * 2007-03-12 2010-08-24 Citrix Systems, Inc. Systems and methods of revalidating cached objects in parallel with request for object
US8701010B2 (en) * 2007-03-12 2014-04-15 Citrix Systems, Inc. Systems and methods of using the refresh button to determine freshness policy
US8037126B2 (en) * 2007-03-12 2011-10-11 Citrix Systems, Inc. Systems and methods of dynamically checking freshness of cached objects based on link status
US8103783B2 (en) 2007-03-12 2012-01-24 Citrix Systems, Inc. Systems and methods of providing security and reliability to proxy caches
KR100855495B1 (ko) * 2007-03-13 2008-09-01 삼성전자주식회사 휴대용 단말기의 네트워크 파라미터 자동설정 장치 및 방법
US8559983B1 (en) 2007-05-03 2013-10-15 Iwao Fujisaki Communication device
US7890089B1 (en) 2007-05-03 2011-02-15 Iwao Fujisaki Communication device
US20080288449A1 (en) * 2007-05-17 2008-11-20 Sang-Heun Kim Method and system for an aggregate web site search database
US7984455B2 (en) * 2007-05-30 2011-07-19 Sony Ericsson Mobile Communications Ab Enhanced native contact book application
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US8201103B2 (en) 2007-06-29 2012-06-12 Microsoft Corporation Accessing an out-space user interface for a document editor program
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US8176431B1 (en) * 2007-07-30 2012-05-08 Sprint Communications Company L.P. Overlay menus for web interaction
IL184963A0 (en) * 2007-07-31 2008-01-06 Celltick Technologies Ltd Data collection and reporting of user activity of users of personal cellular telecommunications devices
US9235850B1 (en) 2007-08-13 2016-01-12 Google Inc. Adaptation of web-based text ads to mobile devices
US8160226B2 (en) 2007-08-22 2012-04-17 At&T Intellectual Property I, L.P. Key word programmable caller ID
US8243909B2 (en) 2007-08-22 2012-08-14 At&T Intellectual Property I, L.P. Programmable caller ID
US8676273B1 (en) 2007-08-24 2014-03-18 Iwao Fujisaki Communication device
CN101145945B (zh) * 2007-08-29 2012-07-18 中兴通讯股份有限公司 一种电信网络管理中消息总线系统及控制方法
US8126519B2 (en) 2007-08-31 2012-02-28 Hewlett-Packard Development Company, L.P. Housing for mobile computing device having construction to slide and pivot into multiple positions
US8296643B1 (en) 2007-10-18 2012-10-23 Google Inc. Running multiple web page experiments on a test page
US8639214B1 (en) 2007-10-26 2014-01-28 Iwao Fujisaki Communication device
US8472935B1 (en) 2007-10-29 2013-06-25 Iwao Fujisaki Communication device
US7996045B1 (en) 2007-11-09 2011-08-09 Google Inc. Providing interactive alert information
ES2401831T3 (es) * 2007-11-19 2013-04-24 Mallinckrodt Llc Inyector automático con mensajeria de estado
US8150482B2 (en) 2008-01-08 2012-04-03 Hewlett-Packard Development Company, L.P. Mobile computing device with moveable housing segments
US8233948B2 (en) 2007-12-11 2012-07-31 Hewlett-Packard Development Company, L.P. Slider assembly for a housing of a mobile computing device
DE102007059972A1 (de) * 2007-12-11 2009-06-18 T-Mobile Internationale Ag Implementierung des User Interfaces von Mobiltelefonen auf Basis von Browser Technologie
US20090164949A1 (en) * 2007-12-20 2009-06-25 Kontera Technologies, Inc. Hybrid Contextual Advertising Technique
US8266635B2 (en) 2007-12-20 2012-09-11 Access Co., Ltd. Browser-based user interface and control architecture with priority attributes
US10692092B2 (en) * 2007-12-21 2020-06-23 Ebay Inc. System and method for providing on-line advertising with dynamic content
US8744720B1 (en) 2007-12-27 2014-06-03 Iwao Fujisaki Inter-vehicle middle point maintaining implementer
US8181111B1 (en) 2007-12-31 2012-05-15 Synchronoss Technologies, Inc. System and method for providing social context to digital activity
US8200298B2 (en) 2008-01-08 2012-06-12 Hewlett-Packard Development Company, L.P. Keypad housing configuration for a mobile computing device
EP2293192B1 (en) 2008-01-27 2021-03-31 Citrix Systems, Inc. Methods and systems for remoting three dimensional graphics
CA2713707C (en) 2008-01-30 2016-08-09 Google Inc. Notification of mobile device events
US20090228840A1 (en) * 2008-03-08 2009-09-10 Jason Edward Stach Systems and methods for improving web browsing efficiency
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US8238559B2 (en) 2008-04-02 2012-08-07 Qwest Communications International Inc. IPTV follow me content system and method
WO2009132154A2 (en) * 2008-04-22 2009-10-29 Medio Systems, Inc. Server-controlled user interface
US8250477B1 (en) * 2008-11-04 2012-08-21 Sensei, Inc. Mobile client application for managing user interface components
US8543157B1 (en) 2008-05-09 2013-09-24 Iwao Fujisaki Communication device which notifies its pin-point location or geographic area in accordance with user selection
US20090287536A1 (en) * 2008-05-15 2009-11-19 Sheng Michael P Method for determining consumer purchase behavior
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US8402096B2 (en) 2008-06-24 2013-03-19 Microsoft Corporation Automatic conversation techniques
US8340726B1 (en) 2008-06-30 2012-12-25 Iwao Fujisaki Communication device
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8452307B1 (en) 2008-07-02 2013-05-28 Iwao Fujisaki Communication device
US20100023881A1 (en) * 2008-07-23 2010-01-28 Jania Frank L Defining sectional boundaries of a webpage
EP2169570A1 (en) * 2008-09-25 2010-03-31 Infogin LTD Mobile sites detection and handling
US8984165B2 (en) * 2008-10-08 2015-03-17 Red Hat, Inc. Data transformation
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8688083B2 (en) * 2008-11-26 2014-04-01 Qualcomm Incorporated System and method for providing advertisement data or other content
US8849856B2 (en) * 2008-12-16 2014-09-30 Sandisk Il Ltd. Discardable files
US20100161720A1 (en) * 2008-12-23 2010-06-24 Palm, Inc. System and method for providing content to a mobile device
US8448090B2 (en) * 2009-01-23 2013-05-21 Hewlett-Packard Development Company, L.P. Selective plug-in activation for resource-limited platforms
JP4864989B2 (ja) * 2009-01-26 2012-02-01 京セラ株式会社 通信装置
KR20110127636A (ko) * 2009-03-10 2011-11-25 샌디스크 아이엘 엘티디 폐기 가능 파일의 다운로드 관리 방법
US20100242064A1 (en) * 2009-03-18 2010-09-23 Tandberg Television, Inc. Systems and methods for providing a dynamic user interface for a settop box
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8799353B2 (en) 2009-03-30 2014-08-05 Josef Larsson Scope-based extensibility for control surfaces
US9046983B2 (en) 2009-05-12 2015-06-02 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
US8983271B2 (en) 2009-05-27 2015-03-17 Visible World, Inc. Continuous re-insertion of advertisements in video content
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US20100325565A1 (en) * 2009-06-17 2010-12-23 EchoStar Technologies, L.L.C. Apparatus and methods for generating graphical interfaces
US7627648B1 (en) 2009-07-23 2009-12-01 Yahoo! Inc. Customizing and storing web pages for mobile on web
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8751844B2 (en) * 2009-09-24 2014-06-10 Citrix Systems, Inc. Systems and methods for attributing an amount of power consumption to a workload
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US9690769B2 (en) * 2009-10-16 2017-06-27 Excalibur Ip, Llc Method and system for completing an edit area of a web page
US8689117B1 (en) * 2009-10-30 2014-04-01 Google Inc. Webpages with conditional content
US8255006B1 (en) 2009-11-10 2012-08-28 Fusionone, Inc. Event dependent notification system and method
US20110117885A1 (en) * 2009-11-13 2011-05-19 Go800, LLC Methods of Connecting A User Telephonically To Prerecorded Information By Text Keyword And Keyword Database
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US9923995B1 (en) 2010-02-27 2018-03-20 Sitting Man, Llc Methods, systems, and computer program products for sharing information for detecting an idle TCP connection
EP2367342A1 (en) * 2010-03-17 2011-09-21 Samsung Electronics Co., Ltd. Method and apparatus for accessing services of a device
US8358771B1 (en) 2010-03-24 2013-01-22 Jpmorgan Chase Bank, N.A. System and method for managing customer communications over communication channels
US8654946B1 (en) * 2010-04-28 2014-02-18 Amdocs Software Systems Limited System, method, and computer program for sending a missed call notification to a receiver based on an instruction from a caller
US8302014B2 (en) 2010-06-11 2012-10-30 Microsoft Corporation Merging modifications to user interface components while preserving user customizations
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
EP2625655A4 (en) 2010-10-06 2014-04-16 Planet Data Solutions SYSTEM AND METHOD FOR INDEXING ELECTRONIC DETECTION DATA
US8943428B2 (en) 2010-11-01 2015-01-27 Synchronoss Technologies, Inc. System for and method of field mapping
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US9361131B1 (en) * 2011-06-24 2016-06-07 Amazon Technologies, Inc. Network resource access via a mobile shell
US8611506B2 (en) 2011-07-08 2013-12-17 Blackberry Limited Methods and apparatus to facilitate voicemail interaction
US9037696B2 (en) * 2011-08-16 2015-05-19 Amazon Technologies, Inc. Managing information associated with network resources
JP5825937B2 (ja) 2011-08-31 2015-12-02 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
US9800688B2 (en) 2011-09-12 2017-10-24 Microsoft Technology Licensing, Llc Platform-enabled proximity service
US8615159B2 (en) 2011-09-20 2013-12-24 Citrix Systems, Inc. Methods and systems for cataloging text in a recorded session
US8769524B2 (en) * 2011-12-09 2014-07-01 Disney Enterprises, Inc. HTML directed adaptive features for mobile applications
US9330188B1 (en) 2011-12-22 2016-05-03 Amazon Technologies, Inc. Shared browsing sessions
US9336321B1 (en) 2012-01-26 2016-05-10 Amazon Technologies, Inc. Remote browsing and searching
US8839087B1 (en) 2012-01-26 2014-09-16 Amazon Technologies, Inc. Remote browsing and searching
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US10623408B1 (en) * 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US11599907B2 (en) * 2012-05-14 2023-03-07 Iqzone, Inc. Displaying media content on portable devices based upon user interface state transitions
US20170255967A1 (en) * 2012-05-14 2017-09-07 Iqzone, Inc. Systems and methods for unobtrusively displaying media content on portable devices
US11663628B2 (en) 2012-05-14 2023-05-30 Iqzone, Inc. Systems and methods for unobtrusively displaying media content on portable devices
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
KR101951049B1 (ko) * 2012-09-25 2019-02-22 주식회사 알티캐스트 Html 기반 프로그램 가이드 서비스 제공 방법, 장치 및 이를 위한 기록매체
US9917879B2 (en) 2012-10-13 2018-03-13 Microsoft Technology Licensing, Llc Remote interface templates
DE102012220615A1 (de) * 2012-11-13 2014-05-15 BSH Bosch und Siemens Hausgeräte GmbH Bedienelement für ein Haushaltsgerät
US10356204B2 (en) 2012-12-13 2019-07-16 Microsoft Technology Licensing, Llc Application based hardware identifiers
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
CN104102640A (zh) * 2013-04-03 2014-10-15 阿里巴巴集团控股有限公司 一种页面头部的显示方法及客户端
US9760964B2 (en) * 2013-04-11 2017-09-12 Facebook, Inc. Application-tailored object re-use and recycling
US9207986B2 (en) 2013-04-11 2015-12-08 Facebook, Inc. Identifying a next window of idle time to perform pre-generation tasks of content portions outside of the displayable region stored in a message queue
US10126903B2 (en) 2013-04-15 2018-11-13 Facebook, Inc. Application-tailored object pre-inflation
US9858247B2 (en) * 2013-05-20 2018-01-02 Microsoft Technology Licensing, Llc Runtime resolution of content references
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
CN103605502B (zh) * 2013-08-08 2017-08-04 北京九恒星科技股份有限公司 表单页面显示方法及服务器
RU2638726C1 (ru) 2014-06-26 2017-12-15 Гугл Инк. Оптимизированный процесс воспроизведения браузера
EP3161668B1 (en) 2014-06-26 2020-08-05 Google LLC Batch-optimized render and fetch architecture
EP3161662B1 (en) 2014-06-26 2024-01-31 Google LLC Optimized browser render process
US9659387B2 (en) * 2014-09-12 2017-05-23 Microsoft Technology Licensing, Llc Graphics primitive and color channels
CN104317402B (zh) * 2014-10-24 2020-07-03 小米科技有限责任公司 描述信息的显示方法及装置、电子设备
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US9342384B1 (en) * 2014-12-18 2016-05-17 Intel Corporation Function callback mechanism between a central processing unit (CPU) and an auxiliary processor
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
CN105989035A (zh) * 2015-02-03 2016-10-05 阿里巴巴集团控股有限公司 一种页面内快速拨号的方法、装置及移动终端
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US10244550B2 (en) * 2015-04-23 2019-03-26 Telefonaktiebolaget Lm Ericsson (Publ) Technique for scheduling transmission of content in an access network
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
CN106294459A (zh) * 2015-05-29 2017-01-04 阿里巴巴集团控股有限公司 基于文本隐藏的页面跳转方法及相关装置
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
CN107506176B (zh) * 2016-06-14 2019-07-12 华为技术有限公司 一种确定解码任务的方法和装置
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10505961B2 (en) 2016-10-05 2019-12-10 Amazon Technologies, Inc. Digitally signed network address
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10628109B2 (en) * 2017-08-09 2020-04-21 Google Llc Dynamically adapting panels of a user interface
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10909046B2 (en) * 2018-06-15 2021-02-02 Micron Technology, Inc. Memory access determination
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11736776B2 (en) 2019-10-25 2023-08-22 Iqzone, Inc. Monitoring operating system methods to facilitate unobtrusive display of media content on portable devices
US11475010B2 (en) 2020-09-09 2022-10-18 Self Financial, Inc. Asynchronous database caching
US11470037B2 (en) * 2020-09-09 2022-10-11 Self Financial, Inc. Navigation pathway generation
US11641665B2 (en) 2020-09-09 2023-05-02 Self Financial, Inc. Resource utilization retrieval and modification
US20220075877A1 (en) 2020-09-09 2022-03-10 Self Financial, Inc. Interface and system for updating isolated repositories

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03204259A (ja) 1990-01-04 1991-09-05 Nippon Telegr & Teleph Corp <Ntt> データベース検索通信方式
US5305195A (en) 1992-03-25 1994-04-19 Gerald Singer Interactive advertising system for on-line terminals
US5809317A (en) * 1992-12-30 1998-09-15 Intel Corporation Creating and maintaining hypertext links among heterogeneous documents by the establishment of anchors and connections among anchors
US5704029A (en) * 1994-05-23 1997-12-30 Wright Strategies, Inc. System and method for completing an electronic form
US5826020A (en) * 1994-09-30 1998-10-20 Hewlett-Packard Co. Workflow real time intervention
US5835861A (en) 1994-11-22 1998-11-10 Lucent Technologies Inc. Enhanced automatic operation of wireless telephones
US5513254A (en) 1994-12-28 1996-04-30 At&T Corp. Method and apparatus for processing facsimile transmissions
JPH08305528A (ja) * 1995-04-28 1996-11-22 Ricoh Co Ltd 画面表示装置の制御方法
JPH0934837A (ja) * 1995-07-14 1997-02-07 Oki Electric Ind Co Ltd 情報入力用端末装置
US5781894A (en) 1995-08-11 1998-07-14 Petrecca; Anthony Method and system for advertising on personal computers
US5913040A (en) 1995-08-22 1999-06-15 Backweb Ltd. Method and apparatus for transmitting and displaying information between a remote network and a local computer
JPH0981447A (ja) * 1995-09-12 1997-03-28 Toshiba Corp データ処理装置および情報入手方法
US5737619A (en) * 1995-10-19 1998-04-07 Judson; David Hugh World wide web browsing with content delivery over an idle connection and interstitial content display
US5572643A (en) 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
CA2235320C (en) * 1995-10-19 2002-06-18 British Telecommunications Public Limited Company Accessing databases
EP0954797A1 (en) * 1995-12-08 1999-11-10 Bell Communications Research, Inc. Method and system for placing advertisements in a computer network
DE69635338T2 (de) * 1995-12-11 2006-08-03 Openwave Systems Inc., Redwood City Verfahren und Architektur für ein interaktives Zwei-Wege-Datenübertragungsnetzwerk
AU1566597A (en) 1995-12-27 1997-08-11 Gary B. Robinson Automated collaborative filtering in world wide web advertising
US5732074A (en) * 1996-01-16 1998-03-24 Cellport Labs, Inc. Mobile portable wireless communication system
JPH09222974A (ja) * 1996-02-16 1997-08-26 Fuji Xerox Co Ltd 言語解釈表示方法とその方法を用いた装置およびシステム
JPH09223062A (ja) * 1996-02-16 1997-08-26 Fuji Xerox Co Ltd サービス提供形態のカスタマイズ方法およびその方法の実施に使用可能なサーバ装置
US5838314A (en) 1996-02-21 1998-11-17 Message Partners Digital video services system with optional interactive advertisement capabilities
JPH09245049A (ja) * 1996-03-05 1997-09-19 Toshiba Corp 情報受け取り方法および装置
JPH09259028A (ja) * 1996-03-19 1997-10-03 Toshiba Corp 情報呈示方法
JPH09261169A (ja) 1996-03-21 1997-10-03 Sony Corp 通信システム、通信システムの基地局、通信システムの携帯通信端末
US5673322A (en) * 1996-03-22 1997-09-30 Bell Communications Research, Inc. System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks
US5923736A (en) 1996-04-02 1999-07-13 National Semiconductor Corporation Hypertext markup language based telephone apparatus
US5848397A (en) 1996-04-19 1998-12-08 Juno Online Services, L.P. Method and apparatus for scheduling the presentation of messages to computer users
JP3310903B2 (ja) * 1996-05-16 2002-08-05 株式会社インフォシティ 情報伝送表示方法および情報表示装置
JPH09330336A (ja) * 1996-06-11 1997-12-22 Sony Corp 情報処理装置
US5708478A (en) 1996-06-26 1998-01-13 Sun Microsystems, Inc. Computer system for enabling radio listeners/television watchers to obtain advertising information
US5918236A (en) * 1996-06-28 1999-06-29 Oracle Corporation Point of view gists and generic gists in a document browsing system
JPH1021030A (ja) * 1996-07-01 1998-01-23 Tec Corp ガイダンス表示装置
JP3031256B2 (ja) * 1996-07-19 2000-04-10 日本電気株式会社 リモコン操作機能つきワールド・ワイド・ウェブブラウザ
JPH1040203A (ja) * 1996-07-25 1998-02-13 Nippon Telegr & Teleph Corp <Ntt> 情報受信者認証方法
US5852775A (en) 1996-09-12 1998-12-22 Earthweb, Inc. Cellular telephone advertising system
US5854624A (en) * 1996-09-12 1998-12-29 Innovative Device Technologies, Inc. Pocket-sized user interface for internet browser terminals and the like
FI103546B (fi) * 1996-09-16 1999-07-15 Nokia Telecommunications Oy Datapalvelu matkaviestinverkossa
US5870683A (en) 1996-09-18 1999-02-09 Nokia Mobile Phones Limited Mobile station having method and apparatus for displaying user-selectable animation sequence
US5960074A (en) * 1996-09-23 1999-09-28 Curtis Clark Mobile tele-computer network for motion picture, television and tv advertising production
US5948061A (en) * 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US5818446A (en) * 1996-11-18 1998-10-06 International Business Machines Corporation System for changing user interfaces based on display data content
JP3048129B2 (ja) * 1996-11-28 2000-06-05 ソニー株式会社 情報処理装置および情報処理方法、情報提供装置、並びに情報処理システム
US5854897A (en) 1996-12-27 1998-12-29 Quantum Systems, Inc. Network communications marketing system
DE69836417T2 (de) * 1997-01-27 2007-09-27 Ure, Michael J., Cupertino Leitungsvermittelter verbindungsaufbau unter verwendung einer paketvermittelten adresse wie eine internetadresse oder dergleichen
US5889852A (en) 1997-02-10 1999-03-30 Nokia Mobile Phones Limited Photo screen scroll graphic user interface
JPH10247137A (ja) * 1997-03-04 1998-09-14 Sony Corp 情報閲覧装置
US6253228B1 (en) * 1997-03-31 2001-06-26 Apple Computer, Inc. Method and apparatus for updating and synchronizing information between a client and a server
US6892354B1 (en) 1997-04-16 2005-05-10 Sony Corporation Method of advertising on line during a communication link idle time
US5877757A (en) * 1997-05-23 1999-03-02 International Business Machines Corporation Method and system for providing user help information in network applications
JP4243344B2 (ja) * 1997-05-23 2009-03-25 株式会社Access 移動通信機器
US5977972A (en) * 1997-08-15 1999-11-02 International Business Machines Corporation User interface component and method of navigating across a boundary coupled to a scroll bar display element
US6226642B1 (en) * 1997-09-11 2001-05-01 International Business Machines Corporation Content modification of internet web pages for a television class display
US6081815A (en) * 1997-10-06 2000-06-27 Motorola, Inc. Method for processing a hyperlink formatted message to make it compatible with an alphanumeric messaging device
US6311185B1 (en) * 1997-10-30 2001-10-30 At&T Corp. Method and apparatus for modifying an information page transmitted in a communications network
US6311223B1 (en) * 1997-11-03 2001-10-30 International Business Machines Corporation Effective transmission of documents in hypertext markup language (HTML)
FI974662A0 (fi) * 1997-12-31 1997-12-31 Finland Telecom Oy WWW-telefon
US6233577B1 (en) * 1998-02-17 2001-05-15 Phone.Com, Inc. Centralized certificate management system for two-way interactive communication devices in data networks
US6173316B1 (en) 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US5930472A (en) * 1998-04-29 1999-07-27 Motorola, Inc. Method and apparatus in a wireless communication system for splitting a browser functionality between a wireless client and an infrastructure portion
US6353839B1 (en) * 1998-04-30 2002-03-05 Openwave Systems Inc. Method for inline variables management in a hypermedia display language
US6317791B1 (en) * 1998-06-30 2001-11-13 Webtv Networks, Inc. System and method for distributing data over a communications network for display during start-up
US6339438B1 (en) * 1999-07-27 2002-01-15 International Business Machines Corporation Scroll bar with integrated advertisement
US6636247B1 (en) * 2000-01-31 2003-10-21 International Business Machines Corporation Modality advertisement viewing system and method
US6898618B1 (en) * 2000-05-09 2005-05-24 Sun Microsystems, Inc. Client-specified display services in a distributed computing environment
US7136871B2 (en) * 2001-11-21 2006-11-14 Microsoft Corporation Methods and systems for selectively displaying advertisements

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100759728B1 (ko) * 2003-09-23 2007-09-20 모토로라 인코포레이티드 텍스트 메시지를 제공하는 방법 및 장치
KR100646033B1 (ko) * 2004-03-05 2006-11-13 에스케이 텔레콤주식회사 이동단말기에서 응답요구용 단문 메시지의 작성을지원하는 방법
KR100846298B1 (ko) * 2005-04-11 2008-07-14 에스케이 텔레콤주식회사 무선 인터넷 사용자 인터페이스를 위한 템플릿 구조를 제공하기 위한 장치
WO2010062064A2 (en) * 2008-11-03 2010-06-03 Samsung Electronics Co., Ltd. Method and apparatus for controlling access to resources in remote user interface service
WO2010062064A3 (en) * 2008-11-03 2010-08-05 Samsung Electronics Co., Ltd. Method and apparatus for controlling access to resources in remote user interface service
US9405594B2 (en) 2008-11-03 2016-08-02 Samsung Electronics Co., Ltd. Method and apparatus for controlling access to resources in remote user interface service

Also Published As

Publication number Publication date
JP2014207676A (ja) 2014-10-30
JP2009135922A (ja) 2009-06-18
EP1152333A2 (en) 2001-11-07
US6173316B1 (en) 2001-01-09
HK1033015A1 (en) 2001-08-10
JP5548229B2 (ja) 2014-07-16
US6470381B2 (en) 2002-10-22
JP2011248905A (ja) 2011-12-08
US20020078143A1 (en) 2002-06-20
EP1070288A1 (en) 2001-01-24
JP4690448B2 (ja) 2011-06-01
DE69901947D1 (de) 2002-08-01
EP1152332A3 (en) 2005-05-25
JP2009054188A (ja) 2009-03-12
JP2012185835A (ja) 2012-09-27
JP2012185836A (ja) 2012-09-27
JP4757318B2 (ja) 2011-08-24
WO1999052032A1 (en) 1999-10-14
US7228340B2 (en) 2007-06-05
JP2006323840A (ja) 2006-11-30
JP2002510819A (ja) 2002-04-09
AU3550399A (en) 1999-10-25
JP4267001B2 (ja) 2009-05-27
JP5037738B2 (ja) 2012-10-03
WO1999052032B1 (en) 1999-11-25
JP2006302296A (ja) 2006-11-02
US6317781B1 (en) 2001-11-13
JP2012194980A (ja) 2012-10-11
JP2009181575A (ja) 2009-08-13
JP4234149B2 (ja) 2009-03-04
JP4233759B2 (ja) 2009-03-04
DE69901947T2 (de) 2003-01-23
US6675204B2 (en) 2004-01-06
JP2013084278A (ja) 2013-05-09
EP1152333A3 (en) 2006-05-31
JP2013127813A (ja) 2013-06-27
US20030084121A1 (en) 2003-05-01
EP1152332A2 (en) 2001-11-07
JP4796115B2 (ja) 2011-10-19
US20040093376A1 (en) 2004-05-13
EP1070288B1 (en) 2002-06-26

Similar Documents

Publication Publication Date Title
US6317781B1 (en) Wireless communication device with markup language based man-machine interface
US6285364B1 (en) Method and apparatus for organizing and displaying internet and telephone information
US6216141B1 (en) System and method for integrating a document into a desktop window on a client computer
US20060248447A1 (en) Indicating loading status of information from a computer network
US6285683B1 (en) Method and apparatus for providing extended capability telephone services via an automated server
CA2384858A1 (en) Methods and apparatus for accessing personalized internet information using a mobile device
KR100362358B1 (ko) 통신상의 학습콘텐츠제공화면 구성방법
KR20050040037A (ko) 메신저를 통해 작성된 메시지 통신 방법
JP2001251437A (ja) 情報アクセス方法および装置
JP2007310473A (ja) コンテンツ提供システム、コンテンツ提供方法、およびコンテンツ提供プログラム

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20061002

Effective date: 20070903

Free format text: TRIAL NUMBER: 2006101008857; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20061002

Effective date: 20070903