KR100577362B1 - Av기기, av기기 제어 장치 및 제어 방법 - Google Patents

Av기기, av기기 제어 장치 및 제어 방법 Download PDF

Info

Publication number
KR100577362B1
KR100577362B1 KR1020030068360A KR20030068360A KR100577362B1 KR 100577362 B1 KR100577362 B1 KR 100577362B1 KR 1020030068360 A KR1020030068360 A KR 1020030068360A KR 20030068360 A KR20030068360 A KR 20030068360A KR 100577362 B1 KR100577362 B1 KR 100577362B1
Authority
KR
South Korea
Prior art keywords
information
module
control command
plug
server
Prior art date
Application number
KR1020030068360A
Other languages
English (en)
Other versions
KR20050018317A (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 PCT/KR2004/001677 priority Critical patent/WO2005015824A1/en
Priority to CNB2004800225527A priority patent/CN100481767C/zh
Priority to RU2006106907/09A priority patent/RU2319309C2/ru
Priority to EP04774095A priority patent/EP1661302A4/en
Priority to AU2004302143A priority patent/AU2004302143B2/en
Priority to US10/912,285 priority patent/US8504637B2/en
Publication of KR20050018317A publication Critical patent/KR20050018317A/ko
Application granted granted Critical
Publication of KR100577362B1 publication Critical patent/KR100577362B1/ko
Priority to US13/947,676 priority patent/US9342141B2/en

Links

Images

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/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • 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
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/2849Audio/video appliances

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Selective Calling Equipment (AREA)

Abstract

본 발명은 AV기기와 AV기기를 제어하기 위한 장치 및 AV기기 제어 방법에 관한 발명으로서, 본 발명에 따른 AV기기 제어 장치는 스크립트를 포함하는 구조화된 문서를 AV기기로부터 수신하여 사용자에게 제공하는 웹 브라우저와, 상기 스크립트에 의해 호출되는 함수를 포함하고, 상기 함수를 이용하여 AV기기로 기정의 프로토콜을 통하여 기기 제어 명령 정보를 전송하는 제1프로그램 모듈을 포함하는데, 상기 AV기기는 상기 구조화된 문서를 상기 AV기기 제어 장치로 전송하는 웹 서버 모듈과 상기 제1프로그램 모듈로부터 상기 프로토콜을 통하여 상기 기기 제어 명령 정보를 수신하고 이에 대응하여 AV기기를 제어하는 제2프로그램 모듈을 포함하는 것을 특징으로 한다.
AV기기 제어

Description

AV기기, AV기기 제어 장치 및 제어 방법{Audio/Video device, Apparatus for controlling the Audio/Video device, and method for this}
도 1a는 웹 브라우저를 이용하여 AV기기를 제어하는 방법을 나타내는 예시도이다.
도 1b는 독립된 클라이언트/서버 프로그램을 이용하여 AV기기를 제어하는 방법을 나타내는 예시도이다.
도 2는 본 발명의 실시에 따른 AV기기 제어 시스템의 구성을 나타내는 예시도이다.
도 3은 본 발명의 실시에 따라 플러그-인 모듈이 클라이언트에서 동작하는 과정을 나타내는 일실시예 처리 흐름도이다.
도 4는 본 발명의 실시에 따라 AV기기를 제어하기 위하여 클라이언트/서버의 연결과정을 나타내는 일실시예 처리 흐름도이다.
도 5a 내지 도 5e는 본 발명의 실시에 따라 AV기기에 관한 정보를 나타내는 파일의 종류를 나타내는 예시도이다.
도 6은 본 발명의 실시에 따라 클라이언트/서버의 연결 해제 과정을 나타내는 일실시예 처리 흐름도이다.
도 7은 본 발명의 실시에 따라 AV기기를 제어하는 과정을 나타내는 일실시예 처리 흐름도이다.
도 8은 본 발명의 실시에 따라 AV기기 제어 및 이벤트 처리에 관한 소스코드를 나타내는 예시도이다.
도 9a 내지 도 9d는 본 발명의 실시에 따른 플러그-인 모듈과 서버 에이전트 사이의 통신을 위한 프로토콜을 나타내는 예시도이다.
도 10a 내지 도 10c는 본 발명의 실시에 따른 플러그-인 모듈과 서버 에이전트 사이의 통신을 위한 명령지원 확인 및 제어 명령에 대한 응답(response) 포맷을 나타내는 예시도이다.
도 11은 본 발명의 실시에 따른 초기 페이지 구성 및 AV기기용 플러그-인 모듈의 사용자 인터페이스를 나타내는 예시도이다.
*도면의 주요 부분에 대한 부호의 설명*
200: AV기기 제어 장치
210: AV기기
220: 웹 브라우저
230: HTML 문서
240: 플러그-인 모듈
250: 웹 서버
260: 서버 에이전트
본 발명은 웹 브라우저를 이용한 오디오/비디오(Audio/Video, 이하 'AV'라고 한다) 기기 제어에 관한 것으로서, 보다 상세하게는, DTV 와 같이 사용자와 상호 작용할 수 있는 사용자 인터페이스가 있는 기기에 웹 브라우저와 AV기기를 제어하는 프로그램을 탑재하여 다른 AV 기기를 제어하는 방법에 관한 것이다.
일반적으로 홈 네트워크를 구성하는 AV기기들을 제어하기 위하여 DTV 또는 PDA 등 사용자 인터페이스가 있는 기기에 웹 브라우저를 탑재하여 AV기기 내에 있는 각각의 웹 서버와 접속함으로써 AV기기를 제어하는 방법이 있다. 또다른 AV기기 제어 방법으로는 AV기기를 제어하기 위한 별도의 클라이언트/서버 프로그램을 탑재하여 AV기기를 제어하는 방법이 있다.
도 1a는 상기 방법 중 웹 브라우저를 이용하여 AV기기를 제어하는 방법을 나타내고 있다. 이러한 경우에는 DTV, PDA 등과 같이 AV기기를 제어하기 위한 사용자 인터페이스를 구비하는 클라이언트 기기(100)로부터 HTTP 프로토콜을 통하여 요구(request)를 수신하고 이에 대한 처리를 수행한 후 다시 HTTP 프로토콜을 이용하여 상기 클라이언트 기기(100)로 전송해 주는 피제어 AV기기(110)의 서버측 웹 서버와 상기 웹 서버로 HTTP 프로토콜을 이용하여 요구(request)를 전송하고 그 응답을 수신하는 클라이언트측 웹 브라우저로 구성된다.
우선, 사용자는 클라이언트(100)에 있는 웹 브라우저를 실행하고, 상기 웹 브라우저를 통해 제어하고자 하는 AV기기의 URL로 접속한다. 이 때, 상기 웹 브라우저는 대상 기기(110)의 웹 서버에 바로 접속한다. 대상 기기(110)의 웹 서버는 클라이언트(100)로 기설정된 홈페이지를 전송한다. 사용자는 웹 브라우저를 통하여 대상 기기(110)가 제공하는 홈페이지에서 기기(110)가 제공하는 제어 서비스를 사용한다. 예를 들어, D-VHS 가 대상 기기인 경우 "PLAY" 명령 등을 수행한다. 웹 서버는 CGI 내에서 기기 고유의 함수를 호출하여 사용자의 명령을 실행하고, 그 결과를 클라이언트(100)로 전송한다. 이 때, 상기 결과는 HTML 코드의 형태로 전송된다. 상기 결과를 전송받은 클라이언트측 웹 브라우저는 해당 결과를 사용자에게 제공하게 된다.
상기와 같이 웹 브라우저를 사용하여 제어하고자 하는 AV기기에서 제공하는 홈페이지를 통하여 상기 AV기기가 제공하는 제어 명령을 실행하는 것은 기기에 대한 자세한 내용을 알지 못해도 AV기기를 제어할 수 있다는 장점이 있다. 그러나, AV기기에 다른 클라이언트에 의해 이벤트가 발생하거나 AV기기 내부의 상태 변화에 의해 이벤트가 발생하였을 경우에는 상기 이벤트의 발생 여부를 알 수가 없다는 단점이 있다. 즉, 웹 브라우저에 이미 로드되어 있는 AV기기의 홈페이지는 이벤트 발생에 의한 상태 변화가 반영되어 있지 않기 때문에 정상적으로 동작하지 않을 수 있다. 예를 들어, 대상 기기의 홈페이지가 호출될 때는 상기 대상 기기가 정지상태였는데, 다른 클라이언트에 의해서 재생 상태로 변경되었을 경우 이미 웹브라우저에 로드되어 있는 홈페이지에서는 사용자가 재생 버튼을 클릭해도 실제로 상기 대상 기기에서는 일시정지가 될 수 있다. 또한, 대상 AV기기에 이벤트 발생 여부를 알 수 없기 때문에 웹 브라우저에 로드되어 있는 AV기기의 홈페이지를 다시 로드하여 최신의 데이터를 유지할 수 있는 방법이 없다.
도 1b는 또다른 AV기기 제어 방법으로서, 독립된 클라이언트/서버 프로그램을 이용하여 AV기기를 제어하는 방법을 나타내고 있다. 이러한 경우에는 클라이언트(120)로부터 독자적인 프로토콜을 통하여 요구(request)를 수신하고, 상기 요구(request)에 대한 처리를 수행한 후 다시 상기 프로토콜을 이용하여 클라이언트(120)로 전송해 주는 서버측 프로그램(이하, '서버 에이전트'라고 한다)을 포함하는 AV기기(130)와 상기 AV기기(130)로 상기 프로토콜을 통하여 요구(request)를 전송하고, 상기 요구(request)에 대한 응답을 수신하며, 후술할 사용자 인터페이스 모듈과 통신하는 클라이언트측 프로그램(이하, '클라이언트 에이전트'라고 한다)을 포함하는 클라이언트(120)로 구성된다. 이 때, 상기 서버 에이전트는 상기 서버(130)에 소정의 이벤트가 발생했을 때 이에 대한 내용을 클라이언트(120)로 전송해 준다. 한편, 상기 사용자 인터페이스 모듈은 상기 클라이언트(120)내에 존재하는데, 사용자와 상호 작용하여 사용자의 입력을 받고, 또 그 입력의 수행여부에 대한 결과를 사용자에게 제공해 준다.
상기와 같이 클라이언트/서버간에 독립된 프로그램 모듈을 사용하는 경우에 사용자는 사용자 인터페이스 모듈에서 제공하는 메뉴를 실행한다. 그리고나서, 사용자는 상기 메뉴에서 제어하고자 하는 대상 기기를 선택하고 해당 기기의 제어 명령, 예컨대 서버(130)가 AV데이터 재생 장치인 경우 AV데이터를 재생하기 위한 "PLAY" 명령을 선택한다. 이 때, 상기 사용자 인터페이스 모듈은 사용자의 요구를 클라이언트 에이전트 모듈로 전송한다. 클라이언트 에이전트 모듈은 독자적인 프로토콜을 이용하여 서버(130)의 서버 에이전트 모듈로 사용자의 요구를 전송한다. 서 버 에이전트 모듈은 클라이언트로부터 상기 요구를 수신하고, 상기 요구를 처리하는 함수를 호출하여 명령을 실행하고, 그 결과를 상기 프로토콜을 이용하여 상기 클라이언트 에이전트 모듈로 전송한다. 그리고나서, 상기 클라이언트 에이전트 모듈은 결과를 수신하고 사용자 인터페이스 모듈로 전송한 후, 상기 사용자 인터페이스 모듈은 수신된 결과를 사용자에게 제공한다. 만일, 서버(130)에 다른 클라이언트에 의해서 또는 서버(130) 내부의 상태 변화에 의해서 이벤트가 발생하면 상기 서버 에이전트 모듈은 상기 클라이언트 에이전트 모듈에게 이벤트의 발생 내역을 전송한다. 그리고, 상기 클라이언트 에이전트 모듈은 이벤트의 발생 내역을 수신하고 그 내용을 사용자 인터페이스 모듈로 전송하고, 상기 사용자 인터페이스 모듈은 수신된 이벤트에 따라 적절한 메시지를 사용자에게 나타낸다.
상기와 같이 클라이언트/서버간에 독립된 프로그램 모듈을 사용하는 경우에는 서버 에이전트 모듈과 클라이언트 에이전트 모듈을 잘 설계하면 제어 대상 기기에 이벤트가 발생했는지 여부에 대한 사항도 쉽게 알 수 있다는 장점이 있으나, 클라이언트(120)에서 제어 대상 기기가 무엇인지를 잘 알고 있어야 한다. 따라서, 만약 각각의 서버 에이전트들이 설치된 후에 클라이언트 에이전트에 등록이 되지 않은 새로운 AV기기가 존재하는 경우에는 정상적으로 제어 명령을 수행할 수 없다. 즉, 이미 존재하는 AV기기들에 대해서는 제어할 수 있으나, 향후 출시될 새로운 형태의 AV기기에는 대응하기 어렵다는 단점이 있다.
본 발명은 상기한 문제점을 개선하기 위해 안출된 것으로, 본 발명에서는 AV 기기의 상세한 내용을 알지 못하더라도 편리한 방법으로 쉽게 AV기기를 제어할 수 있고, 제어하고자 하는 AV기기에 이벤트가 발생할 경우에 제어 장치에서 이벤트 발생 여부를 쉽게 감지하는 방법을 제안한다.
상기 목적을 달성하기 위하여, 본 발명의 실시에 따른 AV기기 제어 장치 는 스크립트를 포함하는 구조화된 문서를 AV기기로부터 수신하여 사용자에게 제공하는 웹 브라우저와, 상기 스크립트에 의해 호출되는 함수를 포함하고, 상기 함수를 이용하여 기정의된 프로토콜을 통하여 AV기기로 기기제어 명령 정보를 전송하는 제1프로그램 모듈을 포함하는데, 상기 AV기기는 상기 구조화된 문서를 상기 AV기기 제어 장치로 전송하는 웹 서버 모듈과 상기 클라이언트 프로그램 모듈로부터 상기 프로토콜을 통하여 상기 기기제어 명령 정보를 수신하고 이에 대응하여 AV기기를 제어하는 서버 프로그램 모듈을 포함하는 것을 특징으로 한다.
바람직하게는 상기 서버 프로그램 모듈은 상기 AV기기에서 이벤트가 발생한 경우에 이에 대응하는 이벤트 정보를 상기 프로토콜을 통하여 상기 클라이언트 프로그램 모듈로 전송하고, 상기 클라이언트 프로그램 모듈은 수신한 이벤트 정보를 상기 웹 브라우저를 통하여 사용자에게 제공하는 것을 특징으로 한다. 또한, 바람직하게는 상기 기기제어 명령 정보는 채널 제어 정보, 음량 제어 정보, 재생 제어 정보 등을 포함하는 것을 특징으로 한다.
한편, 상기 목적을 달성하기 위하여, 본 발명의 실시에 따른 AV기기는 스크립트를 포함하는 구조화된 문서를 AV기기 제어 장치로 전송하는 웹 서버 모듈과 상 기 AV기기 제어 장치로부터 기정의된 프로토콜을 통하여 기기제어 명령 정보를 수신하고 이에 대응하여 기기를 제어하는 서버 프로그램 모듈을 포함하는데, 상기 AV기기 제어 장치는 상기 구조화된 문서를 제공하는 웹 브라우저와 상기 스크립트에 의해 호출되는 함수를 포함하고, 상기 함수를 이용하여 상기 프로토콜을 통하여 상기 기기제어 명령 정보를 전송하는 클라이언트 프로그램 모듈을 포함하는 것을 특징으로 한다.
바람직하게는 상기 서버 프로그램 모듈은 상기 AV기기에서 이벤트가 발생한 경우에 이에 대응하는 이벤트 정보를 상기 프로토콜을 통하여 상기 클라이언트 프로그램 모듈로 전송하고, 상기 클라이언트 프로그램 모듈은 수신한 이벤트 정보를 상기 웹 브라우저를 통하여 사용자에게 제공하는 것을 특징으로 한다. 또한, 바람직하게는 상기 기기제어 명령 정보는 채널 제어 정보, 음량 제어 정보, 재생 제어 정보를 포함하는 것을 특징으로 한다.
한편, 상기 목적을 달성하기 위하여, 본 발명의 실시에 따른 AV기기 제어 방법은 네트워크에 연결된 AV기기로부터 각각의 AV기기 정보를 수집하여 사용자에게 제공하는 제1단계와, 상기 제공된 AV기기 정보들 중에서 사용자가 특정한 AV기기를 선택하는 경우, 상기 선택된 AV기기를 제어하기 위한 제어 항목 메뉴를 상기 AV기기로부터 수신하여 제공하는 제2단계와, 상기 제2단계로부터 제공된 메뉴로부터 사용자가 특정한 제어 항목을 선택하면, 상기 제어 항목에 해당하는 기기제어 명령 정보를 기정의된 프로토콜을 이용하여 상기 선택된 AV기기로 전송하는 제3단계, 및 상기 AV기기에서 이벤트가 발생된 경우, 상기 AV기기로부터 상기 이벤트에 관한 이 벤트 정보를 상기 프로토콜을 이용하여 수신하고, 상기 수신한 이벤트 정보에 대응하는 처리를 하는 제4단계를 포함하는 것을 특징으로 한다.
바람직하게는 상기 제3단계는 상기 제2단계로부터 제공된 메뉴로부터 사용자가 특정한 제어 항목을 선택하면, 상기 제어 항목에 해당하는 스크립트가 기기제어 명령 정보를 전송하기 위한 함수를 호출하는 제3-1단계, 및 상기 호출된 함수가 상기 기기제어 명령 정보를 기정의된 프로토콜을 이용하여 상기 선택된 AV기기로 전송하는 제3-2단계를 포함하는 것을 특징으로 한다.
바람직하게는 상기 AV기기 정보는 기기 이름 정보, 기기를 나타내는 이미지 정보, 기기 모델 정보, 기기가 제공하는 제어 기능 정보, 상기 기능을 구현하기 위한 스크립트 정보를 포함하는 것을 특징으로 한다.
또한, 바람직하게는 상기 기기제어 명령 정보는 채널 제어 정보, 음량 제어 정보, 재생 제어 정보를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 일실시예에 따른 AV기기 제어를 위한 장치 및 방법에 대하여 구체적으로 설명하도록 한다.
도 2는 본 발명의 실시에 따른 AV기기 제어 시스템의 구성을 나타내는 예시도로서, 다른 AV기기를 제어하고자 하는 기기에 해당하는 클라이언트(200)와 상기 클라이언트(200)의 제어를 받는 AV기기에 해당하는 서버(210)로 구성된다.
이 때, 클라이언트(200)는 서버(210)를 제어하기 위한 웹 브라우저(220)를 포함하고 있는데, 상기 웹 브라우저(220)는 자바 스크립트와 같은 스크립트가 기술된 HTML파일(230)과 상기 웹 브라우저(220)에 의해 로딩(loading)되는 플러그-인 모듈(240)을 포함한다. 한편, 서버(210)는 상기 웹 브라우저(220)에 대하여 서버(210)의 웹 페이지를 제공하는 웹 서버(250)와 실질적으로 AV기기를 제어하는 역할을 하는 서버 에이전트(260)로 구성된다. 이 때, 플러그-인 모듈(240)은 웹 브라우저(220)에 연결되어 각종 형태의 자료를 처리하고, 그 결과를 표현하는 프로그램 모듈로서, 웹 브라우저(220)에 의해 자동으로 인식되고, 플러그-인 모듈(240)의 기능도 HTML파일 내에 통합되어 마치 웹 브라우저(220)에서 직접 실행하는 것과 같은 효과를 제공한다.
도 3은 플러그-인 모듈(240)이 클라이언트(200)에서 동작하는 과정을 나타내는 일실시예 처리 흐름도이다.
플러그-인 모듈(240)이 동작하기 위해서는 우선 플러그-인 모듈(240)을 작성하고(S310), 웹 브라우저(220)에 특정 mime type으로 정의된 플러그-인 모듈(240)을 등록한다(S320). 그리고, 클라이언트(200)의 웹 브라우저(220)에서 AV기기의 웹 서버(250)로 접속하고(S330), 상기 웹 서버(250)로부터 HTML파일(230)을 수신한다. 이 때, HTML파일(230)을 작성하는 쪽에서 플러그-인 모듈(240)에 관련된 태그 및 스크립트를 상기 HTML 파일(230) 내에 추가하고, 상기 HTML파일(230)을 로딩(loading)한 웹 브라우저(220)는 상기 HTML파일(230) 내의 스크립트에 따라 해당 플러그-인 모듈(240)을 실행시킨다(S350, S360, S370). 웹 브라우저(220)에 의해 실행된 플러그-인 모듈(240)은 서버 에이전트(260)와 연동하여 기정의된 작업을 수행하게 된다(S380). 즉, 서버(210)의 서버 에이전트(260)에 접속하여 제어 명령을 전송하고, 상기 서버 에이전트(260)로부터 이벤트 메시지를 수신하며, 웹 브라 우저(220)에 의해 로딩(loading)된 HTML파일(230) 내의 스크립트와 연동 작업을 수행하게 된다. 한편, 웹 브라우저(220)가 사용자의 입력이나 기타 다른 상황에 의해 다른 HTML파일을 로딩(loading)할 경우에는 이미 수행하고 있는 플러그-인 모듈(240)은 종료하게 되고, 새롭게 로딩(loading)된 HTML파일 내에 플러그-인 모듈(240)과 관련된 태크 및 스크립트가 존재하면 상기와 같은 제어 명령 전송 또는 서버 에이전트(260)로부터의 이벤트 수신을 수행하게 된다.
한편, AV기기를 제어하지 않고 일반적인 리소스에 접근하기 위해서는 상기 웹 브라우저(220)는 웹 서버(250)에 대하여 웹 페이지를 요청하고, 상기 요청에 대하여 웹 서버(250)는 웹 브라우저(220)에 대하여 상기 웹 페이지를 제공한다.
그러나, AV기기를 제어하는 경우에는 HTML파일(230)내에 있는 스크립트가 플러그-인 모듈(240)을 실행시킨다. 그리고 나서, 상기 플러그-인 모듈(240)이 독자적인 프로토콜을 이용하여 서버(210)내에 있는 서버 에이전트(260)에게 제어 메시지를 전송하고, 상기 서버 에이전트(260)는 내부 함수를 호출함으로써 AV기기를 제어하게 된다. 또한, 클라이언트(200)가 플러그-인 모듈(240)을 이용하여 서버(210)내에 있는 서버 에이전트(260)에 대하여 이벤트 등록을 할 경우에는, 서버(210)측에서 이벤트 발생시 서버 에이전트(260)는 발생된 이벤트 정보를 플러그-인 모듈(240)로 전송하게 된다.
도 4는 본 발명의 실시에 따라 AV기기를 제어하기 위하여 클라이언트/서버의 연결과정을 나타내는 일실시예 처리 흐름도이다.
사용자는 클라이언트에 있는 웹 브라우저를 실행시켜서 초기 페이지에 접속 한다(S410). 상기 초기 페이지는 네트워크에 연결된 AV 기기의 목록을 포함하고 있는 것으로서 네트워크에 연결된 AV 기기의 디스커버리(discovery) 및 설명(description) 단계를 통해 생성하거나, 스크립트에 의해서 동적으로 생성될 수 있다. 예를 들어, 연결된 AV기기의 검색은 모든 브로드캐스트 ARP 패킷을 체크하여 인터넷 주소(IP address)의 목록을 수집하여 이루어질 수 있다. 한편, 상기 초기 페이지는 클라이언트의 지정된 URL에 존재한다. 연결된 AV기기의 검색이 종료된 후에는 [표 1]에서 나타내고 있는 파일들을 각각의 AV기기의 초기 URL에서 가져온다. 이 때 "server"는 서버의 인터넷 주소(IP address)를 나타내고, "port"는 상기 서버의 포트 번호를 나타낸다. 도 5a 내지 도 5e는 상기 [표 1]에서 나타내고 있는 파일들의 예를 나타내고 있다.
Figure 112003036802039-pat00001
초기 페이지에 접속된 후에는 초기 페이지용 플러그-인 모듈이 실행된다(S412). 실행된 플러그-인 모듈은 네트워크에 연결된 AV기기들의 서버 에 이전트에 접속하고, 서버 에이전트는 서버에서 이벤트 발생시 이벤트 메시지를 플러그-인 모듈로 전송한다(S414). 상기 플러그-인 모듈은 상기 이벤트 메시지를 수신하고, 초기 페이지에 상기 이벤트 정보를 나타낸다(S416). 만일, 이벤트가 발생되지 않는 경우는 상기 S414와 S416과정을 거치지 않을 수도 있다.
사용자는 웹 브라우저에 표시된 기기 목록을 중에서 제어하고자 하는 기기를 선택한다(S418). 상기 웹 브라우저는 선택된 기기의 웹 서버에 접속하고, 상기 웹 서버는 자신의 초기 HTML 파일을 상기 웹 브라우저로 전송한다(S420, S422). 상기 웹 브라우저는 수신한 HTML 파일내에 있는 정보를 바탕으로 상기 웹 브라우저에 설치된 AV 기기용 플러그-인 모듈을 실행시킨다. 이 때, HTML파일에 포함된 내용에 따라 플러그-인 모듈을 실행하고, 플러그-인 모듈에 대한 내용이 있을 때만 실행시킨다(S424, S426).
실행되는 플러그-인 모듈은 HTML 내에 있는 정보에 따라 서버의 서버 에이전트에 접속한다. 이러한 동작만으로도 이벤트 등록 작업은 완료될 수 있으나 별도로 이벤트 등록 작업을 할 수도 있다. 이러한 작업이 완료되면 상기 서버 에이전트를 통하여 서버에서 발생한 이벤트를 수신할 수 있다(S428, S430).
사용자가 웹 브라우저에 있는 다른 기기에 대한 링크를 선택하면 웹 브라우저는 S420 단계로 이동하여 선택한 기기 웹 서버에 접속한다. 이 때, 웹 브라우저에 플러그인이 실행되어 있으면 실행을 종료한다. 이러한 작업만으로도 이벤트 등록 해제 작업은 완료될 수 있으나 별도로 이벤트 해제 작업을 할 수도 있다.
사용자가 다른 기기 링크를 선택하지 않으면 연결된 기기에 대한 제어를 시 작하게 된다.
도 6은 본 발명의 실시에 따라 클라이언트/서버의 연결 해제 과정을 나타내는 일실시예 처리 흐름도이다.
우선, 클라이언트 내에 있는 플러그-인 모듈이 서버에 있는 서버 에이전트에 대하여 이벤트 가입 해제 요청을 하면(S610), 상기 서버 에이전트는 상기 플러그-인 모듈이 이벤트를 수신하지 않도록 한다(S615). 그리고나서, 동작하고 있던 기기 제어용 플러그-인 모듈과 초기 페이지용 플러그-인 모듈을 차례로 종료한 후, 마지막으로 웹 브라우저가 종료된다(S620, S625, S630).
도 7은 본 발명의 실시에 따라 AV기기를 제어하는 과정을 나타내는 일실시예 처리 흐름도이다.
사용자가 웹 브라우저에 있는 제어 명령을 선택하면, 선택된 제어 명령에 연결된 스크립트를 실행하고, 상기 스크립트는 플러그-인 모듈과 통신하여 사용자가 선택한 제어 명령을 플러그-인 모듈에 전달한다.
플러그-인 모듈은 자신이 접속되어 있는 서버의 서버 에이전트에 해당 제어 명령을 전송한다(S710). 이 때, 제어 명령의 포맷은 CEA-931B 와 같은 것을 사용할 수 있다. 서버의 서버 에이전트는 상기 제어 명령을 수신하고(S70), 그에 해당하는 작업을 수행한 후에 다시 클라이언트의 플러그-인 모듈로 작업 수행의 결과를 전송한다(S730). 이 때, 작업 수행의 결과는 CEA-931B 에서 정의된 것과 같은 것을 사용할 수 있다. 클라이언트의 플러그-인 모듈은 해당 명령의 결과를 수신하고 HTML 내의 스크립트에 전달한다(S740). 이 때, HTML 내의 스크립트는 명령의 결과를 수 신하고 그에 따른 정의된 동작을 수행한다. 예를 들면, 새로운 웹 페이지를 다시 로딩(loading)하는 "reload"와 같은 작업을 수행할 수 있다. 한편, 서버에 상태가 변하는 등의 이벤트가 발생하면 (예를 들어, 재생중 이었다가 정지가 되는 경우 등) 서버는 자신의 서버 에이전트 모듈에 접속되어 있는 모든 클라이언트의 플러그-인 모듈에 이벤트 메시지를 전송한다(S750). 이벤트 메시지를 전송받은 클라이언트의 플러그-인 모듈은 해당 이벤트 메시지를 현재 웹 브라우저에 로드되어 있는 HTML 페이지에 있는 스크립트에 전달한다(S760). HTML 내의 스크립트는 명령의 결과를 수신했을 때와 마찬가지로 이벤트 메시지를 수신하고 그에 따른 정의된 동작을 수행한다. (예를 들어, reload 와 같은 작업) 이 때, 사용자가 다른 기기 링크를 선택하면 AV 기기용 플러그-인 모듈이 실행중인 경우 상기 플러그-인 모듈은 종료하게 된다.
도 8은 본 발명의 실시에 따라 AV기기 제어 및 이벤트 처리에 관한 소스코드를 나타내는 예시도이다.
클라이언트에는 웹 브라우저와 플러그-인 모듈이 설치되어 있고, 서버에는 웹 서버와 서버 에이전트가 설치되어 있다. 클라이언트는 디바이스 검출 단계에서 알아낸 디바이스 목록을 통해 제어를 하고자 하는 서버에 접속한다. 서버는 클라이언트에게 제어를 위해 "index.html" 페이지를 전달해 준다. 웹 브라우저는 HTML 내에 있는 EMBED 태그를 보고 정의된 type 에 맞는 플러그-인 모듈을 로딩(loading)한다. 사용자가 "Play"를 선택하면 자바 스크립트 함수인 "setPlay()"를 실행한다. 자바 스크립트 함수인 "setPlay()"는 플러그-인 모듈의 함수인 "sendEvent()"를 호 출한다. 플러그-인 모듈은 "sendEvent()" 내에서 먼저 query 명령을 사용하여 "play"가 서버에서 지원되는 지를 확인하고, 지원되는 경우는 제어 명령을 사용하여 서버로 "play" 명령을 전송한다. "play" 명령을 수신한 서버는 내부의 API 함수를 사용하여 "play" 명령을 수행하고 그 결과를 클라이언트의 플러그-인 모듈에게 전달한다. "play" 명령에 의해 내부 상태가 바뀌게 된 서버는 이벤트 등록이 되어 있는 다른 모든 클라이언트의 플러그-인 모듈에게 이벤트 메시지를 전송한다. 서버의 이벤트 메시지를 수신한 플러그-인 모듈은 현재 웹 브라우저에 로딩(loading)되어 있는 HTML 의 자바 스크립트 함수인 onEvent() 를 호출한다. 자바 스크립트 함수인 onEvent() 는 플러그-인 모듈이 전달한 서버의 이벤트 메시지에 해당하는 동작을 수행한다. 예를 들어, "reload"하도록 정의되어 있다면 웹 브라우저의 HTML 파일을 서버로부터 새롭게 수신하도록 웹 브라우저에게 알린다. 결과적으로, 웹 브라우저는 서버로부터 새로운 HTML 파일을 수신하게 된다.
도 9a 내지 도 9d는 본 발명의 실시에 따른 플러그-인 모듈과 서버 에이전트 사이의 통신을 위한 프로토콜을 나타내는 예시도이다. 도 9a에서는 명령 지원 확인 및 제어 명령에 대한 요구(request) 포맷을 나타내고 있고, 도 9b에서는 명령 포맷의 예를 나타내고 있다. 도 9c와 도 9d에서는 본 발명의 실시에 따른 제어 명령 목록과 이벤트 목록을 나타내고 있다.
도 10a 내지 도 10c는 본 발명의 실시에 따른 플러그-인 모듈과 서버 에이전트 사이의 통신을 위한 명령지원 확인 및 제어 명령에 대한 응답(response) 포맷을 나타내는 예시도이다. 응답(response)은 HTTP의 일반적인 응답을 사용하며, HTTP헤 더에 도 10에 나타낸 값들을 포함하도록 한다.
도 11은 본 발명의 실시에 따른 초기 페이지 구성 및 AV기기용 플러그-인 모듈의 사용자 인터페이스를 나타내는 예시도이다.
초기 페이지(1110)는 클라이언트와 연결된 AV기기들을 나타내고 있고, 상기 연결된 AV기기의 이벤트 메시지를 수신하는데, 웹 브라우저가 실행동안 계속 로딩(loading)되어 전체 상태 감시용 페이지 역할을 하게 된다. AV기기용 플러그-인 모듈의 사용자 인터페이스(1120)는 사용자가 선택한 특정 기기에 대한 제어 인터페이스를 나타내고 있으며, 현재 AV기기의 이벤트 메시지를 수신한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정하는 것은 아니다.
상기한 바와 같이 이루어진 본 발명에 따르면, DTV와 같이 다른 AV기기를 제어하고가 하는 기기가 해당 AV기기의 상세한 내용을 알지 못하더라도 편리한 방법으로 쉽게 제어할 수 있고, AV기기 제어를 위해 간단한 명령 구조를 사용함으로써 추후 개발되어 시장에 등장하는 AV기기들도 쉽게 네트워크에 참여할 수 있다. 또한, 본 발명의 실시에 따른 플러그-인 모듈과 스크립트의 연동으로 사용자가 현재 제어하고 있는 AV기기가 다른 AV기기들에 의해서 상태가 변경되는 경우에도 해당 사실을 인지하고 능동적으로 대응할 수 있는 효과가 있다.

Claims (16)

  1. 스크립트를 포함하는 구조화된 문서를 AV 기기로부터 수신하여 사용자에게 제공하는 웹 브라우저; 및
    상기 스트립트에 의해 호출되는 함수를 포함하고 상기 함수를 이용하여 기정의된 프로토콜을 통하여 상기 AV 기기로 기기제어 명령 정보를 전송하는 플러그-인 모듈을 포함하는데,
    상기 AV 기기에는 상기 구조화된 문서를 전송하는 웹 서버 모듈과 상기 플러그-인 모듈로부터 상기 프로토콜을 통하여 상기 기기제어 명령 정보를 수신하고 이에 대응하여 AV기기를 제어하는 서버 에이전트 모듈이 탑재되며,
    상기 서버 에이전트 모듈은 상기 AV기기에서 소정의 이벤트가 발생한 경우에 이에 대응하는 이벤트 정보를 상기 프로토콜을 통하여 상기 플러그-인 모듈로 전송하고, 상기 플러그-인 모듈은 수신한 이벤트 정보를 상기 웹 브라우저를 통하여 사용자에게 제공하는 것을 특징으로 하는 AV 기기 제어 장치.
  2. 제1항에 있어서,
    상기 서버 에이전트 모듈은 상기 AV기기에서 이벤트가 발생한 경우에 이에 대응하는 이벤트 정보를 상기 프로토콜을 통하여 상기 플러그-인 모듈로 전송하고, 상기 플러그-인 모듈은 수신한 이벤트 정보를 상기 웹 브라우저를 통하여 사용자에게 제공하는 것을 특징으로 하는 AV기기 제어 장치.
  3. 제1항 또는 제2항에 있어서,
    상기 기기제어 명령 정보는 채널 제어 정보를 포함하는 AV기기 제어 장치.
  4. 제1항 또는 제2항에 있어서,
    상기 기기제어 명령 정보는 음량 제어 정보를 포함하는 AV기기 제어 장치.
  5. 제1항 또는 제2항에 있어서,
    상기 기기제어 명령 정보는 재생 제어 정보를 포함하는 AV기기 제어 장치.
  6. 스크립트를 포함하는 구조화된 문서를 AV기기 제어 장치로 전송하는 웹 서버 모듈; 및
    상기 AV기기 제어 장치로부터 기정의된 프로토콜을 통하여 기기제어 명령 정보를 수신하고 이에 대응하여 기기를 제어하는 서버 에이전트 모듈을 포함하는데,
    상기 AV기기 제어 장치는 상기 구조화된 문서를 사용자에게 제공하는 웹 브라우저와 상기 스크립트에 의해 호출되는 함수를 포함하고, 상기 함수를 이용하여 상기 프로토콜을 통하여 상기 기기제어 명령 정보를 전송하는 플러그-인 모듈을 포함하는 것을 특징으로 하는 AV기기.
  7. 제6항에 있어서,
    상기 플러그-인 모듈은 상기 AV기기에서 이벤트가 발생한 경우에 이에 대응하는 이벤트 정보를 상기 프로토콜을 통하여 상기 서버 에이전트 모듈로 전송하고, 상기 서버 에이전트 모듈은 수신한 이벤트 정보를 상기 웹 브라우저를 통하여 사용자에게 제공하는 것을 특징으로 하는 AV기기.
  8. 제6항 또는 제7항에 있어서,
    상기 기기제어 명령 정보는 채널 제어 정보를 포함하는 AV기기.
  9. 제6항 또는 제7항에 있어서,
    상기 기기제어 명령 정보는 음량 제어 정보를 포함하는 AV기기.
  10. 제6항 또는 제7항에 있어서,
    상기 기기제어 명령 정보는 재생 제어 정보를 포함하는 AV기기.
  11. 네트워크에 연결된 AV기기로부터 각각의 AV기기 정보를 수집하여 사용자에게 제공하는 제1단계;
    상기 제공된 AV기기 정보들 중에서 사용자가 특정한 AV기기를 선택하는 경우, 상기 선택된 AV기기를 제어하기 위한 제어 항목 메뉴를 상기 AV기기로부터 수신하여 제공하는 제2단계;
    상기 제2단계로부터 제공된 메뉴로부터 사용자가 특정한 제어 항목을 선택하면, 상기 제어 항목에 해당하는 스크립트가 기기제어 명령 정보를 전송하기 위한 함수를 호출하고, 상기 호출된 함수가 상기 기기제어 명령 정보를 기정의된 프로토콜을 이용하여 상기 선택된 AV기기로 전송하는 제3단계; 및
    상기 AV기기에서 이벤트가 발생된 경우, 상기 AV기기로부터 상기 이벤트에 관한 이벤트 정보를 상기 프로토콜을 이용하여 수신하고, 상기 수신한 이벤트 정보에 대응하는 처리를 하는 제4단계를 포함하는 것을 특징으로 하는 AV기기 제어 방법.
  12. 삭제
  13. 제11항에 있어서,
    상기 AV기기 정보는 기기 이름 정보, 기기를 나타내는 이미지 정보, 기기 모델 정보, 기기가 제공하는 제어 기능 정보, 상기 기능을 구현하기 위한 스크립트 정보를 포함하는 것을 특징으로 하는 AV기기 제어 방법.
  14. 제11항에 있어서,
    상기 기기제어 명령 정보는 채널 제어 정보를 포함하는 AV기기 제어 방법.
  15. 제11항에 있어서,
    상기 기기제어 명령 정보는 음량 제어 정보를 포함하는 AV기기 제어 방법.
  16. 제11항에 있어서,
    상기 기기제어 명령 정보는 재생 제어 정보를 포함하는 AV기기 제어 방법.
KR1020030068360A 2003-08-07 2003-10-01 Av기기, av기기 제어 장치 및 제어 방법 KR100577362B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
PCT/KR2004/001677 WO2005015824A1 (en) 2003-08-07 2004-07-08 Audio/video device, apparatus and method for controlling audio/video device
CNB2004800225527A CN100481767C (zh) 2003-08-07 2004-07-08 音频/视频装置及其控制设备和方法
RU2006106907/09A RU2319309C2 (ru) 2003-08-07 2004-07-08 Аудио/видеоустройство, устройство и способ для управления аудио/видеоустройством
EP04774095A EP1661302A4 (en) 2003-08-07 2004-07-08 AUDIO / VIDEO DEVICE, DEVICE AND METHOD FOR CONTROLLING AN AUDIO / VIDEO DEVICE
AU2004302143A AU2004302143B2 (en) 2003-08-07 2004-07-08 Audio/video device, apparatus and method for controlling audio/video device
US10/912,285 US8504637B2 (en) 2003-08-07 2004-08-06 Audio/video device, apparatus and method for controlling audio/video device
US13/947,676 US9342141B2 (en) 2003-08-07 2013-07-22 Audio/video device, apparatus and method for controlling audio/video device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020030054790 2003-08-07
KR20030054790 2003-08-07

Publications (2)

Publication Number Publication Date
KR20050018317A KR20050018317A (ko) 2005-02-23
KR100577362B1 true KR100577362B1 (ko) 2006-05-10

Family

ID=37227881

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030068360A KR100577362B1 (ko) 2003-08-07 2003-10-01 Av기기, av기기 제어 장치 및 제어 방법

Country Status (1)

Country Link
KR (1) KR100577362B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8688804B2 (en) 2005-09-26 2014-04-01 Samsung Electronics Co., Ltd. Apparatus and method for transmitting sound information in web-based control system

Also Published As

Publication number Publication date
KR20050018317A (ko) 2005-02-23

Similar Documents

Publication Publication Date Title
CA2820342C (en) Application discovery
US8402108B2 (en) System for providing web page having home network function and method of controlling home network devices
US9178712B2 (en) Remote audio
US9736205B2 (en) Media share control apparatus, media reproducing apparatus, and method of providing user interface for media sharing thereof
US9883251B2 (en) Method and apparatus for managing connection between broadcast receiving device and another device connected by network
US8219692B2 (en) Method and apparatus for storing and restoring state information of remote user interface
US20100115053A1 (en) Method and apparatus for managing state information of remote user interface
WO2005103913A1 (ja) 通知方法、接続装置、通信方法,及び、プログラム
KR101531532B1 (ko) 원격 접속에 기초해 홈 네트워크 디바이스의 서비스를 이용하는 방법 및 장치
US8880695B2 (en) Information processing apparatus and information processing method
KR101775026B1 (ko) 페어 플레이 서비스 제공 방법 및 장치
US9342141B2 (en) Audio/video device, apparatus and method for controlling audio/video device
US20150095956A1 (en) Electronic device, computer program product, and information control method
US11706301B2 (en) Server node selection method and terminal device
KR100823269B1 (ko) 원격 사용자 인터페이스의 상태 정보를 관리하는 방법
KR100758791B1 (ko) 홈네트워크 장치 제어를 위한 프록시 장치 및 그 방법
KR100577362B1 (ko) Av기기, av기기 제어 장치 및 제어 방법
US9948748B2 (en) Method of receiving/transmitting event message, controlled device, and control point
US20060280190A1 (en) UPnP mirroring systems and methods
EP2559197B1 (en) Method for controlling functions of device included in home network
KR100728035B1 (ko) 리모트 유저 인터페이스 프로토콜 기반 네트워크 시스템 및그 방법과 그 방법을 수행하는 프로그램이 기록된 기록매체
CN100489914C (zh) 在基于Web的控制系统中发送声音信息的方法和设备
CN115150299A (zh) 一种终端设备在线状态检测方法及终端设备
CA2560783A1 (en) Apparatus and method for transmitting sound information in web-based control system
JP2001216239A (ja) ネットワーク通信システムおよびサーバ

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
FPAY Annual fee payment
FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee