KR20010033849A - 오디오 비디오 네트워크 - Google Patents

오디오 비디오 네트워크 Download PDF

Info

Publication number
KR20010033849A
KR20010033849A KR1020007007409A KR20007007409A KR20010033849A KR 20010033849 A KR20010033849 A KR 20010033849A KR 1020007007409 A KR1020007007409 A KR 1020007007409A KR 20007007409 A KR20007007409 A KR 20007007409A KR 20010033849 A KR20010033849 A KR 20010033849A
Authority
KR
South Korea
Prior art keywords
devices
legacy device
dcm
network
interoperability
Prior art date
Application number
KR1020007007409A
Other languages
English (en)
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 KR20010033849A publication Critical patent/KR20010033849A/ko

Links

Classifications

    • 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]
    • 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/281Exchanging configuration information on appliance services in a home automation network indicating a format for calling an appliance service function in a home automation network
    • 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/2805Home Audio Video Interoperability [HAVI] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Selective Calling Equipment (AREA)
  • Hydrogenated Pyridines (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

공통 프로토콜을 사용하는 네트워크에서 다수의 장치들 사이에 경계없는 상호 운용성과 통합성(seamless interoperability and integration)을 제공하기 위한 방법 및 시스템이 개시되는데, 여기에서 하나 이상의 장치가 전용 프로토콜을 사용하는 네트워크와 통신하는 레거시 장치이다. 레거시 장치가 네트워크에 연결될 때, 네트워크 상의 다수의 장치 중 하나의 장치가 레거시 장치에 의하여 지원되는 기본적인 성능 세트를 결정하기 위해 전용 프로토콜을 경유하여 레거시 장치에 질문을 한다. 이 기본적인 성능의 세트는 그후 전용 프로토콜로부터 공통 프로토콜로부터의 기본적인 명령 세트로 매핑된다. 제어 모듈이 이 레거시 장치에 대해 발생되는데, 이 제어 모듈은 기본적인 명령 세트를 기초로 한다. 레거시 장치의 기본적인 성능 세트는 그후 제어 모듈을 경유하여 억세스되며, 이것에 의하여 다수의 장치와 레거시 장치와의 경계없는 상호 운용성 및 통합성을 제공한다.

Description

오디오 비디오 네트워크{AN AUDIO VIDEO NETWORK}
일반적인 가정용 오디오비디오 설비 구성은 다수의 성분을 포함한다. 예를 들어, 라디오 수신기, CD 플레이어, 한 쌍의 스피커, TV, VCR, 테이프 데크, 등을 포함한다. 이들 각 성분은 한 세트의 전선을 경유하여 서로 연결된다. 일 성분은 일반적으로 가정용 오디오비디오 시스템의 중심 성분이다. 이것은 일반적으로 라디오 수신기 또는 튜너이다. 이 튜너는 다른 성분과 연결하기 위한 다수의 특정 입력을 구비한다. 이 튜너는 성분에 대한 국한된 정도(a limited degree)의 제어 가능성과 상호 연동성을 제공하는 해당 개수의 제어 버튼 또는 제어 스위치를 구비한다. 제어 버튼과 제어 스위치는 일반적으로 이 튜너의 전방에 위치된다. 많은 경우에, 몇몇 버튼과 스위치 또는 모든 버튼과 스위치는 휴대용 원격 제어 유닛 상에 복제(duplicate)되어 있다. 사용자는 이 튜너의 전방에 있는 버튼과 스위치를 조작하거나 선택적으로 휴대용 원격 제어 유닛 상의 버튼을 조작하여 가정용 오디오비디오 시스템을 제어한다.
이러한 종래의 가정용 오디오비디오 시스템 패러다임은 상당히 대중화되어 왔다. 가전 장치(consumer electronic devices)가 더 우수해지고 더 복잡해짐에 따라, 가장 최근의 가장 우수한 장치에 대한 요구가 증가하고 있다. 새로운 장치가 나타나고 대중화됨에 따라, 이 장치는 소비자에게 구매되고 가정용 오디오비디오 시스템으로 "플러그" 된다("plugged"). 일반적으로, 가장 최근에 가장 복잡한 이들 장치(the latest and most sophisticated of these devices)는 상당히 고가이다(예를 들어 디지털 오디오 테이프 레코더, DVD 플레이어, 디지털 캠코더, 등). 소비자는 새로운 장치를 구매하기 때문에, 대부분 자주 새로운 장치(most often, the new device)가 기존의 오래된 장치(the pre-existing, older devices)(예를 들어, 카세트 테이프 데크, CD 플레이어, 등)와 나란히(alongside) 이 시스템으로 단순히 플러그 된다. 새로운 장치는 튜너의 뒤쪽, 또는 이 튜너에 연결된 몇몇 다른 장치에 개방 입력(an open input)으로 플러그 된다. 소비자(예를 들어, 사용자)는 튜너 상의 제어 버튼, 새로운 장치의 전면 상의 제어 버튼과 제어 스위치, 또는 새로운 장치의 완전히 새로우며 분리된 각 원격 제어 유닛(an entirely new, separate, respective remote control unit)을 경유하여 새로운 장치를 제어한다.
가정용 오디오비디오 시스템을 위한 새로운 가전 장치의 개수가 증가하고 이들 장치의 복잡도와 성능이 증가했기 때문에, 종래의 패러다임에 다수의 문제가 나타나고 있다. 그 중 하나의 문제는 가정용 오디오 비디오 시스템에서 장치들 간의 비호환성(incompatibility)이다. 한 제조사로부터의 가전 장치는 다른 제조사로부터의 유사한 장치와는 서로 다른 방식으로 오디오 비디오 시스템에 종종 연결된다. 예를 들어, 한 제조사에서 제조된 튜너는 다른 제조사에서 제조된 TV 와 적절히 연결되지 않을 수 있다.
더욱이, 한 장치가 다른 장치보다 휠씬 새로운 것이라면 추가적인 비호환성이 존재할 수 있다. 예를 들어, 새로운 장치는 좀더 복잡한 원격 제어 기능을 가능하게 하는 하드웨어(예를 들어, 특정 입력과 출력)를 병합할 수 있다. 이 하드웨어는 이 시스템 내의 더 오래된 장치와 사용할 수 없을 수 있다. 또는 예를 들어, 더 오래된 튜너는 몇몇 더 새로운 장치(예를 들어, 미니 디스크 플레이어, VCR 등)를 위한 적절한 입력을 가지고 있지 않을 수 있거나 이 시스템의 모든 장치를 위한 충분한 입력을 가지고 있지 않을 수 있다.
다른 문제는 오비오 비디오 시스템 내의 다른 장치를 위한 기능 지원(functional support)의 결여이다. 예를 들어, 비록 TV 가 고급 사운드 포맷(예를 들어, 서라운드 사운드, 스테레오, 등)을 지원할지라도, 더 오래된 성능이 적은 튜너가 그 기능을 지원하지 않는다면, 고급 사운드 포맷의 이점은 상실될 것이다.
또다른 문제는 가정용 오디오 비디오 시스템 내의 새로우며 다른 장치를 위한 제어의 확산(the proliferation of controls)이다. 예를 들어, 다른 제조사로부터의 유사한 장치는 유사한 기능(예를 들어, VCR 상의 클록 설정 기능, 나중 프로그램을 위해 VCR 레코드 프로그래밍 기능, 등)을 달성하기 위해 서로 다른 버튼과 제어 스위치 포맷을 각각 가지고 있을 것이다. 더욱이, 종종 오디오 비디오 시스템에 연결된 각각의 새로운 장치는 사용자가 계속 따라서 배워 작동해야 하는 다른 전용 원격 제어 유닛을 초래한다.
네트워크화 및 인터페이스 기술(예를 들어, 디지털 시스템의 광역 확산 채용 IEEE 1394 직렬 통신 버스와 )의 출현이 이들 문제를 정정하는 전망을 주고 있지만, 지능적이며, 자기 구성적이고, 쉽게 확장 가능한 장치 또는 AV 시스템(intelligent, self configuring, easily extensible devices or AV systems)을 제공할 수 있는 밀집적, 개방적, 확장 가능한 구조(coherent, open, extensible architecture)가 아직도 없다. 예를 들어, 여러 가지 해법이 AV 시스템의 기초로 IEEE 1394의 사용을 포함하지만, 어느 것도 그 시스템의 수명에 걸쳐 AV 시스템의 확장성을 제공하지 않는데, 이는 성능과 특성이 알려지지 않은 새로운 장치가 추가되기 때문이다. 이들 시스템의 어느 것도 모든 장치가 사용자와 통신하며 사용자에 의해 제어되고 누릴 수 있는 것을 보장하지 않는다.
본 발명의 분야는 오디오-비디오 시스템에 관한 것이다. 좀더 구체적으로, 본 발명은 오디오 비디오 시스템을 형성하기 위해 다수의 전자 장치의 네트워크화에 관한 것이다. 일 실시예에 있어서, 본 발명은 레거시 장치(legacy device)를 병합하기 위한 장치 제어 모듈을 갖는 가정용 오디오 비디오 네트워크를 개시한다.
도 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 네트워크의 다이아그램.
따라서, 종래의 시스템의 상호 운용성과 기능성 문제(the interoperability and functionality)를 정정하는 가정용 오디오비디오 시스템에 대한 새로운 구조(a new architecture)가 요구되고 있다. 가정용 네트워크 내의 장치를 위한 개방적으로, 상호 동작하는, 오디오비쥬얼 시스템(an open, interoperating, audiovisual system)에 대한 새로운 구조가 요구되고 있다. 임의의 제조사로부터의 장치들이 가정용 오디오비디오 시스템과 경계가 없이(seamlessly) 기능하게 하는 구조가 요구되고 있다. 확장 가능하고 시장의 요구 사항과 기술이 변화함에 따라 쉽게 수정되고 진보될 수 있는 구조가 요구되고 있다.
본 발명은 가정용 네트워크에서 공동 동작하는 가전 장치(CE devices: Consumer Electronic devices)를 위한 개방된 구조를 정의하는 가정용 오디오 비디오(AV : Audio Visual) 네트워크를 제공한다. 본 발명의 상호 운용성 측면은, 임의의 제조사로부터의 CE 장치가 사용자의 가정용 AV 시스템 내에서 경계 없이 공동 동작하며 기능하게 하는 구조 모델(an architectural model)을 정의한다. 본 발명의 시스템은 새로운 특성과 새로운 CE 장치가 가정용 AV 네트워크 내에서 전개될 때 베이스 제어 프로토콜을 확장하기 위한 방법과 제너릭 장치 제어의 베이스 세트(a base set of generic device controls)의 조합을 포함한다. 그렇게 할 때, 본 발명의 구조는 확장 가능하고, 시장의 요구 사항과 기술이 변화함에 따라 쉽게 수정되고 진보될 수 있다.
상기 특성을 구현하기 위하여, 본 발명은 새로이 연결된 장치가 질문(queried) 받게 하는 구조를 포함한다. 질문의 결과를 사용하여, 이 장치의 소프트웨어 기반 추출(a software based abstraction) 내용이 생성되고 네트워크 내에 다른 요소가 이용 가능하게 된다. 소프트웨어 추출 내용은 장치 제어 모듈로 언급된다. 장치 제어 모듈은 그 장치를 위해 상호 운용성, 기능성, 및 제어 인터페이스의 미리 정의된 표준화된 세트를 제공한다(a predefined, standardized, set of interoperability, functionality, and control interfaces). CE 장치는 장치 제어 모듈을 경유하여 가정용 AV 네트워크에 연결되고 장치 제어 모듈을 경유하여 가정용 AV 네트워크와 통신한다. 가정용 AV 시스템에서의 각 CE 장치는 해당 장치 제어 모듈(DCM : Device Control Module)을 구비한다. 본 발명의 DCM은 또한 다른 응용 장치가 임의의 새로이 연결된 CE 장치에 억세스하고 조정하게 하기 위하여 응용 프로그래밍 인터페이스(API : Application Programming Interface)를 제공한다.
본 발명의 DCM을 통해, AV 시스템의 수명에 걸쳐 그 성능과 특성이 알려져 있지 않거나, 단지 일부만 다른 장치에 알려져 있는 새로운 장치가 추가될 때, 모든 장치가 몇몇 기본적인 최소 수준으로 통신하고 제어될 수 있으며, 그후 가능하다면 그 장치에 대해 더 많은 정보가 얻어질 때 새로운 장치의 더 나은 추출 내용이 만들어질 수 있는 것을 보장하는 메카니즘이 제공된다.
소비자의 가정에서 이용 가능할 수 있는 몇몇 장치가 일반 가정용 네트워크 구조의 생성 이전에 구성되고 판매될 수 있기 때문에, 이 구조는 이들 장치를 사용하는 것을 인식할 수 있는 것이 필요하다. 이들 장치는 레거시 장치(legacy devices)로 언급되며, 이들 장치는 일반적으로 독점 제어 프로토콜을 통해 제어되는 아날로그 장치이다.
본 발명의 구조가 이들 장치에 몇몇 레벨의 제어를 제공하게 하기 위하여, 그 구조는 그 장치에 질문을 하고 그 기본적인 성능을 알아내 수 있도록 독점 통신 경로를 사용한다. 그후 이 구조는 이 장치의 등급에 대해 레벨 1 DCM(a level 1 DCM)을 생성하지만, 이 레벨 1 DCM 은, 재생과 같은 일반 장치 제어 명령을 그 장치가 사용하는 특정 레거시 명령 프로토콜에 매핑(mapping)할 수 있다는 점에서 특별한 것이다.
구체적으로, 본 발명의 일 실시예에서, 레거시 장치가 네트워크에 연결될 때, 이 네트워크 상의 다수의 장치 중 하나의 장치는 레거시 장치에 의하여 지원되는 기본적인 성능의 세트를 결정하기 위하여 독점 프로토콜을 경유하여 레거시 장치에 질문을 한다. 기본적인 성능의 세트는 그후 공통 프로토콜로부터의 기본적인 명령의 세트에 독점 프로토콜로부터 매핑된다. 레벨 1 DCM은 그후 레거시 장치에 대해 생성되며, DCM 은 기본 명령 세트를 기초로 한다. 그후 레거시 장치의 기본적인 성능 세트가 레벨 1 DCM을 경유하여 억세스되는데, 이것에 의하여 레거시 장치의 경계없는 상호 운용성과 통합성을 다수의 장치에 제공하게 된다. 이 메커니즘을 사용하여, 일반 레벨 1 DCM의 베이스 구조 모델은 본 발명의 구조의 생성이전에 설치된 레거시 장치를 취급하도록 확장될 수 있다. 그렇게 할 때, 본 발명은 새로운 장치가 AV 시스템의 일부가 될 뿐만 아니라 종래의 장치도 또한 유용하게 남아 있을 수 있는 매우 유연성 있는 메커니즘을 제공한다.
본 발명은 동일한 참조 번호가 유사한 요소를 지칭하는 첨부되는 도면에서 예를 들면, 제한되지 않는 방식으로 도시되어 있다.
이제 그 예가 첨부되는 도면에 도시되어 있는 본 발명의 실시예에 대하여 자세하게 참조가 이루어질 것이다. 본 발명이 바람직한 실시예와 연계하여 설명되어 있을 지라도, 그 실시예는 본 발명을 이들 실시예로 한정하기 위한 것이 아니라는 것을 이해할 수 있을 것이다. 반대로, 본 발명은 첨부되는 청구 범위로 범위가 정해지는 바와 같은 본 발명의 사상과 범주 내에 포함될 수 있는 대안물, 변경물, 및 균등물을 포함한다. 더욱이, 본 발명의 이하 상세한 설명에서, 다수의 특정 상세 사항이 본 발명의 완전한 이해를 제공하기 위하여 개시되어 있다. 그러나, 당업자에게는, 본 발명이 이들 특정 상세 사항 없이 실시될 수 있다는 것은 자명할 것이다. 다른 예에서, 공지된 방법, 절차, 성분, 및 회로가 본 발명의 불필요하게 불명료한 측면이 아니라면 상세하게 설명되지 않고 있다.
본 발명은 가정용 네트워크에서 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)이다.
초기화 관리자(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 기반 장치는 사실 랜덤 억세스 매체 기록(fandom-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을 참조하면, 본 발명의 일 실시예에 따라 프로세TM(1300)의 흐름도가 도시되어 있다. 프로세TM(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)의 흐름도를 도시한다. 프로세TM(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를 참조하면, 본 발명의 일 실시예에 따른 프로세TM(1500)의 흐름도가 도시되어 있다. 프로세TM(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)(카운트);// 그 장치 상의 유닛 플러그의 개수로의 복귀
내부 연결 확립(EstablishExternalConnection)(소스 플러그, 데스트플러그)(sour-
cePlug, destPlug);
외부 연결 설정(EstablishInternalConnection)(소스 플러그, 데스트플러그)
데이터흐름시작(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 (15)

  1. 공통 프로토콜(common protocol)을 사용하여 네트워크에서 다수의 장치들 사이의 상호 운용성과 통신(interoperability and communication)을 제공하는 방법으로서,
    레거시 장치(legacy device)를 상기 다수의 장치들 중 하나의 장치로서 상기 네트워크에 연결하는 단계(a)로서, 상기 레거시 장치는 독점 프로토콜(a proprietary protocol)을 사용하여 상기 네트워크와 통신하는 상기 단계(a),
    상기 레거시 장치의 기본 성능 세트(a set of basic capabilities)를 결정하기 위해 상기 독점 프로토콜을 사용하여 상기 레거시 장치에 질문(querying)을 하는 단계(b),
    상기 공통 프로토콜로부터의 기본 명령 세트(a set of basic commands)를 상기 레거시 장치의 상기 기본 성능 세트로 매핑하는 단계(c),
    상기 레거시 장치에 대한 제어 모듈을 생성시키는 단계(d)로서, 상기 제어 모듈이 상기 기본 명령 세트를 기초로 하는 상기 단계(d), 및
    상기 제어 모듈을 통해 상기 레거시 장치에 억세스 함으로써 상기 다수의 장치들과 상기 레거시 장치 사이의 상호 운용성과 통신을 제공하기 위해 상기 레거시 장치의 상기 기본 성능 세트에 억세스 하는 단계(e)를 포함하는 상호 운용성과 통신을 제공하는 방법.
  2. 제 1 항에 있어서, 단계(b) 내지 단계(d)는 상기 네트워크에서 상기 다수의 장치의 지능 장치(an intelligent device) 상에서 수행하는 장치 관리자(a device manager)에 의하여 실행되는 상호 운용성과 통신을 제공하는 방법.
  3. 제 1 항에 있어서, 상기 제어 모듈은 상기 레거시 장치에 대해 표준화된 제어 인터페이스를 제공하는 상호 운용성과 통신을 제공하는 방법.
  4. 제 3 항에 있어서, 상기 표준화된 제어 인터페이스는, 상기 네트워크에서 상기 다수의 장치와 상기 레거시 장치 사이에 통신을 가능하게 하는 상기 레거시 장치에 대한 상호 운용성 인터페이스의 미리 정의된 세트(set of interoperability interfaces)를 제공하는 소프트웨어 코드(software code)를 포함하는 상호 운용성과 통신을 제공하는 방법.
  5. 버스에 연결된 다수의 장치들을 포함하는 가정용 오디오 비주얼 네트워크(a home audio visual network)를 위한 방법으로서,
    하나의 장치가 컴퓨터 판독 가능 메모리에 연결된 프로세서를 구비하는 호스트 장치이고, 상기 메모리는, 수행되었을 때, 상기 장치들 사이의 통신과 상호 운용성을 제공하는 방법을 구현하는 컴퓨터 판독 가능 지시(computer readable instructions)를 포함하되,
    상기 레거시 장치에 의하여 지원되는 기본 성능 세트를 결정하기 위해 상기 레거시 장치의 독점 프로토콜을 통해 상기 다수의 장치들 중 레거시 장치에 질문을 하는 단계(a),
    공통 프로토콜로부터의 기본 명령 세트를 상기 레거시 장치의 상기 기본 성능 세트로 매핑하는 단계(b),
    상기 레거시 장치에 대해 제어 모듈을 생성하는 단계(c)로서, 상기 제어 모듈은 상기 기본 명령 세트를 기초로 하는 상기 단계(c),
    상기 제어 모듈을 사용하여 상기 레거시 장치의 상기 기본 성능 세트에 억세스 하는 상기 다수의 장치에 의하여 상기 다수의 장치와 상기 레거시 장치 사이의 통신과 상호 운용성을 제공하는 단계(d)를 포함하는 가정용 오디오 비주얼 네트워크를 위한 방법.
  6. 제 5 항에 있어서, 상기 방법의 상기 단계(a) 내지 단계(c)는 상기 호스트 장치 상에서 실행하는 장치 관리자에 의하여 수행되는 가정용 오디오 비주얼 네트워크를 위한 방법.
  7. 제 1 항 또는 제 5 항에 있어서, 상기 제어 모듈은 상기 네트워크에서 상기 다수의 장치 중 하나의 장치에서 실행되는 가정용 오디오 비주얼 네트워크를 위한 방법.
  8. 제 1 항 또는 제 5 항에 있어서, 상기 레거시 장치는 아날로그 장치인 가정용 오디오 비주얼 네트워크를 위한 방법.
  9. 제 5 항에 있어서, 단계(a) 내지 단계(c)는 상기 호스트 장치에서 실행되는 장치 관리자에 의하여 수행되는 가정용 오디오 비주얼 네트워크를 위한 방법.
  10. 제 1 항 또는 제 6 항 또는 제 9 항 중 어느 한 항에 있어서, 상기 레거시 장치는 상기 제어 모듈을 통해 상기 다수의 장치에 의해 억세스 되고, 상기 다수의 장치는 상기 공통 프로토콜을 사용하여 상기 제어 모듈과 통신하며, 상기 레거시 장치는 상기 독점 프로토콜을 사용하여 상기 제어 모듈과 통신하는 가정용 오디오 비주얼 네트워크를 위한 방법.
  11. 제 1 항 또는 제 5 항 또는 제 9 항 중 어느 한 항에 있어서, 단계(b)는 상기 기본 성능 세트를 결정하기 위해 상기 독점 프로토콜을 사용하여 상기 레거시 장치와 통신하는 단계를 포함하는 가정용 오디오 비주얼 네트워크를 위한 방법.
  12. 제 1 항 또는 제 5 항 또는 제 9 항 중 어느 한 항에 있어서, 상기 네트워크의 상기 버스는 IEEE 1394 버스이고, 상기 제어 모듈은 IEEE 1394와 작용하거나 IEEE 1394로 구성(configured to function with or to IEEE 1394)되는 가정용 오디오 비주얼 네트워크를 위한 방법.
  13. 제 9 항에 있어서, 상기 제어 모듈은 상기 레거시 장치에 표준화된 제어 인터페이스를 제공하고, 상기 제어 인터페이스는 상기 네트워크에서 상기 다수의 장치와 상기 레거시 장치 사이의 통신을 가능하게 하는 상호 운용성 인터페이스의 미리 정의된 세트를 상기 레거시 장치에 제공하는 소프트웨어를 포함하는 가정용 오디오 비주얼 네트워크를 위한 방법.
  14. 제 5 항 또는 제 9 항에 있어서, 상기 제어 모듈은 상기 레거시 장치에 표준화된 제어 인터페이스를 제공하고, 상기 제어 인터페이스는 상기 네트워크에서 상기 다수의 장치와 상기 레거시 장치 사이의 통신을 가능하게 하는 상호 운용성 인터페이스의 미리 정의된 세트를 상기 레거시 장치에 제공하는 소프트웨어를 포함하는 가정용 오디오 비주얼 네트워크를 위한 방법.
  15. 공통 프로토콜을 사용하여 네트워크에서 다수의 장치들 사이의 통신과 상호 운용성을 제공하는 장치 방법에 대한 방법(A method for an apparatus method for providing interoperability and communication)으로서,
    레거시 장치를 상기 다수의 장치 중 하나의 장치로서 상기 네트워크에 연결하는 수단(a)으로서, 상기 레거시 장치는 독점 프로토콜을 사용하여 상기 네트워크와 통신하는 상기 수단(a),
    상기 레거시 장치의 기본 성능 세트를 결정하기 위해 상기 독점 프로토콜을 사용하여 상기 레거시 장치에 질문을 하는 수단(b),
    상기 공통 프로토콜로부터의 기본 명령 세트를 상기 레거시 장치의 상기 기본 성능 세트로 매핑하는 수단(c),
    상기 레거시 장치에 대해 제어 모듈을 생성하는 수단(d)으로서, 상기 제어 모듈은 상기 기본 명령 세트를 기초로 하는 상기 수단(d), 및
    상기 제어 모듈을 통해 상기 레거시 장치에 억세스 함으로써 상기 다수의 장치와 상기 레거시 장치 사이의 통신과 상호 운용성을 제공하기 위해 상기 레거시 장치의 상기 기본 성능 세트에 억세스 하는 수단(e)의 단계를 포함하는 통신과 상호 운용성을 제공하는 장치 방법에 대한 방법.
KR1020007007409A 1998-01-06 1998-12-09 오디오 비디오 네트워크 KR20010033849A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/003,252 US6085236A (en) 1998-01-06 1998-01-06 Home audio video network with device control modules for incorporating legacy devices
US09/003,252 1998-01-06
PCT/US1998/026166 WO1999035856A2 (en) 1998-01-06 1998-12-09 An audio video network

Publications (1)

Publication Number Publication Date
KR20010033849A true KR20010033849A (ko) 2001-04-25

Family

ID=21704935

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007007409A KR20010033849A (ko) 1998-01-06 1998-12-09 오디오 비디오 네트워크

Country Status (8)

Country Link
US (1) US6085236A (ko)
EP (1) EP1058985B1 (ko)
JP (1) JP4527279B2 (ko)
KR (1) KR20010033849A (ko)
AT (1) ATE290282T1 (ko)
AU (1) AU1634299A (ko)
DE (1) DE69829221T2 (ko)
WO (1) WO1999035856A2 (ko)

Families Citing this family (176)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US6237049B1 (en) 1998-01-06 2001-05-22 Sony Corporation Of Japan Method and system for defining and discovering proxy functionality on a distributed audio video network
WO1999055071A2 (en) * 1998-04-22 1999-10-28 Koninklijke Philips Electronics N.V. Management of functionality in a consumer electronics system
FR2778046B1 (fr) * 1998-04-23 2000-05-19 Thomson Multimedia Sa Procede de gestion d'objets dans un reseau de communication et dispositif de mise en oeuvre
CA2331703C (en) * 1998-05-07 2007-10-09 Samsung Electronics Co., Ltd. Method and system for device to device command and control in a network
US7043532B1 (en) 1998-05-07 2006-05-09 Samsung Electronics Co., Ltd. Method and apparatus for universally accessible command and control information in a network
WO2000003519A1 (fr) * 1998-07-09 2000-01-20 Sony Corporation Procede de commande de communication, systeme de communication et dispositif electronique
CN1867068A (zh) 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
US6199136B1 (en) * 1998-09-02 2001-03-06 U.S. Philips Corporation Method and apparatus for a low data-rate network to be represented on and controllable by high data-rate home audio/video interoperability (HAVi) network
US6275865B1 (en) * 1998-11-25 2001-08-14 Sony Corporation Of Japan Method and system for message dispatching in a home audio/video network
KR100275707B1 (ko) * 1998-11-26 2000-12-15 윤종용 홈네트웍 시스템 및 그 노드 아이디 할당방법
US6859799B1 (en) 1998-11-30 2005-02-22 Gemstar Development Corporation Search engine for video and graphics
US6937972B1 (en) * 1999-03-17 2005-08-30 Koninklijke Philips Electronics N.V. Fully functional remote control editor and emulator
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US6542474B1 (en) 1999-02-26 2003-04-01 Sony Corporation System and method for incrementally updating remote element lists in an electronic network
US6574237B1 (en) * 1999-03-19 2003-06-03 Agere Systems Inc. Inoperable network device
US6684401B1 (en) * 1999-03-26 2004-01-27 Sony Corporation Method and system for independent incoming and outgoing message dispatching in a home audio/video network
US6615243B1 (en) * 1999-04-01 2003-09-02 Thomson Licensing S.A. System and method for programming and transmitting macros for controlling audio/video devices
US6463473B1 (en) * 1999-04-09 2002-10-08 Sharewave, Inc. Configuring a wireless computer network to allow automatic access by a guest client device
WO2000069121A1 (fr) * 1999-05-07 2000-11-16 Sony Corporation Procede de traitement d'informations, systeme de traitement d'informations et processeur d'informations
JP3715132B2 (ja) * 1999-05-21 2005-11-09 三菱電機株式会社 データ中継装置及びデータ中継方法
US6910068B2 (en) 1999-06-11 2005-06-21 Microsoft Corporation XML-based template language for devices and services
US6892230B1 (en) 1999-06-11 2005-05-10 Microsoft Corporation Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages
US6725281B1 (en) 1999-06-11 2004-04-20 Microsoft Corporation Synchronization of controlled device state using state table and eventing in data-driven remote device control model
DE60019750T2 (de) * 1999-06-11 2005-09-29 Microsoft Corp., Redmond Allgemeines api zur gerätefernsteuerung
US6801507B1 (en) 1999-07-27 2004-10-05 Samsung Electronics Co., Ltd. Device discovery and configuration in a home network
US8032833B1 (en) 1999-07-27 2011-10-04 Samsung Electronics Co., Ltd. Home network device information architecture
US7610559B1 (en) * 1999-07-27 2009-10-27 Samsung Electronics Co., Ltd. Device customized home network top-level information architecture
US7490293B1 (en) 1999-07-27 2009-02-10 Samsung Electronics Co., Ltd. Device discovery and control in a bridged home network
US7200683B1 (en) 1999-08-17 2007-04-03 Samsung Electronics, Co., Ltd. Device communication and control in a home network connected to an external network
GB9921049D0 (en) * 1999-09-07 1999-11-10 Koninkl Philips Electronics Nv Clustered networked devices
US6314447B1 (en) * 1999-10-04 2001-11-06 Sony Corporation System uses local registry and load balancing procedure for identifying processing capabilities of a remote device to perform a processing task
US6581094B1 (en) * 1999-11-02 2003-06-17 Sun Microsystems, Inc. Apparatus and method for identifying a digital device based on the device's uniform device descriptor file that specifies the attributes of the device in a XML document in a networked environment
JP4135047B2 (ja) 1999-11-17 2008-08-20 ソニー株式会社 情報伝送システム、情報出力装置、情報入力装置および接続関係特定方法
DE60043744D1 (de) * 1999-11-18 2010-03-11 Panasonic Corp Netzwerkverbindungsgerät und netzwerksystem für dessen verwendung
US6445678B1 (en) * 1999-12-07 2002-09-03 Intel Corporation Method and apparatus for implementing leaf node proxy in a network
US6988276B2 (en) 1999-12-14 2006-01-17 Koninklijke Philips Electronics N.V. In-house TV to TV channel peeking
US20010047431A1 (en) * 2000-02-09 2001-11-29 Eytchison Edward B. HAVi-VHN bridge solution
US6901453B1 (en) * 2000-02-16 2005-05-31 Microsoft Corporation Modularization of broadcast receiver driver components
JP2001237862A (ja) * 2000-02-21 2001-08-31 Sony Corp 情報処理装置および方法、並びに記録媒体
US20020078198A1 (en) * 2000-02-25 2002-06-20 Buchbinder John E. Personal server technology with firewall detection and penetration
CN1418336A (zh) * 2000-02-25 2003-05-14 梦屋软件公司 个人服务器技术
AU2001245827A1 (en) 2000-03-17 2001-10-03 America Online, Inc. Home-networking
WO2001076146A1 (en) * 2000-04-04 2001-10-11 Koninklijke Philips Electronics N.V. Accessing an in home network through the internet
US8090811B2 (en) * 2000-06-06 2012-01-03 Panasonic Electric Works Co., Ltd. Service provider for embedded devices using a message store
US6601086B1 (en) * 2000-06-06 2003-07-29 Emware, Inc. Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices
JP2002007320A (ja) * 2000-06-22 2002-01-11 Seiko Epson Corp リモート制御システム
AU2000256423A1 (en) * 2000-06-28 2002-01-08 Microsoft Corporation Remoting general purpose operating system services via a peer networking device control protocol
US7337217B2 (en) * 2000-07-21 2008-02-26 Samsung Electronics Co., Ltd. Architecture for home network on world wide web
KR20020035645A (ko) * 2000-07-26 2002-05-13 요트.게.아. 롤페즈 서버를 기초로한 다수 표준의 홈 네트워크 브리징
US7051101B1 (en) 2000-09-13 2006-05-23 Emc Corporation Methods and apparatus for controlling devices within storage network
US7103906B1 (en) 2000-09-29 2006-09-05 International Business Machines Corporation User controlled multi-device media-on-demand system
CN100579203C (zh) 2000-10-11 2010-01-06 联合视频制品公司 提供数据存储到点播媒体传递系统中服务器上的系统和方法
US7206853B2 (en) * 2000-10-23 2007-04-17 Sony Corporation content abstraction layer for use in home network applications
EP1211895A1 (en) * 2000-11-30 2002-06-05 Deutsche Thomson-Brandt Gmbh Circuit arrangement for processing a band of digital television channels
US7171475B2 (en) 2000-12-01 2007-01-30 Microsoft Corporation Peer networking host framework and hosting API
US20020078161A1 (en) * 2000-12-19 2002-06-20 Philips Electronics North America Corporation UPnP enabling device for heterogeneous networks of slave devices
US7170405B2 (en) * 2000-12-26 2007-01-30 General Electric Company Method and apparatus for interfacing a power line carrier and an appliance
US20030046377A1 (en) * 2000-12-27 2003-03-06 Wolfgang Daum Method and apparatus for appliance service diagnostics
JPWO2002054404A1 (ja) * 2000-12-28 2004-05-13 ソニー株式会社 データ伝送システム及びデータ伝送方法、並びに、電子機器
US20020087964A1 (en) * 2000-12-28 2002-07-04 Gateway, Inc. System and method for enhanced HAVi based device implementation
WO2002054697A1 (en) * 2000-12-28 2002-07-11 Abb Ab Method, system architecture and computer software for communication between devices
KR100750735B1 (ko) * 2001-02-03 2007-08-22 삼성전자주식회사 홈네트워크내의 기기 제어장치 및 방법 및 이를 적용한홈네트워크 시스템
US6941559B2 (en) * 2001-02-28 2005-09-06 Sharp Laboratories Of America Software bus and interface for digital television application software environments
US20020120932A1 (en) * 2001-02-28 2002-08-29 Schwalb Eddie M. Omni menu for an audio/visual network
DE60140857D1 (de) * 2001-03-15 2010-02-04 Sony Deutschland Gmbh Steuerung von Heimnetzwerkgeräten
US20020143969A1 (en) * 2001-03-30 2002-10-03 Dietmar Loy System with multiple network protocol support
DE10129446A1 (de) * 2001-06-19 2003-01-02 Bosch Gmbh Robert Verfahren zur Initialisierung einer verteilten Software Architektur und elektronisches System
US7574723B2 (en) * 2001-07-19 2009-08-11 Macrovision Corporation Home media network
US6963911B2 (en) * 2001-07-19 2005-11-08 General Instrument Corporation Distributed element network management
US7206808B2 (en) * 2001-07-31 2007-04-17 Tandberg Telecom As System and method for managing diverse video network devices via application and interface objects
EP1286501A1 (en) * 2001-08-22 2003-02-26 Thomson Licensing S.A. Method for bridging a UPNP network and a HAVI network
US20030070002A1 (en) * 2001-08-31 2003-04-10 Henry Fang System and method for manipulating HAVi specification virtual key data
US7082200B2 (en) * 2001-09-06 2006-07-25 Microsoft Corporation Establishing secure peer networking in trust webs on open networks using shared secret device key
ATE347764T1 (de) * 2001-09-21 2006-12-15 Koninkl Philips Electronics Nv Gibt es kein spezifisches kontrollmodul? benutzen sie eines das weniger spezifisch ist
AU2002334720B8 (en) * 2001-09-26 2006-08-10 Interact Devices, Inc. System and method for communicating media signals
US7302102B2 (en) * 2001-09-26 2007-11-27 Reynolds Jodie L System and method for dynamically switching quality settings of a codec to maintain a target data rate
US8930486B2 (en) * 2001-09-26 2015-01-06 Intel Corporation System and method for a centralized intelligence network
US7457359B2 (en) * 2001-09-26 2008-11-25 Mabey Danny L Systems, devices and methods for securely distributing highly-compressed multimedia content
US7599434B2 (en) * 2001-09-26 2009-10-06 Reynolds Jodie L System and method for compressing portions of a media signal using different codecs
US7457358B2 (en) * 2001-09-26 2008-11-25 Interact Devices, Inc. Polymorphic codec system and method
US6961099B2 (en) * 2001-10-16 2005-11-01 Sony Corporation Method and apparatus for automatically switching between analog and digital input signals
FR2832578A1 (fr) * 2001-11-22 2003-05-23 Thomson Licensing Sa Procede de telechargement d'un module interface utilisateur au sein d'un reseau domestique et terminal associe au telechargement
EP1315353A1 (en) * 2001-11-23 2003-05-28 Thomson Licensing S.A. Methods for establishing a connection between a first and a second device over a bridge connecting a HAVi-subnetwork to another sub-network
CN100486129C (zh) * 2002-02-05 2009-05-06 纬创资通股份有限公司 用于无线装置访问和管理的动态机器组合方法
KR100420526B1 (ko) 2002-03-15 2004-03-02 엘지전자 주식회사 가전기기 네트워크 시스템 및 그 제어방법
AU2003217489A1 (en) * 2002-03-25 2003-10-08 Matsushita Electric Industrial Co., Ltd. Recording device, recording method, and program
US7181511B1 (en) * 2002-04-15 2007-02-20 Yazaki North America, Inc. System and method for using software objects to manage devices connected to a network in a vehicle
US20030197742A1 (en) * 2002-04-17 2003-10-23 Intelix, L.L.C. Method and apparatus of integrating audio and video hardware with a control system
US9137035B2 (en) 2002-05-09 2015-09-15 Netstreams Llc Legacy converter and controller for an audio video distribution system
EP1504367A4 (en) * 2002-05-09 2009-04-08 Netstreams Llc AUDIO NETWORK DISTRIBUTION SYSTEM
US20030220988A1 (en) * 2002-05-22 2003-11-27 Hymel James A. Method and electronic device for establishing an interface to control an accessory device
US7024256B2 (en) * 2002-06-27 2006-04-04 Openpeak Inc. Method, system, and computer program product for automatically managing components within a controlled environment
US7003527B1 (en) * 2002-06-27 2006-02-21 Emc Corporation Methods and apparatus for managing devices within storage area networks
US8116889B2 (en) 2002-06-27 2012-02-14 Openpeak Inc. Method, system, and computer program product for managing controlled residential or non-residential environments
US6792323B2 (en) 2002-06-27 2004-09-14 Openpeak Inc. Method, system, and computer program product for managing controlled residential or non-residential environments
US7933945B2 (en) 2002-06-27 2011-04-26 Openpeak Inc. Method, system, and computer program product for managing controlled residential or non-residential environments
US7340509B2 (en) 2002-07-18 2008-03-04 General Electric Company Reconfigurable appliance control system
US7383339B1 (en) 2002-07-31 2008-06-03 Aol Llc, A Delaware Limited Liability Company Local proxy server for establishing device controls
US8931010B2 (en) * 2002-11-04 2015-01-06 Rovi Solutions Corporation Methods and apparatus for client aggregation of media in a networked media system
KR100457592B1 (ko) * 2002-12-06 2004-11-17 엘지전자 주식회사 멀티 마스터 기기 연결형 네트워크 시스템 및 그 동작방법
US7756928B1 (en) 2002-12-30 2010-07-13 Aol Inc. Interoperability using a local proxy server
US7315886B1 (en) 2002-12-30 2008-01-01 Aol Llc, A Delaware Limited Liability Company Capability spoofing using a local proxy server
KR100493883B1 (ko) * 2003-01-02 2005-06-10 삼성전자주식회사 애플리케이션 관리 시스템 및 방법
US7987489B2 (en) 2003-01-07 2011-07-26 Openpeak Inc. Legacy device bridge for residential or non-residential networks
US7346071B2 (en) * 2003-01-13 2008-03-18 Bareis Bernard F Broadband multi-drop local network, interface and method for multimedia access
US7493646B2 (en) 2003-01-30 2009-02-17 United Video Properties, Inc. Interactive television systems with digital video recording and adjustable reminders
US20040157548A1 (en) * 2003-02-06 2004-08-12 Eyer Mark Kenneth Home network interface legacy device adapter
US7194700B2 (en) * 2003-03-14 2007-03-20 Sharp Laboratories Of America, Inc. System and method for one-stroke multimedia programming
US7668990B2 (en) * 2003-03-14 2010-02-23 Openpeak Inc. Method of controlling a device to perform an activity-based or an experience-based operation
US8042049B2 (en) 2003-11-03 2011-10-18 Openpeak Inc. User interface for multi-device control
US7213228B2 (en) * 2003-03-17 2007-05-01 Macrovision Corporation Methods and apparatus for implementing a remote application over a network
US7574691B2 (en) * 2003-03-17 2009-08-11 Macrovision Corporation Methods and apparatus for rendering user interfaces and display information on remote client devices
EP1463261A1 (en) * 2003-03-25 2004-09-29 Broadcom Corporation Secure media peripheral association with authentication in a media exchange network
JP2004342081A (ja) * 2003-04-25 2004-12-02 Matsushita Electric Ind Co Ltd 制御装置、電気機器、制御システム、制御方法及び制御プログラム
US7337219B1 (en) 2003-05-30 2008-02-26 Aol Llc, A Delaware Limited Liability Company Classifying devices using a local proxy server
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
FR2859341A1 (fr) * 2003-08-27 2005-03-04 Thomson Licensing Sa Methode de controle entre appareils connectes a un reseau heterogene et appareil implementant la methode
US7136709B2 (en) * 2003-11-04 2006-11-14 Universal Electronics Inc. Home appliance control system and methods in a networked environment
US20050102652A1 (en) * 2003-11-07 2005-05-12 Sony Corporation System and method for building software suite
US20050135628A1 (en) * 2003-11-17 2005-06-23 Sony Corporation System and method for authenticating components in wireless home entertainment system
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US8868698B2 (en) 2004-06-05 2014-10-21 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US8326951B1 (en) 2004-06-05 2012-12-04 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
CN101031882B (zh) * 2004-06-08 2010-09-08 达尔特设备互操作有限公司 用于通用设备互操作性平台的设备组招募和内容再现的体系结构、装置和方法
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
JP4960889B2 (ja) * 2005-01-31 2012-06-27 トムソン ライセンシング 音声ミュート処理によるテキストサービスの表示を可能にする方法及び装置
KR100673687B1 (ko) 2005-03-02 2007-01-24 엘지전자 주식회사 홈 네트워크 시스템
US20060198208A1 (en) * 2005-03-07 2006-09-07 Lantronix, Inc. Publicasting systems and methods
US8160160B2 (en) * 2005-09-09 2012-04-17 Broadcast International, Inc. Bit-rate reduction for multimedia data streams
JP4514798B2 (ja) 2005-09-29 2010-07-28 パイオニア株式会社 中継装置及び中継方法並びに中継処理用プログラム
US8270293B2 (en) * 2005-12-02 2012-09-18 Panasonic Corporation Systems and methods for efficient electronic communication in a distributed routing environment
US8806347B2 (en) * 2005-12-27 2014-08-12 Panasonic Corporation Systems and methods for providing distributed user interfaces to configure client devices
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
US8607287B2 (en) 2005-12-29 2013-12-10 United Video Properties, Inc. Interactive media guidance system having multiple devices
US7640577B2 (en) * 2006-02-14 2009-12-29 Sony Corporation System and method for authenticating components in wireless home entertainment system
EP2000921B1 (en) 2006-03-28 2018-08-22 Panasonic Intellectual Property Management Co., Ltd. Network system
JP4023508B2 (ja) * 2006-03-28 2007-12-19 松下電工株式会社 ネットワークシステム
JP4079175B2 (ja) * 2006-03-28 2008-04-23 松下電工株式会社 ネットワークシステム
WO2007127422A2 (en) * 2006-04-29 2007-11-08 724 Solutions Software Inc. Platform for interoperability
US8327024B2 (en) 2006-04-29 2012-12-04 724 Solutions Software, Inc. System and method for SMS/IP interoperability
EP2016714A2 (en) * 2006-04-29 2009-01-21 724 Solutions Software Inc. Contextual based identity
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
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
US8788080B1 (en) 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
US20090019492A1 (en) 2007-07-11 2009-01-15 United Video Properties, Inc. Systems and methods for mirroring and transcoding media content
US8078592B2 (en) 2007-12-07 2011-12-13 Roche Diagnostics Operations, Inc. System and method for database integrity checking
US20090150877A1 (en) * 2007-12-07 2009-06-11 Roche Diagnostics Operations, Inc. Data driven communication protocol grammar
US8132101B2 (en) 2007-12-07 2012-03-06 Roche Diagnostics Operations, Inc. Method and system for data selection and display
US8019721B2 (en) 2007-12-07 2011-09-13 Roche Diagnostics Operations, Inc. Method and system for enhanced data transfer
US8402151B2 (en) 2007-12-07 2013-03-19 Roche Diagnostics Operations, Inc. Dynamic communication stack
US8128503B1 (en) 2008-05-29 2012-03-06 Livestream LLC Systems, methods and computer software for live video/audio broadcasting
US8601526B2 (en) 2008-06-13 2013-12-03 United Video Properties, Inc. Systems and methods for displaying media content and media guidance information
US10063934B2 (en) 2008-11-25 2018-08-28 Rovi Technologies Corporation Reducing unicast session duration with restart TV
US20100303046A1 (en) * 2009-05-27 2010-12-02 Netstreams, Llc Wireless video and audio network distribution system
US9014546B2 (en) 2009-09-23 2015-04-21 Rovi Guides, Inc. Systems and methods for automatically detecting users within detection regions of media devices
JP5403061B2 (ja) 2009-09-24 2014-01-29 日本電気株式会社 仮想サーバ間通信識別システム、及び仮想サーバ間通信識別方法
US8667100B2 (en) 2010-07-07 2014-03-04 Comcast Interactive Media, Llc Device communication, monitoring and control architecture and method
US11429343B2 (en) 2011-01-25 2022-08-30 Sonos, Inc. Stereo playback configuration and control
US11265652B2 (en) 2011-01-25 2022-03-01 Sonos, Inc. Playback device pairing
US8805418B2 (en) 2011-12-23 2014-08-12 United Video Properties, Inc. Methods and systems for performing actions based on location-based rules
US9674563B2 (en) 2013-11-04 2017-06-06 Rovi Guides, Inc. Systems and methods for recommending content
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
US10303422B1 (en) 2016-01-05 2019-05-28 Sonos, Inc. Multiple-device setup
EP3214819A1 (de) * 2016-03-03 2017-09-06 Siemens Aktiengesellschaft Verfahren zur kopplung eines netzwerkfähigen objektes an ein zentralsystem sowie zentralsystem
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name
US12015498B1 (en) * 2018-11-09 2024-06-18 Amazon Technologies, Inc. Electronic device configuration using dummy devices
US11416210B2 (en) * 2019-06-07 2022-08-16 Sonos, Inc. Management of media devices having limited capabilities

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2725257B2 (ja) * 1987-09-16 1998-03-11 ソニー株式会社 ディジタル記録装置
US4907079A (en) * 1987-09-28 1990-03-06 Teleview Rating Corporation, Inc. System for monitoring and control of home entertainment electronic devices
US4912552A (en) * 1988-04-19 1990-03-27 Control Data Corporation Distributed monitoring system
JPH0398397A (ja) * 1989-09-11 1991-04-23 Mitsubishi Electric Corp 機器制御装置
EP0432316A1 (en) * 1989-12-14 1991-06-19 Koninklijke Philips Electronics N.V. Local communication bus system comprising a set of interconnected devices, a control bus, and a set of signal interconnections, and a device and a switchbox for use in such system
DE69131703T2 (de) * 1990-07-17 2000-02-24 Toshiba Kawasaki Kk AV-System
JP3243803B2 (ja) * 1991-08-28 2002-01-07 ソニー株式会社 Av機器
WO1993010642A1 (en) * 1991-11-19 1993-05-27 Scientific-Atlanta, Inc. Methods and apparatus for communicating program data signals via a remote control unit
GB2268816B (en) * 1992-07-14 1996-01-17 Sony Broadcast & Communication Controlling equipment
JPH0744477A (ja) * 1993-07-30 1995-02-14 Canon Inc マルチメディア機器の制御システム
JPH07191922A (ja) * 1993-12-27 1995-07-28 Nissan Motor Co Ltd プログラマブルコントローラ
JPH08166912A (ja) * 1994-12-14 1996-06-25 Ricoh Co Ltd 遠隔管理装置
JPH08274835A (ja) * 1995-03-29 1996-10-18 Access:Kk 情報コンセントとその通信方法
AU7706596A (en) * 1995-11-13 1997-06-05 Webtronics, Inc. Control of remote devices using http protocol
JPH09247144A (ja) * 1996-03-01 1997-09-19 Mitsubishi Electric Corp 階層型ネットワーク管理方式
US5787259A (en) * 1996-03-29 1998-07-28 Microsoft Corporation Digital interconnects of a PC with consumer electronics devices
JPH10124437A (ja) * 1996-10-24 1998-05-15 Iiguruzu Kk インタフェース制御装置
JPH10155188A (ja) * 1996-11-20 1998-06-09 Toshiba Corp リモコン信号伝送装置及びリモコン信号伝送方法
JPH10285664A (ja) * 1997-04-08 1998-10-23 Kenwood Corp Avシステム

Also Published As

Publication number Publication date
EP1058985A2 (en) 2000-12-13
WO1999035856A3 (en) 1999-08-26
EP1058985B1 (en) 2005-03-02
JP4527279B2 (ja) 2010-08-18
JP2002501244A (ja) 2002-01-15
US6085236A (en) 2000-07-04
WO1999035856A2 (en) 1999-07-15
DE69829221T2 (de) 2006-02-16
AU1634299A (en) 1999-07-26
DE69829221D1 (de) 2005-04-07
ATE290282T1 (de) 2005-03-15

Similar Documents

Publication Publication Date Title
US6349352B1 (en) Home audio/video network with both generic and parameterized device control
EP1058985B1 (en) An audio video network
US6032202A (en) Home audio/video network with two level device control
US6052750A (en) Home audio/video network for generating default control parameters for devices coupled to the network, and replacing updated control parameters therewith
EP1046259B1 (en) Method and system related to 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
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
US20010047431A1 (en) HAVi-VHN bridge solution
US20020087964A1 (en) System and method for enhanced HAVi based device implementation

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid