JP2007156691A - Network relay compatible with network-type plug and play - Google Patents

Network relay compatible with network-type plug and play Download PDF

Info

Publication number
JP2007156691A
JP2007156691A JP2005349155A JP2005349155A JP2007156691A JP 2007156691 A JP2007156691 A JP 2007156691A JP 2005349155 A JP2005349155 A JP 2005349155A JP 2005349155 A JP2005349155 A JP 2005349155A JP 2007156691 A JP2007156691 A JP 2007156691A
Authority
JP
Japan
Prior art keywords
network
service
description
mfp
control unit
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2005349155A
Other languages
Japanese (ja)
Inventor
Yasuhiro Oshima
康裕 大島
Yoji Takada
庸司 高田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005349155A priority Critical patent/JP2007156691A/en
Priority to EP06256069A priority patent/EP1793565A1/en
Priority to US11/607,648 priority patent/US7594040B2/en
Publication of JP2007156691A publication Critical patent/JP2007156691A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technique capable of reducing drop in communication efficiency, when a service device is not operated normally, in a network compatible with a network-type plug and play. <P>SOLUTION: A device unit has the N-number (N is an integer of 1 or larger) of service devices. A network relay device, compatible with the network-type plug and play, is provided with a description preparing part for preparing a device description for describing the service devices included in the network-type plug and play, and for supplying the device description, in response to a request from a client over a network. The description preparing part prepares the device description that does not include the description of the inoperable service device to be supplied to the client, when one or more of the service devices are inoperable from among the N-number of service devices included in the device unit. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

この発明は、ネットワーク型プラグアンドプレイに対応したネットワーク中継装置の制御技術に関する。   The present invention relates to a control technology for a network relay device that supports network type plug and play.

プラグアンドプレイは、よく知られているように、コンピュータの起動後に、周辺装置を任意のタイミングでコンピュータに接続したり、コンピュータから切断したりすることができる技術である。近年では、プラグアンドプレイ技術をネットワークに適用したものとして、ユニバーサルプラグアンドプレイ(以下、「UPnP」と呼ぶ。UPnPは UPnP Implementers Corporationの商標)が開発されてきている。UPnPを用いると、ネットワーク装置を任意のタイミングでネットワークに接続したり、ネットワークから切断したりすることができる。本明細書では、UPnPのように、ネットワークにおいてプラグアンドプレイを実現するアーキテクチャを、「ネットワーク型プラグアンドプレイ」と呼ぶ。   As is well known, plug and play is a technique that allows a peripheral device to be connected to or disconnected from a computer at an arbitrary timing after the computer is started. In recent years, Universal Plug and Play (hereinafter referred to as “UPnP”, UPnP is a trademark of UPnP Implementers Corporation) has been developed as an application of plug and play technology to a network. When UPnP is used, the network device can be connected to the network or disconnected from the network at an arbitrary timing. In this specification, an architecture that implements plug and play in a network, such as UPnP, is referred to as “network type plug and play”.

特開2001−290724JP 2001-290724 A

UPnP対応のネットワーク装置は、種々のサービスデバイスとして機能することが可能である。ここで、「サービスデバイス」とは、外部からの要求に応じてサービスを提供するデバイスを意味している。サービスデバイスは、プリンタや、スキャナ、ファクシミリ、コピー機、記憶装置、カメラ、時計などの種々の装置(「デバイスユニット」と呼ぶ)として実現可能である。また、1つのデバイスユニットで複数のサービスデバイスの機能を実現することも可能である。   A UPnP-compatible network device can function as various service devices. Here, “service device” means a device that provides a service in response to an external request. The service device can be realized as various devices (referred to as “device units”) such as a printer, a scanner, a facsimile, a copier, a storage device, a camera, and a clock. It is also possible to realize the functions of a plurality of service devices with one device unit.

ところで、UPnP非対応のデバイスユニットも、UPnPプロトコルに対応したネットワーク中継装置を用いることによって、UPnPプロトコル対応のデバイスとして利用したいという要望がある。しかし、従来は、このような中継装置をどのように実現すべきかについては検討が十分になされていないのが実情であった。例えば、サービスデバイスが正常に稼働していない場合に、他のクライアントにどのようにその状況を通知するかに関しては、十分に工夫されていなかった。この結果、サービスデバイスが正常に稼働していないときにも、クライアントがそのサービスデバイスを利用しようとするために無駄な通信が発生してしまい、ネットワークの通信効率を低下させるという問題があった。   By the way, a device unit that does not support UPnP is also desired to be used as a device that supports UPnP protocol by using a network relay device that supports UPnP protocol. However, in the past, the actual situation is that there has been no sufficient study on how to implement such a relay device. For example, when the service device is not operating normally, how to notify the situation to other clients has not been sufficiently devised. As a result, there is a problem that even when the service device is not operating normally, useless communication occurs because the client tries to use the service device, thereby reducing the communication efficiency of the network.

本発明は、ネットワーク型プラグアンドプレイに対応したネットワークにおいて、サーバイスデバイスが正常に稼働していない場合の通信効率の低下を低減できる技術を提供することを目的とする。   An object of the present invention is to provide a technique capable of reducing a decrease in communication efficiency when a server device is not operating normally in a network compatible with network type plug and play.

本発明の装置は、ネットワーク上のクライアントからの要求に応じてサービスを提供するN個(Nは1以上の整数)のサービスデバイスを有するデバイスユニットと、前記ネットワークとの間を中継するためのネットワーク型プラグアンドプレイに対応したネットワーク中継装置であって、
前記ネットワーク中継装置に接続されている前記デバイスユニットに含まれるサービスデバイスを記述するデバイスディスクリプションを作成し、ネットワーク上のクライアントからの要求に応じて前記デバイスディスクリプションを供給するディスクリプション作成部を備え、
前記ディスクリプション作成部は、前記デバイスユニットが有する前記N個のサービスデバイスのうちの1つ以上のサービスデバイスが稼働不能なときに、稼働不能なサービスデバイスの記述を含まないデバイスディスクリプションを作成して前記クライアントに供給する。
The apparatus of the present invention is a network for relaying between a device unit having N (N is an integer of 1 or more) service devices that provide a service in response to a request from a client on the network and the network. Network relay device that supports plug-and-play
A description creation unit that creates a device description describing a service device included in the device unit connected to the network relay device and supplies the device description in response to a request from a client on the network; ,
The description creation unit creates a device description that does not include a description of an inoperable service device when one or more service devices of the N service devices of the device unit are inoperable. To the client.

この装置によれば、稼働不能なサービスデバイスの記述を含まないデバイスディスクリプションを作成してクライアントに供給するので、クライアントはこのデバイスディスクリプションから稼働不能なサービスデバイスを認識することができる。従って、サーバイスデバイスが正常に稼働していない場合に、クライアントがそのサービスデバイスにアクセスすることを防止できるので、通信効率の低下を低減できる。   According to this apparatus, since a device description that does not include a description of an inoperable service device is created and supplied to the client, the client can recognize the inoperable service device from the device description. Therefore, when the server device is not operating normally, it is possible to prevent the client from accessing the service device, so that a reduction in communication efficiency can be reduced.

前記ディスクリプション作成部は、前記N個のサービスデバイスのすべてが稼働不能なときには、クライアントに提供するサービスを持たないベーシックデバイスのみを有するように前記デバイスディスクリプションを作成するものとしてもよい。   The description creation unit may create the device description so as to have only a basic device having no service to be provided to the client when all of the N service devices cannot be operated.

この構成によれば、1つのデバイスユニット内のすべてのサービスデバイスが稼働不能であることをクライアントがデバイスディスクリプションから認識できるので、不要なアクセスを防止でき、通信効率の低下を低減できる。   According to this configuration, since the client can recognize from the device description that all the service devices in one device unit cannot be operated, unnecessary access can be prevented and a reduction in communication efficiency can be reduced.

前記稼働不能なサービスデバイスは、
(i)前記デバイスユニットの電源オフと、
(ii)前記デバイスユニットと前記ネットワーク中継装置との間の接続の喪失と、
(iii)個々のサービスデバイスにおける不具合の発生によるサービスデバイスの動作不能と、
のいずれかによって発生するものとしてもよい。
The inoperable service device is
(I) powering off the device unit;
(Ii) loss of connection between the device unit and the network relay device;
(Iii) Inability of the service device to operate due to the occurrence of a failure in each service device;
It may be generated by any of the above.

前記ネットワーク中継装置は、
前記ディスクリプション作成部を含み、前記デバイスユニットとの間で情報を交換することによって前記デバイスユニットを動作させるデバイス制御部と、
前記ネットワークと前記デバイス制御部との間に接続され、メッセージヘッダとメッセージボディとを有するメッセージを前記ネットワーク上のクライアントから受信するとともに、前記メッセージボディの情報を前記デバイス制御部に転送するネットワークプロトコル制御部と、
を備え、
前記ネットワークプロトコル制御部は、前記クライアントから受信した前記メッセージボディの内容を解釈すること無く前記ネットワーク型プラグアンドプレイのプロトコルに従って前記メッセージヘッダを解釈するとともに、前記ネットワーク型プラグアンドプレイのプロトコルとは異なる通信プロトコルに従って前記メッセージボディを前記デバイス制御部に送信し、
前記デバイス制御部は、前記ネットワークプロトコル制御部から受信した前記メッセージボディの内容を解釈するとともに、前記解釈の結果に応じて前記サービスデバイスにサービスを実行させるものとしてもよい。
The network relay device is:
A device control unit that includes the description creation unit and operates the device unit by exchanging information with the device unit;
Network protocol control connected between the network and the device control unit, receiving a message having a message header and a message body from a client on the network, and transferring information of the message body to the device control unit And
With
The network protocol control unit interprets the message header according to the network type plug and play protocol without interpreting the content of the message body received from the client, and is different from the network type plug and play protocol. Sending the message body to the device controller according to a communication protocol;
The device control unit may interpret the content of the message body received from the network protocol control unit and cause the service device to execute a service according to the result of the interpretation.

この構成によれば、ネットワークプロトコル制御部がメッセージボディの内容を解釈すること無くヘッダを解釈してメッセージボディをデバイス制御部に送信するので、ネットワークプロトコル制御部における制御が、デバイスユニットに実装されているサービスデバイスの種類や数に依存しない。この結果、ネットワークプロトコル制御部における制御を単純化することができる。   According to this configuration, the network protocol control unit interprets the header without interpreting the content of the message body and transmits the message body to the device control unit. Therefore, the control in the network protocol control unit is implemented in the device unit. It does not depend on the type or number of service devices. As a result, the control in the network protocol control unit can be simplified.

なお、本発明は、種々の形態で実現することが可能であり、例えば、ネットワーク装置、ネットワークプロトコル制御装置、それらの装置の制御方法及び制御装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。   Note that the present invention can be realized in various forms, for example, a network device, a network protocol control device, a control method and control device for those devices, and a function of those methods or devices. The present invention can be realized in the form of a computer program, a recording medium recording the computer program, a data signal including the computer program and embodied in a carrier wave, and the like.

次に、本発明の実施の形態を以下の順序で説明する。
A.用語の説明:
B.システムの概要:
C.複合機のデバイス構成及びデバイスディスクリプション:
D.第1実施例:
E.第2実施例:
F.第3実施例:
G.変形例:
Next, embodiments of the present invention will be described in the following order.
A. Explanation of terms:
B. System overview:
C. Device configuration of device and device description:
D. First embodiment:
E. Second embodiment:
F. Third embodiment:
G. Variation:

A.用語の説明:
以下の説明で使用する用語の意味は以下の通りである。
・DHCP(Dynamic Host Configuration Protocol):ダイナミックホストコンフィギュレーションプロトコル。動的にIPアドレスを割り当てるプロトコル。
・GENA(General Event Notification Architecture):一般イベント通知アーキテクチャ。UPnPアーキテクチャにおいてイベントを発行する際に使用される。
・HTTP(HyperText Transfer Protocol):ハイパーテキスト転送プロトコル。
・HTTPMU(HTTP Multicast over UDP):UDP(User Datagram Protocol)を用いたHTTPマルチキャスト。
・HTTPU(HTTP(unicast) over UDP):UDPを用いたHTTPユニキャスト。
・MFP(Multi Function Peripheral):複数のデバイスの機能を有する複合周辺装置。
・SOAP(Simple Object Access Protocol):シンプルオブジェクトアクセスプロトコル。UPnPアーキテクチャにおいて、RPC(リモートプロシージャコール)によるアクションの要求とレスポンスとに使用される。
・SSDP(Simple Service Discovery Protocol):シンプルサービス検出プロトコル。UPnPアーキテクチャにおいて、サービスのディスカバリ(検出)に使用される。
・UPnP(Universal Plug and Play):ユニバーサルプラグアンドプレイ(UPnPは UPnP Implementers Corporationの商標)。
・URI(Uniform Resource Identifier):ユニフォームリソース識別子。URL(Uniform Resouce Locator)の上位概念であり、リソースの固有の位置を示す識別子。
・XHTML(eXtensible HyperText Markup Language):拡張ハイパーテキストマークアップ言語。HTMLと互換性を有する文書記述言語の一種であり、XMLの実装の一形態である。後述するXHTML−printは、XHTML文書を印刷するための仕様である。
・XML(eXtensible Markup Language):拡張マークアップ言語。
A. Explanation of terms:
The meanings of the terms used in the following description are as follows.
DHCP (Dynamic Host Configuration Protocol): Dynamic host configuration protocol. A protocol that dynamically assigns IP addresses.
GENA (General Event Notification Architecture): General event notification architecture. Used when issuing events in the UPnP architecture.
HTTP (HyperText Transfer Protocol): Hypertext transfer protocol.
HTTP MU (HTTP Multicast over UDP): HTTP multicast using UDP (User Datagram Protocol).
HTTPPU (HTTP (unicast) over UDP): HTTP unicast using UDP.
MFP (Multi Function Peripheral): a composite peripheral device having a plurality of device functions
SOAP (Simple Object Access Protocol): Simple object access protocol. In UPnP architecture, it is used for requesting and responding to actions by RPC (Remote Procedure Call).
SSDP (Simple Service Discovery Protocol): Simple service discovery protocol. In the UPnP architecture, it is used for service discovery.
UPnP (Universal Plug and Play): Universal Plug and Play (UPnP is a trademark of UPnP Implementers Corporation).
URI (Uniform Resource Identifier): Uniform resource identifier. An identifier that is a superordinate concept of URL (Uniform Resource Locator) and indicates a unique position of a resource.
XHTML (eXtensible HyperText Markup Language): An extended hypertext markup language. It is a kind of document description language compatible with HTML, and is a form of XML implementation. XHTML-print described later is a specification for printing an XHTML document.
XML (eXtensible Markup Language): An extensible markup language.

なお、UPnPでは上述した多数のプロトコルが使用されるが、以下ではこれらを総称して「UPnPプロトコル」と呼ぶ。   Although many of the above-described protocols are used in UPnP, these are hereinafter collectively referred to as “UPnP protocol”.

B.システムの概要:
図1は、本発明の実施例を適用するネットワークシステムの構成を示す概念図である。このネットワークシステムは、パーソナルコンピュータ100と、デジタルカメラ110と、デジタルTVセット120と、画像サーバ130と、中継ユニット600とがLANを介して相互に接続された構成を有している。中継ユニット600は、複合機800に接続されている。複合機800自体はUPnPプロトコルに非対応であるが、中継ユニット600がUPnPプロトコルに従った処理を実行する。従って、中継ユニット600と複合機800とで構成される装置900は、UPnP対応のネットワーク装置として機能することができる。LANは、IEEE802.3のような有線ネットワークでも、IEEE802.11b/g/aなどの無線ネットワークでもよい。デジタルカメラ110と、デジタルTVセット120とは、UPnP対応のネットワーク装置である。デジタルカメラ110とTVセット120は、UPnPアーキテクチャにおけるコントロールポイント110C,120Cを備えている。UPnPアーキテクチャ及びコントロールポイントについては後述する。パーソナルコンピュータ100と画像サーバ130もこのネットワークシステムの構成要素の1つであるが、UPnPには対応していない。
B. System overview:
FIG. 1 is a conceptual diagram showing a configuration of a network system to which an embodiment of the present invention is applied. This network system has a configuration in which a personal computer 100, a digital camera 110, a digital TV set 120, an image server 130, and a relay unit 600 are connected to each other via a LAN. The relay unit 600 is connected to the multi-function device 800. The MFP 800 itself does not support the UPnP protocol, but the relay unit 600 executes processing according to the UPnP protocol. Therefore, the device 900 including the relay unit 600 and the multifunction device 800 can function as a UPnP compatible network device. The LAN may be a wired network such as IEEE 802.3 or a wireless network such as IEEE 802.11b / g / a. The digital camera 110 and the digital TV set 120 are UPnP compatible network devices. The digital camera 110 and the TV set 120 include control points 110C and 120C in the UPnP architecture. The UPnP architecture and control points will be described later. The personal computer 100 and the image server 130 are also components of this network system, but do not support UPnP.

パーソナルコンピュータ100は、プリンタドライバ100Dを用いて画像の印刷データを作成し、LANを介してこの印刷データを中継ユニット600を介して複合機800に転送して印刷を実行させる機能を有している。この印刷処理の際には、複合機800は通常のネットワークプリンタとして機能する。一方、コントロールポイント(例えば110C)からの要求に従って印刷を行う場合には、複合機800と中継ユニット600とで構成されるネットワーク装置900がUPnP対応のプリンタデバイスとして機能する。   The personal computer 100 has a function of creating print data of an image using the printer driver 100D, and transferring the print data to the multi-function device 800 via the relay unit 600 via the LAN to execute printing. . During this printing process, the multi-function device 800 functions as a normal network printer. On the other hand, when printing is performed in accordance with a request from a control point (for example, 110C), the network device 900 including the multifunction device 800 and the relay unit 600 functions as a UPnP compatible printer device.

中継ユニットは、MFPサーバ300と、MFPデバイス制御ユニット700とを有している。MFPサーバ300は、LAN上の他の装置とMFPデバイス制御ユニット700との間で交換されるメッセージを仲介するネットワークプロトコル制御部302としての機能を有している。後述するように、MFPサーバ300は、典型的な場合において、メッセージの転送の際にメッセージヘッダに関してUPnPのプロトコルを解釈するが、メッセージボディの解釈や処理は行わない。   The relay unit includes an MFP server 300 and an MFP device control unit 700. The MFP server 300 has a function as a network protocol control unit 302 that mediates messages exchanged between other devices on the LAN and the MFP device control unit 700. As will be described later, in a typical case, the MFP server 300 interprets the UPnP protocol with respect to the message header during message transfer, but does not interpret or process the message body.

MFPデバイス制御ユニット700は、ディスクリプション作成モジュール710と、Webアプリケーションモジュール720とを有している。ディスクリプション作成モジュール710は、UPnPプロトコルで使用されるデバイスディスクリプションやサービスディスクリプションを作成し、クライアント(コントロールポイント)からの要求に応じてこれらのディスクリプションを提供する機能を有する。Webアプリケーションモジュール720は、ネットワーク装置900の設定や利用の際に使用するための各種のWebページを作成するとともに、クライアントからの要求に応じてWebページを提供する機能を有する。これらのモジュール710,720は、コンピュータプログラムとして実装されているが、ハードウェア回路として実装することも可能である。   The MFP device control unit 700 has a description creation module 710 and a Web application module 720. The description creation module 710 has a function of creating a device description and a service description used in the UPnP protocol and providing these descriptions in response to a request from a client (control point). The web application module 720 has a function of creating various web pages for use in setting and using the network device 900 and providing web pages in response to requests from clients. These modules 710 and 720 are implemented as computer programs, but can also be implemented as hardware circuits.

MFPサーバ300とMFPデバイス制御ユニット700との間は、USB(Universal Serial Bus)で接続されており、また、MFPデバイス制御ユニット700と複合機800との間もUSBで接続されている。但し、USB以外の他の各種の物理的インタフェースを利用することも可能である。また、MFPサーバ300とMFPデバイス制御ユニット700との間は、UPnPプロトコルとは異なる通信プロトコルで接続することが可能である。   The MFP server 300 and the MFP device control unit 700 are connected by USB (Universal Serial Bus), and the MFP device control unit 700 and the multi-function device 800 are also connected by USB. However, various physical interfaces other than USB can also be used. Further, the MFP server 300 and the MFP device control unit 700 can be connected with a communication protocol different from the UPnP protocol.

複合機800は、クライアントにサービスを提供するためのサービスデバイス810,820,830と、制御部840とを備えている。ここでは、サービスデバイスとして、印刷エンジン810とスキャナエンジン820とPCカードインタフェース830が実装されている。なお、複合機800は、少なくとも1つのサービスデバイスを有していれば良く、一般には、N個(Nは1以上の整数)のサービスデバイスを有するものとして構成される。なお、複合機800を「デバイスユニット」とも呼ぶ。   The multi-function device 800 includes service devices 810, 820, and 830 for providing services to clients, and a control unit 840. Here, a print engine 810, a scanner engine 820, and a PC card interface 830 are mounted as service devices. Note that the multi-function device 800 only needs to have at least one service device, and is generally configured to have N service devices (N is an integer equal to or greater than 1). The multi-function device 800 is also referred to as a “device unit”.

印刷エンジン810は、与えられた印刷データに応じて印刷を実行する印刷機構である。本実施例では、コントロールポイント110C,120CがUPnPプロトコルに従ってXHTMLデータを複合機800に送信して印刷を行う場合には、MFPデバイス制御ユニット700がXHTMLデータを解釈し、色変換やハーフトーン処理を実行して印刷データを作成し、この印刷データを印刷エンジン810に供給する。但し、MFPデバイス制御ユニット700の代わりに、制御部840又は印刷エンジン810が色変換やハーフトーン処理の機能を有するように構成することも可能である。一方、パーソナルコンピュータ100から印刷を行う場合は、プリンタドライバ100Dが生成するページ記述言語をMFPデバイス制御ユニット700が解析して印刷データを作成し、印刷エンジン810に供給する。なお、本明細書において、「印刷データ」とは印刷媒体上におけるドットの形成状態を示すドットデータによって印刷物を表すデータを意味している。印刷データは、プリンタ固有の制御コマンドで構成されている。XHTMLは、印刷データには該当せず、文書を記述する文書記述言語である。スキャナエンジン820は、画像をスキャンして画像データを生成する機構である。   The print engine 810 is a printing mechanism that executes printing according to given print data. In this embodiment, when the control points 110C and 120C transmit XHTML data to the multi-function device 800 according to the UPnP protocol and perform printing, the MFP device control unit 700 interprets the XHTML data and performs color conversion and halftone processing. It executes to create print data, and supplies this print data to the print engine 810. However, instead of the MFP device control unit 700, the control unit 840 or the print engine 810 may be configured to have color conversion and halftone processing functions. On the other hand, when printing from the personal computer 100, the MFP device control unit 700 analyzes the page description language generated by the printer driver 100D, creates print data, and supplies the print data to the print engine 810. In this specification, “print data” means data representing a printed matter by dot data indicating a dot formation state on a print medium. The print data is composed of printer-specific control commands. XHTML does not correspond to print data, and is a document description language for describing a document. The scanner engine 820 is a mechanism that scans an image and generates image data.

UPnPは、ネットワーク装置を任意のタイミングでネットワークに接続したり、ネットワークから切断したりすることを実現するアーキテクチャである。UPnPネットワークは、コントロールポイント110C,120Cと、サービスデバイス810,820,830とで構成される。ここで、「サービスデバイス」とは、サービスを提供する装置を意味している。本明細書においては、特に断らない限り、「デバイス」と「サービスデバイス」は同義語として使用されている。「コントロールポイント」は、ネットワーク上の他のデバイスを検出したり制御したりするコントローラを意味しており、サービスデバイスに対するクライアントとして機能する。UPnP対応のネットワーク装置が有する各種の機能については後述する。   UPnP is an architecture that realizes connecting or disconnecting a network device to a network at an arbitrary timing. The UPnP network includes control points 110C and 120C and service devices 810, 820, and 830. Here, “service device” means a device that provides a service. In this specification, unless otherwise specified, “device” and “service device” are used as synonyms. The “control point” means a controller that detects and controls other devices on the network, and functions as a client for the service device. Various functions of the UPnP-compatible network device will be described later.

図2は、中継ユニット600内のMFPサーバ300とMFPデバイス制御ユニット700の内部構成を示すブロック図である。MFPサーバ300は、中央制御部(CPU)310と、RAM320と、ROM330と、ネットワーク制御部340と、USBホスト制御部350とを有している。ネットワーク制御部340は、コネクタ342を介して有線ネットワークに接続される。USBホスト制御部350は、ルートハブ352を有しており、ルートハブ352には2つのUSBコネクタ354,356が設けられている。第1のUSBコネクタ354は、USBケーブルを介してMFPデバイス制御ユニット700のUSBコネクタ462に接続されている。第2のUSBコネクタ356には、追加のデバイス(例えば無線LANネットワークへ通信するための無線通信回路)を接続可能である。   FIG. 2 is a block diagram showing internal configurations of the MFP server 300 and the MFP device control unit 700 in the relay unit 600. The MFP server 300 includes a central control unit (CPU) 310, a RAM 320, a ROM 330, a network control unit 340, and a USB host control unit 350. The network control unit 340 is connected to a wired network via the connector 342. The USB host control unit 350 has a root hub 352, and two USB connectors 354 and 356 are provided on the root hub 352. The first USB connector 354 is connected to the USB connector 462 of the MFP device control unit 700 via a USB cable. An additional device (for example, a wireless communication circuit for communicating with a wireless LAN network) can be connected to the second USB connector 356.

MFPデバイス制御ユニット700は、中央制御部(CPU)410と、RAM420と、ROM430と、USBデバイス制御部460と、USBホスト制御部510とを有している。第1のUSBデバイス制御部460は、USBコネクタ462を介してMFPサーバ300のUSBホスト制御部350に接続されている。USBホスト制御部510は、ルートハブ512を有しており、ルートハブ512にはUSBコネクタ514が設けられている。このコネクタ514には、複合機800(デバイスユニット)が接続されている。   The MFP device control unit 700 includes a central control unit (CPU) 410, a RAM 420, a ROM 430, a USB device control unit 460, and a USB host control unit 510. The first USB device control unit 460 is connected to the USB host control unit 350 of the MFP server 300 via the USB connector 462. The USB host control unit 510 has a root hub 512, and the root hub 512 is provided with a USB connector 514. A multi-function device 800 (device unit) is connected to the connector 514.

MFPサーバ300の中央制御部310とネットワーク制御部340とUSBホスト制御部350は、図1におけるネットワークプロトコル制御部302としての機能を実現する。より具体的には、ネットワーク制御部340は、各種のネットワークプロトコルに従ってメッセージの送受信を行う。また、中央制御部310は、UPnPのプロトコルを解釈して転送先を決定する。USBホスト制御部350は、MFPデバイス制御ユニット700との間でメッセージを転送する。これらの制御部310,340,350は、メッセージボディの解釈や処理は行わずにメッセージを転送している。   The central control unit 310, the network control unit 340, and the USB host control unit 350 of the MFP server 300 realize the function as the network protocol control unit 302 in FIG. More specifically, the network control unit 340 transmits and receives messages according to various network protocols. The central control unit 310 interprets the UPnP protocol and determines the transfer destination. USB host control unit 350 transfers a message to and from MFP device control unit 700. These control units 310, 340, and 350 transfer messages without interpreting or processing the message body.

MFPデバイス制御ユニット700のUSBデバイス制御部460は、USBの転送プロトコルに従ってメッセージの送受信を行う。また、中央制御部410は、MFPサーバ300を介して転送されたメッセージの内容を解釈し、メッセージの内容に応じた処理を実行して制御データを作成し、その制御データを複合機800に転送する。複合機800内のサービスデバイス810,820,830の動作は、この制御データに従って制御される。なお、MFPサーバ300とMFPデバイス制御ユニット700を分離せずに、1つのユニットによってMFPサーバ300とMFPデバイス制御ユニット700の両方の機能を実現するようにしてもよい。   The USB device control unit 460 of the MFP device control unit 700 transmits and receives messages according to the USB transfer protocol. The central control unit 410 interprets the content of the message transferred via the MFP server 300, executes processing according to the content of the message, creates control data, and transfers the control data to the multi-function device 800. To do. The operations of the service devices 810, 820, and 830 in the multi-function device 800 are controlled according to this control data. The functions of both MFP server 300 and MFP device control unit 700 may be realized by a single unit without separating MFP server 300 and MFP device control unit 700.

なお、複合機800には、ユーザが種々の設定を行う際に使用する操作パネルと表示部(モニタ)が設けられているが、これらは図示が省略されている。   The multifunction device 800 is provided with an operation panel and a display unit (monitor) that are used when the user performs various settings, but these are not shown.

図3は、MFPサーバ300の各種のプロトコルの階層構造を示すブロック図である。MFPサーバ300は、各種のネットワークプロトコルを解釈するためのサービスプロトコル解釈部1000を備えている。このサービスプロトコル解釈部1000には、ネットワークアーキテクチャの下位層と、USBアーキテクチャの下位層とが存在する。ネットワークアーキテクチャの下位層としては、UPnPデバイスアーキテクチャ1100と、3つの非UPnPデバイス機能部1210,1220,1230が設けられている。これらのさらに下位には、UDP層又はTCP層と、インターネットプロトコル(IP)層と、ドライバ層と、ネットワークインタフェース層と、が存在する。   FIG. 3 is a block diagram illustrating a hierarchical structure of various protocols of the MFP server 300. The MFP server 300 includes a service protocol interpreter 1000 for interpreting various network protocols. The service protocol interpretation unit 1000 includes a lower layer of the network architecture and a lower layer of the USB architecture. As a lower layer of the network architecture, a UPnP device architecture 1100 and three non-UPnP device function units 1210, 1220, and 1230 are provided. Below these are a UDP or TCP layer, an Internet Protocol (IP) layer, a driver layer, and a network interface layer.

サービスプロトコル解釈部1000のUSBアーキテクチャの下位層としては、D4パケット処理部1300及びUSBプリンタクラスドライバ1310と、USBスキャナクラスドライバ1320と、USBストレージクラスドライバ1330とが設けられている。これらの3つのデバイスドライバ1310,1320,1330の下位には、USBシステムソフトウェアとUSBホストインタフェース(ハードウェア)とが存在する。なお、この図からも理解できるように、USBのプリンタクラスドライバ1310は、いわゆる「D4パケット」(IEEE1284.4に即したパケット構造)を利用してデータ転送を行うのに対して、スキャナクラスドライバ1320やストレージクラスドライバ1330ではD4パケットは利用されていない。この理由は、標準的なUSBのデバイスクラスのうちで、プリンタクラスではD4パケットが上位プロトコルとして採用されているが、スキャナクラス及びストレージクラスでは、D4パケットを用いない制御スタック(アプリケーション層から物理層に至るまでのアーキテクチャ)がOSの標準となっているからである。   As a lower layer of the USB architecture of the service protocol interpreter 1000, a D4 packet processor 1300, a USB printer class driver 1310, a USB scanner class driver 1320, and a USB storage class driver 1330 are provided. Below these three device drivers 1310, 1320, and 1330 are USB system software and a USB host interface (hardware). As can be understood from this figure, the USB printer class driver 1310 uses the so-called “D4 packet” (packet structure conforming to IEEE1284.4) to transfer data, whereas the scanner class driver 1310 The D4 packet is not used in 1320 or the storage class driver 1330. This is because, among the standard USB device classes, the D4 packet is adopted as the upper protocol in the printer class, but in the scanner class and the storage class, the control stack that does not use the D4 packet (from the application layer to the physical layer). This is because the architecture up to is the standard of the OS.

UPnPデバイスアーキテクチャは、HTTPMUや、HTTPU,SOAP/HTTP,HTTPなどの各種のプロトコルに従って構成されている。UPnPは、これらのプロトコルを用いて、以下のような各種の処理を実現している。   The UPnP device architecture is configured according to various protocols such as HTTPMU, HTTPPU, SOAP / HTTP, and HTTP. UPnP uses these protocols to implement the following various processes.

(1)アドレッシング:
UPnPデバイス(以下、単に「デバイス」と呼ぶ)がネットワークに接続すると、アドレッシングによってネットワークアドレス(IPアドレス)を取得する。アドレッシングには、DHCPサーバまたはAuto-IPが利用される。ネットワークにDHCPサーバが設けられている場合には、デバイスはDHCPサーバによって割り当てられるIPアドレスを使用する。DHCPサーバが無い場合には、Auto-IPと呼ばれる自動IPアドレッシング機能を用いて、デバイスが自分のアドレスを決定する。なお、本実施例では、中継ユニット600と複合機800とで構成されるネットワーク装置900に対して1つのIPアドレスのみが割り当てられ、この装置900全体が単一のネットワーク装置として認識される。
(1) Addressing:
When a UPnP device (hereinafter simply referred to as “device”) is connected to a network, a network address (IP address) is acquired by addressing. For addressing, a DHCP server or Auto-IP is used. If a DHCP server is provided in the network, the device uses an IP address assigned by the DHCP server. If there is no DHCP server, the device determines its own address using an automatic IP addressing function called Auto-IP. In this embodiment, only one IP address is assigned to the network device 900 composed of the relay unit 600 and the multifunction device 800, and the entire device 900 is recognized as a single network device.

(2)ディスカバリ(検出):
ディスカバリは、コントロールポイントが、デバイスがどこにいるかを見つけ出す処理である。ディスカバリは、コントロールポイントがディスカバリメッセージをマルチキャストすることによって実現することができ、あるいは、デバイスがネットワークに参加したときに、その旨をコントロールポイントにアドバタイズすることによっても実現できる。ディスカバリは、HTTPMU/SSDPやHTTPU/SSDPを用いて行われる。ディスカバリの結果、コントロールポイントとデバイスがピアツーピアで処理を進められるようになる。
(2) Discovery (detection):
Discovery is a process in which the control point finds out where the device is. Discovery can be realized by the control point multicasting the discovery message, or can be realized by advertising the fact to the control point when the device joins the network. Discovery is performed using HTTPMU / SSDP or HTTPPU / SSDP. As a result of the discovery, the control point and the device can be processed peer-to-peer.

(3)ディスクリプション:
デバイスの構成の詳細は、デバイスディスクリプションとしてXMLで記述されている。また、デバイスのサービスの詳細は、サービスディスクリプションとしてXMLで記述されている。これらのディスクリプションは、デバイスによって所有されており、コントロールポイントに提供される。コントロールポイントは、これらのディスクリプションを参照することによって、デバイスやサービスの詳細を知ることができる。デバイスディスクリプションの例については後述する。
(3) Description:
Details of the device configuration are described in XML as a device description. The details of the device service are described in XML as a service description. These descriptions are owned by the device and provided to the control point. The control point can know the details of the device and service by referring to these descriptions. An example of the device description will be described later.

(4)コントロール:
コントロールは、コントロールポイントが、アクション要求を含む制御メッセージをデバイスに転送して、デバイスの制御を行う処理である。コントロールは、HTTP/SOAPを用いて行われる。
(4) Control:
Control is a process in which a control point controls a device by transferring a control message including an action request to the device. Control is performed using HTTP / SOAP.

(5)イベント:
所定のイベントが発生すると、デバイス内のサービスが、コントロールポイントにイベントの発生を通知する。イベント発生の通知を受けるコントロールポイントは、そのサービスに「サブスクライブ(購読)」する。イベントは、サブスクライブしているコントロールポイントに転送される。イベントの通知は、HTTP/GENAを用いて行われる。
(5) Event:
When a predetermined event occurs, a service in the device notifies the control point of the occurrence of the event. A control point that receives notification of an event occurrence “subscribes” to the service. Events are forwarded to subscribing control points. Notification of an event is performed using HTTP / GENA.

(6)プレゼンテーション:
プレゼンテーションは、デバイスディスクリプションに登録されているプレゼンテーション用のURLからコントロールポイントがHTMLで記述されたプレゼンテーション用ページを取得する処理である。このプレゼンテーションによって、例えばコントロールポイントがデバイスの各種の状態を表示することができる。
(6) Presentation:
The presentation is a process of acquiring a presentation page whose control point is described in HTML from the URL for presentation registered in the device description. With this presentation, for example, the control point can display various states of the device.

なお、本発明はUPnPの将来のバージョンにも適用可能である。また、ネットワーク型プラグアンドプレイとして、アドレッシング(自動的なIPアドレス決定)と、デバイスのディスカバリにより、任意のコントロールポイントとデバイスとがピアツーピアで通信が可能で、コントロールポイントとデバイスがメッセージの交換を行うアーキテクチャであれば、UPnP以外のネットワーク型プラグアンドプレイ仕様にも本発明を適用することが可能である。   The present invention can also be applied to future versions of UPnP. As network type plug and play, any control point and device can communicate peer-to-peer by addressing (automatic IP address determination) and device discovery, and the control point and device exchange messages. If it is an architecture, the present invention can be applied to network type plug and play specifications other than UPnP.

図4は、MFPデバイス制御ユニット700の各種プロトコルの階層構造を示すブロック図である。MFPデバイス制御ユニット700は、UPnPデバイス機能部2400と、3つの非UPnPデバイス機能部2210,2220,2230とを有している。UPnPデバイス機能部2400は、3つのUPnPデバイスモジュール(図1の3つのデバイス810,820,830に相当する)を含んでいる。各デバイスモジュール内には、サービスを実行するサービスモジュールが含まれているが、ここでは図示が省略されている。UPnPデバイス機能部2400と非UPnPプリンタ機能部2210の下位には、D4パケット処理部2300及びUSBプリンタクラスドライバ2310が存在する。非UPnPスキャナ機能部2220及び非UPnPストレージ機能部2230の下位には、USBスキャナクラスドライバ2320とUSBストレージクラスドライバ2330が存在する。3つのデバイスドライバ2310,2320,2330の下位には、USB論理デバイスとUSBデバイスインタフェース(ハードウェア)とが存在する。この階層構造からも理解できるように、UPnPスキャナデバイスやUPnPストレージデバイスがコントロールポイントに対してサービスを行う場合には、MFPサーバ300とMFPデバイス制御ユニット700間では、USBプリンタクラスドライバ2310を利用してデータ転送が行われる。従って、UPnPスキャナデバイスやUPnPストレージデバイス用のデータ転送の際にも、D4パケットを利用することができる。   FIG. 4 is a block diagram showing a hierarchical structure of various protocols of the MFP device control unit 700. The MFP device control unit 700 has a UPnP device function unit 2400 and three non-UPnP device function units 2210, 2220, and 2230. The UPnP device function unit 2400 includes three UPnP device modules (corresponding to the three devices 810, 820, and 830 in FIG. 1). Each device module includes a service module for executing a service, but is not shown here. Below the UPnP device function unit 2400 and the non-UPnP printer function unit 2210 are a D4 packet processing unit 2300 and a USB printer class driver 2310. A USB scanner class driver 2320 and a USB storage class driver 2330 exist below the non-UPnP scanner function unit 2220 and the non-UPnP storage function unit 2230. Below the three device drivers 2310, 2320, and 2330 are a USB logical device and a USB device interface (hardware). As can be understood from this hierarchical structure, when the UPnP scanner device or UPnP storage device provides services to the control point, the USB printer class driver 2310 is used between the MFP server 300 and the MFP device control unit 700. Data transfer. Therefore, the D4 packet can also be used when transferring data for UPnP scanner devices and UPnP storage devices.

図4に示すように、MFPサーバ300のUSBプリンタクラスドライバ1310とMFPデバイス制御ユニット700のUSBプリンタクラスドライバ2310の間には、7種類のUPnP用双方向通信チャンネルが設けられている。これらは、D4パケットを用いた論理チャンネルであり、複合機800がUPnPデバイスとして機能する場合に使用される。サービスプロトコル解釈部1000とUPnPデバイス機能部2400の間にも、プリンタクラスドライバ1310,2310の間の7種類の論理チャンネルに対応する7種類のUPnP用論理チャンネルが存在するが、図4では図示が省略されている。以下ではまず、D4パケットを用いた論理チャンネルについて説明する。   As shown in FIG. 4, seven types of UPnP bidirectional communication channels are provided between the USB printer class driver 1310 of the MFP server 300 and the USB printer class driver 2310 of the MFP device control unit 700. These are logical channels using D4 packets, and are used when the multi-function device 800 functions as a UPnP device. There are also seven types of UPnP logical channels corresponding to the seven types of logical channels between the printer class drivers 1310 and 2310 between the service protocol interpreter 1000 and the UPnP device function unit 2400. FIG. It is omitted. In the following, a logical channel using D4 packets will be described first.

図5は、MFPサーバ300とMFPデバイス制御ユニット700間のUSB接続におけるインタフェース/エンドポイント構成と論理チャンネルの構成とを示す説明図である。一般に、USBデバイスは、インタフェースとエンドポイントとを有している。USBの転送は、USBのホストとエンドポイントとの間で行われる。すなわち、「エンドポイント」とは、ホストと通信を行う論理的なリソースである。図5(A)の例では、7つのエンドポイントEP#0〜EP#6が示されている。コントロールエンドポイントEP#0は、標準デバイスリクエストの送受信を行うためのエンドポイントである。「標準デバイスリクエスト」とは、すべてのUSBでサポートする必要がある基本的なリクエストである。従って、コントロールエンドポイントEP#0は、1つのUSBデバイスに必ず1つ設けられている。   FIG. 5 is an explanatory diagram showing an interface / endpoint configuration and a logical channel configuration in USB connection between the MFP server 300 and the MFP device control unit 700. Generally, a USB device has an interface and an endpoint. USB transfer is performed between the USB host and the endpoint. In other words, the “end point” is a logical resource that communicates with the host. In the example of FIG. 5A, seven end points EP # 0 to EP # 6 are shown. The control end point EP # 0 is an end point for transmitting / receiving a standard device request. A “standard device request” is a basic request that needs to be supported by all USBs. Therefore, one control endpoint EP # 0 is always provided for one USB device.

プリンタ用のバルクアウトエンドポイントEP#1とバルクインエンドポイントEP#2は、印刷エンジン810用のメッセージの受信と送信を行うためのエンドポイントである。同様に、スキャナ用のバルクアウトエンドポイントEP#3とバルクインエンドポイントEP#4は、スキャナエンジン820用のメッセージの受信と送信を行うためのエンドポイントである。また、ストレージ用のエンドポイントEP#5,EP#6は、メモリーカード(PCカードインタフェース830)用のメッセージの受信と送信を行うためのエンドポイントである。一般に、USBデバイスでは、コントロールエンドポイントEP#0以外のエンドポイントは、論理的なインタフェースによって区分されている。図5(A)の例では、論理的なインタフェースとして、プリンタインタフェースIF#0とスキャナインタフェースIF#1とストレージインタフェースIF#2とが設けられている。   The printer bulk-out endpoint EP # 1 and bulk-in endpoint EP # 2 are endpoints for receiving and transmitting messages for the print engine 810. Similarly, the bulk-out endpoint EP # 3 and the bulk-in endpoint EP # 4 for the scanner are endpoints for receiving and transmitting a message for the scanner engine 820. The storage endpoints EP # 5 and EP # 6 are endpoints for receiving and transmitting messages for the memory card (PC card interface 830). In general, in a USB device, endpoints other than the control endpoint EP # 0 are classified by a logical interface. In the example of FIG. 5A, a printer interface IF # 0, a scanner interface IF # 1, and a storage interface IF # 2 are provided as logical interfaces.

本実施例では、図5(B)に示すように、プリンタインタフェースIF#0に9つの論理的なチャンネルが設けられている。これらの各チャンネルの機能は以下の通りである。   In this embodiment, as shown in FIG. 5B, nine logical channels are provided in the printer interface IF # 0. The function of each of these channels is as follows.

(1)PRINT-DATAチャンネルCH#11:
ネットワーク上のパーソナルコンピュータ100から、印刷ポート(LPRポートに従ったポート番号又はボート番号9100)を用いてプリンタドライバ100D(図1)から転送される印刷データの送受信を行うためのチャンネル。図4には図示されていない。
(1) PRINT-DATA channel CH # 11:
A channel for transmitting / receiving print data transferred from the printer driver 100D (FIG. 1) from the personal computer 100 on the network using a print port (port number or port number 9100 according to the LPR port). It is not shown in FIG.

(2)PRINT-STATUSチャンネルCH#12:
MFPサーバ300が、印刷エンジン810の状態を示す情報を送受信するためのチャンネルであり、SNMP等のプロトコルにより、MFPサーバ300からネットワーク上のパーソナルコンピュータ100に対して提供される。図4には図示されていない。
(2) PRINT-STATUS channel CH # 12:
The MFP server 300 is a channel for transmitting and receiving information indicating the state of the print engine 810, and is provided from the MFP server 300 to the personal computer 100 on the network by a protocol such as SNMP. It is not shown in FIG.

(3)UPNP-LOCALCONTROLチャンネルCH#21:
MFPサーバ300とMFPデバイス制御ユニット700の間において、MFPサーバ300を要求者とし、MFPデバイス制御ユニット700を応答者とする通信を行うためのUPnP用チャンネル。MFPサーバ300は、このチャンネルを用いて、MFPデバイス制御ユニット700から各種の情報を取得することができる。
(3) UPNP-LOCALCONTROL channel CH # 21:
A UPnP channel for performing communication between the MFP server 300 and the MFP device control unit 700 with the MFP server 300 as a requester and the MFP device control unit 700 as a responder. The MFP server 300 can acquire various types of information from the MFP device control unit 700 using this channel.

(4)UPNP-LOCALEVENTチャンネルCH#22:
MFPサーバ300とMFPデバイス制御ユニット700の間において、MFPデバイス制御ユニット700を要求者とし、MFPサーバ300を応答者とする通信を行うためのUPnP用チャンネル。MFPデバイス制御ユニット700は、このチャンネルを用いて、例えばユーザが複合機800で行った設定変更の内容をMFPサーバ300に通知することができ、また、複合機800が電源OFFするときに、UPnPプロトコルの終了要求をMFPサーバ300に通知することができる。
(4) UPNP-LOCALEVENT channel CH # 22:
A UPnP channel for performing communication between the MFP server 300 and the MFP device control unit 700 with the MFP device control unit 700 as a requester and the MFP server 300 as a responder. Using this channel, the MFP device control unit 700 can notify the MFP server 300 of the contents of setting changes made by the user on the multifunction device 800, and when the multifunction device 800 is turned off, UPnP A request to end the protocol can be notified to the MFP server 300.

(5)UPNP-PRESENTATIONチャンネルCH#23:
UPnPのプレゼンテーションデータ(Webページデータ)を送受信するためのチャンネル。なお、コントロールポイントの要求に応じてプレゼンテーションデータをMFPデバイス制御ユニット700からコントロールポイントに送信するためのチャンネル(ダウンチャンネル)と、新たなプレゼンテーションデータをコントロールポイントからMFPデバイス制御ユニット700にアップロードするためのチャンネル(アップチャンネル)とを別々に設けるようにしたもよい。
(5) UPNP-PRESENTATION channel CH # 23:
A channel for transmitting and receiving UPnP presentation data (Web page data). A channel (down channel) for transmitting presentation data from the MFP device control unit 700 to the control point in response to a control point request, and a new presentation data for uploading from the control point to the MFP device control unit 700. A channel (up channel) may be provided separately.

(6)UPNP-CONTROLチャンネルCH#24:
UPnPにおいて、コントロールポイントから発信されたアクションに関連するデータを送受信するためのチャンネル。なお、上述のUPNP-LOCALCONTROLチャンネルに”LOCAL”という接頭語が付されている理由は、UPNP-LOCALTONTROLチャンネルが、コントロールポイントからのアクションの内容の転送には使用されないからである。換言すれば、UPNP-CONTROLチャンネルCH#24は、コントロールポイントから発信されたアクションに関連するデータの送受信のためにのみ使用される。
(6) UPNP-CONTROL channel CH # 24:
In UPnP, a channel for transmitting and receiving data related to an action transmitted from a control point. The reason why the above-mentioned UPNP-LOCALCONTROL channel is prefixed with “LOCAL” is that the UPNP-LOCALTONTROL channel is not used for transferring action contents from the control point. In other words, the UPNP-CONTROL channel CH # 24 is used only for transmission / reception of data related to the action transmitted from the control point.

(7)UPNP-EVENTチャンネルCH#25:
UPnPにおいて、イベントをサブスクライブしているコントロールポイントに送信するためのチャンネル。上述のUPNP-LOCALEVENTチャンネルに”LOCAL”という接頭語が付されている理由は、このUPNP-LOCALEVENTチャンネルが、コントロールポイントへのイベントの送信には使用されないからである。換言すれば、UPNP-EVENTチャンネルCH#25は、複合機800で発生したイベントをコントロールポイントに送信するためにのみ使用される。
(7) UPNP-EVENT channel CH # 25:
In UPnP, a channel for sending events to subscribing control points. The reason why the above-mentioned UPNP-LOCALEVENT channel is prefixed with “LOCAL” is that this UPNP-LOCALEVENT channel is not used for sending events to the control point. In other words, the UPNP-EVENT channel CH # 25 is used only for transmitting an event generated in the multi-function device 800 to the control point.

(8)UPNP-DOWNCONTENTxチャンネルCH#26x:
UPnPにおいて、コンテンツデータをコントロールポイントからMFPデバイス制御ユニット700にダウンロードする際に使用される送受信チャンネル。ここで、接尾辞”x”は、Ndown個(Ndownは2以上の整数)のUPNP-DOWNCONTENTチャンネルのうちのx番目のチャンネルを意味している。利用可能なUPNP-DOWNCONTENTxチャンネルの個数Ndownは、1以上の任意に設定可能であるが、2以上の値に設定することが好ましい。Ndownを2以上の値に設定すれば、複数のコントロールのコンテンツデータを並行して受信することが可能である。
(8) UPNP-DOWNCONTENTx channel CH # 26x:
In UPnP, a transmission / reception channel used when content data is downloaded from a control point to the MFP device control unit 700. Here, the suffix “x” means the x-th channel among Ndown (Ndown is an integer of 2 or more) UPNP-DOWNCONTENT channels. The number NUP of available UPNP-DOWNCONTENTx channels can be arbitrarily set to 1 or more, but is preferably set to a value of 2 or more. If Ndown is set to a value of 2 or more, it is possible to receive content data of a plurality of controls in parallel.

(9)UPNP-UPCONTENTxチャンネルCH#27x:
UPnPにおいて、コンテンツデータをMFPデバイス制御ユニット700からコントロールポイントにアップロードする際に使用される送受信チャンネル。接尾辞”x”は、Nup個(Nupは2以上の整数)のUPNP-UPCONTENTチャンネルのうちのx番目のチャンネルを意味している。UPNP-DOWNCONTENTxチャンネルの個数NdownとUPNP-UPCONTENTxチャンネルの個数Nupは、同じでも良く、また、異なっていてもよい。なお、実際の図5(B)のUPnP用の論理チャンネルの数は、(5+Ndown+Nup)個となることが理解できる。
(9) UPNP-UPCONTENTx channel CH # 27x:
In UPnP, a transmission / reception channel used when uploading content data from the MFP device control unit 700 to a control point. The suffix “x” means the x-th channel among Nup (Nup is an integer of 2 or more) UPNP-UPCONTENT channels. The number Ndown of UPNP-DOWNCONTENTx channels and the number Nup of UPNP-UPCONTENTx channels may be the same or different. It can be understood that the actual number of UPnP logical channels in FIG. 5B is (5 + Ndown + Nup).

なお、各論理チャンネルは、いずれもバルクアウトエンドポイントEP#1とバルクインエンドポイントEP#2の両方を利用して双方向通信を行うことができる。論理チャンネルの識別情報は、USBパケットのヘッダに登録される。   Each logical channel can perform bidirectional communication using both the bulk-out endpoint EP # 1 and the bulk-in endpoint EP # 2. The identification information of the logical channel is registered in the header of the USB packet.

前述したように、図5に示した9種類の論理チャンネルは、MFPサーバ300とMFPデバイス制御ユニット700の間のUSB接続で利用されるものである。一方、MFPデバイス制御ユニット700と複合機800との間のUSB接続では、PRINT-DATAチャンネルCH#11と、PRINT-STATUSチャンネルCH#12の2つの論理チャンネルのみが利用されるように構成されていることが好ましい。この理由は、MFPデバイス制御ユニット700が、UPnPプロトコルに従って受信した各種のメッセージを解釈して複合機800用の制御データに変換し、その制御データを(主として)PRINT-DATAチャンネルCH#11を介して複合機800に転送する機能を有しているからである。但し、MFPデバイス制御ユニット700と複合機800との間のUSB接続においても、図5に示したものと同じ9種類の論理チャンネルを利用するようにしても良い。また、MFPサーバ300とMFPデバイス制御ユニット700の間のUSB接続においても、図5よりも少ない数の論理チャンネルを利用するようにしてもよい。   As described above, the nine types of logical channels shown in FIG. 5 are used for USB connection between the MFP server 300 and the MFP device control unit 700. On the other hand, in the USB connection between the MFP device control unit 700 and the multifunction device 800, only two logical channels of the PRINT-DATA channel CH # 11 and the PRINT-STATUS channel CH # 12 are used. Preferably it is. This is because the MFP device control unit 700 interprets various messages received in accordance with the UPnP protocol and converts them into control data for the multi-function device 800, and the control data (mainly) via the PRINT-DATA channel CH # 11. This is because it has a function of transferring to the multifunction device 800. However, the same nine types of logical channels as shown in FIG. 5 may also be used in the USB connection between the MFP device control unit 700 and the multifunction device 800. Also in the USB connection between the MFP server 300 and the MFP device control unit 700, a smaller number of logical channels than in FIG. 5 may be used.

図6は、プリンタインタフェースIF#0を介したUSB転送に用いられるD4パケットの構成を示す説明図である。これは、IEEE1284.4に即したパケット構造である。このD4パケットは、12バイトのヘッダ部と、0バイト以上のメッセージ部から構成されている。ヘッダ部は、6バイトのD4標準ヘッダと、4バイトのIDフィールドと、2バイトのエラーコードフィールドとを有している。D4標準ヘッダには、図5(B)に示した9種類の(7+Ndown+Nup)個の論理チャンネルを識別するためのソケットID(論理チャンネルID)が登録される。IDフィールドには、リクエストIDが登録される。このリクエストIDは、MFPサーバ300とMFPデバイス制御ユニット700との間のデータ転送(特にUPNP-DOWNCONTENTxチャンネルやUPNP-UPCONTENTxチャンネル)において、同じメッセージを構成するパケットを識別するために使用される。なお、リクエストIDは、MFPサーバ300が割り当てる場合と、MFPデバイス制御ユニット700が割り当てる場合とが存在する。従って、リクエストIDには、MFPサーバ300とMFPデバイス制御ユニット700のいずれが割当てたかを一意に識別できるビット(例えば最上位ビット)を設けておくことが好ましい。なお、リクエストIDを「ジョブID」とも呼ぶ。   FIG. 6 is an explanatory diagram showing the structure of a D4 packet used for USB transfer via the printer interface IF # 0. This is a packet structure conforming to IEEE1284.4. This D4 packet is composed of a header part of 12 bytes and a message part of 0 bytes or more. The header part has a 6-byte D4 standard header, a 4-byte ID field, and a 2-byte error code field. In the D4 standard header, socket IDs (logical channel IDs) for identifying nine types of (7 + Ndown + Nup) logical channels shown in FIG. 5B are registered. A request ID is registered in the ID field. This request ID is used to identify packets constituting the same message in data transfer between the MFP server 300 and the MFP device control unit 700 (particularly the UPNP-DOWNCONTENTx channel and the UPNP-UPCONTENTx channel). The request ID is assigned by the MFP server 300 and assigned by the MFP device control unit 700. Therefore, it is preferable to provide a bit (for example, the most significant bit) that can uniquely identify which of the MFP server 300 and the MFP device control unit 700 is assigned to the request ID. The request ID is also referred to as “job ID”.

D4パケットでは、ヘッダ部を利用して多様な論理チャンネルを構成できるので、多様な論理チャンネルを用いて多様なデータ転送を実現することが可能である。また、D4標準ヘッダ以外のヘッダ情報をある程度任意に設定することができるので、各種の制御を実行するための工夫の自由度が高いという利点がある。   In the D4 packet, since various logical channels can be configured using the header portion, various data transfers can be realized using various logical channels. In addition, since header information other than the D4 standard header can be set arbitrarily to some extent, there is an advantage that the degree of freedom of contrivance for executing various controls is high.

本実施例のD4パケットを用いてリクエストを転送する場合には、エラーフィールドの後のメッセージの先頭(「メッセージヘッダ」とも呼ぶ)には、メッセージの送り元から送り先(受け手)へ通知するURI(通常は相対URI)が付加される。メッセージの受け手は、このURIから、リクエストの内容や宛先を容易に判定することが可能である。   When a request is transferred using the D4 packet according to the present embodiment, a URI (notice that the message is sent from the sender of the message to the receiver (receiver)) at the head of the message after the error field (also called “message header”) Usually, a relative URI) is added. The recipient of the message can easily determine the content and destination of the request from this URI.

図5(B)に示したように、本実施例では、MFPサーバ300とMFPデバイス制御ユニット700との間のUSB転送用の論理チャンネルとして、印刷ポート用の論理チャンネルCH#11〜CH#12と、UPnP用の論理チャンネルCH#21〜CH#27xとを別個に設けている。従って、ネットワーク印刷ポートを介してMFPデバイス制御ユニット700に転送されてくる印刷データと、UPnP用のポートを介してMFPデバイス制御ユニット700に転送されてくるコンテンツデータ(例えば印刷用のXHTMLデータ)とを容易に識別することができる。また、本実施例では、UPnPプロトコルによるメッセージのUSB転送のために、用途の異なる複数の論理チャンネルCH#21〜CH#27xを設けているので、メッセージの受信側において、メッセージの内容の処理をより高速に処理することが可能である。特に、本実施例ではコントロールポイントとの間の通信の際に利用される論理チャンネルCH#23〜CH#27xの他に、MFPサーバ300とMFPデバイス制御ユニット700との間のローカルな情報の転送に使用される論理チャンネルCH#21,CH#22が別個に設けられている。従って、例えばクライアント(コントロール)から送られたメッセージと、MFPサーバ300とMFPデバイス制御ユニット700との間で通知される特定の情報とを容易に区別して、それぞれに適した処理を素早く実行することが可能である。   As shown in FIG. 5B, in this embodiment, logical ports CH # 11 to CH # 12 for print ports are used as logical channels for USB transfer between the MFP server 300 and the MFP device control unit 700. And logical channels CH # 21 to CH # 27x for UPnP are provided separately. Accordingly, the print data transferred to the MFP device control unit 700 via the network print port, and the content data (for example, XHTML data for printing) transferred to the MFP device control unit 700 via the UPnP port Can be easily identified. Further, in this embodiment, a plurality of logical channels CH # 21 to CH # 27x having different uses are provided for USB transfer of messages using the UPnP protocol, so that message content processing is performed on the message receiving side. It is possible to process at higher speed. In particular, in this embodiment, in addition to the logical channels CH # 23 to CH # 27x used for communication with the control point, local information transfer between the MFP server 300 and the MFP device control unit 700 is performed. Are separately provided with logical channels CH # 21 and CH # 22. Accordingly, for example, a message sent from a client (control) and specific information notified between the MFP server 300 and the MFP device control unit 700 can be easily distinguished, and processing suitable for each can be quickly executed. Is possible.

図7は、UPnPアーキテクチャを利用した処理の典型例を示すシーケンス図である。ここでは、コントロールポイント110Cと、MFPサーバ300と、MFPデバイス制御ユニット700の間でメッセージが転送される場合を示している。実際には、MFPデバイス制御ユニット700と複合機800との間において、制御データやステータス情報が交換されているが、図7では便宜上、図示が省略されている。ステップ[1]では、コントロールポイント110CがHTTPのリクエストメッセージF1をMFPサーバ300に転送する。メッセージF1のヘッダには、リクエスト命令のメソッド(POSTやGETなど)と、MFPデバイスユニット400内の宛先を示すURIと、中継ユニット600と複合機800で構成されるネットワーク装置900(図1)のホスト名(この例ではIPアドレス”169.254.100.100”)とが記述されている。なお、IPアドレスは、ネットワーク装置900に1つだけば割り当てられるので、このIPアドレスは、MFPサーバ300のIPアドレス、又は、MFPデバイス制御ユニット700のIPアドレス、又は、複合機800のIPアドレスと考えることも可能である。   FIG. 7 is a sequence diagram illustrating a typical example of processing using the UPnP architecture. Here, a case where a message is transferred among the control point 110C, the MFP server 300, and the MFP device control unit 700 is shown. Actually, control data and status information are exchanged between the MFP device control unit 700 and the multi-function device 800, but the illustration is omitted in FIG. 7 for convenience. In step [1], the control point 110C transfers the HTTP request message F1 to the MFP server 300. The header of the message F1 includes a request command method (such as POST or GET), a URI indicating a destination in the MFP device unit 400, and a network device 900 (FIG. 1) including the relay unit 600 and the multi-function device 800. The host name (IP address “169.254.100.100” in this example) is described. Since only one IP address is assigned to the network device 900, this IP address is the IP address of the MFP server 300, the IP address of the MFP device control unit 700, or the IP address of the multifunction device 800. It is also possible to think.

ステップ[2]では、MFPサーバ300が、リクエストメッセージF1を解析する。ここで解析(解釈)されるのは、メッセージF1のヘッダ部分だけであり、送信データ(すなわちメッセージボディ)の内容の解釈は行わない。より具体的には、ステップ[2]において、メッセージF1のURIが解析され、MFPデバイス制御ユニット700に対してどの論理チャンネルを用いてメッセージを転送すべきかが判定される。なお、メッセージF1には、実質的なメッセージボディが無いものも存在する。   In step [2], the MFP server 300 analyzes the request message F1. Here, only the header portion of the message F1 is analyzed (interpreted), and the content of the transmission data (that is, the message body) is not interpreted. More specifically, in step [2], the URI of the message F1 is analyzed to determine which logical channel should be used to transfer the message to the MFP device control unit 700. Note that some messages F1 have no substantial message body.

ステップ[3]では、MFPサーバ300が、URIとメッセージボディ(存在する場合)とを含むメッセージF2を、USBでMFPデバイス制御ユニット700に転送する。この転送の際には、URIに応じて選択された論理チャンネルが利用される。   In step [3], the MFP server 300 transfers the message F2 including the URI and the message body (if present) to the MFP device control unit 700 via USB. In this transfer, a logical channel selected according to the URI is used.

ステップ[4]では、MFPデバイス制御ユニット700が、受信したメッセージF2内のURI及びメッセージボディ(存在する場合)に応じて処理を実行する。具体的には、例えば、MFPデバイス制御ユニット700が、メッセージボディの内容を解釈して複合機800の制御データを作成し、この制御データを複合機800に転送して動作させる。ステップ[5]では、MFPデバイス制御ユニット700が、レスポンスデータを含むメッセージR1をUSBでMFPサーバ300に転送する。ステップ[6]では、MFPサーバ300が送信データにHTTPヘッダを付加する。このHTTPヘッダは、HTTPリクエストの処理結果を示すステータスコードを含んでいる。例えば、処理結果がOKであればステータスコードが”200”に設定され、エラーであれば”500”に設定される。ステップ[7]では、こうして作成されたHTTPのレスポンスメッセージR2がMFPサーバ300からコントロールポイント110Cに転送される。   In step [4], the MFP device control unit 700 executes processing according to the URI and message body (if any) in the received message F2. Specifically, for example, the MFP device control unit 700 interprets the content of the message body to create control data for the multi-function device 800, and transfers the control data to the multi-function device 800 for operation. In step [5], the MFP device control unit 700 transfers the message R1 including the response data to the MFP server 300 via USB. In step [6], the MFP server 300 adds an HTTP header to the transmission data. This HTTP header includes a status code indicating the processing result of the HTTP request. For example, if the processing result is OK, the status code is set to “200”, and if it is an error, it is set to “500”. In step [7], the HTTP response message R2 thus created is transferred from the MFP server 300 to the control point 110C.

このように、本実施例では、MFPサーバ300は、コントロールポイントから受信したリクエストメッセージのうちで、ヘッダの解析(解釈)は行うが、メッセージボディの内容の解釈は行わず、メッセージボディはMFPデバイス制御ユニット700によって処理される。この構成には以下のような利点がある。第1の利点は、MFPサーバ300が、デバイスユニット(複合機800)のデバイス構成とサービスの内容を把握する必要が無く、任意の構成を有するデバイスユニット宛に送られたメッセージを転送するためのネットワークプロトコル制御部として機能することができる点である。第2の利点は、デバイスユニットのデバイス構成やサービスの内容が変更されても、MFPサーバ300の構成や機能を変更する必要が無い点である。第3の利点は、MFPサーバ300にメッセージボディの内容の解釈を行う解釈部(パーサ)を実装する必要が無いので、MFPサーバ300の構成が単純で済む点である。   As described above, in this embodiment, the MFP server 300 analyzes (interprets) the header in the request message received from the control point, but does not interpret the content of the message body, and the message body is the MFP device. Processed by the control unit 700. This configuration has the following advantages. The first advantage is that the MFP server 300 does not need to grasp the device configuration of the device unit (multifunction device 800) and the contents of the service, and transfers a message sent to a device unit having an arbitrary configuration. It can function as a network protocol control unit. The second advantage is that even if the device configuration of the device unit and the contents of the service are changed, it is not necessary to change the configuration and functions of the MFP server 300. A third advantage is that since it is not necessary to mount an interpretation unit (parser) that interprets the content of the message body in the MFP server 300, the configuration of the MFP server 300 can be simplified.

C.複合機のデバイス構成及びデバイスディスクリプション:
図8は、複合機800のUPnPプロトコル上のデバイス構成を示す説明図である。本実施例の複合機800(より正確にはネットワーク装置900)のUPnPデバイスとしての構成では、ルートデバイスとしてのベーシックデバイス(Basicデバイス)の中に、プリンタデバイス(Printerデバイス)と、スキャナデバイス(Scnannerデバイス)と、ストレージデバイス(Storageデバイス)とが包含されている。換言すれば、プリンタデバイスとスキャナデバイスとストレージデバイスは、ベーシックデバイス内の埋込デバイスである。ベーシックデバイスは、UPnPで規格化されている標準的なデバイスであり、自分自身が実行する固有のサービスを有さないデバイスである。
C. Device configuration of device and device description:
FIG. 8 is an explanatory diagram illustrating a device configuration of the MFP 800 on the UPnP protocol. In the configuration of the MFP 800 (more precisely, the network device 900) of this embodiment as a UPnP device, a printer device (Printer device) and a scanner device (Scnanner) are included in the basic device (Basic device) as the root device. Device) and storage device (Storage device). In other words, the printer device, the scanner device, and the storage device are embedded devices in the basic device. The basic device is a standard device standardized by UPnP, and is a device that does not have a unique service that is executed by itself.

プリンタデバイスは2つのプリントサービス”PrintBasic”,”PrintEnhanced”を有している。これらの2つのサービスは、UPnPで規格化されている標準的なプリントサービスである。スキャナデバイスはスキャンサービス”Scan”を有しており、ストレージデバイスはストレージサービス”Storage”を有している。各サービスは、状態テーブルと、コントロールサーバと、イベントサーバとで構成されている。状態テーブルには、サービスの状態を示す状態変数が登録されている。コントロールサーバは、コントロールポイントからのアクション要求を受け付けて処理を実行する。イベントサーバは、状態変数の値が変更されると、その変更をイベントとしてコントロールポイントに通知する。通知対象となるのは、そのサービスに予めサブスクライブ(購読)しているコントロールポイントである。   The printer device has two print services “PrintBasic” and “PrintEnhanced”. These two services are standard print services standardized by UPnP. The scanner device has a scan service “Scan”, and the storage device has a storage service “Storage”. Each service includes a state table, a control server, and an event server. In the status table, a status variable indicating the status of the service is registered. The control server receives the action request from the control point and executes the process. When the value of the state variable is changed, the event server notifies the control point of the change as an event. The target of notification is a control point that subscribes to the service in advance.

本明細書では、サービスを含むデバイスを「サービスデバイス」と呼んでいる。図8からも理解できるように、各サービスデバイスは、1つ以上の任意の数のサービスを含むことが可能である。また、あるサービスデバイスが、他のサービスデバイスを含むようにデバイス構成を構築することが可能である。   In this specification, a device including a service is called a “service device”. As can also be seen from FIG. 8, each service device may include any number of one or more services. It is also possible to construct a device configuration so that a certain service device includes other service devices.

なお、ベーシックデバイスを使用せずに、例えばプリンタデバイスをルートデバイスとして設定し、他のデバイス(スキャナとストレージ)をプリンタデバイスの埋込デバイスとして構成することも可能である。   Instead of using a basic device, for example, a printer device can be set as a root device, and other devices (scanner and storage) can be configured as an embedded device of the printer device.

図8にも示したように、本実施例では、ネットワーク装置900全体に対してIPアドレスが1つだけ割り当てられるので、コントロールポイントは、この1つのIPアドレスを用いて複合機800の種々のサービスデバイスにアクセスできるという利点がある。   As shown in FIG. 8, in this embodiment, only one IP address is assigned to the entire network device 900, so that the control point uses the one IP address to perform various services of the multi-function device 800. The advantage is that the device can be accessed.

UPnP対応デバイスは、自身の構成や機能をデバイスディスクリプションという形式で予め保持しており、コントロールポイントからの要求に応じてデバイスディスクリプションを提供する機能を有している。また、サービスの内容は、サービスディスクリプションとして形でデバイス内に保持され、コントロールポイントに提供される。図8の例では、3つのデバイスのデバイスディスクリプションと、4つのサービスのサービスディスクリプションとが、MFPデバイス制御ユニット700内のディスクリプション作成モジュール710によって作成されて保持されている。   A UPnP-compatible device holds its configuration and functions in the form of a device description in advance, and has a function of providing a device description in response to a request from a control point. The contents of the service are held in the device in the form of a service description and provided to the control point. In the example of FIG. 8, device descriptions of three devices and service descriptions of four services are created and held by the description creation module 710 in the MFP device control unit 700.

図9は、複合機800全体のデバイスディスクリプションの例を示している。デバイスディスクリプションは、XMLで記述されている。アンダーラインを付した部分は、本実施例に特有の設定を示している。要素<URLBase>の内容”http://169.254.100.100:80”は、ネットワーク装置900のホスト名(ここではIPアドレス)と、HTTPを用いる場合のポート番号を含んでいる。ディスクリプション内の各種のURIは、このIPアドレスに対する相対アドレスとして記述されている。なお、本明細書において、「URI」(又はURL)という用語は、絶対アドレスで記述されている場合と、相対アドレスで記述されている場合の両方を含んでいる。以下では、IPアドレスに対する相対アドレスを「パス名」と呼ぶ。   FIG. 9 shows an example of the device description of the entire multifunction device 800. The device description is described in XML. A portion with an underline indicates a setting specific to the present embodiment. The content “http://169.254.100.100:80” of the element <URLBase> includes a host name (IP address here) of the network device 900 and a port number when using HTTP. Various URIs in the description are described as relative addresses to this IP address. In the present specification, the term “URI” (or URL) includes both the case of being described by an absolute address and the case of being described by a relative address. Hereinafter, a relative address with respect to the IP address is referred to as a “path name”.

要素<root>の下には一つの要素<device>が存在し、この要素の中にさらに3つの要素<device>が包含されている。1つ目の要素<device>はベーシックデバイス(ルートデバイス)であり、その下位にある3つのデバイスはプリンタデバイスとスキャナデバイスとストレージデバイスである。   One element <device> exists under the element <root>, and three more elements <device> are included in this element. The first element <device> is a basic device (root device), and the three lower devices are a printer device, a scanner device, and a storage device.

プリンタデバイス用のディスクリプションには、以下の内容が記述されている。
・<presentation URL>:コントロールポイントがプリンタデバイスのプレゼンテーション用のページを取得する際のURL。このURLは、パス名”/PRESENTATION/PRINTER”で構成されている。
・<serviceList> :プリンタデバイスが提供するサービスのリスト。
・<serviceType>:プリンタが提供するサービスのタイプ。”PrintBasic”,”PrintEnhanced”は、いずれもUPnPアーキテクチャの標準的なプリントサービスである。
・<SCPDURL>:プリンタのデバイスディスクリプションのパス名。
・<controlURL>:プリンタデバイス内のコントロールサーバのパス名。コントロールサーバは、コントロールポイントに対してコントロール(コントロールポイントがアクション要求を含む制御メッセージをデバイスに転送して、デバイスの制御を行う処理)の機能を提供するサーバであり、一般にUPnPデバイスのサービス内に設けられている。
・<eventSubURL>:プリンタデバイス内のイベントサーバのパス名。イベントサーバは、サブスクライブ(購読)しているコントロールポイントにイベントを発行するサーバであり、一般にデバイスのサービス内に設けられている。
The following contents are described in the description for the printer device.
<Presentation URL>: URL when the control point acquires a page for presentation of the printer device. This URL is composed of a path name “/ PRESENTATION / PRINTER”.
<ServiceList>: A list of services provided by the printer device.
<ServiceType>: Type of service provided by the printer. “PrintBasic” and “PrintEnhanced” are both standard print services of the UPnP architecture.
<SCPDURL>: The path name of the printer device description.
<ControlURL>: Control server path name in the printer device. The control server is a server that provides a control point function (a process in which the control point transfers a control message including an action request to the device to control the device), and is generally included in the service of the UPnP device. Is provided.
<EventSubURL>: Path name of the event server in the printer device. The event server is a server that issues events to subscribing (subscribing) control points, and is generally provided in a device service.

スキャナ用及びストレージ用のディスクリプションにも、プリンタ用のものと同様な項目が記述されている。なお、デバイスディスクリプションには、この他にデバイスのフレンドリ名や、製造者名、モデル名、アイコンなどの種々のプロパティが記述されているが、ここでは図示が省略されている。   In the descriptions for the scanner and the storage, items similar to those for the printer are described. In the device description, various other properties such as a friendly name of the device, a manufacturer name, a model name, and an icon are described, but the illustration is omitted here.

なお、デバイスディスクリプションは、デバイスユニット全体のURI(URLBase)と、デバイスのタイプ(BasicやPrinter)とを示す情報を少なくとも含むように構成されていることが好ましく、通常はXMLで記述されている。また、デバイスがサービスを含む場合には、デバイスディスクリプションは、サービスのタイプ(PrintBasicやPrintEnhanced)と、サービスのコントロールサーバの宛先と、イベントサーバの宛先とを示す情報を含むことが好ましい。   The device description is preferably configured to include at least information indicating the URI (URLBase) of the entire device unit and the device type (Basic or Printer), and is usually described in XML. . When the device includes a service, the device description preferably includes information indicating a service type (PrintBasic or PrintEnhanced), a service control server destination, and an event server destination.

D.第1実施例:
図10は、第1実施例における処理シーケンスを示すシーケンス図である。第1実施例においては、複合機800の電源がオフされた場合、または、複合機800と中継ユニット600との間のUSB接続が切断された場合の処理を説明する。
D. First embodiment:
FIG. 10 is a sequence diagram showing a processing sequence in the first embodiment. In the first embodiment, a process when the power of the multi-function device 800 is turned off or when the USB connection between the multi-function device 800 and the relay unit 600 is disconnected will be described.

ステップ[1]では、複合機800の電源がオフされたこと、または、複合機800と中継ユニット600との間のUSB接続が切断されたことが複合機800からMFPデバイス制御ユニット700に通知される。なお、複合機800が通知を行う代わりに、MFPデバイス制御ユニット700が複合機800のステータスを定期的にポーリングして複合機800の電源オフ又はUSB接続の切断を検出するようにしても良い。なお、USB接続の切断を、「USB接続の喪失」とも呼ぶ。ここで、「USB接続の喪失」とは、ケーブルやコネクタの物理的な切断のみでなく、所定期間以上に渡って交信が不可能になった場合も含む広い意味を有している。   In step [1], the MFP 800 notifies the MFP device control unit 700 that the MFP 800 has been turned off or that the USB connection between the MFP 800 and the relay unit 600 has been disconnected. The Instead of notifying the multifunction device 800, the MFP device control unit 700 may periodically poll the status of the multifunction device 800 to detect power-off of the multifunction device 800 or disconnection of the USB connection. The disconnection of the USB connection is also referred to as “loss of USB connection”. Here, “loss of USB connection” has a broad meaning including not only physical disconnection of a cable or connector but also a case where communication becomes impossible for a predetermined period or more.

MFPデバイス制御ユニット700は、複合機800の電源オフを知ると、ステップ[2]において、MFPサーバ300にリセット要求を送信する。MFPサーバ300は、ステップ[3]において、リセット要求のレスポンスとしてシャットダウン通知をMFPデバイス制御ユニット700に送信する。ステップ[4]では、MFPサーバ300がByeBye通知をコントロールポイントにマルチキャストする。シャットダウン通知は、MFPサーバ300が再起動を行う旨を通知するための通知である。また、ByeBye通知は、UPnPプロトコルにおいて、MFPデバイスがネットワークから離脱することをすべてのコントロールポイントに通知するための通知である。MFPサーバ300がByeBye通知をマルチキャストして再起動を行う理由は、UPnP規格において、デバイスディスクリプションを再作成する際にこれらの動作を行うものと定められているからである。この後、MFPサーバ300が再起動する。なお、MFPサーバ300とともにMFPデバイス制御ユニット700も再起動するものとしてもい。なお、ステップ[2]〜[4]及びMFPサーバ300の再起動は省略することも可能である。   When the MFP device control unit 700 knows that the multifunction device 800 is powered off, it transmits a reset request to the MFP server 300 in step [2]. In step [3], the MFP server 300 transmits a shutdown notification to the MFP device control unit 700 as a response to the reset request. In step [4], the MFP server 300 multicasts a ByeBye notification to the control point. The shutdown notification is a notification for notifying that the MFP server 300 is to be restarted. The ByeBye notification is a notification for notifying all control points that the MFP device is leaving the network in the UPnP protocol. The reason why the MFP server 300 performs restart by multicasting the ByeBye notification is that, in the UPnP standard, it is determined that these operations are performed when a device description is recreated. Thereafter, the MFP server 300 is restarted. The MFP device control unit 700 may be restarted together with the MFP server 300. Note that steps [2] to [4] and restart of the MFP server 300 may be omitted.

図10のステップ[5]では、MFPサーバ300がMFPデバイス制御ユニット700にデバイス情報を要求する。このデバイス情報の要求は、MFPサーバ300の起動時に行われる処理であり、UPnP対応のネットワーク装置900が有するデバイスの個数と、サービスの個数と、各デバイスのデバイスタイプと、各サービスのサービスタイプとを含む各種のデバイス情報を、MFPサーバ300が取得するために行われる。ステップ[6]では、MFPデバイス制御ユニット700が、このデバイス情報要求に応じてステータス要求を複合機800に転送することによって、複合機800が提供可能なサービスデバイスやサービスの情報を要求する。但し、複合機800は電源オフされているので、ステータス要求に対するレスポンスは返さない。ステータス要求から所定時間が経過すると、MFPデバイス制御ユニット700はタイムアウトによるエラーが発生したものと判断する(ステップ[7])。また、MFPデバイス制御ユニット700は、デバイス情報要求に対するレスポンスとして、デバイス数が1であることを通知する(ステップ[8])。ここで、デバイス数が1であるとする理由は、本実施例におけるディスクリプション生成部710が、複合機800の電源オフ時のデバイスディスクリプションとして、ベーシックデバイスのみを含むものを作成するように構成されるからである(ステップ[13])。   In step [5] in FIG. 10, the MFP server 300 requests device information from the MFP device control unit 700. This request for device information is a process performed when the MFP server 300 is activated. The number of devices included in the UPnP-compatible network device 900, the number of services, the device type of each device, and the service type of each service Is performed in order for the MFP server 300 to acquire various types of device information including. In step [6], the MFP device control unit 700 requests a service device and service information that can be provided by the MFP 800 by transferring a status request to the MFP 800 in response to the device information request. However, since the MFP 800 is powered off, no response is returned to the status request. When a predetermined time elapses from the status request, the MFP device control unit 700 determines that an error due to timeout has occurred (step [7]). Further, the MFP device control unit 700 notifies that the number of devices is 1 as a response to the device information request (step [8]). Here, the reason that the number of devices is 1 is that the description generation unit 710 in this embodiment creates a device description that includes only a basic device as a device description when the MFP 800 is powered off. (Step [13]).

図11は、複合機800の電源オフ時のデバイスディスクリプションの一例を示す説明図である。図9の正常稼働時のデバイスディスクリプションと比較すれば理解できるように、電源オフ時には、サービスを提供するデバイス(プリンタ、スキャナ、ストレージ)に関する記述が削除されており、デバイスとしてはサービスを含まないベーシックデバイスのみが残されている。なお、電源オフ時においても、クライアントに複合機800に関する画面を表示するために、ベーシックデバイスのプレゼンテーションURL(クライアントに提供するWebページのURL)を記述しておくことが好ましい。図11の例では、ベーシックデバイスのプレゼンテーションURLとして、その相対アドレス”/PRESENTATION/BAIC”が記述されている。   FIG. 11 is an explanatory diagram illustrating an example of a device description when the MFP 800 is powered off. As can be understood by comparing with the device description during normal operation in FIG. 9, the description of the device (printer, scanner, storage) that provides the service is deleted when the power is turned off, and the device does not include the service. Only the basic device remains. Even when the power is turned off, it is preferable to describe the presentation URL of the basic device (the URL of the Web page provided to the client) in order to display a screen related to the multifunction device 800 on the client. In the example of FIG. 11, the relative address “/ PRESENTATION / BAIC” is described as the presentation URL of the basic device.

図12は、正常稼働時と複合機800の電源オフ時とにおけるネットワーク装置900のデバイス構成を比較して示す説明図である。この図からも理解できるように、複合機800の電源オフ時には、ネットワーク装置900は、クライアントに提供するサービスを有さないベーシックデバイスのみで構成されているものとしてデバイスディスクリプションが生成される。   FIG. 12 is an explanatory diagram showing a comparison of device configurations of the network device 900 during normal operation and when the multifunction device 800 is powered off. As can be understood from this figure, when the multifunction device 800 is powered off, a device description is generated on the assumption that the network apparatus 900 is configured only with basic devices that do not have services to be provided to clients.

なお、図10のステップ[8]では、デバイス数が1であることの他に、デバイスタイプが”Basic”であること、及び、サービス数が0であることも通知される。なお、MFPサーバ300が複数種類の情報を取得するために、ステップ[5]〜[8]において要求と返信とが複数回繰り返されるようにしてもよい。このステップ[8]までが、複合機800の電源オフ時に行われる処理である。   In step [8] in FIG. 10, in addition to the number of devices being 1, it is also notified that the device type is “Basic” and the number of services is 0. Note that the request and reply may be repeated a plurality of times in steps [5] to [8] in order for the MFP server 300 to acquire a plurality of types of information. The processes up to step [8] are performed when the multifunction device 800 is powered off.

図10の例では、その後のステップ[9]において、コントロールポイント120CからM-Search要求がマルチキャストされている。M-Search要求は、UPnPプロトコルにおいてコントロールポイントがデバイスを検索するために発行するものである。この要求に対しては、ネットワークに接続されている全てのUPnP対応ネットワーク装置が、要求発行元のコントロールポイント120Cにレスポンスを返す(ステップ[10])。   In the example of FIG. 10, in the subsequent step [9], the M-Search request is multicast from the control point 120C. The M-Search request is issued by the control point for searching for devices in the UPnP protocol. In response to this request, all UPnP-compatible network devices connected to the network return responses to the control point 120C that issued the request (step [10]).

その後、コントロールポイント120Cは、個々のネットワーク装置に対してデバイスディスクリプションの転送を要求する(ステップ[11])。MFPサーバ300は、この要求をMFPデバイス制御ユニット700に転送すると(ステップ[12])、MFPデバイス制御ユニット700が図11で説明したデバイスディスクリプションを再作成する(ステップ[13])。なお、MFPデバイス制御ユニット700は、これ以前の時点でデバイスディスクリプションを再作成していてもよい。   Thereafter, the control point 120C requests each network device to transfer the device description (step [11]). When the MFP server 300 transfers this request to the MFP device control unit 700 (step [12]), the MFP device control unit 700 recreates the device description described in FIG. 11 (step [13]). Note that the MFP device control unit 700 may re-create the device description at an earlier time.

こうして作成されたデバイスディスクリプションは、ステップ[14]でMFPデバイス制御ユニット700からMFPサーバ300に転送され、さらに、ステップ[15]でコントロールポイント120Cに転送される。図13(A)は、このデバイスディスクリプションに応じてコントロールポイント120C(図1のデジタルTVセット120)に表示される画面の一例を示している。この画面は、複合機800のサービス(プリンタ、スキャナ、ストレージ(PCカードメモリ))を使用するための各種のボタン910〜950を含んでいる。但し、図11に示したデバイスディスクリプションでは、サービスを提供するデバイスが全く含まれていないため、図13(A)の画面ではこれらのサービスを選択するためのボタン920,930,940が選択できない形態で表示されている。デジタルTVセット120は、デバイスディスクリプションに応じて、このように表示画面の表示形態を調整する機能を有している。但し、デジタルTVセット120内にこの機能を実装する代わりに、このような画面を表すデータ(例えばWebページ)をMFPデバイス制御ユニット700(又はMFPサーバ300)で作成してコントロールポイント120Cに転送するようにしても良い。   The device description thus created is transferred from the MFP device control unit 700 to the MFP server 300 in step [14], and further transferred to the control point 120C in step [15]. FIG. 13A shows an example of a screen displayed on the control point 120C (digital TV set 120 in FIG. 1) in accordance with the device description. This screen includes various buttons 910 to 950 for using services (printer, scanner, storage (PC card memory)) of the multi-function device 800. However, since the device description shown in FIG. 11 does not include any device that provides a service, the buttons 920, 930, and 940 for selecting these services cannot be selected on the screen of FIG. 13A. It is displayed in the form. The digital TV set 120 has a function of adjusting the display form of the display screen according to the device description. However, instead of implementing this function in the digital TV set 120, data representing such a screen (for example, a Web page) is created by the MFP device control unit 700 (or the MFP server 300) and transferred to the control point 120C. You may do it.

図13(A)の画面において、「トップページ」を要求するボタン910をユーザがクリックすると、プレゼンテーション画面の要求がコントロールポイント120CからMFPサーバ300に転送される(図10のステップ[16])。このプレゼンテーション要求は、図11に示したデバイスディスクリプションに記述されているプレゼンテーションURLに記載された相対アドレス”/PRESENTATION/BASIC”で特定されるページの転送要求である。このプレゼンテーション要求は、MFPサーバ300からMFPデバイス制御ユニット700に転送され、これに応じてプレゼンテーション画面を記述したWebページがレスポンスとして返信される(ステップ[18],[19])。   When the user clicks a button 910 for requesting “top page” on the screen in FIG. 13A, the request for the presentation screen is transferred from the control point 120C to the MFP server 300 (step [16] in FIG. 10). This presentation request is a page transfer request specified by the relative address “/ PRESENTATION / BASIC” described in the presentation URL described in the device description shown in FIG. This presentation request is transferred from the MFP server 300 to the MFP device control unit 700, and in response thereto, a Web page describing the presentation screen is returned as a response (steps [18] and [19]).

図13(B)は、図10のステップ[19]でコントロールポイント120Cに転送されるプレゼンテーション画面の例を示している。この例では、複合機800が電源オフのために使用できないことが説明されている。   FIG. 13B shows an example of the presentation screen transferred to the control point 120C in step [19] of FIG. In this example, it is described that the multi-function device 800 cannot be used because the power is turned off.

なお、図10のステップ[2],[3]における通信はUPNP-LOCALEVENTチャンネル(図5)を利用して行われ、また、ステップ[5],[8] ,[12],[14],[17],[18]における通信はUPNP-LOCALCONTROLチャンネルを利用して行われる。但し、これら以外の論理チャンネルを用いてこれらの通信を実行してもい。   Note that communication in steps [2] and [3] of FIG. 10 is performed using the UPNP-LOCALEVENT channel (FIG. 5), and steps [5], [8], [12], [14], Communication in [17] and [18] is performed using the UPNP-LOCALCONTROL channel. However, these communications may be performed using logical channels other than these.

以上のように、第1実施例では、複合機800の電源オフ時、又は、中継ユニット600と複合機800の間の接続の喪失時に、クライアントに提供するサービスを有さないベーシックデバイスのみを含むようにデバイスディスクリプション(図11)が作成される。従って、クライアント(コントロールポイント)がこのデバイスディスクリプションを受信すると、複合機800がサービスを提供できない状況であることを把握することが可能である。また、クライアントは、ネットワーク装置900に対して各種のサービスを要求するための無駄なアクセスを行わないので、ネットワーク内における通信効率を高めることが可能である。   As described above, the first embodiment includes only a basic device that does not have a service to be provided to a client when the MFP 800 is powered off or when the connection between the relay unit 600 and the MFP 800 is lost. Thus, a device description (FIG. 11) is created. Therefore, when the client (control point) receives this device description, it is possible to grasp that the MFP 800 cannot provide the service. In addition, since the client does not perform useless access for requesting various services to the network device 900, it is possible to improve communication efficiency in the network.

E.第2実施例:
図14は、第2実施例における処理シーケンスを示すシーケンス図である。第2実施例においては、中継ユニット600の起動時に複合機800に不具合が存在する場合の処理を説明する。
E. Second embodiment:
FIG. 14 is a sequence diagram showing a processing sequence in the second embodiment. In the second embodiment, a process in the case where a malfunction exists in the multi-function device 800 when the relay unit 600 is activated will be described.

中継ユニット(MFPサーバ300及びMFPデバイス制御ユニット700)が起動すると、ステップ[1]において、MFPサーバ300がMFPデバイス制御ユニット700にデバイス情報を要求する。このデバイス情報要求は、図10のステップ[5]の要求と同じものである。MFPデバイス制御ユニット700は、このデバイス情報要求に応じてステータス要求を複合機800に転送し(ステップ[2])、複合機800はそのレスポンスを返信する(ステップ[3])。ここでは、稼働しているデバイス数N(Nは1以上の整数)を含む種々のデバイス情報が返信される。例えば、正常稼働時に使用できる3つのデバイス810,820,830(図1)のうち、印刷エンジン810に不具合が発生している場合を想定する。この場合には、稼働デバイス数としてN=2が返信され、また、稼働デバイスタイプとして、スキャナとPCカードインターフェース(ストレージ)が返信される。このようなレスポンスは、MFPデバイス制御ユニット700からMFPサーバ300にも転送される(ステップ[4])。   When the relay unit (the MFP server 300 and the MFP device control unit 700) is activated, the MFP server 300 requests device information from the MFP device control unit 700 in step [1]. This device information request is the same as the request in step [5] in FIG. In response to this device information request, the MFP device control unit 700 transfers a status request to the multi-function device 800 (step [2]), and the multi-function device 800 returns a response (step [3]). Here, various device information including the number of active devices N (N is an integer of 1 or more) is returned. For example, it is assumed that a problem has occurred in the print engine 810 among the three devices 810, 820, and 830 (FIG. 1) that can be used during normal operation. In this case, N = 2 is returned as the number of operating devices, and a scanner and a PC card interface (storage) are returned as operating device types. Such a response is also transferred from the MFP device control unit 700 to the MFP server 300 (step [4]).

図14のステップ[5]〜[15]の処理は、図10のステップ[9]〜[19]の処理と基本的に同一なので、詳細な説明は省略する。図15は、印刷エンジン810に不具合が発生している場合のデバイス構成を、正常稼働時のデバイス構成と比較して示す説明図である。この例では、印刷エンジン810が不具合が発生して使用できない状態にあるため、プリンタデバイスとそのサービスとが含まれておらず、ベーシックデバイスの中にはスキャナデバイスとストレージデバイスのみが含まれている。なお、図14のステップ[9]で作成されるデバイスディスクリプションは、図9に示したものからプリンタデバイスの部分を削除したものとなる。   The processes in steps [5] to [15] in FIG. 14 are basically the same as the processes in steps [9] to [19] in FIG. FIG. 15 is an explanatory diagram illustrating a device configuration when a problem has occurred in the print engine 810 in comparison with a device configuration during normal operation. In this example, since the print engine 810 is in a state where it cannot be used due to a problem, the printer device and its service are not included, and the basic device includes only the scanner device and the storage device. . Note that the device description created in step [9] of FIG. 14 is obtained by deleting the printer device portion from that shown in FIG.

図16(A)は、図14のステップ[11]のレスポンスに応じてデジタルTVセット120に表示される画面の一例を示している。この画面では、複合機800のサービスを選択するための3つのボタン920,930,940のうち、不具合が発生しているデバイスに対応するボタン920が選択できない形態で表示される。  FIG. 16A shows an example of a screen displayed on the digital TV set 120 in response to the response of step [11] in FIG. In this screen, the button 920 corresponding to the device in which the malfunction has occurred cannot be selected from among the three buttons 920, 930, and 940 for selecting the service of the multifunction device 800.

図16(B)は、図14のステップ[15]のレスポンスに応じてデジタルTVセット120に転送されるプレゼンテーション画面の例を示している。この例では、プリンタにメンテナンスの必要が生じているために使用できないことが説明されている。   FIG. 16B shows an example of a presentation screen transferred to the digital TV set 120 in response to the response of step [15] in FIG. In this example, it is explained that the printer cannot be used because maintenance is required.

なお、印刷エンジン810が使用不可となる不具合としては、インク廃液のオーバーフローや、印刷ヘッドのキャリッジの固着(動作不可)などが考えられる。また、スキャナエンジン820が使用不可となる不具合としては、スキャナランプの故障(ランプ切れ)などが考えられる。これらの予め想定されている不具合が発生していると、複合機800はステータス要求のレスポンス(図14のステップ[3],[22])において、MFPデバイス制御ユニット700に不具合の発生を通知する。   In addition, problems that make the print engine 810 unusable include overflow of ink waste liquid, sticking of the carriage of the print head (inoperable), and the like. Further, as a problem that the scanner engine 820 becomes unusable, a scanner lamp failure (lamp out) or the like can be considered. When these presumed failures occur, the multi-function device 800 notifies the MFP device control unit 700 of the occurrence of the failure in the response to the status request (steps [3] and [22] in FIG. 14). .

このように、第2実施例では、中継ユニット600の起動時において複合機800が有する複数のデバイス810,820,830のうちの一部のデバイスに不具合が発生していて稼働できないときに、そのデバイスを削除したデバイスディスクリプションが作成される。従って、クライアントがこのデバイスディスクリプションを受信すると、一部のデバイスがサービスを提供できない状況であることを把握することが可能である。   As described above, in the second embodiment, when the relay unit 600 is activated, when some of the devices 810, 820, and 830 included in the multi-function device 800 are defective and cannot be operated, A device description with the device deleted is created. Therefore, when the client receives this device description, it is possible to recognize that some devices cannot provide the service.

F.第3実施例:
図17は、第3実施例における処理シーケンスを示すシーケンス図である。第3実施例においては、中継ユニット600と複合機800とが両方とも動作している最中に複合機800内のデバイスに不具合が発生する場合の処理を説明する。
F. Third embodiment:
FIG. 17 is a sequence diagram showing a processing sequence in the third embodiment. In the third embodiment, a process will be described in the case where a failure occurs in a device in the multifunction device 800 while both the relay unit 600 and the multifunction device 800 are operating.

ステップ[1]では、複合機800が、複合機800内のデバイスに不具合が発生したことをMFPデバイス制御ユニット700に通知する。このとき、MFPデバイス制御ユニット700は、複合機800で実行中の処理をキャンセルして、複合機800をアイドル状態に遷移させるようにすることが好ましい。   In step [1], the multi-function device 800 notifies the MFP device control unit 700 that a problem has occurred in a device in the multi-function device 800. At this time, it is preferable that the MFP device control unit 700 cancels the process being executed in the multifunction device 800 and causes the multifunction device 800 to transition to the idle state.

図17のステップ[2]以降の処理は、図10のステップ[2]以降と基本的に同じである。すなわち、MFPサーバ300が再起動して複合機800の稼働状態を反映したデバイスディスクリプションが再作成され、このデバイスディスクリプションに応じてUPnPのサービスが提供される。なお、第3実施例において複合機800内のいくつかのデバイスが稼働可能であれば、図17のステップ[7]においてステータス情報が複合機800からMFPデバイス制御ユニット700に返信されるので、この点は図10の処理と異なっている。他の点は第1実施例(図10)及び第2実施例(図14)とほぼ同じなので詳細な説明を省略する。   The processes after step [2] in FIG. 17 are basically the same as those after step [2] in FIG. That is, the MFP server 300 is restarted to re-create a device description that reflects the operating state of the multifunction device 800, and a UPnP service is provided in accordance with this device description. If several devices in the multifunction device 800 are operable in the third embodiment, status information is returned from the multifunction device 800 to the MFP device control unit 700 in step [7] in FIG. This is different from the processing in FIG. Since the other points are almost the same as those of the first embodiment (FIG. 10) and the second embodiment (FIG. 14), detailed description is omitted.

このように、第3実施例では、動作中に複合機800が有する複数のデバイス810,820,830のうちの少なくとも一部のデバイスに不具合が発生して稼働できなくなったときに、そのデバイスを削除したデバイスディスクリプションが作成される。従って、クライアントがこのデバイスディスクリプションを受信すると、稼働不能なデバイスがサービスを提供できない状況であることを把握することが可能である。   As described above, in the third embodiment, when a malfunction occurs in at least some of the plurality of devices 810, 820, and 830 included in the multi-function device 800 during operation and the devices cannot be operated, The deleted device description is created. Therefore, when the client receives this device description, it is possible to grasp that the inoperable device cannot provide the service.

G.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
G. Variation:
The present invention is not limited to the above-described examples and embodiments, and can be implemented in various modes without departing from the gist thereof. For example, the following modifications are possible.

G1.変形例1:
上記実施例では、UPnP対応のネットワーク装置900として複数のデバイスを含む複合機800を有する装置を用いていたが、この代わりに、1つのデバイス(例えばプリンタ)のみを含む単機能のネットワーク装置を採用することも可能である。換言すれば、ネットワーク装置は、少なくとも1つのデバイスを有していれば良い。
G1. Modification 1:
In the above embodiment, the UPnP-compatible network device 900 is a device having the multi-function device 800 including a plurality of devices. Instead, a single-function network device including only one device (for example, a printer) is employed. It is also possible to do. In other words, the network device may have at least one device.

G2.変形例2:
上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
G2. Modification 2:
In the above embodiment, a part of the configuration realized by hardware may be replaced with software, and conversely, a part of the configuration realized by software may be replaced by hardware.

本発明の実施例を適用するネットワークシステムの構成を示す概念図である。It is a conceptual diagram which shows the structure of the network system to which the Example of this invention is applied. 中継ユニット内のMFPサーバとMFPデバイス制御ユニットの内部構成を示すブロック図である。FIG. 2 is a block diagram showing an internal configuration of an MFP server and an MFP device control unit in a relay unit. MFPサーバの各種プロトコルの階層構造を示すブロック図である。3 is a block diagram showing a hierarchical structure of various protocols of the MFP server. FIG. MFPデバイス制御ユニットの各種プロトコルの階層構造を示すブロック図である。It is a block diagram which shows the hierarchical structure of the various protocols of an MFP device control unit. MFPサーバとMFPデバイス制御ユニットの間のUSB接続におけるインタフェース/エンドポイント構成と論理チャンネルの構成とを示す説明図である。3 is an explanatory diagram showing an interface / endpoint configuration and a logical channel configuration in USB connection between an MFP server and an MFP device control unit. FIG. プリンタインタフェースを介したUSB転送に用いられるパケットの構成を示す説明図である。It is explanatory drawing which shows the structure of the packet used for USB transfer via a printer interface. UPnPアーキテクチャを利用した処理の典型例を示すシーケンス図である。It is a sequence diagram which shows the typical example of the process using UPnP architecture. 実施例のUPnPデバイス構成を示す説明図である。It is explanatory drawing which shows the UPnP device structure of an Example. 複合機のデバイスディスクリプションの例を示す説明図である。FIG. 11 is an explanatory diagram illustrating an example of a device description of a multifunction peripheral. 第1実施例における処理シーケンスを示すシーケンス図である。It is a sequence diagram which shows the process sequence in 1st Example. 第1実施例で作成されるデバイスディスクリプションの一例を示す説明図である。It is explanatory drawing which shows an example of the device description produced in 1st Example. 正常稼働時と複合機の電源オフ時とにおけるネットワーク装置のデバイス構成を比較して示す説明図である。3 is an explanatory diagram showing a comparison of device configurations of a network device during normal operation and when a multifunction device is powered off. FIG. 第1実施例においてデジタルTVセットに表示される画面の例を示す説明図である。It is explanatory drawing which shows the example of the screen displayed on a digital TV set in 1st Example. 第2実施例における処理シーケンスを示すシーケンス図である。It is a sequence diagram which shows the process sequence in 2nd Example. 正常稼働時と複合機の不具合発生時とにおけるネットワーク装置のデバイス構成を比較して示す説明図である。2 is an explanatory diagram showing a comparison of device configurations of a network apparatus during normal operation and when a malfunction occurs in a multifunction peripheral. FIG. 第2実施例においてデジタルTVセットに表示される画面の例を示す説明図である。It is explanatory drawing which shows the example of the screen displayed on a digital TV set in 2nd Example. 第3実施例における処理シーケンスを示すシーケンス図である。It is a sequence diagram which shows the process sequence in 3rd Example.

符号の説明Explanation of symbols

100…パーソナルコンピュータ
100D…プリンタドライバ
110…デジタルカメラ
110C…コントロールポイント
120…デジタルTVセット
120C…コントロールポイント
130…画像サーバ
300…MFPサーバ
302…ネットワークプロトコル制御部
310…中央制御部
320…RAM
330…ROM
340…ネットワーク制御部
342…コネクタ
350…USBホスト制御部
352…ルートハブ
354,356…USBコネクタ
410…中央制御部
420…RAM
430…ROM
460…USBデバイス制御部
462…USBコネクタ
510…USBホスト制御部
512…ルートハブ
514…USBコネクタ
600…中継ユニット
700…MFPデバイス制御ユニット
710…ディスクリプション作成モジュール
720…Webアプリケーションモジュール
800…複合機
810…印刷エンジン
820…スキャナエンジン
830…PCカードインタフェース
840…制御部
900…ネットワーク装置
910〜950…ボタン
1000…サービスプロトコル解釈部
1100…UPnPデバイスアーキテクチャ
1210,1220,1230…非UPnPデバイス機能部
1310…USBプリンタクラスドライバ
1320…USBスキャナクラスドライバ
1330…USBストレージクラスドライバ
2210…非UPnPプリンタ機能部
2220…非UPnPスキャナ機能部
2230…非UPnPストレージ機能部
2310…USBプリンタクラスドライバ
2320…USBスキャナクラスドライバ
2330…USBストレージクラスドライバ
2400…UPnPデバイス機能部
DESCRIPTION OF SYMBOLS 100 ... Personal computer 100D ... Printer driver 110 ... Digital camera 110C ... Control point 120 ... Digital TV set 120C ... Control point 130 ... Image server 300 ... MFP server 302 ... Network protocol control part 310 ... Central control part 320 ... RAM
330 ... ROM
340 ... Network control unit 342 ... Connector 350 ... USB host control unit 352 ... Root hub 354, 356 ... USB connector 410 ... Central control unit 420 ... RAM
430 ... ROM
460 ... USB device control unit 462 ... USB connector 510 ... USB host control unit 512 ... Root hub 514 ... USB connector 600 ... Relay unit 700 ... MFP device control unit 710 ... Description creation module 720 ... Web application module 800 ... Multifunction device 810 ... Print engine 820 ... Scanner engine 830 ... PC card interface 840 ... Control unit 900 ... Network device 910-950 ... Button 1000 ... Service protocol interpretation unit 1100 ... UPnP device architecture 1210, 1220, 1230 ... Non-UPnP device function unit 1310 ... USB printer Class driver 1320 USB scanner class driver 1330 USB storage class driver 2210 ... Non-UPnP printer function part 2220 ... Non-UPnP scanner function part 2230 ... Non-UPnP storage function part 2310 ... USB printer class driver 2320 ... USB scanner class driver 2330 ... USB storage class driver 2400 ... UPnP device function part

Claims (5)

ネットワーク上のクライアントからの要求に応じてサービスを提供するN個(Nは1以上の整数)のサービスデバイスを有するデバイスユニットと、前記ネットワークとの間を中継するためのネットワーク型プラグアンドプレイに対応したネットワーク中継装置であって、
前記ネットワーク中継装置に接続されている前記デバイスユニットに含まれるサービスデバイスを記述するデバイスディスクリプションを作成し、ネットワーク上のクライアントからの要求に応じて前記デバイスディスクリプションを供給するディスクリプション作成部を備え、
前記ディスクリプション作成部は、前記デバイスユニットが有する前記N個のサービスデバイスのうちの1つ以上のサービスデバイスが稼働不能なときに、稼働不能なサービスデバイスの記述を含まないデバイスディスクリプションを作成して前記クライアントに供給する、ネットワーク中継装置。
Supports network type plug-and-play for relaying between a device unit having N service devices (N is an integer of 1 or more) that provides a service in response to a request from a client on the network, and the network Network relay device,
A description creation unit that creates a device description describing a service device included in the device unit connected to the network relay device and supplies the device description in response to a request from a client on the network; ,
The description creation unit creates a device description that does not include a description of an inoperable service device when one or more service devices of the N service devices of the device unit are inoperable. A network relay device to be supplied to the client.
請求項1記載のネットワーク中継装置であって、
前記ディスクリプション作成部は、前記N個のサービスデバイスのすべてが稼働不能なときには、クライアントに提供するサービスを持たないベーシックデバイスのみを有するように前記デバイスディスクリプションを作成する、ネットワーク中継装置。
The network relay device according to claim 1,
The description creation unit creates the device description so as to have only a basic device having no service to be provided to a client when all of the N service devices cannot be operated.
請求項2記載のネットワーク中継装置であって、
前記稼働不能なサービスデバイスは、
(i)前記デバイスユニットの電源オフと、
(ii)前記デバイスユニットと前記ネットワーク中継装置との間の接続の喪失と、
(iii)個々のサービスデバイスにおける不具合の発生によるサービスデバイスの動作不能と、
のいずれかによって発生する、ネットワーク中継装置。
The network relay device according to claim 2,
The inoperable service device is
(I) powering off the device unit;
(Ii) loss of connection between the device unit and the network relay device;
(Iii) Inability of the service device to operate due to the occurrence of a failure in each service device;
A network relay device generated by any of the above.
請求項1ないし3のいずれかに記載のネットワーク中継装置であって、
前記ディスクリプション作成部を含み、前記デバイスユニットとの間で情報を交換することによって前記デバイスユニットを動作させるデバイス制御部と、
前記ネットワークと前記デバイス制御部との間に接続され、メッセージヘッダとメッセージボディとを有するメッセージを前記ネットワーク上のクライアントから受信するとともに、前記メッセージボディの情報を前記デバイス制御部に転送するネットワークプロトコル制御部と、
を備え、
前記ネットワークプロトコル制御部は、前記クライアントから受信した前記メッセージボディの内容を解釈すること無く前記ネットワーク型プラグアンドプレイのプロトコルに従って前記メッセージヘッダを解釈するとともに、前記ネットワーク型プラグアンドプレイのプロトコルとは異なる通信プロトコルに従って前記メッセージボディを前記デバイス制御部に送信し、
前記デバイス制御部は、前記ネットワークプロトコル制御部から受信した前記メッセージボディの内容を解釈するとともに、前記解釈の結果に応じて前記サービスデバイスにサービスを実行させる、ネットワーク中継装置。
The network relay device according to any one of claims 1 to 3,
A device control unit that includes the description creation unit and operates the device unit by exchanging information with the device unit;
Network protocol control connected between the network and the device control unit, receiving a message having a message header and a message body from a client on the network, and transferring information of the message body to the device control unit And
With
The network protocol control unit interprets the message header according to the network type plug and play protocol without interpreting the content of the message body received from the client, and is different from the network type plug and play protocol. Sending the message body to the device controller according to a communication protocol;
The network relay device, wherein the device control unit interprets the content of the message body received from the network protocol control unit, and causes the service device to execute a service according to the interpretation result.
ネットワーク型プラグアンドプレイプロトコルに従って、ネットワーク上のクライアントからの要求に応じてサービスを提供するN個(Nは1以上の整数)のサービスデバイスを有するデバイスユニットと、前記ネットワークとの間を中継する方法であって、
(a)前記ネットワークと前記デバイスユニットとの間に接続されたネットワーク中継装置が、前記ネットワーク中継装置に接続されている前記デバイスユニットに含まれるサービスデバイスを記述するデバイスディスクリプションを作成する工程と、
(b)前記ネットワーク中継装置が、ネットワーク上のクライアントからの要求に応じて前記デバイスディスクリプションを供給する工程と、
を備え、
前記工程(a)は、前記デバイスユニットが有する前記N個のサービスデバイスのうちの1つ以上のサービスデバイスが稼働不能なときに、稼働不能なサービスデバイスの記述を含まないデバイスディスクリプションを作成することを特徴とする方法。
A method of relaying between a device unit having N (N is an integer of 1 or more) service devices that provide a service in response to a request from a client on the network and the network according to a network type plug and play protocol Because
(A) a network relay device connected between the network and the device unit creating a device description describing a service device included in the device unit connected to the network relay device;
(B) the network relay device supplying the device description in response to a request from a client on the network;
With
The step (a) creates a device description that does not include a description of an inoperable service device when one or more of the N service devices of the device unit are inoperable. A method characterized by that.
JP2005349155A 2005-12-02 2005-12-02 Network relay compatible with network-type plug and play Pending JP2007156691A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005349155A JP2007156691A (en) 2005-12-02 2005-12-02 Network relay compatible with network-type plug and play
EP06256069A EP1793565A1 (en) 2005-12-02 2006-11-28 Network plug-and-play compliant network relay control
US11/607,648 US7594040B2 (en) 2005-12-02 2006-12-01 Network relay device having network plug-and-play compliant protocols for network relay

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005349155A JP2007156691A (en) 2005-12-02 2005-12-02 Network relay compatible with network-type plug and play

Publications (1)

Publication Number Publication Date
JP2007156691A true JP2007156691A (en) 2007-06-21

Family

ID=38240996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005349155A Pending JP2007156691A (en) 2005-12-02 2005-12-02 Network relay compatible with network-type plug and play

Country Status (1)

Country Link
JP (1) JP2007156691A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013527525A (en) * 2010-04-14 2013-06-27 サムスン エレクトロニクス カンパニー リミテッド How to control the functions of devices in your home network
JP2015507291A (en) * 2012-02-03 2015-03-05 アップル インコーポレイテッド Bridge between non-network interface and network interface
JP2015065499A (en) * 2013-09-24 2015-04-09 セイコーエプソン株式会社 Communication device
JP2018526703A (en) * 2015-05-20 2018-09-13 コンヴィーダ ワイヤレス, エルエルシー Method and apparatus for analyzing and grouping service tier subscriptions and notifications to increase efficiency
JP2019205058A (en) * 2018-05-23 2019-11-28 コニカミノルタ株式会社 Image processing apparatus, network connection method, and network connection program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH113314A (en) * 1997-04-14 1999-01-06 Matsushita Electric Ind Co Ltd Network control system, network terminal and control terminal
JP2001312474A (en) * 2000-02-23 2001-11-09 Sony Corp Device and method for information processing, network system, recording medium, and program
JP2003046535A (en) * 2001-05-24 2003-02-14 Sony Corp Information processing apparatus and method, recording medium and program
JP2005182481A (en) * 2003-12-19 2005-07-07 Hitachi Ltd Network device
JP2005309617A (en) * 2004-04-19 2005-11-04 Canon Inc Network device management device, its control method, computer program and copy readable storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH113314A (en) * 1997-04-14 1999-01-06 Matsushita Electric Ind Co Ltd Network control system, network terminal and control terminal
JP2001312474A (en) * 2000-02-23 2001-11-09 Sony Corp Device and method for information processing, network system, recording medium, and program
JP2003046535A (en) * 2001-05-24 2003-02-14 Sony Corp Information processing apparatus and method, recording medium and program
JP2005182481A (en) * 2003-12-19 2005-07-07 Hitachi Ltd Network device
JP2005309617A (en) * 2004-04-19 2005-11-04 Canon Inc Network device management device, its control method, computer program and copy readable storage medium

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013527525A (en) * 2010-04-14 2013-06-27 サムスン エレクトロニクス カンパニー リミテッド How to control the functions of devices in your home network
US9876650B2 (en) 2010-04-14 2018-01-23 Samsung Electronics Co., Ltd. Method for controlling functions of device included in home network
JP2015507291A (en) * 2012-02-03 2015-03-05 アップル インコーポレイテッド Bridge between non-network interface and network interface
JP2015065499A (en) * 2013-09-24 2015-04-09 セイコーエプソン株式会社 Communication device
JP2018526703A (en) * 2015-05-20 2018-09-13 コンヴィーダ ワイヤレス, エルエルシー Method and apparatus for analyzing and grouping service tier subscriptions and notifications to increase efficiency
JP2019194856A (en) * 2015-05-20 2019-11-07 コンヴィーダ ワイヤレス, エルエルシー Method and apparatus for analyzing and grouping service layer subscriptions and notifications to enhance efficiency
JP2019205058A (en) * 2018-05-23 2019-11-28 コニカミノルタ株式会社 Image processing apparatus, network connection method, and network connection program
JP7024602B2 (en) 2018-05-23 2022-02-24 コニカミノルタ株式会社 Image processing equipment, network connection method and network connection program

Similar Documents

Publication Publication Date Title
JP4508114B2 (en) Network relay control for network type plug and play
US7594040B2 (en) Network relay device having network plug-and-play compliant protocols for network relay
JP4645164B2 (en) Network device control for network type plug and play
US7664135B2 (en) Control of network plug-and-play compliant device
JP4401679B2 (en) Control device, control program, and control method
US7869073B2 (en) Image forming system, image forming method and information terminal device
KR100886074B1 (en) Network service system, service proxy processing method, and computer-readable storage medium storing program therefor
US20060150236A1 (en) Control of network plug-and-play compliant device
JP4416563B2 (en) Network device management apparatus, control method therefor, computer program, and computer-readable storage medium
JP4774973B2 (en) Network relay control for network type plug and play
US8259332B2 (en) Printing apparatus and printing system
JP2007156691A (en) Network relay compatible with network-type plug and play
JP4760425B2 (en) Switching style sheets for printing using a printer
JP4640147B2 (en) Network relay control for network type plug and play
JP4765496B2 (en) Network device corresponding to network type plug and play and control method thereof
JP4935027B2 (en) Network device corresponding to network type plug and play and control method thereof
JP4912093B2 (en) Information processing method, information processing apparatus, program, and storage medium
JP2009020916A (en) Controller, control program, control method
JP2007072795A (en) Open control of usb logic channel
JP2007080126A (en) Control of network device corresponding to network type plug and play
JP5072499B2 (en) Image forming apparatus, data communication apparatus, data communication method, and data communication program
JP2009278336A (en) Image forming apparatus, provided function control method, and provided function control program
JP4448756B2 (en) Image processing apparatus and image processing method
JP2008193381A (en) Order sheet, order sheet preparing method, processing method using order sheet, and apparatus for them
JP2007114847A (en) Acquisition of credit for data communication in network printer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101102

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101221

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110510