KR20070009633A - 통지 방법, 접속 장치, 통신 방법, 및 프로그램 - Google Patents

통지 방법, 접속 장치, 통신 방법, 및 프로그램 Download PDF

Info

Publication number
KR20070009633A
KR20070009633A KR20067021880A KR20067021880A KR20070009633A KR 20070009633 A KR20070009633 A KR 20070009633A KR 20067021880 A KR20067021880 A KR 20067021880A KR 20067021880 A KR20067021880 A KR 20067021880A KR 20070009633 A KR20070009633 A KR 20070009633A
Authority
KR
South Korea
Prior art keywords
network
message
upnp
information
destination information
Prior art date
Application number
KR20067021880A
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 캐논 가부시끼가이샤
Publication of KR20070009633A publication Critical patent/KR20070009633A/ko

Links

Images

Classifications

    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • 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/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • H04L12/2827Reporting to a device within the home network; wherein the reception of the information reported automatically triggers the execution of a home appliance functionality
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2876Pairs of inter-processing entities at each side of the network, e.g. split proxies
    • 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/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/2849Audio/video appliances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

UPnP 디바이스 프록시 장치(103)는, 네트워크(120)에 접속되어 있는 디바이스를 인식하고, 인식된 디바이스의 정보를, UPnP 디바이스 프록시 장치(101)에 송신하며, UPnP 디바이스 프록시 장치(101)는, UPnP 디바이스 프록시 장치(103)로부터 송신된 정보를 수신하고, 수신한 정보를 기초로, 인식된 디바이스가 이용 가능한 것을 나타내는 메시지를 네트워크(105)에 송신한다.
UPnP, 프록시 장치, 네트워크, 접속 장치, 통지 방법, 피어 투 피어

Description

통지 방법, 접속 장치, 통신 방법, 및 프로그램{NOTIFICATION METHOD, CONNECTION DEVICE, COMMUNICATION METHOD, AND PROGRAM}
본 발명은 통지 방법, 접속 장치, 접속 장치에서의 통신 방법 및 프로그램에 관한 것이다.
최근, 네트워크의 보급에 의해 퍼스널 컴퓨터 뿐만 아니라 휴대 전화나 전자 기기 등 여러가지 기기를 네트워크에 접속할 수 있게 되어, 전자 기기 등을 상호 연계하여 이용하는 환경은, 사무실용은 물론, 지금까지 단독으로 이용되어 왔던 가전 제품이나 그 외의 전기 제품도 네트워크에 연결되어, 가정용에도 이르게 되었다.
네트워크에 접속하는 각종 기기의 접속 용이성, 설정 용이성이 특히 요구된다.
이러한 요구에 부응할 수 있는 네트워크 기술의 하나로, 유니버셜 플러그 앤 플레이(UPnP: Universal Plug and Play. 이하 UPnP라고 함)라고 불리는 것이 존재한다. UPnP는, 플러그 앤 플레이를 네트워크에 접속되어 있는 기기(이하, 디바이스라고 함)에 대해 행하는 것이 가능할 뿐만 아니라, 드라이버 소프트 등의 인스톨의 필요도 없고, 게다가, 각 디바이스 상에서 동작하는 OS(Operating System)의 종 류에도 의존하지 않는다는 특징이 있다.
UPnP를 사용하면, 디바이스는 네트워크에 참가하여 동적으로 IP 어드레스를 취득하거나, 자신의 기능을 통지하거나, 다른 디바이스의 존재와 기능에 대하여 정보를 얻는 등의 모든 것을 자동적으로 할 수 있어, 진정한 네트워크의 제로 설정이 가능해진다. 또한 디바이스는 서로 직접 통신할 수 있고, 그로 인해 피어-투-피어(Peer To Peer) 네트워크가 가능하게 된다.
UPnP의 상세 사양에 대해서는, 유니버셜 플러그 앤 플레이 디바이스 아키텍처(Universal Plug and Play Device Architecture) 버전 1.0에 기재되어 있다.
그러나, 상기 종래 기술에서는, 동적으로 IP 어드레스를 취득하거나, 자신의 기능을 통지하거나 할 수 있는 UPnP 등에서는, 예를 들면 인터넷 너머의 디바이스를 발견, 제어할 수 없는, 즉 동일 서브넷이 아닌 디바이스를 사용할 수 없다는 문제가 있었다.
<발명의 개시>
<발명이 해결하고자 하는 과제>
본 발명은, 상기의 문제에 대하여 이루어진 것으로, 제1 네트워크에 접속된 디바이스가 이용 가능한 것을, 제1 네트워크와 제2 네트워크를 통하여 접속되는 제3 네트워크에 접속된 장치에 통지하는 것을 목적으로 한다.
또한, 본 발명은, 상기의 문제에 대하여 이루어진 것으로, 제1 네트워크에 접속된 디바이스에, 제1 네트워크와 제2 네트워크를 통하여 접속되는 제3 네트워크에 접속된 장치가, 제3 네트워크 내에서 유효한 수신처 정보를 이용하여 메시지를 송신하는 것을 가능하게 하는 것을 목적으로 한다.
<과제를 해결하기 위한 수단>
상기 목적을 달성하기 위하여, 본 출원에 따른 제1 발명은, 제1 접속 장치가, 제1 네트워크와 제2 네트워크에 접속되고, 제2 접속 장치가, 제2 네트워크와 제3 네트워크에 접속되며, 제1 네트워크에 접속된 디바이스의 정보를 제3 네트워크에 접속된 장치에 통지하는 통지 방법에 있어서, 제1 접속 장치는, 제1 네트워크에 접속되어 있는 디바이스를 인식하고, 인식된 디바이스의 정보를 제2 네트워크를 통하여 제2 접속 장치에 송신하며, 제2 접속 장치는, 제1 접속 장치로부터 송신된 정보를 수신하고, 수신한 정보를 기초로, 인식된 디바이스가 이용 가능한 것을 나타내는 메시지를 제3 네트워크에 송신하는 것을 특징으로 한다.
본 출원에 따른 제2 발명은, 제1 접속 장치가, 제1 네트워크와 제2 네트워크에 접속되고, 제2 접속 장치가, 제2 네트워크와 제3 네트워크에 접속되며, 제1 네트워크에 접속된 디바이스에 대한 메시지의 수신처 정보를 제3 네트워크에 접속된 장치에 통지하는 통지 방법에 있어서, 제1 접속 장치는, 제1 네트워크에 접속되어 있는 디바이스에 대한 메시지의 제1 수신처 정보를 취득하고, 취득한 제1 수신처 정보를 제2 네트워크를 통하여 제2 접속 장치에 송신하며, 제2 접속 장치는, 제1 접속 장치로부터 송신된 제1 수신처 정보를 수신하고, 제2 접속 장치의 식별자에 상기 디바이스에 대한 식별자를 부가하여, 상기 디바이스에 대한 메시지의 제2 수신처 정보를 생성하고, 생성한 제2 수신처 정보를 포함하는 메시지를 제3 네트워크에 송신하는 것을 특징으로 한다.
<발명의 효과>
이상 설명한 바와 같이, 본 발명에 따르면, 이용자가 자신의 네트워크에 존재하지 않는 디바이스를 발견, 이용하는 것이 가능해진다.
이것에 의해, 네트워크에 접속하는 각종 디바이스로의 접속을 용이하게 행할 수 있다. 또한, 디바이스의 이용 기회를 늘릴 수 있다.
본 발명의 그 외의 특징 및 이점은, 첨부 도면을 참조로 한 이하의 설명에 의해 명확해질 것이다. 또한, 첨부 도면에 있어서는, 동일 또는 마찬가지의 구성에는, 동일한 참조 번호를 부여한다.
첨부 도면은 명세서에 포함되어, 그 일부를 구성하고, 본 발명의 실시 형태를 나타내며, 그 기술과 함께 본 발명의 원리를 설명하기 위하여 이용된다.
도 1은 시스템 전체 구성도.
도 2는 컴퓨터 시스템 블록도.
도 3은 UPnP 디바이스 프록시 장치 블록도.
도 4는 해석부 모듈 구성도.
도 5는 디바이스 관리 테이블 개념도.
도 6은 재생부 모듈 구성도.
도 7은 가상 디바이스 관리 테이블 개념도.
도 8은 디바이스부 모듈 구성도.
도 9는 접속 요구 SOAP 메시지 구성도.
도 10은 접속 요구 SOAP 응답 메시지 구성도.
도 11은 차단 요구 SOAP 메시지 구성도.
도 12는 리모트 디바이스 정보 SOAP 메시지 구성도.
도 13은 SCPD 개념도.
도 14는 디바이스 제어 정보 SOAP 메시지 구성도.
도 15는 이벤트 서브스크라이브 요구 SOAP 메시지 구성도.
도 16은 이벤트 처리 정보 SOAP 메시지 구성도.
도 17은 시스템 구성도.
도 18은 UPnP 디바이스 프록시 장치 등록 서버 모듈 구성도.
도 19는 관리 테이블 개념도.
도 20은 이용자 PC의 UPnP 디바이스 프록시 장치 등록/접속 화면 개념도.
도 21은 UPnP 디바이스 프록시 장치 등록 SOAP 메시지 구성도.
<발명을 실시하기 위한 최량의 형태>
UPnP 디바이스 프록시 장치를 설치하고, UPnP의 각 프로토콜 메시지를 스캔하여, 디바이스의 기기 정보(디바이스 디스크립션: Device description), 디바이스의 서비스 정보(서비스 디스크립션: Service description)를 취득하고, 그 쌍으로 되는 UPnP 디바이스 프록시 장치에 전송하여, 상기 UPnP 디바이스 프록시 장치 상에서 가상적으로 UPnP 대응 디바이스를 재현하는 본 발명의 실시 형태에 대하여 도면을 이용하여 설명한다.
〈시스템 전체 구성〉
도 1은, 본 발명의 실시예에서의 시스템 전체의 구성도이다. 도 1에 나타낸 바와 같이, PC 등의 컴퓨터 시스템인 이용자 PC(102)는 UPnP 디바이스 프록시 장치(101)를 통하여, 인터넷 등의 외부 네트워크(100)와 접속되어 있다. 외부 네트워크(100)에는 상이한 서브넷이 UPnP 디바이스 프록시 장치(103)를 통하여 접속되어 있고, 그 네트워크(120)에는, UPnP 준거의 디바이스인, 프린터(110), 디지털 카메라(111), 스캐너(112), 디지털 비디오 카메라(113)가 접속되어 있다. 본 실시예에서는 상기의 디바이스를 예로 들고 있지만 UPnP에 준거한 디바이스라면 상기의 디바이스에 한정되지 않는다.
UPnP 디바이스 프록시 장치(103)는 제1 접속 장치이고, UPnP 디바이스 프록시 장치(101)는 제2 접속 장치이다. UPnP 디바이스 프록시 장치(103)는, 제1 네트워크(120)와 제2 네트워크(100)에 접속되고, UPnP 디바이스 프록시 장치(101)는, 제2 네트워크(100)와 제3 네트워크(105)에 접속된다.
본 형태에서는, 제1 네트워크(120)에 접속된 디바이스(110, 111, 112, 113)의 정보를 제3 네트워크(105)에 접속된 장치인 이용자 PC(102)에 통지한다. 즉, UPnP 디바이스 프록시 장치(103)는, 제1 네트워크(120)에 접속되어 있는 디바이스를 인식하고, 인식된 디바이스의 정보를 제2 네트워크(100)를 통하여 UPnP 디바이스 프록시 장치(101)에 송신한다. UPnP 디바이스 프록시 장치(101)는, UPnP 디바이스 프록시 장치(103)로부터 송신된 정보를 수신하고, 수신한 정보를 기초로, 인식된 디바이스가 이용 가능한 것을 나타내는 메시지를 제3 네트워크(105)에 송신한다.
또한, 본 형태에서는, 제1 네트워크(120)에 접속된 디바이스(예를 들면, 프린터(110))에 대한 메시지의 수신처 정보(URL)를 제3 네트워크(105)에 접속된 장치인 이용자 PC(102)에 통지한다. 즉, UPnP 디바이스 프록시 장치(103)는, 제1 네트워크(120)에 접속되어 있는 프린터(110)에 대한 메시지의 제1 수신처 정보(URL)를 취득하고, 취득한 제1 수신처 정보(URL)를 제2 네트워크(100)를 통하여 UPnP 디바이스 프록시 장치(101)에 송신한다. UPnP 디바이스 프록시 장치(101)는, UPnP 디바이스 프록시 장치(103)로부터 송신된 제1 수신처 정보(URL)를 수신하고, UPnP 디바이스 프록시 장치(101)의 식별자(IP 어드레스)에 프린터(110)에 대한 식별자(포트 번호)를 부가하여, 프린터(110)에 대한 메시지의 제2 수신처 정보(URL)를 생성하고, 생성한 제2 수신처 정보(URL)를 포함하는 메시지를 제3 네트워크에 송신한다.
또한, UPnP 디바이스 프록시 장치(101)는, 상기 제2 수신처 정보(URL)를 수신처로 하는 제1 송신 메시지를 이용자 PC(102)로부터 수신하면, 상기 제2 수신처 정보(URL)에 포함되는 상기 식별자(포트 번호)에 대응하는 상기 제1 수신처 정보(URL) 및 상기 제1 송신 메시지의 내용을 포함하는 제2 송신 메시지를 UPnP 디바이스 프록시 장치(103)에 송신한다. UPnP 디바이스 프록시 장치(103)는, UPnP 디바이스 프록시 장치(101)로부터 송신된 제2 송신 메시지를 수신하고, 상기 제1 송신 메시지의 내용을 포함하는 제3 송신 메시지를, 상기 제1 수신처 정보를 수신처로 하여 송신한다.
도 1의 이용자 PC(102)는, 이용자가 인터넷(100) 너머의 디바이스를 이용하 거나, 리소스를 열람하거나 하는 등의 여러가지 기능을 갖는 소위 컴퓨터로서, CPU, ROM, RAM, HDD 등으로 구성되는 컴퓨터 시스템이다.
본 실시예에서는, 설명을 간소화하기 위해 컴퓨터 시스템이 1대인 경우를 설명하지만, 이용자 PC(102)가 동일 세그먼트 내에 복수대 존재하는 경우도 마찬가지로 실시할 수 있다.
또한, 이용자 PC(102)측의 네트워크(105)와 UPnP 준거의 디바이스측의 네트워크(103)의 대응이 1 대 1이지만, 이는 실시예를 간소화하기 위한 편의상의 형태일 뿐이며, 1 대 n, n 대 n의 구성에서도 마찬가지로 실시할 수 있다.
〈컴퓨터 시스템 블록도〉
도 2는 본 발명의 일 실시 형태로서 예로 든 이용자 PC(102)의 컴퓨터 시스템의 구성을 도시하는 블록도이다.
도 2의 참조 번호 201은 정보 처리 장치의 제어를 담당하는 중앙 연산 장치(이하 CPU라고 함)이다.
참조 번호 202는 랜덤 액세스 메모리(이하 RAM이라고 함)이며, CPU(201)의 주메모리로서, 또한 실행 프로그램의 영역이나 해당 프로그램의 실행 에어리어 및 데이터 에어리어로서 기능한다.
참조 번호 203은 CPU(201)의 동작 처리 순서를 기억하고 있는 리드 온리 메모리(이하 ROM이라고 함)이다. ROM(203)에는 정보 처리 장치의 기기 제어를 행하는 시스템 프로그램인 기본 소프트(Operating System, 이하 OS라고 함)를 기록한 프로그램 ROM과, 시스템을 가동하기 위해 필요한 정보 등이 기록된 데이터 ROM이 있다. ROM(203) 대신에 후술하는 HDD(209)를 이용하는 경우도 있다.
참조 번호 204는 네트워크 인터페이스(NETIF)이며, 네트워크를 통하여 정보 처리 장치 간의 데이터 전송을 행하기 위한 제어나 접속 상황의 진단을 행한다.
참조 번호 205는 비디오 RAM(VRAM)으로, 정보 처리 장치의 가동 상태를 나타내는 후술하는 CRT(206)의 화면에 표시되는 화상을 전개하고, 그 표시의 제어를 행한다. 참조 번호 206은 표시 장치로서, 예를 들면 디스플레이 등이다. 이하 CRT라고 한다.
참조 번호 207은 후술하는 외부 입력 장치(208)로부터의 입력 신호를 제어하기 위한 컨트롤러이다. 참조 번호 208은 정보 처리 장치의 이용자가 정보 처리 장치에 대하여 행하는 조작을 접수하기 위한 외부 입력 장치로서, 예를 들면 키보드나 마우스 등의 포인팅 디바이스이며, 이하 간단히 KB라고 한다.
참조 번호 209는 하드디스크 드라이브(HDD)를 나타내며, 어플리케이션 프로그램이나 화상 정보 등의 데이터 보존용으로 이용된다. 본 실시예에서의 어플리케이션 프로그램이란, 본 실시예를 구성하는 각종 처리 수단을 실행하는 소프트웨어 프로그램 등이다.
참조 번호 210은 외부 입출력 장치로서, 예를 들면 플로피(등록상표) 디스크 드라이브, CDROM 드라이브 등의 리무버블 디스크를 입출력하는 것이며, 전술한 어플리케이션 프로그램의 매체로부터의 판독 등에 이용된다. 이하, 간단히 FDD라고 한다. 또한, HDD(209)에 저장하는 어플리케이션 프로그램이나 데이터를 FDD(210)에 저장하여 사용하는 것도 가능하다.
참조 번호 200은 전술한 각 유닛 간을 접속하기 위한 입출력 버스(어드레스 버스, 데이터 버스 및 제어 버스)이다.
〈디바이스 프록시 장치 블록도〉
도 3은 본 발명의 일 실시 형태로서 예로 든 디바이스 프록시 장치(101)의 구성을 도시하는 블록도이다. 디바이스 프록시 장치(101)는 컴퓨터 시스템에서 그 기능을 실현하는 형태와 그 전용의 기기로서 실장하는 형태가 존재하는데, 본 발명의 실시 형태에서는 쌍방의 방법 모두 실현 가능하다. 도 3에서는, 디바이스 프록시 장치(101)의 구성을 설명하지만, 디바이스 프록시 장치(103)도 마찬가지의 구성을 갖는다. 디바이스 프록시 장치(101, 103)를 컴퓨터 시스템에서 실현하는 형태에서는, 시스템 구성은, 도 2와 공통이며, 도 3은 소프트웨어 모듈의 구성을 도시한다.
UPnP 디바이스 프록시 장치(101)는 제어부(300), 해석부(301), 재생부(302), 디바이스부(303)로 구성된다.
제어부(300)는, 상기 해석부(301), 상기 재생부(302), 상기 디바이스부(303)를 제어하는 기능을 갖는다.
해석부(301)는, UPnP의 각 프로토콜 메시지를 수신, 해석하는 기능 및 XML 데이터를 처리하는 기능 및 디바이스의 IP 어드레스, 디바이스의 컨트롤 URL, 디바이스의 이벤트 URL 등을 기억하는 기능을 갖는다.
재생부(302)는, 디바이스의 상기 디바이스 디스크립션, 상기 서비스 디스크립션으로부터 가상 디바이스를 생성하는 기능을 갖는다.
디바이스부(303)는, 자신 즉 UPnP 디바이스 프록시 장치(101)가 UPnP 디바이스로서 작동하는 기능과 가상 디바이스로서 작동하는 기능을 갖는다. 도 1의 예에서는, 재생부(302)는, 프린터(110)로부터 디지털 비디오(113)의 4개의 각각에 대응하는 4개의 디바이스부(303)를 생성한다.
〈시스템 처리 전체의 흐름〉
본 발명의 실시 형태인 시스템의 처리 전체의 흐름을, 도 1을 이용하여 설명한다.
여기에서는, 간단하게 하기 위해, 네트워크(120)에는, UPnP 디바이스 프록시 장치(103) 이외에는 프린터(110)만이 접속되고, 이용자 PC(102)가 인터넷 등의 네트워크(100)를 통한 프린터(110)를 이용하는 장면을 상정한다. 여기에서는, 설명의 대표로서 프린터(110)를 이용하고 있지만, 이 대신에 디지털 카메라(111), 디지털 비디오 카메라(112), 스캐너(113) 등 그 외의 UPnP에 준거한 디바이스라면, 개개의 디바이스 특유의 기능을 제외한 처리는 마찬가지로 실현 가능하다.
우선, 이용자 PC(102)로부터 UPnP 디바이스 프록시 장치(101)를 발견하고, UPnP 디바이스 프록시 장치(101)에 대해, UPnP 디바이스 프록시 장치(103)로의 접속 요구를 행한다.
한편, 네트워크(120)에서는 SSDP(Simple Service Discovery Protocol, 이하, SSDP라고 함; SSDP는, UPnP에서 규정된 기기 발견 프로토콜임.)의 Alive 메시지(자신이 네트워크 상에서 이용 가능한 것을 아나운스(announce)하는 메시지)가 브로드캐스트되고 있고, 그들 메시지를 UPnP 디바이스 프록시 장치(103)는 항상 수신하 며, 그 수신한 메시지를 내부에서 보유하고 있다(이 메시지만으로도, 프린터(110)를 인식하고 있음).
또한, UPnP 디바이스 프록시 장치(101)로부터의 접속 요구를 수신한 시점에서, UPnP 디바이스 프록시 장치(103)는, SSDP의 서치 메시지를, 자신이 속하는 네트워크(120)에 송신하고, 응답을 기다린다. 응답이 있으면, 응답 메시지로부터 자신이 속하는 네트워크(120)에 접속되어 있는 UPnP 대응 디바이스의 정보를 취득한다. 여기에서는 프린터(120)를 인식한다.
UPnP 디바이스 프록시 장치(103)는, 이와 같이 취득한 프린터(110)의 디바이스, 서비스 디스크립션과 필요한 정보를 UPnP 디바이스 프록시 장치(101)에 SOAP로 송신한다.
앞에서 송신된 정보를 UPnP 디바이스 프록시 장치(101)가 수신하고, 수신한 정보를 기초로 UPnP의 기능을 갖는 가상 프린터(110V)를 작성한다. 가상 프린터(110V)(즉, UPnP 디바이스 프록시 장치(101)의 디바이스부(303))는, SSDP의 Alive 메시지를 네트워크(105)에 송신한다.
즉, 제1 접속 장치인 UPnP 디바이스 프록시 장치(103)는, 제1 네트워크(120)에 접속되어 있는 디바이스(110)를 인식하고, 인식된 디바이스의 정보를 제2 네트워크(100)를 통하여 제2 접속 장치인 UPnP 디바이스 프록시 장치(101)에 송신한다. UPnP 디바이스 프록시 장치(101)는, UPnP 디바이스 프록시 장치(103)로부터 송신된 정보를 수신하고, 수신한 정보를 기초로, 인식된 디바이스가 이용 가능한 것을 나타내는 메시지(Alive 메시지)를 제3 네트워크(105)에 송신한다.
이용자 PC(102)는 앞서 SSDP의 Alive 메시지를 수신하고, 가상 프린터(110V)를 발견한다. 또는, 이용자 PC(102)가 SSDP의 서치 메시지를 네트워크(105)에 송신하고, UPnP 디바이스 프록시 장치(101)로부터의 응답(인식된 기능을 갖는 디바이스가 이용 가능한 것을 나타내는 메시지)을 얻는다.
이용자 PC(102)는 브라우저 등으로부터 가상 프린터(110V)의 프리젠테이션 페이지를 열고, 인쇄를 요구한다. 또는, 전용 어플리케이션을 이용하여 UPnP에 규정되어 있는 컨트롤 프로토콜에 따라 인쇄를 요구한다.
인쇄 요구를 수신한 가상 프린터(110V)(즉, UPnP 디바이스 프록시 장치(101)의 디바이스부(303))는, UPnP 디바이스 프록시 장치(103)에 그 인쇄 요구를 송신한다.
인쇄 요구를 수신한 UPnP 디바이스 프록시 장치(103)는 프린터(110)에 그 메시지를 송신한다. UPnP 디바이스 프록시 장치(103)는, 앞에서의 인쇄 요구에 대한 응답을 프린터(110)로부터 수신하고, 그 메시지를 UPnP 디바이스 프록시 장치(101)에 송신한다.
앞에서의 인쇄 요구에 대한 응답을 수신한 UPnP 디바이스 프록시 장치(101)는, 그 메시지를 이용자 PC(102)에 송신한다.
이용자 PC(102)는, UPnP 디바이스 프록시 장치(101)에 대해 차단을 요구한다.
〈제1 실시예〉
이하, 제1 실시예에 있어서, 전술한 형태의 각 처리의 상세한 처리의 흐름 을, 전술한 것을 기초로 설명한다. 이하의 제1 실시예의 설명에 있어서, 시스템 전체 구성도, 컴퓨터 시스템 블록도, UPnP 디바이스 프록시 장치 블록도는, 도 1 내지 도 3과 공통이다. UPnP 디바이스 프록시 장치 간의 메시지 송수신은 SOAP를 이용하고 있고, 이하에 설명하는 UPnP 디바이스 프록시 장치 간의 메시지 송수신 전부에 적응된다.
〈해석부 모듈 구성과 기능〉
도 4는 본 발명의 일 실시 형태로서 예로 든 해석부(301)의 구성을 도시하는 모듈 구성도이다.
해석부(301)는, 컨트롤 모듈(400), 디바이스 디스커버리 리스너 모듈(401), HTTP 클라이언트 모듈(402), XML 처리 모듈(403), 디바이스 관리 모듈(404), 디스패치 모듈(405)로 구성된다.
컨트롤 모듈(400)은 상기 디바이스 디스커버리 리스너 모듈(401), HTTP 클라이언트 모듈(402), XML 처리 모듈(403), 디바이스 관리 모듈(404)의 제어와 각 모듈의 인터페이스로부터 데이터의 수신 등을 행하는 기능을 갖는다.
디바이스 디스커버리 리스너 모듈(401)은, SSDP의 메시지, 디바이스 검색 요구나 디바이스 아나운스를 수신하는 기능을 갖는다.
HTTP 클라이언트 모듈(402)은 HTTP(Hyper Text Transfer Protocol; 이하, HTTP라고 함)를 통하여 특정의 도큐멘트(document)를 취득하는 기능을 갖는다.
XML 처리 모듈(403)은 XML 데이터를 패스하는 기능이나 요소의 추출, 추가, 변경, 삭제 등을 행하는 기능을 갖는다.
디바이스 관리 모듈(404)은, 상기 디바이스 디스커버리 리스너 모듈(401)로부터 취득한 디바이스 정보를 관리하는 후술하는 디바이스 관리 테이블(500)을 갖고, 그 테이블에 대해 데이터의 검색, 추가, 변경, 삭제를 행하는 기능을 갖는다.
디스패치 모듈(405)은, 쌍으로 되는 상기 디바이스 프록시 장치(101)로부터 송신되어 오는 커맨드, 메시지를 수신하는 HTTP 서버 기능과 디바이스 컨트롤 커맨드, 이벤트 처리 커맨드를 실제 디바이스에 송신하는 기능 및 이벤트 메시지를 수신하는 기능을 갖는다.
〈디바이스 관리 테이블〉
도 5는, 본 실시예에서의 일 실시 형태로서 예로 든 상기 디바이스 관리 모듈(404)이 보유하는 디바이스 관리 테이블(500)의 개념도이다.
디바이스 관리 테이블(500)은, UDN 항목(501), DescURL 항목(502), LifeTime 항목(503)과 LatestTime 항목(504)으로 구성된다. 디바이스 관리 테이블(500)은, 각각의 항목에 대해, 검색, 판독·기입, 추가, 삭제 가능하게 되어 있고, 1개의 항목에 대해 그 외의 항목이 일의적으로 특정된다.
UDN 항목(501)은, 디바이스를 식별하는 식별자이며, 디바이스 디스크립션의 UDN 태그의 값을 저장한다. DescURL 항목(502)은, 디바이스가 보유하고 있는 디바이스 디스크립션의 URL이 저장된다.
LifeTime 항목(503)은, SSDP의 디바이스 아나운스에 있는 아나운스 유효 시간, 예를 들면, SSDP의 NOTIFY 커맨드의 HTTP 헤더 "CACHE-CONTROL: MAX-AGE"의 값을 저장한다. LatestTime 항목(504)은 각 디바이스가 SSDP의 Alive 메시지를 송신 한 마지막 시각을 저장한다.
〈재생부 모듈 구성과 기능〉
도 6은 본 발명의 일 실시 형태로서 예로 든 재생부(302)의 구성을 나타내는 모듈 구성도이다.
재생부(302)는 재생 컨트롤 모듈(600), 가상 디바이스 생성 모듈(601), HTTP 서버 모듈(602), XML 처리 모듈(603), 가상 디바이스 관리 모듈(604)로 구성된다.
재생 컨트롤 모듈(600)은 가상 디바이스 생성 모듈(601), HTTP 서버 모듈(602), XML 처리 모듈(603), 가상 디바이스 관리 모듈(604)의 제어와 각 모듈의 인터페이스로부터 데이터의 수신 등을 행하는 기능을 갖는다.
가상 디바이스 생성 모듈(601)은 디바이스, 서비스 디스크립션으로부터 가상 디바이스를 생성하는 기능을 갖는다.
HTTP 서버 모듈(602)은, 소위 HTTP 서버로서, 클라이언트로부터의 리퀘스트에 응답하여 도큐멘트 등을 제공하는 등의 기능을 갖는다.
XML 처리 모듈(603)은 상기 XML 처리 모듈(403)과 마찬가지의 기능을 갖는다.
가상 디바이스 관리 모듈(604)은, 실제 디바이스의 정보를 저장하는 후술하는 가상 디바이스 관리 테이블(700)을 갖고, 그 테이블에 대해 데이터의 검색, 추가, 변경, 삭제를 행하는 기능을 갖는다.
〈가상 디바이스 관리 테이블〉
도 7은, 본 실시예에서의 일 실시 형태로서 예로 든 가상 디바이스 관리 모 듈(604)이 보유하는 가상 디바이스 관리 테이블(700)의 개념도이다.
가상 디바이스 관리 테이블(700)은, UDN 항목(701), ControlURL 항목(702), eventSubURL 항목(703)과 CallBackURL 항목(704)으로 구성된다. 가상 디바이스 관리 테이블(700)은, 각각의 항목에 대해, 검색, 판독·기입, 추가, 삭제 가능하게 되어 있고, 1개의 항목에 대해 그 외의 CallBackURL 항목(704) 이외의 항목이 일의적으로 특정된다. 또한, 앞에서 한번에 특정된 레코드에 관련지어진 CallBackURL 항목(704)의 값이 1개 이상 특정된다.
UDN 항목(701)은 디바이스를 식별하는 식별자이며, 디바이스 디스크립션의 UDN 태그의 값을 저장한다.
ControlURL 항목(702)은, 실제 디바이스, 즉 원래의 디바이스의 컨트롤 커맨드를 접수하는 엔드 포인트의 URL을 저장한다. eventSubURL 항목(703)은, 실제 디바이스 즉 원래의 디바이스의 이벤트 서브스크라이브하는 엔드 포인트의 URL을 저장한다. CallBackURL 항목(704)은, 이벤트를 서브스크라이브한 이용자 PC(102)에 이벤트 메시지를 송신하기 위한 엔드 포인트의 URL을 저장한다.
〈디바이스부 모듈 구성과 기능〉
도 8은 본 발명의 일 실시 형태로서 예로 든 디바이스부(303)의 구성을 나타내는 모듈 구성도이다.
디바이스부(303)는 메인 컨트롤 모듈(801), HTTP 서버 모듈(802), HTTP 클라이언트 모듈(803), XML 처리 모듈(804), 이벤트 처리 모듈(805), 디바이스 컨트롤 모듈(806), 디스커버리 모듈(807)로 구성된다.
메인 컨트롤 모듈(801)은 HTTP 서버 모듈(802), HTTP 클라이언트 모듈(803), XML 처리 모듈(804), 이벤트 처리 모듈(805), 디바이스 컨트롤 모듈(806), 디스커버리 모듈(807)의 제어와 각 모듈의 인터페이스로부터 데이터의 수신 등을 행하는 기능을 갖는다. 또한, 자신의 디바이스 디스크립션, 서비스 디스크립션 및 프리젠테이션 도큐멘트를 보유하고, 그것을 제공하는 기능과, 외부 네트워크에 있는 UPnP 디바이스 프록시 장치(101)에 접속하기 위한 기능을 제공하는 기능을 갖는다.
HTTP 서버 모듈(802)은, 상기 HTTP 서버 모듈(802)과 마찬가지의 기능을 갖는다.
HTTP 클라이언트 모듈(803)은, 상기 HTTP 클라이언트 모듈(402)와 마찬가지의 기능을 갖는다.
XML 처리 모듈(804)은, 상기 XML 처리 모듈(403)과 마찬가지의 기능을 갖는다.
이벤트 처리 모듈(805)은, UPnP에서 규정되어 있는 디바이스 이벤트의 프로토콜 GENA(Generic Event Notification Architecture; 이하 GENA라고 함)를 만족시키는 기능을 갖고, 이벤트 서브스크라이브를 접수하여, 이용자 PC(102) 등에 이벤트를 발행하는 기능을 갖는다.
디바이스 컨트롤 모듈(806)은, UPnP에서 규정된 컨트롤 프로토콜인 SOAP(W3C XML Protocol Working Group을 참조) 메시지를 접수하고, 해석하여 그 커맨드에 따른 실제 처리 또는 가상 처리를 행하는 기능을 갖는다.
디스커버리 모듈(807)은 UPnP에서 규정된 기기 발견 프로토콜인 SSDP를 만족 시키는 기능을 갖고, Alive 아나운스, ByeBye 아나운스, 서치(검색)에 대한 응답 처리를 행하는 기능을 갖는다.
〈UPnP 디바이스 프록시 장치(101)의 발견〉
UPnP 디바이스 프록시 장치(101) 자체 UPnP 대응 디바이스로서 실장되어 있고, UPnP가 규정하고 있는 프로세스에서 동일 네트워크(105) 내의 외부 디바이스로부터 발견하여, 이용 가능하게 되어 있다.
이용자 PC(102)가 UPnP 디바이스 프록시 장치(101)를 발견하는 방법으로서, UPnP 디바이스 프록시 장치(101)가 발행하는 SSDP의 Alive 메시지를 수신하는 방법과, 이용자 PC(102)가 SSDP의 서치 메시지를 네트워크(105)에 송신하고, 그 메시지에 UPnP 디바이스 프록시 장치(101)가 응답을 회답하는 2개의 방법이 있다. 이는 UPnP가 규정하고 있는 Discovery의 프로토콜에 의한 것이다.
이용자 PC(102)에서, 상기의 발견하는 수단으로서, Microsoft사의 OS인 Windows(등록상표) XP는 표준으로 UPnP의 클라이언트 기능을 실장하고 있고, 이용자 PC(102)가 상기 OS를 사용하고 있는 경우, SSDP의 Alive 메시지의 수신, SSDP 서치의 송신 등을 자동으로 행한다. 또한, 상기의 발견 프로세스를 행하는 전용 어플리케이션을 작성함으로써 발견하는 수단으로서 이용하는 것도 가능하다.
본 발명의 실시예에서는, 상기의 Windows(등록상표) XP를 이용자 PC(102)가 OS로서 이용하고 있는 것으로 하여 설명을 한다.
상기의 발견 프로세스가 종료하면 Explore(Microsoft사 제품)의 "마이 네트워크" 폴더에 UPnP 디바이스 프록시 장치(101)를 나타내는 아이콘이 표시된다.
상기 아이콘을 더블 클릭하면, InternetExplore(Microsoft사 제품) 등의 브라우저가 기동하고, 접속처를 입력하는 텍스트 입력 에어리어를 포함하는 페이지가 표시된다.
〈UPnP 디바이스 프록시 장치 접속 처리〉
상기 브라우저의 텍스트 입력 에어리어에 UPnP 디바이스 프록시 장치(103)의 IP 어드레스 또는 호스트명을 입력하고, 접속 버튼을 누른다. 상기 접속 버튼을 누름으로써 상기 브라우저로부터 UPnP 디바이스 프록시 장치(101)에 접속 요구 메시지가 송신된다.
상기 접속 요구 메시지를 UPnP 디바이스 프록시 장치(101)의 HTTP 서버 모듈(802)이 수신한다. 수신한 메시지로부터 메인 컨트롤 모듈(801)이 상기 브라우저로부터 입력된 접속처(UPnP 디바이스 프록시 장치(103))의 IP 어드레스 또는 호스트명을 취득한다.
메인 컨트롤 모듈(801)은 HTTP 클라이언트 모듈(803)을 통하여 도 9와 같은 오퍼레이션명 connect, 그 인수로서 UPnP 디바이스 프록시 장치(101)의 IP 어드레스 또는 호스트명을 기록한 SOAP 메시지를 UPnP 디바이스 프록시 장치(103)에 송신한다.
상기 접속 요구 SOAP 메시지를 UPnP 디바이스 프록시 장치(103)의 HTTP 서버 모듈(802)이 수신한다. 수신한 메시지를 XML 처리 모듈(804)에서 처리하고, 앞의 UPnP 디바이스 프록시 장치(101)의 IP 어드레스 또는 호스트명을 취득하여, 그것을 메인 컨트롤 모듈(801)이 제어부(300)에 인도하고, 해석부(301)의 컨트롤 모 듈(400)에 인도한다.
또한, UPnP 디바이스 프록시 장치(101)의 메인 컨트롤 모듈(801)은, 먼저 수신한 상기 접속 요구 SOAP 메시지의 응답으로서, 도 10과 같은, 복귀값으로서 UPnP 디바이스 프록시 장치(103)의 IP 어드레스 또는 호스트명을 기록한 SOAP Response 메시지를, HTTP 클라이언트 모듈(803)을 통하여 UPnP 디바이스 프록시 장치(101)에 회신한다.
〈UPnP 디바이스 정보 수집〉
상기의 접속 처리 종료 후, UPnP 디바이스 프록시 장치(103)는 자신이 속하는 네트워크(120)에 접속되어 있는 UPnP 대응 디바이스의 검색을 개시한다.
해석부(301)의 컨트롤 모듈(400)이 XML 처리 모듈(403)을 이용하여 SSDP의 서치 메시지를 작성하고, HTTP 클라이언트 모듈(402)을 통하여 네트워크(120)에 송신하여 응답을 기다린다. 이 작업은 적당한 간격을 두고 UPnP 디바이스 프록시 장치(101)로부터의 차단 요구가 이루어질 때까지 반복된다.
이 반복에 있어서, UPnP 대응 디바이스로부터의 응답이 있었던 경우, HTTP 클라이언트 모듈(402)은, 상기 응답 메시지를 수신하고, 컨트롤 모듈(400)에 인도한다.
전술한 작업과 병행하여 디바이스 디스커버리 리스너 모듈(401)은 SSDP의 NOTIFY 메시지를, 네트워크(120)를 통하여 수신할 준비를 행한다. UPnP 대응 디바이스는, SSDP의 NOTIFY 메시지를, 일정 시간 간격으로 네트워크에 브로드캐스트하고 있다. 상기와 마찬가지로 UPnP 디바이스 프록시 장치(101)로부터의 차단 요구 가 이루어질 때까지 수신 작업을 계속한다. 상기 NOTIFY 메시지를 수신한 디바이스 디스커버리 리스너 모듈(401)은 그 메시지를 컨트롤 모듈(400)에 인도한다.
UPnP 디바이스 프록시 장치(103)는, 서치 메시지에 대한 응답, 또는, NOTIFY 메시지로부터, 디바이스에 관한 정보를 취득한다.
이하에, NOTIFY 메시지의 일례를 기술한다.
NOTIFY*HTTP/1.1
HOST:239.255.255.250:1900
CACHE-CONTROL:max-age=30
LOCATION:http://192.168.1.11/printer/devicedsc.xml
NT:urn:schemas-upnp-org:printbasic:1
NTS:ssdp:alive
USN:uuid:upnp-printbasic111
전술한 상기 응답, NOTIFY 메시지를 수신한 컨트롤 모듈(400)은, 상기 메시지로부터 디바이스 디스크립션의 URL(LOCATION 헤더의 값이 디바이스 디스크립션의 URL임), UDN(USN 헤더의 값이 UDN임), NTS 헤더의 값 및 CACHE-CONTORL의 값을 취득한다. UPnP 디바이스 프록시 장치(103)는, 서치 메시지에 대한 응답으로부터도 이들 정보를 취득할 수 있다. 상기 디바이스 디스크립션의 URL, UDN, NTS 헤더의 값 및 CACHE-CONTORL의 값을 디바이스 관리 모듈(404)에 인도한다.
상기 값을 취득한 디바이스 관리 모듈(404)은 UDN의 값을 키로 하여 디바이스 관리 테이블(500)을 검색한다. 전술한 검색에서 해당하는 레코드가 존재하고, 또한 NTS 헤더의 값이 "SSDP:ALIVE"인 경우, 현재의 시각으로 LatestTime(504)의 값을 갱신한다. 레코드가 존재하고, 또한 NTS 헤더의 값이 "SSDP:BYEBYE"인 경우, 해당 레코드를 삭제한다.
또한, 전술한 검색에서 해당하는 레코드가 존재하지 않았던 경우, 디바이스 디스크립션의 URL, UDN, CACHE-CONTORL의 값, 현재의 시각을 각각 테이블(500)의 참조 번호 502, 501, 503, 504에 삽입한다.
이상과 같이, 제1 접속 장치인 UPnP 디바이스 프록시 장치(103)는, 제1 네트워크(120)에 접속되어 있는 디바이스를 인식한다. 또한, 제1 접속 장치인 UPnP 디바이스 프록시 장치(103)는, 제1 네트워크(120)에 접속되어 있는 디바이스에 대한 메시지의 수신처 정보(디바이스 디스크립션의 URL)를 취득한다.
〈UPnP 디바이스 정보 전송〉
전술한 작업후, 디바이스 관리 모듈(404)은, 전술한 레코드가 존재하고, 또한 NTS 헤더의 값이 "SSDP:BYEBYE"인 경우, 오퍼레이션명 "byebye", 그 인수로서 상기 취득한 UDN의 값을 이용하여 도 11과 같은 SOAP 메시지를 작성한다.
또한, 전술한 해당하는 레코드가 존재하지 않았던 경우, 상기 디바이스 디스크립션의 URL(도 5의 참조 번호 502의 값)로부터 디바이스, 서비스 디스크립션을 HTTP 클라이언트 모듈(402)을 통하여 취득하고, 전술한 레코드에 삽입한 쌍방의 값을 이용하여 도 12와 같은 오퍼레이션명 "remoteAlive", 그 인수로서 상기 UDN(도 5의 참조 번호 501의 값)과 UPnP 디바이스 프록시 장치(103)의 IP 어드레스 또는 호스트명, 그 어태치먼트로서 상기 취득한 디바이스, 서비스 디스크립션을 첨부한 SOAP 메시지를 작성한다. 또한, URLBase 태그의 요소를 상기 취득한 디바이스 디스크립션의 URL을 기초로 생성하고, 이 SOAP 메시지의 어태치먼트에 포함한다. URLBase에 대해서는 후술한다. 상기 작성한 메시지를 UPnP 디바이스 프록시 장치(101)에 송신한다. 여기에서, 디바이스 디스크립션은 디바이스에 관한 정보이며, UPnP에서 규정하고 있는 디바이스 타입, 메이커명, 모델명, 시그널 넘버 등이다. 서비스 디스크립션은 그 디바이스가 제공하고 있는 서비스(프린터라면 프린트 등)의 인터페이스의 기술이다. 이러한 정보는, 디바이스 디스크립션의 URL로부터 취득된다.
이상과 같이, 제1 접속 장치인 UPnP 디바이스 프록시 장치(103)는, 제1 네트워크(120)에 접속되어 있는 디바이스(예를 들면, 프린터(110))를 인식하고, 인식된 디바이스의 정보를 제2 네트워크(100)를 통하여 제2 접속 장치인 UPnP 디바이스 프록시 장치(101)에 송신한다. 이 인식에서는, 디바이스(예를 들면, 프린터(110))로부터의 메시지(서치 메시지에 대한 응답 메시지, 또는, NOTIFY 메시지)로부터, 디바이스가 보유하고 있는 디바이스 디스크립션의 저장 장소의 정보(URL)를 취득한다. 그리고, 그 디바이스 디스크립션의 저장 장소의 정보(URL)로부터 디바이스의 정보(디바이스, 서비스 디스크립션)를 취득한다. 이 디바이스의 정보의 일례는, 그 디바이스의 타입이며, 다른 예는 그 디바이스가 제공하고 있는 서비스 또는 기능(예를 들면, 프린트 등)이다.
또한, 제1 접속 장치인 UPnP 디바이스 프록시 장치(103)는, 제1 네트워크(120)에 접속되어 있는 디바이스(예를 들면, 프린터(110))에 대한 메시지의 수신 처 정보(URLBase)를 취득하고, 취득한 수신처 정보(URLBase)를 제2 네트워크(100)를 통하여 제2 접속 장치인 UPnP 디바이스 프록시 장치(101)에 송신한다.
상기 작업 메시지 작성, 메시지 송신은, 전술한 정보 수집 작업과 쌍으로 반복하여 행해진다.
〈가상 UPnP 디바이스의 생성, 소멸〉
전술한 UPnP 디바이스 프록시 장치(103)로부터 송신되어 온 상기 SOAP 메시지를 UPnP 디바이스 프록시 장치(101)의 HTTP 서버 모듈(602)이 수신한다. 즉, HTTP 서버 모듈(602)은, 제2 네트워크(100)에 접속되는 제1 접속 수단으로서, 제1 네트워크(120)에 접속되어 있는 디바이스(예를 들면, 프린터(110))에 대한 메시지의 제1 수신처 정보(URLBase)를, 접속 장치인 UPnP 디바이스 프록시 장치(103)로부터 제2 네트워크(100)를 통하여 수신한다.
수신한 상기 SOAP 메시지를 재생 컨트롤 모듈(600)에 인도하고, 재생 컨트롤 모듈(600)은 XML 처리 모듈(603)에서 상기 메시지를 처리한다. 처리 결과로부터 재생 컨트롤 모듈(600)은, 상기 SOAP 메시지의 오퍼레이션명, 그 인수 부분 등을 추출한다.
오퍼레이션명이 "byebye"였던 경우, 재생 컨트롤 모듈(600)은 가상 디바이스 관리 모듈(604)에 상기 SOAP 메시지의 인수값인 UDN을 인도한다. 상기 UDN만 수취한 가상 디바이스 관리 모듈(604)은 가상 디바이스 관리 테이블(700)을, 상기 UDN을 키로 하여 검색하고, 해당 레코드를 삭제한다. 또한, 생성된 가상 디바이스에 대해 SSDP:BYEBYE 메시지를 발행하는 처리 요구를 제어부(300)에 보낸다. 제어 부(300)는, 메인 컨트롤 모듈(801)에, 상기 UDN을 인수로 하는 SSDP:BYEBYE를 발행하도록 디스커버리 모듈(807)에 지시한다. 지시받은 디스커버리 모듈(807)은, 상기 UDN을 인수로 하는 SSDP:BYEBYE 메시지(상기 UDN의 디바이스가 이용 불가인 것을 알리기 위한 메시지)를 네트워크(105)에 송신한다. 그 후 컨트롤 모듈(801)은 자신의 프로세스를 종료한다.
오퍼레이션명이 "remoteAlive"였을 경우, 재생 컨트롤 모듈(600)은 가상 디바이스 관리 모듈(604)에 상기 SOAP 메시지(도 12)의 인수 값인 UDN, UPnP 디바이스 프록시 장치(103)의 IP 어드레스 또는 호스트명, 디바이스, 서비스 디스크립션을 인도한다.
전술한 값을 받은 가상 디바이스 관리 모듈(604)은, XML 처리 모듈(603)에 의해, 디바이스 디스크립션으로부터 "ContorolURL"태그, "eventSubURL"태그값을 추출한다. 상기 추출한 값을 가상 디바이스 관리 테이블(700)의 참조 번호 702, 703에, UDN을 가상 디바이스 관리 테이블(700)의 참조 번호 701에 삽입한다. 또한 이하와 같이 태그의 요소를 개서하여, 도 13에 나타내는 바와 같은 정보를 작성한다.
"friendlyName" 태그는 본래의 값(도 12에 나타낸 오퍼레이션명 "remoteAlive" 메시지에 포함되는 값)에 UPnP 디바이스 프록시 장치(103)의 IP 어드레스 또는 호스트명과 "."를 붙인 값이고, friendlyName은 디바이스의(인간이 판독 가능한) 이름을 표시한다.
"URLBase" 태그는 UPnP 디바이스 프록시 장치(101)의 IP 어드레스와 포트 번호를 조합한 URL. URLBase는 디바이스에 액세스하기 위한 기본으로 되는 URL이다. 이 포트 번호는, UDN(디바이스를 식별하는 식별자)에 대응하여, UPnP 디바이스 프록시 장치(101)는, 이 포트 번호에 의해 대상으로 되는 디바이스를 식별한다.
"SCPDURL" 태그는 "/service/service.xml". SCPDURL은 디바이스가 제공하고 있는 서비스가 기술되어 있는 XML 파일을 나타내는 URL이다. "ControlURL" 태그는 "/control". "eventSubURL"태그는 "/event".
가상 디바이스 관리 모듈(604)은, 상기 서비스 디스크립션으로부터 프리젠테이션 페이지를 작성하고, 상기 개서한 디바이스 디스크립션과 상기 서비스 디스크립션을 이용하여 디바이스부 프로세스를 신규로 작성한다.
생성된 디바이스부의 메인 컨트롤 모듈(801)은 SSDP:ALIVE 메시지를 네트워크(105)에 송신한다. SSDP:ALIVE 메시지는, 〈UPnP 디바이스 정보 수집〉에서 기술한 NOTIFY 메시지와 마찬가지로, 디바이스 디스크립션의 URL(LOCATION 헤더의 값), UDN(USN 헤더의 값이 UDN임), NTS 헤더의 값(SSDP:ALIVE) 및 CACHE-CONTORL의 값을 포함한다. 이 디바이스 디스크립션의 URL은, 상기와 같이 개서한 URLBase의 값을 포함한다. 또한, CACHE-CONTORL의 값은, 소정의 값(예를 들면, 20초)이다.
즉, 메인 컨트롤 모듈(801)은, 제3 네트워크(105)에 접속되어, 소정의 수신처(UPnP 디바이스 프록시 장치(101)의 IP 어드레스)로의 메시지를 수신하는 제2 접속 수단이다. 또한, 가상 디바이스 관리 모듈(604)은, 상기 소정의 어드레스(UPnP 디바이스 프록시 장치(101)의 IP 어드레스)에 상기 디바이스에 대한 식별자(포트 번호)를 부가하고, 상기 디바이스에 대한 메시지의 제2 수신처 정보(URLBase)를 생성하는 생성 수단이다. 메인 컨트롤 모듈(801)은, 생성한 제2 수신처 정보를 포함 하는 메시지를 제3 네트워크에 송신한다.
이상과 같이, 제2 접속 장치인 UPnP 디바이스 프록시 장치(101)는, 제1 접속 장치인 UPnP 디바이스 프록시 장치(103)로부터 송신된 정보를 수신하고, 수신한 정보를 기초로, 인식된 디바이스가 이용 가능한 것을 나타내는 메시지(SSDP:ALIVE 메시지)를 제3 네트워크(105)에 송신한다. 이 메시지는, 디바이스 디스크립션의 저장 장소의 정보(URL)를 포함한다. 이 저장 위치의 정보(URL)는, UPnP 디바이스 프록시 장치(101)의 식별 정보(IP 어드레스)와 디바이스를 식별하는 식별자(포트 번호)를 조합하여 생성되고 있다(URLBase).
또한, 제2 접속 장치인 UPnP 디바이스 프록시 장치(101)는, 제1 접속 장치인 UPnP 디바이스 프록시 장치(103)로부터 송신된 제1 수신처 정보(URLBase)를 수신하고, UPnP 디바이스 프록시 장치(101)의 식별자(IP 어드레스)에 디바이스(예를 들면, 프린터(110))에 대한 식별자(포트 번호)를 부가하여, 상기 디바이스에 대한 메시지의 제2 수신처 정보(URLBase)를 생성하고, 생성한 제2 수신처 정보(URLBase)를 포함하는 메시지(SSDP:ALIVE 메시지)를 제3 네트워크에 송신한다. 또한, 제2 수신처 정보는, UPnP 디바이스 프록시 장치(101)의 IP 어드레스와 포트 번호를 조합한 URL이다.
〈디바이스부 디바이스 컨트롤 모듈과 이벤트 처리 모듈〉
디바이스 컨트롤 모듈(806)은 앞에서도 설명하였지만, UPnP 클라이언트로부터의 컨트롤 리퀘스트를 받아 실제 디바이스의 조작을 행한다. 그러나 여기에서 신규로 생성되는 디바이스는 가상 디바이스(110V)로서 실제 디바이스(110)에 상기 컨트롤 리퀘스트를 전송하는 처리를 행한다.
또한 마찬가지로, 이벤트 처리 모듈도 실제 디바이스(110)에 이벤트의 서브스크라이브, 이벤트 발행의 전송을 행한다.
전술과 같은 실장은 각종 실제 디바이스의 기능에 의하지 않기 때문에 범용적인 전송 처리를 행하도록 프로그램되어 있다.
〈디바이스의 컨트롤〉
이용자 PC(102)는, 상기와 같이, SSDP:ALIVE 메시지 등에 의해 발견한 가상 디바이스(예를 들면, 가상적인 프린터(110))를 제어할 수 있다. 이용자 PC(102)는, 이 가상 디바이스를, SSDP:ALIVE 메시지에 포함되어 있던 URLBase를 이용하여 특정한다.
이용자 PC(102)로부터 디바이스의 컨트롤 리퀘스트를 받은 UPnP 디바이스 프록시 장치(101)의 HTTP 서버 모듈(802)은 디바이스 컨트롤 모듈(806)에 상기 리퀘스트를 인도한다. 이 컨트롤 리퀘스트의 수신처는, URLBase를 포함하고, UPnP 디바이스 프록시 장치(101)는, 이 URLBase에 포함되는 포트 번호에 의해, 제어 대상으로 되는 가상 디바이스를 특정하여, 대응하는 디바이스부(303)가 이 컨트롤 리퀘스트를 수취하고 처리한다.
상기 리퀘스트를 수취한 디바이스 컨트롤 모듈(806)은 자신의 UDN(URLBase에 포함되는 포트 번호에 대응하는 UDN)을 키로 하여 제어부(300) 경유로 가상 디바이스 관리 모듈(604)에 상기 UDN의 ContorolURL의 검색을 의뢰한다. 검색 의뢰를 받은 가상 디바이스 관리 모듈(604)은 가상 디바이스 관리 테이블(700)을 상기 UDN으 로 검색한다. 해당하는 레코드로부터 ControlURL 항목(702)의 값을 추출하여, 제어부(300) 경유로 디바이스 컨트롤 모듈(806)에 제공한다.
상기 ControlURL의 값을 수취한 디바이스 컨트롤 모듈(806)은, 도 14와 같은 오퍼레이션명 "control", 그 인수값을 상기 ControlURL의 값(URLBase가 부가된 값)으로 하고, 상기 리퀘스트를 첨부한 SOAP 메시지를 작성하여, HTTP 클라이언트 모듈(803) 경유로 UPnP 디바이스 프록시 장치(103)에 송신한다.
즉, 제2 접속 장치인 UPnP 디바이스 프록시 장치(101)는, 제2 수신처 정보(URLBase)를 수신처로 하는 제1 송신 메시지(컨트롤 리퀘스트)를 제3 네트워크(105)에 접속된 장치인 이용자 PC(102)로부터 수신하면, 상기 제2 수신처 정보(URLBase)에 포함되는 상기 식별자(포트 번호)에 대응하는 상기 제1 수신처 정보(URLBase) 및 상기 제1 송신 메시지(컨트롤 리퀘스트)의 내용을 포함하는 제2 송신 메시지(SOAP 메시지)를 제1 접속 장치인 UPnP 디바이스 프록시 장치(103)에 송신한다. 제2 수신처 정보는, UPnP 디바이스 프록시 장치(101)의 IP 어드레스와 포트 번호를 조합한 URL이다.
상기 SOAP 메시지를 받은 UPnP 디바이스 프록시 장치(103)의 해석부(301)의 디스패치 모듈(405)은 XML 처리 모듈(403)을 이용하여 처리하고, 오퍼레이션의 인수와 첨부 메시지(이용자 PC(102)로부터의 컨트롤 리퀘스트)를 취득한다.
디스패치 모듈(405)은, HTTP 클라이언트 모듈(402) 경유로 상기 인수의 URL에 상기 첨부 메시지를 SOAP 메시지로 하여 송신한다. 즉, 제1 접속 장치인 UPnP 디바이스 프록시 장치(103)는, 제2 접속 장치 UPnP 디바이스 프록시 장치(101)로부 터 송신된 제2 송신 메시지(SOAP 메시지)를 수신하고, 상기 제1 송신 메시지(컨트롤 리퀘스트)의 내용을 포함하는 제3 송신 메시지(SOAP 메시지)를, 상기 제1 수신처 정보(URLBase)를 수신처로 하여, 송신한다.
상기 SOAP 메시지의 응답을 대기하여 수신한 후, 디스패치 모듈(405)은 오페레이션 "control"의 SOAP 응답을 작성하고, 실제 디바이스의 컨트롤 응답을 첨부로 하여 UPnP 디바이스 프록시 장치(101)에 응답한다.
상기 SOAP 응답을 수신한 UPnP 디바이스 프록시 장치(101)의 디바이스부(303)의 디바이스 컨트롤 모듈(806)은, 상기 SOAP 응답 메시지로부터 상기 첨부 메시지를, XML 처리 모듈(804)을 이용하여 추출하고, SOAP 응답으로서 이용자 PC(102)에 응답한다.
〈디바이스 이벤트 서브스크라이브〉
이용자 PC(102)로부터 디바이스의 이벤트 서브스크라이브 리퀘스트를 받은 UPnP 디바이스 프록시 장치(101)의 HTTP 서버 모듈(802)은, 이벤트 처리 모듈(805)에 이벤트 서브스크라이브 리퀘스트의 HTTP 헤더에 포함되는 CALLBACK의 값을 인도한다.
상기 CALLBACK의 값을 수취한 이벤트 처리 모듈(805)은 자신의 UDN을 키로 하여 제어부(300) 경유로 가상 디바이스 관리 모듈(604)에 상기 UDN의 CallBackURL의 항목에 상기 CALLBACK의 값을 삽입하도록 의뢰한다.
의뢰를 받은 가상 디바이스 관리 모듈(604)은 가상 디바이스 관리 테이블(700)을 상기 UDN으로 검색한다. 해당하는 레코드 CallBackURL 항목(704)에 상 기 CALLBACK의 값을 삽입한다. 또한, 상기 해당 레코드의 eventSubURL 항목(703)의 값을 취득한다.
상기 eventSubURL 항목(703)의 값을 수취한 이벤트 처리 모듈(805)은, 도 15와 같은 오퍼레이션명 "eventSub", 그 인수값을 상기 UDN, 상기 eventSubURL 항목(703)의 값으로 한 SOAP 메시지를 작성하고, HTTP 클라이언트 모듈(803) 경유로 UPnP 디바이스 프록시 장치(103)에 송신한다.
상기 SOAP 메시지를 받은 UPnP 디바이스 프록시 장치(103)의 해석부(301)의 디스패치 모듈(405)은 XML 처리 모듈(403)을 이용하여 처리하고, 오퍼레이션의 인수를 취득한다.
디스패치 모듈(405)은, HTTP 클라이언트 모듈(402) 경유로 상기 인수의 URL에 UPnP 규정의 이벤트 서브스크라이브 메시지를 송신한다. 그때, CALLBACK 헤더의 값을 상기 인수의 UDN을 이용하여, http://192.168.1.21:8022/ uuid:hogeprinter000/event와 같이 설정한다.
디스패치 모듈(405)은 SOAP 응답을 UPnP 디바이스 프록시 장치(101)에 송신한다.
〈디바이스 이벤트 처리〉
실제 디바이스(110)로부터 이벤트가 보고되어 온 경우, UPnP 디바이스 프록시 장치(103)의 디스패치 모듈(405)이 그것을 수신하고, 수신한 디렉토리명으로부터 디바이스 UDN을 추출하여, 오퍼레이션명 "event", 인수로서 상기 UDN와 디바이스(110)로부터 보고된 이벤트의 메시지를 첨부하고, 도 16과 같은 SOAP 메시지를 작성하고, 상기 작성한 SOAP 메시지를 UPnP 디바이스 프록시 장치(101)에 송신한다.
상기 SOAP 메시지를 UPnP 디바이스 프록시 장치(101)의 HTTP 서버 모듈(602)이 수신하고, XML 처리 모듈(603)에서 처리한다. 처리한 결과로부터, UDN과 첨부 메시지를 재생 컨트롤 모듈(600)이 취득한다.
재생 컨트롤 모듈(600)은 상기 UDN을 키로 하여 제어부(300) 경유로 가상 디바이스 관리 모듈(604)에 상기 UDN의 CallBackURL 항목의 값을 취득하도록 의뢰한다.
의뢰를 받은 가상 디바이스 관리 모듈(604)은 가상 디바이스 관리 테이블(700)을 상기 UDN으로 검색한다. 해당하는 레코드 CallBackURL 항목(704)으로부터 값을 취득한다.
재생 컨트롤 모듈(600)은, 제어부(300) 경유로 상기 CallBackURL 항목의 값을 취득하고, 그 값에 대해 상기 SOAP의 첨부 메시지를 송신한다.
〈제2 실시예〉
전술한 설명에 있어서, UPnP 디바이스 프록시 장치 접속 처리에서 상기 브라우저의 텍스트 입력 에어리어에 UPnP 디바이스 프록시 장치(103)의 IP 어드레스 또는 호스트명을 입력했지만, 도 17과 같이 네트워크(100)상에 부설한 상기 UPnP 디바이스 프록시 장치 등록 서버(2001)를 이용하여, UPnP 디바이스 프록시 장치 접속 처리를 달성하는 것도 가능해진다.
〈UPnP 디바이스 프록시 장치 등록 서버의 모듈 구성과 기능〉
도 18은 본 발명의 일 실시 형태로서 예로 든 UPnP 디바이스 프록시 장치 등록 서버(2001)의 구성을 도시하는 모듈 구성도이다.
UPnP 디바이스 프록시 장치를 등록, 관리, 또한 그 정보 제공을 하는 UPnP 디바이스 프록시 장치 등록 서버(2001)는, 등록 컨트롤 모듈(2100), HTTP 서버 모듈(2101), 테이블 관리 모듈(2102), XML 처리 모듈(2103)로 구성된다.
등록 컨트롤 모듈(2100)은 상기 HTTP 서버 모듈(2101), 테이블 관리 모듈(2102), 페이지 생성 모듈(2103)의 제어와 각 모듈의 인터페이스로부터 데이터의 수신 등을 행한다.
HTTP 서버 모듈(2101)은 HTTP 서버 모듈(602)과 마찬가지의 기능을 갖는다.
테이블 관리 모듈(2102)은, UPnP 디바이스 프록시 장치의 정보를 관리하는 후술하는 UPnP 프록시 관리 테이블(2200)을 갖고, 그 테이블에 대해 데이터의 검색, 추가, 변경, 삭제를 행하는 기능을 갖는다.
XML 처리 모듈(2103)은, 상기 XML 처리 모듈(403)과 마찬가지의 기능을 갖는다.
〈UPnP 프록시 관리 테이블〉
도 19는, 본 실시예에서의 일 실시 형태로서 예로 든 테이블 관리 모듈(2102)이 보유하는 UPnP 프록시 관리 테이블(2200)의 개념도이다.
UPnP 프록시 관리 테이블(2200)은, HostName 항목(2201), IpAddress 항목(2202), Place 항목(2203)과 Comment 항목(2204)으로 구성된다. UPnP 프록시 관리 테이블(2200)은, 각각의 항목에 대해, 검색, 판독·기입, 추가, 삭제 가능하게 되어 있다.
HostName 항목(2201)은, UPnP 디바이스 프록시 장치의 호스트명을 저장한다. IP Address 항목(2202)은, UPnP 디바이스 프록시 장치의 IP 어드레스를 저장한다. Place 항목(2203)은, UPnP 디바이스 프록시 장치의 설치 장소 등의 정보를 저장한다. Comment 항목(2204)은, UPnP 디바이스 프록시 장치 임의의 정보 등을 저장한다.
〈UPnP 디바이스 프록시 등록〉
상기 UPnP 디바이스 프록시 장치(101)를 등록하는 처리의 흐름을 설명한다.
Explore(Microsoft사 제품)의 "마이 네트워크" 폴더에 UPnP 디바이스 프록시 장치(101)를 나타내는 아이콘을 더블 클릭하면, Internet Explore(Microsoft사 제품) 등의 브라우저가 기동하여 도 20과 같은 페이지가 표시된다.
이용자 PC(102)의 이용자는 프록시 등록의 장소와 코멘트의 텍스트 입력 에어리어에 적당한 정보를 입력하고, 등록 버튼을 누른다. 이용자 PC(102)의 이용자가 상기 등록 버튼을 누름과 동시에 이용자 PC(102)는 메시지를 송신하고, UPnP 디바이스 프록시 장치(101)의 HTTP 서버 모듈(802)이 상기 메시지를 수신한다.
상기 메시지로부터 메인 컨트롤 모듈(801)은 상기 이용자가 입력한 상기 장소와 코멘트를 취득하고, 자신의 호스트명, IP 어드레스를 취득하여, 오퍼레이션명 "registration", 그 인수로서 상기 장소, 상기 코멘트, 상기 호스트명과 상기 IP 어드레스를 이용하여 도 21과 같은 SOAP 메시지를 작성한다. 상기 SOAP 메시지를, HTTP 클라이언트 모듈(803)을 통하여 UPnP 디바이스 프록시 장치 등록 서버(2001) 에 송신한다.
상기 SOAP 메시지를 HTTP 서버 모듈(2101)이 수신하고, XML 처리 모듈(2103)에서 처리한다. 상기 SOAP 메시지의 처리 결과로서, 등록 컨트롤 모듈(2100)은 UPnP 디바이스 프록시 장치(101)의 호스트명, IP 어드레스, 상기 이용자가 입력한 Place의 값, Comment의 값을 취득한다. 상기 취득한 값을 테이블 관리 모듈(2102)에 수신하고, 테이블 관리 모듈(2102)은 UPnP 프록시 관리 테이블(2200)에 삽입한다. 삽입 후, 등록 컨트롤 모듈(2100)은 SOAP 응답을 UPnP 디바이스 프록시 장치(101)에 송신한다.
SOAP 응답을 수신한, UPnP 디바이스 프록시 장치(101)의 HTTP 클라이언트 모듈(803)은, 상기 SOAP 응답 메시지를 메인 컨트롤 모듈(801)에 인도하고, XML 처리 모듈(804)에서 처리한다. 처리 결과로부터 그 뜻을 전하는 페이지를 이용자 PC의 브라우저에 표시한다.
〈UPnP 디바이스 프록시 장치 등록 서버를 사용한 접속〉
상기 UPnP 디바이스 프록시 장치 등록 서버를 사용한 접속 처리의 흐름을 설명한다.
이용자 PC(102)에 있어서, Explore(Microsoft사 제품)의 "마이 네트워크" 폴더에 UPnP 디바이스 프록시 장치(101)를 나타내는 아이콘을 더블 클릭하면, Internet Explore(Microsoft사 제품) 등의 브라우저가 기동하여 도 20과 같은 페이지가 표시된다.
즉, 이용자 PC(102)가 UPnP 디바이스 프록시 장치(101)를 나타내는 아이콘을 더블 클릭하여, UPnP 디바이스 프록시 장치(101)에 접속하면, UPnP 디바이스 프록시 장치(101)는, 제2 네트워크(100)에 접속된 장치인 UPnP 디바이스 프록시 장치 등록 서버(2001)로부터 등록된 정보(UPnP 디바이스 프록시 장치(101)의 정보인 호스트명 또는 IP 어드레스를 포함)를 취득한다. 이용자 PC(102)는, UPnP 디바이스 프록시 장치(101)가 취득한 정보를 반영시켜, 도 20과 같은 페이지를 표시한다.
이용자 PC(102)의 이용자는, 접속처 일람 리스트로부터 접속하는 호스트명(UPnP 디바이스 프록시 장치(103)의 호스트명)을 선택하여, 장소, 코멘트란을 확인하고, 접속 버튼을 누른다.
또한, UPnP 디바이스 프록시 장치(103)측에서도, UPnP 디바이스 프록시 장치(103)를 UPnP 디바이스 프록시 장치 등록 서버(2001)에 등록하는 처리가 행해지고 있다. 도 20은, Proxy(101)를 선택한 경우에, 프록시 등록의 장소가 동경 오피스 1이고, 코멘트로서, 프린터가 있음이 등록되어 있는 것을 나타내고 있다.
이하, 제1 실시예의 〈UPnP 디바이스 프록시 장치 접속 처리〉에 있어서, 브라우저의 텍스트 입력 에어리어에 UPnP 디바이스 프록시 장치(103)의 IP 어드레스 또는 호스트명을 입력하고, 브라우저의 접속 버튼을 누른 이후와 마찬가지의 처리(UPnP 디바이스 프록시 장치(101)로의 접속 요구 메시지의 송신 이후의 처리)가 이루어진다.
[그 외의 실시 형태]
본 발명의 목적은, 전술한 실시 형태의 기능을 실현하는 소프트웨어의 프로그램 코드를 기록한 기억 매체(또는 기록 매체)를, 시스템 또는 장치에 공급하고, 그 시스템 또는 장치의 컴퓨터(또는 CPU나 MPU)가 기억 매체에 저장된 프로그램 코드를 판독하여 실행함으로써도, 달성됨은 물론이다. 이 경우, 기억 매체로부터 판독된 프로그램 코드 자체가 전술한 실시 형태의 기능을 실현하게 되고, 그 프로그램 코드를 기억한 기억 매체는 본 발명을 구성하게 된다. 또한, 컴퓨터가 판독한 프로그램 코드를 실행함으로써, 전술한 실시 형태의 기능이 실현될 뿐만 아니라, 그 프로그램 코드의 지시에 기초하여, 컴퓨터 상에서 가동하고 있는 오퍼레이팅 시스템(OS) 등이 실제 처리의 일부 또는 전부를 행하고, 그 처리에 의해 전술한 실시 형태의 기능이 실현되는 경우도 포함됨은 물론이다.
또한, 기억 매체로부터 판독된 프로그램 코드가, 컴퓨터에 삽입된 기능 확장 카드나 컴퓨터에 접속된 기능 확장 유닛에 구비되는 메모리에 기입된 후, 그 프로그램 코드의 지시에 기초하여, 그 기능 확장 카드나 기능 확장 유닛에 구비되는 CPU 등이 실제 처리의 일부 또는 전부를 행하고, 그 처리에 의해 전술한 실시 형태의 기능이 실현되는 경우도 포함됨은 물론이다.
본 발명은 상기 실시 형태에 제한되는 것이 아니라, 본 발명의 정신 및 범위로부터 이탈하지 않고, 여러가지 변경 및 변형이 가능하다. 따라서, 본 발명의 범위를 공적인 것으로 하기 위해, 이하의 청구항을 첨부한다.
<우선권의 주장>
본원은, 2004년 4월 22일 제출한 일본 특허 출원 특원 2004-126845를 기초로 하여 우선권을 주장하는 것으로, 그 기재 내용의 모두를, 여기에 원용한다.

Claims (9)

  1. 제1 접속 장치가 제1 네트워크와 제2 네트워크에 접속되고, 제2 접속 장치가 제2 네트워크와 제3 네트워크에 접속되며, 제1 네트워크에 접속된 디바이스의 정보를 제3 네트워크에 접속된 장치에 통지하는 통지 방법에 있어서,
    제1 접속 장치는, 제1 네트워크에 접속되어 있는 디바이스를 인식하고, 인식된 디바이스의 정보를 제2 네트워크를 통하여 제2 접속 장치에 송신하며,
    제2 접속 장치는, 제1 접속 장치로부터 송신된 정보를 수신하고, 수신한 정보를 기초로, 인식된 디바이스가 이용 가능한 것을 나타내는 메시지를 제3 네트워크에 송신하는 것을 특징으로 하는 통지 방법.
  2. 제1 접속 장치가 제1 네트워크와 제2 네트워크에 접속되고, 제2 접속 장치가 제2 네트워크와 제3 네트워크에 접속되며, 제1 네트워크에 접속된 디바이스에 대한 메시지의 수신처 정보를 제3 네트워크에 접속된 장치에 통지하는 통지 방법에 있어서,
    제1 접속 장치는, 제1 네트워크에 접속되어 있는 디바이스에 대한 메시지의 제1 수신처 정보를 취득하고, 취득한 제1 수신처 정보를 제2 네트워크를 통하여 제2 접속 장치에 송신하며,
    제2 접속 장치는, 제1 접속 장치로부터 송신된 제1 수신처 정보를 수신하고, 제2 접속 장치의 식별자에 상기 디바이스에 대한 식별자를 부가하여, 상기 디바이 스에 대한 메시지의 제2 수신처 정보를 생성하고, 생성한 제2 수신처 정보를 포함하는 메시지를 제3 네트워크에 송신하는 것을 특징으로 하는 통지 방법.
  3. 제2항에 있어서,
    제2 접속 장치는, 상기 제2 수신처 정보를 수신처로 하는 제1 송신 메시지를 제3 네트워크에 접속된 장치로부터 수신하면, 상기 제2 수신처 정보에 포함되는 상기 식별자에 대응하는 상기 제1 수신처 정보 및 상기 제1 송신 메시지의 내용을 포함하는 제2 송신 메시지를 제1 접속 장치에 송신하고,
    제1 접속 장치는, 제2 접속 장치로부터 송신된 제2 송신 메시지를 수신하고, 상기 제1 송신 메시지의 내용을 포함하는 제3 송신 메시지를 상기 제1 수신처 정보를 수신처로 하여 송신하는 것을 특징으로 하는 통지 방법.
  4. 제1항에 있어서,
    제2 접속 장치는, 제2 네트워크에 접속된 장치로부터 제1 접속 장치의 정보를 취득하고, 취득한 정보를 기초로 제1 접속 장치와 접속하는 것을 특징으로 하는 통지 방법.
  5. 제1 네트워크와 제2 네트워크에 접속된 다른 접속 장치와 제2 네트워크를 통하여 접속됨과 함께, 제3 네트워크에 접속되는 접속 장치로서,
    제2 네트워크에 접속되는 제1 접속 수단과,
    제3 네트워크에 접속되고, 소정의 수신처로의 메시지를 수신하는 제2 접속 수단을 갖고,
    상기 제1 접속 수단은 제1 네트워크에 접속되어 있는 디바이스에 대한 메시지의 제1 수신처 정보를 상기 다른 접속 장치로부터 제2 네트워크를 통하여 수신하며,
    상기 제2 접속 수단은, 상기 소정의 수신처에 상기 디바이스에 대한 식별자를 부가하여, 상기 디바이스에 대한 메시지의 제2 수신처 정보를 생성하는 생성 수단을 갖고, 생성한 제2 수신처 정보를 포함하는 메시지를 제3 네트워크에 송신하는 것을 특징으로 하는 접속 장치.
  6. 제5항에 있어서,
    상기 제2 수신처 정보를 수신처로 하는 제1 송신 메시지를 제3 네트워크에 접속된 장치로부터 수신하면, 상기 제2 수신처 정보에 포함되는 상기 식별자에 대응하는 상기 제1 수신처 정보 및 상기 제1 송신 메시지의 내용을 포함하는 제2 송신 메시지를 제1 접속 장치에 송신하는 것을 특징으로 하는 접속 장치.
  7. 제1 네트워크와 제2 네트워크에 접속된 다른 접속 장치와 제2 네트워크를 통하여 접속됨과 함께, 제3 네트워크에 접속되고, 제3 네트워크를 통하여 송신된 소정의 수신처로의 메시지를 수신하는 접속 장치에서의 통신 방법에 있어서,
    제1 네트워크에 접속되어 있는 디바이스에 대한 메시지의 제1 수신처 정보 를, 상기 다른 접속 장치로부터 제2 네트워크를 통하여 수신하고,
    상기 소정의 수신처에 상기 디바이스에 대한 식별자를 부가하여, 상기 디바이스에 대한 메시지의 제2 수신처 정보를 생성하고,
    생성한 제2 수신처 정보를 포함하는 메시지를 제3 네트워크에 송신하는 것을 특징으로 하는 접속 장치에서의 통신 방법.
  8. 제7항에 있어서,
    상기 제2 수신처 정보를 수신처로 하는 제1 송신 메시지를 제3 네트워크에 접속된 장치로부터 수신하면, 상기 제2 수신처 정보에 포함되는 상기 식별자에 대응하는 상기 제1 수신처 정보 및 상기 제1 송신 메시지의 내용을 포함하는 제2 송신 메시지를 제1 접속 장치에 송신하는 것을 특징으로 하는 통신 방법.
  9. 컴퓨터를 제5항의 접속 장치로서 동작시키기 위한 프로그램.
KR20067021880A 2004-04-22 2005-04-07 통지 방법, 접속 장치, 통신 방법, 및 프로그램 KR20070009633A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00126845 2004-04-22
JP2004126845A JP4154364B2 (ja) 2004-04-22 2004-04-22 通知方法

Publications (1)

Publication Number Publication Date
KR20070009633A true KR20070009633A (ko) 2007-01-18

Family

ID=35197165

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20067021880A KR20070009633A (ko) 2004-04-22 2005-04-07 통지 방법, 접속 장치, 통신 방법, 및 프로그램

Country Status (7)

Country Link
US (1) US7583686B2 (ko)
EP (1) EP1742153B1 (ko)
JP (1) JP4154364B2 (ko)
KR (1) KR20070009633A (ko)
CN (1) CN100511189C (ko)
RU (1) RU2345406C2 (ko)
WO (1) WO2005103913A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101112209B1 (ko) * 2009-07-08 2012-02-27 주식회사 케이티 유피엔피 네트워크에서의 사용자 인증 서비스 제공 방법 및 시스템

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5092200B2 (ja) * 2005-03-17 2012-12-05 株式会社日立製作所 ネットワーク装置およびイベント処理方法
JP4541992B2 (ja) * 2005-08-02 2010-09-08 キヤノン株式会社 ネットワーク機器及びその制御方法、及びプログラム
JP4829563B2 (ja) * 2005-08-03 2011-12-07 キヤノン株式会社 制御方法及び制御装置
KR100714708B1 (ko) * 2006-01-12 2007-05-04 삼성전자주식회사 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어장치 및 그 방법
JP2007272868A (ja) * 2006-03-07 2007-10-18 Sony Corp 情報処理装置、情報通信システム、および情報処理方法、並びにコンピュータ・プログラム
CN101438256B (zh) * 2006-03-07 2011-12-21 索尼株式会社 信息处理设备、信息通信***、信息处理方法
US7921194B2 (en) * 2006-03-09 2011-04-05 Samsung Electronics Co., Ltd. Method and system for remote access to universal plug and play devices
CN101444044A (zh) * 2006-03-27 2009-05-27 诺基亚公司 远程访问
JP2008021297A (ja) * 2006-06-12 2008-01-31 Sharp Corp コンテンツ配信システム、及び、携帯端末
US8149849B2 (en) * 2006-08-31 2012-04-03 Sony Ericsson Mobile Communications Ab Zigbee/IP gateway
US9184931B2 (en) 2006-10-17 2015-11-10 Samsung Electronics Co., Ltd. Universal plug and play based network system and method of controlling the same
KR101273589B1 (ko) * 2006-10-17 2013-06-11 삼성전자주식회사 유피엔피 기반 네트워크 시스템 및 그 제어방법
WO2008050560A1 (fr) * 2006-10-25 2008-05-02 Sharp Kabushiki Kaisha Serveur de distribution de contenu, serveur de fourniture de contenu, système de distribution de contenu, procédé de distribution de contenu, procédé de fourniture de contenu, dispositif de terminal, programme de commande et support d'enregistrement lisible par ordinateur
GB2445791A (en) * 2007-01-17 2008-07-23 Electricpocket Ltd Interconnection of Universal Plug and Play Networks using eXtensible Messaging and Presence Protocol Streams
JP2008236344A (ja) * 2007-03-20 2008-10-02 Hitachi Ltd プロキシ装置、ネットワークシステムおよび通信方法
US20080285737A1 (en) * 2007-05-17 2008-11-20 Tekelec Methods, systems, and computer program products for point code proxying between signaling points
KR101452710B1 (ko) * 2007-06-22 2014-10-21 삼성전자주식회사 컨트롤 포인트 및 컨트롤 요청을 처리하는 방법
US8296395B2 (en) * 2007-07-03 2012-10-23 Samsung Electronics, Ltd. Obje network device service control method and system
KR101125847B1 (ko) 2007-07-11 2012-03-28 삼성전자주식회사 UPnP 디바이스와 RUI 클라이언트를 중계하는 방법및 이를 위한 장치
JP4900169B2 (ja) * 2007-09-28 2012-03-21 オンキヨー株式会社 ネットワークシステム、中継デバイス及び中継プログラム
JP4936551B2 (ja) * 2007-11-16 2012-05-23 キヤノン株式会社 管理装置、管理方法、及びコンピュータプログラム
KR101495723B1 (ko) * 2008-01-15 2015-02-25 삼성전자주식회사 복수의 원격 접속을 지원하는 UPnP(UniversalPlug and Play) RAS(Remote Access Server) 장치 및 그 방법
US8356323B2 (en) * 2008-04-15 2013-01-15 Cisco Technology, Inc. UPnP/DLNA compliant MR-DVR
US8977710B2 (en) * 2008-06-18 2015-03-10 Qualcomm, Incorporated Remote selection and authorization of collected media transmission
US8560713B2 (en) * 2008-07-31 2013-10-15 Sap Ag Method and system for mediating enterprise service access for smart devices
US8516071B2 (en) * 2009-06-03 2013-08-20 Qualcomm Incorporated Systems and methods for creating virtual universal plug-and-play systems
KR20110020146A (ko) * 2009-08-21 2011-03-02 삼성전자주식회사 네트워크를 통해 작동 상태 변경 알림이 가능한 디바이스 및 그 통신 방법
KR101906350B1 (ko) * 2010-04-14 2018-10-11 삼성전자주식회사 홈 네트워크에 포함된 기기의 기능 제어 방법
KR101682243B1 (ko) * 2010-04-26 2016-12-13 삼성전자주식회사 메시지 제공 방법 및 이를 위한 단말 장치
IT1399749B1 (it) * 2010-04-30 2013-05-03 March Networks Corp Configurazione automatica di connessione da telecamera a server di gestione video
JP5517733B2 (ja) * 2010-05-12 2014-06-11 株式会社日立ソリューションズ コンテンツ配信システム、及びゲートウェイ装置、並びにプログラム
FR2962619B1 (fr) * 2010-07-09 2013-01-18 Thales Sa Dispositif d'acces a des donnees a bord d'un aeronef
US8868710B2 (en) * 2011-11-18 2014-10-21 Amazon Technologies, Inc. Virtual network interface objects
JP6092546B2 (ja) 2012-08-22 2017-03-08 キヤノン株式会社 データ配信システムおよびその制御方法
WO2014092441A1 (en) 2012-12-13 2014-06-19 Samsung Electronics Co., Ltd. Device control method for registering device information of peripheral device, and device and system thereof
KR101881926B1 (ko) * 2012-12-13 2018-07-26 삼성전자주식회사 주변 기기의 디바이스 정보를 등록하기 위한 디바이스 제어 방법, 디바이스 및 그 시스템
CN103973742B (zh) * 2013-01-31 2017-09-01 纬创资通股份有限公司 远程控制方法及***、支持远程控制的控制及反馈装置
KR102016347B1 (ko) * 2013-02-12 2019-08-30 삼성전자주식회사 클라이언트 및 서버 간 연결 방법 및 장치
CN104219264B (zh) * 2013-05-31 2018-09-21 华为终端有限公司 远程访问的方法及服务器
WO2015135160A1 (en) * 2014-03-12 2015-09-17 Tencent Technology (Shenzhen) Company Limited Method and device for controlling peripheral devices via social networking platform
FR3026587A1 (fr) * 2014-09-30 2016-04-01 Orange Technique d'acces par un dispositif maitre a une valeur prise par une caracteristique geree par un dispositif peripherique
US20170366869A1 (en) * 2014-12-30 2017-12-21 Sharp Kabushiki Kaisha Discovery protocol system
JP6822050B2 (ja) * 2016-10-14 2021-01-27 富士通株式会社 情報処理システム、情報処理装置、情報処理方法、情報処理プログラム及び端末
CN108632395A (zh) * 2018-08-23 2018-10-09 深圳市信锐网科技术有限公司 一种跨公网的设备远程控制方法、***及相关装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6523696B1 (en) 1996-10-15 2003-02-25 Kabushiki Kaisha Toshiba Communication control device for realizing uniform service providing environment
JP4072216B2 (ja) 1997-03-24 2008-04-09 キヤノン株式会社 情報処理装置及びその方法
JP3688464B2 (ja) 1997-05-06 2005-08-31 株式会社東芝 端末装置、サーバ装置、通信装置および制御方法
US6587861B2 (en) 1997-10-14 2003-07-01 Canon Kabushiki Kaisha Apparatus and method for controlling execution of job, and storage medium for such a program
JPH11120135A (ja) 1997-10-14 1999-04-30 Canon Inc 情報処理装置及びその方法、及びそのプログラムを記憶した記憶媒体
JP3583657B2 (ja) 1998-09-30 2004-11-04 株式会社東芝 中継装置及び通信装置
EP1058422A1 (en) * 1999-06-02 2000-12-06 THOMSON multimedia Methods for bridging a HAVi sub-network and a UPnP sub-network and device for implementing said methods
KR100708467B1 (ko) * 2001-02-03 2007-04-18 삼성전자주식회사 홈네트워크내의 기기에 서비스를 제공하는 시스템 및 그방법
JP2002288054A (ja) * 2001-03-23 2002-10-04 Matsushita Electric Ind Co Ltd 遠隔操作システム
JP2002353968A (ja) 2001-05-30 2002-12-06 Matsushita Electric Ind Co Ltd ホームネットワークおよびそれに用いられるゲートウェイ
US20030063608A1 (en) 2001-10-03 2003-04-03 Moonen Jan Renier Multicast discovery protocol uses tunneling of unicast message
JP4118566B2 (ja) * 2002-01-17 2008-07-16 学校法人早稲田大学 機器統合のためのネットワーク構築装置
JP4058371B2 (ja) 2002-04-09 2008-03-05 キヤノン株式会社 印刷管理装置、デバイスドライバ登録方法及びコンピュータプログラム
JP3858846B2 (ja) * 2002-04-11 2006-12-20 ブラザー工業株式会社 デバイス管理システム
US7376745B2 (en) 2002-05-15 2008-05-20 Canon Kabushiki Kaisha Network address generating system, network address generating apparatus and method, program and storage medium
JP4200692B2 (ja) * 2002-05-31 2008-12-24 セイコーエプソン株式会社 デバイス状態監視システム、デバイス管理端末
JP3747887B2 (ja) 2002-06-14 2006-02-22 ブラザー工業株式会社 設定情報送受信システム、送信機器、及びプログラム
US7490171B2 (en) * 2003-05-19 2009-02-10 Intel Corporation Universal plug-and-play mirroring device, system and method
JP4829563B2 (ja) 2005-08-03 2011-12-07 キヤノン株式会社 制御方法及び制御装置
JP4541994B2 (ja) 2005-08-11 2010-09-08 キヤノン株式会社 制御装置、制御方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101112209B1 (ko) * 2009-07-08 2012-02-27 주식회사 케이티 유피엔피 네트워크에서의 사용자 인증 서비스 제공 방법 및 시스템

Also Published As

Publication number Publication date
US7583686B2 (en) 2009-09-01
RU2006141253A (ru) 2008-05-27
WO2005103913A1 (ja) 2005-11-03
CN100511189C (zh) 2009-07-08
EP1742153A1 (en) 2007-01-10
EP1742153A4 (en) 2008-09-17
JP2005311773A (ja) 2005-11-04
US20070115996A1 (en) 2007-05-24
RU2345406C2 (ru) 2009-01-27
JP4154364B2 (ja) 2008-09-24
EP1742153B1 (en) 2013-07-31
CN1947106A (zh) 2007-04-11

Similar Documents

Publication Publication Date Title
KR20070009633A (ko) 통지 방법, 접속 장치, 통신 방법, 및 프로그램
US8205212B2 (en) Information processing apparatus, information processing method, alternate response apparatus, response method, control program, and network system
JP4902671B2 (ja) ターゲットデバイスにコンテンツを送信するための方策
KR100779790B1 (ko) 프로토콜 변환 처리를 실행하는 장치, 방법, 및 기록 매체
JP4309087B2 (ja) ネットワーク接続機器およびこれを用いたネットワークシステム
RU2448362C2 (ru) Отображение обнаруженных элементов универсального режима &#34;подключай и работай&#34; на местоположение smb
US20100115053A1 (en) Method and apparatus for managing state information of remote user interface
JP2002055896A (ja) 通信システムと装置
US20050198118A1 (en) Methods and devices for the asynchronous delivery of digital data
JP2004086895A (ja) 任意のネットワーク上のコンポーネントを通信可能にするためのシステムと方法
US8363238B2 (en) Image forming apparatus having a management unit and a shared processing unit, information processing method using the image forming apparatus, and image forming system having the image forming apparatus
JP2007208693A (ja) 通信装置、通信システム、通信方法および通信プログラム
CN102263782A (zh) 信息处理装置、信息处理方法和信息处理***
US20040133678A1 (en) Data processing system, information processing apparatus and method, and computer program
TW200418291A (en) Mobile device management system and method using the management system to proceed network information transmission and sharing
JP4799005B2 (ja) 情報処理装置
US8291089B2 (en) Image processing device, control method therefor, and program
US20060129700A1 (en) Bridging a local bus with a data network
KR100823269B1 (ko) 원격 사용자 인터페이스의 상태 정보를 관리하는 방법
JP2009169966A (ja) 情報処理装置および情報処理方法および記憶媒体
JP2005141620A (ja) 情報処理装置の選択方法、情報処理装置、検索サーバ、並びにプログラム
JP4378372B2 (ja) 情報処理方法、情報処理装置、及び記憶媒体
JP6082210B2 (ja) 情報処理装置およびその制御方法、システム、並びにプログラム
JP2009118058A (ja) 通信管理システムおよび通信管理プログラム
JP2010287105A (ja) ネットワークデバイス情報管理システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application