KR100975162B1 - 통신 시스템, 통신 장치 및 그 제어 방법 - Google Patents

통신 시스템, 통신 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR100975162B1
KR100975162B1 KR1020070088660A KR20070088660A KR100975162B1 KR 100975162 B1 KR100975162 B1 KR 100975162B1 KR 1020070088660 A KR1020070088660 A KR 1020070088660A KR 20070088660 A KR20070088660 A KR 20070088660A KR 100975162 B1 KR100975162 B1 KR 100975162B1
Authority
KR
South Korea
Prior art keywords
event
active
client device
processing means
service providing
Prior art date
Application number
KR1020070088660A
Other languages
English (en)
Other versions
KR20080021561A (ko
Inventor
마사히로 니시오
Original Assignee
캐논 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20080021561A publication Critical patent/KR20080021561A/ko
Application granted granted Critical
Publication of KR100975162B1 publication Critical patent/KR100975162B1/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • 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/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer
    • G06F3/1294Status or feedback related to information exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

클라이언트 디바이스(100)가 서비스 제공 장치(200)에 이벤트 통지 의뢰를 발생하고, 상기 통지 의뢰를 발행한 이벤트를 처리하는 이벤트 처리 유닛이 활성인지의 여부를 상기 서비스 제공 장치에 통지한다. 이벤트의 발생을 검지하면, 상기 서비스 제공 장치는 상기 이벤트에 대한 통지 의뢰가 등록되어 있는 클라이언트 디바이스들을 검색하고, 상기 이벤트를 처리할 수 있는 이벤트 처리 유닛이 활성인 클라이언트 디바이스에 그 이벤트의 발생을 통지한다.
Figure R1020070088660
클라이언트 디바이스, 서비스 제공 장치, 이벤트 통지 의뢰, 이벤트 처리 유닛, 이벤트 발생

Description

통신 시스템, 통신 장치 및 그 제어 방법{COMMUNICATION SYSTEM AND COMMUNICATION APPARATUS AND CONTROL METHOD THEREOF}
본 발명은 네트워크 통신 장치, 그 장치를 포함하는 통신 시스템, 및 그 시스템 및 그 통신 장치의 제어 방법에 관한 것이다.
종래에는, 네트워크 상의 클라이언트 장치로부터의 서비스 요구에 응답하여, 각종 서비스를 제공하는 서비스 제공 장치 또는 시스템이 공지되어 있다. 예를 들면, 인터넷 통신의 급속한 확산에 따라, 종래의 퍼스널 컴퓨터와는 다른 각종 디바이스들이 네트워크 디바이스로서 개발되어 왔다. PDA(Personal Digital Assistance) 및 휴대 전화 등의 사용자 상호작용 디바이스 외에도, 각종 화상 처리 장치 및 가전 제품이 네트워크와 호환가능해져 왔다.
이러한 추세에 따라, 이러한 네트워크 디바이스를 이용할 시의 사용의 편리성 및 용이성을 개선시키기 위해, 각종 서비스를 제공하는 네트워크 디바이스를 탐색하는 소프트웨어가 제안되어 왔다. 또한, 네트워크 디바이스를 제어하기 위한 어플리케이션 소프트웨어, 유틸리티 소프트웨어, 운영체제 등의 자동 셋업 수단을 제공하는 각종 프로토콜 및 아키텍처가 제안되어 왔다. (일본특개 제2004-038956호 및 제2004-362594호).
몇몇 기업 및 표준화 단체가, 로컬 입출력 접속 디바이스에 적용되어 온 플러그 앤 플레이 기능을 네트워크 디바이스에도 확장하기 위해 그 사양을 개발하려고 노력을 기울여 왔다. 이러한 노력은, 예를 들어, 마이크로소프트사가 주로 개발하고 있는 UPnp(등록상표)(UPnP Device Architecture v1.0 URL:Http://www.upnp.org/specs/arch/UPnPDeviceArchitecture-v1.0-20060720.pdf 참조), 및 WSD: Web Sewices for Devices(WS-Discovery/WS-MetadataExchange/WS-Eventing, Web Service Dynamic Discovery: WS-Discovery URL: http://specs. xmlsoap.org/ws/2005/04/discovery/ws-discovery.pdf WS-MetadataExchange URL: http://specs.xmlsoap.org/ws/2004/09/mex/WS-Metadataexchange.pdf WS-Eventing http://msdn.microsoft.com/webservices/webservices/understanding/specs/default.aspx?pull=/library/en-us/dnglobspec/html/ws-eventing.asp)에 의해 추진되는 BMLinks("BMLinks", 일본 비즈니스 기계 및 정보 시스템 산업 협회, 인터넷 <URL: http://www.jbmia.or.jp/bmlinks/eng/index.htm>)을 포함한다.
상기 예시된 네트워크 서비스 시스템은, GENA: General Event Notification, WS-Eventing 등에 의해 대표되는 이벤트를 통지하기 위한 프로토콜을 이용하고 있다. 이는, 서비스를 제공하는 디바이스의 상태의 변화, 즉, 디바이스가 실행하도록 요구한 잡의 처리 상태, 에러 상태, 구성 정보의 업데이트 등의 상태 변화(이벤트 발생) 등을 클라이언트 디바이스가 실시간으로 파악할 수 있도록 한다.
그러나, 상기 종래 기술은 이하의 문제를 겪는다. 이벤트 통지 프로토콜에 따라서, 클라이언트 디바이스는 서비스 제공 디바이스에 미리 이벤트 통지 의뢰를 발행할 필요가 있다. 서비스 제공 디바이스는 모든 클라이언트 디바이스로부터 수신한 통지 의뢰에 관한 정보의 모두를 보유하여 관리해야 한다. 이벤트 발생시, 서비스 제공 디바이스는 수신된 통지 의뢰의 출처인 모든 클라이언트 디바이스에 이벤트 발생을 통지해야 한다. 이들 이벤트 중, 잡의 실행을 수반하는 상태의 변화와 연관된 이벤트는, 잡 개시(start job), 잡 진행(job progress), 잡 완료(job completion), 에러 등을 포함할 수 있을 것으로 생각된다. 이들 이벤트의 발생을 수신된 통지 의뢰의 출처인 모든 클라이언트에 송신하기 위해, 에러 회복 등을 포함하는 네트워크 접속을 보장하는 것이 필수적이다. 이는 서비스 제공 디바이스 상의 심한 부하를 지운다. 또한, 이러한 심한 부하는, 예를 들어, 중요하며 긴급한 이벤트를 통지하는데 실패하는 것이 네트워크 관리 툴로의 이벤트 통지를 매우 지연시킬 것이라는 문제를 야기한다.
한편, 서비스 제공 디바이스가 통지 의뢰를 접수한 클라이언트 디바이스에 이벤트를 통지하여도, 그 클라이언트 디바이스가, 그 이벤트를 처리하는 기능, 즉, 이벤트의 내용을 분석하여 그 결과의 정보를 사용자에게 통지하는 기능이 없을 경우를 생각할 수 있다. 또한, 클라이언트 디바이스에서, 그 이벤트 처리하는 기능, 어플리케이션, 유틸리티 등이 활성화되지 않을(즉, 무효화될) 수 있다. 이러한 경우, 그 통지된 이벤트 정보 및 통지에 대해 수행된 처리를 낭비하게 된다.
하드웨어 자원이 한정된 서비스 제공 디바이스, 특히 홈 네트워크 환경에 이용되는 디바이스, 또는 많은 클라이언트 디바이스가 존재하는 사무실 등의 환경에 서, 낭비적인 이벤트 처리 또는 이벤트 통지를 최소화하도록 하는 소정의 발명이 요구된다.
본 발명의 목적은 상술된 종래 기술의 문제점을 제거하는 것이다.
본 발명의 이점은, 이벤트 통지 의뢰가 등록되어 있는 클라이언트 장치 중 이벤트 처리를 수행할 준비가 되어 있는 클라이언트 장치에 통지함으로써, 불필요한 이벤트의 통지를 실질적으로 제거하는 것이다.
본 발명에 따르면, 이벤트 통지 의뢰가 등록되어 있는 클라이언트 장치 중 이벤트 처리를 수행할 준비가 되어 있는 클라이언트 장치에 통지함으로써, 불필요한 이벤트 발생의 통지를 제거할 수 있다. 이는 이벤트 통신 처리의 부하를 경감시킬 수 있다. 또한, 이는 이벤트 통지가 가져야 할 실시간 이벤트 통지 성능을 개선시킬 수 있다.
본 발명의 일 양상에 따르면, 클라이언트 장치(100) 및 상기 클라이언트 장치에 통신 채널(300)을 통해 서비스를 제공하는 서비스 제공 장치(200)를 포함하는 통신 시스템으로서, 상기 클라이언트 장치는,
상기 서비스 제공 장치에서 발생하는 이벤트를 처리하도록 구성된 이벤트 처리 수단(5),
상기 이벤트 처리 수단의 상태를 판정하도록 구성된 판정 수단(5), 및
상기 판정 수단으로부터의 판정의 결과에 기초하여, 상기 이벤트 처리 수단이 활성인지의 여부를 상기 서비스 제공 장치에 통지하도록 구성된 제1 통지 수단을 포함하고,
상기 서비스 제공 장치는,
이벤트의 발생을 검지하도록 구성된 검지 수단(12), 및
상기 검지 수단이 상기 이벤트의 발생을 검지했을 경우에, 상기 제1 통지 수단으로부터의 통지에 기초하여, 상기 이벤트 처리 수단이 활성인 클라이언트 장치에 상기 이벤트의 발생을 통지하도록 구성된 제2 통지 수단을 포함하는 통신 시스템을 제공한다.
본 발명의 일 양상에 따르면, 통신 채널을 통해 서비스를 제공하기 위한 서비스 제공 장치에 접속하여, 상기 서비스 제공 장치로부터의 서비스를 수신하는 통신 장치(100)로서,
상기 서비스 제공 장치에서 발생하는 이벤트를 처리하도록 구성된 이벤트 처리 수단;
상기 이벤트 처리 수단의 상태를 판정하도록 구성된 판정 수단; 및
상기 판정 수단으로부터의 판정 결과에 기초하여, 상기 이벤트 처리 수단이 활성인지의 여부를 상기 서비스 제공 장치에 통지하도록 구성된 제1 통지 수단을 포함하는 통신 장치를 제공한다.
본 발명의 일 양상에 따르면, 통신 채널(300)을 통해 클라이언트 장치(100)에 접속하여, 상기 클라이언트 장치에 서비스를 제공하는 통신 장치(200)로서,
클라이언트 장치로부터 상기 클라이언트 장치의 이벤트 처리 수단이 활성인지의 여부를 나타내는 정보를 수신하도록 구성된 제1 수신 수단;
이벤트의 발생을 검지하도록 구성된 검지 수단; 및
상기 검지 수단이 상기 이벤트의 발생을 검지한 경우에, 상기 제1 수신 수단에 의해 수신된 정보에 기초하여, 이벤트 처리 수단이 활성인 클라이언트 장치에 상기 이벤트의 발생을 통지하는 통지 수단을 포함하는 통신 장치를 제공한다.
본 발명의 제3 양상에 따르면, 클라이언트 장치(100) 및 통신 채널(300)을 통해 상기 클라이언트 장치에 서비스를 제공하는 서비스 제공 장치(200)를 포함하는 통신 시스템의 제어 방법으로서,
상기 클라이언트 장치가 상기 클라이언트 장치의 이벤트 처리 수단의 상태를 판정하는 단계 - 상기 이벤트 처리 수단은 상기 서비스 제공 장치에서 발생하는 이벤트를 처리함 -,
상기 판정 단계의 결과에 기초하여, 상기 클라이언트 장치의 이벤트 처리 수단이 활성인지의 여부를 상기 서비스 제공 장치에 통지하는 단계;
상기 서비스 제공 장치에서 이벤트의 발생을 검지하는 단계; 및
상기 이벤트의 발생이 상기 검지 단계에서 검지된 경우에, 상기 클라이언트 장치로부터의 통지에 기초하여, 상기 이벤트의 이벤트 처리 수단이 활성인 클라이언트 장치에 상기 서비스 제공 장치에 의해 통지하는 단계를 포함하는 제어 방법을 제공한다.
본 발명의 제3 양상에 따르면, 통신 채널을 통해 서비스를 제공하기 위한 서 비스 제공 장치에 접속하여, 상기 서비스 제공 장치로부터의 서비스를 수신하는 통신 장치의 제어 방법으로서,
상기 서비스 제공 장치에서 발생하는 이벤트를 처리하는 이벤트 처리 수단의 상태를 판정하는 단계; 및
상기 판정 단계에서의 판정 결과에 기초하여, 상기 이벤트 처리 수단이 활성인지의 여부를 상기 서비스 제공 장치에 통지하는 단계를 포함하는 제어 방법을 제공한다.
본 발명의 제3 양상에 따르면, 통신 채널을 통해 클라이언트 장치(100)에 접속하여, 상기 클라이언트 장치에 서비스를 제공하는 통신 장치(200)의 제어 방법으로서,
클라이언트 장치로부터 상기 클라이언트 장치의 이벤트 처리 수단이 활성인지의 여부를 나타내는 정보를 수신하는 단계;
이벤트의 발생을 검지하는 단계; 및
상기 검지 단계에서 상기 이벤트의 발생을 검지한 경우에, 상기 수신 단계에서 수신된 정보에 기초하여, 이벤트 처리 수단이 활성인 클라이언트 장치에 상기 이벤트를 통지하는 단계를 포함하는 제어 방법을 제공한다.
본 발명의 다른 특징들이 첨부 도면을 참조하여 이하의 예시적인 실시예들의 상세한 설명으로부터 자명해질 것이다.
본 명세서의 일부에 포함되면서 그 일부를 구성하는 첨부 도면은, 본 발명의 실시예들을 도시하고, 상세한 설명과 함께 본 발명의 원리를 설명하는 역할을 한 다.
본 발명에 따르면, 이벤트 통지 의뢰가 등록되어 있는 클라이언트 장치 중 이벤트 처리를 수행할 준비가 되어 있는 클라이언트 장치에 통지함으로써, 불필요한 이벤트 발생의 통지를 제거할 수 있으며, 이는 이벤트 통신 처리의 부하를 경감시킬 수 있다. 또한, 이는 이벤트 통지가 가져야 할 실시간 이벤트 통지 성능을 개선시킬 수 있다.
이하, 첨부 도면을 참조하여 본 발명의 실시예들을 상세히 기술한다. 이하의 실시예는 본 발명의 특허청구범위를 한정하도록 의도된 것이 아니며, 실시예들에서 기술되어 있는 특징들의 모든 조합이 본 발명에 필수적인 것은 아니다. 또한, 본 발명의 범위는, 특별히 지정된 것이 아니라면, 실시예들에 기술된 프로토콜, 버전, 어드레스, 그 밖의 수치 값 등에 한정되는 것으로 의도된 것이 아님을 이해해야 한다.
도 1은 본 발명의 예시적인 실시예에 따른 네트워크 플러그 앤 플레이 시스템의 구성을 도시하는 블록도이다.
도 1을 참조하면, 참조 번호 10O은 클라이언트 디바이스를 나타내며, 이는 이더넷(Ethernet)에 대응하는 통신 기능을 갖는다. 클라이언트 디바이스(100)는 TCP/UDP/IP 프로토콜 스택(1) 및 그 프로토콜 스택(1) 상에 HTTP 프로세서(2)를 포함한다. 클라이언트 디바이스(100)는 HTTP 리퀘스트를 분석하고 응답 처리를 수행 한다. 클라이언트 디바이스(100)는 TCP/UDP/IP 프로토콜 스택(1) 및 HTTP 프로세서(2)의 상위층 상에 SOAP(Simple Object Access Protocol) 프로세서(3)를 포함한다. 또한, 플러그 앤 플레이 컨트롤러(4), 이벤트 매니저(5), 유틸리티(6), 및 어플리케이션(7)은 XML로 기술된 데이터의 쌍방향 통신을 구현한다.
플러그 앤 플레이 컨트롤러(4)는, 마이크로소프트사 및 그 밖의 회사에 의해 개발된 WS-Discovery 사양에 기초하여, SOAP 프로세서(3)를 통해 네트워크 디바이스로부터 통지되는 헬로우(Hello) 메시지에 대응하는 응답 처리를 실행한다. 또한, 플러그 앤 플레이 컨트롤러(4)는 네트워크 디바이스의 검색을 위한 프로브(Probe) 메시지를 발행한다. 플러그 앤 플레이 컨트롤러(4)는 또한 WS-MetadataExchange 사양에 기초하여, GetMetadata 메시지를 발행함으로써 네트워크 디바이스의 속성 정보를 취득하는 처리를 실행한다.
네트워크 디바이스(200)가 이벤트의 통지 기능을 포함하고 있는 경우, 네트워크 디바이스(200)의 속성 정보는 이벤트 통지 의뢰의 등록처 정보를 기록한다. 이벤트 매니저(5)는, 마이크로소프트사 및 그 밖의 회사들에 의해 개발된 WS-Eventing 사양에 기초하여, SOAP 프로세서(3)를 통해 이벤트 통지 의뢰의 등록처에 이벤트 통지 의뢰(Subscribe 메시지)를 발행한다. 대안으로, 이벤트 매니저(5)는 이벤트 통지의 해제 요구(UnSubscribe 메시지)를 발행한다. 이벤트 매니저(5)는, 유틸리티(6) 및 어플리케이션(7)으로부터의 이벤트 통지 의뢰의 유무를 조사한다. 활성 상태인 유틸리티(6) 또는 어플리케이션(7) 중 하나가 이벤트 통지 의뢰를 요구하고 있는 경우에는, 이벤트 매니저(5)는 SOAP 프로세서(3)를 통해 네트워크 디 바이스(200)에 상태 메시지를 발행한다. 또한, 이벤트 통지 의뢰를 요구하고 있는 유틸리티(6) 및 어플리케이션(7) 모두가 활성 상태가 아닌 경우에는, SOAP 프로세서(3)를 통해 네트워크 디바이스(200)에 상태 메시지를 발행하는 기능을 갖는다.
이벤트 매니저(5)는 네트워크 디바이스(200)로부터 통지된 이벤트 정보를 SOAP 프로세서(3)를 통해 수신한다. 이어서, 이벤트 매니저(5)는 미리 통지 의뢰를 발행한 유틸리티(6) 및 어플리케이션(7)에 상기 이벤트를 통지한다. 이 경우, 유틸리티(6) 및 어플리케이션(7)은, 예를 들어, 프린터 드라이버 다이얼로그, 프린터 큐 뷰, 및 네트워크 관리 어플리케이션 등의 네트워크 디바이스(200)로부터 통지된 이벤트를 처리하는 기능을 갖는 소프트웨어를 포함한다.
다음으로, 네트워크 디바이스(200)를 설명한다.
본 실시예에서, 네트워크 디바이스(200)는, 이더넷에 대응하는 통신 기능을 갖는다. 네트워크 디바이스(200)는 TCP/UDP/IP 프로토콜 스택(8)과, 그 프로토콜 스택(8) 상에 HTTP 프로세서(9)를 포함한다. 네트워크 디바이스(200)는 HTTP 리퀘스트를 분석하여 응답 처리를 수행한다. 네트워크 디바이스(200)는 TCP/UDP/IP 프로토콜 스택(8) 및 HTTP 프로세서(9)의 상위층에 SOAP 프로세서(10)를 포함한다. WSD 모듈(11), 이벤트 매니저(12) 및 프린터 컨트롤러(13)가 SOAP 프로세서(10)를 통해 XML로 기술된 데이터의 쌍방향 통신을 구현한다.
네트워크(300)에 접속하는 경우, 마이크로소프트사 및 그 밖의 회사에 의해 개발된 WS-Discovery 사양에 기초하여, WSD 모듈(11)이 SOAP 프로세서(10)를 통해 Hello 메시지를 송신한다. 또한, WSD 모듈(11)은 클라이언트 디바이스(100)로부터 발행된 Probe 메시지에 대하여 응답 처리를 실행한다. WSD 모듈(11)은 또한 WS-MetadataExchange 사양에 기초하여, 클라이언트 디바이스(100)로부터 발행된 GetMetadata 메시지에 따라서, 네트워크 디바이스(200)(본 실시예에서는 네트워크 프린터)가 갖는 속성 정보를 회신한다.
이벤트 매니저(12)는 클라이언트 디바이스(100)로부터 통지된 이벤트 통지 의뢰(활성) 및 이벤트 통지 해제 의뢰(비활성)을, 클라이언트 디바이스(100)를 포함하는 복수의 클라이언트 디바이스 각각에 대해 관리하는 기능을 갖는다. 이벤트 매니저(12)는, 프린터 컨트롤러(13)로부터 통지된 프린터 상태 정보를 관리하고, 대응하는 이벤트 데이터를 생성한다. 이벤트 관리자(12)는 또한 SOAP 프로세서(10)를 통해 클라이언트 디바이스(100)에 이벤트 메시지를 송신하는 기능을 갖는다.
이하에 본 실시예에 따른 네트워크 플러그 앤 플레이 시스템에서의 제어 절차를 도 2a, 도 2b 및 도 3의 플로우차트를 참조하여 기술한다.
[제1 실시예]
도 2a 및 도 2b는 제1 실시예에 따른 클라이언트 디바이스(100)에서의 제어 처리를 설명하는 플로우차트이다. 도 3은 제1 실시예에 따른 네트워크 디바이스(200)에서의 제어 처리를 설명하는 플로우차트이다.
우선, 단계 S101에서, 클라이언트 디바이스(100)의 플러그 앤 플레이 컨트롤러(4)는, 네트워크(300) 상에서 이용될 수 있는 서비스 제공 디바이스, 즉 네트워크 디바이스(200)를 탐색한다. 이 경우, 단계 S101에서 플러그 앤 플레이 컨트롤 러(4)는 WS-Discovery 사양에 의해 정의된 네트워크 디바이스 탐색 패킷(Probe 패킷)을 SOAP 프로세서(3)를 통해 발행한다. 단계 S102에서, 플러그 앤 플레이 컨트롤러(4)는 응답이 수신되었는지의 여부를 판정한다. 단계 S102에서 "예"라면, 처리는 단계 S103으로 진행하여 그 응답을 송신한 디바이스의 디바이스 프로파일을 취득한다.
한편, 네트워크 디바이스(200)는 도 3의 단계 S200에서 Hello 메시지를 송신 하고, 이어서 단계 S201에서, 네트워크 디바이스(200)는 상술된 단계 S101에서 클라이언트 디바이스(100)로부터 송신된 Probe 패킷의 수신을 대기한다. 네트워크 디바이스(200)가 단계 S201에서 이 패킷을 수신하면, 처리는 단계 S202로 진행하고, 네트워크 디바이스(200)의 WSD 모듈(11)은 그 패킷에 응답하여 클라이언트 디바이스(100)에 프로파일 정보 취득을 위한 어드레스 정보를 송신한다. 이 경우, 네트워크 디바이스(200)는 ProbeMatch 응답에 그 정보를 기술하고, 이를 WS-Discovery 사양에 의해 정의된 응답 패킷으로서 SOAP 프로세서(10)를 통해 클라이언트 디바이스(100)에 회신한다.
이 동작에 의해, 단계 S102에서 이 ProbeMatch 응답을 수신한 클라이언트 디바이스(100)의 플러그 앤 플레이 컨트롤러(4)는 단계 S202에서 응답을 발행한 네트워크 디바이스(200)의 프로파일 정보를 취득한다. 이 경우, 클라이언트 디바이스(100)는, SOAP 프로세서(3)를 통해, WS-MetadataExchange 사양에 의해 정의된 GetMetadata 리퀘스트를, 이전에 수신된 ProbeMatch 응답에 기술된 어드레스에 발행한다. 복수의 네트워크 디바이스(100)가 네트워크(300) 상에 존재할 수 있음에 유의해야 한다. 이 때문에, 클라이언트 디바이스(100)는, ProbeMatch 응답을 회신한 네트워크 디바이스들로부터 사용한 디바이스를 선택한다. 이어서, 클라이언트 디바이스(100)는 모든 선택된 네트워크 디바이스들의 프로파일 정보를 취득한다.
이 동작에 의해, 네트워크 디바이스(200)가 도 3의 단계 S203에서 GetMetadata 리퀘스트를 수신할 경우, 처리는 단계 S204로 진행하고, WSD 모듈(11)은 SOAP 프로세서(10)가 클라이언트 디바이스(100)에 프로파일 정보를 송신하도록 한다.
이 동작에 의해, 클라이언트 디바이스(100)는 네트워크 디바이스(200)로부터 프로파일 정보를 취득한다. 이어서, 플러그 앤 플레이 컨트롤러(4)는 그 프로파일 정보에 기술되는 이벤트 통지 의뢰 등록 어드레스를 이벤트 매니저(5)에 통지한다. 이 동작에 의해, 이벤트 매니저(5)는 그 어드레스에 대하여 WS-Eventing 사양에 의해 정의된 이벤트 통지 등록 의뢰(Subscribe 리퀘스트)를 SOAP 프로세서(3)를 통해 발행한다(단계 S104).
이 동작에 의해, 단계 S205에서, 네트워크 디바이스(200)는 이 Subscribe 리퀘스트를 수신한다. 이어서, 처리는 단계 S205에서 단계 S206으로 진행하고, 이벤트 매니저(12)는 클라이언트 디바이스(100)를 고유하게 식별하기 위한 SubscribeID를 생성한다. 네트워크 디바이스(200)는 SubscribeID 및 Subscribe 리퀘스트에 기술된 클라이언트 디바이스(100)의 이벤트 통지처의 어드레스 정보를 관리 테이블로서 저장한다.
도 4는 이 관리 테이블의 포맷을 기술한 XML 데이터를 도시하는 도면을 나타 낸다.
이 경우, 이벤트 매니저(12)가 클라이언트 디바이스(100)에 할당한 SubscribeID의 값이 <SubscribeID> 태그(400)에 속성 값의 형식으로 기술된다. <EventPort> 태그(401)에는, 클라이언트 디바이스(100)의 이벤트 통지 어드레스 정보가 URL 형식으로 기술된다. 또한, <Status>(402)는 클라이언트 디바이스(100)에서의 이벤트 처리 소프트웨어의 동작 상태를 저장하는데 사용되고(후술됨), 그 동작 상태에 따라서 Active(서비스 중) 또는 Inactive(서비스 중이 아님)가 기술된다. 각각의 등록된 클라이언트 디바이스들에 대응하는 정보들이 그러한 포맷으로 테이블로서 기억된다.
처리는 단계 S207로 진행하고, 이벤트 매니저(12)는 생성된 SubscribeID를 WS-Event 사양에 의해 정의된 Subscribe 응답 패킷에 기술한다. 이어서, 이벤트 매니저(12)는 Subscribe 응답을 SOAP 프로세서(10)를 통해 클라이언트 디바이스(100)로 송신한다.
이 동작에 의해, 단계 S105에서, 클라이언트 디바이스(100)는 이러한 Subscribe 응답을 수신하고, 처리는 단계 S106으로 진행하며, 이벤트 매니저(5)는 이 패킷에 기술된 SubscribeID를 저장한다. 이어서, 처리는 단계 S107로 진행한다.
단계 S107에서, 클라이언트 디바이스(100)의 이벤트 매니저(5)는 상위 계층에서 기능하는 유틸리티(6) 및 어플리케이션(7)이 활성인지를 판정한다. 이 경우, 이벤트 매니저(5)는, 예를 들어, 드라이버 다이얼로그, 프린터 큐 뷰, 및 네트워크 디바이스 관리 소프트웨어와 같은, 네트워크 디바이스(200)로부터 통지된 이벤트를 처리하는, 유틸리티(6) 또는 어플리케이션(7) 중 적어도 하나의 소프트웨어가 활성인지의 여부를 판정한다. 이 경우, 적어도 하나의 소프트웨어가 활성이면, 이들은 이벤트 매니저(5)에 이벤트 통지 요청을 등록하도록 동작한다.
단계 S107에서, 이벤트 매니저(5)가 유틸리티(6) 또는 어플리케이션(7) 중 어느 하나가 활성인 것으로 판정하고, 그 소프트웨어들로부터 이벤트 통지 의뢰의 등록을 수신하면, 처리는 단계 S108로 진행하고, 이벤트 매니저(5)는 SubscribeID가 취득되었는지를 판정한다. SubscribeID가 네트워크 디바이스(200)로부터 이미 취득되었으면, 처리는 단계 S107에서 단계 S109로 진행한다(도 2b). 단계 S109에서, 이벤트 매니저(5)는 이벤트 통지 의뢰를 발행하고 활성인 유틸리티(6) 및 어플리케이션(7)의 총수가 "1"보다 크거나 같은지를 판정한다. 단계 S109에서 "예"이면, 처리는 단계 S110으로 진행한다. 단계 S110에서, 이벤트 매니저(5)는 상태 통지 메시지가 이미 발행되었는지의 여부를 판정한다. 단계 S110에서 "아니오"이면, 처리는 단계 S111로 진행하고, 이벤트 매니저(5)는 네트워크 디바이스(200)에 상태 통지 메시지(활성)를 SOAP 프로세서(3)를 통해 발행한다. 이어서, 처리는 단계 S113으로 진행한다.
이벤트 매니저(5)가 이벤트 통지 의뢰를 발행하고 활성인 유틸리티(6) 및 어플리케이션(7)의 총수가 "0"임을 단계 S109에서 판정하거나 또는 상태 통지 메시지가 이미 발행되었음을 단계 S110에서 판정하는 경우, 처리는 어떠한 상태 통지 메시지도 발행하지 않고 단계 S113으로 진행한다. 이벤트 매니저(5)가 단계 S108(도 2a)에서 SubscribeID가 취득되지 않았다고 판정한 경우에는, 처리는 단계 S112로 진행하고, 이벤트 매니저(5)는 유틸리티(6) 또는 어플리케이션(7)에 에러를 통지한다. 이어서, 처리는 단계 S113으로 진행한다.
도 5는 상태 통지 메시지의 포맷을 설명하는 도면을 나타낸다. SOAP 프로세서(3)가 이 메시지를 SOAP 엔벨로프 형식으로 변환하고, 이어서 그것을 네트워크 디바이스(200)로 송신한다.
이 경우, <SubscribeID>(500)에서, 단계 S106(도 2a)에서 네트워크 디바이스(200)로부터 취득된 식별자(SubscriptionID)가 기술된다. <Status>(501)에서, 이벤트 통지 의뢰를 발행한 유틸리티(6) 또는 어플리케이션(7)의 동작 상태를 기술한다. 유틸리티(6) 또는 어플리케이션(7)이 서비스 중인 경우, 그 동작 상태는 "Active"로 기술된다.
도 3의 단계 S208에서 네트워크 디바이스(200)가 이 상태 통지 메시지를 수신하면, 처리는 단계 S209로 진행하고, 이벤트 매니저(12)는 상기 관리 테이블을 사용함으로써 상태 통지 메시지에 기술된 SubscribeID를 참조한다. 이어서, 이벤트 매니저(12)는 대응하는 클라이언트 디바이스 정보를 위해 관리 테이블을 검색하고, 수신된 <Status>(501)(도 5)의 내용에 따라서 그 관리 테이블의 <Status> 필드를 갱신한다. 이어서, 처리는 단계 S210으로 진행한다.
한편, 도 2a의 단계 S107에서, 이벤트 매니저(5)가 예를 들어, 드라이버 다이얼로그, 프린트 큐 뷰 및 네트워크 디바이스 관리 소프트웨어와 같은 네트워크 디바이스로부터의 이벤트를 처리하는, 유틸리티(6) 및 어플리케이션(7) 중 어느 하 나의 소프트웨어가 활성이 아니라고 판정하면, 처리는 단계 S113(도 2b)으로 진행한다. 그 소프트웨어는 이벤트 매니저(5)에 이벤트 통지 의뢰의 등록 해제를 통지한다. 이벤트 매니저(5)가, 단계 S113에서, 유틸리티(6) 및 어플리케이션(7) 중 어느 하나로부터 이벤트 통지 의뢰의 등록 해제를 수신하면, 처리는 단계 S114로 진행한다. 단계 S114에서, 이벤트 매니저(5)는 이벤트 통지 의뢰를 발행하고 활성인 유틸리티(6) 및 어플리케이션(7)의 총수가 "0"인지의 여부를 판정한다. 단계 S114에서 결과가 "예"이면, 처리는 단계 S115로 진행하여 네트워크 디바이스(200)에 상태 통지 메시지를 SOAP 프로세서(3)를 통해 발행하고, 처리는 단계 S116으로 진행한다. 이 경우, 이벤트 매니저(5)는 상술된 도 5에 도시된 <Status> 태그(501)에 "Inactive"라고 기술한다.
이벤트 매니저(5)가 단계 S114에서 이벤트의 통지를 요구하고 활성인 유틸리티(6) 및 어플리케이션(7)의 총수가 "1"보다 크거나 같다고 판정하거나, 이벤트 매니저(5)가 단계 S113에서 유틸리티(6) 및 어플리케이션(7) 중 임의의 하나로부터 이벤트 통지 의뢰의 등록 해제를 수신하지 않으면, 처리는 어떠한 상태 통지 메시지도 발행하지 않고 단계 S116으로 진행한다. 단계 S116에서는, 이벤트 매니저(5)가 이벤트 통지 의뢰의 등록을 해제할 필요가 있는지의 여부를 판정한다. 단계 S116에서의 결과가 "예"이면, 처리는 단계 S117로 진행한다. 단계 S116에서의 결과가 "아니오"이면, 처리는 단계 S118(도 2a)로 진행한다.
이 동작에 의해, 단계 S115에서 발행된 상태 통지 메시지를 수신할 시, 네트워크 디바이스(200)는 상술된 바와 같이 단계 S208에서 그 상태 통지 메시지를 수 신한다. 단계 S209에서, 네트워크 디바이스(200)는 그 수신된 메시지의 내용에 따라서 관리 테이블의 <Status> 필드를 변경한다.
이 방식으로, 클라이언트 디바이스(100)의 이벤트 매니저(5)는 상술된 단계 S107 내지 S116의 처리를 반복하고, 이벤트 처리를 실행하는 유틸리티(6) 및 어플리케이션(7)의 동작 상태를 감시한다.
클라이언트 디바이스(100)의 동작 상태가 휴지(대기) 상태로 이행하거나 셧다운(shutdown)하는 경우에는, 처리는 도 2b의 단계 S116으로부터 단계 S117로 진행함에 유의해야 한다. 단계 S117에서, 이벤트 매니저(5)는 WS-Eventing 사양에 의해 정의된 이벤트 통지의 등록 해제 의뢰(UnSubscribe 리퀘스트)를 SOAP 프로세서(3)를 통해 네트워크 디바이스(200)에 발행한다.
이 동작에 의해, 네트워크 디바이스(200)는 단계 S210(도 3)에서 이 UnSubscribe 리퀘스트를 수신한다. 이어서, 네트워크 디바이스(200)의 이벤트 매니저(12)는 단계 S211에서 상기 관리 테이블의 UnSubscribe 리퀘스트에 기술된 SubscribeID를 참조한다. 이어서, 이벤트 매니저(12)는 대응하는 클라이언트 디바이스를 위해 관리 테이블을 검색하고, 그 대응하는 클라이언트 디바이스의 정보를 관리 테이블로부터 삭제한다.
클라이언트 디바이스(100)가 도 2a의 단계 S102에서 ProbeMatch 응답을 수신할 수 없는 경우, 처리는 단계 S118로 진행한다. 플러그 앤 플레이 컨트롤러(4)는, 클라이언트 디바이스(100)가 네트워크(300)에 참가한 네트워크 디바이스(200)로부터 송신된 Hello 메시지를 수신했는지의 여부를 감시한다. 단계 S118에서의 결과가 "예"이면, 처리는 단계 S103으로 진행하여 후속 처리를 실행한다. 클라이언트 디바이스(100)가 단계 S118에서 Hello 메시지를 수신하지 않은 경우, 처리는 단계 S107로 진행한다.
Hello 메시지는 네트워크 디바이스(200)가 활성화되어, 네트워크(300) 상에 서비스를 제공할 준비가 되어 있는 타이밍에 발행된 패킷임에 유의해야 한다. 이 경우, 이 패킷은 WS-Discovery 사양에 의해 정의되고, 도 3의 단계 S200에서 발행된다.
도 6은, 제1 실시예에 따른 네트워크 디바이스(200)에서 이벤트가 발생하는 경우의 제어 처리 절차를 도시하는 플로우차트이다.
이 플로우차트는, 네트워크 디바이스(200), 즉, 네트워크 프린터의 처리를 도시한다. 이 처리는, 잡에 관한 천이 상태의 변화와 연관된 이벤트, 에러와 연관된 이벤트, 옵션 장치의 변경과 연관된 이벤트, 설정 변경과 연관된 이벤트 등의 발생시에 할성화된다. 우선, 단계 S301에서, 소정 종류의 이벤트가 발생하는지가 판정된다. 소정 종류의 이벤트가 발생하면, 프린터 컨트롤러(13)는 이벤트 매니저(12)에 이벤트의 발생을 통지한다. 이어서 처리는 단계 S302로 진행하고, 이 통지를 수신한 이벤트 매니저(12)는 관리 테이블을 검색한다. 단계 S303에서, Subscribe 정보가 기술되고 <Status>가 "Active"인지를 판정한다. 단계 S303에서의 결과가 "예"이면, 처리는 단계 S304로 진행하여 관리 테이블에 기술된 어드레스에 대하여 이벤트의 발생을 통지한다.
이 경우, 이벤트 매니저(12)는 프린터 컨트롤러(13)에 의해 통지된 이벤트 를, WS-Eventing 사양에 의해 정의된 Notifications의 형식에 따라서 XML로 기술한다. 이벤트 매니저(12)는 그 결과의 정보를 SOAP 프로세서(10)를 통해 클라이언트 디바이스(100)에 송신한다.
단계 S303에서, Subscribe 정보가 관리 테이블에 기술되어 있지 않거나, Subscribe 정보가 관리 테이블에 기술되어 있어도 <Status>가 "InActive"라고 프린터 컨트롤러(13)가 판정한 경우에는, 처리는 단계 S304를 스킵하고 단계 S305로 진행한다. 이 동작에 의해, 이벤트 처리를 실행하는 유틸리티(6) 및 어플리케이션(7) 모두가 비활성인 클라이언트 디바이스(100)에 이벤트가 통지되지 않는다.
단계 S305에서, 이벤트 매니저(12)는, 관리 테이블에 기록된 모든 DescriptionID 정보에 관한 이벤트의 통지 처리가 완료되었는지의 여부를 판정한다. 단계 S305에서의 결과가 "아니오"이면, 처리는 단계 S302로 되돌아가서 관리 테이블을 검색하고 상기 처리를 실행하며, 그렇지 않으면 처리를 종료한다.
한편, 네트워크 디바이스(200)로부터 이벤트 통지를 수신할 시, 클라이언트 디바이스(100)의 이벤트 매니저(5)는 이벤트 통지 의뢰가 등록되어 있는 유틸리티(6) 또는 어플리케이션(7)에 수신된 이벤트 정보를 통지한다.
상술된 바와 같이, 제1 실시예에 따르면, 도 2a 및 도 2b, 도 3 및 도 6의 플로우차트에 기술된 일련의 제어 처리가 실행된다. 이는, 클라이언트 디바이스(100)에서 이벤트 처리를 실시하는 유틸리티(6) 또는 어플리케이션(7) 중 어느 하나가 활성인 경우에만, 네트워크 디바이스(200)를 제어하여 이벤트를 통지할 수 있도록 하는데, 이는 제1 실시예의 특징이다.
이는, 이벤트 통지 의뢰가 등록되어 있는 클라이언트 디바이스 중, 이벤트 처리를 수행하는 클라이언트 디바이스에만 이벤트의 발생을 통지할 수 있도록 한다. 그러므로, 불필요한 이벤트 발생의 통지를 피할 수 있다.
또한, 이벤트 통신 처리의 부하를 경감할 수 있고, 이벤트의 발생 통지를 실시간으로 제공할 수 있다.
[제2 실시예]
상술된 제1 실시예에서, 클라이언트 디바이스(100)의 이벤트 매니저(5)는 그 상위 계층에서 기능하는 유틸리티(6) 및 어플리케이션(7)의 동작 상태에 따라서, 네트워크 디바이스(200)에 상태 통지 의뢰를 발행한다.
클라이언트 디바이스(100)가, 비활성인 유틸리티(6), 어플리케이션의 수가 적은 클라이언트 디바이스라면, 네트워크 디바이스(200)에 보내진 Subscribe 정보만 사용함으로써, 이벤트 통지 의뢰를 발행할 지의 여부를 판정하도록 제어를 수행할 수 있다.
이하, 본 발명의 제2 실시예를 도 7a, 도 7b 및 도 8을 참조하여 설명한다. 제2 실시예에 따른 장치 및 시스템 구성은 제1 실시예의 구성과 동일하므로, 반복 설명은 생략한다. 도 7a 및 도 7b는 본 발명의 제2 실시예에 따른 클라이언트 디바이스(100)에서의 제어 처리를 설명하는 플로우차트이다. 도 8은 제2 실시예에 따른 네트워크 디바이스(200)에서의 제어 처리를 설명하는 플로우차트이다. 도 7a, 도 7b 및 도 8에서와 동일한 단계 번호가 도 2a, 도 2b 및 도 3의 단계 번호와 공통되는 처리를 나타내므로, 반복 설명은 생략한다.
단계 S401에서의 디바이스 정보 취득시, 클라이언트 디바이스(100)의 이벤트 매니저(5)는 그 상위 계층에서 기능하는 유틸리티(6) 및 어플리케이션(7)의 동작 상태를 감시한다.
유틸리티(6) 및 어플리케이션(7) 중 네트워크 디바이스로부터의 이벤트를 처리하는 적어도 하나의 소프트웨어, 예를 들어, 드라이버 다이얼로그, 프린터 큐 뷰 및 네트워크 디바이스 관리 소프트웨어가 활성인 경우, 그 소프트웨어는 이벤트 매니저(5)에 대하여 이벤트 통지 의뢰를 등록한다.
이러한 방식으로, 단계 S107에서, 이벤트 매니저(5)가, 유틸리티(6) 또는 어플리케이션(7)으로부터 이벤트 통지 의뢰의 등록 요구를 수신할 경우, 처리는 단계 S109로 진행한다. 단계 S109에서, 이벤트 매니저(5)는 이벤트 통지 의뢰를 발행하며 활성인 유틸리티(6) 및 어플리케이션(7)의 총수가 "1"보다 크거나 같은지를 판정한다. 단계 S109에서의 결과가 "예"이면, 처리는 단계 S402로 진행하여, 이벤트 통지 의뢰의 등록 요구(Subscribe 리퀘스트)가 발행되었는지의 여부를 판정한다. 단계 S402에서의 결과가 "아니오"이면, 처리는 단계 S403으로 진행하여, 네트워크 디바이스(200)에 WS-Eventing 사양에 의해 정의된 이벤트 통지 의뢰의 등록 요구(Subscribe 리퀘스트)를 SOAP 프로세서(3)를 통해 발행한다. 단계 S402에서, Subscribe 리퀘스트가 발행되었다고 이벤트 매니저(5)가 판정하면, 처리는 단계 S113(도 7b)로 진행함에 유의해야 한다.
도 8의 단계 S205에서, 네트워크 디바이스(200)의 이벤트 매니저(12)가 이 Subscribe 리퀘스트를 수신하는 경우, 처리는 단계 S501(도 8)로 진행하여, 클라이 언트 디바이스를 고유하게 식별하기 위한 SubscribeID를 생성한다. 이어서, 그 SubscribeID 및 Subscribe 리퀘스트에 기술된 클라이언트 디바이스(100)의 이벤트 통지처 어드레스 정보를 관리 테이블에 등록한다. 다음으로, 단계 S502에서, 이벤트 매니저(12)는 생성된 SubscribeID를 WS-Event 사양에 의해 정의된 Subscribe 응답 패킷에 기술한다. 이어서, 이벤트 매니저(12)는 Subscribe 응답을 SOAP 프로세서(10)를 통해 클라이언트 디바이스(100)에 송신한다.
이 동작에 의해, 클라이언트 디바이스(100)는, 단계 S404에서, 이 Subscribe 응답이 수신되었는지를 판정한다. 단계 S404에서의 결과가 "아니오"이면, 처리는 단계 S405로 진행하여, 에러의 통지를 제공한다. 이어서, 처리는 단계 S113(도 7b)로 진행한다. 단계 S404에서의 결과가 "예"이면, 처리는 단계 S406으로 진행하고, 이벤트 매니저(5)는 그 패킷에 기술된 SubscribeID를 저장한다. 이어서, 처리는 단계 S113(도 7b)으로 진행한다.
도 7b의 단계 S113에서, 이벤트 매니저(5)는 유틸리티(6) 및 어플리케이션(7) 중, 네트워크 디바이스(200)로부터의 이벤트를 처리하는, 예를 들어, 드라이버 다이얼로그, 프린트 큐 뷰, 네트워크 디바이스 관리 소프트웨어 등의 소프트웨어의 상태를 체크한다. 그 이벤트를 처리하는 모든 소프트웨어 조각이 종료되면, 소프트웨어는 이벤트 통지 의뢰의 등록 해제를 이벤트 매니저(5)에 통지한다.
이벤트 매니저(5)가 유틸리티(6) 및 어플리케이션(7) 중 어느 하나로부터 이벤트 통지 의뢰의 등록 해제를 수신하면, 처리는 단계 S113로부터 단계 S114로 진행한다. 단계 S114에서, 이벤트 매니저(5)는 이벤트 통지 의뢰를 발행한 활성인 유틸리티(6) 및 어플리케이션(7)의 총 수가 "0"인지의 여부를 판정한다. 단계 S114에서 "예"이면, 처리는 단계 S407(도 7b)로 진행하여, 네트워크 디바이스(200)에 WS-Eventing 사양에 의해 정의된 이벤트 통지 의뢰의 등록 해제 요구(UnSubscribe 리퀘스트)를 SOAP 프로세서(3)를 통해 발행한다.
이 동작에 의해, 네트워크 디바이스(200)의 이벤트 매니저(12)는, 도 8의 단계 S210에서 UnSubscribe 리퀘스트를 수신하고, 처리는 단계 S503으로 진행한다. 단계 S503에서, 이벤트 매니저(12)는 상기 관리 테이블에서 UnSubscribe 리퀘스트에 기술된 SubscribeID를 참조한다. 이어서, 이벤트 매니저(12)는 대응하는 클라이언트 디바이스의 정보를 위해 관리 테이블을 검색하고, 대응하는 클라이언트 디바이스의 정보를 관리 테이블로부터 삭제한다.
이러한 방식으로, 네트워크 디바이스(200)에 이벤트가 발생하는 경우, 이벤트 매니저(12)는 관리 테이블을 검색한다. Subscribe 정보가 그 테이블에 기술되어 있는 경우, 이벤트 매니저(12)는 관리 테이블에 기술한 어드레스에 대하여 이벤트 발생의 통지를 제공한다.
상기 처리는, 이벤트 처리를 실시할 수 있는 유틸리티(6) 또는 어플리케이션(7) 중 적어도 하나가 클라이언트 디바이스(100)에서 활성인 경우에만, 네트워크 디바이스(200)에 이벤트 통지 의뢰를 발행할 수 있다.
이것은, 이벤트 통지 의뢰가 등록되어 있는 클라이언트 디바이스 중, 이벤트 처리를 수행할 준비가 되어 있는 클라이언트 디바이스에만 이벤트의 발생 통지를 제공하도록 할 수 있다. 그러므로, 불필요한 이벤트 발생의 통지를 피할 수 있다.
또한, 이벤트 통신 처리의 부하를 경감시킬 수 있고, 이벤트 발생 통지를 실시간으로 제공할 수 있다.
상술된 제1 및 제2 실시예에서, 도 2b의 단계 S111, S115에서, 이벤트 매니저(5)는, 이벤트를 처리할 수 있는 유틸리티(6) 및 어플리케이션(7)의 동작 상태에 따라서, 네트워크 디바이스(200)에 상태 통지 메시지를 발행한다.
클라이언트 디바이스(100)가 복수의 유틸리티(6) 및 어플리케이션(7)을 동시에 실행할 수 있고, 각각의 소프트웨어 프로그램이 윈도우 형식으로 사용자 인터페이스를 디스플레이하는 기능을 갖는 것으로 가정한다. 이 경우, 이벤트 매니저(5)에 이벤트 통지 의뢰를 등록하도록 요구할 수 있으며, 심지어 대응하는 소프트웨어가 활성이라도 그 대응하는 소프트웨어용의 윈도우에 초점이 맞춰지는지(즉, 활성인지)의 여부를 이벤트 매니저(5)가 감시하도록 할 수 있다. 이벤트 통지 의뢰를 발행한 유틸리티(6) 및 어플리케이션(7) 중 윈도우에 초점이 맞춰진 소프트웨어 조각의 총 수가 "1"보다 크거나 같으면, 이벤트 매니저(5)가 네트워크 디바이스(200)에 상태 통지 메시지를 발행한다. 이는, 이벤트 처리를 실행하는 유틸리티(6) 및 어플리케이션(7) 중 적어도 하나가 클라이언트 디바이스(100)에서 활성이고, 그 소프트웨어의 사용자 인터페이스인 윈도우에 초점이 맞춰지는 경우에만 요구된 이벤트 발생의 통지를 제공할 수 있다.
제1 및 제2 실시예에 따르면, 이벤트 처리를 실행하는 유틸리티(6) 및 어플리케이션(7) 모두가 클라이언트 디바이스(100)에서 비활성인 경우에, 네트워크 디바이스(200)는, 어떤 이벤트도 클라이언트 디바이스(100)에 통지하지 않는다. 그 러나, 중요한 에러 상태 및 디바이스의 구성 변경과 연관된 상태 변화 등의 소정의 이벤트 발생을, 상기 유틸리티(6) 또는 어플리케이션(7)이 활성인지의 여부와 무관하게, 클라이언트 디바이스(100)에 통지할 수 있다.
또한, 상술된 제1 및 제2 실시예는, 네트워크 디바이스를 검색하고, 네트워크 디바이스가 네트워크에 참가하는 것을 통지하고, 이벤트를 등록 및 통지하는 수단으로서, WS-Discovery 및 WS-Eventing 사양에 의해 정의된 프로토콜을 사용한다. 그러나, 본 발명은 이것에 한정되는 것이 아니다. 예를 들면, UPnP(tm)v1에 의해 정의된 SSDP(Simple Sevice Discovery Protocol), 및 GENA(General Event Notification Architecture)를 이용하기에 충분하다.
네트워크 디바이스의 검색 프로토콜로서, 본 발명은 네트워크 디바이스의 속성 정보를 취득하기 위한 어드레스, 및 네트워크 디바이스를 제어하기 위한 제어 정보 송신처를 취득할 수 있는 임의의 프로토콜을 이용할 수 있다.
이벤트의 등록/통지 수단으로서, 본 발명은 네트워크를 통해 이벤트의 통지 의뢰를 발행하여 이벤트 송신처에 통지할 수 있으며, 또한, 이벤트 통지 의뢰를 발행한 의뢰처에 발생된 이벤트를 송신할 수도 있는 임의의 프로토콜을 사용할 수 있다.
제1 및 제2 실시예에서는, 네트워크 디바이스로서 프린터를 예시한다. 그러나, 네트워크 디바이스는, 통신 채널을 통해 이용되고 제어될 수 있는 디바이스라면, 복사기, 스캐너, 또는 저장 장치 등의 사무 장비 또는 TV 세트, 냉장고, 또는 에어컨 등의 가전 제품이 될 수 있다.
상기 실시예들에 따른, 클라이언트 디바이스(100) 및 네트워크 디바이스(200)에서의 각 처리 기능은, 각 처리 기능을 구현하는 프로그램을 판독하고, CPU(중앙 처리 장치)가 이들을 실행하도록 함으로써 구현된다. 그러나, 본 발명은 이에 제한되는 것이 아니며, 처리 기능의 일부 또는 전부가 전용 하드웨어에 의해 구현될 수 있다. 또한, 메모리는 광 자기 디스크 등의 불휘발성 메모리, CD-ROM 등의 판독가능 저장 매체, RAM 이외의 휘발성의 메모리 또는 이들의 조합을 포함하는 컴퓨터 판독가능/기입가능 저장 매체일 수 있다.
클라이언트 디바이스(100) 및 네트워크 디바이스(200)에서 각 기능을 구현하기 위한 프로그램을 컴퓨터 판독가능한 저장 매체에 저장하고, 컴퓨터 시스템이 그 프로그램을 판독 및 실행하도록 함으로써 각 처리를 수행할 수 있다. 이 경우의 "컴퓨터 시스템"이 주변 장치 등의 0S 및 하드웨어를 포함함에 유의해야 한다. 보다 구체적으로는, 저장 매체로부터 판독된 프로그램은 컴퓨터에 삽입된 기능 확장 보드 또는 컴퓨터에 접속된 기능 확장 유닛의 메모리에 기입된다. 이어서, 프로그램의 명령에 기초하여, 기능 확장 보드 또는 기능 확장 유닛의 CPU가 실제 처리의 일부 또는 전부를 실행함에 의해, 상기 실시예들의 기능을 구현한다.
또한, "컴퓨터 판독가능한 저장 매체"는, 플렉시블 디스크, 광 자기 디스크, ROM, 또는 CD-ROM 등의 휴대용 매체, 또는 컴퓨터 시스템에 내장된 하드디스크 등의 저장 디바이스이다. 또한, "컴퓨터 판독가능 저장 매체"는, 소정 기간 동안 프로그램을 유지하고 있는 매체, 예를 들어, 인터넷 등의 네트워크 또는 전화 회선 등의 통신 회선을 통해 프로그램이 송신되는 서버, 또는 클라이언트로서 역할을 하 는 컴퓨터 시스템 내의 휘발성 메모리(RAM)가 될 수 있다.
상기 송신 매체를 통해 또는 송신 매체 내의 반송파를 통해, 상기 프로그램을 저장 디바이스 등에 저장하는 컴퓨터 시스템으로부터 또 다른 컴퓨터 시스템에 상기 프로그램들을 송신할 수 있다. 이 경우, "송신 매체"는, 예를 들어, 인터넷 등의 네트워크 또는 전화 회선 등의 통신 회선과 같은 송신 정보의 기능을 갖는 매체이다.
상기 프로그램들 각각은, 상술된 기능들 중 대응하는 것의 일부를 구현하는 것일 수 있거나 컴퓨터 내에 이미 기록되어 있는 프로그램과의 조합으로 기능을 구현할 수 있는 것, 즉 차분 파일(차분 프로그램)일 수 있다.
또한, 상기 프로그램을 저장한 컴퓨터 판독가능한 저장 매체 등의 프로그램 제품이 본 발명의 실시예로서 적용될 수 있다. 본 발명의 범위는 상기 프로그램, 저장 매체, 송신 매체 및 프로그램 제품을 포함하고 있다.
본 발명의 실시예가 상세히 설명되었지만, 본 발명의 구체적인 구성은 본 실시예들에 한정되는 것이 아니다.
본 발명이 예시적인 실시예들을 참조하여 기술하였지만, 본 발명은 개시된 예시적인 실시예들로 한정되는 것이 아님을 이해해야 한다. 이하의 특허청구범위는 그러한 모든 변경들 및 등가 구조 및 기능을 포함하기 위해 가장 넓게 해석되어야 한다.
도 1은 본 발명의 예시적인 실시예에 따른 네트워크 플러그 앤 플레이 시스템의 구성을 도시하는 블록도.
도 2a 및 도 2b는 본 발명의 제1 실시예에 따른 클라이언트 디바이스에서의 제어 처리를 설명하는 플로우차트.
도 3은 제1 실시예에 따른 네트워크 디바이스에서의 제어 처리를 설명하는 플로우차트.
도 4는 상기 실시예에 따른 관리 테이블의 포맷을 기술하는 XML 데이터를 도시한 도면.
도 5는 본 실시예에 따른 상태 통지 메시지의 포맷을 나타내는 도면.
도 6은 제1 실시예에 따른 네트워크 디바이스에서 이벤트가 발생했을 경우의 제어 처리 흐름을 도시하는 플로우차트.
도 7a 및 도 7b는 본 발명의 제2 실시예에 따른 클라이언트 디바이스에서의 제어 처리를 설명하는 플로우차트.
도 8은 제2 실시예에 따른 네트워크 디바이스에서의 제어 처리를 설명하는 플로우차트.
<도면의 주요 부분에 대한 부호의 설명>
10O: 클라이언트 디바이스
1: TCP/UDP/IP 프로토콜 스택
2: HTTP 프로세서
3: SOAP(Simple Object Access Protocol) 프로세서
4: 플러그 앤 플레이 컨트롤러
5: 이벤트 매니저
6: 유틸리티
7: 어플리케이션
200: 네트워크 디바이스
8: 프로토콜 스택
9: HTTP 프로세서
10: SOAP 프로세서
11: WSD 모듈
12: 이벤트 매니저
13: 프린터 컨트롤러
300: 네트워크

Claims (25)

  1. 클라이언트 장치, 및 상기 클라이언트 장치와 통신하여 서비스를 제공하는 서비스 제공 장치를 포함하는 통신 시스템으로서,
    상기 클라이언트 장치는,
    상기 서비스 제공 장치에 이벤트의 발생을 통지할 것을 요구하는 통지 의뢰를 발행하는 통지 의뢰 수단,
    상기 서비스 제공 장치로부터 통지된 이벤트를 처리하는 이벤트 처리 수단, 및
    상기 이벤트 처리 수단이 활성 상태임을 상기 서비스 제공 장치에 통지하는 제1 통지 수단
    을 포함하고,
    상기 서비스 제공 장치는,
    상기 이벤트가 발생한 경우, 상기 통지 의뢰 수단으로부터의 통지 의뢰 및 상기 제1 통지 수단으로부터의 상기 이벤트 처리 수단이 활성 상태임을 지시하는 통지에 기초하여, 상기 통지 의뢰 수단이 통지 의뢰를 발행하고 상기 이벤트 처리 수단이 활성 상태인 클라이언트 장치에 상기 이벤트의 발생을 통지하는 제2 통지 수단
    을 포함하는 통신 시스템.
  2. 제1항에 있어서,
    상기 제1 통지 수단은, 상기 통지 의뢰 수단이 상기 통지 의뢰를 발행한 후에, 상기 이벤트 처리 수단이 활성 상태임을 상기 서비스 제공 장치에 통지하는 통신 시스템.
  3. 제1항에 있어서,
    상기 서비스 제공 장치는, a) 상기 통지 의뢰를 발행한 클라이언트 장치의 식별 정보, b) 상기 클라이언트 장치의 어드레스, 및 c) 상기 클라이언트 장치의 상기 이벤트 처리 수단의 상태를 나타내는 정보 중 하나 이상을 관리하는 수단을 포함하는 통신 시스템.
  4. 제1항에 있어서,
    상기 클라이언트 장치는 상기 이벤트 처리 수단이 활성 상태인지 여부를 판정하는 판정 수단을 포함하고,
    상기 제1 통지 수단은, 상기 이벤트 처리 수단이 활성 상태인 것으로 상기 판정 수단이 판정한 경우에, 상기 이벤트 처리 수단이 활성 상태임을 상기 서비스 제공 장치에 통지하는 통신 시스템.
  5. 제1항에 있어서,
    상기 제2 통지 수단은, 상기 통지 의뢰 수단이 상기 통지 의뢰를 발행하고 상기 이벤트 처리 수단이 활성 상태임을 상기 제1 통지 수단이 상기 서비스 제공 장치에 통지한 클라이언트 장치에 상기 이벤트의 발생을 통지하고,
    상기 제2 통지 수단은, 상기 통지 의뢰 수단이 상기 통지 의뢰를 발행하고 상기 이벤트 처리 수단이 활성 상태임을 상기 제1 통지 수단이 상기 서비스 제공 장치에 통지하지 않은 클라이언트 장치에 상기 이벤트의 발생을 통지하지 않는 통신 시스템.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 제1 통지 수단은, 상기 서비스 제공 장치로부터 통지된 이벤트를 처리하는 적어도 하나의 이벤트 처리 수단이 활성 상태인 경우에, 상기 이벤트 처리 수단이 활성 상태임을 상기 서비스 제공 장치에 통지하는 통신 시스템.
  7. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 제1 통지 수단은, 상기 서비스 처리 장치로부터 통지된 이벤트를 처리하는 적어도 하나의 이벤트 처리 수단이 활성 상태로 천이하는 경우, 상기 이벤트 처리 수단이 활성 상태임을 상기 서비스 제공 장치에 통지하는 통신 시스템.
  8. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 제1 통지 수단은, 활성 상태인 상기 이벤트 처리 수단의 수가 O인 경우, 상기 이벤트 처리 수단이 비활성 상태임을 상기 서비스 제공 장치에 통지하는 통신 시스템.
  9. 통신 채널을 통해 서비스를 제공하는 서비스 제공 장치와 통신하는 통신 장치로서,
    상기 서비스 제공 장치에 이벤트의 발생을 통지할 것을 요구하는 통지 의뢰를 발행하는 통지 의뢰 수단,
    상기 서비스 제공 장치로부터 통지된 이벤트를 처리하는 이벤트 처리 수단, 및
    상기 이벤트 처리 수단이 활성 상태임을 상기 서비스 제공 장치에 통지하는 통지 수단
    을 포함하는 통신 장치.
  10. 제9항에 있어서,
    상기 통지 수단은, 상기 통지 의뢰 수단이 상기 통지 의뢰를 발행한 후에, 상기 이벤트 처리 수단이 활성 상태임을 상기 서비스 제공 장치에 통지하는 통신 장치.
  11. 제10항에 있어서,
    상기 이벤트 처리 수단이 활성 상태인지 여부를 판정하는 판정 수단을 더 포함하고,
    상기 통지 수단은, 상기 이벤트 처리 수단이 활성 상태인 것으로 상기 판정 수단이 판정한 경우에, 상기 이벤트 처리 수단이 활성 상태임을 상기 서비스 제공 장치에 통지하는 통신 장치.
  12. 통신 채널을 통해 클라이언트 장치와 통신하여 서비스를 제공하는 통신 장치로서,
    상기 통신 장치에 이벤트의 발생을 통지할 것을 요구하는 통지 의뢰를 클라이언트 장치로부터 수신하는 제1 수신 수단,
    클라이언트 장치로부터, 상기 통신 장치로부터 통지된 이벤트를 처리하는 이벤트 처리 수단이 상기 클라이언트 장치 내에서 활성 상태임을 나타내는 정보를 수신하는 제2 수신 수단, 및
    상기 이벤트가 발생한 경우에, 상기 제1 수신 수단에 의해서 수신된 통지 의뢰 및 상기 제2 수신 수단에 의해 수신된 정보에 기초하여, 상기 통지 의뢰를 발행하고 상기 이벤트 처리 수단이 활성 상태인 클라이언트 장치에 상기 이벤트의 발생을 통지하는 통지 수단
    을 포함하는 통신 장치.
  13. 제12항에 있어서,
    상기 통지 수단은, 상기 제1 수신 수단이 상기 통지 의뢰를 수신하고 상기 제2 수신 수단이 상기 클라이언트 장치의 상기 이벤트 처리 수단이 활성 상태임을 나타내는 상기 정보를 수신한 클라이언트 장치에는 상기 이벤트의 발생을 통지하지만,
    상기 통지 수단은, 상기 제1 수신 수단이 상기 통지 의뢰를 수신하여도 상기 제2 수신 수단이 상기 클라이언트 장치의 상기 이벤트 처리 수단이 활성 상태임을 나타내는 정보를 수신하지 않은 클라이언트 장치에는 상기 이벤트의 발생을 통지하지 않는 통신 장치.
  14. 클라이언트 장치, 및 통신 채널을 통해 상기 클라이언트 장치와 통신하여 서비스를 제공하는 서비스 제공 장치를 포함하는 통신 시스템의 제어 방법으로서,
    상기 서비스 제공 장치에 이벤트의 발생을 통지할 것을 요구하는 통지 의뢰를 상기 클라이언트 장치에 의해서 발행하는 단계,
    상기 서비스 제공 장치로부터 통지된 이벤트를 처리하는 이벤트 처리 수단이 활성 상태임을, 상기 클라이언트 장치에 의해 상기 서비스 제공 장치에 통지하는 단계, 및
    상기 이벤트가 발생한 경우에, 상기 클라이언트 장치로부터의 통지 의뢰 및 상기 이벤트 처리 수단이 활성 상태임을 나타내는 상기 클라이언트 장치로부터의 통지에 기초하여, 상기 통지 의뢰를 발행하고 상기 이벤트의 이벤트 처리 수단이 활성 상태인 클라이언트 장치에, 상기 이벤트의 발생을 상기 서비스 제공 장치에 의해 통지하는 단계
    를 포함하는 제어 방법.
  15. 제14항에 있어서,
    상기 클라이언트 장치가 상기 통지 의뢰를 발행한 후에, 상기 클라이언트 장치가, 상기 이벤트 처리 수단이 활성 상태임을 상기 서비스 제공 장치에 통지하는 제어 방법.
  16. 제14항에 있어서,
    상기 클라이언트 장치에 의해서, 상기 이벤트 처리 수단이 활성 상태인지 여부를 판정하는 판정 단계를 더 포함하고,
    상기 판정 단계에서 상기 이벤트 처리 수단이 활성 상태인 것으로 판정된 경우에, 상기 클라이언트 장치는 상기 이벤트 처리 수단이 활성 상태임을 상기 서비스 제공 장치에 통지하는 제어 방법.
  17. 제14항에 있어서,
    상기 서비스 제공 장치는, 상기 통지 의뢰를 발행하고 상기 이벤트 처리 수단이 활성임을 상기 서비스 제공 장치에 통지한 클라이언트 장치에는 상기 이벤트의 발생을 통지하고, 상기 통지 의뢰를 발행하고 상기 이벤트 처리 수단이 활성임을 상기 서비스 제공 장치에 통지하지 않은 클라이언트 장치에는 상기 이벤트의 발생을 통지하지 않는 제어 방법.
  18. 제14항 내지 제17항 중 어느 한 항에 있어서,
    상기 클라이언트 장치는, 상기 서비스 처리 장치로부터 통지된 이벤트를 처리하는 적어도 하나의 이벤트 처리 수단이 활성 상태인 경우, 상기 이벤트 처리 수단이 활성 상태임을 상기 서비스 제공 장치에 통지하는 제어 방법.
  19. 제14항 내지 제17항 중 어느 한 항에 있어서,
    상기 클라이언트 장치는, 상기 서비스 처리 장치로부터 통지된 이벤트를 처리하는 적어도 하나의 이벤트 처리 수단이 활성 상태로 천이하는 경우, 상기 이벤트 처리 수단이 활성 상태임을 상기 서비스 제공 장치에 통지하는 제어 방법.
  20. 제14항 내지 제17항 중 어느 한 항에 있어서,
    상기 클라이언트 장치는, 활성 상태인 클라이언트 장치의 상기 이벤트 처리 수단의 수가 0인 경우, 상기 이벤트 처리 수단이 비활성 상태임을 상기 서비스 제공 장치에 통지하는 제어 방법.
  21. 통신 채널을 통해 서비스를 제공하는 서비스 제공 장치와 통신하는 통신 장치의 제어 방법으로서,
    상기 서비스 제공 장치에 이벤트의 발생을 통지할 것을 요구하는 통지 의뢰를 발행하는 단계, 및
    상기 서비스 제공 장치로부터 통지된 이벤트를 처리하는 이벤트 처리 수단이 활성 상태임을 상기 서비스 제공 장치에 통지하는 단계
    를 포함하는 제어 방법.
  22. 제21항에 있어서,
    상기 통신 장치가 상기 통신 의뢰를 발행한 후에, 상기 이벤트 처리 수단이 활성 상태임을 상기 통신 장치가 상기 서비스 제공 장치에 통지하는 제어 방법.
  23. 제22항에 있어서,
    상기 이벤트 처리 수단이 활성 상태인지 여부를 판정하는 판정 단계를 더 포함하고,
    상기 통신 장치는, 상기 판정 단계에서 상기 이벤트 처리 수단이 활성 상태인 것으로 판정된 경우에, 상기 이벤트 처리 수단이 활성 상태임을 상기 서비스 제공 장치에 통지하는 제어 방법.
  24. 통신 채널을 통해 클라이언트 장치와 통신하여 서비스를 제공하는 통신 장치의 제어 방법으로서,
    클라이언트 장치로부터, 상기 통신 장치에 이벤트의 발생을 통지할 것을 요구하는 통지 의뢰를 수신하는 단계,
    클라이언트 장치로부터, 상기 통신 장치로부터 통지된 이벤트를 처리하는 이벤트 처리 수단이 상기 클라이언트 장치 내에서 활성 상태임을 나타내는 정보를 수신하는 단계, 및
    상기 이벤트가 발생한 경우에, 상기 클라이언트 장치로부터 수신된 통지 의뢰 및 상기 클라이언트 장치로부터 수신된 정보에 기초하여, 상기 통지 의뢰를 발행하고 상기 이벤트 처리 수단이 활성 상태인 클라이언트 장치에 상기 이벤트의 발생을 통지하는 단계
    를 포함하는 제어 방법.
  25. 제24항에 있어서,
    상기 통신 장치는, 상기 통신 장치가 상기 통지 의뢰 및 상기 클라이언트 장치의 상기 이벤트 처리 수단이 활성 상태임을 나타내는 정보를 수신한 클라이언트 장치에 상기 이벤트의 발생을 통지하고,
    상기 통신 장치는, 상기 통신 장치가 상기 통지 의뢰는 수신하였지만 상기 클라이언트 장치의 상기 이벤트 처리 수단이 활성 상태임을 나타내는 정보를 수신하지 않은 클라이언트 장치에는 상기 이벤트의 발생을 통지하지 않는 제어 방법.
KR1020070088660A 2006-09-01 2007-08-31 통신 시스템, 통신 장치 및 그 제어 방법 KR100975162B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2006-00238173 2006-09-01
JP2006238173A JP5159071B2 (ja) 2006-09-01 2006-09-01 通信システム及び通信装置とその制御方法

Publications (2)

Publication Number Publication Date
KR20080021561A KR20080021561A (ko) 2008-03-07
KR100975162B1 true KR100975162B1 (ko) 2010-08-10

Family

ID=38922772

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070088660A KR100975162B1 (ko) 2006-09-01 2007-08-31 통신 시스템, 통신 장치 및 그 제어 방법

Country Status (7)

Country Link
US (1) US8935708B2 (ko)
EP (1) EP1895401B1 (ko)
JP (1) JP5159071B2 (ko)
KR (1) KR100975162B1 (ko)
CN (1) CN101136941B (ko)
DE (1) DE602007003644D1 (ko)
ES (1) ES2335238T3 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589866B2 (en) * 2007-08-29 2013-11-19 Ricoh Company, Ltd. Automatically generating capability-based computer peripheral device drivers
US20090190150A1 (en) * 2008-01-24 2009-07-30 Selvaraj Senthil K On-Demand Print Driver
US8271703B2 (en) * 2008-10-17 2012-09-18 Ricoh Company, Ltd. Providing device defined user interface modifiers to a computer system
US8427675B2 (en) * 2009-01-27 2013-04-23 Ricoh Company, Ltd. Automatically updating a printer driver with new printing device features
US8526020B2 (en) * 2009-03-06 2013-09-03 Ricoh Company, Ltd. Paper size support for a print system
US8520225B2 (en) * 2009-03-06 2013-08-27 Ricoh Company, Ltd. Print driver localization support from printing device to support multiple user profiles
US8773687B2 (en) 2009-03-06 2014-07-08 Ricoh Company, Ltd. Driverless architecture for printing systems
US20100225958A1 (en) * 2009-03-06 2010-09-09 Selvaraj Senthil K Approach For Printing To Web Services-Enabled Printing Devices
JP5537160B2 (ja) 2010-01-05 2014-07-02 キヤノン株式会社 イベント代行通知装置及びその制御方法とそのプログラム
KR20120139574A (ko) * 2011-06-17 2012-12-27 삼성전자주식회사 UPnP 기반 디바이스 간 데이터 교환 장치 및 방법
KR101334718B1 (ko) * 2011-11-29 2013-11-29 한국과학기술정보연구원 이벤트 기반 서비스 제공 시스템 및 방법
JP5378554B2 (ja) 2012-01-30 2013-12-25 京セラドキュメントソリューションズ株式会社 ネットワークにおけるイベント通知システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6734985B1 (en) * 1998-08-25 2004-05-11 Canon Kabushiki Kaisha Printing apparatus, printing system and method of controlling same
US20060077413A1 (en) * 2004-10-08 2006-04-13 Sharp Laboratories Of America, Inc. Methods and systems for imaging device job management

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962524A (ja) * 1995-08-18 1997-03-07 Internatl Business Mach Corp <Ibm> 分散演算環境におけるイベント管理方法及びシステム
US6859829B1 (en) * 1999-02-23 2005-02-22 Microsoft Corp. Method and mechanism for providing computer programs with computer system events
JP3963057B2 (ja) * 1999-07-29 2007-08-22 カシオ電子工業株式会社 プリンタシステム
US6751657B1 (en) * 1999-12-21 2004-06-15 Worldcom, Inc. System and method for notification subscription filtering based on user role
WO2002103960A2 (en) * 2001-06-14 2002-12-27 Okena, Inc. Stateful distributed event processing and adaptive security
US7207008B1 (en) * 2001-09-12 2007-04-17 Bellsouth Intellectual Property Corp. Method, system, apparatus, and computer-readable medium for interactive notification of events
US7386859B2 (en) * 2002-05-28 2008-06-10 Microsoft Corporation Method and system for effective management of client and server processes
US9886309B2 (en) 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources
US7356540B2 (en) * 2002-07-03 2008-04-08 Smith David E A Data storage and retrieval system
JP4040396B2 (ja) * 2002-08-29 2008-01-30 キヤノン株式会社 通知方法、情報処理装置及び制御プログラム
JP2004199382A (ja) * 2002-12-18 2004-07-15 Fuji Xerox Co Ltd 通知源サーバ装置、クライアント装置、イベント通知制御方法
US7418486B2 (en) 2003-06-06 2008-08-26 Microsoft Corporation Automatic discovery and configuration of external network devices
US20060056285A1 (en) * 2004-09-16 2006-03-16 Krajewski John J Iii Configuring redundancy in a supervisory process control system
US20060253593A1 (en) * 2005-05-03 2006-11-09 Jack Jachner Communication system and method for determining next joint availability using presence information
US8194680B1 (en) * 2009-03-11 2012-06-05 Amazon Technologies, Inc. Managing communications for modified computer networks
US9817695B2 (en) * 2009-04-01 2017-11-14 Vmware, Inc. Method and system for migrating processes between virtual machines
US8533343B1 (en) * 2011-01-13 2013-09-10 Google Inc. Virtual network pairs
JP5772395B2 (ja) * 2011-08-29 2015-09-02 富士通株式会社 送信レート制御のためのプログラム、制御方法及び情報処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6734985B1 (en) * 1998-08-25 2004-05-11 Canon Kabushiki Kaisha Printing apparatus, printing system and method of controlling same
US20060077413A1 (en) * 2004-10-08 2006-04-13 Sharp Laboratories Of America, Inc. Methods and systems for imaging device job management

Also Published As

Publication number Publication date
CN101136941B (zh) 2011-06-15
KR20080021561A (ko) 2008-03-07
JP2008059483A (ja) 2008-03-13
EP1895401B1 (en) 2009-12-09
EP1895401A1 (en) 2008-03-05
DE602007003644D1 (de) 2010-01-21
US20080059978A1 (en) 2008-03-06
ES2335238T3 (es) 2010-03-23
JP5159071B2 (ja) 2013-03-06
CN101136941A (zh) 2008-03-05
US8935708B2 (en) 2015-01-13

Similar Documents

Publication Publication Date Title
KR100975162B1 (ko) 통신 시스템, 통신 장치 및 그 제어 방법
JP4865299B2 (ja) 情報処理装置及び情報処理方法及びそのプログラム
US9009285B2 (en) Network system and management method therefor
US8656015B2 (en) Detecting device presence for a layer 3 connection using layer 2 discovery information
JP4667175B2 (ja) 情報処理装置、情報処理装置の制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4533247B2 (ja) サービス提供システム、サービス提供方法及びサービス提供装置
JP4868799B2 (ja) サーバ装置及びイベント通知方法
JP2006011888A (ja) 遠隔管理システム
US8676967B2 (en) Event proxy notification apparatus and method of controlling the same and program
JP2005346573A (ja) Webサービス提供方法、Webサービスシステムにおけるサーバ装置およびクライアント端末、Webサービスシステム、ならびに、Webサービスプログラムおよび記録媒体
JP2007280114A (ja) 情報処理装置及び情報処理方法
JP2008197828A (ja) 機器管理装置、機器管理システム、機器管理方法及び機器管理プログラム
JP2007293503A (ja) デバイス、その制御方法、及びプログラム
JP2005352890A (ja) サービス提供システム、サービス提供方法及びそのプログラム
JP2009294863A (ja) イベントサービス振り分けシステム、イベントサービス振り分け装置、及び、イベントサービス振り分け方法
JP4912093B2 (ja) 情報処理方法、情報処理装置、プログラム及び記憶媒体
JP6362102B2 (ja) 管理装置及び制御方法
US7933973B2 (en) Obje network device service apparatus and method in UPnP network system
JP2011114805A (ja) 通信装置及び方法、並びにプログラム
JP2008181487A (ja) 装置とファシリティマネージャ内のディスカバリ機能の統合
WO2007097883A1 (en) Object-oriented discovery framework
JP2006092291A (ja) コンピュータシステムの制御方法およびコンピュータシステム
JP2011209820A (ja) 画像形成システム、機器検索方法、および画像形成装置
JP2004348766A (ja) メモリ管理装置、プロキシサーバ、メモリ管理プログラム及びサーバ用プログラム、並びにメモリ管理方法
JP2003233531A (ja) メモリ管理装置、プロキシサーバ、メモリ管理プログラム及びサーバ用プログラム、並びにメモリ管理方法

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130726

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140728

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150727

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160725

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170725

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180725

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190806

Year of fee payment: 10