KR100467579B1 - HAVi 네트워크 시스템의 피제어 장치를non-IEEE1394망을 통해 제어하는 방법 및 그시스템 - Google Patents

HAVi 네트워크 시스템의 피제어 장치를non-IEEE1394망을 통해 제어하는 방법 및 그시스템 Download PDF

Info

Publication number
KR100467579B1
KR100467579B1 KR10-2001-0084106A KR20010084106A KR100467579B1 KR 100467579 B1 KR100467579 B1 KR 100467579B1 KR 20010084106 A KR20010084106 A KR 20010084106A KR 100467579 B1 KR100467579 B1 KR 100467579B1
Authority
KR
South Korea
Prior art keywords
havi
ieee1394
hybrid
message
proxy
Prior art date
Application number
KR10-2001-0084106A
Other languages
English (en)
Other versions
KR20030054023A (ko
Inventor
이민석
육현규
이경훈
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR10-2001-0084106A priority Critical patent/KR100467579B1/ko
Priority to JP2002368801A priority patent/JP3773897B2/ja
Priority to CN02157805A priority patent/CN1430380A/zh
Priority to US10/325,819 priority patent/US7890641B2/en
Publication of KR20030054023A publication Critical patent/KR20030054023A/ko
Application granted granted Critical
Publication of KR100467579B1 publication Critical patent/KR100467579B1/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]
    • H04L12/46Interconnection of 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/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)
  • Selective Calling Equipment (AREA)

Abstract

HAVi 네트워크 시스템의 피제어 장치를 non-IEEE1394 망을 통해 제어하는 방법 및 그 시스템이 개시된다.
본 발명은 HAVi(Home Audio Video interoperability) 네트워크 시스템에 연결된 피제어 장치를 non IEEE1394 망을 통해 제어하는 방법에 있어서, (a) 상기 HAVi 네트워크 시스템에 연결된 제어 장치에 non-IEEE1394 통신모듈 및 프록시 매니저를 설치하는 단계; (b) non-IEEE1394 통신모듈을 구비한 콘트롤러에 하블릿(havlet)과 클라이언트 프록시를 설치하는 단계; (c) 상기 하블릿을 통해 입력된 사용자 제어 명령을 HAVi 메시지로 변환하는 단계; (d) HAVi 메시지를 상기 클라이언트 프록시를 통해 상기 non-IEEE1394 망에서 전달가능한 메시지로 패키징하여 상기 non-IEEE1394 통신모듈을 통해 상기 프록시 매니저로 전송하는 단계; 및 (e) 수신된 메시지로부터 상기 프록시 매니저를 통해 HAVi 메시지를 추출하여 상기 제어 장치에 마련된 메시징 시스템으로 전달하는 단계를 포함한다. 이에 의해, non-IEEE1394 망에서 하블릿을 실행시켜 HAVi 네트워크 시스템에 연결되어 있는 피제어 장치를 제어할 수 있게 된다.

Description

HAVi 네트워크 시스템의 피제어 장치를 non-IEEE1394망을 통해 제어하는 방법 및 그 시스템{Method for controlling HAVi device through non-IEEE1394 network and system therefor}
본 발명은 HAVi 네트워크 시스템에 관한 것으로, 보다 상세하게는 IEEE1394 망을 기반으로 설계된 HAVi 네트워크 시스템에 연결된 피제어 장치를 non-IEEE1394 망을 통해 제어하는 방법 및 그 시스템에 관한 것이다.
HAVi(Home Audio Video interoperability)는 다양한 벤더로부터 공급된 가전기기들을 네트워크로 연결하여 일 가전기기로부터 다른 가전기기를 제어할 수 있게 해주는 홈네트워크 표준규격의 하나이다. HAVi 네트워크에 연결된 기기를 HAVi 디바이스라고 한다. HAVi 디바이스 중 제어를 담당하는 디바이스를 제어 장치라고 하며 제어되는 디바이스를 피제어 장치라고 부른다. HAVi 네트워크의 물리 계층은 IEEE1394 프로토콜에 따른다. IEEE1394 프로토콜은 비동기 전송 및 등시 전송을 지원한다. 비동기 전송은 주로 제어 데이터를 위해 사용되며 등시 전송은 주로 AV (Audio/Video) 데이터를 위해 사용된다.
도 1은 종래 HAVi 네트워크 시스템의 개략도이다.
도 1을 참조하면, HAVi 디바이스들(10,30)은 IEEE1394 망에 연결되어 있다. 참조번호 10은 제어 장치로서 참조 번호 30의 피제어 장치를 제어한다.
제어 장치(10)는 디스플레이 장치(도시되지 않음)를 구비한 제어 장치 FAV(Full AV 디바이스)로서, CMM(Communication Media Manager) 1394(600) 및 메시징 시스템(500)을 탑재하고 있다. 메시징 시스템(500)은 각 엘리먼트들 간, 즉 DCM(400)과 하블릿(800) 또는 DCM(400)과 피제어 장치(30) 간에 HAVi 메시지를 전달해주며, CMM 1394(600)는 IEEE1394 물리 계층을 기반으로 HAVi 메시지를 HAVi 디바이스 간에 비동기적이거나 등시적으로 주고받을 수 있게 해준다.
또한, 제어 장치(10)는 DCM 코드 유닛(200)을 설치함으로써 DCM(Device Control Module)(400)과 FCM(Function Control Module)(300)을 구비하게 된다. DCM(400)은 하블릿(800)을 제공할 수 있는 정보를 가지고 있다. 하블릿(800)은 Java를 기반으로 한 어플리케이션으로서 DCM(400)으로부터 다운로드되어 설치된다. 하블릿(800)은 사용자 인터페이스를 위한 메뉴화면을 가지고 있는 Java 어플리케이션으로서 HJA(HAVi Java API)(900)를 통해 JVM(Java Virtual Machine)(1000) 상에서 실행된다.
하블릿(800)을 통해 입력된 사용자 제어 명령은 메시징 시스템(500)을 거쳐 HAVi 메시지로 변환되어 DCM(400)으로 전달된다. DCM(400)은 전달된 HAVi 메시지에 대응하는 제어 명령 또는 데이터는 다시 메시징 시스템(500) 및 CMM1394(600)를 통해 피제어 장치(30)로 전달된다.
제어 장치(10)는 DTV(Digital Television)이고 피제어 장치(30)는 캠코더라 할 때, 사용자가 하블릿(800)의 메뉴화면을 통하여 캠코더의 제어를 입력하면, 하블릿(800)은 이를 적절한 HAVi 메시지로 만들고, 이 메시지를 DCM(400)으로 전달하며 DCM(400)은 전달된 메시지의 제어명령에 따라 캠코더를 제어한다.
그런데 종래 HAVi 네트워크 시스템에서는 IEEE1394 망을 기반으로 설계되어 있기 때문에 물리적 혹은 논리적으로 외부 망에 연결되어 있다하더라도 그것이 IEEE1394 망이 아니라면 사용되지 않는다. 즉, Ethernet 등 non-IEEE1394 망에서는 하블릿(800)이 동작할 수 없다. 따라서, non-IEEE1394 망을 통해서는 피제어 장치를 제어할 수 없는 문제점이 있다.
따라서, 본 발명의 목적은 non-IEEE1394 망을 통해서도 HAVi 네트워크 시스템에 연결되어 있는 HAVi 디바이스를 제어할 수 있는 방법 및 그 시스템을 제공하는 것이다.
본 발명의 다른 목적은 non-IEEE1394 망에서도 하블릿을 동작시켜 HAVi 네트워크 시스템에 연결된 HAVi 디바이스를 제어할 수 있는 방법 및 그 시스템을 제공하는 것이다.
도 1은 종래 HAVi 네트워크 시스템의 개략도,
도 2는 본 발명의 바람직한 실시예에 따른 네트워크 시스템의 개요도,
도 3은 도 2의 일 구현예,
도 4는 클라이언트 프록시(31)의 전달 모듈 및 프록시 매니저(11)가 패키징한 non-IEEE1394 패킷의 데이터 구조도,
도 5는 본 발명의 바람직한 실시예에 따라 non-IEEE1394 망을 통해 피제어 장치(2)를 제어하기 위한 방법을 설명하기 위한 참고도,
도 6은 본 발명의 바람직한 실시예에 따른 하블릿(80)을 설치하는 과정을 설명하기 위한 참고도,
도 7은 전술한 API를 기초로 하블릿(80)을 설치하는 과정을 포함하여 하블릿(80)을 통해 피제어 장치(2)를 제어하는 방법을 설명하기 위한 참고도이다.
상기 목적은, 본 발명에 따라, HAVi(Home Audio Video interoperability) 네트워크 시스템에 연결된 피제어 장치를 non IEEE1394 망을 통해 제어하는 방법에 있어서, (a) 상기 HAVi 네트워크 시스템에 연결된 제어 장치에 non-IEEE1394 통신모듈 및 프록시 매니저를 설치하는 단계; (b) non-IEEE1394 통신모듈을 구비한 콘트롤러에 하블릿(havlet)과 클라이언트 프록시를 설치하는 단계; (c) 상기 하블릿을 통해 입력된 사용자 제어 명령을 HAVi 메시지로 변환하는 단계; (d) HAVi 메시지를 상기 클라이언트 프록시를 통해 상기 non-IEEE1394 망에서 전달가능한 메시지로 패키징하여 상기 non-IEEE1394 통신모듈을 통해 상기 프록시 매니저로 전송하는 단계; 및 (e) 수신된 메시지로부터 상기 프록시 매니저를 통해 HAVi 메시지를 추출하여 상기 제어 장치에 마련된 메시징 시스템으로 전달하는 단계를 포함하는 것을 특징으로 하는 방법에 의해 달성된다.
상기 (b)단계는 (b1) 상기 콘트롤러가 외부로부터 상기 하블릿, HJA(HAViJava API) 및 상기 클라이언트 프록시를 다운로드받아 설치하는 단계 또는 (b2) 상기 클라이언트 프록시는 상기 프록시 매니저를 통해 상기 하블릿을 다운로드받아 실행가능하도록 설치하는 단계를 포함하는 것이 바람직하다.
상기 (b2)단계는 상기 클라이언트 프록시는 상기 프록시 매니저를 통해 상기 하블릿을 실행하기 위한 HJA(HAVi Java API)를 다운로드받아 설치하는 단계를 포함하는 것이 바람직하다.
상기 (d)단계는 (d1) HAVi 메시지에 상기 non-IEEE1394 헤더를 부가하여 non-IEEE1394 패킷으로 패키징하는 단계를 포함하는 것이 바람직하다.
상기 방법은 (f) 상기 메시징 시스템은 수신된 HAVi 메시지를 상기 피제어 장치를 제어하는 제어 모듈로 전달하는 단계; 및 (g) 상기 제어 모듈은 HAVi 메시지에 대응하는 제어 명령을 상기 피제어 장치로 전달하는 단계를 더 포함한다.
한편, 본 발명의 다른 분야에 따르면 상기 목적은 HAVi 네트워크 시스템에 연결된 제어 장치에 있어서, CMM(Communication Media Manager) 1394; 메시징 시스템; Non-IEEE1394 통신 모듈; 및 상기 non-IEEE1394 통신 모듈을 통해 non-IEEE1394 망과 통신가능하도록 연결되고, 하블릿이 실행가능하도록 설치된 콘트롤러에 마련된 클라이언트 프록시와 상기 non-IEEE1394 망을 통해 통신가능하도록 연결되어 상기 하블릿으로부터의 메시지를 수신하여 상기 메시징 시스템으로 넘겨주고 상기 메시징 시스템으로부터 넘겨받은 메시지를 상기 하블릿으로 전송하는 프록시 매니저를 포함하는 것을 특징으로 하는 제어 장치에 의해서도 달성된다.
상기 제어 장치는 상기 하블릿으로부터 전달된 메시지를 상기 메시징 시스템을 통해 넘겨받아 대응 피제어 장치를 제어하는 DCM(Device Control Module)을 구비하는 것이 바람직하다.
상기 프록시 매니저는 상기 클라이언트 프록시와의 사이에 네트워크 연결을 생성하고 클라이언트 프록시에 식별자를 부여하는 API, 상기 클라 이언트 프록시로 하블릿들에 대한 정보를 제공하는 API, 상기 하블릿을 설치하기 위한 Havlet Code Unit을 제공하는 API, 및 상기 하블릿이 실행된 후 상기 하블릿과 상기 HAVi 네트워크 시스템에 연결된 다른 디바이스나 엘리먼트 사이의 통신을 위한 API를 구비하는 것이 더욱 바람직하다.
한편, 본 발명의 다른 분야에 따르면 상기 목적은 Non-IEEE1394 통신모듈; 자바 가상 머신; 및 외부로부터 하블릿을 다운로드받아 실행가능하도록 설치하는 클라이언트 프록시를 포함하는 것을 특징으로 하는 콘트롤러에 의해서도 달성된다.
상기 클라이언트 프록시는 HAVi 네트워크 시스템의 제어 장치에 설치된 프록시 매니저로부터 하블릿을 다운로드받아 실행가능하도록 설치하는 것이 바람직하다.
상기 클라이언트 프록시는 상기 하블릿을 다운로드하여 설치하는 하블릿 설치 모듈과 상기 하블릿의 동작을 HAVi 네트워크 시스템의 제어 장치에 설치된 프록시 매니저로 전달하는 전달 모듈을 포함하고, 상기 전달 모듈은 상기 하블릿으로부터의 HAVi 메시지를 non-IEEE1394 망으로 전달가능한 non-IEEE1394 패킷으로 패키징하여 non-IEEE1394 망을 통해 상기 프록시 매니저로 전달하는 것이 바람직하다.
상기 콘트롤러는 상기 하블릿을 실행하기 위해 필요한 HJA(HAVi Java API)또는 자바 바이트 코드(Java byte code)를 더 포함하는 것이 바람직하다.
상기 클라이언트 프록시는 비동기적인 메시지를 전달받기 위한 API를 구비하는 것이 더욱 바람직하다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.
도 2는 본 발명의 바람직한 실시예에 따른 네트워크 시스템의 개요도이다.
도 2를 참조하면, HAVi 디바이스들(1,2)이 IEEE1394 망에 연결되어 있다.
참조번호 2의 HAVi 디바이스는 피제어 장치이다. 참조번호 1의 HAVi 디바이스는 제어 장치로서 non-IEEE1394 망에 통신가능하도록 연결되어 있다. 나아가, 콘트롤러(3)가 non-IEEE1394 망에 통신가능하도록 연결되어 있다. Non-IEEE1394 망은 물리 계층의 통신에 있어서 IEEE1394 프로토콜을 사용하지 않는 통신망을 가리킨다. 예를 들면, ethernet을 들 수 있다. 콘트롤러(3)는 하블릿을 실행하여 사용자로부터 입력된 제어 명령을 non-IEEE1394 망을 통해 제어 장치(1)로 전달하고 제어 장치(1)로부터 그 응답을 수신한다.
도 3은 도 2의 일 구현예이다.
도 3을 참조하면, 제어 장치(1)는 디스플레이 장치(도시되지 않음)를 구비한 제어 장치 FAV(Full AV 디바이스)로서 CMM(Communication Media Manager) 1394(60) 및 메시징 시스템(50)을 탑재하고 있다. 메시징 시스템(50)은 각 요소들 간에 HAVi 메시지를 전달해주며, CMM 1394(60)는 IEEE1394 물리 계층을 기반으로 HAVi 메시지를 HAVi 디바이스(1,2) 간에 비동기적이거나 등시적으로 주고받을 수있게 해준다. 또한, 제어 장치(1)에는 DCM 코드 유닛(20)의 설치를 통해 DCM(Device Control Module)(40) 및 FCM(Function Control Module)(30)을 구비한다. DCM(40)은 피제어 장치(2)를 제어할 수 있는 하블릿(80)을 생성할 수 있는 정보를 담고 있다.
나아가, 제어 장치(1)에는 본 발명에 따른 프록시 매니저(Proxy Manager)(11)와 non-IEEE1394 물리 계층을 지원하는 non-IEEE1394 통신 모듈(12)이 설치되어 있다. 프록시 매니저(11)는 non-IEEE1394 망을 통해 하블릿(80)을 콘트롤러(3)로 제공한다. 또한, 콘트롤러(3)로부터 전달된 non-IEEE1394 패킷을 언패키징하여 HAVi 메시지를 추출하여 메시징 시스템(50)으로 전달하고 메시징 시스템(50)으로부터 제공된 HAVi 메시지를 non-IEEE1394 패킷으로 패키징한다.
콘트롤러(3)에는 non-IEEE1394 망을 통해 통신가능하도록 non-IEEE1394 모듈(32)이 설치되어 있으며 하블릿(80)을 실행하기 위한 자바 가상 머신 JVM(Java Virtual Machine)(100)이 설치되어 있다. 또한, 콘트롤러(3)에는 본 발명에 따라 클라이언트 프록시(31)가 설치되어 있다. 클라이언트 프록시(31)는 하블릿(80)을 다운로드하여 설치하는 하블릿 설치 모듈과 하블릿(80)의 동작을 프록시 매니저(11)로 전달하는 전달 모듈로 구성된다. 하블릿 설치 모듈은 하블릿(80)을 다운로드받아 설치하기 위한 컨테이너 역할을 하는 것으로서 미리 설치되어 있어야 한다. 전달 모듈은 미리 설치되거나 외부로부터 다운로드되어 설치되거나 프록시 매니저(11)로부터 다운로드하여 실행된다. 다만, 콘트롤러(3)에 하블릿(80)을 실행할 수 있는 컨테이너가 존재하면, 즉 Java를 실행할 수 있는 환경이제공된다면(Java를 해석하고 실행가능한 웹 브라우저가 설치되어 있다면) 프록시 매니저(11)나 외부로부터 Java 애플릿(applet)으로 다운로드받아 동적으로 실행할 수 있다. 전달 모듈은 하블릿(80)으로부터 제공된 HAVi 메시지를 non-IEEE1394 망으로 전달가능한 non-IEEE1394 패킷으로 패키징한다.
하블릿(80)은 피제어 장치(2)를 제어하기 위한 사용자 인터페이스를 제공하는 어플리케이션이다. 하블릿(80)은 피제어 장치(2)에 대응되도록 마련된다. 즉, 피제어 장치(2)가 캠코더인 경우 대응 하블릿(80)은 캠코더를 제어하기 위해 필요한 메뉴화면이 배치된 사용자 인터페이스를 제공한다. 하블릿(80)을 실행하기 위해 필요한 HJA(HAVi Java API) 또는 자바 바이트 코드(Java byte code)는 콘트롤러(3)에 미리 설치되거나 실행 시점에서 프록시 매니저(11) 또는 외부로부터 동적으로 다운로드되어 실행된다. 이에 따라, non-IEEE1394 망에 접속되어 있는 콘트롤러(3)에서 하블릿(80)이 실행될 수 있다.
도 4는 클라이언트 프록시(31)의 전달 모듈 및 프록시 매니저(11)가 패키징한 non-IEEE1394 패킷의 데이터 구조도이다.
non-IEEE1394 패킷은 non-IEEE1394 헤더와 HAVi 메시지로 구성된다. non-IEEE1394 헤더에는 출발지 정보로서 클라이언트 프록시(31)의 주소(또는 식별자), 목적지 정보로서 프록시 매니저(11)의 주소(또는 식별자)를 포함한다. 나아가, 에러 정정 코드 등 헤더 정보를 더 부가할 수 있다. HAVi 메시지는 출발지 정보 Src(Source), 목적지 정보 Dest(Destination), 메시지 타입 정보, 메시지 길이 정보 Message length, 및 메시지 본문 HAVi Message Body로 구성된다.
이하에서는 본 발명을 구현하기 위해 사용되는 API(Application Program Interface)의 예는 다음과 같다. 본 실시예에서 사용되는 API는 프록시 매니저(11)를 위한 API, 클라이언트 프록시(31)를 위한 API 및 DCM 코드 유닛(20)에 대한 API로 나눌 수 있다. 프록시 매니저 API는 Connect(), Close(), getHavletList(clientId), getHavletCodeUnit(clientId, havletId), getHavletCodeUnitProfile(clientId, havletId), sendMessage(clientId, msg)이다. 클라이언트 프록시 API는 Notification(clientId, msg)이다. DCM 코드 유닛 API는 Dcm::GetHavleCodeUnitProfile과 DCM::GetHavleCodeUnit이 있다. 이들을 각각 설명하면 다음과 같다.
1. Proxy Manger API
Connect()
프록시 매니저(11)와 클라이언트 프록시(31) 사이에 네트워크 연결을 생성하고 클라이언트 프록시(31)에 식별자 ID를 부여한다.
Close(clientId)
파라미터로는 클라이언트 프록시(31)의 식별자 clientId를 가진다. 프록시 매니저(11)와 클라이언트 프록시(31) 사이의 연결을 제거한다.
getHavletList(clientId)
파라미터로는 클라이언트 프록시(31)의 식별자 clientId를 가진다. 응답은 HAVi 네트워크 시스템에 존재하는 하블릿에 대한 정보를 제공하는 것이다. 이에 의해, 클라이언트 프록시(31)로 하블릿들에 대한 정보를 제공하여 클라이언트 프록시(31)가 적절한 하블릿을 선택할 수 있게 된다.
getHavletCodeUnit(clientId, havletId)
파라미터로는 클라이언트 프록시(31)의 식별자 clientId와 하블릿 식별자 havletId를 가진다. 하블릿 식별자 havletId는 getHavletList가 얻어온 하블릿 정보인 Havlet List 중 설치하고자 하는 하블릿의 식별자 ID를 가리킨다. 응답은 해당 하블릿을 설치하기 위한 Havlet Code Unit을 제공하는 것이다. 클라이언트 프록시(31)는 Havlet Code Unit을 얻기 위하여 이를 호출하고 프록시 매니저(11)는 후술하는 DCM::getHavletCodeUnit API를 호출하여 넘겨받은 HavletCodeUnit을 non-IEEE1394 망을 통해서 클라이언트 프록시(31)로 전달한다.
getHavletCodeUnitProfile(clientId, havletId)
파라미터는 클라이언트 프록시(31)의 식별자 clientId와 하블릭 식별자 havletId를 가진다. 하블릿 식별자 havletId는 getHavletList가 얻어온 Havlet List 중 설치하고자 하는 하블릿의 식별자 ID를 가진다. 응답은 해당 Havlet Code Unit을 설치가능한지 여부를 결정하기 위해 필요한 정보 HavletCodeUnitProfile를 제공하는 것이다. 클라이언트 프록시(31)는 콘트롤러(3)에 Havlet Code Unit의 설치가 가능한지 여부를 결정하기 위한 정보를 얻기 위해 호출한다. 프록시 매니저(11)는 후술하는 DCM::getHavletCodeUnitProfile API를 호출하여 넘겨받은 HavletCodeUnitProfile을 non-1394 망을 통하여 클라이언트 프록시(31)에 전달한다.
sendMessage(clientId, msg)
파라미터는 클라이언트 프록시(31)의 식별자 clientId와 하블릿(80)이 DCM 코드 유닛(20)에 전달하고자 하는 HAVi 메시지 msg를 가진다. 응답은 하블릿(80)에 의해 메시지가 처리된 결과를 제공하는 것이다. 하블릿(80)이 실행된 후 하블릿(80)과 DCM(40)이나 다른 HAVi 네트워크 시스템에 연결된 HAVi 디바이스나 엘리먼트 사이의 통신을 위하여 호출된다.
2. Client Proxy API
notifyMessage(clientId, msg)
파라미터로는 클라이언트 프록시(31)의 식별자 clientId와 HAVi 네트워크 시스템에서 발생하는 이벤트나 비동기적인 메시지 msg를 가진다. 응답은 메시지 전달의 성공 여부를 제공하는 것이다. HAVi 네트워크 시스템에서는 이벤트를 비롯하여 CMM 1394(60)의 공지(Notification) 등 클라이언트 프록시(31)에 대한 비동기적인 메시지가 발생된다. 따라서, 이들을 클라이언트 프록시(31) 측으로 전달한다.
3. DCM API
DCM::GetHavletCodeUnit(in long firstByte, in long lastByte, out sequence<octet> byteArray)
파라미터로는 전송받고자 하는 havlet byte code unit array의 첫 번째 바이트의 번호 firstByte, 전송받고자 하는 마지막 바이트의 번호 lastByte, 되돌려 지는 요청된 byte array를 가진다. 응답은 전달의 성공 여부를 제공하는 것이다. 이는 DCM(40)에 저장되어 있는 level 2 어플리케이션인 하블릿(80)을 설치하고 실행하기 위해 havlet code unit을 제공한다.
DCM::GetHavletCodeUnitProfile(out Version version, out long transfersize, out long codeSpace, out long workingSpace, out long chunkSize)
파라미터는 하블릿(80)에 의해 요구되는 메시징 시스템(50)의 최소 버전 version, 전송되는 havlet code unit byte의 크기(즉, the JAR file size) transferSize, havlet code unit이 설치되기 위해 필요한 바이트 수 codeSpace, 설치된 havlet code unit이 필요로 하는 작업 공간 workingSpace 및 DCM(40)이 한 번에 보낼 수 있는 havlet code unit byte의 최대 수 chunkSize를 가진다. 하블릿(80)을 설치하고 실행할 수 있는지 여부를 판단하기 위한 정보를 제공한다.
상기와 같은 구성을 바탕으로 본 발명의 바람직한 실시예에 따라 HAVi 네트워크 시스템에 연결된 피제어 장치를 non-IEEE1394 망을 통해 제어 방법을 설명하면 다음과 같다.
도 5는 본 발명의 바람직한 실시예에 따라 non-IEEE1394 망을 통해 피제어 장치(2)를 제어하기 위한 방법을 설명하기 위한 참고도이다.
도 5를 참조하면, 하블릿(80)은 콘트롤러(3)에 실행가능하도록 설치되어 있다. 사용자가 하블릿(80)의 실행을 요구하면 하블릿(80)은 실행되어 사용자에게 메뉴화면을 표시한다. 사용자가 소정 기능을 수행하기 위한 제어 명령을 입력하면 하블릿(80)은 이를 HAVi 메시지로 변환하여 클라이언트 프록시(31)로 전달한다(단계 1). 클라이언트 프록시(31)는 HAVi 메시지를 non-IEEE1394 패킷으로 패키징하여 non-IEEE1394 망을 통해 프록시 매니저(11)로 전달한다(단계 2). 프록시 매니저(11)는 수신된 non-IEEE1394 패킷을 언패키징하여 HAVi 메시지를 추출하고 추출된 HAVi 메시지를 메시징 시스템(50)을 통해 DCM(40)으로 전달한다(단계 3). DCM(40)은 수신된 HAVi 메시지에 대응되는 제어 명령을 메지싱 시스템(50), CMM 1394(60) 및 IEEE1394 모듈을 통해 피제어 장치(2)로 전달한다(단계 4). 나아가 제어 명령에 따른 피제어 장치(2)의 응답을 HAVi 메시지로 변환하여 메시지 시스템(50)을 통해 프록시 매니저(11)로 넘겨준다(단계 5). 프록시 매니저(11)는넘겨받은 HAVi 메시지를 non-IEEE1394 패킷으로 패키징하여 non-IEEE1394 망을 통해 클라이언트 프록시(31)로 전송한다(단계 6). 클라이언트 프록시(31)는 수신된 non-IEEE1394 패킷을 언패키징하여 HAVi 메시지를 추출하여 하블릿(80)으로 넘겨준다(단계 7).
도 6은 본 발명의 바람직한 실시예에 따른 하블릿(80)을 설치하는 과정을 설명하기 위한 참고도이다.
도 6을 참조하면, 클라이언트 프록시(31)의 하블릿 설치 모듈은 프록시 매니저(11)에게 연결을 요구한다(단계 11). 프록시 매니저(11)가 응답하여 연결이 설정되면(단계 12), 클라이언트 프록시(31)는 프록시 매니저(11)에게 하블릿(80)을 요구한다(단계 13). 프록시 매니저(11)는 DCM(40)에 하블릿(80)을 요구하고(단계 14), DCM(40)으로부터 넘겨받은 하블릿(80)을(단계 16) 클라이언트 프록시(31)로 제공한다(단계 16). 클라이언트 프록시(31)의 하블릿 설치 모듈은 수신된 하블릿(80)을 설치하여 실행시킨다(단계 17). 이후 단계 18 내지 23은 도 5를 참조하여 설명한 그것과 동일하므로 반복되는 설명은 생략한다. 단계 15 내지 16에서 HJA(90) 및 자바 바이트 코드를 함께 제공받을 수도 있으나 전술한 바와 같이 타 소스로부터 다운로드받아 설치하거나 하블릿(80)의 설치 또는 실행 시점에서 동적으로 다운로드받을 수 있다.
도 7은 전술한 API를 기초로 하블릿(80)을 설치하는 과정을 포함하여 하블릿(80)을 통해 피제어 장치(2)를 제어하는 방법을 설명하기 위한 참고도이다.
도 7을 참조하면, 클라이언트 프록시(31)는 Connect()를 호출하여 프록시 매니저(11)로 연결을 요구하고(단계 31), 프록시 매니저(11)의 응답 response(clientId)에 의해 네트워크 연결이 설정된다(단계 32). 클라이언트 프록시(31)가 getHavletList()를 호출하면 프록시 매니저(11)는 response(list)에 의해 리스트를 제공한다(단계 33). 클라이언트 프록시(31)가 getHavletcodeUnitProfile()을 호출하면(단계 35) 프록시 매니저(11)는 DCM::GetHavletCodeUnit()을 통해 DCM(40)으로 프로파일을 요구하고 response()를 통해 해당 프로파일을 넘겨받아(단계 37) response()를 통해 클라이언트 프록시(31)로 전달한다(단계 38). 클라이언트 프록시(31)는 프로파일을 확인한 다음 설치가능하다고 판단될 경우 getHavletCodeUnit()을 호출하고(단계 39) 프록시 매니저(11)는 DCM::GetHavletCodeUnit()를 통해 하블릿(80)을 설치하기 위해 필요한 Havlet Code Unit을 요청하고(단계 40) response()를 통해 넘겨받아(단계 41), response()를 통해 클라이언트 프록시(31)로 제공한다(단계 42). 이에 클라이언트 프록시(31)는 콘트롤러(3)에 하블릿(80)을 설치하고 실행시킨다(단계 43). 하블릿(80)은 사용자로부터 제어 명령을 수신하여 HAVi 메시지로서 클라이언트 프록시(31)로 넘겨주면(단계 44), 클라이언트 프록시(31)는 sendMessage(clientId, msg)를 호출하여 프록시 매니저(11)로 non-IEEE1394 패킷으로 전달하고(단계 45), 프록시 매니저(11)는 non-IEEE1394 패킷으로부터 HAVi 메시지를 추출하고 MessagingSystem::sendReliable(msg)을 통해 DCM(40)으로 전달한다(단계 46). 이에 DCM(40)은 피제어 장치(2)를 제어하고, 그 결과를 MessagingSystem::sendReliable(msg)를 통해 프록시 매니저(11)로 전달하고(단계47), 프록시 매니저(11)는 notifyMessage(clientId,msg)를 통해 클라이언트 프록시(31)로 전송한다(단계 48). 클라이언트 프록시(31)는 하블릿(80)으로 해당 이벤트를 알려준다(단계 49).
전술한 바와 같이, 본 발명에 따르면 non-IEEE1394 망에서 하블릿을 실행시켜 HAVi 네트워크 시스템에 연결되어 있는 피제어 장치를 제어할 수 있게 된다. 즉, Java를 기반으로 이동가능한 어플리케이션인 하블릿을 자바 가상 머신 JVM이 설치되어 있는 non-IEEE1394 망에서 실행시킴으로써 기존에 코딩된 하블릿을 별도의 수정없이 그대로 재사용할 수 있게 해준다.

Claims (16)

  1. HAVi(Home Audio Video interoperability) 네트워크 시스템에 연결된 피제어 장치를 non IEEE1394 망을 통해 제어하는 방법에 있어서,
    (a) 상기 HAVi 네트워크 시스템에 연결된 제어 장치에 non-IEEE1394 통신모듈 및 프록시 매니저를 설치하는 단계;
    (b) non-IEEE1394 통신모듈을 구비한 콘트롤러에 하블릿(havlet)과 클라이언트 프록시를 설치하는 단계;
    (c) 상기 하블릿을 통해 입력된 사용자 제어 명령을 HAVi 메시지로 변환하는 단계;
    (d) HAVi 메시지를 상기 클라이언트 프록시를 통해 상기 non-IEEE1394 망에서 전달가능한 메시지로 패키징하여 상기 non-IEEE1394 통신모듈을 통해 상기 프록시 매니저로 전송하는 단계; 및
    (e) 수신된 메시지로부터 상기 프록시 매니저를 통해 HAVi 메시지를 추출하여 상기 제어 장치에 마련된 메시징 시스템으로 전달하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 (b)단계는
    (b1) 상기 콘트롤러가 외부로부터 상기 하블릿, HJA(HAVi Java API) 및 상기 클라이언트 프록시를 다운로드받아 설치하는 단계임을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 (b)단계는
    (b2) 상기 클라이언트 프록시는 상기 프록시 매니저를 통해 상기 하블릿을 다운로드받아 실행가능하도록 설치하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 (b2)단계는
    상기 클라이언트 프록시는 상기 프록시 매니저를 통해 상기 하블릿을 실행하기 위한 HJA(HAVi Java API)를 다운로드받아 설치하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 (d)단계는
    (d1) HAVi 메시지에 상기 non-IEEE1394 헤더를 부가하여 non-IEEE1394 패킷으로 패키징하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    (f) 상기 메시징 시스템은 수신된 HAVi 메시지를 상기 피제어 장치를 제어하는 제어 모듈로 전달하는 단계; 및
    (g) 상기 제어 모듈은 HAVi 메시지에 대응하는 제어 명령을 상기 피제어 장치로 전달하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. HAVi 네트워크 시스템에 연결된 제어 장치에 있어서,
    CMM(Communication Media Manager) 1394;
    메시징 시스템;
    Non-IEEE1394 통신 모듈;
    상기 non-IEEE1394 통신 모듈을 통해 non-IEEE1394 망과 통신가능하도록 연결되고, 하블릿이 실행가능하도록 설치된 콘트롤러에 마련된 클라이언트 프록시와 상기 non-IEEE1394 망을 통해 통신가능하도록 연결되어 상기 하블릿으로부터의 메시지를 수신하여 상기 메시징 시스템으로 넘겨주고 상기 메시징 시스템으로부터 넘겨받은 메시지를 상기 하블릿으로 전송하는 프록시 매니저를 포함하는 것을 특징으로 하는 제어 장치.
  8. 제7항에 있어서,
    상기 하블릿으로부터 전달된 메시지를 상기 메시징 시스템을 통해 넘겨받아 대응 피제어 장치를 제어하는 DCM(Device Control Module)을 더 포함하는 것을 특징으로 하는 제어 장치.
  9. 제8항에 있어서,
    상기 DCM은 DCM Code Unit에 의해 설치되는 것을 특징으로 하는 제어 장치.
  10. 제7항 내지 제9항 중 어느 한 항에 있어서,
    상기 프록시 매니저는 상기 클라이언트 프록시와의 사이에 네트워크 연결을 생성하고 클라이언트 프록시에 식별자를 부여하는 API, 상기 클라이언트 프록시로 하블릿들에 대한 정보를 제공하는 API, 상기 하블릿을 설치하기 위한 Havlet Code Unit을 제공하는 API, 및 상기 하블릿이 실행된 후 상기 하블릿과 상기 HAVi 네트워크 시스템에 연결된 다른 디바이스나 엘리먼트 사이의 통신을 위한 API를 구비하는 것을 특징으로 하는 제어 장치.
  11. Non-IEEE1394 통신모듈;
    하블릿을 실행하기 위한 자바 가상 머신; 및
    외부로부터 상기 Non-IEEE1394 통신모듈을 통하여 하블릿을 다운로드받아 상기 자바 가상 머신에서 실행가능하도록 설치하는 클라이언트 프록시를 포함하는 것을 특징으로 하는 콘트롤러.
  12. 제11항에 있어서,
    상기 클라이언트 프록시는 HAVi 네트워크 시스템의 제어 장치에 설치된 프록시 매니저로부터 하블릿을 다운로드받아 실행가능하도록 설치하는 것을 특징으로 하는 콘트롤러.
  13. 제12항에 있어서,
    상기 클라이언트 프록시는 상기 하블릿을 다운로드하여 설치하는 하블릿 설치 모듈과 상기 하블릿의 동작을 HAVi 네트워크 시스템의 제어 장치에 설치된 프록시 매니저로 전달하는 전달 모듈을 포함하는 것을 특징으로 하는 콘트롤러.
  14. 제13항에 있어서,
    상기 전달 모듈은 상기 하블릿으로부터의 HAVi 메시지를 non-IEEE1394 망으로 전달가능한 non-IEEE1394 패킷으로 패키징하여 non-IEEE1394 망을 통해 상기 프록시 매니저로 전달하는 것을 특징으로 하는 콘트롤러.
  15. 제11항에 있어서,
    상기 하블릿을 실행하기 위해 필요한 HJA(HAVi Java API) 또는 자바 바이트 코드(Java byte code)를 더 포함하는 것을 특징으로 하는 콘트롤러.
  16. 제11항 내지 제15항 중 어느 한 항에 있어서,
    상기 클라이언트 프록시는 비동기적인 메시지를 전달받기 위한 API를 구비하는 것을 특징으로 하는 콘트롤러.
KR10-2001-0084106A 2001-12-24 2001-12-24 HAVi 네트워크 시스템의 피제어 장치를non-IEEE1394망을 통해 제어하는 방법 및 그시스템 KR100467579B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR10-2001-0084106A KR100467579B1 (ko) 2001-12-24 2001-12-24 HAVi 네트워크 시스템의 피제어 장치를non-IEEE1394망을 통해 제어하는 방법 및 그시스템
JP2002368801A JP3773897B2 (ja) 2001-12-24 2002-12-19 HAViネットワークシステムの被制御装置を非IEEE1394網を通じて制御する方法及びそのシステム
CN02157805A CN1430380A (zh) 2001-12-24 2002-12-19 控制家用视听互操作设备的方法及其系统
US10/325,819 US7890641B2 (en) 2001-12-24 2002-12-23 Method for controlling HAVi device through non-IEEE1394 network and system therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0084106A KR100467579B1 (ko) 2001-12-24 2001-12-24 HAVi 네트워크 시스템의 피제어 장치를non-IEEE1394망을 통해 제어하는 방법 및 그시스템

Publications (2)

Publication Number Publication Date
KR20030054023A KR20030054023A (ko) 2003-07-02
KR100467579B1 true KR100467579B1 (ko) 2005-01-24

Family

ID=19717497

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0084106A KR100467579B1 (ko) 2001-12-24 2001-12-24 HAVi 네트워크 시스템의 피제어 장치를non-IEEE1394망을 통해 제어하는 방법 및 그시스템

Country Status (4)

Country Link
US (1) US7890641B2 (ko)
JP (1) JP3773897B2 (ko)
KR (1) KR100467579B1 (ko)
CN (1) CN1430380A (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100493883B1 (ko) * 2003-01-02 2005-06-10 삼성전자주식회사 애플리케이션 관리 시스템 및 방법
DE10302678A1 (de) * 2003-01-24 2004-07-29 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung von auf dem HAVi-Standard basierten Geräten durch Device Control Module einer OSGi-Plattform
JP2005011283A (ja) * 2003-06-23 2005-01-13 Funai Electric Co Ltd ネットワーク接続可能なコントローラ機器
US20060064730A1 (en) * 2004-09-17 2006-03-23 Jacob Rael Configurable entertainment network
KR100678902B1 (ko) * 2005-05-25 2007-02-06 삼성전자주식회사 A/v 홈 네트워킹을 위한 디지털 tv 프록시 장치 및상기 장치를 포함하는 네트워크 시스템
KR20110119526A (ko) * 2010-04-26 2011-11-02 삼성전자주식회사 Av 인터페이스를 통해 이더넷 데이터를 전송하는 방법 및 장치
JP5650816B1 (ja) * 2013-07-17 2015-01-07 三菱電機株式会社 通信システム、通信装置、通信方法、及び、プログラム
US10048936B2 (en) * 2015-08-31 2018-08-14 Roku, Inc. Audio command interface for a multimedia device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6005861A (en) * 1995-11-22 1999-12-21 Samsung Electronics Co., Ltd. Home multimedia network architecture
US6032202A (en) * 1998-01-06 2000-02-29 Sony Corporation Of Japan Home audio/video network with two level device control
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
KR20010074891A (ko) * 1998-09-10 2001-08-09 밀러 제리 에이 전자 통신을 위한 방법 및 시스템
WO2001076146A1 (en) * 2000-04-04 2001-10-11 Koninklijke Philips Electronics N.V. Accessing an in home network through the internet

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100261112B1 (ko) * 1998-05-06 2000-07-01 윤종용 소정의 프로토콜을 지원하지않는 디바이스의 홈 네트워크 연결시에 디바이스 페이지 생성방법
KR100682459B1 (ko) 1999-06-02 2007-02-15 톰슨 라이센싱 외부 통신 네트워크로부터 홈 네트워크를 제어하는 방법및 디바이스
EP1058422A1 (en) 1999-06-02 2000-12-06 THOMSON multimedia Methods for bridging a HAVi sub-network and a UPnP sub-network and device for implementing said methods
JP4058845B2 (ja) 1999-06-24 2008-03-12 松下電器産業株式会社 ゲートウェイ装置
KR20010092525A (ko) 2000-03-22 2001-10-26 윤종용 인터넷 프로토콜 근간 네트워크 기기로서 비 인터넷프로토콜 근간 네트워크 기기의 제어를 이루는 인터넷프로토콜 인터페이스 장치 및 그 방법
KR100359827B1 (ko) * 2000-11-27 2002-11-07 엘지전자 주식회사 홈 어플라이언스 네트워크 장치 및 방법
KR100416541B1 (ko) * 2000-11-30 2004-02-05 삼성전자주식회사 홈게이트웨이와 홈포탈서버를 이용한 홈네트워크 접근방법 및 그 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6005861A (en) * 1995-11-22 1999-12-21 Samsung Electronics Co., Ltd. Home multimedia network architecture
US6032202A (en) * 1998-01-06 2000-02-29 Sony Corporation Of Japan Home audio/video network with two level device control
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
KR20010074891A (ko) * 1998-09-10 2001-08-09 밀러 제리 에이 전자 통신을 위한 방법 및 시스템
WO2001076146A1 (en) * 2000-04-04 2001-10-11 Koninklijke Philips Electronics N.V. Accessing an in home network through the internet

Also Published As

Publication number Publication date
KR20030054023A (ko) 2003-07-02
US7890641B2 (en) 2011-02-15
JP3773897B2 (ja) 2006-05-10
JP2003264572A (ja) 2003-09-19
CN1430380A (zh) 2003-07-16
US20030149811A1 (en) 2003-08-07

Similar Documents

Publication Publication Date Title
EP1273137B1 (en) Accessing an in home network through the internet
KR100971844B1 (ko) 홈 단말 장치 및 통신 시스템
JP3688464B2 (ja) 端末装置、サーバ装置、通信装置および制御方法
US20030033416A1 (en) Network architecture
JP2003030072A (ja) 遠隔制御代理方法および遠隔制御代理装置
JP4778692B2 (ja) 異種ネットワークに接続された装置間の制御方法及びかかる方法を実施する装置
US7200643B2 (en) Controller and controlling method thereof
JP4404483B2 (ja) 家庭内ネットワークにおける通信方法、かかる方法を実施するためのネットワーク及び機器
KR100467579B1 (ko) HAVi 네트워크 시스템의 피제어 장치를non-IEEE1394망을 통해 제어하는 방법 및 그시스템
JP4559852B2 (ja) ネットワークにおけるデフォルトコネクションの確立方法および関連するソースデバイスおよびシンクデバイス
US9948748B2 (en) Method of receiving/transmitting event message, controlled device, and control point
EP2168305B1 (en) Method of receiving/transmitting event message, controlled device, and control point
TW496040B (en) Communication system and device
JP2002182936A (ja) ネットワーク機器制御装置
WO2004064326A1 (en) Method for processing of messages which are to be transmitted via a transmission medium in a network of distributed stations, as well as a network station
KR100952280B1 (ko) 댁내에 설치되는 주거 게이트웨이의 재부팅을 원격으로제어하는 방법
KR100724353B1 (ko) 간단한 구조의 홈 네트워크 시스템 구현 방법
JP2003015974A (ja) 通信システム
KR100348623B1 (ko) 홈 네트워크의 메시지 송수신 방법
KR101195535B1 (ko) 제너럴 UPnP 미들웨어 어댑터 프로그램을 기록한 컴퓨터 판독 가능한 기록매체 및 이를 이용한 제어 방법
KR20040039043A (ko) UPnP 네트워크 시스템의 제어 메시지 전송 방법

Legal Events

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

Payment date: 20121228

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20131230

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee