KR20010033879A - 오디오/비디오 네트워크 및 이에 관련된 제어 방법 - Google Patents
오디오/비디오 네트워크 및 이에 관련된 제어 방법 Download PDFInfo
- Publication number
- KR20010033879A KR20010033879A KR1020007007449A KR20007007449A KR20010033879A KR 20010033879 A KR20010033879 A KR 20010033879A KR 1020007007449 A KR1020007007449 A KR 1020007007449A KR 20007007449 A KR20007007449 A KR 20007007449A KR 20010033879 A KR20010033879 A KR 20010033879A
- Authority
- KR
- South Korea
- Prior art keywords
- devices
- dcm
- network
- video network
- home audio
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2816—Controlling appliance services of a home automation network by calling their functionalities
- H04L12/282—Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2805—Home Audio Video Interoperability [HAVI] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/24—Systems for the transmission of television signals using pulse code modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/06—Receivers
- H04B1/16—Circuits
- H04B1/20—Circuits for coupling gramophone pick-up, recorder output, or microphone to receiver
- H04B1/207—Circuits for coupling gramophone pick-up, recorder output, or microphone to receiver with an audio or audio/video bus for signal distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2807—Exchanging configuration information on appliance services in a home automation network
- H04L12/2814—Exchanging control software or macros for controlling appliance services in a home automation network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
- Circuits Of Receivers In General (AREA)
- Selective Calling Equipment (AREA)
- Television Signal Processing For Recording (AREA)
- Stored Programmes (AREA)
Abstract
가정용 오디오/비디오 네트워크 내의 장치들을 제어하기 위하여 애플리케이션을 다운로드 하기 위한 방법 및 시스템이 개시된다. 몇몇 가전 제품, 예를 들어, TV, VCR, 튜너, 셋탑박스(예를 들면, 지능 수신기/디코더, IRD), DVTR, PC, DVD 플레이어(디지털 비디오 디스크), 등은 표준 버스(예를 들면, IEEE 1394 직렬 통신 버스)를 통해 상호 통신하기 위하여 네트워크 내로 결합될 수 있다. 일 실시예에서, HAVI 네트워크는 이 구조가 기존의 컴퓨터 시스템 네트워크의 많은 이점을 가정용 네트워크에 제공하기 때문에 고유한 이점을 가전 벤더(consumer electronic vendors)에 제공한다. 즉, 상호 연결된 장치는 자원을 공유하며 제 3 의 일행 개발자(third party developers)에 대한 손쉬운 개발을 가능하게 하는 개방형의 잘 정의된 API(open, well defined APIs)를 제공할 수 있다. 장치들은 DCM이라고 불리우는 서비스나 장치들의 소프트웨어 추출을 사용하여 제어된다. 본 발명은 애플리케이션이 프로그래밍 가능한 지능 장치(예를 들면, 셋탑박스)를 통해 다운로드 될 수 있으며 네트워크 내 특성과 서비스를 제공할 수 있는 메커니즘을 제공한다. 이들 애플리케이션은 서비스 제공자로부터 생성되어, 논리 채널(예를 들어, 인터넷/TV 케이블, 위성 방송)을 통해 소비자 프레미즈(the consumer premise)에 전달되며 또 네트워크 내의 지능 장치 상에 설명(instantiated)된다. 이 애플리케이션은 기능의 콤프리먼트(its complement of functions)를 결정하기 위하여 DCM의 레지스트리에 질문을 할 수 있으며 이용 가능한 DCM을 사용하여 궁극적으로 네트워크의 장치를 제어할 수 있다.
Description
일반적인 가정용 오디오비주얼 설비 보충물(a typical home audiovisual equipment complement)은 다수의 성분(components), 예를 들어, 무선 수신기, CD 플레이어, 한 쌍의 스피커, TV, VCR, 테이프 데크, 등을 포함한다. 성분들은 전선 세트(sets of wires)를 경유하여 서로 연결된다. 일 성분은 일반적으로 가정용 오디오비주얼 시스템(the home audiovisual system)의 중심 성분이다. 이것은 일반적으로 무신 수신기 또는 튜너/디코더이다. 제어 버튼과 제어 스위치는 일반적으로 이 튜너의 전방에 위치되고, 많은 경우에, 몇몇 버튼과 스위치 또는 모든 버튼과 스위치는 휴대용 원격 제어 유닛 상에 복제(duplicate)되어 있다. 사용자는 이 튜너의 전방에 있는 버튼과 스위치를 조작하거나 대안적으로 휴대용 원격 제어 유닛 상의 버튼을 조작하여 가정용 장비를 제어한다.
가전 장치(consumer electronic devices)가 더 우수해지고 더 복잡해짐에 따라, 가장 최근의 가장 우수한 장치에 대한 요구가 증가하고 있다. 새로운 장치가 나타나고 대중화됨에 따라, 새로운 장치가 소비자에게 구매되고 가정용 오디오비주얼 시스템으로 "플러그" 된다("plugged"). 새로운 장치는 기존의 오래된 장치(the pre-existing, older devices)(예를 들어, 카세트 테이프 데크, CD 플레이어, 등)와 나란히(alongside) 이 시스템 내로 단순히 플러그 된다. 새로운 장치는 튜너의 뒤쪽, 또는 이 튜너에 연결된 몇몇 다른 장치에 개방 입력(an open input)으로 플러그 된다. 소비자(예를 들어, 사용자)는 새로운 장치의 제어 스위치, 또는 새로운 장치에 대해 분리된 원격 제어 유닛(a separate remote control unit)을 통해 새로운 장치를 제어한다.
가정용 오디오비주얼 시스템을 위한 새로운 가전 장치의 개수가 증가하고 이들 장치의 복잡도와 성능이 증가했기 때문에, 종래의 패러다임에 다수의 문제가 나타난다. 그 중 하나의 문제는 가정용 오디오비주얼 시스템에서 장치들 간의 비호환성(incompatibility)이다. 더욱이, 한 장치가 다른 장치보다 휠씬 새로운 것이라면 추가적인 비호환성이 존재할 수 있다. 예를 들어, 새로운 장치는 좀더 복잡한 원격 제어 기능을 가능하게 하는 하드웨어(예를 들어, 특정 입력과 출력)를 병합할 수 있다. 이 하드웨어는 이 시스템 내의 더 오래된 장치와 사용할 수 없을 수 있다. 다른 문제는 오비오비주얼 시스템 내의 다른 장치를 위한 기능 지원(functional support)의 결여이다. 예를 들어, 비록 TV 가 고급 사운드 포맷(예를 들어, 서라운드 사운드, 스테레오, 등)을 지원할지라도, 더 오래된 성능이 낮은 튜너가 그 기능을 지원하지 않는다면, 고급 사운드 포맷의 이점은 상실될 것이다. 또다른 문제는 가정용 오디오비주얼 시스템 내의 새로우며 다른 장치를 위한 제어 기능의 확산(the proliferation of controls)이다. 종종 오디오비주얼 시스템에 연결된 각각의 새로운 장치는 사용자가 계속 따라서 배워 작동해야 하는 다른 전용 원격 제어 유닛을 초래한다.
종래의 오디오비주얼 시스템은 또한 셋탑 박스를 포함할 수 있다. 종래 기술의 셋탑 박스는 일반적으로 오디오/비디오 신호를 서비스 제공자로부터 TV로 공급하는데 사용되는 지능 수신기(디코더)이다. 셋탑 박스는 일반적으로 다수의 디스크램블링(descrambling) 또는 디코딩 기능을 수행한다. 소비자에게 매우 단순한 특성이나 서비스를 제공하기 위하여 셋탑 박스 내에서 실행되는, 서비스 제공자로부터 오는 아주 기본적인 명령을 다운로드 하는 것이 가능하다. 이것의 일반적인 애플리케이션은, 요청시에 비디오 뉴스 클립(the video news clip) 상에 오버레이(overlaid)될 수 있는 여분의 텍스트 및/또는 그래픽 정보(extra textual and/or graphics information)로 TV 상에 디스플레이된 비디오 뉴스 클립을 개선시키는 명령 세트이다. 또한 소비자로 하여금 간단한 지시기(a simple indicator)를 사용하여 상품 서비스를 선택하고 구매하게 하는 가정용 쇼핑 서비스도 이용 가능하다. 그러나, 이들 애플리케이션은 셋탑 박스에 직접 연결된 TV(또는 데이터 입력 장치)에 단순히 상주하고 TV와 상호 작용만하고 가정용 오디오비주얼 시스템의 임의의 다른 장치를 제어하지는 못한다.
본 발명은 통신 시스템의 분야에 관한 것이다. 좀더 구체적으로, 본 발명은 가정용 오디오/비디오 전자 공학에 대한 장비에 관한 것이다. 본 발명의 일 실시예는 가정용 오디오/비디오 네트워크 내의 장치들을 제어하기 위한 애플리케이션을 다운로드 하는 방법 및 시스템이다.
도 1a 는 본 발명의 일 실시예에 따른 가정용 AV 네트워크를 도시하는 도면.
도 1b 는 도 1a의 HAVI 네트워크의 논리 버스 구성을 도시하는 도면.
도 2 는 본 발명의 일 실시예에 따른 두 개의 IAV(Intermediate Audio Video) 노드 네트워크의 예시적인 피어투피어(an exemplary peer to peer)를 도시하는 도면.
도 3 은 본 발명의 일 실시예에 따른 단일 FAV(Full Audio Video) 클러스터 HAVI 네트워크를 도시하는 도면.
도 4 는 IAV 피어투피어 HAVI 네트워크와 통합된 FAV 클러스터를 도시하는 도면.
도 5 는 다수의 FAV를 구비하는 예시적인 HAVI 네트워크를 도시하는 도면.
도 6 은 본 발명의 일 실시예에 따른 셋탑 박스의 다이아그램.
도 7 은 본 발명의 HAVI 구조의 일 실시예의 논리 블록도.
도 8 은 본 발명에 따른 하나의 HAVI 구조의 계층 논리 다이아그램.
도 9 는 일 실시예의 HAVI 구조에서 로컬 및 원격(local and remote) 메시지 전송의 다이아그램.
도 10 은 일 실시예의 HAVI 구조에서 1394를 경유하여 송신되는 메시지의 다이아그램.
도 11은 HAVI 구조의 일 실시예에서 다른 응용을 유발하는 응용 다이아그램.
도 12a 는 한 장치(예를 들어 캠코더)에 대한 (예를 들어 TV 스크린 상의) 제 1 예시적인 UI 디스플레이를 도시하는 도면.
도 12b 는 한 장치(예를 들어 캠코더)에 대한 (예를 들어 TV 스크린 상의) 제 2 예시적인 UI 디스플레이를 도시하는 도면.
도 13 은 본 발명의 일 실시예에 따른 각 장치에 저장되어 있는 SDD 정보를 사용하여 HAVI 네트워크에서 다수의 장치의 경계없는 상호 운용성과 통합성을 제공하는 과정의 흐름도.
도 14 는 본 발명의 일 실시예에 따른 HAVI 네트워크에서 다수의 장치들 사이의 기본적인 명령 기능성과 확장된 명령 기능성을 제공하는 과정의 흐름도.
도 15 는 본 발명의 일 실시예에 따른 HAVI 네트워크에서 장래의 업그레이드 가능성과 확장 가능성을 보장하는 과정의 흐름도.
도 16 은 본 발명의 일 실시예에 따른 HAVI 네트워크에서 HAVI 호환 장치(the HAVI compliant devices)에 레거시 장치의 경계없는 상호 운용성과 통합성을 제공하는 방법 흐름도.
도 17a 는 본 발명의 일 실시예에 따른 외부 서비스 제공자로부터 응용 프로그램을 사용하여 가정용 오디오/비디오 네트워크 내의 장치를 제어하는 과정의 흐름도.
도 17b 는 도 17a의 과정에 따른 서비스 제공자와 HAVI 네트워크의 다이아그램.
따라서, 본 발명은 가정용 시스템의 가전 오디오/비주얼 전자 장치 제품 내에 개선된 상호 운용성을 가능하게 하는 시스템을 제공한다. 본 발명은 셋탑 박스 애플리케이션에 대한 확장된 기능을 가능하게 하는 가정용 오디오/비주얼 네트워크 내의 시스템 및 방법을 더 제공한다. 구체적으로, 본 발명은 가정용 오디오/비디오 네트워크의 장치들이 서비스 제공자로부터 기원하는 하나 이상의 다운로드 된 애플리케이션 프로그램에 의해 제어되게 하기 위한 방법 및 시스템을 제공한다.
가정용 오디오/비디오 네트워크 내의 장치들을 제어하기 위하여 애플리케이션을 다운로드 하기 위한 방법 및 시스템이 설명된다. 몇몇 가전 제품, 예를 들어, TV, VCR, 튜너, 셋탑 박스(예를 들면, 지능 수신기/디코더, IRD), DVTR, PC, DVD(디지털 비디오 디스크) 플레이어, 등은 표준 버스(예를 들어, IEEE 1394 직렬 통신 버스)를 통해 상호 통신하기 위하여 네트워크 내에 연결될 수 있다. 이것은 네트워크의 장치들이 서로 제어하게 해주고 서로에 관한 정보를 얻게 해준다. 일 실시예에서, 사용되는 통신 구조는 가정용 오디오/비주얼 주도(HAVI : Home Audio/Visual Initiative) 포맷이다. 이 HAVI 네트워크는 이 구조가 종래의 컴퓨터 시스템 네트워크의 많은 이점을 가정용 네트워크에 제공하기 때문에 고유한 이점을 제공한다. 즉, 상호 연결된 장치들은 자원을 공유하며, 제 3 의 개발자(third party developers)에 대하여 손쉬운 개발을 가능하게 하는 개방형의 잘 정의된 API(open, well defined APIs)를 제공할 수 있다. HAVI 는 확장된 상호 운용성을 제공한다.
가정용 환경에서, 가전 장치에 대한 하나의 요구 사항은 소비자가 장치들을 손쉽게 셋업하는 것이다. 이것은 소비자가 가정용 네트워크에 장치를 플러그할 수 있으며 새로운 장치가 억세스 되고 사용될 수 있는 것을 보장하기 위하여 가정용 네트워크와 장치가 자동적으로 스스로 구성할 수 있어야 한다는 것이다. 이것을 보장하기 위하여, 본 발명은 임의의 새로운 장치에 질문을 할 수 있는 가정용 환경 소프트웨어 구조를 포함한다. 그후, 그 장치의 소프트웨어 추출(a software abstraction)이 생성되고 네트워크에서 다른 요소에 이용 가능하게 된다. 시스템의 라이프타임 동안, 그 성능과 특성이 아직 알려지지 않거나, 다른 장치에 부분적으로만 알려진 새로운 장치가 추가될 수도 있기 때문에, 본 발명은 모든 장치가 몇몇 기본 레벨에서 통신되고 제어될 수 있는 것을 보장하는 메커니즘을 제공한다. 그후, 예를 들면, 그 장치에 대해 더 많은 정보가 얻어지는 것과 같이 가능하다면, 새로운 장치의 더 나은 추출이 본 발명에 의해 생성된다.
DCM 또는 장치 제어 모듈은 가정용 오디오/비디오 네트워크 내의 장치를 제어하기 위하여 본 발명에 의해 사용되는 소프트웨어 추출 기능이다. DCM 은 장치나 서비스의 소프트웨어 추출 기능이고 그 장치에 인터페이스를 제공한다. DCM은 가정용 오디오/비디오 네트워크의 지능 노드(intelligent nodes)에 의해 호스트(hosted)된다. 셋탑 박스(지능 수신기/디코더) 또는 디지털 TV와 같은 몇몇 장치는 가정용 네트워크에서 두 장치로서 동작하는데, 다른 장치와 통신하고, 또 가정 밖의 외부 서비스 제공자(예를 들어, 인터넷, 디지털 TV 제공자, 케이블 제공자, 등)에 대해 게이트웨이로서 동작한다.
본 발명의 셋탑 박스에서, 셋탑 박스에서 실행되는 서비스 제공자로부터의 하나 이상의 애플리케이션 프로그램을 다운 로드 하는 것은 가능하다. 이 애플리케이션은 일반적으로 가정용 네트워크에 대해 몇몇 특성이나 서비스를 제공하기 위한 것이다. 본 발명의 가정용 네트워크 상의 장치로서, 셋탑 박스는 가정용 네트워크에서 다른 장치에 억세스 한다. 그러므로, 본 발명은 서비스 제공자{예를 들면, 케이블 TV 제공자, 인터넷 웹 사이트, 전화 또는 지상회선 설비(other land line utility), 위성 방송 서비스 등}로부터 소비자 구역(the consumer premises)로 전송되며 셋탑 박스에 설명(instantiated)되는 다운 로드 가능한 애플리케이션의 생성을 가능하게 한다. 이 경우에, 애플리케이션 프로그램은 가정용 네트워크 내에서 상호 작용할 수 있다.
이 기능을 용이하게 하기 위하여, 본 발명은 네트워크에 존재하는 이용 가능한 서비스와 장치를 만드는 일반 방법을 제공한다. 본 발명은 레지스트리 또는 명칭 서버(a registry or name server)로 가정용 네트워크에 있는 장치들의 DCM을 기록(register)한다. 본 발명의 가정용 네트워크는 그후 임의의 새로운 다운 로드된 애플리케이션이 레지스트리에 질문을 하게 하며, DCM 에 대한 통신 종료 지점(a communication end point)을 다시 수신하게 하는 메커니즘을 제공한다. 다운 로드된 애플리케이션은 그후 가정용 네트워크의 실제 장치와 상호 작용하고 제어하는데 사용되는 DCM 에 요청을 송신하는 메커니즘이 제공된다.
본 발명은 동일한 참조 번호가 유사한 요소를 지칭하는 첨부되는 도면에서 예를 들면, 제한되지 않는 방식으로 도시되어 있다.
이제 그 예가 첨부되는 도면에 도시되어 있는 본 발명의 실시예에 대하여 자세하게 참조가 이루어질 것이다. 본 발명이 바람직한 실시예와 연계하여 설명되어 있을 지라도, 그 실시예는 본 발명을 이들 실시예로 한정하기 위한 것이 아니라는 것을 이해할 수 있을 것이다. 반대로, 본 발명은 첨부되는 청구 범위로 범위가 정해지는 바와 같은 본 발명의 사상과 범주 내에 포함될 수 있는 대안물, 변경물, 및 균등물을 포함한다. 더욱이, 본 발명의 이하 상세한 설명에서, 다수의 특정 상세 사항이 본 발명의 완전한 이해를 제공하기 위하여 개시되어 있다. 그러나, 당업자에게는, 본 발명이 이들 특정 상세 사항 없이 실시될 수 있다는 것은 자명할 것이다. 다른 예에서, 공지된 방법, 절차, 성분, 및 회로가 본 발명의 불필요하게 불명료한 측면이 아니라면 상세하게 설명되지 않고 있다.
본 발명은 가정용 네트워크에서 CE 장치를 공동 동작하기 위하여 개방성 구조를 정의하는 가정용 AV 네트워크를 제공한다. 본 발명의 상호 운용성 측면이 임의의 제조사로부터 CE 장치가 사용자의 가정용 AV 시스템 내에 경계없이 공동 동작하고 기능하게 하는 구조적 모델을 정의한다. 본 발명의 시스템은 새로운 특성과 새로운 CE 장치가 가정용 AV 네트워크 내에 전개될 때 베이스 제어 프로토콜을 확장하는 방법과 일반 장치 제어의 베이스 세트의 조합을 포함한다. 그렇게 할 때, 본 발명의 구조는 확장 가능하고, 시장의 요구 사항과 기술이 변화함에 따라 쉽게 수정되고 진보될 수 있다. 본 발명과 그 이점은 아래에 더 설명된다.
표기와 명명(NOTATION AND NOMENCLATURE)
이하의 상세한 설명의 몇몇 부분은 컴퓨터 메모리 내의 데이터 비트 상의 동작의 절차, 단계, 논리 블록, 처리(processing), 및 다른 기호 표시(symbolic representations)의 항으로 제시된다. 이들 설명과 표시는 그 업무의 실체를 해당 분야에 숙련된 다른 사람에게 가장 효과적으로 전달하기 위하여 데이터 처리 분야의 당업자가 사용하는 수단이다. 절차, 컴퓨터 실행 단계, 논리 블록, 과정, 등은 본 명세서에서 일반적으로 희망하는 결과를 생성하는 단계 또는 지시(instructions)의 자기 논리적인 순서(a self-consistent sequence)인 것으로 생각해 볼 수 있다. 그 단계들은 물리량의 물리적 조작을 필요로 하는 단계이다. 통상, 반드시 그럴 필요는 없을지라도, 이들 양은 컴퓨터 시스템에서 저장되고 전송되며, 결합되고, 비교되며, 다르게는 조작될 수 있는 전기적 또는 자기적 신호의 형태를 취한다. 이들 신호를 비트, 값, 요소, 기호, 문자, 용어(terms), 숫자, 등으로 언급하는 것은 대체로 공통 용법의 이유로 종종 편리하다는 것이 입증되어왔다.
그러나, 이들 용어 및 유사한 용어는 모두 적절한 물리량과 연관되어야 하며 이들 양에 적용되는 단지 편의적인 레벨이다. 구체적으로 이하의 논의로부터 명백한 바와 같이 구체적으로 다른 진술이 없다면 본 발명을 통해, "처리(processing)" 또는 "컴퓨팅(computing)" 또는 "변환(translating)" 또는"설명(instantiating)" 또는 "결정(determining)" 또는 "디스플레이(displaying)" 또는 "인식(recognizing)" 등과 같은 용어를 사용하는 논의는 컴퓨터 시스템 또는 유사한 전자 계산 장치의 동작과 처리에 관한 것인데, 이 장치는 컴퓨터 시스템 레지스터와 메모리 내의 물리적(전자적)인 양으로 나타나 있는 데이터를 컴퓨터 시스템 메모리 또는 레지스터 또는 다른 그러한 정보 저장, 전송 또는 디스플레이 장치 내의 물리량으로 유사하게 나타나 있는 다른 데이터로 조정하고 변환한다.
구조 개요(ARCHITECTURE OVERVIEW)
본 발명의 구조는, 새로운 장치의 경계없는 지원과 가정용 AV 네트워크에서 장치들의 문제 없는 상호 운용성을 제공하는 가정용 AV 시스템의 생성을 가능하게 한다. 본 발명에 따른 시스템의 가장 기본적인 성분은, 가정용 AV 상호 운용성 구조, 일련의 가정용 AV 상호 운용성 인터페이스, 및 가정용 AV 네트워크이다. 가정용 AV 상호 운용성 구조는 물리적 네트워크와 제어하는 프로그래밍 인터페이스를 포함하는 광의의 오버 아치 용어(a broad, over arching term)이다. 상호 운용성 인터페이스는 AV 구조의 성분의 공동 작용과 인터페이스를 설명하는데 사용되는 용어이다. 공통 명령 세트를 제공하는 것 이외에, 상호 운용성 인터페이스는 새로운 장치가 네트워크로 통합되게 하고 경계없는 방식으로 그 서비스를 제공하게 하는 소프트웨어 구조를 제공한다. 가정용 AV 네트워크는 물리적 네트워크와 그 위상(topology)을 설명하는데 사용되는 용어이다.
본 발명의 가정용 AV 상호 운용성(HAVI : Home AV Interoperability)은 가전 제조사(consumer electronics manufacturers and producers)가 공동 동작 가능한 장치(inter-operable appliances)를 제공하게 하는 개방적이고, 플랫폼에 의존하지 않으며 구조적으로 중립적 네트워크(an open, platform- independent, architecturally-neutral network)이다. 이 네트워크는 다른 하드웨어/소프트웨어 플랫폼 상에서 구현될 수 있으며 임의의 한 플랫폼에 독특한 특성을 포함하지 않는다. HAVI 구조의 상호 운용성 인터페이스는 확장 가능하며 시장의 요구 사항과 기술이 변화함에 따라 추가되며 수정되고 진보될 수 있다. 이 인터페이스는 (예를 들어 오디오와 비디오 내용과 같은) 등시적이며 시간 민감 데이터의 경로 지정과 처리(the routing and processing of isochronous and time-sensitive data)를 제어하기 위해 기반 구조(the infrastructure)를 제공한다.
구체적으로, HAVI 구조는 장치의 시각적 표시와 제어(the visual representation and control)를 지원하는 실행 환경, 응용과 시스템 서비스, 및 환경을 동적으로 플러그 앤 플레이 또는 다른 것을 통해 확장하기 위해 통신 메커니즘을 제공한다.
HAVI 구조는 레거시 장치(예를 들어, 이미 존재하고 사용자에게 이용 가능한 장치)를 지원한다는 것을 주목하여야 한다. 이것은 좀더 지능적인 네트워크화된 장치로의 전이가 서서히 이루어지고 있기 때문에 중요하다. 대부분의 제조사는 "지능적인" 장치만을 갑자기 제조하려고 시작하지는 않을 것이고 대부분의 소비자는 기존의 장치 모두를 신속히 교체하고자 하지는 않을 것이다.
본 발명에 따라, 레거시 장치에는 두 등급이 있다. 제 1 등급은 "일방향" 또는 비인식 제어 장치(unacknowledged control appliances)를 포함한다. 제 2 등급은 제어 가능한 "양방향" 장치를 포함한다. 일방향 장치의 예는 휴대용 원격 장치의 적외선 명령에 의하여 제어되는 오디오/비디오 성분이다. 양방향 장치는 명령 실행의 확인, 상태 및 에러 보고 기능을 제공한다. 양방향 장치의 예는 이미 공지되어 있는 IEEE 1394 인에이블 디지털 카메라의 최신 도입을 포함한다.
본 발명의 가정용 AV 네트워크(이후 HAVI 네트워크)는 일회 기록, 어느 곳에서도 실행되는 공통 언어(a write-once, run-everywhere common language)를 통한 미래의 장치와 프로토콜을 수용할 수 있는 지원 기능을 제공한다. 본 발명에 따라, 각 장치는 외부 제어기에 의해 사용될 수 있는 장치 제어와 사용자 인터페이스에 관한 자기-서술 정보(self-describing information)를 포함한다. 이 정보는 공통 언어로 된 프로그램으로 설명되어 있다.
아래에서 설명되는 바와 같이, 그러한 네트워크를 위한 기초 구조(the underlying structure)는 상호 연결된 장치들의 클러스터 세트로 구성되어 있다. 일반적으로, 한 층 또는 한 방에 하나씩, 가정에서 몇 개의 클러스터가 있을 수 있다. 각 클러스터는 서비스 세트를 사용자에게 제공하기 위해 상호 연결된 장치의 세트로서 동작할 수 있다. 종종, 한 장치는 다른 장치의 세트에 대한 제어기로서 작용할 수 있다. 그러나, 그 구조는 가정이 마스터 제어기를 갖지 않는 단일 클러스터로 또한 구성되게 할만큼 충분히 유연성이 있다.
예를 들어, 본 발명의 일 실시예에서, 사용자의 가정 방에 있는 지능형 TV는 상호 연결된 다수의 장치에 대해 제어기로서 기능할 수 있다. 각 제어되는 장치는 자기 서술 데이터와 아마도 몇몇 연관 제어 코드를 가질 수 있다. 이들 장치가 먼저 연결될 때, 제어기는 그 장치에 대한 사용자 인터페이스와 제어 프로그램을 얻는다. 그 장치를 나타내는 아이콘이 그후 TV 스크린에 나타날 수 있으며, 그 아이콘을 조정하는 것은 제어 프로그램의 요소들이 미리 기술된 방식으로 나타나 있는 장치 또는 장치들을 작동시키게 할 수 있다. 이 모델에 대한 예외는 자기 서술 데이터나 제어 코드를 모두 갖지 않는 레거시 장치이다. 자기 서술 데이터에 관한 추가적 설명과 관련 기술에 대해, 독자는 루드케 등(Ludtke, et al.)에 의한 장치 내에서 자기 서술 정보를 포함하는 방법 및 장치인 가출원 번호 60/054,327호(참조로 본 명세서에 병합되었으며, 1997년 7월 31일 출원)를 참조해 볼 수 있다.
본 발명의 HAVI 네트워크는 "플러그 앤 플레이" 가전 장치("plug and Play" consumer appliances)가 설치하기에 쉽고 물리적으로 케이블과 연결되는 것 이상으로 사용자 편에서 임의의 작용 없이 그 값의 상당한 부분을 소비자에게 제공하는 것을 지원한다. 이것이 그 기능성의 몇몇 주요부를 제공하는 구성을 필요로 하는 기존의 장치에 대한 차이이다. 이 목표는 연결 방법이 안전하고 신뢰성 있게 '핫' 플러그 앤 플레이('hot' plug and play)를 제공하는 (사용자에게 장치를 스위치 오프하게 할 필요가 없는) '핫'플러그 앤 플레이를 제공하는 것이다.
본 발명에 따라, 장치는 스스로 구성되며, 사용자의 간섭 없이 시스템이 넓은 "룩 앤 필" 사용자 인터페이스(a system-wide "look and feel" user interface)로 통합된다. 저급 레벨의 통신 서비스는 새로운 장치가 AV 네트워크 상에 확인될 때 통지를 제공한다. 종종 사용자가 자신의 선호도를 맞추려고 변경할 수 있는 셋팅이 있을 지라도, 장치는 기본적인 기능성을 제공하기 위하여 사용자가 그렇게 해야 할 필요가 없다.
본 발명의 HAVI 네트워크는 유연하고 브랜드의 차별화에 대한 사용자의 요구와 제조사의 요구 모두를 적용시키는 다수의 사용자 인터페이스를 지원한다는 것을 또한 주목하여야 할 것이다. AV 네트워크에서, 프로토콜은 매우 자원이 풍부한 지능형 PC와 같은 장치에서 자원이 "결여되었으며(dumb)" 고갈된 장치(예를 들어 커피 메이커 또는 써모스태트)까지 정직하게 판단한다(scale gracefully). 이것을 달성하기 위하여, AV 구조는 하위 장치(low-end application)가 이미 정의된 방식으로 좀더 지능적인 장치의 자원을 사용하게 한다. 유사한 방식으로, AV 구조는 이론적인 장치가 몇몇 저급 레벨 장치의 논리적 수집으로 만들어지는 경우 집합 장치의 구현을 가능하게 한다.
또 추가적으로, 본 발명의 HAVI 네트워크는 기존의 표준을 지원한다는 것을 주목하여야 한다. HAVI 네트워크는 CEBus, 가정용 플러그 앤 플레이(Home Plug and Play), EHSI, VESA, 가정용 네트워크, DAVIC, CoMMeND, Lonworks, USB, IEEE 1394 등을 포함하는 몇몇 종래의 이미 알려져 있는 산업 표준과 기술에 보완적이다. 따라서, 본 발명의 일 목적은 기존의 장치가 맞추어 지는 기반 구조를 제공하는 것이다.
HAVI 구조의 시스템 모델
이제, 도 1a를 참조하면, 본 발명의 일 실시예에 따라 HAVI 네트워크(10a)가 도시되어 있다. 위에서 설명된 바와 같이, HAVI 구조는 예를 들어, 셋탑 박스(301)와 같은 지능형 수신기/디코더(IRD), 디지털 비디오 테이프 레코드(DVTR), 비디오 카세트 레코더(VCR), 개인용 컴퓨터(PC), 디지털 비디오 디스크 플레이어(DVD) 등을 포함하는, 공통 메시지 시스템을 경유하여 통신하는 광범위한 장치를 지원한다. 도 1a는 예시적인 HAVI 네트워크의 물리적 포트대포트 연결 구성(the physical port-to-port connecting configuration)(10a)을 도시한다. CE 장치("장치들")(12 내지 24)는 버스 세그먼트(30a 내지 30f)와 서로 연결되어 도시되어 있다. HAVI의 일 실시예에서, IEEE 1394 직렬 통신 버스 표준이 공통 메시지 전송 시스템을 제공하기 위해 플랫폼으로 사용된다.
도 1b 는 도 1a의 HAVI 네트워크의 논리 버스 구성(10b)을 도시한다. 도 1b에 도시되어 있는 바와 같이, HAVI 네트워크의 모든 장치(12 내지 24)는 공통 IEEE 1394 직렬 통신 버스(30)에 논리적으로 연결되는 것으로 도시될 수 있다. 이 버스 구성(10b) 내에서, 피어투피어 장치 통신(peer-to-peer device communication)이 지원된다. 예를 들어, 도 1c에 도시된 바와 같이, 예를 들어 장치(12)와 같은 (적절한 성능을 가지는) 임의의 장치는 HAVI 네트워크에서 임의의 다른 장치로부터 통신 패킷을 송신하거나 수신할 수 있다. 도 1b의 예에서, 셋탑 박스(예를 들어, IRD)는 HAVI 네트워크의 임의의 다른 장치(14 내지 24)로부터 메시지를 수신하고 임의의 다른 장치로 메시지를 발생시킬 수 있다.
위에서 설명된 바와 같이, 도 1a 및 도 1b를 참조하면, HAVI에서 상호 운용성 모델은, 1)기존의 장치에 대한 지원 기능, 2) 디폴트 제어 모델, 3) 새로운 장치나 기능이 출시될 때 디폴트 제어 모델을 확장하기 위한 수단, 및 4)장치 표시를 위한 공통 수단(예를 들어, 그래픽스 사용자 인터페이스)을 제공한다. 상기의 기능을 달성하기 위하여, HAVI 구조는 가정용 네트워크에서 세 가지 타입의 노드, 전 AV 노드(FAV : Full AV node), 중간 AV 노드(IAV : Intermediate AV node), 및 기저 AV 노드(BAV : Base AV node)를 정의한다.
전 AV 노드는 (아래에서 상세하게 설명되는) AV 소프트웨어 모델의 완전한 예를 포함하는 장치이다. 이 타입의 노드는 일반적으로 더 풍부한 자원의 세트를 가지며 복잡합 소프트웨어 환경을 지원할 수 있다. FAV의 기본적인 구별 특성은 FAV가 덜 복잡한 장치에 대한 제어 책임 능력을 가지고, 보통 덜 복잡한 장치로부터 제어 모듈을 로드하여 이 제어 책임 능력을 수행하며 국부적으로 그 능력을 실행할 수 있다는 점에 있다. 그 노드의 예는 셋탑 박스{예를 들어, 셋탑 박스(301)}, 스마트 TV, 범용 가정용 제어 장치, 또는 심지어 가정용 PC 일 수 있다.
중간 AV 노드는 일반적으로 제한된 자원을 가지는 저비용 장치이다. 이 노드는 제어 모듈에 대한 실행 환경을 제공하지 않으며 가정용 네트워크 내에서 마스터 제어기로 작동하지 않는다. 그 노드는 제한된 자원을 가지기 때문에, 이 노드는 두 가지 방식, 즉 그 노드가 제공하지 않는 몇몇 성능을 제공하는 다른 IAV 장치와 함께 작업하는 방식이나 장치를 제어하는 제어 모듈을 지원하는 FAV 노드를 사용하는 방식 중 어느 하나로 원격 자원을 억세스할 수 있다. 이 제 2 모드의 동작시, 이 노드는 디스플레이 장치로, 범용 계산 자원 및 몇몇 전체 제어 프레임 워크와 같은 장치를 제공하기 위해 전 AV 노드에 의존한다. (In this second mode of operation they rely on full AV nodes to provide such facilities as a display device, general purpose compute resources and some overall control framework). 이것은 전 AV 장치가 서비스 또는 추출 기능(abstraction)을 사용자에게 제공하기 위하여 다양한 중간 AV 장치를 서로 결합시키게 한다.
기저 노드는 FAV 또는 IAV 노드 어느 것도 아닌 노드이다. 이 노드는 두 가지 일반적인 타입, 즉 레거시 기저 노드와 다른 기저 노드가 있다. 레거시 기저 노드는 HAVI 구조가 나타나기 이전에 구축된 장치이다. 이들 장치는 그 제어를 위한 독점 프로토콜을 종종 사용하며, 상당히 자주 간단하고 잘 정의되어 있는 제어 전용 프로토콜(a simple, well defined, control only protocol)을 가진다. 그 장치는 HAVI 네트워크에서 작업할 수 있지만 전 AV 노드가 게이트웨이로서 작동하는 것을 필요로 한다. 전 AV 노드 또는 중간 AV 노드와 레거시 장치 사이의 통신은 HAVI 구조에서 사용되는 가정용 AV 명령이 레거시 명령 프로토콜로 및 레거시 명령 프로토콜로부터 변환되는 것을 필요로 한다.
다른 기저 노드는 업무상이나 자원의 이유로 인해 업로드 가능한 제어 소프트웨어를 사용하여 미래 장치 대비 행동(future proof behavior)을 수행하기 위해 선택하며 임의의 HAVI 구조나 메시지 통신 시스템을 구비하지 않는 장치이다. 이 장치는 FAV와 BAV 노드 사이의 명령 명령 프로토콜을 갖는 FAV 노드에 의해 제어 가능할 수 있다.
레거시 노드의 예외로서, 각 노드는 최소한으로 각 노드가 시스템에서 다른 노드와 통신하게 하는 충분한 기능을 가진다. 상호 작용의 과정 동안, 노드는 장치가 상호 동작하게 하는 제어 및 데이터 정보를 교환하며 피어투피어 방식으로 교환할 수 있다. 이것은 통신 레벨에서, 한 장치가 시스템에 대해 마스터 또는 제어기로서 작동하는 것을 필요로 하지 않는다는 것을 보장한다. 그러나, 그것은 또한 논리적 마스터 또는 제어기가 기본적인 피어투피어 통신 모델 상의 제어 구조를 부과하게 한다. HAVI 네트워크에서의 서비스는 사용자 또는 응용 장치로 서비스를 전달하기 위해 노드 간에 통신하는 하나 이상의 노드에 의하여 제공된다. 노드가 사용자와 상호 작용하는 것이 필요하다면, 노드는 디스플레이 장치에 억세스하고 디스플레이 장치를 사용하기 위해 다른 노드와 협상한다.
추가적으로, 구별이 논리적, 물리적 노드 사이에 이루어진다는 것도 이해하여야 할 것이다. 이 구별의 좋은 예는 보통 TV 세트에서 볼 수 있다. 비록 TV 세트가 일반적으로 하나의 물리적 박스일지라도, TV 세트는 몇몇 기능 성분, 예를 들어 튜너, 오디오 출력 등을 포함한다. 시스템의 관점으로부터 물리적 노드는 시스템에서 주소 지정 가능한 피어 노드이다. 만약 TV가 개개 기능 성분이 개별적으로 주소 지정 가능한 방식으로 구성된다면, TV는 논리적으로 한 노드이고 물리적으로 몇 개의 노드이다. 역으로, 만약 TV가 하나의 주소 지정 가능한 실체로 구성된다면, TV는 단일 논리 노드와 단일 물리 노드이다.
IAV 장치와 FAV 장치는 일반 메시지 전송 시스템을 사용하여 가정용 네트워크 상에서 메시지를 전송하여 통신한다. 새로운 장치가 가정용 네트워크와 결합될 때, 그 장치들은 글로벌 네임 데이터베이스(a global name database){레지스트리(registry)}로 인식되어 추가된다. 이 레지스트리는 장치 특성에 대한 정보를 유지하고 해당 장치에 대한 핸들러(handler)에 참조를 제공한다. 다른 장치와 서비스는 장치를 위치시키기 위해 레지스트리에 질문할 수 있으며, 그후 핸들러를 사용하여 이 장치와 상호 작용할 수 있다. 본 발명의 통신과 식별 과정에 관한 추가적인 설명과 관련 기술에 대해, 독자는 오기노 등(Ogino, et al.)의 "소비자 오디오/비디오 네트워크 내에서 장치의 식별 메커니즘을 제공하는 방법 및 시스템"(본 명세서에 참조로 병합되었으며 1998년 1월 6일에 출원된 미국 특허 출원)을 참조할 수 있다.
장치가 초기에 가정용 네트워크에 추가될 때, 시스템은 그 장치의 특성과 성능을 확인하기 위해 그 장치에 질문을 한다. 일단 장치의 특성이 공지되면, 그 구조가 그 장치를 제어하는 두 가지 방법을 제공한다. 제 1 방법, 레벨 1 상호 운용성은 미리 정의된 메시지 세트를 사용한다. 모든 IAV 및 FAV 노드는 다른 장치에 억세스하고 제어하기 위해 이 명령 세트를 사용할 수 있다(BAV 노드는 그 구조가 정의되기 이전에 그 노드가 전개되기 때문에 레거시 프로토콜을 사용하여 제어된다). 이것은 제어의 디폴트 레벨을 제공한다. FAV 노드는 제어 노드로 작동하고 이 장치에 제어 명령을 전송하는데 사용되는 API를 제공하는 장치 제어 모듈(DCM)로 알려져 있는 IAV 노드의 국부 표시를 만든다.
HAVI 내의 레벨 2 상호 운용성은 더 진보된 것이며 미래의 추가된 기능과 새로운 장치를 지원한다. 이것을 달성하기 위해서, 특정 장치는 그 장치의 ROM 내에 오버라이드 DCM(override DCM)을 실행할 수 있으며, 이 오버라이드 DCM 은 IAV 장치로부터 FAV 장치로 업로드 되고 특정 장치를 위해 디폴트 DCM을 교체한다. 이 오버라이드 DCM 은 특정 장치에 대한 기본적인 레벨 1 명령 세트를 포함할 뿐만 아니라 이 장치의 고급 특성을 제어하기 위해 벤더 특정 명령(vendor specific commands)도 포함한다. 이 모델은 이 장치가 이 장치의 특정 기능에 대한 다른 것을 알려주게 한다. 이 오버라이드 DCM 이 임의의 벤더 FAV 에 로드 될 수 있기 때문에, DCM의 포맷은 구조적으로 중립적(architecture-neutral)이다.
한 장치가 다른 장치의 성능을 발견하게 하기 위해 그리고 어떤 명령 세트가 그 장치에 사용할지를 결정하기 위해, 표준 장치 설명 구조(a standard device description structure)가 자기 설명 데이터(SDD : Self Describing Data) 구조로 불리며 제공된다. SDD 데이터 구조는 확장 가능하다. 이 구조는 예를 들어 TV, VTR, 등 장치 타입을 설명하는 적은 수의 바이트일 수 있다. 대안적으로, SDD 데이터 구조는 이 장치의 오버라이드 DCM을 또한 정의하는 좀더 복잡한 구조와 그래픽 표시일 수 있다. SDD 데이터 구조 내의 그래픽 표시는 FAV 노드로 하여금 가정용 네트워크에서 이 장치의 그림 표시가 사용자에게 제공되게 한다. 충분히 일반적인 방식으로 그래픽 표시를 정의함으로써, 장치의 SDD 그래픽 데이터가 그 장치에 대한 사용자 인터페이스를 디스플레이 하기 위해 임의의 벤더 제품에 사용될 수 있다. 이것은 개선된 레벨의 벤더 상호 운용성을 제공하고 또한 이 디스플레이 장치의 일반 룩 앤드 필(the general look and feel of the display device) 내에 유지되면서 벤더가 제품을 차별화하게 한다. 이것은 제어 장치(FAV 노드)가 타입과 벤더에서의 차이에 관계없이 가정용 네트워크에 있는 모든 장치에 대해 일반 제어 사용자 인터페이스를 제공하게 한다.
위에 설명된 바와 같이, 레거시 장치는 HAVI 구조 이전에 이루어진 장치이거나 HAVI를 사용하지 않는 것을 선택하는 장치이다. HAVI는 레거시 장치에 프로토콜 변환을 제공하기 위해 레거시 DCM을 제공함으로써 레거시 장치를 지원한다. 이 레거시 DCM 은 이 레거시 DCM이 기존의 1 또는 2 방향 제어 프로토콜을 지원하게 하는 충분한 지식을 포함하고 HAVI에 적용되는 장치에 특정 제어 인터페이스를 제공할 수 있다. 레거시 DCM 은 레거시 장치 및 HAVI 장치 사이의 다리로서 작용한다. 이러한 접근은 HAVI 가 또한 가정 에너지 관리 또는 보안을 위해 사용되는 프로토콜과 같은 임의의 미래의 장치 제어 프로토콜과 상호 작용하게 한다.
HAVI 구조에 의해 사용되는 통신 하드웨어와 프로토콜은 특정화된 것이 아니라는 것을 이해해야 한다. HAVI 구조는 매체가 HAVI 인터페이스를 지원하는 일반 통신 메커니즘을 제공한다는 간단한 요구 사항을 갖는, 몇몇 통신 매체 중 임의의 하나의 병합과 사용(the incorporation and use of any one of several communications mediums)에 쉽게 적응된다. 가정된 기본적인 모델은 논리 통신 백 플레인(a logical communications back plane)(예를 들어 IEEE 1394) 중 하나이다. 모든 AV 장치는 이 백 플레인에 연결되는 것으로 가정되고 도 1b에 도시되어 있는 바와 같이 위치되며 모든 다른 AV 장치를 위치하고, 이 장치와 통신할 수 있다. 물리적 셋팅에서, 이 논리 백 플레인은 하나 이상의 물리적 통신 매체로 구성될 가능성이 있다. 다수의 프로토콜이 서로 다른 물리적 매체 상에서 사용될 수 있다는 것도 추가로 가정된다. 가정용 AV 구조는 우선 이것을 추출(The Home AV architecture abstracts above all of this)하고 통신 노드의 일반적 모델을 제공한다. 이 구조는 네트워크의 투명성(network transparency)을 보장하기 위해 트랜스포트 계층(기능적으로 소켓과 같은 계층) 이상의 하나의 메커니즘을 제공할 것이다. 이 메커니즘은 모든 분열과 재조립을 제공할 수 있는 "신뢰할 수 있는 순서화된 데이터그램 서비스(reliable, ordered datagram service)"로서 설명될 수 있다.
따라서, 본 발명의 목적은 하나의 어플리케이션이 어느 물리적 트랜스포트를 사용하는지를 신경쓸 필요가 없도록 각 물리적 버스와 모든 물리적 버스를 동일하게 지원하는 것이다. 그러나, 전자 산업에서 IEEE 1394에 따라, 본 실시예의 특성이 IEEE 1394와의 기능을 고려하여 도시되고 설명되어 있다. CE 버스(CEBus) 및 USB와 같은 다른 버스는 모든 동일한 특성을 필요로 하지 않을 것이다.
이제 도 2를 참조하면, 본 발명의 일 실시예에 따라 예시적인 피어투피어의 두 개의 IAV 노드 HAVI 네트워크(200)(an exemplary peer to peer, two IAV node HAVI network)가 도시되어 있다. HAVI 네트워크(200)는 제 2 IAV(202)(예를 들어 수신기)에 연결된 제 1 IAV(201)(예를 들어, TV)를 포함한다. IAV(201) 및 IAV(202)는 서로 중에서 필요로 하는 자원에 대해 조정을 하면서 피어피어 방식(a peer-peer manner)으로 작용한다. IAV들은 BAV 또는 LAV 장치의 추가를 지원하기에는 자원이 부족하지만, 그 상황 내에서 의미 있는 활동을 수행할 수 있다. IAV는 임의의 표준 UI 성능을 제공하도록 요구되지 않는다. 새로운 기능의 "순방향 호환성(forward compatibility)"이나 발견을 위해 AV 구조에는 설비가 없다{예를 들어, IAV(201)만이 IAV(202)의 연결 즉시 제공되는 SDD 에 기초하여 지원하는 기능을 안다}. 그러나, 본 발명에 따라, SDD 의 특성은 "특별한(ad-hoc)" 특성의 발견을 수행하기 위해 용이하게 개발될 수 있다.
도 3 은 본 발명의 일 실시예에 따라 단일 FAV 클러스터 HAVI 네트워크(300)를 도시한다. HAVI 네트워크(300)는 제 1 LAV(예를 들어, TV), 제 2 LAV (303)(예를 들어, VCR) 및 BAV(304)(예를 들어, 디지털 카메라)에 각각 연결된 FAV(301)(예를 들어 셋탑 박스)를 포함한다. HAVI 네트워크(300)에서, FAV(301)는 클러스터 전체 서비스(cluster-wide services)를 제공하는 레거시 및 베이스 AV 장치(Legacy and Base AV devices){예를 들어, 장치(302 내지 304)}를 제어한다.
도 4 는 IAV 피어투피어 HAVI 네트워크(400)와 통합된 FAV 클러스터를 도시한다. 본 발명에 따라, HAVI 네트워크(400)의 구성은, 두 IAV 장치의 자원이 FAV 장치(301)에 의해 사용되지 않을 때, 두 IAV 장치(401 및 402) 내에서 독립적인 제어가 일어나게 하는 동안 레거시 장치(302 및 303)에 지원을 제공한다. IAV 장치(401 및 402)는 FAV 장치(301)에 피어로서 작용한다. 효율을 위하여, FAV에서 FAV로의 자원 요구와 FAV에서 IAV로의 자원 요구 모두에 대해 자원 충돌 정책이 수행될 수 있다(a resource conflict policy can be implemented for both FAV to FAV or FAV to IAV resource requests). IAV 는 FAV(301)에서 DCM 실행을 통해 FAV에 의하여 제어될 수 있다.
도 5 는 다수의 FAV를 가지는 예시적인 HAVI 네트워크(500)를 도시한다. HAVI 네트워크(500)는 추가적인 FAV(501)(예를 들어 위성 수신기)를 포함한다. 이 구성은 위에서 설명된 HAVI 네트워크(400)와 유사한 방식으로 동작한다. 이 구성에서, FAV 장치들(301 및 501)은 피어로서 작용한다.
컴퓨터 시스템 플랫폼(THE COMPUTER SYSTEM PLATFORM)
이제 도 6을 참조하면, 본 발명의 일 실시예에 따른 셋탑 박스(301)의 다이아그램이 도시되어 있다. 위에서 설명된 바와 같이, 임의의 가전 장치는 FAV일 수 있고 이것에 의하여 HAVI 소프트웨어에 컴퓨터 시스템 플랫폼을 제공할 수 있다. 예를 들어, 예시적인 HAVI 네트워크의 셋탑 박스(301)는 아래에 설명되는 HAVI 구조의 소프트웨어 성분에 운용 플랫폼을 제공하는 특별 성분을 포함한다. 구체적으로, 아래에서 설명되는 본 발명의 측면들은 컴퓨터 시스템 상에서 실행되는 단계(예를 들어 도 13 내지 도 17a에 도시되어 있는 프로세스)로 논의된다. 비록 여러 가지 서로 다른 컴퓨터 시스템이 본 발명과 사용될 수 있을지라도, 예시적인 범용 컴퓨터 시스템이 도 6 의 셋탑 박스에 도시되어 있다.
비디오/오디오 수신기(디코더) 유닛(606)과 MPEG 유닛(607)을 구비하는 이외에 도 6의 셋탑 박스(301)는 정보를 전달하기 위한 어드레스/데이터 버스(600), 정보와 지시(instructions)를 처리하기 위하여 버스에 연결된 하나 이상의 중앙 처리기(601), 상기 중앙 처리기(601)에 대해 정보와 지시를 저장하기 위해 버스(600)와 연결된 휘발성 메모리(602){예를 들어, 랜덤 억세스 메모리(RAM)}, 및 상기 처리기(601)에 대해 정적 정보와 지시를 저장하기 위해 버스(600)와 연결된 비휘발성 메모리(603){예를 들어 읽기 전용 메모리(ROM)}를 또한 포함한다. 셋탑 박스(301)는 또한 정보와 지시를 저장하기 위해 버스(600)와 연결된 자기 또는 광 디스크와 디스크 드라이브와 같은 데이터 저장 장치(604)("디스크 서브시스템")를 선택적으로 또한 포함할 수 있다. 또 셋탑 박스(301)에는 로컬 버스(30)(예를 들어, IEEE 1394 직렬 버스)와 인터페이싱 하기 위한 버스 인터페이스 유닛(608)이 포함되어 있다. 셋탑 박스(301)는 여러 가지 서로 다른 운영 시스템(예를 들어, 윈도우 운영 시스템, DOS 운영 시스템, 매킨토시 O/S) 하에서 동작할 수 있지만, 본 실시예에서는 에이퍼리오스 운영 시스템(the Aperios operating system)이 사용된다.
HAVI 소프트웨어 모델
본 발명에 따라, HAVI 구조(예를 들어, DCM)의 컴퓨터 계산 유닛(the computational units)은 객체(objects)로서 모델링 된다. 각 객체는 잘 정의된 인터페이스를 통해 억세스 가능하고 잘 정의된 소프트웨어 실행 환경 내에서 실행되는 독립적인 실체(a self contained entity)이다. 소프트웨어 실행 환경{예를 들어 도 6 으로부터 셋탑 박스(301)}은, 객체로서 또한 모델링 되고 통신 기반 구조의 잘 정의된 인터페이스를 경유하여 통신 기반 구조를 사용하여, 억세스 될 수 있는, 잘 정의된 서비스 세트를 (국부적으로나 원격적으로) 제공한다.
각 객체는 고유하게 명명된다. 시스템 서비스를 만드는데 사용되는 객체와 애플리케이션 서비스를 위해 사용되는 객체 사이에 구별은 없다. 모든 객체는 레지스트리를 경유하여 알려지게 된다. 시스템에서 객체는 특정 서비스 또는 장치를 찾기 위해 레지스트리에 질문을 할 수 있고 메시지를 그 서비스 또는 장치에 전송하기 위해 그 질문의 결과를 사용할 수 있다. 객체에 할당된 식별자(identifier)는 이 객체가 레지스터(register) 될 때 생성된다. 필요하다면, 이 식별자는 그 객체의 라이프타임 동안 영속하는 것으로 보증되고 가정용 네트워크를 완전히 재부팅(reboot)할 때에도 영속할 수 있다.
본 발명에 따라, 객체는 메시지 전송 모델을 사용하여 통신한다. 다른 객체의 서비스를 사용하고자 하는 객체는, 서비스 요청을 대상 객체에 전달하는 범용 메시지 전송 메커니즘을 사용하여 서비스를 사용한다. 대상 객체는 위에서 설명된 고유의 객체 식별자를 사용하여 지정된다. 본 실시예에서 메시지 전송 메커니즘이 IEEE 1394에 따라 기능을 하는 동안, 메시지를 1394 버스를 통해 전송하는 것이나 제어 A1 링크(a Control A1 link) 상에서 전송하는 것 사이에는 구별이 없다. 동일한 방식으로, 동일한 노드 상의 객체와 원격 노드 상의 객체 사이에도 구별이 없다. 메시지 전송 기반 구조의 실제적 구현은 시스템과 네트워크 환경에 달려 있을 수 있고 노드마다 다르고 벤더 사이에서 다를 수 있다. 그러나, 메시지의 실제 포맷은 상호 운용성이 보장되도록 공동이어야 한다.
객체 모델과 메시지 시스템의 일반적 취지는 여러 가지 소프트웨어 시스템과 언어로 다수의 구현을 가능하게 하기에 충분히 유연성이 있는 완전히 일반 소프트웨어 모델을 제공하는 것이라는 것을 이해하여야 할 것이다. 메시지와 메시지를 처리하는 코드 사이의 결합에 관한 상세 사항은 시스템 구현자(the system implementor)에게 남아 있다.
소프트웨어 구조 개요
HAVI 소프트웨어 구조는 소프트웨어 모델이 HAVI 구조를 지원하는데 사용되는 방식을 정의한다. 특히, 이 구조는 장치들이 AV 구조 내에서 추출되고 관리되는 방식을 정의한다. 이 구조는 상호 운용성이 보장되는 방식을 정의하고, 또 이 구조는 미래의 장치들과 서비스들이 이 구조에 통합될 수 있는 방식을 정의한다.
소프트웨어 관리자로서의 전 AV 노드 : 본 발명에 따라, 전 AV 노드(FAV)는 중간 노드(IAV)와 기저 노드(BAV)에 대해 관리자로서 작용하고 HAVI 구조를 지원하는 서비스에 플랫폼을 제공한다. 이것을 달성하기 위해, 전 AV 노드는 객체가 서비스와 장치를 제어하고 서비스 및 장치와 통신하게 하는 실행 환경을 제공한다. 장치들이 가정용 AV 네트워크 내에서 억세스 가능하게 보장하기 위해, FAV 노드는 하나의 장치가 다른 장치에 제공하는 서비스의 소프트웨어 추출을 지원한다. 위에서 설명된 바와 같이, 이 추출은 장치 제어 모듈(DCM)로 언급된다. DCM은 소프트웨어 구조 내에서 객체로서 모델링 되지만, DCM을 구별하기 위하여 이후로는 간단히 DCM으로 언급된다. DCM 이 시스템의 나머지 부분에 노출하는 인터페이스는 그 장치를 억세스하고 제어하기 위한 수단을 제공한다. 일반적인 경우에, FAV 는 FAV 가 관리하는 가정용 네트워크나 IAV 네트워크의 일부에 있는 각 IAV 노드와 기저 노드 당 하나의 DCM씩 제공되는 DCM의 세트를 운영할 수 있다. 이리하여, 상호 운용성 관점으로부터, FAV 노드의 기본적 역할은 본 발명의 DCM을 관리하는 것이며 DCM에 대해 실행 환경으로 작용한다는 것을 이해하여야 할 것이다.
제어기와 디스플레이 장치로서의 전 AV 노드 : 본 발명에 따라, 대부분의 경우에, FAV는 AV 내용과 사용자 인터페이스(UI)를 디스플레이 하기 위해 사용되는 관련 디스플레이 장치를 가질 수 있다. 그러나, HAVI 소프트웨어 구조는 이 장치를 운영하지는 않으며 FAV 노드는 "무관리상태(headless)"일 수 있다. 이 경우에, FAV 노드는 내용과 UI 정보를 디스플레이 하기 위해 다른 노드와 공동 동작할 수 있다(아래 참조). 그러나, FAV 장치는 전체 가정용 네트워크의 룩 앤 필을 제공하는 높은 레벨의 UI API를 지원할 책임이 있을 것이다. 낮은 레벨의 그래픽 조종 API 는 그래픽스 디스플레이 장치 자체에 가까이 일반적으로 위치될 수 있고 FAV 높은 레벨의 API에 의해 조종될 수 있다.
전 AV 노드 사이의 피어투피어 구조 : 본 발명에 따른 가정용 AV 네트워크에서, 하나 이상의 FAV 가 있을 수 있다. 이 경우에, 각 FAV는 서비스들이 사용자에게 제공되는 것을 보장하기 위해 다른 FAV와 공동 작용한다. 이것은 FAV 노드가 자원을 공유하도록 공동 작용하게 한다. 예를 들어, 디스플레이 장치로 직접 억세스를 하지 못하는 FAV 노드는 DCM 사용자 인터페이스를 디스플레이 하기 위해 원격 FAV 노드를 사용할 수 있다. 대안적으로, FAV 노드는 원격 노드가 두 개의 AV 장치 사이의 데이터 루트를 셋업하게 하기 위해 원격 노드 상에 존재하는 데이터 변환 모듈의 서비스를 요구할 수 있다.
레벨 1 및 레벨 2 일반 상호 운용성
본 발명에 따라, 본 발명의 HAVI 구조의 주요 목적 중의 하나는 장치들 사이의 상호 운용성을 지원하는 것이다. 이것은 기존의 장치와 미래의 장치를 포함한다. 이 상호 운용성을 달성하기 위해, 본 발명의 HAVI 구조는 두 레벨의 상호 운용성을 가능하게 하는 일반 모델을 지원한다. 이들 레벨은 레벨 1 및 레벨 2 로 언급된다.
레벨 1 상호 운용성 : 본 발명의 레벨 1 상호 운용성은 기존의 장치가 통신하게 하기 위한 일반적인 요구를 처리한다. 이것을 달성하기 위해, 본 발명의 레벨 1 상호 운용성은 한 장치가 다른 장치와 대화하게 하는 제어 메시지(명령)의 일반 세트와 한 장치가 장치로부터 합당하게 기대하여야 하는 이벤트 메시지의 세트를 정의하고 사용한다. 이 방법을 지원하기 위해 프로세스의 기본 세트가 요구된다. 이들 프로세스는 장치 발견(device discovery), 통신, 및 일반 메시지 세트를 포함한다.
본 발명의 장치 발견 프로세스는 가정용 AV 네트워크에 있는 각 장치가 그 특성을 다른 장치에 통고하게 하는 잘 정의된 방법을 필요로 한다는 사실을 제공한다. 채택된 방법은 장치에 대한 정보를 포함하고 모든 다른 장치에 의해 억세스 될 수 있는, 모든 FAV 및 IAV 장치 상에서 요구되는, 데이터 구조를 구체화시키는 것이다. 이 데이터 구조는 자기 설명 데이터 구조(SDD)로 언급된다. SDD 는 다른 장치가 그 장치의 기본 성능을 발견하게 해주고 그래서 그 장치에 전송될 수 있는 명령 메시지의 기본 세트와 그 장치로부터 합당하게 수신하기를 기대할 수 있는 이벤트를 추론(infer)하기에 충분한 정보를 최소한으로 포함한다.
본 발명의 통신 프로세스는 일단 장치가 다른 장치의 성능을 결정하고 나면, 그후 그 장치는 그 성능에 억세스 할 수 있다는 사실을 제공한다. 이것을 달성하는 것은 하나의 장치가 다른 장치에 명령 요구를 포함하는 메시지를 전송하게 하는 일반 통신 장비를 요구한다. 본 발명의 일반 메시지 서비스 프로세스는 위에서 논의되었다.
일반 메시지 세트는 레벨 1 상호 운용성을 지원하는데 요구된 프로세스를 언급한다. 이것은 특정 등급의 모든 장치에 의해 지원되어야 하는 잘 정의된 메시지 세트를 포함한다. 이것은 모든 장치가 일반 명령의 공동 세트에 동의하기 때문에 제조사에 관계없이 하나의 장치가 다른 장치와 작용할 수 있다는 것을 보장한다. 위에서 논의된 바와 같이, 본 발명의 HAVI 소프트웨어 구조 내에서, 이들 명령은 시스템의 나머지 부분에 DCM으로 제시된다.
본 발명의 이들 세 가지 기본 프로세스는 적어도 최소한의 레벨 상호 운용성을 지원한다. 대부분 경우에, 임의의 장치가 SDD를 경유하여 다른 장치의 성능에 질문할 수 있기 때문에, 임의의 장치는 다른 장치에 의해 지원되는 공동 세트를 결정할 수 있다. 또 각 장치가 일반 메시지 전송 시스템에 억세스 하기 때문에, 그후 임의의 장치는 임의의 다른 장치와 상호 작용할 수 있다.
그러나, 본 발명에 따른 레벨 1 호환성(level 1 compatibility)만이 장치가 최소 레벨 또는 저하된 레벨의 기능(a minimal or degraded level of functionality)에서 상호 동작할 수 있는 것을 보장한다. 각 장치 등급에 대한 일반 메시지 세트는 최소 명령 세트이며 공동 명령 세트(a minimal and common set of commands)이다. SDD 능력은, 장치의 UI 및 장치의 상호 작용 모델의 몇몇 측면에 대한 정보를 제공하여 어느 정도의 주문형 장치(some degree of customization of a device)를 제공하는 수단을 제공한다. 다른 IAV 장치는 이 정보를 사용하여 이 장치에 인터페이스를 제시할 수 있다. 대안적으로, 임의의 FAV 장치는 이 정보를 사용하여 이 장치를 위해 만들어진 일반 DCM을 주문 제작(customize)할 수 있다. 그러나, 장치가 다른 장치에, 장치가 소유하는 임의의 추가적인 기능을 전달하게 하도록 좀더 확장 가능한 메커니즘이 또한 필요하다는 것을 주목하여야 할 것이다. 본 발명의 레벨 2 상호 운용성은 이 메커니즘을 제공한다. 레벨 1 및 레벨 2 상호 운용성은 아래에서 좀더 상세하게 논의된다.
레벨 1 및 레벨 2 DCM
위에서 논의된 바와 같이, 본 발명의 DCM 은 한 장치와의 억세스, 제어, 및 상호 작용을 제공함으로써 기능을 한다. DCM은 일반적으로 가정용 AV 구조에서 FAV 의 자원 상에서 설명(실행)된다. 본 발명의 DCM 은 장치에 인터페이스를 제공하고 그 장치가 사용자에게 제시하고자 하는 UI를 관리한다.
본 발명에 따라, 레벨 1 상호 운용성으로 장치를 위해 만들어진 DCM은 범용이다. DCM은 그 장치의 일반 제어가 가능하게 하는 최소의 명령 세트를 지원한다. 장치 특정 특성을 지원하는 것은 DCM이 그러한 장치 특정 특성으로의 억세스를 제공하는 것을 요구하고 UI를 경유하여 사용자에게 장치 특정 특성을 나타낼 수 있다.
이것을 달성하기 위해, 레벨 2 상호 운용성이 사용된다. 본 발명에 따라, 가정용 AV 구조는 장치가 그 장치에 대해 일반적으로 생성될 수 있는 일반 DCM에 대해 "오버라이드" DCM을 제공하게 한다. 오버라이드 DCM(예를 들어, 레벨 2 DCM)은 FAV 상에서 디폴트 DCM(예를 들어 레벨 1 DCM)을 교체할 수 있다. 레벨 2 DCM 은 여러 가지 소스로부터 검색될 수 있다는 것을 이해해야 한다. 하나의 그러한 소스는 그 장치 자체의 SDD이다. 이 경우에, 레벨 DCM은 이 장치의 SDD로부터 인출하고, 수신되거나 그렇지 않으면 SDD로부터 획득되며, 이 장치가 그 시스템으로 설치될 때 FAV 노드에서 설명된다. 가정용 AV 구조는 벤더 중립적이기 때문에, 레벨 2 DCM은 잠재적으로 서로 다른 하드웨어 구조에 하나씩, 여러 가지 FAV 노드 상에서 작용하는 것이 필요하다. 이것을 달성하기 위해, 본 발명의 레벨 1 DCM 및 레벨 2 DCM 모두의 포맷은 폭넓은 FAV 노드의 여러 가지 소프트웨어 실행 환경이 레벨 1 DCM과 레벨 2 DCM을 설명하고 실행할 수 있도록 구조에 중립적이다.
본 발명에 따라, 일단 FAV 노드 내에서 생성되고 실행되면, 본 발명의 DCM 은 기본 메시지 전송 메커니즘을 사용하여 위에서 설명된 바와 동일한 방식으로 IAV 노드 및 BAV 노드와 통신한다는 것을 이해해야 한다.
위에서 설명된 바와 같이, 정해진 HAVI 네트워크 내에서 있을 수 있는 FAV, IAV, 및 BAV 노드의 많은 순열(permutation)이 있다. 이들 순열은 일반적으로 두 타입, 즉 FAV 장치를 지원하는 HAVI 네트워크 구성과 FAV 장치를 지원하지 않는 HAVI 네트워크 구성으로 되어 있다. 이 구별은 본질적으로 HAVI 네트워크가 피어투피어 구성(예를 들어, 도 2 에 도시된 바와 같이, FAV 가 존재하지 않는 구성)을 사용하여 될 수 있거나 몇몇 형태의 제어 계층(예를 들어, 도 3 에 도시된 바와 같은 FAV 클러스터)을 부과할 수 있다.
본 발명의 일 실시예에 따라, FAV가 존재하지 않는 경우에, 레벨 1 상호 운용성만이 이용 가능하고, 그 장치는 다른 IAV 성능을 발견하고, 그 성능을 제시하며, 그 장치를 제어하는데 SDD 정보를 사용하도록 강요받는다. FAV 가 존재하는 경우에, DCM은 설명되고 사용된다. 이들이 레벨 1 (예를 들어, 일반) DCM 이라면, 이 장치는 레벨 1 상호 운용성으로 동작하고 있다. 최소한 하나의 레벨 2 DCM이 존재하고 있다면, 그후 몇몇 장치는 레벨 2 상호 운용성으로 동작하고 있다.
본 발명에 따라, 다른 장치가 피어투피어 방식으로 상호 동작하고 있는 동안, 장치의 클러스터가 FAV 노드의 제어하에 상호 동작하고 있는 혼합 동작 모드(a mixed mode of operation)가 가능하다는 것을 주목하여야 한다. 이 방식으로, 본 발명의 유연성은 이들 장치가 HAVI 네트워크에서 다른 장치와 경계없이 공동 동작할 수 있다는 확실성을 갖게 비용/성능 스펙트럼 상의 모든 점들에서 장치를 설계하고 조립할 자유로움을 벤더에게 가능하게 한다.
이제 도 7을 참조하면, HAVI 구조의 일 실시예의 논리 블록 다이아그램(700)이 도시되어 있다. 도 7 은 본 발명에 따른 전체적인 HAVI 구조를 도시한다. 다이아그램(700)에 도시되어 있는 성분은 다음과 같다:
장치 관리자(761) : 장치 관리자(761)는 FAV 장치로 관리되는 장치를 나타내는 DCM을 생성하고 관리할 책임이 있다.
장치 모듈(720) : 이 모듈은 개개 장치에 대한 DCM이다. 위에서 설명된 바와 같이, 각 DCM 은 장치에 대한 제어 장치(control point)로서 기능을 하고 UI 성분과 제어 성분을 제공한다. DCM{예를 들어, 장치 모듈(720)}은 다른 애플리케이션이 장치들에 억세스하고 조종하게 하기 위해 API를 제공한다.
서비스 모듈(730) : 이 모듈은 소프트웨어 장치로서 볼 수 있다. 이 모듈은 가정용 네트워크에서 다른 장치 또는 성분에 일반 서비스를 제공하는 (하드웨어 장치의 반대인) 임의의 소프트웨어 성분에 대한 DCM이다.
콤스 미디어 관리자(Comms Media Manager)(740) : 이 성분은 기초 물리 통신 프로세스를 관리할 책임이 있다. 이 관리자는 코드 모듈이 통신 미디어(예를 들어, IEEE 1394)의 특성과 상호 작용하게 하는 API를 제공한다.
레지스트리(706) : 레지스트리는 서비스 데이터베이스이다. 물리적 장치와 소프트웨어 서비스에 대한 모든 DCM은 레지스트리(706)에 자신들을 기록하고 모든 모듈{예를 들어, 장치 모듈(720)}은 다른 장치나 모듈에 대한 처리를 하기 위해 레지스트리에 질문을 할 수 있다.
통신 관리자(750) : 이 성분은 통신 미디어의 낮은 레벨 추출이다.
메시지 전송(702) : 이 성분은 장치(하드웨어)와 장치 모듈(720) 및 서비스 모듈(730)이 모두 서로 통신하게 하게 하는 기본 메시지 전송 능력을 제공한다.
이벤트 매니지(event manage)(703) : 이 모듈은 일반 이벤트 서비스를 제공한다. 이것은 HAVI 네트워크에서 통지를 가능하게 하는 일대 다 통신 서비스(a one-to-many communication service)이다.
초기화 관리자(Initialization manager)(701) : 이 성분은 장치 부트스트랩 프로세스의 일부로서 사용된다.
데이터 루트 지정(762) : 데이터 루트 지정 성분(702)은 장치와 장치 모듈 사이에 서비스가 루트를 셋업하게 할 책임이 있다. 이 성분은 특정 루트를 경유하여 데이터를 전송할 '비용', 데이터 포맷 변환에 대한 요구 사항 등을 고려 한다. 이 성분은 기본 구조에 대해 요구되지 않는다.
AV 동작/매크로(763) : 이 성분은 개개의 낮은 레벨 명령의 그룹인 더 높은 레벨 AV 동작에 대한 관리자인데, 즉 이 성분은 매크로 서비스를 제공한다. 이 성분은 기본 구조에 대해 요구되지 않는다.
높은 레벨 UI 라이브러리(704) : 이 성분은 그 해당 장치에 UI를 생성하기 위해 장치 모듈(720)에 의해 사용되는 높은 레벨 UI 성분의 세트를 제공한다. 이 성분은 기본 구조에 대해 요구되지 않는다.
애플리케이션( 및 사용자) 인터페이스(705) : 이 성분은 국부적이거나 원격지에 있을 수 있는 애플리케이션과 HAVI 적응 장치의 공통가전 플랫폼(CCEP : Common Consumer Electronics Platform) API 들 사이의 링크를 제공한다. 이 성분은 기본 구조에 대해 요구되지 않는다.
도 7 에 도식화되어 있는 상기의 성분은 기능 추출이라는 것을 이해할 수 있을 것이다. 그 성분들은 HAVI 적응 장치에 대한 구조에 무슨 기능이 포함되어 있는지를 명확히 하기 위한 것이다. 본 발명을 불필요하게 불명확하게 하는 것을 피하기 위해, 성분(701 내지 763) 사이의 관계와 그들 사이의 메시지 흐름은 도시되어 있지 않다.
DCM 구성 및 기능
개요
본 발명의 일 실시예에서, FAV 노드가 이용 가능한 HAVI 네트워크 구성에서, 그 FAV 노드에 의하여 알려져 있는 HAVI 네트워크에서 각 물리적 장치에 대해 DCM이 존재한다. DCM은 그 장치에 인터페이스를 제공하고 그 장치를 구조에서의 객체로서 제시한다. 다른 DCM, 시스템 서비스 또는 애플리케이션 서비스는 이용 가능한 장치를 찾고 DCM을 경유하여 장치들과 상호 작용하게 하는 식별자를 얻기 위해 국부 레지스트리에 질문할 수 있다.
또한 장치 제어 모듈은 장치 사용자 인터페이스(UI)를 사용자에게 제시하기 위해 소프트웨어 구조와 상호 작용할 책임이 있다. 사용자로부터의 입력은 그후 실제 장치를 제어하기 위해 입력을 사용하는 DCM에 전송된다.
위에서 설명된 바와 같이, DCM 은 레벨 1 및 레벨 2 상호 운용성을 지원한다. 레벨 1 DCM 은 FAV 노드와 일반적으로 공급되는 일반 DCM 이고, 미리 정의된 메시지 세트를 사용하여 장치 등급의 미리 정의된 기본 특성 세트를 관리할 수 있다. 초기화 동안, DCM 은 관리되는 장치의 실제 특성을 발견하기 위해 장치 관리자(아래 참조)와 작용할 수 있으며, 그 장치를 제어하기 위해 자체적으로 구성할 수 있다. 이리하여, 일반 VCR 제어기는 1394 AV/C 메시지를 사용하거나 또는 제어 A1을 통해 표준 VCR을 제어하기 위해 설명될 수 있다.
레벨 2 상호 운용성에서, 그 장치에 대해 설명된 DCM 은 외부 소스 예를 들어 장치 그 자체로부터 로드 되어 있는 오버라이드 DCM 일 수 있다. 이들 오버라이드 DCM 은 DCM 에 대한 공통언어 포맷으로 기록된다. 오버라이드 DCM 의 기능은 일반 DCM과 다르지만 제공된 API 는 좀더 포괄적일 가능성이 있다.
일단 설명되면, DCM 은 그 장치에 대한 제어 인터페이스 뿐만 아니라 장치와 관련된 SDD 데이터로 억세스를 제공할 수 있다. DCM 은 장치에 대해 이벤트 관리자로서 작용하여 장치 특정 이벤트를 수신하며 이벤트 시스템(아래 참조)에 이 이벤트를 제공할 수 있다. 이 DCM 은 또한 몇몇 디스플레이 장치를 경유하여 사용자 인터페이스를 제공하기 위해 UI 관리 시스템과 상호 작용하면서 그 장치에 대해 UI 관리자로서 작용할 수 있다. 마지막으로, DCM은 장치의 억세스와 서비스에 대해 이루어진 요구를 중재하면서 장치에 대해 자원 관리자로서 동작할 수 있다.
일반 DCM 용어
이하의 설명에서 사용된 바와 같은 본 발명의 용어에서, 각 DCM 은 가정용 네트워크에서 장치의 모델을 제시한다. 기본 용어는 다음과 같다.
1) 장치 : 이 용어는 전체 장치(the entire device)를 언급한다.
2) 서브 장치 : 이 용어는 장치를 구성하고 있을 수 있는 많은 성분 중 하나를 언급한다. 몇몇 기술은 서브 장치를 구별할 수 있는 능력을 가지고 있지 않다.
3) 내부 연결 : 이 용어는 내부 서브 장치들 간의 논리적 또는 물리적 연결을 언급한다.
4) 외부 연결 : 이 용어는 장치 외부의 물리적 연결자와 장치 외부의 목표 장치 사이의 연결을 언급한다. AV/C에 대해 유닛 직렬 버스와 외부 입력 및 출력 플러그와 동일하다.
5) 프로토콜 : 이 용어는 서브 장치 또는 장치(예를 들어, AV/C, 제어 A1, 등)에 의하여 불려지는(spoken) 제어 프로토콜을 언급한다. 장치는 서로 다른 프로토콜을 말하는 서브 장치를 포함할 수 있다는 것을 주목해야 할 것이다.
6) 인터페이스 : 이 용어는 물리적 버스 연결 인터페이스(1394 USB, 등)를 언급한다.
7) 장치 등급 : 이 용어는 정해진 장치의 집합체의 기본 기능을 설명하는 하나의 방법이다. 예를 들어, DVCR 장치의 등급은 테이프 매체에 데이터를 기록할 수 있다. 마찬가지로, 오디오 입력을 취하고, 몇몇 종류의 특정 효과를 수행하며, 또 수정된 오디오 스트림을 출력할 수 있는 많은 장치들이 있을 수 있다. 이들 장치는 오디오 프로세서 또는 유사한 것의 지배를 받게 될 수 있다. 이 개념의 유용성은 본 명세서에서 나중에 좀더 명백하게 될 것이다.
8) 장치 모델 : 이 용어는 표준 또는 일상 장치 정의를 구성하는 서브 장치와 연결의 집합을 언급한다. 물리적으로 개별적인 장치 내에서 억세스 가능한 개별 서브 장치는 장치 모델을 사용하여 논리적 또는 가상 장치를 형성하기 위해 조합될 수 있다.
9) 표준 장치 : 이 용어는 표준 모델 정의를 언급한다{예를 들어, DVCR 장치는 적어도 튜너 서브 장치와 VCR(트랜스포트) 서브 장치와 그 장치들 사이의 플러그로 구성되어 있다}
10) 특별 장치 : 이 용어는 표준 및 벤더 지정 서브 장치의 조합이나 표준 서브 장치로 구성되어 있는 벤더 지정 장치 모델을 언급한다. 예를 들어, 듀얼 데크 DVCR 은 두 VCR 서브 유닛을 가질 수 있는데, VCR 서브 유닛은 표준 아이템이지만 비표준 구성으로 되어 있다.
11) 집합 장치(Aggregate devices) : 이 용어는 여러 가지 성분으로부터 조합될 수 있는 논리 실체를 언급한다. 물리적 장치와 서브 장치는 하드웨어의 개별적으로 억세스 가능한 부분이다. 장치들이 억세스 가능한 서브 장치를 가질 때, 이 모델은 집합 장치를 지원하기 위해 확장된다. 집합 장치의 예들은 개별적인 물리적 장치로부터나 단일 장치 내의 서브 장치, 및 장치 그리고 서브 장치와 유사한 서비스나 성능을 제공하는 소프트웨어 코덱과 같은 소프트웨 어 모듈을 포함한다. 이들 모듈은 AV 네트워크 상의 동일한 노드에 모두 존재할 수 있거나 많은 노드 중에서 분포될 수 있다.
장치의 분류(Device classification)
장치가 수행하는 동작의 종류, 또는 장치가 처리하는 매체의 종류를 기초로 하여 장치를 분류하는 것은 미래에 생성되는 장치에 대하여 작용할 수 있는 일반화된 제어 API를 생성할 수 있게 하는 방법이다. 그 취지는 높은 퍼센트의 기본 기능이 장치의 제조사나 장치의 타입에 관계없이 항상 억세스 가능하게 하는 것이다.
제어 가능하지만 일반화된 제어 API 의 외부에 있는 임의의 제조사 특정 또는 장치 특정 기능은 DCM을 확장하기 위해 다른 기술과 SDD 정보를 통해서만 억세스 가능할 것이다.
대부분의 일반화 용어에서, 장치나 서브 장치의 분류는 주 기능으로 설명될 수 있다. 1394 표준의 AV/C 제어 프로토콜은 아래에서 채용하는 편리한 장치 분류 방법을 사용한다. 아래는 장치나 서브 장치를 분류하는데 사용되는 제 1 요소 세트이다.
1) 특정 장치가 트랜스포트 메커니즘을 구비하는지
2) 이 서브 장치의 유용성이 (신호가 변화없이 전파될 수 있다는 사실에도 불구하고) 신호가 여기에서 끝난다는 사실에 의하여 주로 정의되었는지
3) 특정 서브 장치가 신호 소스(예를 들어, 신호 소스가 신호 출력을 가진다면)인지
4) 특정 장치가 입력을 수용하고, 몇몇 종류의 프로세싱을 수행하고, 그후 수정된 데이터를 출력하는지
5) (장치가 위성 안테나를 위치시키기 위한 메커니즘과 같은 몇몇 종류의 실용 장치라면)임의 종류의 신호 입력이나 신호 출력은 없는지.
본 발명에 따라, 제 2 레벨의 분류에서, 트랜스포트 메커니즘을 포함하는 장치를 생각할 수 있다. 이 경우에, 일반적인 질문은 "이 장치는 제거 가능한 매체를 처리할 수 있는가?"일 것이다. 만약 그렇다면, 재생(), 정지(), 및 심지어 탐색()과 같은 기본적인 제어 세트가 적용된다. 매체를 갖는 장치는 매체 상에 정보 조직(the organization of information)을 결정하기 위해 기록하는 능력에 대해 질문을 받을 수 있다(이 정보는 트랙에 기초되어 있는가?, 테이프와 같이 연속인가?, 특정 위치로부터의 타임 오프셋, SMPTE 타임 코드는 어떻게 측정되는가?, 등).
본 실시예에서, 신호 프로세싱 서비스는 그 서비스가 수신할 수 있는 신호의 종류와 그 서비스가 결과적으로 생성할 수 있는 신호의 종류에 의해 설명될 수 있다. 이것은, 신호 타입을 설명하기 위한 공통정의의 확립과 서비스에 억세스하기 위한 방법을 필요로 하므로, 임의의 클라이언트는 찾고 있는 서비스의 종류가 무엇인지를 설명하는 방법과 그 서비스에 억세스 하는 방법을 알 수 있게 된다.
한 종류의 데이터를 수용하며 서로 다른 타입의 연결 상에 그 데이터를 전송하는 능력을 가지는 임의의 장치{예를 들어, 입력으로 디지털 비디오를 취하고, 그 데이터를 다시 전송할 수 있는 표준 아날로그 비디오 RCA 잭(jacks)을 구비한다}는 데이터 컨버터 등급으로 동작할 수 있다. 이들 장치를 위한 DCM은, 그 자신을 시스템 레지스트리에 데이터 컨버터로서 기록하게 되므로, 클라이언트가 이들 장치를 찾고 필요할 때 사용할 수 있다.
장치 억세스와 제어
본 발명에 따라, 기존 장치 분류가 이루어지면, 그 장치에 대해 설명된 일반 DCM 은 제어 메시지가 그 장치에 전송되게 하는 API를 제공할 것이다. 특정 장치 등급으로 (이벤트의 경우에) 전송되거나 수신될 수 있는 제어 메시지의 기저 세트는 (본 명세서의 본 판에서는 이용할 수 없는) 부록에서 표준화되어 있고 상세하게 되어 있다. 본 실시예에서, 이들 메시지는 DCM 으로 주어져 있는 기본 API를 나타낸다.
장치 관리(Device management)
본 발명에 따라, DCM API 는 또한 장치의 좀더 복잡한 관리를 가능하게 하는 보다 높은 레벨의 서비스 세트를 제공한다. 이것의 예는 장치 예약과 이벤트 관리(device reservation and event management)을 포함한다. 장치 예약의 경우에, 장치에 대한 요구는 장치에 대한 기존의 요구로 인하여 거절될 수도 있으며, 대안적으로, 이 장치 요구는 시간에 기초한 매크로(a time based macro)에 대해 미래의 예약으로 있을 수 있다. 이 경우에 DCM 은 애플리케이션이나 서비스가 DCM으로 요구를 대기하게 하는, 즉 장치를 예약하게 하거나 장치가 이용 가능하게 될 때 통지를 수신하게 하는 인터페이스를 제공한다.
연결 관리
본 발명의 DCM 은 또한 다른 객체가 장치들 사이의 연결 상태를 질문하게 하며 그 연결을 조종하게 하기 위해 높은 레벨 API를 제공한다. 이 API 는 루트 관리자에 의해 기본적으로 사용되지만, 시스템에서 임의의 객체도 이용 가능하다. 연결 관리는 서브 장치 유닛들 사이의 내부 연결과 장치들 사이의 외부 연결이 확립되게 한다. 연결 상태는 질문 받을 수 있으며 연결 성능(신호 포맷)도 질문 받을 수 있다.
SDD 관리(SDD management)
본 발명의 DCM 은 또한 SDD 관리에 일반화된 인터페이스를 제공한다. 이것은 장치에 있는 SDD 데이터가 질문 받게 하고 사용되게 한다. API 는 두 파트로 나뉘어 있는데, 파트 1 은 오버라이드 DCM 이나 장치의 UI를 나타낼 때 사용되는 기타 아이콘에 대한 위치의 장치 이미지(Device Image), 이름, 및 URL(이용 가능하다면)을 포함하는 SDD 데이터로부터 잘 알려진 정보를 얻기 위하여 API를 제공한다. SDD API의 파트 2는 장치의 기능 측면에 좀더 자세한 억세스를 제공하기 위한 것이다.
장치 표시와 사용자 인터페이스(UI)
본 발명에 따라, DCM 은 또한 장치의 UI 측면을 책임진다. 레벨 1 상호 운용성의 경우에, 일반 UI 는 사용자와 인터페이스 하기 위해 사용된다. 이것은 UI 아이콘과 같은 그러한 측면이 일반 DCM 에 의하여 구체화되고 억세스 되게 하는 기본 SDD 데이터로 증대될 수 있다. 본 발명의 불필요한 애매함을 피하기 위하여, DCM이 장치 지정 UI를 제시하기 위하여 UI 관리 시스템과 상호 작용하는 방법의 상세 사항은 자세하게 논의되지 않는다. 그러나, 본 실시예에서, 기본 모델은 DCM 내의 내부 관리 코드(internal management code)가 장치를 위한 UI를 제시하도록 UI 관리 시스템과 작용한다. 사용자 입력은 그후 UI 관리 시스템에 의하여 DCM에 전송되고, DCM 은 그후 그 입력을 장치 지정 명령으로 변환시킨다. 이들 명령은 기본 메시지 전송 시스템을 사용하여 장치에 전송된다. 응답이 수신되면, 이들은 DCM을 경유하여 UI에 까지 전송된다. 더욱이, 장치의 임의의 상태 변화 내용은, 예를 들어 온/오프는 이벤트 시스템을 경유하여 UI를 업데이트 하기 위해 상태 변경을 사용하는 DCM 에도 전송된다.
서비스 모듈
서비스 모듈{예를 들어, 서비스 모듈(730)}은 개념적으로 장치 제어 모듈과 유사하다. 이 모듈은 일반적으로 소프트웨어 만으로 제공되는 서비스에 인터페이스를 제공한다. 본 실시예에서, 서비스 모듈은 두 가지 타입, 즉 시스템 서비스와 애플리케이션 서비스로 되어 있다. 시스템 서비스는 HAVI 소프트웨어 구조의 일부로서 제공되는 이미 알려져 있는 서비스이다. 이들 서비스 타입의 예들은 데이터 포맷 변환기, 프로토콜 변환기 또는 그래픽스 서비스이다. 이들 서비스는 HAVI 구조의 일부로서 정의되어 있는 이미 알려져 있는 API를 가진다. 애플리케이션 서비스는 다른 서비스 객체를 위해 및 다른 서비스 객체에 의해 생성되어 있는 객체이다. 그러나, 이들 객체는 API가 일반이지 않은 이미 정의된 API를 제공한다. 본 실시예에서, 애플리케이션 객체를 사용하고자 하는 임의의 애플리케이션이나 다른 객체는 그 객체의 API와 콜링 세맨틱스(calling semantics)를 알 필요가 있다. 비록 요구되지 않을지라도, 일반적으로 시스템 서비스는 시스템의 라이프타임 동안 존재할 것이다. 애플리케이션 서비스는 애플리케이션의 라이프타임 동안 존재할 것이며 상당히 짧은 수명일 수 있다.
시스템 서비스
본 발명에 따라, AV 구조로 제공되는 많은 서비스는 시스템 레지스트리에 그 서비스를 기록하며 메시지 전송을 사용하여 억세스 될 수 있는 서비스 모듈로서 제공된다. 그러한 서비스의 예들은 장치가 사용자에게 UI를 제시하게 하기 위해 메커니즘을 제공하는 UI 서비스 모듈, 서로 다른 포맷 사이의 AV 데이터를 변환시키는 데이터 포맷 서비스이다.
DCM 관리자
개요
본 발명에 따라, DCM 관리자는 FAV 노드 상에 존재하는 DCM의 집합을 처리하는 모든 측면에 대하여 책임을 진다. 이것은 정해진 시스템에서 이용 가능한 모든 가능한 장치 제어 모듈 후보(all possible device control module candidate)를 발견하고, 설명하며, 배치하는 임무를 포함한다. 장치 자원 관리는 개별 DCM 에 의해 일반적으로 수행되지만, 다수의 장치나 서비스가 상호 작용하고 몇몇 DCM 이 서로 다른 FAV 노드 상에 위치되어 있는 경우, 더 높은 레벨 관리가 요구될 수 있다. 그러므로, DCM 관리자는 네트워크에 걸친 장치와 서브 장치 자원 할당 및 관리를 중재하기 위해 원격 노드의 다른 DCM 관리자와 통신한다. 그 책임은 아래에서 논의된다.
물리적 장치의 발견과 일람표(Discovery and enumeration of physical devices)
본 발명에 따라, DCM 관리자는 이용 가능한 장치의 초기 목록(a raw list)을 얻기 위해 기초 OS 서비스와 작용한다. 기초 버스 기술에 따라, 이 DCM 은 다이나믹할 수 있다는 것을 주목하자. 본 실시예에서, 예를 들어, 물리적 장치가 1394 버스 상에서 오고 갈 때, DCM 은 그 장치들과 오고 갈 것이다. 동일한 방식으로, 서비스와 집합 장치 DCM 도 다이나믹 하고, FAV 노드에서 이벤트에 반응하여 생성되고 파괴된다.
이 임무는 AV 구조의 요소와 FAV 호스트 OS의 요소, 노드 하드웨어와 통신 하드웨어와 모두 상호 작용하는 것을 필요로 한다. 이것으로 인해, 장치의 발견을 위해 요구되는 정확한 프로세스는 시스템 환경에 달려 있을 수 있다. 그러나, 하나의 장치와 그 장치가 자신의 특성을 발견하기 위해 포함하는 임의의 SDD 데이터에 질문을 하는 일반적인 방법은 DCM 섹션에서 논의된 바와 같이 공통이다. 본 실시예에서, 이것은 DCM 관리자가 시스템이 초기화될 때나 시스템이 변경할 수 있는 때(버스가 리셋될 때)에 정해진 시퀀스로 된 규칙 세트를 따를 것을 요구한다.
일반 DCM의 생성
본 발명에 따라, 각 노드에 대해 DCM 관리자는 DCM을 생성하여야 하는 지를 결정하기 위해 충분히 작용한다. 이 작업은 FAV 노드에 의하여 관리될 수 있는 모든 매체 관련 장치에 대해 수행될 수 있다. 본 실시예에서, 서로 다른 관리 기술하에 있는 장치, 예를 들어 USB 기반 장치는 USB 통신을 지원하는 노드 상에서 DCM이나 원격 관리 시스템에 대한 프락시로 동작하는 특별 DCM으로서 구조 내에 제시될 수 있다. 그러나, 하드 디스크와 같은 몇몇 USB 기반 장치는 사실 랜덤 억세스 매체 기록(random-access media recording)이나 재생 장치로서 간단히 나타나는 것으로 만들어질 수 있다는 것을 주목하여야 할 것이며, 이 경우에 그 장치들은 임의의 다른 "실제" 매체 장치와 같이 취급된다. 본 실시예에서, 각 매체 관련 실체(each media-related entity)에 대해 DCM 관리자는 일반 또는 레벨 1 DCM을 생성할 수 있다. 각 DCM 은 가능하다면 후에 스스로를 좀더 장치 지정이 되게 하는 책임을 가질 것이다. 이것은 아래에서 설명된다.
레벨 2 DCM의 통합
오버라이드(예를 들어, 레벨 2) DCM 이 이용가능하고 억세스 가능한 경우에, DCM 관리자는 그 DCM을 가지고 오는 것을 시도하며 그 DCM을 FAV 노드로 설치할 책임을 진다. 본 실시예에서, 오버라이드 DCM과 일반 DCM 이 상호 작용하는 방법의 상세 사항은 DCM 개발자(the DCM developer)에 달려 있다. 예를 들어, 몇몇 경우에, 그것은 디폴트 DCM을 완전히 교체하고 다른 경우에는 그 성능을 향상시키기 위하여 디폴트 DCM과 작용할 것이다.
본 발명에 따라, 제조사 공급 레벨 2 DCM 은 여러 가지 소스로부터 나올 수 있다. 장치들은 ROM이나 디스크나 테이프의 헤더와 같은 몇몇 다른 저장 메커니즘 내에서 그 DCM을 실행할 수 있다. 그 성능이 FAV 노드로 억세스 가능하다면, 그 DCM 은 웹 또는 ftp 사이트로부터 다운로드 될 수 있고 또는 그 DCM 은 디스크나 다른 저장 매체로부터의 설치를 통해 일반적인 컴퓨터 산업계의 방식으로 공급될 수 있다. 이 제조사가 공급하는 오버라이드 DCM 성능을 가능하게 하는 것은 DCM을 생성하고 설치하기 위한 모델을 필요로 한다. 본 실시예에서, 설치될 때, 레벨 2 DCM 은 추가 인터페이스를 제공하거나 기능 수정에 단지 우선하면서 동일한 기저 인터페이스를 레벨 1 DCM 으로서 클라이언트에 제공할 수 있다.
DCM 배치
본 발명에 따라, DCM 관리자는 적절한 시기에 DCM을 배치하고 DCM 이 제거되었다는 것을 클라이언트에 통지할 책임을 진다. 본 실시예에서, DCM 배치가 일어날 때에 대한 규칙과, DCM 및 DCM 관리자 사이에 정리에 대한 책임 분배는 특정 HAVI 네트워크의 지정 요구 사항에 대해 맞출 수 있다(tailorable).
다수의 DCM 사이의 조화(Coordinate Amongst Multiple DCMs)
다수의 DCM 중에서 몇몇 복합 서비스(some complex services), 예를 들어 복합 동작의 명령 대기 등은 이 동작을 수행하기 위해 다수의 DCM과 조화하는 DCM 관리자를 요구한다. 이것은 클라이언트에 제공되는 "명령 모델"에 의하여 영향을 받을 수 있다. 예를 들어, 클라이언트가 HH:MM:SS:FF 시간 코드에 기초하여 동작을 지정하게 하는 상위 레벨 API를 정의한다면, 우리는 이 시간 모델과 하드웨어나 기초 지원 모듈이 처리하는 것 사이를 번역해야 할 필요가 있다. 기계적 지연 등으로 인하여 영향을 받는 복합 시간 기반 동작은 설명되어야 할 필요가 있다는 것을 주목하여야 할 것이다. 이 타입의 조화는 네트워크에서 실시간 동작의 몇몇 개념을 요구하고 몇 레벨의 보증을 제공하는 물리적이고 소프트웨어적 기반 구조에 의존한다.
이제 도 8을 참조하면, 본 발명에 따른 하나의 HAVI 구조의 계층 논리 다이아그램(800)이 도시되어 있다. 다이아그램(800)에 도시되어 있는 성분은 다이아그램(700)에 도시되어 있는 성분과 유사하지만, 다이아그램(800)은 높은 레벨 프로세스가 아래부분(the bottom){예를 들어, 1394 모듈(830)}에 있는 낮은 레벨 프로세스에 대하여 윗부분(top){예를 들어, 애플리케이션(801)}에 있도록 조직된다. 다이아그램(800)은 또한 다른 서비스(810), 트랜스포트 적응 모듈(815), 및 다른 모듈(840)을 도시한다.
위에서 설명된 바와 같이, 전체적인 HAVI 구조는 통신 성분과 서비스 성분으로 도시될 수 있다. 구조에서 가장 높은 레벨에 있는 애플리케이션(801)은 서비스와 통신 성분{예를 들어, DCM(720), 서비스 모듈(730), 등}을 사용한다. 차례로, 다수의 서비스 성분{예를 들어, 서비스 모듈(730), DCM(720), 등}은 기초 통신 성분{예를 들어, 메시지 전송(702), 트랜스포트 적응 모듈(815), 등}을 사용할 수 있다. 예를 들어, 애플리케이션(801) 중 하나의 경우에, 레지스트리(706)를 통해 DVTR(디지털 비디오 테이프 레코더) 장치에 대한 처리를 요청하고, 그후 그 장치에 재생 명령을 전송하는 것이다. 위에서 설명된 바와 같이, HAVI 구조의 성분은 기초 메시지 전송 시스템을 사용하여 통신하는데, 즉 모듈은 메시지 전송 기능을 사용한다.
도 9 는 일 실시예의 HAVI 구조에서 국부 및 원격 메시지 전송의 다이아그램(900)을 도시한다. 메시지 전송 성분(702)은 국부 메시지 전송과 원격 메시지 전송 모두를 처리하는 것으로 도시되어 있다. 그리하여, 메시지 전송 성분(702)는 다이아그램(900)의 아래에 도시되어 있다. 국부 메시지는 여러 가지 애플리케이션(901 내지 904)으로 가는 화살표(902a, 903a, 904a)로서 도시되어 있다. 원격 메시지는 화살표(901b)로 도시되어 있다. 명료하게 하기 위하여, 다이아그램(900)에서와 이하의 논의에서, 메시지 전송 시스템을 경유한 국부 통신은 도시되어 있지 않으며, 오히려 국부 메시지 전송{예를 들어, 화살표(901a 내지 904a)}은 성분들 사이에 직접적인 기능 통화(direct functions calls)에 기초하여 있는 것처럼 도시되어 있다.
도 10 은 일 실시예의 HAVI 구조에서 1394를 경유하여 전송되는 메시지의 다이아그램(1000)을 도시한다. 다이아그램(1000)에서, 메시지 1{예를 들어, 화살표(820a)}은 DVTR 장치의 처리를 위해 {질문 API(the query API)를 경유하여} 애플리케이션(801) 중 하나로부터 레지스트리(706)로의 요청이다. 레지스트리(706)는 DVTR DCM 에 대한 처리를 메시지 2{예를 들어, 화살표(820b)}로 되돌려 보낸다. 이 처리는 메시지 전송 시스템에 사용되는 메시지 어드레스이다.
본 발명에 따라, 그후 애플리케이션은 DVTR 에 대한 DCM을 메시지 3(예를 들어, 820c)으로 불러오기 위해 이 처리를 사용한다. DCM 은 재생 호출의 애플리케이션 불러오기를 메시지 전송 성분, 메시지 4{예를 들어, 화살표(820d)}로 전송되는 내부 명령으로 변환시킨다. 이 내부 명령은 레벨 1에서 잘 정의된 명령 세트의 일부인데, 즉 이 명령은 HAVI 명령이다. 그후 메시지 전송 성분(702)은 이 장치가 어느 버스에 존재하는지를 결정하기 위해 이 처리 정보를 내부적으로 사용한다. 이 성분이, 이 장치가 IEEE 1394 버스 상에 있다는 것을 발견할 때, 이 성분은, FCP 패킷의 데이터부에 위치되어 있는 메시지를 1394 패킷, 메시지 5{예를 들어, 화살표(820e)}로 변환하기 위해 IEEE 1394 트랜스포트 적응 모듈(TAM)(830)을 사용한다. TAM은 그후 1394를 통해 메시지를 전송하기 위해 1394 장치 드라이버, 메시지 6{예를 들어, 화살표(820f)}를 호출한다.
수신측(도시되지 않음)에서, 이 메시지는 1394 장치 드라이버에 전달될 수 있고, 그후 1394 TAM을 통해 메시지 전송 성분으로도 전달된다. 메시지 전송 성분은, 이 성분이 메시지 대기열이나 되호출 기능(a message queue or callback function)을 통해 직접 수신 코드로 전달할 수 있는 HAVI 메시지 패킷을 수신할 수 있다. 본 실시예에서, 만약 수신 장치가 IAV 장치라면, 이 장치는 CCEP 구조의 통신 성분과 레지스트리만 가질 수 있다. 이 장치가 가지는 임의의 다른 기능은 해당 장치에만 지정된(device-specific) 것일 수 있다.
도 10에 있는 이전의 예는 메시지 전송 시스템과 장치를 제어하기 위해 사용되는 명령 세트 사이의 HAVI 구조의 차이를 도시한다는 것을 주목하여야 할 것이다. 본 발명에 따라, 메시지 전송 시스템은 그 내용이 메시지 전송 시스템에 완전히 투명하지 않은 데이터 섹션에 메시지 패킷을 제공하는 일반 메시지 전송 메커니즘이다. 예를 들어, 메시지 전송 시스템은 전용 애플리케이션 대 애플리케이션 명령, AVC-CTS 명령, CAL 명령 또는 임의의 다른 명령을 수반할 수 있다. DCM 은 원격 장치와 통신하는 책임이 있는 실체이며, 그 장치에 지정되는 명령을 수반하는 메시지 전송 시스템을 사용한다. 레벨 1 HAVI 호환 장치에 대해, 메시지 전송 시스템이 수반하는 명령 세트는 CCEP 구조의 일부로 정의된다. DCM과 DCM 이 제어하는 장치들 사이에 메시지 전송 시스템이 수반하는 메시지는 이들 잘 정의된 명령을 포함한다. 확장된 명령 세트가 정의되어 있지 않은 레벨 2 장치에 있어, 이들 명령 세트는 순수한 AV/C-CTS, CAL, 또는 임의의 다른 명령일 수 있다.
이제 도 11을 참조하면, HAVI 구조의 일 실시예에서 다른 애플리케이션을 불러오는 애플리케이션의 다이아그램(1100)이 도시되어 있다. 다이아그램(100)은, 별도의 장치(1102) 상에서 실행되는 애플리케이션(801b)으로 메시지(1105)를 메시지 전송 시스템(702a 및 702b)을 통해 전송하는 장치(1101) 상에서 실행되는 애플리케이션(801a)을 도시한다. 위에서 설명된 바와 같이, HAVI 네트워크 내에서 실행되는 임의의 애플리케이션은 그 애플리케이션이 그 애플리케이션에 대한 메시지 처리 기능을 갖는 경우 임의의 다른 애플리케이션에 억세스 할 수 있다. 메시지 처리 기능을 얻기 위해, 동일한 프로세스가 (예를 들어, 위의 도 10에서 설명된) 원격 IAV 장치에 대해서도 사용된다. 일단 메시지 처리 기능을 이용 가능하면, 소스 애플리케이션(801a)은 메시지(1105)를 표적 애플리케이션(801b)으로 전송할 수 있다. 위에서 설명된 바와 같이, 이 메시지의 포맷은 전적으로 그 애플리케이션에 달려 있고, CCEP 구조에는 아무 관련이 없다. 이것은 단순히 애플리케이션 사이의 수신 메시지를 전송하는 통신 메커니즘을 제공한다.
위의 예에서, 애플리케이션(801a 및 801b)은 서로 다른 AV 장치(1101 및 1102)에 존재한다고 가정하고 있다. 그러나, 이전에 논의된 바와 같이, 이들 애플리케이션(801a 및 801b)이 동일한 AV 장치에 존재할 수 있고 그래서 그 메시지 전송 시스템이 메시지를 전송하는데 1394를 사용하는 호가 아니라 순수한 국부 통신호를 수행할 수 있다는 것도 가능하다.
소프트웨어 서비스 불러오기
소프트웨어 서비스는 위의 일반 애플리케이션 경우의 특수한 경우이다. 본 발명에 따라, 소프트웨어 서비스는 시스템 기반 구조의 일부인 단순 애플리케이션이다. 이 경우에, 모듈이 시스템 서비스, 예를 들어, UI 성분을 불러오기를 원할 때, 모듈은 불러오기를 위해 메시지 전송 성분을 사용한다. UI 성분이 국부적이라면, 호는 하나의 AV 장치 내에 완전히 포함되어진다. 그러나, UI 성분이 원격에 있다면, 호는 1394 네트워크를 통해 원격 AV 장치로 경로 지정될 것이며, 이것은 메시지 시스템이 그 호를 UI 시스템 서비스로 전송하는 경우이다.
새로운 장치를 HAVI 네트워크에 추가하기
새로운 장치를 HAVI 네트워크에 추가할 때, 3 가지 일반적인 경우가 있는데, 비 1394 네트워크(a non 1394 network)를 통해 전달되는 레거시 프로토콜을 사용하여 레거시 장치를 처리하는 경우, 1394 네트워크를 통해 비 HAVI 프로토콜(a non HAVI protocol)을 사용하여 기저 장치를 처리하는 경우, 및 HAVI 호환적(HAVI compliant)인 새로운 IAV 장치를 처리하는 경우이다.
레거시 장치를 추가하는 경우에, 본 실시예에서, 레거시 장치는 FAV 노드로 단지 직접 제어될 수 있다. 위에서 설명된 바와 같이, 각 레거시 장치에 대해 레거시 DCM 이 생성되어야 한다. 1394 포트와 에터넷 포트(Ethernet port)를 구비하는 FAV를 고려해보자. CMM 모듈은 1394와 에터넷을 모두 관리하도록 구성되어 있을 것이다. 레거시 장치가 FAV로 알려지게 될 때, 이 장치는 CMM 모듈로 먼저 알려지게 될 것이다. 이것을 달성하는데 사용되는 메커니즘은 CCEP 구조의 범주 내에 있지 않다는 것을 주의하자. 이것은 통신 매체에 따른 지정 사항이다. 일단 CMM 이 새로운 장치를 인식하면, CMM 은 이 장치의 타입을 결정하는데 CMM이 어떤 매체 지정 메커니즘을 사용하는지를 철저히 조사할 것이다. 다시, 이것은 CCEP 구조의 일부가 아니다. 종국적으로, CMM 은 이 장치에 대해 레거시 DCM을 설명하도록 DM 에 질문을 할 것이다. FAV 노드는 이 DCM과 미리 구성(preconfigure)되어 있다는 것이 가정되어 있다.
본 실시예에서, 일단 DCM 이 생성되면, DCM 은 임의의 표준 DCM 과 동일한 방식으로 자신을 기록한다. 그러나, 이 DCM 과 다른 DCM 사이의 하나의 결정적 차이는 레거시 장치를 제어하는데 사용되는 명령 세트와 통신 모델이 CCEP 구조에 완전히 알려져 있지 않다는 것이다. 예를 들어, 그 장치는 프린터 서비스를 구현하는 IP 장치인 것도 가능하다. 이 경우에, DCM 은 프린트(Print), 상태(Status) 등과 같은 명령 세트를 제공할 것이다. 애플리케이션이 프린트 요청으로 DCM API를 부를 때, 프린트 명령은 IP 스택(IP stack)을 통해 DCM에 의하여 프린터 장치로 전송될 것이다. 이것이 일어나는 방법에 대한 실제 세부 사항은 구현예에 지정된다.
본 발명에 따라, 하나의 가능성은 레거시 DCM 이 DCM 내의 IP 스택을 완전히 구현하며 에터넷 장치 드라이버와 결합하는 방법을 아는 것이다. 다른 하나의 가능성은 FAV 장치가 소켓과 같은 높은 레벨의 API와 IP 스택을 제공하는 것이다. 이들은 FAV 구현 세부 사항이고 CCEP 구조의 일부가 아니다. 그러나, 레거시 DCM 은 "프락시" DCM 으로 동작하고 있다는 것도 주의해야 할 것이다. 일단 이 DCM 이 레지스트리에 기록되었다면, 이 DCM 은 가정용 네트워크에 있는 모든 다른 모듈에도 보여 질 수 있다. 다른 모듈은 모두 그 API를 불러낼 수 있으며 그 장치는 에터넷 IP 프린터의 전용 명령 언어로 필요한 변환을 수행한다.
기저 AV 장치(a base AV device)를 추가하는 경우에, 본 실시예에서 CMM 이 새로운 장치를 알게 될 때, 이 장치가 CCEP 노드가 아니라는 것을 인식하지만 DCM 이 이 장치에 이용 가능하다는 것을 발견한다. 이 경우에, CMM 은 DCM을 업로드 하게 하고 DM이 DCM을 생성하게 요청하는 메커니즘을 구현할 책임을 진다. 그러나, 일단 DCM 이 설명되면, DCM 은 그 장치에 억세스하고 그 장치를 제어하는데 순수한 전용 통신 메커니즘을 사용한다. 위에서 설명된 바와 같이, 본 실시예에서, 기저 AV 장치는 1394를 사용하고 오버라이드 DCM을 구현하는 장치이지만 CCEP 구조의 어느 것도 구현하지는 않으며 레벨 1 HAVI 명령을 실시하지도 않는 장치다. 이 장치의 예는 오버라이드 DCM을 포함하지만 CCEP 통신 기반 구조를 지원하지 않는 장치일 수 있다.
IAV 장치를 추가하는 경우에, 이전의 예에서, 한 애플리케이션은 자신이 통신하기를 바라는 장치에 대해 메시지 처리 기능을 얻기 위해 레지스트리에 질문을 하였다. FAV 장치에 대해, 되돌아온 처리는 DCM 에 억세스하는데 항상 사용된다는 것에 주의한다. 메시지를 직접 그 장치로 전송하는 것은 가능하지 않다. 네트워크에 추가되는 장치가 어떻게 레지스트리를 통해 이용 가능하게 되는지를 이해하기 위해, 이하의 예가 사용된다.
예를 들어, 새로운 장치(예를 들어, 캠코더)가 HAVI 네트워크(예를 들어 1394 기반의 네트워크)로 플러그된다고 가정해 보자. 이것은 버스 리셋을 일으킨다. 이 버스 리셋은 IRD 상의 통신 매체 관리자(CMM)에 의해 처리된다. CMM 은 그 성능을 찾기 위해 캠코더 장치의 SDD 데이터에 질문을 할 책임을 진다. 그 장치가 레벨 1 장치라고 가정하면, 즉 그 장치가 업로드 가능한 DCM을 가지고 있지 않다면, CMM 은 그 장치 관리자에게 새로운 장치가 설치되어졌다는 것을 알려 준다. 이 장치 관리자는 이 타입의 장치에 대한 새로운 DCM을 생성하고 레지스트리에 DCM을 기록한다. 초기화할 때, DCM 은 그 장치에 대하여 더 많은 정보를 찾기 위해 그 장치에 직접 질문하며 필요한 경우 장치를 상세하게 기술하는 것도 가능하며, 예를 들어 DCM 은 UI 정보가 장치 내에 존재하는 경우 UI 정보에 억세스 할 수 있다. 일단 DCM 이 레지스트리에 기록되면, 임의의 다른 모듈이 그 장치에 대한 처리를 하기 위해 레지스트리에 질문을 하며 그 장치에 억세스하고 그 장치를 제어하며 UI를 사용자에게 제시하기 위해 DCM과 통신할 수 있다.
예를 들어, 도 12a 및 도 12b는 그러한 장치(예를 들어, 캠코더)에 대한 (예를 들어, TV 스크린 상의) 예시적인 UI 디스플레이를 도시한다. 도 12a 는 본문 메뉴 디스플레이를 도시하는데, 제어 명칭과 제어 값(the control names and control values)을 사용하여 수정할 수 있는 여러 가지 제어 내용이 사용자에게 주어진다. 사용자는 (버튼을 누르는 것에 해당하는) 버튼을 선택할 수 있다. 도 12b 는 캠코더에 대한 "그 다음 레벨"의 UI 디스플레이를 도시한다. 여기에서, 사용자는 도 12a에 있는 메뉴로부터 주 패널(the main panel)을 선택하였고 디스플레이는 제어 대상의 그룹 지정 정보(grouping information)에 기초하여 제어 내용을 제시한다. 본 실시예에서, 그룹 명칭은 사용자가 선택된 패널 내의 그룹들 사이를 항해하게 하는 탭이 달린 인터페이스(a tabbed interface) 상에서 사용된다.
이제 도 13을 참조하면, 본 발명의 일 실시예에 따라 프로세스(1300)의 흐름도가 도시되어 있다. 프로세스(1300)는 각 장치에 저장되어 있는 SDD 정보를 사용하여 HAVI 네트워크에서 다수의 장치의 경계없는 상호 운용성과 통합성을 제공하는 방법의 단계를 도시한다. 프로세스(1300)는 새로운 장치가 HAVI 네트워크에 연결되는 단계(1301)에서 시작한다. 단계(1302)에서, 그 장치에 의해 지원되는 레벨 1 기능의 설명(예를 들어, SDD)을 얻기 위해 그 장치는 질문을 받는다. 단계(1303)에서, 레벨 1 기능을 구현하는 레벨 1 DCM 은 SDD 에 기초한 장치에 대해 생성된다. 단계(1304)에서, 장치 관리자는 새로운 장치가 레벨 2 DCM 에 대해 소프트웨어를 포함하는지를 결정한다.
도 13을 계속 참조하면, 단계(1305)에서, 새로운 장치가 레벨 2 기능을 실시하는 소프트웨어를 포함한다면, 그 소프트웨어는 그 장치로부터 검색되고, 단계(1306)에서 레벨 2 기능을 구현하는 레벨 2 DCM은 그 소프트웨어를 사용하여 생성된다. 단계(1307 및 1308)에서, 그 장치는 레벨 2 DCM을 통해 계속적으로 억세스 된다. 단계(1309 및 1310)에서, 새로운 장치가 레벨 2 DCM에 대해 소프트웨어를 포함하지 않는다면, 새로운 장치는 계속적으로 레벨 1 DCM을 통해 억세스 된다. 이 방식으로, 레벨 1 DCM 과 레벨 2 DCM 의 조합은 본 발명으로 하여금 새로운 장치의 경계 없는 상호 운용성과 통합성이 네트워크 내 다수의 장치에 제공되게 하여 준다.
도 14 는 본 발명의 일 실시예에 따른 프로세스(1400)의 흐름도를 도시한다. 프로세스(1400)는 HAVI 네트워크에서 다수의 장치들 사이의 기본 명령 기능과 확장된 명령 기능(a basic command functionality and an expanded command functionality)을 제공하는 방법의 단계를 도시한다. 단계(1401)에서, 하나의 장치가 FAV 장치를 포함하는 HAVI 네트워크에 연결된다. 단계(1402)에서, 그 장치에 대한 일반 레벨 1 DCM 은 FAV 장치에 의해 생성된다. 위에서 설명된 바와 같이, 일반 레벨 1 DCM 은 그 장치의 성능에 대한 기본적 추출(a basic abstraction)이다. 일반 레벨 1 DCM 은 그 장치가 FAV 장치로부터 기본 명령 세트에 응답하게 한다. 단계(1403 및 1404)에서, FAV 장치는 일반 DCM을 사용하여 그 장치가 설명 정보(예를 들어, SDD)를 포함하는지를 결정하기 위해 그 장치에 질문한다. 위에서 설명된 바와 같이, 설명 정보는 그 장치의 성능을 설명한다. 단계(1405)에서, 그 장치가 설명 정보를 포함한다면, FAV 장치는 그 설명 정보에 기초하여 일반 DCM을 수정하여 그 장치에 대하여 파라미터화된 DCM을 생성한다. 단계(1406 및 1407)에서, 그 장치는 그 파라미터화된 레벨 1 DCM을 사용하여 계속 제어된다. 단계(1408 및 1409)에서, 그 장치가 설명 정보를 포함하지 않는다면, FAV 장치는 일반 레벨 1 DCM을 통해 계속 제어된다.
이제 도 15를 참조하면, 본 발명의 일 실시예에 따른 프로세스(1500)의 흐름도가 도시되어 있다. 프로세스(1500)는 HAVI 네트워크에서 장치의 미래의 업그레이드 가능성과 확장 가능성(future upgradability and expandability)을 확보하는 방법의 단계를 도시한다. 단계(1501)에서, 네트워크에 연결된 장치에 대한 디폴트 레벨 1 DCM 이 생성된다. 위에서 설명된 바와 같이, 디폴트 레벨 1 DCM 은 HAVI 네트워크 상의 장치와 다른 장치 사이의 적어도 최소한의 상호 운용성(at least a minimum degree of interoperability)을 보장하도록 구성된다. 단계(1502)에서, 그 장치는 디폴트 레벨 1 DCM을 통해 다른 장치에 의해 억세스 된다. 위에서 설명된 바와 같이, 디폴트 DCM 은 제 1 장치(the first device)가 HAVI 네트워크 상의 다른 장치로부터 디폴트 명령 세트에 응답하도록 한다. 단계(1503)에서, 그 장치에 대한 업데이트된 레벨 1 DCM이 수신되거나 수신되지 않는다. 단계(1504)에서, 그 장치에 대하여 업데이트된 레벨 2 DCM 이 수신되거나 수신되지 않는다. 위에서 설명된 바와 같이, 그 업데이트는 그 장치의 성능과 기능(the device's capabilities and functionality)이 (예를 들어, 새로우며 좀더 효과적인 소프트웨어가 이용 가능한 바와 같이) 진화되게 한다.
업데이트 된 레벨 1 DCM 이 수신되는 단계(1509 및 1508)에서, 그 업데이트 된 레벨 1 DCM 이 병합되며(예를 들어, 이것은 현 레벨 1 DCM을 단지 수정하는 것을 포함할 수 있다), 그 장치는 차후의 업데이트가 이용 가능하기 까지 이 DCM을 통해 계속 억세스된다. 업데이트 된 레벨 2 DCM 이 수신되는 단계(1505)에서, 호스트 FAV 장치 상의 DCM 관리자는 현 DCM을 링크 해제하며, 또 단계(1506 및 1507)에서 업데이트 된 레벨 2 DCM 이 링크되고 레지스트리가 업데이트 되어 HAVI 네트워크 내의 다른 장치가 업데이트 레벨 2 DCM 에 억세스되게 해준다. 이 DCM 은 차후의 업데이트 레벨 2 DCM 이 수신되기 까지 그 장치에 억세스하는데 계속 사용된다. 단계(1510)에서, 업데이트 레벨 1 DCM 또는 업데이트 레벨 2 DCM 중 어느 것도 수신되지 않는다면, 프로세스(1500)는 현 DCM(예를 들어, 최종 설치된 DCM)과 계속 동작한다.
도 16 은 본 발명의 일 실시예에 따라 프로세스(1600)의 흐름도를 도시한다. 프로세스(1600)는 HAVI 네트워크에서 HAVI 호환 장치에 레거시 장치의 경계없는 상호 운용성과 통합성을 제공하는 방법의 단계를 도시한다. 프로세스(1600)는 레거시 장치가 HAVI 네트워크에 연결되는 단계(1601)에서 시작한다. 단계(1602)에서, 레거시 장치는 독점 프로토콜을 통해 레거시 장치의 기본 성능 세트를 결정하기 위해 질문을 받는다. 위에서 설명된 바와 같이, HAVI 호환 장치는 공통 HAVI 정의된 프로토콜(a common HAVI defined protocol)을 사용한다. 이 레거시 장치는 독점 프로토콜을 사용하여 (적어도 있다면) 외부 장치와 일반적으로 통신한다. 단계(1603)에서, 프로세스(1600)는 공통 프로토콜로부터의 기본 명령 세트를 레거시 장치의 기본 성능 세트로 매핑한다. 단계(1604)에서, 레거시 장치에 대한 레벨 1 DCM 이 생성된다. 위에서 설명된 바와 같이, DCM 은 기본 명령 세트에 기초한다. 단계(1605 및 1606)에서, 레거시 장치는 다른 HAVI 장치가 레거시 장치의 기본 성능 세트에 억세스 할 수 있도록 레벨 1 DCM을 경유하여 계속적으로 억세스 된다.
도 17a는 본 발명의 일 실시예에 따라 프로세스(1700)의 흐름도를 도시한다. 프로세스(1700)는 외부 서비스 제공자(an external service provider)로부터의 애플리케이션 프로그램을 사용하여 가정용 오디오/비디오 네트워크 내의 장치를 제어하는 방법의 단계를 도시한다. 단계(1702)에서, 애플리케이션 프로그램은 (예를 들어, 케이블 TV, 인터넷 웹 사이트, 등을 통해)서비스 제공자에 의해 생성된다. 단계(1703)에서, 서비스 제공자는 서비스 제공자로부터의 애플리케이션 프로그램을 논리 채널을 통해 HAVI 네트워크의 지능 수신기/디코더 장치에 전달한다. 이 애플리케이션은 지능 수신기/디코더의 컴퓨터 판독 가능 메모리 유닛 내에 후속하여 설명된다.
도 17a를 계속 참조하면, 단계(1704)에서 애플리케이션 프로그램은 네트워크 상에 DCM을 위치시키기 위해 그 장치(예를 들어, FAV 장치)의 HAVI 레지스트리에 질문을 하고 레지스트리로부터 각 DCM을 선택한다. 단계(1705)에서, 다운 로드 된 애플리케이션은 선택된 DCM 으로부터 통신 지점 정보(a communications point information)를 결정한다. 단계(1706)에서, 애플리케이션은 통신 지점 정보를 사용하여 각 장치와 통신하여 HAVI 네트워크의 각 장치를 제어한다. 단계(1707)에서, 애플리케이션이 다른 장치를 제어하고자 한다면, 단계(1704 내지 1706)가 반복된다. 애플리케이션이 다른 장치를 제어할 필요가 없다면, 프로세스(1700)는 단계(1708)에서 끝난다.
도 17b는 도 17a의 프로세스(1700)에 따라 서비스 제공자(1720)와 함께 HAVI 네트워크(1750)의 다이아그램을 도시한다. 위에서 설명된 바와 같이, 애플리케이션 프로그램은 서비스 제공자(1720)로부터 HAVI 네트워크(1750)로 다운로드 된다. 애플리케이션은 지능 장치{예를 들어, 셋탑 박스(301)}의 프로세서(601)와 메모리(602)에 설명된다. HAVI 네트워크(1750)는 또한 4 개의 HAVI 장치들, 즉 장치(0) 내지 장치(3)(예를 들어, TV, DVTR, 등)를 포함한다.
DCM 관리 API
본 발명의 일 실시예에 따라 일례인 DCM 관리 API 가 아래에 도시되어 있다. 본 실시예에서, 공통 DCM 명령은 그 장치와 그 장치의 플러그 등에 대한 연결 관리, 정보 및 상태 질문과 같은 영역을 포함한다. DCM으로 나타나 있는 장치의 타입에 관계없이, 그 메시지 세트는 지원되어야 할 필요가 있다.
아래의 내용은 본 실시예에서 모든 DCM 이 HAVI 구조를 지원해야 할 필요가 있는 DCM 관리 메시지의 리스트이다.
채널 용도(ChannelUsage)(플러그);// 지정된 유닛 플러그에 의하여 사용되는 1394 등시 채널로의 복귀
플러그 용도(PlugUsage)(채널);// 지정된 채널과 연관된 플러그로의 복귀.
장치플러그카운트입수(GetDevicePlugCount)(카운트);// 그 장치 상의 유닛 플러그의 개수로의 복귀
내부 연결 확립(EstablishInternalConnection)(소스 플러그, 목적플러그)(sour-
cePlug, destPlug);
외부 연결 설정(EstablishExternalConnection)(소스 플러그, 목적플러그)
데이터흐름시작(StartDataFlow)(플러그);
데이터흐름정지(StopDataFlow)(플러그);
소스연결입수(GetSourceConnection)(목적플러그 안에, 소스 밖에)(in dest, out source);//목적 플러그가 주어지면, 그 플러그가 연결되는 소스로 복귀(동일한 등시 채널을 공유하는 전송 장치의 소스 플러그의 복귀)
목적연결입수(GetDestinatioConnection)(소스 안에, 밖에)(in source, out);
모든연결입수(GetAllConnection)();
연결변경통지(NotifyOnConnectionChange)();
동적연결성능입수(GetDynamicConnectionCapability)();// 대상 장치가 동적 연결 변화를 지원하는지 여부를 보고(예를 들어, 비-1394 장치)
로크연결(LockConnection)(플러그);
언로크연결(UnlockConnection)(플러그);
연결상태입수(GetConnectionStatus)(플러그);// 상태=사용중, 데이터 전송 포맷, 채널, 대역폭 용도, 등.
내부연결단절(BreakInternalConnection)(플러그);
외부연결단절(BreakExternalConnection)(플러그);
입력신호포맷입수(GetInputSignalFormat)(플러그);
입력신호포맷설정(SetInputSgnalFormat)(플러그);
입력신호포맷통지(NotifyInputSignalFormat)(플러그);// 신호 포맷이 변화되면 통지문 전송
지원되는입력신호포맷입수(GetSupportedInputSignalFormats)(플러그);// 출력 신호에 대해 위의 것을 반복
기능정보입수(GetFunctionInfo)();//장치(예를 들어, AV/C 서브유닛) 내의 기능 모듈에 대한 정보 복귀
장치타입입수(GetDeviceType)();
벤더명칭입수(GetVendorName)();
벤더로고입수(GetVendorLogo)();
장치전력상태설정(SetDiviePowerState){전력상태(powerstate)};
장치전력상태입수(GetDevicePowerState){전력상태(powerstate)};
지원되는전력상태입수(GetSupportedPowerStates){리스트(list)};
전력상태통지(NotifyPowerState){전력상태(powerstate)};
예비장치(ReserveDevice)();
장치예비상태입수(GetDeviceReservationStatus)();
장치예비상태통지(NotifyDeviceReservationStatus)();
벤더종속명령(VendorDependentCommand){명령파라미터(command parameters)};// 고유 프로토콜에서 벤더 지정 명령을 통해 전송
기능제어모듈(FCM : Function Control Module) 메시지;
기능이 지정되는 메시지는 장치 내의 VCR 기능을 위하여 재생(PLAY), 정지(STOP), 되감기(REWIND)와 같은 일반적인 고유 명령에 해당한다. 우리는 이들 메시지를 장치 내의 잘 정의된 위치에 주소 지정 해야 할 필요가 있기 때문에, 이들 메시지의 대상을 나타내기 위해 FCM(Function Control Module)을 사용한다. DCM 과 같이, 여기에는 FCM의 운영과 관리(administration and management)를 처리해야 하는 몇몇 메시지가 있다. 이들 메시지는 특정 도메인에 독립적인, 모든 FCM으로 지원된다. 이 메시지는 아래와 같다.
기능타입입수(GetFunctionType)(); II VCR, 튜너, 디스크, 등
기능정보입수(GetFunctionInfo)();// 특정 종류의 디스크 플레이어(DVD, CD, 등)와 같은, 기능에 대한 좀더 세부적인 정보
플러그번호입수(GetNumberOfPlugs)(입력플러그 출력플러그);// 기능 모듈에 대한 소스의 번호와 목적 플러그의 복귀
기능상태입수(GetFunctionStatus);// 소스와 목적 플러그(입력과 출력)의 상태를 포함하는 기능 모듈의 현 상태
전력상태입수(GetPowerState)(전력상태);// 기능 모듈은 개별적으로 제어 가능한 전력 상태를 가질 수 있다
전력상태설정(SetPowerState)(전력상태);
지원되는전력상태입수(GetSupportedPowerStates)(리스트);
지원되는데이터포맷입수(GetSupportedDataFormats)(리스트);//이 기능 모듈로 지원되는 데이터 포맷의 복귀
고유명령(NativeCommand){파라미터(params)};//고유 명령 프로토콜의 명령어를 기능 모듈로 전송(send the functional module a command in its native command protocol)
기능적 도메인 메시지는 기능의 타입(VCR, 튜너, 등)에 기초한다. 이들은 예상해 볼 수 있는 일반적 재생, 정지, 되감기 명령이다.
레벨 I 상호 운용성은 장치대장치와 인간대 장치의 상호 작용 모두를 포함한다. 재생, 정지, 및 되감기와 같은 기능 메시지 세트는 장치대장치 상호 작용에 사용된다. 하나의 이러한 예는 임의의 VCR 타입을 제어하고자 하는 비디오 편집 소프트웨어 패키지일 수 있으며, 이 프로그램은 모든 VCR에 적용되는 사용자 인터페이스 제어의 아주 특정한 세트로 되어 있다. 사용자가 애플리케이션과 상호 작용할 때, 애플리케이션은 차례로 재생과 정지와 같은 도메인 지정 명령을 대상 장치에 전송한다.
HAVI 구조에서, 애플리케이션은 이 메시지를 DCM에 전송할 것이며, DCM 은 이 메시지를 대상 BAV 장치의 고유 언어로 번역할 것이다. 대상 장치가 HAVI 메시지 전송 구조를 지원하게 된다면, 이 명령은 전혀 번역될 필요가 없다. 그 명령은 단순히 HAVI 메시지로서 HAVI 대상에 전송된다.
캠코더 장치는 본질적으로 VCR 과 같다. 그 추가적인 기능은 캠코더 효과, 변환(transitions), 등의 일부이다. 그 기능은 다음과 같다.
정지(stop)()
재생(play)()
되감기(rewind)()
앞으로 감기(forward)()
녹화(record)()
볼륨(volume){값설정(setvalue)}
상태변경(changeStatus){새로운모드(newMode)}// VTR, 카메라(CAMERA), 대기(STANDBY)의 새로운 모드
카메라제어(cameraControl){제어타입(controlType)}//제어타입은 제어 타입과 서브 타입 구조 예를 들어 줌(zoom), 줌값(zoomValue), 또는 효과(Effect), 변환5(transition5) 등을 정의한다.
미니 디스크는 카테고리 랜덤 억세스 저장 장치이며, 그 미니 디스크는 재생, 앞으로 감기, 등을 제어하기 위해 기본 명령 세트와, 랜덤 억세스 매체에 지정되는 명령 세트를 지원한다. 이 명령은 다음과 같다.
정지(stop)()
재생(play)()
되감기(rewind)()
앞으로감기(forward)()
녹화(record)()
볼륨(volume){값설정(setValue)}
상태변경(changeStatus){새로운모드(newMode)}//대기의 새로운모드(newMode of : STANDBY)
찾기(seek){추적(track)}
찾기시작(seekstart)()
찾기종료(seekEnd)()
디스크정보입수(getDiskInfo)()
엠디제어(mdControl){제어타입(controlType)}//제어타입은 제어 타입과 서브 타입 구조, 예를 들어 인트로 모드, 랜덤 재생을 정의한다(controlType defines control Type and subType structures eg intro mode, random play).
하드 디스크는 카테고리 랜덤 억세스 저장 장치이며, 그 하드 디스크는 재생, 앞으로 감기, 등을 제어하기 위해 기본 명령 세트와 랜덤 억세스 매체에 지정되는명령 세트를 지원한다. 그 명령은 다음과 같다.
정지(stop)()
재생(play)()
되감기(rewind)()
앞으로감기(forward)()
녹화(record){타입(type)}//타입 구조는 지능 장치가 저장 방법 변경 상태(storage policy changestatus)(새로운모드)를 최적화하게 하기 위해 정보를 전송한다//대기의 새로운모드(newMode of: STANDBY)
찾기(seek){추적(track)}
찾기(seek){블록(block)}
찾기시작(seekStart)()
찾기종료(seekEnd)()
HDD제어(HDDControl){제어타입(controlType)}//제어타입은 제어 타입과 서브타입 구조 예를 들어 블록 구조에 대한 레이아웃 명령을 정의한다(controlType defines control Type and subType structures eg layout commands for block-structures)
사용자 인터페이스에 대하여, 일반적이며 단순한 UI 가 도 12a에 도시되어 있는 바와 같이 텍스트 기반 UI(a textual based one) 일 수 있다는 것을 이해할 수 있을 것이다. DCM 전문화(DCM specialization)에 기초한 좀더 복잡한 UI는 도 12b에 도시되어 있는 것일 수 있다. SDD에서 전달되는 그래픽 정보가 자체적으로 전문화하기 위하여 일반 DCM에 의하여 사용되는 경우이다.
그리하여, 본 발명은 가정용 네트워크에서 가전 장치(CE 장치)를 상호 동작시키기 위한 개방형 구조를 정의하는 가정용 오디오 비주얼(AV) 네트워크를 제공한다. 본 발명의 상호 운용성의 측면은 임의의 제조사로부터의 CE 장치도 사용자의 가정용 AV 시스템 내에서 경계없이 상호 동작하고 기능하게 해 주는 구조적 모델을 정의한다. 본 발명의 시스템은 새로운 특성과 새로운 CE 장치가 가정용 AV 네트워크 내에 전개될 때 기반 제어 프로토콜을 확장하는 방법으로 일반 장치 제어의 기저 세트의 조합을 포함한다. 그렇게 할 때, 본 발명의 구조는 확장 가능하고, 시장의 요구 사항과 기술이 변할 때 용이하게 수정되고 진보될 수 있다.
본 발명의 특정 실시예의 전술한 설명은 도시와 설명을 위하여 제시되어 있다. 그 실시예는 개시되어 있는 정확한 형태로 규정하거나 본 발명을 제한하려는 것이 아니며, 명백하게 많은 변경과 변형이 전술한 설명으로부터 가능하다. 이 실시예는 본 발명의 원리와 그 실제적 응용을 가장 잘 설명하기 위하여 선택되고 설명되어 있으며, 이것에 의하여 당업자들이 계획하는 특정 용도에 적합한 여러 가지 변경과 함께 여러 가지 실시예와 본 발명을 가장 잘 이용하게 해준다. 본 발명의 범주는 청구된 청구 범위와 그 균등물에 의하여 한정되어야 하는 것으로 의도된다.
Claims (19)
- 가정용 오디오/비디오 네트워크 내의 장치들을 제어하는 방법으로서,서비스 제공자에서 애플리케이션 프로그램을 생성시키는 단계(a),상기 서비스 제공자로부터의 상기 애플리케이션 프로그램을 상기 가정용 오디오/비디오 네트워크의 지능 장치에 전달하는 단계(b),상기 지능 장치의 컴퓨터 판독 가능 메모리 유닛 내에서 상기 애플리케이션 프로그램을 설명(instantiating)하는 단계(c),상기 애플리케이션 프로그램이 각 장치 제어 모듈에 대해 통신 지점(communication point)을 얻기 위해 명칭 레지스트리에 질문하는 단계(d)로서, 상기 명칭 레지스트리는 상기 가정용 오디오/비디오 네트워크 내에서 지원되는 다수의 장치 제어 모듈을 리스트 하는 상기 단계(d), 및상기 애플리케이션 프로그램이 상기 각 장치 제어 모듈에 명령을 발생시킴으로써 상기 가정용 오디오/비디오 네트워크의 각 장치를 제어하는 단계(e)로서, 상기 각 장치는 상기 각 장치 제어 모듈과 관련되는 상기 단계(e)를 포함하는 가정용 오디오/비디오 네트워크 내의 장치들을 제어하는 방법.
- 제 1 항에 있어서, 상기 지능 장치는 지능 수신기/디코더 장치이고, 단계(e)에서 상기 애플리케이션 프로그램은 상기 가정용 오디오/비디오 네트워크의 다수의 장치들의 각 장치를 제어하는 가정용 오디오/비디오 네트워크 내의 장치들을 제어하는 방법.
- 제 1 항 또는 제 2 항에 있어서, 상기 각 장치는 국부 버스를 통해 상기 지능 장치에 연결되는 가정용 오디오/비디오 네트워크 내의 장치들을 제어하는 방법.
- 제 1 항 또는 제 2 항에 있어서, 상기 지능 장치는 셋탑 박스인 가정용 오디오/비디오 네트워크 내의 장치들을 제어하는 방법.
- 제 1 항에 있어서, 상기 가정용 오디오/비디오 네트워크는 국부 버스에 연결된 다수의 가전 장치를 구비하고, 상기 방법은 상기 가정용 오디오/비디오 네트워크 내의 상기 장치들을 제어하는 하나의 방법이고, 단계(d)와 단계(e)에서, 상기 각 장치는 상기 애플리케이션 프로그램이 상기 제 1 장치 제어 모듈에 통신 지점을 얻기 위해 명칭 레지스트리에 질문하도록 하는 제 1 장치이고, 상기 명칭 레지스트리는 상기 가정용 오디오/비디오 네트워크 내의 상기 장치들을 지원하는 다수의 장치 제어 모듈을 리스트(listing) 하고, 상기 애플리케이션 프로그램은 상기 제 1 장치 제어 모듈에 명령을 발생시킴으로써 상기 가정용 오디오/비디오 네트워크의 상기 제 1 장치를 제어하며, 상기 제 1 장치는 상기 제 1 장치 제어 모듈과 관련되는 가정용 오디오/비디오 네트워크 내의 장치들을 제어하는 방법.
- 제 5 항에 있어서, 상기 애플리케이션 프로그램이 제 2 장치 제어 모듈에 대해 통신 지점을 얻기 위해 상기 명칭 레지스트리에 질문하는 단계와, 상기 애플리케이션 프로그램이 상기 제 2 장치 제어 모듈에 명령을 발생시킴으로써 상기 가정용 오디오/비디오 네트워크의 제 2 장치를 제어하는 단계를 더 포함하는데, 상기 제 2 장치는 상기 제 2 장치 제어 모듈과 관련되는 가정용 오디오/비디오 네트워크 내의 장치들을 제어하는 방법.
- 제 1 항 또는 제 2 항 또는 제 5 항 중 어느 한 항에 있어서, 상기 가정용 오디오/비디오 네트워크는 가정용 오디오/비디오 주도(HAVI : Home Audio/Visual Initiative) 구조의 네트워크인 가정용 오디오/비디오 네트워크 내의 장치들을 제어하는 방법.
- 제 3 항 또는 제 7 항에 있어서, 상기 국부 버스는 상기 IEEE 1394 표준인 가정용 오디오/비디오 네트워크 내의 장치들을 제어하는 방법.
- 제 5 항에 있어서, 상기 지능 장치는 지능 수신기/디코더(IRD) 장치인 가정용 오디오/비디오 네트워크 내의 장치들을 제어하는 방법.
- 제 5 항에 있어서, 상기 지능 장치는 디지털 TV 인 가정용 오디오/비디오 네트워크 내의 장치들을 제어하는 방법.
- 제 5 항에 있어서, 상기 서비스 제공자는 케이블 TV 제공자인 가정용 오디오/비디오 네트워크 내의 장치들을 제어하는 방법.
- 제 5 항에 있어서, 상기 서비스 제공자는 위성 방송 제공자인 가정용 오디오/비디오 네트워크 내의 장치들을 제어하는 방법.
- 가정용 오디오/비디오 네트워크로서,국부 버스 구조,상기 국부 버스 구조에 연결된 다수의 장치로서, 상기 다수의 장치들 중 하나의 장치는 프로세서, 버스, 및 컴퓨터 판독 가능 메모리 유닛을 포함하는 지능 장치인, 상기 다수의 장치를 포함하되,상기 지능 장치는 서비스 제공자로부터 발생되는 애플리케이션 프로그램을 수신하며, 상기 지능 장치의 상기 컴퓨터 판독 가능 메모리 내에서 상기 애플리케이션 프로그램을 설명하고 ,상기 애플리케이션 프로그램은 제 1 장치 제어 모듈에 대해 통신 지점을 얻기 위해 명칭 레지스트리에 질문을 하고, 상기 명칭 레지스트리는 상기 국부 버스 구조에 연결된 상기 다수의 장치를 지원하는 다수의 장치 제어 모듈을 리스트 하며, 또상기 애플리케이션 프로그램은 상기 제 1 장치 제어 모듈에 명령을 발생시킴으로써 상기 다수의 장치들 중 제 1 장치를 더 제어하되, 상기 제 1 장치는 상기 제 1 장치 제어 모듈과 관련되는 가정용 오디오/비디오 네트워크.
- 제 12 항에 있어서, 상기 애플리케이션 프로그램은 제 2 장치 제어 모듈에 대해 통신 지점을 얻기 위해 상기 명칭 레지스트리에 더 질문하고, 상기 애플리케이션 프로그램은 상기 제 2 장치 제어 모듈에 명령을 발생시킴으로써 상기 다수의 장치들 중 제 2 장치를 더 제어하며, 상기 제 2 장치는 제 2 장치 제어 모듈과 관련되는 가정용 오디오/비디오 네트워크.
- 제 13 항에 있어서, 상기 국부 버스 구조는 IEEE 1394 표준으로 된 가정용 오디오/비디오 네트워크.
- 제 13 항에 있어서, 상기 지능 장치는 지능 수신기/디코더(IRD) 장치인 가정용 오디오/비디오 네트워크.
- 제 13 항에 있어서, 상기 지능 장치는 디지털 TV 인 가정용 오디오/비디오 네트워크.
- 제 13 항에 있어서, 상기 서비스 제공자는 인터넷 웹 사이트이고, 상기 서비스 제공자와 상기 지능 장치는 인터넷을 통해 연결되는 가정용 오디오/비디오 네트워크.
- 제 13 항에 있어서, 상기 서비스 제공자는 케이블 TV 제공자인 가정용 오디오/비디오 네트워크.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US341298A | 1998-01-06 | 1998-01-06 | |
US09/003,412 | 1998-01-06 | ||
PCT/US1998/027758 WO1999035753A2 (en) | 1998-01-06 | 1998-12-24 | Method and system related to an audio/video network |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20010033879A true KR20010033879A (ko) | 2001-04-25 |
Family
ID=21705752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020007007449A KR20010033879A (ko) | 1998-01-06 | 1998-12-24 | 오디오/비디오 네트워크 및 이에 관련된 제어 방법 |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP1046259B1 (ko) |
JP (1) | JP2002501238A (ko) |
KR (1) | KR20010033879A (ko) |
AT (1) | ATE290281T1 (ko) |
AU (1) | AU2097599A (ko) |
DE (1) | DE69829219T2 (ko) |
WO (1) | WO1999035753A2 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100747549B1 (ko) * | 2005-12-08 | 2007-08-08 | 한국전자통신연구원 | 오에스지아이 서비스 플랫폼 기반의 홈서버 시스템 및 홈서비스 제어 방법 |
KR100951212B1 (ko) * | 2002-10-19 | 2010-04-05 | 엘지전자 주식회사 | 네트웍 제어기기에서의 애플릿 코드 유닛 실행 장치 및 그방법 |
US7831967B2 (en) | 2004-08-06 | 2010-11-09 | Samsung Electronics Co., Ltd. | Method of and apparatus for updating software of network device |
US8677350B2 (en) | 2003-01-02 | 2014-03-18 | Samsung Electronics Co., Ltd. | System and method for managing an application or software component for use in a device to be controlled in a home network |
Families Citing this family (108)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2769165B1 (fr) | 1997-09-26 | 2002-11-29 | Technical Maintenance Corp | Systeme sans fil a transmission numerique pour haut-parleurs |
US6260063B1 (en) * | 1998-03-17 | 2001-07-10 | Sony Coporation | Method and apparatus for representing devices and available information within a network of devices using object lists and object entries |
CN1867068A (zh) | 1998-07-14 | 2006-11-22 | 联合视频制品公司 | 交互式电视节目导视系统及其方法 |
FR2781580B1 (fr) | 1998-07-22 | 2000-09-22 | Technical Maintenance Corp | Circuit de commande de son pour systeme de reproduction audiovisuelle numerique intelligent |
FR2781591B1 (fr) | 1998-07-22 | 2000-09-22 | Technical Maintenance Corp | Systeme de reproduction audiovisuelle |
US8028318B2 (en) | 1999-07-21 | 2011-09-27 | Touchtunes Music Corporation | Remote control unit for activating and deactivating means for payment and for displaying payment status |
US6480510B1 (en) | 1998-07-28 | 2002-11-12 | Serconet Ltd. | Local area network of serial intelligent cells |
US6859799B1 (en) | 1998-11-30 | 2005-02-22 | Gemstar Development Corporation | Search engine for video and graphics |
JP2000349793A (ja) * | 1999-06-04 | 2000-12-15 | Toshiba Corp | ネットワーク装置及びネットワーク方法 |
FR2796482B1 (fr) | 1999-07-16 | 2002-09-06 | Touchtunes Music Corp | Systeme de gestion a distance d'au moins un dispositif de reproduction d'informations audiovisuelles |
SG93248A1 (en) * | 1999-07-20 | 2002-12-17 | Canon Kk | Home printing from internet sources |
US7084994B1 (en) | 1999-07-20 | 2006-08-01 | Canon Kabushiki Kaisha | Home printing from internet sources |
WO2001037581A2 (en) * | 1999-11-19 | 2001-05-25 | Samsung Electronics Co., Ltd. | Device communication and control in a home network connected to an external network with regional support |
DE50008096D1 (de) * | 2000-01-12 | 2004-11-11 | Siemens Ag | Verfahren zum Anbieten von Diensten in einem Telekommunikationsnetz |
CN1304926C (zh) * | 2000-01-21 | 2007-03-14 | 皇家菲利浦电子有限公司 | 机顶盒将遥控设备连接到网站以进行用户定制码下载 |
FR2805377B1 (fr) | 2000-02-23 | 2003-09-12 | Touchtunes Music Corp | Procede de commande anticipee d'une selection, systeme numerique et juke-box permettant la mise en oeuvre du procede |
FR2805060B1 (fr) | 2000-02-16 | 2005-04-08 | Touchtunes Music Corp | Procede de reception de fichiers lors d'un telechargement |
FR2805072B1 (fr) | 2000-02-16 | 2002-04-05 | Touchtunes Music Corp | Procede d'ajustement du volume sonore d'un enregistrement sonore numerique |
US7111079B2 (en) | 2000-02-23 | 2006-09-19 | Koninklijke Philips Electronics, N.V. | Architecture of a bridge between a non-IP network and the web |
US6842459B1 (en) | 2000-04-19 | 2005-01-11 | Serconet Ltd. | Network combining wired and non-wired segments |
FR2808906B1 (fr) | 2000-05-10 | 2005-02-11 | Touchtunes Music Corp | Dispositif et procede de gestion a distance d'un reseau de systemes de reproduction d'informations audiovisuelles |
KR100371167B1 (ko) * | 2000-06-05 | 2003-02-05 | 엘지전자 주식회사 | 디지털 홈네트워크 기기의 원격제어장치 |
KR100360886B1 (ko) * | 2000-06-09 | 2002-11-13 | 엘지전자 주식회사 | 홈 네트워크의 링크 정보 획득 방법 |
FR2811175B1 (fr) | 2000-06-29 | 2002-12-27 | Touchtunes Music Corp | Procede de distribution d'informations audiovisuelles et systeme de distribution d'informations audiovisuelles |
FR2811114B1 (fr) | 2000-06-29 | 2002-12-27 | Touchtunes Music Corp | Dispositif et procede de communication entre un systeme de reproduction d'informations audiovisuelles et d'une machine electronique de divertissement |
CN1708969A (zh) * | 2000-07-25 | 2005-12-14 | 皇家菲利浦电子有限公司 | 基于ui的家用网络桥接 |
JP2004525533A (ja) | 2000-08-30 | 2004-08-19 | ティアリス, インコーポレイテッド | 家庭用ネットワークシステムおよび方法 |
US8724485B2 (en) | 2000-08-30 | 2014-05-13 | Broadcom Corporation | Home network system and method |
US9094226B2 (en) | 2000-08-30 | 2015-07-28 | Broadcom Corporation | Home network system and method |
FR2813741B1 (fr) * | 2000-09-05 | 2002-11-01 | Thomson Multimedia Sa | Appareil maitre/esclave de reception d'emissions audiovisuelles |
JP2004509400A (ja) * | 2000-09-14 | 2004-03-25 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 消費者電子機器用のインターネット・サービス |
FR2814085B1 (fr) | 2000-09-15 | 2005-02-11 | Touchtunes Music Corp | Procede de divertissement base sur les jeux concours a choix multiples |
US7194526B2 (en) * | 2000-09-22 | 2007-03-20 | Kyocera Corporation | Network device management method, and network devices |
US7103906B1 (en) | 2000-09-29 | 2006-09-05 | International Business Machines Corporation | User controlled multi-device media-on-demand system |
EP1327209B1 (en) | 2000-10-11 | 2008-08-27 | United Video Properties, Inc. | Systems and methods for providing storage of data on servers in an on-demand media delivery system |
US20020087964A1 (en) * | 2000-12-28 | 2002-07-04 | Gateway, Inc. | System and method for enhanced HAVi based device implementation |
US7574723B2 (en) * | 2001-07-19 | 2009-08-11 | Macrovision Corporation | Home media network |
EP1292070B1 (de) * | 2001-09-07 | 2007-11-28 | Siemens Aktiengesellschaft | Zentralgerät der Gebäudesystemtechnik und Verfahren zum Datenaustausch in einem Kommunikationsnetz der Gebäudesystemtechnik |
ATE347764T1 (de) * | 2001-09-21 | 2006-12-15 | Koninkl Philips Electronics Nv | Gibt es kein spezifisches kontrollmodul? benutzen sie eines das weniger spezifisch ist |
KR20030028310A (ko) * | 2001-09-29 | 2003-04-08 | 삼성전자주식회사 | 홈네트워크에 연결된 피제어 장치를 인터넷을 통해제어하는 방법 및 그 제어 장치 |
GB2381709A (en) * | 2001-10-30 | 2003-05-07 | Graeme Roy Smith | Programmable set-top box and home gateway |
KR100442281B1 (ko) | 2002-08-26 | 2004-08-02 | 엘지전자 주식회사 | 홈 네트워크 시스템의 제어 방법 |
US9646339B2 (en) | 2002-09-16 | 2017-05-09 | Touchtunes Music Corporation | Digital downloading jukebox system with central and local music servers |
US10373420B2 (en) | 2002-09-16 | 2019-08-06 | Touchtunes Music Corporation | Digital downloading jukebox with enhanced communication features |
US8584175B2 (en) | 2002-09-16 | 2013-11-12 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US8103589B2 (en) | 2002-09-16 | 2012-01-24 | Touchtunes Music Corporation | Digital downloading jukebox system with central and local music servers |
US7822687B2 (en) | 2002-09-16 | 2010-10-26 | Francois Brillon | Jukebox with customizable avatar |
US12100258B2 (en) | 2002-09-16 | 2024-09-24 | Touchtunes Music Company, Llc | Digital downloading jukebox with enhanced communication features |
US11029823B2 (en) | 2002-09-16 | 2021-06-08 | Touchtunes Music Corporation | Jukebox with customizable avatar |
US8332895B2 (en) | 2002-09-16 | 2012-12-11 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
KR100916030B1 (ko) * | 2002-10-19 | 2009-09-08 | 엘지전자 주식회사 | Ddi 엘레멘트 표시장치 |
KR100935046B1 (ko) * | 2002-10-19 | 2009-12-31 | 엘지전자 주식회사 | 데이터방송의 이벤트 공유장치 및 방법 |
US8931010B2 (en) | 2002-11-04 | 2015-01-06 | Rovi Solutions Corporation | Methods and apparatus for client aggregation of media in a networked media system |
US7493646B2 (en) | 2003-01-30 | 2009-02-17 | United Video Properties, Inc. | Interactive television systems with digital video recording and adjustable reminders |
IL154921A (en) | 2003-03-13 | 2011-02-28 | Mosaid Technologies Inc | A telephone system that includes many separate sources and accessories for it |
US7213228B2 (en) | 2003-03-17 | 2007-05-01 | Macrovision Corporation | Methods and apparatus for implementing a remote application over a network |
EP1478154A1 (en) * | 2003-05-14 | 2004-11-17 | Sony International (Europe) GmbH | Method for serving user requests |
IL157787A (en) | 2003-09-07 | 2010-12-30 | Mosaid Technologies Inc | Modular outlet for data communications network |
KR100541942B1 (ko) * | 2003-08-11 | 2006-01-10 | 삼성전자주식회사 | 홈네트워크의 홈디바이스원격관리장치 및 그 방법 |
US8302111B2 (en) * | 2003-11-24 | 2012-10-30 | Time Warner Cable Inc. | Methods and apparatus for hardware registration in a network device |
IL159838A0 (en) | 2004-01-13 | 2004-06-20 | Yehuda Binder | Information device |
US9213538B1 (en) | 2004-02-06 | 2015-12-15 | Time Warner Cable Enterprises Llc | Methods and apparatus for display element management in an information network |
US8086575B2 (en) | 2004-09-23 | 2011-12-27 | Rovi Solutions Corporation | Methods and apparatus for integrating disparate media formats in a networked media system |
US7768388B2 (en) | 2005-01-05 | 2010-08-03 | Rovi Solutions Corporation | Methods and apparatus for providing notifications in a media system |
EP1946553A4 (en) | 2005-10-11 | 2015-10-28 | Thomson Licensing | SYSTEM AND METHOD FOR DIGITAL VIDEO DIGITAL REPRODUCTION |
US9467322B2 (en) | 2005-12-27 | 2016-10-11 | Rovi Solutions Corporation | Methods and apparatus for integrating media across a wide area network |
US9681105B2 (en) | 2005-12-29 | 2017-06-13 | Rovi Guides, Inc. | Interactive media guidance system having multiple devices |
KR101292143B1 (ko) | 2006-04-12 | 2013-08-09 | 톰슨 라이센싱 | 가상 주문형 dvd와 전자 dvd 대여/구매/굽기 |
US7929551B2 (en) | 2006-06-01 | 2011-04-19 | Rovi Solutions Corporation | Methods and apparatus for transferring media across a network using a network interface device |
WO2007144020A1 (de) * | 2006-06-12 | 2007-12-21 | T-Cos Solutions Gmbh | Verfahren und modulares system zur steuerung und/oder kontrolle von verteilten ressourcen |
US7782850B2 (en) | 2006-11-20 | 2010-08-24 | Broadcom Corporation | MAC to PHY interface apparatus and methods for transmission of packets through a communications network |
US7697522B2 (en) | 2006-11-20 | 2010-04-13 | Broadcom Corporation | Systems and methods for aggregation of packets for transmission through a communications network |
US9171419B2 (en) | 2007-01-17 | 2015-10-27 | Touchtunes Music Corporation | Coin operated entertainment system |
US8345553B2 (en) | 2007-05-31 | 2013-01-01 | Broadcom Corporation | Apparatus and methods for reduction of transmission delay in a communication network |
US20090019492A1 (en) | 2007-07-11 | 2009-01-15 | United Video Properties, Inc. | Systems and methods for mirroring and transcoding media content |
US8332887B2 (en) | 2008-01-10 | 2012-12-11 | Touchtunes Music Corporation | System and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server |
US10290006B2 (en) | 2008-08-15 | 2019-05-14 | Touchtunes Music Corporation | Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations |
EP2254054A4 (en) | 2008-06-17 | 2013-06-05 | Panasonic Corp | SERVER DEVICE, SERVER PROCESSING METHOD AND PROGRAM |
US8849435B2 (en) | 2008-07-09 | 2014-09-30 | Touchtunes Music Corporation | Digital downloading jukebox with revenue-enhancing features |
US9112717B2 (en) | 2008-07-31 | 2015-08-18 | Broadcom Corporation | Systems and methods for providing a MoCA power management strategy |
US10063934B2 (en) | 2008-11-25 | 2018-08-28 | Rovi Technologies Corporation | Reducing unicast session duration with restart TV |
US9292166B2 (en) | 2009-03-18 | 2016-03-22 | Touchtunes Music Corporation | Digital jukebox device with improved karaoke-related user interfaces, and associated methods |
US12112093B2 (en) | 2009-03-18 | 2024-10-08 | Touchtunes Music Company, Llc | Entertainment server and associated social networking services |
US10564804B2 (en) | 2009-03-18 | 2020-02-18 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
KR101748448B1 (ko) | 2009-03-18 | 2017-06-16 | 터치튠즈 뮤직 코포레이션 | 엔터테인먼트 서버 및 관련 소셜 네트워킹 서비스 |
US10719149B2 (en) | 2009-03-18 | 2020-07-21 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US8553547B2 (en) | 2009-03-30 | 2013-10-08 | Broadcom Corporation | Systems and methods for retransmitting packets over a network of communication channels |
US20100254278A1 (en) | 2009-04-07 | 2010-10-07 | Broadcom Corporation | Assessment in an information network |
US8867355B2 (en) | 2009-07-14 | 2014-10-21 | Broadcom Corporation | MoCA multicast handling |
US9014546B2 (en) | 2009-09-23 | 2015-04-21 | Rovi Guides, Inc. | Systems and methods for automatically detecting users within detection regions of media devices |
US8942250B2 (en) | 2009-10-07 | 2015-01-27 | Broadcom Corporation | Systems and methods for providing service (“SRV”) node selection |
CN105336350A (zh) | 2010-01-26 | 2016-02-17 | 踏途音乐公司 | 具有改进的用户界面的数字点播设备和相关方法 |
US8611327B2 (en) | 2010-02-22 | 2013-12-17 | Broadcom Corporation | Method and apparatus for policing a QoS flow in a MoCA 2.0 network |
US8514860B2 (en) | 2010-02-23 | 2013-08-20 | Broadcom Corporation | Systems and methods for implementing a high throughput mode for a MoCA device |
CN110097416B (zh) | 2011-09-18 | 2022-05-10 | 踏途音乐公司 | 具有卡拉ok和照相亭功能的数字点播设备及相关方法 |
US8805418B2 (en) | 2011-12-23 | 2014-08-12 | United Video Properties, Inc. | Methods and systems for performing actions based on location-based rules |
US11151224B2 (en) | 2012-01-09 | 2021-10-19 | Touchtunes Music Corporation | Systems and/or methods for monitoring audio inputs to jukebox devices |
US9674563B2 (en) | 2013-11-04 | 2017-06-06 | Rovi Guides, Inc. | Systems and methods for recommending content |
WO2015070070A1 (en) | 2013-11-07 | 2015-05-14 | Touchtunes Music Corporation | Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices |
CN119170060A (zh) | 2014-03-25 | 2024-12-20 | 踏途音乐有限责任公司 | 具有改进的用户界面的数字点播设备和相关方法 |
US10966073B2 (en) | 2017-11-22 | 2021-03-30 | Charter Communications Operating, Llc | Apparatus and methods for premises device existence and capability determination |
US11129213B2 (en) | 2018-10-12 | 2021-09-21 | Charter Communications Operating, Llc | Apparatus and methods for cell identification in wireless networks |
US10980025B2 (en) | 2019-01-31 | 2021-04-13 | Charter Communications Operating, Llc | Methods and apparatus for frequency transition management in a quasi-licensed wireless system |
US11129171B2 (en) | 2019-02-27 | 2021-09-21 | Charter Communications Operating, Llc | Methods and apparatus for wireless signal maximization and management in a quasi-licensed wireless system |
US11374779B2 (en) | 2019-06-30 | 2022-06-28 | Charter Communications Operating, Llc | Wireless enabled distributed data apparatus and methods |
US11182222B2 (en) | 2019-07-26 | 2021-11-23 | Charter Communications Operating, Llc | Methods and apparatus for multi-processor device software development and operation |
US11368552B2 (en) | 2019-09-17 | 2022-06-21 | Charter Communications Operating, Llc | Methods and apparatus for supporting platform and application development and operation |
US11026205B2 (en) | 2019-10-23 | 2021-06-01 | Charter Communications Operating, Llc | Methods and apparatus for device registration in a quasi-licensed wireless system |
-
1998
- 1998-12-24 EP EP98965525A patent/EP1046259B1/en not_active Expired - Lifetime
- 1998-12-24 AT AT98965525T patent/ATE290281T1/de not_active IP Right Cessation
- 1998-12-24 DE DE69829219T patent/DE69829219T2/de not_active Expired - Lifetime
- 1998-12-24 KR KR1020007007449A patent/KR20010033879A/ko not_active Application Discontinuation
- 1998-12-24 WO PCT/US1998/027758 patent/WO1999035753A2/en active IP Right Grant
- 1998-12-24 AU AU20975/99A patent/AU2097599A/en not_active Abandoned
- 1998-12-24 JP JP2000528021A patent/JP2002501238A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100951212B1 (ko) * | 2002-10-19 | 2010-04-05 | 엘지전자 주식회사 | 네트웍 제어기기에서의 애플릿 코드 유닛 실행 장치 및 그방법 |
US8677350B2 (en) | 2003-01-02 | 2014-03-18 | Samsung Electronics Co., Ltd. | System and method for managing an application or software component for use in a device to be controlled in a home network |
US8707295B2 (en) | 2003-01-02 | 2014-04-22 | Samsung Electronics Co., Ltd. | System and method for managing an application or software component for use in a device to be controlled in a home network |
US9038061B2 (en) | 2003-01-02 | 2015-05-19 | Samsung Electronics Co., Ltd. | System and method for managing an application or software component for use in a device to be controlled in a home network |
US7831967B2 (en) | 2004-08-06 | 2010-11-09 | Samsung Electronics Co., Ltd. | Method of and apparatus for updating software of network device |
KR100747549B1 (ko) * | 2005-12-08 | 2007-08-08 | 한국전자통신연구원 | 오에스지아이 서비스 플랫폼 기반의 홈서버 시스템 및 홈서비스 제어 방법 |
Also Published As
Publication number | Publication date |
---|---|
DE69829219D1 (de) | 2005-04-07 |
EP1046259A2 (en) | 2000-10-25 |
EP1046259B1 (en) | 2005-03-02 |
DE69829219T2 (de) | 2005-12-29 |
AU2097599A (en) | 1999-07-26 |
WO1999035753A3 (en) | 1999-10-07 |
WO1999035753A9 (en) | 1999-11-18 |
ATE290281T1 (de) | 2005-03-15 |
WO1999035753A2 (en) | 1999-07-15 |
JP2002501238A (ja) | 2002-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1046259B1 (en) | Method and system related to an audio/video network | |
US6052750A (en) | Home audio/video network for generating default control parameters for devices coupled to the network, and replacing updated control parameters therewith | |
US6349352B1 (en) | Home audio/video network with both generic and parameterized device control | |
US6032202A (en) | Home audio/video network with two level device control | |
EP1058985B1 (en) | An audio video network | |
US6963784B1 (en) | Virtual device control modules and function control modules implemented in a home audio/video network | |
US6169725B1 (en) | Apparatus and method for restoration of internal connections in a home audio/video system | |
US6275865B1 (en) | Method and system for message dispatching in a home audio/video network | |
US6038625A (en) | Method and system for providing a device identification mechanism within a consumer audio/video network | |
JP4721600B2 (ja) | ブリッジングする多数のホームネットワークソフトウェアアーキテクチャ | |
US6259707B1 (en) | Synchronizing a data driven interaction controller and a non-data driven interaction controller | |
US7343427B2 (en) | Method and an apparatus for the integration of IP devices into a HAVi network | |
US20020087964A1 (en) | System and method for enhanced HAVi based device implementation | |
MXPA01012278A (es) | Dispositivo y sistema de comunicacion. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0105 | International application |
Patent event date: 20000704 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PG1501 | Laying open of application | ||
PC1203 | Withdrawal of no request for examination | ||
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |