KR101747296B1 - 범용 웹 애플리케이션을 이용하여 홈 네트워크 장치를 제어하는 방법 및 장치 - Google Patents

범용 웹 애플리케이션을 이용하여 홈 네트워크 장치를 제어하는 방법 및 장치 Download PDF

Info

Publication number
KR101747296B1
KR101747296B1 KR1020080118806A KR20080118806A KR101747296B1 KR 101747296 B1 KR101747296 B1 KR 101747296B1 KR 1020080118806 A KR1020080118806 A KR 1020080118806A KR 20080118806 A KR20080118806 A KR 20080118806A KR 101747296 B1 KR101747296 B1 KR 101747296B1
Authority
KR
South Korea
Prior art keywords
home network
api
control
script
network device
Prior art date
Application number
KR1020080118806A
Other languages
English (en)
Other versions
KR20090054940A (ko
Inventor
진호
손영철
박종욱
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20090054940A publication Critical patent/KR20090054940A/ko
Application granted granted Critical
Publication of KR101747296B1 publication Critical patent/KR101747296B1/ko

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
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network

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)
  • Information Transfer Between Computers (AREA)

Abstract

범용 웹 애플리케이션에서 홈 네트워크 장치를 제어하기 위한 제어 정보를 서버로부터 수신하는 단계와 수신된 제어 정보에 포함된 스크립트 형태의 API(application program interface)를 통하여 홈 네트워크 장치를 제어하는 제어명령을 제어모듈(control point module)로 전달하는 단계와 홈 네트워크 장치의 제어명령이 수행된 처리 결과 데이터를 제어모듈로부터 수신하는 단계를 포함하는 범용 웹 애플리케이션을 이용한 홈 네트워크 장치의 제어 방법이 개시되어 있다.

Description

범용 웹 애플리케이션을 이용하여 홈 네트워크 장치를 제어하는 방법 및 장치{Method for controlling home network device using universal web application and apparatus thereof}
본 발명은 홈 네트워크 환경에서 범용 웹 애플리케이션을 이용하여 홈 네트워크 장치를 제어하는 방법 및 장치에 관한 것이다.
홈 네트워크의 확산으로 가정에서 기존의 PC 위주의 네트워크 환경이 점점 다양한 하위 네트워크 기술을 사용하는 가전 제품들을 포함하는 환경으로 확대되고 있다. 따라서 IP 프로토콜을 사용하여 이들 가전 제품들을 통일된 방식으로 네트워크화할 수 있는 기술에 대한 필요성으로 UPnP(Universal Plug and Play) 기술과 DLNA(Digital Living Network Alliance)와 같은 홈 네트워크 미들웨어 표준이 제안되었다.
DLNA은 홈 네트워크 상용화 위해 조직된 협력체로서, 상호 호환이 가능한 플랫폼을 구축하여 DLNA 가이드 라인에 따라 설계된 제품들이 음악, 사진, 비디오 등의 미디어 컨텐츠를 홈 네트워크를 통해 서로 자유롭게 공유할 수 있게 한다.
UPnP 기술은 서비스를 제공하는 다수의 UPnP 디바이스와 이들 디바이스들을 제어하는, 컨트롤 포인트 모듈(control point module)이라 불리는 UPnP 전용 제어 애플리케이션을 정의한다. 컨트롤 포인트 모듈은 PC 및 TV(DTV, IPTV) 등과 같은 사용자 인터페이스를 갖추고 있는 장치에 탑재되어 다수의 UPnP 디바이스를 제어하는 애플리케이션이다. 컨트롤 포인트 모듈은 외부 입력에 따라 각종 디바이스들을 탐색(discovery)하고, 탐색된 디바이스의 성능을 알아내며(description), 디바이스가 제공하는 서비스를 SOAP(Simple Object Access Protocol) 프로토콜을 이용하여 제어(control)한다.
UPnP/DLNA 디바이스는 홈 네트워크에 연결된 PC, TV, PDA, Mobile Phone, 네트워크 장비, 프린터 및 각종 A/V(Audio/Video) 장치 등으로서, 디바이스에서 발생한 이벤트를 컨트롤 포인트 모듈에게 통지한다. 또한, UPnP/DLNA 디바이스는 프레젠테이션(presentation) 웹 페이지를 컨트롤 포인트 모듈에게 제공함으로써 컨트롤 포인트 모듈이 웹 페이지를 이용하여 디바이스를 제어하고 상태 조회를 할 수 있도록 한다.
상기 기술한 바와 같이, 종래 UPnP/DLNA 기술에서 제공하는 홈 네트워크 기기의 제어 방법은 컨트롤 포인트 모듈이라 불리는 UPnP/DLNA 전용 제어 애플리케이션을 이용하거나 홈 네트워크 기기가 제공하는 정적인 프레젠테이션 웹 페이지를 이용한다.
아울러 원격 UI(User Interface)를 이용한 홈 네트워크 환경은 원격 UI 클라이언트(RUIC), 원격 UI 서버(RUIS) 및 UPnP/DLNA 디바이스로 구성되며 기존의 원격 UI 기술로는 XHT(eXpandable Home Theater), CEA201.4, XRT(eXtened Remoting Technology) 등이 존재한다.
본 발명의 목적은 범용 웹 애플리케이션을 이용하여 웹에서 UPnP/DLNA 디바이스를 제어할 수 있는 방법과 그 장치를 제공하는 것이다.
또한 본 발명의 목적은 범용 웹 애플리케이션을 이용하여 제어 기기에 내장된 기능을 UPnP/DLNA 디바이스 형태로서 제어할 수 있는 방법과 그 장치를 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 홈 네트워크 장치의 제어 방법은 범용 웹 애플리케이션에서 홈 네트워크 장치를 제어하기 위한 제어 정보를 서버로부터 수신하는 단계와; 상기 수신된 제어 정보에 포함된 스크립트 형태의 API(application program interface)를 통하여 상기 홈 네트워크 장치를 제어하는 제어명령을 제어모듈(control point module)로 전달하는 단계와; 상기 홈 네트워크 장치의 제어명령이 수행된 처리 결과 데이터를 상기 제어모듈로부터 수신하는 단계를 포함한다.
상기 웹 애플리케이션은 HTML 기반의 범용 웹 브라우저(web browser) 또는 XML 기반의 위젯(widget)이고, 상기 스크립트 형태의 API는 단일한 포맷의 스크립트 API이며, 상기 스크립트 API는 상기 제어모듈에 의하여 제어명령을 수행하고자 하는 홈 네트워크 API와 맵핑되는 API의 이름 및 상기 맵핑된 API에 따른 파라미터를 포함하는 것이 바람직하다.
상기 제어명령을 제어모듈로 전달하는 단계는, 상기 스크립트 API에 구비되어 전달되는 변수로서 상기 제어명령을 수행하는 홈 네트워크 API을 상기 제어모듈 로 전달하는 것이 바람직하다.
상기 제어명령을 제어모듈로 전달하는 단계는, 상기 홈 네트워크 장치에 대한 적어도 하나 이상의 제어명령을 수행하는 매크로 API를 이용하여 복수개의 제어명령을 전달하는 것이 바람직하다.
상기 제어 정보를 수신하는 단계는, 사용자 인터페이스 화면을 구성하기 위한 HTTP 통신에 있어서 비동기 통신 방법을 이용하여 수행되는 것이 바람직하며, 상기 비동기 통신 방법은 Ajax(Asynchronous JAvascript and Xml)를 이용하는 것이 바람직하다.
상기 홈 네트워크는 UPnP/DLNA 기반의 홈 네트워크이고, 상기 홈 네트워크 장치는 UPnP/DLNA 디바이스이고, 상기 홈 네트워크 API는 UPnP/DLNA API이고, 상기 제어모듈은 상기 웹 애플리케이션과 통신하는 플러그인(plug-in) 애플리케이션 또는 브라우저의 내장 객체 애플리케이션인 것이 바람직하다.
상기 플러그인 애플리케이션은 상기 전달받은 제어명령을 수행하는 UPnP/DLNA API를 호출하는 것이 바람직하다.
상기 플러그인 애플리케이션은 상기 제어명령이 수행된 처리 결과 데이터를 콜백(callback) 함수를 통하여 상기 웹 애플리케이션으로 전달하는 것이 바람직하다.
상기 플러그인 애플리케이션은 상기 처리 결과 데이터의 종류가 복수개인 경우에 상기 처리 결과 데이터를 XML 형태로서 상기 웹 애플리케이션으로 전달하는 것이 바람직하다.
상기 홈 네트워크 장치의 제어 방법은 수신된 처리 결과 데이터를 수집하여 상기 웹 애플리케이션을 통해 사용자에게 제공하는 단계를 더 포함하는 것이 바람직하다.
상기 수신된 처리 결과 데이터를 사용자에게 제공하는 단계는, 상기 수신된 처리 결과 데이터의 종류가 복수개인 경우에 기 등록된 XML 형태의 속성(property) 정보를 독출하여 상기 사용자에게 제공하는 것이 바람직하다.
또한 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 홈 네트워크 장치의 제어 방법은 범용 웹 애플리케이션에서 홈 네트워크 장치를 제어하기 위한 제어 정보를 서버로부터 수신하는 단계와; 상기 수신된 제어 정보에 포함된 스크립트 형태의 API(application program interface)를 이용하여 제어모듈(control point module)을 통해 내장(embedded) 장치 및 홈 네트워크 장치를 검색하는 단계와; 상기 검색된 장치에 대하여 상기 제어명령을 수행하는 단계를 포함한다.
상기 웹 애플리케이션은 HTML 기반의 범용 웹 브라우저(web browser) 또는 XML 기반의 위젯(widget)이고, 상기 내장 장치는 상기 홈 네트워크 제어 기기에 구비된 내장 기능으로서 UPnP/DLNA 디바이스 형태로 표현되는 것이 바람직하다.
상기 검색하는 단계는, 상기 내장 장치의 리스트를 상기 스크립트 형태의 API를 이용하여 독출함으로써 내장 장치 여부를 판단하는 단계를 더 포함하는 것이 바람직하다.
상기 제어명령을 수행하는 단계는, 상기 내장 장치를 구비한 상기 홈 네트워크 제어 기기 이외의 다른 제어 기기로부터 상기 내장 장치가 제어되는 것을 제한 하는 경우에, 상기 홈 네트워크 제어 기기에 할당된 IP 주소 또는 식별자를 판단하여 상기 다른 제어 기기로부터 수신된 제어명령을 수행하지 않는 것이 바람직하다.
상기 홈 네트워크는 UPnP/DLNA 기반의 홈 네트워크이고, 상기 홈 네트워크 장치는 UPnP/DLNA 디바이스이고, 상기 홈 네트워크 API는 UPnP/DLNA API이고, 상기 제어모듈은 상기 웹 애플리케이션과 통신하는 플러그인(plug-in) 애플리케이션 또는 브라우저의 내장 객체 애플리케이션인 것이 바람직하다.
또한 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 홈 네트워크 장치의 제어 방법은 범용 웹 애플리케이션에서 홈 네트워크 장치를 제어하기 위한 제어 정보를 서버로부터 수신하는 단계와; 상기 수신된 제어 정보에 포함된 스크립트 형태의 API(application program interface)를 이용하여 제어모듈(control point module)을 통해 내장(embedded) 장치 및 홈 네트워크 장치를 검색하는 단계와; 상기 검색된 장치에 대하여 상기 제어명령을 수행하는 단계와; 상기 제어명령을 수행한 결과에 기초하여 상기 홈 네트워크 장치에 저장된 컨텐츠 아이템의 리스트(list of content items) 또는 상기 컨텐츠 아이템과 관련된 정보를 사용자에게 제공하는 단계를 포함한다.
또한 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 홈 네트워크 장치의 제어 방법은 범용 웹 애플리케이션에서 홈 네트워크 장치를 제어하기 위한 제어 정보를 서버로부터 수신하는 단계와; 상기 수신된 제어 정보에 포함된 스크립트 형태의 API(application program interface)를 이용하여 제어모듈(control point module)을 통해 내장(embedded) 장치 및 홈 네트워크 장치를 검색하는 단계 와; 상기 검색된 장치에 대하여 상기 제어명령을 수행하는 단계와; 상기 제어명령을 수행한 결과에 기초하여 상기 홈 네트워크 장치에 저장된 컨텐츠 아이템 또는 상기 컨텐츠 아이템과 관련된 정보를 사용자가 소비(consumption)할 수 있도록 제공하는 단계를 포함한다.
또한 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 홈 네트워크 장치의 제어 방법은 범용 웹 애플리케이션에서 홈 네트워크 장치를 제어하기 위한 제어 정보를 서버로부터 수신하는 단계와; 상기 수신된 제어 정보에 포함된 스크립트 형태의 API(application program interface)를 이용하여 제어모듈(control point module)을 통해 내장(embedded) 장치 및 홈 네트워크 장치를 검색하는 단계와; 상기 검색된 장치에 대하여 상기 제어명령을 수행하는 단계를 포함하며, 상기 홈 네트워크 장치, 서비스, 사용자 또는 컨텐츠와 관련된 정보가 상기 홈 네트워크의 외부 제3자(third party)에게 제공되는 것이 제한되는 것이 바람직하다.
또한 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 홈 네트워크 장치의 제어 방법은 범용 웹 애플리케이션에서 홈 네트워크 장치를 제어하기 위한 제어 정보를 서버로부터 수신하는 단계와; 상기 수신된 제어 정보에 포함된 스크립트 형태의 API(application program interface)를 이용하여 제어모듈(control point module)을 통해 내장(embedded) 장치 및 홈 네트워크 장치를 검색하는 단계와; 상기 검색된 장치에 대하여 상기 제어명령을 수행하는 단계를 포함하며, 사용자가 상기 홈 네트워크 상에서 상기 웹 애플리케이션에 의해 접근 가능한 컨텐츠, 디바이스 및 서비스의 집합(set)을 정의할 수 있는 것이 바람직하다.
또한 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 홈 네트워크 기기의 제어 장치는 범용 웹 애플리케이션에서 홈 네트워크 기기를 제어하기 위한 제어 정보를 전송하는 서버와; 상기 수신된 제어 정보에 포함된 스크립트 형태의 API(application program interface)를 통하여 상기 홈 네트워크 기기를 제어하는 제어명령을 제어모듈(control point module)로 전달하는 웹 애플리케이션 모듈과; 상기 홈 네트워크 기기의 제어명령이 수행된 처리 결과 데이터를 상기 웹 애플리케이션 모듈로 전달하는 제어모듈과; 상기 제어모듈에서 요구한 제어 서비스를 수행하는 홈 네트워크 기기를 포함한다.
상기 웹 애플리케이션 모듈은 HTML 기반의 범용 웹 브라우저(web browser) 또는 XML 기반의 위젯(widget)으로서, 단일 API 처리 모듈을 포함하며, 상기 단일 API 처리 모듈은 상기 스크립트 형태의 API를 통하여 상기 제어명령을 제어모듈로 전달하는 것이 바람직하다.
상기 스크립트 형태의 API는 단일한 포맷의 스크립트 API이며, 상기 단일 API 처리 모듈은 상기 제어명령을 수행하고자 하는 홈 네트워크 API와 맵핑되는 API의 이름 및 상기 맵핑된 API에 따른 파라미터를 포함하는 스크립트 API를 이용하여 상기 제어명령을 상기 제어모듈로 전달하는 것이 바람직하다.
상기 단일 API 처리 모듈은, 상기 스크립트 API에 구비되어 전달되는 변수로서 상기 제어명령을 수행하는 홈 네트워크 API을 상기 제어모듈로 전달하는 것이 바람직하다.
상기 웹 애플리케이션 모듈은 매크로 API 처리 모듈을 포함하며, 상기 매크 로 API 처리 모듈은 상기 홈 네트워크 기기에 대한 적어도 하나 이상의 제어명령을 수행하는 매크로 API를 이용하여 복수개의 제어명령을 전달하는 것이 바람직하다.
상기 홈 네트워크는 UPnP/DLNA 기반의 홈 네트워크이고, 상기 홈 네트워크 기기는 UPnP/DLNA 디바이스이고, 상기 홈 네트워크 API는 UPnP/DLNA API이고, 상기 제어모듈은 상기 웹 애플리케이션과 통신하는 플러그인(plug-in) 애플리케이션 또는 브라우저의 내장 객체 애플리케이션인 것이 바람직하다.
상기 플러그인 애플리케이션은, 상기 전달받은 제어명령을 수행하는 UPnP/DLNA API를 호출하는 UPnP/DLNA API 호출 모듈을 더 포함하는 것이 바람직하다.
상기 플러그인 애플리케이션은, 상기 제어명령이 수행된 처리 결과 데이터를 콜백(callback) 함수를 통하여 상기 웹 애플리케이션으로 전달하는 콜백 함수 모듈을 더 포함하는 것이 바람직하다.
상기 플러그인 애플리케이션은, 상기 처리 결과 데이터의 종류가 복수개인 경우에 상기 처리 결과 데이터를 XML 형태로서 상기 웹 애플리케이션으로 전달하는 것이 바람직하다.
상기 수신된 처리 결과 데이터를 수집하여 상기 웹 애플리케이션을 통해 사용자에게 제공하는 사용자 인터페이스 모듈을 더 포함하는 것이 바람직하다.
또한 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 홈 네트워크 기기의 제어 장치는 범용 웹 애플리케이션에서 홈 네트워크 기기를 제어하기 위한 제어 정보를 전송하는 서버와; 상기 수신된 제어 정보에 포함된 스크립트 형태의 API(application program interface)를 통하여 상기 홈 네트워크 기기를 제어하는 제어명령을 제어모듈(control point module)로 전달하는 웹 애플리케이션 모듈과; 상기 홈 네트워크 제어 기기의 내장(embedded) 기기 및 홈 네트워크 기기를 검색하는 제어모듈(control point module)와; 상기 제어모듈에서 요구한 제어 서비스를 수행하는 홈 네트워크 기기를 포함한다.
상기 웹 애플리케이션 모듈은 HTML 기반의 범용 웹 브라우저(web browser) 또는 XML 기반의 위젯(widget)이고, 상기 홈 네트워크 기기의 제어 장치는 내장 UPnP/DLNA 디바이스 모듈을 더 포함하며, 상기 내장 UPnP/DLNA 디바이스 모듈은 상기 홈 네트워크 제어 장치에 구비된 내장 기능을 UPnP/DLNA 디바이스 형태로 표현하는 것이 바람직하다.
상기 홈 네트워크 기기의 제어 장치는, 상기 내장 장치의 리스트를 상기 스크립트 형태의 API를 이용하여 독출함으로써 내장 장치 여부를 판단하는 내장 UPnP/DLNA 판단 모듈을 더 포함하는 것이 바람직하다.
상기 홈 네트워크는 UPnP/DLNA 기반의 홈 네트워크이고, 상기 홈 네트워크 기기는 UPnP/DLNA 디바이스이고, 상기 홈 네트워크 API는 UPnP/DLNA API이고, 상기 제어모듈은 상기 웹 애플리케이션과 통신하는 플러그인(plug-in) 애플리케이션 또는 브라우저의 내장 객체 애플리케이션인 것이 바람직하다.
나아가 본 발명은 상기 홈 네트워크 장치의 제어 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체를 포함한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른, 홈 네트워크 장치를 제어하는 전체 구성도(100)를 나타내는 도면이다.
도 1을 참조하면, 전체 구성도(100)는 HTML 기반의 범용 웹 브라우저(web browser) 또는 XML 기반의 위젯(widget)과 같은 웹 애플리케이션에서 홈 네트워크 기기를 제어하기 위한 제어 정보를 인터넷(120)을 통해 전송하는 서버(130)와, 웹 애플리케이션이 구비된 제어 기기(110)와, 제어 기기에 의해 요구되는 제어 서비스를 수행하는 홈 네트워크 기기(홈 네트워크 기기제어 서비스 모듈, 140)을 포함한다.
제어 기기(110)는 UPnP/DLNA 제어모듈(control point module)을 구비하고, 아울러 서버(130)로부터 수신된 제어 정보에 포함된 스크립트 형태의 API(application program interface)를 통하여 홈 네트워크 기기의 제어명령을 제어모듈로 전달하는 웹 애플리케이션을 구비한다. 한편, 상기 제어모듈은 홈 네트워크 기기(140)의 제어명령이 수행된 처리 결과 데이터를 웹 애플리케이션에 전달한다. 즉, 웹 애플리케이션과 제어모듈은 상호 통신을 수행한다.
상기 제어모듈(control point module)은 상기 웹 애플리케이션과 통신하는 플러그인(plug-in) 애플리케이션, 또는 브라우저의 자체 기능으로 지원되는 내장 객체 애플리케이션일 수 있다. 플러그인(plug-in) 애플리케이션은 웹 브라우저에서 지원하지 않는 기능을 브라우저 내에서 수행할 수 있도록 도와주는 프로그램이다. 일 실시예에서, 플러그인 애플리케이션은 홈 네트워크의 UPnP/DLNA 디바이스를 탐색 및 제어하는 기능 등을 수행하고, 이때 제어 명령은 UPnP/DLNA SOAP(Simple Object Access Protocol) Action으로 생성될 수 있다.
아울러, 제어 장치(110) 내의 플러그인 애플리케이션은 제어 명령 처리 결과를 홈 네트워크 기기(140)로부터 수신하고, 제어 명령 처리 결과 데이터를 콜백(callback) 함수를 통하여 스크립트 형태로 웹 브라우저에게 제공함으로써 사용자 인터페이스 화면을 구성할 수 있다.
한편, 서버(130)는 제어 정보를 전송함에 있어서 암호화 기술을 수반하여 안전성을 보장할 수 있으며, 사용자 인터페이스 화면을 구성하기 위한 HTTP 통신에 있어서 비동기 통신 방법을 이용할 수 있다. 예시적으로 비동기 통신 방법은 Ajax(Asynchronous JAvascript and Xml)를 이용하여 구현될 수 있다. Ajax는 대화식 웹 애플리케이션의 제작을 위한 웹 개발 기법을 의미하고, 웹 서버와 비동기적으로 데이터를 교환하고 조작할 수 있는 방식이다. 이에 대한 자세한 설명은 여기서 생략한다.
도 2는 본 발명의 일 실시예에 따른, 범용 웹 애플리케이션을 이용하여 홈 네트워크 장치를 제어하는 UI 화면의 예시 도면이며, 도 3은 범용 웹 애플리케이션을 이용하여 홈 네트워크 장치를 제어하는 방법을 설명하기 위한 플로우 차트이다.
도 2 및 도 3을 참조하면, 범용 웹 애플리케이션을 이용하여 홈 네트워크 장치를 제어하는 방법의 일 실시예는 범용 웹 애플리케이션에서 홈 네트워크 장치(예: 홈 네트워크 PVR, 140)를 제어하기 위한 제어 정보를 서버로부터 수신하는 단계(310)와 수신된 제어 정보에 포함된 스크립트 형태의 API를 통하여 제어명령을 제어모듈(또는 제어기)로 전달하는 단계(320)와 홈 네트워크 장치의 제어명령이 수행된 처리 결과 데이터를 제어모듈로부터 수신하는 단계(330)를 포함한다.
UPnP/DLNA는 홈 네트워크를 위한 네이티브 애플리케이션(Native Application)으로 다른 홈 네트워크 기기의 미디어 컨텐츠(Media Content)를 재생하는 프레임워크(Framework)이다.
따라서, 웹 브라우저에서 UPnP/DLNA 디바이스를 제어하는 UPnP/DLNA 서비스를 이용하기 위해서는 UPnP/DLNA 제어모듈의 기능을 플러그인(plug-in) 방식으로 구현해야하므로, 수많은 웹 스크립트 API를 정의해야하는 필요성이 있고, 또한 새로운 UPnP/DLNA API에 대한 대비책이 없다는 문제점이 발생할 수 있다.
본 발명의 일 실시예에서는, 범용 웹 애플리케이션인 웹 브라우저 또는 웹 위젯을 이용하여 웹에서 UPnP/DLNA 디바이스를 제어하는 방법을 제공함에 있어서, 모든 UPnP/DLNA API를 전송할 수 있는 하나의 단일한 스크립트 API를 이용하여 여러 UPnP/DLNA 제어명령을 보다 쉽게 요청할 수 있는 방법을 제안한다. 스크립트 API는 대표적으로 자바스크립트 API(Javascript API)가 될 수 있다. (이하, 자바스크립트 API라고 한다)
아울러, 다양한 UPnP/DLNA API를 조합하는 매크로(Macro) 기능의 스크립트 API를 이용하여, 웹 브라우저에서 다양한 UPnP/DLNA 제어명령을 조합할 수 있는 방법을 제안한다.
한편, UPnP/DLNA 제어모듈은 제어명령이 수행된 처리 결과 데이터(예: DLNA 컨텐츠의 리스트 목록 전달, Print/PVR 서비스 가능 여부)를 콜백(callback) 함수를 통하여 웹 브라우저 또는 위젯으로 전달할 수 있으며, 제어명령을 처리한 결과, 전달할 데이터의 종류가 복수개인 경우에 처리 결과 데이터를 XML 형태로 전달할 수 있다. 즉, UPnP/DLNA의 정보를 XML기반의 자바스크립트로 전송하는 것이다. 따라서, HTML 또는 XML 기반의 홈 네트워크 제어를 위하여 웹 브라우저에서 해석되는 스크립트와 UPnP/DLNA 제어모듈와의 정보 교환이 가능하다.
이하 본 발명의 일 실시예에서 제안하는 단일한 포맷의 자바스크립트 API를 도 4를 참조하여 설명한다.
도 4는 본 발명의 일 실시예에 따른, 단일한 포맷의 자바스크립트 API의 예시 도면이다.
도 4를 참조하면, 본 발명의 목적 중 일 예로서, 하나의 자바스크립트 API로 모든 종류의 UPnP/DLNA 제어를 가능하도록 하기 위하여, 예시적으로 UPnPAction()이라는 API를 제안한다(410).
도 4의 자바스크립트 API는 제어모듈에 의하여 제어명령을 수행하고자 하는 홈 네트워크 API와 맵핑되는 (i)API의 이름(actionName) 및 맵핑된 API에 따른 (ii)파라미터(params)를 포함한다.
여기서 기술하는 홈 네트워크 API는 UPnP/DLNA API로서 예를 들어, CreateRecordSchedule(), GetRecordSchedule(), EnableRecordSchedule() 등의 다양한 API가 있을 수 있다(420).
단일한 포맷의 자바스크립트 API에 의해 상기의 모든 예시 API는 도 4와 같이 수행될 수 있다. 즉, 제어명령을 수행하는 홈 네트워크 API을 자바스크립트 API에 구비되어 전달되는 일종의 변수(variable)로서, 제어모듈에 전달할 수 있는 것이다. 이때, 전달되는 홈 네트워크 API에 따라 필요한 파라미터(예: <RecordScheduleID></RecordScheduleID>, <Filter></Filter>)가 함께 전달된다.
따라서, 웹 브라우저상에서 통일화된 자바스크립트 API를 이용하여 다양한 UPnP/DLNA API를 전달할 수 있고, 기존의 UPnP/DLNA 제어를 HTML/XML 기반에서 활용할 수 있으며, 새로운 UPnP/DLNA API 확장을 위하여 플러그인이 업데이트되면 HTML/XML 제공자는 해당 스크립트만 수정하면 되므로 보다 손쉬운 UPnP/DLNA 제어가 가능해진다.
도 5는 본 발명의 일 실시예에 따른, UPnP/DLNA API 및 매크로 API가 처리되는 과정을 예시적으로 나타낸 소프트웨어 기능 블록도이다.
도 5를 참조하면, 예시적으로 CreateRecordSchedule() 및 FindDevice() API를 나타내고 있다. 여기서 FindDevice() API는 제어모듈(CP)로 하여금 디바이스를 검색하는 기능을 수행하게 하는 예시 매크로 UPnP/DLNA 함수이다. 예를 들어 FindDevice("SRS")의 경우에, 제어모듈(CP)로 하여금 SRS(Scheduled Recording Service) 디바이스를 찾도록 한다. 기타, 홈 네트워크에 내의 음악 파일을 모두 재생하도록 하는 PlayAllMusic(), 로컬 튜너(tuner)가 존재하는지를 알아내도록 하 는 FindLocalDevice(tuner) 등을 예로 들 수 있다.
도 5에 볼 수 있듯이, UPnP/DLNA API는 플러그인 애플리케이션(520)에서 해당 UPnP/DLNA Action을 직접 호출할 수 있지만, 매크로 API인 FindDevice()는 스크립트(510)에서 홈 네트워크 제어 매크로(HN Control MACRO) 단계를 거쳐, 플러그 애플리케이션(520)상에서 API 호출 및 복합적인 매크로 기능들을 수행하게 된다.
따라서, 매크로 기능의 자바스크립트 API로 여러 종류의 UPnP/DLNA 기능을 조합할 수 있으며, 나아가 새로운 API를 정의하여 UPnP/DLNA에 정의되어 있지 않는 기능과 정의되어 있는 기능을 모두 실행할 수 있도록 하는 것도 가능하다.
도 6은 본 발명의 일 실시예에 따른, UPnP/DLNA SRS의 제어 예제를 스크립트에 적용시킨 예시 코드이다.
도 6을 참조하면, Record()라는 함수는 인자(arguments)로서 title, channelIDType, ChannelID, startTime, duration을 갖는다.
앞서 언급한 FindDevice("SRS")을 호출한 결과, SRS 디바이스가 발견되면 변수 xmlheader를 설정하고(610), UPnPAction()에서 상기 인자들을 반영하여 CreateRecordSchedule() API를 전달한다. 이때 상기 인자들은 파라미터로서 <arguments><Elements>...</Elements></arguments>에 위치한다(620).
다른 보다 구체적인 적용 예제 코드를 살펴보면 다음과 같다.
<html>
<head><title>AV Plug-in Control Page </title>
< object id=”DLNA_AV” type=“application/DLNA_AV”/></head>
<script type="text/javascript">
function InitPlugin() {…}
function OnChangeFromPlugin(val){
var temp;
if(val == "DeviceListXML") { temp = document.embeds[0].dev_list; }
else if(val == "ContentListXML") {temp = document.embeds[0].cnt_list; }
}
function DLNAService()
{ DLNA_AV.HNAction(deviceID, svcName, ‘GetdeviceList’, ‘MediaServer’) }
</script>
<body onload=“InitPlugin()”>
document.embeds[0].onChange = onChangeFromPlugin;
<input type="button" value=“DLNA 영화서비스" onClick=“DLNAService()”ID=“button1" NAME=“DLNAMovie"></body>
</html>
상기 예제 코드 중 function DLNAService()에서 살펴볼 수 있듯이, DLNA_AV.HNAction(deviceID, svcName, ‘GetdeviceList’, ‘MediaServer’)라는 HNAction 함수를 통하여 여러 종류의 UPnP/DLNA API를 플러그인에 전달할 수 있다. 그런 다음, 플러그인에서는 UPnP/DLNA 함수를 파싱하여 관련된 UPnP/DLNA API를 호출하게 된다.
한편, 상기 예제 코드에서 function OnChangeFromPlugin(val)는 플러그인에서 호출하는 콜백 함수를 처리, 전달하는 자바스크립트 함수이다.
콜백 함수는 <body></body> 부분에서 onChangeFromPlugin 이고, 이벤트가 발생하여 플러그인에서 자바스크립트로 정보를 전달할 필요가 생기는 경우에 상기 콜백 함수가 호출된다.
만약 플러그인에서 자바스크립트로 전달할 정보가 복수개의 종류라면 XML 방식으로 전달된다.
자바스크립트 함수에서도 수신된 정보(예: 디바이스/컨텐츠의 리스트 목록)의 데이터 타입이 여러개인 경우에 document.embeds[0].dev_list 및 document.embeds[0].cnt_list와 같이 속성(property) 정보를 읽어서 처리한다. 즉, 자바스크립트에서 전달된 XML 정보를 파싱하여 사용자에게 제공할 수 있는 것이다. 이와 같이 본 발명에 의하면 다양한 UPnP/DLNA 정보를 웹 브라우저로 전달하고, 여러 종류의 데이터를 웹 브라우저와 플러그인이 공유하는 것이 가능해진다.
도 7은 본 발명의 일 실시예에 따른, 범용 웹 애플리케이션을 이용하여 내장(embedded) 장치 및 홈 네트워크 장치를 제어하는 환경을 나타내는 도면이다.
앞서 언급된 바와 같이, 웹 브라우저가 구비된 제어기기(110)에서 자바스크립트를 이용하여 홈 네트워크 제어를 수행함에 있어서, 자바스크립트에서는 UPnP/DLNA API를 플러그인에 전달하며, 플러그인에서는 관련된 UPnP/DLNA API를 호 출하여 홈 네트워크상의 기기(예: 홈 네트워크 PVR, 140)를 발견, 제어할 수 있다.
이때, 웹 브라우저가 구비된 제어기기(예: DTV, 110) 내에 내장된(embedded 또는 built-in) PVR 기능(111)이 있을 수 있다.
예를 들어, 제어기기(110)인 DTV 상에 PVR 기능이 존재하는 경우에, PVR이 UPnP/DLNA를 통하여 제어되지 않는다면 자바스크립트를 통하여 PVR 기능을 제어할 수 없는 문제점이 발생한다.
이를 해결하기 위한 방법으로 본 발명의 일 실시예에서는, 내장 PVR 기능을 UPnP/DLNA 형태로 표현함으로써 자바스크립트에서 이를 발견하고, 상기 발견된 PVR 기능을 제어할 수 있도록 한다.
따라서, 범용 웹 애플리케이션을 구비한 홈 네트워크 제어기기를 이용하여 홈 네트워크 장치를 제어하는 방법의 일 실시예는 상기 범용 웹 애플리케이션에서 제어 정보를 서버로부터 수신하는 단계와 수신된 제어 정보에 포함된 스크립트 형태의 API를 이용하여 제어모듈를 통해 내장 장치 및 홈 네트워크 장치를 검색하는 단계와 검색된 장치에 대하여 상기 제어명령을 수행하는 단계를 포함한다.
이때, 상기 내장 장치는 홈 네트워크 제어기기의 구비된 내장 기능(embedded function)으로서 이는 UPnP/DLNA 디바이스 형태로 표현되는 것이 바람직하다. 따라서, 이와 같은 경우에는 다른 홈 네트워크 기기와 마찬가지로 자바스크립트에서 발견 및 제어할 수 있다.
한편, 내장 기능을 UPnP/DLNA 디바이스로 표현하는 경우에, 자바스크립트에서 발견된 UPnP/DLNA 기기가 내장 기능인지 또는 홈 네트워크상의 기기인지를 구분 할 필요가 있으므로, 본 발명의 일 실시예에 따른 홈 네트워크 장치의 제어 방법은 내장 장치의 리스트(list)를 스크립트 형태의 API를 이용하여 독출함으로써 내장 장치 여부를 판단하도록 한다.
예를 들어, 내장 기능을 검색하기 위한 API인 FindLocalDevice(DeviceType)이나, SOAP Action를 수행 요청하기 위한 API인 HNAction(DeviceHandle, ServiceHandle, ActionName, ActionParameters, UserCookie)이나, SOAP 결과를 위한 콜백 함수용 속성(property)인 onHNActionResult 등을 이용할 수 있다.
또한, 경우에 따라서는 UPnP/DLNA로 표현된 내장 기능을 홈 네트워크상의 다른 기기가 제어하는 것을 원치 않을 수도 있다. 따라서, 내장 기능을 구비한 홈 네트워크 제어기기 이외의 다른 제어기기로부터 상기 내장 기능이 제어되는 것을 제한하고자 하는 경우에, 홈 네트워크 제어기기에 할당된 IP 주소(localhost address, 또는 127.0.0.1) 혹은 식별자를 판단하여 다른 제어기기로부터 수신된 제어명령을 수행하지 않도록 할 수 있다.
본 발명에서 제안하는 홈 네트워크 장치의 제어 방법은 홈 네트워크 장치에 저장된 컨텐츠 아이템의 리스트(list of content items) 또는 컨텐츠 아이템과 관련된 정보(related information)를 사용자에게 제공해 줄 수 있으며, 컨텐츠 아이템 또는 컨텐츠 아이템과 관련된 정보를 사용자가 소비(consumption)할 수 있도록 지원할 수도 있다.
아울러, 홈 네트워크 장치, 서비스, 사용자 또는 컨텐츠와 관련된 정보가 상기 홈 네트워크의 외부 당사자(예: IPTV 서비스 공급자, 신뢰된 제3자 인터넷 서비 스 제공자)에게 제공되는 것을 제한할 수 있으며, 또한 사용자가 홈 네트워크 상에서 웹 애플리케이션에 의해 접근 가능한(accessible) 컨텐츠, 디바이스 및 서비스의 집합(set)을 정의할 수도 있다.
한편, 상술한 본 발명의 홈 네트워크 장치의 제어 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
또한, 상술한바와 같이 본 발명에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른, 홈 네트워크 장치를 제어하는 전체 구성도를 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른, 범용 웹 애플리케이션을 이용하여 홈 네트워크 장치를 제어하는 UI 화면의 예시 도면이다.
도 3은 본 발명의 일 실시예에 따른, 범용 웹 애플리케이션을 이용하여 홈 네트워크 장치를 제어하는 방법을 설명하기 위한 플로우 차트이다.
도 4는 본 발명의 일 실시예에 따른, 단일한 포맷의 스크립트 API의 예시 도면이다.
도 5는 본 발명의 일 실시예에 따른, UPnP/DLNA API 및 매크로 API가 처리되는 과정을 예시적으로 나타낸 소프트웨어 기능 블록도이다.
도 6은 본 발명의 일 실시예에 따른, UPnP/DLNA SRS의 제어 예제를 스크립트에 적용시킨 예시 코드이다.
도 7은 본 발명의 일 실시예에 따른, 범용 웹 애플리케이션을 이용하여 내장(embedded) 장치 및 홈 네트워크 장치를 제어하는 환경을 나타내는 도면이다.
상기 몇 개의 도면에 있어서 대응하는 도면 번호는 대응하는 부분을 가리킨다. 도면이 본 발명의 실시예들을 나타내고 있지만, 도면이 축척에 따라 도시된 것은 아니며 본 발명을 보다 잘 나타내고 설명하기 위해 어떤 특징부는 과장되어 있을 수 있다.

Claims (35)

  1. 범용 웹 애플리케이션을 이용하여 홈 네트워크 장치를 제어하는 방법에 있어서,
    상기 범용 웹 애플리케이션에서 홈 네트워크 장치를 제어하기 위한, 스크립트 형태의 API(application program interface)를 포함하는 제어 정보를 서버로부터 수신하는 단계와;
    상기 수신된 제어 정보에 포함된 스크립트 형태의 API(application program interface)를 통하여 상기 홈 네트워크 장치를 제어하는 제어명령을 제어모듈(control point module)로 전달하는 단계와;
    상기 홈 네트워크 장치의 제어명령이 수행된 처리 결과 데이터를 상기 제어모듈로부터 수신하는 단계를 포함하며,
    상기 스크립트 형태의 API는 하나의 함수 이름 및 복수의 인자들(arguments)로 구성된 단일한 포맷의 스크립트 API이며, 상기 스크립트 API의 상기 복수의 인자들 중 하나의 인자는 변수로서 상기 제어모듈에 의하여 제어명령을 수행하고자 하는 홈 네트워크 API의 이름이고, 상기 복수의 인자들 중 다른 하나의 인자는 상기 홈 네트워크 API에 따른 파라미터를 포함하는 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  2. 제1항에 있어서,
    상기 웹 애플리케이션은 HTML 기반의 범용 웹 브라우저(web browser) 또는 XML 기반의 위젯(widget)인 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  3. 제2항에 있어서,
    상기 제어명령을 제어모듈로 전달하는 단계는,
    상기 제어명령을 수행하는 홈 네트워크 API을 상기 제어모듈로 전달하는 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  4. 제1항에 있어서,
    상기 제어명령을 제어모듈로 전달하는 단계는,
    상기 홈 네트워크 장치에 대한 적어도 하나 이상의 제어명령을 수행하는 매크로 API를 이용하여 복수개의 제어명령을 전달하는 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  5. 제1항에 있어서,
    상기 제어 정보를 수신하는 단계는,
    사용자 인터페이스 화면을 구성하기 위한 HTTP 통신에 있어서 비동기 통신 방법을 이용하여 수행되는 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  6. 제5항에 있어서,
    상기 비동기 통신 방법은 Ajax(Asynchronous JAvascript and Xml)를 이용하 는 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  7. 제1항에 있어서,
    상기 홈 네트워크는 UPnP/DLNA 기반의 홈 네트워크이고,
    상기 홈 네트워크 장치는 UPnP/DLNA 디바이스이고,
    상기 홈 네트워크 API는 UPnP/DLNA API이고,
    상기 제어모듈은 상기 웹 애플리케이션과 통신하는 플러그인(plug-in) 애플리케이션 또는 브라우저의 내장 객체 애플리케이션인 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  8. 제7항에 있어서,
    상기 플러그인 애플리케이션은 상기 전달받은 제어명령을 수행하는 UPnP/DLNA API를 호출하는 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  9. 제8항에 있어서,
    상기 플러그인 애플리케이션은 상기 제어명령이 수행된 처리 결과 데이터를 콜백(callback) 함수를 통하여 상기 웹 애플리케이션으로 전달하는 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  10. 제9항에 있어서,
    상기 플러그인 애플리케이션은 상기 처리 결과 데이터의 종류가 복수개인 경우에 상기 처리 결과 데이터를 XML 형태로서 상기 웹 애플리케이션으로 전달하는 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  11. 제1항에 있어서,
    상기 수신된 처리 결과 데이터를 수집하여 상기 웹 애플리케이션을 통해 사용자에게 제공하는 단계를 더 포함하는 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  12. 제11항에 있어서,
    상기 수신된 처리 결과 데이터를 사용자에게 제공하는 단계는,
    상기 수신된 처리 결과 데이터의 종류가 복수개인 경우에 기 등록된 XML 형태의 속성(property) 정보를 독출하여 상기 사용자에게 제공하는 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  13. 범용 웹 애플리케이션을 구비한 홈 네트워크 제어 기기를 이용하여 홈 네트워크 장치를 제어하는 방법에 있어서,
    상기 범용 웹 애플리케이션에서 홈 네트워크 장치를 제어하기 위한, 스크립트 형태의 API(application program interface)를 포함하는 제어 정보를 서버로부터 수신하는 단계와;
    상기 수신된 제어 정보에 포함된 스크립트 형태의 API(application program interface)를 이용하여 제어모듈(control point module)을 통해 내장(embedded) 장치 및 홈 네트워크 장치를 검색하는 단계와;
    상기 검색된 장치에 대하여 제어명령을 수행하는 단계를 포함하며,
    상기 스크립트 형태의 API는 하나의 함수 이름 및 복수의 인자들(arguments)로 구성된 단일한 포맷의 스크립트 API이며, 상기 스크립트 API의 상기 복수의 인자들 중 하나의 인자는 변수로서 상기 제어모듈에 의하여 제어명령을 수행하고자 하는 홈 네트워크 API의 이름이고, 상기 복수의 인자들 중 다른 하나의 인자는 상기 홈 네트워크 API에 따른 파라미터를 포함하는 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  14. 제13항에 있어서,
    상기 웹 애플리케이션은 HTML 기반의 범용 웹 브라우저(web browser) 또는 XML 기반의 위젯(widget)이고,
    상기 내장 장치는 상기 홈 네트워크 제어 기기에 구비된 내장 기능으로서 UPnP/DLNA 디바이스 형태로 표현되는 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  15. 제13항에 있어서,
    상기 검색하는 단계는,
    상기 내장 장치의 리스트를 상기 스크립트 형태의 API를 이용하여 독출함으로써 내장 장치 여부를 판단하는 단계를 더 포함하는 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  16. 제13항에 있어서,
    상기 제어명령을 수행하는 단계는,
    상기 내장 장치를 구비한 상기 홈 네트워크 제어 기기 이외의 다른 제어 기기로부터 상기 내장 장치가 제어되는 것을 제한하는 경우에, 상기 홈 네트워크 제어 기기에 할당된 IP 주소 또는 식별자를 판단하여 상기 다른 제어 기기로부터 수신된 제어명령을 수행하지 않는 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  17. 제13항에 있어서,
    상기 홈 네트워크는 UPnP/DLNA 기반의 홈 네트워크이고,
    상기 홈 네트워크 장치는 UPnP/DLNA 디바이스이고,
    상기 홈 네트워크 API는 UPnP/DLNA API이고,
    상기 제어모듈은 상기 웹 애플리케이션과 통신하는 플러그인(plug-in) 애플리케이션 또는 브라우저의 내장 객체 애플리케이션인 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  18. 범용 웹 애플리케이션을 구비한 홈 네트워크 제어 기기를 이용하여 홈 네트워크 장치를 제어하는 방법에 있어서,
    상기 범용 웹 애플리케이션에서 홈 네트워크 장치를 제어하기 위한, 스크립트 형태의 API(application program interface)를 포함하는 제어 정보를 서버로부터 수신하는 단계와;
    상기 수신된 제어 정보에 포함된 스크립트 형태의 API(application program interface)를 이용하여 제어모듈(control point module)을 통해 내장(embedded) 장치 및 홈 네트워크 장치를 검색하는 단계와;
    상기 검색된 장치에 대하여 제어명령을 수행하는 단계와;
    상기 제어명령을 수행한 결과에 기초하여 상기 홈 네트워크 장치에 저장된 컨텐츠 아이템의 리스트(list of content items) 또는 상기 컨텐츠 아이템과 관련된 정보를 사용자에게 제공하는 단계를 포함하며,
    상기 스크립트 형태의 API는 하나의 함수 이름 및 복수의 인자들(arguments)로 구성된 단일한 포맷의 스크립트 API이며, 상기 스크립트 API의 상기 복수의 인자들 중 하나의 인자는 변수로서 상기 제어모듈에 의하여 제어명령을 수행하고자 하는 홈 네트워크 API의 이름이고, 상기 복수의 인자들 중 다른 하나의 인자는 상기 홈 네트워크 API에 따른 파라미터를 포함하는 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  19. 범용 웹 애플리케이션을 구비한 홈 네트워크 제어 기기를 이용하여 홈 네트워크 장치를 제어하는 방법에 있어서,
    상기 범용 웹 애플리케이션에서 홈 네트워크 장치를 제어하기 위한, 스크립트 형태의 API(application program interface)를 포함하는 제어 정보를 서버로부터 수신하는 단계와;
    상기 수신된 제어 정보에 포함된 스크립트 형태의 API(application program interface)를 이용하여 제어모듈(control point module)을 통해 내장(embedded) 장치 및 홈 네트워크 장치를 검색하는 단계와;
    상기 검색된 장치에 대하여 제어명령을 수행하는 단계와;
    상기 제어명령을 수행한 결과에 기초하여 상기 홈 네트워크 장치에 저장된 컨텐츠 아이템 또는 상기 컨텐츠 아이템과 관련된 정보를 사용자가 소비(consumption)할 수 있도록 제공하는 단계를 포함하며,
    상기 스크립트 형태의 API는 하나의 함수 이름 및 복수의 인자들(arguments)로 구성된 단일한 포맷의 스크립트 API이며, 상기 스크립트 API의 상기 복수의 인자들 중 하나의 인자는 변수로서 상기 제어모듈에 의하여 제어명령을 수행하고자 하는 홈 네트워크 API의 이름을 변수이고, 상기 복수의 인자들 중 다른 하나의 인자는 상기 홈 네트워크 API에 따른 파라미터를 포함하는 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  20. 범용 웹 애플리케이션을 구비한 홈 네트워크 제어 기기를 이용하여 홈 네트워크 장치를 제어하는 방법에 있어서,
    상기 범용 웹 애플리케이션에서 홈 네트워크 장치를 제어하기 위한, 스크립트 형태의 API(application program interface)를 포함하는 제어 정보를 서버로부터 수신하는 단계와;
    상기 수신된 제어 정보에 포함된 스크립트 형태의 API(application program interface)를 이용하여 제어모듈(control point module)을 통해 내장(embedded) 장치 및 홈 네트워크 장치를 검색하는 단계와;
    상기 검색된 장치에 대하여 제어명령을 수행하는 단계를 포함하며,
    상기 홈 네트워크 장치, 서비스, 사용자 또는 컨텐츠와 관련된 정보가 상기 홈 네트워크의 외부 제3자(third party)에게 제공되는 것이 제한되며,
    상기 스크립트 형태의 API는 하나의 함수 이름 및 복수의 인자들(arguments)로 구성된 단일한 포맷의 스크립트 API이며, 상기 스크립트 API의 상기 복수의 인자들 중 하나의 인자는 변수로서 상기 제어모듈에 의하여 제어명령을 수행하고자 하는 홈 네트워크 API의 이름이고, 상기 복수의 인자들 중 다른 하나의 인자는 상기 홈 네트워크 API에 따른 파라미터를 포함하는 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  21. 범용 웹 애플리케이션을 구비한 홈 네트워크 제어 기기를 이용하여 홈 네트워크 장치를 제어하는 방법에 있어서,
    상기 범용 웹 애플리케이션에서 홈 네트워크 장치를 제어하기 위한, 스크립트 형태의 API(application program interface)를 포함하는 제어 정보를 서버로부터 수신하는 단계와;
    상기 수신된 제어 정보에 포함된 스크립트 형태의 API(application program interface)를 이용하여 제어모듈(control point module)을 통해 내장(embedded) 장치 및 홈 네트워크 장치를 검색하는 단계와;
    상기 검색된 장치에 대하여 제어명령을 수행하는 단계를 포함하며,
    사용자가 상기 홈 네트워크 상에서 상기 웹 애플리케이션에 의해 접근 가능한 컨텐츠, 디바이스 및 서비스의 집합(set)을 정의할 수 있고,
    상기 스크립트 형태의 API는 하나의 함수 이름 및 복수의 인자들(arguments)로 구성된 단일한 포맷의 스크립트 API이며, 상기 스크립트 API의 상기 복수의 인자들 중 하나의 인자는 변수로서 상기 제어모듈에 의하여 제어명령을 수행하고자 하는 홈 네트워크 API의 이름이고, 상기 복수의 인자들 중 다른 하나의 인자는 상기 홈 네트워크 API에 따른 파라미터를 포함하는 것을 특징으로 하는 홈 네트워크 장치의 제어 방법.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
KR1020080118806A 2007-11-27 2008-11-27 범용 웹 애플리케이션을 이용하여 홈 네트워크 장치를 제어하는 방법 및 장치 KR101747296B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US99041507P 2007-11-27 2007-11-27
US99040407P 2007-11-27 2007-11-27
US60/990,404 2007-11-27
US60/990,415 2007-11-27
US99144807P 2007-11-30 2007-11-30
US60/991,448 2007-11-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020150148832A Division KR101809544B1 (ko) 2007-11-27 2015-10-26 범용 웹 애플리케이션을 이용하여 홈 네트워크 장치를 제어하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20090054940A KR20090054940A (ko) 2009-06-01
KR101747296B1 true KR101747296B1 (ko) 2017-06-14

Family

ID=40679136

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020080118806A KR101747296B1 (ko) 2007-11-27 2008-11-27 범용 웹 애플리케이션을 이용하여 홈 네트워크 장치를 제어하는 방법 및 장치
KR1020150148832A KR101809544B1 (ko) 2007-11-27 2015-10-26 범용 웹 애플리케이션을 이용하여 홈 네트워크 장치를 제어하는 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020150148832A KR101809544B1 (ko) 2007-11-27 2015-10-26 범용 웹 애플리케이션을 이용하여 홈 네트워크 장치를 제어하는 방법 및 장치

