JP4645164B2 - ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御 - Google Patents

ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御 Download PDF

Info

Publication number
JP4645164B2
JP4645164B2 JP2004329319A JP2004329319A JP4645164B2 JP 4645164 B2 JP4645164 B2 JP 4645164B2 JP 2004329319 A JP2004329319 A JP 2004329319A JP 2004329319 A JP2004329319 A JP 2004329319A JP 4645164 B2 JP4645164 B2 JP 4645164B2
Authority
JP
Japan
Prior art keywords
network
message
control unit
protocol
service
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.)
Expired - Fee Related
Application number
JP2004329319A
Other languages
English (en)
Other versions
JP2006139585A5 (ja
JP2006139585A (ja
Inventor
秀樹 両角
健二 作田
康裕 大島
努 茂木
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 JP2004329319A priority Critical patent/JP4645164B2/ja
Priority to US11/269,556 priority patent/US8166137B2/en
Publication of JP2006139585A publication Critical patent/JP2006139585A/ja
Publication of JP2006139585A5 publication Critical patent/JP2006139585A5/ja
Application granted granted Critical
Publication of JP4645164B2 publication Critical patent/JP4645164B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32128Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title attached to the image data, e.g. file header, transmitted message header, information on the same page or in the same computer file as the image
    • H04N1/32133Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title attached to the image data, e.g. file header, transmitted message header, information on the same page or in the same computer file as the image on the same paper sheet, e.g. a facsimile page header
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

この発明は、ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御技術に関する。
プラグアンドプレイは、よく知られているように、コンピュータの起動後に、周辺装置を任意のタイミングでコンピュータに接続したり、コンピュータから切断したりすることができる技術である。近年では、プラグアンドプレイ技術をネットワークに適用したものとして、ユニバーサルプラグアンドプレイ(以下、「UPnP」と呼ぶ。UPnPは UPnP Implementers Corporationの商標)が開発されてきている。UPnPを用いると、ネットワーク装置を任意のタイミングでネットワークに接続したり、ネットワークから切断したりすることができる。本明細書では、UPnPのように、ネットワークにおいてプラグアンドプレイを実現するアーキテクチャを、「ネットワーク型プラグアンドプレイ」と呼ぶ。
特開2001−290724
UPnP対応のネットワーク装置は、種々のサービスデバイスとして機能することが可能である。ここで、「サービスデバイス」とは、外部からの要求に応じてサービスを実行するデバイスを意味している。サービスデバイスは、プリンタや、スキャナ、ファクシミリ、コピー機、記憶装置、カメラ、時計などの種々の装置として実現可能である。また、1つの装置で複数のサービスデバイスの機能を実現することも可能である。
このように、UPnP対応のネットワーク装置は多様な形態を採り得る。しかし、その反面、個々のネットワーク装置毎にその装置に適した構成を採用するようにした場合には、ネットワーク装置の制御が複雑になったり、あるいは、個々のネットワーク装置毎に制御方法を変更しなくてはならず、その設計・製作に多大な手間を要するという問題があった。
本発明は、ネットワーク型プラグアンドプレイに対応したネットワーク装置における制御を単純化することのできる技術を提供することを目的とする。
本発明は、ネットワーク型プラグアンドプレイに対応したネットワーク装置に関する。本発明によるネットワーク装置は、ネットワーク上のクライアントからの要求に応じてサービスを実行する1つの以上のサービスデバイスと、
前記サービスデバイスの制御を行うデバイス制御部と、
メッセージヘッダとメッセージボディとを有するメッセージを、前記ネットワーク上のクライアントから受信するとともに、前記メッセージボディの情報を前記デバイス制御部に転送するネットワークプロトコル制御部と、を備える。
前記ネットワークプロトコル制御部は、前記クライアントから受信した前記メッセージボディの内容を解釈すること無く前記ネットワーク型プラグアンドプレイのプロトコルに従って前記メッセージヘッダを解釈するとともに、前記ネットワーク型プラグアンドプレイのプロトコルとは異なる通信プロトコルに従って前記メッセージボディを前記デバイス制御部に送信し、
前記デバイス制御部は、前記ネットワークプロトコル制御部から受信した前記メッセージボディの内容を解釈するとともに、前記解釈の結果に応じて前記サービスデバイスにサービスを実行させる。
このネットワーク装置によれば、ネットワークプロトコル制御部がメッセージボディの内容を解釈すること無くヘッダを解釈してメッセージボディをデバイス制御部に送信するので、ネットワークプロトコル制御部における制御が、実装されているサービスデバイスの種類や数に依存しない。この結果、ネットワークプロトコル制御部における制御を単純化することができる。
前記ネットワークプロトコル制御部は、前記デバイス制御部から受信したメッセージを、メッセージボディとし、メッセージヘッダを付加した上で、前記ネットワーク上のクライアントへ送信する機能を有し、
前記デバイス制御部は、前記クライアントに送信したい情報をメッセージとして、前記ネットワーク型プラグアンドプレイのプロトコルとは異なる通信プロトコルに従って前記ネットワークプロトコル制御部に送信し、
前記ネットワークプロトコル制御部は、前記デバイス制御部から受信した前記メッセージボディの内容を解釈すること無く前記ネットワーク型プラグアンドプレイのプロトコルに従って前記メッセージヘッダを付加するとともに、前記メッセージヘッダと前記メッセージボディからなるメッセージを前記クライアントに送信するようにしてもよい。
この構成によれば、デバイス制御部からクライアントにメッセージを転送する際にも、ネットワークプロトコル制御部の制御を単純化することができる。
前記ネットワーク装置は、単一のIPアドレスが割り当てられる単一のネットワーク装置として機能し、
個々のサービスデバイスは、前記ネットワーク装置のIPアドレスと、各サービスデバイスに割り当てられたデバイス識別子とによって識別されるようにしてもよい。
この構成によれば、単一のIPアドレスとデバイス識別子とによってネットワーク装置内のすべてのサービスデバイスを識別できるので、外部からのアクセスが容易になる。また、IPアドレスが少なくて済むので、ネットワークにおけるアドレス管理がより容易になる。
前記ネットワーク装置は、前記ネットワーク型プラグアンドプレイのアーキテクチャに従ったデバイス構成として、前記ネットワーク装置を代表する単一のベーシックデバイス内に前記サービスデバイスが包含されているネストされたデバイス構成を有しているものとしてもよい。
また、前記ベーシックデバイスは、前記サービスデバイスが実行するサービスの他には、前記ベーシックデバイス自身が実行する固有のサービスを有さないデバイスとして構成されているものとしてもよい。
これらの構成によれば、ネットワーク装置のデバイス構成がより単純化される。
前記ネットワークプロトコル制御部と前記デバイス制御部との間の通信は、異なる用途にそれぞれ割り当てられた複数の双方向論理チャンネルを用いたパケット通信によって実行されるものとしてもよい。
この構成によれば、受信側が論理チャンネルに応じて通信の用途を判断することができるので、その後の処理を迅速に進めることができる。
前記各論理チャネルは、目的に応じて前記ネットワークプロトコル制御部がリクエスト側になる第1の動作モードと、前記デバイス制御部がリクエスト側になる第2の動作モードとを実現可能であり、
各論理チャネルのリクエストおよびリプライメッセージのボディ部には、送り元から送り先へ通知される特定種類の情報を格納するための所定のフィールドが設けられているようにしてもよい。
この構成によれば、前記ネットワークプロトコル制御部と前記デバイス制御部との間で、メッセージの送り元から送り先に特定の種類の情報(ジョブIDやエラーなどの情報)を通知することができる。
前記論理チャネルのメッセージボディ部から前記フィールドを除いたメッセージボディ部において、当該メッセージボディ部の先頭に、メッセージの送り元から送り先へ通知するURIが付加されるようにしてもよい。
この構成によれば、前記ネットワークプロトコル制御部と前記デバイス制御部との間で、メッセージの送り元から送り先に、リクエストの内容や宛先を示すURIを通知することができる。
前記ネットワークプロトコル制御部と前記デバイス制御部は、
(i)前記デバイス制御部と前記ネットワーク上のクライアントとの間で交換されるグローバルな情報を、前記ネットワークプロトコル制御部と前記デバイス制御部との間で送受信するグローバル情報送受信モードと、
(ii)前記ネットワーク上のクライアントには無関係に、前記ネットワークプロトコル制御部と前記デバイス制御部との間で交換されるローカルな情報を送受信するローカル情報送受信モードとを有しており、
前記グローバル情報送受信モードとローカル情報送受信モードは、メッセージのヘッダによって識別されるものとしてもよい。
この構成によれば、2つの受信モードの区別をヘッダで行っているので、受信後の処理を迅速に行うことができる。
前記ネットワーク装置は、前記ネットワーク型プラグアンドプレイのプロトコルに対応した第1の装置としての機能と、前記ネットワーク型プラグアンドプレイ以外のネットワークプロトコルに対応した第2の装置としての機能とを有しており、
前記ネットワーク装置は、前記第1の装置として機能するときには所定の第1のポート番号によってアクセスされ、前記第2の装置として機能するときには前記第1のポート番号とは異なる第2のポート番号によってアクセスされるようにしてもよい。
この構成によれば、1つのネットワーク装置が2つの異なるプロトコルで動作する装置として機能することができる。また、2つの装置には異なるポート番号が割り当てられているので、いずれのプロトコルの通信かを容易に判断することができる。
前記サービスデバイスは、印刷機構を含み、
前記第1の装置は、前記ネットワーク型プラグアンドプレイのプロトコルに対応した第1のプリンタであり、
前記第2の装置は、前記ネットワーク型プラグアンドプレイのプロトコル以外のネットワークプロトコルに対応した第2のプリンタであり、
前記デバイス制御部は、
(i)前記ネットワーク装置が前記第1のプリンタとして機能するときには、文書記述言語を含むメッセージボディを前記ネットワーク上のクライアントから受信し、前記文書記述言語を解釈してドットの形成状態を表す印刷データを作成するとともに、作成した印刷データを前記印刷機構に供給し、
(ii)前記ネットワーク装置が前記第2のプリンタとして機能するときには、前記第2のプリンタ固有の制御コマンドからなる印刷データを前記ネットワーク上のクライアントから受信して前記印刷機構に供給するものとしてもよい。
この構成によれば、通ネットワーク装置が、ネットワーク型のプラグアンドプレイ対応のプリンタとして機能することができ、また、通常のネットワークプリンタとして機能することも可能である。
前記ネットワークプロトコル制御部と前記デバイス制御部との間の通信は、前記ネットワーク装置が前記第1のプリンタとして機能するときに利用される第1種の論理チャンネル群と、前記ネットワーク装置が前記第2のプリンタとして機能するときに利用される第2種の論理チャンネル群と、を用いたパケット通信によって実行されるようにしてもよい。
この構成によれば、ネットワークプロトコル制御部とデバイス制御部との間の通信に異なる論理チャンネルが使用されるので、受信側が論理チャンネルに応じていずれのプロトコルで転送されたものかを直ちに判断することができ、その後の処理を迅速に進めることができる。
なお、本発明は、種々の形態で実現することが可能であり、例えば、ネットワーク装置、ネットワークプロトコル制御装置、それらの装置の制御方法及び制御装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.用語の説明:
B.システムの概要:
C.複合機のデバイス構成及びデバイスディスクリプション:
D.印刷ジョブ実行シーケンス:
E.アクション実行シーケンス:
F.イベント発行シーケンス:
G.第2実施例:
H.変形例:
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):拡張マークアップ言語。
なお、UPnPでは上述した多数のプロトコルが使用されるが、以下ではこれらを総称して「UPnPプロトコル」と呼ぶ。
B.システムの概要:
図1は、本発明の実施例を適用するネットワークシステムの構成を示す概念図である。このネットワークシステムは、パーソナルコンピュータ100と、デジタルカメラ110と、TVセット120と、画像サーバ130と、複合機200とがLANを介して相互に接続された構成を有している。LANは、IEEE802.3のような有線ネットワークでも、IEEE802.11b/g/aなどの無線ネットワークでもよい。デジタルカメラ110と、TVセット120と、複合機200とは、UPnP対応のネットワーク装置である。デジタルカメラ110とTVセット120は、UPnPアーキテクチャにおけるコントロールポイント110C,120Cを備えている。UPnPアーキテクチャ及びコントロールポイントについては後述する。パーソナルコンピュータ100と画像サーバ130もこのネットワークシステムの構成要素の1つであるが、UPnPには対応していない。
パーソナルコンピュータ100は、プリンタドライバ100Dを用いて画像の印刷データを作成し、LANを介してこの印刷データを複合機200に転送して印刷を実行させる機能を有している。この印刷処理の際には、複合機200はUPnPのプロトコルを使用せず、通常のネットワークプリンタとして機能する。後述するように、コントロールポイント(例えば110C)からの要求に従って印刷を行う場合には、複合機200はUPnP対応のプリンタデバイスとして機能する。
複合機200は、MFPサーバ300と、MFPデバイスユニット400とを有している。MFPサーバ300は、LAN上の他の装置とMFPデバイスユニット400との間で交換されるメッセージを仲介するネットワークプロトコル制御部302としての機能を有している。後述するように、MFPサーバ300は、典型的な場合において、メッセージの転送の際にメッセージヘッダに関してUPnPのプロトコルを解釈するが、メッセージボディの解釈や処理は行わない。MFPデバイスユニット400は、サービスデバイスとしてのプリンタ404及びスキャナ406と、これらを制御するデバイス制御部402とを備えている。また、プリンタ404及びスキャナ406以外のサービスも追加することができる。サービスデバイスとしては、プリンタ404やスキャナ406を単独で、あるいはその他のサービスデバイス単独で存在させることも可能である。MFPサーバ300とMFPデバイスユニット400との間は、USB(Universal Serial Bus)で接続されている。但し、両者の間をUSB以外の他の物理的インタフェースで接続することも可能である。
UPnPは、ネットワーク装置を任意のタイミングでネットワークに接続したり、ネットワークから切断したりすることを実現するアーキテクチャである。UPnPネットワークは、コントロールポイント110C,120Cと、デバイス404,406とで構成される。ここで、「デバイス」とは、サービスを提供する装置を意味している。本明細書においては、特に断らない限り、「デバイス」と「サービスデバイス」は同義語として使用されている。「コントロールポイント」は、ネットワーク上の他のデバイスを検出したり、制御したりするコントローラを意味しており、サービスデバイスに対するクライアントとして機能する。UPnP対応のネットワーク装置が有する各種の機能については後述する。
図2は、複合機200の内部構成を示すブロック図である。MFPサーバ300は、中央制御部(CPU)310と、RAM320と、ROM330と、ネットワーク制御部340と、USBホスト制御部350とを有している。ネットワーク制御部340は、コネクタ342を介して有線ネットワークに接続される。USBホスト制御部350は、ルートハブ352を有しており、ルートハブ352には2つのUSBコネクタ354,356が設けられている。第1のUSBコネクタ354は、USBケーブルを介してMFPデバイスユニット400のUSBコネクタ462に接続されている。第2のUSBコネクタ356には、追加のデバイス(例えば無線LANネットワークへ通信するための無線通信回路や他のデバイスユニット)を接続可能である。
MFPデバイスユニット400は、中央制御部(CPU)410と、RAM420と、ROM430と、印刷エンジン440と、スキャナエンジン450と、2つのUSBデバイス制御部460,470と、PCカードインタフェース480と、操作パネル制御部490と、ビューワ制御部500と、USBホスト制御部510とを有している。
印刷エンジン440は、与えられた印刷データに応じて印刷を実行する印刷機構である。本実施例では、コントロールポイント110C,120CがXHTMLデータに基づいて印刷を行う場合には、中央制御部410がXHTMLデータを解釈し、色変換やハーフトーン処理を実行して印刷データを作成し、この印刷データを印刷エンジン440に供給する。但し、中央制御部410の代わりに印刷エンジン440が色変換やハーフトーン処理の機能を有するように構成することも可能である。一方、パーソナルコンピュータ100から印刷を行う場合は、プリンタドライバ100Dが生成するページ記述言語を中央制御部410が解析して印刷データを作成し、印刷エンジン440に供給する。なお、本明細書において、「印刷データ」とは印刷媒体上におけるドットの形成状態を示すドットデータによって印刷物を表すデータを意味している。印刷データは、プリンタ固有の制御コマンドで構成されている。XHTMLは、印刷データには該当せず、文書を記述する文書記述言語である。
スキャナエンジン450は、画像をスキャンして画像データを生成する機構である。本発明は、ネットワークプロトコル制御に関するものであって、サービスデバイスの種類には影響しないため、以下では、主として印刷エンジン440をデバイスとして使用する場合を説明しており、スキャナエンジン450を使用する場合の説明は省略されている。
MFPデバイスユニット400の第1のUSBデバイス制御部460は、USBコネクタ462を介してMFPサーバ300のUSBホスト制御部350に接続されている。第2のUSBデバイス制御部470は、USBコネクタ472を有しており、ここにパーソナルコンピュータなどの任意のUSBホストを接続することが可能である。PCカードインタフェース480は、PCカード用のスロット482を有している。操作パネル制御部490には、入力手段としての操作パネル492が接続されている。ビューワ制御部500には、画像表示手段としてのビューワ502が接続されている。ユーザは、ビューワ502上に表示された画像やメニューを観察しながら、操作パネル492を用いて種々の指示を入力することができる。USBホスト制御部510は、ルートハブ512を有しており、ルートハブ512にはUSBコネクタ514が設けられている。このコネクタ514には、有限責任中間法人カメラ映像機器工業会が策定したCIPA DC−001−2003などに準拠したデジタルカメラなどのUSBデバイスを接続することが可能である。
MFPサーバ300の中央制御部310とネットワーク制御部340とUSBホスト制御部350は、図1におけるネットワークプロトコル制御部302としての機能を実現する。より具体的には、ネットワーク制御部340は、各種のネットワークプロトコルに従ってメッセージの送受信を行う。また、中央制御部310は、UPnPのプロトコルを解釈して転送先を決定する。USBホスト制御部350は、MFPデバイスユニット400との間でメッセージを転送する。これらの制御部310,340,350は、メッセージボディの解釈や処理は行わずにメッセージを転送している。
MFPデバイスユニット400のUSBデバイス制御部460及び中央制御部410は、図1におけるデバイス制御部402としての機能を実現する。より具体的には、USBデバイス制御部460は、USBの転送プロトコルに従ってメッセージの送受信を行う。また、中央制御部410は、MFPサーバ300を介して転送されたメッセージの内容を解釈し、メッセージの内容に応じた処理を実行して、印刷エンジン440やスキャナエンジン450を動作させる。印刷エンジン440は図1のプリンタ404に相当し、スキャナエンジン450は図1のスキャナ406に対応する。
図3は、MFPサーバ300とMFPデバイスユニット400のUPnPアーキテクチャに関連する機能の階層構造を示すブロック図である。MFPサーバ300は、各種のネットワークプロトコルを解釈するためのサービスプロトコル解釈部1000を備えている。このサービスプロトコル解釈部1000は、UPnPデバイスアーキテクチャ及びUSBのパケッタイズプロトコル処理部1100よりも上部の階層において機能する。UPnPアーキテクチャよりも下部の構造としては、下から順番に、ネットワークインタフェース層と、ドライバ層と、インターネットプロトコル(IP)層と、TCP又はUDP層とが設けられている。また、USBのパケッタイズプロトコル処理部1100よりも下部の構造としては、下から順番に、USBホストインタフェース(ハードウェア)と、USBシステムソフトウェアと、クライアントソフトウェアとが設けられている。
UPnPデバイスアーキテクチャは、HTTPMUや、HTTPU,SOAP/HTTP,HTTPなどの各種のプロトコルに従って構成されている。UPnPは、これらのプロトコルを用いて、以下のような各種の処理を実現している。
(1)アドレッシング:
UPnPデバイス(以下、単に「デバイス」と呼ぶ)がネットワークに接続すると、アドレッシングによってネットワークアドレス(IPアドレス)を取得する。アドレッシングには、DHCPサーバまたはAuto-IPが利用される。ネットワークにDHCPサーバが設けられている場合には、デバイスはDHCPサーバによって割り当てられるIPアドレスを使用する。DHCPサーバが無い場合には、Auto-IPと呼ばれる自動IPアドレッシング機能を用いて、デバイスが自分のアドレスを決定する。なお、本実施例では、複合機200に対して1つのIPアドレスのみが割り当てられ、複合機200全体が単一のネットワーク装置として認識される。
(2)ディスカバリ(検出):
ディスカバリは、コントロールポイントが、デバイスがどこにいるかを見つけ出す処理である。ディスカバリは、コントロールポイントがディスカバリメッセージをマルチキャストすることによって実現することができ、あるいは、デバイスがネットワークに参加したときに、その旨をコントロールポイントにアドバタイズすることによっても実現できる。ディスカバリは、HTTPMU/SSDPやHTTPU/SSDPを用いて行われる。ディスカバリの結果、コントロールポイントとデバイスがピアツーピアで処理を進められるようになる。
(3)ディスクリプション:
デバイスの構成の詳細は、デバイスディスクリプションとしてXMLで記述されている。また、デバイスのサービスの詳細は、サービスディスクリプションとしてXMLで記述されている。これらのディスクリプションは、デバイスによって所有されており、コントロールポイントに提供される。コントロールポイントは、これらのディスクリプションを参照することによって、デバイスやサービスの詳細を知ることができる。デバイスディスクリプションの例については後述する。
(4)コントロール:
コントロールは、コントロールポイントが、アクション要求を含む制御メッセージをデバイスに転送して、デバイスの制御を行う処理である。コントロールは、HTTP/SOAPを用いて行われる。
(5)イベント:
所定のイベントが発生すると、デバイス内のサービスが、コントロールポイントにイベントの発生を通知する。イベント発生の通知を受けるコントロールポイントは、そのサービスに「サブスクライブ(購読)」する。イベントは、サブスクライブしているコントロールポイントに転送される。イベントの通知は、HTTP/GENAを用いて行われる。
(6)プレゼンテーション:
プレゼンテーションは、デバイスディスクリプションに登録されているプレゼンテーション用のURLからコントロールポイントがHTMLで記述されたプレゼンテーション用ページを取得する処理である。このプレゼンテーションによって、例えばコントロールポイントがデバイスの各種の状態を表示することができる。
なお、本発明はUPnPの将来のバージョンにも適用可能である。また、ネットワーク型プラグアンドプレイとして、アドレッシング(自動的なIPアドレス決定)と、デバイスのディスカバリにより、任意のコントロールポイントとデバイスとがピアツーピアで通信が可能で、コントロールポイントとデバイスがメッセージの交換を行うアーキテクチャであれば、UPnP以外のネットワーク型プラグアンドプレイ仕様にも本発明を適用することが可能である。
MFPデバイスユニット400は、印刷サービスのためのメッセージを解釈し、解釈の結果に応じた処理(例えば、ジョブの開始やキャンセル)を実行するための印刷サービス解釈部2000を備えている。印刷サービス解釈部2000よりも下部の構造としては、下から順番に、USBデバイスインタフェース(ハードウェア)と、USB論理デバイスと、論理インタフェースと、パケッタイズプロトコル処理部2100とが設けられている。なお、図3の例では、印刷エンジン440をサービスデバイスとして使用する例を記載しており、スキャナエンジン450に関連する構成は省略している。
図3において、MFPサーバ300とMFPデバイスユニット400の間には、種々の通信チャンネルが描かれている。これらは、MFPサーバ300とMFPデバイスユニット400の同一階層間における論理的な接続を示している。サービスプロトコル解釈部1000と印刷サービス解釈部2000の間の6つの双方向チャンネルは、UPnPプロトコル用のチャンネルである。パケッタイズプロトコル処理部1100,2100の間の6つのチャンネルは、USB転送における論理的なチャンネルである。6つのUSB転送用の論理チャンネルは、6つのUPnPプロトコル用のチャンネルと対応している。以下ではまず、USB転送用のチャンネルについて説明する。
図4は、USBのインタフェース/エンドポイント構成と論理チャンネルの構成とを示す説明図である。一般に、USBデバイスは、インタフェースとエンドポイントとを有している。USBの転送は、USBのホストとエンドポイントとの間で行われる。すなわち、「エンドポイント」とは、ホストと通信を行う論理的なリソースである。図4(A)の例では、5つのエンドポイントEP#0〜EP#4が示されている。コントロールエンドポイントEP#0は、標準デバイスリクエストの送受信を行うためのエンドポイントである。「標準デバイスリクエスト」とは、すべてのUSBでサポートする必要がある基本的なリクエストである。従って、コントロールエンドポイントEP#0は、1つのUSBデバイスに必ず1つ設けられている。
プリンタ用のバルクアウトエンドポイントEP#1とバルクインエンドポイントEP#2は、印刷エンジン440用のメッセージの受信と送信を行うためのエンドポイントである。同様に、スキャナ用のバルクアウトエンドポイントEP#3とバルクインエンドポイントEP#4は、スキャナエンジン450用のメッセージの受信と送信を行うためのエンドポイントである。一般に、USBデバイスでは、コントロールエンドポイントEP#0以外のエンドポイントは、論理的なインタフェースによって区分されている。図4(A)の例では、論理的なインタフェースとして、プリンタインタフェースIF#0とスキャナインタフェースIF#1とが設けられている。
本実施例では、図4(B)に示すように、プリンタインタフェースIF#0に8つの論理的なチャンネルが設けられている。これらの各チャンネルの機能は以下の通りである。
(1)PRINT-DATAチャンネルCH#11:ネットワーク上のパーソナルコンピュータ100から、印刷ポート(LPRポートに従ったポート番号又はボート番号9100)を用いてプリンタドライバ100D(図1)から転送される印刷データの送受信を行うためのチャンネル。図3には図示されていない。
(2)PRINT-STATUSチャンネルCH#12:MFPサーバ300が、印刷エンジン440の状態を示す情報を送受信するためのチャンネルであり、SNMP等のプロトコルにより、MFPサーバー300からネットワーク上のパーソナルコンピュータ100に対して提供される。図3には図示されていない。
(3)UPNP-DESCRIPTIONチャンネルCH#21:UPnPにおいてディスクリプション(後述する)を送受信するためのチャンネル。
(4)UPNP-ACTIONチャンネルCH#22:UPnPにおいて、アクション(後述する)を送受信するためのチャンネル。
(5)UPNP-EVENTチャンネルCH#23:UPnPにおいて、イベント(後述する)を送受信するためのチャンネル。
(6)UPNP-XHTML-PRINTチャンネルCH#24:UPnPにおいて、印刷対象となる文書を記述したXHTMLデータを送受信するためのチャンネル。
(7)UPNP-HTTP-CLIENTチャンネルCH#25:UPnPにおいて、他のネットワーク装置のURIを参照してデータを取得する際のメッセージを送受信するためのチャンネル。
(8)UPNP-HTTP-DEAMONチャンネルCH#26:UPnPにおいて、プレゼンテーション(後述する)を行う際のメッセージを送受信するためのチャンネル。
なお、各論理チャンネルは、いずれもバルクアウトエンドポイントEP#1とバルクインエンドポイントEP#2の両方を利用して双方向通信を行うことができる。論理チャンネルの識別情報は、USBパケットのヘッダに登録される。
図5は、USB転送に用いられるパケットの構成を示す説明図である。これは、IEEE1284.4に即したパケット構造であり、「D4パケット」と呼ばれている。D4パケットは、6バイトのヘッダと、ボディ部分からなり、ボディ部分は4バイトのIDフィールドと、2バイトのエラーコードと、0バイト以上のメッセージとで構成されている。図4(B)に示した8つの論理チャンネルを識別するIDは、ソケットIDとしてヘッダ内に登録される。後述するように、コントロールポイントから複合機200に対して印刷ジョブが要求されたときには、ジョブ識別子がIDフィールドに設定される。
各論理チャンネルにおいてIDフィールドとエラーコードに設定される情報は以下の通りである。
Figure 0004645164
表1中の矢印は、通信が行われる順序を示している。すなわち、矢印の元の側がリクエスト時の転送を示し、矢印の先がリプライ時の転送を示している。例えば、UPNP-ACTIONチャンネルでは、MFPサーバ300からMFPデバイスユニット400へのリクエストの転送時には、IDフィールドは常にゼロであり、エラーコードがあればエラーフィールドに設定される。なお、このエラーコードとしては、例えば、HTTPのステータスコードが設定される。このリクエストに対するMFPデバイスユニット400からMFPサーバ300へのリプライの転送時には、IDフィールドもエラーフィールドも常に0に設定される。なお、UPNP-HTTP-CLIENTチャンネルやUPNP-HTTP-DAEMONチャンネルで使用される”RequestID”は、これらのチャンネルで送信される個々のリクエストを識別するための識別子である。
なお、表1は、各論理チャンネルにおいて、MFPサーバ300とMFPデバイスユニット400の一方がリクエスト側になるときの情報が例示したものである。但し、各論理チャンネルのそれぞれは、目的に応じて、MFPサーバ300(ネットワークプロトコル制御部302)がリクエスト側になる第1の動作モードと、MFPデバイスユニット400(デバイス制御部402)がリクエスト側になる第2の動作モードとを実現可能である。
このように、本実施例においてUSB転送に使用されるパケットでは、メッセージボディ部内に、IDフィールドとエラーコードの2つのフィールドが設けられており、これらのフィールドを用いて、MFPサーバ300とMFPデバイスユニット400との間で特定の情報を送受信することができる。従って、例えばクライアントから送られたメッセージと、MFPサーバ300とMFPデバイスユニット400との間で通知される特定の情報とを容易に区別することが可能である。なお、このような特定のフィールドとしては、IDフィールドやエラーコードに限らず、任意の特定のフィールドを利用することが可能である。このようなフィールドは、固定長とすることが好ましい。
なお、本実施例では、D4パケットによって、グローバルメッセージとローカルメッセージの両方を転送することが可能である。「グローバルメッセージ」は、UPnPアーキテクチャのコントロールポイントとデバイス(この例ではMFPデバイスユニット400)との間で交換されるメッセージを意味する。また、「ローカルメッセージ」とは、UPnPアーキテクチャのコントロールポイントが関与せず、単にMFPサーバ300とMFPデバイスユニット400との間で交換されるメッセージを意味する。グローバルメッセージとローカルメッセージの例については後述する。なお、グローバルメッセージを転送する動作モードを「グローバル情報送受信モード」とも呼び、ローカルメッセージを転送する動作モードを「ローカル情報送受信モード」とも呼ぶ。
本実施例のD4パケットを用いてリクエストを転送する場合には、エラーフィールドの後のメッセージの先頭には、メッセージの送り元から送り先(受け手)へ通知するURI(通常は相対URI)が付加される。メッセージの受け手は、このURIから、リクエストの内容や宛先を容易に判定することが可能である。なお、D4パケットのメッセージの具体的な内容については後述する。
本実施例では、USB転送用の論理チャンネルとして、印刷ポート用の論理チャンネルC#11〜CH#12と、UPnP用の論理チャンネルCH#21〜CH#26とを別個に設けている。従って、ネットワーク印刷ポートを介してMFPデバイスユニット400に転送されてくる印刷データと、UPnP用のポートを介してMFPデバイスユニット400に転送されてくるXHTMLデータとを容易に識別することができる。また、印刷データとXHTMLデータにそれぞれに適した処理を実行して、正しく印刷を行うことができる。また、本実施例では、UPnPプロトコルによるメッセージのUSB転送のために、用途の異なる複数の論理チャンネルCH#21〜CH#26を設けているので、メッセージの受信側において、メッセージの内容の処理をより高速に処理することが可能である。但し、論理チャンネルの数や区分としては、これ以外の任意のものを採用することができる。また、本実施例では、論理チャンネルの識別子をD4パケットのヘッダ情報として設定しているので、異なる論理チャンネル用のパケットを容易に識別することが可能である。
図6は、UPnPアーキテクチャを利用した処理の典型例を示すシーケンス図である。ここでは、コントロールポイント110Cと、MFPサーバ300と、MFPデバイスユニット400の間でメッセージが転送される場合を示している。ステップ[1]では、コントロールポイント110CがHTTPのリクエストメッセージF1をMFPサーバ300に転送する。メッセージF1のヘッダには、リクエスト命令(POSTやGETなどのメソッド)と、MFPデバイスユニット400の1つのデバイスまたはサービスのURIと、複合機200のIPアドレス(この例では169.254.100.100)とが記述されている。なお、IPアドレスは、複合機200に1つだけば割り当てられるので、このIPアドレスは、MFPサーバ300のIPアドレス又はMFPデバイスユニット400のIPアドレスと考えることも可能である。
ステップ[2]では、MFPサーバ300が、リクエストメッセージF1を解析する。ここで解析(解釈)されるのは、メッセージF1のヘッダ部分だけであり、送信データ(すなわちメッセージボディ)の内容の解釈は行わない。より具体的には、ステップ[2]において、メッセージF1のURIが解析され、MFPデバイスユニット400内のどのデバイス又はサービスに送信データを転送すべきかが判定される。但し、リクエストメッセージF1に送信データが存在せず、URIのみが送信される場合も存在する。
ステップ[3]では、MFPサーバ300が、URIと送信データ(存在する場合)とを含むメッセージF2を、USBでMFPデバイスユニット400に転送する。この転送の際には、URIに応じて、上述したUPnPの6つの論理チャンネルのいずれか1つが選択されて利用される。
ステップ[4]では、MFPデバイスユニット400が、受信したメッセージF2内のURI及び送信データ(存在する場合)に応じて処理を実行する。この例については後述する。ステップ[5]では、MFPデバイスユニット400が、返信データを含むメッセージR1をUSBでMFPサーバ300に転送する。ステップ[6]では、MFPサーバ300が送信データにHTTPヘッダを付加する。このHTTPヘッダは、HTTPリクエストの処理結果を示すステータスコードを含んでいる。例えば、処理結果がOKであればステータスコードが”200”に設定され、エラーであれば”500”に設定される。ステップ[7]では、こうして作成されたHTTPのレスポンスメッセージR2がMFPサーバ300からコントロールポイント110Cに転送される。
このように、本実施例では、MFPサーバ300は、コントロールポイントから受信したリクエストメッセージのうちで、ヘッダの解析(解釈)は行うが、メッセージボディの内容の解釈は行わず、メッセージボディの内容はMFPデバイスユニット400によって解釈される。この構成には以下のような利点がある。第1の利点は、MFPサーバ300が、MFPデバイスユニット400のデバイス構成とサービスの内容を把握する必要が無く、任意の構成を有するデバイスユニット宛に送られたメッセージを転送するためのネットワークプロトコル制御部として機能することができる点である。第2の利点は、MFPデバイスユニット400のデバイス構成やサービスの内容が変更されても、MFPサーバ300の構成や機能を変更する必要が無い点である。第3の利点は、MFPサーバ300にメッセージボディの内容の解釈を行う解釈部(パーサ)を実装する必要が無いので、MFPサーバ300の構成が単純で済む点である。
C.複合機のデバイス構成及びデバイスディスクリプション:
図7(A)は、複合機200のUPnPプロトコル上のデバイス構成を示す説明図である。本実施例の複合機200のUPnPデバイスとしての構成では、ルートデバイス(root Device)としてのベーシックデバイスBDの中に、プリンタデバイスPrinter1とスキャナデバイスScanner1とが包含されている。換言すれば、プリンタデバイスPrinter1とスキャナデバイスScanner1は、ベーシックデバイスBDにネストされている。プリンタデバイスPrinter1はプリントサービスを有しており、スキャナデバイスScanner1はスキャンサービスを有している。各サービスは、状態テーブルと、コントロールサーバと、イベントサーバとで構成されている。状態テーブルには、サービスの状態を示す状態変数が登録されている。コントロールサーバは、コントロールポイントからのアクション要求を受け付けて処理を実行する。イベントサーバは、状態変数の値が変更されると、その変更をイベントとしてコントロールポイントに通知する。通知対象となるのは、そのサービスに予めサブスクライブ(購読)しているコントロールポイントである。
本明細書では、サービスを含むデバイスを「サービスデバイス」と呼んでいる。なお、各サービスデバイスは、1つ以上の任意の数のサービスを含むことが可能である。また、サービスデバイスが、他のサービスデバイス(例えば記憶装置)を含むようにデバイス構成を構築することも可能である。
ベーシックデバイスBDは、1つ以上のサービスデバイスを含み、かつ、サービスデバイスが実行するサービスの他には自分自身が実行する固有のサービスを有さないデバイスとして構成される。このように、本実施例では、UPnPプロトコルの上では複合機200が1つのベーシックデバイスBDによって代表されているので、複合機200に対して1つのIPアドレスを割り当てるだけで済むという利点がある。
図7(B)は、比較例のUPnPデバイス構成の一例を示している。この比較例では、プリンタデバイスPrinter1とスキャナデバイスScanner1とが別個のUPnPデバイスとして構成されている。この場合には、プリンタデバイスPrinter1とスキャナデバイスScanner1とに別個のIPアドレスが割り当てられる。
図7(A)に示したように、本実施例では、複合機200全体に対してIPアドレスが1つだけ割り当てられるので、コントロールポイントは、この1つのIPアドレスを用いて複合機200(MFPサーバ300)の種々のサービスデバイスにアクセスできるという利点がある。また、本実施例では、IPアドレスの数が比較例よりも少なくて済むので、ネットワーク内におけるIPアドレスの管理がより容易であるという利点がある。
UPnPの各デバイスは、自身の構成や機能をデバイスディスクリプションという形式で予め保持しており、コントロールポイントからの要求に応じてデバイスディスクリプションを提供する機能を有している。また、サービスの内容は、サービスディスクリプションとして形でデバイス内に保持され、コントロールポイントに提供される。図7(A)の例では、プリンタデバイスPrinter1のデバイスディスクリプションと、プリントサービスのサービスディスクリプションと、スキャナデバイスScanner1のデバイスディスクリプションと、スキャンサービスのサービスディスクリプションとが、MFPデバイスユニット400内に予め保持されている。但し、デバイスディスクリプション内のパラメータの一部は、複合機200の構成(例えばサービスデバイスの数)に依存しているので、これらのパラメータは複合機200の起動時に設定される。
図8は、複合機200の起動時におけるデバイスディスクリプションの作成手順を示すフローチャートである。まず、MFPサーバ300とMFPデバイスユニット400が起動すると、ステップS1からステップS2に移行し、MFPサーバ300が、MFPデバイスユニット400から、MFPデバイスユニット400のUSBデバイスとしての構成を取得する。ここで、「USBデバイスとしての構成」とは、図4(A)に示したインタフェース/エンドポイント構成を意味している。MFPサーバ300は、USBの1つのインタフェース(論理的インタフェース)を、UPnPアーキテクチャの1つのデバイス(本実施例における「サービスデバイス」)として認識することができる。MFPサーバ300は、各デバイスに異なるデバイス識別子を割り当てる。
次に、複合機200がネットワークに参加すると、ステップS3からステップS4に移行し、上述したアドレッシングによってMFPサーバ300がIPアドレスを取得する。ステップS5では、MFPサーバ300が、IPアドレスと各デバイスのデバイス識別子をMFPデバイスユニット400に送信する。ステップS6では、このIPアドレスとデバイス識別子とを用いてMFPデバイスユニット400(又はMFPサーバ300)がデバイスディスクリプションを作成する。
図9は、複合機200のデバイスディスクリプションの例を示している。デバイスディスクリプションは、XMLで記述されている。アンダーラインを付した部分は、本実施例に特有の設定を示している。要素<URLBase>の内容”169.254.100.100:80”は、複合機200のIPアドレスと、HTTPを用いる場合のポート番号である。ディスクリプション内のいくつかのURIは、このIPアドレスに対する相対アドレスとして記述されている。なお、本明細書において、URI(又はURL)は、絶対アドレスで記述されている場合と、相対アドレスで記述されている場合の両方を含んでいる。
要素<root>の下には二つの要素<device>が存在し、各デバイスの要素<deviceType>に示されているように、1番目のデバイスはプリンタであり、2番目のデバイスはスキャナである。
プリンタ用のディスクリプション内には、以下の内容が記述されている。
・<presentation URL>:コントロールポイントがプリンタデバイスのプレゼンテーション用のページを取得する際のURL。このURLは、複合機200のIPアドレス”169.254.100.100”と、ポート番号”80”と、プリンタのデバイス識別子”Printer1”とで構成されている。ポート番号は省略可能である。
・<serviceList> :プリンタが提供するサービスのリスト。
・<serviceType>:プリンタが提供するサービスのタイプ。”PrintBasic”は、UPnPアーキテクチャの標準的なプリントサービスである。
・<SCPDURL>:プリンタのデバイスディスクリプションのURL。
・<controlURL>:プリンタデバイス内のコントロールサーバのURL。「コントロールサーバ」とは、コントロールポイントに対してコントロール(コントロールポイントがアクション要求を含む制御メッセージをデバイスに転送して、デバイスの制御を行う処理)の機能を提供するサーバであり、一般にUPnPデバイスのサービス内に設けられている。コントロールサーバのURLは、プリンタのデバイス識別子と、サーバ名”control”とで構成されている。
・<eventSubURL>:プリンタデバイス内のイベントサーバのURL。「イベントサーバ」とは、サブスクライブ(購読)しているコントロールポイントにイベントを発行するサーバであり、一般にデバイスのサービス内に設けられている。イベントサーバのURLは、プリンタのデバイス識別子と、サーバ名”event”とで構成されている。
以上の要素の内容(パラメータ)のうちで、IPアドレス”169.254.100.100”と、デバイス識別子”Printer1”とは、図8のステップS5においてMFPサーバ300からMFPデバイスユニット400に送信された値に応じて設定されたものである。
スキャナ用のデバイスディスクリプションにも、プリンタ用のものとほぼ同様な項目が記述されている。なお、デバイスディスクリプションには、この他にデバイスのフレンドリ名や、製造者名、モデル名、アイコンなどの種々のプロパティが記述されているが、ここでは省略されている。
図10は、コントロールポイントによるデバイスディスクリプション取得のシーケンスを示している。ステップ[1]では、コントロールポイント110Cが、MFPサーバ300にデバイスディスクリプションのリクエストメッセージF11を発行する。このメッセージF11は、デバイスディスクリプションを示すURI”/DevDesc.xml”と、複合機200のIPアドレス”169.254.100.100”とを含んでいる。なお、デバイスディスクリプションを示すURI”/DevDesc.xml”は、UPnPディスカバリにおいて、デバイスからコントロールポイントに通知する、ルートデバイスのディスクリプション用URLがもとになっている。
ステップ[2]では、MFPサーバ300が、リクエストメッセージF11のUPnPプロトコルを解析し、ステップ[3]においてリクエスト先のURI”/DevDesc.xml”を含むメッセージF12をMFPデバイスユニット400に転送する。この転送は、USBのUPNP-DESCRIPTIONチャンネルを用いて行われる。
ステップ[4]では、MFPデバイスユニット400が、受信したメッセージF12の内容を解釈して、デバイスディスクリプションを要求していることを判定する。ステップ[5]では、MFPデバイスユニット400が、デバイスディスクリプションを含むメッセージR11をUSBでMFPサーバ300に転送する。なお、このメッセージR11の先頭部分には、リクエストの結果を示すフィールド”RE”と、HTTPの結果を示すフィールド”HR”とが設定される。REフィールドの値は、リクエストが成功した場合には”0000”に設定され、失敗した場合には”0000”以外の値に設定される。HRフィールドの値は、処理結果がOKであれば”200”に設定され、エラーであれば”500”に設定される。なお、HRフィールドの値は、HTTPのステータスコードとしてそのまま使用される。
ステップ[6]では、MFPサーバ300が送信データにHTTPヘッダを付加する。このHTTPヘッダは、HTTPリクエストの処理結果を示すステータスコードを含んでいる。ステップ[7]では、こうして作成されたHTTPレスポンスメッセージR12がMFPサーバ300からコントロールポイント110Cに転送される。
以上のように、本実施例では、1つのベーシックデバイスBDにサービスデバイスがネストされたデバイス構成を有しているので、デバイスディスクリプションの作成が容易であるというという利点がある。この利点は、特に、サービスデバイスの個数や種類が変更された場合に顕著である。すなわち、複合機が多種多様なサービスデバイスを含んでいる場合にも、すべてのサービスデバイスをベーシックデバイスBD内にネストすれば良いので、デバイスディスクリプションを容易に作成することが可能である。
図10の説明では、複合機200全体のデバイスディスクリプション(図9)をMFPデバイスユニット400が作成するものとしていたが、この代わりに、MFPサーバ300がこの全体のデバイスディスクリプションを作成するものとしてもよい。この場合には、MFPサーバ300が各デバイスのデバイスディスクプリション(図9の場合にはプリンタ用とスキャナ用の2つのデバイスディスクリプション)を各デバイスから受け取り、これを利用して全体のデバイスディスクリプションを作成することができる。全体のデバイスディスクリプションの作成は、図10に示すようにコントロールポイントからの要求があった場合に実行してもよく、あるいは、全体のデバイスディスクリプションを予め作成してMFPサーバ300内に保持しておいてもよい。
なお、図2に示すように、複合機200のUSB端子356には、追加のMFPデバイスユニットを接続することが可能である。この追加のMFPデバイスユニットが接続された場合には、複合機200のデバイス構成が再構築される。
図11は、デバイスユニットが追加された場合のデバイス構成の再構築処理を示すフローチャートである。ステップS11でデバイスユニットが追加されると、ステップS12において、MFPサーバ300がネットワークから切断することをブロードキャスト(退出のアドバタイズ)する。ステップS13では、MFPサーバ300が、追加デバイスユニットからUSBデバイス構成(インタフェース/エンドポイント構成)を取得する。ステップS14では、MFPサーバ300から追加デバイスユニットに、IPアドレスとデバイス識別子を送信する。ステップS15では、このIPアドレスとデバイス識別子とを用いて複合機200全体のデバイスディスクリプションが再作成される。ステップS16では、MFPサーバ300が、ネットワークに接続したことをマルチキャスト(接続のアドバタイズ)する。この接続のアドバタイズからディスカバリが開始され、複合機200が各コントロールポイントによって検出される。
図12は、MFPデバイスユニットを追加した場合の複合機200のUPnPデバイス構成を示す説明図である。ここでは、追加デバイスユニットが、プリンタデバイスのみを有しているものと仮定している。図7(A)と比較すれば理解できるように、この追加プリンタデバイスは、ベーシックデバイスBDの下位のデバイスとして、ベーシックデバイスBDにネストされる。また、この追加プリンタデバイスには、MFPデバイスユニット400のプリンタデバイスのデバイス識別子”Printer1”とは異なるデバイス識別子”Printer2”が割り当てられる。なお、追加デバイスユニットとして、他の種類のサービスデバイス(例えば外部記憶装置)が接続された場合には、そのデバイスの種類に応じたデバイス識別子が割り当てられる。
図示は省略するが、複合機200全体のデバイスディスクリプションとしては、図9に示したデバイスディスクリプションのスキャナ用のディスクリプションの後に、2番目のプリンタデバイスのデバイスディスクリプションが追加される。
なお、このようなデバイスユニットの追加を許容するようにMFPサーバ300を構成する場合には、複合機200全体のデバイスディスクリプションを、MFPサーバ300が作成することが好ましい。この理由は、MFPデバイスユニット400は、他のデバイスユニットがMFPサーバ300に接続されているか否かが解らないためである。従って、MFPサーバ300は、各デバイスユニットからデバイスディスクリプションを取得して、図9のような複合機200全体のデバイスディスクリプションを作成し、保持することが好ましい。この場合には、図10に示したシーケンスにおいて、ステップ[3]〜[5]を行わずに、MFPサーバ300が、予め保持したおいたデバイスディスクリプションをコントロールポイント110Cに返送することができる。
図9に示したように、各デバイスユニットからMFPサーバ300に転送される個々のデバイスのデバイスディスクリプションは、IPアドレスとデバイス識別子とが埋め込まれたものである。従って、MFPサーバ300は、図9のデバイスディスクリプションの中で、個々のデバイス(サービスデバイス)のディスクリプションを含まないものをテンプレートとして準備しておき、各デバイスから転送されてきたデバイスディスクリプションをテンプレートに埋め込むことによって複合機200全体のデバイスディスクリプションを作成することができる。
なお、MFPサーバ300に複数のデバイスユニットが接続されている状態から、1つのデバイスユニットが取り外されたときには、図11と同様な手順によってデバイス構成及びデバイスディスクリプションが再構築される。
このように、本実施例のMFPサーバ300には、種々のデバイスユニットを着脱することができ、また、実際にMFPサーバ300に接続されているデバイスユニットの数と種類に応じて複合機200全体のデバイスディスクリプションが生成される。従って、UPnP対応の複合機200として、種々のデバイス構成を容易に実現することが可能である。
D.印刷ジョブ実行シーケンス:
図13、図14は、コントロールポイントからの要求に応じて複合機200が印刷を実行する手順を示すシーケンス図である。図13のステップ[1]では、コントロールポイント110Cが、印刷ジョブの作成を要求するリクエストメッセージF21をMFPサーバ300に転送する。図15に示すように、このリクエストメッセージF21のヘッダには、プリンタデバイスのコントロールURI”/Printer1/Control”と、複合機200のIPアドレス”169.254.100.100”とが記述されている。さらに、SOAPACTIONヘッダには、UPnPのサービスタイプを示す文字列”PrintBasic”と、印刷ジョブを作成する命令であることを示す文字列”CreateJob”とが設定されている。また、HTTPヘッダの後には、SOAPデータ(「SOAPメッセージ」とも呼ぶ)が付加されている。また、SOAPエンベロープにも、サービスタイプと、命令の種類を示す文字列が設定されている。SOAPエンベロープは、このメッセージF21のボディに相当する。なお、図15のメッセージF21において、アンダーラインが付されている部分は、このメッセージF21に特有な部分である。
印刷ジョブを作成する命令であるCreateJobにおいては、ジョブの属性として以下のような印刷仕様を設定することが可能である。
・コピー部数
・レイアウト(1頁/1枚,2頁/1枚,デバイス設定値等)
・印刷の向き(ポートレイト/ランドスケープ、デバイス設定値等)
・用紙サイズ(A4,B4,デバイス設定値等)
・印刷用紙の種類(普通紙、写真用紙、透明シート、封筒、デバイス設定値等)
・印刷品質(低画質、通常、高画質、デバイス設定値等)
なお、「デバイス設定値」とは、複合機200に設定されている設定値を使用することを意味している。
CreateJob命令には、このような種々の印刷仕様を設定することができるので、コントロールポイントを操作しているユーザが、所望の印刷仕様で複合機200に印刷を実行させることができる。
図13のステップ[2]では、MFPサーバ300が、リクエストメッセージF21についてUPnPプロトコルの解析を行う。この解析の結果、このメッセージF21がプリンタデバイスのコントロールサーバに転送すべきものであることが認識され、また、印刷ジョブ作成要求であることを認識されてジョブ識別子JobIdが割り当てられる。各印刷ジョブにはそれぞれ固有のジョブ識別子が割り当てられるので、複数の印刷ジョブを複合機200が並行して受信し、それぞれの印刷処理を実行することができる。
ステップ[3]では、MFPサーバ300が、プリンタデバイスのコントロールURLとSOAPデータとを含むメッセージF22をMFPデバイスユニット400に転送する。このメッセージF22は、図15に示すように、コントロールポイントから送られてきたSOAPデータをそのままコピーし、その先頭にコントロールURL”URI:/Printer1/control”を付加したものである。なお、USBパケットのIDフィールド(図5参照)にはジョブ識別子が設定される。また、転送にはUPNP-ACTIONチャンネルが利用される。
図13のステップ[4]では、MFPデバイスユニット400が、受信したメッセージF22内のSOAPアクションを解析し、SOAPアクションに応じて処理を実行する。ここでは、SOAPアクションがジョブ作成要求なので、印刷すべき文書を表す文書データ(XHTMLデータ)の送付先URIが設定された返信用のSOAPデータが作成される。ステップ[5]では、MFPデバイスユニット400が、このSOAPデータを含むメッセージR21をUSBでMFPサーバ300に転送する。図15に示すように、このメッセージR21は、リクエストの結果を示すREフィールドと、HTTPの結果を示すHRフィールドと、SOAPデータ(SOAPエンベロープ)とで構成されている。ここでは、リクエスト(印刷ジョブの作成)が成功したので、REフィールドには”0000”が設定され、HRフィールドには”200”が設定されている。リクエストが失敗したときには、他の所定の値がそれぞれ設定される。なお、SOAPデータは、ジョブ作成命令の応答であることを示す文字列”CreateJobResponse”を含むSOAPエンベロープである。このSOAPエンベロープには、XHTMLデータの送付先URI”/Printer1/DataSink/00000003”と、ジョブ識別子”3”とが埋め込まれている。ジョブ識別子の値”3”は、ステップ[3]でMFPサーバ300から供給されたものが使用される。なお、本実施例では、XHTML送付先URIの末尾は、ジョブ識別子と同じ値を示す8桁の16進数に設定されている。
ステップ[6]では、MFPサーバ300がメッセージR21のHRフィールドを解析し、SOAPデータにHTTPのヘッダを付加する。ステップ[7]では、こうして作成されたHTTPのレスポンスメッセージR22がMFPサーバ300からコントロールポイント110Cに転送される。
図14のステップ[8]では、コントロールポイント110Cが、XHTML送付先URI”/Printer1/DataSink/00000003”に対してXHTMLデータを送るためのリクエストメッセージF31を送信する。
XHTMLデータには、XHTMLの規定に従ってレイアウトされたテキストおよび画像が含まれる。
なお、XHTMLデータに含まれる画像データは、Internet Engineering Task Forceが規定したRFC3391に準拠した方式でXHTMLデータ内に埋め込むことも可能であり、また、画像サーバ130(図1)から画像を取得するための参照URIを設定することも可能である。
ステップ[9]では、MFPサーバ300が、リクエストメッセージF31についてUPnPプロトコルの解析を実行する。この解析の結果、このメッセージF31の宛先のURI”/Printer1/DataSink/00000003”が認識され、また、このURIの末尾からジョブ識別子の値”3”が抽出される。
ステップ[10]では、MFPサーバ300が、XHTML送付先URL”/Printer1/DataSink/00000003”とXHTMLデータとを含むメッセージF32をMFPデバイスユニット400に転送する。また、USBパケットのIDフィールド(図5参照)にはジョブ識別子が設定される。この、転送にはUPNP-XHTML-PRINTチャンネルが利用される。
図14のステップ[11]では、MFPデバイスユニット400が、受信したメッセージF32内のXHTMLデータを解析し、印刷を実行する。なお、XHTMLデータ内に画像データ取得用の参照URIが設定されている場合には、MFPデバイスユニット400は、この参照URIを用いて画像サーバ130から画像データを取得する。この画像データの取得の際には、USBのUPNP-HTTP-CLIENTチャンネル(図3)が使用される。
ステップ[12]では、MFPデバイスユニット400が、ジョブ識別子と、リクエストの結果を示すREフィールド及びHRフィールドを含むメッセージR31をUSBでMFPサーバ300に転送する。なお、ジョブ識別子は、USBパケットのIDフィールドに埋め込まれている。
ステップ[13]では、MFPサーバ300がメッセージR31のHRフィールドを解析し、その値をHTTPヘッダのステータスコードとして設定する。ステップ[14]では、こうして作成されたHTTPのレスポンスメッセージR32がMFPサーバ300からコントロールポイント110Cに転送される。
このように、印刷ジョブ実行シーケンスでは、印刷すべき文書を表すXHTMLデータの内容は、MFPサーバ300によって解析されず、MFPデバイスユニット400によって解析される。従って、MFPサーバ300に、XHTMLパーサを実装しなくても済むという利点がある。
仮に、MFPサーバ300にXHTMLパーサを実装する場合には、XHTMLデータに含まれる印刷仕様(特に印刷用紙の種類や用紙サイズ)にMFPデバイスユニット400が対応しているか否かをMFPサーバ300が把握する必要が生じる。これに対して、上記実施例では、MFPデバイスユニット400が対応可能な印刷仕様をMFPサーバ300が把握している必要が無いので、MFPサーバ300の実装がより容易であるという利点がある。
E.アクション実行シーケンス:
USBのUPNP-ACTIONチャンネル(図4)を用いて転送されるアクションには、以下に説明するように、グローバルアクションとローカルアクションとが存在する。
図16は、グローバルアクションの実行シーケンスの一例を示す図である。ここでは、図13で開始した印刷ジョブをキャンセルする場合を示している。なお、図13のステップ[1]〜[7]で説明した印刷ジョブの作成も、グローバルアクションの一種である。
図16のステップ[1]では、コントロールポイント110Cが、印刷ジョブのキャンセルを要求するリクエストメッセージF41をMFPサーバ300に転送する。図17に示すように、このリクエストメッセージF41のヘッダには、プリンタデバイスのコントロールURI”/Printer1/Control”と、複合機200のIPアドレス”169.254.100.100”とが記述されている。また、メッセージF41内のSOAPACTIONヘッダには、UPnPのサービスタイプを示す文字列”PrintBasic”と、印刷ジョブをキャンセルする命令であることを示す文字列”CancelJob”とが設定されている。SOAPエンベロープにも、これらの文字列が設定されており、また、キャンセルすべきジョブのジョブ識別子の値”3”も設定されている。
図16のステップ[2]では、MFPサーバ300が、リクエストメッセージF41についてHTTPヘッダ部の解析を実行し、このメッセージF41の宛先であるコントロールURI”/Printer1/Control”を認識し、また、アクションの内容が印刷ジョブのキャンセル要求であることを認識する。
ステップ[3]では、MFPサーバ300が、プリンタデバイスのコントロールURI”/Printer1/Control”とSOAPデータとを含むメッセージF42をUSBでMFPデバイスユニット400に転送する。このメッセージF42は、図17に示すように、コントロールポイントから送られてきたSOAPデータをそのままコピーし、その先頭にコントロールURを付加したものである。なお、転送にはUPNP-ACTIONチャンネルが利用される。
図16のステップ[4]では、MFPデバイスユニット400が、受信したメッセージF42内のSOAPアクションを解析し、SOAPアクションに応じて処理を実行する。ここでは、SOAPアクションがジョブのキャンセル要求なので、ジョブ識別子が”3”である印刷ジョブがキャンセルされる。ステップ[5]では、MFPデバイスユニット400が、返信用のSOAPデータを含むメッセージR41をUSBでMFPサーバ300に転送する。図17に示すように、このメッセージR41は、リクエストの結果を示すREフィールドと、HTTPの結果を示すREフィールドと、SOAPデータとで構成されている。SOAPデータは、ジョブのキャンセル命令の応答であることを示す文字列”CancelJobResponse”を含むSOAPエンベロープである。
ステップ[6]では、MFPサーバ300がメッセージR41のHRフィールドを解析し、SOAPデータにHTTPのヘッダを付加する。ステップ[7]では、こうして作成されたHTTPのレスポンスメッセージR42がMFPサーバ300からコントロールポイント110Cに転送される。
以上の例からも理解できるように、一般に、コントロールポイントからデバイスへのアクションの要求(リクエスト)と応答(レスポンス)には、SOAPデータが使用される。
図18は、ローカルアクションの実行シーケンスの一例を示す図である。ローカルアクションでは、コントロールポイント110Cは関与せず、MFPサーバ300とMFPデバイスユニット400との間でのみメッセージが交換される。ステップ[1]では、MFPサーバ300が、ローカルアクションのメッセージF51をUSBでMFPデバイスユニット400に転送する。このメッセージF51は、図19に示すように、プリンタデバイスのコントロールURI”URI:/Local/Control”と、SOAPデータを含んでいる。このメッセージヘッダの文字列”/Local/control”は、ローカルアクションであることを示している。SOAPエンベロープには、ローカルな情報取得命令として”X_GetInfo”が設定されている。なお、ローカルアクションの命令は、デバイス毎に任意に定義することが可能である。
このメッセージF51は、グローバルアクションにおいてMFPサーバ300からMFPデバイスユニット400にUSB転送されるメッセージF42(図17)と類似している。但し、グローバルアクションのメッセージF42では、ヘッダ部分がURI:/Printer1/controlであるのに対して、ローカルアクションのメッセージF51では、ヘッダ部分が/Local/controlに設定されている点が異なる。従って、MFPデバイスユニット400のプリンタデバイスは、メッセージのヘッダに応じて、グローバルアクションかローカルアクションかを識別することができる。
図18のステップ[2]では、MFPデバイスユニット400が、受信したメッセージF51内のSOAPアクションを解析し、SOAPアクションに応じて処理を実行する。ここでは、SOAPアクションが情報取得要求なので、MFPデバイスユニット400の所定の情報を含むSOAPデータが作成される。ステップ[3]では、MFPデバイスユニット400が、返信用のSOAPデータを含むメッセージR51をUSBでMFPサーバ300に転送する。図19に示すように、このメッセージR51は、リクエストの結果を示すREフィールドと、SOAPデータとで構成されている。なお、ローカルアクションの返信メッセージR51では、HTTPの結果を示すHRフィールドは設定されておらず、この点でグローバルアクションの返信メッセージR41(図17)と異なっている。
MFPサーバ300は、メッセージR51を受け取ると、そのREフィールドを解析し、ローカルアクションが成功したか否かを判定する。なお、このメッセージR51には、HRフィールドが含まれていないので、コントロールポイントにレスポンスを返すことは無い。
このように、MFPサーバ300とMFPデバイスユニット400との間においては、グローバルなメッセージF42,R41(図17)を交換することができ、また、ローカルなメッセージF51,R51(図19)を交換することも可能である。上述したように、グローバルなメッセージ交換であるか、ローカルなメッセージ交換であるかは、MFPサーバ300からMFPデバイスユニット400に転送されるメッセージF51の先頭部分に設けられたヘッダによって判別されるので、MFPデバイスユニット400は、両者の区別を容易に行うことが可能である。
F.イベント発行シーケンス:
図20は、イベント発生時のシーケンスの一例を示す図である。図7(A)に示したように、UPnPデバイスのサービスには、イベントサーバと状態テーブルとが設けられている。状態テーブルは、そのサービスの種々の状態を示す状態変数を格納したテーブルである。「イベント」とは、状態テーブルの値(状態変数)が変化したことを意味する。イベントサーバは、状態テーブルの値が変化すると、そのサービスにサブスクライブ(購読)しているコントロールポイントにイベントの発生を通知する。
イベントが発生すると、まず図20のステップ[1]において、MFPデバイスユニット400が、発生したイベントを記述したXMLデータE0(以下、「状態変数XMLデータ」と呼ぶ)を作成する。図21に示すように、この状態変数XMLデータE0の先頭にある<e:propertyset>タグには、イベントの発生であることを示す属性”event”が設定されている。また、状態変数としては、<PrinterState>がアイドル(非動作)に変更されたことを示す文字列”idle”が設定されている。ここでは、プリンタサービスの状態変数が、動作中(processing)から非動作(idle)に変化したものと仮定している。
ステップ[2]では、MFPデバイスユニット400が、イベント発生のメッセージE1をMFPサーバ300にUSBで転送する。このメッセージE1は、図21に示すように、プリンタデバイスPrinter1のイベントであることを示すヘッダ”ESU:/Printer1/event;”が、元の状態変数XMLデータE0の前に付加されたものである。この転送には、USBのUPNP-EVENTチャンネルが使用される。
図20のステップ[3]では、MFPサーバ300が、メッセージE1を正常に受信したことを示す返信メッセージE2をMFPデバイスユニット400にUSBで転送する。この返信メッセージE2には、レスポンスフィールドが含まれている。
ステップ[4]では、MFPサーバ300が、ステップ[2]で受信したメッセージE2にHTTPヘッダを追加して、コントロールポイントへのメッセージE3を作成する。図21に示すように、このメッセージE3のHTTPヘッダは、イベントの宛先の相対URL”/UCPE/EVENTNOTIFY”と、イベントの宛先であるコントロールポイントのIPアドレス”169.254.10.116:8000”とが含まれている。なお、ポート番号”8000”は、イベントの通知用に予め設定された値である。
コントロールポイント110Cは、メッセージE3を受信すると、ステップ[6]においてHTTPレスポンスのメッセージE4をMFPサーバ300に返信する。
このように、イベントの発生の際にも、MFPサーバ300は、メッセージを単に転送するだけであり、メッセージの内容の解析や解釈は行わない。従って、MFPサーバ300の構成を簡易なものとすることが可能である。
G.第2実施例:
図22は、本発明の第2実施例における複合機200aの内部構成を示すブロック図である。図2に示した第1実施例の複合機200との差異は、MFPサーバ300aとMFPデバイスユニット400aとの間がUSB接続ではなく、両者がバスで接続されている点である。これに伴って、第2実施例では、両者を接続するためのUSB機器(コネクタ354,462,USBデバイス制御部460)が省略されている。但し、USBホスト制御部350は、他の装置(無線通信回路や追加のデバイスユニット)の接続のために残されている。また、第2実施例において、中央制御部310とRAM320とROM330は、MFPサーバ300aとMFPデバイスユニット400aとで共用されている。従って、中央制御部310は、MFPサーバ300aの制御機能を実現するためのプログラムと、MFPデバイスユニット400aの制御機能を実現するためのプログラムと、の両方を実行する。第2実施例の他のハードウェア構成は、第1実施例と同じである。
図23は、第2実施例におけるMFPサーバ300aとMFPデバイスユニット400aのUPnPアーキテクチャに関連する機能の階層構造を示すブロック図である。図3に示す第1実施例の構造と比較すれば理解できるように、第2実施例では、USB転送のための階層が省略されている。但し、MFPサーバ300aのサービスプロトコル解釈部1000と、MFPデバイスユニット400aの印刷サービス解釈部2000との間の6つの双方向論理チャンネルは、第1実施例と同じである。第2実施例では、MFPサーバ300aの制御機能とMFPデバイスユニット400aの制御機能が、同一の中央制御部(CPU)310で実行される異なるプロセスとして実現されている。従って、MFPサーバ300aとMFPデバイスユニット400aとの間のメッセージの交換は、USB転送でなく、これらのプロセス間のメッセージ交換によって行われる。
第1,第2実施例から理解できるように、MFPサーバ300とMFPデバイスユニット400との間のメッセージ交換は、UPnPプロトコルとは異なる通信プロトコルによって行われる。
この第2実施例によっても、第1実施例と同様に、MFPサーバ300aは、LAN上の他の装置とMFPデバイスユニット400aとの間で交換されるメッセージを仲介するネットワークプロトコル制御部302(図1)としての機能を有している。従って、MFPデバイスユニット400aの構成に依存せずに、MFPサーバ300aを容易に構成することができるという利点がある。
H.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
H1.変形例1:
上記実施例では、UPnP対応のネットワーク装置として複数のデバイスを含む複合機200を用いていたが、この代わりに、1つのデバイス(例えばプリンタ)のみを含む単機能のネットワーク装置を採用することも可能である。換言すれば、ネットワーク装置は、少なくとも1つのデバイスを有していれば良い。また、上記実施例では、起動時にMFPサーバ300に1つのデバイスユニット400のみが接続されていたが、起動時に2つ以上のデバイスユニットが接続されていても良い。
H2.変形例2:
上記実施例では、印刷すべき文書を表す言語としてXHTMLを用いていたが、XHTML以外の文書記述言語を用いることも可能である。
H3.変形例3:
上記実施例では、印刷サービスを有するプリンタに関して説明したが、本実施例では、他の任意のサービスを提供するデバイスにも適用可能である。例えば、スキャンサービスや、コンテントディレクトリサービスなどを提供するデバイスにも適用可能である。ここで、「コンテントディレクトリサービス」とは、静止画、動画、音楽などのコンテンツを提供するサービスである。
H4.変形例4:
上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
本発明の実施例を適用するネットワークシステムの構成を示す概念図である。 複合機の内部構成を示すブロック図である。 MFPサーバとMFPデバイスユニットのUPnPアーキテクチャに関連する機能の階層構造を示すブロック図である。 USBのインタフェース/エンドポイント構成と論理チャンネルの構成とを示す説明図である。 USB転送に用いられるパケットの構成を示す説明図である。 UPnPアーキテクチャを利用した処理の典型例を示すシーケンス図である。 実施例と比較例のUPnPデバイス構成を示す説明図である。 複合機の起動時におけるデバイスディスクリプションの作成手順を示すフローチャートである。 複合機のデバイスディスクリプションの例を示す説明図である。 コントロールポイントによるデバイスディスクリプション取得のシーケンス図である。 デバイスユニットが追加された場合のデバイス構成の再構築処理を示すフローチャートである。 MFPデバイスユニットを追加した場合の複合機のUPnPデバイス構成を示す説明図である。 コントロールポイントからの要求に応じて印刷を実行する手順を示すシーケンス図である。 コントロールポイントからの要求に応じて印刷を実行する手順を示すシーケンス図である。 印刷ジョブ実行時のメッセージの例を示す説明図である。 グローバルアクションの実行手順を示すシーケンス図である。 グローバルアクションのメッセージの例を示す説明図である。 ローカルアクションの実行手順を示すシーケンス図である。 ローカルアクションのメッセージの例を示す説明図である。 イベント発生時の処理手順を示すシーケンス図である。 イベント発生時のメッセージの例を示す説明図である。 第2実施例における複合機の内部構成を示すブロック図である。 第2実施例におけるMFPサーバとMFPデバイスユニットのUPnPアーキテクチャに関連する機能の階層構造を示すブロック図である。
符号の説明
100…パーソナルコンピュータ
100D…プリンタドライバ
110…デジタルカメラ
110C…コントロールポイント
120…TVセット
120C…コントロールポイント
130…画像サーバ
200…複合機
300…MFPサーバ
302…ネットワークプロトコル制御部
310…中央制御部
320…RAM
330…ROM
340…ネットワーク制御部
342…コネクタ
350…USBホスト制御部
352…ルートハブ
354,356…USBコネクタ
400…MFPデバイスユニット
402…デバイス制御部
404…プリンタ
406…スキャナ
410…中央制御部
420…RAM
430…ROM
440…印刷エンジン
450…スキャナエンジン
460…USBデバイス制御部
462…USBコネクタ
470…USBデバイス制御部
472…USBコネクタ
480…PCカードインタフェース
482…スロット
490…操作パネル制御部
492…操作パネル
500…ビューワ制御部
502…ビューワ
510…USBホスト制御部
512…ルートハブ
514…USBコネクタ
514…コネクタ
1000…サービスプロトコル解釈部
1100…パケッタイズプロトコル処理部
2000…印刷サービス解釈部
2100…パケッタイズプロトコル処理部

Claims (14)

  1. ネットワーク型プラグアンドプレイに対応したネットワーク装置であって、
    ネットワーク上のクライアントからの要求に応じてサービスを実行する1つ以上のサービスデバイスと、
    前記サービスデバイスの制御を行うデバイス制御部と、
    メッセージヘッダとメッセージボディとを有するメッセージを、前記ネットワーク上のクライアントから受信するとともに、前記メッセージボディの情報を前記デバイス制御部に転送するネットワークプロトコル制御部と、
    を備え、
    前記ネットワークプロトコル制御部は、前記クライアントから受信した前記メッセージボディの内容を解釈すること無く前記ネットワーク型プラグアンドプレイのプロトコルに従って前記メッセージヘッダを解釈するとともに、前記ネットワーク型プラグアンドプレイのプロトコルとは異なる通信プロトコルに従って前記メッセージボディを前記デバイス制御部に送信し、
    前記デバイス制御部は、前記ネットワークプロトコル制御部から受信した前記メッセージボディの内容を解釈するとともに、前記解釈の結果に応じて前記サービスデバイスにサービスを実行させる、ネットワーク装置。
  2. 請求項1記載のネットワーク装置であって、
    前記ネットワークプロトコル制御部は、前記デバイス制御部から受信したメッセージを、メッセージボディとし、メッセージヘッダを付加した上で、前記ネットワーク上のクライアントへ送信する機能を有し、
    前記デバイス制御部は、前記クライアントに送信したい情報をメッセージとして、前記ネットワーク型プラグアンドプレイのプロトコルとは異なる通信プロトコルに従って前記ネットワークプロトコル制御部に送信し、
    前記ネットワークプロトコル制御部は、前記デバイス制御部から受信した前記メッセージボディの内容を解釈すること無く前記ネットワーク型プラグアンドプレイのプロトコルに従って前記メッセージヘッダを付加するとともに、前記メッセージヘッダと前記メッセージボディからなるメッセージを前記クライアントに送信する、ネットワーク装置。
  3. 請求項1又は2記載のネットワーク装置であって、
    前記ネットワーク装置は、単一のIPアドレスが割り当てられる単一のネットワーク装置として機能し、
    個々のサービスデバイスは、前記ネットワーク装置のIPアドレスと、各サービスデバイスに割り当てられたデバイス識別子とによって識別される、ネットワーク装置。
  4. 請求項3記載のネットワーク装置であって、
    前記ネットワーク装置は、前記ネットワーク型プラグアンドプレイのアーキテクチャに従ったデバイス構成として、前記ネットワーク装置を代表する単一のルートデバイスとしてのベーシックデバイス内に前記サービスデバイスが包含されているネストされたデバイス構成を有している、ネットワーク装置。
  5. 請求項4記載のネットワーク装置であって、
    前記ベーシックデバイスは、前記サービスデバイスが実行するサービスの他には、前記ベーシックデバイス自身が実行する固有のサービスを有さないデバイスとして構成されている、ネットワーク装置。
  6. 請求項1ないし5のいずれかに記載のネットワーク装置であって、
    前記ネットワークプロトコル制御部と前記デバイス制御部との間の通信は、異なる用途にそれぞれ割り当てられた複数の双方向論理チャンネルを用いたパケット通信によって実行される、ネットワーク装置。
  7. 請求項6に記載のネットワーク装置であって、
    前記各論理チャネルは、目的に応じて、前記ネットワークプロトコル制御部がリクエスト側になる第1の動作モードと前記デバイス制御部がリクエスト側になる第2の動作モードとを実現可能であり、
    各論理チャネルのリクエストおよびリプライメッセージのボディ部には、送り元から送り先へ通知される特定種類の情報を格納するための所定のフィールドが設けられている、ネットワーク装置。
  8. 請求項7に記載のネットワーク装置であって、
    前記論理チャネルのメッセージボディ部から前記所定のフィールドを除いたメッセージボディ部において、当該メッセージボディ部の先頭に、メッセージの送り元から送り先へ通知するURIが付加される、ネットワーク装置。
  9. 請求項6記載のネットワーク装置であって、
    前記ネットワークプロトコル制御部と前記デバイス制御部は、
    (i)前記デバイス制御部と前記ネットワーク上のクライアントとの間で交換されるグローバルな情報を、前記ネットワークプロトコル制御部と前記デバイス制御部との間で送受信するグローバル情報送受信モードと、
    (ii)前記ネットワーク上のクライアントには無関係に、前記ネットワークプロトコル制御部と前記デバイス制御部との間で交換されるローカルな情報を送受信するローカル情報送受信モードとを有しており、
    前記グローバル情報送受信モードとローカル情報送受信モードは、メッセージのヘッダによって識別される、ネットワーク装置。
  10. 請求項3記載のネットワーク装置であって、
    前記ネットワーク装置は、前記ネットワーク型プラグアンドプレイのプロトコルに対応した第1の装置としての機能と、前記ネットワーク型プラグアンドプレイ以外のネットワークプロトコルに対応した第2の装置としての機能とを有しており、
    前記ネットワーク装置は、前記第1の装置として機能するときには所定の第1のポート番号によってアクセスされ、前記第2の装置として機能するときには前記第1のポート番号とは異なる第2のポート番号によってアクセスされる、ネットワーク装置。
  11. 請求項10記載のネットワーク装置であって、
    前記サービスデバイスは、印刷機構を含み、
    前記第1の装置は、前記ネットワーク型プラグアンドプレイのプロトコルに対応した第1のプリンタであり、
    前記第2の装置は、前記ネットワーク型プラグアンドプレイのプロトコル以外のネットワークプロトコルに対応した第2のプリンタであり、
    前記デバイス制御部は、
    (i)前記ネットワーク装置が前記第1のプリンタとして機能するときには、文書記述言語を含むメッセージボディを前記ネットワーク上のクライアントから受信し、前記文書記述言語を解釈してドットの形成状態を表す印刷データを作成するとともに、作成した印刷データを前記印刷機構に供給し、
    (ii)前記ネットワーク装置が前記第2のプリンタとして機能するときには、前記第2のプリンタ固有の制御コマンドからなる印刷データを前記ネットワーク上のクライアントから受信して前記印刷機構に供給する、ネットワーク装置。
  12. 請求項11記載のネットワーク装置であって、
    前記ネットワークプロトコル制御部と前記デバイス制御部との間の通信は、前記ネットワーク装置が前記第1のプリンタとして機能するときに利用される第1種の論理チャンネル群と、前記ネットワーク装置が前記第2のプリンタとして機能するときに利用される第2種の論理チャンネル群と、を用いたパケット通信によって実行される、ネットワーク装置。
  13. ネットワーク上のクライアントからの要求に応じてサービスを実行する1つ以上のサービスデバイスと、前記サービスデバイスの制御を行うデバイス制御部とを含むネットワーク型プラグアンドプレイに対応したネットワーク装置を制御する方法であって、
    (A)メッセージヘッダとメッセージボディとを有するメッセージを前記ネットワーク上のクライアントから受信するとともに、前記メッセージボディの情報を前記デバイス制御部に転送する工程、
    を備え、
    前記工程(A)は、
    前記クライアントから受信した前記メッセージボディの内容を解釈すること無く前記ネットワーク型プラグアンドプレイのプロトコルに従って前記メッセージヘッダを解釈するとともに、前記ネットワーク型プラグアンドプレイのプロトコルとは異なる通信プロトコルに従って前記メッセージボディを前記デバイス制御部に送信する工程と、
    前記デバイス制御部が、前記ネットワークプロトコル制御部から受信した前記メッセージボディの内容を解釈するとともに、前記解釈の結果に応じて前記サービスデバイスにサービスを実行させる工程と、
    を含む、ネットワーク装置の制御方法。
  14. ネットワーク上のクライアントからの要求に応じてサービスを実行する1つ以上のサービスデバイスと、前記サービスデバイスの制御を行うデバイス制御部と、を含むネットワーク型プラグアンドプレイに対応したネットワーク装置のためのネットワークプロトコル制御装置であって、
    メッセージヘッダとメッセージボディとを有するメッセージを前記ネットワーク上のクライアントから受信するとともに、前記メッセージボディの情報を前記デバイス制御部に転送し、
    前記転送の際に、前記クライアントから受信した前記メッセージボディの内容を解釈すること無く前記ネットワーク型プラグアンドプレイのプロトコルに従って前記メッセージヘッダを解釈するとともに、前記ネットワーク型プラグアンドプレイのプロトコルとは異なる通信プロトコルに従って前記メッセージボディを前記デバイス制御部に送信する、ネットワークプロトコル制御装置。
JP2004329319A 2004-11-12 2004-11-12 ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御 Expired - Fee Related JP4645164B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004329319A JP4645164B2 (ja) 2004-11-12 2004-11-12 ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御
US11/269,556 US8166137B2 (en) 2004-11-12 2005-11-09 Control of network plug-and-play compliant device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004329319A JP4645164B2 (ja) 2004-11-12 2004-11-12 ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御

Publications (3)

Publication Number Publication Date
JP2006139585A JP2006139585A (ja) 2006-06-01
JP2006139585A5 JP2006139585A5 (ja) 2007-12-20
JP4645164B2 true JP4645164B2 (ja) 2011-03-09

Family

ID=36568472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004329319A Expired - Fee Related JP4645164B2 (ja) 2004-11-12 2004-11-12 ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御

Country Status (2)

Country Link
US (1) US8166137B2 (ja)
JP (1) JP4645164B2 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4645165B2 (ja) * 2004-11-12 2011-03-09 セイコーエプソン株式会社 ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御
US20070097969A1 (en) * 2005-11-02 2007-05-03 Alain Regnier Approach for discovering network resources
US8156186B2 (en) * 2005-11-11 2012-04-10 Scenera Technologies, Llc Method and system for organizing electronic messages using eye-gaze technology
EP1793565A1 (en) * 2005-12-02 2007-06-06 Seiko Epson Corporation Network plug-and-play compliant network relay control
US8667076B2 (en) * 2006-07-28 2014-03-04 Microsoft Corporation Mapping universal plug and play discovered items to an SMB location
JP4259557B2 (ja) 2006-09-19 2009-04-30 セイコーエプソン株式会社 印刷装置及び論理パケット処理方法
JP4869033B2 (ja) * 2006-11-13 2012-02-01 キヤノン株式会社 ネットワークデバイス、ネットワークデバイス管理装置、ネットワークデバイスの制御方法、ネットワークデバイス管理方法、プログラム、記憶媒体
US7987278B2 (en) * 2006-12-18 2011-07-26 Ricoh Company, Ltd. Web services device profile on a multi-service device: dynamic addition of services
US7873647B2 (en) * 2006-12-18 2011-01-18 Ricoh Company, Ltd. Web services device profile on a multi-service device: device and facility manager
EP1936922B1 (en) * 2006-12-18 2016-07-27 Ricoh Company, Ltd. Discovery and addition of services in a multi-service device
US7680877B2 (en) * 2006-12-18 2010-03-16 Ricoh Company, Ltd. Implementing a web service application on a device with multiple threads
US7904917B2 (en) * 2006-12-18 2011-03-08 Ricoh Company, Ltd. Processing fast and slow SOAP requests differently in a web service application of a multi-functional peripheral
US8127306B2 (en) 2006-12-18 2012-02-28 Ricoh Company, Ltd. Integrating eventing in a web service application of a multi-functional peripheral
US8112766B2 (en) * 2006-12-21 2012-02-07 Ricoh Company, Ltd. Multi-threaded device and facility manager
US8321546B2 (en) * 2007-01-10 2012-11-27 Ricoh Company, Ltd. Integrating discovery functionality within a device and facility manager
JP2008181487A (ja) * 2006-12-21 2008-08-07 Ricoh Co Ltd 装置とファシリティマネージャ内のディスカバリ機能の統合
US8239876B2 (en) * 2007-06-12 2012-08-07 Ricoh Company, Ltd. Efficient web services application status self-control system on image-forming device
JP4895389B2 (ja) * 2007-07-13 2012-03-14 キヤノン株式会社 画像形成装置及びその制御方法、並びに記憶媒体
US8453164B2 (en) * 2007-09-27 2013-05-28 Ricoh Company, Ltd. Method and apparatus for reduction of event notification within a web service application of a multi-functional peripheral
US8155019B2 (en) * 2008-01-07 2012-04-10 Canon Kabushiki Kaisha Information processing apparatus, device information display method, and computer-readable storage medium
US7805485B2 (en) * 2008-01-28 2010-09-28 Sharp Laboratories Of America, Inc. Web services interface extension channel
CN101526932A (zh) * 2008-03-03 2009-09-09 株式会社理光 设备控制装置、设备信息获取方法及计算机可读记录介质
JP5321021B2 (ja) * 2008-03-03 2013-10-23 株式会社リコー 機器管理装置、機器管理システム、機器情報取得方法、機器情報取得プログラム、及びそのプログラムを記録した記録媒体
KR101562568B1 (ko) * 2009-08-28 2015-10-22 삼성전자주식회사 화상형성장치 및 화상형성방법
US9049039B2 (en) * 2010-09-16 2015-06-02 Samsung Electronics Co., Ltd System and method for managing a control device in a universal plug and play home network
FR2966619A1 (fr) * 2010-10-20 2012-04-27 Noel Pampagnin Procede de diffusion de documents numeriques auxquels sont attaches des droits d'usage, supportant la copie multiple, l'echange et multiplateforme
JP6015360B2 (ja) * 2012-11-02 2016-10-26 ブラザー工業株式会社 通信装置および通信プログラム
KR102016347B1 (ko) * 2013-02-12 2019-08-30 삼성전자주식회사 클라이언트 및 서버 간 연결 방법 및 장치
JP6454075B2 (ja) * 2013-04-26 2019-01-16 キヤノン株式会社 通信装置、通信制御方法、及びプログラム
JP2016148973A (ja) * 2015-02-12 2016-08-18 日本電信電話株式会社 死活監視装置、死活監視システム、死活監視方法、及び死活監視方法プログラム
JP6460905B2 (ja) * 2015-04-30 2019-01-30 キヤノン株式会社 通信装置、制御方法、プログラム
WO2019145379A1 (en) * 2018-01-29 2019-08-01 Koninklijke Philips N.V. Bluetooth-based ipv6 low power networking
JP6916529B2 (ja) * 2018-06-29 2021-08-11 サイレックス・テクノロジー株式会社 デバイスサーバ及びデバイスサーバの制御方法
JP2023070932A (ja) * 2021-11-10 2023-05-22 キヤノン株式会社 画像形成システム、画像制御装置、制御方法、及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003006133A (ja) * 2001-04-19 2003-01-10 Canon Inc 情報処理方法および制御プログラムおよび情報処理装置および周辺装置および応答方法および代理応答装置およびネットワークシステム
JP2003008610A (ja) * 2001-06-20 2003-01-10 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2003216383A (ja) * 2002-01-21 2003-07-31 Canon Inc サービス提供システム、サービス提供方法、サービス提供装置、その制御方法、制御プログラム、及び、コンピュータ可読メモリ
JP2004140818A (ja) * 2002-09-24 2004-05-13 Ricoh Co Ltd 仲介装置、通信システム、仲介装置の制御方法、プログラム及び記録媒体

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910068B2 (en) * 1999-06-11 2005-06-21 Microsoft Corporation XML-based template language for devices and services
JP3711866B2 (ja) 2000-04-10 2005-11-02 日本電気株式会社 プラグアンドプレイ機能を有するフレームワークおよびその再構成方法
JP4294912B2 (ja) * 2001-08-13 2009-07-15 ブラザー工業株式会社 端末情報通知システム、端末情報通知方法及びネットワーク端末装置
EP1330100B1 (en) * 2002-01-21 2008-07-30 Canon Kabushiki Kaisha Service providing system
FR2837045B1 (fr) * 2002-03-08 2005-11-11 Canon Res Ct France Sa SYSTEME ET PROCEDE DE GESTION DE TRANSFERT D'INFORMATIONS SUR UN RESEAU CONFORME A UNE NORME DE TRANSMISSION DE DONNEES, NOTAMMENT LA NORME UPnP, MACHINE D'INTERFACAGE ET D'EMULATION ET PROGRAMME D'ORDINATEUR CORRESPONDANTS
US20030220988A1 (en) * 2002-05-22 2003-11-27 Hymel James A. Method and electronic device for establishing an interface to control an accessory device
US7116995B2 (en) * 2002-05-31 2006-10-03 Nokia Corporation System and method for operating intravendor and intervendor messaging systems
US7680143B2 (en) * 2002-12-12 2010-03-16 Rpx Corporation Methods and apparatus for combining session acceleration techniques for media oriented negotiation acceleration
US7331049B1 (en) * 2003-04-21 2008-02-12 Borland Software Corporation System and methodology providing typed event and notification services
EP1617333B1 (en) * 2003-04-24 2012-01-04 Mitsubishi Denki Kabushiki Kaisha Video device, video module unit, and video device operation method
JP4401679B2 (ja) * 2003-05-12 2010-01-20 キヤノン株式会社 制御装置、制御プログラム、制御方法
US20050054289A1 (en) * 2003-09-05 2005-03-10 Innovative Intelcom Industries Communications, command, and control system with plug-and-play connectivity
US20060004939A1 (en) * 2004-06-30 2006-01-05 Edwards James W Mechanism to control infrared devices via a universal plug and play device network
US20060041924A1 (en) * 2004-08-20 2006-02-23 Matsushita Electric Industrial Co., Ltd. Digital television middleware service for home networking domains
US7675922B2 (en) * 2004-10-29 2010-03-09 Microsoft Corporation System and method for providing a universal communications port with computer-telephony interface

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003006133A (ja) * 2001-04-19 2003-01-10 Canon Inc 情報処理方法および制御プログラムおよび情報処理装置および周辺装置および応答方法および代理応答装置およびネットワークシステム
JP2003008610A (ja) * 2001-06-20 2003-01-10 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2003216383A (ja) * 2002-01-21 2003-07-31 Canon Inc サービス提供システム、サービス提供方法、サービス提供装置、その制御方法、制御プログラム、及び、コンピュータ可読メモリ
JP2004140818A (ja) * 2002-09-24 2004-05-13 Ricoh Co Ltd 仲介装置、通信システム、仲介装置の制御方法、プログラム及び記録媒体

Also Published As

Publication number Publication date
US20060117084A1 (en) 2006-06-01
US8166137B2 (en) 2012-04-24
JP2006139585A (ja) 2006-06-01

Similar Documents

Publication Publication Date Title
JP4645164B2 (ja) ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御
US7664135B2 (en) Control of network plug-and-play compliant device
US20060150236A1 (en) Control of network plug-and-play compliant device
JP4508114B2 (ja) ネットワーク型プラグアンドプレイに対応したネットワーク中継制御
US7594040B2 (en) Network relay device having network plug-and-play compliant protocols for network relay
JP5698557B2 (ja) 印刷システムおよび印刷システムにおける制御方法
US20120154843A1 (en) Peripheral device control system and method
JP5729979B2 (ja) 印刷中継システム、印刷システム、画像形成装置、印刷中継システムを制御する制御方法、およびプログラム
JP2010157208A (ja) データ処理装置、プリンタネットワークシステム、データ処理方法、プログラムおよび記録媒体
JP4774973B2 (ja) ネットワーク型プラグアンドプレイに対応したネットワーク中継制御
US20110279856A1 (en) Information processing apparatus, cooperative function setting control method, and storage medium
JP4467955B2 (ja) 情報処理装置、周辺装置制御システム及び情報処理装置に適用される周辺装置制御方法並びにそのプログラム
US8259332B2 (en) Printing apparatus and printing system
JP4760425B2 (ja) プリンタを用いた印刷におけるスタイルシートの切替
US20040199651A1 (en) Apparatus, method and system of providing information
JP2007156691A (ja) ネットワーク型プラグアンドプレイに対応したネットワーク中継制御
JP4765496B2 (ja) ネットワーク型プラグアンドプレイに対応したネットワーク装置及びその制御方法
JP4935027B2 (ja) ネットワーク型プラグアンドプレイに対応したネットワーク装置及びその制御方法
JP4640147B2 (ja) ネットワーク型プラグアンドプレイに対応したネットワーク中継制御
JP2007080126A (ja) ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御
JP4791240B2 (ja) 印刷制御装置および印刷制御方法
JP2007128215A (ja) ネットワークデバイスに関する情報収集
JP5884884B2 (ja) データ処理装置、印刷システム、データ処理方法、プログラムおよび記録媒体
JP2007072795A (ja) Usb論理チャンネルのオープン制御
JP4720708B2 (ja) 印刷装置及び印刷方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071105

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100223

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100421

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101109

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101122

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4645164

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees