KR100657778B1 - 시스템과 그 환경 장치들간에 태스크를 수행하기 위한태스크-연관 객체들의 클러스터링 방법 - Google Patents

시스템과 그 환경 장치들간에 태스크를 수행하기 위한태스크-연관 객체들의 클러스터링 방법 Download PDF

Info

Publication number
KR100657778B1
KR100657778B1 KR1020007009235A KR20007009235A KR100657778B1 KR 100657778 B1 KR100657778 B1 KR 100657778B1 KR 1020007009235 A KR1020007009235 A KR 1020007009235A KR 20007009235 A KR20007009235 A KR 20007009235A KR 100657778 B1 KR100657778 B1 KR 100657778B1
Authority
KR
South Korea
Prior art keywords
objects
tasking
user
subsystem
devices
Prior art date
Application number
KR1020007009235A
Other languages
English (en)
Other versions
KR20010041179A (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 KR20010041179A publication Critical patent/KR20010041179A/ko
Application granted granted Critical
Publication of KR100657778B1 publication Critical patent/KR100657778B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/06Receivers
    • H04B1/16Circuits
    • H04B1/20Circuits for coupling gramophone pick-up, recorder output, or microphone to receiver
    • H04B1/205Circuits for coupling gramophone pick-up, recorder output, or microphone to receiver with control bus for exchanging commands between units

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Selective Calling Equipment (AREA)

Abstract

객체들을 디스플레이하기 위한 사용자 인터페이스를 지원하는 태스킹 시스템 및 방법이 제공되며, 디스플레이된 객체들은 시스템과 시스템 환경의 장치들간에 태스크들을 수행하기 위해 제공되는 자원들로의 사용자 액세스를 가능하게 한다. 특히, 이러한 특징들을 지원하기 위한 시스템 및 방법이 제공되며, 시스템 및 방법은 연관된 태스크의 효율성을 높이기 위해 태스크 연관 객체들에 대한 클러스터링 동작들을 지원하며, 이러한 클러스터링 동작들은 콘텍스트에 응답한다. 클러스터링 동작들은 바람직하게 적응적이며 동적이다. 태스킹 시스템 및 방법은 바람직하게, 예를 들어, 환경 상태들, 장치 상태들 및 시스템 상태들 중 하나 이상을 포함한 선택된 상태들의 트래킹을 지원한다. 또한, 트래킹된 상태들은 일반적으로 시간적 기준과 같은 다른 관련 기준에 대한 상태들을 포함한다.
태스킹, 객체, 클러스터링, 트래킹, 리모트

Description

시스템과 그 환경 장치들간에 태스크를 수행하기 위한 태스크-연관 객체들의 클러스터링 방법{Clustering of task-associated objects for effecting tasks among a system and its environmental devices}
본 발명은 객체들을 디스플레이하기 위한 사용자 인터페이스들을 지원하는 태스킹 시스템 및 방법에 관한 것으로, 디스플레이된 객체들은 시스템과 그 시스템 환경 장치들 사이에서 태스크들을 실행하기 위해 제공하는 자원들로의 사용자 액세스를 가능하게 한다. 특히, 본 발명은 상기한 특징들을 갖는 태스킹 시스템 및 방법에 관한 것으로, 상기 시스템은 연관된 태스크들의 실행을 향상시키도록 상기 객체들에 대한 동적이며 적응적인 클러스터링 동작들을 지원하며, 이러한 클러스터링 동작들은 콘텍스트에 응답한다.
범용 리모트들(remotes)은 공지되어 있다. 이 리모트들은 일반적으로 환경 및 그 장치들을 제어하기 위해 제공된다. 이렇게 하기 위해, 리모트들은, 예를 들어, 표준화된 통신 프로토콜들에 기초하여 명령들을 전송하며, 여기서 상기 명령들은 제어 기능들 및 제어된 장치들의 동작들에 대응한다. 일반적으로, 리모트들은 사용자가 쉽게 잡을 수 있고 한 손으로 리모트를 쥘 수 있도록 콤팩트한 크기를 갖는다.
종래의 범용 리모트들은 대개 영구적인 키들에 의존하는 경향이 있었다. 이 키들은 통상 하나의 외부 장치의 특정 기능 또는 동작에 각각 대응하도록 전용된다. 이와 같이, 키들은 일반적으로 대응성을 식별하는 영구적인 범례들(legends)을 갖는다. 또한, 키들의 수는 리모트의 콤팩트한 물리적인 치수에 의해 제한된다.
일부 범용 리모트들은 액정 디스플레이들과 같은 화면들을 채용한다. 일반적으로, 이 화면들은 리모트들이 프로그램될 수 있도록 한다. 한 범주에서, 화면은 프로그램 가능한 영구적인(즉, 하드) 키를 수반하기 위해 프로그램 가능한 범례를 제공한다. 다른 범주에서, 화면은 프로그램 가능한 범례와 프로그램 가능한 가상(즉, 소프트) 키 모두를 제공하며, 가상 키는 화면 상에 디스플레이되는 아이콘으로서 실행되고, 상기 아이콘은 화면의 접촉 감지를 통해 동작할 수 있다. 두 범주들 모두에서, 일반적으로 키들의 수는, 특히, 화면의 제한된 치수로 인해 리모트의 콤팩트한 치수에 의해 제한된다. 또한, 키들이 프로그램되면, 키들 및 이들의 각 범례들은 일반적으로 외부 장치의 기능/동작과의 이들의 대응성 및 그 배치와 관련하여 효율적으로 영속적이다. 이 영속성은 적어도 표현감(presentation sense)에 적용하며, 프로그램된 키들은 종래의 메뉴들로 구성된다.
범용 리모트의 효율성은 일반적으로 리모트가 동시에 지원할 수 있는 장치들(및 연관된 기능들/동작들)의 수에 의해 특징된다. 즉, 제 1 레벨에서, 리모트의 효율성은 이용 가능한 키들의 수의 증가에 따라 증가하는 경향이 있다. 그러나, 키들의 수, 및 이에 따른 리모트의 효율성은 리모트의 치수 조건에 의해 제한되는 경향이 있다.
또한, 리모트의 효율성은 정체 상태인 경향이 있고, 심지어는 키들의 수가 증가함에 따라 감소할 수 있으며, 이때 소정의 인간공학의 한계를 넘게 된다. 즉, 제 2 레벨에서, 사용자가 인식할 수 없을 정도로 키들의 수가 늘어나고/또는 복잡해지면 리모트의 효율성이 더 이상 증가하지 않을 수 있다. 실제로, 실질적인 또는 인식된 부담 및 복잡성에 의해, 특히, 상기 리모트를 이용하기 위한 사용자들의 성향 및 능력이 감소할 경우 리모트의 효율성은 감소될 수 있다. 이러한 효율성의 문제점들은 종래의 메뉴들로 구성된 가상 키들을 포함한 프로그램 가능한 키들을 이용하는 것만으로 완전하게 극복될 수 없다는데 있으며, 예를 들어, 이러한 해결책들은 간단히 실질적인 부담 및 복잡성의 인식에 대항하기에는 불충분할 수도 있다.
종래의 범용 리모트들은 또한 이들이 지원하는 제품들의 형태 및 제품들의 범주에 미치지 못한다. 지원되는 장치들은 일반적으로 TV들, VCR들, 수신기들, 오디오 CD 플레이어들 및 다른 오디오 및 비디오 기기로 제한된다. 그러나, 또한 장치들은 보다 넓은 범주에서 점점 훨씬 많은 제품들을 포함할 수 있다. 장치들은 가정 에어컨디셔닝/난방 시스템 및 그 제어기들, 조명 시스템, 퍼스널 컴퓨터들 및 주변 장치들, 가정 및 차량 보안 시스템들, 주방 기구들, 및 다른 가정, 사업, 차량과 오락 제품들 및 시스템들을 제한없이 포함할 수 있거나 또는 이미 포함하고 있을 수도 있다.
다른 예에 따르면, 지원되는 장치들은 일반적으로 이렇게 포함되지 않는 자원들을 포함하게 되거나 이미 포함하고 있을 수도 있다. 이러한 자원들은 제한없이, (i) 웹 브라우저들 및 다른 통신 클라이언트들 및/또는 애플리케이션들(예를 들어, 전자 프로그램 가이드들, 데이터, 이메일, 음성 또는 다른 매체/정보를 전달, 전송, 처리 및 지원할 수 있는), (ii) 통신 접속들(예를 들어, 교환식, 셀룰러 및 IP 전화 통신, 인터넷, 인트라넷, 월드 와이드 웹과 같은 하이퍼텍스트 서비스들, LAN, WAN 및 다른 네트워크들) 및 (iii) 소프트웨어 애플리케이션들(예를 들어, 노트 패드들, 일정기들 및 입력 기능들)을 포함한다.
이 자원들 중 일부, 특히, 통신이나 컴퓨팅과 관련된 것들은 유비쿼터스(ubiquitous) 하게 될 것이다. 즉, 이것은 자연히 임의의 리모트의 물리적 위치를 포함한 문제점들을 야기할 수도 있다. 일례로서, 컴퓨팅 관련 자원들은, 예를 들어, 필립스 전자의 VELO 및 NINO 및 3Com의 PALM PILOT과 같은 개인 정보 단말기(PDA)들을 콤팩트한 형태로 현재 이용 가능하거나 앞으로 이용 가능하게 될 것이다. 다른 예로서, 프로세서, 프로그램 및 다른 하드웨어와 소프트웨어 형태로 내장된 전자회로들은 필연적으로 엔지니어들에게 사용자의 환경을 통해 기능들을 컴퓨팅하고 통신을 부가할 수 있게 한다. 다른 경우, 종래의 리모트들은 이 자원들의/에 대한 충분한 액세스를 제공하기에 부적합한 경향이 있다. 각 경우에, 종래의 리모트는 환경 장치들을 지원하지 못할 뿐만 아니라 지원이 이루어지더라도 어떻게 리모트를 실행해야 하는 가에 대한 문제점들(예를 들어, 위치 결정)이 나타난다.
종래의 범용 리모트들은 부가적인 단점들을 갖고 있다. 일례로서, 리모트들은 일반적으로, 예를 들어, 지원되는 장치들로부터 및 그에 관한 신호들을 수신하는 것을 제공하지 않는다. 다른 예로서, 키들과 연관된 범례들과는 달리, 이 리모트들은 적용 가능한 환경 또는 지원되는 장치들에 속하는 다른 것들의 정보를 사용자들에게-시각적으로, 청각적으로 또는 다른 방법으로-전달하는 기능이 생략된다. 리모트들은, 특히, 관련(예를 들어, 위치적으로 관련된 또는 의존된) 정보를 사용자에게 디스플레이하거나 아니면 전달하기 위한 기능이 없다. 종래의 리모트들로는 부족할 수도 있지만, 다른 해결책들은 제한적으로 장점들을 결합하는 경향이 있다. 예를 들어, 종래의 리모트 대신에, PDA는, (a) 하나 이상의 표준 적외선 통신 능력들을 지원하고, (b) 일반적으로 종래의 메뉴 계층 구조에서의 다양한 접촉 감지식 아이콘들 및 적용 가능한 상업적 운영 체제("OS")에 의해 제공되는 다른 특징들을 사용자 인터페이스를 통해 디스플레이하도록 구성될 수도 있다. 그러나, 소수의 지원되는 장치들 및/또는 기능들/동작들로 작업하기 위한 임의의 이러한 OS에 의해, 사용자는 임의의 특정 환경 장치의 임의의 특정 기능/동작을 액세스하기 위해 다수의 다른 OS 특징들을 통해 다중 메뉴들 또는 단계를 개방할 수도 있다. 이것은 메뉴들 및 특징들이 기능/동작을 활성화하기 위해 개방될 때, PDA의 화면은 그 제한된 치수로 인해 항상 더 혼란스러워지기 때문에 바람직하지 않으며, 이러한 혼란은 사용자가 다른 장치들 또는 기능들/동작들로 네비게이션하고 활성화시키는 것을 점점 어렵게 한다. 또한, 이러한 네비게이션의 어려움은 사용자들이 여러 가지 기능들/동작들을 동시에 또는 연속적으로 활성화시키고자 시도하는 것을 방해한다.
따라서, 특히 각각이 다수의 기능들/동작들과 연관된 다수의 지원된 장치들의 경우에 개선되고 새로운 기능을 가능하게 하기 위해, 상술된 것과 같은 종래 기술의 이러한 문제점들을 포함하여, 환경에서의 지원된 장치들을 태스킹하기 위한 장치, 시스템 및 방법에서의 문제점들을 극복해야 할 필요성이 있다.
요약
본 발명은, 종래의 리모트들과 연관된 것들을 포함하는 종래 기술 고유의 문제점들을, 객체들을 디스플레이하기 위한 사용자 인터페이스를 지원하는 태스킹 시스템 및 방법을 제공함으로써 극복하며, 상기 디스플레이된 객체들은 시스템과 시스템 환경의 장치들 사이에서 태스크들을 수행하기 위해 제공하는 자원들로의 사용자 액세스를 가능하게 한다. 특히, 본 발명은 이러한 특징들을 갖는 태스킹 시스템 및 방법을 제공하며, 상기 시스템 및 방법은 연관된 태스크들의 실행을 강화하기 위해 상기 객체들에 대한 클러스터링 동작들을 지원하며, 이러한 클러스터링 동작들은 콘텍스트에 응답한다. 일반적으로, 태스킹 시스템 및 방법은 클러스터링 동작들을 적응적이며 동적으로 지원한다. 이러한 특징들을 제공하기 위해, 태스킹 시스템 및 방법은, 예를 들어, 환경 상태들, 장치 상태들 및 시스템 상태들 중 하나 이상을 포함하는 선택된 상태들의 트래킹을 지원하는 것이 바람직하다. 또한, 트래킹은 일반적으로 시간적 기준(temporal criteria)과 같은 다른 관련 기준에 대한 상태들과 관련된다.
일 실시예에서, 트래킹 시스템은 하나 이상의 실행 메카니즘들 상에서/사이에서 동작하는 태스킹 소프트웨어 시스템을 포함한다. 실행 메카니즘들은 휴대용, 준-휴대용 또는 고정된 위치일 수 있으며, 예를 들어, 리모트 제어 유닛으로서, 핸드-헬드(hand-held) 컴퓨터, 퍼스널 컴퓨터, 워크스테이션 또는 서버 컴퓨터, 임의의 다른 컴퓨팅 장치 또는 임의의 다른 통신 장치를 포함하여 다양하게 실현될 수 있다. 실행 메카니즘들은 일반적으로, 객체들의 사용자 선택에 기초하여, 환경 장치들과 연관된 태스크들을 수행하기 위한 여러 가지 자원들을 포함한다. 자원들은 일반적으로 운영 체제, 부대 소프트웨어, 통신 기능부, 처리 기능부, 메모리 시스템, 입력 기능부(예를 들어, 포인팅 장치, 하드 버튼들, 마이크로폰, 키 패드 등 또는 이들의 조합) 및 디스플레이 화면 및 선택된 조합(들)을 포함한다. 일반적으로, 화면 및 입력 기능부는, 예를 들어, 접촉 감지식 LCD와 같이 통합된다.
한 측면에서, 시스템은 개선된 원격 제어 장치들 또는 개인 정보 단말기들과 같은 핸드-헬드 요소들로 실행된다. 본 발명은 이러한 형태의 인자들에 공통인 화면들이 정보로 쉽게 혼란스러워지는 경향이 있다는 점에서, 특히 이러한 형태의 인자들에 적합하며, 본 발명은 얼마만큼은 이러한 상황을 극복하는 것과 관련된다.
다른 측면에서, 태스킹 소프트웨어 시스템은 태스크-연관 사용자 선택 가능한 객체들을 통해 시스템과 하나 이상의 환경 장치들 사이에서 태스크를 수행할 수 있다. 이와 같이 하기 위해서, 소프트웨어 시스템은 일반적으로, (a) 클러스터 조성 서브시스템(cluster formulation subsystem) (b) 클러스터 표현 서브시스템(cluster presentation subsystem) (c) 전이 서브시스템(transition subsystem) (d) 상태 트래킹 서브시스템(state tracking subsystem) (e) 객체 발견 서브시스템(object discovery subsystem) (f) 도움말 서브시스템(help subsystem) 및 (g) 기타 서브시스템들을 포함한다. 클러스터 조성 서브시스템은 콘텍스트에 응답하여 바람직하게는 적응적 및 동적인 기반으로 클러스터들(각 클러스터는 선택된 객체들을 포함함)을 조성 및 재조성한다. 클러스터 표현 서브시스템은, 또한 바람직하게는 콘텍스트에 응답하여 적응적이며 동적인 기반으로, 조성된(또는, 재조성된) 활성 클러스터의 객체들의 포매팅 및 표현을 지원한다. 전이 서브시스템은 클러스터들 사이 및 활성 클러스터의 포맷들/표현들 사이에서의 전이들을 지원한다. 상태 트래킹 서브시스템은 환경, 장치, 시스템 및 다른 상태들 중 하나 이상에 대한 데이터를 수집함으로써 콘텍스트 결정을 지원한다. 객체 발견 서브시스템은 이용 가능한 및/또는 이용가능하지 않은 환경 장치들의 발견을 지원한다. 도움말 서브시스템은 태스킹 시스템과의 사용자 상호작용을 지원하며, 예를 들어, 도움말 서브시스템은, 기존의 클러스터들 및 상술된 클러스터링 방식들에 대한 상기 구성들을 분석하고, 이러한 분석에 기초하여 충돌들과 다른 문제점들을 식별하며, 태스킹 시스템의 적절하고 및/또는 효율적인 이용으로 피드백/피드-포워드(feedback/feed-forward)를 제공하는 하나 이상의 사용자의 구성 기호들을 포함한다.
서브시스템들 각각은 일반적으로 실행 메카니즘 및 그 자원들과 함께 동작한다. 일례로서, 클러스터 표현 서브시스템은 일반적으로 운영 체제, 특히, 그 사용자 인터페이스 및 객체들의 현재 클러스터들에서의 실행 메카니즘의 화면과 협조한다. 다른 예로서, 태스킹 소프트웨어 시스템이 사용자-인식 서브시스템을 포함하면, 이러한 서브시스템은 일반적으로, 예를 들어, (a) 등록 데이터(예를 들어, 성명, 생년월일, 패스워드 등), 생체 데이터(예를 들어, 음성 또는 지문(들), 압력, 손 온도 등) 및/또는 사용 서명들(예를 들어, 각 사용자를 구별하는 이용 습관들)과 같은 사용자 데이터가 저장되는 메모리 시스템, 및 (b) 입력 기능부(예를 들어, 마이크로폰, 지문 스캐너, 압력 변환기 및 온도계) 중 하나 이상을 포함하는 자원들과 협조한다. 또다른 실시예로서, 태스킹 소프트웨어 시스템이 메카니즘 위치 결정 시스템을 포함하면, 위치 결정 시스템은 일반적으로 상기 통신 기능부(예를 들어, 환경 장치들로부터의 순간 데이터 또는 글로벌 위치 결정 신호들을 수신하기 위한) 및/또는 신호 강도 자원들(예를 들어, 일반적으로 삼각측정에 기초하여 환경 또는 환경에서의 위치를 결정하기 위한)을 포함하는 자원들과 협조한다.
본 발명은 또한 태스킹 방법을 제공한다. 이 방법은 실행 메카니즘으로 및 그와 함께 동작하는 태스킹 소프트웨어 시스템을 이용하여 실행되는 것이 바람직하다. 이 방법은 연관된 객체들의 사용자 선택에 의해 이 태스킹 시스템과 환경 장치들 사이에서 태스크들을 실행하는 것을 지원한다.
본 발명을 특징화하는 새로운 여러 가지 특징들은 특히 본 명세서의 일부분을 형성하는 첨부된 청구항들에 나타난다. 본 발명의 더 많은 이해와 이것을 이용함으로써 얻어지는 운영 이점들과 특정 객체들은 첨부 도면들 및 바람직한 실시예들이 예시되고 기술되는 상세한 설명이 참조되어야 하며, 동일한 참조 부호들은 동일하거나 유사한 요소들과 관계된다.
도 1은 예시적 자원들에 의한 실행 메카니즘의 실시예를 도시하는 도면.
도 2는 실행 메카니즘 및 환경 장치들간의 입력 및 출력 흐름의 예들을 도시하는 도면.
도 3은 예시적 객체들과 객체 형태들을 도시하는 도면.
도 4는 예시적 객체들과 객체 형태들을 도시하는 도면.
개요
본 발명은 객체들을 디스플레이하기 위한 사용자 인터페이스들을 지원하는 태스킹 시스템들을 포함하며, 상기 디스플레이된 객체들은 시스템과 시스템 환경의 장치들("환경 장치(environment devices)") 사이에서 태스크들을 수행하기 위해 제공하는 자원들에 대한 사용자 액세스를 가능하게 한다. 특히, 본 발명은 상기 특징들을 갖는 태스킹 시스템들을 포함하며, 시스템들은 연관된 태스크들의 실행을 향상시키기 위해 이러한 객체들에 대한 클러스터링 동작들을 지원하며, 이러한 클러스터링 동작들은 콘텍스트에 대응한다. 일반적으로, 태스킹 시스템들은 클러스터링 동작들을 적응적이며 동적으로 지원한다. 이러한 특징들을 제공하기 위해, 태스킹 시스템들은, 예를 들어, 환경, 장치, 시스템 및 시간적 상태들 중 하나 이상을 포함하는 선택된 상태들의 트래킹을 지원하는 것이 바람직하다.
본 명세서에서, 용어 "환경"은 거주(예를 들어, 집의 방들), 일(예를 들어, 사무실, 회의실 또는 열람실), 쇼핑(예를 들어, 쇼핑센터들), 레크리에이션(예를 들어, 체육관, 야구장 또는 스타디움), 교통(예를 들어, 자동차들 내부와 길가, 자전거 도로들 및 인도들), 공중(예를 들어, 공원 또는 도시 광장), 도시(예를 들어, 정부 빌딩 또는 컨벤션센터) 또는 다른 지역들, 장소들 또는 위치들, 실내 또는 실외의 임의의 조합을 포함한다. 상기 환경들은 일반적으로 물리적인 것이지만, 상기 환경의 모두 또는 일부는 논리적(예를 들어, 컴퓨터 데스크탑, 소프트웨어 애플리케이션, 인터넷 및 월드 와이드 웹 위치들)인 것일 수 있음을 이해해야 한다.
또한, 본 명세서에서, 용어 "객체"는 아이콘들, 버튼들, 대화 상자들, 상자 엔트리들, 구성요소들, 메뉴들, 서브메뉴들, 메뉴 항목들, 제어들, 구성 및 기호 값들, 이미지들, 사운드들, 및 유사한 정보를 단독으로 및 여러 가지 조합으로 참조한다. 각 객체는 일반적으로 하나 이상의 환경 장치들의 하나 이상의 태스크들과 직접 또는 간접적으로 연관된다. 객체들은 일반적으로 본 명세서에 설명된 것과 같이 클러스터링된다. 객체들은 또한 하나 이상의 객체 형태들에 따라 포매팅된다. (어떤 객체들은 이들이 일반적으로 태스킹 보다는 상기 사용자 인터페이스에 관련됨으로써 메타-객체들로 간주된다는 것을 유념해야 한다.)
또한, 용어 "클러스터링 동작들", "클러스터" 및 "클러스터링"(및, 이것의 임의의 다른 변형)은 일반적으로 그룹화(grouping), 연관 배치(relative disposition), 시퀀싱(sequencing), 오더링(ordering), 레이어링(layering), 조직화(organizing) 및 소정의 객체들 및/또는 객체들의 세트들의 및 그들간의 집합의 다른 형태들뿐만 아니라, 소정의 환경적 순간(예를 들어, 시간의 시점 및 범위로 특징됨) 또는 이의 갱신 중에 디스플레이하기 위한 클러스터들의 포매팅 및 표현을 의미하며, 이러한 디스플레이는 그래픽 사용자 인터페이스("GUI")와 같은 사용자 인터페이스("UI")를 매개로 한 것이며, 이러한 집합은 콘텍스트에 응답한다. 다른 설명을 하면, 객체들은 콘택스트적 비중(contextual gravity)에 기초하여 본 발명에 따라 클러스터되거나 클러스터되는 경향이 있으며(또는 비클러스터/재클러스터(unclustered/reclustered) 됨), 이러한 비중은 일반적으로 시간적(예를 들어, 역사적, 현재, 유행 및 일시적)인 측면들을 가지며, (ⅰ) 객체들이 연관되는 상기 태스크들, (ⅱ) 환경 또는 일련의 환경들, (ⅲ) 이용 가능한 환경 장치들 또는 예측 가능한 환경 변화들에 의해 이용 가능하게 될 수도 있는 장치들, (ⅳ) 장치들의 상태들, (ⅴ) 사용자 및 사용자의 지정된 기호들, 및 (ⅵ) 환경 및 예를 들어, 관련 장치들 및 연관된 태스크들의 선택에 관하여 예측 가능한 환경들에서의 사용자의 과거 행동과 같은 예들을 따라 소정의 객체들간에 상대 중요도 및 흡인력으로 특징된다. (클러스터에 기초한 용어들 및 그 변형들의 이용은 상기 동작의 독립적 또는 조합적인 것으로 참조할 수 있으며, 콘텍스트는 직접적 또는 간접적, 공개적 또는 함축적으로 나타날 수 있다.)
일반적인 한 측면에서, 본 발명에 따른 태스킹 시스템들은, 예를 들어, 일정한 간격으로 계속해서, 연속적으로 및/또는 선택된 이벤트들에 응답하여 동적인 기반으로 클러스터링 동작들을 지원한다. 일반적인 다른 측면에서, 본 발명에 따른 태스킹 시스템들은, 예를 들어, 현재와 역사적인 상관관계들 및 이들 간의 트랜드에 의한 각 경우에, 이용 가능한 환경 장치들, 사용자들의 구성 기호들 및 기호들의 세트들, 및 과거의 사용자 선택들 및 선택들의 세트들 중 하나 이상에 기초하여, 적응적으로 클러스터링 동작들을 지원한다. 또 다른 측면에서, 태스킹 시스템들은 클러스터링 동작들을 동적으로 및 적응적으로 지원한다. 일부 경우에, 태스킹 시스템은 다른 것들 사이에서, 사용자가 신속하고, 쉽고, 즐겁고, 효율적으로, 최적으로 바람직한 적절한 객체들을 선택할 수 있도록 선택된 콘텍스트에 응답하여 클러스터링 동작들을 수행하도록 구성됨으로써, 태스킹 시스템 및 환경 장치들 간에 태스크를 수행할 수 있다. 즉, 클러스터링 동작들을 통해, 본 발명에 따른 태스킹 시스템들은, 예를 들어, 원하는 태스크와 관련된 하나 이상의 객체들을 발견하고, 인지하고, 선택하는 것과 같은 태스크에 관한 사용자 상호작용을 최소로 감소시키거나 또는 최적으로 감소시키도록 제공되는 것이 바람직하다.
환경은 다양하게 설명될 수 있다. 예시를 위해, 환경은 논리적 및 물리적인 구조들로 설명된다. 물리적으로, 활성 환경은 일반적으로 태스킹 시스템이 환경 장치들과 통신할 수 있는 영역(들)을 포함한다. 예를 들어, 태스킹 시스템의 통신 범위(예를 들어, 일반적으로 마이크로파, 적외선 또는 RF 무선 주파수를 통해)는 전송 전력, 라인 또는 시각 제한 및 간섭 특성들과 같은 여러 가지 요인들로 제한된다. 동시에, 태스킹 시스템의 통신 범위(예를 들어, 유선 해법들을 통해)는 인터넷의 경우에서와 같이 광범위한 것으로 결정될 수도 있다. 이와 같이, 적용 가능한 환경은 의도적으로 그 잠재적인 것 보다 좁은 범위로 제한될 수도 있다.
논리적으로, 활성 환경은 여러 가지 파라미터들에 의해 특징지어질 수 있다. 예를 들어, 환경 장치들은 시간적 파라미터들을 가질 수도 있다. 이러한 파라미터들은 가용성, 인에이블된 특징들/동작들 및 태스크들을 수행하기 위해 인증된 사용자(들)를 제한없이 포함하는 다양한 범위를 가질 수도 있다. 예시적으로, TV는 물리적으로는 침실에 있을 수도 있지만, 선택된 날짜의 선택된 시간 동안 특정한 사용자에게 이용될 수 없을 수도 있고, 이용될 수 있을 때조차도 사용자는 하나 이상의 채널들을 선택 및/또는 볼륨을 조정하는 것으로부터 차단될 수도 있다. 다른 예로서, 환경 장치들은 관련 파라미터들을 가질 수도 있다. 이 파라미터들은 가용성 및 인에이블된 특징들/동작들 중 하나/모두에 관하여 제한없이 포함하는 다양한 범위를 가질 수도 있다. TV 예시를 계속하면, TV의 이용은 VCR이나 전화의 이용을 차단할 수도 있거나, 또는 비디오 테이프 플레이어("VTP")의 이용이 다른-차단된 TV의 이용을 가능하게 할 수도 있지만, TV는 VTR 모드에만 있어야 한다.
사용자의 최근 선택이 속하는 환경이 있다면, 다른 환경들 중 특정 환경이 "활성"으로서 설명된다. 또한, 활성 환경으로부터, 사용자는 일반적으로 다른 환경들을 활성화시킬 수 있다. 다음에, 태스킹 시스템은 바람직하게 물리적인 이동과 리모트 투사 중 하나/모두에 의해 환경들 사이를 지날 수 있게 된다. 물리적인 경로들에 관하여, 태스킹 시스템은 바람직하게, 예를 들어, 사용자 선택들에 기초한 예측, 및 예를 들어, 장치 발견, 통신 신호 강도, 글로벌 위치 결정 시스템, 사용자 통지 등에 기초한 인식으로 환경들의 변화를 예측 또는 인식할 수 있다. 리모트 투사 경로들에 관하여, 태스킹 시스템은 바람직하게, 예를 들어, 사용자 선택들에 기초한 예측, 및 예를 들어, 사용자 통지에 기초한 인식으로 환경들의 변화를 예측 또는 인식할 수 있다. 상술한 바에도 불구하고, 태스킹 시스템은 사용자가 비활성 환경으로서 객체를 선택하여, 연관된 태스크가 즉시, 실질적으로 즉시 임의의 이후의 이벤트(예를 들어, 다른 환경에서)나 임의의 이후의 시간에 기초하여 수행되도록 하는 것이 고려된다.
본 발명에 따른 환경 장치들은 물리적 및 논리적으로 고려하는 폭넓은 범위를 갖는다. 대표적인 장치들은, (a) TV들, VCR들, 수신기들, 오디오 CD 플레이어들 및 다른 오디오 및 비디오 장치, (b) 환풍기, 온도 조절 장치들을 통한 에어컨디셔닝 및 난방 시스템들, 제어 패널들 등, (c) 조명 시스템들, (d) 컴퓨팅 장치들, 부품들 및 주변 장치들, (e) 보안, 안전 및 위치 결정 시스템들, (f) 가정용 기기들 및 기구들, (g) 건강 보조 기구들 및 장비, (h) 전화, 녹음기, 복사기, 팩스 및 다른 사무용 기기, (i) 공작 기계들, 조립품, 조종, 이동 및 다른 생산 제품, (j) 다른 가정, 사업, 차량, 오락 제품들 및 시스템들을 제한없이 포함한다. 또한, 다른 포함된 장치들은, (i) 웹 브라우저들, 및 다른 통신 클라이언트들 및/또는 애플리케이션들(예를 들어, 전자 프로그램 가이드들, 데이터, 이메일, 음성 또는 다른 매체/정보를 전달, 전송, 처리 및 지원할 수 있음), (ⅱ) 통신 서버들, 서버들, 라우터들, 교환기들과 다른 접속 및 구성 요소들(예를 들어, 교환식, 셀룰러 및 IP 전화 통신, 인터넷, 인트라넷, 월드 와이드 웹, LAN 및 WAN), (ⅲ) 소프트웨어 애플리케이션들(예를 들어, 노트 패드들, 일정기들 및 달력들), 및 (ⅳ) 운영 체제들 및 그 구성 요소들을 제한없이 포함한다.
이러한 장치들 중에서 특정 환경 장치는 사용자의 가장 최근의 선택 또는 작용이 속하는 환경 장치라면 "활성"으로 설명된다. 또한, 태스킹 시스템은, (a) 태스킹 시스템의 실행에 관한 물리적 이동, (b) 하나 이상의 환경 장치들의 활동, (c) 다른 입력들, 또는 (d) 이 입력들의 조합들에 기초한 환경 장치들 사이에서 활성 상태를 전송할 수 있도록 한다.
태스킹 시스템 실행의 일반 예
태스킹 시스템은 다양하게 실행될 수 있다. 일반적으로, 태스킹 시스템은 소프트웨어(일반적으로, 본 명세서에서는 "태스킹 소프트웨어 시스템"이라고 함)로 실행된다. 태스킹 소프트웨어 시스템은 일반적으로 하나 이상의 실행 메카니즘들 상에서/중에서 동작한다. 실행 메카니즘들은 휴대용, 준-휴대용 또는 고정 위치일 수 있다. 또한, 실행 메카니즘들은, 예를 들어, 리모트 제어 유닛으로서, 핸드-헬드 컴퓨터, 퍼스널 컴퓨터, 워크스테이션 또는 서버 컴퓨터, 임의의 다른 컴퓨팅 장치 또는 임의의 다른 통신 장치를 포함하여 다양하게 실현될 수 있다.
A. 실행 메카니즘
실행 메카니즘들은 일반적으로 객체들의 사용자 선택과 연관된 태스크들을 수행하기 위해 제공되는 여러 가지 자원들을 포함한다. 자원들은 일반적으로 선택적 조합(들)에, 운영 체제, 부대 소프트웨어, 통신 기능부, 처리 기능부, 메모리 시스템, 입력 기능부 및 디스플레이 화면을 포함한다.
입력 기능부는 다양하게 실행될 수 있다. 일반적으로, 이러한 기능부는, 예를 들어, 접촉-감지식 LCD와 같이 화면에 일체화된다. 그러나, 또한 입력 기능부는 포인팅 장치들(예를 들어, 마우스나 펜과 같은), 하드 버튼들, 키 패드들/보드들, 마이크로폰들, 지문 및 망막 스캐너들, 압력 변환기들, 온도계들, 광 센서들, 입자 또는 화학 검출기들, 전용의 글로벌 위치 결정 수신기 또는 다른 변환기들을 독립적으로 또는 조합적으로 포함할 수 있다. 이러한 기능부는, 예를 들어, 태스킹 소프트웨어 시스템이, (a) 생체학적 사용자-인식 및 인증 서브시스템, (b) 주변 환경 상태들에서 데이터를 획득 및 처리하기 위한 서브시스템(이하의 상태 설명을 참조), 및/또는 (c) 예를 들어, 실행 메카니즘의 환경에서의 환경 또는 위치를 결정하기 위한 위치 데이터를 획득 및 처리하기 위한 메카니즘 위치 결정 시스템 중 하나 이상을 지원할 경우의 유틸리티를 갖는다.
메모리 시스템은 일반적으로 캐시 메모리, 동적 랜덤 액세스 메모리, 대용량 기억 장치, 기록 기억부 및 다른 하드웨어, 펌웨어, 소프트웨어 또는 기억 장치와 연관된 네트워킹 자원들 중 하나 이상을 포함한다.
처리 기능부는 일반적으로 하나 이상의 프로세서(들) 및/또는 다른 논리 하드웨어를 포함한다. 프로세서는 인텔사, 모토롤라사, 텍사스 인스트루먼트사, IBM, AMD, 사이릭스 또는 디지털 처리 장치들의 다른 제조사에 의해 제조된 마이크로프로세서들, 마이크로제어기들, 디지털 신호 프로세서들 등을 제한없이 포함하는 임의의 디지털 처리 장치일 수 있다. 다른 논리 하드웨어는 프로세서와 조합하거나 독립적으로 동작하는 ASIC들, PLD들, 게이트 어레이들 등을 포함하는 통상의 및 준-통상의 회로를 포함한다.
통신 기능부는 일반적으로 통신 스택 및 하드웨어를 포함한다. 이 통신 기능부는 바람직하게 이들과 동등한 것들 및/또는 그 조합들뿐만 아니라 현재 이용되고 있거나 이용되고 있지 않은 모든 통신 포맷들, 프로토콜들 및 명세들을 지원하도록 실행된다. 지원되는 포맷들, 프로토콜들 및 명세들은 적외선 표준들(예를 들어, IrDA D, C, 및 AIR), 무선 주파수 표준들(예를 들어, 제안된 블루투스(Bluetooth) 및 홈 RF 명세들), 및 다른 접속 표준들(예를 들어, TCP/IP, 제안된 HAVI 및 HAPI 명세들 및 USB, 방화벽 및 이외의 것들)을 제한없이 포함한다. 실행 메카니즘이 주어진 위치에 영구히 고정되던지, 재-위치 가능하던지 또는 완전히 휴대 가능한 것이던지, 통신 기능부는 무선 또는 유선 동작될 수 있다.
일례로서, 객체의 사용자 선택에 응답하여, 통신 기능부는 객체의 연관된 태스크에 대응하는 제어 정보를 처리한다. 통신 기능부는 이러한 정보를 신호로 패키징하고, 이러한 신호를 전송함으로써, 이 신호는 태스크가 속하는 하나 이상의 환경 장치들에 의해 수신되게 된다. 신호의 적절한 수신시, 이러한 환경 장치(들)는 일반적으로 상태를 변화시키거나, 상태 변화(즉, 환경 장치의 일부 특징 또는 양태를 변화시키기 위해)를 유도하는 절차들을 트리거한다. 제어 정보가 다양하게 패키징되고 전송될 수 있음이 인식될 것이다. 일례로서, 제어 정보는 객체 자체 또는 그 표현(예를 들어, 특히 범용인 객체들의 표준에 기초하여)을 포함할 수 있거나, 또는 정보는 고유의 신호(예를 들어, 특정 텔레비전의 리모트 제어 기능에 지정된 적외선 코드들) 등을 에뮬레이트할 수 있거나, 다른 방법일 수 있다. 사용자 선택은 일반적으로 활성 환경에서 변화를 유발함으로써 디스플레이를 위한 클러스터 및/또는 클러스터 표현/형성을 포함하여 태스킹 시스템 자체를 연관시킬 것이다.
통신 기능부는 바람직하게 메카니즘의 위치 결정을 지원한다. 일 예에서, 통신 기능부는 예를 들어, 실행 메카니즘의 환경에서의 위치 또는 환경을 결정하기 위한 메카니즘 위치 결정 시스템과 협조한다. 이를 위해, 이러한 기능부 및 시스템은, (a) 상기 글로벌 위치 결정 시스템으로부터의 글로벌 위치 결정 신호들 및/또는 (b) 환경 장치들로부터의 신호 강도 데이터 또는 다른 원격 측정 신호들을 직접 또는 간접적으로 수신한다. 다른 입력들 없이 이러한 위치 결정은 바람직하게 환경들의 변화를 예측 또는 인식하기 위해 태스킹 시스템에 의해 이용된다. 이러한 위치 결정은 바람직하게, 다른 입력들과 함께 또는 다른 입력들 없이, 태스킹 시스템이 클러스터링 동작들(예를 들어, 전이, 조성, 재조성, 표현 및 그 포매팅)을 지원하는 것에 응답하여 태스킹 시스템에 대한 콘텍스트의 결정과 관련되며 그 결정에 기여한다.
통신 기능부를 통한 실행 메카니즘들은 다른 실행 메카니즘들을 포함하여 환경 장치들로부터 수신 및/또는 그 환경 장치들에 전송할 수 있게 된다. 전송/수신은 바람직하게 상태 및 다른 정보(예를 들어, 신호들, 명령들, 데이터 및/또는 지시들)의 전송/수신이다. 일례로서, 정보는 바람직하게 제어 명령들, 및/또는 실행 가능한 소프트웨어 프로그램들 또는 애플릿들, 및/또는 새로운 또는 변경된 객체들, 및/또는 환경 장치들과 관련된 태스크(들)와 연관된 새로운 객체들을 수정하거나 구성하기 위한 지시들을 포함할 수 있다. 다른 예로서, 정보는 바람직하게 오디오, 비디오, 전화, 글로벌 위치 결정, 원격 측정 등과 같은 신호들을 포함할 수 있다. 후자의 경우에, 신호들은 디지털로 전달되는 것이 바람직하지만, 하나 이상의 신호들이 본 발명의 원리들을 벗어나지 않고서 아날로그에 기초할 수 있다.
통신되는 정보가 일반적으로 수신 환경 장치(또는, 실행 메카니즘)의 상태를 변경한다는 것이 인식될 것이다. 일례로서, 통신되는 정보는 팩스 소프트웨어를 위한 다이얼러들(dialers)과 같은 전화 관련 소프트웨어 프로그램들을 갱신하기 위해 환경 장치에 전송되는 전화 정보를 나타낼 수 있다. 장치 또는 메카니즘과 통신하는 이러한 정보는 바람직하게 장치/메카니즘과 연관된 메모리에 저장된다. 다른 예로서, 통신되는 정보는 텔레비전을 온(ON) 상태로 전환하는 제어 명령을 포함할 수 있다. 또 다른 예로서, 통신되는 정보는 활성 환경, 활성 클러스터, 활성 클러스터의 활성 표현, 및 활성 클러스터의 객체들의 활성 포맷을 변화시킬 수 있다.
운영 체제("OS")는 다양하게 실행될 수 있다. 일례로서, 예를 들어, 유닉스, 리눅스, 윈도우 NT 등의 상용 운영 체제를 포함할 수 있다. 또한, OS는 바람직하게 객체들의 디스플레이를 포함하여 사용자 인터페이스 기능들 및 동작들을 제공 또는 지원하기 위한 윈도우형(windowing) 또는 패널형(paneling) 시스템을 포함한다. 동시에, OS는 없을 수도 있거나 또는 적어도 임의의 윈도우형 또는 패널형 시스템을 생략할 수 있지만, 대신 이러한 시스템들을 인에이블하기 위해 프로토콜 또는 다른 기본 자원들(예를 들어, 처리 기능부, 메모리 시스템, 입력 기능부 및 화면 사이에서의 협조)을 제공 또는 포함할 수 있다. 후자의 경우, 태스킹 소프트웨어 시스템은 바람직하게 적절한 사용자 인터페이스를 지원하기 위한 자원들을 포함한다.
그러나, 제공된 적절한 사용자 인터페이스는 바람직하게 인에이블된다. 이러한 관점에서, 사용자 인터페이스는 바람직하게 그래픽 사용자 인터페이스이다. 또한, 사용자 인터페이스는 바람직하게 0영구적으로 및 순간적으로 객체들의 디스플레이를 지원한다. 명확히 하기 위해, 영구적인 객체들은 일반적으로, 화면이 파워 오프될 때까지, 또는 영구적인 객체가 확실하게 제거 또는 대체될 때까지, 또는 영구성이 감지된 순간 객체에 대한 실질적으로 긴 시간 기간 동안, 영구성에 기초하여 화면 상에 디스플레이할 수 있다. 한편, 순간 객체들은, 예를 들어, 상대적으로 빨리 진행하는 것으로 사용자가 감지하는, 상대적으로 짧은 시간 기간 동안 화면 상에 디스플레이할 수 있다. 일 실시예에서, 순간 객체들은 바람직하게 전용 화면 영역에 디스플레이될 수 있다. 지정된 순간적인 시간 기간들이 경과한 후(즉, 타임 아웃 이벤트가 발생한 경우), 각각의 순간 객체는 화면에서 사라지거나 희미해진다(예를 들어, 순간 디스플레이는 페이딩 메모리 버퍼(fading memory buffer), 소프트웨어 제어 또는 일부 다른 적용 가능한 기술을 이용하여 실행됨). 타임 아웃 기간은 디폴트 기간, 사용자-지정 기간, 연관된 환경 메카니즘(예를 들어, 임계 응답 시간에 응답하는)에 의해 지정된 기간, 또는 임의의 다른 소스/목적을 갖는 기간 중 어느 것일 수 있다. 바람직하게, 이러한 기간들은, 예를 들어, 상태 태스킹 또는 다른 수행 또는 환경 기준에 기초하여 갱신된다.
태스킹 시스템의 부대 소프트웨어는 만약 존재한다면 다양하게 구성될 수 있다. 이러한 소프트웨어는 존재한다면 바람직하게 태스킹 시스템과 관련된 기능들 및 동작들을 제공하지만, 존재하지 않는다면 시스템에 의해 지원되지 않거나 또는 완전히 지원되지 않는다. 일례로서, 부대 소프트웨어는, (a) 사용자 인식 및 인증, (b) 주변 환경 상태들에 관한 데이터의 획득 및 처리, 및/또는 (c) 실행 메카니즘 위치의 결정에 대한 데이터의 획득 및 처리를 제공하거나 향상시킬 수 있다.
B. 태스킹 소프트웨어 시스템
태스킹 소프트웨어 시스템은 태스크-연관 사용자-선택 가능한 객체들을 통해 하나 이상의 환경 장치들과 시스템 사이에서 태스크들을 실행할 수 있다. 이를 위해서, 소프트웨어 시스템은 다양하게 실행될 수 있다. 일례로서, 태스킹 소프트웨어 시스템은, (a) 상태 트래킹 서브시스템, (b) 클러스터 조성 서브시스템, (c) 클러스터 표현 서브시스템, (d) 전이 서브시스템, (e) 객체 발견 서브시스템, (f) 도움말 서브시스템, 및 (g) 기타 서브시스템들을 포함한다. 클러스터 조성 서브시스템은 콘텍스트에 응답하여 바람직하게는 적응적 및 동적인 기반으로 클러스터들(각 클러스터는 선택된 객체들을 포함한다)을 조성 및 재조성한다. 클러스터 표현 서브시스템은 또한 바람직하게는 콘텍스트에 응답하여 적응적이며 동적인 기반으로, 조성된(또는, 재조성된) 활성 객체들의 포매팅 및 표현을 지원한다. 전이 서브시스템은 활성 상태에 관하여 클러스터들 사이에서의, 또는 활성 클러스터의 포맷들/표현 사이에서의 전이들을 지원한다. 상태 트래킹 서브시스템은 환경, 장치, 시스템 및 다른 상태들 중 하나 이상에 대한 데이터를 수집함으로써 콘텍스트 결정을 지원한다. 객체 발견 서브시스템은 이용 가능한 및/또는 이용가능하지 않은 환경 장치들의 발견을 지원한다. 도움말 서브시스템은 태스킹 시스템과의 사용자 상호작용을 지원한다.
태스킹 소프트웨어 시스템과 이의 서브시스템들 각각은 일반적으로 실행 메카니즘 및 그 자원들과 함께 동작한다. 일례로서, 클러스터 표현 서브시스템은 일반적으로 동작 시스템, 특히, 사용자 인터페이스 및 객체들의 현재 클러스터들에서의 실행 메카니즘의 화면과 협조한다. 다른 예로서, 태스킹 소프트웨어 시스템이 사용자 인식 서브시스템을 포함하면, 이 서브시스템은 일반적으로, 예를 들어, (a) 등록 데이터(예를 들어, 성명, 생년월일, 패스워드 등), 생체 데이터(예를 들어, 음성 또는 지문(들), 압력, 손 온도 등) 및/또는 사용 서명(예를 들어, 각 사용자를 구별하는 이용 습관)과 같은 사용자 데이터가 저장되는 메모리 시스템, (b) 입력 기능부(예를 들어, 마이크로폰, 지문 스캐너, 압력 변환기 및 온도계), 및 (c) 임의의 부대 소프트웨어들(예를 들어, 기능들/동작들을 향상 또는 확장시키기 위한) 중 하나 이상을 포함하는 자원들과 협조한다. 또 다른 예로서, 태스킹 소프트웨어 시스템이 메카니즘 위치 결정 서브시스템을 포함하면, 이 위치 결정 서브시스템은 일반적으로, (a) 통신 기능부(예를 들어, 환경 장치들로부터의 순간 데이터 또는 글로벌 위치 결정 신호들을 수신하기 위한), (b) 신호 강도들(예를 들어, 일반적으로 삼각측정시 그에 기초한 환경에서의 위치 또는 환경을 결정하기 위한) 또는 GPS 데이터를 포함하는 정보를 획득 및 처리하기 위한 입력 및 처리 기능부, 및 (c) 임의의 부대 소프트웨어(예를 들어, 기능들/동작들을 향상 또는 확장시키기 위한)를 포함하는 자원들과 협조한다. (상술된 바와 같이, 사용자 인식 및/또는 위치 결정은 특히 실행 시스템 자원들과 함께 부대 소프트웨어에 의해 완전하게 실행될 수 있는 것으로 인식된다.)
상태 트래킹 서브시스템은 태스킹 소프트웨어 시스템이 콘택스트에 응답하는 태스크-연관 객체들의 클러스터링 동작들을 지원할 수 있도록 하기 위해 제공된다. 이러한 상태 트래킹 서브시스템은 실행 메카니즘과 협조하여, 선택된 상태들의 트래킹을 행한다. 트래킹된 상태들은 일반적으로, 예를 들어, 하나 이상의 환경 상태들, 장치 상태들 및 시스템 상태들을 포함한다. 또한, 트래킹된 상태들은 일반적으로 시간적 기준과 같은 다른 관련 기준에 대한 상태들을 포함한다. 상태 트래킹의 예들은 다음과 같다.
1. 환경 상태 트래킹
본 발명의 태스킹 시스템은 바람직하게 선택된 기준에 기초하여 각 환경 상태의 트래킹을 지원한다. 일반적인 기준은 이용 가능한 장치들의 형태들과 수, 및 선택된 물리적 또는 논리적 조건들을 포함한다. 이러한 후자의 기준은 일반적으로, 예를 들어, 시간, 일자, 온도 및 다른 기후 데이터, 노이즈 진폭 및 주파수들, 주변 광 조건들, 주변 공기 질(예를 들어, 탄소 일산화물/이산화물 부분 및/또는 스모크 입자 카운트에 의한), 다른 주변 조건들, 이용 가능한 네트워크 대역폭, 네트워크 전송 대기시간 및 전력 가용성 중 하나 이상을 포함한다.
2. 장치 상태 트래킹
본 발명의 태스킹 시스템은 바람직하게 각 환경 장치 상태의 트래킹을 지원한다. 이러한 트래킹은 선택된 기준에 의한 것이다. 일반적인 기준은, 예를 들어, (a) 활성인 장치를 포함하는 각 장치의 현재 상태, (b) 장치들간의 상관관계, (c) 장치의 또는 장치들간의 상태들, 기능들 및 동작들간의 상관관계, 및 (d) 역사적인 상관관계 및 트랜드를 포함한다.
이러한 트래킹의 범위는, 만약 있다면, 일반적으로 환경 장치의 클래스에 대응한다. 장치 클래스들은, 예를 들어, (1) 상태 정보가 실행 메카니즘과 통신하지 않는 쓰기-전용 환경 장치들(예를 들어, 광 스위치), (2) 상태 정보가 실행 메카니즘과 통신하는 읽기/쓰기 환경 장치들(예를 들어, 오디오/비주얼 장치들), (3) 상태 정보를 실행 메카니즘에 전송하는 읽기-전용 환경 장치들, 및 (4) 정보(예를 들어, 애플릿들 또는 프로그램들과 같은 신호들, 명령들, 데이터 및/또는 지시들)가 실행 메카니즘과 통신할 수 있도록 하는 지능형 환경 장치들(이러한 통신은 일반적으로 상태 정보를 포함한다)을 포함한다. 지능형 환경 장치들은 일반적으로 프로세서를 일체화하고, 실행 소프트웨어 코드에 기초하여 기능/동작할 수 있으며, 이러한 장치들은, 예를 들어, 컴퓨팅 장치 또는 시스템(예를 들어, 개인 정보 단말기), 인터넷 사이트, 임의의 자동차들 및 가전제품들, 및 임의의 통신 장치들을 포함한다.
3. 시스템 상태 트래킹
본 발명의 태스킹 시스템은 바람직하게 환경마다 자체적으로 시스템 상태의 트래킹을 지원한다. 이러한 트래킹은 선택된 기준에 따른다. 일반적인 기준은, 예를 들어, (a) 사용자(들), (b) 사용자 구성 기호들 및 기호들의 세트들(원래의 것 및 사용자 또는 시스템에 의해 갱신됨), (c) 각 사용자가 선택하거나 및/또는 선택하고자 하는 객체들 및 객체들의 세트들, (d) 특정 객체들 및 객체들 세트들의 선택 빈도, (e) 시스템 상태들과 다른 트래킹된 상태들간의 관계(예를 들어, 환경 상태들 및/또는 장치 상태들), (f) 현재 사용자, 현재 사용자 선택, 활성 클러스터, 활성 표현 및 활성 포맷들, 및 (g) 사용자 인터페이스 상태들 및 객체 선택과 연관된 메트릭들 중 하나 이상을 포함한다.
현재 사용자, 현재 사용자 선택, 활성 클러스터, 활성 표현 및 활성 포맷들은 다양한 목적들을 위해 트래킹될 수도 있다. 한 가지 목적은 특히 이용 사이클링, 배터리 교체(배터리 전원으로 지원되는 휴대용 동작을 가정한다) 및 전원 고갈과 같은 영속성을 지원하기 위한 것이다. 후자의 2가지 경우에, 상기 현재 및 활성 기준은 일반적인 문제점들을 극복하기 위해 트래킹된다. 그러나, 첫 번째 경우는 예를 들어, 메카니즘이 사용 중단 또는 종료 후 우선 이용될 때 어떻게 객체들이 제공되는 가에 관하여 실행시의 한 가지 해결책을 반영한다. 보다 구체적으로, 이 경우는 태스킹 시스템이 그 최근의 사용으로서 보급된 상태로 되돌아갈 수도 있다는 것을 반영한다. (동시에, 시간/일자 및 이용 패턴들에 기초하여 적절한 객체들을 제공하기 위해 생체 측정 또는 다른 인식 기능들을 포함하는 다른 해결책들을 이용 할 수 있다.)
사용자 구성 기호들이 바람직하게 지원된다. 그러나, 지원은 다양하게 실행될 수 있다. 일례로서, 사용자는 클러스터 조성, 클러스터 표현, 클러스터 포매팅 및 이외의 것들에 관한 기호들을 입력할 수 있다. 일 예에서, 사용자는 개별적인 또는 다수의 객체들("매크로 객체"와 독립적으로 또는 함께)을 정의할 수 있으며, 이 매크로 객체는 태스크들의 세트를 발생하며, 그에 의해 매크로 객체의 선택에 기초하여, 하나 이상의 환경 장치들이 이용시마다 연속적으로, 병렬로 또는 조합하여 태스킹된다(이러한 태스크 세트는 종종 본 명세서에서 "매크로"라고 함). 매크로들은 일반적으로 매크로의 모든 태스크들을 선택하기 위한 객체 작업들을 선택하도록 단일 매크로 객체와 연관된다. 일례로서, 매크로는 만약 선택되면, 바람직한 세팅을 위해 방의 조명을 어둡게 하고, TV 상태를 온으로 전환하고, TV를 특정 볼륨으로 특정 방송국으로 조정하는 매크로 객체를 제공하여 실행될 수 있으며, 이러한 태스크들은 자원들이 이용 가능함에 따라(예를 들어, 조명 및 TV를 실질적으로 동시에 또는 2개의 순서들 중 하나로) 연속적으로(예를 들어, TV 상태 및 방송국 태스크들) 또는 병렬로 이루어질 수 있다. (주석: 태스킹 시스템은 바람직하게 하나 이상의 매크로들의 태스크들이 환경으로부터의 충돌 정보에 기초하여 순간마다 중지 또는 종료될 수도 있도록 실행되며, 예를 들어, 상기 예의 조명들은 실행 메카니즘이 조명이 필요한 식사가 제공되는/소비되는 것을 감지하면 어두워지지 않는다.)
이러한 사용자 구성을 가능하게 하기 위한 방법들은 다양하다. 예들로는, (a) 사용자가 기호들을 구하고, 선택하며 구성하기 위해 인터페이스의 메뉴들, 서브메뉴들, 아이콘들 등을 통해 반복적으로 작업하는(예를 들어, 객체를 매크로 객체에 부가하고, 예를 들어, 연관된 객체들을 통해 하나 이상의 환경 장치의 태스크들을 디스에이블한다) 사용자 인터페이스를 실시하는 제 1 프로그램 모드, (b) 각 관련된 장치가 루트 윈도우에 디스플레이됨으로써, 임의의 적절한 순서로 객체들과 디바이스들 사이에서 반복되는 선택들이 상기 사용자로 하여금 기호들을 구성할 수 있도록 장치와 관련된 각 객체/태스크를 디스플레이하도록 임의의 하나의 상기 장치를 선택하는 제 2 프로그램 모드, (c) 사용자 선택들이 프로토콜들, 알고리즘들 또는 적용 가능한 다른 환경들(도움말 서브시스템과 관련한 이하 설명 참조)에 기초하여 검토되고 최적화되는(예를 들어, 순서화되는) 제 3 모드, 및 (d) 이들의 조합이 있다.
태스킹 시스템은 바람직하게 사용자 구성을 향상시키고 및/또는 사용자 구성 기호들을 갱신할 수 있다. 이러한 시스템 동작은 일반적으로 사용 이력, 예를 들어, 트래킹 사용자 선택들에 기초한다. 갱신 용량은 바람직하게 매크로 객체들에 적용할 수 있으며, 이러한 매크로 객체들은 사용자 정의된 또는 시스템 향상된 것이다. 전자의 경우, 태스킹 시스템은 사용자로 하여금 자체적으로 시스템에 의한 갱신으로부터 이렇게 정의된 매크로 객체들을 락(lock)할 수 있도록 하는 것이 바람직하다.
태스킹 시스템은 또한 바람직하게 각 사용자가 선택 및/또는 선택하고자 하는 객체들 및 객체들의 세트들, 및 특정 객체들 및 객체들의 세트들의 선택 빈도를 트래킹할 수 있다. 이러한 트래킹은 객체들, 상태들 및 이들의 세트들간의 상관관계를 나타내는 경향이 있다. 그렇게 나타낸 또는 다른 이용 가능한 임의의 이러한 상관관계들이 또한 트래킹된다. 이러한 상관관계들은 일반적으로 클러스터들의 조성, 표현 및 포매팅의 임의의 것과 같은 다른 클러스터링 동작들뿐만 아니라 시스템 생성된 매크로 객체들의 유틸리티를 갖는다. 일례로서, 하나의 객체의 선택에 이어, 또는 선택될 때마다, 제 2 객체는 항상 또는 적어도 자주 선택되도록 결정되며, 그 환경은 바람직하게 트래킹되고, 이에 응답하여 제 2 객체는, (a) 자동적으로 선택되거나, 또는 (b) 제 1 객체가 선택되는 경우에 화면에 일시적으로 디스플레이될 수 있다.
태스킹 시스템은 또한 메트릭들, 특히 태스킹 시스템의 효율성을 평가하기 위한 메트릭들을 트래킹할 수 있다. 이용시, 사용자는 일반적으로 사용자 인터페이스를 통해 클러스터들의 표현을 실시한다. 실시는 일반적으로 아이콘마다, 층마다 이루어지고, 사용자가 하나 이상의 원하는 태스크-연관 객체들에 도달하고 선택할 수 있도록 된다. 이 실시는 사용자 부분에서의 작용들/단계들의 수에 상관되며, 이러한 수는 사용자가 실시를 개시할 수도 있는 다양한 클러스터 표현들에 기초하여, 선택된 객체에 의해 변화하는 경향이 있다. 일 실시예에서, 태스킹 시스템은 환경 장치의 태스킹시 포함된 단계들이 미리 규정된 경로 또는 지정된 주기적 그래프 포맷에 뒤따르도록 실시됨으로써, 그래프 노드들간의 직접적인 점핑을 배제 또는 제어하거나, 또는 사용자가 허용해야 하는 드릴-다운 및 드릴-업 동작들의 양(amount of drill-down and drill-up operations)을 제한한다. 다른 실시예들에서, 적어도 임의의 객체들/태스크들에 관한 단계들의 수는 바람직하게 메트릭 트래킹을 통해 최소화된다. 후자의 예로서, 객체 A에 대해, 단계들의 수는 클러스터 표현 I, II 및 III로부터 시작하는 실시들에 기초하여 최소화될 것이며, "돈 캐어(don't care)" 표현 IV가 있고, 표현 V로부터 고정된다. 이 예에서, 메트릭 트래킹은 바람직하게 클러스터링 동작들이 최소화되도록 제공할 수 있으며, 다른 객체들에도 동일하거나 유사한 목적들을 갖게 한다. 부가적인 일례의 메트릭은 원하는 객체들의 선택과, 관련된 환경 장치(들)와 관련된 객체에 대한 다음의 탐색의 개시 사이에서 이러한 관련된 환경 장치(들)(또는, 환경 전체)를 즐기는 것과 관련된 시간에 대하여 이러한 바람직한 객체에 도달하여 선택하는데 걸리는 시간을 최소화하는 것을 포함한다.
4. 시간적 상태 트래킹
본 발명의 트래킹 시스템은 바람직하게 시간적 상태들의 트래킹을 지원한다. 이렇게 하기 위해, 태스킹 시스템은 일반적으로 사용자 선택들과 관련하여 포함하는 타이머들을 셋업하고 관리한다. 타이머들은, (a) 객체들의 하나 이상의 사용자 선택들, (b) 하나 이상의 태스킹 시스템 기능들/동작들, 및/또는 (c) 하나 이상의 환경 장치 기능들/동작들을 포함하여 경과된 시간을 트래킹한다. 이렇게 함으로써, 예를 들어, (i) 콘텍스트를 유지, (ii) 사용자 선택들 및 이들간의 상관관계의 특징화, (iii) 태스킹 시스템 및/또는 이와 관련된 태스킹의 성능 결정(예를 들어, 환경 장치(들) 또는 태스킹 시스템 자체 중 하나)을 포함하여 여러 가지 시도를 태스킹 시스템에 할 수 있다.
사용자 선택의 특징화는 바람직하게 적어도 관련하는 후속하는 또는 다른 부가적인 사용자 작용을 필요로 하는 사용자 선택들과 함께 지원된다. 만약, 사용자가 부가적인 작용이 필요한 이러한 객체를 선택하면, 소정의 경과된 시간 내에서의 필요한 작용의 부재는 망각 또는 에러로서 초기 선택을 특징화하기 위한 것으로 해석될 수도 있다. 이어서, 초기 선택이 이렇게 특징화되면, 태스킹 시스템은 바람직하게, (a) 주변의 사용자에게 알리거나, (b) 그 선택을 자동적으로 취소하거나, 또는 (c) 이들 모두(예를 들어, 임의의 시퀀스에서, 일반적으로 다른 타이머를 이용하여)를 행한다. 자동 취소는 사용자에 의한 수동 취소를 대체함으로써, 사용자 상호작용 노력을 줄일 수 있다. 또한, 예를 들어, 개시되거나/남아있는(또는, 부주의로 버려진) 태스크들을 무의식적으로 차단하도록 지시 받음으로써, 관련된 환경 장치(들)를 이전 상태(들), 또는 소정의 안전하고 안정한 상태, 또는 대기 상태로 복귀시키도록 작업할 수도 있다는 점에서 안전하게 한다.
태스킹 소프트웨어 시스템은 또한 바람직하게 실행 메카니즘과 함께 클러스터 조성 서브시스템을 지원한다. 클러스터 조성 서브시스템은 태스킹 소프트웨어 시스템으로 하여금 클러스터들을 조성 및 재조성할 수 있도록 한다. 이렇게 하기 위해서, 서브시스템은, (a) 실험적인 학습들 또는 이론적인 분석들을 통해 전개되는 상관관계, (b) 계통 알고리즘들, 인공 지능 또는 다른 제작 해결책, (c) 사용자에 의해 지정된 구성(예를 들어, 기호들), 및 (d) 이들과 다른 방식들의 조합을 이용함으로써 여러 가지 방식들을 이용할 수 있다. 상관관계 방식은 특히 환경들에 관하여 유용하며, 환경 장치들은 기능들 및 동작들을 예측할 수 있을 뿐만 아니라 이해할 수 있으며, 이러한 기능들/상관관계들은 객체들에 매핑된다. 이 매핑된 객체들은 태스킹 시스템의 판매/분배시 내장된(built-in) 클러스터(들)로서 제공될 수 있다. 또한, 장치들 및 여러 환경들에 적용 가능한 이러한 기능들/동작들 사이에서 상관관계들의 수, 깊이, 품질은 시장에서의 태스킹 시스템의 적합성에 따라 최적화될 수 있다. 이 최적화에 응답하여, 내장된 클러스터들은 태스킹 시스템들로의 분배를 위해 재조성될 수 있다. 이렇게 하기 위해, 일례로서, 클러스터링 동작 센터는, (i) 최적화된 클러스터들을 재조성하기 위해, 인터넷을 통한 다운로드들 또는 다른 통신들이 대다수의 태스킹 시스템들에 의해 개발되고 이용되는 클러스터들(표현들 및 포매팅들을 포함)을 수신하고 분석할 수 있으며, (ii) 인터넷을 통한 업로드들 또는 다른 통신들이 이러한 재조성된 클러스터들을 분배할 수 있는 것으로 고려된다.
더 설명하면, 클러스터 조성 서브시스템은 바람직하게 객체들의 영역에서의/내에서의 콘택스트적 비중에 기초하여 클러스터들을 조성한다. 이러한 비중은 일반적으로 시간적(예를 들어, 역사적, 현재, 유행 및 일시적) 측면들을 가지며, 예를 들어, (i) 객체들이 연관되는 태스크들, (ii) 환경들의 임의의 시퀀스, (iii) 이용 가능한 환경 장치들 또는 예측 가능한 환경 변화들에 의해 이용할 수 있게 될 수도 있는 장치들, (iv) 장치들의 상태들, (v) 사용자 및 사용자가 지정한 기호들, 및 (vi) 예를 들어, 관련 장치들 및 연관된 태스크들의 선택과 관련된 환경 및 예측 가능한 환경들에서의 사용자의 과거 행동에 따른 임의의 객체들간의 상관 중요도 및 흡인력에 의해 특징지어진다.
기본 예시에서, 특정 환경은 다수의 환경 장치들을 포함하는 것으로 가정한다. 이러한 환경 장치들은 가능하게는 사용자에 의해 선택될 수도 있는 비교적 다수의 기능들 및 동작들에 의해 집합적으로 특징화된다. 이 가능한 기능들 및 동작들 중, 임의의 비교적 소수의 기능들 및 동작들은 선택과 관련하여 휴대 가능한 것으로서 특징화된다. 휴대 가능한 기능들 및 동작들 중, 임의의 합리적으로 소수의 기능들 및 동작들이 선택과 관련하여 유용한 것으로서 특징화된다. 만약, 유용한 기능들 및 동작들의 수가 충분히 작다면, 이들은 일반적으로 객체들의 하나의 클러스터로서 조성될 수 있다. 유용한 기능들 및 동작들의 수가 다른 이유들(예를 들어, 편의성)과 더불어 충분히 작지 않다면, 다수의 클러스터들이 조성되는 것이 바람직하다. 클러스터들이 하나 이상의 유용한 기능들 및 동작들과 관련해 오버랩되도록 조성될 수 있음을 인식할 수 있다. 또한, 클러스터들은, (i) 하나 이상의 가능한 기능들/동작들, (ii) 하나 이상의 휴대 가능한 기능들/동작들, 및 (iii) 유용하고 휴대 가능한 기능들/동작들의 조합들을 포함하도록 조성될 수 있음을 인식할 수 있다.
또한, 클러스터 조성 서브시스템은 바람직하게 객체들의 영역 사이에서/내에서 콘택스트적 비중에 기초하여 클러스터들을 재조성한다. 재조성은 특히 콘택스트적 대상들의 변화들로 인해 여러 환경들 하에서 발생한다. 상기 예에서, 예를 들어, 다수의 클러스터들 중에 임의의 특정한 클러스터가 유용한 것에서 유용하지 않은 것으로 이동하거나 또는 그 역으로 이동하는 장치의 기능/동작에 기초하여 재조성될 수 있다. 다른 예로서, 환경에서 이용 가능한 장치들의 변화가 기능들 및 동작들을 부가하거나 또는 감소시키며, 따라서 하나 이상의 클러스터들로부터 객체들을 부가/감소시킬 수도 있다. 또한, 객체가 클러스터 내의 다른 객체들과 연관된 기능들/동작들과 밀접한 상관관계를 갖는 것으로 확인된 기능/동작에 대응하면, 객체는 클러스터에 부가될 수도 있다. 유사하게, 객체는 이러한 상관관계가 끝나면 클러스터로부터 제거될 수도 있다.
태스킹 소프트웨어 시스템은 또한 바람직하게 실행 메카니즘과 함께 클러스터 표현 서브시스템을 지원한다. 클러스터 표현 서브시스템은 클러스터의 객체들을 포매팅 및 표현하는 기능들을 지원한다. 클러스터 표현 서브시스템은 바람직하게 적응적이며 동적인 기반으로 콘텍스트에 응답하여 동작한다. 포매팅 및 표현 기능들은 본 발명의 원리들을 벗어나지 않고서, 임의의 환경들 하에서 태스킹 소프트웨어 시스템으로부터 생략될 수도 있음을 인식할 수 있다. 동시에, 포매팅 및 표현 클러스터의 객체들은 일반적으로 객체들의 클러스터 수가 실행 메카니즘의 화면 상에 효과적으로 디스플레이될 수 있는 것 이상으로 증가함에 따라 가장 중요함을 갖는다는 것을 인식할 수 있다.
포매팅 기능은 여러 가지 형태의 객체들에 의해 및 객체들 중에서 객체들을 구성하기 위해 제공된다. 일례로서, 활성 환경의 객체들(또는, 클러스터)은, (a) 선택된다면, 특정 환경 장치에 대한 특정한 태스크를 실행하는 태스킹 객체, (b) 선택된다면, 태스크들의 미리 규정된 태스크들의 세트를 실행하는 매크로 객체, (c) 활성 객체가 선택되면, 객체는 연관된 장치들의 각 객체들, 표현들, 다른 활동 객체들 등을 선택하기 위해 디스플레이되도록, 각 객체들, 하나 이상의 환경 장치들, 표현들 또는 활성화되는 다른 요소들에 의해 그룹화되는 활성 객체, (d) 선택되면 임의 수의 환경 장치들과 연관될 수도 있는 특정 태스크(예를 들어, 숫자 키 패드)를 제공하는 공통 객체, (e) 한 객체, 상대적으로 제한된 수의 태스킹 객체들, 매크로 객체들, 활성 객체들, 공통 객체들 및/또는 다른 폐쇄 네비게이션 객체들 하에서 선택하기 위해 그룹화되는 폐쇄 네비게이션 객체, 및 (f) 일부 또는 모든 매크로 객체들, 활성 객체들, 공통 객체들 및/또는 폐쇄 네비게이션 객체뿐만 아니라 한 객체, 상대적으로 큰 수의 상기 활성 환경의 태스킹 객체들(또는, 상기 환경의 최고 순위 또는 가장 관련되거나 또는 활성 클러스터의 태스킹 객체) 하에서 선택하기 위해 그룹화되는 개방 네비게이션 객체를 포함하는 객체 형태들에 의해/중에서 포매팅된다. 비활성 환경들(또는, 클러스터들)의 객체들에 관하여, 포매팅 기능은 여러 가지 객체 형태들에 의해 및 객체 형태들 중에서 구성하기 위해 제공되며, 이 객체 형태들은, 예를 들어, (a) 객체가 선택되면, 활성 객체가 각 환경들(클러스터들)의 객체들을 선택하기 위해 활성 객체를 디스플레이하도록, 활성화될 환경들(클러스터들)을 각 객체들에 의해 그룹화하는 환경 활성화 객체, 및 (b) 모든 환경 장치들에, 바람직하게는 선택된/모든 지원된 환경들에 모든 가능한 태스크들에 대한 액세스를 제공하는(예를 들어, 리스트 또는 아이콘을 통해) 탐색 객체를 포함한다. 메타-객체들에 관하여, 포매팅 기능은 여러 객체 형태들에 의해 및 객체 형태들 중에서 그 구성을 위해 제공되며, 이 객체 형태들은, 예를 들면, (a) 도움말 서브시스템에 대한 액세스를 제공하는 도움말 객체, (b) 선택들, 포맷들 및/또는 표현들(예를 들어, 앞으로(forward) 및/또는 뒤로(back) 아이콘) 중에서 이동을 위한 네비게이션 객체들, 및 (c) 그 실행 메카니즘 및/또는 그 태스킹 소프트웨어 시스템(예를 들어, 사용자가 TV 상에 표현을 디스플레이할 수 있도록 하는 소프트 버튼)에 적용 가능한 구성들 및 옵션들에 대한 및 옵션들에의 액세스를 제공하는 메뉴 객체를 포함한다. 임의의 특정 객체가 하나의 객체 형태보다 더 큰 것에 의해 및 큰 것 중에서 포매팅될 수도 있음을 인식할 수 있다.
상기 표현 기능은 일반적으로 포매팅된 객체 형태들에 의해 객체들을 디스플레이하기 위해 제공된다. 이렇게 디스플레이하는 객체들에서, 표현 기능은 일반적으로 객체들/객체 형태들을 선택적으로 나타낸다. 선택적 표현에서, 표현 기능은 바람직하게 최상의 유틸리티를 갖는 객체들/객체 형태들 및 다른 것들 사이에 디스플레이하도록 콘텍스트에 응답하여, 태스킹 시스템 및 환경 장치들간에 태스크들을 수행하는 태스킹 시스템과의 최소로 감소된 또는 최적으로 감소된 사용자 상호작용을 제공하도록, 사용자로 하여금 신속하고, 용이하고, 유쾌하게, 효율적으로 및 최적으로 원하는 적절한 객체들/객체 형태들을 선택할 수 있도록 한다. 또한, 표현 기능은, 예를 들어, 상관 배치, 시퀀싱, 오더링, 레이어링, 메뉴화, 조직화 및 순간성/영구성을 포함한 여러 가지 특징들을 지원한다. 이와 같이 하기 위해, 표현 기능은 OS의 사용자 인터페이스 능력들과 함께 동작하거나, 특히 이러한 능력이 없는 경우 독립적으로 동작한다. 후자의 경우, 표현 기능은 바람직하게 실행 메카니즘 상에서 동작하는 적절한 사용자 인터페이스를 지원하기 위한 자원들을 포함한다.
기본적인 설명을 계속하면, 환경 장치들은 다른 것들 중에서 TV와 VCR를 포함한다. 따라서, 유용한 태스크들의 한 클러스터는 2개의 장치들 모두를 온으로 전환하고, TV와 VCR(예를 들어, PIP(picture in picture)를 제공하기 위한 VCR 튜너)의 채널(들)을 조정하고, PIP를 인에이블/디스에이블하고, 볼륨을 설정하며, 2개의 장치들 모두를 오프(OFF)로 전환하는 태스크들을 포함한다. 콘텍스트에 기초하여, 2개의 장치들 모두는 이용시 동시에 온(또는, 오프)으로 전환되는 것으로 결정된다. 또한, 채널들은 숫자 키 패드 입력들을 통해 조정된다. 이렇게, 포매팅 기능은, TV/VTR 전환을 제공하기 위한 온/오프 매크로 객체, TV 및 VCR을 위한 각 활성 객체들, 채널 조정을 위한 숫자 키 패드를 제공하는 공통 객체, 볼륨 제어 및 PIP를 위한 각 태스킹 객체들, 및 다른 객체 형태들 중에서 및/또는 조합으로, PIP 태스킹 객체, TV 및 VCR 활성 객체들 및 온/오프 매크로 객체를 포함하는 하나 이상의 폐쇄 네비게이션 객체들을 제공할 수도 있다. 동작시, 실행 메카니즘의 사용자 검색시, 표현 기능은 바람직하게 메카니즘이 마지막으로 이용되었을 때(예를 들어, 트래킹 서브시스템의 시스템 상태 트래킹을 통해) 활성인 표현을 디스플레이한다. 따라서, 검색시 TV 및 VCR은 모두 오프 상태에 있게 된다. 따라서, 이 예에서 표현 기능은 다른 태스크가 관련되지 않을 때 온/오프 매크로 객체만 디스플레이할 수도 있다. 그러나, 상기 온/오프 매크로 객체가 선택되면, 본 예에서 표현 기능은 상술된 볼륨 제어 및 PIP 태스킹 객체들, TV 및 VCR 활성 객체들, 숫자 키 패드 공통 객체 및 폐쇄 네비게이션 객체를 디스플레이할 수도 있다. 이 표현에서, PIP 태스킹 객체는 순간적으로 디스플레이될 수도 있으며, 관련성 부적으로 인해, 온/오프 매크로 객체는 (폐쇄 네비게이션 객체에 포함될 수 있을지라도) 생략될 수도 있다. 사용자가, 만일 있다면, 채널들, PIP 및 볼륨의 선택들을 완료하면, 표현 기능은 온/오프 매크로 객체, 볼륨 제어 태스킹 객체, TV 및 VCR 활성화 객체들, 숫자 키패드 공통 객체 및 폐쇄 네비게이션 객체를 디스플레이할 수도 있다. 이 표현에서, 폐쇄 객체는 온/오프 매크로 객체는 생략하지만, PIP 태스킹 객체를 포함할 수도 있다.
표현 기능의 다른 예들은, (a) 활성 환경의 자동 출납 기기("ATM")의 이용시, 표현 시스템은 콘텍스트에 응답하는 객체 형태들을 선택적으로 디스플레이하고; 이에 따라, 사용자는 ATM을 활성 장치로 만드는 객체(들)를 선택할 수 있게 되고; 또한 예를 들어, 사용자의 계좌 번호 및/또는 패스워드를 포함한 어떤 소정의 "핸드 쉐이크(hand shake)" 코딩으로 실행 메카니즘이 ATM과 통신하도록 트리거하고; 핸드 쉐이크의 성공적인 확인으로, 표현 메카니즘은 특정 ATM에서 사용자의 예측된 선택을 강조하는 객체들/객체 형태들을 디스플레이하고(예를 들어, 상태 트래킹 서브시스템은 사용자가 이 ATM에서의 100달러를 인출하는 동작을 제한함을 표시한다); 동시에 ATM은 유사한 디스플레이(예를 들어, 태스킹 시스템 또는 다른 것의 분배 실행에 참여하는 것에 기초하여) 또는 다른 선택들을 제공하는 임의의 표준 디스플레이를 가질 수도 있고, 트랜잭션 중 또는 트랜잭션 완료 전, 후에, PDA는 바람직하게 선택된 트랜잭션에 대한 계산에 도움을 주기 위해 사용자의 금융 소프트웨어 애플리케이션을 (예를 들어, 후면에서) 호출하며, 이러한 소프트웨어는 다른 환경 장치를 포함하며, (b) 일요일, 오후에 TV를 포함한 환경에서, 실행 메카니즘의 검색 및 TV에서의 전환은 NFL 풋볼을 보여주는 방송 채널을 자동적으로 선택하도록 표현 시스템을 트리거하고, (이전의 활성 표현의 속성에도 불구하고) 또한 볼륨을 자동적으로 설정하고 상태 트래킹 서브시스템을 통해 식별된 예측된 콘텍스트에 응답하여 객체들 및 객체 형태들의 표현을 구현한다.
태스킹 소프트웨어 시스템은 또한 바람직하게 실행 메카니즘과 함께 전이 서브시스템을 지원한다. 전이 서브시스템은 활성 상태에서의 클러스터들 사이에서의, 또는 활성 클러스터의 포맷들/표현 사이에서의 전이를 지원한다. 전이 시스템은, 예를 들어, (a) 새로운 환경을 활성 환경으로서 렌더링함으로써, (b) 활성 환경 내의 주위 변화에 의하여(예를 들어, 어두움에 응답하여, 전이 서브시스템은 조명 조정을 위해 하나 이상의 태스킹 객체들을 우선적으로 디스플레이하기 위해 표현 서브시스템을 트리거한다), (c) 새로운 환경 장치를 활성 환경 장치로서 렌더링함으로써, (d) 활성 환경 장치로부터의 입력에 의해, (e) 활성 사용자에서의 변화에 의해, (f) (상기에 계속해서 기본적인 설명으로 나타낸 것과 같이) 객체/객체 형태의 사용자 선택에 의해, 및 (g) 이 입력들의 조합들에 의해 다양하게 트리거된다. 트리거되어 전이를 수행하는 경우에, 전이 서브시스템은, 예를 들어, 클러스터 표현 서브시스템을 포함한 하나 이상의 서브시스템들과 협조한다.
태스킹 소프트웨어 시스템은 또한 바람직하게 실행 메카니즘과 함께 발견 서브시스템을 지원한다. 발견 서브시스템은 발견 기능을 제공하며, 이러한 기능은 시스템으로 하여금, (a) 환경 장치의 가용성을 발견하고 환경 장치들과의 통신 능력을 수립하고, 및/또는 (b) 환경 장치의 불가용성을 발견하고 환경 장치들과의 통신 능력을 중단/종료할 수 있도록 한다. 발견 기능은 로밍, 스캐닝, 폴링, 인터럽트 핸들링 또는 이외의 것들을 제공함으로써 다양하게 실행할 수 있다(이렇게 하기 위해, 레거시 장치들과 함께 부가적인 하드웨어/소프트웨어가 예측되고, 예를 들어, 특정 장치와 연관된 통신 장치가 연관된 장치의 전력 소비를 제어/모니터하여, 장치가 이에 기초하여 발견될 수 있도록 한다). 또한, 이러한 발견 기능은, 예를 들어, 연속적으로, 실질적으로 연속적으로, 일정한 간격으로 및/또는 선택된 이벤트들에 응답하여 다양하게 호출될 수 있다. 발견 기능은 환경 장치들의 가용성(또는 이것이 부족함)의 판단으로 복귀한다. 이렇게, 발견 기능은 일반적으로 그들의 발견을 지원하기 위해 태스킹 시스템과 호환 가능한 환경 장치들에 의존한다.
환경 장치가 활성 환경에서 "발견되지 않음(not discovered)"으로 되는 경우, 태스킹 소프트웨어는 일반적으로 이러한 장치와 연관된 임의의 무관한 객체들을 디스에이블하거나, 그렇지 않으면 렌더링하는 것을 제공한다. 이렇게 디스에이블된 또는 렌더링된 무관한 객체들은 일반적으로 디스플레이되지 않거나, 심지어는 디스플레이가 불가능하여, 객체들은 사용자와 마주하거나 화면의 제한된 치수를 이용하지 못하게 된다. (태스킹 소프트웨어 시스템은, 예를 들어, 클러스터들을 재조성하고, 중단/종료된 객체들이 그 안에 존재하지 않는 경우에만 클러스터가 활성이 되도록 인에이블하거나 및/또는 표현 서브시스템의 포매팅 및/또는 표현 기능들을 호출하는 등 다양한 방식으로 상기 결과를 달성할 수 있다).
기본적인 예시를 계속하면, 환경 장치들은 다른 것들 중에서 TV와 VCR을 포함하지만, VCR은 수리를 위해 보내진다. 이러한 경우에, 발견 기능이 호출될 때(트리거와 상관없이), VCR은 가용하지 않은 것으로 발견될 것이다. 이러한 경우에, 태스킹 시스템은 일반적으로, (i) VCR 특정 객체들/객체 형태들을 디스에이블/종료하고, (ii) 필요에 따라 클러스터들을 재조성하고, (iii) 필요에 따라 객체 형태들에 의해 또는 객체 형태들 중에서 객체들을 구성 또는 재구성하고, 및/또는 (iv) 새로운 클러스터, 포맷 또는 표현을 활성화시킨다. 그러나, VCR 객체들은 일반적으로 예를 들어, VCR로부터의 소개 메시지(introductory message)의 수신을 통해 또는 그 결과를 실행하기 위한 사용자 상호작용을 통해 태스킹 시스템이 VCR을 재발견할 때까지만 디스에이블/종료 상태로 남게 될 것이다.
발견 서브시스템은 또한 소개 기능(introduction function)을 지원할 수도 있고, 이러한 기능은 시스템으로 하여금 환경 장치들로/로부터의 정보를 "자신에 알 수 있도록(get-to-know-me)" 통신할 수 있도록 한다. 소개 기능은, 지원된다면, 바람직하게 이러한 정보의 통신을 관리한다. 또한, 이 정보는 바람직하게, 예를 들어, 태스킹 시스템과 환경 장치간에 태스킹 지원을 인에이블하는 다른 것들 중에서 이 목적을 위해 기능 상태들/상태 전이 다이어그램 및/또는 다른 것들을 포함한다.
태스킹 소프트웨어 시스템은 또한 바람직하게 실행 메카니즘과 함께 도움말 서브시스템을 지원한다. 도움말 서브시스템은 태스킹 시스템과의 사용자 상호작용을 지원한다. 예를 들어, 도움말 서브시스템은, 기존의 클러스터들 및 설명된 클러스터링 방식들에 대한 이러한 구성을 분석하고, 이러한 분석에 기초하여 마찰 및 다른 문제점들을 식별하며, 태스킹 시스템의 적절하고 효율적인 이용을 통해 피드백/피드-포워드를 제공하는 사용자의 구성 기호들에 관한 사용자 상호작용을 지원한다. 다른 예로서, 도움말 서브시스템은 매크로 생성, 개정, 삭제 등에 관한 사용자 상호작용을 지원한다.
태스킹 소프트웨어 시스템은 또한 바람직하게 다른 서브시스템들을 지원한다. 이 다른 서브시스템들은 다양하게 제공될 수 있다. 예로서, 상술된 사용자-인식 서브시스템 및 메카니즘 위치 결정 서브시스템을 포함한다. 부가적인 예의 서브시스템은 주변 환경 상태들(예를 들어, 온도, 압력, 조도, 대기중 화학적/입자 농도 등)에 관한 데이터의 획득 및 처리를 제공한다. 상술된 바와 같이, 이 서브시스템들 중 일부/모두는, 특히, 실행 시스템 자원들과 함께 부대 소프트웨어를 이용하여 (예를 들어, 서브시스템의 능력들을 향상 또는 확장시키기 위해) 전체적으로 또는 부분적으로 실행될 수 있다는 것이 인식될 것이다.
C. 다양한 예시 측면들, 특징들 및 실시예들
태스킹 소프트웨어 시스템은 객체 지향 소프트웨어 프로그램에서의 통합 소프트웨어 객체 또는 분산 소프트웨어 객체들의 집합으로서, 또는 단일 통합 소프트웨어 프로그램 또는 다른 것으로 실행될 수 있다. 이러한 관점에서, 태스킹 소프트웨어 시스템은 하나의 물리적 위치 또는 유닛에서 또는 환경에서의 또는 환경과 연관된 다수의 물리적 위치들/유닛들에서 실행될 수 있다.
태스킹 소프트웨어 시스템의 이용은 태스킹 시스템이 환경 장치와 통합될 수 있도록 한다. 실제로, 태스킹 소프트웨어 시스템이 하나 이상의 컴퓨팅 장치들에서 동작하면, 태스킹 시스템은 하나 이상의 환경 장치들과 통합될 수 있다. 예시적으로, 태스킹 시스템의 컴퓨팅 장치는 태스킹 소프트웨어 시스템을 작동시키는 개인 정보 단말기("PDA")일 수 있다. 이러한 경우에, 환경 장치들은, 예를 들어, TV, VCR 등과 같은 외부 장치들뿐만 아니라 운영 체제, 선택된 응용 프로그램들, 통신 스택 및 주변 장치들을 포함할 수 있다.
일 실시예에서, 태스킹 시스템들은 핸드-헬드형 인자들 및 상업적으로 콤팩트한 화면 치수들을 갖는 실행 메카니즘들을 통해 실행된다. 이러한 실행 메카니즘들은 PDA들 외에 리모트 제어 장치들(본 명세서에서는 "리모트"라고 함)을 포함한다. 리모트 제어 장치들의 경우에, 태스킹 시스템의 태스크들은 일반적으로 환경 장치들에 제어 명령들을 전송함으로써 수행된다. 다른 경우에, 태스킹 시스템의 태스크들은 일반적으로 상기 시스템 자체적으로 또는 환경 시스템 장치들 중 어느 하나 또는 모두와 관련된 기능들 및 동작들을 수반할 수도 있고, 이로써 태스킹 시스템과 임의의 적용 가능한 환경 장치들 사이에서 명령들 및 다른 태스크-관련 정보를 통신함으로써 수행될 수도 있다.
다른 실시예들에 있어서, 태스킹 시스템들은 핸드-헬드형 인자들 이외의 다른 것을 갖는 실행 메카니즘들을 이용하여 실행될 수도 있다. 이때, 실행 메카니즘들의 화면 치수들은 일반적으로 제한됨으로써 객체들의 디스플레이가, 예를 들어, 장치 가용성 및 소정의 연속 동작 제약들에서의 불확실성, 환경 장치들과의 연관의 불명료성, 객체 배열, 객체 수 등으로 인해 문제점이 발생할 수 있다.
본 발명에 따른 태스킹 시스템은 단일 실행 메카니즘을 통한 것 외에 다른 것을 이용하여 실행될 수도 있다. 일례로서, 태스킹 시스템은 본 발명의 원리를 벗어나지 않는 범위 내에서, 제 1 실행 메카니즘과 부가적인 실행 메카니즘들의 조합, 하나 이상의 다른 외부 컴퓨팅 장치들, 다른 컴퓨터 시스템(들) 및/또는 네트워크 자원들을 통해 또는 네트워크 자원들 사이에서 기능들 및 동작들의 분배에 의해 실행될 수도 있다. 다른 예로서, 태스킹 시스템은 환경 장치들, 특히 지능적 환경 장치들에/사이에서 그 기능들/동작들의 분배를 지원하도록 구현될 수도 있다.
예시적으로, 태스킹 시스템은 클러스터링 동작들을 포함한 태스킹 시스템의 동작들을 하나 이상의 환경 장치들에 분배하도록 구성될 수 있다. 이를 위해, 트래킹 시스템은 선택되어 트래킹된 상태 데이터를 실행 메카니즘으로부터 환경 장치(들)에 전달한다. 한 경우에 있어서, 환경 장치는, (i) 통신되는 데이터를 분석하고, (ii) 하나 이상의 클러스터링들을 확인, 변경, 생성 또는 삭제하고, (iii) 태스킹 시스템의 클러스터링들을 갱신(또는 오버라이트)하도록 이러한 결과들을 실행 메카니즘에 전송한다. 특정 예로서, 매크로-관련 태스크들은 임의의 매크로 객체가 태스킹 시스템과 함께 실행되기 전에, 구성, 편집 및 테스팅하기 위해 하나 이상의 환경 장치들에 분배될 수도 있다.
일반적으로, 태스킹 시스템은 하나 이상의 환경 장치들과 관련된 태스크들을 실행한다. 그러나, 태스킹 시스템이 자체적으로, 즉 하나 이상의 환경 장치들에 의해 태스킹되도록 지원하기 위해 실행될 수 있다. 이러한 경우에, 수용 가능한 것으로 공지된 것 또는 임의의 시간적 기반(예를 들어, 매번 또는 때때로)으로 사용자에 의해 수용되는 것에 대한 태스크들을 제한함으로써, 이러한 태스킹이 적절하게 제어되는 것이 바람직하다.
태스킹 시스템의 이러한 태스킹을 인에이블할 때, 상호 태스킹이 신호들로 확장하는 정보의 통신에 의해 포함하여 고려된다. 이러한 관점에서, 상호 태스킹은 환경 장치들을 에뮬레이트하기 위해 태스킹 시스템, 특히 실행 메카니즘을 인에이블한다. 일례로서, 전화 통신 장치를 갖춘 환경에서, 마이크로폰 및 스피커를 갖는 PDA를 이용하여 실행되는 태스킹 시스템은 휴대 전화를 에뮬레이트할 수 있고, PDA 화면에 디스플레이되는 객체들/객체들 형태들을 통해 사용자에 의해 액세스되는 태스크들(예를 들어, 호출자 ID, 다이얼링, 응답 기기로의 라우팅, 스크리닝(screening) 등)로 완료된다. 또한, PDA가 인터넷 클라이언트(예를 들어, 브라우저)를 갖고 사용자가 적절한 계정을 갖고 있다면, 태스킹 시스템은 인터넷, 월드 와이드 웹 및/또는 다른 네트워크들에 액세스할 수 있다.
도면
이하에서 도 1을 참조하면, 본 발명에 따른 실행 메카니즘(100)이 예시된다. 실행 메카니즘(100)은 객체 선택(들)에 기초하여 태스킹 시스템 및 환경 장치들 사이에서 태스크들을 수행하기 위한 여러 가지 자원들을 포함한다. 상기 자원들은 바람직하게 다음을 포함한다. (a) 처리 기능부(102); (b) 메모리 시스템(104)(본 명세서에서는 종종 "메모리"라고 함)으로서, 하나 이상의 캐시 메모리, 동적 랜덤 액세스 메모리, 대용량 기억부, 보조 기억부 등을 포함하며, 처리 기능부(102)와 연결되어 처리 기능부(102)가 메모리(104)로부터 판독 또는 메모리(104)에 기록될 수 있도록 하는, 메모리 시스템(104); (c) 사용자들이, 예를 들어, 태스크(들)와 연관된 객체들/객체 형태들의 선택들을 입력하도록 각 처리 기능부(102)와 각각 연결된 입력 기능부(106); (d) 객체들/객체 형태들을 디스플레이하기 위한 처리 기능부(102) 및 사용자 인터페이스에 연결된 화면(108); (e) 하나 이상의 환경 장치들과 통신하기 위해 처리 기능부(102)에 연결되는 통신 기능부(110); (f) (메모리(104)와 함께, 바람직하게는 상주하여) 운영하기 위해 처리 기능부(102)에 연결된 운영 체제(112)(예를 들어, 유닉스, 리눅스, 윈도우 NT 등)로서, 상기 소프트웨어는 소프트웨어(예를 들어, 종래의 응용 소프트웨어)를 포함하는, 운영 체제(112); (f) (메모리(104)와 함께, 바람직하게는 상주하여) 운영하기 위해 처리 기능부(102)에 연결된 부대 소프트웨어(114)로서, 상기 소프트웨어는, 예를 들어, 하나 이상의 사용자 인식하고, 실행 메카니즘의 위치를 결정하고, 주변 환경 상태들(예를 들어, 온도, 압력, 조도, 대기중 화학적/입자적 농도 등)을 획득/처리하기 위한 기능들과 같이, 이하의 태스킹 소프트웨어 시스템과 관련한 기능들을 제공하거나 강화/확장하는, 부대 소프트웨어(114); (h) (메모리(104)와 함께, 바람직하게는 상주하여) 운영하기 위해 처리 기능부(102)에 연결된 태스킹 소프트웨어 시스템(116)으로서, 태스킹 소프트웨어는, 상태들의 트래킹을 위해, 콘텍스트에 응답하여 동적으로 및 적응적으로 클러스터링 동작들을 수행하기 위해, 본 발명에 따른 태스킹 시스템을 실행하기 위해 제한없이 제공되는, 태스킹 소프트웨어 시스템(116).
실행 메카니즘(100)은 또한 여러 가지 다른 자원들을 포함할 수도 있다. 이러한 다른 자원들은, 일례로서, 오디오 스피커 또는 프린터와 같이, 처리 기능부(102)에 연결되는 하나 이상의 부가 출력 기능부(118)를 포함한다. 또한, 실행 메카니즘(100)은 다른 실행 메카니즘들 및/또는 컴퓨팅 장치들 또는 시스템들과 협조하여(즉, 환경 장치들 이외에 메카니즘(100)과 상호 작용하는 이러한 메카니즘들, 장치들 및 시스템들) 작업할 수 있다. 이러한 협조 작업은 예시되지 않는다.
입력 기능부(106)는 사용자 선택들이 화면(108)을 터치하여 활성화될 수 있는 화면(108)(예를 들어, 접촉-감지식 LCD)과 결합될 수도 있다. 대안적으로 또는 부가적으로, 입력 기능부(106)는 (예를 들어, 마우스 또는 펜과 같은) 포인팅 장치, 하드 버튼들, 마이크로폰, 키 패드 등 또는 이들의 조합들을 제한없이 포함할 수 있다. 도 1에 도시된 같이, 입력 기능부(106)는 처리 기능부(102)에 연결되어, 입력, 특히, 객체들/객체 형태들의 사용자 선택들이 일반적으로 다른 자원들과 함께 처리 기능부(102)에 의해 수신되고 처리될 수 있도록 한다. 처리는 이에 응답하여 다른 자원들의 구성을 활성화시키거나 변경시키는 여러 가지 기능들/동작들을 포함할 수도 있다(예를 들어, 화면(108) 상에 디스플레이되는 객체들/객체 형태들의 표현을 변경하거나, 부가적인 출력 기능부(118)를 턴 온 또는 오프시키거나, 통신 기능부(110)를 통해 정보를 통신하거나 또는 메모리(104)에 정보를 저장한다).
이하에서 도 2를 참조하면, 레이아웃(200)은 통신 기능부(110)를 통한 실행 메카니즘(100)과 환경 장치들(202) 사이에서의 통신을 예시한다. 일반적으로, 실행 메카니즘(100)으로부터의 통신은 정보를 신호(204)에/로서 패키징하고, 상기 정보를 신호(204)로서 환경 장치(202)에 전송하는 것을 포함한다. 그러나, 환경 장치들의 임의의 클래스들이 정보를 전송할 수 있도록 됨에 따라, 통신 기능부(110)는 일반적으로 이러한 정보를, 예를 들어, 환경 장치로부터 전송된 신호(204)로서 수신할 수 있도록 실행된다. 실행 메카니즘(100)과 환경 장치들(202) 사이에서 통신되는 정보는 오디오/비디오/전화통신 신호들, 애플릿들 또는 다른 실행 가능한 프로그램들, 제어 명령들, 상태 데이터, 이들의 조합 또는 이외의 것과 같은 하나 이상의 신호들, 명령들, 데이터 및/또는 지시들을 포함할 수 있다.
환경 장치들의 클래스들은, 예를 들면, (1) 상태 정보를 실행 메카니즘(100)과 통신시키지 않는 쓰기-전용 환경 장치들(202a); (2) 상태 정보를 실행 메카니즘(100)과 통신시키는 읽기/쓰기 환경 장치들(202b); (3) 상태 정보를 실행 메카니즘(100)에 전송하는 읽기-전용 환경 장치들(202c); (4) 실행 메카니즘(100)으로/으로부터 정보(예를 들어, 신호들, 명령들, 데이터 및/또는 지시들)를 통신할 수 있도록 하는 지능형 환경 장치들(202d)을 포함하며, 이러한 통신은 상태 정보를 포함한다.
이하에서 도 3을 참조하면, 실행 메카니즘(100)의 화면(300)이 도시된다. 화면(300)은 예시적 사용자 인터페이스를 디스플레이한다. 사용자 인터페이스는, 본 명세서에서 상술된 바와 같이, 운영 체제 및/또는 태스킹 소프트웨어 시스템의 클러스터 표현 서브시스템에 의해 지원된다.
도시된 바와 같이, 사용자 인터페이스는 여러 영역들로 세분되어 구성된다. 영역들은 하부 영역(302), 하부 중간 영역(304), 상부 중간 영역(306) 및 상부 영역(308)을 포함한다. 세분화가 도시되었지만, 사용자 인터페이스는 본 발명의 원리를 벗어나지 않는 범위 내에서 다른 방법으로 구성될 수 있음을 인식할 수 있다.
영역들(302 내지 308)은 다양한 예시적 객체 형태들을 포함한다. 하부 영역(302)은, 선택되면, 태스킹 객체들(313)의 문자 그룹(312)(또는, 태스킹 객체들(315)의 아이콘 그룹(314))을 디스플레이하는 활성 객체(310)를 포함하는 것으로 도시되어 있다. 여기서, 그룹화된 태스킹 객체들(313/315) 각각은 TV, VCR, DVD, CD를 포함하는 각 환경 장치에 대응한다. 태스킹 객체들(313/315) 각각은, 선택되면, 대응하는 장치의 활성화를 실행한다. 도시된 바와 같이, 활성 환경 장치는 활성 객체(310)의 범례로 나타낸 바와 같이 TV이다.
하부 영역(302)은 또한 공동 객체(316)를 포함하는 것으로 도시되어 있다. 공통 객체(316)는, 선택되면, 임의의 수의 환경 장치들과 연관될 수도 있는 특정 태스크를 수행한다. 도시된 바와 같이, 공통 객체(316)는 숫자 키 패드 기능부와 연관되어, 공통 객체가 선택되면, 가상 키 패드(318)가 여러 가지 태스킹 객체들(319)을 포함한 것으로 디스플레이된다. 이 태스킹 객체들(319)이 적절한 조합으로 선택되면, 활성 환경 장치에 대하여 태스크가 수행된다. 여기서, 활성 환경 장치는 TV이며, 따라서, 태스킹 객체들(319)을 통한 번호들의 입력은 TV 채널 선택을 의미한다.
또한, 하부 영역(302)은, 선택되면, 매크로 객체들(323)의 문자(또는 아이콘) 그룹(322)을 디스플레이하는 폐쇄 네비게이션 객체(320)를 포함하는 것으로 도시되어 있다. 여기서, 그룹화된 매크로 객체들(323) 각각은 PLAY MOVIE, PLAY CD ROMANTIC 및 DISHWASHER NORMAL 매크로들로 범례 표시된 것과 같은 각 매크로에 대응한다. 매트로 객체들(323) 각각은, 선택되면, 대응 매크로의 활성화를 수행한다. 또한, PLAY MOVIE 매크로에 대해 도시된 바와 같이, 클러스터 표현 서브시스템은 매크로 뷰(324)를 디스플레이하도록 구성될 수 있으며, 상기 뷰는 선택된 매크로의 태스크들의 세트를 묘사한다. 일 실시예에서, 뷰(324)는 단지 아이콘들/텍스트를 포함한다. 여기서는, PLAY MOVIE 매크로 객체가 선택되고, 태스크들이 연속적으로 VCR 활성화, TV 활성화 및 조명의 어두워짐을 포함함을 나타내는 아이콘들이 디스플레이된다. 다른 실시예들에서, 클러스터 표현 서브시스템은 매크로 뷰(324)를 디스플레이하도록 구성될 수 있다는 것을 인식할 수 있으며, 선택된 매크로의 태스크들의 세트는 태스킹 객체들(324a)로서 설명된다. 이러한 경우에, VCR, TV 및 조명 태스킹 객체들(324a) 각각은, 선택되면, 사용자-할당된 태스크(또는 매크로 객체들로서 셋업된 경우의 태스크들)를 수행할 수 있다.
하부 영역(302)은 또한 환경 활성화 객체(326)를 포함하는 것으로 도시되어 있다. 환경 활성화 그룹은, 선택되면, 태스킹 객체들(329)의 아이콘/문자 그룹(328)을 디스플레이하며, 각 태스킹 객체들(329)은 지원되는 환경에 각각 대응한다. 여기서, 지원되는 환경들은 가정(예를 들어, 집 아이콘), 침실(예를 들어, BR), 부엌(예를 들어, K), 차고(예를 들어, G)를 포함한다. 이 태스킹 객체들(329) 각각은, 선택되면, 대응하는 환경의 활성화를 수행한다.
일 실시예에서, 환경 태스킹 객체(329)의 선택은 바람직하게, 사용자가 선택된 환경에 물리적으로 존재하지 않을 때, 이러한 환경에 대한 개방 네비게이션 객체(329a)의 디스플레이를 제공한다. 개방 네비게이션 객체(329a)는 바람직하게 선택된 환경을 나타내는 적절한 범례를 포함한다. 또한, 개방 네비게이션 객체(329a)는, 선택되면, 일부 또는 모든 연관된 매크로 객체들, 활성화 객체들, 공통 객체들 및/또는 폐쇄 네비게이션 객체들뿐만 아니라 비교적 다수의 상기 선택된 환경의 태스킹 객체들(또는, 환경의 최상위 순서 또는 가장 많이 관련된 클러스터의 태스킹 객체들)의 디스플레이를 할 수 있다. 이러한 디스플레이는 바람직하게, 영역들(302 내지 308) 모두/대부분을 소비하지 않도록 스크롤링, 알파벳 룩-업(look-up) 등에 의해 인에이블된다.
도시된 바와 같이, 환경 활성화 객체(326)는 활성 환경을 식별하기 위해 생략된다. 그러나, 이러한 식별은 본 발명의 원리를 벗어나지 않는 범위 내에서 지원될 수 있다.
상부 영역(308)은 도움말 객체(330) 및 폐쇄 네비게이션 객체(332)를 포함하는 예시적 객체 형태들을 포함하는 것으로 도시되어 있다. 도움말 객체(330)는, 예를 들어, 매크로 특징들을 액세스/이용하기 위해 태스킹 시스템과 관련된 툴들을 제공한다. 폐쇄된 네비게이션 객체(332)는, 선택되면, 태스킹 객체들(도시되지 않음)의 문자(또는 아이콘) 그룹을 디스플레이하며, 각각의 이러한 객체는 긴급 응답 유닛들을 위한 각 전화 번호에 대응하며, 이러한 전화 번호는 자동적으로 다이얼된다(연관된 테이프 진행 메시지의 재생을 포함한다). 긴급 응답 유닛들은 일반적으로 "911" 응답, 소방서, EMS, 의사(들), 가족 구성원들 등을 포함한다.
상부 영역(308)은 네비게이션 객체들(334, 336) 및 활성화 객체(338)를 포함하는 다른 예시적 객체 형태들을 포함하는 것으로 도시되어 있다. 상기 네비게이션 객체들(334, 336)은 객체들의 표현(들)을 통해 사용자 선택으로 백 및 포워드 전송하는 것을 제공한다. 이와 같이, 네비게이션 객체들은, 선택되면 입력들을 전이 서브시스템에 제공한다.
활성화 객체(338)는, 선택되면, 각 사용자(들)에 대응하는 태스킹 객체들의 문자/아이콘 그룹을 디스플레이한다. 다음에, 이 태스킹 객체들 각각은 선택되면, 활성 사용자에 관한 클러스터들, 표현들 및 포맷들의 활성화를 실행한다.
도시된 바와 같이, 활성화 객체(338)는 활성 사용자를 식별하기 위해 생략한다. 그러나, 이러한 식별은 본 발명의 원리들을 벗어나지 않는 범위 내에서 지원될 수 있다. 상부 영역(308)은 또한 메뉴 객체(340)를 포함하는 것으로 도시되어 있다. 메뉴 객체(340)는, 선택되면, 예를 들어, TV 화면과 같은 선택된 제 2 화면 상에 사용자 인터페이스 및 객체 형태들의 디스플레이를 수행한다. 이러한 제 2 화면은 일반적으로 화면(300) 보다 크고 밝다. 태스킹 시스템은 바람직하게, 메뉴 객체가 선택되면, 제 2 화면 상에서의 커서의 디스플레이를 지원하고, 상기 커서는 키들, 포인팅 장치 또는 실행 메카니즘에 의해 제공되는 하드나 소프트인 이외의 것에 의해 제어된다.
도 3에 도시된 바와 같이, 여러 가지 객체 형태들은 독특한 형상을 갖는다. 적절한 범례들(문자, 아이콘 등) 및/또는 칼라, 각 객체의 형태들 및 이들의 각 애플리케이션들과 함께 구별될 수 있는 것으로 고려된다.
이하에서 도 4를 참조하면, 화면(100)은 전이시 3개의 표현들(400, 402, 416)을 디스플레이하는 것을 도시한다. 표현(400)에 있어서, 객체 형태들은 실행 메카니즘이 마지막으로 이용되었을 때 활성이었던 표현을 반영한다(예를 들어, 트래킹 서브시스템의 시스템 상태 트래킹을 참조함으로써). 이 경우에는, 최종 활성 환경 장치는, 활성화 객체(310)로 표시된 것과 같이, TV이다.
사용자가 활성화 객체(310) 및 그의 VCR 태스킹 객체(313/315) 모두를 선택한다고 가정하면, VCR이 활성 환경 장치가 된다. 따라서, 클러스터 표현 서브시스템은 전이 서브시스템과 함께 활성 VCR을 반영하도록 디스플레이되는 객체 형태들을 갱신한다.
따라서, 표현(402)이 디스플레이된다. 표현(402)은 활성 VCR에 특정한 매크로 객체들(도시되지 않음)을 포함하는 폐쇄 네비게이션 객체(406)를 포함한다. 표현(402)은 또한 활성 VCR에 특정한 태스킹 객체들(도시되지 않음)을 포함하는 환경 활성화 객체(408)를 포함한다. 표현(402)은, VCR 및 TV 모두의 오프 상태에 기초하기 때문에, 객체들이 디스플레이되는 하부 중간 영역(304)에 모두 배치되는 TV 온 태스킹 객체(410) 및 VCR 온 태스킹 객체(412)를 더 포함한다. 표현(402)은 또한 바람직하게 텍스트 메시지(414)로서 태스킹 시스템의 현재 상태의 문자 통지를 포함한다.
사용자가 VCR 온 태스킹 객체(412)를 선택하면, 표현(416)이 디스플레이된다. 표현(416)은, 예를 들어, 활성 환경 장치인 VCR에 관련된 태스크들과 연관된 다수의 태스킹 객체들을 포함한다. 보다 구체적으로, 표현(416)은 (VCR 튜너의) 채널들을 선택하기 위해 다양한 태스킹 객체들(421)을 포함하는 가상 키 패드(420)를 포함한다. 또한, 표현(416)은 정지, 재생, 멈춤, 이젝트, 기록, 빨리감기, 되감기, 세팅 및 채널 업 또는 다운을 포함하는 VCR 기능들/동작들과 연관된 다수의 태스킹 객체들(418)을 포함한다. 디스플레이되는 객체 형태들은 본 명세서에서 설명된 것과 다를 수 있으며, 이러한 형태들의 디스플레이는 바람직하게 태스킹 소프트웨어 시스템의 다른 서버시스템들 및 실행 메카니즘의 자원들과 함께 상기 클러스터 표현 서브시스템에 의해 관리된다는 것을 인식해야 한다.
이 기술 분야에 숙련된 사람들은 상기의 설명 및 실시예들이 제한적인 것이 아니라 예시적인 것임을 알 수 있을 것이다. 이 기술 분야에 숙련된 사람들은 본 발명의 원리를 설명하기 위해 설명 및 예시된 부분들 및 단계들의 구성을 통해 본 명세서에 포함된 내용 및 청구범위의 사상 및 범주를 벗어나지 않는 범위 내에서 여러 가지 변형들 및 응용들을 할 수 있음을 이해하여야 한다.
삭제

Claims (17)

  1. 태스크-연관 객체들(318, 320, 322, 323, 324, 326, 328, 329, 330, 332, 334, 336, 338, 340)의 사용자 선택과 연관된 태스크들을 수행하기 위해 제공되고 환경과 연관되는 실행 메카니즘(100)으로서, 상기 환경은 하나 이상의 환경 장치들(202)을 포함하는, 상기 실행 메카니즘에 있어서:
    태스크-연관 객체들의 디스플레이를 지원하는 사용자 인터페이스 기능부(118), 환경 장치들(202)과의 통신을 가능하게 하는 통신 기능부(110), 태스크-연관 객체들의 디스플레이를 가능하게 하는 디스플레이 기능부(108), 및 태스크-연관 객체들의 사용자 선택을 가능하게 하는 입력 기능부(106)를 포함하는 자원들; 및
    상태 트래킹(state tracking) 서브시스템, 클러스터 조성(cluster formulation) 서브시스템, 클러스터 표현(cluster presentation) 서브시스템 및 전이(transition) 서브시스템을 포함하는 태스킹 소프트웨어 시스템(116)을 포함하고,
    상기 상태 트래킹 서브시스템은 콘텍스트 결정을 지원하고,
    상기 클러스터 조성 서브시스템은 클러스터들을 조성하고, 각 클러스터는 선택된 객체들을 포함하고, 상기 조성은 상기 상태 트래킹 서브시스템에 의해 결정된 상기 콘텍스트에 응답하고,
    상기 클러스터 표현 서브시스템은 상기 상태 트래킹 서브시스템에 의해 결정된 상기 콘텍스트에 응답하여 활성 클러스터의 태스크-연관 객체들의 포매팅 및 표현을 지원하고,
    상기 전이 서브 시스템은 클러스터 사이에서의 전이 및 활성 클러스터의 포맷들/표현들 사이에서의 전이들을 지원하고,
    상기 태스킹 소프트웨어 시스템(116)은 콘텍스트에 응답하여 상기 디스플레이 기능부를 통해 태스크-연관 객체들의 클러스터들을 디스플레이하고, 임의의 이러한 객체의 선택에 의해, 사용자가 하나 이상의 환경 장치들에 관한 태스크를 활성화시킬 수 있도록 하기 위해, 자원들과 협조하여 동작하는, 실행 메카니즘.
  2. 제 1 항에 있어서,
    상기 클러스터 조성 서브시스템은 콘텍스트에 응답하여 적응적이고 동적으로 상기 클러스터들을 재조성하는, 실행 메카니즘.
  3. 제 1 항에 있어서,
    상기 클러스터 표현 서브시스템은, 콘텍스트에 응답하여 적응적이고 동적으로, 상기 객체들의 포매팅 및 표현을 지원하는, 실행 메카니즘.
  4. 제 1 항에 있어서,
    상기 전이 서브시스템은 활성 상태에 대해 클러스터들 간의 전이들을 지원하는, 실행 메카니즘.
  5. 제 1 항에 있어서,
    상태 트래킹 서브시스템은 환경, 장치, 시스템, 및 시간적 상태들(temporal states) 중 적어도 하나에 관한 데이터를 수집함으로써 콘텍스트 결정을 지원하는, 실행 메카니즘.
  6. 제 1 항에 있어서,
    상기 태스킹 소프트웨어 시스템은 환경 장치들의 발견을 지원하는 객체 발견 서브시스템(116)을 더 포함하는, 실행 메카니즘.
  7. 제 6 항에 있어서,
    상기 객체 발견 서브시스템은 소개 기능을 지원하며, 상기 소개 기능은 환경 장치들과의 "자신을 알리는(get-to-know-me)" 정보의 통신을 가능하게 하는, 실행 메카니즘.
  8. 제 1 항에 있어서,
    부대 소프트웨어(114)를 더 포함하고,
    상기 부대 소프트웨어(114)는, (a) 사용자 인식 및 인증, (b) 주변 환경 상태들에 관한 데이터의 획득과 처리, 및 (c) 그 환경에서 상기 실행 메카니즘의 물리적 위치의 결정에 대한 데이터의 획득 및 처리 중 적어도 하나를 가능하게 하는, 실행 메카니즘.
  9. 제 1 항에 있어서,
    상기 태스킹 소프트웨어 시스템(116)은 분배기능부를 포함하고,
    상기 분배기능부는 제 1 실행 메카니즘, 부가적 실행 메카니즘들, 하나 이상의 환경 장치들, 하나 이상의 다른 외부 컴퓨팅 장치들, 다른 컴퓨터 시스템(들) 및 네트워크 자원들 사이에서 태스킹 소프트웨어 시스템 및 그 서브시스템들의 하나 이상의 기능들 및 동작들의 분배를 제공하는, 실행 메카니즘.
  10. 제 1 항에 있어서,
    상기 자원들 및 태스킹 소프트웨어 시스템(116)은 상기 디스플레이 기능부 에 의해 디스플레이되는 객체들의 사용자 선택 또는 하나 이상의 환경 장치들에 의한 상기 실행 메카니즘의 태스킹을 지원하기 위해 협조하는, 실행 메카니즘.
  11. 제 10 항에 있어서,
    상기 자원들 및 태스킹 시스템(116)은 상기 실행 메카니즘이 하나 이상의 환경 장치들(202)을 에뮬레이트할 수 있도록 협조하는, 실행 메카니즘.
  12. 제 1 항에 있어서,
    태스크-연관 객체는 매크로 객체를 포함하고, 상기 매크로 객체는, 만일 선택되면, 하나 이상의 환경 장치들의 상태를 변경할 수 있는, 실행 메카니즘.
  13. 제 1 항에 있어서,
    매크로 객체는 사용자 정의되거나 사용자 사용 패턴으로부터 시스템-생성되는, 실행 메카니즘.
  14. 실행 메카니즘 상에서 실행되는 방법에 있어서:
    디스플레이 기능부를 통해 다수의 태스크 연관 객체들을 표현하는 단계로서, 각 객체는 각 환경 장치에 대응하고 콘텍스트와 관련되어 있는, 상기 표현 단계;
    객체를 선택하는 단계; 및
    상기 표현된 객체들의 콘텍스트-관련도(context-relevancy)를 유지하면서 상기 선택된 객체와 연관된 하나 이상의 태스크들을 실행하는 단계;
    응답에 기초하여, 상기 환경 장치들의 현재 상태를 결정하기 위해 상기 환경 장치들을 폴링(polling)하는 단계; 및
    이렇게 결정된 상기 현재 상태를 명시하기 위해 상기 표현된 객체들을 갱신하는 단계를 포함하는, 실행 방법.
  15. 삭제
  16. 제 14 항에 있어서,
    상기 실행 단계는,
    환경 장치에 신호를 전송하는 단계로서, 상기 신호는 상태를 변경하거나 또는 상태 변경을 수행하기 위한 명령들의 세트를 실행하도록 상기 환경 장치에 명령하는, 상기 전송 단계; 및
    상기 표현된 객체들의 콘텍스트-관련도를 유지하기 위해 상기 객체 선택을 반영하도록 상기 표현된 객체들을 갱신하는 단계를 포함하는, 실행 방법.
  17. 제 16 항에 있어서,
    환경 장치들로부터의 정보에 기초하여 상기 실행 메카니즘의 물리적 위치를 결정하기 위해, 상기 환경 장치들로부터 정보를 수신하는 단계; 및
    상기 결정된 물리적 위치에 기초하여 상기 객체들의 표현을 갱신하는 단계를 더 포함하는, 실행 방법.
KR1020007009235A 1998-12-21 1999-12-09 시스템과 그 환경 장치들간에 태스크를 수행하기 위한태스크-연관 객체들의 클러스터링 방법 KR100657778B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/217,414 US6848104B1 (en) 1998-12-21 1998-12-21 Clustering of task-associated objects for effecting tasks among a system and its environmental devices
US09/217,414 1998-12-21

Publications (2)

Publication Number Publication Date
KR20010041179A KR20010041179A (ko) 2001-05-15
KR100657778B1 true KR100657778B1 (ko) 2006-12-15

Family

ID=22810982

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007009235A KR100657778B1 (ko) 1998-12-21 1999-12-09 시스템과 그 환경 장치들간에 태스크를 수행하기 위한태스크-연관 객체들의 클러스터링 방법

Country Status (5)

Country Link
US (2) US6848104B1 (ko)
EP (1) EP1055167A1 (ko)
JP (2) JP2002533802A (ko)
KR (1) KR100657778B1 (ko)
WO (1) WO2000038039A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100963212B1 (ko) 2007-07-20 2010-06-16 브로드콤 코포레이션 이동 장치의 애터마이징 기능을 위한 방법 및 시스템
KR20120071163A (ko) * 2010-12-22 2012-07-02 엘지전자 주식회사 이동 단말기 및 그 동작 제어 방법

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9513744B2 (en) 1994-08-15 2016-12-06 Apple Inc. Control systems employing novel physical controls and touch screens
US20090322499A1 (en) 1995-06-29 2009-12-31 Pryor Timothy R Programmable tactile touch screen displays and man-machine interfaces for improved vehicle instrumentation and telematics
US7831930B2 (en) * 2001-11-20 2010-11-09 Universal Electronics Inc. System and method for displaying a user interface for a remote control application
US7412538B1 (en) * 1999-03-30 2008-08-12 Sony Corporation Request event manager and event lists for home and office systems and networks
US9130651B2 (en) * 2010-08-07 2015-09-08 Joseph Akwo Tabe Mega communication and media apparatus configured to provide faster data transmission speed and to generate electrical energy
US8234650B1 (en) * 1999-08-23 2012-07-31 Oracle America, Inc. Approach for allocating resources to an apparatus
JP2001125846A (ja) * 1999-10-26 2001-05-11 Fujitsu Ltd 電子装置及び記憶媒体
SE9904008D0 (sv) * 1999-11-03 1999-11-03 Abb Ab Förfarande vid maskin
JP4576675B2 (ja) * 2000-06-30 2010-11-10 ソニー株式会社 制御システム、制御機器及びサーバ
JP2002157632A (ja) * 2000-11-22 2002-05-31 Fujitsu Ltd ネットショッピング方法、そのシステム及び自動振込機
US7185290B2 (en) * 2001-06-08 2007-02-27 Microsoft Corporation User interface for a system and process for providing dynamic communication access and information awareness in an interactive peripheral display
JP2004535023A (ja) * 2001-07-06 2004-11-18 コンピュータ アソシエイツ シンク,インコーポレイテッド オブジェクトベースのクラスタを管理するためのシステム及び方法
US20030028872A1 (en) * 2001-08-03 2003-02-06 Rajko Milovanovic System and method for real-time non-participatory user recognition and content provisioning
US6966033B1 (en) * 2001-09-28 2005-11-15 Emc Corporation Methods and apparatus for graphically managing resources
US7444309B2 (en) * 2001-10-31 2008-10-28 Icosystem Corporation Method and system for implementing evolutionary algorithms
GB2384395A (en) * 2002-01-19 2003-07-23 Hewlett Packard Co Personal article capable of receiving specified items or data
US7174551B2 (en) * 2002-05-20 2007-02-06 International Business Machines Corporation Multiple task wait system for use in a data warehouse environment
DE10242784B4 (de) * 2002-09-14 2005-08-18 Roche Diagnostics Gmbh Modulares Analysesystem und Verfahren zur Bestimmung der Topologie eines modularen Analysesystems
US20040080547A1 (en) * 2002-10-24 2004-04-29 Toshiba Tec Kabushiki Kaisha Input unit and allocation method of menu item for use in input unit
US7269633B2 (en) * 2002-12-06 2007-09-11 International Business Machines Corporation Method and system for playback of dynamic HTTP transactions
JP3800626B2 (ja) * 2003-01-30 2006-07-26 ソニー株式会社 制御装置および方法、情報処理装置および方法、記録媒体、並びにプログラム
WO2004090692A2 (en) * 2003-04-04 2004-10-21 Icosystem Corporation Methods and systems for interactive evolutionary computing (iec)
US7333960B2 (en) 2003-08-01 2008-02-19 Icosystem Corporation Methods and systems for applying genetic operators to determine system conditions
US7356518B2 (en) * 2003-08-27 2008-04-08 Icosystem Corporation Methods and systems for multi-participant interactive evolutionary computing
US7818317B1 (en) * 2003-09-09 2010-10-19 James Roskind Location-based tasks
US7330112B1 (en) * 2003-09-09 2008-02-12 Emigh Aaron T Location-aware services
WO2005091182A2 (de) * 2004-03-19 2005-09-29 Roger Humbel Alles-schlüssel bzw. einstell software liste in handy (pass-partout) für funk-fahrrad-schlösser, autos, häuser, rfid-tags mit zulassungs- und zahlungsverkehrs-funktion „all in one remote key“ (aiork)
WO2005116833A1 (en) * 2004-05-21 2005-12-08 Computer Associates Think, Inc. Method and apparatus for dynamic cpu resource management
WO2005116828A2 (en) * 2004-05-21 2005-12-08 Computer Associates Think, Inc. Method and apparatus for dynamic memory resource management
JP3832664B2 (ja) * 2004-06-28 2006-10-11 シャープ株式会社 遠隔操作装置、操作装置、遠隔操作装置の遠隔操作方法、操作プログラム、及び記録媒体
EP1782285A1 (en) * 2004-07-06 2007-05-09 Icosystem Corporation Methods and apparatus for query refinement using genetic algorithms
US7707220B2 (en) * 2004-07-06 2010-04-27 Icosystem Corporation Methods and apparatus for interactive searching techniques
US20100231506A1 (en) * 2004-09-07 2010-09-16 Timothy Pryor Control of appliances, kitchen and home
US8185427B2 (en) 2004-09-22 2012-05-22 Samsung Electronics Co., Ltd. Method and system for presenting user tasks for the control of electronic devices
US8099313B2 (en) 2004-09-22 2012-01-17 Samsung Electronics Co., Ltd. Method and system for the orchestration of tasks on consumer electronics
US8412554B2 (en) 2004-09-24 2013-04-02 Samsung Electronics Co., Ltd. Method and system for describing consumer electronics using separate task and device descriptions
US7881945B2 (en) * 2004-09-28 2011-02-01 Dell Products L.P. System and method for managing data concerning service dispatches involving geographic features
US20060074764A1 (en) * 2004-09-28 2006-04-06 Dell Products L.P. Apparatus and system for monitoring and managing equipment and services
US20060069578A1 (en) * 2004-09-28 2006-03-30 Dell Products L.P. System and method for managing data concerning service dispatches
US8510737B2 (en) 2005-01-07 2013-08-13 Samsung Electronics Co., Ltd. Method and system for prioritizing tasks made available by devices in a network
US8069422B2 (en) 2005-01-10 2011-11-29 Samsung Electronics, Co., Ltd. Contextual task recommendation system and method for determining user's context and suggesting tasks
US7689175B2 (en) * 2005-01-21 2010-03-30 Sony Corporation Configurable frequency band elimination for powerline network
US20060241957A1 (en) * 2005-04-22 2006-10-26 Dell Products L.P. Proactive support process using case activity rate
US20060247942A1 (en) * 2005-04-29 2006-11-02 Dell Products L.P. Method, system and apparatus for object-event visual data modeling and mining
US8205013B2 (en) 2005-05-02 2012-06-19 Samsung Electronics Co., Ltd. Method and system for aggregating the control of middleware control points
JP2006350826A (ja) * 2005-06-17 2006-12-28 Toshiba Corp 制御装置および制御方法
US8423323B2 (en) * 2005-09-21 2013-04-16 Icosystem Corporation System and method for aiding product design and quantifying acceptance
US20070081696A1 (en) * 2005-09-22 2007-04-12 Technology Licensing Corporation Biometric control for kitchen appliance
US8104033B2 (en) 2005-09-30 2012-01-24 Computer Associates Think, Inc. Managing virtual machines based on business priorty
US8225313B2 (en) * 2005-10-19 2012-07-17 Ca, Inc. Object-based virtual infrastructure management
JP4823717B2 (ja) * 2006-02-28 2011-11-24 株式会社日立製作所 暗号通信システム、端末状態管理サーバ、暗号通信方法、および端末状態管理方法
US8028283B2 (en) 2006-03-20 2011-09-27 Samsung Electronics Co., Ltd. Method and system for automated invocation of device functionalities in a network
JP4715577B2 (ja) * 2006-03-22 2011-07-06 船井電機株式会社 リモコン装置
US20070261055A1 (en) * 2006-05-04 2007-11-08 Samsung Electronics Co., Ltd. Method and system for the generic and flexible access of available tasks through a user interface
US7483978B2 (en) * 2006-05-15 2009-01-27 Computer Associates Think, Inc. Providing a unified user interface for managing a plurality of heterogeneous computing environments
US20070298866A1 (en) * 2006-06-26 2007-12-27 Paolo Gaudiano Methods and systems for interactive customization of avatars and other animate or inanimate items in video games
US7849079B2 (en) * 2006-07-31 2010-12-07 Microsoft Corporation Temporal ranking of search results
US7685199B2 (en) * 2006-07-31 2010-03-23 Microsoft Corporation Presenting information related to topics extracted from event classes
US7577718B2 (en) * 2006-07-31 2009-08-18 Microsoft Corporation Adaptive dissemination of personalized and contextually relevant information
US8106742B2 (en) * 2006-08-04 2012-01-31 Tegic Communications, Inc. Remotely controlling one or more client devices detected over a wireless network using a mobile device
US8910044B1 (en) 2006-08-22 2014-12-09 Aaron T. Emigh Playlist incorporating tags
US20080163119A1 (en) * 2006-12-28 2008-07-03 Samsung Electronics Co., Ltd. Method for providing menu and multimedia device using the same
US20080163053A1 (en) * 2006-12-28 2008-07-03 Samsung Electronics Co., Ltd. Method to provide menu, using menu set and multimedia device using the same
US8310337B2 (en) * 2007-01-05 2012-11-13 Monster Cable Products, Inc. State sensing for a remote control
US7792816B2 (en) * 2007-02-01 2010-09-07 Icosystem Corporation Method and system for fast, generic, online and offline, multi-source text analysis and visualization
US7844460B2 (en) * 2007-02-15 2010-11-30 Motorola, Inc. Automatic creation of an interactive log based on real-time content
DE102007015788B3 (de) * 2007-03-30 2008-10-23 Fm Marketing Gmbh Multimedia-Einrichtung und Verfahren zur Datenübertragung bei einer Multimedia-Einrichtung
JP4483891B2 (ja) * 2007-04-02 2010-06-16 フェリカネットワークス株式会社 情報処理端末、データ移動方法、およびプログラム
US20080250316A1 (en) * 2007-04-04 2008-10-09 Honeywell International Inc. Mechanism to improve a user's interaction with a computer system
EP2001223B1 (de) 2007-06-04 2016-09-21 fm marketing gmbh Multimedia-Anordnung
US8478747B2 (en) * 2008-06-05 2013-07-02 Samsung Electronics Co., Ltd. Situation-dependent recommendation based on clustering
US20090055739A1 (en) * 2007-08-23 2009-02-26 Microsoft Corporation Context-aware adaptive user interface
US8166052B2 (en) * 2007-10-22 2012-04-24 Samsung Electronics Co., Ltd. Situation recognition for recommendation using merge-split approach
US8171035B2 (en) * 2007-10-22 2012-05-01 Samsung Electronics Co., Ltd. Situation-aware recommendation using correlation
US8019782B2 (en) * 2007-10-22 2011-09-13 Samsung Electronics Co., Ltd. Situation-aware recommendation using limited cluster sizes
US20090123004A1 (en) * 2007-11-14 2009-05-14 Jonathan Otto Method and system for automated volume adjustments for a marketing system
US8397207B2 (en) * 2007-11-26 2013-03-12 Microsoft Corporation Logical structure design surface
US20090178010A1 (en) * 2008-01-06 2009-07-09 Apple Inc. Specifying Language and Other Preferences for Mobile Device Applications
US20090177966A1 (en) * 2008-01-06 2009-07-09 Apple Inc. Content Sheet for Media Player
CN101946238B (zh) 2008-02-22 2012-11-28 惠普开发有限公司 检测传感器联网环境中的异常
US7979426B2 (en) 2008-06-05 2011-07-12 Samsung Electronics Co., Ltd. Clustering-based interest computation
US20090327915A1 (en) * 2008-06-27 2009-12-31 International Business Machines Corporation Automatic GUI Reconfiguration Based On User Preferences
US20100052853A1 (en) * 2008-09-03 2010-03-04 Eldon Technology Limited Controlling an electronic device by way of a control device
US8977974B2 (en) 2008-12-08 2015-03-10 Apple Inc. Ambient noise based augmentation of media playback
US20100299517A1 (en) * 2009-05-22 2010-11-25 Nuvon, Inc. Network System with a Plurality of Networked Devices with Various Connection Protocols
KR20100135145A (ko) * 2009-06-16 2010-12-24 삼성전자주식회사 원격제어장치 및 그의 디스플레이방법
US9542833B2 (en) * 2009-09-10 2017-01-10 Traxxas Lp Automatic determination of radio control unit configuration parameter settings
US8995927B2 (en) * 2009-09-10 2015-03-31 Traxxas Lp Communication between a receiver and a transmit controller
US8890664B2 (en) * 2009-11-12 2014-11-18 At&T Intellectual Property I, L.P. Serial programming of a universal remote control
TWI392366B (zh) * 2009-12-31 2013-04-01 Ind Tech Res Inst 全周鳥瞰影像距離介面產生方法與系統
JP2011139405A (ja) 2010-01-04 2011-07-14 Sony Corp 情報処理装置、情報処理方法、プログラム、制御対象機器および情報処理システム
JP5617246B2 (ja) * 2010-01-12 2014-11-05 ソニー株式会社 画像処理装置、物体選択方法及びプログラム
US9004977B2 (en) 2010-05-05 2015-04-14 Traxxas Lp Auxiliary user interface for a transmit controller
US10276148B2 (en) * 2010-11-04 2019-04-30 Apple Inc. Assisted media presentation
TWI462571B (zh) * 2011-09-29 2014-11-21 Ind Tech Res Inst 控制電器裝置的內容驅動輸入裝置與方法
US9062820B2 (en) 2011-10-31 2015-06-23 Traxxas Lp Holder mechanism for a multi-function electronic device
US9333437B2 (en) 2011-10-31 2016-05-10 Traxxas Lp Modular transmit controller
US9808730B2 (en) 2011-10-31 2017-11-07 Traxxas Lp Multi-function electronic device-enabled transmit controller
US9743357B2 (en) * 2011-12-16 2017-08-22 Joseph Akwo Tabe Energy harvesting computer device in association with a communication device configured with apparatus for boosting signal reception
JP2014197779A (ja) * 2013-03-29 2014-10-16 株式会社ニコン 電子機器
KR102052971B1 (ko) * 2013-05-14 2020-01-08 엘지전자 주식회사 지문 스캔너를 포함하는 포터블 디바이스 및 그 제어 방법
US10715611B2 (en) * 2013-09-06 2020-07-14 Adobe Inc. Device context-based user interface
CN104807134B (zh) * 2014-01-26 2017-06-30 广东美的制冷设备有限公司 空调运行模式自定义控制方法及系统
JP2016046735A (ja) * 2014-08-25 2016-04-04 シャープ株式会社 制御装置、制御システム、制御装置の制御方法、および制御プログラム
CN104503248B (zh) * 2014-11-21 2019-03-29 小米科技有限责任公司 任务设置方法和装置
JP7136632B2 (ja) * 2018-08-31 2022-09-13 東芝ライフスタイル株式会社 遠隔操作装置及びプログラム
JP2019149802A (ja) * 2019-03-28 2019-09-05 株式会社ニコン 電子機器びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0626635A2 (en) * 1993-05-24 1994-11-30 Firstperson, Inc. Improved graphical user interface with method and apparatus for interfacing to remote devices
US5410326A (en) * 1992-12-04 1995-04-25 Goldstein; Steven W. Programmable remote control device for interacting with a plurality of remotely controlled devices
EP0801342A2 (en) * 1996-04-09 1997-10-15 International Business Machines Corporation Mobile computing with location/motion sensitive user interface

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014092A (en) * 1987-10-14 2000-01-11 Universal Electronics Inc. Key mover
US5367316A (en) 1990-03-27 1994-11-22 Matsushita Electric Industrial Co., Ltd. Remote-control apparatus for electronics apparatus
US5590831A (en) 1994-10-19 1997-01-07 Whirlpool Corporation Menu driven remote control for a room air conditioner
JPH08314680A (ja) 1995-05-22 1996-11-29 Yokogawa Electric Corp 表示装置
JP3774276B2 (ja) * 1996-09-12 2006-05-10 株式会社日立コミュニケーションテクノロジー 移動電話端末を利用した室内機器制御システム
US6130726A (en) * 1997-03-24 2000-10-10 Evolve Products, Inc. Program guide on a remote control display
US6084951A (en) 1997-04-23 2000-07-04 Nortel Networks Corporation Iconized name list
US6208347B1 (en) * 1997-06-23 2001-03-27 Real-Time Geometry Corporation System and method for computer modeling of 3D objects and 2D images by mesh constructions that incorporate non-spatial data such as color or texture
US6198479B1 (en) * 1997-06-25 2001-03-06 Samsung Electronics Co., Ltd Home network, browser based, command and control
US7047554B1 (en) * 1998-12-09 2006-05-16 Intel Corporation System and method for integrating and controlling audio/video devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410326A (en) * 1992-12-04 1995-04-25 Goldstein; Steven W. Programmable remote control device for interacting with a plurality of remotely controlled devices
EP0626635A2 (en) * 1993-05-24 1994-11-30 Firstperson, Inc. Improved graphical user interface with method and apparatus for interfacing to remote devices
EP0801342A2 (en) * 1996-04-09 1997-10-15 International Business Machines Corporation Mobile computing with location/motion sensitive user interface

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100963212B1 (ko) 2007-07-20 2010-06-16 브로드콤 코포레이션 이동 장치의 애터마이징 기능을 위한 방법 및 시스템
KR20120071163A (ko) * 2010-12-22 2012-07-02 엘지전자 주식회사 이동 단말기 및 그 동작 제어 방법
KR101688157B1 (ko) * 2010-12-22 2016-12-20 엘지전자 주식회사 이동 단말기 및 그 동작 제어 방법

Also Published As

Publication number Publication date
US6848104B1 (en) 2005-01-25
WO2000038039A1 (en) 2000-06-29
JP2011259482A (ja) 2011-12-22
US20050149870A1 (en) 2005-07-07
JP2002533802A (ja) 2002-10-08
KR20010041179A (ko) 2001-05-15
EP1055167A1 (en) 2000-11-29
US7681194B2 (en) 2010-03-16

Similar Documents

Publication Publication Date Title
KR100657778B1 (ko) 시스템과 그 환경 장치들간에 태스크를 수행하기 위한태스크-연관 객체들의 클러스터링 방법
US20230041125A1 (en) User interface for audio message
US8310335B2 (en) Network-based access and control of home automation systems
CN105634881B (zh) 应用场景推荐方法及装置
Shafer et al. Interaction issues in context-aware intelligent environments
US20040148419A1 (en) Apparatus and method for multi-user entertainment
US20140172123A1 (en) User terminal apparatus, network apparatus, and control method thereof
CN104298554A (zh) 管理多任务应用程序的方法及装置
CN113766292A (zh) 显示设备及内容接续方法
JP2012502553A (ja) システムを遠隔的に操作するためのタッチセンシティブ・ワイヤレスデバイス、及びオンスクリーンディスプレイ
CN107992263A (zh) 一种信息分享方法及移动终端
CN105137788B (zh) 提供ui的显示装置和系统及提供显示装置的ui的方法
KR20070115623A (ko) 태스크 지향 범용 리모트 컨트롤 사용자 인터페이스의 방법
CN108415642A (zh) 一种显示方法及移动终端
CN109508136A (zh) 一种应用程序的显示方法及移动终端
US20020078445A1 (en) Internet appliance for interactive audio/video display using a remote control unit for user input
CN110045890A (zh) 应用标识的显示方法及终端设备
KR20130046482A (ko) 기본 화면 제어 방법 및 이를 지원하는 단말기
CN108347642B (zh) 一种视频播放方法及移动终端
WO2016123847A1 (zh) 应用控制方法及装置
CN113542488A (zh) 采用终端设备控制受控终端的方法、设备和存储介质
CN114077227A (zh) 页面切换方法、装置、场景控制面板、设备及存储介质
CN109040415A (zh) 一种显示内容的方法及终端
CN109408119A (zh) 一种应用程序的标记方法和终端设备
WO2022100252A1 (zh) 一种显示设备

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
FPAY Annual fee payment

Payment date: 20121126

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131125

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141124

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee