KR100894243B1 - 프레쉬니스 스테이터스를 사용한 사용자 인터페이스 액션 프로세싱 - Google Patents

프레쉬니스 스테이터스를 사용한 사용자 인터페이스 액션 프로세싱 Download PDF

Info

Publication number
KR100894243B1
KR100894243B1 KR1020067027296A KR20067027296A KR100894243B1 KR 100894243 B1 KR100894243 B1 KR 100894243B1 KR 1020067027296 A KR1020067027296 A KR 1020067027296A KR 20067027296 A KR20067027296 A KR 20067027296A KR 100894243 B1 KR100894243 B1 KR 100894243B1
Authority
KR
South Korea
Prior art keywords
action
user interface
freshness
indicator
status
Prior art date
Application number
KR1020067027296A
Other languages
English (en)
Other versions
KR20070032722A (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 KR20070032722A publication Critical patent/KR20070032722A/ko
Application granted granted Critical
Publication of KR100894243B1 publication Critical patent/KR100894243B1/ko

Links

Images

Classifications

    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

사용자 인터페이스 디바이스로부터 생성된 사용자 인터페이스 액션을 프로세싱하는 시스템은, 사용자 인터페이스 액션에 대한 프레쉬니스 스테이터스를 생성하는 단계를 포함한다. 프레쉬니스 스테이터스는 사용자 인터페이스 액션과 관련된 프레쉬니스 상태를 표시한다. 프레쉬니스 스테이터스는 사용자 인터페이스 액션과 관련된다.
프레쉬니스 스테이터스, 사용자 인터페이스 이벤트/액션, 현재 상태, 이전 상태

Description

프레쉬니스 스테이터스를 사용한 사용자 인터페이스 액션 프로세싱{USER INTERFACE ACTION PROCESSING USING A FRESHNESS STATUS}
배경
기술분야
본 발명은 일반적으로 사용자 인터페이스 액션의 프로세싱에 관한 것으로, 더 상세하게는, 사용자 인터페이스 액션의 관련 애플리케이션으로의 선택적인 제공에 관한 것이다.
배경기술
기술에서의 진보는 더 작고 더 강력한 개인용 컴퓨팅 디바이스를 발생시켜 왔다. 예를 들어, 소형이고 경량이며 사용자가 용이하게 휴대할 수 있는 다양한 휴대용 무선 전화기, 개인 휴대 정보 단말기 (PDA), 및 페이징 디바이스가 현재 존재하고 있다. 통상적으로, 이들 디바이스들은 엄격히 제약된 리소스이다. 예를 들어, 스크린 사이즈, 이용가능한 메모리 및 파일 시스템 공간의 양, 입력 및 출력 능력의 양, 및 프로세싱 능력은, 각각, 디바이스의 소형 사이즈에 의해 제한될 수도 있다. 또한, 엄격히 제약된 리소스 디바이스 및 엄격하지 않게 제약된 리소스 디바이스 양자를 포함하는 모든 타입의 컴퓨팅 디바이스가, 일반적으로 현재의 또는 더 작은 공간 요건내에서 증가된 컴퓨팅 능력을 제공하는 신규한 컴퓨팅 기술의 도입으로부터 이점을 획득하지만, 통상적으로 가장 많은 이점을 얻는 것 은 엄격히 제약된 디바이스이다.
현재, 일부 개인용 컴퓨팅 디바이스를 포함하는 광범위하게 다양한 컴퓨팅 디바이스는, 사용자 인터페이스 (U/I) 이벤트/액션을 트래킹 (track) 및 레코딩하는 U/I 시스템을 구비하는 컴퓨팅 능력을 포함한다. 통상적으로, 그러한 이벤트/액션은 키 스트로크 (stroke) 및 포인터 (마우스 또는 펜) 이동을 포함하며, 각각의 이벤트/액션은 그들 자신의 대응하는 이벤트/액션 코드를 갖는다. 예를 들어, 포인터 이동은, 펜-업, 펜-다운 및 펜-드래그를 포함하는 수 개의 이벤트/액션 타입 (펜 이벤트/액션) 을 갖는 것으로 공지되어 있다. 통상적으로, 이벤트/액션 코드는 U/I 시스템에 의한 대응하는 U/I 디바이스의 주기적인 폴링 (polling) 에 의해 생성된다. 예를 들어, 펜이 이전의 시간 주기의 이전의 위치에 관해 그의 접촉 위치를 변경하도록 검출된다면, 이벤트/액션 코드는 그 이벤트/액션 코드가 현재의 펜 위치 (x,y) 를 갖는 펜-드래그로 이벤트/액션을 고유하게 식별하는 U/I 시스템에 의해 생성된다.
상술된 바와 같이, 이벤트/액션은 대응하는 U/I 디바이스의 주기적인 샘플링에 기초하여 발생된다. 통상적으로, 샘플링 주기는, 평균 애플리케이션에 의해 수행되는 동작에 관해 너무 짧거나 너무 길지 않도록 결정되는 길이로 설정된다. 예를 들어, 너무 짧게 설정되면, 발생된 포인터 이동 이벤트/액션은, 예를 들어, 포인터가 부가적인 이벤트/액션을 생성하도록 진행하거나 사용자가 그 사용자의 액션을 따라잡기 위해 스크린을 대기하는 동안, 대응하는 애플리케이션이 대부분의 시간을 각각의 이벤트/액션 위치를 디스플레이하는데 소비하도록 애플리케이션을 압도할 만큼 매우 많을 수도 있다. 예를 들어, 이벤트/액션을 발생하는 대로 간단히 드롭하거나 (즉, 일단 큐 (queue)/버퍼가 일정한 사이즈에 도달하면, 큐잉 (queue) 하지 못한다), 아무것도 행하지 않고 간단히 디스플레이가 사용자의 액션에 상당히 뒤쳐지게 함으로써 큰 데이터를 처리하려는 노력이 행해지고 있지만, 대응하는 결과의 어느 것도 수용가능한 솔루션 (solution) 을 표현하지 않는다. 반면, 주기가 너무 길게 설정되면, 예를 들어, 필적 인식 (handwriting recognition) 소프트웨어와 같이 더 높은 해상도 데이터를 요구하는 애플리케이션은 원하는 바대로 수행하기에 이용가능한 충분한 데이터를 갖지 않을 것이다.
하나의 일반적인 접근법은 고-해상도 및 저-해상도 버퍼 양자를 제공함으로써, 이벤트/액션을 트래킹하는 것이다. 일 실시형태에서, 고-해상도 버퍼는 더 높은 샘플링 레이트를 갖는 소프트웨어와 관련되는 경향이 있는 반면, 저-해상도 버퍼는 더 낮은 샘플링 레이트를 갖는 소프트웨어와 관련되는 경향이 있다. 적어도 일부의 실시형태에서, 고-해상도 버퍼에서 포착된 아이템은 액션으로서 지칭되지만, 저-해상도 버퍼에서 포착된 아이템은 이벤트로서 지칭된다. 그러한 일 실시형태에서, 이벤트는 액션의 서브세트이다. 일 실시형태에서, 가장 최근 또는 "현재 상태" 의 액션/이벤트는 대응하는 버퍼의 상단에 위치된 아이템을 조사함으로써 결정될 수 있다. 하나 이상의 실시형태에서, 고-해상도 버퍼는 100Hertz의 샘플링 레이트와 관련되고, 필적 샘플링 프로그램과 관련된다.
또한, 상술된 고-해상도 버퍼 및 저-해상도 버퍼 양자를 구현하는 이들 시스템들은, 더 높은 해상도 데이터를 검색하도록 개별적으로 액세스될 수 있는 고-해 상도 버퍼에 옵션의 액세스를 제공함으로써, 필적 인식 소프트웨어와 같은 고-해상도 데이터를 요구하는 애플리케이션에 대해 작동가능한 솔루션을 제공하기 위해 설계되도록 공지되어 있다. 그로서, 많은 애플리케이션들이 저-해상도 버퍼만을 사용하여 만족스럽게 동작하지만, 다른 더 높은-해상도 기반 애플리케이션은 개별 고-해상도 버퍼를 사용하여 더 양호한 결과를 달성한다. 따라서, 일반적으로, U/I 이벤트 정보를 식별하는 이벤트 코드 정보를 처리하는 시스템은, 고-해상도 버퍼 및 저-해상도 버퍼 양자를 포함하도록 공지되어 있고, 하나는 "현재 상태" 의 이벤트와 일반적으로 관련된 통상적인 애플리케이션에 대한 것이고, 또 다른 하나는 단지 "현재 상태" 의 이벤트 이상과 관련된 더 높은-해상도 기반 애플리케이션에 대한 것이다. 고-해상도 솔루션 및 저-해상도 솔루션의 제공은, 작동하는 단일 버퍼 솔루션이 이용가능했다면 필요했을 것에 비해 부가적인 코딩, 데이터 구조 및 프로세싱 능력을 요구한다.
이벤트/액션의 많은 재고의 발생의 잠재적인 문제를 처리하는 또 다른 접근법은, 재고를 처리하는 책임을 개별 애플리케이션으로 전가하는 것이다. 그러나, 이것은 그러한 애플리케이션의 설계를 복잡하게 하고, 상이한 디바이스상의 동일한 애플리케이션의 상이한 작동을 야기하는 가능성을 도입한다.
따라서, 그러한 시스템이 고-해상도 정보를 요구하든 요구하지 않든, 또는 그러한 시스템이 현재의 위치 정보만을 요구하든 요구하지 않든, 모든 애플리케이션에 대해 수용가능한 형식으로 애플리케이션 액션/이벤트 데이터를 제공하는 감소된 리소스 집약적인 U/I 이벤트/액션 프로세싱 시스템에 대한 필요성이 당업계에 존재한다. 따라서, 액션 버퍼 및 이벤트 큐 양자에서 액션을 저장하는 복제 특성을 감소시킬 추가적인 필요성이 또한 존재한다.
요약
여기에서 개시된 실시형태는, 예를 들어, 방법, 소프트웨어 및 장치가 U/I 디바이스로부터 생성된 U/I 액션을 프로세싱하기 위해 사용되는 하나 이상의 실시형태를 포함하여 상술된 필요성을 해결한다.
하나 이상의 실시형태에서, U/I 액션의 프로세싱은 U/I 액션에 대한 프레쉬니스 스테이터스 (freshness status) 를 생성하는 단계를 포함하며, 여기서, 그 프레쉬니스 스테이터스는 U/I 액션과 관련된 프레쉬니스 상태를 표시한다. 또한, 그 프레쉬니스 스테이터스는 U/I 액션과 또한 관련된다.
하나 이상의 실시형태에서, U/I 액션의 프로세싱은 U/I 액션과 관련된 U/I 액션 표시자를 수신하는 단계를 포함한다. 또한, U/I 액션과 관련된 프레쉬니스 스테이터스가 또한 수신된다.
하나 이상의 실시형태에서, U/I 액션의 프로세싱은 U/I 액션에 대한 프레쉬니스 스테이터스를 생성하는 단계를 포함하며, 여기서, 그 프레쉬니스 스테이터스는 U/I 액션과 관련된 프레쉬니스 상태를 표시한다. 또한, 그 프레쉬니스 스테이터스는 U/I 액션과 관련된다. 또한, U/I 액션과 관련된 U/I 액션 표시자가 수신된다. 마지막으로, 프레쉬니스 스테이터스가 수신된다.
하나 이상의 실시형태에서, 컴퓨팅 디바이스는 U/I 디바이스로부터 생성된 U/I 액션을 프로세싱하기 위해 사용된다. 그 컴퓨팅 디바이스는 메모리, U/I 인터페이스 및 프로세서를 갖는다. U/I 인터페이스는 U/I 디바이스로부터 U/I 액션 신호를 수신하도록 구성된다. 프로세서는 메모리에 커플링되어 U/I 액션에 대한 프레쉬니스 스테이터스를 생성하기 위한 코드를 실행하도록 동작가능하다. 프로세서는 프레쉬니스 액션 표시자를 형성하기 위해 U/I 액션과 프레쉬니스 스테이터스를 관련시키도록 동작가능하다. 또한, 프로세서는 프로세싱을 위해 프레쉬니스 액션 표시자를 애플리케이션에 제공하도록 동작가능하다.
하나 이상의 실시형태에서, 컴퓨팅 디바이스는 U/I 디바이스로부터 생성된 U/I 액션을 프로세싱하기 위해 사용된다. 컴퓨팅 디바이스는 메모리, U/I 액션 버퍼 및 프로세서를 갖는다. U/I 액션 버퍼는 프레쉬니스 액션 표시자를 저장하도록 구성된다. 프로세서는 메모리에 커플링되어, U/I 액션과 관련된 U/I 액션 표시자를 수신하기 위한 코드를 실행하도록 동작가능하다. 또한, 프로세서는 U/I 액션과 관련된 프레쉬니스 스테이터스를 수신하도록 동작가능하다.
하나 이상의 실시형태에서, 컴퓨팅 디바이스는 U/I 디바이스로부터 생성된 U/I 액션을 프로세싱하기 위해 사용된다. 컴퓨팅 디바이스는 메모리, 사용자 I/O 인터페이스 및 프로세서를 갖는다. 사용자 I/O 인터페이스는 U/I 디바이스로부터 U/I 액션 신호를 수신하도록 구성된다. 프로세서는 메모리에 커플링되어 U/I 액션에 대한 프레쉬니스 스테이터스를 생성하기 위한 코드를 실행하도록 동작가능하다. 프로세서는 프레쉬니스 액션 표시자를 형성하기 위해 U/I 액션과 프레쉬니스 스테이터스를 관련시키도록 동작가능하다. 또한, 프로세서는 U/I 액션 버퍼에 프레쉬니스 액션 표시자를 저장하도록 동작가능하다. 또한, 프로 세서는 U/I 액션과 관련된 U/I 액션 표시자를 수신하도록 동작가능하다. 또한, 프로세서는 U/I 액션과 관련된 프레쉬니스 스테이터스를 수신하도록 동작가능하다.
하나 이상의 실시형태의 하나 이상의 이점은, 특정한 애플리케이션이 필요로 하는 이들 U/I 액션 표시자들만을 프로세싱하는 능력을 제공하는 것을 포함한다. 관련된 "현재 상태" 의 스테이터스를 갖는 U/I 액션 표시자만을 필요로 하는 애플리케이션은 그러한 데이터만을 용이하게 수신할 수 있다. 그러나, 예를 들어, 그러한 모든 U/I 액션 표시자와 같은 더 광범위한 양의 U/I 액션 표시자를 필요로 하는 애플리케이션은 그러한 원하는 데이터만을 용이하게 수신할 수 있다.
하나 이상의 실시형태에서, U/I 액션 표시자를 사용하는 애플리케이션은 관련 스테이터스로부터 개별적으로 U/I 액션 표시자를 검색/수신하진 않지만, 대신, 그 관련 스테이터스는 애플리케이션에서 검색/수신되는 U/I 액션 표시자내에 포함된다. 그로서, 개별 콜 (call), 쿼리 (query) 등의 액션은 그러한 스테이터스 정보를 개별적으로 검색할 필요가 없다. 하나 이상의 실시형태에서, 관련 스테이터스를 포함하는 U/I 액션 표시자는, 대응하는 버퍼로부터 그러한 데이터를 수신하는 애플리케이션보다는 관련 애플리케이션에서 수신된다.
하나 이상의 실시형태의 하나 이상의 이점은, 제 2 저-해상도 버퍼 (이벤트 큐) 의 사용을 위한 필요성의 부족 (lack) 을 포함한다. 그러한 실시형태는, 개별의 저-해상도 버퍼, 및 개별의 이벤트 큐 및 개별 액션 버퍼 양자에 대한 개별 프로세싱의 부가적인 필요성 없이 고-해상도 버퍼 (액션 버퍼) 만을 사용한다. 하나 이상의 실시형태의 하나 이상의 이점은 부가적인 프로세싱 제어를 애플리케이 션에 제공하는 것이다. 애플리케이션들이 그들의 원하는 기능을 달성하기 위해 프로세스를 필요로 하지 않는 U/I 표시자를 통해 프로세싱하도록 애플리케이션을 요구하기 보다는, 그러한 실시형태는, 대신, 필요한 그 데이터만을 프로세싱하기 위해 부가적인 제어를 제공한다. 하나 이상의 실시형태의 하나 이상의 이점은 U/I 액션 표시자를 프로세싱하기에 필요한 리소스의 양을 감소시키는 것이다. 액션 버퍼 및 이벤트 큐 양자보다는 액션 버퍼만에 대한 필요는 요구되는 리소스를 감소시킨다. 또한, 그러한 모든 데이터가 하나의 위치, 즉, 고-해상도 버퍼 (액션 버퍼) 에서만 발견됨에 따라, 하나의 타입의 프로세싱만이 U/I 액션 표시자를 프로세싱하기 위해 필요로 한다.
본 발명의 다른 양태, 이점, 및 특성은, 다음의 섹션, 즉, 도면의 간단한 설명, 상세한 설명, 및 청구항을 포함하는 전체의 출원의 검토 후에 명백할 것이다.
도면의 상세한 설명
여기에서 설명된 실시형태의 상술된 양태 및 부수적 이점은, 첨부한 도면과 함께 취해졌을 때 다음의 상세한 설명을 참조하여 더 용이하게 명백할 것이다.
도 1은 U/I 디바이스로부터 생성된 U/I 액션을 프로세싱하는 컴퓨팅 디바이스의 일 실시형태의 블록도를 도시한다.
도 2는 U/I 디바이스로부터 생성된 U/I 액션을 프로세싱하는 컴퓨팅 디바이스의 일 실시형태의 다이어그램을 도시한다.
도 3은 U/I 디바이스로부터 생성된 U/I 액션을 프로세싱하는 컴퓨팅 디바이스의 일 실시형태에 대응하는 데이터를 반영하는 상태 테이블을 도시한다.
도 4는 U/I 디바이스로부터 생성된 U/I 액션을 프로세싱하는 방법의 일 실시형태의 플로우 차트를 도시한다.
도 5는 U/I 디바이스로부터 생성된 U/I 액션을 프로세싱하는 방법의 일 실시형태의 플로우 차트를 도시한다.
도 6은 U/I 디바이스로부터 생성된 U/I 액션을 프로세싱하는 방법의 일 실시형태의 플로우 차트를 도시한다.
도 7은 애플리케이션 상태 이력 정보를 사용하여 디바이스를 컴퓨팅하는 단일의 액티브 애플리케이션 환경에 관한 애플리케이션을 실행하는 방법의 일 실시형태의 플로우 차트를 도시한다.
도 8은 U/I 디바이스로부터 생성된 U/I 액션을 프로세싱하는 방법의 일 실시형태의 플로우 차트를 도시한다.
도 9는 U/I 디바이스로부터 생성된 U/I 액션을 프로세싱하는 방법의 일 실시형태의 플로우 차트를 도시한다.
상세한 설명
여기에서 "예시적인" 이라는 용어는 "예, 예시, 또는 예증으로서 제공되는"의 의미로 사용된다. "예시적인" 것으로서 여기에서 설명되는 임의의 실시형태는 다른 실시형태에 비하여 반드시 바람직하거나 유리한 것으로서 해석할 필요는 없다.
다음의 상세한 설명은, 펜 이벤트 액션과 관련된 프레쉬니스 스테이터스를 사용하여 그러한 펜 이벤트 액션의 프로세싱을 위한 방법, 소프트웨어 및 장치를 포함하는, 컴퓨팅 디바이스상의 U/I 디바이스로부터 생성된 U/I 액션을 프로세싱하기 위해 사용된 방법, 소프트웨어 및 장치를 설명한다. 하나 이상의 실시형태에서, 컴퓨팅 디바이스는 삽입된 제어기 및 제한된 리소스를 갖고 (즉, 제한된 메모리 용량, 디스플레이 영역 및 파일 시스템 공간), 컴퓨팅 디바이스는 U/I 액션의 프로세싱을 제어시에, 그러한 U/I 액션과 관련된 프레쉬니스 스테이터스를 생성 및 검색/수신하도록 동작한다.
하나 이상의 실시형태에서, U/I 디바이스로부터 생성된 U/I 액션을 프로세싱하기 위해 사용된 시스템은, 디바이스 특정 리소스에 대한 일반화된 콜을 제공함으로써와 같이, 디바이스의 동작을 간략화하기 위해 사용되는 컴퓨팅 디바이스상에서 실행하는 런타임 환경 (runtime environment) 과 상호작용한다. 그러한 하나의 런타임 환경은, 캘리포니아, 샌디애고 소재의 퀄컴사에 의해 개발된 BREWTM (Binary Runtime Environment for Wireless
Figure 112006096431676-pct00001
) 소프트웨어 플랫폼이다. 다음의 설명의 하나 이상의 실시형태에서, 컴퓨팅 디바이스상의 U/I 디바이스로부터 생성된 U/I 액션을 프로세싱하기 위해 사용된 시스템은 BREW 소프트웨어 플랫폼과 같이, 런타임 환경을 실행하는 휴대용 디바이스상에서 구현된다. 그러나, 단일 액티브 애플리케이션 환경 컴퓨팅 디바이스상에서 애플리케이션을 실행하기 위해 사용된 시스템의 하나 이상의 실시형태는, 단일 액티브 애플리케이션 환경 컴퓨팅 디바이스상의 애플리케이션의 실행을 제어하기 위해 다른 타입의 런타임 환경에 사용하기 적합하다.
도 1은, U/I 디바이스로부터 생성된 U/I 액션을 프로세싱하는 컴퓨팅 디바이스 (100) 의 예시적인 일 실시형태를 도시한다. 여기에서 사용된 바와 같이, "컴퓨팅 디바이스" 는, 마이크로프로세서, 디지털 신호 프로세서 (DSP), 마이크로제어기, 휴대용 무선 전화기, 개인 휴대 정보 단말기 (PDA), 및 페이징 디바이스와 같이 메모리에 저장된 소프트웨어 모듈을 실행하는 하나 이상의 프로세싱 회로, 또는 하드웨어, 메모리에 저장된 소프트웨어, 및/또는 펌웨어의 임의의 적합한 조합을 포함하며, 여기서, 단일 액티브 애플리케이션은 유지된다. 컴퓨팅 디바이스 (100) 는 메모리 (102), 네트워크 I/O 인터페이스 (104), 사용자 I/O 인터페이스 (106), 프로세서 (108) 및 버스 (110) 를 포함한다. 메모리 (102) 가 RAM의 일 인접 유닛으로서 도시되지만, 다른 실시형태는 메모리 (102) 로서 메모리의 다수의 위치 및 다수의 타입을 사용한다. 네트워크 I/O 인터페이스 (104) 는 버스 (110) 를 통해 네트워크에 접속된 모든 디바이스에 입력 및 출력을 제공한다. 사용자 I/O 인터페이스 (106) 는, 키보드, 마우스, 터치 스크린, 조이 스틱 등과 같은 U/I 디바이스 (113) 를 통해 단일 액티브 애플리케이션 환경 컴퓨팅 디바이스 (100) 의 사용자에게 입력 및 출력을 제공한다. 프로세서 (108) 는 버스 (110) 를 통해 제공된 명령 및 데이터에 관해 동작한다.
메모리 (102) 내에 위치되어 도시된 것은, 애플리케이션 (112), 런타임 환경 (114) 및 U/I 액션 버퍼 (116) 이다. 애플리케이션 (112) 은 컴퓨팅 디바이스 (100) 와 양립할 수 있고 U/I 액션 버퍼 (116) 와 상호작용할 수 있는 임의의 애플리케이션을 표현한다. 상술된 바와 같이, 런타임 환경 (114) 은, 디바이스 특 정 리소스에 대한 일반화된 콜을 제공함으로써와 같이, 디바이스의 동작을 간략화하기 위해 컴퓨팅 디바이스 (100) 상에서 실행한다. 도시된 런타임 환경이 BREWTM이지만, 유사한 기능을 제공하는 다른 런타임 환경 (114) 이 다른 예시적인 실시형태에서 사용된다.
일 실시형태에서, U/I 액션 버퍼 (116) 는 프레쉬니스 액션 표시자 (118; 120, 122, 124, 126, 128, 130, 132, 134 및 136) 를 포함한다. 그러나, 또 다른 실시형태에서, 그러한 프레쉬니스 액션 표시자 (118) 는 관련 버퍼에 포함되지 않지만, 대신, 정보를 사용하는 애플리케이션에 간단히 제공된다. 또한, 또 다른 실시형태에서, U/I 액션 버퍼 (116; 즉, U/I 액션 표시자) 로부터 수신된 아이템은, 그러한 아이템이 프로세싱한 애플리케이션에 전송되거나 그 프로세싱한 애플리케이션에 의해 프로세싱되기 이전에, 대응하는 프레쉬니스 액션 표시자 (118) 를 순차적으로 생성하기 위해 사용된다. 프레쉬니스 액션 표시자 (118) 는 U/I 디바이스 액션의 프로세싱시에 사용된 데이터를 표현한다. 하나 이상의 실시형태에서, 그러한 U/I 액션 버퍼 (116) 는 임의의 하나 이상의 프레쉬니스 액션 표시자 (118) 를 포함하며, 여기서, 그러한 프레쉬니스 액션 표시자 (118) 는 U/I 액션 표시자 (140, 142, 144, 146, 148, 150, 152, 154 및 156) 를 또한 포함할 수도 있다. 도시된 U/I 액션 표시자가 각각의 펜 액션이지만, 또한, 키보드 액션 또는 다른 유사한 U/I 액션을 포함하는 다른 U/I 액션 표시자가 프레쉬니스 액션 표시자 (118) 에 존재할 수도 있다. 또한, 프레쉬니스 액션 표시자 (118) 는 프레쉬니스 표시자 (160, 162, 168, 170, 172 및 174) 를 또한 포함할 수도 있다. 도시된 일 실시형태에서, 프레쉬니스 표시자 (160, 162, 168, 170, 172 및 174) 는, U/I 액션 표시자 (142, 144, 150, 152, 154 및 156) 와 같은 세그먼트 기반 액션 (아래의 설명 참조) 에만 관련된다. 하나 이상의 실시형태에서, 프레쉬니스 액션 표시자 (118) 는, 관련 버퍼에 저장되지 않지만, 대신, 관련 버퍼의 엔트리를 수신하고 그러한 엔트리에 프레쉬니스 표시자 (160, 162, 164, 168, 170, 172 및 174) 를 포함한 다음에 생성된다. 그러한 실시형태에서, 종래 기술의 버퍼를 포함하는 종래 기술의 시스템은, 그러한 버퍼의 콘텐츠가 동일하게 유지되는 곳에서 사용될 수도 있고, 프레쉬니스 표시자는 그러한 버퍼로부터 정보를 수신한 이후에만 관련된다.
또한, 하나 이상의 실시형태에서, 프레쉬니스 액션 표시자 (118) 는 2개의 상이한 타입, 즉, 포인트 기반 액션/이벤트 및 세그먼트 기반 액션/이벤트로 분류될 수 있다. 통상적으로, 포인트 기반 액션/이벤트는 일련의 포인트 액션/이벤트보다 특정 포인트 관련 액션/이벤트를 표현하는 U/I 액션/이벤트이다. 하나 이상의 실시형태에서, 통상적으로, 포인트 기반 액션/이벤트는 포인트 기반 액션/이벤트가 사용자 선택에 크게 의존한다는 점에서 세그먼트 기반 액션/이벤트보다 더 현저하게 고려되며, 그로서 관련 폴링 레이트에 기초하여 변경하기가 쉽지 않다. 예를 들어, 포인트 기반 액션/이벤트는 펜-다운 액션/이벤트 (120 및 128) 및 펜-업 액션/이벤트 (126) 를 통상적으로 포함한다. 여기서, 그러한 포인트 기반 액션/이벤트 (120, 126 및 128) 는 대응하는 디스플레이상에서 하나의 특정 포인트를 선택하는 사용자에 응답하여 특히 생성된다.
반면, 통상적으로, 세그먼트 기반 액션/이벤트는, 직선, 대각선, 만곡 (meandering), 나선형 또는 임의의 기타 다른 경로를 갖는 것을 불문하고, 함께, 일련의 생성된 포인트 관련 U/I 액션/이벤트를 표현하고 연속적으로 검출된 사용자 U/I 상호작용보다는 각각 연속적인 폴링 샘플에 의해 분리되는, 일련의 연속적인 포인트를 반영하는 연속적인 세그먼트의 생성과 관련된다. 예를 들어, 세그먼트 기반 액션/이벤트는, 예를 들어, 펜-드래그 액션/이벤트 (122, 124; 130, 132, 134 및 136) 를 포함한다. 일반적으로, 그러한 세그먼트 기반 액션/이벤트는, 대응하는 폴링 레이트가 그러한 경로를 따른 어떠한 포인트/좌표가 실제 세그먼트 기반 액션/이벤트로 고려될 것인지를 정의하는 디스플레이상의 경로를 트레이싱 (trace) 하는 것에 응답하여 생성된다. 여기서, 사용자 상호작용은, 임의의 특정 포인트의 선택보다는 포인트의 스트링 (string) 의 세그먼트의 도면을 표현한다.
하나 이상의 실시형태에서, 프레쉬니스 표시자 (160, 162, 168, 170, 172 및 174) 는 세그먼트 기반 액션/이벤트에만 관련된다. 그러한 실시형태에서, 이는, "이전 상태 (stale)" 값 및 "현재 상태" 값이 사용자 결정 주기에 의해서라기 보다는 단일 시간 슬라이스에 의해 분리되는 그러한 U/I 액션/이벤트에 관한 의미만을 갖는 것으로 관측되기 때문이며, 여기서, "이전 상태" 는 후속 U/I 액션/이벤트에 의해 대체되는 U/I 액션/이벤트를 표시하고, "현재 상태" 는 그러한 후속 U/I 액션/이벤트에 의해 아직 대체되지 않은 U/I 액션/이벤트를 표시한다. 또한, 하나 이상의 실시형태에서, "현재 상태" 의 관련 프레쉬니스 표시자 (160, 162, 168, 170, 172 및 174) 를 갖는 프레쉬니스 액션 표시자 (118) 는, 그러한 프레쉬니스 액션 표시자 (118) 가 가장 최근의 만료된 시간 슬라이스에서 레코딩되었다는 것을 의미한다.
또한, 프레쉬니스 액션 표시자 (118) 는, RAM, ROM, 레지스터, 플레시 메모리 등을 포함하는 임의의 수의 메모리 타입에 저장될 수도 있는 기타 다른 정보를 포함할 수도 있고, 임의의 적절한 데이터 구조에 저장될 수도 있다. 프레쉬니스 액션 표시자 (118) 가 2개의 상태, 즉, 이전 상태 및 현재 상태만을 포함하는 것으로 도시되지만, 다른 실시형태는 U/I 액션 표시자과 관련된 다른 이력 정보를 트래킹하기 위해 부가적인 상태를 사용한다. 여기서, "현재" 상태는 현재 액티브 U/I 액션 표시자를 표현한다. 예를 들어, 상호작용 스크린이 펜이 현재 스크린과 접촉한다고 감지하고 있다면, 예를 들어, 위치 17.6x 및 11.2y로의 펜-드래그와 같은 현재의 펜 액션 (156) 은 "현재 상태" 의 값을 갖는 프레쉬니스 표시자 (174) 를 갖는 것으로 표시된다. 유사하게, 신규한 현재 프레쉬니스 액션 표시자 (136) 의 도입으로 인한 직전의 프레쉬니스 액션 표시자 (134) 는 "현재 상태" 로부터 "이전 상태" 로 변경된 그의 프레쉬니스 표시자 (172) 를 갖는다. 하나 이상의 실시형태에서, 펜-업 및 펜-다운 이벤트는, "이전 상태" 스테이터스와 관련될 수 없으므로, 그러한 실시형태에서, 그들은 세그먼트 기반 액션/이벤트보다는 포인트 기반 액션/이벤트로서 고려되고 그렇지 않으면 "이전 상태" 스테이터스에 대한 유사한 필요성이 없다.
현재의 실시형태에서, 많아야 하나의 U/I 액션 표시자는 시간의 임의의 순간에서 "현재 상태" 로 고려된다. 도시된 바와 같이, 세그먼트 기반 액션을 표현하는 더 초기에 생성된 모든 프레쉬니스 액션 표시자 (122, 124, 130, 132 및 134) 는 "이전 상태" 의 프레쉬니스 표시자 (160, 162, 168, 170 및 172) 를 갖는다. 하나 이상의 실시형태에서, 펜-업 이벤트는, 세그먼트 기반 이벤트보다는 포인트 기반 이벤트로서 고려되기 때문에 결코 "현재 상태" 또는 "이전 상태" 중 어느 것도 아니다. 그로서, 예를 들어, 프레쉬니스 액션 표시자 (126) 는 결코 관련 프레쉬니스 표시자를 갖지 않는다.
애플리케이션 (112) 은, U/I 액션과 관련된 U/I 액션 표시자 (140, 142, 144, 146, 148, 150, 152, 154 및 156) 를 수신하기 위한 코드 (180) 를 포함하도록 도시된다. 일 실시형태에서, 예를 들어, 수신 I/O 액션 표시자 및 수신 프레쉬니스 스테이터스는 애플리케이션 (112) 에 의해 프로세싱될 수 있다. 예를 들어, 애플리케이션 (112) 은 그것이 "현재 상태" 의 프레쉬니스 표시자 (160, 162, 168, 170, 172 및 174) 를 갖는 프레쉬니스 액션 표시자 (118) 만을 프로세싱하도록 프로그래밍될 수도 있다. 예를 들어, 이것은, 애플리케이션 (112) 이, 아이콘 드래그-및-드롭 (drop) 동안 애플리케이션 (112) 이 그 아이콘이 드래그되었던 경로보다는 아이콘의 현재 위치만을 염려하는 데스크 탑 디스플레이 애플리케이션일 수도 있는 경우, 사실이다 (도 2 참조). 또 다른 실시형태에서, 예를 들어, 애플리케이션 (112) 은 그것이 관련 프레쉬니스 표시자 (160, 162, 168 170, 172 및 174) 의 값에 관계없이 모든 U/I 액션 표시자를 프로세싱하도록 프로그래밍될 수도 있다. 예를 들어, 이것은, 애플리케이션 (112) 이, 디바이스가 그 디바이스 스크린과 펜의 상호작용으로부터의 입력을 수신하고 있는 시간 동안, 각각의 레코딩된 펜의 위치나 적어도 그 레코딩된 위치의 많은 부분이 애플리케이션 (112) 이 그 기능을 수행할 때 애플리케이션 (112) 에 의해 사용되는 기입 인식 알고리즘일 수도 있는 경우 사실이다 (도 2 참조).
일 실시형태에서, 메모리는, U/I 액션에 대한 프레쉬니스 스테이터스를 생성하고, 프레쉬니스 액션 표시자 (118) 를 형성하기 위해 그 프레쉬니스 스테이터스를 U/I 액션과 관련시키며, U/I 액션 버퍼 (116) 에 그 프레쉬니스 액션 표시자 (118) 를 저장하기 위한 코드 (182) 를 포함한다. 다른 실시형태는 프레쉬니스 액션 표시자 (118) 를 U/I 액션 버퍼에 저장하지 않지만, 대신, U/I 액션 버퍼 (116) 에 저장된 U/I 액션 표시자에 기초하여 프레쉬니스 액션 표시자 (118) 를 어셈블링 (assemble) 한다. 런타임 환경 (114) 및 애플리케이션 (112) 으로부터 분리되어 위치된 것으로 도시되지만, 그러한 코드 (182) 는 그것이 그의 특정 기능을 수행하도록 컴퓨팅 디바이스 (100) 전반에 걸쳐 임의의 적절한 위치에 위치될 수도 있다. 도시된 실시형태에서, 코드 (182) 는, 인커밍 U/I 액션이 "현재 상태" 또는 "이전 상태" 로 고려될 것인지의 여부를 평가하도록 동작한다. 그러한 평가 이후, 코드 (182) 는 존재하는 프레쉬니스 표시자 (160, 162, 168, 170, 172 및 174) 를 관련 U/I 액션 표시자 (140, 142, 144, 146, 148, 150, 152, 154 및 156) 와 관련시키도록 동작하여, 프레쉬니스 액션 표시자 (120, 122, 124, 126, 128, 130, 132, 134 및 136) 를 생성하고, 일 실시형태에서는, U/I 액션 버퍼 (116) 에 프레쉬니스 액션 표시자를 저장한다. 그 후, 그러한 동작 후에, 대응하는 코드 (180) 는 U/I 액션 버퍼 (116) 로부터 동일한 정보를 판독함으로써 신규한 정보를 프로세싱하기에 자유롭다. 하나 이상의 실시형태에서, "현재 상태" 의 인커밍 U/I 액션이 도달하는 경우, 이전에 식별된 "현재 상태" 의 애플리케이션은 "이전 상태" 로 업데이트된다. 일부 실시형태에서, "현재" 상태는, U/I 액션 버퍼 (116) 의 상단에 위치된 그러한 일 프레쉬니스 액션 표시자로 가정되며, 여기서, 더 초기의 임의의 엔트리는 "이전 상태" 의 스테이터스를 갖는 것으로 가정된다. 또 다른 실시형태에서, U/I 액션 버퍼 (116) 의 모든 엔트리는 "이전 상태" 로 고려되지만, 신규하게 수신된 U/I 액션만이 잠재적으로 "현재 상태" 로 고려되는 바와 같이 고려된다.
그러나, 하나 이상의 실시형태에서, 프레쉬니스 표시자 (160, 162, 166, 168, 170, 172 및 174) 는 프레쉬니스 액션 표시자가 버퍼에 저장되는 시간에, 또는 그 이전에, 그 프레쉬니스 액션 표시자와 관련되기 보다는, 대신, 그러한 프레쉬니스 표시자 (160, 162, 166, 168, 170, 172 및 174) 는 그러한 정보가 저장되어 왔던 큐로부터 제거되는 시간에, 또는 그 이후에, 프레쉬니스 액션과 관련된다. 또한, 프레쉬니스 액션 표시자가 "현재 상태" 로서 고려되어야 하는 지의 여부의 판정은, 대응하는 큐에서 그 프레쉬니스 액션 표시자의 위치에 기초하여 판정된다. 예를 들어, 프레쉬니스 액션 표시자가 세그먼트 기반 액션/이벤트이고 대응하는 큐의 상단에 위치되면, 그 프레쉬니스 액션 표시자가 세그먼트 기반 액션/이벤트의 타입이기 때문에, 그것은, 가장 최근에 레코딩된 프레쉬니스 액션 표시자로서, 그 러한 프레쉬니스 액션 표시자가 "현재 상태" 의 스테이터스를 갖는다고 판정될 수 있다. 그로서, 그러한 기능은 대응하는 프레쉬니스 액션 표시자의 저장에 후속하는 시간에서 프레쉬니스 표시자 (160, 162, 166, 168, 170, 172 및 174) 의 판정을 표현한다. 그로서, 관련 프레쉬니스 표시자 (160, 162, 166, 168, 170, 172 및 174) 는, 애플리케이션이 큐로부터 프레쉬니스 액션 표시자를 수신하는 때에 판정될 수도 있으며, 그러한 순간 이전에는 판정될 필요가 없다.
U/I 액션 버퍼 (116) 가 메모리 (102) 내에 위치되는 것으로 도시되지만, 그러한 정보는, 컴퓨팅 디바이스 (100) 의 내부 및 외부 양자와 같이 다양한 위치에 저장될 수도 있고, 링크된-리스트, 어레이, 데이터베이스 또는 다른 데이터 구조와 같이 다양한 형태로 저장될 수도 있으며, 하드웨어 기반 또는 소프트웨어 기반 중 하나일 수도 있다. 또한, 다음으로, 일 실시형태에서, U/I 액션 버퍼 (116) 는, 콘텐츠가 U/I 액션 표시자 (140, 142, 144, 146, 148, 150, 152, 154 및 156) 보다는 프레쉬니스 액션 표시자 (118) 를 포함한다는 것을 제외하고, 현재 이용가능한 시스템에 존재하는 U/I 액션 버퍼와 동일 또는 유사할 수도 있다. 또 다른 실시형태에서, U/I 액션 버퍼 (116) 는, 콘텐츠가 U/I 액션 (또는 이벤트) 표시자 (140, 142, 144, 146, 148, 150, 152, 154 및 156) 보다는 프레쉬니스 액션 표시자 (118) 를 포함하는 것을 제외하고, 현재 시스템에 존재하는 고-해상도 버퍼 또는 저-해상도 버퍼와 동일 또는 유사할 수도 있다. 또 다른 실시형태에서, U/I 액션 버퍼 (116) 는 현재 기존의 시스템에서 발견되는 고-해상도 및 저-해상도 버퍼와는 다를 수도 있다, 예를 들어, 그 내부의 엔트리는 관련 U/I 액션의 프레쉬 니스 표시자를 포함하는 부가적인 표시자를 포함한다.
애플리케이션 (112) 이 대응하는 프레쉬니스 표시자 (160, 162, 166, 168, 170, 172 및 174) 를 포함하는 프레쉬니스 액션 표시자 (120, 122, 124, 126, 128, 130, 132, 134 및 136) 에 직접 액세스하는 능력은, 그러한 애플리케이션 (112) 이, 예를 들어, "현재 상태" 로서 고려되는 U/I 액션만을 이용하지만 "이전 상태" 로서 고려되는 모든 것을 무시하도록 프로그래밍될 수 있다는 점에서, 그 애플리케이션이 동작하는 방법에 관해 그러한 애플리케이션 (112) 에 더 큰 자율성 (autonomy) 을 허용한다. 유사하게, 다른 애플리케이션 (112) 은 모든 U/I 액션이 "현재 상태" 또는 "이전 상태" 로서 고려되는지에 관계없이 그 모든 U/I 액션을 이용하도록 프로그래밍될 수 있다. 그러한 동작 및 기능은, 인커밍 U/I 액션 및 이벤트를 프로세싱하기 위한 전용 애플리케이션뿐만 아니라 고-해상도 및 저-해상도 버퍼 양자를 사용하는 현재 시스템에는 없다.
일 실시형태에서, 프레쉬니스 액션 표시자 (120, 122, 124, 126, 128, 130, 132, 134 및 136) 는, 그러한 프레쉬니스 액션 표시자 (120, 122, 124, 126, 128, 130, 132, 134 및 136) 가 프로세싱될 애플리케이션에 전송될 준비가 될 때까지 U/I 액션 버퍼 (116) 에 큐잉한다. 유사하게, U/I 액션 버퍼로부터 수신된 U/I 액션에 기초하여 프레쉬니스 액션 표시자 (120, 122, 124, 126, 128, 130, 132, 134 및 136) 를 어셈블링하는 그러한 실시형태에 있어서, 또한, 부가적인 U/I 액션은, 그러한 U/I 액션이 U/I 액션 버퍼 (116) 로부터 수신되고 프로세싱될 타겟 애플리케이션에 전송될 때까지, 그 U/I 액션 버퍼 (116) 에 큐잉한다.
도 2는 U/I 디바이스 (113) 로부터 생성된 U/I 액션을 프로세싱하는 컴퓨팅 디바이스 (100) 의 예시적인 일 실시형태 (200) 의 다이어그램을 도시한다. 구체적으로, 도 2는 U/I 디바이스 (113) 및 터치-스크린 디스플레이 (202), 조이스틱 (204), 키패드 (206) 및 펜 (208) 을 포함하는 컴포넌트를 갖는 컴퓨팅 디바이스 (100) 를 도시한다. U/I 디바이스 (113) 는, 커서 (214) 를 통해 생성되었던 바와 같이, 대응하는 원호 (arc) 이동 (210 및 212) 을 생성하기 위해 사용될 수도 있다. 도시된 바와 같이, 디바이스는 제 1 원호 이동 (210) 에서 커서 (214) 를 이동하는 입력을 수신하고, 그 후, 제 2 원호 이동 (212) 에서 커서 (214) 를 이동하는 입력을 수신한다. 도시된 바와 같이, 커서 (214) 는, 아이콘 (216) 이, 도시된 바와 같이, 플레쉬니스 액션 표시자 (120) 에 대응하는 위치에 현재 여전히 다시 그려지고 있는, 터치-스크린 디스플레이 (202) 를 걸쳐 아이콘 (216) 을 드래깅하고 있다. 커서 (214) 가 프레쉬니스 액션 표시자 (136) 에 대응하는 위치에 현재 존재하지만, 아이콘이 디스플레이하고 있는 애플리케이션이 소정의 위치에서 그 아이콘을 완전하게 디스플레이하기 위한 그의 실행을 완료하지 않았기 때문에, 그 아이콘은 프레쉬니스 액션 표시자 (120) 에 대응하는 위치에 디스플레이되도록 진행하고 있다. 또한, 현재 커서 (214) 의 위치 넘어, 도면에 도시된 것은, 사용자에 의한 커서 (214) 의 후속 이동에 응답하여 컴퓨팅 디바이스에서 입력으로서 수신될 원호 이동 (212) 의 부가적인 부분 (점선) 이 도시된 것이다. 그러한 원호 이동 (212) 은 펜-업 액션의 최종 U/I 액션 (218) 으로 완료된다. 도시된 바와 같이, 원호 이동 (210) 은 처음 4개의 프레쉬니스 액션 표시자 (120, 122, 124 및 126) 와 관련된 스크린 위치 포인트를 포함하지만, 원호 이동 (212) 은 2 번째의 5개의 액션 표시자 (128, 130, 132, 134 및 136) 와 관련된 스크린 위치 포인트를 포함한다.
원호 이동 (210 및 212) 을 생성하기 위해, 펜 팁 (tip; 222) 을 갖는 펜 (208) 은 대응하는 U/I 액션을 생성하기 위해 터치-스크린 디스플레이 (202) 와 함께 사용될 수도 있다. 또한, 조이스틱 (204) 은, 대응하는 U/I 액션을 또한 생성하기 위해, 순수한 y-방향 (218) 및 순수한 x-방향 (220) 을 포함하는 다양한 방향으로 이동될 수도 있다. 또한, 하나 이상의 실시형태에서, 대응하는 U/I 액션을 생성하기 위해, 키패드 (206) 는 단독으로, 또는 다른 U/I 디바이스 (113) 와 함께 사용될 수도 있다.
도 3은, U/I 디바이스 (113) 로부터 생성된 U/I 액션을 프로세싱하는 컴퓨팅 디바이스 (100) 의 일 실시형태에 대응하는 데이터를 반영하는 상태 테이블 (300) 을 도시한다. 상세하게, 도 3은, 컴퓨팅 디바이스 (100) 가 U/I 디바이스 (113) 로부터 U/I 액션 정보를 수신하는 시간 슬라이스 (302) 에 걸쳐 사용자 U/I 액션 버퍼 (116) 의 콘텐츠를 도시한다. 상태 테이블 (300) 의 콘텐츠는 도 2의 원호 이동 (210 및 212) 에 대응한다. 다음의 실시형태에서, 본래의 아이콘은 계속하여 제 1 프레쉬니스 액션 표시자 (120) 에 묘화 (draw) 되며, 프레쉬니스 액션 표시자 (122, 124, 126, 128, 130, 132, 134 및 136) 의 나머지는 레코딩된다. 본래의 아이콘이 계속하여 대응하는 애플리케이션에 의해 묘화되기 때문에, 프레쉬니스 액션 표시자는 U/I 액션 버퍼에 큐잉하는 것을 진행한다.
시간 슬라이스 0 (304) 에서, 임의의 U/I 액션이 검출되기 전에, 사용자 액션 I/O 버퍼 (116) 에는 임의의 프레쉬니스 액션 표시자 (118) 가 없다. 다음의 시간 슬라이스, 즉, 시간 슬라이스 x (306)에서, U/I 디바이스 (113) 가 프레쉬니스 액션 표시자 (120) 를 생성한 후, 사용자 액션 I/O 버퍼 (116) 는 U/I 액션 표시자 (펜-다운 액션; 140; 도 1 참조) 를 표시하는 프레쉬니스 액션 표시자 (120) 로 상주된다. 이러한 위치에서, 관련 애플리케이션은 그러한 스크린 위치에서 아이콘을 이미징 (image) 하기 시작하기 위해 그러한 프레쉬니스 액션 표시자 (120) 정보를 사용하고, 나머지 U/I 액션 (122, 124, 126, 128, 130, 132, 134 및 136) 은 수신되는 동안 그러한 위치에서 이미징을 진행한다. 시간 슬라이스 x+1 (308) 에서, 신규한 U/I 액션은 특정한 U/I 액션 표시자 (펜-드래그 액션; 142; 도 1 참조) 및 "현재 상태" 의 프레쉬니스 표시자를 표시하는 대응하는 프레쉬니스 액션 표시자 (122) 로 검출된다. 시간 슬라이스 x+2 (310) 에서, 신규한 U/I 액션은 특정한 U/I 액션 표시자 (펜-드래그 액션; 144) 및 "현재 상태" 의 프레쉬니스 표시자를 표시하는 대응하는 프레쉬니스 액션 표시자 (124) 로 검출된다. 동일한 시간 슬라이스에서, 이전의 프레쉬니스 액션 표시자 (122) 를 표현하는 프레쉬니스 액션 표시자는 "이전 상태" 로 설정된다. 시간 슬라이스 x+3에서, 신규한 U/I 액션은 특정한 U/I 액션 표시자 (펜-업 액션; 144) 를 표시하는 대응하는 프레쉬니스 액션 표시자 (126) 로 검출된다. 즉, 이러한 실시형태에서 그러한 U/I 액션 표시자 (146) 가 가장 최근일지라도 펜-업 액션 (즉, 포인트 기반 액션/이벤트) 이 스테이터스를 결코 갖지 않기 때문에, U/I 액션 표시자 (146) 는 "현재 상태" 스테이터스로 마킹 (mark) 되지 않는다. 동일한 시간 슬라이스에서, 이전의 프레쉬니스 액션 표시자 (124) 를 표현하는 프레쉬니스 액션 표시자는 "이전 상태" 로 설정된다.
시간 슬라이스 x+n (314), 즉, 시간 슬라이스 x+3 (312) 이후 일부 시간 슬라이스를 표현하는 슬라이스에서, 신규한 U/I 액션은 특정한 U/I 액션 표시자 (펜-다운 액션; 148) 를 표시하는 대응하는 프레쉬니스 액션 표시자 (128) 로 검출된다. 시간 슬라이스 x+n+1 (316) 에서, 신규한 U/I 액션은 특정한 U/I 액션 표시자 (펜-드래그 액션; 150) 및 "현재 상태" 의 프레쉬니스 표시자를 표시하는 대응하는 프레쉬니스 액션 표시자 (130) 로 검출된다. 시간 슬라이스 x+n+2 (318) 에서, 신규한 U/I 액션은 특정한 U/I 액션 표시자 (펜-드래그 액션; 152) 및 "현재 상태" 의 프레쉬니스 표시자를 표시하는 대응하는 프레쉬니스 액션 표시자 (132) 로 검출된다. 동일한 시간 슬라이스에서, 이전의 프레쉬니스 액션 표시자 (130) 를 표현하는 프레쉬니스 액션 표시자는 "이전 상태" 로 설정된다. 시간 슬라이스 x+n+3 (318) 에서, 신규한 U/I 액션은 특정한 U/I 액션 표시자 (펜-드래그 액션; 154) 및 "현재 상태" 의 프레쉬니스 표시자를 표시하는 대응하는 프레쉬니스 액션 표시자 (134) 로 검출된다. 동일한 시간 슬라이스에서, 이전의 프레쉬니스 액션 표시자 (132) 를 표현하는 프레쉬니스 액션 표시자는 "이전 상태" 로 설정된다. 마지막으로, 시간 슬라이스 x+n+4 (318) 에서, 신규한 U/I 액션은 특정한 U/I 액션 표시자 (펜-드래그 액션; 156) 및 "현재 상태" 의 프레쉬니스 표시자를 표시하는 대응하는 프레쉬니스 액션 표시자 (136) 로 검출된다. 동일한 시간 슬라이스에서, 이전의 프레쉬니스 액션 표시자 (134) 를 표현하는 프레쉬니스 액션 표시자는 "이전 상태" 로 설정된다.
상술된 바와 같이, "현재 상태" 의 값을 갖는 프레쉬니스 표시자를 갖는 프레쉬니스 액션 표시자 (118) 만을 프로세싱하도록 프로그래밍된 이들 특정한 애플리케이션 (112) 은, 임의의 특정 시간에 그러한 "현재 상태" 값을 포함하는 이들 프레쉬니스 액션 표시자 (118) 만을 프로세싱하도록 동작할 것이다. 하나 이상의 실시형태에서 (즉, 도 3에 도시된 실시형태), 하나의 프레쉬니스 액션 표시자 (118) 만이 시간의 임의의 일 특정 포인트에서 "현재 상태" 값을 가질 수도 있다. 유사하게, 프레쉬니스 표시자의 콘텐츠에 관계없이 모든 프레쉬니스 액션 표시자 (118) 를 프로세싱하도록 프로그래밍되는 이들 애플리케이션 (112) 에 있어서, 그러한 애플리케이션 (112) 는 모든 프레쉬니스 액션 표시자에 관해 동작한다.
또한, U/I 액션 버퍼 (116) 로부터 대응하는 U/I 액션 표시자를 수신한 이후에만 프레쉬니스 액션 표시자 (118) 가 형성되는 (즉, U/I 액션 표시자가 프레쉬니스 액션 표시자보다는 그러한 버퍼에 저장되는) 실시형태에 있어서, 그 때 그러한 프레쉬니스 액션 표시자 (118) 는 도시된 바와 같은 그러한 U/I 액션 버퍼 (116) 에 저장되지 않는다. 대신, 그러한 프레쉬니스 액션 표시자 (118) 는 그러한 U/I 액션 버퍼 (116) 의 콘텐츠를 사용하여 형성되며, 그 버퍼에서, 하나 이상의 실시형태에서, 프레쉬니스 액션 표시자 (118) 는, 대응하는 U/I 액션 표시자가 U/I 액션 버퍼 (116) 의 상단에 존재하는지의 여부에 기초하여 결정되거나, U/I 액션 버퍼 (116) 에 저장된 U/I 액션 표시자의 스테이터스를 결정하는 상술된 방법에 의 해 결정되는 그의 스테이터스를 갖는다.
도 4는 단일 액티브 애플리케이션 환경 컴퓨팅 디바이스상에서 애플리케이션을 실행하는 방법에 대한 예시적인 일 실시형태 (400) 의 플로우차트를 도시한다. 상세하게, 도 4는 컴퓨팅 디바이스 (100) 에 의해 수신된 U/I 액션에 기초하여 프레쉬니스 표시자의 설정을 설명한다. 프로세스는 애플리케이션의 초기 실행이 시작하는 단계 402에서 시작한다. 단계 402의 다음 단계는 시스템이 다음의 U/I 액션의 존재를 검출하는 단계 404이다. 단계 404의 다음의 단계는, 시스템이 이전의 U/I 액션이 세그먼트 기반 액션이었는지의 여부를 판정하는 단계 406이다. 세그먼트 기반 액션이었다면, 단계 408은 시스템이 이전의 U/I 액션에 대한 프레쉬니스 표시자를 "이전 상태" 로 설정하도록 개시된다. 단계 406 또는 단계 408 의 다음 단계는, 시스템이 다음의 U/I 액션이 세그먼트 기반 애플리케이션인지의 여부를 판정하는 단계 410이다. 세그먼트 기반 애플리케이션이면, 단계 412는, 시스템이 다음의 U/I 액션에 대한 프레쉬니스 표시자를 "현재 상태" 로 설정하도록 개시된다. 방법은, 단계 410 또는 412의 다음 단계인 단계 404에서 시스템이 다음의 U/I 액션을 프로세싱하는 것을 진행하도록 실행을 진행한다.
도 5는 컴퓨팅 디바이스상에서 애플리케이션 (112) 을 실행하는 방법에 대한 예시적인 일 실시형태 (500) 의 플로우차트를 도시한다. 상세하게, 도 5는 "현재 상태" 의 스테이터스를 갖는 프레쉬니스 표시자와 관련되는 U/I 액션만을 프로세싱하는 것을 설명한다. 프로세스는 애플리케이션의 초기 실행이 시작하는 단계 502에서 시작한다. 단계 502의 다음 단계는 시스템이 "현재 상태" 의 프레 쉬니스 스테이터스를 갖는 프레쉬니스 액션 표시자를 수신하는 단계 504이다. 일단 그러한 프레쉬니스 액션 표시자가 선택되었다면, 다음의 단계 506이 개시된다. 단계 506에서, 시스템은 수신 프레쉬니스 액션 표시자와 관련된 액션 표시자를 프로세싱한다. 이러한 프로세스는 각각의 신규한 시간 슬롯에 대해 반복될 수도 있다. 단계 506의 다음 단계는 종료 단계 508이다.
도 6은 컴퓨팅 디바이스상에서 애플리케이션 (112) 을 실행하는 방법에 대한 예시적인 일 실시형태 (600) 의 플로우차트를 도시한다. 상세하게, 도 6은 대응하는 프레쉬니스 표시자의 콘텐츠와 관계없이 모든 U/I 액션을 프로세싱하는 것을 설명한다. 프로세스는 애플리케이션의 초기 실행이 시작하는 단계 602에서 시작한다. 단계 602의 다음 단계는, 시스템이 다음의 순차적인 프레쉬니스 액션 표시자를 수신하고 프레쉬니스 표시자를 무시하는 단계 604이다. 일단 그러한 프레쉬니스 액션 표시자가 선택되었다면, 다음의 단계 606이 개시된다. 단계 606에서, 시스템은 그러한 프레쉬니스 액션 표시자를 프로세싱한다. 이러한 프로세스는 각각의 신규한 시간 슬라이스에 대해 반복될 수도 있다. 단계 606의 다음 단계는 종료 단계 608이다.
도 7은 U/I 디바이스 (113) 로부터 생성된 U/I 액션을 프로세싱하는 방법의 예시적인 일 실시형태 (700) 를 도시한다. 상세하게, 도 7은, 노드 702에서 시작한 이후, 단계 704가 시스템이 U/I 액션에 대한 프레쉬니스 스테이터스를 생성하도록 개시되는 방법을 설명하며, 여기서, 그 프레쉬니스 스테이터스는 U/I 액션과 관련된 프레쉬니스 상태를 표시한다. 단계 704의 다음 단계는, 시스템이 U/I 액션과 프레쉬니스 스테이터스를 관련시키는 단계 706이다. 단계 706의 다음 단계는, 시스템이 U/I 액션 버퍼 (116) 에 프레쉬니스 액션 표시자를 옵션적으로 저장하는 옵션적인 단계 708이다. 단계 706 (및 옵션적인 단계 708) 의 다음 단계는 종료 노드 710으로 표시되는 방법의 종료 단계이다.
또한, 도 7은 다수의 부가적인 옵션적 기준 및 단계 712, 714, 716, 718 및 720을 또한 도시한다. 상세하게, 옵션적 기준 및 단계 712, 714, 716 및 718은, 각각, 단계 704를 변형하고 나머지 단계는 단계 706을 변형한다. 먼저, 단계 704는 옵션적으로 변형되며 (712), 여기서, 프레쉬니스 스테이터스는 2개의 상태, 즉, 현재 상태 및 이전 상태 중 하나를 표시한다. 또한, 단계 704는 옵션적으로 변형되며 (714), 여기서 방법은 휴대용 무선 디바이스상에서 수행된다. 단계 704는 옵션적으로 변형되며 (716), 여기서 U/I 액션은 펜 액션이다. 또한, 단계 704는 옵션적으로 변형되며 (718), 여기서 부가적인 단계가 프로세싱이 수행되기 위해 프레쉬니스 스테이터스 및 사용자 인터페이스 액션을 애플리케이션에 제공하는 단계를 포함하여 부가된다. 마지막으로, 단계 706은, U/I 액션과 관련된 U/I 액션 표시자 (140, 142, 144, 146, 148, 150, 152, 154 및 156) 및 프레쉬니스 스테이터스 양자를 포함하는 프레쉬니스 액션 표시자 (118) 를 생성하는 단계를 포함하도록 변형된다 (720).
도 8은 U/I 디바이스 (113) 로부터 생성된 U/I 액션을 프로세싱하는 방법의 예시적인 일 실시형태 (800) 를 도시한다. 상세하게, 도 8은, 노드 802에서 시작한 후, 단계 804가 시스템이 U/I 액션과 관련된 U/I 액션 표시자를 수신하도록 개시되는 방법을 설명한다. 단계 804의 다음 단계는, 시스템이 U/I 액션과 관련된 프레쉬니스 스테이터스를 수신하는 단계 806이다. 단계 806의 다음 단계는 2개의 옵션적인 단계 808 및 810이다. 옵션적인 단계 808은, 시스템이 프레쉬니스 스테이터스에 기초하여 U/I 액션 표시자를 선택적으로 프로세싱하는 단계를 포함한다. 옵션적인 단계 810은, 시스템이 "현재" 상태를 갖는 프레쉬니스 스테이터스에 기초하여 U/I 액션 표시자를 선택적으로 프로세싱하는 단계를 포함한다. 단계 810의 다음 단계는 종료 노드 (812) 로 표시된 방법의 종료이다.
또한, 도 8은 다수의 부가적인 옵션적 기준 및 단계 814, 816, 818 및 820을 또한 도시한다. 상세하게, 옵션적인 기준 및 단계 814, 816 및 818은, 각각, 단계 804를 변형하고 나머지는 단계 806을 변형한다. 먼저, 단계 804는 옵션적으로 변형되며 (814), 여기서, U/I 액션 표시자 (140, 142, 144, 146, 148, 150, 152, 154 및 156) 는 U/I 액션 버퍼 (116) 로부터 수신된다. 또한, 단계 804는 옵션적으로 변형되며 (816), 여기서 U/I 액션은 펜 액션이다. 단계 804는 옵션적으로 변형되며 (818), 여기서, 방법은 휴대용 무선 디바이스상에서 수행된다. 마지막으로, 단계 806은 변형되며 (820), 여기서, 프레쉬니스 스테이터스는 2개의 상태, 즉, 현재 상태 및 이전 상태 중 하나를 갖는다.
도 9는 U/I 디바이스 (113) 로부터 생성된 U/I 액션을 프로세싱하는 방법의 예시적인 일 실시형태 (900) 를 도시한다. 상세하게, 도 9는, 노드 902에서 시작한 후 단계 904가 시스템이 U/I 액션에 대한 프레쉬니스 스테이터스를 생성하도록 개시되는 방법을 설명하며, 여기서, 그 프레쉬니스 스테이터스는 그 U/I 액션과 관련된 프레쉬니스 상태를 표시한다. 단계 904의 다음 단계는, 시스템이 U/I 액션과 프레쉬니스 스테이터스를 관련시키는 단계 906이다. 단계 906의 다음 단계는, 시스템이 U/I 액션과 관련된 프레쉬니스 스테이터스 및 U/I 액션 표시자를 저장하는 옵션적인 단계 908이다. 옵션적인 단계 908의 다음 단계는, 시스템이 프로세싱을 위해 프레쉬니스 스테이터스 및 U/I 액션을 애플리케이션에 옵션적으로 제공하는 단계 910이다. 옵션적인 단계 910의 다음 단계는, 시스템이 U/I 액션과 관련된 U/I 액션 표시자 (140, 142, 144, 146, 148, 150, 152, 154 및 156) 를 수신하는 단계 912이다. 단계 912의 다음 단계는, 시스템이 프레쉬니스 스테이터스를 수신하는 단계 914이다. 단계 914의 다음 단계는 2개의 옵션적인 단계 916 및 918이다. 옵션적인 단계 916은, 시스템이 프레쉬니스 스테이터스에 기초하여 U/I 액션 표시자 (140, 142, 144, 146, 148, 150, 152, 154 및 156) 를 선택적으로 프로세싱하는 단계를 포함한다. 옵션적인 단계 918은, "현재" 상태를 표시하는 프레쉬니스 스테이터스의 값에 기초하여, U/I 액션 표시자 (140, 142, 144, 146, 148, 150, 152, 154 및 156) 를 선택적으로 프로세싱하는 단계를 포함한다. 단계 918의 다음 단계는 종료 노드 920으로 표시된 방법의 종료이다.
또한, 도 9는 다수의 부가적인 옵션적 기준 및 단계 922, 924 및 926을 또한 도시한다. 단계 904는 옵션적으로 변형되고 (922), 여기서, 프레쉬니스 스테이터스는 2개의 상태, 즉, 현재 상태 및 이전 상태 중 하나를 표시한다. 단계 906은 옵션적으로 변형되고 (924), 여기서 방법은 시스템이 프레쉬니스 스테이터스 및 U/I 액션 표시자 (140, 142, 144, 146, 148, 150, 152, 154 및 156) 양자를 포 함하는 프레쉬니스 액션 표시자 (118) 를 생성하는 부가적인 단계를 포함한다. 단계 908은 옵션적으로 변형되고 (926), 여기서, 방법은 시스템이 프레쉬니스 스테이터스 및 U/I 액션 표시자 (140, 142, 144, 146, 148, 150, 152, 154 및 156) 를 U/I 액션 버퍼 (116) 에 저장하는 부가적인 단계를 포함한다.
또한, 당업자는 여기에서 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들을 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 결합으로 구현할 수도 있음을 알 수 있다. 하드웨어와 소프트웨어의 이러한 대체 가능성을 분명히 설명하기 위하여, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들을 주로 그들의 기능의 관점에서 상술하였다. 그러한 기능이 하드웨어로 구현될지 소프트웨어로 구현될지는 전체 시스템에 부과된 특정한 애플리케이션 및 설계 제약조건들에 의존한다. 당업자는 설명된 기능을 각각의 특정한 애플리케이션에 대하여 다양한 방식으로 구현할 수도 있지만, 그러한 구현의 결정이 본 발명의 범주를 벗어나도록 하는 것으로 해석하지는 않아야 한다.
여기에 개시된 실시형태들과 관련하여 설명된 방법 또는 알고리즘은 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 ASIC 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
개시되어 있는 실시형태들에 대한 상기의 설명은 당업자로 하여금 본 발명을 제조 또는 이용할 수 있도록 제공된다. 당업자는 이들 실시형태에 대한 다양한 변형들을 명백히 알 수 있으며, 여기에서 정의된 일반적인 원리들은 본 발명의 사상 또는 범위를 벗어나지 않고도 다른 실시형태들에 적용될 수도 있다. 따라서, 본 발명은 여기에서 설명된 실시형태들에 제한되는 것이 아니라, 여기에서 개시된 원리 및 신규한 특징들과 부합하는 최광의 범위를 부여하려는 것이다.

Claims (36)

  1. 사용자 인터페이스 디바이스로부터 생성된 사용자 인터페이스 액션을 프로세싱하는 방법으로서,
    사용자 인터페이스 액션에 대한, 상기 사용자 인터페이스 액션과 관련된 프레쉬니스 (freshness) 상태를 표시하는 프레쉬니스 스테이터스 (status) 를 생성하는 단계;
    프레쉬니스 액션 표시자를 생성하기 위해 상기 사용자 인터페이스 액션과 상기 프레쉬니스 스테이터스를 관련시키는 단계; 및
    상기 프레쉬니스 상태에 기초하여 애플리케이션에서 상기 프레쉬니스 액션 표시자를 선택적으로 프로세싱하는 단계로서, 적어도 하나의 사용자 인터페이스 액션은 상기 프레쉬니스 상태에 기초하여 프로세싱되지 않는, 상기 선택적으로 프로세싱하는 단계를 포함하는, 프로세싱 방법.
  2. 제 1 항에 있어서,
    상기 프레쉬니스 스테이터스는 2개의 상태, 즉, 현재 상태 및 이전 상태 (stale) 중 하나를 표시하는, 프로세싱 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 프레쉬니스 액션 표시자를 사용자 인터페이스 액션 버퍼에 저장하는 단계를 더 포함하는, 프로세싱 방법.
  5. 제 1 항에 있어서,
    프로세싱을 위해 상기 프레쉬니스 스테이터스 및 사용자 인터페이스 액션을 상기 애플리케이션에 제공하는 단계를 더 포함하는, 프로세싱 방법.
  6. 제 1 항에 있어서,
    상기 사용자 인터페이스 액션은 펜 액션인, 프로세싱 방법.
  7. 제 1 항에 있어서,
    상기 방법은 휴대용 무선 디바이스상에서 수행되는, 프로세싱 방법.
  8. 사용자 인터페이스 디바이스로부터 생성된 사용자 인터페이스 액션을 프로세싱하는 방법으로서,
    사용자 인터페이스 액션과 관련된 사용자 인터페이스 액션 표시자를 수신하는 단계;
    상기 사용자 인터페이스 액션과 관련된 프레쉬니스 스테이터스를 포함하는 프레쉬니스 액션 표시자를 수신하는 단계; 및
    상기 프레쉬니스 스테이터스에 기초하여 애플리케이션에서 상기 프레쉬니스 액션 표시자를 선택적으로 프로세싱하는 단계로서, 적어도 하나의 사용자 인터페이스 액션은 상기 프레쉬니스 스테이터스에 기초하여 프로세싱되지 않는, 상기 선택적으로 프로세싱하는 단계를 포함하는, 프로세싱 방법.
  9. 삭제
  10. 제 8 항에 있어서,
    상기 프레쉬니스 스테이터스는 2개의 상태, 즉, 현재 상태 및 이전 상태 중 하나를 갖는, 프로세싱 방법.
  11. 제 10 항에 있어서,
    현재 상태를 갖는 상기 프레쉬니스 스테이터스에 기초하여 상기 사용자 인터페이스 액션 표시자를 선택적으로 프로세싱하는 단계를 더 포함하는, 프로세싱 방법.
  12. 제 8 항에 있어서,
    상기 사용자 인터페이스 액션 표시자는 사용자 인터페이스 액션 버퍼로부터 수신되는, 프로세싱 방법.
  13. 제 8 항에 있어서,
    상기 사용자 인터페이스 액션은 펜 액션인, 프로세싱 방법.
  14. 제 8 항에 있어서,
    상기 방법은 휴대용 무선 디바이스상에서 수행되는, 프로세싱 방법.
  15. 사용자 인터페이스 디바이스로부터 생성된 사용자 인터페이스 액션을 프로세싱하는 방법으로서,
    사용자 인터페이스 액션에 대한, 상기 사용자 인터페이스 액션과 관련된 프레쉬니스 상태를 표시하는 프레쉬니스 스테이터스를 생성하는 단계;
    프레쉬니스 스테이터스 표시자를 생성하기 위해 상기 프레쉬니스 스테이터스를 상기 사용자 인터페이스 액션과 관련시키는 단계;
    상기 사용자 인터페이스 액션과 관련된 사용자 인터페이스 액션 표시자를 수신하는 단계;
    상기 프레쉬니스 액션 표시자를 수신하는 단계; 및
    상기 프레쉬니스 스테이터스에 기초하여 애플리케이션에서 상기 프레쉬니스 액션 표시자를 선택적으로 프로세싱하는 단계로서, 적어도 하나의 사용자 인터페이스 액션은 상기 프레쉬니스 상태에 기초하여 프로세싱되지 않는, 상기 선택적으로 프로세싱하는 단계를 포함하는, 프로세싱 방법.
  16. 제 15 항에 있어서,
    상기 프레쉬니스 스테이터스는 2개의 상태, 즉, 현재 상태 및 이전 상태 중 하나를 표시하는, 프로세싱 방법.
  17. 제 15 항에 있어서,
    상기 프레쉬니스 스테이터스 및 사용자 인터페이스 액션 표시자를 사용자 인터페이스 액션 버퍼에 저장하는 단계를 더 포함하는, 프로세싱 방법.
  18. 삭제
  19. 제 16 항에 있어서,
    현재 상태를 표시하는 상기 프레쉬니스 스테이터스의 값에 기초하여 프레쉬니스 액션 표시자를 선택적으로 프로세싱하는 단계를 더 포함하는, 프로세싱 방법.
  20. 삭제
  21. 삭제
  22. 사용자 인터페이스 디바이스로부터 생성된 사용자 인터페이스 액션을 프로세싱하는 컴퓨팅 디바이스로서,
    메모리;
    사용자 인터페이스 디바이스로부터 사용자 인터페이스 액션 신호를 수신하도록 구성되는 사용자 입력/출력 인터페이스; 및
    상기 메모리에 커플링되며, 사용자 인터페이스 액션에 대한 프레쉬니스 스테이터스를 생성하기 위한 코드를 실행하고, 프레쉬니스 액션 표시자를 형성하기 위해 상기 사용자 인터페이스 액션과 상기 프레쉬니스 스테이터스를 관련시키며, 프로세싱을 위해 상기 프레쉬니스 액션 표시자를 애플리케이션에 제공하고, 상기 프레쉬니스 스테이터스에 기초하여 애플리케이션에서 상기 프레쉬니스 액션 표시자를 선택적으로 프로세싱하도록 동작가능하며, 적어도 하나의 사용자 인터페이스 액션은 상기 프레쉬니스 스테이터스에 기초하여 프로세싱되지 않는, 프로세서를 포함하는, 컴퓨팅 디바이스.
  23. 제 22 항에 있어서,
    상기 사용자 인터페이스 액션은 펜 액션인, 컴퓨팅 디바이스.
  24. 제 22 항에 있어서,
    상기 컴퓨팅 디바이스는 휴대용 무선 디바이스인, 컴퓨팅 디바이스.
  25. 사용자 인터페이스 디바이스로부터 생성된 사용자 인터페이스 액션을 프로세싱하는 컴퓨팅 디바이스로서,
    메모리;
    사용자 프레쉬니스 액션 표시자를 저장하도록 구성되는 사용자 인터페이스 액션 버퍼; 및
    상기 메모리에 커플링되며, 사용자 인터페이스 액션과 관련된 사용자 인터페이스 액션 표시자를 수신하기 위한 코드를 실행하고, 상기 사용자 인터페이스 액션과 관련된 프레쉬니스 스테이터스를 수신하며, 상기 프레쉬니스 스테이터스에 기초하여 애플리케이션에서 상기 사용자 인터페이스 액션 표시자를 선택적으로 프로세싱하도록 동작가능하며, 적어도 하나의 사용자 인터페이스 액션은 상기 프레쉬니스 스테이터스에 기초하여 프로세싱되지 않는, 프로세서를 포함하는, 컴퓨팅 디바이스.
  26. 삭제
  27. 제 25 항에 있어서,
    사용자 인터페이스 액션 코드는 상기 사용자 인터페이스 액션 버퍼로부터 수신되는, 컴퓨팅 디바이스.
  28. 제 25 항에 있어서,
    상기 사용자 인터페이스 액션은 펜 액션인, 컴퓨팅 디바이스.
  29. 제 25 항에 있어서,
    상기 컴퓨팅 디바이스는 휴대용 무선 디바이스인, 컴퓨팅 디바이스.
  30. 사용자 인터페이스 디바이스로부터 생성된 사용자 인터페이스 액션을 프로세싱하는 컴퓨팅 디바이스로서,
    메모리;
    사용자 인터페이스 디바이스로부터 사용자 인터페이스 액션 신호를 수신하는 사용자 입력/출력 인터페이스; 및
    상기 메모리에 커플링되며, 상기 사용자 인터페이스 액션에 대한 프레쉬니스 스테이터스를 생성하기 위한 코드를 실행하고, 프레쉬니스 액션 표시자를 형성하기 위해 상기 사용자 인터페이스 액션과 상기 프레쉬니스 스테이터스를 관련시키고, 프로세싱을 위해 상기 프레쉬니스 액션 표시자를 애플리케이션에 제공하고, 상기 사용자 인터페이스 액션과 관련된 상기 사용자 인터페이스 액션 표시자를 수신하며, 상기 프레쉬니스 액션 표시자를 수신하고, 상기 프레쉬니스 스테이터스에 기초하여 애플리케이션에서 상기 프레쉬니스 액션 표시자를 선택적으로 프로세싱하도록 동작가능하며, 적어도 하나의 사용자 인터페이스 액션은 상기 프레쉬니스 스테이터스에 기초하여 프로세싱되지 않는, 프로세서를 포함하는, 컴퓨팅 디바이스.
  31. 삭제
  32. 제 30 항에 있어서,
    사용자 인터페이스 액션 코드는 사용자 인터페이스 액션 버퍼로부터 수신되는, 컴퓨팅 디바이스.
  33. 사용자 인터페이스 디바이스로부터 생성된 사용자 인터페이스 액션을 프로세싱할 수 있는 컴퓨터 프로그램을 수록한 컴퓨터-판독가능 매체로서,
    상기 컴퓨터 프로그램은,
    사용자 인터페이스 액션에 대한, 상기 사용자 인터페이스 액션과 관련된 프레쉬니스 상태를 표시하는 프레쉬니스 스테이터스를 생성하도록 동작가능한 코드;
    프레쉬니스 액션 표시자를 생성하기 위해 상기 사용자 인터페이스 액션과 상기 프레쉬니스 스테이터스를 관련시키도록 동작가능한 코드; 및
    프레쉬니스 상태에 기초하여 애플리케이션에서 프레쉬니스 액션 표시자를 선택적으로 프로세싱하도록 동작가능한 코드로서, 적어도 하나의 사용자 인터페이스 액션은 상기 프레쉬니스 상태에 기초하여 프로세싱되지 않는, 상기 선택적으로 프로세싱하도록 동작가능한 코드를 포함하는, 컴퓨터-판독가능 매체.
  34. 사용자 인터페이스 디바이스로부터 생성된 사용자 인터페이스 액션을 프로세싱할 수 있는 컴퓨터 프로그램을 수록한 컴퓨터-판독가능 매체로서,
    상기 컴퓨터 프로그램은,
    사용자 인터페이스 액션과 관련된 사용자 인터페이스 액션 표시자를 수신하도록 동작가능한 코드;
    상기 사용자 인터페이스 액션과 관련된 프레쉬니스 스테이터스를 포함하는 프레쉬니스 액션 표시자를 수신하도록 동작가능한 코드; 및
    프레쉬니스 스테이터스에 기초하여 애플리케이션에서 프레쉬니스 액션 표시자를 선택적으로 프로세싱하도록 동작가능한 코드로서, 적어도 하나의 사용자 인터페이스 액션은 상기 프레쉬니스 스테이터스에 기초하여 프로세싱되지 않는, 상기 선택적으로 프로세싱하도록 동작가능한 코드를 포함하는, 컴퓨터-판독가능 매체.
  35. 사용자 인터페이스 액션에 대한, 상기 사용자 인터페이스 액션과 관련된 프레쉬니스 상태를 표시하는 프레쉬니스 스테이터스를 생성하는 수단;
    프레쉬니스 액션 표시자를 생성하기 위해 상기 사용자 인터페이스 액션과 상기 프레쉬니스 스테이터스를 관련시키는 수단; 및
    프레쉬니스 상태에 기초하여 애플리케이션에서 프레쉬니스 액션 표시자를 선택적으로 프로세싱하는 수단으로서, 적어도 하나의 사용자 인터페이스 액션은 상기 프레쉬니스 상태에 기초하여 프로세싱되지 않는, 상기 선택적으로 프로세싱하는 수단을 포함하는, 컴퓨팅 디바이스.
  36. 사용자 인터페이스 액션과 관련된 사용자 인터페이스 액션 표시자를 수신하는 수단;
    상기 사용자 인터페이스 액션과 관련된 프레쉬니스 스테이터스를 수신하는 수단; 및
    프레쉬니스 스테이터스에 기초하여 애플리케이션에서 프레쉬니스 액션 표시자를 선택적으로 프로세싱하는 수단으로서, 적어도 하나의 사용자 인터페이스 액션은 상기 프레쉬니스 스테이터스에 기초하여 프로세싱되지 않는, 상기 선택적으로 프로세싱하는 수단을 포함하는, 컴퓨팅 디바이스.
KR1020067027296A 2004-05-26 2005-05-26 프레쉬니스 스테이터스를 사용한 사용자 인터페이스 액션 프로세싱 KR100894243B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/854,977 2004-05-26
US10/854,977 US7984382B2 (en) 2004-05-26 2004-05-26 User interface action processing using a freshness status
PCT/US2005/018674 WO2005119414A2 (en) 2004-05-26 2005-05-26 User interface action processing using a freshness status

Publications (2)

Publication Number Publication Date
KR20070032722A KR20070032722A (ko) 2007-03-22
KR100894243B1 true KR100894243B1 (ko) 2009-04-20

Family

ID=35426713

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067027296A KR100894243B1 (ko) 2004-05-26 2005-05-26 프레쉬니스 스테이터스를 사용한 사용자 인터페이스 액션 프로세싱

Country Status (13)

Country Link
US (1) US7984382B2 (ko)
EP (1) EP1754132A4 (ko)
JP (2) JP2008500649A (ko)
KR (1) KR100894243B1 (ko)
CN (1) CN101124620B (ko)
AU (2) AU2005250860A1 (ko)
BR (1) BRPI0511550A (ko)
CA (1) CA2567915A1 (ko)
IL (1) IL179500A0 (ko)
MX (1) MXPA06013729A (ko)
RU (1) RU2006146046A (ko)
TW (1) TW200608270A (ko)
WO (1) WO2005119414A2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8122259B2 (en) 2005-09-01 2012-02-21 Bricom Technologies Ltd Systems and algorithms for stateless biometric recognition
JP2011081469A (ja) * 2009-10-05 2011-04-21 Hitachi Consumer Electronics Co Ltd 入力装置
WO2015099802A1 (en) * 2013-12-28 2015-07-02 Intel Corporation Techniques for increasing energy efficiency of sensor controllers
US10977192B1 (en) * 2016-04-08 2021-04-13 Amazon Technologies, Inc. Real-time memory-page state tracking and its applications

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799315A (en) * 1995-07-07 1998-08-25 Sun Microsystems, Inc. Method and apparatus for event-tagging data files automatically correlated with a time of occurence in a computer system
US20020042888A1 (en) 2000-10-06 2002-04-11 International Business Machines Corporation Digitizer companion subsystem to extend PC battery life

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5010482A (en) * 1987-07-02 1991-04-23 Unisys Corp. Multi-event mechanism for queuing happened events for a large data processing system
US5890181A (en) * 1996-11-14 1999-03-30 Kurzwell Applied Intelligence, Inc. System and method for remotely grouping contents of an action history stack
JP3409999B2 (ja) 1997-08-12 2003-05-26 株式会社東芝 データ編集装置及びデータ編集方法
JP3855462B2 (ja) * 1998-05-29 2006-12-13 株式会社日立製作所 処理時間付きコマンド列の編集方法及びこれを用いた装置
JP4346814B2 (ja) * 2000-12-27 2009-10-21 キヤノン株式会社 情報処理装置及びその方法、コンピュータ可読メモリ、プログラム
US7058663B2 (en) * 2001-03-13 2006-06-06 Koninklijke Philips Electronics, N.V. Automatic data update
JP4089268B2 (ja) 2002-04-15 2008-05-28 株式会社日立製作所 情報処理装置
US7302106B2 (en) * 2003-05-19 2007-11-27 Microsoft Corp. System and method for ink or handwriting compression
US20040257346A1 (en) * 2003-06-20 2004-12-23 Microsoft Corporation Content selection and handling

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799315A (en) * 1995-07-07 1998-08-25 Sun Microsystems, Inc. Method and apparatus for event-tagging data files automatically correlated with a time of occurence in a computer system
US20020042888A1 (en) 2000-10-06 2002-04-11 International Business Machines Corporation Digitizer companion subsystem to extend PC battery life

Also Published As

Publication number Publication date
KR20070032722A (ko) 2007-03-22
AU2005250860A1 (en) 2005-12-15
MXPA06013729A (es) 2007-03-15
WO2005119414A2 (en) 2005-12-15
CN101124620A (zh) 2008-02-13
EP1754132A4 (en) 2008-11-05
BRPI0511550A (pt) 2008-01-02
US20050268004A1 (en) 2005-12-01
RU2006146046A (ru) 2008-07-10
CN101124620B (zh) 2010-09-29
CA2567915A1 (en) 2005-12-15
IL179500A0 (en) 2007-05-15
AU2008202595A1 (en) 2008-07-03
WO2005119414A3 (en) 2007-08-23
JP2008500649A (ja) 2008-01-10
TW200608270A (en) 2006-03-01
JP2010061669A (ja) 2010-03-18
EP1754132A2 (en) 2007-02-21
US7984382B2 (en) 2011-07-19

Similar Documents

Publication Publication Date Title
US11592959B2 (en) Device, method, and graphical user interface for navigating and displaying content in context
US11392288B2 (en) Semantic zoom animations
US8510677B2 (en) Device, method, and graphical user interface for navigating through a range of values
JP5925775B2 (ja) オブジェクトの前後の位置をリオーダー(再順序付け)するデバイス、方法およびグラフィカルユーザーインタフェース
US9772759B2 (en) Device, method, and graphical user interface for data input using virtual sliders
US8914743B2 (en) Device, method, and graphical user interface for navigating a list of identifiers
US9052894B2 (en) API to replace a keyboard with custom controls
US8826164B2 (en) Device, method, and graphical user interface for creating a new folder
US9563351B2 (en) Device, method, and graphical user interface for navigating between document sections
US20130067420A1 (en) Semantic Zoom Gestures
US20130067398A1 (en) Semantic Zoom
US20110163970A1 (en) Device, Method, and Graphical User Interface for Manipulating Information Items in Folders
AU2011376310A1 (en) Programming interface for semantic zoom
US20230012613A1 (en) Device, Method, and Graphical User Interface for Managing Data Stored on a Device
KR100894243B1 (ko) 프레쉬니스 스테이터스를 사용한 사용자 인터페이스 액션 프로세싱
JP4679859B2 (ja) 地図データ処理システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee