KR101508401B1 - 소비자 전자 제품들의 활동-기반 제어를 위한 시스템들 및 방법들 - Google Patents

소비자 전자 제품들의 활동-기반 제어를 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR101508401B1
KR101508401B1 KR1020107000895A KR20107000895A KR101508401B1 KR 101508401 B1 KR101508401 B1 KR 101508401B1 KR 1020107000895 A KR1020107000895 A KR 1020107000895A KR 20107000895 A KR20107000895 A KR 20107000895A KR 101508401 B1 KR101508401 B1 KR 101508401B1
Authority
KR
South Korea
Prior art keywords
transition
consumer electronic
electronic devices
user
devices
Prior art date
Application number
KR1020107000895A
Other languages
English (en)
Other versions
KR20100018078A (ko
Inventor
폴 크르지자노우스키
Original Assignee
아이디8 그룹 알2 스튜디오스, 인크.
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 아이디8 그룹 알2 스튜디오스, 인크. filed Critical 아이디8 그룹 알2 스튜디오스, 인크.
Publication of KR20100018078A publication Critical patent/KR20100018078A/ko
Application granted granted Critical
Publication of KR101508401B1 publication Critical patent/KR101508401B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/30User interface
    • G08C2201/33Remote control using macros, scripts
    • 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/202Circuits for coupling gramophone pick-up, recorder output, or microphone to receiver by remote control

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Selective Calling Equipment (AREA)
  • Details Of Television Systems (AREA)

Abstract

본 발명은 소비자 전자 디바이스들의 상태와 무관한 다수의 소비자 전자 디바이스들의 활동-기반 제어를 위한 장치, 시스템들 및 방법들을 제공한다. 일 실시예에서 소비자 전자 디바이스들을 제어하기 위한 리모트 컨트롤 장치는 사용자 인터페이스, 소비자 전자 디바이스 인터페이스, 천이-기반 제어기 및 제어 로직을 포함한다. 천이-기반 제어기는 상태 정보를 계속 유지하는 것과 무관하게 다수의 소비자 전자 디바이스들을 제어하는 천이 명령들을 생성한다. 천이 명령은 소비자 전자 디바이스들을 하나의 사용자 경험으로부터 또 다른 사용자 경험으로 천이시키기 위해 송신될 수 있는 미리 정의된 시퀀스의 소비자 전자 디바이스 명령들을 포함한다. 소비자 전자 디바이스들의 상태와 무관한 다수의 소비자 전자 디바이스들의 활동-기반 제어를 위한 방법이 또한 제공된다.

Description

소비자 전자 제품들의 활동-기반 제어를 위한 시스템들 및 방법들{SYSTEMS AND METHODS FOR ACTIVITY-BASED CONTROL OF CONSUMER ELECTRONICS}
본 발명은 소비자 전자 제품들에 관한 것으로, 더욱 구체적으로는, 소비자 전자 제품들의 활동-기반(activity-based) 제어에 관한 것이다.
"CE(consumer electronic)" 디바이스들의 대다수는 CE 디바이스에 이해될 수 있는 신호들을 통해 명령들을 송신하는 핸드헬드(handheld) 리모트 컨트롤 유닛들을 통해 원격으로 제어가능하다. 리모트 컨트롤 유닛들은 텔레비전, 증폭기들, 스테레오들, 수신기들, VCR들, DVD 플레이어들(Blu-Ray 및 HD-DVD 플레이어들을 포함하나 이에 제한되지 않음), CD 플레이어들, 개인용 비디오 레코더들, 테이프 플레이어들, 케이블 또는 위성 셋톱 박스들, 조명 시스템들, 창문 차양 시스템들 및 실내 온도 제어(climate control) 시스템들 등을 포함하나, 이에 제한되지 않는 많은 수의 CE 디바이스들을 제어할 수 있다. 그러한 디바이스들을 제어하기 위한 예시의 명령들은 전원 켬/끔, 채널 선택, 채널 업/다운, 및 음량 높임/낮춤을 포함하나, 이에 제한되지 않는다.
종래의 리모트 컨트롤은 일반적으로 하우징 구조, 사용자가 명령들을 입력하기 위한 하우징 구조 내의 키패드, 키패드에 연결된 하우징 구조 내의 전자 회로, 및 일반적으로 동작될 전자 디바이스에 대한 "IR(infra-red)" 또는 "RF(radio frequency)" 신호인 제어 신호를 송신하기 위해 전자 회로에 전기적으로 연결되는 송신기를 포함한다. 더욱 개선된 리모트 컨트롤들은 또한, 예를 들면, 리모트 컨트롤의 더욱 정교한 이용을 허용하는 LED 스크린으로 구성되는 사용자 인터페이스를 지원한다. 리모트 컨트롤 유닛들의 다른 유형들은 "PDA(personal data assistants)" 또는 스마트폰들을 포함할 수 있으나, 이에 제한되지 않는다.
더욱 더, 일반적으로 "범용 리모트 컨트롤(universal remote control)"로서 칭해지는, 단일 리모트 컨트롤이 다수의 전자 디바이스들을 제어하는 데에 이용된다. 대다수의 범용 리모트 컨트롤들은, VCR, DVD, 케이블 등과 같은, 제어될 특정한 전자 디바이스들에 연관되는 선택자 버튼들 또는 아이콘들을 갖는다. 추가적으로, 일부 리모트 컨트롤 디바이스들은 "활동-기반(Activity-based)" 또는 "경험 기반 제어(experienced based control)"를 지원한다.
"활동-기반" 또는 "경험-기반" 제어는 리모트 컨트롤 디바이스의 사용자에게 개별 디바이스들을 직접적으로 제어하는 대신에, "DVD 시청"과 같은 활동, 즉 "사용자 경험"을 선택할 수 있게 하는 것을 칭한다. 디바이스는 필요한 디바이스들의 전원을 켜고, 그들의 입력들을 설정하고, 그들의 튜너들을 설정하는 명령들을 그 경험(예를 들면, TV를 켜고, 대기하고, 그것을 AV2 입력으로 설정하고, 수신기를 켜고, 수신기를 DVD 입력으로 설정하고, DVD를 켜는 등)을 인스턴스화(instantiate)하는 방식으로 보낼 것이다.
활동-기반 제어를 수행하는 것에 있어서의 도전 과제는 보내져야 하는 디바이스 제어 명령들이 종종 디바이스의 현재 상태에 의존한다는 것이다. 이 상태는 디바이스에 이전에 보내진 명령들의 기능이다. 예를 들면, 전원-토글(toggle) 명령은 디바이스가 현재 꺼져있으면 그것을 켜고, 디바이스가 현재 켜져있으면 그것을 끌 것이다. 입력-순환(input-cycle) 명령은 디바이스의 입력 선택을 그것의 입력들의 시퀀스에서 다음 입력으로 변경할 것이다.
대다수의 통합자들(integrators)(즉, Crestron 및 AMX에 의해 제조되는 홈 제어 시스템들과 같은, 홈 제어 시스템들을 프로그램하는 단체들)에 의해 채택된, 이러한 유형의 제어를 수행하기 위한 종래의 접근 방식은, 사용자 명령들을 추적하고 그 명령들에 따라 제어 시스템의 소프트웨어에서 상태를 모델링하는 것이었다. 예를 들면, 제어 소프트웨어는 모든 디바이스들에서 알려진 상태에서 시작할 것이다. 그것이 TV에 전원-토글 명령을 보낼 때, 그것은 그 TV의 그것의 상태를 "켜짐(on)"으로 설정할 것이다. TV가 꺼질 필요가 있을 때, 제어 소프트웨어는 그것의 상태가 "꺼짐(off)"인지를 확인할 것이다. 상태가 "꺼짐"이 아니라면, 소프트웨어는 전원-토글 명령을 보낼 것이고 상태를 "켜짐"으로 설정한다.
활동-기반 제어에 대한 종래의 접근 방법은 디바이스 상태를 산출하기 위해 리모트 컨트롤 디바이스에 입력된 사용자 명령들을 추적하는 것에 의존한다. 즉, 이 접근 방법은 본질적으로 디바이스들의 상태들이 실제로 무엇인지보다는 오히려 사용자 동작에 따라 그것들이 무엇이어야 하는지를 추정한다. 그 결과, 이 접근 방식은 그것의 디바이스 상태 추정들의 정확성이나 마찬가지일 뿐이다. 때때로, 이들 추정들은 부정확하여, 시스템은 "고장나게 되고(gets out of whack)", 사용자에 의해 리모트 컨트롤 디바이스와 재동기화(resynchronized) 되어야만 한다. 이것은, 예를 들면, IR 제어 신호가 디바이스에 의해 수신되는 것으로부터 차단되었을 때, 발생할 수 있다.
활동-기반 제어에 대한 대안 기법은 현재의 디바이스 상태에 의존하지 않는 이산 명령(discrete commands)들을 이용하는 것이다. 이들의 예들은 "켜짐", "꺼짐", 및 명확한 입력 선택자들이다. 유감스럽게도, 이들 명령들은 디바이스들에 대해 항상 이용가능하지는 않다. 또 다른 대안 기법은 디바이스의 진실한 켜짐/꺼짐 상태를 결정하기 위해 센서들을 이용하는 것이다. 이들은 상태 LED 센서들, (TV에 대한) RF 방출 센서들, 및 전류 변화 센서들을 포함한다. 이들은 측정될 수 있는 변화들에 대해서만 이용될 수 있고 현재 디바이스 입력 상태를 검출하기 위해 이용하는 것에는 문제가 있게 되거나 또는 불가능하게 된다.
따라서, 디바이스 상태에 의존하는 현존하는 접근 방법들에 대한 대안을 제공하는 활동-기반 제어를 달성하는 새로운 접근 방법이 요구된다.
본 발명은 개별 CE 디바이스들의 상태를 계속 추적하는 것과 무관한 다수의 CE 디바이스들의 활동-기반 제어를 위한 장치, 시스템들 및 방법들을 제공한다. 일 실시예에서 CE 디바이스들을 제어하는 장치는 사용자 인터페이스, CE 디바이스 인터페이스, 천이-기반(transition-based) 제어기 및 제어 로직을 포함한다. 사용자 인터페이스는 사용자와 장치 사이에서 정보를 교환한다. 사용자 인터페이스는 키패드, 음성 인식 시스템 또는 그래픽 사용자 인터페이스 디스플레이를 포함할 수 있다. CE 디바이스는 CE 디바이스와 장치 사이에서 정보를 교환한다. 천이-기반 제어기는, CE 디바이스들의 상태 정보를 계속 추적하는 것과 무관하게, 다수의 CE 디바이스들을 하나의 활동으로부터 또 다른 활동으로 천이시키는 천이 명령들을 생성한다. 천이 명령은 CE 디바이스를 하나의 사용자 경험으로부터 또 다른 사용자 경험으로 천이시키기 위해 송신될 수 있는 미리 정의된 시퀀스의 CE 디바이스 명령들을 포함한다. 제어 로직은 사용자 인터페이스, CE 디바이스 인터페이스 및 천이-기반 제어기에 연결되고 장치의 전체 제어를 제공한다.
일 실시예에서, 모든 유용한 사용자 경험들에 대한 CE 디바이스 구성들을 식별하고, 사용자 경험들 사이에서 천이 명령들을 정의하는, 초기 구성을 위해 또는 구성을 변경하기 위해 이용되는, 천이 초기화 모듈을 포함하는 천이-기반 제어기가 제공된다. 천이-기반 제어기는 또한 유한 상태 머신(finite state machine)의 현재 노드를 저장하는 현재 노드 모듈을 포함한다. 마지막으로, 천이-기반 제어기는 천이 초기화 모듈에 의해 생성된 천이 명령들을 포함하는 천이 명령 모듈을 포함한다. 본 발명은 디바이스의 예측되는 현재 상태를 저장하거나 또는 모델링하지 않는다. 오히려, 본 발명은 상태 천이 그래프의 현재 노드에 대한 식별자(identifier)만 저장한다.
CE 디바이스들의 상태와 무관한 다수의 CE 디바이스들의 활동-기반 제어를 위한 방법도 제공된다. 일반적으로, 제어는 CE 디바이스들의 실제 상태에 의존한다. 그러나, 본 발명 내에서, 제어는 CE 디바이스들의 상태를 모델링하거나 또는 다르게 계속 추적하는 것과 무관하다. 본 발명의 장점들은 디바이스 상태에 의존하는 현존하는 방법들 및 시스템들에 대한 대안의 접근 방법을 제공하는 것뿐만 아니라 동작할 때 조건부 로직들을 필요로 하지 않고 계산 자원들을 효율적으로 이용하는 것을 포함하나, 이에 제한되지 않는다.
본 발명의 추가 실시예들, 특징들 및 장점들뿐만 아니라 본 발명의 다양한 실시예들의 구조 및 동작은 첨부 도면들을 참고로 하여 이하에서 상세히 설명된다.
본 발명은 첨부 도면들을 참고로 하여 설명된다. 도면들에서, 동일한 참조 번호들은 동일하거나 또는 기능적으로 유사한 엘리먼트들을 지시한다. 엘리먼트가 최초로 나타나는 도면은 대응하는 참조 번호의 가장 좌측의 숫자에 의해 표시된다.
도 1은 TV 및 DVD 플레이어를 제어하기 위한 2-노드 시스템(two-node system)에 대한 상태도를 제공하는 샘플 상태도를 제공하는 도면.
도 2는 본 발명의 일 실시예에 따른, 천이-기반 제어기를 포함하는 리모트 컨트롤의 다이어그램을 제공하는 도면.
도 3은 본 발명의 일 실시예에 따른, 천이-기반 제어기의 다이어그램을 제공하는 도면.
도 4는 본 발명의 일 실시예에 따른, 다수의 사용자 경험들을 포함하는 유한 상태 머신을 정의하는 예를 제공하는 도면.
도 5는 본 발명의 일 실시예에 따른, CE 디바이스들의 상태를 모델링하는 것과 무관한 다수의 CE 디바이스들의 활동-기반 제어를 위한 방법의 흐름도를 제공하는 도면.
도 6은 본 발명의 일 실시예에 따른, 하나 이상의 디바이스가 켜져 있는지 또는 꺼져 있는지가 무관한 상황을 나타내는 유한 상태 머신을 정의하는 것의 예를 제공하는 도면.
본 발명이 특정한 응용들에 대한 예시적인 실시예들을 참고로 하여 본원에서 설명되지만, 본 발명이 그에 제한되지 않는다는 것이 이해되어야 한다. 본원에서 제공되는 교시들에 접근할 수 있는 본 기술 분야에 숙련된 자들은 본 발명의 범주 및 본 발명이 현저하게 유익할 추가 분야들 내에서의 추가적인 변경들, 응용들, 및 실시예들을 알아볼 것이다.
본 발명은 디바이스의 상태를 아는 것 또는 산출하는 것에 의존하지 않는 활동-기반 제어의 시스템 및 방법에 관한 것이다. 오히려, 본 발명에 따르면, 시스템은 (일반적으로 셋업에서) 모든 유용한 디바이스 구성들을 식별하고 그 후 하나의 구성으로부터 또 다른 구성으로의 천이를 달성하기 위해 보내질 필요가 있는 명령들을 정의한다. 이러한 환경은 그래프, 또는 유한 상태 머신으로서 보여질 수 있는데, 여기에서 노드(꼭지점)는 디바이스들의 세트에 대한 특정한 구성(입력들, 전원, 채널)을 나타내고 또 다른 노드로의 천이(에지(edge))는 활동 구성들 사이의 상태 천이(예를 들면, 케이블 TV를 시청하는 것으로부터 DVD를 시청하는 것으로의 천이)를 달성하기 위해 보내질 필요가 있는 명령들의 세트를 나타낸다.
단순한 예로서, 도 1은 TV 및 DVD 플레이어를 제어하기 위한 2-노드 시스템에 대한 상태도를 제공한다. 이러한 예를 들기 위해, 이들 디바이스들은 데이터베이스에의 참조에 의해 또는 사용자로부터의 입력에 의해 시스템에 알려진 이하의 특정한 제어 특징들을 갖는다: (1) 토글된 전원(power) 명령들은 DVD 및 TV의 스위치를 켜고 끄기 위해 이용되고; (2) TV는 순환 입력 선택을 갖는다(입력(input) 명령을 보내는 것은 TV의 입력을 사이클 내의 다음의 것으로 스위칭한다). 이러한 예들서, TV는 사이클 내에 네 개의 입력들을 갖는다: {튜너, DVD, 기타, 기타}.
도 1에 도시된 2개의 노드들(노드(110) 및 노드(120))은 이 시스템의 사용자가 이용가능한 두 개의 가능한 활동들 또는 사용자 경험들: TV 시청(상태 A) 및 DVD 시청(상태 B)에 대응한다. 구체적으로, 노드(110)는 TV가 TV 시청 활동을 위해 튜너로 설정되는 상태를 모델링한다. 노드(120)는 TV가 DVD 입력으로 설정되고 DVD가 켜진(on), DVD 시청에 대응하는 상태를 모델링한다.
노드(110)(TV 시청)로부터 노드(120)(DVD 시청)로 스위칭하기 위해, 천이(130)를 따라갈 것이다. 이것은 이하의 명령들을 보내는 것을 포함한다: TV에 대한 입력 명령 및 DVD에 대한 전원 명령. TV에 대한 입력 명령은 TV의 입력을 사이클 내의 다음 입력(DVD)으로 스위칭하고, DVD에 대한 전원 명령은 DVD를 켠다. 집합적으로, 이들 명령들은 천이 명령으로서 칭해진다.
노드(120)(DVD 시청)로부터 노드(110)(TV 시청)로 스위칭하기 위해, 천이(140)를 따라갈 것이다. 이러한 경우에, TV에는 그것을 튜너 입력으로 다시 순환시키도록 세 개의 연속적인 입력 명령들이 보내지고 DVD에는 그것을 끄도록 전원 입력이 보내진다.
이러한 접근 방법의 키 포인트는 리모트 컨트롤 유닛이 디바이스가 실제로 켜져 있는지 또는 꺼져 있는지, 무슨 입력이 선택되었는지, 또는 무선 채널이 선택되었는지를 결코 알아채지 않는다는 것이다. 리모트 컨트롤 유닛이 아는 것은 단지 그것의 현재 "상태"(현재 노드), 그 노드로부터 가능한 천이들, 및 그러한 천이들을 취하기 위해 보내는 명령들일 뿐이다. 본 문서의 문맥에서, 상태는 그래프 상의 노드(유한 상태 머신의 상태)를 칭하고, 디바이스의 셋팅의 표현 또는 모델링은 아니다.
도 2는 본 발명의 일 실시예에 따른, CE 디바이스들의 임의의 모델링된 상태와 무관한 다수의 CE 디바이스들의 활동-기반 제어를 위한 천이-기반 제어기(150)를 포함하는 리모트 컨트롤(200)의 다이어그램을 제공한다.
도 2에 도시된 바와 같이, 리모트 컨트롤 유닛(200)은 사용자 입력을 수신하고, 옵션으로, 사용자에게 정보를 제공하기 위한 사용자 인터페이스(220), 네트워크에의 액세스를 제공하는 옵션 네트워크 인터페이스(240), 및 CE 디바이스에 정보를 송신하고, 옵션으로 CE 디바이스로부터 정보를 수신하는 CE 디바이스 인터페이스(230)를 포함한다. 일 실시예에서, 사용자 인터페이스(220)는 터치-감응(touch-sensitive) 디스플레이를 통해 사용자 입력을 수신하는 "GUI(graphical user interface)"를 포함한다. 대안 실시예들에서, 사용자 인터페이스(220)는 키패드, 음성 인식 시스템 또는 데이터 입력 인터페이스들의 다른 유형들을 포함할 수 있다. 네트워크 인터페이스(240)는 IEEE 802.11b-호환 트랜스시버를 포함하는 플러그-인 또는 빌트-인 WiFi 네트워크 카드를 포함하고, CE 디바이스 인터페이스(230)는 단방향 IR 송신기 또는, 대안으로, 양방향 IR 트랜스시버를 포함한다. 대안 실시예에서, CE 디바이스 인터페이스(230)는 IEEE 802.11 프로토콜에 따라 통신하기 위해 적응된 WiFi 송신기 또는 트랜스시버를 포함한다. 802.11 패밀리의 프로토콜들 외에, 예를 들면, Bluetooth, ZigBee, ZenSys 또는 다른 사용자 지정 프로토콜과 같은 다른 라디오 주파수 시스템들이 이용될 수 있으나 다른 라디오 주파수 시스템들은 이에 제한되지 않는다.
리모트 컨트롤 유닛(200)은 또한 천이-기반 제어기(250)를 포함한다. 천이-기반 제어기(250)는 CE 디바이스들의 상태를 알거나 또는 모델링할 필요없이 다수의 CE 디바이스들을 제어하기 위한 천이 명령들을 생성한다. 천이 명령은 CE 디바이스들을 하나의 사용자 경험으로부터 또 다른 사용자 경험으로 천이시키기 위해 전송될 수 있는 미리 정의된 순서의 CE 디바이스 명령들을 포함한다. 사용자 경험은 전자 디바이스들의 세트가 특정한 "경험"을 제공하기 위해 어떻게 구성될 것인지를 칭한다. 예를 들면, 사용자 경험은 스테레오가 낮게 켜지고, 조명이 흐릿해지고, 창문 차양들이 당겨지는 것과 동등할, "로맨틱 분위기로 스테레오를 청취하는 것"일 수 있다. 천이-기반 제어기(250)는 도 3을 참고하여 더 설명된다.
도 2에 도시된 바와 같이, 리모트 컨트롤 유닛(200)은 사용자 인터페이스(220), 네트워크 인터페이스(240), 및 CE 디바이스 인터페이스(230)와 통신적으로 연결된 제어 로직(210)을 더 포함한다. 제어 로직(210)은 사용자 인터페이스(220)로부터 수신된 사용자 입력을 처리하고, 천이-기반 제어기(250)와 정보를 교환하고, CE 디바이스 인터페이스(230)를 통해 CE 디바이스들에 천이 명령들을 전송하는 것을 포함하는 특징들(features)을 실행하도록 적응되나 특징들은 이에 제한되지 않는다. 본원에서 제공되는 교시들에 기초하여 관련 기술 분야(들)에 숙련된 자들이 알게 되는 바와 같이, 제어 로직(210)은 하드웨어에서, 소프트웨어에서, 또는 하드웨어 및 소프트웨어의 조합으로서 용이하게 구현될 수 있다.
도 3은 본 발명의 일 실시예에 따른, 천이-기반 제어기(250)의 다이어그램을 제공한다. 천이-기반 제어기(250)는 제어기(310), 현재 노드 모듈(320), 천이 명령 모듈(330), 천이 초기화 모듈(340), 에러 모듈(350) 및 트랜스시버(360)를 포함한다.
현재 노드 모듈(320)은 각각의 CE 디바이스들의 (유한 상태 머신의 노드에 의해 표현되는) 현재 상태를 저장한다. 일 실시예에서, 현재 노드 모듈(320)은 유한 상태 머신의 노드를 식별하는 단일 식별자를 저장한다. 천이 명령 모듈(330)은 유한 상태 머신의 하나의 노드로부터 또 다른 노드로 천이하기 위해 천이 초기화 모듈에 의해 생성되는 천이 명령들을 포함한다. 천이 초기화 모듈(340)은 모든 유용한 사용자 경험들에 대한 CE 디바이스 구성들을 식별하고 사용자 경험들 사이의 천이 명령들을 정의한다. 일 실시예에서, 천이 초기화 모듈(340)은 천이-기반 제어기(250)의 외부에 존재할 수 있다. 예를 들면, 천이 초기화 모듈(340)은 사용자의 컴퓨터 상에 또는 서버 상에 있을 수 있고, 상태 머신의 다운로드를 제공하는 웹 인터페이스를 통해 액세스 가능할 수 있다. 에러 모듈(350)은 CE 디바이스들의 셋팅들이 동기화가 안 된 경우에, 사용자가 그것들을 현재 노드 모듈(320)에 저장된 노드에 대한 현재 상태와 재동기화하게 한다.
현재 노드 모듈(320)은 시스템이 디바이스 셋팅들 또는 상태 정보들을 이용하도록 설계되지 않았기 때문에 그런 정보를 저장하지 않는다는 것에 유의한다. 실시예들에서, 현재 노드 모듈(320)은 주석 정보(예를 들면, "DVD는 켜져야 함.")를 저장할 수 있다. 대안적으로, 현재 노드 모듈(320)은 어떠한 주석 정보도 저장하지 않을 수 있다. 어느 경우에나, 사용자는 디바이스들의 실제 상태가 현재 경험의 필요들과 부합하는 것을 보장하도록 정정들이 행해져야 하는 경우에 임의의 상태 천이들에 영향을 미치지 않고 디바이스들에 전원을 넣고 입력들을 설정하는 기회를 제공받을 수 있다. 이것은 시스템이 전송 에러들 또는 손실들에 취약하면(예를 들면, IR 신호가 차단되면) 요구될 것이다. 상기 개념은 사용자가 자연스럽게 디바이스들을 그가 원한 현재의 활동을 반영하는 상태로 설정할 것이라는 것이다.
트랜스시버(360)는 천이-기반 제어기(250)와 제어 로직(210) 사이에서 정보를 교환한다. 제어기(310)는 현재 노드 모듈(320), 천이 명령 모듈(330), 초기화 모듈(340), 에러 모듈(350) 및 트랜스시버(360)에 연결되고, 그들의 동작을 제어한다.
본원에서 제공되는 교시들에 기초하여 관련 기술 분야(들)에서 숙련된 자들이 알게 되는 바와 같이, 천이-기반 제어기(250)는 하드웨어에, 소프트웨어에서, 또는 하드웨어 및 소프트웨어의 조합으로서 용이하게 구현될 수 있다.
리모트 컨트롤 유닛(200)의 동작의 예시를 돕기 위해, 도 4는 다수의 사용자 경험들을 포함하는, 유한 상태 머신(상태 기계(400))을 정의하는 더욱 복잡하고 사실적인 예를 제공한다. 이 예는 TV 및 DVD를 포함하는, 도 1에 도시된 것과 유사한 2-디바이스(two-device) 구성을 제공한다. 도 1과는 다르게, 이 예는 모든 디바이스들이 꺼지는 것을 나타내는 제3 노드("off")(node(430))를 추가한다. 구체적으로, 상태 머신(400)은 세 개의 노드들(노드(410), 노드(420) 및 노드(430))을 포함한다. 또한, 이러한 시스템에서, 사용자는 그의 TV에서 (DVD 외에도) 케이블을 시청할 수 있고, TV에 대한 입력 사이클은: {튜너, 케이블, DVD, 기타}이다. 도 4는 이러한 구성에 대한 여섯 개의 천이들(440, 445, 450, 455, 460, 및 465)을 예시한다.
도 5는 본 발명의 일 실시예에 따른, CE 디바이스들의 상태와 무관한 다수의 CE 디바이스들의 활동-기반 제어를 위한 방법(500)의 흐름도를 제공한다. 도 5는 도 4에 도시된 예시의 상태 머신의 환경에서, 그리고 예시하기 위해 리모트 컨트롤 유닛(200)을 참고하여 설명될 것이나 이들 특정한 시나리오로 본 발명을 제한하지 않는다.
방법(500)은 스텝(510)에서 시작한다. 스텝(510)에서 사용자 영역 내의 각각의 CE 디바이스들이 식별된다. 식별은 사용자에 의해 명백하게 또는 디바이스들의 자동 발견에 의해(예를 들면, UPnP(Universal Plug & Play) 디바이스들과 같이, 네트워크 질의 또는 브로드캐스트를 통해) 발생할 수 있다. 일 실시예에서, 초기화 모듈(340)은 스텝(510)을 구현한다. 노드들 사이의 천이들을 정의하기 위해, 초기화 모듈(340)은 먼저 사용자의 환경 내에 있는 모든 디바이스들(예를 들면, Sharp Aquos TV 및 Panasonic DVD-A120 DVD 플레이어), ("모두 꺼짐" 및 "DVD 시청"을 포함하는) 요망되는 사용자 경험들, 및 각 디바이스의 제어 행동들(즉, 메타 데이터)을 식별해야 한다(예를 들면, TV의 입력을 튜너로부터 DVD로 변경하기 위해 무슨 명령들을 취해야 하는지?). 일 실시예에서, 제어 정보는, 예를 들면, IR 코드들을 포함하는 디바이스 제어를 기술하는 데이터베이스(도시되지 않음)에 저장될 수 있다.
리모트 컨트롤 유닛(200)은 이것을 셋-업 프로세스를 통한 사용자로부터의 입력을 통해(예를 들면, 본원에 그 전체가 통합되는, 발명의 명칭이 "Method, System, and Computer Program Product for Set-up of Multi-Device Control"인, 공통으로 소유되고 공동-진행 중인 미국 특허 출원 제 11/042,178호에서 설명되는 상세한 설명 참조) 그리고 메타데이터 및 다른 디바이스-특정 제어 데이터의 데이터베이스에의 액세스를 통해(예를 들면, 본원에 그 전체가 통합되는, 발명의 명칭이 "Device Control System, Method, and Apparatus"인, 공통으로 소유되고 공동-진행 중인 미국 특허 출원 제 10/783,017호 참조) 달성한다. 제한하려는 것이 아니고 예시하기 위해, 본 시스템은 셋-업 프로세스 동안에 사용자로부터 얻어지는 정보로부터 이하의 규칙을 구현한다: 임의의 두 상태들(A 및 B) 사이의 천이에 대해서, 디바이스가 A에서는 이용되고 B에서는 요구되지 않는 경우, 그것은 꺼진다(shut off).
추가적인 가정은 리모트 컨트롤 유닛(200)이 또한 데이터베이스로부터 특정한 디바이스들에 대한 이하의 메타데이터를 얻었다는 것이다: 디바이스가 그것이 꺼진 때의 입력 사이클의 동일한 지점에서 시동하면, 그 입력들은 디바이스가 꺼지기 전의 어떤 미리 정의된 시작 상태로 순환된다.
스텝(520)에서, CE 디바이스들의 하나의 구성으로부터 또 다른 구성으로의 천이를 달성하도록 보내질 필요가 있는 천이 명령들의 세트를 포함하는 상태 천이 그래프가 정의된다. 천이 명령들의 세트가 정의되었을 때, 이들은 천이 명령 모듈(330)에 저장된다.
천이 명령들의 세트를 결정하는 프로세스는 먼저 유한 상태 머신을 설정하는(setting up) 단계(즉, 하나의 사용자 경험으로부터 또 다른 사용자 경험으로의 천이들을 정의하는 단계) 및 그 후 모든 영향받는 CE 디바이스들에 대한 천이를 구현하기 위해 필요한 명령들을 정의하는 단계를 포함한다.
유한 상태 머신을 설정하는(천이들을 정의하는) 프로세스에 대해서, 천이-기반 제어기(250)는 정정 천이 명령(correct transition command)들이 정의될 수 있도록 각 노드에 대한 디바이스 셋팅들(예를 들면, 입력, 채널 및 전원)을 정의할 필요가 있다. 일단 정의 단계가 끝나면, 이 구성 정보는 폐기될 수 있고 생성된 천이들만이 유지된다. 노드들(상태들) 및 상태들 사이의 천이들 중 어느 것도 디바이스가 임의의 특정한 상태(예를 들면, 전원, 입력, 또는 채널 셋팅들)에 있는지에 대한 임의의 고유의 레코드를 갖지 않는다.
이하의 표는 도 4에 도시된 이 예에서의 모든 가능한 상태들을 나타낸다:
상태 TV 전원 TV 입력 DVD 전원
A(꺼짐) - 상태(430) 꺼짐 튜너(0) 꺼짐
B(케이블 시청) - 상태(410) 켜짐 케이블(1) 꺼짐
C(DVD 시청) - 상태(420) 켜짐 DVD(2) 켜짐
일반적으로, n 상태들을 갖는 시스템에 대해서 n(n-1) 천이들이 존재할 것이다. 이하의 상태 천이 표에서 도시되는 바와 같이, 이 예에서는 이들 상태들 사이에 여섯 개의 가능한 천이들이 존재한다.
천이 TV 명령들 DVD 명령들
A-B(꺼짐→케이블 시청) - 천이(440) 전원, 입력
A-C(꺼짐→DVD 시청) -천이(465) 전원, 입력, 입력 전원
B-C(케이블 시청→DVD 시청) - 천이(450) 입력 전원
C-B(DVD 시청→케이블 시청) - 천이(455) 입력, 입력, 입력 전원
C-A(DVD 시청→꺼짐) - 천이(460) 입력, 입력, 전원 전원
B-A(케이블 시청→꺼짐) - 천이(445) 입력, 입력, 입력, 전원
상태 천이 표를 채우기 위한 접근 방법은 다음과 같은 알고리즘에서 캡슐화될 수 있다:
Figure 112010002547003-pct00001
여기에서 s.d power와 같은 표현은 상태 s에서 디바이스 d에 대한 요망되는 전원 세팅을 나타내고, d.power 명령은 디바이스 d에 대한 전원 토글 명령을 나타낸다. 입력 선택 명령들은 제어되고 있는 특정한 디바이스에 의존한다. 그들은 단순하게 입력 명령들의 시퀀스로 구성될 수 있거나 또는, 예를 들면, 온-스크린(on-screen) 메뉴에 들어가고, 입력을 선택하고, 그 메뉴에서 나가기 위한 명령들을 보내는 것을 포함할 수 있다.
설명된 절차는 입력 선택 및 전원을 넘어서는 명령들로 일반화될 수 있고, 채널 선택, 서라운드-사운드 모드, 및 스크린의 가로 세로 비율과 같은 제어들을 포함한다.
키 포인트는 활동에 대한 각 상태가 그 활동 이전에 방문되었던 활동들의 세트의 기능을 나타낸다는 것이다. 주어진 상태로부터 다른 활동들로의 천이들은 그 이전의 활동을 포함하는 상태들에 대해서만 일어난다. 천이에 대해 생성된 명령들은, 디바이스를 "켤" 필요, 또는 디바이스가 새로운 활동에서 요구되는지 그리고 그것이 이전 활동들에서, 심지어는 현재 활동이 그것을 이용하지 않는 경우에도, 이미 켜졌는지(또는 튜닝되었는지)에 따라 입력들이 선택될 필요가 있는지와 같은, 요구되는 동작들에 기초할 것이다.
다중-상태(multi-state) 활동 그래프들은 각 활동 상태에 대한 다른 활동들의 모든 조합을 열거함으로써(enumerating) 생성된다. 예를 들면, 전술한 예의 경우에, 네 개의 "케이블 시청" 상태들은 다른 활동들: "DVD 시청" 및 "VCR 시청"의 모든 조합들(순열들은 아님)을 통해 반복함으로써 생성된다.
상태로의 각 천이는, 현재 상태를 포함하고 현재 상태를 포함하지 않는 양쪽 모두의 활동들의 동일한 조합을 갖는 상태들로부터 일어난다. 상태로부터의 각 천이는 활동들의 동일한 조합을 갖는 상태들로 일어난다.
n 개의 활동들(A1, A2, A3,..., An)의 세트가 주어지면, 상태들 및 천이들의 완전한 세트는 이하에 의해 생성될 수 있다:
Figure 112010002547003-pct00002
이러한 스텝을 넘어서는 최적화는 여분의 상태들을 제거하는 것이다. 동일한 활동에 대한 두 개의 상태들은 그 상태에 의해 표현되는 모든 디바이스들의 상태가 제어를 위해 동일한 것이라면 하나로 정리될 수 있다. 예를 들면, 우리의 케이블 TV, DVD, 및 VCR 예시를 이용하면, "DVD 시청" 활동에 대한 이하의 네 개의 상태들을 생성할 것이다:
(1) "꺼짐" 상태로부터의 초기 상태. TV, DVD, 및 VCR은 모두 꺼져 있음.
(2) "케이블 TV 시청" 만이 과거에 활성화된 상태.
(3) "VCR 시청" 만이 과거에 활성화된 상태.
(4) "케이블 TV 시청" 및 "VCR 시청" 양쪽 모두가 과거에 활성화된 상태.
(구성 도중에 획득되거나 또는 시스템에 하드-코딩된) 각 활동에 대해서 어떤 디바이스들이 켜져야만 하는지에 대한 지식을 이용하여, 이들 열거된 활동 상태들 각각은 이하의 디바이스 셋팅들에 대응한다:
(1) TV=켜짐, DVD=켜짐, VCR=꺼짐.
(2) TV=켜짐, DVD=켜짐, VCR=꺼짐.
(3) TV=켜짐, DVD=켜짐, VCR=켜짐.
(4) TV=켜짐, DVD=켜짐, VCR=켜짐.
"케이블 TV 시청" 활동에서 제어되는 디바이스들이 마침 "DVD 시청" 및 "VCR 시청" 활동들에서의 디바이스들의 부분 집합이 되기 때문에, 상태들 (1) 및 (2)는 단일 상태로 정리될 수 있고 상태들(3) 및 (4)는 단일 상태로 정리될 수 있다.
TV들, 증폭기들, 및 수신기들과 같은 일부 디바이스들은 그들의 입력들이 사이클을 통해 루프함(예를 들면, 사용자가 "입력" 버튼을 반복적으로 누르게 함)으로써 스위칭되게 한다. 천이-기반 접근 방법은 그것의 순수한 형태에서 모든 입력들이 디바이스가 꺼지기 전에 잘 알려진 "초기" 입력으로 다시 순환되는 것을 요구할 것이다. 순환들을 다루기 위한 대안 접근 방법은 순환하는 입력들을 갖는 각 디바이스에 대해 사이클 위치(cycle position) 및 사이클 기간(cycle period)을 계속 추적하는 것이다.
시동 후에, 입력을 N회 순환하기 위한 제1 요청은 입력을 (N-C)mod P 사이클들을 순환시키는 요청으로 변환되는데, 여기에서 C는 그 디바이스에 대한 전역 사이클 카운트(global cycle count)이다. 그 후, 새로운 사이클 위치(C)는 N mod P로 설정되는데, 여기에서 P는 다시 순환하기 전의 전체 사이클과 같다. 예를 들면, "튜너"로 되돌아 오기 전에 TV에 대해서 "튜너", "DVD", "VCR", "AV1" 및 "AV2"를 통하여 순환할 때, 그 값은 5이다. N은 시작 위치로부터의 거리와 같다. 예를 들면, "튜너"는 0이고 "av1"은 3이다. C는 현재 위치와 같다. 예를 들면, 디바이스가 현재 VCR에 있으면, C는 2와 같다. 현재 위치(2)로부터 AV1로 가기 위해, 시스템은 N-C 또는 3-2=1만큼 나아갈 필요가 있다. mod P 컴포넌트는 시스템이 랩 어라운드(wrap around)하게 한다. 시스템이 VCR(위치 2)로부터 튜너(위치 0)로 갈 필요가 있으면, 시스템은 (0-2)mod 5 = 3 사이클 만큼 나아갈 필요가 있다.
정상 동작에서(즉, 초기 세트업을 넘어서, 디바이스들이 아직 제어되고 있지 않을 때), 전체로서의 시스템은 사이클들의 의미를 모델링하지 않는다 ― 그것은 하나의 활동으로부터 또 다른 활동으로 가기 위해 얼마나 많은 입력 사이클 명령들이 보내져야 하는지를 알 뿐이다.
도 5를 다시 참조하면, 일단 초기화 스텝들(510 및 520)이 완료되면, 리모트 컨트롤 유닛(200)은 사용자에 의해 이용될 준비가 된다. 추가적인 CE 디바이스들이 리모트 컨트롤 유닛(200)에 의해 서비스되는 사용자의 환경에 더해지거나 또는 그로부터 빼지지 않는다면, 스텝들(510 및 520)은 리모트 컨트롤 유닛을 초기화하기 위해 한번만 행해질 필요가 있다는 것에 유의한다.
스텝(530)에서, 경험에 대한 사용자 입력이 수신된다. 예를 들면, 천이-기반 제어기(250)는 사용자가 DVD를 시청하는 것을 좋아할 것이라는 표시를 수신할 것이다.
스텝(540)에서, 현재 상태(노드)로부터 사용자-요구 경험을 나타내는 상태(노드)로의 유한 상태 머신에서의 천이를 따라감으로써 사용자-요청 경험에 대한 적합한 상태로 소비자 전자 디바이스들을 가져오는 데에 필요한 명령 또는 다수의 명령들이 결정된다. 예를 들면, 제어기(310)는 어떤 천이 명령이 현재 상태로부터 요망되는 상태로 가는 데에 요구될 것인지를 나타내는 천이 명령 모듈(330)의 천이 명령 테이블에 액세스함으로써 요구되는 천이 명령을 식별한다.
스텝(550)에서, 천이 명령은 CE 디바이스들로 송신된다. 예를 들면, 천이 명령은 CE 디바이스 인터페이스(230)에 의해 영향받는 CE 디바이스들에 송신된다.
스텝(560)에서, 상태 천이 그래프에서의 현재의 노드의 추적은 보내진 천이 명령에 기초하여 업데이트된다. 그래프에서의 현재 노드의 이러한 업데이트는 그 후 현재 노드 모듈(320)에 저장된다. 스텝(570)에서, 방법(500)은 종료한다.
물리적 디바이스의 셋팅들(예를 들면, 전원, 입력, 채널,...)이 그 상태에 대한 기대되는 셋팅들로부터 동기를 잃을 때, 시스템은 각각의 디바이스들에 대한 기대되는 셋팅들의 리스트를 제공할 수 있고(예를 들면, "TV 켜짐, TV 입력=AV2; DVD 켜짐; VCR 꺼짐") 사용자가 디바이스의 셋팅들을 기대되는 셋팅들과 정렬시키도록 디바이스에 제어 명령들을 발행하게 한다. 이들은 단지 주석들이고 디바이스를 제어하거나 또는 상태를 모델링함에 있어서 실제로 이용되지 않는다는 것에 유의한다. 반복해서 말하자면, "TV 입력 = AV2"임을 주의하는 것은 알고리즘에 대해서 "TV 캐비넷 = 검정색"임을 주의하는 것만큼 유용하다. 일 실시예에서, 에러 모듈(350)은 CE 디바이스들의 상태를 현재 노드 모듈(320)에 저장된 노드에 의해 표현되는 상태와 정렬시키도록 에러 정정 루틴을 입력할 것이다. 대안적으로, 사용자는 상태 천이 그래프 또는 유한 상태 머신의 현재 노드를 변경하지 않고 디바이스들에 대한 직접 명령들을 통해 요망되는 활동을 달성하도록 필요한 만큼 조정들(예를 들면, 입력들을 스위칭함, 전원을 토글함, 및/또는 채널들을 스위칭함)을 할 수 있다.
이전의 논의에서, 활동과 상태(즉 그래프상의 노드) 사이에는 일-대-일 대응이 항상 존재했다. 이것은 항상 그러할 필요는 없다. 예를 들면, 사용자가 DVD 플레이어를 시청하고 있고 그 또는 그녀는 "케이블 TV 시청" 활동으로 다시 스위칭할 때 DVD를 끄는 것을 원하지 않는다고 가정하자. 그러한 경우에, "케이블 TV 시청"에 대한 두 개의 상태들이 존재한다: 하나는 DVD가 켜져 있는 것이고 하나는 그것이 꺼져있는 것이다. 사용자는 이들이 단지 그래프 내의 내부 상태들이기 때문에 이것을 알아차리지 못하는 채로 있다.
따라서, 활동들 사이에서 천이하기 위해, 리모트 컨트롤은 디바이스가 꺼져있는 지를 염려할 필요가 없는 상황이 존재할 수 있다. 예를 들면, 리모트 컨트롤 유닛(200)이 사용자가 "DVD 시청"으로부터 또 다른 활동으로 스위칭할 때는 언제나 DVD가 계속 켜져 있기를 원한다면, "DVD가 켜진 채로 케이블 TV 시청"을 나타내는 또 다른 상태가 유한 상태 그래프에 추가될 필요가 있다. "DVD 시청"으로부터 "케이블 TV 시청"으로의 천이는 리모트 컨트롤 유닛(200)을 본래의 "(DVD가 꺼진) 케이블 TV 시청 상태"로 가져갈 것이다. 사용자는 이들 천이들을 알지 못하고, DVD가 켜져 있거나 꺼져있거나 상관없는 "케이블 TV 시청" 활동에 있다는 것을 인식할 뿐이다. 사용자 인터페이스는 사용자가 DVD가 계속 켜져 있어야 하는지 또는 꺼져야 하는지를 지정하는 것을 허용한다.
이러한 상황을 예시하는 유한 상태 머신은 도 6에 도시된다. 구체적으로, 도 6은 본 발명의 일 실시예에 따른, 네 개의 노드들을 포함하는 유한 상태 머신(상태 기계(600))을 나타낸다. 상기의 도 4와 같이, 이 예는 TV 및 DVD를 포함하는 2-디바이스 구성을 제공한다. 머신은 "DVD 시청" 노드(노드(630)) 및 "꺼짐" 노드(노드(640))를 갖는다. 그러나 도 4와는 다르게, 이 예는 "케이블 TV 시청" 노드를 별개의 노드들 : "케이블 TV 시청(DVD 꺼짐)"(노드(610)) 및 "케이블 TV 시청(DVD 켜짐)"(노드(620))로 분할한다. 도 6은 이러한 구성에 대한 여덟 개의 상태 천이들(천이(650, 655, 660, 665, 670, 675, 680, 및 685))을 나타낸다. 이 구성은 추가적인 "케이블 TV 시청" 노드를 요구하지만, 활동으로부터 "케이블 TV 시청" 활동으로의 유일한 천이는 항상 존재한다.
마지막으로, 우리가 DVD 및 VCR을 갖는 구성을 고려한다면, 사항들은 더욱더 복잡하게 된다. "케이블 TV 시청" 상태들은 이하를 포함할 것이다:
(1) VCR 및 DVD 꺼짐; "꺼짐" 상태로부터의 천이에 의해 달성됨.
(2) DVD 켜짐, VCR 꺼짐; 과거에 "VCR 시청" 상태에 전혀 진입하지 않은, "DVD 시청" 상태로부터의 천이에 의해 달성됨.
(3) DVD 꺼짐, VCR 켜짐; 과거에 "DVD 시청" 상태에 전혀 진입하지 않은, "VCR 시청" 상태로부터의 천이에 의해 달성됨.
(4) DVD 켜짐, VCR 켜짐; 이전의 어떤 시간에 "DVD 시청" 상태에 있었던, "VCR 시청" 상태로부터; 또는 이전의 어떤 시간에 "VCR 시청" 상태에 있었던, "DVD 시청" 상태로부터의 천이에 의해 달성됨.
결론
본 발명의 예시적인 실시예들이 제공되었다. 본 발명은 이들 예들에 제한되지 않는다. 이들 예들은 예시하기 위해 본원에 제공되며, 제한하는 것이 아니다. (본원에서 설명되는 그들의 동등물들, 확장들, 변종들, 일탈들 등을 포함하는) 대안들은 본원에 포함되는 교시들에 기초하여 관련 기술 분야(들)에 숙련된 자들에게 명백하게 될 것이다. 그러한 대안들은 본 발명의 범주 및 정신 내에 속한다.
본 발명은 지정된 기능들의 성능 및 그의 관계들을 나타내는 기능적 빌딩 블록들(building blocks) 및 방법 스텝들의 도움으로 위에서 설명되었다. 이들 기능적 빌딩 블록들 및 방법 스텝들의 경계들은 설명의 편리함을 위해 본원에서 임의적으로 정의되었다. 대안 경계들은 지정된 기능들 및 그의 관계들이 적절하게 수행되는 한 정의될 수 있다. 임의의 그러한 대안 경계들은 따라서 청구된 발명의 범주 및 정신 내에 있다. 따라서, 본 발명의 폭 및 범주는 전술한 예시적인 실시예들 중 임의의 것에 의해 제한되지 말아야 하고, 이하의 청구항들 및 그들의 등가물들에 따라서만 정의되어야 한다.

Claims (27)

  1. 소비자 전자 디바이스들을 제어하기 위한 장치로서,
    사용자와 상기 장치 사이에서 정보를 교환하는 사용자 인터페이스;
    소비자 전자 디바이스와 상기 장치 사이에서 정보를 교환하는 소비자 전자 디바이스 인터페이스;
    천이-기반(transition-based) 제어기 ― 상기 천이-기반 제어기는 상태 정보를 계속 추적하는 것과 무관하게 다수의 소비자 전자 디바이스들을 제어하는 천이 명령들을 생성하고, 천이 명령은 상기 소비자 전자 디바이스들을 하나의 사용자 경험으로부터 또 다른 사용자 경험으로 천이시키기 위해 송신될 수 있는 미리 정의된 시퀀스의 소비자 전자 디바이스 명령들을 포함하고, 상기 천이-기반 제어기는 순환되는 입력들을 갖는 소비자 전자 디바이스들의 입력들을 알려진 고정된 포인트로 리셋시킬 필요 없이 상기 순환되는 입력들을 갖는 소비자 전자 디바이스들을 지원함 ―; 및
    상기 사용자 인터페이스, 소비자 전자 디바이스 인터페이스 및 천이-기반 제어기에 연결된 제어 로직
    을 포함하는 장치.
  2. 제1항에 있어서, 소비자 전자 구성 정보를 수신하는 상기 제어 로직에 연결된 네트워크 인터페이스를 더 포함하는 장치.
  3. 제1항에 있어서, 상기 천이-기반 제어기는,
    상기 천이-기반 제어기와 상기 제어 로직 사이에서 정보를 교환하는 트랜스시버(transceiver);
    모든 유용한 사용자 경험들에 대한 소비자 전자 디바이스 구성들을 식별하고 사용자 경험들 사이에서 상기 천이 명령들을 정의하는 천이 초기화 모듈;
    현재의 소비자 전자 디바이스 구성을 나타내는 유한 상태 머신(finite state machine)의 노드를 저장하는 현재 노드 모듈; 및
    상기 천이 초기화 모듈에 의해 생성된 천이 명령들을 포함하는 천이 명령 모듈
    을 포함하는 장치.
  4. 제3항에 있어서, 상기 천이-기반 제어기는 사용자가 소비자 전자 디바이스들의 셋팅들을 상기 현재 노드 모듈에 저장된 노드에 의해 표현되는 상기 소비자 전자 디바이스의 셋팅들과 재동기화(re-sync)하게 하는 에러 모듈을 더 포함하는 장치.
  5. 제1항에 있어서, 상기 사용자 인터페이스는 사용자 경험들에 대한 소비자 전자 디바이스 규격들 및 구성들에 관련된 사용자 입력을 수신하도록 구성되어 있는 장치.
  6. 제1항에 있어서, 송신기는 적외선 송신기 또는 IEEE 802.11 프로토콜 또는 Bluetooth 프로토콜에 따라 무선 통신하도록 구성된 송신기를 포함하는 장치.
  7. 제1항에 있어서, 상기 소비자 전자 디바이스들은 텔레비전, 스테레오, 수신기, VCR, DVD 플레이어, CD 플레이어, 개인용 비디오 레코더, 증폭기, 테이프 플레이어, 케이블 또는 위성 셋-톱 박스, 조명 시스템, 창문 차양 시스템 및 실내 온도 제어(climate control) 시스템 중 하나 이상을 포함하는 장치.
  8. 제1항에 있어서, 상기 천이-기반 제어기는 각 경험에 대해서 어떤 디바이스들이 관련될 필요가 있는지에 대한 사용자 입력에 기초하여 천이 명령들을 생성하는 장치.
  9. 제1항에 있어서, 상기 천이-기반 제어기는 경험에 대해서 필요하지 않은 소비자 전자 디바이스들을 조작하는 것에 상관없이 천이 명령들을 생성하는 장치.
  10. 제1항에 있어서, 상기 천이-기반 제어기는 상기 다수의 소비자 전자 디바이스들의 여분의 상태(redundant states)들을 제거함으로써 상기 천이 명령들을 최적화하는 장치.
  11. 삭제
  12. 소비자 전자 디바이스들의 상태와 무관한 다수의 소비자 전자 디바이스들의 활동-기반(activity-based) 제어를 위한 시스템으로서,
    모든 유용한 사용자 경험들에 대한 소비자 전자 디바이스 구성들을 식별하고 사용자 경험들 사이에서 천이 명령들을 정의하는 천이 초기화 모듈 ― 천이 명령은 상기 소비자 전자 디바이스들을 하나의 사용자 경험으로부터 또 다른 사용자 경험으로 천이시키기 위해 송신될 수 있는 미리 정의된 순서의 소비자 전자 디바이스 명령들을 포함함 ―;
    현재의 소비자 전자 디바이스 구성을 나타내는 유한 상태 머신의 노드를 저장하는 현재 노드 모듈; 및
    상기 천이 초기화 모듈에 의해 생성되는 천이 명령들을 포함하는 천이 명령 모듈
    을 포함하고,
    상기 천이 명령 모듈은 순환되는 입력들을 갖는 소비자 전자 디바이스들의 입력들을 알려진 고정된 포인트로 리셋시킬 필요 없이 상기 순환되는 입력들을 갖는 소비자 전자 디바이스들을 지원하는 시스템.
  13. 제12항에 있어서, 사용자가 상기 소비자 전자 디바이스들의 셋팅들을 상기 현재 노드 모듈에 저장된 노드에 의해 표현되는 상기 소비자 전자 디바이스 셋팅들과 재동기화 하게 하는 에러 모듈을 더 포함하는 시스템.
  14. 제12항에 있어서, 상기 소비자 전자 디바이스들은 텔레비전, 스테레오, 수신기, VCR, DVD 플레이어, CD 플레이어, 개인용 비디오 레코더, 증폭기, 테이프 플레이어, 케이블 또는 위성 셋-톱 박스, 조명 시스템, 창문 차양 시스템 및 실내 온도 제어 시스템 중 하나 이상을 포함하는 시스템.
  15. 제12항에 있어서, 상기 천이 명령 모듈은 각 경험에 대해서 어떤 디바이스들이 관련될 필요가 있는지에 대한 사용자 입력에 기초하여 천이 명령들을 생성하는 시스템.
  16. 제12항에 있어서, 상기 천이 명령 모듈은 경험에 대해서 필요하지 않은 소비자 전자 디바이스들을 조작하는 것에 상관없이 천이 명령들을 생성하는 시스템.
  17. 제12항에 있어서, 상기 천이 명령 모듈은 상기 다수의 소비자 전자 디바이스들의 여분의 상태들을 제거함으로써 상기 천이 명령들을 최적화하는 시스템.
  18. 삭제
  19. 소비자 전자 디바이스들의 상태와 무관한 다수의 소비자 전자 디바이스들의 활동-기반 제어를 위한 방법으로서,
    (a) 경험에 대한 사용자 입력을 수신하는 단계;
    (b) 유한 상태 머신의 현재 상태로부터 사용자-요청 경험을 나타내는 상태로의 천이를 따라감으로써 상기 소비자 전자 디바이스들이, 상기 사용자-요청 경험을 제공하도록 구성된 상태가 되도록 하는 데에 필요한 명령들을 결정하는 단계; 및
    (c) 상기 소비자 전자 디바이스들에 상기 천이 명령을 송신하는 단계
    를 포함하고,
    상기 소비자 전자 디바이스들에 상기 천이 명령을 송신하는 단계는 순환되는 입력들을 갖는 소비자 전자 디바이스들의 입력들을 알려진 고정된 포인트로 리셋시킬 필요 없이 상기 순환되는 입력들을 갖는 소비자 전자 디바이스들을 지원하는 단계를 포함하는 방법.
  20. 제19항에 있어서,
    (d) 이전의 노드로부터 취해진 천이에 기초하여 상기 유한 상태 머신의 현재 노드를 업데이트하는 단계
    를 더 포함하는 방법.
  21. 제19항에 있어서,
    (d) 사용자 영역 내의 상기 소비자 전자 디바이스들 각각을 식별하는 단계; 및
    (e) 상기 소비자 전자 디바이스들의 하나의 구성으로부터 또 다른 구성으로의 천이를 달성하기 위해 전송될 필요가 있는 천이 명령들의 세트를 정의하는 단계 ― 단계 (d) 및 (e)는 단계 (a) 전에 발생함 ―
    를 더 포함하는 방법.
  22. 제19항에 있어서,
    (d) 사용자로부터 에러가 존재한다는 표시를 수신하는 단계; 및
    (e) 상기 소비자 전자 디바이스들의 상태를 상기 유한 상태 머신의 현재 노드에 의해 표현되는 소비자 전자 구성과 정렬시키는 에러 정정 루틴(error correction routine)에 들어가는 단계
    를 더 포함하는 방법.
  23. 제19항에 있어서, 상기 소비자 전자 디바이스들은 텔레비전, 스테레오, 수신기, VCR, DVD 플레이어, 개인용 비디오 레코더, CD 플레이어, 증폭기, 테이프 플레이어, 케이블 또는 위성 셋-톱 박스, 조명 시스템, 창문 차양 시스템 및 실내 온도 제어 시스템 중 하나 이상을 포함하는 방법.
  24. 제19항에 있어서, 상기 소비자 전자 디바이스들에 상기 천이 명령을 송신하는 단계는 각 경험에 대해서 어떤 디바이스들이 관련될 필요가 있는지에 대한 사용자 입력에 기초하여 천이 명령들을 생성하는 단계를 포함하는 방법.
  25. 제19항에 있어서, 상기 소비자 전자 디바이스들에 상기 천이 명령을 송신하는 단계는 경험에 대해서 필요하지 않은 소비자 전자 디바이스들을 조작하는 것과 무관하게 천이 명령들을 생성하는 단계를 포함하는 방법.
  26. 제19항에 있어서, 상기 소비자 전자 디바이스들에 상기 천이 명령을 송신하는 단계는 상기 다수의 소비자 전자 디바이스들의 여분의 상태들을 제거함으로써 상기 천이 명령들을 최적화하는 단계를 포함하는 방법.
  27. 삭제
KR1020107000895A 2007-06-15 2008-06-16 소비자 전자 제품들의 활동-기반 제어를 위한 시스템들 및 방법들 KR101508401B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/812,238 US7769910B2 (en) 2007-06-15 2007-06-15 Systems and methods for activity-based control of consumer electronics
US11/812,238 2007-06-15
PCT/US2008/007487 WO2008156727A1 (en) 2007-06-15 2008-06-16 Systems and methods for activity-based control of consumer electronics

Publications (2)

Publication Number Publication Date
KR20100018078A KR20100018078A (ko) 2010-02-16
KR101508401B1 true KR101508401B1 (ko) 2015-04-06

Family

ID=40133500

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107000895A KR101508401B1 (ko) 2007-06-15 2008-06-16 소비자 전자 제품들의 활동-기반 제어를 위한 시스템들 및 방법들

Country Status (7)

Country Link
US (1) US7769910B2 (ko)
EP (1) EP2171559A4 (ko)
JP (1) JP5352584B2 (ko)
KR (1) KR101508401B1 (ko)
CN (1) CN101681195A (ko)
CA (1) CA2689500C (ko)
WO (1) WO2008156727A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013510461A (ja) * 2009-11-06 2013-03-21 ティーピー ビジョン ホールディング ビー ヴィ マルチメディアのコンテンツを複数の様態にて描写するための方法及び装置
KR101068145B1 (ko) * 2010-03-02 2011-09-27 주식회사 유비앤텍 스마트폰을 이용한 댁내 디바이스 제어시스템
WO2011149558A2 (en) 2010-05-28 2011-12-01 Abelow Daniel H Reality alternate
FR2960663B1 (fr) * 2010-06-01 2013-11-01 Alcatel Lucent Gestion d'objets par systeme de traitement de l'information
TWI423618B (zh) 2010-11-24 2014-01-11 Ind Tech Res Inst 遠端控制方法、系統及裝置及受控設備
KR101718894B1 (ko) * 2011-11-29 2017-03-23 삼성전자주식회사 기기 제어를 위한 유저 인터페이스 제공 시스템 및 방법
US9002694B2 (en) * 2012-05-03 2015-04-07 Freescale Semiconductors, Inc. Verification of design derived from power intent
US9432210B2 (en) 2012-09-12 2016-08-30 Zuli, Inc. System for monitor and control of equipment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060235701A1 (en) * 2005-04-13 2006-10-19 Cane David A Activity-based control of a set of electronic devices

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6690392B1 (en) * 1999-07-15 2004-02-10 Gateway, Inc. Method system software and signal for automatic generation of macro commands
US6784805B2 (en) * 2000-03-15 2004-08-31 Intrigue Technologies Inc. State-based remote control system
JP2002281574A (ja) * 2001-03-15 2002-09-27 Sharp Corp 機器制御方法、機器制御装置、動作状況取得装置、機器制御システム、プログラム、プログラムを記録したコンピュータ読み取り可能な記録媒体
JP3803045B2 (ja) * 2001-08-27 2006-08-02 財団法人新産業創造研究機構 適応的操作支援装置
US6748462B2 (en) * 2001-12-20 2004-06-08 Koninklijke Philips Electronics N.V. Activity-based remote control device
US7170422B2 (en) * 2002-06-24 2007-01-30 Matsushita Electric Industrial Co., Ltd. Personal programmable universal remote control
US7024256B2 (en) * 2002-06-27 2006-04-04 Openpeak Inc. Method, system, and computer program product for automatically managing components within a controlled environment
US7129855B2 (en) * 2003-09-26 2006-10-31 Openpeak Inc. Device control system, method, and apparatus
US7668990B2 (en) * 2003-03-14 2010-02-23 Openpeak Inc. Method of controlling a device to perform an activity-based or an experience-based operation
US7155305B2 (en) * 2003-11-04 2006-12-26 Universal Electronics Inc. System and methods for home appliance identification and control in a networked environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060235701A1 (en) * 2005-04-13 2006-10-19 Cane David A Activity-based control of a set of electronic devices

Also Published As

Publication number Publication date
CA2689500C (en) 2014-04-22
US20080313548A1 (en) 2008-12-18
EP2171559A4 (en) 2011-09-14
EP2171559A1 (en) 2010-04-07
WO2008156727A1 (en) 2008-12-24
KR20100018078A (ko) 2010-02-16
JP2010534001A (ja) 2010-10-28
CA2689500A1 (en) 2008-12-24
US7769910B2 (en) 2010-08-03
JP5352584B2 (ja) 2013-11-27
CN101681195A (zh) 2010-03-24

Similar Documents

Publication Publication Date Title
KR101508401B1 (ko) 소비자 전자 제품들의 활동-기반 제어를 위한 시스템들 및 방법들
US11640760B2 (en) System and method for appliance control via a network
KR101206103B1 (ko) 장치 제어 시스템, 방법 및 장치
EP2151723B1 (en) Home appliance control system and methods in a networked environment
US7154862B2 (en) Device control system, method, and apparatus for server-based or peer-to-peer network environments
EP2339560B1 (en) System and method for automatically setting up a universal remote control
KR101000923B1 (ko) 원격 제어기의 매크로 설정 장치 및 방법
KR101772653B1 (ko) 제어 디바이스 및 방송수신장치 제어 방법
KR20060133986A (ko) 유니버셜 원격 제어 시스템의 프로그래밍을 실행하는 방법
JP2013502819A (ja) ホームネットワークシステム及びその制御方法
EP3329689B1 (en) A universal remote control with automatic state synchronization
JP5367127B2 (ja) 学習型リモコン装置およびその操作用プログラム
KR101890906B1 (ko) 제어 디바이스 및 방송수신장치 제어 방법
KR20050050446A (ko) 전력선 통신이 필요없는 가전 장치 직접 무선 제어 장치및 방법

Legal Events

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

Payment date: 20190227

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200227

Year of fee payment: 6