KR100805197B1 - 디스플레이 상태 및/또는 셀 기반 사용자 인터페이스 제공방법 및 장치 - Google Patents

디스플레이 상태 및/또는 셀 기반 사용자 인터페이스 제공방법 및 장치 Download PDF

Info

Publication number
KR100805197B1
KR100805197B1 KR1020037003747A KR20037003747A KR100805197B1 KR 100805197 B1 KR100805197 B1 KR 100805197B1 KR 1020037003747 A KR1020037003747 A KR 1020037003747A KR 20037003747 A KR20037003747 A KR 20037003747A KR 100805197 B1 KR100805197 B1 KR 100805197B1
Authority
KR
South Korea
Prior art keywords
user interface
display state
display
instance
definitions
Prior art date
Application number
KR1020037003747A
Other languages
English (en)
Other versions
KR20030072325A (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 KR20030072325A publication Critical patent/KR20030072325A/ko
Application granted granted Critical
Publication of KR100805197B1 publication Critical patent/KR100805197B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72427User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting games or graphical animations

Abstract

본 발명의 제1 태양에 따라, 사용자 인터페이스는 사용자 인터페이스의 다음 디스플레이 상태를 결정하는 클라이언트 디바이스에 의해 제공되고, 사용자 인터페이스의 다음 인스턴시에이션은 그 결정된 디스플레이 상태를 위한 사용자 인터페이스의 구성 콘텐츠를 특정하고 그 결정된 디스플레이 상태에 대응하는 하나 이상의 디스플레이 상태 정의에 따라 제공된다. 일 실시예에서, 하나 이상의 디스플레이 상태 정의 각각은 사용자 인터페이스와의 다양한 사용자 상호작용을 위하여 디스플레이 상태 변환 규칙을 포함한다. 본 발명의 제2 태양에 따라, 사용자 인터페이스는 디스플레이 셀의 구성 콘텐츠를 특정하는 디스플레이 셀 정의에 따라 사용자 인터페이스의 제1 인스턴시에이션의 제1 부분을 생성하고 사용자 인터페이스의 제2 인스턴시에이션을 위한 제2 디스플레이 셀의 구성 콘텐츠를 또한 특정하는 디스플레이 셀 정의에 따라 사용자 인터페이스의 제2 인스턴시에이션의 제2 부분을 생성함으로써, 클라이언트 디바이스에 의해 제공된다.
Figure 112003008931109-pct00004
디스플레이, 사용자 인터페이스, 셀, 클라이언트, 서버

Description

디스플레이 상태 및/또는 셀 기반 사용자 인터페이스 제공 방법 및 장치{DISPLAY STATE AND/OR CELL BASED USER INTERFACE PROVISION METHOD AND APPARATUS}
본 발명은 데이터 처리 분야에 관한 것이다. 보다 상세하게는, 본 발명은 사용자 인터페이스의 제공에 관한 것이다.
집적 회로, 마이크로프로세서, 네트워킹 및 통신 기술에서의 발전과 아울러, 증가하는 수의 디바이스, 특히 디지털 컴퓨팅 디바이스는 (무선 또는 유선으로) 서로 네트워크화되어 가고 있다. 이와 같이 증대된 연결성의 추세의 결과로서, 증가하는 수의 클라이언트/서버 기반 및 네트워크 의존 애플리케이션이 사용되고 있다. 이러한 클라이언트/서버 기반 및 네트워크 의존 애플리케이션의 예로는 전자우편, 넷 기반 기술, 월드 와이드 웹 및 다양한 형태의 e-커머스를 포함하지만, 이에 제한되는 것은 아니다.
클라이언트/서버 기반 및 네트워크 의존 애플리케이션중에서, 웹-클라이언트 아키텍쳐로 또한 알려진 씬-클라이언트(thin-client) 아키텍쳐가 클라이언트측에서의 "구현의 용이성" 때문에 특히 인기있다. 일반적으로, 그러한 구조는 클라이언트 측에, 웹 브라우저 또는 WAP(무선 액세스 프로토콜) 브라우저와 같은 "사용자- 에이전트"를 단지 포함하고 있다. 클라이언트는 어떤 애플리케이션 특정 프로그램을 설치할 필요가 없다. 애플리케이션 특정 로직은 서버 측에서 실행되고, 클라이언트는 사용자 인터페이스를 제공하기 위해 "사용자-에이전트"를 실행하기만 하면 된다(여기서 각각의 인스턴시에이션(instantiation)은 "페이지" 또는 "웹 페이지"로서 언급된다). 사용자 인터페이스의 각각의 인스턴시에이션에 대해, "사용자-에이전트"는 서버로부터 특정한 인스턴시에이션을 위한 일련의 기재사항을 검색하고, 검색된 기재사항에 의해 특정된 바와 같이 디스플레이상에 그 인스턴시에이션을 렌더링된다. 하이퍼링크를 클릭하거나 양식에 기입하는 것과 같은 사용자 인터페이스의 현재의 인스턴시에이션과의 사용자 상호작용에 응답하여 그러한 검색이 행해진다. 수행될 검색은, "사용자-에이전트"가 어떤 결정을 할 필요없이, 각각의 잠재적 상호작용에 대한 "사용자-에이전트"에 대해 (기재사항의 일부로서) 특정된다. (후속하는 검색 명세 사항을 포함하는) 기재사항은 전형적으로 웹 브라우저용의 HTML(하이퍼텍스트 마크업 언어), WAP 브라우저용의 HDML/WML(핸드헬드 디바이스 마크업 언어 또는 무선 마크업 언어) 등과 같은 "사용자-에이전트" 특정 언어로 쓰여진다.
비록 이러한 씬-클라이언트 아키텍쳐에 의해 애플리케이션 프로그래머가 다양한 애플리케이션을 구현할 수 있지만, 사용자의 경험은 (워싱턴 레드몬드의 마이크로소프트로부터 이용가능한 오피스등과 같은) 종래의 다른 풍부한 클라이언트 애플리케이션을 갖는 사용자 경험보다 일반적으로 더 부족하다. 이러한 이유중 하나는, 네트워크를 가로지르는 각각의 다음 세트의 정의의 실시간 검색에 포함된 대기 시간때문이다. 사용자는, 서버의 대역폭 뿐만 아니라 제한된 네트워킹/통신의 한계 아래에서 검색이 수행되는 동안, 수초 또는 그 이상 기다려야만 한다. 이 문제는 종종 "사용자 인터페이스 대기 시간" 문제로 언급된다.
이러한 문제를 해결하기 위해, HTML과 WAP 브라우저에 대해 "스크립트"가 도입되었다. 스크립트는 "사용자-에이전트"가 씬-클라이언트 애플리케이션의 저작자로 하여금 (자바스크립트 또는 WML 스트립트와 같은) 스크립팅-언어로 기술된 몇몇 프로그램들(일련의 실행가능 명령어들)을 끼워넣도록 할 수 있고, 이것은 서버에 액세스할 필요없이 어떻게 사용자의 입력을 처리하는지와 사용자 인터페이스 기재사항의 다음 세트를 검색하는지에 대해 "사용자-에이전트"에게 명령을 준다.
비록 "스크립팅"이 어떤 세트의 사용자 상호작용(데이터를 서버에 제공하기 전에 사용자가 특정 필드를 채워넣었는지를 확인하는 것과 같은)에 대한 충분한 해결책이 되었지만, 이것은 씬-클라이언트 애플리케이션의 발전에 복잡성을 매우 크게 부가하였다. 또한 스크립팅은 (체스게임에서 사용자의 움직임에 대한 응답을 결정하는 것과 같이) 복잡한 계산이 필요한 경우에는 적당하지 않았는데, 스크립트 언어 자체의 한계 뿐만 아니라 클라이언트 디바이스에 대한 제한된 자원 때문이었다.
HDML (및 이에 후속하는 WML)은 "카드와 데크(deck)"라는 개념을 도입하였는데, 이것은 "사용자-에이전트"가 한번의 왕복에서 다중 세트의 사용자 인터페이스 기재사항을 검색하도록 한다. 각각의 카드는 사용자에게 제공되어야 할 정보를 포함하는 단일 유닛의 상호작용, 및 사용자 입력을 위한 명령을 기술한다. 사용자는 본질적으로 상호작용을 하고 일련의 카드를 통해 네비게이트한다. 다중 카드는 데크로 조직될 수 있고, 이것은 HTML 페이지에 상당하는 것이다. 각각의 가능한 세트의 사용자 상호작용에 대해 하나의 카드가 필요하기 때문에 비록 이것이 어떤 세트의 시나리오에서 왕복 회수를 감소시키지만, 상호작용 유닛의 가능한 수가 매우 크거나 무한대에 가까우면, 사용자 인터페이스 기재사항의 수 및 이들의 대응하는 검색된 콘텐츠가 매우 크거나 무한대에 가깝기 때문에 이 기술을 적용하는 것은 불가능하다. 예를 들어, 사용자 인터페이스가 100개의 가능한 세트의 사용자 상호작용을 가진다면, 100개 카드의 기재사항이 한번의 왕복에서 검색되어야 하거나 또는 이들 기재사항이 다중 데크로 분리되어 개별적으로 검색되어야 한다. 따라서, 사용자는 한번의 왕복에서 전송되어야 할 다량의 데이터에 기인하거나 또는 다중 왕복으로 인한 지연을 여전히 경험하고 있다.
따라서, 사용자에 의한 대규모의 가능성있는 응답을 어드레스하는데 더 효과적이고 또한 그 솔루션이 클라이언트 기반이 되도록 하고(이에 따라 대기 시간을 제거하고) 그럼에도 종래기술의 단점과 제약이 없는 사용자 인터페이스를 제공하는 새로운 접근법이 필요하게 되었다.
본 발명의 제1 태양에 따르면, 사용자 인터페이스는 사용자 인터페이스의 다음 디스플레이 상태를 국부적으로 결정하는 클라이언트 디바이스에 의해 제공되고, 사용자 인터페이스의 다음 인스턴시에이션은, 결정된 디스플레이 상태에 대한 사용자 인터페이스의 구성 콘텐츠를 특정하고 또한 결정된 디스플레이 상태에 대응하는 하나 이상의 디스플레이 상태 정의에 따르는 클라이언트 디바이스에 의해 제공된다. 일 실시예에서, 하나 이상의 디스플레이 상태 정의의 각각은 사용자 인터페이스를 갖는 다양한 사용자 상호작용에 대한 디스플레이 상태 변환 규칙을 포함한다.
본 발명의 제2 태양에 따르면, 사용자 인터페이스는, 디스플레이 셀의 구성 콘텐츠를 특정하는 디스플레이 셀 정의에 따라 사용자 인터페이스의 제1 인스턴시에이션의 제1 부분을 생성하고, 또한 제2 인스턴시에이션의 제2 부분에 대한 디스플레이 셀의 구성 콘텐츠를 특정하는 디스플레이 셀 정의에 따라 사용자 인터페이스의 제2 인스턴시에이션의 제2 부분을 생성하는 클라이언트 디바이스에 의해 제공된다. 즉, 디스플레이 셀 정의는 다중 디스플레이 상태에 대해 디스플레이 셀을 특정할 수 있다. 일 실시예에서 디스플레이 상태는 다차원이다.
또한, 일 실시예에서, 디스플레이 상태 변환 규칙은 디스플레이 셀 레벨에서 특정된다. 일 실시예에서 디스플레이 셀이 또한 다른 디스플레이 셀로부터 구성 콘텐츠를 물려받을 수 있다. 디스플레이 셀은 심지어 의사 디스플레이 셀이 될 수도 있다.
일 실시예에서, 사용자 인터페이스 제공에 대해 상태 및/또는 셀 기반 방법이 구현된 사용자 인터페이스 제공 기능이 애플리케이션 서버에 제공된다. 애플리케이션 서버는, 원격 클라이언트 디바이스의 사용자 인터페이스에 대한 요청에 응답하여, 사용자 인터페이스의 상이한 인스턴시에이션에 대한 구성 콘텐츠 및 상태 및/또는 셀 기반 정의를 원격 클라이언트 디바이스에 전송한다. 일 실시예에서 본 발명의 사용자 인터페이스 제공 기능을 갖는 애플리케이션 서버를 호스트하기 위해 서버가 제공된다.
일 실시예에서, 사용자 인터페이스 제공에 대한 상태 및/또는 셀 기반 접근과 결합된 사용자 인터페이스 제공 기능이 사용자 에이전트에 제공된다. 일 실시예에서, 본 발명의 사용자 인터페이스 제공 기능을 갖는 사용자 에이전트를 호스트하기 위해, 적어도 무선 전화, 손바닥 크기의 컴퓨팅 디바이스, 및 노트북 크기의 컴퓨팅 디바이스로 구성된 디바이스 그룹중에서 선택된 클라이언트 디바이스가 제공된다.
본 발명은 동일한 참조번호가 유사한 구성요소를 나타내는 첨부된 도면에 의해 예시되는, 한정적인 것이 아닌 예시적인 실시예에 의해 기술되어 진다.
도1은 일 실시예에 따른 본 발명의 개략도,
도2a 내지 2d는 예시적인 애플리케이션의 사용자 인터페이스의 상이한 인스턴시에이션을 나타내는 도면,
도3은 일 실시예에 따라 본 발명을 실시하기에 적당한 클라이언트 및 서버 디바이스의 예시적인 네트워크를 나타내는 도면,
도4는 도3의 예시적인 네트워크 환경에서 본 발명을 실시하는 방법을 나타내는 도면,
도5a 내지 5b는 일 실시예에 따른 도3의 사용자-에이전트의 관점에서의 동작 흐름도를 나타내는 도면,
도6은 일 실시예에 따라 본 발명을 실시하는 클라이언트 또는 서버 디바이스로서 사용하기에 적동한 예시적인 컴퓨팅 디바이스의 아키텍쳐를 나타내는 도면.
이하의 설명에서, 본 발명의 다양한 측면이 기술될 것이다. 그러나 본 발명은 본 발명의 일부 또는 전체의 사항으로 실시될 수 있다는 것이 당업자에게 명백할 것이다. 설명의 목적으로, 본 발명의 완전한 이해를 제공하기 위해 특정 숫자, 재료, 및 구성이 기재되어 있다. 그러나, 본 발명은 특정한 상세항목 없이도 실시될 수 있다는 것이 당업자에게 명백할 것이다. 또한, 본 발명을 모호하게 하지 않도록 공지된 구성은 생략되거나 간략화되었다.
연구의 내용을 다른 당업자에게 전달하기 위해, 당업자들에 의해 공통적으로 사용되는 사용자 인터페이스, 버튼 등과 같은 용어를 사용하여 상세한 설명의 일부가 제시될 것이다. 상세한 설명의 일부는 클릭킹, 결정, 렌더링 등과 같은 용어를 사용하여 컴퓨팅 디바이스에 의해 수행되는 동작의 관점에서 제시될 것이다. 당업자에게 용이하게 이해되는 바와 같이, 이러한 양과 동작은 디지털 시스템의 기계적 및 전기적 구성소자를 통해 조작되고, 결합되고, 전송되고, 저장될 수 있는 전기, 자기, 또는 광학 신호의 형태를 취한다. 용어 '디지털 시스템'은 단독으로, 부수적으로, 또는 내부에 포함되는 범용 및 전용의 컴퓨팅 장치, 시스템 등을 포함한다.
다양한 동작들이 본 발명을 가장 잘 이해할 수 있는 방식으로 차례로 설명될 것이지만, 설명의 순서가 이들 동작들이 반드시 순서에 의존해야 함을 의미하는 것으로 해석되어서는 안된다. 또한, 용어 "일 실시예에서"는 반복하여 사용되는데, 그렇지만 이 용어가, 비록 그럴수는 있지만, 반드시 동일한 실시예를 언급하는 것은 아니다.
도1을 참조하면, 일 실시예에 따라 본 발명의 개략을 나타내는 블록도가 도시되어 있다. 도시되었듯이, 본 발명의 일측면에 따라, 사용자 인터페이스(102)가 디스플레이 상태 정의(106)에 의해 정의된 디스플레이 상태의 사용을 통해 제공된다. 각각의 디스플레이 상태 정의(106)는, 사용자 인터페이스(102), 예를들어 102a, 102b 등의 인스턴시에이션 (또는 이들의 일부)에 대한 콘텐츠(도시생략)를 구성하기 위한 명세사항(108), 및 디스플레이된 콘텐츠를 갖는 사용자 상호작용의 경우 사용자 인터페이스(102)의 그다음 디스플레이 상태(또는 인스턴시에이션)를 특정하는 디스플레이 상태 변환 규칙(110)을 포함한다.
본 발명의 다른 측면에 따라, 사용자 인터페이스(102)는 디스플레이 셀 정의(104)에 의해 대응적으로 정의된 디스플레이 셀의 사용을 통해 제공된다. 각각의 디스플레이 셀 정의(104)는 디스플레이 셀의 콘텐츠(도시생략)를 구성하기 위한 명세사항(108)를 포함한다. 디스플레이 셀은 사용자 인터페이스의 상이한 인스턴시에이션(또는 디스플레이 상태)에 디스플레이될 수 있다. 즉, 디스플레이 셀 정의는 하나 이상의 디스플레이 상태에 대한 디스플레이 셀을 특정할 수 있다.
설명되는 실시예에 있어서, 본 발명의 양 측면이 모두가 실시된다. 더 구체적으로, 각각의 디스플레이 상태 정의(108)는 디스플레이 셀 정의(104)의 적용가능한 것들을 포함하고, 각각의 디스플레이 셀 정의(104)는, 정의되고 있는 렌더링된 디스플레이 셀(104)과 상호작용하는 경우에 사용자 인터페이스(102)의 그다음 디스플레이 상태(또는 인스턴시에이션)를 특정하는 디스플레이 상태 변환 규칙을 위한 명세사항(110)를 포함한다. 이하에서 더욱 상세히 설명되듯이, 본 발명은 장점으로서 디스플레이 상태가 하나 이상의 차원이 되도록 한다. 또한, 디스플레이 셀은 다른 디스플레이 셀로부터 그의 구성 콘텐츠를 계승받을 수 있고, 이것은 의사(pseudo) 디스플레이 셀이 될 수 있다. 더욱이, 이러한 특징은 사용자 인터페이스의 상이한 인스턴시에이션을 정의하는데 있어 더 많은 간결한 방법을 장점으로서 제공한다.
비록 도1이 "내포형(nested)" 실시예, 즉 각 디스플레이 상태 정의(106)가 하나이상의 디스플레이 셀 정의(104)를 포함하고 또한 디스플레이 셀 정의(104)중 다수의 선택된 것들의 각각은 디스플레이 상태 변환 규칙(110)을 포함하는 것으로 설명되었지만, 본 발명은 대안적인 실시예에서, 도1의 "내포형" 방법과 반대로, 디스플레이 상태, 디스플레이 상태 변환 규칙, 및 디스플레이 셀 모두가 독립적으로 정의되고, 서로(또는 이들의 결합) 교차 참조(cross-reference)될 수 있다.
따라서, 본 발명에서, 사용자 인터페이스(102a, 102b 등)의 각각의 인스턴시에이션은, 인스턴시에이션의 대응하는 디스플레이 셀의 구성 콘텐츠를 특정하는 대응하는 디스플레이 셀 정의에 따라 인스턴시에이션의 상이한 부분을 생성하는 클라이언트 디바이스에 의해 제공될 수 있다. 일 실시예에서, 디스플레이 상태 정의(106)(디스플레이 상태 변환 규칙(110)을 갖는 디스플레이 셀 명세사항(106)를 포함하여), 및 디스플레이 셀의 구성 콘텐츠는 서버측으로부터 클라이언트측으로 "사전-제공"된다. 클라이언트측은 사용자 인터페이스(102)의 다음 디스플레이 상태 를 국부적으로 결정하고, 다음 인스턴시에이션, 예컨대 102a 또는 102b는 결정된 디스플레이 상태의 "디스플레이 상태 정의/정의들"에 따라 클라이언트 디바이스에 의해 제공된다.
["사전-제공"이 단계적으로 행해질 수 있음에 유의한다. 예를 들어, 최초의 정의 및 콘텐츠가 먼저 제공되고, 최초의 인스턴시에이션의 "사고 시간(think time)" 동안 최초의 인스턴시에이션이 렌더링되면서 후속하는 정의 및 콘텐츠가 병렬로 제공된다. 단계적인 "사전-제공"의 다른 변형들도 또한 시행될 수 있다.]
따라서, 본 발명은 장점으로서 클라이언트 디바이스가, 사용자 인터페이스의 인스턴시에이션들 사이에서 애플리케이션 서버로부터의 실시간 검색에 시간을 소비하지 않으면서, 사용자 인터페이스의 상이한 인스턴시에이션을 렌더링하고 국부적으로 결정할 수 있도록 한다. 또한, 앞서 언급하였듯이, 이 장점은 매우 간결한 접근을 가능하게 한다. 이하의 설명으로부터 보다 명백하게 되듯이, 사용자 인터페이스의 상이한 인스턴시에이션을 특정하는 본 발명의 상태 및/또는 셀 기반 접근법은 고도로 스케일러블하고, 그 간결성 때문에, 상대적으로 많은 수의 사용자 상호작용이 가능한 상황을 어드레싱하는데 더욱 유연하다.
도2a-2d를 참조하여, 본 발명의 애플리케이션 실시예를 설명한다. 카드 게임의 사용자 인터페이스의 4개의 인스턴시에이션이 여기에 도시되어 있는데, 여기서 사용자는 3개의 디스플레이된 카드중 하나를 선택하게 된다. 그 선택에 따라, 사용자는 이기거나 지거나 비기게 될 것이다. 애플리케이션 실시예는 이해의 용이함을 위하여 의도적으로 단순하게 구성되어 있다. 그럼에도 불구하고, 당업자에게 본 발명의 핵심 원리는 충분히 설명된다.
도2a는 카드 게임의 사용자 인터페이스(102aa)의 최초 인스턴시에이션을 도시하는데, 게임(202) 타이틀과 함께 3개의 카드(206)의 뒷면과 플레이어를 위한 지시(204a)가 렌더링된다. 도2b는 카드 게임의 사용자 인터페이스(102ab)의 제2 인스턴시에이션을 도시하는데, 게임(202) 타이틀과 함께, (사용자에 의해 선택된) 제1 카드(208a)의 앞면과 잔여 두개의 카드(206)의 뒷면, 그리고 플레이어를 위한 "승리" 메시지(204b)가 렌더링된다.
도2c는 카드 게임의 사용자 인터페이스(102ac)의 제3 인스턴시에이션을 도시하는데, 게임(202) 타이틀과 함께, (사용자에 의해 선택된) 제2 카드(208b)의 앞면과 잔여 두개의 카드(206)의 뒷면, 그리고 플레이어를 위한 "패배" 메시지(204c)가 렌더링된다. 마지막으로, 도2d는 카드 게임의 사용자 인터페이스(102ad)의 제4 인스턴시에이션을 도시하는데, 게임(202) 타이틀과 함께, (사용자에 의해 선택된) 제3 카드(208c)의 앞면과 잔여 두개의 카드(206)의 뒷면, 그리고 플레이어를 위한 "비김" 메시지(204c)가 렌더링된다.
따라서, 본 발명에 따라, 렌더링되는 조건하에서 사용자 인터페이스(102aa-102ad)의 다양한 인스턴시에이션 및 인스턴시에이션 사이의 변환이 다음의 (1), (2), (3)을 이용하여 편리하게 특정될 수 있다.
(1)s1부터 s4까지의 4개의 디스플레이 상태. 여기서, s1은 최초 "선택" 상태이고, s2는 제1 카드의 선택시(즉, "승리" 상태)의 디스플레이 상태이고, s3는 제2 카드의 선택시(즉, "패배" 상태)의 디스플레이 상태이고, 그리고 s4는 제3 카드의 선택시(즉, "비김" 상태)의 디스플레이 상태이다.
(2)3개의 변환 규칙. 규칙1-제1 카드의 선택시에 상태 s1으로부터 상태 s2로 변환하는 것, 규칙2-제2 카드의 선택시에 상태 s1로부터 상태 s3로 변환하는 것, 그리고 규칙3-제3 카드의 선택시에 상태 s1으로부터 상태 s4로 변환하는 것.
(3)11개의 디스플레이 셀
a. 게임 타이틀을 위한 셀1 (이는 모든 상태에서 볼 수 있다)
b. 게임의 지시를 위한 셀2 (이는 상태 1에서 볼 수 있다)
c. 제1 카드의 뒷면을 위한 셀3 (이는 상태 1, 3 및 4에서 볼 수 있다)
d. 제2 카드의 뒷면을 위한 셀4 (이는 상태 1, 2 및 4에서 볼 수 있다)
e. 제3 카드의 뒷면을 위한 셀5 (이는 상태 1, 2 및 3에서 볼 수 있다)
f. 제1 카드의 앞면을 위한 셀6 (이는 상태 2에서 볼 수 있다)
g. 제2 카드의 앞면을 위한 셀7 (이는 상태 3에서 볼 수 있다)
h. 제3 카드의 앞면을 위한 셀8 (이는 상태 4에서 볼 수 있다)
i. "승리" 메시지를 위한 셀9 (이는 상태 2에서 볼 수 있다)
j. "패배" 메시지를 위한 셀10 (이는 상태 3에서 볼 수 있다)
k. "비김" 메시지를 위한 셀11 (이는 상태 4에서 볼 수 있다)
게다가, 도시된 실시예에 따라, 이러한 명세 사항은 (디스플레이 상태 및 거기서 제각기 정의된 디스플레이 상태 변환 규칙과 함께) 다수의 셀 정의를 사용하여 만들어질 수 있다. 아래에 열거된 것은 XML로 작성된 그러한 명세 사항의 일 례이다. (다만, 일부 세부 사항, 예컨대 위치상의 명세 사항은 생략되었다)
Figure 112003008931109-pct00001
상기 열거된 실시예에서, 의사 디스플레이 상태 및 계승의 개념이 사용자 인터페이스의 각 인스턴시에이션에서 "카드 게임" 타이틀의 디스플레이 설명을 용이하게 하기 위하여 또한 도입되었다는 점에 유념하라. 의사 디스플레이 상태의 " 타이틀"이 특정되고, 그 구성 콘텐츠("카드 게임")가 다른 각각의 디스플레이 상태에 의해 계승된다. 의사 디스플레이 상태는 사용자 인터페이스의 인스턴시에이션을 위하여 저절로 본질적으로 렌더링되지 않는 디스플레이 상태이다. 결과적으로, 사용자 인터페이스는 보다 더 간단한 방식으로 특정될 수 있어, 전송 시간과 사용자 인터페이스를 검색하는데 요구되는 대역폭을 감소시킬 수 있다.
이해의 용이함을 위하여, 상기 실시예는 승리, 패배, 또는 비김과 같은 단일 차원내에서 4개의 디스플레이 상태를 도시하였다. 그러나, 본 발명은 디스플레이 상태가 다차원일 수 있다는 것을 특히 고려하고 있다.
예를 들어보면, $1, $5 또는 $10 베팅을 할 수 있는 새로운 "베팅(betting)" 차원이 상기 기술된 실시예 카드 게임에 부가된다. 이와 같은 "베팅" 차원에 따라, 카드 게임은 어떠한 베팅도 하지 않은 상태(T0), $1 베팅을 한 상태(T1), $5 베팅을 한 상태(T2), 및 $10 베팅을 한 상태(T3)로 존재한다고 볼 수 있다. 따라서, 사용자 인터페이스의 다양한 인스턴시에이션은 (T0, x), (T1, S1), (T2, S1), (T3, S1), (T1, S2), (T2, S2), (T3, S2), (T1, S3), (T2, S3), (T3, S3), (z, S4)로 이루어진 11개의 "2 차원적" 디스플레이 상태에 대응한다고 볼 수 있다. [게임은 벳팅을 하지 않고서는 카드를 선택할 수 없을 뿐만 아니라, 승리, 패배, 또는 비김 상태를 허용하지 않을 것이다. 따라서, (T0, S1), (T0, S2), (T0, S3) 및 (T0, S4)는 "반칙"이거나 "불가능"한 상태이다. 게다가, 디스플레이 상태가 승리, 패배 또는 비김 차원에서 비김 상태에 있으면, 베팅한 양은 중요하지 않다.]
또한, 사용자(플레이어)가 게임의 초기에 $100을 받는다고 가정하면, 사용자 인터페이스의 다양한 인스턴시에이션은 다음의 확장성 XML 명세 사항에 의해 특정될 수 있을 것이다.
Figure 112003008931109-pct00002

Figure 112003008931109-pct00003
상기 중간의 실시예에서, 디스플레이 상태값이 단지 1차원으로 특정되면, 다른 차원을 위한 디스플레이 상태값은 "무관심(don't care)" 으로 간주된다. 따라서, 그 특정된 디스플레이 셀은 디스플레이 상태값이 특정된 차원에서 대응하면 렌더링될 것이다. 예컨대, 디스플레이 상태 "S=2"로 특정된 디스플레이 셀에 대하여, 디스플레이 셀은 디스플레이 상태 (T3, S2) 뿐만 아니라 (T1, S2), (T2, S2)을 위해 렌더링된다. 즉, 본 발명은 디스플레이 셀 정의가 하나 이상의 단일 또는 다차원 디스플레이 상태를 위한 디스플레이 셀용으로 특정될 수 있어, 본 발명의 사용자 인터페이스의 정의 또는 제공의 간결성을 증대시킬 수 있고, 그 결과 대기시간의 감소의 이점을 가질 수 있게 된다.
도3을 참조하면, 도3에는 본 발명을 실시하는데, 사용하기에 적합한 클라이언트 및 서버 디바이스의 일 실시예 네트워크가 도시되어 있다. 도시된 바와 같이, 클라이언트 디바이스(312)는 인터네트워킹 구조(330)를 경유하여 웹 사이트(302)에 연결되어 있다. 웹 사이트(302)는 본 발명의 교시에 따라 구성된 웹 애플리케이션(304)를 포함한다. 즉, 웹 애플리케이션(304)의 사용자 인터페이스는 본 발명의 상태 및/또는 셀 기반 접근법에 따라 간결하게 구성되어 있다. 웹 애플리케이션(304)는 종래기술로서 공지되어 있는 광범위한 애플리케이션을 나타내기 위한 의도로 사용되었다. 또한, 웹 사이트(302)는 "페이지" 또는 "웹 페이지"를 연결된 클라이언트 디바이스(312)로 전송하기 위하여, 종래기술로서 공지되어 있는 광범위한 서버를 나타내는 웹 서버(308)를 포함하고, 본 경우 이외에서 웹 서버(308)는 사용자 인터페이스 제공 기능(도시되지 않음)을 포함하는데, 이는 전술한 바와 같이 상태 및/또는 셀 기준 형태로 간결하게 정의된 사용자 인터페이스의 인스턴시에이션을 "사전-제공"하기 위하여 구비된 것이다.
클라이언트 디바이스(312) 각각은 본 발명의 상태 및 셀 기반 사용자 인터페 이스 렌더링 엔진(320)과 통합된 사용자 에이전트(314)를 포함한다. 사용자 에이전트(314), 특히 상태 및 셀 기반 사용자 인터페이스 렌더링 엔진(320)은 전술한 바와 같이 사용자 인터페이스(304')의 상태 및/또는 셀 기반 인스턴시에이션을 렌더링한다. 사용자 에이전트(314)는 브라우저, 오퍼레이팅 시스템 등이 될 수 있다. 클라이언트 디바이스(312)는 종래기술로서 공지되어 있는 광범위한 디바이스를 나타낼 의도로 사용되었는데, 이는 무선 전화, 팜 사이즈의 개인 휴대 정보 단말기(PDA), 노트북 사이즈의 컴퓨터, 데스크탑 컴퓨터, 셋탑 박스 등을 포함하지만 이에 제한되는 것은 아니다.
이해의 용이함을 위하여, 단지 하나의 웹 사이트(302)와 두개의 클라이언트 디바이스(312)가 도시되어 있지만, 당업자라면 본 발명은 본 발명에 따라 구성되어 렌더링되는 사용자 인터페이스를 가진 애플리케이션을 액세싱하는 다수의 클라이언트 디바이스(312)의 선택 조합을 구비하는 하나 이상의 웹 사이트(302)로 실행될 수 있다는 것을 이해할 수 있을 것이다.
도4에는 일 실시예에 따른 본 발명의 방법이 도시되어 있다. 도시된 바와 같이, 블럭(402)에서, 클라이언트 디바이스는 원격 애플리케이션 서버로부터 애플리케이션을 요청한다. 애플리케이션의 사용자 인터페이스는 본 발명의 상태 및/또는 셀 기반 접근법에 따라 편리하게 구성된다. 응답하여, 블럭(404)에서, 애플리케이션 서버는 클라이언트 디바이스에 디스플레이 셀의 구성 콘텐츠와 함께, 사용자 인터페이스의 다양한 (단일 또는 다차원의) 디스플레이 상태를 위해 간결하게 정의된 디스플레이 셀 정의를 제공한다.
블럭(406)에서, 클라이언트 디바이스의 ("사용자 에이전트"의) 사용자 인터페이스 렌더링 엔진은 "다음의" 디스플레이 상태를 결정하고, "다음의" 디스플레이 상태의 정의 및 제공된 구성 콘텐츠를 사용하여 사용자 인터페이스의 "다음의" 인스턴시에이션을 렌더링한다. [클라이언트 디바이스의 ("사용자 에이전트"의) 사용자 인터페이스 렌더링 엔진은 "최초" 정의 및 대응 콘텐츠가 제공되자 마자 사용자 인터페이스의 "최초" 인스턴시에이션을 렌더링할 수 있다는 점에 유념하라. 따라서, 본 발명은 "최초" 정의 및 콘텐츠를 우선 제공하는 서버에 의해 편리하게 실행될 수 있다.] 블럭(408)에서, 사용자는 사용자 인터페이스의 현재 인스턴시에이션과 상호작용하게 된다. 이에 응답하여, 프로세스는 블럭(406)으로 다시 되돌아가서 계속되는데, 이는 클라이언트 디바이스의 ("사용자 에이전트"의) 사용자 인터페이스 렌더링 엔진이 "다음의" 디스플레이 상태를 결정하고, "다음의" 디스플레이 상태의 정의 및 제공된 구성 콘텐츠를 사용하여 사용자 인터페이스의 "다음의" 인스턴시에이션을 렌더링하게 된다는 것을 의미한다.
블럭(406 및 408)은 사용자가 결국 사용자 인터페이스의 실시로 귀착되는 어떤 행동을 취할 때까지 반복하여 수행된다.
사용자 인터페이스가 원격 클라이언트 디바이스에 간결하게 제공될 수 있다는 사실에 의해 당업자가 이해할 수 있는 바와 같이, 사용자 인터페이스는 감소된 대기시간으로 초기에 제공될 수 있다. 게다가, 그 이후에 원격 서버에 액세스함이 없이 후속 인스턴시에이션이 제공될 수 있기 때문에, 이러한 인스턴시에이션 각각은 대기시간의 상당한 감소와 함께 제공될 수 있고, 따라서 사용자의 경험내용을 상당히 향상시킬 수 있을 것이다.
도5a-5b는 도3의 사용자 에이전트의 사용자 인터페이스 렌더링 기능과 관련된 실시형태의 동작 흐름을 도시한다. 도5a는 다양한 인스턴시에이션을 렌더링하는 전체 프로세스를 도시하는 반면, 도5b는 특정 인스턴시에이션을 렌더링하는 프로세스를 도시한다.
도5a에 도시된 바와 같이, 호출하자마자, 블럭(502)에서, 사용자 인터페이스 렌더링 기능은 그 결정된 현재 디스플레이 상태를 위한 디스플레이 상태 정의에 따라 사용자 인터페이스의 현재 인스턴시에이션을 렌더링한다. 그 이후에, 블럭(504)에서, 사용자 인터페이스 렌더링 기능은 사용자 입력, 즉 렌더링된 디스플레이 셀중 하나와의 사용자 상호작용을 기다린다. 사용자 상호작용을 검출하자마자, 블럭(506)에서, 사용자 인터페이스 렌더링 기능은 사용자가 상호작용하는 렌더링된 디스플레이 셀을 위해 특정된 디스플레이 상태 변환 규칙에 따라 디스플레이 상태를 설정한다. 그 다음에, 프로세스는 블럭(502)로 되돌아가 계속된다.
도5b에 도시된 바와 같이, 사용자 인터페이스 렌더링 기능은 사용자 인터페이스의 현재 인스턴시에이션을 렌더링하고, 한번에 하나의 디스플레이 셀을 렌더링한다.(블럭 512) 프로세스는 디스플레이 상태를 위해 특정된 모든 디스플레이 셀이 렌더링될 때까지 계속된다.(블럭 514)
도6은 일 실시예에 따라 본 발명을 클라이언트 또는 서버 디바이스로 실시하기 위하여 사용하기에 적합한 예시적인 컴퓨팅 디바이스를 도시한다. 도시된 바와 같이, 클라이언트/서버(600)는 하나 이상의 프로세서(602) 및 시스템 메모리(606) 를 포함한다. 프로세서의 수와 채용된 메모리의 크기는 일반적으로 그 예시적인 컴퓨팅 디바이스(600)가 클라이언트 또는 서버 디바이스로 사용되는지 여부에 의존한다. 예컨대, 서버 디바이스로 사용되면, 아마 다수개의 고성능 프로세서가 채용된다. 반면, 무선 전화로 사용되면, 그 대신에 아마 보다 낮은 성능의 마이크로-제어기가 사용된다.
부가하여, 디바이스 또는 시스템(600)은 (클라이언트 또는 서버 디바이스로 사용되는지 여부에 따라 디스켓, 하드 드라이브, CDROM 등과 같은) 대용량 기억 디바이스(607), (키보드, 커서 컨트롤 등과 같은 I/O 디바이스와 상호작용하는) GPIO(608), 및 (네트워크 인터페이스 카드, 모뎀 등과 같은) 통신 인터페이스(612)를 포함한다. 그러한 구성요소는 하나 이상의 버스를 나타내는 시스템 버스(614)를 경유하여 서로 연결된다. 다중 버스의 경우에는, 하나 이상의 버스 브릿지(도시되지 않음)에 의해 브릿지 연결되어진다.
이러한 구성요소 각각은 종래기술로 공지된 그 본래의 기능을 수행한다. 특히, 시스템 메모리(604)와 대용량 기억 장치(606)가 (서버 디바이스의 경우에는) 웹 서버 또는 (클라이언트 디바이스의 경우에는) 사용자 에이전트를 구현하는 프로그래밍 명령의 작업 카피본 및 영속적인 카피본을 기억하기 위하여 채용된다.
본 발명의 교시에 따라 통합된 신규한 웹 서버 또는 사용자 에이전트를 호스팅하기 위하여 사용하는 것을 제외하고는, 이러한 구성요소(602-614)의 구성은 공지되어 있으므로, 여기서는 더 이상 기술하지 않을 것이다.
따라서, 사용자 인터페이스를 제공하기 위한 상태 및/또는 셀 기반 방법 및 장치를 설명하였다. 본 발명은 상기 도시된 실시예에 의해 설명되었지만, 당업자라면 본 발명은 상기 기술된 실시예에 제한되지 않는다는 것을 이해할 것이다. 본 발명은 첨부된 청구범위의 기술사상 및 범위내에서 수정 및 변경되어 실시될 수 있다. 따라서, 상기 기재된 내용은 본 발명을 제한하는 것이 아닌 예시적인 것으로 간주되어야 할 것이다.

Claims (44)

  1. 클라이언트/서버 기반 네트워크 시스템에서 클라이언트 디바이스에 의해 사용자 인터페이스를 제공하는 방법에 있어서,
    사용자 인터페이스의 복수의 디스플레이 상태를 위해 애플리케이션의 사용자 인터페이스의 복수의 인스턴시에이션을 정의하는 복수의 디스플레이 상태 정의를 상기 클라이언트 디바이스에 의해 원격 서버로부터 수신받는 단계;
    사용자 인터페이스의 현재 디스플레이 상태를 상기 클라이언트 디바이스에 의해 국부적으로 결정하는 단계; 및
    상기 결정된 현재 디스플레이 상태에 관한 하나 이상의 디스플레이 상태 정의에 따라, 상기 사용자 인터페이스의 현재 인스턴시에이션을 상기 클라이언트 디바이스에 의해 제공하는 단계;를 포함하고,
    상기 사용자 인터페이스의 복수의 인스턴시에이션 중 적어도 하나는 다차원 디스플레이 상태에 해당하고, 상기 적어도 하나의 인스턴시에이션은 복수의 디스플레이 상태 정의 중 둘 이상에 의해 정의되는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서, 각각의 디스플레이 상태 정의는, 사용자 인터페이스의 대응 인스턴시에이션의 하나 이상의 디스플레이 셀을 대응적으로 정의하는 하나 이상의 디스플레이 셀 정의를 가지며,
    상기 결정하는 단계는, 상기 사용자 인터페이스의 바로 선행하는 인스턴시에이션의 바로 선행하는 디스플레이 상태에 대응시키기 위해 상기 사용자 인터페이스의 바로 선행하는 인스턴시에이션의 제2 렌더링된 디스플레이 셀에 대한 사용자 인터페이스의 제2의 디스플레이 상태 정의의 제2 디스플레이 셀 정의에 따라, 상기 클라이언트 디바이스에 의해 국부적으로 행해지고, 이 때 상기 대응하는 디스플레이 셀은 사용자와 상호작용한 것이고,
    상기 제2 디스플레이 셀 정의는, 현재 디스플레이 상태를 사용자가 상기 대응하는 제2 렌더링된 디스플레이 셀과 상호작용하는 경우의 사용자 인터페이스의 디스플레이 상태로 특정하는 상태변환 규칙을 포함하는 것을 특징으로 하는 방법.
  3. 제 2 항에 있어서, 상기 제공하는 단계는, 상기 현재 디스플레이 상태에 관한 상기 하나 이상의 디스플레이 상태 정의 중 하나의 디스플레이 상태 정의에서의 제1의 상기 하나 이상의 디스플레이 셀 정의에 따라, 사용자 인터페이스의 현재 인스턴시에이션의 제1 디스플레이 셀을 상기 클라이언트 디바이스에 의해 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 제 3 항에 있어서, 상기 제공하는 단계는, 상기 현재 디스플레이 상태에 관한 상기 하나 이상의 디스플레이 상태 정의 중 상기 하나의 또는 또다른 하나의 디스플레이 상태 정의에서의 제2의 상기 하나 이상의 디스플레이 셀 정의에 따라, 사용자 인터페이스의 현재 인스턴시에이션의 제2 디스플레이 셀을 상기 클라이언트 디바이에 의해 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서, 사용자 인터페이스의 의사 인스턴시에이션으로부터 계승된 구성 콘텐츠와 함께 사용자 인터페이스의 현재 인스턴시에이션의 일부를 상기 클라이언트 디바이스에 의해 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서, 상기 현재 디스플레이 상태는 다차원적인 것을 특징으로 하는 방법.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 클라이언트/서버 기반 네트워크 시스템에서 클라이언트 디바이스에 의해 사용자 인터페이스를 제공하는 방법에 있어서,
    현재 디스플레이 상태를 포함한 사용자 인터페이스의 복수의 디스플레이 상태를 위해 제1 인스턴시에이션을 포함한 사용자 인터페이스의 복수의 인스턴시에이션을 정의하는 복수의 디스플레이 상태 정의 중에서 적어도 제1의 하나의 디스플레이 상태 정의에 따라, 사용자 인터페이스의 상기 현재 디스플레이 상태에 대한 애플리케이션의 사용자 인터페이스의 상기 제1 인스턴시에이션을 클라이언트 디바이스에 의해 국부적으로 제공하는 단계 (이 때, 상기 사용자 인터페이스의 복수의 인스턴시에이션 중 적어도 하나는 다차원 디스플레이 상태에 해당하고, 상기 적어도 하나의 인스턴시에이션은 복수의 디스플레이 상태 정의 중 둘 이상에 의해 정의되고, 복수의 디스플레이 상태 정의 중 적어도 제1의 하나의 디스플레이 상태 정의는 사용자 인터페이스의 제1 인스턴시에이션의 하나 이상의 디스플레이 셀을 대응적으로 정의하는 하나 이상의 디스플레이 셀 정의를 포함하고, 상기 하나 이상의 디스플레이 셀 정의의 적어도 하나는 디스플레이 셀의 콘텐츠가 사용자에 의해 상호작용될 때 변환되어 하는 다음 디스플레이 상태를 정의하는 변환 규칙을 갖는다);
    디스플레이 셀의 상기 대응하는 디스플레이 셀 정의에 따라, 사용자 인터페이스의 제1 인스턴시에이션의 디스플레이 셀의 콘텐츠와의 사용자의 상호작용에 근거하여 상기 다음 디스플레이 상태가 되어야 할 사용자 인터페이스의 디스플레이 상태를 상기 클라이언트 디바이스에 의해 국부적으로 결정하는 단계; 및
    사용자 인터페이스의 다음 인스턴시에이션을 적어도 부분적으로 정의하는 상기 복수의 디스플레이 상태 정의 중 적어도 제2의 하나의 디스플레이 상태 정의에 따라, 사용자 인터페이스의 상기 결정된 다음 디스플레이 상태에 대응하는 사용자 인터페이스의 상기 다음 인스턴시에이션을 상기 클라이언트 디바이스에 의해 제공하는 단계;를 포함하는 것을 특징으로 하는 방법.
  11. 클라이언트/서버 기반 네트워크 시스템에서 원격 클라이언트 디바이스에 의해 사용자 인터페이스를 제공하는 방법에 있어서,
    (1) 사용자 인터페이스의 복수의 디스플레이 상태를 위해 애플리케이션의 사용자 인터페이스의 복수의 인스턴시에이션을 정의하는 복수의 디스플레이 상태 정의 (여기서, 상기 사용자 인터페이스의 복수의 인스턴시에이션 중 적어도 하나는 다차원 디스플레이 상태에 해당하고, 상기 적어도 하나의 인스턴시에이션은 복수의 디스플레이 상태 정의 중 둘 이상에 의해 정의되고, 복수의 디스플레이 상태 정의 중 적어도 하나는 사용자 인터페이스의 복수의 인스턴시에이션 중 적어도 하나의 인스턴시에이션에서의 하나 이상의 대응 디스플레이 셀에 대한 구성 콘텐츠를 특정하는 하나 이상의 디스플레이 셀 정의를 포함한다); 및
    (2) 상기 하나 이상의 디스플레이 셀 정의에 따라 상기 원격 클라이언트 디바이스에서 상기 사용자 인터페이스의 복수의 인스턴시에이션 중 하나의 인스턴시에이션을 렌더링하기 위한 상기 하나 이상의 디스플레이 셀에 대한 상기 구성 콘텐츠;를 서버에 의해 상기 원격 클라이언트 디바이스로 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제 11 항에 있어서, 상기 구성 콘텐츠는 상기 렌더링 동안에 계승되어질 사용자 인터페이스의 의사 인스턴시에이션의 구성 콘텐츠인 것을 특징으로 하는 방법.
  13. 제 11 항에 있어서, 상기 하나 이상의 디스플레이 셀 정의의 적어도 하나는, 다수의 사용자가 하나 이상의 디스플레이 셀의 대응하는 적어도 하나와 상호작용하는 경우에 변환되어야 할 사용자 인터페이스의 디스플레이 상태를 대응적으로 특정하는 디스플레이 상태 변환 규칙을 포함하는 것을 특징으로 하는 방법.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 클라이언트/서버 기반 네트워크 시스템에서 사용자 인터페이스를 제공하기 위해 사용되는 클라이언트 디바이스에 있어서,
    상기 클라이언트 디바이스는:
    저장매체로서,
    사용자 인터페이스의 복수의 디스플레이 상태를 위해 애플리케이션의 사용자 인터페이스의 복수의 인스턴시에이션을 정의하는 복수의 디스플레이 상태 정의를 원격 서버로부터 수신하고,
    사용자 인터페이스의 현재 디스플레이 상태를 결정하고, 및
    상기 결정된 현재 디스플레이 상태에 관한 하나 이상의 디스플레이 상태 정의에 따라, 상기 사용자 인터페이스의 현재 인스턴시에이션을 제공하도록 구비된, 사용자 인터페이스 제공 기능을 구현하는 복수의 프로그래밍 명령을 저장하는 저장매체; 그리고
    상기 프로그래밍 명령을 실행하기 위해 상기 저장매체에 연결된 프로세서;를 포함하고,
    상기 사용자 인터페이스의 복수의 인스턴시에이션 중 적어도 하나는 다차원 디스플레이 상태에 해당하고, 상기 적어도 하나의 인스턴시에이션은 복수의 디스플레이 상태 정의 중 둘 이상에 의해 정의되는 것을 특징으로 하는 클라이언트 디바이스.
  31. 제 30 항에 있어서, 상기 복수의 디스플레이 상태 정의의 각각은, 사용자 인터페이스의 대응 인스턴시에이션의 하나 이상의 디스플레이 셀을 대응적으로 정의하는 하나 이상의 디스플레이 셀 정의를 가지며,
    상기 프로그래밍 명령은, 사용자 인터페이스의 바로 선행하는 인스턴시에이션의 바로 선행하는 디스플레이 상태에 대응시키기 위해 상기 사용자 인터페이스의 바로 선행하는 인스턴시에이션의 제2 렌더링된 디스플레이 셀에 대한 사용자 인터페이스의 제2의 디스플레이 상태 정의의 제2 디스플레이 셀 정의에 따라서 (여기서, 상기 대응하는 디스플레이 셀은 사용자와 상호작용한 것이다) 상기 결정을 행하는 상기 사용자 인터페이스 제공 기능을 더 구비하고,
    상기 제2 디스플레이 셀 정의는, 현재 디스플레이 상태를 사용자가 상기 대응하는 제2 렌더링된 디스플레이 셀과 상호작용하는 경우의 사용자 인터페이스의 디스플레이 상태로 특정하는 상태변환 규칙을 포함하는 것을 특징으로 하는 클라이언트 디바이스.
  32. 제 31 항에 있어서, 상기 프로그래밍 명령은, 상기 현재 디스플레이 상태에 관한 상기 하나 이상의 디스플레이 상태 정의 중 하나의 디스플레이 상태 정의에서의 제1의 상기 하나 이상의 디스플레이 셀 정의에 따라 사용자 인터페이스의 현재 인스턴시에이션의 제1 디스플레이 셀을 렌더링함으로써, 사용자 인터페이스의 현재 인스턴시에이션의 상기 제공을 수행하는 상기 사용자 인터페이스 제공 기능을 더 구비한 것을 특징으로 하는 클라이언트 디바이스.
  33. 제 32 항에 있어서, 상기 프로그래밍 명령은, 상기 현재 디스플레이 상태에 관한 상기 하나 이상의 디스플레이 상태 정의 중 상기 하나의 또는 또다른 하나의 디스플레이 상태 정의에서의 제2의 상기 하나 이상의 디스플레이 셀 정의에 따라 사용자 인터페이스의 현재 인스턴시에이션의 제2 디스플레이 셀을 제공함으로써, 사용자 인터페이스의 현재 인스턴시에이션의 상기 제공을 수행하는 상기 사용자 인터페이스 제공 기능을 더 구비한 것을 특징으로 하는 클라이언트 디바이스.
  34. 제 30 항에 있어서, 상기 프로그래밍 명령은, 사용자 인터페이스의 의사 인스턴시에이션으로부터 계승된 구성 콘텐츠와 함께 사용자 인터페이스의 현재 인스턴시에이션의 일부를 렌더링함으로써, 사용자 인터페이스의 현재 인스턴시에이션의 상기 제공을 수행하는 상기 사용자 인터페이스 제공 기능을 구비한 것을 특징으로 하는 클라이언트 디바이스.
  35. 제 30 항에 있어서, 상기 현재 디스플레이 상태는 다차원적인 것을 특징으로 하는 클라이언트 디바이스.
  36. 제 30 항에 있어서, 상기 클라이언트 디바이스는 무선 전화, 팜 사이즈 컴퓨팅 디바이스, 및 노트북 사이즈 컴퓨팅 디바이스로 이루어진 군에서 선택된 디바이스인 것을 특징으로 하는 클라이언트 디바이스.
  37. 삭제
  38. 삭제
  39. 삭제
  40. 클라이언트/서버 기반 네트워크 시스템에서 사용자 인터페이스를 제공하기 위해 사용되는 클라이언트 디바이스에 있어서,
    상기 클라이언트 디바이스는:
    저장매체로서,
    현재 디스플레이 상태를 포함한 사용자 인터페이스의 복수의 디스플레이 상태를 위해 제1 인스턴시에이션을 포함한 사용자 인터페이스의 복수의 인스턴시에이션을 정의하는 복수의 디스플레이 상태 정의 중에서 적어도 제1의 하나의 디스플레이 상태 정의에 따라, 사용자 인터페이스의 상기 현재 디스플레이 상태에 대한 애플리케이션의 사용자 인터페이스의 상기 제1 인스턴시에이션을 제공하고 (이 때, 상기 사용자 인터페이스의 복수의 인스턴시에이션 중 적어도 하나는 다차원 디스플레이 상태에 해당하고, 상기 적어도 하나의 인스턴시에이션은 사용자 인터페이스의 복수의 디스플레이 상태 정의 중 둘 이상에 의해 정의되고, 복수의 디스플레이 상태 정의 중 적어도 제1의 하나의 디스플레이 상태 정의는 사용자 인터페이스의 제1 인스턴시에이션의 하나 이상의 디스플레이 셀을 대응적으로 정의하는 하나 이상의 디스플레이 셀 정의를 포함하고, 상기 하나 이상의 디스플레이 셀 정의의 적어도 하나는 디스플레이 셀의 콘텐츠가 사용자에 의해 상호작용될 때 변환되게 하는 다음 디스플레이 상태를 정의하는 변환 규칙을 갖는다),
    디스플레이 셀의 상기 대응하는 디스플레이 셀 정의에 따라, 사용자 인터페이스의 제1 인스턴시에이션의 디스플레이 셀의 콘텐츠와의 사용자의 상호작용에 근거하여 상기 다음 디스플레이 상태가 되어야 할 사용자 인터페이스의 디스플레이 상태를 결정하고, 및
    사용자 인터페이스의 다음 인스턴시에이션을 적어도 부분적으로 정의하는 상기 복수의 디스플레이 상태 정의 중 적어도 제2의 하나의 디스플레이 상태 정의에 따라, 사용자 인터페이스의 상기 결정된 다음 디스플레이 상태에 대응하는 사용자 인터페이스의 상기 다음 인스턴시에이션을 상기 클라이언트 디바이스에 의해 제공하도록 구비된, 사용자 인터페이스 제공 기능을 구현하는 복수의 프로그래밍 명령를 저장하는 저장매체; 그리고
    상기 프로그래밍 명령을 실행하기 위하여 상기 저장매체에 연결된 프로세서;를 포함하는 것을 특징으로 하는 클라이언트 디바이스.
  41. 클라이언트/서버 기반 네트워크 시스템에서 사용자 인터페이스를 제공하기 위해 사용되는 서버에 있어서,
    상기 서버는:
    저장매체로서,
    사용자 인터페이스의 복수의 디스플레이 상태를 위해 애플리케이션의 사용자 인터페이스의 복수의 인스턴시에이션을 정의하는 복수의 디스플레이 상태 정의 (여기서, 상기 사용자 인터페이스의 복수의 인스턴시에이션 중 적어도 하나는 다차원 디스플레이 상태에 해당하고, 상기 적어도 하나의 인스턴시에이션은 복수의 디스플레이 상태 정의 중 둘 이상에 의해 정의되고, 복수의 디스플레이 상태 정의 중 적어도 하나는 사용자 인터페이스의 복수의 인스턴시에이션 중 적어도 하나의 인스턴시에이션에서의 하나 이상의 대응 디스플레이 셀에 대한 구성 콘텐츠를 특정하는 하나 이상의 디스플레이 셀 정의를 포함한다); 및
    상기 하나 이상의 디스플레이 셀 정의에 따라 상기 원격 클라이언트 디바이스에서 상기 사용자 인터페이스의 복수의 인스턴시에이션 중 하나의 인스턴시에이션을 렌더링하기 위한 상기 하나 이상의 디스플레이 셀에 대한 상기 구성 콘텐츠;를 원격 클라이언트 디바이스로 전송하도록 구비된 사용자 인터페이스 제공 기능을 구현하는 복수의 프로그래밍 명령을 저장하는 저장매체, 그리고
    상기 프로그래밍 명령을 실행하기 위하여 상기 저장매체에 연결된 적어도 하나의 프로세서를 포함하는 것을 특징으로 하는 서버.
  42. 제 41 항에 있어서, 상기 구성 콘텐츠는 상기 렌더링 동안에 계승되어질 사용자 인터페이스의 의사 인스턴시에이션의 구성 콘텐츠인 것을 특징으로 하는 서버.
  43. 제 41 항에 있어서, 상기 하나 이상의 디스플레이 셀 정의의 적어도 하나는, 다수의 사용자가 하나 이상의 디스플레이 셀의 대응하는 적어도 하나와 상호작용하는 경우에 변환되어야 할 사용자 인터페이스의 디스플레이 상태를 대응적으로 특정하는 디스플레이 상태 변환 규칙을 포함하는 것을 특징으로 하는 서버.
  44. 삭제
KR1020037003747A 2000-09-14 2001-07-17 디스플레이 상태 및/또는 셀 기반 사용자 인터페이스 제공방법 및 장치 KR100805197B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/661,598 US7350151B1 (en) 2000-09-14 2000-09-14 Display state and/or cell based user interface provision method and apparatus
US09/661,598 2000-09-14
PCT/US2001/022486 WO2002023335A2 (en) 2000-09-14 2001-07-17 Display state and/or cell based user interface provision method and apparatus

Publications (2)

Publication Number Publication Date
KR20030072325A KR20030072325A (ko) 2003-09-13
KR100805197B1 true KR100805197B1 (ko) 2008-02-21

Family

ID=24654283

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037003747A KR100805197B1 (ko) 2000-09-14 2001-07-17 디스플레이 상태 및/또는 셀 기반 사용자 인터페이스 제공방법 및 장치

Country Status (7)

Country Link
US (1) US7350151B1 (ko)
EP (1) EP1461691A2 (ko)
JP (1) JP2004530175A (ko)
KR (1) KR100805197B1 (ko)
CN (1) CN100458686C (ko)
AU (1) AU2001275963A1 (ko)
WO (1) WO2002023335A2 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976259B1 (en) * 2000-09-29 2005-12-13 Microsoft Corporation Method for abstract state transitions without requiring state machine knowledge
US20080313282A1 (en) 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
CN1770097B (zh) * 2004-11-05 2010-05-05 腾讯科技(深圳)有限公司 一种用户交互界面系统及其扩展方法
KR20070052645A (ko) 2005-11-17 2007-05-22 삼성전자주식회사 사용자 인터페이스를 관리하는 장치 및 방법
JP2012510118A (ja) 2008-11-26 2012-04-26 カルガリー・サイエンティフィック・インコーポレイテッド アプリケーションプログラムの状態への遠隔アクセスを提供するための方法およびシステム
US10055105B2 (en) 2009-02-03 2018-08-21 Calgary Scientific Inc. Method and system for enabling interaction with a plurality of applications using a single user interface
US9741084B2 (en) 2011-01-04 2017-08-22 Calgary Scientific Inc. Method and system for providing remote access to data for display on a mobile device
CA2734860A1 (en) 2011-03-21 2012-09-21 Calgary Scientific Inc. Method and system for providing a state model of an application program
RU2625525C2 (ru) 2011-08-15 2017-07-14 Калгари Сайентифик Инк. Бесконтактный удаленный доступ к программному приложению
CA2844851A1 (en) 2011-08-15 2013-02-21 Calgary Scientific Inc. Method for flow control and for reliable communication in a collaborative environment
CN103959708B (zh) 2011-09-30 2017-10-17 卡尔加里科学公司 包括用于协作远程应用共享和注释的交互式数字表层的非耦合应用扩展
CN104040946B (zh) 2011-11-23 2017-07-14 卡尔加里科学公司 用于协作远程应用程序共享和会议的方法和系统
US9602581B2 (en) 2012-03-02 2017-03-21 Calgary Scientific Inc. Remote control of an application using dynamic-linked library (DLL) injection
US9729673B2 (en) 2012-06-21 2017-08-08 Calgary Scientific Inc. Method and system for providing synchronized views of multiple applications for display on a remote computing device
EP3075111B1 (en) 2013-11-29 2017-12-20 Calgary Scientific Inc. Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US20160071303A1 (en) * 2014-09-04 2016-03-10 Home Box Office, Inc. Styleable transitions
US10015264B2 (en) 2015-01-30 2018-07-03 Calgary Scientific Inc. Generalized proxy architecture to provide remote access to an application framework
CN107431630B (zh) 2015-01-30 2021-06-25 卡尔加里科学公司 高度可扩展、容错的远程访问架构和与之连接的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06231077A (ja) * 1993-02-05 1994-08-19 Nec Software Ltd データ入力方式

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5844556A (en) * 1992-07-17 1998-12-01 Kabushiki Kaisha Komatsu Seisakusho Intelligent graphic operation panel and highlighting contol method
US5483651A (en) * 1993-12-03 1996-01-09 Millennium Software Generating a dynamic index for a file of user creatable cells
US6178432B1 (en) * 1996-09-30 2001-01-23 Informative Graphics Corp. Method and apparatus for creating interactive web page objects
US6222537B1 (en) * 1997-07-29 2001-04-24 International Business Machines Corporation User interface controls for a computer system
US6173316B1 (en) * 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US6070190A (en) * 1998-05-11 2000-05-30 International Business Machines Corporation Client-based application availability and response monitoring and reporting for distributed computing environments
WO1999066394A1 (en) * 1998-06-17 1999-12-23 Microsoft Corporation Method for adapting user interface elements based on historical usage
US6778992B1 (en) * 1999-12-21 2004-08-17 Lockstream Corporation Flexible and hierarchical user interfaces defined using a data definition language

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06231077A (ja) * 1993-02-05 1994-08-19 Nec Software Ltd データ入力方式

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Developing Highly-Responsive User Interfaces with DHTML and Servlets", Proceedings of Performance, Computing and Communications Conference 473-443pp, 2000.2.20-22
"WAP WML Spec. Version1.3", 2000.2.19
UIML: An XML Language for Building Device-Independent User Interfaces", XML Conference Proceedings

Also Published As

Publication number Publication date
WO2002023335A3 (en) 2004-05-21
KR20030072325A (ko) 2003-09-13
US7350151B1 (en) 2008-03-25
CN100458686C (zh) 2009-02-04
JP2004530175A (ja) 2004-09-30
CN1688969A (zh) 2005-10-26
AU2001275963A1 (en) 2002-03-26
EP1461691A2 (en) 2004-09-29
WO2002023335A2 (en) 2002-03-21

Similar Documents

Publication Publication Date Title
KR100805197B1 (ko) 디스플레이 상태 및/또는 셀 기반 사용자 인터페이스 제공방법 및 장치
CN103718161B (zh) Web应用体系架构
US5953524A (en) Development system with methods for runtime binding of user-defined classes
US6654911B1 (en) Interactive test sequence generation
US7007237B1 (en) Method and system for accessing web pages in the background
US7809798B2 (en) Shared object stores for a networked computer system
US20120191922A1 (en) Object synchronization in shared object space
US6125402A (en) Method and system for executing one of several forms of a multi-purpose program
US20060031778A1 (en) Computing platform for loading resources both synchronously and asynchronously
US7543301B2 (en) Shared queues in shared object space
US20030112271A1 (en) Method of controlling a browser session
US20100017695A1 (en) Integrating an applet into a multi-page or multi-tasking web application to enable applet state to be automatically saved and restored
EP1265130A2 (en) Method and apparatus for runtime merging of hierarchical trees
US6038596A (en) Method and system in a network for decreasing performance degradation triggered by multiple user redundant input events
US20060026557A1 (en) Manipulating portlets
Trewin et al. Abstract user interface representations: How well do they support universal access?
EP1568190A2 (en) System and methodology providing intelligent resource fork
AU2008260091A1 (en) Method and apparatus that enables a web-based client-server application to be used offline
US7689986B2 (en) Shared listeners in shared object space
US20100256971A1 (en) Method for simulating the operation of a device having an architecture and a processor determined by means of another device connected to a computer network
US7165243B1 (en) Multi-lingual tag extension mechanism
Stephens Start Here! Fundamentals of Microsoft. NET Programming
US7530058B2 (en) Non-compile pages
CN109189588A (zh) 一种浏览器功能实现方法、装置、终端及存储介质
Mikkonen et al. Towards a uniform web application platform for desktop computers and mobile devices

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E902 Notification of reason for refusal
B601 Maintenance of original decision after re-examination before a trial
S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130128

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140128

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150128

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee