KR20010085233A - 맨-머신 인터페이스에 기초하는 마크업 언어를 이용하는무선 통신 장치 - Google Patents
맨-머신 인터페이스에 기초하는 마크업 언어를 이용하는무선 통신 장치 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72445—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9562—Bookmark management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0267—Wireless devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0277—Online advertisement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/26—Devices for calling a subscriber
- H04M1/27—Devices whereby a plurality of signals may be stored simultaneously
- H04M1/274—Devices 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/2745—Devices 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/27467—Methods of retrieving data
- H04M1/2748—Methods of retrieving data by matching character strings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/7243—User 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72469—User 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/56—Details of telephonic subscriber devices including a user help function
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99939—Privileged 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
무선 통신 장치는 개인 통신 수요에 따라 점점 더 보편화되어 가고 있다. 이러한 장치로는, 예를 들어 셀룰러폰, 영숫자식 페이저, "팜탑" 컴퓨터 및 개인용 정보 매니저(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>(n│n@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파라미터에 대해 지정된storelabel과editlabel값은, 두 기능 중 하나를 수행하도록 설치된 소프트키에 주어질 라벨을 지정한다.
방식
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인데, 응답되지 않고 지나간 수신 호출을 의미한다).editkey와callkey는 선택되었던 호출에 기초하여 변하는 라벨과 액션을 가진 소프트키를 지정한다. 현재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는 유지한 채로 메시지에 대한 바디를 추가 또는 편집할 수 있게 하는 스트림과 파라미터를 리턴시킨다.
addr및body가 둘 다 상실되고,newaddr및newbody도 존재하지 않는 경우, 메시지가 송신된다.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)
- 무선 통신 장치에 있어서,스크린 디스플레이;메모리;상기 스크린 디스플레이 및 상기 메모리에 결합된 프로세서;상기 메모리 내에 저장되고, 마크업 언어(markup language)로 엔코딩된 복수의 사용자 인터페이스 페이지 -상기 복수의 사용자 인터페이스 페이지 중 선택된 사용자 인터페이스 페이지들은 상기 무선 통신 장치의 원격 통신 기능에 대한 액세스를 제공함-; 및상기 프로세서에 의해 실행되며, 상기 메모리 및 상기 스크린 디스플레이에 통신적으로(communicatively) 결합된 마크업 언어 브라우저 -상기 마크업 언어 브라우저는, 상기 저장된 사용자 인터페이스 페이지를 상기 메모리로부터 액세스하거나, 상기 마크업 언어로 엔코딩된 원거리 저장 페이지를 원격 통신 네트워크를 통해 액세스하고, 액세스된 페이지를 디코딩하여, 상기 스크린 디스플레이 상에 사용자 인터페이스 엘리먼트로 디스플레이하며, 디스플레이된 사용자 인터페이스 엘리먼트에 대한 사용자 입력에 응답하여, 원격 통신 기능을 실행함-를 포함하는 무선 통신 장치.
- 무선 통신 장치에 있어서,프로토콜 성분 및 데이터 성분을 갖는 URL을 수신하는 쉘 -상기 데이터 성분은 실행될 커맨드 또는 페치될 컨텐트를 지정하고, 상기 쉘은 상기 프로토콜 성분에 따라 상기 데이터 성분을 프로토콜 핸들러에 제공하고, 상기 페치될 컨텐트를 프로세스를 위한 컨텐트 핸들러에 제공함-;각각 상기 쉘에 결합되어, URL을 수신하고, 상기 데이터 성분에 의해 지정된 컨텐트를 페치하여 상기 페치된 컨텐트를 상기 쉘에 제공하거나, 상기 데이터 성분에 의해 지정된 상기 커맨드를 실행하는 복수의 프로토콜 핸들러; 및각각 상기 쉘에 결합되어, 상기 페치된 컨텐트를 수신하고 프로세스하여, 상기 컨텐트를 스크린 디스플레이에 출력하는 복수의 컨텐트 핸들러를 포함하는 무선 통신 장치.
- 제2항에 있어서,상기 복수의 프로토콜 핸들러는,상기 쉘로부터 URL을 수신하고 상기 URL을 디코딩하여, 무선 통신 장치의 전화 통신 기능을 활성화시키는 전화 프로토콜 핸들러;상기 쉘로부터 URL을 수신하고 상기 URL을 디코딩하여, 상기 무선 통신 장치의 메모리 내에 저장되어 있는 데이터에 액세스하는 파일 프로토콜 핸들러; 및상기 쉘로부터 URL을 수신하고, 상기 무선 통신 장치로부터 원거리로 저장되어 있는 URL의 상기 데이터 성분에 의해 어드레스되는 컨텐트를 페치하는 원격 파일 프로토콜 핸들러를 포함하고,상기 복수의 컨텐트 핸들러는, URL에 대응하는 마크업 언어 컨텐트를 수신하고 상기 컨텐트를 상기 스크린 디스플레이 상에 디스플레이하는 마크업 언어 컨텐트 핸들러를 포함하는 무선 통신 장치.
- 제3항에 있어서, 상기 복수의 프로토콜 핸들러는,상기 쉘로부터 URL을 수신하고, 상기 데이터 성분에 의해 지정되는 커맨드를 실행하여, 영숫자 메시지(alphanumeric message) 디스플레이 또는 상기 무선 통신 장치의 전송 기능을 활성화하는 메시지 프로토콜 핸들러; 및상기 쉘로부터 URL을 수신하고, 상기 URL의 상기 데이터 성분에 따라 상기 무선 통신 장치의 구성 세팅(configuration setting)을 설정하는 구성 프로토콜 핸들러를 포함하는 무선 통신 장치.
- 제2항에 있어서,상기 스크린 디스플레이;상기 스크린 디스플레이에 결합되고, 상기 쉘, 상기 프로토콜 핸들러 및 상기 컨텐트 핸들러를 저장하는 메모리; 및상기 메모리에 결합되어, 상기 쉘, 상기 프로토콜 핸들러 및 상기 컨텐트 핸들러를 실행시키는 프로세서를 포함하는 무선 통신 장치를 더 포함하는 무선 통신 장치.
- 복수의 키를 갖는 무선 통신 장치의 동작을 컴퓨터로 구현하는 방법에 있어서,상기 키들 중 하나와 한 액션 간의 연관을 정의하는 태그를 포함하는 제1 마크업 언어 페이지를 수신하는 단계;상기 키에 대한 사용자 선택을 수신하는 단계; 및상기 사용자 선택된 키에 연관된 액션을 실행하는 단계를 포함하는 방법.
- 제6항에 있어서,상기 액션은 데이터 성분을 갖는 URL이며,페치될 제2 페이지를 지정하는 상기 URL의 상기 데이터 성분에 응답하여, 상기 제2 페이지를 페치하고, 상기 제2 페이지를 디스플레이하는 단계; 및상기 무선 통신 장치의 전화 통신 커맨드를 지정하는 상기 URL의 상기 데이터 성분에 응답하여, 상기 전화 통신 커맨드(telephony command)를 실행하는 단계를 더 포함하는 방법.
- 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해 상기 무선 통신 장치의 동작을 제어하기 위한 브라우저 프로그램 제품에 있어서,상기 브라우저는,복수의 키들 중 하나와 한 액션을 지정하는 키 태그를 포함하는 마크업 언어 페이지를 디코딩하는 단계;상기 지정된 키 및 상기 액션 간의 연관을 저장하는 단계; 및상기 지정된 키의 사용자 입력의 수신에 응답하여, 상기 지정된 키와 연관된 상기 액션을 실행하는 단계를 포함하는 동작을 수행하는 브라우저 프로그램 제품.
- 제8항에 있어서,상기 키 태그는 URL을 지정하고,상기 브라우저는, 상기 지정된 키의 사용자 입력에 응답하여, 상기 URL과 연관된 컨텐트를 페치하고 상기 컨텐트를 디스플레이하는 브라우저 프로그램 제품.
- 제9항에 있어서,상기 키 태그는 상기 지정된 키와 연관된 라벨을 지정하고,상기 브라우저는, 상기 페이지의 디코딩에 응답하여, 상기 라벨을 스크린 디스플레이 상에 디스플레이하는 브라우저 프로그램 제품.
- 마크업 언어로 엔코딩되고, 임베딩된 오브젝트에 대한 참조를 포함하는 데이터 페이지의 데이터 프로세스를 컴퓨터로 구현하는 방법에 있어서,상기 페이지 내의 디스플레이된 사용자 인터페이스 엘리먼트에 대한 사용자 선택을 수신하는 단계 -상기 엘리먼트는 상기 페이지 내에 엔코딩된 URL과 연관되고, 상기 URL은 프로토콜 성분 및 데이터 성분을 가짐-;상기 임베딩된 오브젝트를 호출하고, 상기 URL을 프로세스를 위해 상기 임베딩된 오브젝트에 제공하는 단계; 및상기 임베딩된 오브젝트가 상기 URL을 프로세스하지 않는 것에 응답하여, 상기 데이터 성분에 의해 지정된 컨텐트를 페치하거나, 상기 데이터 성분에 의해 지정된 커맨드를 실행하는 단계를 포함하는 방법.
- 사용자에 대한 헬프 데이터(help data)의 자동적인 디스플레이를 컴퓨터로 구현하는 방법에 있어서,타이틀 바 영역 내에 타이틀을 갖는 윈도우를 디스플레이하는 단계;최종 사용자 입력으로부터 경과된 시간의 양에 대한 카운터를 증분시키는 단계; 및상기 카운터가 시간의 임계량 이상이 되는 것에 응답하여, 상기 타이틀 바 영역 내에 제1 헬프 데이터를 스크롤하여 상기 타이틀을 대체하는 단계를 포함하는 방법.
- 제12항에 있어서, 상기 제1 헬프 데이터의 스크롤 완료에 응답하여,상기 타이틀 바 영역 내에 상기 타이틀을 다시 디스플레이하는 단계;상기 카운터를 리셋하는 단계;최종 사용자 입력으로부터 경과된 시간의 양에 대한 상기 카운터를 증분시키는 단계; 및상기 카운터가 상기 임계량 이상이 되는 것이 응답하여, 상기 타이틀 바 영역 내에 제2 헬프 데이터를 스크롤하여 상기 타이틀을 대체하는 단계를 포함하는 방법.
- 제12항에 있어서, 초기 단계로서,상기 타이틀을 정의하는 타이틀 태그 및 상기 제1 헬프 데이터를 정의하는 헬프 태그를 포함하는 마크업 언어 페이지를 수신하는 단계;상기 제1 헬프 데이터를 저장하는 단계; 및상기 타이틀 바 영역 내의 상기 타이틀 디스플레이를 포함하는 상기 윈도우 내에 상기 마크업 언어 페이지를 디스플레이하는 단계를 더 포함하는 방법.
- 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해 상기 무선 통신 장치의 동작을 제어하기 위한 브라우저 프로그램 제품에 있어서,상기 브라우저는,상기 페이지의 타이틀을 정의하는 타이틀 태그 및 헬프 데이터를 지정하는헬프 태그를 포함하는 마크업 언어 페이지를 디코딩하는 단계;상기 헬프 데이터를 저장하는 단계;상기 페이지를 윈도우에 디스플레이하는 단계;상기 타이틀을 상기 윈도우의 타이틀 바 영역에 디스플레이하는 단계;최종 사용자 입력으로부터 경과된 시간의 양이 임계치를 초과하는 것에 응답하여, 저장된 헬프 데이터를 상기 타이틀 바 내에 스크롤하여 상기 타이틀 바 영역 내의 상기 타이틀을 대체하는 단계; 및상기 저장된 헬프 데이터의 스크롤 완료에 응답하여, 상기 타이틀 바 영역 내에 상기 타이틀을 다시 디스플레이하는 단계를 포함하는 동작을 수행하는 브라우저 프로그램 제품.
- 적어도 하나의 소프트키를 갖는 무선 통신 장치의 동작을 컴퓨터로 구현하는 방법에 있어서,마크업 언어로 정의된 제1 사용자 인터페이스 정의 페이지를 수신하는 단계;상기 제1 사용자 인터페이스 정의 페이지를 분석하고, 상기 소프트키들 중 하나와 메뉴 항목들의 메뉴 간의 연관을 저장하는 단계 -상기 메뉴 항목들 각각은 URL 또는 액션과 연관됨-;상기 소프트키에 대한 사용자 선택을 수신하는 것에 응답하여, 상기 메뉴 항목들의 메뉴를 디스플레이하는 단계;디스플레이된, 액션과 연관된 메뉴 항목에 대한 사용자 선택에 응답하여, 상기 액션을 실행하는 단계; 및URL과 연관된 메뉴 항목에 대한 사용자 선택에 응답하여, 상기 URL에 의해 지정된 데이터를 페치하거나, 상기 URL에 의해 지정된 상기 무선 통신 장치의 통신 기능을 실행하는 단계를 포함하는 방법.
- 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해 상기 무선 통신 장치의 동작을 제어하기 위한 브라우저 프로그램 제품에 있어서,상기 브라우저는,마크업 언어로 정의된 제1 사용자 인터페이스 정의 페이지를 수신하는 단계;상기 제1 사용자 인터페이스 정의 페이지를 분석하고, 상기 소프트키들 중 하나와 메뉴 항목들의 메뉴 간의 연관을 저장하는 단계 -상기 메뉴 항목들 각각은 URL 또는 액션과 연관됨-;상기 소프트키에 대한 사용자 선택을 수신하는 것에 응답하여, 상기 메뉴 항목들의 메뉴를 디스플레이하는 단계;디스플레이된, 액션과 연관된 메뉴 항목에 대한 사용자 선택에 응답하여, 상기 액션을 실행하는 단계; 및URL과 연관된 메뉴 항목에 대한 사용자 선택에 응답하여, 상기 URL에 의해 지정된 데이터를 페치하거나, 상기 URL에 의해 지정된 상기 무선 통신 장치의 통신 기능을 실행하는 단계를 포함하는 동작을 실행하는 브라우저 프로그램 제품.
- 데이터의 페이지의 디스플레이를 컴퓨터로 구현하는 방법에 있어서,제2 마크업 언어 페이지를 참조하는 URL을 지정하는 태그를 포함하는 제1 마크업 언어 페이지를 수신하는 단계;상기 URL에 따라 상기 제2 마크업 언어 페이지를 페치하는 단계;상기 태그를 상기 제2 마크업 언어 페이지로 대체하여, 조합된 마크업 언어 페이지를 형성하는 단계; 및상기 조합된 마크업 언어 페이지를 디스플레이하는 단계를 포함하는 방법.
- 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해 상기 무선 통신 장치의 동작을 제어하기 위한 브라우저 프로그램 제품에 있어서,상기 브라우저는,탬플릿 태그(template tag)를 포함하는 제1 마크업 언어 페이지를 수신하는 단계 -상기 탬플릿 태그는 제2 마크업 언어 페이지를 참조하는 URL을 지정함-;상기 URL에 따라 상기 제2 마크업 언어 페이지를 페치하는 단계;상기 태그를 상기 제2 마크업 언어 페이지로 대체하여, 조합된 마크업 언어 페이지를 형성하는 단계; 및상기 조합된 마크업 언어 페이지를 디스플레이하는 단계를 포함하는 동작을 실행하는 브라우저 프로그램 제품.
- 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해 상기 무선 통신 장치의 동작을 제어하기 위한 브라우저 프로그램 제품에 있어서,상기 브라우저는,이스케이프 시퀀스(escape sequence)를 포함하는 제1 마크업 언어 페이지를 수신하는 단계 -상기 이스케이프 시퀀스는 제2 마크업 언어 페이지를 참조하는 URL을 지정함-;상기 URL에 따라 상기 제2 마크업 언어 페이지를 페치하는 단계;상기 태그를 상기 제2 마크업 언어 페이지로 대체하여, 조합된 마크업 언어 페이지를 형성하는 단계; 및상기 조합된 마크업 언어 페이지를 디스플레이하는 단계를 포함하는 동작을 실행하는 브라우저 프로그램 제품.
- 복수의 구성 가능한 기능(configurable feature)을 갖는 무선 통신 장치를 위한 구성 세팅 페이지의 디스플레이를 컴퓨터로 구현하는 방법에 있어서,구성 세팅의 사용자 입력을 수신하기 위한 입력 필드를 정의하는 입력 타입 태그, 및 구성 가능한 기능에 대한 URL을 포함하는 표현식(expression)의 값과 동일한 선택 속성을 포함하는 마크업 언어 페이지를 수신하는 단계 -상기 선택 속성은 상기 입력 필드가 미리 선택되는지의 여부를 표지함-;상기 URL과 연관된 데이터를 페치하는 단계;상기 페치된 데이터를 이용하여 상기 표현식을 평가함으로써, 상기 표현식의 값을 결정하는 단계; 및상기 표현식의 상기 값에 기초하여 미리 선택된 것인지 선택되지 않은 것인지를 표지하는 상기 선택 속성에 따라, 상기 구성 세팅의 상기 입력 필드를 포함하는 상기 페이지를 디스플레이하는 단계를 포함하는 방법.
- 제21항에 있어서,상기 표현식은 양식 (선택 속성=[!]URL)을 갖고,상기 페치된 데이터를 이용하여 상기 표현식을 평가함으로써, 상기 표현식의 값을 결정하는 단계는,상기 URL과 연관된 상기 데이터를 정수값으로 변환하는 단계; 및상기 표현식을 평가하여, 0 또는 0이 아닌 값을 얻는 단계를 포함하는 방법.
- 제21항에 있어서,상기 표현식은 양식 (선택 속성 = (URL[!] =string))을 갖고, 상기string은 임의의 영숫자 스트링이며,상기 페치된 데이터를 이용하여 상기 표현식을 평가함으로써, 상기 표현식의값을 결정하는 단계는, 상기 URL과 연관된 데이터가 상기 스트링과 동일한지를 판정함으로써 상기 표현식을 평가하여, 0 또는 0이 아닌 값을 얻는 단계를 포함하는 방법.
- 복수의 구성 가능한 기능을 갖는 무선 통신 장치를 위한 구성 세팅의 페이지를 디스플레이하고, 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해 상기 무선 통신 장치의 동작을 제어하는 브라우저 프로그램 제품에 있어서,상기 브라우저는,구성 세팅의 사용자 입력을 수신하기 위한 입력 필드를 정의하는 입력 타입 태그, 및 구성 가능한 기능에 대한 URL을 포함하는 표현식(expression)의 값과 동일한 선택 속성을 포함하는 마크업 언어 페이지를 수신하는 단계 -상기 선택 속성은 상기 입력 필드가 미리 선택되는지의 여부를 표지함-;상기 URL과 연관된 데이터를 페치하는 단계;상기 페치된 데이터를 이용하여 상기 표현식을 평가함으로써, 상기 표현식의 값을 결정하는 단계; 및상기 표현식의 상기 값에 기초하여 미리 선택된 것인지 선택되지 않은 것인지를 표지하는 상기 선택 속성에 따라, 상기 구성 세팅의 상기 입력 필드를 포함하는 상기 페이지를 디스플레이하는 단계를 포함하는 동작을 실행하는 브라우저 프로그램 제품.
- 데이터의 페이지에 대한 디스플레이를 컴퓨터로 구현하는 방법에 있어서,URL을 포함하는 표현식을 갖는 조건부 태그 및 상기 표현식의 값에 따라 조건적으로 디스플레이되는 제1 마크업 언어 데이터를 포함하는 마크업 언어 페이지를 수신하는 단계;상기 URL과 연관된 데이터를 페치하는 단계;상기 페치된 데이터를 이용하여 상기 표현식을 평가함으로써, 상기 표현식의 값을 결정하는 단계;상기 표현식의 값이 참인 것에 응답하여, 상기 제1 마크업 언어 데이터를 갖는 상기 마크업 언어 페이지를 디스플레이하는 단계; 및상기 표현식의 값이 거짓인 것에 응답하여, 상기 제1 마크업 언어 데이터를 갖지 않는 마크업 언어 페이지를 디스플레이하는 단계를 포함하는 방법.
- 제25항에 있어서,상기 조건부 태그는 제2 마크업 언어 데이터를 포함하고,상기 표현식의 값이 거짓인 것에 응답하여 상기 제1 마크업 언어 데이터를 갖지 않는 마크업 언어 페이지를 디스플레이하는 단계는, 상기 제2 마크업 언어 데이터를 갖는 마크업 언어 페이지를 디스플레이하는 단계를 포함하는 방법.
- 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해 상기 무선 통신장치의 동작을 제어하고, 마크업 언어 데이터의 페이지를 디스플레이하는 브라우저 프로그램 제품에 있어서, 상기 브라우저는,URL을 포함하는 표현식을 갖는 조간부 태그 및 상기 표현식의 값에 따라 디스플레이되는 제1 마크업 언어 데이터를 포함하는 마크업 언어 페이지를 수신하는 단계;상기 URL과 연관된 데이터를 페치하는 단계;상기 페치된 데이터를 이용하여 상기 표현식을 평가함으로써, 상기 표현식의 값을 결정하는 단계;상기 표현식의 값이 참인 것에 응답하여, 상기 제1 마크업 언어 데이터를 갖는 상기 마크업 언어 페이지를 디스플레이하는 단계; 및상기 표현식의 값이 거짓인 것에 응답하여, 상기 제1 마크업 언어 데이터를 갖지 않는 마크업 언어 페이지를 디스플레이하는 단계를 포함하는 동작을 실행하는 브라우저 프로그램 제품.
- 복수의 하이퍼링크를 포함하는 마크업 언어 페이지의 네비게이션을 컴퓨터로 구현하는 방법에 있어서,복수의 하이퍼링크를 포함하는 마크업 언어 페이지를 수신하는 단계;상기 마크업 언어 페이지의 하이퍼링크를 현재 하이퍼링크로서 선택하는 단계;사용자 입력에 응답하여, 마크업 언어 파일을 스크린 디스플레이 상의 한 방향으로 스크롤하여, 상기 마크업 언어 파일의 일부만을 디스플레이하는 단계;상기 스크롤 방향에서 후속 하이퍼링크가 보이는지를 결정하는 단계;상기 스크롤 방향에서 상기 후속 하이퍼링크가 보이는 것에 응답하여, 후속 하이퍼링크를 현재 하이퍼링크로 하는 단계; 및상기 스크롤 방향에 후속 하이퍼링크가 보이지 않는 것에 응답하여, 상기 마크업 언어 파일의 일부를 스크롤하는 단계를 포함하는 방법.
- 제28항에 있어서,상기 마크업 언어 페이지는, 상기 페이지 내에 포함된 하이퍼링크의 타겟 네임을 지정하는 속성을 갖고,상기 마크업 언어 페이지의 하이퍼링크를 현재 하이퍼링크로서 선택하는 단계는,상기 속성 내에 지정된 상기 타겟 네임과 상기 하이퍼링크들 각각의 네임을 비교하는 단계; 및상기 타겟 네임과 일치하는 네임을 갖는 하이퍼링크를 현재 하이퍼링크로서 하는 단계를 더 포함하는 방법.
- 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해 상기 무선 통신장치의 동작을 제어하고, 마크업 언어 데이터의 페이지를 디스플레이하는 브라우저 프로그램 제품에 있어서,상기 브라우저는,복수의 하이퍼링크를 포함하는 마크업 언어 페이지를 수신하는 단계;상기 마크업 언어 페이지의 하이퍼링크를 현재 하이퍼링크로서 선택하는 단계;사용자 입력에 응답하여, 마크업 언어 파일을 스크린 디스플레이 상의 한 방향으로 스크롤하여, 상기 마크업 언어 파일의 일부만을 디스플레이하는 단계;상기 스크롤 방향에서 후속 하이퍼링크가 보이는지를 결정하는 단계;상기 스크롤 방향에서 상기 후속 하이퍼링크가 보이는 것에 응답하여, 후속 하이퍼링크를 현재 하이퍼링크로 하는 단계; 및상기 스크롤 방향에 후속 하이퍼링크가 보이지 않는 것에 응답하여, 상기 마크업 언어 파일의 일부를 스크롤하는 단계를 포함하는 동작을 실행하는 브라우저 프로그램 제품.
- 사용자에 대한 광고 데이터의 자동적인 디스플레이를 컴퓨터로 구현하는 방법에 있어서,상기 페이지의 헤드 부분에 디스플레이할 수 있는 텍스트를 포함하는 <MARQUEE> 태그, 및 타이틀을 포함하는 마크업 언어 페이지를 수신하는 단계;타이틀 바 영역 내에 상기 타이틀을 갖는 윈도우에 상기 마크업 언어 페이지를 디스플레이하는 단계;경과된 시간의 양에 대한 카운터를 증분시키는 단계; 및상기 카운터가 시간의 임계량 이상이 된 것에 응답하여, 상기 <MARQUEE> 태그 내에 포함된 상기 디스플레이 가능한 텍스트를 상기 타이틀 바 영역에 스크롤하여 상기 타이틀 바를 대체하는 단계를 포함하는 방법.
- 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해 상기 무선 통신 장치의 동작을 제어하고, 마크업 언어 데이터의 페이지를 디스플레이하는 브라우저 프로그램 제품에 있어서,상기 브라우저는,상기 페이지의 헤드 부분에 디스플레이할 수 있는 텍스트를 포함하는 <MARQUEE> 태그, 및 타이틀을 포함하는 마크업 언어 페이지를 수신하는 단계;타이틀 바 영역 내에 상기 타이틀을 갖는 윈도우에 상기 마크업 언어 페이지를 디스플레이하는 단계;경과된 시간의 양에 대한 카운터를 증분시키는 단계; 및상기 카운터가 시간의 임계량 이상이 된 것에 응답하여, 상기 <MARQUEE> 태그 내에 포함된 상기 디스플레이 가능한 텍스트를 상기 타이틀 바 영역에 스크롤하여 상기 타이틀 바를 대체하는 단계를 포함하는 동작을 실행하는 브라우저 프로그램 제품.
- 스크린 디스플레이, 적어도 하나의 소프트키를 포함하는 복수의 키, 및 구성 세팅에 의해 설정될 수 있는 복수의 구성 가능한 기능을 포함하는 무선 통신 장치의 동작을 컴퓨터로 구현한 방법에 있어서,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> 태그 내에 포함된 상기 디스플레이 가능한 텍스트를 상기 타이틀 바 영역에 스크롤하여, 상기 타이틀을 대체하는 단계를 포함하는 방법.
- 스크린 디스플레이, 적어도 하나의 소프트키를 포함하는 복수의 키, 및 구성 세팅에 의해 설정될 수 있는 복수의 구성 가능한 기능을 포함하는 무선 통신 장치의 프로세서에 의한 브라우저의 실행에 의해, 상기 무선 통신 장치의 동작을 제어하는 브라우저 프로그램 제품에 있어서, 상기 브라우저는,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> 태그 내에 포함된 상기 디스플레이 가능한 텍스트를 상기 타이틀 바 영역에 스크롤하여, 상기 타이틀을 대체하는 단계를 포함하는 동작을 실행하는 브라우저 프로그램 제품.
- 스크린 디스플레이는 포함하되 주변 포인팅 장치에 의해 제어되는 독립적인 커서는 포함하지 않는 컴퓨터 시스템 내에서, 적어도 하나의 선택 가능한 하이퍼링크를 포함하는 데이터 페이지의 네비게이트를 컴퓨터로 구현하는 방법에 있어서,사용자 입력에 응답하여 상기 스크린 디스플레이 상의 한 방향으로 상기 페이지를 스크롤함으로써, 상기 페이지의 일부만을 디스플레이하는 단계; 및상기 스크롤 방향과 상기 페이지의 디스플레이된 부분에서 볼 수 있는 후속 하이퍼링크를, 사용자 선택 가능한 키에 자동적으로 인터랙트하게 할당하는 단계를 포함하는 방법.
- 스크린 디스플레이 및 복수의 키를 갖는 키패드를 포함하되 주변 포인팅 장치에 의해 제어되는 독립적인 커서는 포함하지 않는 컴퓨터 시스템 내에서, 각각의 타입을 갖는 복수의 양식 필드를 포함하는 데이터 페이지를, 컴퓨터를 이용하여 네비게이션 하는 방법에 있어서,사용자 입력에 응답하여 상기 스크린 디스플레이 상의 한 방향으로 상기 페이지를 스크롤하여, 상기 데이터 파일의 일부만을 디스플레이하는 단계;상기 스크롤 방향에 후속 양식 필드가 보이는지의 여부를 결정하는 단계;상기 스크롤 방향에 후속 양식 필드가 보이는 것에 응답하여, 상기 후속 양식 필드를, 사용자 입력을 수신하기 위한 현재 양식 필드로 하는 단계; 및상기 현재 양식 필드의 상기 타입에 따라, 상기 현재 양식 필드를 조작하기 위한 액션을 상기 키패드의 키에 할당하는 단계를 포함하는 방법.
- 디스플레이 스크린 및 복수의 사용자 선택 가능한 키를 포함하는 무선 통신 장치를 구성하는 방법에 있어서,컨텐트 및 상기 디스플레이 스크린 상에서의 상기 컨텐트의 배열을 정의하는 마크업 언어 태그를 포함하는 데이터 파일을 수신하는 단계 -상기 컨텐트의 일부는 URL과 연관됨-;상기 마크업 언어 태그에 응답하여, 상기 컨텐트의 URL 연관 부분이 시각적으로 구별되도록 상기 디스플레이 스크린 상에 디스플레이하는 단계;상기 마크업 언어 태그에 응답하여, 상기 시각적으로 구별된 컨텐트와 연관된 상기 URL을 상기 사용자 선택 가능한 키 중 하나에 할당하는 단계;상기 할당된 사용자 선택 가능한 키의 사용자 입력을 수신하는 단계; 및상기 사용자 선택된 키에 할당된 URL과 연관된 데이터 파일 또는 기능을 액세스하는 단계를 포함하는 무선 통신 장치의 구성 방법.
- 입력 데이터를 수신하는 클라이언트 및 서버 장치를 구비하는 무상태 시스템(stateless system)에서, 양식 내의 데이터 프로세스를 컴퓨터로 구현하는 방법에 있어서,상기 클라이언트 장치에서, 데이터의 사용자 입력을 수신하기 위한 적어도 하나의 입력 필드를 갖는 양식의 제1 부분을 포함하는 제1 마크업 언어 페이지를 수신하는 단계;상기 클라이언트 장치에서, 상기 양식의 상기 제1 부분에 대한 제1 데이터의 제1 사용자 입력을 수신하는 단계;상기 수신된 제1 데이터를 상기 클라이언트 상에 국부적으로 저장하는 동시에, 상기 양식의 제2 부분을 포함하는 제2 마크업 언어 페이지를 상기 클라이언트 장치에서 수신하는 단계;상기 클라이언트 장치에서, 상기 양식의 상기 제2 부분에 대한 제2 데이터의 제2 사용자 입력을 수신하는 단계;상기 저장된 제1 데이터와 상기 제2 데이터를 URL로 조합하는 단계; 및상기 URL을 프로세스를 위해 상기 서버에 제출하는 단계를 포함하는 방법.
- 마크업 언어로 엔코딩된 데이터 페이지의 데이터 프로세스를 컴퓨터로 구현하는 방법에 있어서,상기 페이지 내에 디스플레이된 사용자 인터페이스 엘리먼트에 대한 사용자 선택을 수신하는 단계 -상기 엘리먼트는 상기 페이지 내에 엔코딩된 커맨드와 연관되고, 상기 커맨드는 프로토콜 성분 및 데이터 성분을 가짐-; 및임베딩된 오브젝트를 호출하고, 프로세스를 위해 상기 커맨드를 상기 임베딩된 오브젝트에 제공하는 단계 -상기 임베딩된 오브젝트는 내부적으로 정의된 기능을 이용하여 상기 커맨드를 프로세스함-를 포함하는 방법.
- 무선 통신 장치에 있어서,스크린 디스플레이;복수의 키;복수의 구성 가능한 기능;상기 스크린 디스플레이 및 상기 키에 결합된 프로세서;프로세서에 의해 실행되어, 프로토콜 성분 및 데이터 성분을 갖는 URL을 수신하기는 쉘 -상기 데이터는 실행될 커맨드 또는 페치될 컨텐트를 지정하고, 상기 쉘은 상기 데이터 성분을 상기 프로토콜 성분에 따른 프로토콜 핸들러에 제공하고, 상기 페치된 컨텐트를 프로세스를 위한 컨텐트 핸들러에 제공함-;각각 상기 프로세서에 의해 실행되고 상기 쉘에 결합되어, 상기 쉘로부터 URL을 수신하고 상기 데이터 성분에 의해 지정된 컨텐트를 페치하며, 상기 페치된 컨텐트를 상기 쉘에 제공하거나 상기 데이터 성분에 의해 지정된 커맨드를 실행하는 복수의 프로토콜 핸들러; 및각각 상기 프로세서에 의해 실행되고 상기 쉘에 결합되어, URL에 대응하는 마크업 언어 컨텐트를 수신하고, 상기 컨텐트를 상기 스크린 디스플레이 상에 디스플레이하는 마크업 언어 컨텐트 핸들러-상기 마크업 언어 핸들러는,상기 복수의 키 중 하나에 대한 액션을 정의하는 키 태그,상기 스크린 디스플레이 상에 주기적으로 디스플레이될 헬프 텍스트를 정의하는 헬프 태그,키와 연관된 메뉴에 대한 메뉴 항목을 정의하는 키메뉴 태그,제1 마크업 언어 페이지와는 상이한 제2 마크업 언어 페이지를 지정하여, 상기 제1 마크업 언어 페이지 내에 상기 제2 마크업 언어 페이지의 데이터를 포함시키는 태그,구성 세팅에 대한 사용자 입력, 및 구성 가능한 기능에 대한 URL을 포함하는 표현식의 값과 동등한 선택 속성을 수신하기 위한 입력 필드를 정의하는 입력 타입 태그, 및URL을 포함하는 표현식 및 상기 표현식의 값에 따라 조건부로 디스플레이되는 제1 마크업 언어 데이터를 갖는 조건부 태그를 포함하는 그룹으로부터 선택된 마크업 언어 태그를 디코딩함-를 포함하는 무선 통신 장치.
- 무선 통신 장치에 있어서,스크린 디스플레이;메모리;상기 스크린 디스플레이 및 상기 메모리에 결합된 프로세서;마크업 언어로 엔코딩되어 상기 메모리 내에 저장된 복수의 사용자 인터페이스 페이지 -상기 사용자 인터페이스 페이지 중 선택된 페이지는 상기 무선 통신 장치의 원격 통신 기능에 대한 액세스를 제공함-; 및상기 프로세서에 의해 실행되고, 상기 메모리 및 상기 스크린 디스플레이에 통신적으로 결합된 브라우저 수단-상기 브라우저 수단은,상기 메모리로부터 저장된 사용자 인터페이스 페이지에 액세스하거나, 마크업 언어로 엔코딩되어 저장된 페이지에 원격 통신 네트워크를 통해 액세스하는 수단,상기 엑세스된 페이지를 디코딩하여 상기 스크린 디스플레이 상에 사용자 인터페이스 엘리먼트를 디스플레이하는 수단, 및상기 디스플레이된 사용자 인터페이스 엘리먼트에 대한 사용자 입력에 응답하여, 원격 통신 기능을 실행시키는 수단을 포함함-을 포함하는 무선 통신 장치.
- 프로토콜 성분 및 데이터 성분을 갖는 URL을 수신하는 제1 수단 -상기 데이터 성분은 실행될 커맨드 또는 페치될 컨텐트를 지정하고, 상기 쉘은 상기 프로토콜 성분에 따라 상기 데이터 성분을 프로토콜 핸들러에 제공하고, 상기 페치될 컨텐트를 프로세스를 위해 컨텐트 핸들러에 제공함-;각각 상기 제1 수단에 결합되어, URL을 수신하고, 상기 데이터 성분에 의해 지정된 컨텐트를 페치하여 상기 페치된 컨텐트를 상기 쉘에 제공하거나, 상기 데이터 성분에 의해 지정된 상기 커맨드를 실행하는 복수의 프로토콜 핸들러; 및각각 상기 제1 수단에 결합되어, 상기 페치된 컨텐트를 수신하고 프로세스하여, 상기 컨텐트를 스크린 디스플레이에 출력하는 복수의 컨텐트 핸들러를 포함하는 장치.
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)
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)
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)
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 |
-
1998
- 1998-04-08 US US09/057,394 patent/US6173316B1/en not_active Expired - Lifetime
-
1999
- 1999-04-07 WO PCT/US1999/007637 patent/WO1999052032A1/en active Search and Examination
- 1999-04-07 EP EP99917360A patent/EP1070288B1/en not_active Expired - Lifetime
- 1999-04-07 EP EP01202427A patent/EP1152333A3/en not_active Withdrawn
- 1999-04-07 JP JP2000542708A patent/JP4233759B2/ja not_active Expired - Lifetime
- 1999-04-07 KR KR1020007011194A patent/KR20010085233A/ko active Search and Examination
- 1999-04-07 AU AU35503/99A patent/AU3550399A/en not_active Abandoned
- 1999-04-07 EP EP01202422A patent/EP1152332A3/en not_active Withdrawn
- 1999-04-07 DE DE69901947T patent/DE69901947T2/de not_active Expired - Lifetime
-
2000
- 2000-06-27 US US09/604,833 patent/US6317781B1/en not_active Expired - Lifetime
-
2001
- 2001-05-24 HK HK01103610A patent/HK1033015A1/xx not_active IP Right Cessation
- 2001-07-16 US US09/907,091 patent/US6470381B2/en not_active Expired - Lifetime
-
2002
- 2002-08-09 US US10/215,760 patent/US6675204B2/en not_active Expired - Lifetime
-
2003
- 2003-10-17 US US10/688,514 patent/US7228340B2/en not_active Expired - Fee Related
-
2006
- 2006-04-28 JP JP2006125284A patent/JP4234149B2/ja not_active Expired - Fee Related
- 2006-04-28 JP JP2006125298A patent/JP4267001B2/ja not_active Expired - Fee Related
-
2008
- 2008-11-06 JP JP2008285572A patent/JP4690448B2/ja not_active Expired - Fee Related
- 2008-11-11 JP JP2008288508A patent/JP4796115B2/ja not_active Expired - Lifetime
-
2009
- 2009-01-27 JP JP2009014857A patent/JP4757318B2/ja not_active Expired - Fee Related
-
2011
- 2011-06-10 JP JP2011129692A patent/JP2011248905A/ja active Pending
-
2012
- 2012-04-04 JP JP2012085792A patent/JP5548229B2/ja not_active Expired - Lifetime
- 2012-04-23 JP JP2012097426A patent/JP2012185835A/ja active Pending
- 2012-04-23 JP JP2012097427A patent/JP5037738B2/ja not_active Expired - Lifetime
- 2012-11-12 JP JP2012248183A patent/JP2013084278A/ja active Pending
-
2013
- 2013-02-15 JP JP2013027916A patent/JP2013127813A/ja active Pending
-
2014
- 2014-05-07 JP JP2014096403A patent/JP2014207676A/ja active Pending
Cited By (6)
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
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 |