KR100714708B1 - 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어장치 및 그 방법 - Google Patents

홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어장치 및 그 방법 Download PDF

Info

Publication number
KR100714708B1
KR100714708B1 KR1020060003617A KR20060003617A KR100714708B1 KR 100714708 B1 KR100714708 B1 KR 100714708B1 KR 1020060003617 A KR1020060003617 A KR 1020060003617A KR 20060003617 A KR20060003617 A KR 20060003617A KR 100714708 B1 KR100714708 B1 KR 100714708B1
Authority
KR
South Korea
Prior art keywords
message
upnp
web service
discovery
information
Prior art date
Application number
KR1020060003617A
Other languages
English (en)
Inventor
김도헌
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060003617A priority Critical patent/KR100714708B1/ko
Priority to JP2007001992A priority patent/JP4374026B2/ja
Priority to EP07100351A priority patent/EP1809003B1/en
Priority to DE602007000687T priority patent/DE602007000687D1/de
Priority to CN200710000355.0A priority patent/CN101013981B/zh
Priority to US11/652,606 priority patent/US8423671B2/en
Application granted granted Critical
Publication of KR100714708B1 publication Critical patent/KR100714708B1/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/283Processing of data at an internetworking point of a home automation network
    • H04L12/2832Interconnection of the control functionalities between home networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Abstract

본 발명은 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치 및 그 방법에 관한 것으로서, 더욱 상세하게는 홈 네트워크 상에 존재하는 UPnP(Universal Plug-and-Play) 및 웹 서비스(Web Service)의 프로토콜을 변환하여 제공하는 미들웨어 장치를 두어 UPnP 및 웹 서비스를 기반으로 하는 모든 장치들 간의 호환성을 지원하도록 하는 것이다.
본 발명의 일 실시예에 따른 미들웨어 장치는, 홈 네트워크 상에 존재하는 UPnP 및 웹 서비스로부터 서로 다른 프로토콜을 기반으로 하는 디스커버리 메시지를 수신하고, 상기 디스커버리 메시지를 전송받는 장치가 처리할 수 있는 프로토콜로 디스커버리 메시지를 변환하는 디스커버리부와, 상기 UPnP 및 웹 서비스로부터 요청된 소정 장치의 디스크립션 파일을 생성하고, 상기 생성된 디스크립션 파일을 상기 디스크립션 파일을 요청한 장치가 처리할 수 있도록 변환하여 제공하는 디스크립션부와, 상기 디스커버리 메시지 및 디스크립션 파일을 기초로 홈 네트워크 상에 존재하는 장치들의 정보 및 서비스 정보를 관리하는 정보 관리부를 포함한다.
홈 네트워크, 미들웨어 장치, UPnP, 웹 서비스

Description

홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치 및 그 방법{Middleware device and method for providing interoperability of device on the home network}
도 1은 종래의 홈 네트워크 구성도를 나타낸 도면.
도 2a 내지 2d는 종래의 홈 네트워크 상에서 디스커버리, 디스크립션, 컨트롤, 및 이벤팅 단계를 수행하는 과정을 나타낸 도면.
도 3은 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치를 포함하는 홈 네트워크 시스템을 나타낸 도면.
도 4는 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치의 내부 블록도를 나타낸 도면.
도 5는 상기 도 4에 도시된 미들웨어 장치의 디스커버리부의 내부 블록도를 나타낸 도면.
도 6은 상기 도 4에 도시된 미들웨어 장치의 디스크립션부의 내부 블록도를 나타낸 도면.
도 7은 상기 도 4에 도시된 미들웨어 장치의 컨트롤부의 내부 블록도를 나타낸 도면.
도 8은 상기 도 4에 도시된 미들웨어 장치의 이벤팅부의 내부 블록도를 나타 낸 도면.
도 9는 상기 도 4에 도시된 미들웨어 장치의 정보 관리부 내 장치/서비스 정보 리스트 관리부에서 정보를 형성하는 과정을 나타낸 도면.
도 10은 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치의 디스커버리 메시지 예를 나타낸 도면.
도 11은 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치의 컨트롤 메시지 예를 나타낸 도면.
도 12는 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치의 이벤팅 메시지 예를 나타낸 도면.
도 13은 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 방법 중 디스커버리 Alive(또는 Hello) 메시지를 처리하는 과정을 나타낸 순서도.
도 14는 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 방법 중 디스커버리 Search(또는 Probe) 메시지를 처리하는 과정을 나타낸 순서도.
도 15는 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 방법 중 디스크립션 과정을 나타낸 순서도.
도 16은 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 방법 중 컨트롤 과정을 나타낸 순서도.
도 17은 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지 원하는 방법 중 이벤팅 과정을 나타낸 순서도.
<도면의 주요 부분에 관한 부호의 설명>
100 : 미들웨어 장치 110 : 디스커버리부
120 : 디스크립션부 130 : 컨트롤부
140 : 이벤팅부 150 : 정보 관리부
본 발명은 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치 및 그 방법에 관한 것으로서, 더욱 상세하게는 홈 네트워크 상에 존재하는 UPnP(Universal Plug-and-Play) 및 웹 서비스(Web Service)의 프로토콜을 변환하여 제공하는 미들웨어 장치를 두어 UPnP 및 웹 서비스를 기반으로 하는 모든 장치들 간의 호환성을 지원하도록 하는 것이다.
홈 네트워크를 위한 프로토콜의 대표적인 것으로 UPnP(Universal Plug-and-Play) 및 웹 서비스(Web Service)가 있다.
UPnP 기술은 모든 형태의 지능 제품, 무선 장치, 및 PC들의 동등 계층 네트워크의 연결(Peer-to-peer connectivity)을 위한 아키텍처이다. UPnP는 댁내, 소규모 사업장(Small office), 공공장소, 또는 인터넷에 연결된 애드 혹 네트워크 또는 비관리 네트워크(Unmanaged Network)에 사용하기 쉽고, 유연하고, 표준에 기초한 연결성을 부여하기 위하여 설계되었다. UPnP 기술은 TCP/IP 및 웹 기술로 하여금 끊김없는 근접 통신(Proximity Networking)을 가능하게 하는 분산 개방 네트워크(Distributed Open Network) 아키텍처를 제공한다. UPnP 디바이스 아키텍처는 제어를 하는 디바이스(Control Point; 이하 CP라 함)와 CP의 제어를 받는 디바이스(Controlled Device; 이하 CD라 함)간의 통신 프로토콜을 정의한다. CP는 클라이언트에 해당하며 CD는 서비스 또는 서비스를 제공하는 디바이스에 해당한다. UPnP 기반 네트워크에서의 통신은 디스커버리(Discovery), 디스크립션(Description), 제어(Control), 및 이벤팅(Eventing) 단계로 나누어질 수 있다. 이하, 도 2에서 상기 단계들을 자세히 설명한다.
웹 서비스 기술은 어플리케이션 개발자가 웹 상에 공개되어 있는 서비스를 이용하여 더 강력한 어플리케이션을 개발할 수 있도록 하는 기술로서 인터넷상의 분산 컴퓨팅 환경을 가능하게 한다. 웹 서비스 기반 네트워킹 기술을 구성하는 중요 개념은 SOAP(Simple Object Access Protocol), WSDL(Web Service Description Language), UDDI(Universal Discovery Description and Integration)이다. 웹 서비스는 유용한 기능을 SOAP이라는 표준 웹 프로토콜을 통하여 웹 사용자들에게 공개한다. SOAP은 메시지를 위한 XML 포맷을 정의한다. 웹 서비스는 클라이언트 어플리케이션에 필요한 인터페이스를 기술하기 위하여 WSDL이라는 XML 문서를 제공한다. WSDL은 웹 서비스에 대한 요청 메시지가 포함해야 할 사항과 응답 메시지가 어떻게 표현되어야 하는지를 정의한다. 클라이언트 어플리케이션은 UDDI를 통하여 필요한 웹 서비스를 찾을 수 있다.
상술한 바와 같이 웹 서비스 및 UPnP 기술은 분산 컴퓨팅 환경에서 서비스들 간의 연결성(Connectivity) 및 상호연동성(Interoperability)을 제공하기 위한 기술이라는 유사점이 있다. 그러나 UPnP 또는 웹 서비스 등의 분산 컴퓨팅을 위한 프로토콜들은 각 단계별 사용되는 프로토콜의 세부 사항 및 표현 형식에 차이가 있어 상호 호환되지 않는 문제점이 있다.
도 1은 종래의 홈 네트워크 구성도를 나타낸 도면이다.
도시된 바와 같이, 홈 네트워크 상에서의 디바이스는 논리적으로 크게 두 가지로 구분할 수 있다. 하나는 디바이스 고유의 서비스를 제공하며 사용자의 제어를 받는 CD(Controlled Device)(3a, 3b, 3c, 및 3d)이고, 다른 하나는 사용자에게 댁내 디바이스를 제어할 수 있는 기능을 제공하는 CP(Control Point)(1, 및 2)이다. UPnP 및 웹 서비스는 모두 CD와 CP 디바이스 형태로 댁내 홈 네트워크를 구성한다.
그러나, UPnP 또는 웹 서비스를 기반으로 하는 미들웨어를 탑재한 디바이스들이 네트워크 상에 혼재하는 경우 UPnP를 지원하는 디바이스와 웹 서비스를 지원하는 디바이스는 상호 호환 및 통신할 수 없다.
이에, 서비스 개발자는 네트워크가 UPnP기술에 기반하고 있는지, 웹 서비스 기술에 기반하고 있는지를 고려하여 어플리케이션을 개발해야 하는 불편함이 있다.
도 2a 내지 2d는 종래의 홈 네트워크 상에서 디스커버리, 디스크립션, 컨트롤, 및 이벤팅 단계를 수행하는 과정을 나타낸 도면이다.
도 2a는 UPnP와 웹 서비스의 디스커버리 단계를 나타낸 것으로, 도시된 바와 같이 UPnP와 웹 서비스 디바이스는 모두 홈 네트워크 환경에서 디스커버리 프로토콜(protocol)로서 동적 멀티캐스트 디스커버리 프로토콜(dynamic multicast discovery protocol)을 사용한다.
그러나, UPnP는 HTTP 헤더(header)를 기반으로 하는 SSDP(Simple Service Discovery Protocol)를 사용하며, 웹 서비스는 웹 서비스 기반인 WS-Discovery protocol을 사용한다. 여기서, SSDP 및 WS-Discovery는 모두 동적 멀티캐스트 디스커버리 프로토콜을 기반으로 상호 유사한 로직(logic)을 가지고 있으나 호환성은 없다.
디스커버리 단계는 크게 두 단계로 구분된다. 하나는 CP가 홈 네트워크 상에서 제어하고자 하는 CD를 찾는 과정(UPnP는 advertise 메시지 전송, 웹 서비스는 hello 메시지 전송)이고, 다른 하나는 CP가 홈 네트워크 상에 들어오면서 자신의 존재를 CD에게 알리는 과정(UPnP는 search 메시지 전송, 웹 서비스는 probe 메시지 전송)이다. 이에, CP는 CD로부터 유니캐스트 응답 메시지(UPnP는 response 메시지, 웹 서비스는 probe match 메시지)를 전송받는다.
또한, 홈 네트워크 상에서 더 이상 동작하지 않고 나가는 단계에서는 UPnP, 및 웹 서비스 디바이스 모두 'bye 메시지'를 댁내 CP에게 멀티캐스트(multicast)로 보내게 된다.
도 2b는 UPnP와 웹 서비스의 디스크립션 단계를 나타낸 것으로, 도시된 바와 같이 UPnP와 웹 서비스는 모두 디바이스와 제공하는 서비스의 디스크립션으로 XML 포맷을 사용한다.
그러나, UPnP는 UPnP 포럼(forum)에서 정한 디바이스 디스크립션 템플릿(Device Description Template)과 서비스 디스크립션 템플릿(Service Description Template)을 사용하며, 웹 서비스 디바이스는 웹 서비스의 서비스 디스크립션 관련 표준인 WSDL을 사용한다. 여기서, UPnP와 웹 서비스는 모두 XML을 기반으로 하고 상호 유사하나 호환성은 없다.
디스크립션 단계는 CP가 제어하고자 하는 CD의 디바이스 및 서비스의 디스크립션 정보를 획득하는 과정이다.
즉, UPnP와 웹 서비스 모두 디스커버리 단계를 통해 획득한 해당 CD의 디스크립션 URL 정보를 기반으로 해당 디바이스 또는 서비스의 디스크립션 정보를 읽어오게 된다.
도 2c는 UPnP와 웹 서비스의 컨트롤 단계를 나타낸 것으로, 도시된 바와 같이 UPnP와 웹 서비스 디바이스는 모두 제어 메시지 프로토콜(control messaging protocol)로서 SOAP을 사용한다. 그러나, UPnP는 SOAP ver.1.1을, 웹 서비스 디바이스는 SOAP ver.1.2를 기반으로 하고 있어 상호 호환성에 문제가 있을 수 있다.
컨트롤 단계는 CP와 CD사이에 제어 명령을 주고 받는 단계로서, UPnP와 웹 서비스 모두 SOAP 메시지 프로토콜을 사용한다. 또한, 요청 메시지(request message)에 대한 응답 메시지(response message) 형식으로 이루어진다.
도 2d는 UPnP와 웹 서비스의 이벤팅 단계를 나타낸 것으로, 도시된 바와 같이 UPnP와 웹 서비스 디바이스의 이벤팅 로직은 상호 유사하나 UPnP는 HTTP 헤더(header)를 기반으로 하는 GENA(Generic Event Notification Architecture)를 사용하며, 웹 서비스 디바이스는 웹 서비스의 이벤팅 관련 표준인 WS-Eventing을 사용함에 따라 상호 호환성은 없다.
이벤팅 단계는 CP가 CD로부터 해당 이벤트 메시지를 받는 것으로, 이벤트 메시지를 CP가 받기 위해서는 서브스크립션(subscription) 단계를 통해 CP가 CD에 등록을 해야 한다.
이 후, CD가 상태 변화 및 특정 이벤팅 상황이 발생 하였을 경우, 이벤트 메시지가 등록된 CP에 전송하게 된다. 이에, CP는 서브스크립션 단계에서 타임아웃(timeout) 설정 등을 할 수 있으며, 타임아웃 시간 내에 리뉴얼 요청(renewal request)을 할 수 있다. 또한, CD로부터 더 이상 이벤트 메시지를 전송받길 원하지 않을 경우 취소(cancellation) 요청을 할 수 있다.
그러나, UPnP와 웹 서비스 디바이스 간 상호 호환성이 없기 때문에 댁내 홈 네트워크 상에 UPnP와 웹 서비스 디바이스가 존재하는 경우 UPnP CP는 웹 서비스 디바이스를 제어할 수 없으며, 웹 서비스 CP는 UPnP CD를 제어할 수 없다. 또한, UPnP CD와 웹 서비스 디바이스간 호환성에 있어서도 문제가 된다.
한국공개특허 2004-073864(어플리케이션 팩을 다운로드 하여 자동으로 설치하고, 동적으로 메뉴를 생성하는 어플리케이션 다운로드 방법 및 이를 활용한 통합형 홈 서버 시스템)에서는 UPnP 접속기술을 어드레싱(Addressing), 디스커버리, 디스크립션, 컨트롤, 및 프리젠테이션(Presentation)의 단계로 구분하며, 홈 서버 미들웨어가 외부 네트워크 상의 접속매체와 웹 서비스 통신을 하기 위한 커뮤니케이션 매니저 모듈, UPnP규격 메시지를 웹 서비스 접속규격인 웹 서비스 메시지로 상호 변환하는 컨버터 모듈, 해당 제품의 서비스 상세정보를 기재한 디스크립션 매니저 모듈, 어플리케이션 매니저 모듈 등을 구비하는 홈 서버 시스템을 개시하고 있 으나, 이는 홈 네트워크 상에 존재하는 UPnP 및 웹 서비스와 같이 상호 호환되지 않는 디바이스들 간의 호환성을 제공하는 기술을 제시하고 있지 않다.
본 발명은 홈 네트워크 상에 존재하는 UPnP 및 웹 서비스의 프로토콜을 변환하여 제공하는 미들웨어 장치를 두어 UPnP 및 웹 서비스를 기반으로 하는 모든 장치들 간의 호환성을 지원하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어질 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치는, 홈 네트워크 상에 존재하는 UPnP 및 웹 서비스로부터 서로 다른 프로토콜을 기반으로 하는 디스커버리 메시지를 수신하고, 상기 디스커버리 메시지를 전송받는 장치가 처리할 수 있는 프로토콜로 디스커버리 메시지를 변환하는 디스커버리부와, 상기 UPnP 및 웹 서비스로부터 요청된 소정 장치의 디스크립션 파일을 생성하고, 상기 생성된 디스크립션 파일을 상기 디스크립션 파일을 요청한 장치가 처리할 수 있도록 변환하여 제공하는 디스크립션부와, 상기 디스커버리 메시지 및 디스크립션 파일을 기초로 홈 네트워크 상에 존재하는 장치들의 정보 및 서비스 정보를 관리하는 정보 관리부를 포함한다.
또한, 본 발명의 다른 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 방법은, 홈 네트워크 상에 존재하는 UPnP CP 및 웹 서비스 CP로부터 디스커버리 메시지를 전송받는 단계와, 상기 전송된 디스커버리 메시지가 UPnP 기반인지 웹 서비스 기반인지 판단하는 단계와, 상기 판단 결과 전송된 디스커버리 메시지가 UPnP 기반인 경우, 상기 디스커버리 메시지를 웹 서비스 기반의 디스커버리 메시지로 변환하는 단계를 포함한다.
또한, 본 발명의 또 다른 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 방법은, 홈 네트워크 상에 존재하는 UPnP CP 및 웹 서비스 CP로부터 디스크립션 메시지를 전송받는 단계와, 상기 전송된 디스크립션 메시지가 UPnP 기반인지 웹 서비스 기반인지 판단하는 단계와, 상기 디스크립션 메시지가 전송되는 소정 CD의 정보를 검색하는 단계와, 상기 판단 결과 디스크립션 메시지가 UPnP 기반이고, 상기 검색 결과 상기 CD가 웹 서비스 기반인 경우, 상기 전송된 디스크립션 메시지를 웹 서비스 기반의 디스크립션 메시지로 변환하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 3은 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치를 포함하는 홈 네트워크 시스템을 나타낸 도면이다.
도시된 바와 같이, 홈 네트워크 시스템 구조는 다수의 UPnP를 기반으로 하는 장치들(210,220,230, 및 240) 및 다수의 웹 서비스 기반으로 하는 장치들(310, 및 320)이 네트워크로 연결되고, UPnP 및 웹 서비스를 모두 지원하는 미들웨어 장치(100)가 위치된 구조이다. 여기서, UPnP를 기반으로 하는 CP는 DTV(210)이고, UPnP를 기반으로 하는 CD는 홈씨어터(220), DVD 플레이어(230), 및 전자레인지(240)이다. 또한, 웹 서비스 기반으로 하는 CP는 노트북(310)이고, 웹 서비스를 기반으로 하는 CD는 프린터(320)이다.
따라서, 미들웨어 장치(100)는 홈 네트워크 상에 존재하는 모든 장치들은 상호 통신 되도록 UPnP 프로토콜 및 웹 서비스 프로토콜을 변환하여 전송한다. 이에, 홈 네트워크 내에 존재하는 UPnP 및 웹 서비스를 기반으로 하는 모든 장치들은 상호 호환될 수 있다.
도 4는 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치의 내부 블록도를 나타낸 도면이다.
도시된 바와 같이, 미들웨어 장치(100)는 디스커버리부(110), 디스크립션부(120), 컨트롤부(130), 이벤팅부(140), 및 정보 관리부(150)를 포함하여 구성된다.
본 발명의 실시예에 따른 미들웨어 장치(100)는 TCP/IP 기반의 네트워크 미들웨어로 UPnP와 웹 서비스의 통합 솔루션을 제공한다. 따라서, UPnP와 웹 서비스에 SOAP이라는 동일한 메시지 프로토콜을 사용하는 제어 단계를 제공하고, 디스커버리 단계, 디스크립션 단계, 이벤팅 단계에서는 UPnP와 웹 서비스를 동시에 지원하는 기능을 제공한다.
이때, 본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합 되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
디스커버리부(110)는 UPnP 및 웹 서비스의 디스커버리 메시지를 구분하며, 디스커버리 메시지를 UPnP 및 웹 서비스가 처리할 수 있도록 변환한다. 즉, UPnP를 사용하는 장치 및 웹 서비스를 사용하는 장치와 모두 통신할 수 있는 메커니즘을 제공한다.
예를 들어, UPnP 디스커버리 단계는 크게 두 가지로 나눌 수 있다. 첫째는 새로운 CD가 네트워크에 참여하는 경우이고, 둘째는 새로운 CP가 네트워크에 참여하는 경우이다.
즉, 새로운 CD가 네트워크에 참여하는 경우 CD는 자신의 존재를 알리기 위하여 기본적인 정보를 담은 메시지를 멀티캐스트 한다. 여기서 기본적인 정보란 CD를 제공하는 디바이스에 관한 상세 정보(Description)의 URL, 디바이스의 유형, 알림 메시지의 유효시간(Expire time) 등을 포함한다.
반면, 새로운 CP가 네트워크에 참여하는 경우 CP가 이용하고자 하는 CD를 찾는 메시지를 멀티캐스트 하면, 해당하는 CD가 메시지를 멀티캐스트한 CP에게 응답 메시지를 전송한다. 상기와 같은 메커니즘은 웹 서비스도 동일하게 적용된다.
그러나, UPnP는 멀티캐스트 디스커버리 메커니즘을 제공하는 프로토콜로 HTTP를 기반으로 하는 SSDP(Simple Service Discovery Protocol)를 사용하고, 웹 서비스는 XML을 기반으로 하는 WS-Discovery를 사용한다. 이에, 디스커버리부(110)는 디스커버리 메시지 관련 UPnP와 웹 서비스 상호간 메시지 변환을 처리한다. 이하, 도 5에서 디스커버리부(110)의 세부 구조를 설명한다.
디스크립션부(120)는 UPnP 및 웹 서비스의 디스크립션 XML 파일을 생성하고, 디스크립션 XML 파일을 UPnP 및 웹 서비스가 처리할 수 있도록 변환한다. 즉, UPnP 및 웹 서비스의 디스크립션 단계를 모두 지원한다.
예를 들어, 디스크립션부(120)는 디스커버리부(110)를 통하여 찾은 CD의 상세 정보를 제공한다. 디스크립션 단계에서 UPnP는 디바이스와 서비스를 일정한 포맷으로 정의된 디바이스/서비스 템플릿으로 표현하고, 웹 서비스는 WSDL로 서비스의 상세 정보를 표현한다. 디바이스/서비스 템플릿과 WSDL은 모두 XML 형식이나 세부 표현 형식에 있어 많은 차이점이 있다.
따라서, 디스크립션부(120)는 디스크립션 XML 파일을 UPnP 및 웹 서비스가 처리할 수 있도록 변환하여 제공하고, 이에 CP는 해당 CD의 디스크립션 정보를 제공받을 수 있다. 이하, 도 6에서 디스크립션부(120)의 세부 구조를 설명한다.
컨트롤부(130)은 UPnP 및 웹 서비스 간 서로 다른 컨트롤 SOAP 메시지를 UPnP 및 웹 서비스가 처리할 수 있도록 변환하고, 변환된 메시지를 해당 CD에게 전송한다. 이하, 도 7에서 컨트롤부(130)의 세부 구조를 설명한다.
이벤팅부(140)는 UPnP 및 웹 서비스 간 다른 이벤팅 메시지를 UPnP 및 웹 서비스가 처리할 수 있도록 변환하고, 장치/서비스 정보 리스트 처리부(153)의 해당 CD 정보를 기반으로 대응하는 CD 또는 CP에 변환된 이벤팅 메시지를 전송한다.
예를 들어, CP가 이용하고자 하는 CD의 상태 변화를 알고자 하는 경우, 미들웨어 장치(100)는 디스커버리 단계에서 획득한 CD에 관한 정보 중 이벤팅 URL로 등록 요청(Subscribe) 메시지를 생성하여 전송한다. 그 다음, CD는 등록 요청 메시지를 보낸 CP를 등록한 후 CD의 상태가 변할 때마다 등록된 CP들에게 상태 변화에 관한 정보를 담은 이벤트 메시지를 전송한다.
UPnP는 이벤팅 단계를 위한 프로토콜로 GENA(General Event Notification Architecture)를 사용하고, 웹 서비스는 WS-Eventing 프로토콜을 사용한다. 두 프로토콜은 유사한 메커니즘을 제공하나 해당 메시지 포맷 및 세부사항에 있어 차이가 있다. 이에, 이벤팅부(140)는 UPnP 및 웹 서비스를 모두 지원하는 이벤트 메시지를 제공한다. 이하, 도 8에서 이벤팅부(140)에 대한 세부 구조를 설명한다.
정보 관리부(150)는 홈 네트워크 상에 존재하는 CD의 장치 및 서비스 정보를 관리하는 것으로, 장치 정보 리스트(151), 서비스 정보 리스트(152), 및 장치/서비스 정보 리스트 관리부(153)를 포함하여 구성된다.
장치 정보 리스트(151) 및 서비스 정보 리스트(152)는 홈 네트워크 상에 존재하는 CD의 정보 및 해당 CD가 제공하는 서비스 정보를 리스트(List)로 저장한다. 여기서, 해당 정보는 UPnP 및 웹 서비스에 종속적인 구조를 가지고 있지 않으며, 각 장치 또는 서비스가 UPnP 및 웹 서비스 기반인지에 대한 정보를 가지고 있다.
장치/서비스 정보 리스트 관리부(153)는 홈 네트워크 상에 존재하는 CD의 정보 및 해당 CD가 제공하는 서비스 정보를 저장하고 있는 리스트(150, 및 160)를 관리한다.
또한, 장치/서비스 정보 리스트 관리부(153)는 디스커버리부(110)로부터 전송된 요청에 따라 장치 정보 리스트(151) 및 서비스 정보 리스트(152)를 지속적으로 업데이트 한다.
도 5는 상기 도 4에 도시된 미들웨어 장치의 디스커버리부의 내부 블록도를 나타낸 도면이다.
도시된 바와 같이, 디스커버리부(110)는 TCP/IP(111), 포트(112,113), 디스 커버리 관리부(114), 및 디스커버리 메시지 변환 처리부(115)를 포함하여 구성된다.
TCP/IP(111) 및 하위 통신 레이어(멀티캐스트 채널, 포트(112,113))는 UPnP 및 웹 서비스의 멀티캐스트(multicast) 및 유니캐스트(unicast) 메시지를 송수신 한다.
디스커버리 관리부(114)는 UPnP 및 웹 서비스의 디스커버리 메시지를 구분하며, 장치/서비스 정보 리스트 처리부(153)로 소정 장치의 디스커버리 정보를 등록한다.
즉, 하위 통신 레이어 또는 각 메시지의 특성(예를 들어, UPnP는 HTTP 헤더 기반, 웹 서비스는 SOAP 기반)에 따라 UPnP 또는 웹 서비스를 구분한다.
디스커버리 메시지 변환 처리부(115)는 디스커버리 메시지를 UPnP 및 웹 서비스에서 처리할 수 있도록 변환한다. 여기서, 디스커버리 메시지 변환 처리부(115)는 UPnP와 웹 서비스 및 각각의 버전에 따라 차이가 있을 수 있는 프로토콜을 관리하며 업데이트 할 수 있다.
예를 들어, 멀티캐스트 채널로부터 수신된 메시지가 Alive(또는 Hello) 메시지일 경우, 메시지 내 CD 정보를 정보 관리부(150)로 전송한다. 여기서, SSDP 메시지의 경우 포트 1900(112)으로 수신되며, WS-Discovery 메시지의 경우 포트 3702(113)로 수신된다. 따라서, 디스커버리 단계에서 멀티캐스트 되는 메시지는 사용하는 포트에 따라 SSDP 메시지와 WS-Discovery 메시지로 구분될 수 있다. 또한, UPnP 기반에서는 'Alive 메시지'를 웹 서비스 기반에서는 'Hello 메시지'를 전송한 다.
그 다음, 정보 관리부(150)는 해당 CD가 등록되어 있는지 체크하고, 체크 결과 해당 CD가 등록되어 있지 않은 경우, 디스커버리 메시지를 기반으로 해당 CD의 디스크립션 정보를 읽어와 장치/서비스 정보 리스트(151, 152)에 등록한다.
또한, 멀티캐스트 채널로부터 수신된 메시지가 Alive(또는 Hello) 메시지이고, 정보 관리부(150)에 등록되어 있는 경우, 정보 관리부(150)로부터 해당 CD의 디스커버리 관련 정보를 요청한 후, 디스커버리 메시지 변환 처리부(115)에 등록된 프로토콜에 따라 해당 'Alive(또는 Hello) 메시지'를 UPnP는 웹 서비스에서 지원하는 메시지 프로토콜로 변환하고, 웹 서비스는 UPnP에서 지원하는 프로토콜로 변환하여 홈 네트워크 상에 멀티캐스팅 한다.
또한, 멀티캐스트 채널로부터 수신된 메시지가 Search(또는 Probe) 메시지인 경우, 메시지 내 CD 정보를 정보 관리부(150)에 전송한다.
이에, 정보 관리부(150)는 일치하는 CD가 있는지 체크하고, 체크 결과 현재 등록된 CD가 없는 경우 정보 관리부(150)는 Search(또는 Probe) 메시지를 멀티캐스팅한 후 해당 CD를 등록하는 과정을 거친다. 여기서, UPnP 기반에서는 ' Search 메시지'를 웹 서비스 기반에서는 ' Probe 메시지'를 전송한다.
또한, 멀티캐스트 채널로부터 수신된 메시지가 Search(또는 Probe) 메시지고, 해당 CD가 정보 관리부(150)에 등록되어 있는 경우, 정보 관리부(150)로부터 해당 CD의 디스커버리 관련 정보를 요청한 후, 디스커버리 메시지 변환 처리부(115)에 등록된 프로토콜에 따라 해당 Search(또는 Probe) 메시지에 대한 응답 메 시지를 UPnP는 웹 서비스에서 지원하는 메시지 프로토콜로 변환하고, 웹 서비스는 UPnP에서 지원하는 메시지 프로토콜로 변환한 후, Search(또는 Probe) 메시지를 보낸 CP로 전송한다.
도 6은 상기 도 4에 도시된 미들웨어 장치의 디스크립션부의 내부 블록도를 나타낸 도면이다.
도시된 바와 같이, 디스크립션부(120)는 TCP/IP (121), 디스크립션 관리부(122), 및 디스크립션 파일 변환 처리부(123)를 포함하여 구성된다.
TCP/IP(121)는 HTTP를 기반으로 디스크립션 정보를 소정 CP의 요청에 따라 제공한다.
디스크립션 관리부(122)는 정보 관리부(150)의 해당 CD 정보를 기반으로 UPnP 및 웹 서비스의 디스크립션 XML 파일을 생성하고, 생성된 디스크립션 XML 파일을 해당 CP에게 제공한다. 여기서, 디스크립션 관리부(122)는 해당 CD가 지원하는 프로토콜로 디스크립션 XML 파일을 생성한다.
디스크립션 파일 변환 처리부(123)는 디스크립션 XML 파일을 UPnP 및 웹 서비스가 처리할 수 있도록 변환한다. 여기서, 디스크립션 파일 변환 처리부(123)는 UPnP, 웹 서비스 및 각각의 버전에 따라 차이가 있을 수 있는 장치 또는 서비스 디스크립션 변환 프로토콜을 관리 및 업데이트 할 수 있다.
도 7은 상기 도 4에 도시된 미들웨어 장치의 컨트롤부의 내부 블록도를 나타낸 도면이다.
도시된 바와 같이, 컨트롤부(130)는 TCP/IP (131), 컨트롤 관리부(132), 및 컨트롤 메시지 변환 처리부(133)를 포함하여 구성된다.
TCP/IP (131)는 HTTP를 기반으로 HTTP 포스트(Post) 메시지를 송수신 하는 기능을 제공한다.
컨트롤 관리부(132)는 UPnP 및 웹 서비스 간 서로 다른 컨트롤 SOAP 메시지를 컨트롤 메시지 변환 처리부(133)를 통해 변환하고, 장치/서비스 정보 리스트 처리부(153)의 해당 CD 정보를 기반으로 대응하는 CD 또는 CP에 변환된 제어 SOAP 메시지를 전송한다.
컨트롤 메시지 변환 처리부(133)는 UPnP 및 웹 서비스 간 다른 컨트롤 SOAP 메시지를 UPnP 및 웹 서비스가 처리할 수 있도록 변환한다. 또한, 컨트롤 메시지 변환 처리부(133)는 컨트롤 메시지의 변환 프로토콜을 관리 및 업데이트 한다.
도 8은 상기 도 4에 도시된 미들웨어 장치의 이벤팅부의 내부 블록도를 나타낸 도면이다.
도시된 바와 같이, 이벤팅부(140)는 TCP/IP (141), 이벤팅 관리부(142), 및 이벤팅 메시지 변환 처리부(143)를 포함하여 구성된다.
TCP/IP (141)는 HTTP를 기반으로 HTTP 포스트(Post) 메시지를 송수신하는 기능을 제공한다.
이벤팅 관리부(142)는 UPnP 및 웹 서비스 간 서로 다른 이벤팅 메시지를 이벤팅 메시지 변환 처리부(143)을 통해 변환하고, 장치/서비스 정보 리스트 처리부(153)의 해당 CD 정보를 기반으로 대응하는 CD 또는 CP에 변환된 이벤팅 메시지를 전송한다.
이벤팅 메시지 변환 처리부(143)는 UPnP 및 웹 서비스 간 서로 다른 이벤팅 메시지를 UPnP 및 웹 서비스가 처리할 수 있도록 변환한다. 또한, 이벤팅 메시지 변환 처리부(143)는 이벤팅 메시지의 변환 프로토콜을 관리 및 업데이트 한다.
도 9는 상기 도 4에 도시된 미들웨어 장치의 정보 관리부 내 장치/서비스 정보 리스트 관리부에서 정보를 형성하는 과정을 나타낸 도면이다.
도시된 바와 같이, 장치/서비스 정보 리스트 관리부(153)는 디스커버리 과정을 통해 소정 장치의 디스크립션을 획득할 수 있는 정보가 전달되면, 장치/서비스 정보 생성부(153a)에 의해 모든 메타데이터(MetaData) 정보를 생성한다.
장치/서비스 정보 생성부(153a)는 장치 디스크립션 정보를 획득하여 장치 메타데이터를 구성한다. 여기서, 장치 메타데이터는 UPnP 및 웹 서비스 포맷에 독립적으로 해당 장치와 관련하여 획득할 수 있는 모든 정보를 말한다. 여기서, 장치/서비스 정보 생성부(153a)는 디스커버리 메시지, 디스크립션 메시지, 컨트롤 메시지, 및 이벤팅 메시지를 생성한다.
즉, 장치/서비스 정보 생성부(153a)는 각 장치/서비스 메타데이터와 연계하여 디스커버리 단계에서 제공되는 정보를 기반으로 디스커버리 메타데이터를 구성한다. 여기서, 디스커버리 메타데이터는 UPnP와 웹 서비스 포맷에 독립적으로 해당 장치 또는 서비스의 디스커버리 메커니즘과 관련하여 획득할 수 있는 모든 정보를 말한다.
예를 들어, 장치/서비스 정보 생성부(153a)는 디스커버리 관리부(114)로부터 Alive 메시지(또는 Hello 메시지)에 대한 응답 메시지의 생성을 요청받는다.
이에, 장치/서비스 정보 생성부(153a)는 UPnP인 경우 SSDP 프로토콜에 따른 디스커버리 메시지 포맷을, 웹 서비스인 경우 WS-디스커버리 프로토콜에 따른 디스커버리 메시지 포맷을 생성한다. 여기서, 해당 포맷은 디스커버리 메타데이터를 통해 가져온다.
그 다음, 생성된 디스커버리 메시지 포맷을 기초로 디스커버리 메시지를 생성한다.
또한, 장치/서비스 정보 생성부(153a)는 각 장치/서비스 메타데이터와 연계하여 디스크립션 메타데이터를 구성하고, 서비스 메타데이터와 연계하여 이벤팅 메타데이터를 구성한다. 여기서, 디스크립션 메타데이터는 UPnP와 웹 서비스 포맷에 독립적으로 해당 장치 또는 서비스의 디스크립션 메커니즘과 관련하여 획득할 수 있는 모든 정보를 말한다. 한편, UPnP 및 웹 서비스에서 장치는 이벤팅 메커니즘을 지원하지 않는다. 즉 이벤팅은 서비스에만 적용된다.
예를 들어, CP가 소정 CD의 디스크립션 정보를 요청하면, 디스크립션 관리부(122)는 요청 메시지를 기초로 하여 UPnP XML 디스크립션 인지 또는 웹 서비스 기반 WS-디스크립션 인지를 체크 한다.
그 다음, 장치/서비스 정보 생성부(153a)는 디스크립션 관리부(122)를 기초로 요청된 디스크립션 정보가 UPnP 관련인 경우 디스크립션 메타데이터를 기반으로 UPnP XML 디스크립션 정보를 생성하고, 요청된 디스크립션 정보가 WSD 관련인 경우 디스크립션 메타데이터를 기반으로 요청에 따른 웹 서비스 관련 WS-디스크립션을 생성한다.
또한, 장치/서비스 정보 생성부(153a)는 장치 디스크립션 내 서비스 디스크립션 정보를 획득할 수 있으며, 데이터를 기반으로 서비스 디스크립션 정보를 획득하여 서비스 메타데이터를 구성한다. 여기서, 서비스는 각각의 장치에 따라 복수의 서비스 디스크립션 정보를 제공할 수 있다. 따라서, 특정 장치와 이에 따른 서비스 리스트는 연관 관계에 있으며, 상기 연관 관계는 장치 메타데이터와 서비스 메타데이터에 표시된다.
도 10은 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치의 디스커버리 메시지 예를 나타낸 도면이다. 여기서, 도 10a는 UPnP의 Alive 메시지를 나타낸 도면이고, 도 10b는 웹 서비스의 Hello 메시지를 나타낸 도면이다.
도 10a에 도시된 바와 같이, 도면상에 표시된 각 부분은 디스커버리 메타데이터를 구성하는 필수 정보이며, 나머지 부분은 UPnP 프레임워크(Framework)에서 기본적으로 지원하는 정의된 또는 프레임워크에 따라 생성되는 정보이다.
예를 들어, UPnP SSDP 메시지의 LOCATION 헤더(1)에 .XML로 끝나는 URL을 가지게 되고, NTS 헤더(2)에 SSDP : alive가 명시되어 있다. 또한, SERVER 헤더(3)에는 UPnP/1.0 태그가 명시되어 있다. 이에, 메시지의 헤더 부분을 분석하여 UPnP SSDP 메시지임을 알 수 있다.
도 10b에 도시된 바와 같이, 도면상에 표시된 각 부분(09,21,25, 및 29)은 디스커버리 메타데이터를 구성하는 필수 정보이며, 나머지 부분은 웹 서비스 프레임워크(Framework)에서 기본적으로 지원하는 정의된 또는 프레임워크에 따라 생성 되는 정보이다.
예를 들어, WS-디스커버리 메시지에는 헤더 부분의 액션 부분(09)을 통해 WS-디스커버리 메시지임을 알 수 있다.
도 11은 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치의 컨트롤 메시지 예를 나타낸 도면이다. 여기서, 도 11a는 UPnP SOAP 컨트롤 메시지를 나타낸 도면이고, 도 11b는 웹 서비스 SOAP 컨트롤 메시지를 나타낸 도면이다.
도시된 바와 같이, UPnP와 웹 서비스는 모두 SOAP 메시지 프로토콜을 사용한다. 그러나, UPnP 및 웹 서비스의 SOAP 메시지 포맷은 도시된 예에 나타난 바와 같이 상당한 차이가 있음을 알 수 있다.
예를 들어, UPnP와 웹 서비스는 같은 프로토콜을 사용하지만 다른 포맷을 사용한다. 그러나, 포맷이 다를 뿐 내부에 포함되어 전달되는 정보는 다르지 않다. 즉, 웹 서비스가 UPnP 장치 아키텍처(Architecture) 버전 2.0으로 진행될 경우 UPnP Working Committee에서 정의한 서비스 설명서에 따라 각 요소(element) 값이 정의된다.
도 12는 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치의 이벤팅 메시지 예를 나타낸 도면이다. 여기서, 도 12a는 UPnP GENA 서브스크립션 메시지를 나타낸 도면이고, 도 12b는 웹 서비스 이벤팅 서브스크립션 메시지를 나타낸 도면이다.
도시된 바와 같이, 표시된 부분은 서브스크리브(Subscribe) 요청 시 필요한 정보이며, 나머지 부분은 각 프로토콜에 따라 생성되는 부분이다. 특히, WS-이벤팅 부분에서는 SOAP 헤더 부분에 관련 동작(Action)에 대한 정보 및 주소(Addressing) 정보가 웹 서비스 표준에 맞추어 제공되며, 필터(Filter) 기능 등 추가 옵션을 설정할 수 있다. 여기서, 해당 옵션은 각 프로토콜에 따라 무시 또는 지원하지 않음을 해당 CP에 알려줄 수 있다.
도 13은 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 방법 중 디스커버리 Alive(또는 Hello) 메시지를 처리하는 과정을 나타낸 순서도 이다.
먼저, 디스커버리 관리부(114)는 댁내 홈 네트워크 상에 존재하는 UPnP CP 또는 웹 서비스 CP로부터 제어하고자 하는 CD를 찾는 디스커버리 메시지(예를 들어, UPnP CP는 Alive 메시지, 웹 서비스 CP는 Hello 메시지)를 멀티캐스트 채널을 통해 전송받는다(S1300).
디스커버리 관리부(114)는 전송된 디스커버리 메시지가 UPnP 디스커버리 메시지인지 웹 서비스 메시지인지를 체크한다. 여기서, UPnP는 SSDP 형식이며, 웹 서비스는 WS-디스커버리 형식을 갖는다. 또한, SSDP 메시지의 경우 '포트 1900'으로 전송되며, WS-Discovery 메시지의 경우 '포트 3702'로 수신되므로, 사용되는 포트에 따라 메시지가 UPnP 디스커버리 메시지인지 웹 서비스 메시지 인지를 체크 할 수 있다.
체크 결과 UPnP 디스커버리 메시지인 경우(S1302), 디스커버리 관리부(114)는 SSDP 메시지 내 장치/서비스 디스크립션 URL 정보를 획득하고(S1304), 획득된 디스크립션 URL 정보를 장치/서비스 정보 리스트 관리부(153)로 전송한다.
그 다음, 장치/서비스 정보 리스트 관리부(153)는 디스커버리 관리부(114)로부터 전달된 정보를 기반으로 현재 관리되고 있는 장치/서비스 정보 리스트에 해당 CP의 등록 여부를 체크 한다(S1306).
체크 결과 장치/서비스 정보 리스트에 해당 CP가 존재하는 경우(S1308), 장치/서비스 정보 리스트 관리부(153)에 해당 CP의 정보를 저장하지 않는다. 그 다음, 디스커버리 관리부(114)는 수신된 SSDP Alive 메시지를 디스커버리 메시지 변환 처리부(115)를 통해 WS-디스커버리 Hello 메시지로 변환하고, 변환된 Hello 메시지를 멀티캐스팅 한다(S1310).
체크 결과 장치/서비스 정보 리스트에 해당 CP가 존재하지 않는 경우(S1308), 장치/서비스 정보 리스트 관리부(153)는 해당 CP의 UPnP 장치/서비스 XML 디스크립션 정보를 파싱(parsing)하고, 상기 디스크립션을 기반으로 UPnP와 웹 서버에 독립적인 장치/서비스 정보를 생성한다(S1312). 그 다음, 생성된 장치/서비스 정보는 장치 정보 리스트(151) 및 서비스 정보 리스트(152)에 저장한다(S1314).
한편, 디스커버리 관리부(114)의 체크 결과 전송된 디스커버리 메시지가 웹 서비스 메시지인 경우(S1321), 디스커버리 관리부(114)는 WS-디스커버리 메시지 내 장치/서비스 디스크립션 URL 정보를 획득하고(S1322), 획득된 디스크립션 URL 정보를 장치/서비스 정보 리스트 관리부(153)로 전송한다(도 13b 참조).
그 다음, 장치/서비스 정보 리스트 관리부(153)는 디스커버리 관리부(114)로부터 전달된 정보를 기반으로 현재 관리되고 있는 장치/서비스 정보 리스트에 해당 CP의 등록 여부를 체크 한다(S1324).
체크 결과 장치/서비스 정보 리스트에 해당 CP가 존재하는 경우(S1326), 장치/서비스 정보 리스트 관리부(153)에 해당 CP의 정보를 저장하지 않는다. 그 다음, 디스커버리 관리부(114)는 수신된 WS-디스커버리 Hello 메시지를 디스커버리 메시지 변환 처리부(115)를 통해 SSDP Alive 메시지로 변환하고, 변환된 Alive 메시지를 멀티캐스팅 한다(S1328).
체크 결과 장치/서비스 정보 리스트에 해당 CP가 존재하지 않는 경우(S1326), 장치/서비스 정보 리스트 관리부(153)는 WSDL를 검색하여 파싱(parsing)하고, 상기 WSDL을 기반으로 UPnP와 웹 서버에 독립적인 장치/서비스 정보를 생성한다(S1330). 그 다음, 생성된 장치/서비스 정보는 장치 정보 리스트(151) 및 서비스 정보 리스트(152)에 추가 저장한다(S1332).
도 14는 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 방법 중 디스커버리 Search(또는 Probe) 메시지를 처리하는 과정을 나타낸 순서도이다.
먼저, 디스커버리 관리부(114)는 댁내 홈 네트워크 상에 존재하는 UPnP CP 또는 웹 서비스 CP로부터 디스커버리 메시지(예를 들어, UPnP CP는 Search 메시지, 웹 서비스 CP는 Probe 메시지)를 멀티캐스트 채널을 통해 전송받는다(S1400).
그 다음, 디스커버리 관리부(114)는 전송된 디스커버리 메시지가 UPnP 디스커버리 메시지인지 웹 서비스 메시지인지를 체크 한다. 여기서, UPnP는 SSDP 형식이며, 웹 서비스는 WS-디스커버리 형식이다.
체크 결과 UPnP 디스커버리 메시지인 경우(S1402), 디스커버리 관리부(114)는 SSDP 메시지에서 UUID 정보를 추출하고(S1404), 추출된 UUID 정보를 장치/서비스 정보 리스트 관리부(153)로 전송한다.
그 다음, 장치/서비스 정보 리스트 관리부(153)는 디스커버리 관리부(114)로부터 전달된 정보를 기반으로 현재 관리되고 있는 장치/서비스 정보 리스트에 해당 CP의 등록 여부를 체크 한다(S1406).
체크 결과 장치/서비스 정보 리스트에 해당 CP가 존재하는 경우(S1408), 장치/서비스 정보 리스트 관리부(153)는 해당 CP 정보를 저장하지 않고 종료한다.
체크 결과 장치/서비스 정보 리스트에 해당 CP가 존재하지 않는 경우(S1408), 디스커버리 관리부(114)는 장치/서비스 정보 리스트 관리부(153)에게 SSDP 정보를 제공하고, 이에 장치/서비스 정보 리스트 관리부(153)는 SSDP 정보를 기반으로 해당 장치/서비스 정보를 생성 및 장치/서비스 정보 리스트(151, 152)에 저장한다(S1410, S1412).
그 다음, 전송된 UPnP 디스커버리 메시지를 WS-디스커버리 메시지로 변환하여 멀티캐스트 한다(S1414).
한편, 디스커버리 관리부(114)의 체크 결과 전송된 디스커버리 메시지가 웹 서비스 메시지인 경우(S1421), 디스커버리 관리부(114)는 WS-디스커버리 메시지에서 'EndpointReference.Address' 정보를 추출하고(S1422), 추출된 정보를 장치/서비스 정보 리스트 관리부(153)로 전송한다(도 14b 참조).
그 다음, 장치/서비스 정보 리스트 관리부(153)는 디스커버리 관리부(114)로 부터 전달된 정보를 기반으로 현재 관리되고 있는 장치/서비스 정보 리스트에 해당 CP의 등록 여부를 체크한다(S1424).
체크 결과 장치/서비스 정보 리스트에 해당 CP가 존재하는 경우(S1426), 장치/서비스 정보 리스트 관리부(153)는 해당 CP 정보를 저장하지 않고 종료한다.
체크 결과 장치/서비스 정보 리스트에 해당 CP가 존재하지 않는 경우(S1426), 장치/서비스 정보 리스트 관리부(153)는 WS-디스커버리 정보를 기반으로 해당 장치/서비스 정보를 생성 및 장치/서비스 정보 리스트(151, 152)에 추가 저장한다(S1428, S1430).
그 다음, 전송된 WS-디스커버리 메시지를 UPnP 디스커버리 메시지로 변환하여 멀티캐스트 한다(S1432).
도 15는 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 방법 중 디스크립션 과정을 나타낸 순서도 이다.
먼저, 디스크립션 관리부(122)는 홈 네트워크에 존재하는 CP로부터 디스크립션을 얻기 위한 디스크립션 요청 메시지를 전송 받는다(S1500).
그 다음, 디스크립션 관리부(122)는 전송된 디스크립션 요청 메시지가 UPnP XML 디스크립션 요청 메시지인지, 웹 서비스의 WSDL 요청 메시지인지 체크한다(S1510).
체크 결과 UPnP XML 디스크립션 요청 메시지인 경우, 디스크립션 파일 변환 처리부(123)는 장치/서비스 정보 리스트 관리부(153)에게 해당 CD의 검색을 요청하고, 이에 장치/서비스 정보 리스트 관리부(153)는 해당 CD를 검색한다(S1520).
검색 결과 해당 CD가 원래 웹 서비스를 지원하는 CD일 경우, 장치/서비스 정보를 기초로 디스크립션 파일 변환 처리부(123)를 통해 UPnP XML 디스크립션 파일로 변환한다(S1530).
그 다음, 디스크립션 관리부(122)는 변환된 디스크립션 응답 메시지(예를 들어, UPnP XML 디스크립션 파일)로 응답한다(S1540).
한편, 체크 결과 WSDL 요청 메시지인 경우(S1550), 디스크립션 파일 변환 처리부(123)는 장치/서비스 정보 리스트 관리부(153)에게 해당 CD의 검색을 요청하고, 이에 장치/서비스 정보 리스트 관리부(153)는 해당 CD를 검색한다(S1560).
검색 결과 CD가 원래 UPnP를 지원하는 CD일 경우, 해당 장치/서비스 정보를 기초로 디스크립션 파일 변환 처리부(123)를 통해 WSDL 파일로 변환한다(S1570).
그 다음, 디스크립션 관리부(122)는 변환된 디스크립션 응답 메시지(예를 들어, WSDL 파일)로 응답한다(S1540).
도 16은 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 방법 중 컨트롤 과정을 나타낸 순서도 이다. 여기서, 컨트롤 과정은 컨트롤 요청 메시지를 처리하는 과정과, 컨트롤 응답 메시지를 처리하는 과정으로 구분된다.
도 16a는 컨트롤 요청 메시지를 처리하는 과정을 나타낸 순서도이다.
먼저, 홈 네트워크 상에 존재하는 CP로부터 컨트롤 요청 메시지가 전송되면(S1600), 컨트롤 관리부(132)는 해당 메시지가 UPnP 및 웹 서비스 컨트롤 메시지인지 체크한다. 여기서, 장치/서비스 디스크립션에는 컨트롤 동작(Action)을 수신할 수 있는 정보가 포함되어 있어 해당 CD의 디스크립션을 기초로 UPnP 또는 웹 서비스 컨트롤 요청 메시지인지 구분할 수 있다.
체크 결과 UPnP 컨트롤 요청 메시지인 경우(S1602), 컨트롤 관리부(132)는 컨트롤 요청 메시지를 전송한 CP가 제어하고자 하는 CD가 UPnP 기반인지 웹 서비스 기반인지 검색한다(S1604).
검색 결과 해당 CD가 웹 서비스 기반인 경우(S1606), 컨트롤 메시지 변환 처리부(133)는 해당 UPnP 컨트롤 요청을 웹 서비스 컨트롤 요청 메시지로 변환한다(S1608).
그 다음, 컨트롤 관리부(132)는 장치/서비스 정보 리스트 관리부(153)를 통해 해당 CD의 컨트롤 요청 수신 URL 정보를 검색하고, 검색된 URL로 변환된 요청 메시지를 전송한다(S1610).
체크 결과 웹 서비스 컨트롤 요청 메시지인 경우(S1612), 컨트롤 관리부(132)는 컨트롤 요청 메시지를 전송한 CP가 제어하고자 하는 CD가 UPnP 기반인지 웹 서비스 기반인지 검색한다(S1614).
검색 결과 해당 CD가 UPnP 기반인 경우(S1614), 컨트롤 메시지 변환 처리부(133)는 해당 UPnP 컨트롤 요청을 웹 서비스 컨트롤 요청 메시지로 변환한다(S1616).
그 다음, 컨트롤 관리부(132)는 장치/서비스 정보 리스트 관리부(153)를 통해 해당 CD의 컨트롤 요청 수신 URL 정보를 검색하고, 검색된 URL로 변환된 요청 메시지를 전송한다(S1610).
도 16b는 컨트롤 응답 메시지를 처리하는 과정을 나타낸 순서도 이다.
먼저, 컨트롤 요청 메시지 처리 동작을 수행한 후 홈 네트워크 상에 존재하는 CD로 전송된 요청 메시지에 대한 응답 메시지를 전송 받는다(S1620).
이에, 컨트롤 관리부(132)는 해당 응답 메시지가 UPnP 메시지인지 웹 서비스 메시지인지 체크 한다.
체크 결과 UPnP 컨트롤 응답 메시지인 경우(S1622), 컨트롤 관리부(132)는 해당 응답 메시지를 전송받을 CP가 UPnP 기반인지 웹 서비스 기반인지 검색한다(S1624).
검색 결과 해당 CP가 웹 서비스 기반인 경우(S1626), 컨트롤 메시지 변환 처리부(133)는 해당 UPnP 컨트롤 응답 메시지를 웹 서비스 컨트롤 응답 메시지로 변환한다(S1628).
그 다음, 컨트롤 관리부(132)는 장치/서비스 정보 리스트 관리부(153)를 통해 이전 컨트롤 요청 메시지를 전송한 CP의 URL 정보를 검색하고, 검색된 URL로 변환된 요청 메시지를 전송한다(S1630). 여기서, 컨트롤 요청 CP의 URL 정보는 컨트롤 요청 메시지 처리 동작 중 임시로 저장되어 컨트롤 응답 메시지 처리 동작에서 사용된다.
체크 결과 웹 서비스 컨트롤 요청 메시지인 경우(S1632), 컨트롤 관리부(132)는 해당 응답 메시지를 전송받을 CP가 UPnP 기반인지 웹 서비스 기반인지 검색한다.
검색 결과 해당 CP가 UPnP 기반인 경우(S1634), 컨트롤 메시지 변환 처리부 (133)는 해당 웹 서비스 컨트롤 응답 메시지를 UPnP 컨트롤 응답 메시지로 변환한다(S1636).
그 다음, 컨트롤 관리부(132)는 장치/서비스 정보 리스트 관리부(153)를 통해 이전 컨트롤 요청 메시지를 전송한 CP의 URL 정보를 검색하고, 검색된 URL로 변환된 요청 메시지를 전송한다(S1630).
도 17은 본 발명의 실시예에 따른 홈 네트워크에서 디바이스 간 호환성을 지원하는 방법 중 이벤팅 과정을 나타낸 순서도 이다. 여기서, 이벤팅 과정은 서브스크립션 요청 메시지를 처리하는 과정과, 서브스크립션 응답 메시지를 처리하는 과정으로 구분된다.
도 17a는 서브스크립션 요청 메시지를 처리하는 과정을 나타낸 순서도이다.
먼저, 이벤팅 관리부(142)는 홈 네트워크 상에 존재하는 CP로부터 전송된 이벤트 서브스크립션 요청 메시지를 수신하고(S1700), 수신된 이벤트 서브스크립션 요청 메시지가 GENA 또는 WS-이벤팅 메시지인지 체크 한다.
체크 결과 수신된 이벤트 서브스크립션 요청 메시지가 UPnP의 GENA 메시지인 경우(S1702), 이벤팅 메시지 변환 처리부(143)는 장치/서비스 정보 리스트 관리부(153)에게 해당 CD의 정보를 요청하고(S1704), 요청에 따라 전송된 CD의 정보를 기초로 해당 CD가 UPnP 기반인지 웹 서비스 기반인지 체크 한다.
체크 결과 해당 CD가 웹 서비스 기반인 경우(S1706), 이벤팅 메시지 변환 처리부(143)는 해당 UPnP GENA 서브스크립션 요청 메시지를 WS-이벤팅 서브스크립션 요청 메시지로 변환한다(S1708).
그 다음, 이벤팅 관리부(142)는 장치/서비스 정보 리스트 관리부(153)를 통해 해당 CD의 서브스크립션 요청 수신 URL 정보를 검색하고, 검색된 URL로 변환된 서브스크립션 요청 메시지를 전송한다(S1710).
체크 결과 수신된 이벤트 서브스크립션 요청 메시지가 웹 서비스의 WS-이벤팅 메시지인 경우(S1712), 이벤팅 메시지 변환 처리부(143)는 장치/서비스 정보 리스트 관리부(153)에게 해당 CD의 정보를 요청하고, 요청에 따라 전송된 CD의 정보를 기초로 해당 CD가 UPnP 기반인지 웹 서비스 기반인지 체크 한다.
체크 결과 해당 CD가 UPnP 기반인 경우(S1714), 이벤팅 메시지 변환 처리부(143)는 해당 WS-이벤팅 서브스크립션 요청 메시지를 UPnP GENA 서브스크립션 요청 메시지로 변환한다(S1716).
그 다음, 이벤팅 관리부(142)는 장치/서비스 정보 리스트 관리부(153)를 통해 해당 CD의 서브스크립션 요청 수신 URL 정보를 검색하고, 변환된 서브스크립션 요청 메시지를 검색된 해당 URL로 전송한다(S1710).
도 17b는 서브스크립션 응답 메시지를 처리하는 과정을 나타낸 순서도 이다.
먼저, 이벤팅 관리부(142)는 서브스크립션 요청 메시지를 처리하는 과정을 수행하여 CD로 전송된 서브스크립션 요청 메시지에 대한 응답 메시지를 전송 받는다(S1720). 이에, 이벤팅 관리부(142)는 해당 이벤트 서브스크립션 응답 메시지가 GENA 또는 WS-이벤팅 메시지인지 체크 한다.
체크 결과 전송된 응답 메시지가 UPnP의 GENA 메시지인 경우(S1722), 이벤팅 메시지 변환 처리부(143)는 장치/서비스 정보 리스트 관리부(153)에게 응답 메시지 를 전송받을 CP의 정보를 요청하고(S1724), 요청에 따라 전송된 CP의 정보를 기초로 해당 CP가 UPnP 기반인지 웹 서비스 기반인지 체크 한다.
체크 결과 해당 CP가 웹 서비스 기반인 경우(S1726), 이벤팅 메시지 변환 처리부(143)는 해당 UPnP GENA 서브스크립션 응답 메시지를 WS-이벤팅 서브스크립션 응답 메시지로 변환한다(S1728)
그 다음, 이벤팅 관리부(142)는 장치/서비스 정보 리스트 관리부(153)를 통해 이전 서브스크립션 요청 메시지를 전송한 CP의 URL 정보를 검색하고, 검색된 URL로 변환된 응답 메시지를 전송한다(S1730). 여기서, 서브스크립션 요청 메시지를 전송한 CP의 URL 정보는 서브스크립션 응답 메시지를 기반으로 해당 장치/서비스 정보 중 서브스크립션 리스트에 추가되어야 한다. 이후, 통보(Notification) 메시지를 CD로부터 전송 받을 경우 해당 서브스크립션 리스트에 등록된 CP에 해당 통지 메시지를 전송하게 된다. 이하, 도 17c에서 통지 메시지를 처리하는 과정을 설명한다.
체크 결과 전송된 응답 메시지가 웹 서비스의 WS-이벤팅 메시지인 경우(S1732), 이벤팅 메시지 변환 처리부(143)는 장치/서비스 정보 리스트 관리부(153)에게 해당 CP의 정보를 요청하고, 요청에 따라 전송된 CP의 정보를 기초로 UPnP 기반인지 웹 서비스 기반인지 체크 한다.
체크 결과 해당 CP가 UPnP 기반인 경우(S1734), 이벤팅 메시지 변환 처리부(143)는 해당 WS-이벤팅 서브스크립션 응답 메시지를 UPnP GENA 서브스크립션 응답 메시지로 변환한다(S1736).
그 다음, 이벤팅 관리부(142)는 장치/서비스 정보 리스트 관리부(153)를 통해 이전 서브스크립션 요청 메시지를 전송한 CP의 URL 정보를 검색하고, 검색된 URL로 변환된 응답 메시지를 전송한다(S1730).
도 17c는 통보 메시지를 처리하는 과정을 나타낸 순서도 이다.
먼저, 이벤팅 관리부(142)는 홈 네트워크 상에 존재하는 CD로부터 통보 메시지를 전송 받는다(S1750). 이에, 이벤팅 관리부(142)는 해당 통보 메시지가 GENA 또는 WS-이벤팅 메시지인지 체크 한다.
체크 결과 전송된 통보 메시지가 UPnP의 GENA 메시지인 경우(S1752), 이벤팅 메시지 변환 처리부(143)는 장치/서비스 정보 리스트 관리부(153)에게 통보 메시지를 전송받을 CP의 정보를 요청하고(S1754), 요청된 정보를 기초로 해당 CP가 UPnP 기반인지 웹 서비스 기반인지 체크 한다.
체크 결과, 해당 CP가 웹 서비스 기반인 경우(S1756), 이벤팅 메시지 변환 처리부(143)는 CD로부터 전송된 UPnP GENA 통보 메시지를 WS-이벤팅 통보 메시지로 변환한다(S1758).
그 다음, 이벤팅 관리부(142)는 장치/서비스 정보 리스트 관리부(153)를 통해 해당 장치/서비스 정보를 검색하고, 검색된 정보 내의 서브스크립션 리스트에 등록된 CP에게 통보 메시지를 전송한다(S1760).
체크 결과 전송된 통보 메시지가 웹 서비스의 WS-이벤팅 메시지인 경우(S1762), 이벤팅 메시지 변환 처리부(143)는 통보 메시지를 전송받은 CP가 UPnP 기반인지 웹 서비스 기반인지 체크 한다.
체크 결과, CP가 UPnP 기반인 경우(S1764), 이벤팅 메시지 변환 처리부(143)는 CD로부터 전송된 WS-이벤팅 통보 메시지를 UPnP GENA 통보 메시지로 변환한다(S1768).
그 다음, 이벤팅 관리부(142)는 장치/서비스 정보 리스트 관리부(153)를 통해 해당 장치/서비스 정보를 검색하고, 검색된 정보 내의 서브스크립션 리스트에 등록된 CP에게 통보 메시지를 전송한다(S1756).
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
상기한 바와 같은 본 발명의 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치 및 그 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
홈 네트워크 상에 존재하는 UPnP 및 웹 서비스의 프로토콜을 변환하는 미들웨어 장치를 통해 UPnP 및 웹 서비스를 기반으로 하는 모든 장치들 간의 호환성을 제공할 수 있는 장점이 있다.
또한, UPnP 및 웹 서비스의 프로토콜을 변환하여 홈 네트워크 상에 존재하는 장치들에게 전송함으로써, 기본 UPnP 기반 장치 및 웹 서비스 기반 장치를 그대로 이용할 수 있는 장점이 있다.

Claims (12)

  1. 홈 네트워크 상에 존재하는 UPnP 및 웹 서비스로부터 서로 다른 프로토콜을 기반으로 하는 디스커버리 메시지를 수신하고, 상기 디스커버리 메시지를 전송받는 장치가 처리할 수 있는 프로토콜로 디스커버리 메시지를 변환하는 디스커버리부;
    상기 UPnP 및 웹 서비스로부터 요청된 소정 장치의 디스크립션 파일을 생성하고, 상기 생성된 디스크립션 파일을 상기 디스크립션 파일을 요청한 장치가 처리할 수 있도록 변환하여 제공하는 디스크립션부; 및
    상기 디스커버리 메시지 및 디스크립션 파일을 기초로 홈 네트워크 상에 존재하는 장치들의 정보 및 서비스 정보를 관리하는 정보 관리부를 포함하는 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치.
  2. 제 1항에 있어서,
    상기 디스커버리부는
    상기 UPnP 및 웹 서비스로부터 전송된 디스커버리 메시지의 프로토콜을 구분하고, 상기 전송된 디스커버리 메시지를 상기 정보 관리부에 저장하는 디스커버리 관리부; 및
    상기 전송된 디스커버리 메시지를 상기 UPnP 및 웹 서비스가 처리할 수 있도록 변환하는 디스커버리 메시지 변환 처리부를 포함하는 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치.
  3. 제 1항에 있어서,
    상기 디스크립션부는
    상기 UPnP 및 웹 서비스로부터 요청된 소정 장치의 디스크립션 파일을 생성하고, 생성된 디스크립션 파일을 상기 정보 관리부에 저장하는 디스크립션 관리부; 및
    상기 생성된 디스크립션 파일을 상기 UPnP 및 웹 서비스가 처리할 수 있도록 변환하는 디스크립션 파일 변환 처리부를 포함하는 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치.
  4. 제 1항에 있어서,
    상기 정보 관리부는
    상기 디스커버리부 및 상기 디스크립션부로부터 전송된 홈 네트워크 상에 존재하는 장치들의 정보 및 서비스 정보를 저장하는 장치/서비스 정보 리스트; 및
    상기 장치/서비스 정보 리스트를 관리 및 디스커버리부 및 상기 장치/서비스 정보 리스트의 정보를 업데이트 하는 장치/서비스 정보 리스트 관리부를 포함하는 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치.
  5. 제 1항에 있어서,
    상기 UPnP 및 웹 서비스로부터 서로 다른 프로토콜을 기반으로 하는 컨트롤 메시지를 수신하고, 상기 컨트롤 메시지를 전송받는 장치가 처리할 수 있는 프로토콜로 컨트롤 메시지를 변환하여 제공하는 컨트롤부를 포함하는 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치.
  6. 제 1항에 있어서,
    상기 UPnP 및 웹 서비스로부터 서로 다른 프로토콜을 기반으로 하는 이벤팅 메시지를 수신하고, 상기 이벤팅 메시지를 전송받는 장치가 처리할 수 있는 프로토콜로 이벤팅 메시지를 변환하여 제공하는 이벤팅부를 포함하는 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어 장치.
  7. 홈 네트워크 상에 존재하는 UPnP CP 및 웹 서비스 CP로부터 디스커버리 메시지를 전송받는 단계;
    상기 전송된 디스커버리 메시지가 UPnP 기반인지 웹 서비스 기반인지 판단하는 단계; 및
    상기 판단 결과 전송된 디스커버리 메시지가 UPnP 기반인 경우, 상기 디스커버리 메시지를 웹 서비스 기반의 디스커버리 메시지로 변환하는 단계를 포함하는 홈 네트워크에서 디바이스 간 호환성을 지원하는 방법.
  8. 제 7항에 있어서,
    상기 디스커버리 메시지를 전송한 장치의 등록 여부를 판단하는 단계;
    상기 판단 결과 등록이 되어있지 않는 경우, 상기 디스커버리 메시지를 전송한 장치의 정보를 생성 및 저장하는 단계를 포함하는 홈 네트워크에서 디바이스 간 호환성을 지원하는 방법.
  9. 제 7항에 있어서,
    상기 디스커버리 메시지는 Alive/Hello 메시지 및 Search/Probe인 홈 네트워크에서 디바이스 간 호환성을 지원하는 방법.
  10. 홈 네트워크 상에 존재하는 UPnP CP 및 웹 서비스 CP로부터 디스크립션 메시지를 전송받는 단계;
    상기 전송된 디스크립션 메시지가 UPnP 기반인지 웹 서비스 기반인지 판단하는 단계;
    상기 디스크립션 메시지의 전송 대상인 소정 CD의 정보를 검색하는 단계; 및
    상기 판단 결과 디스크립션 메시지가 UPnP 기반이고, 상기 검색 결과 상기 CD가 웹 서비스 기반인 경우, 상기 전송된 디스크립션 메시지를 웹 서비스 기반의 디스크립션 메시지로 변환하는 단계를 포함하는 홈 네트워크에서 디바이스 간 호환성을 지원하는 방법.
  11. 제 10항에 있어서,
    상기 홈 네트워크 상에 존재하는 UPnP CP 및 웹 서비스 CP로부터 컨트롤 메시지를 전송받은 경우,
    상기 전송된 컨트롤 메시지가 UPnP 기반인지 웹 서비스 기반인지 판단하는 단계;
    상기 컨트롤 메시지의 전송 대상인 소정 CD의 정보를 검색하는 단계; 및
    상기 판단 결과 디스크립션 메시지가 UPnP 기반이고, 상기 검색 결과 상기 CD가 웹 서비스 기반인 경우, 상기 전송된 컨트롤 메시지를 웹 서비스 기반의 컨트롤 메시지로 변환하는 단계를 포함하는 홈 네트워크에서 디바이스 간 호환성을 지원하는 방법.
  12. 제 10항에 있어서,
    상기 홈 네트워크 상에 존재하는 UPnP CP 및 웹 서비스 CP로부터 이벤트 메시지를 전송받은 경우,
    상기 전송된 컨트롤 메시지가 UPnP 기반인지 웹 서비스 기반인지 판단하는 단계;
    상기 이벤트 메시지의 전송 대상인 소정 CD의 정보를 검색하는 단계; 및
    상기 판단 결과 디스크립션 메시지가 UPnP 기반이고, 상기 검색 결과 상기 CD가 웹 서비스 기반인 경우, 상기 전송된 이벤트 메시지를 웹 서비스 기반의 이벤트 메시지로 변환하는 단계를 포함하는 홈 네트워크에서 디바이스 간 호환성을 지원하는 방법.
KR1020060003617A 2006-01-12 2006-01-12 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어장치 및 그 방법 KR100714708B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020060003617A KR100714708B1 (ko) 2006-01-12 2006-01-12 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어장치 및 그 방법
JP2007001992A JP4374026B2 (ja) 2006-01-12 2007-01-10 ホームネットワークにおけるデバイス間の互換性を支援するミドルウェア装置およびその方法
EP07100351A EP1809003B1 (en) 2006-01-12 2007-01-10 Middleware device
DE602007000687T DE602007000687D1 (de) 2006-01-12 2007-01-10 Middlewarevorrichtung
CN200710000355.0A CN101013981B (zh) 2006-01-12 2007-01-12 支持家庭网络中的装置的兼容性的中间件装置和方法
US11/652,606 US8423671B2 (en) 2006-01-12 2007-01-12 Middleware device and method of supporting compatibility of devices in home network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060003617A KR100714708B1 (ko) 2006-01-12 2006-01-12 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR100714708B1 true KR100714708B1 (ko) 2007-05-04

Family

ID=38051686

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060003617A KR100714708B1 (ko) 2006-01-12 2006-01-12 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어장치 및 그 방법

Country Status (6)

Country Link
US (1) US8423671B2 (ko)
EP (1) EP1809003B1 (ko)
JP (1) JP4374026B2 (ko)
KR (1) KR100714708B1 (ko)
CN (1) CN101013981B (ko)
DE (1) DE602007000687D1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101062535B1 (ko) 2008-10-31 2011-09-06 아주대학교산학협력단 유비쿼터스 지능형 공간에서 서비스 플러그 앤 플레이 제공 방법 및 시스템
KR20160112845A (ko) * 2015-03-20 2016-09-28 주식회사 뉴론웍스 표준/비표준 응용 프로토콜간 데이터 교환 방법과 사용자 정의 조건에 따른 동적제어 가능한 미들웨어 장치

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4337591B2 (ja) * 2004-03-19 2009-09-30 株式会社日立製作所 情報処理装置、ネットワークシステムおよびネットワークシステムの制御方法
KR100714708B1 (ko) * 2006-01-12 2007-05-04 삼성전자주식회사 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어장치 및 그 방법
JP2008289102A (ja) * 2007-05-21 2008-11-27 Sony Corp 受信装置、記録装置、コンテンツ受信方法及びコンテンツ記録方法
KR100906109B1 (ko) * 2007-06-20 2009-07-07 엔에이치엔(주) 3a 기반의 다양한 어플리케이션 상태를 제공하는유비쿼터스 프리젠스 서비스 방법 및 시스템
US8296395B2 (en) * 2007-07-03 2012-10-23 Samsung Electronics, Ltd. Obje network device service control method and system
US8635341B2 (en) 2008-02-14 2014-01-21 Microsoft Corporation Termination criteria in service discovery request
CN101651631B (zh) * 2008-08-12 2013-01-30 新奥特(北京)视频技术有限公司 一种电视台全台网系统集成中消息接入的方法
US20100049701A1 (en) * 2008-08-21 2010-02-25 International Business Machines Corporation System Monitoring Control Point Conversions to Pervasive Device Objects
JP5089621B2 (ja) * 2009-01-16 2012-12-05 日本電信電話株式会社 サービス連携処理システム及び方法
FR2941834A1 (fr) * 2009-01-30 2010-08-06 France Telecom Detection d'un dispositif de controle upnp et mise en relation avec un terminal.
US8619341B2 (en) * 2009-09-30 2013-12-31 Ricoh Company, Ltd Methods and systems to provide proxy scan services to legacy devices
US8364745B2 (en) 2009-11-24 2013-01-29 International Business Machines Corporation Service oriented architecture enterprise service bus with universal ports
US20110153626A1 (en) * 2009-12-18 2011-06-23 Electronics And Telecommunications Research Institute Device and method for performing mapping of data of network device
US8667100B2 (en) 2010-07-07 2014-03-04 Comcast Interactive Media, Llc Device communication, monitoring and control architecture and method
US8355170B2 (en) * 2010-07-26 2013-01-15 Ricoh Company, Ltd Methods and systems to provide scan services to an image forming device
KR101921120B1 (ko) * 2010-08-27 2019-02-13 삼성전자주식회사 UPnP 텔레포니를 이용한 메모 공유 방법 및 장치
WO2012079208A1 (en) * 2010-12-13 2012-06-21 Motorola, Inc. Sharing media among remote access clients in a universal plug and play environment
WO2012099370A2 (ko) * 2011-01-17 2012-07-26 엘지전자 주식회사 제어 장치, 제어 타겟 장치 및 이들을 이용한 알람 설정 방법
US8566842B2 (en) 2011-04-01 2013-10-22 International Business Machines Corporation Identification of a protocol used in a message
CN102377579A (zh) * 2011-10-21 2012-03-14 中兴通讯股份有限公司 一种基于UPnP的网络云应用方法及系统
CN102387143B (zh) * 2011-10-21 2014-04-16 四川长虹电器股份有限公司 兼容upnp媒体服务的cifs服务器系统
JP5425168B2 (ja) * 2011-12-02 2014-02-26 キヤノン株式会社 撮像手段を有する通信装置およびその制御方法
JP5425167B2 (ja) * 2011-12-02 2014-02-26 キヤノン株式会社 撮像手段を有する通信装置およびその制御方法
CN102546827B (zh) * 2012-02-24 2015-12-02 深圳市长宇电器有限公司 在服务器上收发车载终端多种协议数据的方法及装置
KR102007841B1 (ko) 2012-10-15 2019-08-06 엘지전자 주식회사 미디어 공유 제어장치, 미디어 재생장치, 미디어 공유 애플리케이션 제공 서버 및 미디어 공유 방법
US9736205B2 (en) * 2012-10-15 2017-08-15 Lg Electronics Inc. Media share control apparatus, media reproducing apparatus, and method of providing user interface for media sharing thereof
US20140172927A1 (en) * 2012-12-19 2014-06-19 Htc Corporation File information processing method and portable device
US20150288667A1 (en) * 2014-04-08 2015-10-08 Samsung Electronics Co., Ltd. Apparatus for sharing a session key between devices and method thereof
CN110392026A (zh) * 2018-04-20 2019-10-29 深圳市万千楼宇自控设备有限公司 一种数字控制器跨平台、跨协议数据交换系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030038924A (ko) * 2001-11-07 2003-05-17 주식회사 케이티 홈네트워크 장치 제어를 위한 프록시 장치 및 그 방법
KR20030095798A (ko) * 2002-06-14 2003-12-24 정수영 홈 네트워크 관리 서버/클라이언트 시스템 및 그 구현방법
KR20050119018A (ko) * 2004-06-15 2005-12-20 엘지전자 주식회사 웹서버를 이용한 홈 네트워크 제어 시스템
KR20060035177A (ko) * 2004-10-21 2006-04-26 엘지전자 주식회사 이종 네트워크 제어 시스템의 서비스 정보 갱신 장치 및방법
KR20060069170A (ko) * 2004-12-17 2006-06-21 한국전자통신연구원 이종의 홈네트워크 미들웨어상에 접속해 있는 홈디바이스들간의 상호 연동을 위한 홈네트워크 범용미들웨어 브릿지 시스템 및 그 방법

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910068B2 (en) * 1999-06-11 2005-06-21 Microsoft Corporation XML-based template language for devices and services
JP2002196990A (ja) * 2000-12-27 2002-07-12 Kddi Corp サービス発見プロトコル変換ゲートウェイ
JP3661936B2 (ja) * 2001-05-24 2005-06-22 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
KR100440583B1 (ko) * 2002-05-16 2004-07-19 한국전자통신연구원 외부 인터넷에 의한 댁내망의 UPnP장치 관리제어 장치및 방법
JP2004038526A (ja) 2002-07-03 2004-02-05 Brother Ind Ltd 情報出力システム、電子機器、情報出力装置、及びプログラム
KR100830940B1 (ko) * 2002-07-10 2008-05-20 엘지전자 주식회사 유피엔피(UPnP)를 이용한 홈 네트워크의 원격 제어시스템
US20040015609A1 (en) * 2002-07-18 2004-01-22 International Business Machines Corporation Method and system for conversion of message formats in a pervasive embedded network environment
KR100521762B1 (ko) 2003-02-15 2005-10-14 (주)인터랙티비 어플리케이션 팩을 다운로드하여 자동으로 설치하고,동적으로 메뉴를 생성하는 어플리케이션 다운로드 방법 및이를 활용한 통합형 홈서버 시스템
US20040210912A1 (en) * 2003-04-16 2004-10-21 Michael Jeronimo Service interface for home network management
JP4401679B2 (ja) * 2003-05-12 2010-01-20 キヤノン株式会社 制御装置、制御プログラム、制御方法
US7844738B2 (en) 2004-01-16 2010-11-30 Sony Corporation Method of and apparatus for bridging a UPnP network and a rendezvous network
US7467384B2 (en) * 2004-02-20 2008-12-16 Microsoft Corporation Uniform resource discovery with multiple computers
JP4337591B2 (ja) * 2004-03-19 2009-09-30 株式会社日立製作所 情報処理装置、ネットワークシステムおよびネットワークシステムの制御方法
US7933290B2 (en) 2004-03-30 2011-04-26 Nokia Corporation System and method for comprehensive service translation
JP4154364B2 (ja) * 2004-04-22 2008-09-24 キヤノン株式会社 通知方法
JP2006108853A (ja) * 2004-10-01 2006-04-20 Hitachi Ltd パケットの転送先を自動認識可能とした通信機器および通信システムならびにプログラム
US20060143295A1 (en) * 2004-12-27 2006-06-29 Nokia Corporation System, method, mobile station and gateway for communicating with a universal plug and play network
US20060153072A1 (en) * 2004-12-28 2006-07-13 Matsushita Electric Industrial Co., Ltd. Extending universal plug and play messaging beyond a local area network
KR100666694B1 (ko) * 2005-01-17 2007-01-11 삼성전자주식회사 OSGi 기반의 홈 게이트웨이 장치 및 그의 기기등록방법
JP4185060B2 (ja) * 2005-02-25 2008-11-19 株式会社東芝 プロトコル変換装置、被アクセス装置、プログラムおよび方法
US20060245403A1 (en) * 2005-04-27 2006-11-02 Matsushita Electric Industrial Co., Ltd. UPnP mobility extension using session initiation protocol
US20070078987A1 (en) * 2005-09-30 2007-04-05 Walker Mark R Multi-mode remote user interface server
US7881338B2 (en) * 2005-10-21 2011-02-01 Telefonaktiebolaget Lm Ericsson (Publ) Handling quality of service in a communication system
US7788409B2 (en) * 2005-10-28 2010-08-31 Sony Corporation System and method for achieving interoperability in home network with IEEE 1394 and UPnP devices
KR100714708B1 (ko) * 2006-01-12 2007-05-04 삼성전자주식회사 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어장치 및 그 방법
DE602007004213D1 (de) * 2006-06-02 2010-02-25 Ericsson Telefon Ab L M Ims dienst-proxy in einem higa
EP1865687B1 (en) * 2006-06-06 2011-05-11 Koninklijke KPN N.V. Proxy-bridge for connecting different types of devices
US7821955B2 (en) * 2006-12-28 2010-10-26 Motorola, Inc. Universal Plug-and-Play latency and delay compensation
US8473325B2 (en) * 2007-10-12 2013-06-25 Pie Digital, Inc. System and method for automatic configuration and management of home network devices using a hierarchical index model
TWI382717B (zh) * 2007-11-12 2013-01-11 D Link Corp A method of sharing resources by interconnecting a network terminal device of two private networks by a user agent
US20090180398A1 (en) * 2008-01-16 2009-07-16 Sony Corporation, A Japanese Corporation Method and apparatus for facilitating interaction between the services provided by respective networked devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030038924A (ko) * 2001-11-07 2003-05-17 주식회사 케이티 홈네트워크 장치 제어를 위한 프록시 장치 및 그 방법
KR20030095798A (ko) * 2002-06-14 2003-12-24 정수영 홈 네트워크 관리 서버/클라이언트 시스템 및 그 구현방법
KR20050119018A (ko) * 2004-06-15 2005-12-20 엘지전자 주식회사 웹서버를 이용한 홈 네트워크 제어 시스템
KR20060035177A (ko) * 2004-10-21 2006-04-26 엘지전자 주식회사 이종 네트워크 제어 시스템의 서비스 정보 갱신 장치 및방법
KR20060069170A (ko) * 2004-12-17 2006-06-21 한국전자통신연구원 이종의 홈네트워크 미들웨어상에 접속해 있는 홈디바이스들간의 상호 연동을 위한 홈네트워크 범용미들웨어 브릿지 시스템 및 그 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101062535B1 (ko) 2008-10-31 2011-09-06 아주대학교산학협력단 유비쿼터스 지능형 공간에서 서비스 플러그 앤 플레이 제공 방법 및 시스템
KR20160112845A (ko) * 2015-03-20 2016-09-28 주식회사 뉴론웍스 표준/비표준 응용 프로토콜간 데이터 교환 방법과 사용자 정의 조건에 따른 동적제어 가능한 미들웨어 장치
KR101707633B1 (ko) * 2015-03-20 2017-02-17 주식회사 뉴론웍스 표준/비표준 응용 프로토콜간 데이터 교환 방법과 사용자 정의 조건에 따른 동적제어 가능한 미들웨어 장치

Also Published As

Publication number Publication date
CN101013981B (zh) 2014-04-23
US20070162586A1 (en) 2007-07-12
EP1809003A1 (en) 2007-07-18
EP1809003B1 (en) 2009-03-18
US8423671B2 (en) 2013-04-16
JP4374026B2 (ja) 2009-12-02
CN101013981A (zh) 2007-08-08
JP2007188500A (ja) 2007-07-26
DE602007000687D1 (de) 2009-04-30

Similar Documents

Publication Publication Date Title
KR100714708B1 (ko) 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어장치 및 그 방법
US7640329B2 (en) Scaling and extending UPnP v1.0 device discovery using peer groups
US7647394B2 (en) Scaling UPnP v1.0 device eventing using peer groups
JP3915797B2 (ja) プラグアンドプレイ機能を有するフレームワークおよびその再構成方法
US8429309B2 (en) Method and system for providing input in home network using UPnP
WO2015072762A1 (ko) 네트워크로 연결된 방송 수신 디바이스와 다른 디바이스 간 연결을 관리하는 방법 및 장치
JP2003501765A (ja) HAVi部分ネットワークおよびUPnP部分ネットワークを橋渡しする方法および該方法を実行する装置
JP2002055896A (ja) 通信システムと装置
JP2007095051A (ja) ホームネットワークで第3の装置のイベントを処理する方法及び装置
US20120011222A1 (en) information processing system and method providing a composed service
JP2007513403A (ja) デュアルスタックUPnP装置の帯域節約の発見
US10404485B2 (en) Method and apparatus for restricting disclosure of network information during remote access service
US20090254671A1 (en) Remote control of a device by a terminal
EP3025475B1 (en) Xmpp based upnp device architecture for cloud computing in a network environment
KR20050078541A (ko) 홈네트워크 디바이스 모니터링 및 제어 방법
CN103001959A (zh) 家庭间设备发现方法和系统
EP2168327B1 (en) Method of receiving/transmitting event message, controlled device, and control point
KR100888478B1 (ko) 액션 처리 방법, 피제어 장치의 제어 방법, 피제어 장치 및제어 포인트
KR100952280B1 (ko) 댁내에 설치되는 주거 게이트웨이의 재부팅을 원격으로제어하는 방법
KR100664921B1 (ko) 분산 컴퓨팅을 위한 다수의 프로토콜을 지원하는 통합미들웨어 장치 및 방법
KR101667049B1 (ko) 원격 접속 서비스 시 네트워크의 정보 공개를 제한하기 위한 방법 및 장치
KR20080112915A (ko) 이벤트 메시지 전송 방법, 이벤트 메시지 수신 방법,피제어 장치 및 제어 포인트
US20170366869A1 (en) Discovery protocol system
Mukhtar et al. Using Universal Plug-n-Play for Device Communication in Ad Hoc Pervasive Environments
UNIBO et al. Deliverable name

Legal Events

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

Payment date: 20160330

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee