KR100727977B1 - 가전 제품 상의 작업들을 편성하는 방법 및 시스템 - Google Patents

가전 제품 상의 작업들을 편성하는 방법 및 시스템 Download PDF

Info

Publication number
KR100727977B1
KR100727977B1 KR1020050084650A KR20050084650A KR100727977B1 KR 100727977 B1 KR100727977 B1 KR 100727977B1 KR 1020050084650 A KR1020050084650 A KR 1020050084650A KR 20050084650 A KR20050084650 A KR 20050084650A KR 100727977 B1 KR100727977 B1 KR 100727977B1
Authority
KR
South Korea
Prior art keywords
task
user
devices
descriptions
job
Prior art date
Application number
KR1020050084650A
Other languages
English (en)
Other versions
KR20060051203A (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 KR20060051203A publication Critical patent/KR20060051203A/ko
Application granted granted Critical
Publication of KR100727977B1 publication Critical patent/KR100727977B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1097Task assignment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2642Domotique, domestic, home control, automation, smart house

Abstract

작업 편성 시스템에서 복수의 전자 장치들 중 하나 또는 복수에서 수행되는 사용자 작업을 표시하는 방법이 제시된다. 각 장치는 장치가 수행할 수 있는 기능을 설명하는 기능 설명서를 포함한다. 기능 설명서들은 하나 또는 그 이상의 장치들로부터 획득되며, 특정 작업들에 요구되는 장치의 기능을 설명하는 작업 설명서들이 획득되고, 얻어진 장치 기능 설명서들과 작업 설명서들에 기초하여 작업 제안이 생성된다. 각 작업 제안은 사용자 작업을 얻어진 장치 설명서들과 작업 설명서들 중 하나 또는 그 이상의 추상화로서 표현한다. 작업 제안들은 디스플레이 상에 표시되고 사용자가 그로부터 선택하도록 하는데, 사용자가 선택한 작업 제안은 장치 기능 설명서들에 설명된 장치 기능을 사용하는 작업 설명서들에 기초하여 장치들 중 하나 또는 그 이상에 대한 편성(자동화)에 의해 수행된다.

Description

가전 제품 상의 작업들을 편성하는 방법 및 시스템{Method and system for the orchestration of tasks on consumer electronics}
도 1a는 본 발명에 따른 작업 편성 시스템의 일 실시예의 구조의 예를 나타낸 블록도이다.
도 1b는 도 1a의 시스템에 따른 작업 편성 프로세스의 예를 나타낸 흐름도이다.
도 2는 본 발명에 따른 작업 편성 모듈을 포함하는 작업 편성 시스템의 다른 일 실시예의 구조의 예를 나타낸 블록도이다.
도 3은 도 2의 시스템에서의 의사 언어를 사용한 작업 제안의 예를 나타낸 도면이다.
도 4는 도 2의 시스템에서의 작업 제안을 생성하기 위해 장치로부터 장치 기능 설명서들을 획득하는 것을 나타낸 도면이다.
도 5는 본 발명에 따른 작업 설명서들과 장치 설명서들을 논리적으로 분리하는 예를 나타낸 도면이다.
도 6은 작업 제안을 생성하고 표시하는 단계들의 예를 나타낸 흐름도이다.
도 7은 작업 제안을 표시하여 사용자가 선택하게 하고 도 2의 시스템에서의 작업 편성 모듈에 의해 수행되도록 하는 단계들의 예를 나타낸 흐름도이다.
본 발명은 장치의 사용자 제어를 위한 사용자 인터페이스의 제공에 관한 것으로서, 특히 일군의 가전(Consumer electronic: CE) 장치들에 대한 사용자 작업들을 제시하는 것과 표시하는 것에 관한 것이다.
TV, VCR, DVD 플레이어, CD 플레이어 등과 같은 가전 장치들의 사용자 제어를 위한 통상적인 사용자 인터페이스는 사용자 작업들을 장치에 표시하지 않는다. 대신 사용자에게 일련의 장치의 기능들을 제시하고 사용자가 작업을 수행하기 위해 이들 장치 기능들의 조합을 선택하게 한다. 예를 들면, 비디오 테이프를 보기 위해서는 사용자가 입력(테이프)을 선택하고, 테이프를 되감고, VCR의 플레이 버튼을 눌러야 한다. 그 결과로서, 사용자는 단순히 “비디오 테이프를 보고 싶다”라고 명시하여 이와 같은 작동을 자동화할 수는 없는 것이다. 따라서 사용자는 원하는 작업을 직접 표현할 수는 없으며, 반드시 장치를 직접 제어하여 원하는 기능들(예를 들면, 입력 선택, 테이프 되감기, VCR의 재생 버튼 누르기)을 수행해야 한다.
이는 전통적인 소프트웨어 아키텍쳐와 유사한데, 이러한 소프트웨어 아키텍쳐에서는 응용 프로그램의 개념에 작업들이 맵핑된다. 예를 들면, 사용자가 편지를 쓰고 싶다면, 사용자는 적절한 기능을 가진 워드 프로세서 프로그램을 수행해야 한다. 그런데, 이러한 과정에서는 사용자에게 잘 알려진 기능을 잘 알려진 이름에 매핑하고 있지 않고 있다.
이와 다른 방식으로는, 사용자에게 메뉴 형식으로 여러 개의 옵션을 제시하는 방법이 있다. 많은 시스템에서는 잘 알려진 작업을 메뉴 옵션 상에 제시하여 선택하게 하고 있다(예를 들면, “문서의 맞춤법 검사” 또는 “VCR 상의 즉시 녹화” 등이 그것이다). 그러나, 이러한 시스템에서도 사용자에게 장치의 기능들만을 제공할 뿐이다.
또 다른 방식으로는, 사용자가 작업을 그래픽으로 표현하도록 허용하는 것이다. 예를 들면, 원하는 작업을 수행하기 위한 일련의 장치들을 선을 이용하여 연결하도록 하는 것이다. 이러한 방식의 문제점은 장치를 사용하는데 따른 복잡함을 사용자로부터 감추고 있지 않다는 것이다. 즉 이러한 방식에서는 사용자에게 그래픽으로 기능을 제시하고 이를 사용자가 선택하게 하며, 사용자가 작업을 수행하는데 필요한 연결을 특정하도록 요구한다.
본 발명이 이루고자 하는 기술적 과제는, 작업들이 그 작업들을 수행하는 일련의 기능들의 동작을 자동화하는 시스템에 표현될 수 있도록, 사용자가 기능들의 집합보다는 작업들을 표현할 수 있도록 허용하는 방법 및 장치를 제공하는 것이다.
본 발명이 이루고자 하는 다른 기술적 과제는 사용자가 사용 가능한 장치들의 기능들에 의해 수행될 수 있는 작업들을 표현할 수 있도록, 작업들을 일반적인 방식으로 표현하도록 허용하는 장치 및 방법을 제공하는 것이다.
본 발명이 이루고자 하는 다른 기술적 과제는 가전 제품과 같은 전자 장치들 상에서의 작업들의 편성을 허용하는 장치 및 방법을 제공하는 것이다.
상기 기술적 과제를 이루기 위한 작업 편성 시스템(task orchestration system)에서 복수의 전자 장치 중 하나 또는 그 이상의 장치에 의해 수행되는 사용자 작업의 작업 편성 방법은, (a) 각각의 장치가 수행할 수 있는 기능을 설명하는 장치 기능 설명서(device function description)를 획득하는 단계; (b) 특정한 작업이 요구하는 장치 기능을 설명하는 작업 설명서(task description)를 획득하는 단계; (c) 상기 획득된 작업 설명서 및 장치 기능 설명서에 기초하여, 사용자 작업을 상기 획득된 장치 기능 설명서 및 작업 설명서 중 하나 또는 그 이상의 추상화(abstraction)로서 나타내는 작업 제안(task suggestion)들을 생성하는 단계; (d) 상기 작업 제안들을 디스플레이 상에 표시하여 사용자로 하여금 하나 또는 그 이상의 장치에서 수행될 작업 제안을 선택하게 하는 단계; 및 (e) 상기 작업 설명서 및 장치 기능 설명서들을 사용하여, 장치들에 의해 수행될 수 있는 작업들과 선택된 작업 제안을 수행할 수 있는 장치의 조합들을 추론하는 단계를 포함하는 것이 바람직하다.
상기 기술적 과제를 이루기 위한 상호연결된 장치들의 네트워크에 대한 작업 편성 시스템(task orchestration system)은, 장치들이 수행할 수 있는 기능을 설명하는 장치 기능 설명서들을 획득하고, 특정한 작업이 요구하는 장치 기능을 설명하는 작업 설명서들을 획득하며, 상기 획득된 작업 설명서들 및 장치 기능 설명서들에 기초하여 사용자 작업을 상기 획득된 장치 기능 설명서들 및 작업 설명서들 중 하나 또는 그 이상의 추상화로서 나타내는 작업 제안들을 생성하는 작업 구동형 제 어기(task driven controller); 및 상기 작업 제안들을 디스플레이 상에 표시하고 사용자로 하여금 선택된 작업 제안이 나타내는 사용자 작업이 하나 또는 그 이상의 장치에서 수행되도록 작업 제안을 선택하게 하는 사용자 인터페이스 장치를 포함하며, 상기 제어기는 상기 작업 설명서들 및 장치 기능 설명서들을 사용하여 장치들에 의해 수행될 수 있는 작업들과 선택된 사용자 작업 제안을 수행할 수 있는 장치들의 조합을 추론하는 것이 바람직하다.
일 실시예에 있어서 본 발명은 네트워크 상의 복수의 전자 장치들 중 하나 또는 그 이상에서 수행되는 사용자 작업들을 표현하는 방법을 구현하는 작업 편성 시스템(task orchestration system)을 제공한다. 각각의 장치는 그 장치가 수행할 수 있는 기능을 설명하는 기능 설명서(function description)들을 포함한다. 기능 설명서들은 하나 또는 그 이상의 장치들로부터 획득된다. 더 나아가 사용자 작업과 그러한 작업들을 수행하기 위해 필요한 기능들을 설명하는 작업 설명서(task description)들이 또한 획득된다. 그 다음엔 이렇게 얻어진 기능 설명서들과 작업 설명서들을 사용하여 사용자에 대한 작업 제안(task suggestion)들이 생성된다. 각 작업 제안은 사용자 작업을 의사 문장(pseudo-sentence)으로 추상적으로 표현되며, 작업 설명서로부터 획득되고, 얻어진 장치 설명서들 중 하나 또는 그 이상을 사용할 수 있다. 작업 제안들은 디스플레이 상에 표시되어, 사용자가 그로부터 선택할 수 있게 한다. 이렇게 사용자가 선택한 작업 제안에 의해 요청된 작업은 하나 또는 그 이상의 장치에서 수행되게 된다. 이와 같이 하여, 작업 제안들은 장치의 기능을 시스템의 사용자로부터 감추게 된다.
일 실시예에 있어서, 작업 제안들은 타입을 가진 일련의 용어들로 구성된 의사 언어 구조를 사용하여 표현되어, 사용자 작업들을 작업 설명서들과 장치 기능 설명서들의 추상화로서 서술한다. 사용자 인터페이스 장치가 사용자가 선택할 작업 제안을 표시하는데 사용되는데, 이러한 작업 제안들은 작업 편성(자동화) 모듈의 제어 아래 있는 하나 또는 그 이상의 장치들에 의해 작업들을 수행하도록 선택된다.
작업 제안들로부터 선택함에 있어, 사용자는 의사 문장 요소들/용어들을 선택하도록 허용되는데, 사용자가 선택한 작업 제안들은 시스템의 작업 편성 모듈의 제어 아래 놓인 장치들에 의해 수행될 수 있다. 작업 편성 모듈은 시스템의 논리적 모듈이 될 수 있다.
일 실시예에 있어서, 그 자체로서, 작업 편성 모듈은 작업 구동형 제어기를 포함하는데, 작업 구동형 제어기는 하나 또는 그 이상의 장치들로부터 장치 기능 설명서들을 획득하고, 특정한 작업들에 의해 요구되는 장치의 기능들을 설명하는 작업 설명서들을 획득하고, 얻어진 작업 설명서들과 장치 설명서들로부터 작업 제안을 생성하며, 작업 제안이 선택되면 얻어진 장치 기능 설명서들에 설명된 기능들을 사용하는 작업 설명서들에 기초하여 선택된 작업 제안을 수행한다.
이와 같은 본 발명의 특징들, 태양들, 및 장점들은 이하의 설명 및 첨부된 특허청구범위 및 첨부된 도면들을 참조하면 이해될 것이다.
일 실시예에 있어서, 본 발명은 장치들이 네트워크에 의해 상호 연결된 일반 가정에서의 가전 장치에서와 같은 다양한 장치들의 집합 위에서 수행되는 사용자 작업을 편성하는 시스템을 제공한다. 사용자 작업의 편성이란 작업을 수행하기 위해 사용되는 장치를 선택하는 과정을 자동화하는 것을 의미한다. 한가지 예에 있어서, 이는 장치 기능 설명서들 및 작업 설명서들을 획득하고 획득된 장치 기능 설명서 및 작업 설명서들에 기초하여 작업 제안들을 생성하고, 작업 제안들에 순위를 매기고, 사용자로 하여금 그 작업 제안들 중에서 선택하게 허용하고, 선택된/요구된 작업 제안을 수행할 장치를 편성(자동화)하는 것을 포함한다. 예를 들면, 언급한 바와 같이 작업 제안들은 서로를 수식하는 일련의 요소들/용어들로 이루어진 의사 문장들로 기술될 수 있다.
본 발명은 사용자 작업들을 의사 문장을 사용하면서도 인간이 읽을 수 있는 증가적이고 탄력적인 방식으로 표현하는 것을 허용한다. 그 자체로서 본 발명은 설명서가 장치의 동작에 어떻게 맵핑되는지를 정의하지 않으며, 대신 작업 동작들을 어떻게 사용자에 의해 해석되는 방식으로 표현할 것인지에 대해 집중한다. 의사 문장들이 내재된 장치들로부터 격리된 추상 계층(abstraction layer)을 제공한다. 작업들은 의사 문장들을 사용하여 손으로 쓴 낙서를 인식한 기호가 실제의 로마자 글자들에 가깝게 되는 것과 대체로 유사한 방식으로 설명된다(예를 들어, 자연어와 완전한 필기체 인식에 비교되는 사용자 작업들의 낙서). 일 구현예에 있어서, 이는 간결한 프로그램이 복잡한 자연어 처리를 거치지 않고서도 사용자 작업을 결정할 수 있도록 허용한다.
작업 편성은 장치에 대한 고수준, 작업 중심, 원거리 제어로서 동작하며, 사용자로 하여금 선택과 설정을 최소화해 준다. 그 자체로서, 여러 기술들의 조합이 사용자 작업의 편성을 자동화하는데 적합한 편성 시스템을 제공하는데 사용된다.
도 1a 및 도 1b에 도시된 구조의 예를 참조하면, 본 발명에 따른 작업 편성 시스템(10)은 사용자 작업들이 사용자로부터의 최소한의 입력에 의해 편성 장치의 동작들의 집합으로 자동화되도록 허용한다. 하나의 버전에 있어서는, 작업 편성 시스템(10)은 세 종류의 논리 장치로서 구성된다. 첫째는 사용자 인터페이스를 보여주는 장치를 포함하는 클라이언트 장치들(20)이고, 둘째는 다른 장치들을 제어하는 장치를 포함하는 제어기 장치들(30), 그리고 셋째는 제어기들에 의해 제어되는 장치를 포함하는 제어되는 장치들(40)이다.
각각의 논리적 장치는 본 발명에 따른 작업 편성을 가능하게 하는 특정한 기능을 가진다. 구체적으로 말하면, 제어되는 장치들(40)은 시멘틱 마크업 언어(semantic markup language) 등과 같은 언어를 사용하여 그들의 기능에 대한 강화된 설명서를 포함한다(이는 그들의 인터페이스를 설명하는 것이 아니라, 대신 그들의 기능에 대해 추상적으로 기술한다). 또한, 장치의 기능에 대한 설명서에 부가하여, 장치는 하나 또는 그 이상의 사용자 작업의 설명서를 포함할 수 있다. 작업 설명서는 그들의 기능을 사용하는 작업들만을 열거하거나, 그들의 기능 및 다른 장치들의 잠재적인 기능을 사용하는 작업들을 열거하거나, 또는 다른 장치들을 위한 작업들을 열거할 수 있다.
제어기 장치들(30)은 작업 편성(task orchestration: TO) 모듈들(50)을 포함하며, 장치들이 사용자가 선택한 작업 제안들(즉 작업 요구들)을 수행하도록 편성하는 기능을 포함한다. 제어 접근 소프트웨어에 부가하여, 제어기(30)는 작업 편성 모듈(50) 내에 추론 시스템(예를 들어, 전문가 시스템, 규칙 시스템 등)을 포함하는데, 이는 작업 요구를 수행하는데 필요한 일련의 동작 및 장치들을 추론할 수 있다. 제어기(30)는 작업 및 장치 기능 설명서를 획득하고 이 정보를 사용하여 (1) 현재의 장치, 그들의 기능 및 설명된 작업들이 주어진 상태에서, 어떤 작업들이 시스템에서 유효한가 및 (2) 요구된 작업을 충족하기 위해서 어떠한 장치의 조합들이 사용될 수 있는지를 추론한다.
클라이언트 장치들(20)은 작업 제안들을 사용자에게 요구하고 표시할 수 있는 기능을 포함한다. 그 자체로서, 작업들을 사용자에게 보여주기 위해 제어기(30)의 작업 편성 모듈(50)과 연결될 사용자 인터페이스를 포함한다. 이러한 연결은 사용자 인터페이스(예를 들어 GUI)가 현재 장치(40), 작업 및 기능이 주어진 상태에서 가능한 작업 제안들만을 표시할 수 있게 한다. 더 나아가, 작업 제안의 일부가 만들어진 경우(즉, 작업 요구의 일부가 특정된 경우), 사용자 인터페이스는 제어기(30)를 사용하여 적용 가능한 사용자 옵션들을 감축할 수 있다. 이러한 기능을 사용하여, 클라이언트 장치(20)는 이용 가능한 작업들과 옵션들을 의사 문장들을 사용하여 제시할 수 있다. 작업 제안은 사용자에 의해 선택되고, 선택된 작업 제안을 수행하라는 요구는 선택된/요구된 작업을 수행하기 위해 제어기(30)에 의해 처리된다. 이를 통해 제어기(30)는 간결화된 방식으로 어떠한 사용자 작업이 기대되는지를 결정하고 이를 작업 설명서와 일치시키며 결국 작업을 완성하기 위해 장치 선택 및 설정에 일치시킨다. 어느 방에서 비디오를 재생할 것인가와 같은 사용자 선호들은 수식어들로서 작업 제안 의사 문장의 일부로서(예를 들어, 의사 문장인 ‘침실 에서’ 비디오를 재생하라 또는 ‘헤드폰을 사용하여’ 비디오를 재생하라) 특정된다. 작업 제안들을 선택하기 위한 이러한 검색 공간의 부분들(즉, 의사 문장들의 이용 가능한 부분들)은 이하에서 작업 및 장치 설명서들을 분리한 가전을 기술함에 의해 좀더 설명될 것이다.
도 2는 본 발명에 따른 작업 편성 시스템(10)의 기능 구조의 일 예를 나타낸 것이다. 본 발명에 의한 작업 편성 시스템(10)은 사용자 인터페이스(GUI) 모듈(60) 및 제어기(30)를 포함하며, 제어기(30)는 내재하는 클라이언트 장치들(40)의 상위 계층으로서 작업 편성 모듈(50)을 포함한다. 제어기(30)와 클라이언트 장치들(40) 사이의 미들웨어 계층/모듈(70)은 장치들을 제어하도록 해주는 중간 계층의 기능들(예를 들어, 장치들을 제어하기 위한 API 등)을 제공한다. 미들웨어 모듈(70)의 동작에 대한 설명은 본 발명의 범위를 벗어나는 것이므로, 여기서는 상세한 설명을 생략한다.
사용자 인터페이스(60)를 통해서, 작업 편성 모듈(50)은 일군의 가전 장치들(40)에 의해 수행될 수 있는 작업 제안들을 제시하고 표시한다. 그 자체로서, 작업 편성 모듈(50)은 그러한 작업 제안들이 어떻게 장치들(40)에 맵핑되는지를 감추며, 사용자에게는 작업 제안들만을 표시한다. 작업들을 증가적이고 탄력적이며 또한 인간이 읽을 수 있는 방식에 의해 작업 제안들로 기술하는 방식이 제공된다. 이러한 방법은 작업 설명서(95)가 어떻게 장치들(40)의 동작에 맵핑되는지에 관해서 초점을 맞추지 않으며, 대신 작업 동작들을 사용자에 의해 해석될 수 있는 방식으로 표현하는 것에 초점을 맞춘다(예를 들면, 작업 제안들을 의사 문장들의 용어를 사용 한다).
이제 도 3을 참조하면, 일 예에 있어서, 작업 제안은 의사 문장을 나타내는 간략화된 언어 구조(200)에 의해 기술될 수 있다. 이하 설명의 편의를 위해서, 예시된 구조는 서로를 수식하는 용어들의 집합으로 구성되어 있으며, 이 예에서는 동작을 정의하는 ‘동사’들의 표준화된 집합이 계층적 언어 트리(200)의 루트로 사용된다. 예를 들어, “재생”, “보여주기”, “보기”, “조정하기”, “물주기”, 등이 ‘동사’들의 집합을 이루며, 각 ‘동사’ 뒤에는 “사진”,”잔디밭”,”영화” 등과 같은 ‘주제어’가 나온다. ‘주제어’는 ‘동사’들에 의해 정의된 동작의 범위를 감축함에 의해 ‘동사’들을 수식한다.
‘주제어’ 뒤에는 특정한 동작의 범위를 더 감축하는 인스턴스와 같은 ‘수식어’들의 조합이 나온다. 예를 들면, “재생” “영화” “매트릭스”는 특정한 인스턴스로서 “매트릭스”가 부가된 경우이다. “동굴에서” 또는 “오후 8시에”와 같은 다른 ‘수식어’들이 작업을 제어하기 위해 특정될 수 있다. 뿐만 아니라, 다른 수식어들이 영화 “매트릭스”가 저장되어 있는 매체를 특정할 수 있다. 주의할 것은 이 구조는 작업들을 특정하며, 장치의 동작을 특정하지는 않는다는 것이다. 볼륨이나 채널을 변경하는 것과 같은 장치의 동작들은 여기서는 작업으로 취급되지 않으며, 대신 그러한 것들은 존재하는 작업에서의 동작들이 된다(예를 들면 “TV” “보기” 중의 볼륨 변경). 이러한 구조(200)에서의 단어의 조합은 특정한 문맥(예를 들어 가정에서)에 대해 정해진 용어들의 집합에 의해서가 아니라 장치(40)에 위치하는 작업들의 표준화된 설명서에 의해 채워진다. 이러한 장치들은 현 재 시스템 상에서 연결되고 접근 가능한 장치들에 기초하여 각 레벨에 대한 용어들의 집합 및 가능한 수식어들을 생성하기 위해 검색된다. 이러한 접근 방식은 사용자 작업을 특정하는 것을 훨씬 쉽게 하는데, 이는 크기가 크면서 별 관계없는 단어 베이스는 올바른 의사 문장을 결정하기 어렵게 만들기 때문이다.
이제 또한 도 4에 도시된 예시 다이어그램을 참조하면, 장치들(40)은 각 레벨(즉, 의사 문장에서의 위치)에서의 용어들의 집합 및 작업 설명서들(95)과 같은 홈 네트워크(85)에서 현재 연결되거나 접근 가능한 장치들에 기초하여 가능한 수식어들을 위해 검색된다. 이러한 방식에 의해 작업 제안을 특정하는 것이 간단해지는데, 이는 그렇게 하지 않으면, 무관하지만 크기가 큰 단어 베이스가 올바른 의사 문장을 결정하는 것을 어렵게 하기 때문이다.
본 발명에 따른 이러한 실시예에 대한 개선은 다른 용어들 또는 수식어들의 현재 선택에 기초하여 가능한 용어들 또는 수식어들의 집합만을 결정하는 것이다. 예를 들면, 만일 “재생” 또는 “CD 플레이어에서”가 선택되면, 비록 “재생” “비디오”가 가능한 작업이라고 하더라도, 비디오는 CD 플레이어에서 재생할 수 없기 때문에 시스템에서 장치 작업 설명서에 적합하지 않게 된다. 대신에, 만일 그것만이 존재하는 장치들(40)에 기초하여 가능한 옵션인 경우, 단지 “음악” 만이 사용자에게 제시된다.
본 발명에 따른 이러한 실시예에 대한 다른 개선 방법은, 작업이 부분적으로만 특정되도록 허용하는 것이다(예를 들어 “재생””음악””노래명”). 만일 복수의 작업들이 일치하면, 사용자에 대한 옵션을 결정함으로써 작업이 인스턴스화된 다. 이는 랜덤한 선택에 의해서, 과거의 요구들에 기초한 학습에 의해서, 또는 좀더 복잡한 접근 방법에 의해서 이루어질 수 있다. 이렇게 함에 의해 소수의 옵션이 존재하거나 작업 편성 모듈(50)이 지금까지의 사용자 입력에 기초하여 사용자에 대한 적합한 선택을 결정할 수 있다는 아는 때 사용자들이 의사 결정과 사용자 인터페이스 옵션들을 줄일 수 있도록 허용한다. 작업 편성 모듈(50)은 또한 사용 가능한 장치들과 자원에 기초하여 그것들을 결정할 수 있으므로 가능한 옵션들을 채워넣을 수 있다. 예를 들면, 만일 단지 하나의 음악 장치(CD 플레이어)만이 존재하면, 방에 대한 수식어들과 장치에 대한 선택들은 내재하는 기계 자동화의 부분에서 수행 중에는 제거된다.
따라서, 본 발명은 사용자들이 장치 동작들이 아니라 작업들을 특정할 수 있도록 해주며, 응용 프로그램 또는 장치들이 그들이 수행하는 기능들을 특정할 수 있도록 해주며, 사용자 인터페이스가 존재하는 모든 작업들이 아니라 표현/수행 가능한 작업들만을 검색하도록 해주며, 사용자들이 작업들을 빨리 표현할 수 있는 표준화된 어휘를 제공하며, 간결한 프로그램이 복잡한 자연어 처리를 거치지 않고서도 사용자 작업들을 결정할 수 있도록 해준다.
언급한 바와 같이, 다른 일 태양에 있어서, 본 발명은 분리된 작업 설명서들과 장치 기능 설명서들을 사용하여 가전 장치들을 기술하는 방법을 제공한다. 그 자체로서, 장치들의 상호 작용은 장치 기능 설명서들과 추상적인 장치 상호 작용들을 사용하여 표현된다. 이러한 방법에 의해, 장치 설명서(즉, 장치 기능) 및 사용자 작업(즉, 장치 사용)이 풍부한 설명서들의 집합으로 논리적으로 분리된다. 그러 한 설명서들을 사용하여 가전 제품들(가정에서 사용되는 제품들과 같은)의 집합 및 그것들이 상호 작용하는 가능한 방법들의 집합을 기술하는 것이 가능해진다. 작업 설명서들과 장치 설명서들의 복잡도에 기초하여, 복잡한 순차적이고 병행적이고 공동 작용할 수 있는 상호 작용들이 가전 장치들이 사용자 작업들을 수행할 수 있는 기능들을 편성하기 위해 표현될 수 있다. 이에 의해, 블랙 박스로 작용하는 제어기 프로그램보다는 탄력적인 방식의 설명서에 의해 설명되는 장치의 상호 동작, 사용자가 느끼는 가전 장치의 사용에 대한 구조에 좀더 일치하는 장치의 상호 동작들, 상호 작용을 하나의 장치에만 집중되지 않도록 하는(즉 장치가 작업에 직접적으로 맵핑되지 않도록 하는) 작업 설명서, 및 상호 작용 가능한 설명서와 설명서들의 교환을 가능하게 하는 작업 제안으로서의 사용자 작업의 설명서들을 제공한다.
도 5를 참조하면, 일 예에 있어서, 가전 제품들(40)의 설명서(300)는 사용자 작업을 나타내는 작업 설명서(310)와 장치의 기능을 나타내는 장치 설명서(320)라는 두 개의 논리적 설명서들로서 제공된다. 이러한 설명서들(310, 320)은 작업 제안이 제어기(30)가 홈 네트워크(85)에서 어떤 장치들(40)이 작업 설명서(310)에 기초하여 작업을 제안을 수행할 수 있도록 사용 가능한지를 이해할 수 있게 허용하는 방식에 의해 관련되어 있다. 이러한 타입의 설명서(310)는 많은 용도가 있으나, 주로 작업들이 홈 네트워크(85)의 장치들(40)로부터 분리되도록 허용한다. 그리고 작업들이 잘 알려진 현존하는 장치들에 대해 미리 정해지고 미리 정의된 순서로 작업들을 프로그램적으로 수행하는 블랙 박스 제어기 스타일의 응용 프로그램으로부터 분리되도록 허용한다.
도 5에 도시된 바와 같이, 작업 설명서(310)는 (1) 작업 외부 설명서(330), (2) 작업 성질(340), (3) 작업 기능(350), 그리고 (4) 작업 동작(360)의 네 개의 부분을 포함한다. 작업 외부 설명서(330)는 의사 문장들의 아웃라인을 제공한다(주의할 것은 이 예에서 도 2의 작업 설명서(95)와 도 5의 작업 설명서(330)는 동일하다는 점이다). 작업 성질들(340)은 작업에 관한 유용한 정보를 표현한다(예를 들면, 그것은 DVD가 재생될 때는 임의적으로 조명을 어둡게 하거나, 특정 사용자에 대해 이러한 작업을 사용할 수 있도록 허용할 수 있다). 작업 기능들(350)은 작업이 그 목표를 달성하는데 필요한 기능을 표현한다. 이러한 기능은 장치 설명서(320)에 사용된 용어들을 공유하여 기술되며 장치(40)의 기능을 추상적으로 기술한다. 예를 들면, DVD 플레이어는 “AV소스”라고 표현될 수 있다. 이러한 기능은 기능들의 계층 구조로서 기술된다. 나아가 DVD 플레이어가 다기능 동작의 형태를 가진다면 AV 소스로서 기술될 수 있다. 또는 단순히 DVD 플레이어들을 기술하는 “AV소스”의 서브 클래스인 “DVDAV소스”라고 표현될 수 있다. 마지막으로, 작업 동작들(360)은 나열된 기능들을 수행하는 장치들의 차례와 조합들을 기술한다.
나아가 장치 설명서(320)는 작업 설명서와 유사한 구조를 가지며 기능 설명서를 공유한다. 장치 설명서들(320)은 기능(350a)을 포함할 수 있으며, 여기서 작업 설명서(310) 상의 작업 기능(350)은 장치 설명서(320) 상의 기능(350a)에 대응한다. 기능(350a)은 기능 설명서(370), 장치 기초 지식(380) 및 장치 속성들(예를 들어, 스크린 사이즈, 특징들 등)을 포함할 수 있다. 기능 설명서(370)는 장치(40)의 기능에 대한 아웃라인을 제공한다. 예를 들면, CD 플레이어는 오디오싱크이며, 반면 초월코드(transcode)는 MPEG오디오싱크 및 MPEG오디오소스로서 기능을 가질 수 있다. 장치 기초 지식(380)은 기능 설명서(380)에 기초하여 장치(40)를 제어하는 방법을 설명한다. 예를 들면, 볼륨 레벨을 변경하거나, 장치의 연결을 설정하는 등의 동작을 위해 호출되는 URL을 포함할 수 있다. 택일적으로, 그것은 장치를 제어하기 위해 필요한 UPNP 상호 작용들을 표현함에 의해 UPNP 장치를 제어하기 위한 기초 지식을 가질 수 있다. 본 발명의 기술 분야의 숙련자라면 인식할 수 있는 바와 같이, 다른 장치 제어 프로토콜들이 또한 활용될 수 있다.
실행 시간에, 작업 설명서들(310)과 장치 설명서들(320)은 작업 편성 모듈(50)에 의해 읽혀지고 분석되어 작업 기능들(350)에 일치하는 장치들(40)의 집합이 존재하는지를 결정한다. 만일 존재한다면, 작업 편성 모듈(50)은 그 작업에 일치하는 장치 기능(350)을 그 작업에 대한 후보 장치로 정한다. 작업 편성 모듈(50)은 그 다음 사용 가능한 장치들(40)을 반복적으로 검색하여 작업 기능(350)을 성취할 수 있는 장치들(40)의 조합을 결정한다. 이러한 검색에서 일치하는 작업/장치 조합의 여러 집합들이 답으로서 주어지며, GUI(60) 상에 출력 솔류션(75)으로서 사용자에게 제시된다. 사용자는 그가 선호하는 의사 문장을 선택하는데, 이는 작업/장치 조합에 맵핑되며 작업을 성취하기 위해 장치 설명서(320) 상의 장치 기초 지식(380)을 사용하는 장치 동작들을 차례로 요구하는 작업 동작을 사용함에 의해 작업을 인스턴스화한다.
장치 설명서들(320)이 단지 논리적으로만 설명서(300) 상의 작업 설명서(310)와 분리되어 있기 때문에, 장치(40)가 큰 작업에 참여하는 것과 더불어 작업 설명으로서 그 기능을 기술하는 것에 아무런 제한이 없으며, 설명서들은 물리적으로 결합될 수 있다. 대체적인 구현은 시멘틱 웹 기술을 사용하여 장치 설명서들(320)과 작업 설명서들(310)을 작성하여, 공유 시멘틱 온톨로지(언어)가 그 시멘틱이 기계가 읽을 수 있는 형태로 모든 장치들과 작업들의 양상을 풍부하게 기술할 수 있도록 허용하는 것이다. 이상의 설명이 가전의 측면에서 기술되었지만, 본 발명의 기술 분야의 숙련자라면 본 발명이 모바일 장치들이나, 데스크탑 컴퓨팅, 기업 컴퓨팅 등의 다른 응용 분야들에서 사용될 수 있음을 인식할 수 있을 것이다.
그 자체로서, 모듈(50)은 작업 설명서들과 장치 설명서들을 결합하여 장치가 특정 작업에 사용될 수 있는지를 결정한다. 사용자 작업을 수행하기 위하여, 모듈(50)은 작업과 장치 설명서들의 결합 상의 정보를 획득하여 장치의 기초 지식을 결하는데, 여기서 작업 설명서는 모듈(50)이 장치 동작들을 편성하는데 사용하는 동작 스크립트의 순열을 포함한다. 나아가, 모듈(50)은 복수의 장치 설명서로부터의 기초 지식 정보를 작업 설명서 스크립트와 결합하여 사용자 작업을 위한 장치들을 제어하기 위한 특정한 스크립트를 생성한다. 장치 기초 지식 정보는 장치 설명서로부터의 기능에 근거하여 특정된다. 나아가 장치 기초 직식 정보는 장치의 제어를 결정하기 위한 상호 작용들과 파라미터 설정들을 특정한다. 장치 기초 지식은 사용될 동작과 파라미터들을 기술하는 URI(Uniform Resource Identifier)의 형태로 특정될 수 있다. 나아가, 장치 기초 지식 정보는 요구되는 기능을 성취하기 위해 결합되는 복수의 기초 지식 정보 섹션들을 포함할 수 있다. 또한, 장치 설명서는 제어기 또는 장치 소프트웨어에 의해 사용되는 다른 프로토콜들을 맵핑하는 복수의 기초 지식 정보 섹션들을 포함할 수 있다.
지금부터는 본 발명의 일 실시예에 따라 상기 방법들을 사용하여 내재하는 장치들(40)의 기능 및 지능을 강화하는 작업 편성 시스템(10)의 구현 예를 설명한다.도 2에 도시된 바와 같이, 작업 편성 시스템(10)은 사용자가 작업 제안을 시스템(10)에 요구하는 기술과 작업 제안을 해석하고 처리하는 기술들을 구현한다. 이 실시예에서, 의미적으로 풍부한 마크업 언어상의 개체들(예를 들면, 장치들)에 대한 발전 중인 온톨로지들을 포함하여, 몇몇 시멘틱 웹 기반의 툴들과 기술들이 효율적인 시스템을 만들기 위해 적용된다. 온톨로지들은 가전 장치들(40)과 사용자 작업 요구들(95)을 표시하기 위해 구조화되고, 이하에서 더 상세히 설명될 것이다.
작업 편성 모듈(50)은 사용자에게 작업 제안들을 제공하고, 사용자로부터 사용자가 선택한 작업 제안들의 수행을 편성하라는 요구들을 받아들인다. 작업 편성 모듈(50)은 사용자 인터페이스(도 2의 60)와 결합하여 최상위 계층으로서 추론 엔진(도 1b의 65)을 사용하여 선택된 작업 제안(95)을 파싱함으로써 이를 처리하고, 선택된 작업 제안을 수행할 수 있는 적절한 장치들(40)을 발견하고, 이 정보를 수행하기 위한 아래쪽 계층들(예를 들어, 모듈(70))로 전달한다. 일 예에 있어서, 추론 엔진(65)과 함께 적합한 마크업 언어가 그 언어에 의해 표현된 내용에 대해 추론하는데 사용되는데, 그에 의해 각 개체들은 서로와 통신하고 이해한다. 한가지 버전에 있어서, 시멘틱 기술들이 장치 기능과 장치들의 기능 중심의 결합을 촉진하기 위해 장치 기능 및 작업을 기술하는데 사용된다.
예를 들어, 홈 네트워크(40) 상에서는 다음과 같은 장치(40)들의 타입이 사 용된다.
TV - 오디오/비디오 보여주기
DVD - 오디오/비디오 재생, 사진 보여주기
PC - 오디오/비디오 보여주기, 사진 보여주기, 게임 플레이하기, AV 소스
리시버 - 소스를 싱크에 연결, 오디오 플레이, 라디오 플레이
냉장고 - 웹 서핑, 오디오/비디오 플레이, 제어
전등 - 제어
전화기 - 오디오 플레이, 사용자 호출, 사용자 데이터 베이스
PVR - 오디오/비디오 녹화, 중지, 재생, 사진 저장, 사진 보여주기
카메라 - 오디오/비디오 녹화, 오디오/플레이 재생, 오디오/비디오 스트리밍 보여주기 등
이와 같은 홈 네트워크(85) 상에서 가능한 작업들의 예로는 다음과 같은 것을 포함한다.
“물주기” “정원”
“재생” “영화” “매트릭스” “서라운드 사운드로”
“보여주기” “사진” “브라질”
“동기화” “MP3 플레이어”
“어둡게 하기” “전등”
“재생” “내 음악” “거실”
상기와 같은 예들(시나리오들)은 예를 들어 작업 제안을 표현하기 위한 의사 문장 언어를 사용하는데, 반면 예를 들어 장치와 기능들을 설명하기 위해 시멘틱 언어가 사용될 수 있고, 지식에 대해 추론하고 작업 요구를 수행하기 위해 추론 엔진이 사용될 수 있다. 일 예에 있어서, 온톨로지들/규칙들을 표현하기 위해 선택된 언어는 일치의 시멘틱 레벨, 고도의 탄력성 및 표현력, 타입과 포섭 관계에 대한 지원, 데이터 타입들에 대한 지원 및 제한의 표현 등을 제공한다. 지식 베이스(105)가 작업 편성 모듈(도 2의 50)에 포함된다.
다른 예에 있어서, 시멘틱 웹 기술들이 작업 편성 모듈(50)에서 활용될 수 있다. 시멘틱 웹(Semantic Web)은 정보의 의미가 잘 정의되도록 현재의 웹을 확장한 것이며, 컴퓨터들과 사람들이 더 잘 협력하도록 해준다. 시멘틱 웹을 위해 디자인된 마크업 언어는 다양한 개체들 간의 공통적인 이해를 제공한다. 시멘틱 웹 기술의 예로는 DAML+OIL, DAML-S, OWL 등이 포함되는데, 이들은 시멘틱 웹을 위해 개발되었다. 작업 편성 모듈(50)의 일 예에 있어서, 장치와 작업 온톨로지(110)들은 DAML+OIL을 사용하여 구조화되고 지식 베이스(105)에 적재된다. 장치들(40)의 다양한 속성들과 기능들이 식별되고 또한 그들 속성들 사이의 관계를 포착한 온톨로지가 구조화된다. 나아가, DAML+OIL에서의 장치 인스턴스들(115)이 온톨로지에 기초하여 구조화되는데, 여기서 인스턴스는 본질적으로 그 인터페이스와 기능의 관점에서 본 장치의 의미적 설명이다. 도 1b의 작업 편성 흐름에서 도시된 바와 같이, 사용자가 선택한 작업 제안은 요구된 바에 따라 하나 또는 그 이상의 작업들로 나누어지고 사용 가능한 장치들에 의해 수행될 수 있는 작업들의 기능들에 맵핑된다. 이 맵핑은 온톨로지 상에 표현된 정보를 추론하고 장치/사용자의 상태/선호도에 대 해 부가적인 규칙을 적용함으로써 가능하게 된다.
이제 도 2 및 도 4의 예를 참조하면, 작업 편성 모듈(50)은 필요한 때 언제나 장치 설명서를 획득할 수 있도록 장치 편성 모듈(50)에 인터페이스를 제공하는 모듈과 상호 작용하는 제어기(30) 내에 존재한다. 일 실시예에서, 존재하는 장치들에 의해 제공되는 DAML+OIL 작업 인스턴스들(120)은 지식 베이스(105)에 표명되고, 제스 법칙(Jess Rule) 및/또는 DAML+OIL로 쓰여진 미리 정의된 사용자 선호도(130)들이 또한 지식 베이스(105)에 적재된다. 나아가, 요구된 작업에 대한 장치 선호도 및 작업에 필요한 기능에 대한 속성 선호도들이 통합된다. 모든 가능한 ‘동사들’(예를 들어, “재생”)과 ‘주제어들’(예를 들어 “영화”)이 지식 베이스(105)로부터 검색되며 GUI(60) 상에 표시된다.
그 자체로서, 사용자 작업 요구는 GUI(60)를 통해 필드(예를 들어 도 2의135)들의 집합으로서 획득되며 작업 편성 모듈(50)의 지식 베이스(105)의 입력으로서 제공된다. 일 예에 있어서, 사용자로부터 획득된 입력은 모든 선택 필드들을 포함한다. 다른 예에 있어서, 사용자로부터 획득된 입력은 (a) 필수 필드: 동사, 주제어 및 내용, 장소, 단말 장치 및 (b) 선택 필드: 속성들(예를 들어, 서라운드 사운드, 와이드 스크린 등)을 포함한다.
이 예에 있어서, 사용자가 ‘동사’ 및 ‘주제어’를 선택한 뒤, 작업 편성 모듈(50)은 모듈(70) 내의 프로토콜 스택과 통신하여 ‘주제어’의 맥락에서 관련된 가능한 모든 내용을 획득한다.
사용자가 선택한 완전한 작업 제안을 획득하면, 작업 편성 모들(50)은 작업 제안 및 대응하는 작업 설명서(95)를 파싱하고 요구에 대한 솔류션을 서비스할 수 있는 장치들(40)의 모든 가능한 조합들을 계산한다. 다음, 작업 편성 모듈(50)은 선호도를 적용하고 솔류션들에 순위를 매긴 뒤 GUI(60)에 사용자를 위한 출력(75)을 표시하기 위해 전송한다.
언급한 바와 같이, 작업 편성 모듈(50)은 GUI(60)을 통해 사용자와 상호 작용하며, 추론 엔진(도 1b의 65)과 상호 작용하며, 규칙 엔진(도 2의 130)과 상호 작용한다. 작업 편성 모듈(50)은 그 외에도 온톨로지들을 사실들의 형태로 저장하고 그 데이터에 규칙들(130)을 적용하는 지식 베이스(105)를 포함한다.
이제 도 6을 참조하여, 동작 시나리오의 일 예를 설명한다.
1. 400 단계에서, 초기화 중에 장치와 작업 온톨로지들(110)이 지식 베이스(105)에 표명되는데, 여기서 온톨로지의 내용은 (‘성질 값’ ‘서브 클래스’ ‘사람’ ‘개인’)의 포맷을 가진 사실로 변환된다.
2. 405 단계에서, 장치들과 작업들의 인스턴스들(115, 120)이 또한 지식 베이스(105)에 표명된다. 이 예에서는 온톨로지들(110)이 TV, CD 플레이어, DVD 플레이어, IPAQ, 스피커, 트랜스코더(transcoder) 등의 AV 장치들에 대해 구현된다.
3. 410 단계에서, 온톨로지들(110)과 인스턴스들(115, 120)이 적재된 뒤, ‘동사들’, ‘동사들’과 관련된 ‘주제어들’ 및 장치들(40)에 의해 지원되는 ‘작업들’이 지식 베이스(105) 내의 사실들로부터 추출된다.
4. 415 단계에서, 유사한 방식으로, 위에서 식별된 작업들을 수행하는 데 필요한 ‘기능들’이 또한 지식 베이스(105) 내의 사실들로부터 추출되어 쉬운 검색 을 위해 새로운 사실들로 저장된다.
5. 420 단계에서, GUI(60)를 사용하여 사용자가 예를 들어 ‘동사’, 그 ‘동사’의 맥락과 관련된 ‘주제어’ 및 관련 내용(선택된 주제어가 속한 카테고리) 등을 선택함에 의해 작업 제안(95)을 특정/선택한다. 사용자는 또한 선호하는 위치 및/또는 요구된/선택된 작업 제안이 수행될 단말 장치(40)를 특정할 수 있다.
6. 425 단계에서, 작업을 수행하기 위해 요구되는 장치의 기능들이 식별된다(바람직하게는, 이러한 정보는 미리 계산되어서 용이하게 검출될 수 있는 사실들로 저장되어서 이 단계에서 소요되는 시간이 적어야 한다).
7. 430 단계에서, 작업 편성 모듈(50)은 필요한 기능들을 가지는 장치들(40)을 솔류션으로서 식별한다. 만일 작업이 여러 가지 다양한 기능을 요구한다면, 작업 편성 모듈(50)은 집합적으로 그 작업을 수행/서비스할 수 있는 장치들(40)의 집합을 식별한다.
8. 435 단계에서, 사용자가 선택한 작업 제안을 수행할 수 있는 장치들(40)의 집합을 식별한 후, 사용자 선호도(130)가 솔류션들의 집합에 적용되고 순위가 매겨진다.
9. 440 단계에서, 사용자에게 마침내 솔류션들의 집합이 출력(75)으로서 그들의 순위가 증가하는 순서대로 표시된다. 홈 네트워크에 대한 순위의 예로는 가정에서의 거실이 플라즈마 TV, PC, 스피커 및 IPAQ을 포함하는 것이다. 사용자는, 영화를 재생할 때 장치의 스크린 사이즈를 40 인치 이상으로 하라든지, 오디오를 재생할 때 IPAQ보다는 스피커를 선호한다든지 하는 선호도를 설정한다. “영화 매트 릭스를 거실에서 재생하라”와 같은 작업 요구에 대해, 작업 편성 모듈(50)은 요구된/선택된 작업 제안을 수행할 수 있는 다음의 장치들의 조합(솔류션들)을 식별한다: PC와 스피커, PC와 IPAQ, 그리고 플라즈마 TV. 솔류션들은 상기와 같은 사용자 선호도에 따라 순위가 매겨져서, (1) 플라즈마 TV, (2) PC와 스피커, (3) PC와 IPAQ와 같이 사용자에게 표시된다.
사용자는 솔류션들 중에서 가장 선호하는 장치들(40)의 조합을 선택하고, 작업 동작들을 사용하여 작업을 인스턴스화 하는데, 작업 동작들은 작업을 성취하기 위해 장치 설명서(도 5의 320) 상의 장치 기초 지식(380)을 사용하는 장치 동작들을 차례로 요구한다. 언급한 바와 같이, 사용자가 요구된 작업을 수행하기 위해 장치들(40)의 집합을 선택하면, 작업 편성 모듈(50)은 작업에 요구되는 장치들에 적합한 인터페이스들을 불러낸다.
도 7의 흐름도 상의 각 단계를 참조하여, 다음에는 사용자 인터페이스 모듈(60)의 실시예에서의 동작의 예를 설명한다. 사용자는 다음에 설명하는 바와 같은 네 단계를 거쳐 GUI 모듈을 사용하여 작업 요구를 증가적으로 작성할 수 있다.
1. 500 단계에서, GUI(60) 상에 유효한 ‘동사들’이 표시된다. 사용자는 리스트에서 ‘동사’를 선택하고 ‘다음’을 클릭하여 다음 단계(즉 505 단계)로 진행할 수 있다. ‘다음’ 을 클릭하기 전에는 언제든지 사용자는 선택한 ‘동사’를 변경할 수 있다.
2. 505 단계에서, 선택된 ‘동사’와 관련된 모든 ‘주제어’들의 리스트가 GUI(60) 상에 표시된다. 사용자는 리스트에서 ‘주제어’를 선택하고 ‘다음’을 클릭하여 다음 단계(즉 510 단계)로 진행할 수 있다. ‘다음’을 클릭하기 전에는 사용자는 언제든지 선택된 ‘주제어’를 변경할 수 있다. 사용자는 또한 ‘뒤로’ 또는 ‘처음부터 다시’를 클릭하여 이전 단계(즉 500 단계)로 돌아가서 선택된 ‘동사’를 변경할 수 있다.
3. 510 단계에서, 선택된 ‘주제어’에 관련된 모든 ‘내용’의 리스트가 표시된다. 사용자는 리스트 상에서 ‘내용’을 선택하고 ‘다음’을 클릭하여 다음 단계(즉 515 단계)로 진행할 수 있다. ‘다음’을 클릭하기 전에 사용자는 언제든지 선택된 ‘내용’을 변경할 수 있다. 사용자는 또한 ‘뒤로’를 클릭하여 이전 단계(즉 505 단계)로 돌아가서 선택된 ‘주제어’를 변경하거나, ‘처음부터 다시’를 클릭하여 500 단계로 돌아가 선택된 ‘동사’를 변경할 수 있다. 위 과정들 중 어떤 단계에서 또는 510 단계의 끝에서, 사용자는 작업 수행의 원하는 위치를 설정하고/설정하거나 전체 작업 또는 작업의 일부분을 수행할 단말 장치를 설정할 수 있다.
4. 515 단계에서, 작업 편성 모듈(50)은 선택된 ‘동사’, ‘주제어’, ‘내용’, 사용자 선호도(장소, GUI에 의해 설정된 최종 단말 및 사실들과 규칙들로 특정된 다른 선호도들 등) 및 지식 베이스(105) 상에 가지고 있는 존재하는 장치 및 작업들에 대한 사실들에 대해서 내부적으로 추론한다. 추론 뒤에, 작업 편성 모듈(50)은 요청된 작업을 수행할 수 있는 장치들의 모든 가능한 조합들(즉 솔류션)을 결정한다. 얻어진 솔류션들의 집합은 작업 편성 모듈(50) 내부에서 순위가 매겨지며 GUI(60)를 통하여 사용자에게 표시된다(예를 들면, 순위가 증가하는 순서대로). 515 단계에서의 처리의 예를 다음에 설명한다. 작업 편성 모듈(50)은 작업과 장치 설명서들을 읽어 들이고, 지식 베이스(105)에 이들 정보들을 사실로서 저장한다. 추론 엔진(65)은 작업과 장치 설명서들을 해석하고, 작업 및 장치 설명서들에 직접적으로 특정되지는 않았으나 클래스들이나 특성들의 형태, 또는 그들 간의 관계로서 특정되어 있는 새로운 정보를 이끌어 낸다. 작업 편성 모듈(50)은 그 정보를 가공하고 조작한다.
일 예에 있어서, 작업 편성 모듈(50)에 연관된 기본 단계들은 다음을 포함한다.
1. 작업 및 장치 설명서들을 읽어 들임
2. 작업 및 장치 설명서들에 시멘틱을 적용함
3. 파서를 사용하여 지식 베이스(105)에 적재된 작업 및 장치 설명서들을 변환함
4. 상기 설명된 바와 같이 다른 규칙들이나 질의어들을 적용함
언급한 바와 같이, 온톨로지들(110)은 작업들, 장치들 및 사용자 선호도들을 기술하기 위한 메커니즘으로서 구조화된다. 일반적으로, 온톨로지란 개념화의 특정이다. 이는 개념의 서술(정형적인 프로그램의 특정)이며 개체(예를 들면, 장치들, 사용자들 등) 또는 개체의 집합에 대해 존재할 수 있는 관계이다. 이 예에서는, 장치들 및 작업들이 그들의 기본 속성/성질들 및/또는 제공되거나 요구되는 기능들에 기초하여 기술된다. 설명서는 마크업 언어를 사용하여 부호화되는데, 이러한 설명서에 기초하여 사용자의 작업 요구가 이해되고, 처리되고, 서비스된다.
나아가, ‘기능+내용 타입’ 속성들이 온톨로지(110)에 포함될 수 있다. 온톨로지(110)의 구현예에 있어서, 장치(40)가 제공하는 각각의 기능에 대해서, 어떤 종류의 데이터가 입력으로서 허용되는지, 어떤 소스에서 장치(40)가 입력을 받아들일 수 있는지, 그리고 어떤 종류의 데이터가 (존재하는 경우) 출력으로서 생성되는지 가 또한 특정된다. 이는 매우 일반적이고 내용의 타입을 특정하지 않는 요구에 대한 답으로서 충분하다. 그러나, 만일 작업 편성 모듈(50)이 장치들에 대한 내용 타입 기반의 색인(lookup)을 제공하고자 한다면, 내용 타입(예를 들면, mp3render)을 분리된 속성이 아닌 것으로서 포함하는 기능을 표현하는 방법이 요구된다. 이는 ‘기능+내용 타입’ 속성들이 온톨로지(110)에 포함됨에 의해 성취될 수 있다.
또한, 사용자 선호도(130)를 표현하는 온톨로지가 활용될 수 있다. 구현예에서 선호도(130)는 장치 인스턴스들(115)과 작업 인스턴스들(120)이 특정된 것과 유사한 방식으로 마크업 언어로 표현될 수 있다. 이러한 설명서를 표준화된/일반적인 포맷으로 작성하고 선호도들의 집합의 다른 속성들간의 관계를 더 잘 표현하기 위해서, 사용자 선호도의 인스턴스가 구조화될 수 있는 것에 기초하여 온톨로지가 활용될 수 있다.
선호도를 이해하기 위한 메커니즘 또한 구현될 수 있다. 예로서, 작업 편성 모듈(50)은 “영화를 재생할 때에는 스크린 크기가 더 큰 장치를 선택하라”와 같은 선호도를 이해할 수 있다. 바람직하게는, 작업 편성 모듈(50)은 “플라즈마 TV가 다른 어떤 종류의 TV보다 항상 좋으며, 스크린 사이즈도 가장 크다”는 것을 이해할 수 있다. 나아가 좀더 일반적인 온톨로지들이 포함될 수 있는데 이는 모든 종 류의 장치들에 적용될 수 있으며, 심지어는 구현 당시에는 알려지지 않은 장치들에 대해서도 적용될 수 있다.
이제까지의 예들은 가전과 홈 네트워크에 관련하여 설명되었지만, 본 발명이 속하는 분야의 숙련자라면 본 발명이 모바일 개인 장치들, 데스크탑 작업들, 복잡한 기업 시스템들 등에 적용될 수 있음을 알 수 있을 것이다. 나아가 본 설명에서는 작업 편성 시스템의 실시예가 가전에 관련하여 설명되었지만, 본 발명이 속하는 기술 분야의 숙련자들은 본 발명이 개체들의 알려진 집합들이 작업과 상호작용하고 그들 개체들에 사용자 편성을 위한 간단한 방법이 필요한 다른 응용 분야(예를 들면, 다양한 동작들이나 조립 로봇들의 설정들을 특정하기 위한 생산 라인)에서도 유용하다는 것을 인식할 것이다. 나아가, 논리적으로 장치들과 분리되어 있기 때문에, 그것들이 실제 장치들과 물리적으로 결합될 수 없는 이유가 전혀 없다. 또한 실시예로서 하나의 제어기/편성 모듈만이 설명되었지만, 장치들의 집합이 제어 동작이나 장치들의 편성을 결정하는데 참여할 수 있다.
본 발명은 특정한 최적의 버전에 대해 상당히 상세하게 설명되었다. 그러나, 다른 버전들도 가능하다. 그러므로, 첨부된 청구항의 진의나 범위가 여기에 포함된 최적의 버전에 대한 설명의 범위로 제한되어서는 아니될 것이다.
본 발명에 따른 가전 제품 상의 작업들을 편성하는 방법 및 시스템에 의하면, 사용자가 기능들의 집합보다는 작업들을 표현할 수 있도록 허용함에 의해 작업들이 그 작업들을 수행하는 일련의 기능들의 동작을 자동화하는 시스템에 표현될 수 있으며, 작업들을 일반적인 방식으로 표현하도록 허용함에 의해 사용자가 사용 가능한 장치들의 기능들에 의해 수행될 수 있는 작업들을 표현할 수 있으며, 사용자에게 장치의 기능을 제시하는 것이 아니라, 작업에 대한 설명과 장치에 대한 설명을 작업 제안 안에 집어 넣고 이러한 작업 제안을 사용자에게 제시함으로써, 사용자가 장치의 기능들에 대해서 복잡한 선택을 할 필요가 없이 원하는 작업을 직접 선택하게 할 수 있다.

Claims (45)

  1. 작업 구동형 제어기(task driven controller)와 사용자 인터페이스 장치를 포함하는 작업 편성 시스템(task orchestration system)에서 복수의 전자 장치 중 하나 또는 그 이상의 장치에 의해 수행되는 사용자 작업을 작업 편성하는 방법에 있어서,
    (a) 상기 제어기에서, 각각의 장치가 수행할 수 있는 기능을 설명하는 장치 기능 설명서(device function description)를 획득하는 단계;
    (b) 상기 제어기에서, 특정한 작업이 요구하는 장치 기능을 설명하는 작업 설명서(task description)를 획득하는 단계;
    (c) 상기 제어기에서, 상기 획득된 작업 설명서 및 장치 기능 설명서에 기초하여, 각각의 작업 제안이 사용자 작업을 상기 획득된 장치 기능 설명서 및 작업 설명서 중 하나 또는 그 이상의 설명서의 추상화(abstraction)로서 나타내는 작업 제안(task suggestion)들을 생성하는 단계;
    (d) 상기 사용자 인터페이스 장치에서, 상기 작업 제안들을 디스플레이 상에 표시하여 사용자로 하여금 하나 또는 그 이상의 장치에서 수행될 작업 제안을 선택하게 하는 단계; 및
    (e) 상기 제어기에서, 상기 작업 설명서 및 장치 기능 설명서들을 사용하여, 장치들에 의해 수행될 수 있는 작업들과 선택된 작업 제안을 수행할 수 있는 장치의 조합들을 추론하는 단계를 포함하는 것을 특징으로 하는 사용자 작업의 작업 편성 방법.
  2. 제1항에 있어서, 상기 (e) 단계는,
    상기 작업 설명서 및 장치 기능 설명서들에 기초하여, 장치들에 의해 수행될 수 있는 작업들과 선택된 작업 제안을 수행할 수 있는 장치의 조합들을 추론하기 위해 추론 엔진(inference engine)을 활용하는 단계를 포함하는 것을 특징으로 하는 사용자 작업의 작업 편성 방법.
  3. 제1항에 있어서, 상기 (e) 단계는,
    장치 기능 설명서들을 장치 온톨로지들(device ontologies)로서 구조화하는 단계;
    작업 설명서들을 작업 온톨로지들(task ontologies)로서 구조화하는 단계; 및
    상기 장치 온톨로지들 및 작업 온톨로지들을 사용하여 사용자가 선택한 작업 제안들을 사용 가능한 장치들에 의해 수행될 수 있는 작업들에 맵핑시키는 단계를 포함하는 것을 특징으로 하는 사용자 작업의 작업 편성 방법.
  4. 제1항에 있어서, 상기 (e) 단계는,
    장치 기능 설명서들을 장치 온톨로지들(device ontologies)로서 구조화하는 단계;
    작업 설명서들을 작업 온톨로지들(task ontologies)로서 구조화하는 단계;
    상기 장치 온톨로지들에 기초하여 장치 인스턴스들을 구조화하는 단계;
    상기 작업 온톨로지들에 기초하여 작업 인스턴스들을 구조화하는 단계; 및
    상기 장치 및 작업 온톨로지들과 인스턴스들을 사용하여 사용자가 선택한 작업 제안들을 사용 가능한 장치들에 의해 수행될 수 있는 작업들에 맵핑시키는 단계 를 포함하는 것을 특징으로 하는 사용자 작업의 작업 편성 방법.
  5. 제1항에 있어서, 상기 추론된, 선택된 사용자 작업 제안을 수행할 수 있는 장치의 조합들을 제어하는 단계를 더 포함하는 것을 특징으로 하는 사용자 작업의 작업 편성 방법.
  6. 제1항에 있어서, 상기 작업 제안은 사용자 작업들을 상기 획득된 장치 기능 설명서들 및 작업 설명서들의 추상화로서 기술하는 용어들의 집합으로 구성된 언어 구조를 사용하여 나타내는 것을 특징으로 하는 사용자 작업의 작업 편성 방법.
  7. 제6항에 있어서, 상기 언어 구조는 자연어에 가깝게 일치하는 형태로서 나타내는 것을 특징으로 하는 사용자 작업의 작업 편성 방법.
  8. 제7항에 있어서, 상기 용어들은 작업 제안의 범위를 감축하는 것을 특징으로 하는 사용자 작업의 작업 편성 방법.
  9. 제7항에 있어서, 상기 작업 제안을 표시하는 단계는,
    장치들에 의해 수행될 수 있는 작업 제안들을 표시하는 단계를 더 포함하는 것을 특징으로 하는 사용자 작업의 작업 편성 방법.
  10. 제7항에 있어서, 상기 작업 제안들을 표시하는 단계는,
    작업 제안들을 나타내는 상기 용어들을 표시하는 단계; 및
    사용자가 작업 제안들을 선택할 때, 사용자가 선택한 작업 제안이 사용 가능한 장치들에 의해 수행될 수 있도록 사용자가 용어들을 선택하도록 허용하는 단계를 포함하는 것을 특징으로 하는 사용자 작업의 작업 편성 방법.
  11. 제6항에 있어서, 상기 언어 구조에서 하나 또는 그 이상의 용어들이 서로를 수식하는 것을 특징으로 하는 사용자 작업의 작업 편성 방법.
  12. 제11항에 있어서, 수식하는 용어는 다른 용어의 범위를 감축하는 것을 특징으로 하는 사용자 작업의 작업 편성 방법.
  13. 제11항에 있어서, 상기 용어들은 ‘주제어들’이 ‘동사들’을 수식하는 ‘동사들’과 ‘주제어들’을 포함하는 것을 특징으로 하는 사용자 작업의 작업 편성 방법.
  14. 제13항에 있어서, 상기 ‘동사들’은 사용자 작업의 동작들을 정의하는 것을 특징으로 하는 사용자 작업의 작업 편성 방법.
  15. 제11항에 있어서, 상기 용어들은 ‘주제어들’이 ‘동사들’을 수식하고 ‘수식어들’이 ‘주제어들’을 수식하는 ‘동사들’, ‘주제어들’ 및 ‘수식어들’ 을 포함하는 것을 특징으로 하는 사용자 작업의 작업 편성 방법.
  16. 장치들이 수행할 수 있는 기능을 설명하는 장치 기능 설명서들을 획득하고, 특정한 작업이 요구하는 장치 기능을 설명하는 작업 설명서들을 획득하며, 상기 획득된 작업 설명서들 및 장치 기능 설명서들에 기초하여 각각의 작업 제안이 사용자 작업을 상기 획득된 장치 기능 설명서들 및 작업 설명서들 중 하나 또는 그 이상의 설명서의 추상화로서 나타내는 작업 제안들을 생성하는 작업 구동형 제어기(task driven controller); 및
    상기 작업 제안들을 디스플레이 상에 표시하고 사용자로 하여금 선택된 작업 제안이 나타내는 사용자 작업이 하나 또는 그 이상의 장치에서 수행되도록 작업 제안을 선택하게 하는 사용자 인터페이스 장치를 포함하며,
    상기 제어기는 상기 작업 설명서들 및 장치 기능 설명서들을 사용하여 장치들에 의해 수행될 수 있는 작업들과 선택된 사용자 작업 제안을 수행할 수 있는 장치들의 조합을 추론하는 것을 특징으로 하는 상호연결된 장치들의 네트워크에 대한 작업 편성 시스템(task orchestration system).
  17. 제16항에 있어서, 상기 제어기는,
    작업 설명서들 및 장치 기능 설명서들에 기초하여, 장치들에 의해 수행될 수 있는 작업들과 선택된 사용자 작업 제안을 수행할 수 있는 장치의 조합들을 추론하는 추론 엔진을 포함하는 것을 특징으로 하는 작업 편성 시스템.
  18. 제16항에 있어서, 상기 제어기는,
    상기 장치 기능 설명서들을 장치 온톨로지들로서 구조화하고, 상기 작업 설명서들을 작업 온톨로지들로서 구조화하며, 상기 장치 및 작업 온톨로지들을 사용하여 사용자가 선택한 작업 제안을 사용 가능한 장치들에 의해 수행될 수 있는 작업들에 맵핑하는 것을 특징으로 하는 작업 편성 시스템.
  19. 제16항에 있어서, 상기 제어기는,
    상기 장치 기능 설명서들을 장치 온톨로지들로서 구조화하고, 상기 작업 설명서들을 작업 온톨로지들로서 구조화하며, 상기 장치 온톨로지들에 기초하여 장치 인스턴스들을 구조화하고, 상기 작업 온톨로지들에 기초하여 작업 인스턴스들을 구조화하며, 상기 장치 및 작업 온톨로지들과 인스턴스들을 사용하여 사용자가 선택한 작업 제안들을 사용 가능한 장치들에 의해 수행될 수 있는 작업들에 맵핑하는 것을 특징으로 하는 작업 편성 시스템.
  20. 제16항에 있어서, 상기 제어기는,
    상기 추론된, 선택된 사용자 작업 제안들을 수행할 수 있는 장치의 조합들을 제어하는 것을 특징으로 하는 작업 편성 시스템.
  21. 제16항에 있어서, 상기 사용자 인터페이스 장치는,
    상기 제어기와 연결하여, 사용 가능한 장치들, 작업들 및 장치 기능이 주어 진 경우 가능한 작업 제안들을 표시하는 것을 특징으로 하는 작업 편성 시스템.
  22. 제16항에 있어서, 상기 사용자 인터페이스 장치는,
    상기 제어기와 연결하여, 장치 설명서들에 기초하여 사용 가능한 작업 제안들과 옵션들을 표시하는 것을 특징으로 하는 작업 편성 시스템.
  23. 제16항에 있어서, 각 작업 설명서들은, 제어기가 원하는 사용자 작업을 결정하고 사용자 작업 설명서들을 그 사용자 작업을 수행하기 위한 장치들에 대응시키도록 하기 위해 장치들이 작업들을 제어기에 표현하는 온톨로지 언어로 표현되는 것을 특징으로 하는 작업 편성 시스템.
  24. 제23항에 있어서, 상기 제어기는 상기 작업을 수행하기위해 사용자 인터페이스 장치로부터 사용자 선호도를 획득하는 것을 특징으로 하는 작업 편성 시스템.
  25. 제16항에 있어서, 상기 제어기는,
    작업 편성 모듈; 및
    지식 베이스를 포함하고,
    상기 장치 기능 설명서들은 장치 온톨로지들로서 구조화되어 상기 지식 베이스에 저장되며, 상기 작업 설명서들은 작업 온톨로지들로서 구조화되어 상기 지식 베이스에 저장되고, 상기 작업 편성 모듈은 상기 선택된 작업 제안들을 장치들에 의해 수행될 수 있는 작업들에 맵핑하기 위해 지식 베이스에 저장된 장치 미 작업 온톨로지들을 사용하는 것을 특징으로 하는 작업 편성 시스템.
  26. 제16항에 있어서, 상기 제어기는,
    사용자 작업들을 장치 기능들의 추상화로서 기술하는 용어들의 언어 구조를 사용하여 작업 제안들을 나타냄으로써 작업 제안을 생성하는 것을 특징으로 하는 작업 편성 시스템.
  27. 제16항에 있어서, 상기 언어 구조에서는 하나 또는 그 이상의 용어들이 서로를 수식하는 것을 특징으로 하는 작업 편성 시스템.
  28. 제27항에 있어서, 수식하는 용어는 다른 용어의 범위를 감축하는 것을 특징으로 하는 작업 편성 시스템.
  29. 제28항에 있어서, 상기 사용자 인터페이스 장치는,
    상기 작업 제안들을 나타내는 용어들을 표시하고, 사용자가 작업 제안들을 선택함에 있어서 사용자가 선택한 작업 제안들이 사용 가능한 장치들에 의해 수행될 수 있도록 다른 용어들을 수식하는 용어들을 선택하는 것을 허용하는 것을 특징으로 하는 작업 편성 시스템.
  30. 제16항에 있어서, 상기 작업 제안들은 사용자로부터 장치의 기능들을 감추는 것을 특징으로 하는 작업 편성 시스템.
  31. 제16항에 있어서, 상기 장치들은 가전 제품들을 포함하는 것을 특징으로 하는 작업 편성 시스템.
  32. 제16항에 있어서, 장치 기능 설명서들은 장치 기능의 설명과 장치의 기초 지식을 포함하는 것을 특징으로 하는 작업 편성 시스템.
  33. 제32항에 있어서, 상기 장치 기능의 설명은 장치의 기능에 대한 개요를 나타내는 것을 특징으로 하는 작업 편성 시스템.
  34. 제32항에 있어서, 상기 장치의 기초 지식은 상기 장치 기능의 설명에 기초한 장치의 제어를 기술하는 것을 특징으로 하는 작업 편성 시스템.
  35. 제32항에 있어서, 작업 설명서는 상호 작용하는 설명서들과 설명서들의 상호 교환을 제공하는 시멘틱 온톨로지(semantic ontology)를 포함하는 것을 특징으로 하는 작업 편성 시스템.
  36. 제32항에 있어서, 상기 제어기는,
    장치들의 기능을 사용자 작업들을 수행하도록 편성하기 위하여 순차적이고 병행적이며 공동 작용할 수 있는 장치의 상호 작용들을 활용하는 것을 특징으로 하는 작업 편성 시스템.
  37. 제32항에 있어서, 상기 제어기는,
    작업 설명서들과 장치 설명서들을 결합하여 장치가 특정 작업을 위해 사용될 수 있는지를 결정하는 것을 특징으로 하는 작업 편성 시스템.
  38. 제32항에 있어서, 상기 제어기는,
    사용자 작업을 수행하기 위해, 작업과 장치 설명서들의 결합 상의 정보를 획득하여 장치에 대한 기초 지식을 결정하는 것을 특징으로 하는 작업 편성 시스템.
  39. 제32항에 있어서, 작업 설명서는 제어기가 장치의 동작들을 편성하기 위하여 사용하는 동작 스크립트들의 열을 포함하는 것을 특징으로 하는 작업 편성 시스템.
  40. 제39항에 있어서, 상기 제어기는 복수의 장치 설명서들로부터의 기초 지식 정보를 작업 설명서 스크립트들과 결합하여 사용자 작업을 위한 장치들을 제어하는 특정의 스크립트를 생성하는 것을 특징으로 하는 작업 편성 시스템.
  41. 제39항에 있어서, 장치 기초 지식 정보는 장치 설명서들로부터의 기능에 기 초하여 특정되는 것을 특징으로 하는 작업 편성 시스템.
  42. 제39항에 있어서, 장치 기초 지식 정보는 장치의 제어를 결정하기 위한 상호 작용들과 파라미터 설정들을 특정하는 것을 특징으로 하는 작업 편성 시스템.
  43. 제42항에 있어서, 상기 장치 기초 지식은 사용하기 위한 작동과 파라미터들을 기술하기 위하여 URI(Uniform Resource Identifier)의 형태로 특정되는 것을 특징으로 하는 작업 편성 시스템.
  44. 제43항에 있어서, 상기 장치 기초 지식 정보는 결합되어 요구되는 기능을 수행하는 복수의 기초 지식 정보 섹션들을 포함하는 것을 특징으로 하는 작업 편성 시스템.
  45. 제39항에 있어서, 상기 장치 설명서는 제어 또는 장치 소프트웨어에 의해 사용되는 서로 다른 프로토콜들에 맵핑하는 복수의 기초 지식 정보 섹션들을 포함하는 것을 특징으로 하는 작업 편성 시스템.
KR1020050084650A 2004-09-22 2005-09-12 가전 제품 상의 작업들을 편성하는 방법 및 시스템 KR100727977B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/948,399 2004-09-22
US10/948,399 US8099313B2 (en) 2004-09-22 2004-09-22 Method and system for the orchestration of tasks on consumer electronics

Publications (2)

Publication Number Publication Date
KR20060051203A KR20060051203A (ko) 2006-05-19
KR100727977B1 true KR100727977B1 (ko) 2007-06-13

Family

ID=35744660

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050084650A KR100727977B1 (ko) 2004-09-22 2005-09-12 가전 제품 상의 작업들을 편성하는 방법 및 시스템

Country Status (5)

Country Link
US (1) US8099313B2 (ko)
EP (1) EP1647884A3 (ko)
JP (1) JP5027396B2 (ko)
KR (1) KR100727977B1 (ko)
CN (1) CN1855036B (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
US8205013B2 (en) * 2005-05-02 2012-06-19 Samsung Electronics Co., Ltd. Method and system for aggregating the control of middleware control points
US8150857B2 (en) 2006-01-20 2012-04-03 Glenbrook Associates, Inc. System and method for context-rich database optimized for processing of concepts
US8028283B2 (en) * 2006-03-20 2011-09-27 Samsung Electronics Co., Ltd. Method and system for automated invocation of device functionalities in a network
US20070233287A1 (en) * 2006-03-30 2007-10-04 Samsung Electronics Co., Ltd. Dynamic generation of tasks in resource constrained devices
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
US20070279389A1 (en) * 2006-05-31 2007-12-06 Samsung Electronics Co., Ltd. Method of task-oriented universal remote control user interface
US8332209B2 (en) * 2007-04-24 2012-12-11 Zinovy D. Grinblat Method and system for text compression and decompression
KR101362224B1 (ko) * 2007-12-03 2014-02-13 연세대학교 산학협력단 태스크 기반 사용자 인터페이스 생성 장치 및 그 방법
US20090276722A1 (en) * 2008-04-30 2009-11-05 Jonathan Segel Method and apparatus for dual mode content searching, selection, delivery, and playout
US20100083150A1 (en) * 2008-09-30 2010-04-01 Nokia Corporation User interface, device and method for providing a use case based interface
US8707198B2 (en) 2010-06-04 2014-04-22 Microsoft Corporation Related tasks and tasklets for search
US20120117456A1 (en) * 2010-11-05 2012-05-10 Nokia Corporation Method and apparatus for automated interfaces
US9300539B2 (en) * 2011-08-04 2016-03-29 International Business Machines Corporation Network computing management
US9654821B2 (en) 2011-12-30 2017-05-16 Sonos, Inc. Systems and methods for networked music playback
DE102012003837A1 (de) 2012-02-29 2013-08-29 Rwe Effizienz Gmbh Verfahren zum Betreiben eines Systems zur Heimautomatisierung sowie ein Heimautomatisierungssteuerungssystem
US9674587B2 (en) 2012-06-26 2017-06-06 Sonos, Inc. Systems and methods for networked music playback including remote add to queue
US9361371B2 (en) 2013-04-16 2016-06-07 Sonos, Inc. Playlist update in a media playback system
US9501533B2 (en) 2013-04-16 2016-11-22 Sonos, Inc. Private queue for a media playback system
US9247363B2 (en) 2013-04-16 2016-01-26 Sonos, Inc. Playback queue transfer in a media playback system
US9798510B2 (en) 2013-05-29 2017-10-24 Sonos, Inc. Connected state indicator
US10715973B2 (en) 2013-05-29 2020-07-14 Sonos, Inc. Playback queue control transition
US9953179B2 (en) 2013-05-29 2018-04-24 Sonos, Inc. Private queue indicator
US9495076B2 (en) 2013-05-29 2016-11-15 Sonos, Inc. Playlist modification
US9703521B2 (en) 2013-05-29 2017-07-11 Sonos, Inc. Moving a playback queue to a new zone
US9735978B2 (en) 2013-05-29 2017-08-15 Sonos, Inc. Playback queue control via a playlist on a mobile device
US9684484B2 (en) * 2013-05-29 2017-06-20 Sonos, Inc. Playback zone silent connect
WO2017119663A1 (en) 2016-01-06 2017-07-13 Samsung Electronics Co., Ltd. Electronic device and method for controlling the same
KR102566171B1 (ko) * 2016-01-06 2023-08-11 삼성전자주식회사 전자 장치 및 그 제어 방법
US10168988B2 (en) * 2016-05-24 2019-01-01 International Business Machines Corporation Identifying user preferences and changing settings of a device based on natural language processing
EP3521948A1 (en) * 2018-02-06 2019-08-07 Tata Consultancy Services Limited Systems and methods for auto-generating a control and monitoring solution for smart and robotics environments
EP3583481B1 (en) * 2018-05-07 2021-02-17 Google LLC Methods, systems, and apparatus for providing composite graphical assistant interfaces for controlling connected devices

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000033089A (ko) * 1998-11-19 2000-06-15 윤종용 메뉴 기능 안내 방법
KR20030021251A (ko) * 2001-05-11 2003-03-12 코닌클리케 필립스 일렉트로닉스 엔.브이. 현실세계 표현 시스템 및 언어
WO2004031937A1 (en) 2002-09-30 2004-04-15 Microsoft Corporation System and method for making user interface elements known to an application and user
KR20060043333A (ko) * 2004-03-01 2006-05-15 마이크로소프트 코포레이션 데이터의 의도를 판정하고 의도에 기초하여 데이터에 응답하는 시스템 및 방법
KR20060051104A (ko) * 2004-09-22 2006-05-19 삼성전자주식회사 전자 장치의 제어를 위한 사용자 작업을 제시하는 방법 및시스템
KR20060051202A (ko) * 2004-09-24 2006-05-19 삼성전자주식회사 분리된 작업 및 장치 설명서를 사용한 가전 제품의 기술방법 및 시스템

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197573A (ja) * 1991-08-26 1993-08-06 Hewlett Packard Co <Hp> タスク指向パラダイムによるタスク管理システム
US5410326A (en) * 1992-12-04 1995-04-25 Goldstein; Steven W. Programmable remote control device for interacting with a plurality of remotely controlled devices
JP3408850B2 (ja) * 1992-12-09 2003-05-19 三菱電機株式会社 クライアント・サーバシステムおよびその制御方法、並びにクライアント機装置
DE69432199T2 (de) 1993-05-24 2004-01-08 Sun Microsystems, Inc., Mountain View Graphische Benutzerschnittstelle mit Verfahren zur Schnittstellebildung mit fernsteuernden Einrichtungen
US5555376A (en) * 1993-12-03 1996-09-10 Xerox Corporation Method for granting a user request having locational and contextual attributes consistent with user policies for devices having locational attributes consistent with the user request
US5812865A (en) * 1993-12-03 1998-09-22 Xerox Corporation Specifying and establishing communication data paths between particular media devices in multiple media device computing systems based on context of a user or users
JP3488525B2 (ja) * 1994-12-13 2004-01-19 富士通株式会社 ヘルプ画面表示方法およびヘルプ画面表示装置
US5910799A (en) 1996-04-09 1999-06-08 International Business Machines Corporation Location motion sensitive user interface
JP3857388B2 (ja) * 1997-06-27 2006-12-13 富士通株式会社 移動通信端末
US6421069B1 (en) 1997-07-31 2002-07-16 Sony Corporation Method and apparatus for including self-describing information within devices
US6563430B1 (en) * 1998-12-11 2003-05-13 Koninklijke Philips Electronics N.V. Remote control device with location dependent interface
JP2002529857A (ja) 1998-11-10 2002-09-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ホームネットワークの共同態様のアップグレード
US7046263B1 (en) * 1998-12-18 2006-05-16 Tangis Corporation Requesting computer user's context data
US7225229B1 (en) * 1998-12-18 2007-05-29 Tangis Corporation Automated pushing of computer user's context data to clients
US6848104B1 (en) 1998-12-21 2005-01-25 Koninklijke Philips Electronics N.V. Clustering of task-associated objects for effecting tasks among a system and its environmental devices
EP1057302A1 (en) 1998-12-29 2000-12-06 Koninklijke Philips Electronics N.V. Home control system with distributed network devices
US6957075B1 (en) * 1999-02-01 2005-10-18 Intel Corporation Method and apparatus for providing a location based appliance personality
JP4258585B2 (ja) 1999-03-19 2009-04-30 株式会社エクォス・リサーチ 目的地設定装置
US6256019B1 (en) * 1999-03-30 2001-07-03 Eremote, Inc. Methods of using a controller for controlling multi-user access to the functionality of consumer devices
JP2002540739A (ja) * 1999-03-30 2002-11-26 ソニー エレクトロニクス インク ネットワークにおけるリソースの管理方法及び装置
US6567840B1 (en) 1999-05-14 2003-05-20 Honeywell Inc. Task scheduling and message passing
US20010032132A1 (en) * 2000-01-28 2001-10-18 Dan Moran System for message delivery in interactive communication networks
WO2001069380A2 (en) 2000-03-14 2001-09-20 Edapta, Inc. A system and method for enabling dynamically adaptable user interfaces for electronic devices
US7076255B2 (en) * 2000-04-05 2006-07-11 Microsoft Corporation Context-aware and location-aware cellular phones and methods
JP4576675B2 (ja) 2000-06-30 2010-11-10 ソニー株式会社 制御システム、制御機器及びサーバ
AU2001276992A1 (en) * 2000-07-20 2002-02-05 Aeptec Microsystems, Inc. Method, system, and protocol for location-aware mobile devices
JP2002049556A (ja) 2000-08-02 2002-02-15 Sharp Corp 家庭内メディア配信システム
JP2002063033A (ja) 2000-08-21 2002-02-28 Toko Seiki Co Ltd オントロジを備えた知識管理システム
CN1183463C (zh) * 2000-09-18 2005-01-05 海尔集团公司 网络家电控制中心装置
CN2457667Y (zh) * 2000-09-22 2001-10-31 海尔集团公司 网络家电控制装置
US6931630B1 (en) * 2000-09-27 2005-08-16 International Business Machines Corporation Method of, system for, and computer program product for providing automatic identification of a computer program code candidate for web deployment or a stored procedure
WO2002033541A2 (en) * 2000-10-16 2002-04-25 Tangis Corporation Dynamically determining appropriate computer interfaces
US7290039B1 (en) * 2001-02-27 2007-10-30 Microsoft Corporation Intent based processing
US20020138327A1 (en) * 2001-03-26 2002-09-26 Mello Celso Luis System for remotely managing elevator mechanic service routine
KR100438696B1 (ko) * 2001-04-13 2004-07-05 삼성전자주식회사 홈네트워크 환경에서의 디바이스 제어 시스템 및 방법
US7206559B2 (en) * 2001-10-16 2007-04-17 Hewlett-Packard Development Company, L.P. System and method for a mobile computing device to control appliances
US6954737B2 (en) * 2001-11-05 2005-10-11 Johnsondiversey, Inc. Method and apparatus for work management for facility maintenance
JP4164280B2 (ja) * 2002-04-11 2008-10-15 キヤノン株式会社 周辺機器およびジョブ管理方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
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
US6792323B2 (en) 2002-06-27 2004-09-14 Openpeak Inc. Method, system, and computer program product for managing controlled residential or non-residential environments
CN1242591C (zh) * 2002-08-19 2006-02-15 乐金电子(天津)电器有限公司 局域网络系统的家电产品的控制方法
JPWO2004019225A1 (ja) * 2002-08-26 2005-12-15 富士通株式会社 状況付情報を処理する装置および方法
US20040100505A1 (en) 2002-11-21 2004-05-27 Cazier Robert Paul System for and method of prioritizing menu information
US8561069B2 (en) * 2002-12-19 2013-10-15 Fujitsu Limited Task computing
DE60311317T2 (de) 2003-01-06 2007-08-30 Koninklijke Philips Electronics N.V. Anwendungsauswahl unter berücksichtigung mehrerer faktoren
US8607280B2 (en) * 2003-01-08 2013-12-10 Intel Corporation Resource and capability borrowing
US20040176118A1 (en) 2003-02-18 2004-09-09 Michael Strittmatter Service attribute based filtering system and method
JP2004266453A (ja) 2003-02-28 2004-09-24 Toshiba Corp ネットワークシステム、サーバ機器および通信方法
FR2852173B1 (fr) 2003-03-06 2005-05-27 France Telecom Systeme de creation d'ambiance et d'environnement de personnes a l'aide d'equipements electroniques multisensoriels
KR20040080663A (ko) 2003-03-12 2004-09-20 삼성전자주식회사 유비퀴터스 서비스 기능을 가지는 사설 네트워크 시스템및 그의 동작방법
US7064675B2 (en) * 2003-08-15 2006-06-20 Microsoft Corporation Context-sensitive remote controls
EP1526457B1 (en) * 2003-10-22 2013-03-13 Sony Deutschland GmbH Context-aware automatic service discovery and execution engine in mobile ad-hoc networks
KR100651729B1 (ko) * 2003-11-14 2006-12-06 한국전자통신연구원 홈네트워크 환경에서의 멀티-모달 상황 인식어플리케이션을 위한 시스템 및 방법
US7493294B2 (en) * 2003-11-28 2009-02-17 Manyworlds Inc. Mutually adaptive systems
US7522549B2 (en) * 2004-04-16 2009-04-21 Broadcom Corporation Registering access device multimedia content via a broadband access gateway
WO2005104772A2 (en) * 2004-04-28 2005-11-10 Fujitsu Limited Semantic task computing
US20050267770A1 (en) * 2004-05-26 2005-12-01 International Business Machines Corporation Methods and apparatus for performing task management based on user context
US8099313B2 (en) 2004-09-22 2012-01-17 Samsung Electronics Co., Ltd. Method and system for the orchestration of tasks on consumer electronics
KR100622303B1 (ko) 2004-12-07 2006-09-19 한국전자통신연구원 디지털 홈 네트워크 시스템의 지능형 관리 장치 및 관리방법
US7613285B2 (en) * 2004-12-07 2009-11-03 Electronics And Telecommunications Research Institute System and method for service-oriented automatic remote control, remote server, and remote control agent
KR100682995B1 (ko) * 2004-12-16 2007-02-15 한국전자통신연구원 유비쿼터스 기반의 상황 정보 제공 서비스 시스템 및 그방법
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
US8972872B2 (en) * 2006-03-27 2015-03-03 Fujitsu Limited Building computing applications based upon metadata
US20070233287A1 (en) * 2006-03-30 2007-10-04 Samsung Electronics Co., Ltd. Dynamic generation of tasks in resource constrained devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000033089A (ko) * 1998-11-19 2000-06-15 윤종용 메뉴 기능 안내 방법
KR20030021251A (ko) * 2001-05-11 2003-03-12 코닌클리케 필립스 일렉트로닉스 엔.브이. 현실세계 표현 시스템 및 언어
WO2004031937A1 (en) 2002-09-30 2004-04-15 Microsoft Corporation System and method for making user interface elements known to an application and user
KR20060043333A (ko) * 2004-03-01 2006-05-15 마이크로소프트 코포레이션 데이터의 의도를 판정하고 의도에 기초하여 데이터에 응답하는 시스템 및 방법
KR20060051104A (ko) * 2004-09-22 2006-05-19 삼성전자주식회사 전자 장치의 제어를 위한 사용자 작업을 제시하는 방법 및시스템
KR20060051202A (ko) * 2004-09-24 2006-05-19 삼성전자주식회사 분리된 작업 및 장치 설명서를 사용한 가전 제품의 기술방법 및 시스템

Also Published As

Publication number Publication date
CN1855036B (zh) 2012-05-09
CN1855036A (zh) 2006-11-01
JP5027396B2 (ja) 2012-09-19
US8099313B2 (en) 2012-01-17
EP1647884A3 (en) 2012-04-04
EP1647884A2 (en) 2006-04-19
KR20060051203A (ko) 2006-05-19
JP2006092549A (ja) 2006-04-06
US20060064694A1 (en) 2006-03-23

Similar Documents

Publication Publication Date Title
KR100727977B1 (ko) 가전 제품 상의 작업들을 편성하는 방법 및 시스템
KR100739732B1 (ko) 전자 장치의 제어를 위한 사용자 작업을 제시하는 방법 및시스템
KR100739733B1 (ko) 분리된 작업 및 장치 설명서를 사용한 가전 제품의 기술방법 및 시스템
RU2609075C2 (ru) Расширенное меню поиска и конфигурация для компьютерных приложений
CN111372109B (zh) 一种智能电视以及信息交互方法
US20070061711A1 (en) Management and rendering of RSS content
WO2009039002A2 (en) Customization of search results
US20070168194A1 (en) Scheduling audio modalities for data management and data rendering
TW200411553A (en) System and method for making user interface elements known to an application and user
WO2008115009A1 (en) A framework for correlating content on a local network with information on an external network
Nichols et al. Creating a lightweight user interface description language: An overview and analysis of the personal universal controller project
CN111914134A (zh) 一种关联推荐方法、智能设备及服务设备
US20130179152A1 (en) Computer Implemented Method, Apparatus, Network Server And Computer Program Product
WO2022012234A1 (zh) 一种关联推荐方法、智能设备及服务设备
CN113076427A (zh) 一种媒资资源搜索方法、显示设备及服务器
CN118012431A (en) Interface generation method, device, equipment and medium
Gilroy et al. SBML: a user interface mark-up language based on interaction style
van der Sluijs et al. Hera: Engineering web applications using semantic web-based models
Fischer et al. How to personalize speech applications for web-based information in a car
Lino et al. Exploring Semantic Representation for t-learning on the ITV Platform
Mohamad et al. Research Report on User Modeling for Accessibility. W3C WAI Research and Development Working Group (RDWG) Notes 2014
Pavlov et al. Innovative learning services in Web, interactive TV and mobile applications
Korhonen Interactive television usability: Case: TELE Omavisio

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: 20120517

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130522

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee