KR100521762B1 - Application downloading method which can download application packs and install automatically, make menu dynamically and integrated home server system using it - Google Patents

Application downloading method which can download application packs and install automatically, make menu dynamically and integrated home server system using it Download PDF

Info

Publication number
KR100521762B1
KR100521762B1 KR10-2003-0009610A KR20030009610A KR100521762B1 KR 100521762 B1 KR100521762 B1 KR 100521762B1 KR 20030009610 A KR20030009610 A KR 20030009610A KR 100521762 B1 KR100521762 B1 KR 100521762B1
Authority
KR
South Korea
Prior art keywords
application
module
service
application pack
pack
Prior art date
Application number
KR10-2003-0009610A
Other languages
Korean (ko)
Other versions
KR20040073864A (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 (주)인터랙티비
Priority to KR10-2003-0009610A priority Critical patent/KR100521762B1/en
Publication of KR20040073864A publication Critical patent/KR20040073864A/en
Application granted granted Critical
Publication of KR100521762B1 publication Critical patent/KR100521762B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 UPnP 규격의 어플리케이션 팩을 다운로드 받아 자동 설치하고, 동적으로 메뉴에 추가할 수 있는 통합형 홈서버 시스템을 구현한 것으로 UPnP 개념을 하드웨어 디바이스뿐 아니라 소프트웨어 어플리케이션 팩에도 적용함으로써 적용 범위를 확장한 것이다. 상기의 통합형 홈서버 미들웨어는 웹서비스 통신을 하기 위한 커뮤니케이션 매니저 모듈과, UPnP 규격 메시지와 웹서비스 메시지를 상호 변환하는 컨버터 모듈과, 하드웨어 디바이스 및 어플리케이션 팩에 대한 제품관련 정보와 해당 제품의 서비스 상세 정보를 기재한 디스크립션 정보를 관리하는 디스크립션 매니저 모듈과, 하드웨어 디바이스와 어플리케이션 팩을 인식 및 제어하여 서비스를 요청하고 서비스 수행 결과를 수령 받는 컨트롤 포인트 모듈과, 서비스를 실제 수행하는 어플리케이션 팩 디바이스 모듈과 상기의 어플리케이션 팩 디바이스 모듈을 제어하기 위한 유저 인터페이스인 어플리케이션 팩 프리젠테이션 모듈을 포함하고 있는 어플리케이션 팩과, 상기의 어플리케이션 팩의 생성, 종료, 삭제, 추가를 수행하는 어플리케이션 매니저 모듈을 포함한다.The present invention implements an integrated home server system that can download and install UPnP standard application packs automatically and dynamically add them to menus, and extends the scope of application by applying the UPnP concept to software application packs as well as hardware devices. . The integrated home server middleware includes a communication manager module for web service communication, a converter module for translating UPnP standard messages and web service messages, product related information on hardware devices and application packs, and service details of the corresponding products. A description manager module for managing description information including a description information, a control point module for recognizing and controlling a hardware device and an application pack, requesting a service, and receiving a service execution result, an application pack device module for actually performing the service, and An application pack including an application pack presentation module, which is a user interface for controlling an application pack device module, and an application manager for creating, terminating, deleting, and adding the application pack. Contains modules

Description

어플리케이션 팩을 다운로드하여 자동으로 설치하고, 동적으로 메뉴를 생성하는 어플리케이션 다운로드 방법 및 이를 활용한 통합형 홈서버 시스템{Application downloading method which can download application packs and install automatically, make menu dynamically and integrated home server system using it} Application downloading method which can download application packs and install automatically, make menu dynamically and integrated home server system using it }

본 발명은 UPnP 규격의 어플리케이션 팩을 다운로드 받아 자동 설치하고 동적으로 메뉴에 추가할 수 있는 통합형 홈서버 시스템을 구현한 것으로서, UPnP 개념을 하드웨어 디바이스뿐 아니라 소프트웨어 어플리케이션 팩에도 적용함으로써 적용 범위를 확장한 것이다. The present invention implements an integrated home server system that can download and automatically install UPnP standard application packs and dynamically add them to menus, and extends the scope of application by applying the UPnP concept to software application packs as well as hardware devices. .

요즈음 PC와 디지털 가전이 보급되면서 이러한 디지털 디바이스들을연결하는 홈네트웍 분야가 각광받고 있다. 이러한 홈네트웍 접속기술이 연구되고 있는데 크게 3가지 접속기술이 부각되고 있다. 하나는 SUN에서 발표한 Jini 접속기술이고, 하나는 SONY 등에서 발표한 HAVi 접속기술이고, 나머지 하나는 MicroSoft 등에서 개념을 제안한 UPnP 접속기술이다.With the spread of PCs and digital home appliances these days, the field of home networks connecting these digital devices is in the spotlight. These home network connection technologies are being studied, and three connection technologies are highlighted. One is Jini connection technology announced by SUN, the other is HAVi connection technology announced by SONY, and the other is UPnP connection technology proposed by MicroSoft.

이 중 UPnP(Universal Plug and Play) 접속기술은 기존 PC에서 디바이스를 제어하던 Plug and Play 개념을 확장시킨 개념으로서 IP 기반의 HTTP 프로토콜을 사용하여 상호간의 디바이스를 제어하는 것이다. 즉, UPnP 접속 규격을 가진 디바이스(이하, UPnP 디바이스라 함)를 네트웍에 자동 접속시켜 IP 주소를 할당한 뒤 또 다른 UPnP 디바이스에서 이를 찾아서 사용 및 제어할 수 있도록 지원해주는 기술이다. Among them, UPnP (Universal Plug and Play) connection technology is an extension of the concept of Plug and Play, which used to control devices from PCs, and controls devices using IP-based HTTP protocol. That is, it is a technology that automatically connects devices with UPnP access standards (hereinafter referred to as UPnP devices) to the network, assigns IP addresses, and finds, uses and controls them in another UPnP device.

이를 위하여 UPnP 접속 기술은 (i)Addressing, (ii)Discovery, (iii)Description, (iv)control (v)Presentation 의 5가지 구동 단계로 구분된다.To this end, the UPnP access technology is divided into five driving stages: (i) Addressing, (ii) Discovery, (iii) Description, and (iv) control (v) Presentation.

어드레싱 단계(Addressing step; 1단계)는 UPnP 디바이스들이 네트웍에 접속하여 자신이 가져야할 주소를 할당받는 단계로서, DHCP 방식과 AUTO IP 방식이 있다. DHCP(Dynamic Host Configuration Protocol) 방식은 다수의 IP를 예약한 호스트가 있어서 UPnP 디바이스가 그 호스트 근처의 네트웍에 접속하게될 때 호스트로부터 남아 있는 IP를 할당받는 방법이고, AUTO IP 방식은 접속된 네트웍에 상기의 호스트가 없는 경우에 사용되는 방식으로, 사용하지 않기로 전 세계적으로 미리 약속된 IP를 자신의 주소로 임시 설정하는 방식이다. The addressing step (Step 1) is a step in which UPnP devices are assigned an address to have their own by accessing the network. There are a DHCP method and an AUTO IP method. The DHCP (Dynamic Host Configuration Protocol) method is a method in which a host that has reserved a plurality of IPs is assigned a remaining IP from the host when the UPnP device is connected to a network near the host. The AUTO IP method is used to connect to a connected network. This method is used when there is no such host, and it is a method of temporarily setting a globally-promised IP as its own address.

디스커버리 단계(Discovery step; 2단계)는 서비스를 요구하는 쪽(Control Point, 이하 CP라 함)과 서비스를 실제 수행하는 쪽(Controlled Device, 이하 CD라 함)의 기기 들이 네트웍에 접속하게 되거나 또는 사용자로부터 서비스 요청을 받았을 때, SSDP(Simple Service Discovery Protocol)을 사용하여 기존에 접속되어 있는 다른 디바이스에게 자신의 존재를 알리거나(advertise), 필요한 서비스를 찾는 과정(search)을 말한다.The discovery step (step 2) is where the devices requesting the service (Control Point, or CP) and the device that actually performs the service (Controlled Device, or CD) are connected to the network or the user When a service request is received from a service, the service is used to advertise its existence to another device connected to the existing device using the Simple Service Discovery Protocol (SSDP), or to search for a required service.

디스크립션 단계(Description step; 3단계)는 서비스를 요구하는 CP(Control Point)에서 서비스를 실제 수행하는 CD(Controlled Device)의 디스크립션 URL(Description URL)을 얻는 단계를 말한다. 상기의 디스크립션 URL에는 CD 자체에 대한 정보(예컨대, 모델이름, 모델번호, 시리얼번호 등), CD가 제공해주는 서비스에 대한 정보(예컨대, 다기능 전화기에서의 복사기능, 팩스 기능, 주소록 기능 등), CD가 지원하는 서비스에 대한 상세한 정보(예컨대, 명령문 목록, 수행 동작, 동작에 필요한 매개 변수 등)가 XML 형태로 표현되어 있다.The description step (step 3) refers to a step of obtaining a description URL of a controlled device (CD) that actually performs a service from a control point (CP) requesting a service. The description URL includes information about the CD itself (e.g., model name, model number, serial number, etc.), information on services provided by the CD (e.g. copy function, multi-function phone, fax function, address book function, etc.), Detailed information about the services supported by the CD (for example, a list of statements, actions performed, parameters required for the operation, etc.) are expressed in XML format.

컨트롤 단계(Control step; 제4단계)는 CP가 CD를 제어하여 CP로 하여금 특정 서비스를 수행하게 하는 단계이다. CP가 CD에게 서비스 요청하기 위한 제어정보를 전송하게 되면 CD는 해당 서비스를 수행한 후 수행 결과 값을 CP에 보내준다. CP는 수령한 수행 결과를 보고 서비스 수행 상태를 알게된다.The control step (step 4) is a step in which the CP controls the CD so that the CP performs a specific service. When the CP transmits control information for requesting a service from the CD, the CD performs a corresponding service and then sends a result value to the CP. The CP knows the service performance status based on the received performance result.

프리젠테이션 단계(Presentation step; 제5단계)는 CD가 가지고 있는 프리젠테이션 URL을 통하여 CD의 상태 확인 및 제어를 수행하는 과정이다. 즉, CD가 프리젠테이션을 위한 URL을 가지고 있다면 CP는 해당 URL에서 프리젠테이션에 대한 웹페이지를 검색하고 그 문서를 브라우저에 올린다. 그리고, CD에서 지원하는 기능에 따라 이 웹페이지에서 기기를 제어하거나 기기의 상태를 확인할 수 있다. UPnP에서는 프리젠테이션 과정을 선택사항으로 두고 있어 UPnP 시스템 구현 시에 받드시 프리젠테이션 과정이 필요한 것은 아니다. The presentation step (Fifth step) is a process of checking and controlling the status of the CD through the presentation URL of the CD. That is, if the CD has a URL for presentation, the CP retrieves the web page for the presentation from that URL and uploads the document to the browser. Depending on the functionality supported by the CD, you can control the device or check the device's status from this web page. In the UPnP, the presentation process is optional, so the presentation process is not necessary when implementing the UPnP system.

이와 같이, UPnP 접속 기술은 어드레싱, 디스커버리, 디스크립션, 컨트롤, 프리젠테이션 단계를 통해 네트웍에 접속한 디바이스 상호간에 제어를 할 수 있게 된다. 예컨대, 카메라는 사진을 프린트할 수 있는 프린터를 직접 찾아서 사용할 수 있거나 웹 텔레비전이 직접 VCR을 찾아 사용할 수 있는 것이다.As such, the UPnP connection technology can control the devices connected to the network through the addressing, discovery, description, control, and presentation steps. For example, the camera can directly find and use a printer that can print pictures, or the web television can find and use a VCR.

그런데, 종래의 홈서버용 미들웨어에서는 하드웨어와 소프트웨어에 대해 별도의 처리 루틴을 가지고 제어를 수행하고 있어, 하드웨어와 소프트웨어에 대한 동일한 메카니즘을 적용할 수 있는 기술이 전무한 상황이다. 특히, 소프트웨어 형태로 된 어플리케이션 팩을 UPnP 규약에 적용시켜 네트웍망에 접속시킨다 할 때 이를 어떻게 다운로드 받아 설치해야 하는지에 대해서 아무런 방법이 제시되어 있지 않은 상황이다. However, in the conventional home server middleware, hardware and software are controlled with separate processing routines, and there is no technology that can apply the same mechanism for hardware and software. In particular, there is no suggestion on how to download and install an application pack in the form of a software when connecting to a network by applying the UPnP protocol.

상기의 문제점을 해결하고자 본 발명은 제안된 것으로서, 기존의 UPnP 하드웨어 접속 기술에 대한 개념을 확장하여 소프트웨어 어플리케이션을 UPnP 규격에 따라 네트웍망에 접속시킨 시스템을 제시함으로써, 소프트웨어에 UPnP를 적용함으로써 하드웨어와 소프트웨어를 동일한 방식으로 제어할 뿐 아니라 동일한 방식으로 Web Service 형태로 변환 확장 할 수 있다. 나아가, 소프트웨어 형태로 된 어플리케이션 팩을 다운로드 받아 자동 설치하는 방법을 제시함으로써, 어플리케이션 팩의 설치 및 확장을 용이하도록 함을 목적으로 한다. 또한, 웹 서비스(Web Service) 변환 모듈을 두어 웹 서비스로 외부 네트웍에 서비스를 노출하고 사용되도록 하여 언제 어디서나 어떠한 디비이스든지 원하는 서비스를 제공받을 수 있도록 한다.The present invention has been proposed to solve the above problems, by extending the concept of the existing UPnP hardware access technology to present a system that connects the software application to the network according to the UPnP standard, by applying UPnP to the software and hardware Not only can you control the software in the same way, but you can also convert and extend the Web service form in the same way. Furthermore, the present invention aims to facilitate installation and expansion of an application pack by suggesting a method of downloading and automatically installing an application pack in the form of software. In addition, the web service conversion module is provided so that the service can be exposed and used on the external network as a web service so that any device can be provided anytime, anywhere.

상기의 목적을 이루기 위하여 네트웍 접속 규격인 UPnP를 적용한 통합형 홈서버 시스템은, 댁내망에 접속되어 플러그 인 등록된 UPnP 하드웨어 디바이스와 프로그램 형태로 플러그 인(Plug-in) 내장 등록된 어플리케이션 팩을 UPnP 규격에 따라 제어하는 통합형 홈서버 미들웨어와, 외부 네트웍상에 위치한 외부 네트웍 상의 접속매체와 상기의 통합형 홈서버 미들웨어 사이에 위치하여 이들 상호간의 데이터 공유 및 제어를 수행하도록 서비스를 제공해주는 웹서비스 서버를 구비한다. In order to achieve the above object, the integrated home server system adopting the UPnP network connection standard is a UPnP hardware device that is connected to the home network and registered as a plug-in. Integrated home server middleware to control according to, and a web service server located between the connection medium on the external network located on the external network and the integrated home server middleware to provide a service to perform data sharing and control between them do.

그리고, 상기의 통합형 홈서버 미들웨어는, 외부 네트웍상의 접속매체와 웹서비스 통신을 하기 위해 상기의 웹서비스 서버와 HTTP 방식의 통신을 수행하는 커뮤니케이션 매니저 모듈과, 통합형 홈서버 미들웨어 내에서 처리되는 UPnP 규격 메시지를 웹서비스 접속 규격인 웹서비스 메시지로 상호 변환하는 컨버터 모듈과, 통합형 홈서버 미들웨어에 플러그 인 등록된 하드웨어 디바이스 및 어플리케이션 팩에 대한 제품관련 정보와 해당 제품의 서비스 상세 정보를 기재한 디스크립션 정보를 저장, 관리하는 디스크립션 매니저 모듈과, 상기의 통합형 홈서버 미들웨어에 플러그 인(Plug-in)된 하드웨어 디바이스와 어플리케이션 팩을 인식, 제어하여 서비스를 요청하고 서비스 수행 결과를 수령 받는 컨트롤 포인트 모듈과, UPnP 접속 규격에 따른 서비스 요청이 있을 시에 해당 서비스를 실제 수행하는 모듈인 어플리케이션 팩 디바이스 모듈과, 상기의 어플리케이션 팩 디바이스 모듈을 제어하기 위한 유저 인터페이스 모듈인 어플리케이션 팩 디바이스 모듈을 포함하고 있는 어플리케이션 팩과, 상기의 어플리케이션 팩의 생성, 종료, 삭제, 추가를 수행하고 어플리케이션 팩에 대한 어플리케이션 ID, NAME, Presentation Path 의 정보를 관리하는 어플리케이션 매니저 모듈을 구비한다.The integrated home server middleware includes a communication manager module for performing HTTP communication with the web service server to perform a web service communication with an access medium on an external network, and a UPnP standard processed in the integrated home server middleware. The converter module converts the message into a web service message, which is a web service connection standard, and description information including product related information about the hardware device and application pack plug-in registered in the integrated home server middleware and detailed service information of the product. A description manager module that stores and manages, a control point module that recognizes and controls a hardware device and an application pack plugged into the integrated home server middleware, requests a service, and receives a service execution result; Service request according to connection standard An application pack including an application pack device module, which is a module that actually performs a corresponding service, and an application pack device module, which is a user interface module for controlling the application pack device module, a generation of the application pack, An application manager module for terminating, deleting, adding, and managing application ID, NAME, and presentation path information for an application pack is provided.

이하, 도면을 참조하여 본 발명의 일 실시 예를 상세히 설명한다.Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

도 1은 네트웍 상에서 통합형 홈서버 미들웨어의 접속 상태를 나타낸 상태 구성도이다.1 is a state configuration diagram showing a connection state of the integrated home server middleware on the network.

본 발명에 따른 통합형 홈서버 미들웨어(200)는 하드웨어 디바이스에만 적용되던 UPnP 개념을 S/W에도 확장 적용하여 하드웨어 디바이스(110a..,110n))뿐 아니라 소프트웨어인 어플리케이션 팩(260a...,260m)에도 적용할 수 있도록 한 것이다. 즉, 홈네트웍 망에 연결되어 있는 하드웨어 디바이스(110a..,110n)나 외부 네트웍망에 연결되어 있는 외부 접속 매체(130, 외부 네트웍상의 접속 디바이스, 외부 통합형 홈서버 미들웨어), 개인 정보 단말기(140)는 통합형 홈서버 미들웨어(200)의 어플리케이션 팩에게 특정 서비스 요청을 할 수 있고, 반면에 통합형 홈서버 미들웨어에 내장된 어플리케이션 팩은 하드웨어 디바이스(110a..,110n)나 외부 접속 매체(130)에게 특정 서비스 요청을 할 수 있다.The integrated home server middleware 200 according to the present invention extends the UPnP concept applied only to a hardware device to S / W, as well as an application pack (260a ..., 260m) that is software. ) Is also applicable. That is, the hardware devices 110a..110n connected to the home network or the external access medium 130 connected to the external network, the access device on the external network, the external integrated home server middleware, and the personal information terminal 140 ) May make a specific service request to the application pack of the integrated home server middleware 200, while the application pack embedded in the integrated home server middleware may be sent to the hardware device 110a..110n or the external access medium 130. You can make specific service requests.

통합형 홈서버 미들웨어(200)는 UPnP 규격을 따르는 어플리케이션 팩(260a..,260m)이 플러그 인 된 곳으로서, 어플리케이션 팩 실행을 구현할 수 있는 개인용 컴퓨터의 운영체제 등과 같은 플랫폼에서 동작하는 미들웨어이다. 또한, 통합형 홈서버 미들웨어(200)는 어플리케이션 팩(260a..,260m) 이외에도 UPnP 규격을 따르는 하드웨어 디바이스(110a..,110n)가 근거리 네트웍 망으로 연결되어 있어, 이들에게 서비스 요청을 통보하거나 이들로부터 서비스 요청을 할 수 있다.The integrated home server middleware 200 is a plug-in where an application pack (260a .., 260m) conforming to the UPnP standard is plugged in, and is middleware operating on a platform such as an operating system of a personal computer capable of implementing application pack execution. In addition, the integrated home server middleware 200, in addition to the application pack (260a .., 260m), hardware devices (110a .., 110n) complying with the UPnP standard are connected to the local area network, so they notify the service request or You can make a service request from.

본 발명에서 하드웨어 디바이스(110a..,110n)란 UPnP 규약에 따라 제어되는 전자 기기(UPnP 규약을 따르는 캠코더, 프린터, 인터넷 TV 등과 같은 전자 기기)를 명칭하는 것이고, 어플리케이션 팩(260a..,260m)이란 UPnP 규약을 따르는 VOD, EPG 제공 서비스같은 어플리케이션 프로그램으로서, 통합형 홈서버 미들웨어에 플러그 인 설치되는 소프트웨어 팩을 말하는 것이다. 이하에서는, UPnP 규격을 따르는 하드웨어 디바이스(110a..,110n)와 어플리케이션 팩(260a..,260m)을 통틀어서 UPnP 디바이스로 명칭한다.In the present invention, the hardware device (110a .., 110n) refers to an electronic device (electronic device such as a camcorder, printer, Internet TV, etc. conforming to the UPnP protocol) controlled according to the UPnP protocol, and the application pack (260a .., 260m) ) Is an application program such as VOD and EPG provided service that conforms to UPnP protocol and refers to a software pack that is plugged into the integrated home server middleware. Hereinafter, the hardware devices 110a..110n and the application packs 260a..260m conforming to the UPnP standard will be referred to as UPnP devices.

한편, 외부 접속 매체(130), 개인 정보 단말기(140)는 통합형 홈서버 미들웨어(200)의 어플리케이션 팩(260a..,260m)에게 특정한 서비스 요청을 할 수 있으며, 반대로, 통합형 홈서버 미들웨어에 내장된 어플리케이션 팩은 외부 접속 매체(130)에게 특정한 서비스 요청을 할 수 있는데, 이는 통합형 홈서버 미들웨어(200)가 자신의 위치, 어플리케이션 서비스 종류, 리소스(Resource)를 웹서비스 서버(120)에 등록시켜 놓음으로서, 통합형 홈서버 미들웨어(200)가 외부 네트웍에 위치한 개인 정보 단말기(140) 및 외부 접속 매체(130)와 손쉽게 서비스를 검색하고 해당 서비스 요청 메시지를 교환할 수 있는 웹서비스가 가능하기 때문이다. On the other hand, the external access medium 130, the personal information terminal 140 may make a specific service request to the application pack (260a., 260m) of the integrated home server middleware 200, on the contrary, embedded in the integrated home server middleware The applied application pack may make a specific service request to the external access medium 130. The integrated home server middleware 200 registers its location, application service type, and resource with the web service server 120. In this case, the integrated home server middleware 200 is capable of easily searching for a service and exchanging a corresponding service request message with a personal information terminal 140 and an external access medium 130 located in an external network. .

상기에서 웹서비스란, 웹을 통해 제공되는 표준화된 서비스(HTTP)로, RPC(Remote Procedure Call)의 확장된 개념이다. HTTP 프로토콜을 사용하기 때문에 사용자의 OS(Windows, Unix, Linux, Mac OS, etc)에 상관없이 다른 네트웍에 위치한 객체를 호출할 수 있다. 웹서비스는 WSDL 형태로 외부에 노출되며 UDDI에 등록된다. The web service is a standardized service (HTTP) provided through the web, and is an extended concept of a remote procedure call (RPC). Using the HTTP protocol, you can call objects located on other networks regardless of your OS (Windows, Unix, Linux, Mac OS, etc). Web services are exposed to the outside in the form of WSDL and registered with UDDI.

따라서, 웹서비스 서버(120)는 통합형 홈서버 미들웨어의 다양한 서비스 및 데이터를 공유할 수 있도록 UDDI 서비스를 제공한다. UDDI(universal description, discovery, and integration)는 인터넷상의 전 세계 비즈니스 목록에 자신을 등재하기 위한 XML 기반의 레지스트리로서, 기업들이 웹 상에서 서로를 찾을 수 있도록 함으로써 온라인 트랜잭션을 간략하게 할 수 있다. UDDI는 오프라인 세계의 인명, 회사 및 업종별 전화번호부 등과 종종 비유되어 회사들의 이름, 제품, 장소 및 제공하는 웹서비스 별 목록을 제공할 수 있게 해준다. 결국, 통합형 홈서버 미들웨어(200)는 이러한 웹서비스 서버(120)의 UDDI 기능을 이용함으로써 통합형 홈서버 미들웨어의 내부 서비스 및 리소스(resource)를 외부에 노출할 수 있고, 외부의 PDA, PCS등의 개인정보단말기(140) 및 외부 네트웍 미들웨어(130)는 이를 통해서 통합형 홈서버 미들웨어(200)의 서비스를 검색하여 서비스를 활용할 수 있다. Accordingly, the web service server 120 provides a UDDI service to share various services and data of the integrated home server middleware. Universal description, discovery, and integration (UDDI) is an XML-based registry for listing itself in global business listings on the Internet, simplifying online transactions by enabling companies to find each other on the Web. UDDI is often compared to people in the offline world, companies, and industry directories, providing a list of companies by name, product, location, and web services they offer. As a result, the integrated home server middleware 200 may expose the internal services and resources of the integrated home server middleware to the outside by using the UDDI function of the web service server 120, such as an external PDA or PCS. The personal information terminal 140 and the external network middleware 130 may use the service by searching for the service of the integrated home server middleware 200 through this.

이밖에도 웹서비스 서버(120)는 외부 서비스 컨텐츠와의 인터페이스 기능을 담당하며, 통합형 홈서버 미들웨어의 설치 파일을 가지고 있어 사용자의 플랫폼에 통합형 홈서버 미들웨어 설치 파일을 다운로드 해준다. 또한, 경우에 따라서는 통합형 홈서버 미들웨어에서 관리될 어플리케이션 팩을 등록 저장해두어 필요한 경우 어플리케이션 팩을 통합형 홈서버 미들웨어에 다운로드 해주는 기능을 한다. 상기의 어플리케이션 팩 다운로드는 SPnP(Software Plug and Play) 방법에 의해 자동으로 통합형 홈서버 미들웨어에 설치되는데, 이러한 SPnP의 동작 설명은 도 5의 도면과 함께 상세히 설명한다. In addition, the web service server 120 functions as an interface with external service contents, and has an installation file of the integrated home server middleware, thereby downloading the integrated home server middleware installation file to the user's platform. In addition, in some cases, an application pack to be managed in the integrated home server middleware is stored and downloaded to the integrated home server middleware if necessary. The application pack download is automatically installed in the integrated home server middleware by the Software Plug and Play (SPnP) method. The operation of the SPnP will be described in detail with reference to FIG. 5.

도 2는 통합형 홈서버 미들웨어의 내부 구성 블록도이다.2 is a block diagram illustrating an internal configuration of an integrated home server middleware.

커뮤니케이션 매니저 모듈(210, Communication Manager Module)은 외부와의 통신기능을 담당하는 곳으로서, 도 1에 도시한 웹서비스 서버(120)에 접속하여 외부 접속매체(130, 예컨대, 외부 통합형 홈서버 미들웨어, 외부 네트웍상의 접속 디바이스)와 HTTP 프로토콜 접속하여 서비스를 요청하거나 서비스 요청을 수령 받는 기능을 한다. 즉, 외부 네트웍상에 있는 외부 접속 매체에 특정 서비스를 요청한 후 처리 결과를 수령하여 컨버터 모듈(220)로 전송해 주는 기능을 하며, 반면에 외부로부터 서비스 요청이 있게 되면 요청된 서비스 메시지를 컨버터 모듈을 거쳐 해당 디바이스로 전달해주고 결과 값을 받아 외부로 전달해 주는 기능을 한다.The communication manager module 210 is responsible for a communication function with an external device. The communication manager module 210 connects to the web service server 120 shown in FIG. 1 to connect an external access medium 130 (eg, an external integrated home server middleware, Function to request service or receive service request by accessing HTTP protocol with external device). That is, after requesting a specific service to the external access medium on the external network and receiving the processing result and transmits to the converter module 220, on the other hand, if there is a service request from the outside, the requested service message is sent to the converter module It delivers to the device through and receives the result and delivers it to the outside.

디스크립션 매니저 모듈(240, Description Manager Module)은 도 1에 도시한 여러 UPnP 디바이스의 UPnP 디스크립션 즉, 하드웨어 디바이스(110a..,110n)와 어플리케이션 팩(260)의 UPnP 디스크립션을 통합, 관리하는 곳이다. 통합형 홈서버 미들웨어에 등록된 여러 UPnP 디바이스에게 디바이스의 디스크립션 파일을 요청하여 이를 수령한 후 이를 데이터베이스화(241)하여 저장하며, 해당 디바이스에 대한 디스크립션 정보가 바뀌면 해당 디스크립션 정보를 수정한다. 또한, UPnP 디스크립션과 Web Service 디스크립션 변환을 관장하며, WSDL 파일을 소유한다.The description manager module 240 integrates and manages UPnP descriptions of various UPnP devices, that is, hardware devices 110a... 110n and UPnP descriptions of the application pack 260 illustrated in FIG. 1. Requests a description file of the device to a plurality of UPnP devices registered in the integrated home server middleware, receives it and stores it in a database (241), and if the description information for the device is changed, the description information is modified. It also manages UPnP description and Web service description transformations, and owns the WSDL file.

여기서, 디스크립션 파일이란 UPnP 규약을 따르는 하드웨어 디바이스(H/W) 및 어플리케이션 팩(S/W)에 대한 정보를 XML 형태로 표현한 것을 말하는데, 하드웨어 디바이스 및 어플리케이션 팩은 각각 자신의 정보를 저장한 디스크립션 파일을 가지고 있다. 디스크립션 파일에는, 하드웨어 디바이스(H/W)의 경우 제품관련 정보(모델이름, 모델번호, 시리얼번호, 제작자 이름 등) 및 해당 하드웨어 디바이스가 지원하는 서비스의 상세 정보를 기재한 SCPD의 경로를 포함하며, 어플리케이션 팩(S/W)의 경우 제품관련 정보(어플리케이션 ID, 타입, 기능, 파라미터 등) 및 해당 어플리케이션 팩이 지원하는 서비스에 대한 상세 정보를 기재한 SCPD의 경로를 포함한다. 상기의 디스크립션 파일은 S/W의 Update 등 상황에 따라 변경될 수 있다.Here, the description file refers to a representation of information about hardware devices (H / W) and application packs (S / W) conforming to the UPnP protocol in XML format. The hardware devices and application packs each include a description file that stores its own information. Have In the description file, the hardware device (H / W) contains the product-specific information (model name, model number, serial number, manufacturer name, etc.) and the path of SCPD containing detailed information of the services supported by the hardware device. In the case of an application pack (S / W), it includes the path of SCPD that contains product-related information (application ID, type, function, parameters, etc.) and detailed information about services supported by the application pack. The description file may be changed according to a situation such as software update.

상기에서 SCPD(Service Control Protocol Description)란, UPnP 디바이스(하드웨어 디바이스 및 어플리케이션 팩 통합 개념)가 자신이 지원하는 서비스에 대한 상세한 정보를 XML 형태로 기재한 것으로서, 예를 들면, 명령문 목록, 수행하는 동작, 그 동작에 필요한 매개 변수, 변수 목록들이 기재된 것이다. In the above, SCPD (Service Control Protocol Description) is a UPnP device (hardware device and application pack integration concept) is a detailed information about the service that it supports in the form of XML, for example, a list of statements, the operation to perform The list of parameters and parameters required for the operation is listed.

컨버터 모듈(220, Converter Module)은 UPnP 디바이스와 외부 네트웍상의 UPnP 접속 매체와의 웹 통신을 제공하기 위해 메시지 변환을 수행하는 곳으로서, UPnP 메시지를 웹 접속 규격인 웹서비스 메시지(또는, 웹서비스 메시지를 UPnP 메시지)로 변환하는 기능을 수행한다. 또한, UPnP 디바이스의 SCPD를 웹서비스의 WSDL로 상호 변환하는 역할을 수행한다.Converter module 220 is a place for performing message conversion to provide web communication between UPnP devices and UPnP access media on external networks, and converts UPnP messages into web service messages (or web service messages). To UPnP message). It also converts SCPD of UPnP device into WSDL of web service.

또한, 컨버터 모듈은 통합형 홈서버 미들웨어가 자신이 제공하는 서비스를 외부 네트웍에 노출시키는데 필요한 WSDL 파일을 저장한 웹서비스 디스크립션 데이터베이스(221, Web Service Description Database)를 가지고 있다. 즉, 통합형 홈서버 미들웨어가 제공하는 서비스에 대한 설명과 그러한 서비스에 접근할 수 있는 방법을 XML 기반으로 기술한 WSDL 파일이 웹서비스 디스크립션 데이터베이스에 저장된다. 상기의 WSDL(Web Service Description Language)은 웹상의 객체(UPnP 디바이스)들을 액세스하기 위한 프로토콜로서 이 프로토콜은 HTTP를 사용하여 인터넷에 텍스트 명령어를 보내기 위해 XML 구문을 사용한다. In addition, the converter module has a web service description database (221, Web service description database) that stores the WSDL file required for the integrated home server middleware to expose the service provided by the external network. That is, a WSDL file describing the services provided by the integrated home server middleware and how to access them is stored in the web service description database. The above Web Service Description Language (WSDL) is a protocol for accessing objects on the web (UPnP devices), which uses XML syntax to send text commands to the Internet using HTTP.

컨트롤 포인트 모듈(230, Control Point Module)은 통합형 홈서버 미들웨어에 플러그 인(Plug-in)된 하드웨어 디바이스 및 어플리케이션 팩 디바이스를 인식하고 제어를 수행하는 모듈이다. 즉, 웹서비스 형태로 외부에서 서비스 요청이 있게 되면 서비스 요청 내역을 해당 하드웨어 디바이스나 어플리케이션 팩에 전송해주고 해당 디바이스로부터 서비스 수행 결과 및 각종 이벤트를 수령한다. 반대로, 어플리케이션 팩으로부터 특정 UPnP 디바이스에 대한 서비스 요청을 받게 되면 UPnP 규약에 맞추어서 메시지를 생성하여 외부 디바이스에 대한 서비스 수행 시 커뮤니케이션 매니저를 통하여 수령하고 요청하게 된다.  The control point module 230 is a module for recognizing and controlling hardware devices and application pack devices plugged into the integrated home server middleware. That is, when a service request is made from the outside in the form of a web service, the service request is transmitted to a corresponding hardware device or an application pack, and the service execution result and various events are received from the corresponding device. On the contrary, when a service request for a specific UPnP device is received from an application pack, a message is generated according to the UPnP protocol and received and requested through a communication manager when performing a service for an external device.

메뉴 핸들러 모듈(270)은 다운로드된 어플리케이션 팩에 대한 존재를 통합형 홈서버 미들웨어의 메뉴 창에 추가하거나, 불필요한 어플리케이션 팩 메뉴를 메뉴 창에서 삭제하는 기능을 담당한다.The menu handler module 270 is responsible for adding the existence of the downloaded application pack to the menu window of the integrated home server middleware or deleting unnecessary application pack menus from the menu window.

어플리케이션 팩(260, Application Pack)은 통합형 홈서버 미들웨어에 설치되어 VOD 서비스, EPG 서비스 등과 같은 기능을 수행하는 어플리케이션을 말한다. 이들은 UPnP 규약대로 설계된 것으로서 소프트웨어 개발도구(SDK; software developer's kit) 등에 의해 개발될 수 있는데, 사용자는 어플리케이션 제공 업체에서 갤러리 형태로 전시된 어플리케이션 중에서 원하는 어플리케이션을 선택하여 다운로드 받을 수 있다. 다운로드 받은 어플리케이션 팩은 SPnP에 의해 자동적으로 인식/설치되며, 메뉴에 자동적으로 추가된다. 이러한 SPnP 설치 방법에 대해서는 도 5에서 상술한다. 한편, 도 2에서는 어플리케이션 팩을 하나만 도시하였지만 통합형 홈서버 미들웨어는 여러 개의 어플리케이션 팩을 다운로드 받아 설치할 수 있다.The application pack 260 refers to an application installed in the integrated home server middleware to perform a function such as a VOD service or an EPG service. They are designed according to the UPnP protocol and can be developed by a software developer's kit (SDK). The user can select and download a desired application among gallery-displayed applications from an application provider. The downloaded application pack is automatically recognized / installed by SPnP and automatically added to the menu. This SPnP installation method will be described in detail with reference to FIG. 5. Meanwhile, although only one application pack is illustrated in FIG. 2, the integrated home server middleware may download and install several application packs.

한편, 다운로드 되는 어플리케이션 팩은 어플리케이션을 실제 수행하는 어플리케이션 팩 디바이스 모듈과 이러한 어플리케이션 팩 디바이스를 제어하는 어플리케이션 팩 프리젠테이션 모듈과 디스크립션 파일을 포함한다. 따라서, 다운로드 된 어플리케이션 팩이 통합형 홈서버 미들웨어에 설치되면 어플리케이션 팩은 내부에 어플리케이션 팩 디바이스 모듈(262)과 어플리케이션 팩 프리젠테이션 모듈(261)을 포함하게 된다. Meanwhile, the downloaded application pack includes an application pack device module that actually executes an application, an application pack presentation module, and a description file for controlling the application pack device. Therefore, when the downloaded application pack is installed in the integrated home server middleware, the application pack includes an application pack device module 262 and an application pack presentation module 261 therein.

어플리케이션 팩 디바이스 모듈(262, Application Pack Device Module)은 UPnP 규약대로 설계되어 통합형 홈서버 미들웨어 내부 또는 외부에서 요청된 서비스를 실제로 수행하는 모듈이다. 즉, 통합형 홈서버 미들웨어 내부 또는 외부를 통한 서비스 요청이 있을 경우 이를 수령하여 해당 서비스를 실행한 후 실행 결과 및 각종 이벤트 상황을 UPnP 규약에 맞추어서 전송해준다. The application pack device module 262 is a module designed according to UPnP protocol and actually performs a requested service inside or outside the integrated home server middleware. That is, if there is a service request through the integrated home server middleware inside or outside, the service is executed after receiving the service request and the execution result and various event conditions are transmitted in accordance with UPnP protocol.

어플리케이션 팩 디바이스 모듈은 자신 어플리케이션 팩 디바이스에 대한 기본 정보(디바이스 타입, 모델명, 서비스 리스트 등)를 담은 디바이스 디스크립션 파일(264)과 어플리케이션 팩 디바이스 모듈에서 제공하는 서비스의 기능에 대해 각각 정의를 해놓은 SCPD(263)를 포함한다. 상기 SCPD(263)는 해당 어플리케이션 팩 디바이스가 제공하는 특정 서비스에 대한 상세정보(명령문목록, 수행동작, 매개변수 등)를 XML형태로 표현해 놓은 문서로서, 해당 디바이스가 여러 개의 서비스를 제공할 경우 각각의 SCPD를 가지게 된다. The application pack device module includes a device description file 264 containing basic information (device type, model name, service list, etc.) about its application pack device, and SCPD (defining the functions of services provided by the application pack device module). 263). The SCPD 263 is a document in which detailed information (statement list, execution operation, parameter, etc.) of a specific service provided by a corresponding application pack device is expressed in an XML form. Will have SCPD of.

상기 SCPD 들의 경로는 디바이스 디스크립션 파일(264)내의 서비스 리스트에 포함된다. 따라서, 각각의 SCPD는 디바이스 디스크립션의 서비스 리스트에 있는 SCPD 경로 정보와 1:1 매핑이 된다. 결국, 하나의 어플리케이션 팩 디바이스 모듈은 한 개의 디스크립션 파일과 여러 개의 SCPD를 가지게 된다. The paths of the SCPDs are included in the service list in the device description file 264. Thus, each SCPD is mapped 1: 1 with SCPD path information in the service description of the device description. Eventually, one application pack device module will have one description file and several SCPDs.

어플리케이션 팩 프리젠테이션 모듈(261, Application Pack Presentation Module)은 어플리케이션 팩 디바이스 모듈(262)을 제어하기 위한 유저 인터페이스(UI)로서, html 형식(asp, jsp, php 등 html을 지원하는 모든 파일) 또는 실행파일 형식으로 구현된다. The application pack presentation module 261 is a user interface (UI) for controlling the application pack device module 262, and executes or executes html format (all files supporting html such as asp, jsp, php). Implemented in file format.

예를 들어, 어플리케이션 팩 프리젠테이션 모듈이 html 형식으로 구현된 경우 어플리케이션 팩 프리젠테이션 모듈의 해당 URL은 웹 브라우저에 올라오게 되는데, 사용자는 어플리케이션 팩 디바이스 모듈이 지원하는 기능에 따라 이 웹 페이지에서 어플리케이션 팩 디바이스 모듈을 제어하거나 어플리케이션 팩 디바이스 모듈의 상태를 확인할 수 있다. 마찬가지로, 어플리케이션 팩 프리젠테이션 모듈이 실행파일로 구현된 경우에는 사용자는 어플리케이션 팩 프리젠테이션 모듈 실행파일을 구동시켜 어플리케이션 팩 디바이스 모듈을 제어하거가 상태 확인을 할 수 있다. For example, if the application pack presentation module is implemented in html format, the corresponding URL of the application pack presentation module will be posted to a web browser, and the user will be able to view the application pack on this web page according to the functionality supported by the application pack device module. You can control the device module or check the status of the application pack device module. Similarly, when the application pack presentation module is implemented as an executable file, the user may drive the application pack presentation module executable file to control the application pack device module or check the status.

어플리케이션 매니저 모듈(250, Application Manager Module)은 어플리케이션 팩에 대한 관리 및 플러그 인(Plug-in)을 수행하는 곳으로서, 어플리케이션 팩의 생성, 종료, 삭제, 추가 등의 관리를 수행하고 각 어플리케이션 팩의 디스크립션을 수령 받아 통합 관리하는 기능을 한다. The application manager module 250 is a place for managing and plugging in application packs. The application manager module 250 manages creation, termination, deletion, and addition of application packs. Receive the description and manage the integration.

또한, 어플리케이션 팩 매니저 모듈은 어플리케이션 다운로더(251, Application Downloader)와 어플리케이션 정보 매니저(252, Application Information Manager)를 포함하는데, 어플리케이션 다운로더(251)는 제공업체로부터 어플리케이션 팩을 다운로드 받아 통합형 홈서버 미들웨어에 설치하는 기능을 하고, 어플리케이션 정보 매니저(252)는 어플리케이션 팩에 대한 정보(어플리케이션 ID, NAME, Presentation Path 등)를 관리하여 다른 모듈로부터 요청 시에 어플리케이션 팩에 대한 정보를 제공해주는 기능을 한다.In addition, the application pack manager module includes an application downloader 251 and an application information manager 252. The application downloader 251 downloads an application pack from a provider and installs it in an integrated home server middleware. The application information manager 252 manages information on an application pack (application ID, NAME, presentation path, etc.) and provides information on the application pack when requested from another module.

도 3과 도 4는 본 발명인 통합형 홈서버 미들웨어가 다른 디바이스에 특정 서비스를 요청(도 3)하거나 또는 외부 디바이스로부터 서비스 요청을 받을 때(도 4)의 동작 과정을 도시한 플로우차트로서 이에 대해 상술한다. 3 and 4 are flowcharts illustrating an operation process when the integrated home server middleware of the present invention requests a specific service from another device (FIG. 3) or receives a service request from an external device (FIG. 4). do.

도 3은 통합형 홈서버 미들웨어를 통해서 다른 디바이스나 다른 통합형 홈서버 미들웨어에게 UPnP 서비스를 요청한 경우 통합형 홈서버 미들웨어의 동작 과정을 도시한 플로우차트이다.3 is a flowchart illustrating an operation of an integrated home server middleware when a UPnP service is requested to another device or another integrated home server middleware through the integrated home server middleware.

사용자가 통합형 홈서버 미들웨어를 통해서 UPnP 서비스 요청(S302)을 한 경우, 통합형 홈서버 미들웨어는 해당 서비스 요청이 어느 위치에 있는 디바이스(또는 다른 통합형 홈서버 미들웨어)에 대한 요청인가를 분석(S304)한다. 분석 결과, 홈네트웍에 연결된 UPnP 연동되는 하드웨어 디바이스에 대한 서비스 요청일 시에는 UPnP 규약에 따라 해당 하드웨어 디바이스에게 서비스를 요청(S308)하여 서비스 수행 결과를 수령(S310)받는다. When the user makes a UPnP service request (S302) through the integrated home server middleware, the integrated home server middleware analyzes (S304) which device (or other integrated home server middleware) the service request is located at. . As a result of the analysis, when the service request for the UPnP interworking hardware device connected to the home network is requested (S308) and receives the service execution result from the corresponding hardware device according to the UPnP protocol (S310).

반면에 분석 결과, 요청된 서비스 대상 디바이스가 통합형 홈서버 미들웨어의 네트웍망이 아닌 외부 네트웍망에 존재하는 디바이스인 경우에는, UPnP 메시지를 웹서비스가 가능한 메시지로 변환(S312)(SCPD를 따르는 UPnP 요청 메시지를 WSDL을 따르는 웹서비스 요청 메시지로 변환)한 후 웹 서비스 서버를 이용하여 해당 디바이스 위치를 파악(UDDI)하여 해당 디바이스에 접속(S314)한다. 그 후, 웹서비스의 서비스를 요청(S316)하고 수행된 서비스 결과를 수령(S318)받는다. 수령받은 웹서비스 결과 메시지를 UPnP 디스크립션 형식을 따르는 UPnP 결과 메시지로 변환(S320)한다.On the other hand, as a result of the analysis, when the requested device to be serviced is a device that exists in an external network instead of the network of the integrated home server middleware, the UPnP message is converted into a message capable of web service (S312) (UPnP request conforming to the SCPD). After converting the message into a web service request message conforming to the WSDL), the device is located using the web service server (UDDI) and connected to the corresponding device (S314). Thereafter, a request for a service of a web service (S316) and a received service result are received (S318). The received web service result message is converted into a UPnP result message conforming to the UPnP description format (S320).

도 4는 홈네트웍 내에 위치한 UPnP 규약 따르는 하드웨어 디바이스나 외부 네트웍에 있는 객체(외부 통합형 홈서버 미들웨어, 외부 네트웍상의 접속 디바이스)로부터 서비스 요청을 수령한 경우 통합형 홈서버 미들웨어의 동작방법을 도시한 플로우차트이다.4 is a flowchart illustrating a method of operating an integrated home server middleware when a service request is received from a hardware device conforming to UPnP protocol located in a home network or an object in an external network (external integrated home server middleware or an access device on an external network). to be.

홈네트웍 내부에 있는 UPnP 디바이스나 외부 네트웍에 있는 접속 객체로부터 웹서비스 요청을 수령(S402)하게 되면, 수령한 서비스 요청이 어느 객체로부터 왔는지를 판단(S404)한다. 외부 네트웍 디바이스로부터의 요청인 경우 수령한 웹서비스 요청 메시지(WSDL)를 UPnP규약에 맞도록 변환(S406)한 후 요청된 서비스를 검색(S408)하게 되며, 통합형 홈서버 미들웨어에 UPnP 연동되어 있는 하드웨어 디바이스로부터의 서비스 요청인 경우에 메시지 변환없이 요청된 서비스를 검색(S408)하게 된다. 검색된 어플리케이션 팩에 서비스를 요청(S410)하고 해당 어플리케이션 팩에서 서비스 수행한 결과를 수령(S412)하여 이를 서비스 요청한 객체에 전송(S418)해준다. 이때, 외부 네트웍의 객체로 서비스 수행 결과를 전송해줄 경우에는 웹서비스 형식으로 변환(S416) 후 전송(S418)해준다. When receiving the web service request from the UPnP device in the home network or the connection object in the external network (S402), it is determined in which object the received service request is from (S404). In the case of a request from an external network device, the received web service request message (WSDL) is converted to conform to the UPnP protocol (S406), and then the requested service is searched (S408). The hardware is UPnP interlocked with the integrated home server middleware. In the case of the service request from the device, the requested service is searched without message conversion (S408). The service request is made to the retrieved application pack (S410), and the result of the service performed by the corresponding application pack is received (S412) and transmitted to the service request object (S418). In this case, when the service execution result is transmitted to the object of the external network, the service is converted into a web service format (S416) and then transmitted (S418).

도 5는 어플리케이션 팩을 통합형 홈서버 미들웨어에 자동 설치하는 과정을 도시한 흐름도이다.5 is a flowchart illustrating a process of automatically installing an application pack in an integrated home server middleware.

통합형 홈서버 미들웨어에 자동 인식 설치되는 어플리케이션 팩은 사용자의 별도 설치 작업 요구 없이 자동으로 시스템에 설치 등록되어 실행된다. 이것은 UPnP 규약 적용 받는 하드웨어 디바이스의 UPnP 개념을 소프트웨어적으로 확장한 개념으로 이를 SPnP(Software Plug and Play)라 부르기로 한다. 이하에서 SPnP에 의한 어플리케이션 팩 다운로드 설치 과정을 살펴본다.Application packs that are automatically recognized and installed in the integrated home server middleware are automatically installed and registered in the system without the user's separate installation work. This is a software extension of the UPnP concept of hardware devices subject to the UPnP protocol. This is called SPnP (Software Plug and Play). The following describes the process of installing an application pack download by SPnP.

어플리케이션 다운로더(251)는 서비스 제공업체가 제공하는 서비스 갤러리로부터 특정의 어플리케이션 팩을 다운로드(S502)받는다. 다운로드 받는 어플리케이션 팩(260)은 어플리케이션 팩 디바이스 모듈(262), 어플리케이션 팩 프리젠테이션 모듈(261), 각종 정보 파일(설치정보파일, 어플리케이션 팩 디바이스 모듈의 서비스 디스크립션 정보 파일)을 포함하고 있다. 다운로드가 모두 이루어지면 해당 어플리케이션 팩(260)을 지정된 경로에 풀고 어플리케이션 팩 디바이스 모듈(262)을 통합형 홈서버 미들웨어가 실행되고 있는 시스템 플랫폼에 설치(S504)한다. 그후, 플랫폼에 설치된 어플리케이션 팩 디바이스 모듈(262)에 대한 정보(어플리케이션 ID, 어플리케이션 팩 명칭, 어플리케이션 팩 프리젠테이션 모듈 경로 등)를 어플리케이션 정보 매니저(252)에 전달(S506)해 준다. 어플리케이션 팩 디바이스 모듈(262)에 대한 정보를 수령한 어플리케이션 정보 매니저(252)는 해당 정보를 XML 형태로 저장한 후 새로운 어플리케이션 팩이 설치 완료되었음을 어플리케이션 매니저 모듈(250)에 통보(S508)해준다. 통보를 받은 어플리케이션 매니저 모듈(250) 통보 받은 어플리케이션 팩 디바이스 모듈(262)의 DLL(dynamic link library)을 로딩하는 플러그 인(plug-in) 단계를 가지며, 플러그 인된 어플리케이션 팩 디바이스 모듈(262)은 UPnP 규약에 따라 어플리케이션 팩의 존재를 브로드캐스팅(Broadcasting)한다(S510).The application downloader 251 downloads a specific application pack from the service gallery provided by the service provider (S502). The downloaded application pack 260 includes an application pack device module 262, an application pack presentation module 261, and various information files (installation information file, service description information file of the application pack device module). When all the downloads are made, the application pack 260 is released to the designated path, and the application pack device module 262 is installed on the system platform on which the integrated home server middleware is running (S504). Thereafter, information about the application pack device module 262 (application ID, application pack name, application pack presentation module path, etc.) installed in the platform is transmitted to the application information manager 252 (S506). The application information manager 252, which has received the information about the application pack device module 262, stores the corresponding information in XML format and notifies the application manager module 250 that the new application pack is installed (S508). The notified application manager module 250 has a plug-in step of loading a dynamic link library (DLL) of the notified application pack device module 262, and the plugged in application pack device module 262 is The presence of the application pack is broadcasted according to the UPnP protocol (S510).

상기의 브로드 캐스팅을 위하여 어플리케이션 팩 디바이스 모듈(262)은 특정 IP와 PORT를 사용하게 되는데, 이러한 브로드캐스팅을 통하여 외부 디바이스들은 어플리케이션이 설치되어 있는 통합형 홈서버 미들웨어의 IP를 알 수 있게 된다. 또한, 상기의 브로드캐스팅을 통합형 홈서버 미들웨어 자신도 수령하게 되는데, 이러한 수령은 통합형 홈서버 미들웨어의 내부 컨트롤 포인트 모듈(230)이 담당한다. The application pack device module 262 uses a specific IP and a PORT for broadcasting. Through such broadcasting, external devices can know the IP of the integrated home server middleware where the application is installed. In addition, the broadcast is also received by the integrated home server middleware itself, which is in charge of the internal control point module 230 of the integrated home server middleware.

따라서, 컨트롤 포인트 모듈(230) 자신이 속한 미들웨어의 어플리케이션 매니저 모듈로부터 브로드 캐스팅이 있게 되면, 컨트롤 포인트 모듈(230)은 브로드케스팅 된 정보를 획득하여 127.0.0.1 이라는 로컬 주소로서 어플리케이션 팩 디바이스 모듈을 인식하고, 해당 어플리케이션 팩 디바이스 모듈(262)에 대한 디스크립션 정보를 어플리케이션 매니저 모듈(250)에 요청하여 이를 획득(S512)한다. Therefore, when the control point module 230 broadcasts from the application manager module of the middleware to which it belongs, the control point module 230 acquires the broadcasted information and recognizes the application pack device module as a local address of 127.0.0.1. Then, the application manager module 250 requests description information on the corresponding application pack device module 262 and obtains it (S512).

상기와 같이 어플리케이션 팩 디바이스 모듈(262)에 대한 디스크립션 정보를 획득한 후에는 통합형 홈서버 미들웨어내의 메뉴 핸들러 모듈(270)은 새로 인식된 어플리케이션 팩 디바이스를 해당 디바이스가 속하는 카테고리(홈컨트롤, 멀티미디어, 방송 서비스 등 서비스 메뉴 카테고리)에 추가(S516)함으로써 어플리케이션 팩 서비스 이용 메뉴를 완성한다.After acquiring description information about the application pack device module 262 as described above, the menu handler module 270 in the integrated home server middleware may classify the newly recognized application pack device into a category (home control, multimedia, broadcasting). Service pack menu), thereby completing the application pack service using menu.

본 발명의 기술사상은 상기 바람직한 실시 예에 따라 구체적으로 기술되었으나 상기한 실시 예는 그 설명을 위한 것으로서, 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술사상의 범위에서 다양한 실시 예가 가능함을 이해할 수 있을 것이다. Although the technical spirit of the present invention has been described in detail according to the above-described preferred embodiment, the above-described embodiment is for the purpose of description, and various ordinary embodiments of the present invention may be made by those skilled in the art. I can understand.

상기에서 설명한 바와 같이 본 발명에 따른 통합형 홈서버 미들웨어를 홈네트웍 오토메이션 시스템에 적용함으로써, 통합형 홈서버 미들웨어의 어플리케이션 서비스 및 리소스를 외부 네트웍망에 노출하여 외부 네트웍망에서 네트웍상의 접속매체(개인정보단말기)를 통하여 통합형 홈서버 미들웨어의 서비스를 검색, 활용 할 수 있어 소프트웨어로 이루어진 어플리케이션 팩 및 UPnP 지원 하드웨어를 원격 제어할 수 있게 되었다. 또한, 어플리케이션 팩 설치가 사용자의 별도 작업 필요 없이 SPnP에 따라 저절로 이루어지기 때문에 사용자는 어플리케이션 팩을 손쉽게 추가 및 확장할 수 있다. As described above, by applying the integrated home server middleware according to the present invention to a home network automation system, an application network and an application medium of the integrated home server middleware are exposed to an external network so that the access medium on the network in the external network (personal information terminal) ), It is possible to search and utilize the services of the integrated home server middleware, which enables remote control of the software application pack and UPnP support hardware. In addition, the application pack installation is spontaneous according to SPnP without the user's need for additional work, and the user can easily add and expand the application pack.

도 1은 네트웍 상에서 통합형 홈서버 미들웨어의 접속 상태를 나타낸 상태 구성도이다.1 is a state configuration diagram showing a connection state of the integrated home server middleware on the network.

도 2는 통합형 홈서버 미들웨어의 내부 구성 블록도이다.2 is a block diagram illustrating an internal configuration of an integrated home server middleware.

도 3은 통합형 홈서버 미들웨어를 통해서 다른 디바이스나 다른 통합형 홈서버에게 UPnP 서비스를 요청한 경우 통합형 홈서버 미들웨어의 동작 과정을 도시한 플로우차트이다.3 is a flowchart illustrating an operation of the integrated home server middleware when a UPnP service is requested to another device or another integrated home server through the integrated home server middleware.

도 4는 홈네트웍 내에 위치한 UPnP 규약 따르는 하드웨어 디바이스나 외부 네트웍에 있는 객체로부터 서비스 요청을 수령한 경우 통합형 홈서버 미들웨어의 동작방법을 도시한 플로우차트이다.4 is a flowchart illustrating a method of operating an integrated home server middleware when a service request is received from a hardware device conforming to UPnP protocol located in a home network or an object in an external network.

도 5는 어플리케이션 팩을 통합형 홈서버에 자동 설치하는 과정을 도시한 흐름도이다.5 is a flowchart illustrating a process of automatically installing an application pack in an integrated home server.

*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

200: 통합형 홈서버 미들웨어 210: 커뮤니케이션 매니저 모듈200: integrated home server middleware 210: communication manager module

220: 컨버터 모듈 230: 컨트롤 포인트 모듈220: converter module 230: control point module

240: 디스크립션 매니저 모듈 250: 어플리케이션 매니저 모듈240: description manager module 250: application manager module

260: 어플리케이션 팩260: Application Pack

261: 어플리케이션 팩 프리젠테이션 모듈261: Application Pack Presentation Module

262: 어플리케이션 팩 디바이스 모듈262: Application Pack Device Module

Claims (6)

UPnP(Universial Plug and Play)를 지원하는 하드웨어 디바이스와 프로그램 형태의 어플리케이션 팩을 통합하여 관리하기 위한 홈오토메이션 시스템에 있어서,In a home automation system for integrating and managing an application pack in the form of a program and a hardware device supporting UPnP (Universal Plug and Play), UPnP 규격에 의한 서비스 요청에 대하여 해당 서비스를 제공하는 어플리케이션 팩 디바이스 모듈 및 어플리케이션 팩 디바이스 모듈을 제어하기 위한 유저 인터페이스를 제공하는 어플리케이션 팩 프리젠테이션 모듈을 포함하는 하나 이상의 어플리케이션 팩과,One or more application packs including an application pack device module for providing a corresponding service to the service request according to the UPnP standard, and an application pack presentation module for providing a user interface for controlling the application pack device module; 각 어플리케이션 팩 및 하드웨어 디바이스에 대한 제품 관련 정보와 서비스 관련 정보를 포함하는 디스크립션 정보를 각 어플리케이션 팩 및 하드웨어 디바이스에게 요청하여 저장 및 갱신하는 디스크립션 매니저 모듈과,A description manager module for requesting and storing and updating description information including product-related information and service-related information about each application pack and a hardware device, from each application pack and the hardware device; 외부망 또는 내부망으로부터의 서비스 요청에 대하여 해당 어플리케이션 팩또는 하드웨어 디바이스로 서비스 요청 내역을 전달하고, 외부망으로의 서비스 요청에 대하여 UPnP 규격에 따른 서비스 요청 메시지를 생성하는 컨트롤 포인트 모듈과,A control point module for delivering a service request history to a corresponding application pack or a hardware device for a service request from an external network or an internal network, and generating a service request message according to a UPnP standard for a service request to an external network; 상기 컨트롤 포인트 모듈에서 생성된 외부망으로의 서비스 요청 메시지 및 외부망으로부터의 서비스 요청에 대한 서비스 결과를 웹 접속 규격으로 변환하고, 외부망으로의 서비스 요청에 대한 결과 및 외부망으로부터의 서비스 요청 메시지를 UPnP 규격으로 변환하는 컨버터 모듈과,The service request message to the external network generated by the control point module and the service result for the service request from the external network are converted into a web access standard, the result of the service request to the external network and the service request message from the external network. Converter module for converting into UPnP standard, 상기 컨트롤 포인트 모듈과 상기 컨버터 모듈 사이에서 각종 서비스 요청 메시지 및 서비스 결과를 전달하는 커뮤니케이션 매니저 모듈과,A communication manager module for transferring various service request messages and service results between the control point module and the converter module; 어플리케이션 팩을 다운로드 받아 플러그 인(Plug-in)으로 설치하거나 설치된 특정 어플리케이션 팩을 제거하며, 상기 디스크립션 매니저 모듈의 요청에 대해 당해 어플리케이션 팩의 디스크립션 정보를 제공하는 어플리케이션 매니저 모듈과,An application manager module which downloads an application pack and installs it as a plug-in or removes a specific application pack installed, and provides description information of the application pack in response to a request of the description manager module; 상기 어플리케이션 매니저 모듈을 통해 설치 또는 삭제된 어플리케이션 팩의 메뉴를 소정의 메뉴창에 각각 추가 또는 삭제하기 위한 메뉴 핸들러 모듈A menu handler module for adding or deleting a menu of an application pack installed or deleted through the application manager module to a predetermined menu window, respectively 을 포함하는 통합형 홈서버 미들웨어; 및Integrated home server middleware comprising a; And 상기 통합형 홈서버 미들웨어가 제공하는 서비스 및 리소스를 외부망과 공유하기 위한 UDDI(Universal Description, Discovery and Integration) 서비스를 제공하는 웹서비스 서버;A web service server providing a universal description, discovery and integration (UDDI) service for sharing the services and resources provided by the integrated home server middleware with an external network; 를 포함하여 이루어지는 홈오토메이션 시스템.Home automation system comprising a. 제1항에 있어서, The method of claim 1, 상기 컨버터 모듈은 상기의 통합형 홈서버 미들웨어가 제공하는 서비스 내용을 기재한 WSDL(Web Service Description Language) 파일을 데이터베이스로 저장하고 있는 것을 특징으로 하는 홈오토메이션 시스템.And the converter module stores a WSDL (Web Service Description Language) file describing a service content provided by the integrated home server middleware as a database. 제1항 또는 제2항에 있어서, The method according to claim 1 or 2, 상기 디스크립션 매니저 모듈의 어플리케이션 팩에 대한 디스크립션 정보는,Description information for the application pack of the description manager module, 어플리케이션 ID, 타입, 기능, 파라미터를 포함하는 제품관련 정보 및 해당 어플리케이션 팩이 지원하는 서비스에 대한 상세 정보를 기재한 SCPD(Service Control Protocol Description)의 경로를 포함하는 것임을 특징으로 하는 홈오토메이션 시스템. Home automation system, characterized in that it contains the path of the service control protocol description (SCPD) containing the product-related information including the application ID, type, function, parameters, and detailed information about the services supported by the application pack. 상기 제1항의 홈오토메이션 시스템에서 특정 어플리케이션 팩을 통합형 홈서버 미들웨어에 플러그 인 등록하는 방법에 있어서,In the method of claim 1, in the home automation system, a method of registering a specific application pack into an integrated home server middleware, 어플리케이션 매니저 모듈이 특정 어플리케이션 팩을 다운로드 받아 통합형 홈서버 미들웨어가 구현된 플랫폼에 설치한 후 해당 어플리케이션 팩에 대한 제품 정보를 상기 통합형 홈서버 미들웨어에 전송하는 제 1 단계;A first step in which an application manager module downloads a specific application pack, installs it on a platform on which an integrated home server middleware is implemented, and transmits product information on the application pack to the integrated home server middleware; 전송받은 어플리케이션 팩의 제품정보를 XML형태로 저장한 후 상기 어플리케이션 팩의 디바이스 모듈을 로딩하여 통합형 홈서버 미들웨어에 플러그 인하고, 해당 어플리케이션 팩의 존재를 UPnP 규약에 따라 브로드캐스팅(Broadcasting)하는 제 2 단계;Storing the received product information of the application pack in XML format, loading the device module of the application pack, plugging in the integrated home server middleware, and broadcasting the existence of the application pack according to the UPnP protocol. step; 컨트롤 포인트 모듈이 상기 어플리케이션 팩의 서비스 상세정보가 기재된 디스크립션 정보를 상기 어플리케이션 매니저 모듈에게 요청하여 이를 획득하는 제 3 단계;A third step of, by the control point module, requesting the application manager module for description information including service detailed information of the application pack and obtaining it; 메뉴 핸들러 모듈이 통합형 홈서버 미들웨어의 메뉴 창에 새로 등록된 어플리케이션 팩에 대한 메뉴를 추가하는 제 4 단계;A fourth step of the menu handler module adding a menu for a newly registered application pack to a menu window of the integrated home server middleware; 를 포함하여 이루어지는 어플리케이션 팩을 통합형 홈서버 미들웨어에 플러그 인 등록하는 방법.How to register the plug-in to the integrated home server middleware application pack consisting of. 제4항에 있어서, 제1단계에서의 다운로드 받는 어플리케이션 팩은 UPnP 접속 규격에 따라 서비스 요청이 있을 시에 해당 서비스를 실제로 수행하는 어플리케이션 팩 디바이스 모듈과, 상기의 어플리케이션 팩 디바이스 모듈을 제어하는 유저 인터페이스인 어플리케이션 팩 프리젠테이션 모듈과, 어플리케이션 팩 설치 정보 파일, 어플리케이션 팩 디바이스 모듈의 서비스에 관련된 디스크립션 정보 파일을 포함한 것을 특징으로 하는 어플리케이션 팩을 통합형 홈서버 미들웨어에 플러그 인 등록하는 방법.The application pack device module of claim 4, wherein the downloaded application pack in the first step includes an application pack device module that actually performs a corresponding service when a service request is made according to a UPnP connection standard, and a user interface for controlling the application pack device module. A method of plug-in registration in an integrated home server middleware comprising an application pack presentation module, an application pack installation information file, and a description information file related to a service of an application pack device module. 제4항에 있어서, 제1단계에서의 어플리케이션 팩에 대한 제품 정보는 어플리케이션 팩 아이디(ID), 어플리케이션 팩 명칭, 상기의 어플리케이션 팩 프리젠테이션 모듈에 대한 위치 경로를 포함한 것을 특징으로 하는 어플리케이션 팩을 통합형 홈서버 미들웨어에 플러그 인 등록하는 방법. 5. The integrated application pack of claim 4, wherein the product information about the application pack in the first step includes an application pack ID, an application pack name, and a location path to the application pack presentation module. How to register a plug-in with home server middleware.
KR10-2003-0009610A 2003-02-15 2003-02-15 Application downloading method which can download application packs and install automatically, make menu dynamically and integrated home server system using it KR100521762B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0009610A KR100521762B1 (en) 2003-02-15 2003-02-15 Application downloading method which can download application packs and install automatically, make menu dynamically and integrated home server system using it

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0009610A KR100521762B1 (en) 2003-02-15 2003-02-15 Application downloading method which can download application packs and install automatically, make menu dynamically and integrated home server system using it

Publications (2)

Publication Number Publication Date
KR20040073864A KR20040073864A (en) 2004-08-21
KR100521762B1 true KR100521762B1 (en) 2005-10-14

Family

ID=37360822

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0009610A KR100521762B1 (en) 2003-02-15 2003-02-15 Application downloading method which can download application packs and install automatically, make menu dynamically and integrated home server system using it

Country Status (1)

Country Link
KR (1) KR100521762B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101534784B1 (en) * 2014-05-13 2015-07-09 (주) 네오포스 The smartwork mobile gateway for control of an application on a closed network And a method of controlling

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100653266B1 (en) * 2004-11-26 2006-12-01 삼성에스디에스 주식회사 Control apparatus for home network device and producing method for user interface
KR100702747B1 (en) 2005-09-07 2007-04-03 엘지전자 주식회사 Method for installing application program in homnet pad
KR100714708B1 (en) 2006-01-12 2007-05-04 삼성전자주식회사 Middleware device and method for providing interoperability of device on the home network
KR100703804B1 (en) * 2006-01-20 2007-04-09 삼성전자주식회사 System and method for plug and install
KR200484024Y1 (en) 2015-10-21 2017-07-21 한국과학기술원 A Front Light

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101534784B1 (en) * 2014-05-13 2015-07-09 (주) 네오포스 The smartwork mobile gateway for control of an application on a closed network And a method of controlling

Also Published As

Publication number Publication date
KR20040073864A (en) 2004-08-21

Similar Documents

Publication Publication Date Title
JP4260366B2 (en) How to upgrade and expand equipment in a network
KR100493883B1 (en) System and method for managing application
US8423671B2 (en) Middleware device and method of supporting compatibility of devices in home network
RU2448362C2 (en) Mapping universal plug and play discovered items to an smb location
JP4721600B2 (en) Numerous home network software architectures to bridge
KR100657010B1 (en) MULTIMEDIA SERVICE APPARATUS AND METHOD FOR MULTIMEDIA SERVICE PROVIDERS OUTSIDE HOME TO UPnP DEVICES INSIDE HOME USING HOME GATEWAY AND SERVICE GATEWAY PLATFORM
US20060159110A1 (en) Open service gateway initiative-based home gateway apparatus and device registration method thereof
JP2002501238A (en) Method and system for audio / video network
US20100017797A1 (en) Image forming apparatus, service system and method of installing open services gateway initiative (osgi)-based service
JPH11187061A (en) Communication equipment, communicating controlling method, service registering method, service providing method and equipment controlling program registering method
US7603266B2 (en) Generic emulator of devices in a device communications protocol
JP2002501244A (en) Audio video network
JP2002501240A (en) Home audio / video network with device control
KR20080033932A (en) Method for remotely accessing a local area network, and switching node for carrying out the method
US8176343B2 (en) Method for providing information for power management of devices on a network
KR100521762B1 (en) Application downloading method which can download application packs and install automatically, make menu dynamically and integrated home server system using it
US20060129700A1 (en) Bridging a local bus with a data network
JP2010004344A (en) Method, device, system, and program for conducting remote accessing
KR101434202B1 (en) Method of Receiving/Transmitting Event Message, Controlled Device, and Control Point
US20010037416A1 (en) Communication system and method
KR101493692B1 (en) Method of Transmitting/Receiving Event Message, Controlled Device, and Control Point
KR100952280B1 (en) Protocol for remote controlled-rebooting of Residential Gateway
Baler et al. Multimedia middleware for the future home
Mohsin Implementing Service Discovery Protocols in Home Network Systems
JP2006099380A (en) Method and system for distributing updated software

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: 20120920

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141006

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20151007

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20161005

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee