KR101368133B1 - 프로그램 가능한 멀티미디어 컨트롤러를 위한 프로그래밍 환경 및 메타데이터 관리 - Google Patents

프로그램 가능한 멀티미디어 컨트롤러를 위한 프로그래밍 환경 및 메타데이터 관리 Download PDF

Info

Publication number
KR101368133B1
KR101368133B1 KR1020097007596A KR20097007596A KR101368133B1 KR 101368133 B1 KR101368133 B1 KR 101368133B1 KR 1020097007596 A KR1020097007596 A KR 1020097007596A KR 20097007596 A KR20097007596 A KR 20097007596A KR 101368133 B1 KR101368133 B1 KR 101368133B1
Authority
KR
South Korea
Prior art keywords
components
multimedia controller
programmable
configuration
component
Prior art date
Application number
KR1020097007596A
Other languages
English (en)
Other versions
KR20090075690A (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 KR20090075690A publication Critical patent/KR20090075690A/ko
Application granted granted Critical
Publication of KR101368133B1 publication Critical patent/KR101368133B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D23/00Control of temperature
    • G05D23/19Control of temperature characterised by the use of electric means
    • G05D23/1917Control of temperature characterised by the use of electric means using digital means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/20Network management software packages

Abstract

광범위한 오디오, 비디오, 텔레커뮤니케이션(telecommunication), 데이터 통신, 또는 기타 기기들과 인터페이스하거나, 이들을 제어하거나 관리할 수 있는 범용 컴퓨터 기반의 멀티미디어 컨트롤러가 개시된다. 그래픽 사용자 인터페이스 기반의 구성 도구(configuration tool)는 멀티미디어 컨트롤러에 상호연결되거나(interconnected) 인터페이스되는 다수의 콤포넌트 또는 기기들을 갖는 매우 복잡한 시스템들을 구성하는 간단하고, 개략적인 방법을 제공한다. 사용자 인터페이스 프로그래밍 툴은 사용자가 멀티미디어 컨트롤러에 대하여 그래픽 사용자 인터페이스의 외양과 기능을 커스터마이즈(customize)할 수 있도록 한다. 메타데이터 관리자는 멀티미디어 컨트롤러 내에서 활용가능한 메타데이터를 자동 모으고, 새로운 미디어의 존재를 자동 검출하고, 이로부터 메타데이터를 모으며, 추가의 관련 메타데이터를 찾기(locate) 위해 웹 리소스에 액세스할 수도 있다.
Figure R1020097007596
메타데이터 관리자, 커스터마이즈, 상호연결, 프로그램 가능한 멀티미디어 컨트롤러

Description

프로그램 가능한 멀티미디어 컨트롤러를 위한 프로그래밍 환경 및 메타데이터 관리{PROGRAMMING ENVIRONMENT AND METADATA MANAGEMENT FOR PROGRAMMABLE MULTIMEDIA CONTROLLER}
관련 출원
본 출원은 동시계속 출원(co-pending application)인 미국특허출원 일련번호 제11/314,664호(2005년 12월 20일자) "System and Method for a Programmable Multimedia Controller" 및 일련번호 제11/314,112호(2005년 12월 20일자) "Programmable Multimedia Controller with Programmable Services"에 관련되며, 그 모두가 동일 양수인에 양수되며, 그 전체가 본 명세서에 참조로서 포함되어 있다.
발명의 분야
본 발명은 일반적으로 멀티미디어 및 통신 분야에 관한 것으로서, 특히, 각종 오디오, 비디오, 텔레커뮤니케이션(telecommunication), 데이터 통신, 및 기타 기기들을 제어 및 관리하고, 이들과 인터페이스 가능한 가정용, 상용, 전문가용의 오디오 또는 비디오, 방송 또는 필름 스튜디오, 보안, 자동화, 또는 기타의 용도를 위한 프로그램 가능한 멀티미디어 컨트롤러(programmable multimedia controller)에 관한 것이다.
소비자 전자 기기들의 상업적 출시는 전자 하드웨어의 가격 하락과 새로운 미디어의 도입에 따라서 크게 확대되었다. 예를 들어, 불과 몇년 내에, CD 기술은 일반적으로 선호되는 음악 녹음 미디어로서 비닐 레코드 및 자기 테이프를 모두 대체하였으나, 다음으로는 MP3 기술로 대체되었다. 마찬가지로, DVD 기술은 일반적으로 선호되는 비디오 녹화 미디어로서 비디오테이프를 크게 대체하였고, 필름 카메라를 디지털 카메라가 사실상 대체하였다. 새로운 기술과 미디어의 도래 및 최근의 진보에 기초한 제품에 대한 해당 소비자 요구는 제조사들이 재빠르게 새로운 제품을 도입하도록 하고 있다. 그 결과, 방대한 수의 제품 유형과 모델들이 시장을 채우고 있다.
많은 소비자들에게 오래 지속되어온 문제점 중 하나는, 통상 개별적으로 판매되며 통합 시스템의 일부는 아닌 각종 전자 기기들을 상호연결하는 것(interconnecting)과 관련된 복잡성이다. 예를 들어, 소비자는 상이한 제조사에 의해 만들어진 오디오 수신기, 케이블 TV 박스, 텔레비젼, DVD 플레이어, 및 서라운드 사운드 시스템을 획득할 수 있다. 적절하게 사용되면 콤포넌트들이 함께 최상으로 작용하도록 하여, 가장 즐거운 엔터테인먼트 경험을 만들어내게 하는 각종 작동 및 특징들의 모드들을 충분히 이해하는 것은 말할 것도 없고, 일군의 콤포넌트들을 일련의 케이블로 상호연결하는 기본적인 문제점은 사용자들을 힘들게 하고 있다.
또 다른 오래 지속되어온 문제점은, 개별적인 콤포넌트들을 통합하기 위한 이전 접근법들 중 전부는 아니지만 대부분이, 하이레벨 컴퓨터 언어로 쓰여진 소프트웨어 상에서 동작하는 몇몇 유형의 중앙 컨트롤러를 사용한다는 것이다. 하이레벨 컴퓨터 언어를 사용하는 것은 몇몇 애로사항을 가져온다. 먼저, 제조사가 소스 코드를 사용자가 사용할 수 있도록 하지 않기 때문에, 시스템을 커스터마이즈(customize)하고자 하는 사용자가 사실상 그렇게 할 수 없도록 한다는 것이다. 두번째로, 소스 코드가 사용가능하게 되더라도, 대부분의 사용자들은 소스 코드를 기입 또는 변경할 기술적인 전문지식, 의향이나 시간이 없다는 점이다. 세번째로, 제조사가 새로운 기기들 도입하는 것은 중앙 컨트롤러가 이러한 기기들과 호환되도록 하기 위하여 소스 코드가 변경될 것을 필요로 한다는 점이 거의 확실하다.
또 다른 오래 지속되어온 문제점은 소비자 전자 기기들에 대한 제어 인터페이스에 관하여 어떠한 광범위하게 채택되는 산업 표준이 없다는 것이다. 제조사들은 변화하는 통신 프로토콜들을 도입하였으며, 그 대부분은 사실상 사유재산으로서, 어떠한 표준에 맞지도 않으며, 아주 상세한 소스 코드로 구현된다. 이러한 표준의 부재는 각종 소비자 전자 기기들을 이들이 함께 동작하고 실질적으로 기술적인 전문지식을 갖지 않는 평균적인 사용자에 의해 관리가능하도록 통합하여 중앙집중식으로 제어하는 방법에 대한 문제를 매우 복잡하게 한다.
요약하면, 본 발명은 광범위한 오디오, 비디오, 텔레커뮤니케이션, 데이터 통신, 또는 기타 기기들과 인터페이스할 수 있으며, 이들을 제어 또는 관리할 수 있는 범용 컴퓨터 기반의 멀티미디어 컨트롤러를 제공한다. 본 발명의 일 양태에 따르면, 그래픽 사용자 인터페이스 기반의 구성 도구(configuration tool)는 멀티미디어 컨트롤러에 상호연결되거나 인터페이스되는 다수의 콤포넌트 또는 기기들을 갖는 매우 복잡한 시스템들을 구성하는 간단하고 개략적인 방법을 제공한다.
구성 도구는 콤포넌트 프로파일의 라이브러리에 액세스한다. 콤포넌트 프로파일은 통상 콤포넌트의 물리적 특성, 콤포넌트의 구성, 콤포넌트가 인식하는 명령의 세트, 뿐만 아니라 콤포넌트가 수행가능한 기능들 중 적어도 일부를 기술한다. 일 실시예에 있어서, 콤포넌트 라이브러리는 지정된 웹사이트 또는 온라인 서비스에 대한 온라인 액세스를 통해 갱신될 수 있다.
구성 도구를 사용하여, 사용자, 딜러, 인스톨러, 또는 기타의 인원은 콤포넌트 라이브러리로부터 관심의 콤포넌트들을 선택하며, 통상적으로는 드래그 앤드 드롭한다. 이에 응답하여, 물리적 콤포넌트 상에 존재하는 커넥터 명칭을 포함하는 각 콤포넌트와 그 커넥터들의 사진 또는 기타의 화상이 표시된다. 다수의 콤포넌트들이 선택되면, 구성 도구는 컬러 코딩(color coding)을 이용하여 콤포넌트들 중에서 가능한 연결들을 그래픽적으로(graphically) 그리고 시각적으로 나타낸다. 예를 들어, 하나의 콤포넌트의 오디오 출력 커넥터가 또 다른 컴포넌트의 호환가능한 오디오 입력 커넥터와 동일한 컬러로 하이라이트될 수 있다. 구성 도구는 또한 관심의 커넥터를 선택하여 그 커넥터에 대하여 허용가능한 연결과 허용가능하지 않은 연결에 관한 정보를 표시하기 위해 사용될 수 있다.
표시된 콤포넌트들과 상호작용하여, 사용자는 소망하는 연결을 콤포넌트들 사이에서 그래픽적으로 "드로우(draw)"한다. 일단 소망하는 연결들이 지정되면, 구성 컴파일러(configuration compiler)에 모든 콤포넌트 및 연결 정보가 제공된다. 구성 컴파일러는 지정된 콤포넌트들과 구성에 기초하여 멀티미디어 컨트롤러가 제공할 수 있는 서비스들의 목록을 생성한다. 사용자는 원하는 서비스들을 선택할 뿐만 아니라 각종 서비스들을 개별 선호도에 맞게 커스터마이즈할 수 있다.
구성 도구는 또한 인스톨러에 대한 세부적인 배선 또는 인스톨 인스트럭션; 콤포넌트 요약; 주문 및 결재를 위한 재료의 청구서; 구성 인스트럭션; 수신기에 대한 입력 할당 설정과 같은 제3자 장비에 관한 정보; 사용자 노트(note)들; 케이블링을 위한 인쇄 라벨, 및 기타 정보를 포함하는 출력 리포트를 생성할 수도 있다.
본 발명의 또 다른 양태에 따르면, 터치스크린 원격 컨트롤을 포함하는 프로그램 가능한 멀티미디어 컨트롤러와 인터페이스하는 개별 컴포넌트들 또는 기기들을 구성하기 위하여 구성 도구 및 그래픽 사용자 인터페이스가 사용될 수 있다.
본 발명의 또 다른 양태에 따르면, 멀티미디어 컨트롤러는 CD, MP3, 등을 포함하는 다양한 미디어 유형과 동작할 수 있는 메타데이터 관리 기구(metadata manager facility)를 포함한다. 일 실시예에 있어서, 메타데이터 관리 기구는 멀티미디어 컨트롤러 내에서 활용가능한 메타데이터를 자동으로 모으고, 새로운 미디어의 존재를 자동 검출하고, 이로부터 메타데이터를 모으며, 또한 추가의 관련 메타데이터를 찾기(locate) 위하여 웹 리소스들에 액세스할 수도 있다. 멀티미디어 컨트롤러의 일부인 범용 컴퓨터에 관련된 파일 시스템을 사용함으로써, 메타데이터 관리자 기구는 질의(query)들에 적합한 구조에 메타데이터를 저장한다. 또한, 메타데이터 관리자 기구는 멀티미디어 컨트롤러와 인터페이스될 수 있는 모든 유형의 사용자 원격 컨트롤러들에 대하여 메타데이터가 활용가능하도록 한다.
본 발명의 또 다른 양태에 따르면, 사용자가 멀티미디어 컨트롤러에 대한 사용자 인터페이스의 외양과 기능을 커스터마이즈할 수 있도록 하는 그래픽 프로그래밍 환경이 제공된다. 그래픽 프로그래밍 환경은 어플리케이션 프로그래밍 인터페이스(application programming interface; API)를 통해 액세스가능한 라디오 버튼(radio button)들 및 기타 그래픽 컨트롤들의 라이브러리를 포함한다. API를 통하여, 사용자는 사용자 인터페이스로부터 라디오 버튼 또는 컨트롤을 추가 또는 삭제할 수 있을 뿐만 아니라 그 버튼 또는 컨트롤의 외양, 기능, 기능, 또는 기타 속성을 변경할 수 있다.
본 발명의 이하의 설명은 다음의 첨부 도면을 참조로 한다:
도 1은 본 발명의 예시적인 실시예에 따른 다수의 기기들에 상호연결되는 프로그램 가능한 멀티미디어 컨트롤러의 블록도이다.
도 2는 도 1의 멀티미디어 컨트롤러의 하이레벨 하드웨어 아키텍쳐를 나타낸 개략 블록도이다.
도 3은 도 1의 시스템의 하이레벨 소프트웨어 아키텍쳐를 나타낸 개략 블록도이다.
도 4는 도 3의 구성 도구를 이용하여 시스템 구성을 사용자가 생성할 수 있는 그래픽 프로그래밍 환경을 나타낸 스크린 샷이다.
도 5는 구성 도구과 연계하여 사용되는 콤포넌트 라이브러리의 스크린 샷이다.
도 6A 및 도 6B는 구성 도구로 생성되는 2개의 룸 환경의 스크린 샷을 함께 나타낸다.
도 6C는 콤포넌트를 커스터마이즈하거나, 구성하거나, 콤포넌트에 관한 세부 정보를 사용자가 볼 수 있게 하는 콤포넌트 인스펙터 툴(tool)의 스크린 샷이다.
도 7은 도 6A 및 도 6B의 구성에 대한 구성 편집을 나타낸 스크린 샷이다.
도 8은 사용자가 서비스들을 커스터마이즈할 수 있는 툴을 나타낸 스크린 샷이다.
도 9는 도 1의 프로그램 가능한 멀티미디어 컨트롤러에 포함될 수 있는 메타데이터 관리 기구의 기능 블록도이다.
도 10은 편집 도구를 이용하여 사용자가 컴포넌트 구성을 생성하거나 사용자 인터페이스 외양 또는 사용자 프로파일을 변경할 수 있는 도 4의 그래픽 프로그래밍 환경을 나타낸 스크린 샷이다.
도 11은 도 1의 프로그램 가능한 멀티미디어 컨트롤러에 대한 그래픽 사용자 인터페이스를 정의하고 표시하기 위해 사용되는 소프트웨어의 하이레벨 아키텍쳐를 나타낸 흐름도이다.
도 12는 도 1의 프로그램 가능한 멀티미디어 컨트롤러의 그래픽 사용자 인터페이스를 구현하기 위해 사용되는 일련의 패치를 나타낸 그래픽 프로그래밍 환경이다.
도 13은 "재생" 기능을 수행하기 위한 버튼의 그래픽 프로그램 가능한 속성 을 나타낸 스크린 샷이다.
도 1은 본 발명의 예시적인 실시예에 따른 다수의 기기들에 상호연결되는 프로그램 가능한 멀티미디어 컨트롤러(100)의 블록도이다. "프로그램 가능한 멀티미디어 컨트롤러"라는 용어는, 오디오 기기, 비디오 기기, 전화 기기, 데이터 기기, 보안 기기, 모터 구동 기기, 릴레이 구동 기기, 및/또는 다른 유형의 전자 기기들을 제어하고, 이들 사이에 데이터를 교환하고, 및/또는 그렇지 않으면 상호연동(interoperating)할 수 있는 기기로서 넓게 해석되어야 한다. 이러한 기기들과 상호작용하는 것에 의해, 프로그램 가능한 멀티미디어 컨트롤러는 통합된 멀티미디어 제어 솔루션을 구현할 수 있다.
예시적인 실시예에서, 프로그램 가능한 멀티미디어 컨트롤러(100)는 오디오/비디오 성분들, 예를 들어, CD 플레이어(105), DVD 플레이어(110), 오디오/비디오 수신기(115), 텔레비젼(120), PMP(125), 스피커(122), 마이크(123), 및/또는 비디오 카메라(124) 등의 광범위한 오디오/비디오 콤포넌트들에 연결된다. 프로그램 가능한 멀티미디어 컨트롤러는 또한 전화 네트워크(130) 및 전화 핸드셋(132) 등의 전화 기기에 연결될 수도 있다. 전화 네트워크(130)는 PSTN(publicly switched telephone network), ISDN(Integrated Services Digital Network), 또는 기타의 통신 네트워크일 수 있다.
또한, 프로그램 가능한 멀티미디어 컨트롤러는 각종 조명 및/또는 홈 오토메이션 시스템(135)과 상호통신한다(intercommunicate). 이들 기기들은 Pico Electronics 사의 X10 프로토콜, SmartHome 사의 INSTEON™ 프로토콜, CEBus Industry Council 사의 CEBus 표준, 또는 또 다른 공지의 자동화 또는 제어 프로토콜을 통해 동작할 수 있다. 마찬가지로, 컨트롤러는, 예를 들어, HVAC(heating, ventilation and air conditioning system) 시스템, 관개 시스템(irrigation system), 자동 셰이드 또는 블라인드 시스템(automatic shade or blind system), 전자 도어락(electronic door lock), 또는 기타 유형의 기기를 포함할 수 있는 모터 및/또는 릴레이 작동 기기(137)들에 연결될 수 있다.
프로그램 가능한 멀티미디어 컨트롤러에 인터넷(140) 등의 컴퓨터 네트워크가 연결된다. 또한, PC(145), 비디오 게임 시스템(150), 홈 레코딩 장비(165) 또는 기타 기기들이 연결될 수도 있다. 또한, 컨트롤러의 기능을 관리하기 위하여, 및/또는 컨트롤러에 연결되는 기기들을 제어하기 위하여 하나 이상의 원격 제어 유닛(170)이 제공될 수 있다. 이러한 원격 제어 유닛은 유선 네트워크 연결, 적외선 링크, RF 링크(radio-frequency link), Bluetooth™ 링크, ZigBee™ 링크, 또는 또 다른 적절한 데이터 연결을 통해 컨트롤러에 상호연결될 수 있다. 그러한 원격 제어 유닛의 예들은 전자 기계적(electromechanical)일 수 있는 간편 원격 컨트롤(114), 터치 스크린 원격 컨트롤(112) 및 MP3 플레이어 또는 기타 기기(116)를 포함한다.
도 2는 프로그램 가능한 멀티미디어 컨트롤러의 하이레벨 하드웨어 아키텍쳐를 나타낸 개략 블록도이다. 도시된 각종 성분들은 컨트롤러의 "마더보드" 상에, 또는 백플레인(도시생략)에 의해 상호연결되는 복수의 카드 상에 배치될 수 있다. 마이크로컨트롤러(210)는 시스템의 일반적인 동작을 관리한다. 예시적인 실시예에서, 마이크로컨트롤러는 Freescale Semiconductor사의 32비트 모델인 MCF5234 마이크로컨트롤러이다. 마이크로컨트롤러(210)는 버스(218)를 통해 오디오 스위치(215) 및 비디오 스위치(220)에 결합된다. 오디오 스위치(215) 및 비디오 스위치(220)는 다수의 연결들을 동시에 스위칭할 수 있는 크로스포인트 스위치(crosspoint switche)인 것이 바람직하다. 그러나, TDM(Time Division Multiplexing) 스위치와 같은, 디지털 신호를 스위칭할 수 있는 다른 많은 유형의 스위치들이 채용될 수 있다.
중간 플레인(mid plane)(235)은 스위치들 및 다른 기기들을, 예를 들어, HDMI 기능의 디지털 비디오 입력 모듈들(600), HDMI 기능의 비디오 출력 모듈들(1000), 디지털 오디오 입력 모듈들(400), 및 디지털 오디오 출력 모듈들(900) 등의 각종 입출력 모듈들에 상호연결한다. 중간 플레인(235)은 10BaseT, 100BaseT 또는 기가바이트 이더넷 신호의 스위칭을 허용하는 이더넷 스위치(230)에 더 결합된다. 이더넷 스위치(230)는 이더넷 포트(232)와 프로세싱 서브시스템(240)을 마이크로컨트롤러(210)에 상호연결한다. 일 실시예에 있어서, 프로세싱 서브시스템(240)은 중복 동작 및/또는 부하 밸런싱(load balancing)을 제공하는 복수의 작은 폼 팩터의 범용 PC들을 포함한다. 일부 실시예에 있어서, 프로세싱 서브시스템(240)은, 예를 들어, 디지털 미디어를 저장하기 위한 확장된 저장 용량을 제공하기 위하여 PC 외부의 하나 이상의 저장 장치를 포함할 수 있다.
또한, 프로세싱 서브시스템(240)으로의 상호연결을 위하여 다수의 USB 포 트(242)가 USB 허브(243)에 상호연결된다. 메모리 카드 인터페이스(225)가 또한 USB 허브(243)에 연결될 수 있다. 인터페이스는, 예를 들어, CompactFlash™ 카드, Memory Stick™ 카드, Secure Digital™(SD) 카드, 또는 기타 포맷의 하나 이상의 공지의 메모리 카드 포맷을 수용한다. 존재할 수 있는 다수의 프로세싱 콤포넌트들 사이의 USB 링크를 스위칭하기 위하여 USB 스위치(244)가 채용된다. 마찬가지의 방법으로, 다수의 IEEE 1394(FireWire™) 포트(246)가 IEEE 1394 허브(247) 및 IEEE 1394 스위치(248)에 상호연결된다.
비교적 낮은 데이터 전송속도(transfer rate) 기기들에 대하여 시리얼 통신 인터페이스를 제공하는 SPI(Serial Peripheral Interface) 및 I2C(Inter-Intergrated Circuit) 분산 회로(250)에 마이크로컨트롤러(210)가 또한 연결된다. SPI/I2C 컨트롤러(250)는 중간 플레인 커넥터(235)에 연결되어, 마이크로컨트롤러(210)로부터 모듈들 및 프로그램 가능한 멀티미디어 컨트롤러(100) 내의 기타의 기기들에 제어 명령을 제공한다. 팬 컨트롤러(251), 온도 센서(252), 및 전력 관리 회로(253) 등의 기기들에 대하여 SPI/I2C 컨트롤러(250)로부터의 또 다른 연결이 제공되어, 시스템의 열적 특성을 관리하고 오버히팅을 방지한다.
마이크로컨트롤러(210)는 또한 외부 기기들과의 상호연결을 허용하는 IR 인터페이스(260), RS232 인터페이스(265), 및 RF 인터페이스(267)에 연결된다. 이러한 상호연결은 프로그램 가능한 멀티미디어 컨트롤러(100)가 외부 기기들을 제어할 수 있도록 한다. 또한, 인터페이스들은 프로그램 가능한 멀티미디어 컨트롤러 자 체의 동작을 제어하는 제어 신호들을 수신할 수도 있다. WI-FI, Bluetooth™, ZigBee™, 및 기타 유선 및 무선 인터페이스들을 포함하는 각종 다른 인터페이스들이 멀티미디어 컨트롤러(100)와 사용될 수 있다는 것이 명백히 상정된다.
또한, 하나 이상의 비디오 게임 시스템, 캠코더, 컴퓨터, 가라오케 머신, 또는 기타의 기기들을 상호연결하기 위하여 보조 오디오/비디오 포트(700)가 제공된다. PSTN 또는 사설 네트워크에 대한 연결을 위하여, 또한 전화 핸드셋에 대한 연결을 위하여 전화 인터페이스(270)가 제공된다. 또한, 조명, 홈 오토메이션, 및 모터, 및/또는 릴레이 구동 기기들과 통신하기 위하여 기기 제어 인터페이스(275)가 제공된다. 이하에서 더 자세하게 설명하는 바와 같이, 수개의 프로그램 가능한 멀티미디어 컨트롤러들을 함께 링크시켜 확장된 시스템을 형성하도록 확장 포트(280)가 제공된다. 결국, 프론트 패널 디스플레이(1150)는 상태, 구성, 및/또는 기타 정보를 사용자에 제시(presentation)하도록 허용한다. 일 실시예에 있어서, 프론트 패널은 디스플레이 상에서 비디오 콘텐츠를 프리뷰할 수 있도록 시스템에 연결되는 임의의 입력 소스로부터 기인하는 비디오 데이터를 표시할 수 있다. 또 다른 실시예에 있어서, 프론트 패널 디스플레이(1150)는 터치스크린을 포함하여, 사용자는 화면 상에서 아이콘을 선택함으로써 제어 선택을 입력할 수 있다.
도 3은 컨트롤러(100)의 하이레벨 소프트웨어 아키텍쳐를 나타낸 블록도이다. 소프트웨어 아키텍쳐는 시스템 제어 플레인(302), 사용자 인터페이스 플레인(304), 제어 어플리케이션 프로그래밍 인터페이스(API) 액세스(306), 서비스 플레인(308), 미디어 플레인(310), 콤포넌트 제어 플레인(312), 및 구성/설정 플레 인(314)을 포함하는 일련의 플레인(plane)들로 구성된다.
시스템 제어 플레인(302)은 시스템 관리자(316), 시스템 론처(system launcher)(318), 리던던시 관리자(320), 웹 서버(322), 터치스크린/PDA 서버(324), 원격 시스템 액세스 관리자(326), 및 시스템 로그(328)의 기능들을 포함한다. UI 플레인(304)는 서비스 플레인(308)과 UI 서버(330)를 공유한다. 서비스 플레인(308)은 자체적으로 오토메이터 런타임(334)을 포함하는 서비스 컨트롤러(332)의 기능들을 포함한다. 서비스 플레인(308)은 또한 Mac 디스플레이 컨트롤러(336), 온 스크린 디스플레이(OSD) 어플리케이션(338), 제3자 어플리케이션(340), Mac 어플리케이션(342), 및 오디오/비디오 콤포넌트 컨트롤러(344)의 기능들을 포함한다. 오토메이터 런타임(automator runtime)(334)을 통해 서비스 컨트롤러(332)는 Applescript를 지원하는 iTunes, iChat, iPhoto, 및 iDVD를 포함하는 Mac 어플리케이션을 제어할 수 있으며, 이는 어플리케이션-투-어플리케이션 제어를 가능하게 한다. 마찬가지로, 오토메이터 런타임(334)을 통해, 서비스 컨트롤러(332)는 AppleScript를 지원하는 제3자 어플리케이션을 제어할 수 있다.
미디어 플레인(310)은 모든 지원가능한 포맷(즉, DVI, 이더넷, FireWire™, USB, 등)의 Mac 입출력(I/O)의 기능을 포함한다. 콤포넌트 컨트롤 플레인(312)은 오디오/비디오 콤포넌트들(348)을 제어하는 기능을 포함한다.
구성/설정 플레인(314)은 사용자 구성 도구(350), 구성 컴파일러(352), 사용자 서비스 제어 어플리케이션(354), 워크플로우 생성기(356), 및 서비스 제어 워크플로우 브라우저/검색 엔진/커스터마이즈 어플리케이션(358)의 기능을 포함한다. 구성/설정 플레인(314)은 또한 수개의 정보 유형을 시스템 구성(360), 오토메이터 워크플로우(362), 서비스 정의(364), 콤포넌트 프로파일(366), 및 Mac 셋팅(368)을 포함하는 UI 플레인(304) 및 서비스 플레인(308)에 전달한다. 전술한 동시계속 출원인 미국특허출원 일련번호 제11/314,112호에 기재된 바와 같이, 바람직한 실시예에 있어서, 시스템 구성(360), 오토메이터 워크플로우(362), 서비스 정의(364), 및 콤포넌트 프로파일(366)을 표현하기 위하여 XML 파일들이 사용된다.
제어 API 액세스(306)는 웹-가능 기기, RF 원격 제어형 기기(RF remote control type device), 터치스크린, PDA, 또는 휴대폰을 사용하도록 선택할 수 있는 사용자에 의해 멀티미디어 컨트롤러(100)를 제어할 수 있는 API에 대한 책임을 갖는다. UI 플레인(304)은 멀티미디어 컨트롤러(100)에 대하여 사용자 인터페이스의 기능적 책임을 갖는다. 서비스 플레인(308)은 전술한 바와 같이 서비스를 구현하기 위한 기능적 책임을 갖는다. 오토메이터 런타임(334)은 사용자로부터 요청 또는 명령을 수신하고, 이들을 특정 서비스의 워크플로우에 맵핑하는 책임을 갖는다.
미디어 플레인(310)은 Mac I/O 뿐만 아니라 멀티미디어 컨트롤러(100)에 의해 지원되는 기타의 내외부 통신 인터페이스에 대한 기능적 책임을 갖는다. 컴포넌트 제어 플레인(312)은 멀티미디어 컨트롤러(100)와 인터페이스될 수 있는 오디오 또는 비디오 콤포넌트들의 동작을 제어하는 기능적 책임을 갖는다. 구성/설정 플레인(314)은 사용자가 멀티미디어 컨트롤러(100)를 구성하고, 서비스를 선택, 생성, 또는 변경하고, 콤포넌트 프로파일을 선택, 생성, 또는 변경할 수 있도록 하는 기능적 책임을 갖는다.
도 4는 시스템 구성을 생성하기 시작하기 위하여 구성 도구(350)를 사용자가 사용하는 방법을 나타낸 스크린 샷이다. 그래픽 프로그래밍 환경(400)의 화면에 표시된 것은 구성 워크스페이스(402), 영역 맵(404), 및 툴바(406)이다. "로지(Rosie)"라 라벨링된 아이콘(참조번호 410)은 프로그램 가능한 멀티미디어 컨트롤러(100)(도 1)을 나타낸다. "룸 1(Room 1)"로 라벨링된 아이콘(참조 번호 412)는 제1 영역을 나타내며, 이는 물리적으로는 구성 내의 하나 이상의 룸을 포함할 수 있다.
구성을 생성하기 시작하기 위하여, 사용자는 온 더 쇼우(on the show) 팔렛트 버튼(408)을 클릭한다. 도 5에 도시된 바와 같이, 이 조치는 콤포넌트 라이브러리(500) 내의 콤포넌트들을 표현하는 아이콘들의 팔렛트가 나타나도록 한다. 본 예에 있어서, 다지털 서라운드 수신기(504), HDMI 스위처(506), 및 다수의 기타의 콤포넌트들과 같이, 플랫 패널 텔레비젼(502)의 수개의 모델들이 콤포넌트 라이브러리(500)에 활용가능하다. 사용자는 간단히 콤포넌트 라이브러리(500)로부터 영역 맵(404) 내의 소망하는 영역에 아이콘들을 드래그 앤드 드롭할 수 있다. 따라서, 일련의 이러한 드래그 앤드 드롭을 통해, 사용자는 지정 영역에 인스톨 하여야 하거나 하고자 하는 콤포넌트들 모두를 지정할 수 있다. 처리를 조속화하기 위하여, 사용자는 특정 유형의 콤포넌트(예컨대, 수신기, DVD 플레이어, 스피커, 케이블 TV 컨버터, 등)만을 표시하기 위한 메뉴(508)에 액세스하거나, 특정 제조사에 의해 만들어진 콤포넌트들만을 표시하기 위한 메뉴(510)를 액세스할 수 있다.
사용자가 영역 맵(404)에 콤포넌트들을 드래그 앤드 드롭한 후에는, 이러한 콤포넌트들은 영역 맵(404)으로부터 워크스페이스(402)에 드래그 앤드 드롭된다. 워크스페이스(402)에 각각의 콤포넌트가 드롭됨에 따라, 도 6A 및 도 6B에 도시된 바와 같이, 박스가 나타난다. 예를 들어, 박스(602)는 그래픽 프로그래밍 환경(400) 내의 프로그램 가능한 멀티미디어 컨트롤러(100)를 나타낸다. 마찬가지로, 박스(604)는 플랫 패널 텔레비젼을 나타낸다. 도시된 바와 같이, 각각의 박스는 이에 대응하는 물리적 콤포넌트의 사진 또는 기타 화상을 담고 있으며, 이는 사용자에 대하여 편리한 시각적 참조를 제공한다. 또한, 각각의 박스는 대응 콤포넌트 상에 존재하는 모든 입력, 출력, 및 제어 포트들을 식별하는 텍스트 및 그래픽을 담고 있다. 텍스트는 또한 신호 유형, 커넥터 유형, 및 각각의 입력, 출력, 및 제어 포트에 관한 기타의 관련 정보를 식별한다. 그래픽은 물리적인 콤포넌트 상에 나타나는 컬러와 일치하는 컬러 코딩을 포함한다.
구성에 있어서 사용자를 지원하기 위하여 제공되는 또 다른 도움은 콤포넌트 인스펙터 툴이다. 도 6A 및 도 6B에 도시된 바와 같이, 사용자는 영역 맵(404) 내에서 관심의 콤포넌트를 선택한 후, "인스펙터 보기(Show Inspector)"로 라벨링된 버튼(참조 번호 614)을 클릭할 수 있다. 이에 응답하여, 도 6C에 도시된 화면(616)이 나타나게 된다. 메뉴(618)는 사용자가 선택된 콤포넌트의 입력, 출력, 제어 포트, 및 기타의 양상들에 대한 세부 정보를 조사할 수 있도록 한다. 화면(616)을 통해, 사용자는 또한 선택된 콤포넌트(즉, 프로그램 가능한 멀티미디어 컨트롤러, 프로그램 가능한 입출력 슬롯을 갖는 모듈식 수신기, 등과 같은 구성을 필요로 하는 콤포넌트들에 대하여)를 구성하거나 커스터마이즈할 수 있다.
마우스를 이용하여, 사용자는 워크스페이스(402)에 나타나는 박스들(콤포넌트들) 사이의 연결을 "드로우(draw)"한다. 이러한 연결들은, 선(606) 등의 선들로 나타나며, 증폭기(608)의 출력과 서라운드 스피커(610)의 세트 사이의 연결을 나타낸다. 사용자가 연결을 행할 수 있는 또 다른 방법은 (박스 내에 표시되는) 커넥터 상에서 우측 클릭하여, 직접 또는 전환(conversion)을 통해 어떠한 유형의 커넥터들이 호환가능한지, 또한 어떠한 것이 호환불가능한지의 정보를 표시한 후, 그 메뉴로부터 소망하는 연결을 선택하도록 하는 팝업 메뉴를 개방시키는 것이 있다.
사용자는 "리포트 생성(Make Report)" 버튼(참조 번호 616)을 클릭할 수 있다. 이 조치는 기저의 소프트웨어가 지정된 구성에 대한 세부적인 배선 인스트럭션, 구성 내의 콤포넌트들의 요약, 특수한 인스트럭션, 사용자가 입력한 노트, 등을 포함할 수 있는 출력 리포트를 생성하도록 한다. 출력된 리포트는 재료의 청구서, 배선 체크리스트, 및 인스톨 인스트럭션 시트로서 기능할 수 있다.
일단 사용자가 필요한 연결을 완료하면, "컴파일" 버튼(612)을 클릭한다. 이 조치는 기저의 소프트웨어가 지정된 구성을 자동 분석하여, 어떠한 "서비스"가 구성이 수행가능한지("실현된 서비스(realized service)")를 판정하고, 구성이 변경되면 활용가능할 수 있는 다른 서비스들을 식별하도록 한다. "서비스" 뿐만 아니라, 본 명세서에서 사용되는 바와 같은 "리소스" 및 요청"에 관한 더 구체적인 설명을 위해서는, 동시계속 출원인 미국출원 일련번호 제11/314,112호를 참조하기 바란다.
도 7에 도시된 바와 같이, 실현된 서비스(700)의 목록이 사용자에 대하여 표시된다. 마우스로 선택하는 때에, 실현된 서비스에 대한 설명이 패널(704)에 나타난다. 사용자는 체크박스(702)를 이용하여 임의의 실현된 서비스를 디스에이블시킬 수 있다. 패널(706)은 선택된 서비스에 관련된 리소스 모두를 표시한다. "미실현 서비스 보기" 버튼(708)을 클릭함으로써, 사용자는 지정 구성이 변경되면 제공될 수 있는 서비스인 "미실현 서비스들(unrealized service)"을 볼 수 있다. 미실현 서비스를 보는 것은, 구성을 디버그하는 것 뿐만 아니라 주어진 콤포넌트 세트에 대한 사용자의 경험과 콤포넌트 사용을 최적화하기 위한 툴로서 유용하다.
일단 사용자가 구성과 커스터마이즈에 만족하면, "생성(Generate)" 버튼(710)을 클릭한다. 이로한 조치는 기저의 소프트웨어가 프로그램 가능한 멀티미디어 컨트롤러(100)에 대한 실제 시스템 구성을 생성하고, 도 8에 도시된 화면을 표시하도록 한다. 도 8에 도시된 바와 같이, 실현된 서비스 "TV 서비스"에 관련된 요청들이 패널(800)에 표시된다. 패널(800) 내에서, 사용자는 요청들을 추가 또는 삭제함으로써 실현된 서비스를 커스터마이즈할 수 있다.
전술한 사용에 더하여, 프로그램 가능한 멀티미디어 컨트롤러(100)와 인터페이스하는 개별 콤포넌트 또는 기기들을 구성하기 위하여 그래픽 프로그래밍 환경(400) 및 구성 도구(350)가 사용될 수 있다. 도 10에 도시된 바와 같이, 예를 들어, 본 발명의 양수인에 의해 판매되는 터치스크린 원격 컨트롤(1000)이 컴포넌트 라이브러리(500)(도 5)에 포함될 수 있다. 일단 영역 맵(404)에 드래그 앤드 드롭되면, 사용자 인터페이스 외양(즉, 테마 및 스킨) 및 사용자 프로파일들을 포 함하는 이러한 터치스트린에 특정정인 옵션들을 구성하기 위하여 구성 도구(350)가 사용될 수 있다. 사용자 프로파일들에 관한 세부적인 정보는 동시계속 출원인 미국특허출원 일련번호 제11/314,112호에 기재되어 있다.
본 발명의 또 다른 양태에 따르면, 프로그램 가능한 멀티미디어 컨트롤러(100)는 컨트롤러(100) 내에 메타데이터를 모으고, 조직하고, 프로그램 가능한 멀티미디어 컨트롤러(100)뿐만 아니라 컨트롤러(100)와 인터페이스된 사용자 원격 컨트롤들에 분배하기 위한 메타데이터 관리 기구를 포함할 수 있다. 도 9는 메타데이터 관리 기구(900)의 기능 블록도이다. 메타데이터 관리자(912)는 컨트롤러 인터페이스(902)로부터 수신되는 메타데이터에 대한 요청들에 응답하는 것, 데이터 관리자(904) 또는 콘텐츠 소스 관리자(916)로부터 새로운 메타데이터를 수신하는 것, 및 새로운 메타데이터를 저장 관리자(910)에 전달하는 것을 포함하는 수개의 기능을 담당한다.
데이터 워처(908)는 새로운 미디어의 도입을 위한 모든 가능한 미디어 소스들을 모니터링하는 것을 담당한다. 예를 들어, 데이터 워처(908)는 프로그램 가능한 멀티미디어 컨트롤러(100)에 연결된 CD 플레이어에 새로운 CD를 탑재(loading)하는 것, 컨트롤러(100)에 MP 플레이어를 연결하는 것, 컨트롤러(100)에 썸 드라이브(thumb drive)를 삽입하는 것 등을 검출한다.
데이터 워처(908)가 새로운 미디어의 존재를 검출하는 때에 데이터 관리자(904)에 대한 통지를 생성한다. 데이터 관리자(904)는 파일 유형, 파일 경로(가능하다면), 및 새로운 미디어의 물리적 소스에 관한 정보를 초기에 포함하는 미디 어 객체를 생성함으로써 이러한 통지에 응답한다. 그 후, 데이터 관리자(904)는 검출된 미디어의 유형(예컨대, MP3 파일)에 해당하는 데이터 인터프리터(906)에 미디어 객체를 전달한다. 데이터 인터프리터(906)는 새로운 미디어 소스로부터 가능한 한 많은 메타데이터를 추출하도록 동작한다. 예를 들어, MP3 파일의 경우, 데이터 인터프리터(906)는 파일의 일부인 ID3 태그로부터 가능한 한 많은 메타데이터의 콜렉트(collect)를 사용할 수 있다. 추출된 모든 메타데이터는 객체에 캡슐화되어(encapsulated) 데이터 관리자(904)에 반환되어, 메타데이터 관리자(902)에 전달한다.
많은 경우에, 데이터 워처(908)에 의해 검출된 새로운 미디어 소스는 특정 노래 또는 앨범에 대하여 존재하는 모든 메타데이터를 포함하고 있지는 않을 것이다. 소실된 메타데이터를 캡쳐하기 위한 노력으로, 메타데이터 관리자(902)는 콘텐츠 소스 관리자(916)에 대한 요청을 발신하여, 이어서, 프로그램 가능한 멀티미디어 컨트롤러(100)의 외부에 있는 하나 이상의 콘텐츠 소스(914)에 액세스할 수 있다. 콘텐츠 소스(914)는 인터넷 또는 기타의 네트워크를 통해 액세스될 수 있는 웹사이트 또는 기타의 원격 정보 소스를 나타낼 수 있다. 또한, 콘텐츠 소스 관리자(916)가 캡쳐하는 추가의 메타데이터는 메타데이터 관리자(902)에 반환되어, 결국, 저장을 위해 저장 관리자(910)에 전달된다.
저장 관리자(910)는 메타데이터 관리자(902)로부터 수신되는 질의들 또는 메시지들에 응답하여 메타데이터를 저장, 검색, 갱신, 또는 삭제하는 전반적인 책임을 갖는다. 동시계속 출원인 미국특허출원 일련번호 제11/314,664호에서 상세하게 기재된 바와 같이, 프로그램 가능한 멀티미디어 컨트롤러(100)가 Apple Computer사의 Mac 컴퓨터를 포함하는 일 실시예에 있어서, 저장 관리자(910)는 스터브 파일(stub file)들을 담고 있는 데이터베이스로서 구현될 수 있다. 이러한 파일들은 Mac OS X에 포함된 메타데이터 검색 엔진인, Spotlight를 이용하여 매우 효율적으로 인덱스 및 질의될 수 있다.
컨트롤러 인터페이스(912)는 메타데이터 관리자(902)와 터치스크린 원격 컨트롤(112)(도 1) 등의 사용자 컨트롤러와의 사이의 통신을 담당한다. 컨트롤러 인터페이스(912)는 가장 최근의 메타데이터에 모든 사용자 컨트롤러들이 액세스하는 것을 보장하는 것 또한 담당한다. 이는 Mac OS X의 일부인, 동기화 기능(synchronization function) rsync를 이용하여 성취될 수 있다.
본 발명의 또 다른 양태에 따르면, 프로그램 가능한 멀티미디어 컨트롤러(100)에 사용하기 위한 그래픽 사용자 인터페이스는 인터페이스의 외양, 기능, 또는 기타 속성들을 쉽게 변경시킬 수 있게 하는 소프트웨어 아키텍처에 기초한다. 도 11은 그래픽 사용자 인터페이스용의 소프트웨어 아키텍처(1100)를 나타낸다. 프로그램 가능한 멀티미디어 컨트롤러(100)에 Mac 컴퓨터가 포함되는 바람직한 실시예에 있어서, Mac OS X에 포함된 Adobe Photoshop® 소프트웨어가 파일들(1102)을 생성하기 위하여 사용된다. Photoshop® 파일(1102)은 도 13에 도시된 화면에서와 같이, 그래픽 사용자 인터페이스의 각각의 구성요소 또는 화면에 대하여, 또는 전체 사용자 인터페이스까지 포함하는 일부 다른 편리한 유닛에 대하여 생성되는 것이 바람직하다.
각각의 Photoshop® 파일(1102)은 "그룹" 및 "레이어"로 조직화되는 것이 바람직한 정보를 포함하며, 이는 그래픽 사용자 인터페이스의 각각의 구성요소의 외양, 기능, 및 기타 속성들을 정의한다. 파일(1102) 내의 정보는 노트(note), 라벨(label), 텍스트-투-스피치 명령, 시스템 제어 명령, 라디오 버튼 또는 기타 사용자 컨트롤(예컨대, 인에이블시키거나, 누르거나, 마우스오버(mouseover)), 특히 디스플레이 텍스트, 폰트 사이즈, 컬러, 사운드 효과, 및/또는 버튼/컨트롤 유형의 상이한 상태들에 대응하는 그래픽을 포함할 수 있다.
통상 하드 드라이브 등의 불휘발성 미디어에 저장되는 파일(1102)은 Mac OS X에 포함되는 또 다른 소프트웨어인 Quartz Composer 및 Quartz Composer 컴포지션을 로딩하는 런-타임 환경에 의해 판독된다(1104). Quartz Composer 는 Photoshop® 파일들(1102)을 파싱하여, 전체 파일뿐만 아니라 각각의 라디오 버튼 또는 기타의 컨트롤들에 대한 내장된 그룹 및 레이어들 모두를 추출하는 기능을 한다.
Quartz Composer "패치(patch)들"은 추출된 정보에 액세스하여, 소위 "출력 포트(output port)들"이라는 Quartz Composer 기능을 이용하여 패치로부터 적절한 명령 및 정보를 제어 API 액세스(306)(도 3) 및 사용자 인터페이스(UI) 서버(330)에 전달한다. 이러한 구성은, Quartz Composer 컴포지션의 작성자가 그래픽들의 다수 레이어들 뿐만 아니라 파일(1102)에 저장된 임의의 기타 정보에 직접 액세스할 수 있도록 하기 때문에, 강력한 프로그래밍 기능을 제공한다. 즉, 파일(1102)에 포함된 정보를 간단히 변경함으로써, 그 파일에 의해 표현되는 그래픽 사용자 인터페이스의 임의의 양상을 광범위하게 활용가능한 친숙한 소프트웨어를 사용하여 작성자가 쉽고 빠르게 구성하거나, 변경하거나, 커스터마이즈할 수 있다.
출력 포트를 통해 패치로부터 수신된 명령과 정보에 응답하여, 제어 API 액세스(306) 및 UI 서버(330)는 적절한 명령과 정보를 서비스 컨트롤러(332)(도 3)에 발행한다(issue). 이에 따라, 서비스 컨트롤러(332)는 사용자가 그래픽 사용자 인터페이스를 통해 어떤 조치를 지시하였든지 이를 유효화하기 위하여 적절한 명령을 외부 콤포넌트(1106)에 발행한다.
도 12는 일련의 Quartz Composer 패치의 온 스크린 디스플레이(1200)를 나타낸다. Photoshop? 파일(1102)는 "임포트" 패치(1202)의 입력에 전달된다. 임포트 패치(1202)는 그 중 하나는 추출된 Photoshop® 파일("outputPSfile")인 수개의 출력 및 파일(1102)("outputAllButtonNames")에 존재하는 모든 버튼들의 명칭을 생성한다. 추출된 Photoshop® 파일은 4개의 LayersFrom File 패치(1204)에 전달된다. 각각의 패치(1204)의 다중 출력은 각각 4개의 Structure Key Member 패치(1206)에 전달된다.
패치들 중 하나(1206)의 출력은 Say Text 패치(1210)에 전달되어, 텍스트-투-스피치 기능을 수행한다. 마찬가지로, 또 다른 패치(1206)의 출력은 Send Service Request to SVC 패치(1212)에 전달되며, 서비스 컨트롤러(332)에 적절한 명령과 데이터를 보내는(send) 것을 담당한다. 패치(1206)들 중 세번째 것의 출력은 Image With String 패치(1214)에 전달되며, 텍스트(파일(1102)로부터 추출됨)를 표시를 위한 화상으로 변환한다. 나머지 패치(1206)의 출력은 라디오 버튼을 표시하는 것을 담당하는 Display 패치(1216)에 전달된다.
도 13은 오디오 또는 비디오 콤포넌트를 위한 그래픽 사용자 인터페이스(1302)를 나타낸 그래픽 프로그래밍 환경(1300)의 스크린 샷이다. 환경(1300)의 영역(1304)에는 "재생(Play)" 버튼(1306)의 기능과 속성들의 프로그램 가능한 "레이어(layer)"들이 나타내어져 있다. 런타임 동안, 버튼(1306)에 대응하는 Photoshop® 파일이 로딩되어, Quartz Composer 패치가 "명령(Command)" 레이어를 요청하는 때에, 그 결과는 관련된 오디오 또는 비디오 콤포넌트가 재생되도록 명령할 것이다.
전술한 설명은 본 개시물의 특정 실시예들에 관한 것이었다. 그러나, 전술한 실시예들에 대하여 그 장점들 중 전부 또는 일부를 성취하면서 다른 변형예 및 변경예가 이루어질 수 있다는 것이 명백할 것이다. 또한, 전술한 절차와 프로세스들은 하드웨어, 프로그램 인스트럭션을 갖는 컴퓨터 판독가능 매체(computer-readable medium)로 구체화된 소프트웨어, 펌웨어 또는 이들의 결합으로 구현될 수 있다. 따라서, 첨부된 청구항들은 본 발명의 개념과 범주 내에 있는 이러한 모든 변경예와 변형예들을 포괄하도록 하는 것이 목적이다.

Claims (22)

  1. 프로그램 가능한 멀티미디어 컨트롤러(programmable multimedia controller)를 포함하는 시스템을 구성하는 방법으로서,
    그래픽 프로그래밍 환경을 제공하는 단계;
    상기 시스템 내의 포함을 위해 활용가능한 콤포넌트들의 라이브러리를 생성하는 단계 - 상기 콤포넌트들 중 적어도 하나는 콤포넌트의 기능에 관한 정보를 포함하는 관련 콤포넌트 프로파일을 가짐 -;
    상기 그래픽 프로그래밍 환경을 사용하여 상기 시스템에 포함하기 위한 복수의 콤포넌트들을 상기 콤포넌트들의 라이브러리로부터 선택하고, 상기 그래픽 프로그래밍 환경의 워크스페이스 내에 상기 선택된 콤포넌트들을 배치하는 단계; 및
    상기 그래픽 프로그래밍 환경을 사용하여 상기 선택된 콤포넌트들 중 특정 콤포넌트들 사이의 연결들을 드로우하고, 상기 선택된 콤포넌트들 중 특정 콤포넌트들과 프로그램 가능한 멀티미디어 컨트롤러로부터 소망하는 시스템 구성 내의 상기 프로그램 가능한 멀티미디어 컨트롤러와 상기 선택된 콤포넌트들을 상호연결하는 단계
    를 포함하고,
    상기 프로그램 가능한 멀티미디어 컨트롤러는 상기 선택된 콤포넌트들을 제어하도록 배치되는 시스템 구성 방법.
  2. 제1항에 있어서,
    상기 그래픽 프로그래밍 환경에서, 상기 라이브러리 내의 상기 콤포넌트들 중 적어도 하나는 대응하는 물리적 콤포넌트의 디스플레이된 화상에 의해 표현되는 시스템 구성 방법.
  3. 제1항에 있어서,
    상기 그래픽 프로그래밍 환경에서, 상기 라이브러리 내의 상기 콤포넌트들 중 적어도 하나는 대응하는 물리적 콤포넌트에 의해 제공되는 입력들, 출력들, 및 제어 포트들의 디스플레이에 의해 표현되는 시스템 구성 방법.
  4. 제3항에 있어서,
    상기 그래픽 프로그래밍 환경에서, 상기 라이브러리 내의 상기 콤포넌트들 중 적어도 하나는 상기 입력들, 출력들, 및 제어 포트들 각각에 대응하는 신호 유형 및 커넥터 유형의 디스플레이에 의해 표현되는 시스템 구성 방법.
  5. 제1항에 있어서,
    상기 라이브러리 내의 콤포넌트의 사용자가 선택한 유형만이 상기 그래픽 프로그래밍 환경에 표시되는 시스템 구성 방법.
  6. 제1항에 있어서,
    상기 그래픽 프로그래밍 환경 내의 검사를 위하여 상기 라이브러리 내의 상기 콤포넌트들 중 하나를 선택하는 단계 - 상기 검사는 상기 선택된 콤포넌트의 기능에 관한 미리 정해진 정보에 액세스하기 위한 것임 -
    를 더 포함하는 시스템 구성 방법.
  7. 제1항에 있어서,
    상기 그래픽 프로그래밍 환경을 사용하여, 상기 시스템에 포함하기 위하여 선택되는 하나 이상의 콤포넌트에 대한 콤포넌트 구성을 지정하는 단계를 더 포함하는 시스템 구성 방법.
  8. 제1항에 있어서,
    상기 시스템 구성을 사용하여, 상기 프로그램 가능한 멀티미디어 컨트롤러가 상기 시스템 구성과 관련하여 지원할 수 있는 실현된 프로그램 가능한 서비스(realized programmable service)들의 리포트를 생성하는 단계를 더 포함하는 시스템 구성 방법.
  9. 제8항에 있어서,
    사용자가 상기 실현된 프로그램 가능한 서비스들 중 하나 이상을 선택적으로 디스에이블시키는 시스템 구성 방법.
  10. 제1항에 있어서,
    상기 시스템 구성을 사용하여 배선 인스트럭션들을 포함하는 리포트를 생성하는 단계를 더 포함하는 시스템 구성 방법.
  11. 제1항에 있어서,
    상기 시스템 구성을 사용하여, 상기 프로그램 가능한 멀티미디어 컨트롤러가 변경된 시스템 구성과 관련하여 지원할 수 있는 미실현된 프로그램 가능한 서비스(unrealized programmable service)들의 리포트를 생성하는 단계를 더 포함하는 시스템 구성 방법.
  12. 제11항에 있어서,
    상기 시스템 구성을 변경하여, 하나 이상의 미실현된 프로그램 가능한 서비스들이 실현된 프로그램 가능한 서비스들이 될 수 있도록 하는 단계를 더 포함하는 시스템 구성 방법.
  13. 프로그램 가능한 멀티미디어 컨트롤러를 포함하는 시스템을 구성하는 장치로서,
    상기 시스템 내의 포함을 위해 활용가능한 콤포넌트들의 라이브러리를 저장하도록 구성된 메모리 - 상기 콤포넌트들 각각은 콤포넌트의 기능에 관한 정보를 포함하는 관련 콤포넌트 프로파일을 가짐 -; 및
    그래픽 프로그래밍 환경을 실행하도록 구성된 프로세서
    를 포함하고,
    상기 그래픽 프로그래밍 환경은,
    상기 라이브러리로부터 선택된 복수의 콤포넌트들이 상기 시스템 내의 포함을 나타내도록 배치되는 워크스페이스;
    상기 선택된 콤포넌트들 중 특정 콤포넌트들 사이의 소망하는 연결을 드로우하고, 상기 선택된 콤포넌트들 중 특정 콤포넌트들과 상기 프로그램 가능한 멀티미디어 컨트롤러의 표현으로부터 소망하는 구성을 생성하도록 구성되는 드로잉 툴(drawing tool); 및
    상기 프로그램 가능한 멀티미디어 컨트롤러가 상기 선택된 콤포넌트들 및 상기 소망하는 구성에 기초하여 사용자에게 제공할 수 있는 실현된 프로그램 가능한 서비스들을 판정하고, 상기 실현된 프로그램 가능한 서비스들의 리스트를 사용자에게 디스플레이하도록 구성된 구성 컴파일러
    를 포함하는 시스템 구성 장치.
  14. 제13항에 있어서,
    상기 구성 컴파일러는 또한, 상기 소망하는 구성이 변경된 경우 활용가능할 수 있는 미실현된 프로그램 가능한 서비스들을 식별하고, 상기 미실현된 프로그램 가능한 서비스들의 표시를 사용자에게 디스플레이하도록 구성되는 시스템 구성 장치.
  15. 제13항에 있어서,
    상기 실현된 프로그램 가능한 서비스들의 리스트의 각각의 서비스는 하나 이상의 요청에 관련되며, 상기 구성 컴파일러는 또한 특정 실현된 프로그램 가능한 서비스와 관련된 하나 이상의 요청의 추가 또는 삭제에 의해 상기 특정 실현된 프로그램가능한 서비스의 커스터마이즈(customization)를 허용하도록 구성되는 시스템 구성 장치.
  16. 제13항에 있어서,
    상기 그래픽 프로그래밍 환경은 상기 선택된 콤포넌트들 및 상기 소망하는 구성에 응답하여 배선 인스트럭션들을 생성하도록 동작가능한 리포트 생성 툴을 더 포함하는 시스템 구성 장치.
  17. 제13항에 있어서,
    상기 그래픽 프로그래밍 환경은 상기 선택된 콤포넌트들 및 상기 소망하는 구성에 응답하여 재료의 청구서를 생성하도록 동작가능한 리포트 생성 툴을 더 포함하는 시스템 구성 장치.
  18. 제13항에 있어서,
    상기 그래픽 프로그래밍 환경은 상기 선택된 콤포넌트들의 각각을 구조 내의 하나 이상의 룸에 대응하는 하나 이상의 구역과 관련시키도록 동작가능한 영역 맵핑 툴을 더 포함하는 시스템 구성 장치.
  19. 제13항에 있어서,
    상기 워크스페이스는 둘 이상의 특정 콤포넌트들의 선택에 응답하여, 상기 특정 콤포넌트들 사이에 가능한 상호연결들의 그래픽 표시를 디스플레이하도록 구성되는 시스템 구성 장치.
  20. 제13항에 있어서,
    상기 선택된 콤포넌트들의 적어도 일부는 하나 이상의 커넥터를 포함하고, 상기 워크스페이스는 특정 커넥터의 선택에 응답하여 상기 특정 커넥터에 대하여 허용가능한 연결 또는 허용가능하지 않은 연결에 관한 정보를 디스플레이하도록 구성되는 시스템 구성 장치.
  21. 프로그램 가능한 멀티미디어 컨트롤러를 포함하는 시스템을 구성하는 방법으로서,
    상기 시스템 내의 포함을 위해 활용가능한 콤포넌트들의 라이브러리의 적어도 일부, 물리적 콤포넌트에 대응하는 콤포넌트들의 적어도 일부, 및 콤포넌트의 기능에 관한 정보를 포함하는 관련 콤포넌트 프로파일을 갖는 콤포넌트들 각각을 디스플레이하는 단계;
    상기 라이브러리로부터 선택된 복수의 콤포넌트들이 시스템 내의 포함을 표시하도록 배치되는 워크스페이스를 디스플레이하는 단계;
    사용자가 상기 선택된 콤포넌트들 중 특정 콤포넌트들 사이에 소망하는 연결들을 드로우하고, 상기 선택된 콤포넌트들 중 특정 콤포넌트들 및 프로그램 가능한 멀티미디어 컨트롤러의 표현으로부터 시스템에 대한 소망하는 구성을 생성하는 툴을 제공하는 단계;
    프로세서에 의해, 상기 프로그램 가능한 멀티미디어 컨트롤러가 상기 선택된 콤포넌트들 및 상기 소망하는 구성에 기초하여 제공할 수 있는 실현된 프로그램 가능한 서비스들을 판정하는 단계; 및
    상기 실현된 프로그램 가능한 서비스들의 표시를 디스플레이하는 단계
    를 포함하는 시스템 구성 방법.
  22. 제21항에 있어서,
    상기 프로그램 가능한 멀티미디어 컨트롤러에 의해 상기 실현된 프로그램 가능한 서비스들 중 하나 이상을 제공하는 단계를 더 포함하는 시스템 구성 방법.
KR1020097007596A 2006-09-13 2007-09-13 프로그램 가능한 멀티미디어 컨트롤러를 위한 프로그래밍 환경 및 메타데이터 관리 KR101368133B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/520,215 US7930644B2 (en) 2006-09-13 2006-09-13 Programming environment and metadata management for programmable multimedia controller
US11/520,215 2006-09-13
PCT/US2007/019912 WO2008033453A2 (en) 2006-09-13 2007-09-13 Programming environment and metadata management for programmable multimedia controller

Publications (2)

Publication Number Publication Date
KR20090075690A KR20090075690A (ko) 2009-07-08
KR101368133B1 true KR101368133B1 (ko) 2014-03-06

Family

ID=39103195

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097007596A KR101368133B1 (ko) 2006-09-13 2007-09-13 프로그램 가능한 멀티미디어 컨트롤러를 위한 프로그래밍 환경 및 메타데이터 관리

Country Status (14)

Country Link
US (4) US7930644B2 (ko)
EP (1) EP2064883B1 (ko)
JP (1) JP5322941B2 (ko)
KR (1) KR101368133B1 (ko)
CN (1) CN101573969B (ko)
AU (1) AU2007294756B2 (ko)
BR (1) BRPI0716782A2 (ko)
CA (1) CA2663167C (ko)
ES (1) ES2518996T3 (ko)
IL (1) IL197559A (ko)
MX (1) MX2009002783A (ko)
NZ (1) NZ575441A (ko)
RU (1) RU2453069C2 (ko)
WO (1) WO2008033453A2 (ko)

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US20050216302A1 (en) 2004-03-16 2005-09-29 Icontrol Networks, Inc. Business method for premises management
US11368327B2 (en) 2008-08-11 2022-06-21 Icontrol Networks, Inc. Integrated cloud system for premises automation
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11368429B2 (en) 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US10721087B2 (en) 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US10999254B2 (en) 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US11615697B2 (en) 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US7930644B2 (en) 2006-09-13 2011-04-19 Savant Systems, Llc Programming environment and metadata management for programmable multimedia controller
US8281010B2 (en) 2006-12-29 2012-10-02 Prodea Systems, Inc. System and method for providing network support services and premises gateway support infrastructure
US9569587B2 (en) 2006-12-29 2017-02-14 Kip Prod Pi Lp Multi-services application gateway and system employing the same
US20170344703A1 (en) 2006-12-29 2017-11-30 Kip Prod P1 Lp Multi-services application gateway and system employing the same
US9602880B2 (en) 2006-12-29 2017-03-21 Kip Prod P1 Lp Display inserts, overlays, and graphical user interfaces for multimedia systems
US11783925B2 (en) 2006-12-29 2023-10-10 Kip Prod P1 Lp Multi-services application gateway and system employing the same
US11316688B2 (en) 2006-12-29 2022-04-26 Kip Prod P1 Lp Multi-services application gateway and system employing the same
US11706279B2 (en) 2007-01-24 2023-07-18 Icontrol Networks, Inc. Methods and systems for data communication
US7633385B2 (en) 2007-02-28 2009-12-15 Ucontrol, Inc. Method and system for communicating with and controlling an alarm system from a remote server
US8451986B2 (en) 2007-04-23 2013-05-28 Icontrol Networks, Inc. Method and system for automatically providing alternate network access for telecommunications
KR20080095722A (ko) * 2007-04-24 2008-10-29 삼성전자주식회사 인액티브 정보 제공방법 및 이를 적용한 영상기기
US8316309B2 (en) * 2007-05-31 2012-11-20 International Business Machines Corporation User-created metadata for managing interface resources on a user interface
US11601810B2 (en) 2007-06-12 2023-03-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US11237714B2 (en) 2007-06-12 2022-02-01 Control Networks, Inc. Control system user interface
US11316753B2 (en) * 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US11646907B2 (en) 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US10223903B2 (en) 2010-09-28 2019-03-05 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US11831462B2 (en) 2007-08-24 2023-11-28 Icontrol Networks, Inc. Controlling data routing in premises management systems
EP2198566B1 (en) 2007-09-05 2014-11-12 Savant Systems LLC Expandable multimedia control system and method
US7954133B2 (en) * 2007-10-22 2011-05-31 Sony Ericsson Mobile Communications Ab Digital living network alliance (DLNA) enabled portable electronic devices, DLNA management consoles and related methods of operating DLNA enabled portable electronic devices
US11916928B2 (en) 2008-01-24 2024-02-27 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US7859137B2 (en) 2008-05-09 2010-12-28 Tap.Tv, Inc. Scalable switch device and system
US20090308543A1 (en) * 2008-06-13 2009-12-17 Lawrence Kates Motorized window shade system and mount
US20170185278A1 (en) 2008-08-11 2017-06-29 Icontrol Networks, Inc. Automation system user interface
ES2401363T3 (es) * 2008-08-11 2013-04-19 Deutsche Telekom Ag Procedimiento para la puesta a disposición de servicios en una infraestructura de red de telecomunicaciones
US10530839B2 (en) 2008-08-11 2020-01-07 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
US11792036B2 (en) 2008-08-11 2023-10-17 Icontrol Networks, Inc. Mobile premises automation platform
US11729255B2 (en) 2008-08-11 2023-08-15 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US10157172B2 (en) * 2008-08-27 2018-12-18 International Business Machines Corporation Property dependency visualization
US8565904B2 (en) 2009-09-03 2013-10-22 Bruce Allen Bragg Irrigation controller and system integrating no-watering restrictions and an empirically-derived evapotranspiration local characteristic curve
US11061375B2 (en) * 2010-04-06 2021-07-13 Connie R. Masters Irrigation controller and system
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
US20120005693A1 (en) * 2010-01-08 2012-01-05 Cypress Semiconductor Corporation Development, Programming, and Debugging Environment
JP5782433B2 (ja) 2009-06-03 2015-09-24 サバント システムズ エルエルシーSavant Systems LLC 仮想部屋ベースの照明設備及び装置の制御
US10775960B2 (en) 2009-06-03 2020-09-15 Savant Systems, Inc. User generated virtual room-based user interface
US10613704B2 (en) 2009-06-03 2020-04-07 Savant Systems, Llc Small screen virtual room-based user interface
US20100318916A1 (en) * 2009-06-11 2010-12-16 David Wilkins System and method for generating multimedia presentations
US8938675B2 (en) * 2009-06-16 2015-01-20 Harman International Industries, Incorporated System for automated generation of audio/video control interfaces
KR101196410B1 (ko) * 2009-07-07 2012-11-01 삼성전자주식회사 Tv 설치타입에 기초한 자동 환경 설정방법 및 이를 적용한 tv
US8880586B2 (en) * 2010-04-08 2014-11-04 Microsoft Corporation Metadata subscription registry
US9661428B2 (en) 2010-08-17 2017-05-23 Harman International Industries, Inc. System for configuration and management of live sound system
JP2012049868A (ja) 2010-08-27 2012-03-08 On Semiconductor Trading Ltd スイッチ回路
JP2012054694A (ja) * 2010-08-31 2012-03-15 On Semiconductor Trading Ltd 双方向スイッチおよびそれを用いたスイッチ回路
US8719581B2 (en) 2010-09-22 2014-05-06 Savant Systems, Llc Programmable multimedia controller with flexible user access and shared device configurations
US8836467B1 (en) 2010-09-28 2014-09-16 Icontrol Networks, Inc. Method, system and apparatus for automated reporting of account and sensor zone information to a central station
CA2814710A1 (en) * 2010-10-15 2012-04-19 Gridspeak Corporation Systems and methods for automated availability and/or outage management
US11750414B2 (en) 2010-12-16 2023-09-05 Icontrol Networks, Inc. Bidirectional security sensor communication for a premises security system
US8914724B2 (en) * 2011-04-06 2014-12-16 Savant Systems, Llc Method and apparatus for creating and modifying graphical schedules
US8938312B2 (en) * 2011-04-18 2015-01-20 Sonos, Inc. Smart line-in processing
US9042556B2 (en) 2011-07-19 2015-05-26 Sonos, Inc Shaping sound responsive to speaker orientation
CA2847532A1 (en) * 2011-09-02 2013-03-07 Vu LAM Systems and methods for processing software application metadata associated with a software application
US11755510B2 (en) 2011-11-08 2023-09-12 Seagate Technology Llc Data detection and device optimization
US20130191781A1 (en) * 2012-01-20 2013-07-25 Microsoft Corporation Displaying and interacting with touch contextual user interface
US9928562B2 (en) 2012-01-20 2018-03-27 Microsoft Technology Licensing, Llc Touch mode and input type recognition
US8972858B2 (en) * 2012-04-19 2015-03-03 Savant Systems, Llc Configuration interface for a programmable multimedia controller
US9182954B2 (en) * 2012-07-27 2015-11-10 Microsoft Technology Licensing, Llc Web browser having user-configurable address bar button
FR2994625B1 (fr) * 2012-08-20 2014-08-08 Ifeelsmart Telecommande intelligente pour televiseur numerique
KR101365614B1 (ko) * 2012-08-23 2014-03-12 엘지전자 주식회사 외부 전자 디바이스와 커넥티트된 멀티미디어 디바이스 및 그 제어 방법
US11405463B2 (en) 2014-03-03 2022-08-02 Icontrol Networks, Inc. Media content management
US9876652B2 (en) 2014-05-20 2018-01-23 Savant Systems, Llc Automatic configuration of control device user interface in a home automation system
US10042336B2 (en) * 2014-09-09 2018-08-07 Savant Systems, Llc User-defined scenes for home automation
US10678204B2 (en) * 2014-09-30 2020-06-09 Honeywell International Inc. Universal analog cell for connecting the inputs and outputs of devices
CN104571011A (zh) * 2014-11-27 2015-04-29 魏晓慧 嵌入式多媒体控制系统
RU2693922C2 (ru) 2014-12-11 2019-07-05 БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД Система и способ обеспечения безопасности конечных точек
CN104483865B (zh) * 2014-12-26 2017-11-10 小米科技有限责任公司 智能硬件设备的安装实现方法及装置
US10348656B2 (en) * 2015-02-06 2019-07-09 Jamdeo Canada Ltd. Methods and devices for display device notifications and key handling
CN104852967B (zh) * 2015-04-21 2018-03-27 小米科技有限责任公司 图片共享方法及装置
US11113022B2 (en) * 2015-05-12 2021-09-07 D&M Holdings, Inc. Method, system and interface for controlling a subwoofer in a networked audio system
US11209972B2 (en) 2015-09-02 2021-12-28 D&M Holdings, Inc. Combined tablet screen drag-and-drop interface
US10042339B2 (en) * 2015-10-05 2018-08-07 Savant Systems, Llc Cloud-synchronized architecture for a home automation system
US20180004393A1 (en) 2016-07-01 2018-01-04 Autodesk, Inc. Three dimensional visual programming interface for a network of devices
CN107481491B (zh) * 2016-07-20 2019-09-20 宝沃汽车(中国)有限公司 电器的控制系统及移动终端
US10405041B2 (en) * 2016-11-28 2019-09-03 Rovi Guides, Inc. Systems and methods for predictive spoiler prevention in media assets based on user behavior
CN108235144B (zh) * 2016-12-22 2021-02-19 阿里巴巴(中国)有限公司 播放内容获取方法、装置及计算设备
US10776887B2 (en) * 2017-02-07 2020-09-15 Enseo, Inc. System and method for making reservations in a hospitality establishment
USD862512S1 (en) * 2017-08-28 2019-10-08 Siemens Healthcare Gmbh Display screen or portion thereof with a graphical user interface
US10860339B2 (en) * 2018-08-03 2020-12-08 Dell Products L.P. Autonomous creation of new microservices and modification of existing microservices
US11408626B2 (en) * 2019-01-11 2022-08-09 Johnson Controls Tyco IP Holdings LLP Central plant control system with dynamic computation reduction
US11863343B2 (en) 2019-02-14 2024-01-02 Savant Systems, Inc. Multi-role devices for automation environments
US11172111B2 (en) 2019-07-29 2021-11-09 Honeywell International Inc. Devices and methods for security camera installation planning
US11688140B2 (en) 2019-09-11 2023-06-27 Savant Systems, Inc. Three dimensional virtual room-based user interface for a home automation system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0879847A (ja) * 1994-09-05 1996-03-22 Hitachi Ltd 情報システム及び該システムを構成するav機器及びリモコン操作装置
US20030035010A1 (en) 2001-08-14 2003-02-20 Kodosky Jeffrey L. Configuring graphical program nodes for remote execution
US20030088852A1 (en) 2001-11-07 2003-05-08 Lone Wolf Technologies Corporation. Visual network operating system and methods
JP2006203356A (ja) 2005-01-18 2006-08-03 Funai Electric Co Ltd 入力切替え装置およびテレビジョン装置

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2444170C (en) * 1992-12-09 2009-09-22 Discovery Communications, Inc. Reprogrammable terminal for suggesting programs offered on a television program delivery system
JP3560078B2 (ja) 1995-02-06 2004-09-02 ソニー株式会社 電子機器制御装置、電子機器制御方法、および電子機器制御システム
US6469633B1 (en) 1997-01-06 2002-10-22 Openglobe Inc. Remote control of electronic devices
US6313880B1 (en) * 1997-04-03 2001-11-06 Sony Corporation Display with one or more display windows and placement dependent cursor and function control
KR100340253B1 (ko) * 1997-06-25 2002-06-12 윤종용 브라우저 기반의 개선된 홈 네트웍 명령 및 제어
US6421069B1 (en) 1997-07-31 2002-07-16 Sony Corporation Method and apparatus for including self-describing information within devices
US6266098B1 (en) 1997-10-22 2001-07-24 Matsushita Electric Corporation Of America Function presentation and selection using a rotatable function menu
US6061602A (en) * 1998-06-23 2000-05-09 Creative Lifestyles, Inc. Method and apparatus for developing application software for home automation system
US8098140B1 (en) * 2000-07-13 2012-01-17 Universal Electronics Inc. Customizable and upgradable devices and methods related thereto
US7831930B2 (en) 2001-11-20 2010-11-09 Universal Electronics Inc. System and method for displaying a user interface for a remote control application
EP1046097B1 (en) 1998-09-17 2004-03-17 Koninklijke Philips Electronics N.V. Remote control device with location dependent interface
JP2000197162A (ja) 1998-12-28 2000-07-14 Toshiba Corp リモ―トコントロ―ル装置
RU2237275C2 (ru) 1999-02-18 2004-09-27 Ситрикс Системз, Инк. Сервер и способ (варианты) определения программного окружения клиентского узла в сети с архитектурой клиент/сервер
US6910068B2 (en) 1999-06-11 2005-06-21 Microsoft Corporation XML-based template language for devices and services
US6526581B1 (en) 1999-08-03 2003-02-25 Ucentric Holdings, Llc Multi-service in-home network with an open interface
KR20010085438A (ko) * 2000-02-23 2001-09-07 이데이 노부유끼 정보처리장치 및 방법, 네트워크 시스템, 기록매체와프로그램
US7987228B2 (en) 2001-07-03 2011-07-26 Accenture Global Services Limited Broadband communications
US20030135513A1 (en) 2001-08-27 2003-07-17 Gracenote, Inc. Playlist generation, delivery and navigation
JP2003198871A (ja) 2001-12-25 2003-07-11 Matsushita Electric Ind Co Ltd 家電機器制御システム及び方法並びにそのシステムに用いられるリモコン装置及び家電機器
EP1355485A1 (en) 2002-04-18 2003-10-22 Deutsche Thomson-Brandt Gmbh Method for generating a user interface on a HAVi device for the control of a Non-HAVi device
US20040031019A1 (en) * 2002-05-20 2004-02-12 Richard Lamanna Debugger for a graphical programming environment
WO2003098847A1 (en) 2002-05-22 2003-11-27 Helmes Josef J J Multi-media interaction system
US20050021470A1 (en) * 2002-06-25 2005-01-27 Bose Corporation Intelligent music track selection
DE10235517A1 (de) 2002-08-05 2004-03-04 Siemens Ag Werkzeug und Verfahren zum Projektieren, Auslegen oder Programmieren einer Anlage
US20040054789A1 (en) 2002-09-12 2004-03-18 International Business Machines Corporation Pervasive home network portal
CN1501267B (zh) 2002-09-20 2010-05-12 富士施乐株式会社 链接信息制作设备、链接信息制作方法及文件处理系统
US7234115B1 (en) * 2002-09-26 2007-06-19 Home Director, Inc. Home entertainment system and method
EP1573462A2 (en) 2002-10-28 2005-09-14 Gracenote, Inc. Personal audio recording system
JP2004194011A (ja) * 2002-12-11 2004-07-08 Canon Inc リモート操作制御システム、リモート制御装置、リモート操作方法、プログラム、及び記憶媒体
JP4419393B2 (ja) * 2003-01-15 2010-02-24 パナソニック株式会社 情報表示装置及び情報処理装置
US7486294B2 (en) 2003-03-27 2009-02-03 Microsoft Corporation Vector graphics element-based model, application programming interface, and markup language
US20040260407A1 (en) * 2003-04-08 2004-12-23 William Wimsatt Home automation control architecture
KR100493895B1 (ko) 2003-04-17 2005-06-10 삼성전자주식회사 협업 서비스를 위한 홈 네트워크 시스템 및 방법
JPWO2004095293A1 (ja) * 2003-04-24 2006-07-13 三菱電機株式会社 映像情報システム、およびモジュールユニット
US20040267914A1 (en) 2003-06-30 2004-12-30 Roe Bryan Y. Method, apparatus and system for creating efficient UPnP control points
US20080126936A1 (en) 2003-08-21 2008-05-29 Gary Williams Electronic/software multimedia library control system and methods of use thereof
JP2005122271A (ja) 2003-10-14 2005-05-12 Sony Ericsson Mobilecommunications Japan Inc 携帯型電子装置
US20050125564A1 (en) 2003-12-04 2005-06-09 Matsushita Electric Industrial Co., Ltd. Profiling service for the automatic service discovery and control middleware frameworks
WO2005109904A2 (en) 2004-04-30 2005-11-17 Vulcan, Inc. Maintaining a graphical user interface state that is based on a selected type of content
US20070005597A1 (en) * 2004-11-23 2007-01-04 Williams Charles K Name classifier algorithm
JP2006227135A (ja) 2005-02-16 2006-08-31 Sharp Corp 遠隔操作装置、遠隔操作方法、及び遠隔操作プログラム
US8117588B2 (en) * 2005-08-18 2012-02-14 National Instruments Corporation Spatial iteration node for a graphical program
JP2009505321A (ja) * 2005-08-19 2009-02-05 グレースノート インコーポレイテッド 再生装置の動作を制御する方法およびシステム
CA2621713C (en) * 2005-09-07 2016-01-26 Amx Llc Method and computer program for device configuration
US9153125B2 (en) 2005-12-20 2015-10-06 Savant Systems, Llc Programmable multimedia controller with programmable services
US20070143801A1 (en) 2005-12-20 2007-06-21 Madonna Robert P System and method for a programmable multimedia controller
US8219923B2 (en) * 2006-03-10 2012-07-10 National Instruments Corporation Automatic generation of documentation for specified systems
US7930644B2 (en) 2006-09-13 2011-04-19 Savant Systems, Llc Programming environment and metadata management for programmable multimedia controller
WO2011149558A2 (en) 2010-05-28 2011-12-01 Abelow Daniel H Reality alternate

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0879847A (ja) * 1994-09-05 1996-03-22 Hitachi Ltd 情報システム及び該システムを構成するav機器及びリモコン操作装置
US20030035010A1 (en) 2001-08-14 2003-02-20 Kodosky Jeffrey L. Configuring graphical program nodes for remote execution
US20030088852A1 (en) 2001-11-07 2003-05-08 Lone Wolf Technologies Corporation. Visual network operating system and methods
JP2006203356A (ja) 2005-01-18 2006-08-03 Funai Electric Co Ltd 入力切替え装置およびテレビジョン装置

Also Published As

Publication number Publication date
JP5322941B2 (ja) 2013-10-23
US10261529B2 (en) 2019-04-16
NZ575441A (en) 2012-03-30
ES2518996T3 (es) 2014-11-06
WO2008033453A3 (en) 2008-06-26
EP2064883B1 (en) 2014-07-23
CN101573969B (zh) 2015-05-20
US10962996B2 (en) 2021-03-30
US20190235539A1 (en) 2019-08-01
CA2663167A1 (en) 2008-03-20
WO2008033453A2 (en) 2008-03-20
US7930644B2 (en) 2011-04-19
CA2663167C (en) 2015-04-21
EP2064883A2 (en) 2009-06-03
IL197559A0 (en) 2009-12-24
BRPI0716782A2 (pt) 2014-11-11
US8997011B2 (en) 2015-03-31
US20110167348A1 (en) 2011-07-07
AU2007294756A1 (en) 2008-03-20
JP2010504030A (ja) 2010-02-04
US20150192940A1 (en) 2015-07-09
KR20090075690A (ko) 2009-07-08
IL197559A (en) 2015-01-29
AU2007294756B2 (en) 2011-06-16
CN101573969A (zh) 2009-11-04
US20080127063A1 (en) 2008-05-29
RU2009112044A (ru) 2010-10-20
MX2009002783A (es) 2009-04-15
RU2453069C2 (ru) 2012-06-10

Similar Documents

Publication Publication Date Title
US10962996B2 (en) Configuring a system of components using graphical programming environment
AU2006287639B2 (en) Method and computer program for device configuration
US11099534B2 (en) Configuration user interface for a home automation system
US6434447B1 (en) Control property is mapped modally compatible GUI element
US7480746B2 (en) Extensible universal home automation integration framework and user interface
JP5128491B2 (ja) 統合化されたマルチメディア、エンターテイメント、通信、及び制御システム、並びに該システムにより実行されるプログラム可能なサービスの生成方法
TW594601B (en) Fully functional remote control editor and emulator
WO2008022322A2 (en) System and method for creating a user interface
US20110157024A1 (en) System-expandable remote control with touch panel, and method for expanding systems

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190208

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200213

Year of fee payment: 7