Country Status (5)

Country Link
US (1) US9281959B2 (ko)
EP (1) EP2215782B1 (ko)
KR (2) KR101747296B1 (ko)
CN (2) CN101878616A (ko)
WO (1) WO2009069949A2 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110003343A (ko) * 2008-03-21 2011-01-11 코닌클리케 필립스 일렉트로닉스 엔.브이. 클라이언트에 의해 생성된 정보를 디스플레이하기 위한 방법
KR101573328B1 (ko) 2008-04-21 2015-12-01 삼성전자주식회사 암호화된 제어 정보를 획득하는 홈 네트워크 제어 장치 및 그 방법
US20110185342A1 (en) * 2008-06-03 2011-07-28 Whirlpool Corporation Appliance development toolkit
US8805930B2 (en) * 2009-02-24 2014-08-12 Red Hat, Inc. Managing application programming interfaces in a collaboration space
KR20110032836A (ko) * 2009-09-24 2011-03-30 삼성전자주식회사 권한 정보 확인 방법 및 이를 이용한 디스플레이 장치와 권한 정보 확인 시스템
KR101612845B1 (ko) * 2009-11-12 2016-04-15 삼성전자주식회사 리모트 ui 서비스 제공 방법 및 장치
KR101726875B1 (ko) * 2010-05-19 2017-04-13 삼성전자주식회사 홈 네트워크에서 위젯 패키지를 이용하여 원격 사용자 인터페이스 정보를 제공하기 위한 장치 및 방법
KR101690232B1 (ko) * 2010-05-28 2016-12-27 엘지전자 주식회사 전자 기기 및 전자 기기의 제어 방법
EP2625655A4 (en) 2010-10-06 2014-04-16 Planet Data Solutions SYSTEM AND METHOD FOR INDEXING ELECTRONIC DETECTION DATA
CN102123065B (zh) * 2010-12-29 2013-08-28 东软集团股份有限公司 家庭间dlna设备发现和控制方法及装置
US20120254288A1 (en) * 2011-03-28 2012-10-04 Sony Corporation Recompositing an rui in real-time
US9237183B2 (en) 2011-05-26 2016-01-12 Candi Controls, Inc. Updating a domain based on device configuration within the domain and remote of the domain
FR2984667B1 (fr) * 2011-12-16 2014-09-26 Awox Procede et dispositif de communication entre terminaux
CN103188298A (zh) * 2011-12-29 2013-07-03 青岛海尔软件有限公司 将传统设备虚拟化的方法
US9268329B1 (en) * 2012-02-06 2016-02-23 Google Inc. Control interface
KR102020045B1 (ko) * 2012-02-20 2019-09-10 한국전자통신연구원 하이브리드 웹 어플리케이션 실행 방법 및 하이브리드 웹 어플리케이션 실행 장치
US8966508B2 (en) * 2012-02-20 2015-02-24 Electronics And Telecommunications Research Institute Method for executing hybrid web application and apparatus therefor
CN103455505B (zh) * 2012-05-31 2017-06-27 华为技术有限公司 一种媒体获取方法、装置及系统
US9253537B2 (en) * 2012-08-28 2016-02-02 Time Warner Cable Enterprises Llc Apparatus and methods for controlling digital video recorders
KR102007841B1 (ko) * 2012-10-15 2019-08-06 엘지전자 주식회사 미디어 공유 제어장치, 미디어 재생장치, 미디어 공유 애플리케이션 제공 서버 및 미디어 공유 방법
WO2014169455A1 (zh) * 2013-04-18 2014-10-23 华为技术有限公司 一种控制服务质量的方法、应用服务器及终端
CN104518863B (zh) * 2013-09-30 2020-10-16 中兴通讯股份有限公司 实现基于dlna网络的通信内容同步的方法及系统
US10469624B2 (en) * 2013-10-07 2019-11-05 Bose Corporation User interface control in a networked audio system
TWI554949B (zh) * 2014-07-03 2016-10-21 阿貝爾環球國際有限公司 動態配置機器功能的方法以及應用該方法的系統與機器
CN104301803B (zh) * 2014-10-24 2018-01-19 广东欧珀移动通信有限公司 一种基于UPnP的多媒体播放控制方法及系统
US9591350B2 (en) 2015-04-10 2017-03-07 Sony Corporation Sharing web application program guide content items over home networks
CN106325081A (zh) * 2015-06-17 2017-01-11 派斡信息技术(上海)有限公司 控管电子装置的方法以及应用该方法的控制机器
KR102497544B1 (ko) * 2016-05-19 2023-02-07 한화테크윈 주식회사 하이브리드 애플리케이션에서 사용자의 세션 관리 방법 및 장치
CN107066255A (zh) * 2017-03-03 2017-08-18 海尔优家智能科技(北京)有限公司 一种共用物联设备逻辑的物联设备控制方法及装置
CN108733495B (zh) * 2017-04-13 2022-01-28 东方明珠新媒体股份有限公司 用于实现跨平台通信的方法和设备
US10880272B2 (en) * 2017-04-20 2020-12-29 Wyse Technology L.L.C. Secure software client
CN110515599A (zh) * 2019-08-30 2019-11-29 北京浪潮数据技术有限公司 一种基于配置的数据开放接口实现方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060069713A1 (en) * 2004-08-27 2006-03-30 Min Wei Securely and efficiently extending data processing pipeline functionality
WO2007004754A1 (en) * 2005-07-04 2007-01-11 Sk Telecom Co., Ltd. Residential gateway system for home network service
US20070258718A1 (en) * 2006-05-05 2007-11-08 Alcatel Method and system for extending internet protocol remote control to non-internet protocol devices

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020083143A1 (en) * 2000-12-13 2002-06-27 Philips Electronics North America Corporation UPnP architecture for heterogeneous networks of slave devices
GB0129177D0 (en) * 2001-12-06 2002-01-23 Koninl Philips Electronics Nv Havi-upnp bridging
EP1355485A1 (en) * 2002-04-18 2003-10-22 Deutsche Thomson-Brandt Gmbh Method for generating a user interface on a HAVi device for the control of a Non-HAVi device
KR100585669B1 (ko) * 2004-03-22 2006-06-07 엘지전자 주식회사 인터넷을 이용한 네트워크 디바이스 제어 방법
US7920549B2 (en) * 2005-07-20 2011-04-05 Verizon Business Global Llc Method and system for providing secure media gateways to support interdomain traversal
DE102005034972A1 (de) * 2005-07-22 2007-01-25 Deutsche Thomson-Brandt Gmbh Verfahren zum Fernzugriff auf ein lokales Netzwerk sowie Vermittlungsknoten für die Durchführung des Verfahrens
KR100694155B1 (ko) * 2005-10-12 2007-03-12 삼성전자주식회사 웹서비스를 통해 홈 네트워크 기기의 서비스를 홈 네트워크외부에 제공하는 방법 및 장치
KR20070060997A (ko) * 2005-12-09 2007-06-13 한국전자통신연구원 웹서비스를 이용한 홈네트워크 미디어 컨텐츠 제공 시스템및 그 방법
CN101438256B (zh) * 2006-03-07 2011-12-21 索尼株式会社 信息处理设备、信息通信系统、信息处理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060069713A1 (en) * 2004-08-27 2006-03-30 Min Wei Securely and efficiently extending data processing pipeline functionality
WO2007004754A1 (en) * 2005-07-04 2007-01-11 Sk Telecom Co., Ltd. Residential gateway system for home network service
US20070258718A1 (en) * 2006-05-05 2007-11-08 Alcatel Method and system for extending internet protocol remote control to non-internet protocol devices

Also Published As

Publication number Publication date
WO2009069949A2 (en) 2009-06-04
EP2215782B1 (en) 2016-11-16
CN101878616A (zh) 2010-11-03
KR101809544B1 (ko) 2018-01-18
CN105245415A (zh) 2016-01-13
WO2009069949A3 (en) 2009-07-16
KR20090054940A (ko) 2009-06-01
EP2215782A4 (en) 2015-01-21
EP2215782A2 (en) 2010-08-11
US20100305722A1 (en) 2010-12-02
CN105245415B (zh) 2018-08-03
US9281959B2 (en) 2016-03-08
KR20150126578A (ko) 2015-11-12

Similar Documents

Publication Publication Date Title
KR101809544B1 (ko) 범용 웹 애플리케이션을 이용하여 홈 네트워크 장치를 제어하는 방법 및 장치
EP1738527B1 (en) Method for controlling a device in a network of distributed stations, and network station
US9883251B2 (en) Method and apparatus for managing connection between broadcast receiving device and another device connected by network
KR101411322B1 (ko) 홈 네트워크 기기 제어 서비스 및 인터넷 서비스 방법과 그 장치
US9137292B2 (en) Remote management of DLNA system
JP4737250B2 (ja) 情報処理装置及び情報処理方法
US8560497B2 (en) Inter-home sharing apparatus and method using home network device
US10554745B2 (en) Method and apparatus for managing connection between broadcasting reception device and another device which are connected through network
JP2007133796A (ja) 情報処理装置及び情報処理システム
JP2006236354A (ja) ホームネットワークのサービスフレームワーク及びその制御方法
KR100754221B1 (ko) 네트워크 디바이스간의 서비스 요청 방법 및 그 방법을수행할 수 있는 네트워크 디바이스와 저장 매체
KR100498284B1 (ko) UPnP 기반 네트워크의 동기화 시스템 및 방법
KR20120008401A (ko) 홈 네트워크에서 멀티캐스트 메시지를 이용하여 복수 개의 원격 사용자 인터페이스 서버들을 제어하기 위한 장치 및 방법
US10165082B2 (en) Method and apparatus for managing connection between plurality of devices over network
US9948748B2 (en) Method of receiving/transmitting event message, controlled device, and control point
KR101329668B1 (ko) 푸쉬 서버를 이용한 콘텐츠 공유 시스템 및 방법
EP2168305B1 (en) Method of receiving/transmitting event message, controlled device, and control point
JP2008204269A (ja) サーバ装置、クライアント装置、通信方法およびプログラム
KR20130041607A (ko) 콘텐츠 공유를 위한 콘텐츠 정보 제공 장치 및 방법
KR100952280B1 (ko) 댁내에 설치되는 주거 게이트웨이의 재부팅을 원격으로제어하는 방법
Lee et al. The u-MUSE system: an integrated UPnP AV home entertainment system supporting rui service and device mobility
KR101442640B1 (ko) 홈 네트워크 프록시 서버를 이용한 원격 사용자 인터페이스 제공 시스템 및 제공방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
A107 Divisional application of patent
J201 Request for trial against refusal decision
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL NUMBER: 2015101006326; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20151026

Effective date: 20170222

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant