KR100992022B1 - 실행 시간에 이동 장치에 추상적 사용자 인터페이스의 동적매핑 시스템 및 방법 - Google Patents

실행 시간에 이동 장치에 추상적 사용자 인터페이스의 동적매핑 시스템 및 방법 Download PDF

Info

Publication number
KR100992022B1
KR100992022B1 KR1020080105746A KR20080105746A KR100992022B1 KR 100992022 B1 KR100992022 B1 KR 100992022B1 KR 1020080105746 A KR1020080105746 A KR 1020080105746A KR 20080105746 A KR20080105746 A KR 20080105746A KR 100992022 B1 KR100992022 B1 KR 100992022B1
Authority
KR
South Korea
Prior art keywords
service
user
mapping
mobile device
description
Prior art date
Application number
KR1020080105746A
Other languages
English (en)
Other versions
KR20090088296A (ko
Inventor
칸드라세카 나라야나스와미
대니 소로커
프랑수아 오우름므
Original Assignee
한국산업기술평가관리원
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국산업기술평가관리원, 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 한국산업기술평가관리원
Publication of KR20090088296A publication Critical patent/KR20090088296A/ko
Application granted granted Critical
Publication of KR100992022B1 publication Critical patent/KR100992022B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42136Administration or customisation of services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/42Graphical user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/05Aspects of automatic or semi-automatic exchanges related to OAM&P
    • H04M2203/053Aspects of automatic or semi-automatic exchanges related to OAM&P remote terminal provisioning, e.g. of applets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/25Aspects of automatic or semi-automatic exchanges related to user interface aspects of the telephonic communication service
    • H04M2203/255Aspects of automatic or semi-automatic exchanges related to user interface aspects of the telephonic communication service comprising a personalized user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

서비스를 위한 맞춤형 인터페이스를 발생하기 위해 사용자 선호도 및 장치 특성이 사용되는 것을 가능하게 하는 시스템 및 방법이 제공되며, 특히, 사용자의 장치를 통해서 로컬 환경에서 이종 이동 장치들과 서비스들 간에 상호작용을 가능하게 하는 시스템 및 방법이 제공된다. 서비스의 저자가 통상적으로 서비스를 사용할 상이한 타입의 장치를 알지 못하기 때문에, 시스템은 서비스 상호작용을 위한 맞춤형 이동 인터페이스의 생성을 자동화한다. 이 방법은 서비스가 호출되는 경우에, 장치의 입력 능력을 사용자의 사용자 선호도를 따라 서비스 중개인에게 전달하는 단계를 포함한다. 서비스의 특징 및 기능성은 서비스의 사양에 포함된다. 매핑 함수는 사용자 선호도 및 장치 출력 제어를 고려하면서, 서비스의 기능들(인터페이스)의 배치를 최적화하기 위해서 장치의 입력 제어 상으로 사용자 선호도, 장치 설명, 및 서비스 기능들 삼자를 매핑한다.

Description

실행 시간에 이동 장치에 추상적 사용자 인터페이스의 동적 매핑 시스템 및 방법 {SYSTEM AND METHOD FOR DYNAMIC MAPPING OF ABSTRACT USER INTERFACE TO A MOBILE DEVICE AT RUN TIME}
본 발명은 일반적으로 서비스 지향 구조 및 웹 서비스에 관한 것으로, 보다 구체적으로는 서비스 위치에서 전개되는 유비쿼터스 서비스를 위해 폭넓고 다양한 이동 장치들의 사용자 인터페이스를 동적으로 매핑하는 시스템 및 방법에 관한 것이다.
최근 몇년 동안, 셀룰러 폰, 디지털 카메라 및 MP3 플레이어들이 총체적으로 거의 대부분이 데스크탑 또는 랩탑 컴퓨터보다 많이 팔렸다. 세계의 일부 지역에서는, 셀룰러 폰은 개인에 의해 소유되는 유일한 컴퓨팅 장치이다. 오늘날의 수많은 전화들은 다기능 장치로, 디지털 카메라, 뮤직 및 비디오 재생, 플래시 또는 작은 드라이브 중 어느 하나로 수 기가 바이트의 저장, 그리고 또한 근거리 무선 능력을 포함한다. 일부 전화기들이 단지 숫자판만을 포함하는 반면, 다른 전화들은 전기능 키보드 또는 터치 패널을 포함한다. 가까운 미래에, 이동 장치들은 근거리 무선 통신(NFC) 태그 판독기를 포함하고 또한 트러스티드 플래폼 모듈(TPM)을 통합하도록 또한 예상된다. 그 결과, 이동 장치들은 몇몇 형태의 통신, 웹 브라우징 및 트랜잭션에서부터 위치태그 사진 및 블로그형 지도(geoblogging)에 이르는 폭넓고 다양한 서비스 전개를 위한 온상이다. 이동 장치들이 수적으로 도처에 별개의 이점들을 갖지만, 필연적으로 이들은 크기에 제한을 받으므로 컴퓨팅 인터페이스처럼 동작하는 경우에 유용성 시도를 지닌다.
공공 장소에 전개된 서비스 지향 구조에서, 서비스와 장치의 이질성은 불가피하다. 이와 같은 서비스와 상호작용하는 이동 장치 사용자 인터페이스의 후기 바인딩(late binding)은, 몇가지 이유로 중요하게 된다. 서비스를 이용하는 장치가, 서비스가 표현된 때에 조립되지 않을 수 있으므로, 서비스는 장치 상에 적합한 사용자 인터페이스를 제공해야 하는 방법을 모를 수 있다. 다른 경우에, 장치가, 서비스가 생성된 때에 대중적이지 않을 수 있으므로, 서비스 개발자의 주의를 끌지 못할 수 있다. 특히, 서비스 저자는 서비스에 액세스할 장치의 세트를 예상할 것이 기대되지 않을 것이고, 장치 제조자는 모든 유형의 서비스에 대한 인터페이스를 프리로드할 수 없다. 부가적으로, 서비스의 전개 동안, 시비스의 특정한 세부사항이 변할 수도 있어서, 인터페이스의 세밀함을 요구한다.
현재, 임의의 맞춤형 프로그래밍없이 자동적으로 생성될 사용자의 개인 이동 장치를 경유하여 사용자의 환경에서 서비스를 이용하는 사용자들의 효과적인 상호작용을 지원하는 서비스들 및 장치들 사이의 연합을 가능하게 할, 임의의 효과적인 기술이 존재하지 않는다.
일반적으로, 다양한 이유로 이와 같은 연합을 자동적으로 생성하는 것은 어 렵다. 우선, 이동 장치 상에서 이용 가능한 입력 제어의 타입에 폭넓은 다양성이 존재한다. 이동 전화와 같은 일부 장치들은 푸시 버튼의 세트를 지원하지만, PDA와 같은 다른 장치들은 터치 감지 스크린(touch sensitive screen)을 포함할 수 있고, 애플사의 iPod와 같은 장치들은 다양한 속도로 상당한 양의 컨텐츠를 스크롤하는데 사용될 수 있는 휠(wheel)을 갖는다. 또한, 특정 장치 상에서 입력 제어의 상대적인 크기 및 배치가 한손 방식으로 또는 아이 프리 방식으로 이들을 동작하는데 편할 수 있지만, 다른 장치들은 훨씬 큰 레벨의 사용자 주의를 요구할 수 있다. 일부 장치들은 또한 음성 인식을 지원할 수 있고, 음성 명령을 원격 서비스로 전달할 수 있는 간단한 이벤트로 변환할 수 있다. 융통성 있는 유기 LED 디스플레이와 같은 디스플레이 기술의 발달로, 시간이 흐르면서, 물리적 버튼 및 제어들이 사용자가 물리적 제어를 통해 라벨들을 변경하는 것이 가능한 소형 디스플레이를 포함하도록 기대된다. 이와 같은 개발은 이동 장치 상에서 GUI를 통한 의존을 줄일 수 있고, 입력 위젯(input widget) 보다는 출력을 위해 장치 상에 제한된 스크린 공간의 더 나은 사용을 허용할 수 있다. 전술한 결과로서, 이동 장치로부터 발생될 수 있는 입력 이벤트의 세트는 그 능력에 따라서 극심하게 변할 수 있다.
두번째로, 환경 장치 및 애플리케이션 또는 환경에서의 서비스의 타입에 폭넓은 다양성이 존재하고, 이들의 각각은 제어 동작의 많은 수집을 지원할 수 있다. 서모스택(thermostat)과 같은 간단한 장치는 원하는 온도를 설정하고, 현재 온도를 질문하는 것과 같은 몇개의 동작을 지원할 수 있다. 기차 여행을 위해 왕복 티켓을 구매하는 것과 같은 보다 복잡한 서비스는 보다 제어 동작의 많은 세트를 요구한 다.
세번째로, 사용자는 제어 조작을 사용자들이 보다 용이하게 수행하는 것에 의하여 사용자 자신의 개인 선호도를 가질 수 있다. 일부 사용자들은 동작을 스크롤링하기 위해 회전식 조그 다이얼을 사용하는 것을 선호할 수 있는 반면, 다른 사용자들은 상하로 스크롤하기 위해서 특정한 푸시 버튼을 좋아할 수 있다.
따라서, 이동 및 퍼베이시브(pervasive) 디지털 장치가 사용자의 동적인 선호도, 장치의 특성 및 서비스의 특성을 고려하는 사용자 인터페이스를 발생하도록 하는 필요성을 다루는 시스템 및 방법을 제공하는 것이 매우 바람직하다.
더욱이, 서비스가 호출되는 경우에 서비스에 대한 사용자 장치의 인터페이스를 장치의 입력 제어로 매핑하는 메커니즘을 제공하는 것이 바람직하다. 기능들이 애플리케이션 생성 시간 또는 애플리케이션 설치 시간에 I/O 장치들에 매핑되거나, 장치 타입에 기초하여 미리 정의된 매핑을 고르는 이전의 모델들과는 달리, 장치 특성, 사용자 선호도, 및 서비스 특성을 고려함으로써 서비스 호출 시간에 인터페이스를 자동적으로 매핑하는 시스템 및 방법을 제공하는 것은 상당히 훨씬 효율적이고 매우 바람직하다.
본 발명의 목적은 서비스 위치에서 전개되는 유비쿼터스 서비스를 위해 폭넓고 다양한 이동 장치들의 사용자 인터페이스를 동적으로 매핑하는 시스템 및 방법을 제공하는 것이다.
일 양태에서, 본 발명의 시스템 및 방법은 서비스가 장치의 추상적인 설명에 기초하여 수많은 (이동 및 퍼베이시브) 디지털 장치에 대한 사용자 인터페이스를 구성하는 것을 가능하게 한다.
관계있게, 일 양태에서, 본 발명의 시스템 및 방법은 서비스가 장치의 크기, 서비스 수행 능력을 고려하는 사용자의 인터페이스 관련 선호도를 수용하여 이들에게 보다 용이한 서비스로의 액세스와 이들의 환경에서 장치의 제어를 제공하기 위해서 사용자 이동 및 퍼베이시브 디지털 장치를 구성하는 것을 가능하게 한다.
일 양태에서, 이동 장치 및 퍼베이시브 디지털 장치는 예를 들어, 공공 장소에서 이동 장치에 서비스를 전달하는 서비스 지향 구조에 있는 공공 "서비스 구역"에서 이동 장치에 의해 액세스되는 공급된 유비쿼터스 서비스와의 사용자/장치 상호작용을 가능하게 하는 개인화된 인터페이스를 발생하고, 장치들 및 서비스들이 지속적으로 성능, 크기 및 기능적 능력들을 발전시키고 있음을 고려하는 소프트웨어, 입력 제어 및 디스플레이 표현 능력을 사용한다.
따라서, 본 발명의 일 양태에 따르면, 서비스를 위한 맞춤형 인터페이스를 발생하기 위해 사용자 선호도 및 장치 특성이 사용되는 것을 가능하게 하는 시스템 및 방법이 제공되며, 특히, 사용자의 장치를 통해서 로컬 환경에서 이종 이동 장치들과 서비스들 간에 상호작용을 가능하게 하는 시스템 및 방법이 제공된다. 서비스의 저자가 통상적으로 서비스를 사용할 상이한 타입의 장치를 알지 못하기 때문에, 시스템은 서비스 상호작용을 위한 맞춤형 이동 인터페이스의 생성을 자동화한다. 이 방법은 서비스가 호출되는 경우에, 장치의 입력 능력을 사용자의 사용자 선호도를 따라 서비스 중개인에게 전달하는 단계를 포함한다. 서비스의 특징 및 기능성은 서비스의 사양에 포함된다. 매핑 함수는 사용자 선호도 및 장치 출력 제어를 고려하면서, 서비스의 기능들(인터페이스)의 배치를 최적화하기 위해서 장치의 입력 제어 상으로 사용자 선호도, 장치 설명, 및 서비스 기능들 삼자를 매핑한다.
보다 구체적으로, 서비스와의 상호작용에 사용되는 이동 장치를 구성하는 시스템 및 방법이 제공되며, 이 방법은,
다이얼, 놉(knob), 키, 슬라이더, 베즐(bezel), 스위치, 및 조그 휠 장치 중 하나 이상을 포함하는 하나 이상의 입력 제어 장치를 포함하는 장치의 설명을 전달하는 단계로서, 장치 설명은 입력 제어 장치의 크기, 위치 및 공간을 포함하는 것인, 장치의 설명을 전달하는 단계와;
장치를 동작하는 사용자 선호도를 전달하는 단계로서, 사용자 선호도는 특정한 입력 제어 장치로 또는 입력 제어 장치들의 그룹으로 액션들을 매핑하기 위해서 입력 제어 장치 크기, 위치와 공간, 및 선호도 중 하나를 포함하는 것인, 사용자 선호도를 전달하는 단계와;
서비스의 기능성의 임의의 양태들을 포함하는 서비스의 설명을 전달하는 단계와;
매핑 함수에 의하여, 사용자 선호도, 장치 설명, 및 서비스 기능들을 수신하고, 사용자 선호도를 고려하면서, 장치의 입력 제어 상으로 서비스의 기능들의 배치를 최적화하는 맞춤형 매핑 전략을 생성하기 위해서 사용자 선호도, 장치 설명, 및 서비스 기능들을 분석하는 단계와;
서비스가 호출되는 경우에 매핑 전략에 기초하여 이동 장치의 인터페이스를 자동적으로 구성하는 단계를 포함하고, 여기서 입력 제어 크기, 위치 및 공간에 대한 사용자의 선호도는 장치 상의 입력 제어의 물리적 실현에 관해서 고려한다.
본 발명의 이 양태에 부언하면, 사용자 선호도는 사용자의 물리적 치수, 사용자의 물리적 위치, 사용자의 바람직한 손잡이, 사용자의 수동 손작업 등급, 나이, 몸무게, 사용자의 성별, 시력, 색체 지각, 듣기 능력 중 하나 이상을 포함하고, 장치 설명은 장치 출력 제어의 설명, 장치 치수, 전력 소모, 장치 입력/출력 제어의 낮/밤 가시성, 및 장치의 3D 기하학적인 설명 중 하나 이상을 더 포함한다.
더욱이, 본 발명에 따르면, 서비스의 설명은 서비스 동작과 서비스 이름 중 하나 이상을 포함하고, 서비스 설명은 서비스의 예상되는 사용에 관련된 정보를 이용하여 선택적으로 개선되고, 여기서 예상되는 사용은 서비스 동작의 그룹화, 서비스 동작의 주기, 서비스 동작의 중요성, 서비스 동작의 계층, 하나 이상의 동작의 확률 분포, 및/또는 동작의 조건부 확률 중 하나 이상을 포함한다.
유리하게, 그 결과, 이동 장치의 잠재성은 관련되고, 개인화된, 적시의 서비 스를 제공하기 위한 보다 나은 방법을 갖고, 사용자의 의도를 보다 효과적으로 캡처함으로써 확장되고, 로컬 환경에서 장치와 서비스를 하네싱(harnessing)함으로써 확장된다. 더욱이, 이와 같은 이동 및 퍼베이시브 디지털 장치가 시간 동안에 서비스가 발달함에 따라 갱신된 인터페이스를 동적으로 발생하는 능력을 갖춘다.
본 발명에 따르면, 본 발명의 방법 및 시스템을 이용하면, 서비스 위치에서 전개되는 유비쿼터스 서비스를 위해 폭넓고 다양한 이동 장치들의 사용자 인터페이스를 동적으로 매핑하는 것이 가능하다.
본 발명은 예를 들어 서비스 구역에서 사용자의 동적 선호도, 장치의 특성 및 장치에 의해 접근 가능한 서비스의 특성을 고려하는 사용자 인터페이스를 발생하기 위한 이동 및 퍼베이시브 디지털 장치에 대한 필요성을 다루는 시스템 및 방법을 제공한다.
이동 장치 또는 퍼베이시브 디지털 장치는 예를 들어, 공공 및 사설 서비스 구역에서 이동 장치에 의해 액세스되는 공급된 유비쿼터스 서비스와의 사용자/장치 상호작용을 가능하게 하는 개인화된 인터페이스를 발생하고, 장치들 및 서비스들이 지속적으로 성능, 크기 및 기능적 능력들을 발전시키고 있음을 고려하는 소프트웨어, 입력 제어 및 디스플레이 표현 능력을 사용한다.
도 1은 본 발명의 시스템 및 방법을 개념적으로 나타내는 도면(100)이다. 특히, 도 1에 도시된 바와 같이, 제1 단계(101)는 매핑 함수에 입력하기 위한 사용자 선호도, 장치 설명 및 서비스 설명의 전달을 포함하고, 여기서 매핑 함수는 102에 표시된 바와 같이 서비스에 액세스하는 특정한 장치에 대해 맞춤화되고 특정한 장치에 의해 사용되기에 접합한 인터페이스를 발생한다. 그리고 나서, 도 1에 도시된 바와 같이, 단계 103에서, 구현된 매핑 함수는 사용자의 특정한 상황에 맞춤화된 고품질의 서비스 사용자 인터페이스를 발생한다.
사용자들의 개인 이동 장치를 경유하여 서비스 제공자 환경에서 서비스를 이용하는 사용자들의 효과적인 상호작용을 가능하게 하는 것을 지원하는 매핑 함수가 이제 도 2에 관하여 기술되는 바와 같이 구현된다.
도 2는 서비스 요건을 이동 장치의 I/O 능력에 매핑하고, 관련된 사용자 선호도를 고려함으로써 서비스와 상호작용하는 이동 사용자 인터페이스의 생성을 자동화하는 프로세스를 기술하는 I/O 매핑 시스템 구조(200)를 기술한다.
도 2에 도시된 바와 같이, 일 실시예에서, I/O 매핑은 두 스테이지의 프로세스를 포함한다: (매핑 툴에 의해서 수행되는 바와 같이) 장치 I/O 제어 및 서비스 동작 간의 매핑을 계산하는 오프라인 스테이지(210)와, 계산된 매핑이 이동 장치를 경유하여 서비스를 제어하도록 사용되는 실행시간 스테이지(200)를 포함한다. 따라서, 일 접근방식에서, 매핑은 오프라인에서 생성되고 실행시간에 사용되는 엔티티이다. 무엇에 대한 매핑일 수 있는지에 대한 두가지 접근방식이 있다: 매핑이 컴파일된 바이너리(예컨대, 자바 바이트코드)이고, 실행시간에 직접 포함되는 컴파일드 접근방식과, 매핑이 서술적(예컨대, XML)이고, 범용 실행시간 프로세서에 의해 해석되는 해석 접근방식이 있다.
오프라인 처리 부분(210)에서, 매핑 발생기(250)가 매핑 전략(260)의 지시는 물론, 이동 장치 I/O 능력, 서비스 인터페이스, 및 사용자 선호도를 입력 사양으로서 수신하고, 맞춤형 매핑 파일(270)을 발생하기 위해서 사용된다.
특히, 매핑 발생기(250)는 서비스, 장치 및 사용자 선호도의 사양을 판독하는 중앙 오프라인 컴포넌트로서, 매핑 전략을 결정하고, 전락 특정 매핑 알고리즘을 호출하며, 맞춤형 매핑 파일(270)을 생성한다. 구조적으로, 매핑 발생기(250)는 서버 또는 유사한 컴퓨팅 장치 상에 또는 대안으로는 (이것이 충분히 강력하다면, 예를 들어 이것이 자바 2 마이크로 에디션(J2ME)을 지원한다면) 이동 장치 그 자체 상에 위치될 수 있다. 이동 장치(50) 상에서 실행되면, 매핑 발생은 온라인으로 수행될 수 있다. 반대로, 보다 양호한 온라인 스타트업 시간을 위하여 그리고 이동 장치 자원(메모리, 배터리, 처리)을 보호하기 위하여, 서버 상에서 시간 전에 매핑 발생을 수행하는 것이 유리하다.
맞춤형 매핑 파일(270)은 발생된 매핑을 서술형으로 인코딩한다. 상이한 매핑 전략들은 상이한 실행시간 특성을 갖기 때문에, 매핑 파일의 컨텐츠는 전략 특징적이다. 예를 들어, GUI 기반 전략에 대한 매핑 파일은 "위젯" 구조의 서술적 표현을 제공할 필요가 있지만, 반면에 키 기반 전략의 경우, 파일은 페이지 세트를 나열하고, 이들 각각은 예를 들어 서비스 동작을 장치 키로 매핑하는 기하학적/인체공학적 키 기반 매핑 전략을 설명하는 (키, 액션) 요소의 리스트를 포함한다. 매핑을 전달하는 것 외에도, 이 매핑 파일은 또한 정보의 중심점 역할을 하므로, 이것은 또한 장치, 서비스의 사양, 및 사용자 선호도에 대한 기준을 포함한다.
사양들의 각각이 실행시간에 필요한 정보를 부가적으로 포함하기 때문에, 실행시간(온라인)에, 매핑 해석기(275)는 오프라인 스테이지에서 사용되는 입력은 물론, 맞춤형 매핑 파일(270)을 입력으로서 먼저 수신함으로써 이동 장치(50)와 서비스(75) 사이를 중재한다. 입력 캡처 모듈(202)은 이동 장치 상의 입력 이벤트를 캡처하고, 이들을 적합한 서비스 콜로 변환하는 매핑 해석기(275)에 보낸다.
특히, 매핑 해석기는 장치, 서비스에 대한 사양 및 사용자 선호도는 물론, 매핑 사양(매핑 파일)을 수신하는 중앙 온라인 컴포넌트이다. 주요 처리 루프에서, 이것은 입력 이벤트를 수신하고, 매핑에 따라서 이들을 해석한다. 통상, 입력 이벤트는 서비스 동작으로 매핑된다. 동작이 파라미터를 가지고 있는 경우, 해석기는 인수(argument)가 규정되는 것을 통해 사용자에게 다이얼로그를 나타낸다. 완전한 사양으로, 해석기는 [(SOAP; Simple Object Access Protocol) 서터브와 같은] 스터브를 통하여 서비스 동작의 호출을 트리거한다.
도 2에 도시된 실시예에서, 동작 중에, 서비스 콜은 서비스 인터페이스(206) 상에서 원격 콜을 수행하는 서비스 스터브(204)를 통해 호출되고, 서비스 인터페이스(206)는 차례로 서비스 구현 계층(208)에서 실제 서비스 동작을 호출한다. 서비스 콜(들)로부터 반송되는 임의의 호출 결과는 스터브(204)로부터 매핑 해석기(275)를 거슬러 지나가고, 사용자에게 전달하기 위해서 이동 장치의 출력 모듈(211)에 전달된다. 이 모듈은 (예컨대, 성공을 지시하기 위해 삑소리가 나는 것처럼) 성공 또는 실패의 지시를 제공함으로써 서비스 호출의 확인을 부가적으로 다룰 수 있다. 매핑 해석기(275)는 이동 장치의 상태에 따라서 즉, 상호작용 컨텍스 트에 기초하는 상태에 따라서 동적으로 생성되고 관리되는 (맵 레전드와 같은) 레전드를 경유하여 사용자에게 매핑을 전달하는 것에 대한 책임이 또한 있을 수 있다. 본 명세서에서 앞서 전술한 바와 같이 매핑 해석기의 일반적인 행동은 상이한 매핑 전략을 지속하는 것임이 이해된다.
일 양태에서, 퍼베이시브 디지털 장치가 이동, 랩탑 컴퓨터, PDA, 셀/이동 전화기, MP3 플레이어이든 아니든, 퍼베이시브 디지털 장치는 대개 GUI, 터치 감각 장치, 터치 스크린 또는 유사한 인터페이스, 패드, 조그 휠, 버튼을 통해 또는 키패드와 같은 텍스트 기반 인터페이스를 통해 마우스를 이용하고 키보드를 이용하는 것과 같은 몇몇의 상이한 형태의 상호작용을 수용한다. 매핑 발생기(250)는 어떤 매핑 전략이 사용되는 지에 대한 표시자를 입력 파라미터로서 수신한다. 이제, 몇몇의 가능한 매핑 전략들이 다음과 같이 제공된다.
기하학적/에르고노메트릭 키 기반 매핑: 매핑 발생기(250)는 장치에 관계하는 근접 정보 또는 인체공학적 정보를 수신 또는 검출하고, 관련된 액션을 근처에 있는 키들에 매핑하고, 자주 사용되는 액션들을 인체공학적으로 접근 가능한 키들 또는 다수의 키들에 매핑한다.
연상("구두"): 매핑 발생기(250)는 액션들을 수신 또는 검출하고, 이들을 이들 이름에 기초하여 연상적인 키들에 매핑한다(예컨대, 액션 "플레이"는 "P" 키 또는 두개의 연속 문자('P','L')에 매핑함).
메뉴 기반 매핑: 매핑 발생기(250)는 서비스 액션의 세트를 수신 또는 검출하고, 이들을 맞춤형 계층적 메뉴에 매핑한다.
GUI 렌더링: 대안으로 또는 부가적으로, 매핑 발생기(250)는 이동 장치에 대한 맞춤형 위젯 기반 그래픽 사용자 인터페이스의 랜더링을 일으킬 수 있다.
몸짓 캡처: 터치 스크린 또는 햅틱 인터페이스를 이용하는 이동 장치의 경우, 사용자 몸짓은 액션을 호출하기 위해 캡처될 수 있다(즉, 스트로크 패턴). 예를 들어, 위쪽 스트로크는 "볼륨 업"을 표시할 수 있다.
음성: 음성 처리 능력을 갖는 이동 장치의 경우, 매핑 발생기(250)는 액션 호출을 위한 음성 기반 인터페이스의 생성을 가능하게 할 수 있다.
매핑 전략이 매핑 발생기에서 개별 입력으로서 도시되었지만, 매핑 전략은 사용자 선호도, 장치 및 서비스 설명을 점검함으로써 유도될 수 있다. 예를 들어, 사용자는 연상 인터페이스에 대한 선호도를 표시할 수 있고, 장치는 음성 인터페이스에 대해 가장 적합할 수 있으며, 또는 일부 동작을 이용하는 서비스와 터치 스크린 장치의 조합은 몸짓 기반 인터페이스가 유리하다는 것을 표시할 수 있다. 예컨대 몇가지 액션을 선택하는데 몸짓을 사용하고, 다른 액션들을 매핑하는데 다른 타입을 사용하는 것처럼 혼합 전략을 사용할 수 있음을 당연하다.
상이한 전략은 사용자 선호도는 물론, 장치 및 서비스 설명 상에 상이한 요건을 지닌다. 예를 들어, 기하학적 전략은 액션의 그룹화 및 액션 주기에 관계하는 서비스 메타데이터는 물론, 입력의 레이아웃의 설명을 요구하고, 연상 전략은 키 라벨 설명은 물론, 모든 서비스 액션의 이름(설명)을 요구한다.
매핑 발생기에 의해 제공되는 I/O 매핑 기능들은 이동 장치 능력, 서비스 요건, 및 사용자 선호도에 기초하는 맞춤 사용자 인터페이스를 발생한다. 따라서, 그 장치에 대한 적합한 인터페이스를 생성하는데 필요한 정보를 캡처하는 이 요소들의 사양이 고안된다. 일 실시예에서, 이 사양들은 XML 및/또는 XML 관련 표준 및 유도적인 표준에 모두 표현된다. 이러한 표준 포맷을 사용하는 것의 이점들 중에서, 소프트웨어 코드, 표준 뷰어, 에디터, 및 툴을 갖춘 사양을 점검, 편집 및 조작하는 능력, 다양한 서비스 지향 구조의 확장성 및 호환성 내에서 규일 취급[문장 분석(parsing) 등]이 가능하다는 것이다.
장치 설명
이제, 다음과 같은 양태들을 포함하지만 이들에 한정되는 것은 아닌, 장치의 입력 능력을 전부 기술하기 위해서 장치 벤더에 의해 사용될 수 있는 XML 포맷의 일례를 설명한다: 장치 상에서 이용 가능한 입력 제어들의 타입(푸시 버튼, 토글 스위치, 회전식 다이얼, 조이 스틱 등); 장치 상에서 이 제어들의 정확한 위치 및 치수; 장치 상에서 지원되는 네이티브 동작으로 이 제어들의 노멀 매핑 등. 선택적으로, 장치 설명은 표준 3D 모델링 언어에서 규정된 장치 자신에 대한 상세한 3차원 모델을 포함할 수 있다.
장치 사양을 형식화 할 시에, 다음 사항을 다루기 위해서 충분한 정보가 제공된다: 1) 이동 장치에 대한 맞춤형 인터페이스를 생성하는 것; 2) 현재 및 미래 장치의 보드 범위를 수용하기 위해서 확장하는 것; 3) 장치 에뮬레이션과 같은 다른 애플리케이션을 위해 유용하게 만드는 것. XML 장치 설명 포맷의 비제한적 일례를 예시하는 데이터 구조가 도 4에 제공된 코드 샘플에 도시된다.
장치의 논리적 양태 및 물리적 양태 사이의 분명한 분리를 지원하기 위해서, 사양은 모델-뷰-컨트롤러(MVC) 패턴을 사용하여 구조되며, 이 패턴에서 모델은 물리적 요소를 설명하고, 뷰는 이들의 지오메트리를 설명하며, 컨트롤러는 이들의 행동을 설명한다.
예시적인 XML 샘플 코드 장치 설명 포맷(400)을 설명하는 도 4에 도시된 바와 같이, XML 문서에서 각각의 섹션은 그룹이다. 그룹들은 노드 그룹(모델)(410), 레이아웃 그룹(뷰)(420), 및 리포트 그룹(컨트롤러)(430)에 따라서 정의된다. 노드 그룹(410)은 노드들을 포함하며, 각각의 노드들은 (키보트 키, 스위치, LED 표시자 등과 같은)I/O 컨트롤에 대응한다. 각각의 노드는 고유 ID와 하나 이상의 노드값을 가지며, 이 노드값은 특정 컨텍스트를 가질 수 있다. 예를 들어, 키보드 키는 디폴트 상태의 노드값과, "시프트" 컨텍스트의 다른 노드값을 가지며, 이 "시프트" 컨텍스트는 <시프트> 키의 노드값에 대응한다. 레이아웃 그룹(420)은 하나 이상의 그리드를 포함하고, 그리드는 왼쪽 위 및 오른쪽 아래 좌표에 대한 물리적인 측정치와, 행 공간, 및 행의 리스트를 갖는다. 각각의 행은 노드 크기 및 공간에 대한 물리적인 측정치와, 모델에서 참고하는 노느들의 리스트를 갖는다. 또한, 행은 정렬 정보를 가지고, 보다 큰 요소와 불규칙적인 레이아웃을 설명하기 위한 "빈 노드"와 복제품을 포함할 수 있다. 예를 들어, 키보드 그리드에서 스페이스 바는 그것을 포함하는 행에서 몇 배로 나열될 것이다. 일 실시예에서, 그리드는 이들이 보통 실제로 나타나고 그룹화 요소의 자연 공간적 수단을 제공하기 때문에, 장치 I/O 요소의 지오메트리를 표현하는데 사용된다. 부가적으로, 그리드는 융통성이 있다 - 분리된 요소는 1×1 그리드로서 표현될 수 있다. 그리드 외에도, 부가적인 레이아웃(키의 원형 배열과 같음)들이 또한 정의된다. 보고 그룹(430)은 I/O 제어와 연관된 가능한 I/O 이벤트 타입을 나열한다. 예를 들어, 리포트 그룹은 하나 이상의 엔드포인트들을 포함할 수 있고, 엔드포인트들의 각각은 방향("입력" 또는 "출력")을 갖는다. 엔드포인트는 엔드포인트 리포트를 포함하고, 이것은 리포트 값의 리스트를 포함한다. 각각의 리포트 값은 (모델로 부터의) 노드 값으로 언급되고, 이벤트를 표현하는 값을 갖는다. 예를 들어, 노드값 기준은 ("시프트" 컨텍스트에 있는) 두 번째 "x" 키값에 대한 것이고, 이벤트 값은 "X"이다.
게다가, 장치 치수, 장치 레이아웃의 설명, 입력 제어의 모양과 크기, 출력 제어의 크기(출력 제어가 디스플레이를 포함하는 경우), 프로세서 타입과 속도와 같은 하드웨어 능력, 시스템 정보, 전력 소모, 소프트웨어 버전을 포함하는 소프트웨어 능력을 포함하지만 이들에 한정되는 것은 아닌, 장치의 추상적 설명이 제공될 수 있다. 설명은 입력 제어의 수와 위치, 입력 제어의 타입과 크기(슬라이더, 스틱, 다이얼, 놉 등), 이들의 지리학적 모양, 텍스처와 재료(플라스틱/티타늄 등)를 포함할 수 있고, 이들은 (밤에도 볼 수 있게) 불이 밝혀지거나 아닐 수도 있다. 다른 요소들은 출력 능력, 디스플레이 크기, 밝기 해상도를 포함한다.
사양은 I/O 매핑에 유용한 정보를 캡처링하는 쪽으로 조정된다. 이것은 추상화의 사용할 수 있는 레벨(예컨대, 개별 노드 위치보다는 그리드)로 정보를 제공하고, 매핑 발생기에 의해서 사용될 수 없는 속성들을 포함할 필요가 없다. 포맷은 필요한 바에 따라서 다른 특성들을 부가하기에 충분한 융통성이 있다.
사용자 선호도
장치 설명과는 달리, 사용자 선호도는 이들의 넓은 범위로 인해 체계적으로 정비되지 못한다. 선호도는 바람직한 매핑 전략에 관련시킬 수 있고, 상이한 전략은 상이한 선호도를 수용한다. 따라서, 임의의 선호도 및 선호도의 카테고리를 지원하는, 융통성 있는 속성값 포맷이 사용된다. 이 포맷에서, XML 문서는 <카테고리> 요소의 리스트를 포함하고, 카테고리는 이름을 갖으며(예컨대, <카테고리 이름 = "접근 가능성">), 각각의 카테고리는 <속성> 요소의 리스트를 포함하고, 속성은 이름, 값 및 타입을 갖는다(예컨대, <속성 이름 = "색맹" 값 = "거짓" 타입 = "불(Boolean)">). 예를 들어, 제한된 재주를 표시하는 선호도는, 밀집하게 패킹된 키패드를 갖는 장치에서 키들의 희박한 서브세트를 사용하는데에서만 사용될 수 있는 반면, 색맹을 표시하는 선호도는 장치 상의 가시적 인터페이스에서 색에 의존하는 것을 피하는데 사용될 수 있다.
게다가, 사용자 선호도는 하이 레벨 선호도와 로우 레벨 선호도 양자 모두를 포함할 수 있다. 일부 하이 레벨 선호도는 사용자의 물리적 치수, 나이, 사용자의 성별, 사용자의 몸무게, 사용자의 물리적 위치, 사용자의 손재주 레벨, 사용자의 색체 지각 또는 청력, 사용자의 바람직한 손잡이, 언어 선호도, 큰 키들에 대한 선호도(즉, 키 크기, 모양, 색, 택스처), 중앙에 있는 키들에 대한 선호도, 키들의 특정한 그룹화, 특정한 키들 상으로 매핑되는 선호하는 기능들의 일부 그룹, 작은 키들을 통한 회전식 놉의 선호도, 인터페이스의 양상(소프트 온스크린 키를 통한 음성) 또는 사용자에 의해 선호되는 다른 양상들(예컨대, 오디오, 터치, 텍스트, 비디오, 냄새)을 포함한다. 로우 레벨 선호도는 색, 폰트, 크기 또는 렌더링된 그 래픽(텍스트, 아이콘 등과 같음)을 포함할 수 있다.
데스크탑 애플리케이션에서, 선호도는 통상적으로 애플리케이션 GUI에 의해서 노출되고, 실행시간에 사용자에 의해 변형될 수 있다. I/O 매핑에서, 사용자 선호도는 몇가지 이유로 인터페이스 발생 시간에 노출된다. 첫째로, 동적 환경에서, 사용자는 실행시간에 선호도를 설정함으로써, 특히 작은 이동 장치를 통해 귀찮아지는 것을 원하지 않을 수 있다. 둘째로, 사용자 선호도는 다수의 제공자(예컨대, 왼손잡이임)로부터의 수많은 서비스 전역에서 사용될 수 있다.
서비스 설명
웹 서비스 설명 및 연관된 표준이 서비스를 특징짓는 기초로서 구현된다. 서비스 사양을 형식화하는 접근방식이 WSDL(웹 서비스 정의 언어 표준 버전 2.0)로 시작하고, 이것은 웹 서비스를 설명하는 모델을 제공하는 XML 기반 언어이다. 서비스 설명은 동작, 입력 파라미터 타입, 이름, 서비스의 설명 등과 같은 WSDL에서 발견될 수 있는 정보를 포함한다. 그러면, WSDL 기반 서비스 사양은 서비스의 예상되는 사용에 관련된 정보를 이용하여 개선될 수 있다. 식별된 몇몇 개선사항들은 동작의 그룹화(어떤 동작들이 함께 속해있는가?); 동작의 주기(어떤 동작들이 다른 것들보다 자주 사용되는가?); 동작의 중요성(어떤 동작들이 다른 것들보다 중요한가?); 동작 계층, 동작의 확률 분포 및 동작의 조건부 확율(예컨대, 함수 A가 마지막으로 수행된 경우에서, 함수 B가 지금 수행될 확률은 X이다) 이다.
중요한 동작은 자주 일어나지 않을 수 있음을 유념한다. 예를 들어, 전원 온/오프는 중요하지만, 빈번하게 사용되지 않을 수 있다. 이미 현존하는 표준의 일부 분인 서비스 설명의 부가적인 관련 양태들은, WSDL 표준의 일부분인 동작과 파라미터에 대한 인간 판독 가능한 라벨, 및 WSDL을 이용하여 보통 사용되는 XML 스키마(XSD) 타입 시스템의 일부분인 파라미터 타입(스트링, 인티저와 같음)과 제한(이뉴머레이션 또는 수치 범위와 같음)이다.
앞선 개선사항들은 다양한 매핑 전략에 관련된다. 전술한 바와 같이, 다양한 타입의 매핑 전략들이 존재한다; 예컨대, 연상 매핑, GUI 매핑, 및 매뉴 기반 매핑 전략. 예를 들어, 연상 매핑에서, 제1 연상은 그룹에 액세스하는데 사용될 수 있고, 이어서 동작에 대한 연상에 사용될 수 있으며, 주기 또는 중요성은 동작 연상을 할당하는 방법을 선택할 시에 사용될 수 있다. GUI 매핑에서, 이 정보는 부동산을 조직하고 할당하는 방법을 결정하는데 사용될 수 있다. 메뉴 기반 매핑 전략에서, 동작 그룹화는 메뉴 구조를 확인하는데 사용될 수 있고, 주기는 메뉴 내에서 동작을 조직하는 것을 도울 수 있으며, 중요성은 특정한 동작을 강조하는데 사용될 수 있다.
몸짓 캡처는 사실상 매우 비주얼하고, 서비스 설명에 부가적인 힌트들을 요구할 수 있다. 이러한 시도는 미래 전망의 일부분이다. 그것은 현재 정보가 보다 일반적인 동작에 "쉬운" 몸짓을 할당하는 경우에서도 유용함을 말한다.
도 3은 서비스 동작의 키 기반 매핑에 대한 일 예시적에서 본 발명의 방법(300)을 나타내는 흐름도이다. 특히, 도 3은 매핑 발생기(도 2에서 260)에 의해 사용된 알고리즘을 도시한다. 서비스 매핑이 계산될 필요가 있는 경우(단계 301에서), 즉 서비스가 서비스 구역에서 호출되는 경우, 매핑 발생기는 서비스 설명, 장치 설명 및 사용자 선호도를 판독한다(단계 302). 예시적인 실시예에서 기술된 알고리즘의 경우, 관심 정보는: (서비스 설명에 있는) 액션 그룹화 및 대중성, (장치 설명에 있는) 그리드를 형성하기 위해 가정하는 키들의 지오메트리에 대한 정확한 설명, (사용자 선호도에 있는) 다수의 키들에 매핑되는 단일 액션의 여부와 버튼 분리에 대한 사용자의 선호도이다. 그러면, 사용자 선호도, 장치 설명, 및 서비스 액션의 설명 삼자는 장치의 입력 제어 상으로 서비스들의 액션(인터페이스)의 배치를 최적화하면서, 사용자 선호도를 고려하는 매핑을 생성하기 위해 매핑 함수에 의해 검사된다. 단계 303에서, 장치의 가상 키 그리드가 결정되고, 그것에 의하여 최소 키 분리에 대한 사용자의 선호도는 장치 상의 키들의 물리적 분리에 관해서 고려된다. 예를 들어, 사용자에 의해 요구되는 분리가 약 2.0 cm이고, 키 중심 사이의 거리가 1.5 cm이면, 다른 모든 키가 사용된다. 수평 거리와 수직 거리 양자 모두가 고려된다. 이 단계의 결과로서, 키들로 매핑될 수 있는 최대 액션 개수인 그리드 페이지 크기가 결정된다. 따라서, 서비스 동작의 전체 수집이 각각의 페이지가 많아야 그리드 페이지 크기인 다수의 액션을 수용하는 가상 페이지들로 분리되는 것이 필요하다. 서비스 설명에 따르면, 액션들은 그룹화되고, 알고리즘은 동일한 가상 페이지 상에서 그룹들을 유지하기 위해서 노력한다. 그러므로, 최초 적합 빈 패킹 기술 또는 유사한 조합 기술이 가능한 작은 수의 가상 페이지로 액션 그룹들을 분할하기 위해서 사용된다 (단계 304). 일단 액션 세트들이 가상 페이지들에 할당되면, 일부 페이지들은 이들이 수용할 수 있는 것보다 적은 액션이 할당될 수 있으므로, 알고리즘은 다수의 키들에 할당되도록 대중적인 액션들을 확장할 수 있다(단계 305). 이 확장은 다수의 키들에 매핑되는 단일 액션을 갖는 사용자의 선호도를 조건으로 한다. 다음으로, 가상 페이지에 할당된 액션들은 그 페이지 상의 특정한 가상 키들에 매핑된다(단계 306). 그룹화된 액션들의 근접성을 유지하기 위해서, 할당은 지그재그 방식으로 그리드 행(또는 열)을 가로지르는 "스네이크" 커브를 따라서 수행된다. 이 단계는 매핑될 페이지들이 남아있는 한 반복된다(단계 307).
키들이 그리드를 형성하는 것으로 가정하면, 키들의 불균일 배치는 본 발명의 넓은 범위 내에 있다. 일부 경우에, 큰 키는 부가적인 제약을 갖는 보다 작은 키들의 집합으로서 취급될 수 있으며, 이 집합으로부터의 키들의 오직 하나만이 기능한다.
사용자들이 일부 시간 동안에 특정한 이동 장치를 계속해서 사용함에 따라, 이들은 입력 제어의 배치와 동작 및 이동 장치 상의 촉각 경계물에 기초하는 터치 스크린 상의 위치에 친숙하게 된다. 따라서, 본 발명은 사용자가 사용자 환경에 있는 장치들의 제어 및 서비스에 보다 용이한 액세스를 제공하기 위해서 사용자 쪽에서 이 획득된 친밀함에 영향을 미치는 것을 사용자에게 허용한다.
관련된 양태에서, 본 발명은 셀 전화기, PDA 또는 휴대용 미디어 플레이어와 같은 사용자의 좋아하는 이동 장치를 사용하여, 텔레비전, 라디오, 뮤직 또는 영화 플레이어, 라이트, 커피 메이커, 전자레인지 등과 같은 유용한 가정용 장비들 및 장치들을 제어하기 위한 능력을 사용자들에게 제공하는 통신을 가능하게 한다. 부가적으로, 동일한 이동 장치가 쇼핑 몰에서 베지테리언 레스토랑을 발견하는 것과 같은 사용자의 환경에 관련된 가상 서비스와 상호작용하는데 또한 사용되는 것을 가능하게 하는 능력이 제공된다.
개발자가 목표 서비스는 물론 이동 장치 측 모두를 특별하게 프로그램함으로써 제어 애플리케이션과 이와 같은 원격 액세스의 특정한 인스턴스를 생성하는 것을 가능하게 하지만, 본 발명은 이와 같은 연합들이 임의의 주문형 프로그래밍 없이 자동적으로 생성되는 것을 가능하게 할 기술을 제공한다.
전술한 바처럼, 본 발명은 정지 장치를 포함할 수 있는 서비스 구역을 의미하는 공공 장소에 있는 이동 장치에 서비스를 전달하는 서비스 지향 구조를 구현한다. 이와 같은 구역의 예로서는, 기차/버스역, 페리 터미널, 공항과 같은 교통 허브, 소매점 및 쇼핑 몰, 영화관, 경기장, 및 사람들이 상당한 시간을 보낼 수 있는 대중 교통 수단과 항공기를 포함하지만 이들에 한정되는 것은 아니다. 각각의 구역은 큰 로컬 디스플레이 상에서의 보기 서비스, 문서 프린팅 서비스, 제품 리뷰, 가용성, 및 영역에서 이용 가능한 항목들의 가격, 로컬 레스토랑 리스팅, 교통 스케줄 등과 같은 구역에 관련된 몇몇 서비스를 제공할 수 있다. 일 실시예에서, 제공된 이러한 서비스들은 온톨로지(ontology)에 의해 분류된다. 서비스 개론을 사용자에게 넣는 대신에 구역에 관련된 서비스만을 제공함으로써, 이들을 발견하고 사용하는 업무는 간단하게 된다. 게다가, 본 발명은 서비스의 제출된 리스트를 더욱 맞춤화하기 위해서 사용자의 동적 선호도를 더 고려한다.
서비스 구역은 블루투스 또는 802.11과 같은 기술들에 대한 무선 액세스 포인트를 갖추고, 디스플레이, 프로젝터, 및 프린터와 같은 환경 장치를 갖춘 공공 장소를 포함할 수 있다. 버스와 기차역, 공항 터미널, 의사/치과의사 대합실은 서비스 구역의 가장 일반적인 실례이다. 버스, 기차, 및 비행기 이들 자체는, 이들이 필수 환경 장치들을 갖춘 경우, 또한 구역에 있을 수 있다.
일 양태에서, 상이한 서비스 구역들이 정지 장치 및 제공된 서비스 양자에서 상이하게 구성된다. 구역 및 장치의 다양성은 전술한 방식으로 이동 장치에 서비스 인터페이스의 후기 바인딩의 유리한 사용을 제안한다.
본 명세서에서 언급한 바와 같이, 일 실시예에서, 문서 지향 또는 절차 지향 정보 중 어느 하나를 포함하는 메시지 상에서 동작하는 엔드포인트의 세트로서 네트워크 서비스를 설명하는 XML 포맷을 제공하는 웹 서비스 설명 언어(WSDL) 2.0이 사용된다. 메시지는 전송되는 데이터의 추상적 정의를 표현하고, 각각이 일부 타입의 시스템 내에 있는 정의와 연관되는 로직 부분들을 포함한다. 교환된 메시지는 타입에 의해서 제공되는 데이터 타입 정의에 의해서 기술된다.
동작 및 메시지는 추상적으로 기술되고, 그 후에 엔드포인트를 정의하기 위하여 메시지 포맷 및 구체적인 네트워크 프로토콜에 도약된다. 관련된 구체적인 엔드포인트는 추상적인 엔트포인트(서비스)로 결합된다. WSDL은 어떤 메시지 포맷 또는 네트워크 프로토콜이 통신하는데 사용되는지에 상관없이, 엔드포인트 및 이들 메시지의 설명을 허용하기 위해서 확장될 수 있지만, 예를 들어 SOAP 1.1, HTTP GET/POST, 및 MIME와 함께 WSDL을 사용하는 방법을 기술하는 표준에 따른 바인딩의 사용을 이용할 수 있다. 바인딩은 특정한 포트 타입에 의해 정의되는 동작 및 메시지에 대한 구체적인 프로토콜 및 데이터 포맷 사양을 명시한다. 포트 타입은 입력 메시지 및 출력 메시지를 참조하는 각각의 동작과 함께 추상적인 동작의 세트를 설명한다.
본 개시의 시스템 및 발명은 범용 컴퓨터 또는 컴퓨터 시스템 상에서 구현되고 실행될 수 있다. 컴퓨터 시스템은 공지된 임의의 타입이거나, 공지된 시스템일 것이고, 프로세서, 메로리 장치, 저장 장치, 입력/출력 장치, 내부 버스, 및/또는 통신 하드웨어 및 소프트웨어와 함께 다른 컴퓨터 시스템과 통신하는 통신 인터페이스를 통상적으로 포함할 수 있다.
본 발명이 본 발명의 예시적이고 수행된 실시예에 관하여 특별하게 도시되고 기술되었지만, 첨부된 특허청구의 범위에 의해서만 제한되어야 하는 발명의 사상과 범위로부터 벗어나지 않고 본 발명 내에서 형태 및 세부내역들의 앞서 말한 변경 및 다른 변경들이 행해질 수 있음을 당업자라면 이해할 것이다.
본 발명의 목적, 특징 및 이점들이 첨부 도면과 함께 설명되는 이하의 상세한 설명에 비추어 당업자에게 명백하게 될 것이다.
도 1은 본 발명의 시스템 및 방법을 개념적으로 나타내는 도면(100).
도 2는 본 발명의 일 양태에 따라 서비스 요건을 이동 장치의 I/O 능력에 매핑하고, 관련된 사용자 선호도를 고려함으로써 서비스와 상호작용하는 이동 사용자 인터페이스의 생성을 자동화하는 프로세스를 기술하는 I/O 매핑 시스템 구조(200)를 기술함.
도 3은 본 발명의 일 예시적인 방법(300)을 나타내는 흐름도.
도 4는 본 발명의 일 양태에 따라 XML 장치 설명 포맷의 비제한적인 일례를 예시하는 데이터 구조를 포함하는 예시적인 코드 샘플(400).

Claims (3)

  1. 이동 장치를 서비스와 상호작용하는데 사용하도록 구성하기 위하여, 사용자 인터페이스를 동적으로 매핑하는 시스템에 의해 수행되는 방법으로서,
    다이얼, 놉(knob), 키, 슬라이더, 베즐(bezel), 스위치, 및 조그 휠 장치 중 하나 이상을 포함하는 하나 이상의 입력 제어 장치들을 포함하는 상기 이동 장치에 대한 설명(description)-이 이동 장치에 대한 설명은, 상기 입력 제어 장치들의 크기, 위치, 및 간격을 포함함-을 전달하고;
    상기 이동 장치의 동작에 대한 사용자 선호도-이 사용자 선호도는, 입력 제어 장치 크기, 위치와 간격, 및 특정한 입력 제어 장치로 또는 입력 제어 장치들의 그룹으로 액션들을 매핑하는데 대한 선호도 중 하나 이상을 포함함-를 전달하고;
    서비스의 기능성의 임의의 양태들을 포함하는, 서비스에 대한 설명을 전달하고;
    매핑 함수에 의하여, 상기 사용자 선호도, 장치 설명, 및 서비스 기능들을 수신하고, 상기 사용자 선호도를 고려하면서, 상기 이동 장치의 입력 제어 상에 서비스 기능들의 배치를 최적화하는 맞춤형 매핑 전략을 생성하기 위해서 상기 사용자 선호도, 장치 설명, 및 서비스 기능들을 분석하며;
    서비스가 호출되는 경우에 상기 매핑 전략에 기초하여 상기 이동 장치의 입력 제어를 자동적으로 구성하는 것
    을 포함하고,
    입력 제어 장치 크기, 위치, 및 간격에 대한 상기 사용자의 선호도는 상기 이동 장치 상의 입력 제어의 물리적 실현에 관해서 고려되고,
    상기 서비스에 대한 설명은 서비스 동작과 서비스 이름 중 하나 이상을 포함하고, 상기 서비스에 대한 설명은, 서비스의 예상되는 사용에 관련된 정보를 이용하여 선택적으로 개선되고, 상기 예상되는 사용은 서비스 동작의 그룹화, 서비스 동작의 주기, 서비스 동작의 중요성, 서비스 동작의 계층(hierarchy), 하나 이상의 동작의 확률 분포, 및 동작의 조건부 확률 중 하나 이상을 포함하는 것인, 사용자 인터페이스를 동적으로 매핑하는 시스템에 의해 수행되는 방법.
  2. 제1항에 있어서, 상기 사용자 선호도는, 사용자의 물리적 치수, 사용자의 물리적 위치, 사용자의 선호하는 손잡이(handedness), 사용자의 수동 손작업(dexterity) 등급, 나이, 몸무게, 사용자의 성별, 시력, 색체 지각, 듣기 능력 중 하나 이상을 포함하고,
    상기 이동 장치에 대한 설명은, 상기 이동 장치의 출력 제어의 설명, 장치 치수, 전력 소모, 상기 이동 장치의 입력/출력 제어의 낮/밤 가시성, 및 상기 이동 장치의 3D 기하학적인 설명 중 하나 이상을 더 포함하는 것인, 사용자 인터페이스를 동적으로 매핑하는 시스템에 의해 수행되는 방법.
  3. 삭제
KR1020080105746A 2008-02-14 2008-10-28 실행 시간에 이동 장치에 추상적 사용자 인터페이스의 동적매핑 시스템 및 방법 KR100992022B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/031,386 US7506259B1 (en) 2008-02-14 2008-02-14 System and method for dynamic mapping of abstract user interface to a mobile device at run time
US12/031,386 2008-02-14

Publications (2)

Publication Number Publication Date
KR20090088296A KR20090088296A (ko) 2009-08-19
KR100992022B1 true KR100992022B1 (ko) 2010-11-05

Family

ID=40434198

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080105746A KR100992022B1 (ko) 2008-02-14 2008-10-28 실행 시간에 이동 장치에 추상적 사용자 인터페이스의 동적매핑 시스템 및 방법

Country Status (2)

Country Link
US (1) US7506259B1 (ko)
KR (1) KR100992022B1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8886779B2 (en) * 2007-10-19 2014-11-11 Oracle America, Inc. Performance modeling for SOA security appliance
US20090199126A1 (en) * 2008-02-06 2009-08-06 International Business Machines Corporation Method for automatically organizing toolbars for a software application
US20110185342A1 (en) * 2008-06-03 2011-07-28 Whirlpool Corporation Appliance development toolkit
US20100265183A1 (en) * 2009-04-20 2010-10-21 Microsoft Corporation State changes for an adaptive device
US20100265182A1 (en) * 2009-04-20 2010-10-21 Microsoft Corporation Context-based state change for an adaptive input device
US10127295B2 (en) * 2009-06-05 2018-11-13 Microsoft Technolofy Licensing, Llc Geographic co-location service for cloud computing
US8725847B2 (en) * 2009-09-22 2014-05-13 Sap Ag Asynchronous invocation of web services using mobile client applications
CN102289283A (zh) * 2010-06-16 2011-12-21 微软公司 自适应设备的状态变化
US8331908B2 (en) 2010-10-04 2012-12-11 Microsoft Corporation Mobile telephone hosted meeting controls
US8687018B1 (en) 2011-09-23 2014-04-01 Google Inc. Collection and confirmation of place metadata and graphic representations of fixed objects displayed in a mapping system
KR20130115737A (ko) * 2012-04-13 2013-10-22 삼성전자주식회사 디스플레이장치 및 그 제어방법
US20140245169A1 (en) * 2013-02-25 2014-08-28 Lenovo (Singapore) Pte. Ltd. User preference and capability profile
US9400660B1 (en) * 2013-03-12 2016-07-26 Intuit Inc. Customizing user interfaces of native applications for portable electronic devices
US9665198B2 (en) * 2014-05-06 2017-05-30 Qualcomm Incorporated System and method for optimizing haptic feedback
DE102014017141A1 (de) * 2014-11-20 2016-05-25 Audi Ag Steuern eines Online-Dienstes mittels einer Kraftfahrzeug-Bedieneinrichtung
JP2016207019A (ja) * 2015-04-24 2016-12-08 株式会社リコー 画像形成装置、情報処理方法、およびプログラム
TWI695307B (zh) * 2016-04-29 2020-06-01 姚秉洋 螢幕鍵盤之顯示方法及其電腦程式產品與非暫態電腦可讀取媒體
US10725797B2 (en) 2016-09-05 2020-07-28 Microsoft Technology Licensing, Llc Service-driven dynamic user interface technology

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100772875B1 (ko) 2006-05-22 2007-11-02 삼성전자주식회사 사용자 선호도에 따른 사용자 인터페이스를 설정하는 장치및 그 방법

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717955A (en) * 1993-12-03 1998-02-10 Xerox Corporation System for changing device from specialized interface that enables control of subsystem to general interface that performs general purpose computing functions unrelated to the subsystem
US6453281B1 (en) 1996-07-30 2002-09-17 Vxi Corporation Portable audio database device with icon-based graphical user-interface
US6073136A (en) 1997-10-30 2000-06-06 International Business Machines Corporation Mobile computer with minimized function display and maximized content display
DE19848791A1 (de) 1998-10-22 2000-04-27 Nokia Mobile Phones Ltd Schnittstelleneinrichtung
US6806977B1 (en) 1998-12-31 2004-10-19 Automated Business Companies Multiple integrated machine system
US6346934B1 (en) 1999-05-17 2002-02-12 Gateway, Inc. Programmable remote device control apparatus and method
US6515683B1 (en) * 1999-06-22 2003-02-04 Siemens Energy And Automation Autoconfiguring graphic interface for controllers having dynamic database structures
US7200651B1 (en) * 1999-07-02 2007-04-03 Cisco Technology, Inc. Dynamic configuration and up-dating of integrated distributed applications
AU2001238311A1 (en) 2000-02-14 2001-08-27 Geophoenix, Inc. System and method for graphical programming
US7062488B1 (en) 2000-08-30 2006-06-13 Richard Reisman Task/domain segmentation in applying feedback to command control
US7895530B2 (en) 2000-11-09 2011-02-22 Change Tools, Inc. User definable interface system, method, support tools, and computer program product
AU2002237957B2 (en) * 2001-01-31 2006-09-14 Accenture Global Services Limited Configuring architecture for mobile access to at least one business resource
US7076738B2 (en) 2001-03-02 2006-07-11 Semantic Compaction Systems Computer device, method and article of manufacture for utilizing sequenced symbols to enable programmed application and commands
US6973626B1 (en) * 2001-06-22 2005-12-06 I2 Technologies Us, Inc. Automatically generating graphical user interface elements at a client system according to a current configuration model
US6986021B2 (en) 2001-11-30 2006-01-10 Quick Silver Technology, Inc. Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements
CA2365501A1 (en) * 2001-12-19 2003-06-19 Alcatel Canada Inc. Dynamically configurable human-machine interface
US7058895B2 (en) * 2001-12-20 2006-06-06 Nokia Corporation Method, system and apparatus for constructing fully personalized and contextualized interaction environment for terminals in mobile use
US7203486B2 (en) * 2003-05-19 2007-04-10 France Telecom Wireless system having a dynamically configured multimodal user interface based on user preferences
US20060156315A1 (en) 2003-05-27 2006-07-13 Wood Larry J Method, computer-readable medium and apparatus for providing a graphical user interface in a client-server environment
US20050086328A1 (en) * 2003-10-17 2005-04-21 Landram Fredrick J. Self configuring mobile device and system
US20050204310A1 (en) * 2003-10-20 2005-09-15 Aga De Zwart Portable medical information device with dynamically configurable user interface
US20050132305A1 (en) 2003-12-12 2005-06-16 Guichard Robert D. Electronic information access systems, methods for creation and related commercial models
ATE451806T1 (de) * 2004-05-24 2009-12-15 Computer Ass Think Inc System und verfahren zum automatischen konfigurieren eines mobilen geräts
US7587482B2 (en) 2004-09-08 2009-09-08 Yahoo! Inc. Multimodal interface for mobile messaging
US7920681B2 (en) 2004-11-05 2011-04-05 International Business Machines Corporation System, apparatus, and methods for creating alternate-mode applications
US7730484B2 (en) 2004-11-12 2010-06-01 Opera Software Asa Method and device for providing interfaces that are tailored to specific devices
US20070006100A1 (en) 2005-06-29 2007-01-04 Virpi Roto Mobile communication terminal
US20070043608A1 (en) 2005-08-22 2007-02-22 Recordant, Inc. Recorded customer interactions and training system, method and computer program product
US7752209B2 (en) 2005-09-14 2010-07-06 Jumptap, Inc. Presenting sponsored content on a mobile communication facility
US20090044126A1 (en) 2006-03-01 2009-02-12 Eran Shmuel Wyler Methods and apparatus for enabling use of web content on various types of devices
US20080134045A1 (en) * 2006-07-13 2008-06-05 Neustar, Inc. System and method for adaptively and dynamically configuring a graphical user interface of a mobile communication device
US7779085B2 (en) * 2006-07-17 2010-08-17 Research In Motion Limited Automatic mobile device configuration

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100772875B1 (ko) 2006-05-22 2007-11-02 삼성전자주식회사 사용자 선호도에 따른 사용자 인터페이스를 설정하는 장치및 그 방법

Also Published As

Publication number Publication date
KR20090088296A (ko) 2009-08-19
US7506259B1 (en) 2009-03-17

Similar Documents

Publication Publication Date Title
KR100992022B1 (ko) 실행 시간에 이동 장치에 추상적 사용자 인터페이스의 동적매핑 시스템 및 방법
US9549059B2 (en) Offering menu items to a user
US8942679B2 (en) Method and system for providing pattern based enterprise applications for organizing, automating, and synchronizing processes for mobile communication devices
KR101126394B1 (ko) 이동 단말기 및 이동 단말기를 이용한 정보 표시 방법
US11093693B2 (en) Hierarchical navigation control
US20080168367A1 (en) Dashboards, Widgets and Devices
US20080168368A1 (en) Dashboards, Widgets and Devices
US20080168382A1 (en) Dashboards, Widgets and Devices
US20030063120A1 (en) Scalable graphical user interface architecture
CN106716354A (zh) 使用户界面适应交互准则和组件特性
US20130024814A1 (en) Mobile terminal
KR20070024737A (ko) 이동 장치 애플리케이션 개인화에 콘텍스트 온톨로지를활용하는 방법, 장치 및 컴퓨터 프로그램 생성물
CN103425481A (zh) 向菜单项和动作动态分配快捷方式
US20120079009A1 (en) Method and apparatus for choosing resources based on context and inheritance
CN110221753A (zh) 应用程序下载分类方法及终端设备
US20150277741A1 (en) Hierarchical virtual list control
US20170017503A1 (en) Multi-tier customizable portal deployment system
CN114064024A (zh) 微应用的开发方法、装置、设备、存储介质及程序产品
WO2015191370A1 (en) Converting presentation metadata to a browser-renderable format during compilation
Dumas et al. Design guidelines for adaptive multimodal mobile input solutions
CN110837404A (zh) 应用内部功能模块的快捷操作处理方法、装置和存储介质
CN113176899A (zh) 一种多安卓操作系统的运行方法及终端设备
US20230139886A1 (en) Device control method and device
KR20170046669A (ko) 프리젠테이션 시스템에서 애니메이션을 익스포트하는 기법
Braun et al. Single authoring for multi-device interfaces

Legal Events

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

Payment date: 20130924

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141029

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee