JP2007164485A - ネットワーク型プラグアンドプレイに対応したネットワーク中継制御 - Google Patents

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

Info

Publication number
JP2007164485A
JP2007164485A JP2005360062A JP2005360062A JP2007164485A JP 2007164485 A JP2007164485 A JP 2007164485A JP 2005360062 A JP2005360062 A JP 2005360062A JP 2005360062 A JP2005360062 A JP 2005360062A JP 2007164485 A JP2007164485 A JP 2007164485A
Authority
JP
Japan
Prior art keywords
network
capability
control unit
mfp
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.)
Granted
Application number
JP2005360062A
Other languages
English (en)
Other versions
JP4774973B2 (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 JP2005360062A priority Critical patent/JP4774973B2/ja
Publication of JP2007164485A publication Critical patent/JP2007164485A/ja
Application granted granted Critical
Publication of JP4774973B2 publication Critical patent/JP4774973B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】ネットワーク型プラグアンドプレイに対応したネットワークにおいて、サーバイスデバイスの能力をクライアントに通知できる技術を提供する。
【解決手段】デバイス能力登録モジュールは、デバイスユニットとネットワーク中継装置との接続の確立時に、デバイスユニットからサービスデバイスの能力を表す能力情報を受け取って登録する。また、デバイス能力登録モジュールは、クライアントからデバイス能力の問い合わせを受けたときに、登録された能力情報に従ってデバイス能力をクライアントに通知する。
【選択図】図9

Description

この発明は、ネットワーク型プラグアンドプレイに対応したネットワーク中継装置の制御技術に関する。
プラグアンドプレイは、よく知られているように、コンピュータの起動後に、周辺装置を任意のタイミングでコンピュータに接続したり、コンピュータから切断したりすることができる技術である。近年では、プラグアンドプレイ技術をネットワークに適用したものとして、ユニバーサルプラグアンドプレイ(以下、「UPnP」と呼ぶ。UPnPは UPnP Implementers Corporationの商標)が開発されてきている。UPnPを用いると、ネットワーク装置を任意のタイミングでネットワークに接続したり、ネットワークから切断したりすることができる。本明細書では、UPnPのように、ネットワークにおいてプラグアンドプレイを実現するアーキテクチャを、「ネットワーク型プラグアンドプレイ」と呼ぶ。
特開2001−290724
UPnP対応のネットワーク装置は、種々のサービスデバイスとして機能することが可能である。ここで、「サービスデバイス」とは、外部からの要求に応じてサービスを提供するデバイスを意味している。サービスデバイスは、プリンタや、スキャナ、ファクシミリ、コピー機、記憶装置、カメラ、時計などの種々の装置(「デバイスユニット」と呼ぶ)として実現可能である。また、1つのデバイスユニットで複数のサービスデバイスの機能を実現することも可能である。
ところで、UPnP非対応のデバイスユニットも、UPnPプロトコルに対応したネットワーク中継装置を用いることによって、UPnPプロトコル対応のデバイスとして利用したいという要望がある。しかし、従来は、このような中継装置をどのように実現すべきかについては検討が十分になされていないのが実情であった。特に、このような中継装置には多様な能力を有するデバイスユニットが接続される可能性があり、クライアントに対してデバイスユニットの能力を通知するかに関しては、十分に工夫されていなかった。
本発明は、ネットワーク型プラグアンドプレイに対応したネットワークにおいて、サーバイスデバイスの能力をクライアントに通知できる技術を提供することを目的とする。
本発明の装置は、ネットワーク上のクライアントからの要求に応じてサービスを提供する1つ以上のサービスデバイスを有するデバイスユニットと、前記ネットワークとの間を中継するためのネットワーク型プラグアンドプレイに対応したネットワーク中継装置であって、
前記デバイスユニットと前記ネットワーク中継装置との接続の確立時に、前記デバイスユニットから前記サービスデバイスの能力であるデバイス能力を表す能力情報を受け取って登録するデバイス能力登録部を備え、
前記デバイス能力登録部は、クライアントから前記デバイス能力の問い合わせを受けたときに、前記登録された能力情報に従って前記デバイス能力を前記クライアントに通知することを特徴とするネットワーク中継装置。
この装置によれば、デバイスユニットとして様々なデバイス能力を有するものがネットワーク中継装置に接続された場合にも、ネットワーク中継装置からクライアントにデバイス能力を通知することが可能である。
前記サービスデバイスはプリンタであり、
前記デバイス能力は、印刷用紙の種類と用紙サイズと印刷品質との前記プリンタで利用可能な組合せを含むものとしてもよい。
この構成によれば、クライアントは、プリンタで利用可能な印刷設定値の組合せを知ることが可能である。
上記ネットワーク中継装置は、
前記デバイス能力登録部を含み、前記デバイスユニットとの間で情報を交換することによって前記デバイスユニットを動作させるデバイス制御部と、
前記ネットワークと前記デバイス制御部との間に接続され、メッセージヘッダとメッセージボディとを有するメッセージを前記ネットワーク上のクライアントから受信するとともに、前記メッセージボディの情報を前記デバイス制御部に転送するネットワークプロトコル制御部と、
を備え、
前記ネットワークプロトコル制御部は、前記クライアントから受信した前記メッセージボディの内容を解釈すること無く前記ネットワーク型プラグアンドプレイのプロトコルに従って前記メッセージヘッダを解釈するとともに、前記ネットワーク型プラグアンドプレイのプロトコルとは異なる通信プロトコルに従って前記メッセージボディを前記デバイス制御部に送信し、
前記デバイス制御部は、前記ネットワークプロトコル制御部から受信した前記メッセージボディの内容を解釈するとともに、前記解釈の結果に応じて前記サービスデバイスにサービスを実行させるようにしてもよい。
この構成によれば、ネットワークプロトコル制御部がメッセージボディの内容を解釈すること無くヘッダを解釈してメッセージボディをデバイス制御部に送信するので、ネットワークプロトコル制御部における制御が、デバイスユニットに実装されているサービスデバイスの種類や数に依存しない。この結果、ネットワークプロトコル制御部における制御を単純化することができる。また、クライアントからデバイス能力の問い合わせを受けたときには、デバイス能力登録部を含むデバイス制御部がこれに応答してデバイス能力をクライアントに返信することが可能である。
なお、本発明は、種々の形態で実現することが可能であり、例えば、ネットワーク装置、ネットワークプロトコル制御装置、それらの装置の制御方法及び制御装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
次に、本発明の実施の形態を以下の順序で説明する。
A.用語の説明:
B.システムの概要:
C.デバイス能力登録モジュールの構成と処理シーケンス:
D.変形例:
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と、中継ユニット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には対応していない。
パーソナルコンピュータ100は、プリンタドライバ100Dを用いて画像の印刷データを作成し、LANを介してこの印刷データを中継ユニット600を介して複合機800に転送して印刷を実行させる機能を有している。この印刷処理の際には、複合機800は通常のネットワークプリンタとして機能する。一方、コントロールポイント(例えば110C)からの要求に従って印刷を行う場合には、複合機800と中継ユニット600とで構成されるネットワーク装置900がUPnP対応のプリンタデバイスとして機能する。
中継ユニットは、MFPサーバ300と、MFPデバイス制御ユニット700とを有している。MFPサーバ300は、LAN上の他の装置とMFPデバイス制御ユニット700との間で交換されるメッセージを仲介するネットワークプロトコル制御部302としての機能を有している。後述するように、MFPサーバ300は、典型的な場合において、メッセージの転送の際にメッセージヘッダに関してUPnPのプロトコルを解釈するが、メッセージボディの解釈や処理は行わない。
MFPデバイス制御ユニット700は、ディスクリプション作成モジュール710と、Webアプリケーションモジュール720と、デバイス能力登録モジュール730とを有している。ディスクリプション作成モジュール710は、UPnPプロトコルで使用されるデバイスディスクリプションやサービスディスクリプションを作成し、クライアント(コントロールポイント)からの要求に応じてこれらのディスクリプションを提供する機能を有する。Webアプリケーションモジュール720は、ネットワーク装置900の設定や利用の際に使用するための各種のWebページを作成するとともに、クライアントからの要求に応じてWebページを提供する機能を有する。デバイス能力登録モジュール730は、中継ユニット600に接続されるデバイスユニットのデバイス能力を表す情報を受け取って登録し、他のモジュール710,720やネットワーク上のクライアントからの問い合わせに応答してデバイス能力を通知する機能を有する。これらのモジュール710,720,730は、コンピュータプログラムとして実装されているが、ハードウェア回路として実装することも可能である。
MFPサーバ300とMFPデバイス制御ユニット700との間は、USB(Universal Serial Bus)で接続されており、また、MFPデバイス制御ユニット700と複合機800との間もUSBで接続されている。但し、USB以外の他の各種の物理的インタフェースを利用することも可能である。また、MFPサーバ300とMFPデバイス制御ユニット700との間は、UPnPプロトコルとは異なる通信プロトコルで接続することが可能である。
複合機800は、クライアントにサービスを提供するためのサービスデバイス810,820,830と、制御部840とを備えている。ここでは、サービスデバイスとして、印刷エンジン810とスキャナエンジン820とPCカードインタフェース830が実装されている。なお、複合機800は、少なくとも1つのサービスデバイスを有していれば良く、一般には、N個(Nは1以上の整数)のサービスデバイスを有するものとして構成される。なお、複合機800を「デバイスユニット」とも呼ぶ。
印刷エンジン810は、与えられた印刷データに応じて印刷を実行する印刷機構である。本実施例では、コントロールポイント110C,120CがUPnPプロトコルに従ってXHTMLデータを複合機800に送信して印刷を行う場合には、MFPデバイス制御ユニット700がXHTMLデータを解釈し、色変換やハーフトーン処理を実行して印刷データを作成し、この印刷データを印刷エンジン810に供給する。但し、MFPデバイス制御ユニット700の代わりに、制御部840又は印刷エンジン810が色変換やハーフトーン処理の機能を有するように構成することも可能である。一方、パーソナルコンピュータ100から印刷を行う場合は、プリンタドライバ100Dが生成するページ記述言語をMFPデバイス制御ユニット700が解析して印刷データを作成し、印刷エンジン810に供給する。なお、本明細書において、「印刷データ」とは印刷媒体上におけるドットの形成状態を示すドットデータによって印刷物を表すデータを意味している。印刷データは、プリンタ固有の制御コマンドで構成されている。XHTMLは、印刷データには該当せず、文書を記述する文書記述言語である。スキャナエンジン820は、画像をスキャンして画像データを生成する機構である。
UPnPは、ネットワーク装置を任意のタイミングでネットワークに接続したり、ネットワークから切断したりすることを実現するアーキテクチャである。UPnPネットワークは、コントロールポイント110C,120Cと、サービスデバイス810,820,830とで構成される。ここで、「サービスデバイス」とは、サービスを提供する装置を意味している。本明細書においては、特に断らない限り、「デバイス」と「サービスデバイス」は同義語として使用されている。「コントロールポイント」は、ネットワーク上の他のデバイスを検出したり制御したりするコントローラを意味しており、サービスデバイスに対するクライアントとして機能する。UPnP対応のネットワーク装置が有する各種の機能については後述する。
図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ネットワークへ通信するための無線通信回路)を接続可能である。
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(デバイスユニット)が接続されている。
MFPサーバ300の中央制御部310とネットワーク制御部340とUSBホスト制御部350は、図1におけるネットワークプロトコル制御部302としての機能を実現する。より具体的には、ネットワーク制御部340は、各種のネットワークプロトコルに従ってメッセージの送受信を行う。また、中央制御部310は、UPnPのプロトコルを解釈して転送先を決定する。USBホスト制御部350は、MFPデバイス制御ユニット700との間でメッセージを転送する。これらの制御部310,340,350は、メッセージボディの解釈や処理は行わずにメッセージを転送している。
MFPデバイス制御ユニット700のUSBデバイス制御部460は、USBの転送プロトコルに従ってメッセージの送受信を行う。また、中央制御部410は、MFPサーバ300を介して転送されたメッセージの内容を解釈し、メッセージの内容に応じた処理を実行して制御データを作成し、その制御データを複合機800に転送する。複合機800内のサービスデバイス810,820,830の動作は、この制御データに従って制御される。なお、MFPサーバ300とMFPデバイス制御ユニット700を分離せずに、1つのユニットによってMFPサーバ300とMFPデバイス制御ユニット700の両方の機能を実現するようにしてもよい。
なお、複合機800には、ユーザが種々の設定を行う際に使用する操作パネルと表示部(モニタ)が設けられているが、これらは図示が省略されている。
図3は、MFPサーバ300の各種のプロトコルの階層構造を示すブロック図である。MFPサーバ300は、各種のネットワークプロトコルを解釈するためのサービスプロトコル解釈部1000を備えている。このサービスプロトコル解釈部1000には、ネットワークアーキテクチャの下位層と、USBアーキテクチャの下位層とが存在する。ネットワークアーキテクチャの下位層としては、UPnPデバイスアーキテクチャ1100と、3つの非UPnPデバイス機能部1210,1220,1230が設けられている。これらのさらに下位には、UDP層又はTCP層と、インターネットプロトコル(IP)層と、ドライバ層と、ネットワークインタフェース層と、が存在する。
サービスプロトコル解釈部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の標準となっているからである。
UPnPデバイスアーキテクチャは、HTTPMUや、HTTPU,SOAP/HTTP,HTTPなどの各種のプロトコルに従って構成されている。UPnPは、これらのプロトコルを用いて、以下のような各種の処理を実現している。
(1)アドレッシング:
UPnPデバイス(以下、単に「デバイス」と呼ぶ)がネットワークに接続すると、アドレッシングによってネットワークアドレス(IPアドレス)を取得する。アドレッシングには、DHCPサーバまたはAuto-IPが利用される。ネットワークにDHCPサーバが設けられている場合には、デバイスはDHCPサーバによって割り当てられるIPアドレスを使用する。DHCPサーバが無い場合には、Auto-IPと呼ばれる自動IPアドレッシング機能を用いて、デバイスが自分のアドレスを決定する。なお、本実施例では、中継ユニット600と複合機800とで構成されるネットワーク装置900に対して1つのIPアドレスのみが割り当てられ、この装置900全体が単一のネットワーク装置として認識される。
(2)ディスカバリ(検出):
ディスカバリは、コントロールポイントが、デバイスがどこにいるかを見つけ出す処理である。ディスカバリは、コントロールポイントがディスカバリメッセージをマルチキャストすることによって実現することができ、あるいは、デバイスがネットワークに参加したときに、その旨をコントロールポイントにアドバタイズすることによっても実現できる。ディスカバリは、HTTPMU/SSDPやHTTPU/SSDPを用いて行われる。ディスカバリの結果、コントロールポイントとデバイスがピアツーピアで処理を進められるようになる。
(3)ディスクリプション:
デバイスの構成の詳細は、デバイスディスクリプションとしてXMLで記述されている。また、デバイスのサービスの詳細は、サービスディスクリプションとしてXMLで記述されている。これらのディスクリプションは、デバイスによって所有されており、コントロールポイントに提供される。コントロールポイントは、これらのディスクリプションを参照することによって、デバイスやサービスの詳細を知ることができる。デバイスディスクリプションの例については後述する。
(4)コントロール:
コントロールは、コントロールポイントが、アクション要求を含む制御メッセージをデバイスに転送して、デバイスの制御を行う処理である。コントロールは、HTTP/SOAPを用いて行われる。
(5)イベント:
所定のイベントが発生すると、デバイス内のサービスが、コントロールポイントにイベントの発生を通知する。イベント発生の通知を受けるコントロールポイントは、そのサービスに「サブスクライブ(購読)」する。イベントは、サブスクライブしているコントロールポイントに転送される。イベントの通知は、HTTP/GENAを用いて行われる。
(6)プレゼンテーション:
プレゼンテーションは、デバイスディスクリプションに登録されているプレゼンテーション用のURLからコントロールポイントがHTMLで記述されたプレゼンテーション用ページを取得する処理である。このプレゼンテーションによって、例えばコントロールポイントがデバイスの各種の状態を表示することができる。
なお、本発明はUPnPの将来のバージョンにも適用可能である。また、ネットワーク型プラグアンドプレイとして、アドレッシング(自動的なIPアドレス決定)と、デバイスのディスカバリにより、任意のコントロールポイントとデバイスとがピアツーピアで通信が可能で、コントロールポイントとデバイスがメッセージの交換を行うアーキテクチャであれば、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パケットを利用することができる。
図4に示すように、MFPサーバ300のUSBプリンタクラスドライバ1310とMFPデバイス制御ユニット700のUSBプリンタクラスドライバ2310の間には、7種類のUPnP用双方向通信チャンネルが設けられている。これらは、D4パケットを用いた論理チャンネルであり、複合機800がUPnPデバイスとして機能する場合に使用される。サービスプロトコル解釈部1000とUPnPデバイス機能部2400の間にも、プリンタクラスドライバ1310,2310の間の7種類の論理チャンネルに対応する7種類のUPnP用論理チャンネルが存在するが、図4では図示が省略されている。以下ではまず、D4パケットを用いた論理チャンネルについて説明する。
図5は、MFPサーバ300とMFPデバイス制御ユニット700間のUSB接続におけるインタフェース/エンドポイント構成と論理チャンネルの構成とを示す説明図である。一般に、USBデバイスは、インタフェースとエンドポイントとを有している。USBの転送は、USBのホストとエンドポイントとの間で行われる。すなわち、「エンドポイント」とは、ホストと通信を行う論理的なリソースである。図5(A)の例では、7つのエンドポイントEP#0〜EP#6が示されている。コントロールエンドポイントEP#0は、標準デバイスリクエストの送受信を行うためのエンドポイントである。「標準デバイスリクエスト」とは、すべてのUSBでサポートする必要がある基本的なリクエストである。従って、コントロールエンドポイントEP#0は、1つのUSBデバイスに必ず1つ設けられている。
プリンタ用のバルクアウトエンドポイント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とが設けられている。
本実施例では、図5(B)に示すように、プリンタインタフェースIF#0に9つの論理的なチャンネルが設けられている。これらの各チャンネルの機能は以下の通りである。
(1)PRINT-DATAチャンネルCH#11:
ネットワーク上のパーソナルコンピュータ100から、印刷ポート(LPRポートに従ったポート番号又はボート番号9100)を用いてプリンタドライバ100D(図1)から転送される印刷データの送受信を行うためのチャンネル。図4には図示されていない。
(2)PRINT-STATUSチャンネルCH#12:
MFPサーバ300が、印刷エンジン810の状態を示す情報を送受信するためのチャンネルであり、SNMP等のプロトコルにより、MFPサーバ300からネットワーク上のパーソナルコンピュータ100に対して提供される。図4には図示されていない。
(3)UPNP-LOCALCONTROLチャンネルCH#21:
MFPサーバ300とMFPデバイス制御ユニット700の間において、MFPサーバ300を要求者とし、MFPデバイス制御ユニット700を応答者とする通信を行うためのUPnP用チャンネル。MFPサーバ300は、このチャンネルを用いて、MFPデバイス制御ユニット700から各種の情報を取得することができる。
(4)UPNP-LOCALEVENTチャンネルCH#22:
MFPサーバ300とMFPデバイス制御ユニット700の間において、MFPデバイス制御ユニット700を要求者とし、MFPサーバ300を応答者とする通信を行うためのUPnP用チャンネル。MFPデバイス制御ユニット700は、このチャンネルを用いて、例えばユーザが複合機800で行った設定変更の内容をMFPサーバ300に通知することができ、また、複合機800が電源OFFするときに、UPnPプロトコルの終了要求をMFPサーバ300に通知することができる。
(5)UPNP-PRESENTATIONチャンネルCH#23:
UPnPのプレゼンテーションデータ(Webページデータ)を送受信するためのチャンネル。なお、コントロールポイントの要求に応じてプレゼンテーションデータをMFPデバイス制御ユニット700からコントロールポイントに送信するためのチャンネル(ダウンチャンネル)と、新たなプレゼンテーションデータをコントロールポイントからMFPデバイス制御ユニット700にアップロードするためのチャンネル(アップチャンネル)とを別々に設けるようにしたもよい。
(6)UPNP-CONTROLチャンネルCH#24:
UPnPにおいて、コントロールポイントから発信されたアクションに関連するデータを送受信するためのチャンネル。なお、上述のUPNP-LOCALCONTROLチャンネルに”LOCAL”という接頭語が付されている理由は、UPNP-LOCALTONTROLチャンネルが、コントロールポイントからのアクションの内容の転送には使用されないからである。換言すれば、UPNP-CONTROLチャンネルCH#24は、コントロールポイントから発信されたアクションに関連するデータの送受信のためにのみ使用される。
(7)UPNP-EVENTチャンネルCH#25:
UPnPにおいて、イベントをサブスクライブしているコントロールポイントに送信するためのチャンネル。上述のUPNP-LOCALEVENTチャンネルに”LOCAL”という接頭語が付されている理由は、このUPNP-LOCALEVENTチャンネルが、コントロールポイントへのイベントの送信には使用されないからである。換言すれば、UPNP-EVENTチャンネルCH#25は、複合機800で発生したイベントをコントロールポイントに送信するためにのみ使用される。
(8)UPNP-DOWNCONTENTxチャンネルCH#26x:
UPnPにおいて、コンテンツデータをコントロールポイントからMFPデバイス制御ユニット700にダウンロードする際に使用される送受信チャンネル。ここで、接尾辞”x”は、Ndown個(Ndownは2以上の整数)のUPNP-DOWNCONTENTチャンネルのうちのx番目のチャンネルを意味している。利用可能なUPNP-DOWNCONTENTxチャンネルの個数Ndownは、1以上の任意に設定可能であるが、2以上の値に設定することが好ましい。Ndownを2以上の値に設定すれば、複数のコントロールのコンテンツデータを並行して受信することが可能である。
(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)個となることが理解できる。
なお、各論理チャンネルは、いずれもバルクアウトエンドポイントEP#1とバルクインエンドポイントEP#2の両方を利用して双方向通信を行うことができる。論理チャンネルの識別情報は、USBパケットのヘッダに登録される。
前述したように、図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よりも少ない数の論理チャンネルを利用するようにしてもよい。
図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」とも呼ぶ。
D4パケットでは、ヘッダ部を利用して多様な論理チャンネルを構成できるので、多様な論理チャンネルを用いて多様なデータ転送を実現することが可能である。また、D4標準ヘッダ以外のヘッダ情報をある程度任意に設定することができるので、各種の制御を実行するための工夫の自由度が高いという利点がある。
本実施例のD4パケットを用いてリクエストを転送する場合には、エラーフィールドの後のメッセージの先頭(「メッセージヘッダ」とも呼ぶ)には、メッセージの送り元から送り先(受け手)へ通知するURI(通常は相対URI)が付加される。メッセージの受け手は、この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との間で通知される特定の情報とを容易に区別して、それぞれに適した処理を素早く実行することが可能である。
図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アドレスと考えることも可能である。
ステップ[2]では、MFPサーバ300が、リクエストメッセージF1を解析する。ここで解析(解釈)されるのは、メッセージF1のヘッダ部分だけであり、送信データ(すなわちメッセージボディ)の内容の解釈は行わない。より具体的には、ステップ[2]において、メッセージF1のURIが解析され、MFPデバイス制御ユニット700に対してどの論理チャンネルを用いてメッセージを転送すべきかが判定される。なお、メッセージF1には、実質的なメッセージボディが無いものも存在する。
ステップ[3]では、MFPサーバ300が、URIとメッセージボディ(存在する場合)とを含むメッセージF2を、USBでMFPデバイス制御ユニット700に転送する。この転送の際には、URIに応じて選択された論理チャンネルが利用される。
ステップ[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に転送される。
このように、本実施例では、MFPサーバ300は、コントロールポイントから受信したリクエストメッセージのうちで、ヘッダの解析(解釈)は行うが、メッセージボディの内容の解釈は行わず、メッセージボディはMFPデバイス制御ユニット700によって処理される。この構成には以下のような利点がある。第1の利点は、MFPサーバ300が、デバイスユニット(複合機800)のデバイス構成とサービスの内容を把握する必要が無く、任意の構成を有するデバイスユニット宛に送られたメッセージを転送するためのネットワークプロトコル制御部として機能することができる点である。第2の利点は、デバイスユニットのデバイス構成やサービスの内容が変更されても、MFPサーバ300の構成や機能を変更する必要が無い点である。第3の利点は、MFPサーバ300にメッセージボディの内容の解釈を行う解釈部(パーサ)を実装する必要が無いので、MFPサーバ300の構成が単純で済む点である。
C.デバイス能力登録モジュールの構成と処理シーケンス:
図8は、デバイス能力登録モジュール730の内部構成を示す説明図である。デバイス能力登録モジュール730は、インタフェースモジュール732と、デバイス能力データベース734とを備えている。インタフェースモジュール732は、MFPサーバ300や、MFPデバイス制御ユニット700内の他のモジュール710,720(図1)が、データベース734にアクセスするためのインタフェース(API)を提供している。デバイス能力データベース734は、図8の下部に示すデバイス能力テーブルを格納している。デバイス能力テーブルは、印刷エンジン810の能力として、用紙種類と、用紙サイズと、印刷品質と、レイアウト(縁余白の有無)の利用可能な組合せを格納している。この例から理解できるように、印刷エンジン810(プリンタデバイス)の「デバイス能力」とは、複数の印刷設定項目の実現可能な組合せを意味している。あるいは、プリンタデバイスのデバイス能力は、クライアントに提供可能なサービスの内容を意味しているものと考えることも可能である。なお、プリンタデバイスのデバイス能力を表すデバイス能力情報は、少なくとも印刷用紙の種類と、用紙サイズと、印刷品質との利用可能な組合せを含むことが好ましい。
デバイス能力データベース734には、複合機800が有する各デバイスに関するデバイス能力テーブルが格納されていることが好ましい。例えば、スキャナに関しては、解像度と、モノクロ/カラーの区別と、フィルム読取か否かと、を含む複数の設定項目の実現可能な組合せを示すデバイス能力テーブルが格納されていることが好ましい。
デバイス能力登録モジュール730は、外部からの問い合わせに応答して、複合機800内のデバイスの能力を通知する機能を有している。外部からの問い合わせとしては、コントロールポイントからの問い合わせの他に、MFPデバイス制御ユニット700内の他のモジュール710,720からの問い合わせなどが含まれる。このような問い合わせに応えられるようにするために、デバイス能力登録モジュール730は、複合機800が中継ユニット600に接続されたときに複合機800からデバイス能力に関する情報を取得する。
図9は、本実施例において複合機800が中継ユニット600に接続された時の処理シーケンスを示すシーケンス図である。
ステップ[1]では、複合機800と中継ユニット600との接続が確立されたことが複合機800からMFPデバイス制御ユニット700によって検出される。ここで、「接続の確立」とは、ケーブルやコネクタの物理的な接続が開始される場合のみでなく、ケーブルの物理的な接続が維持された状態で両方の装置700,800が起動した場合も含む広い意味を有している。また、無線接続の場合の「接続の確立」とは、2つの装置700,800間の認証が終了して実体データの交換が可能になったことを意味する。
MFPデバイス制御ユニット700は、複合機800が接続されたことを知ると、ステップ[2]において、MFPサーバ300にリセット要求を送信する。MFPサーバ300は、ステップ[3]において、リセット要求のレスポンスとしてシャットダウン通知をMFPデバイス制御ユニット700に送信する。ステップ[4]では、MFPサーバ300がByeBye通知をコントロールポイントにマルチキャストする。シャットダウン通知は、MFPサーバ300が再起動を行う旨を通知するための通知である。また、ByeBye通知は、UPnPプロトコルにおいて、MFPデバイスがネットワークから離脱することをすべてのコントロールポイントに通知するための通知である。MFPサーバ300がByeBye通知をマルチキャストして再起動を行う理由は、UPnP規格において、デバイスディスクリプションを再作成(後述するステップ[13])する際にこれらの動作を行うものと定められているからである。この後、MFPサーバ300が再起動する。なお、MFPサーバ300とともにMFPデバイス制御ユニット700も再起動するものとしてもい。なお、ステップ[2]〜[4]及びMFPサーバ300の再起動は省略することも可能である。
図9のステップ[5]では、MFPサーバ300がMFPデバイス制御ユニット700にデバイス情報を要求する。このデバイス情報の要求は、MFPサーバ300の起動時に行われる処理であり、UPnP対応のネットワーク装置900が有するデバイスの個数と、サービスの個数と、各デバイスのデバイスタイプと、各サービスのサービスタイプと、提供可能なサービスの内容(すなわちデバイス能力)とを含む各種のデバイス情報を、MFPサーバ300が取得するために行われる。ステップ[6]では、MFPデバイス制御ユニット700が、このデバイス情報要求を複合機800に転送する。複合機800は、この要求に応じてデバイス能力情報を含む各種のデバイス情報を返信し(ステップ[7])、MFPデバイス制御ユニット700はこのデバイス情報をMFPサーバ300に転送する(ステップ[8])。なお、デバイス能力情報は、MFPデバイス制御ユニット700内のデバイス能力登録モジュール730(図8)に登録される。
図9の例では、その後のステップ[9]において、コントロールポイント120CからM-Search要求がマルチキャストされている。M-Search要求は、UPnPプロトコルにおいてコントロールポイントがデバイスを検索するために発行するものである。この要求に対しては、ネットワークに接続されている全てのUPnP対応ネットワーク装置が、要求発行元のコントロールポイント120Cにレスポンスを返す(ステップ[10])。
その後、コントロールポイント120Cは、個々のネットワーク装置に対してデバイスディスクリプションの転送を要求する(ステップ[11])。MFPサーバ300がこの要求をMFPデバイス制御ユニット700に転送すると(ステップ[12])、MFPデバイス制御ユニット700が、デバイスディスクリプションを再作成する(ステップ[13])。このデバイスディスクリプションは、ステップ[6],[7]において複合機800からMFPデバイス制御ユニット700に提供された各種のデバイス情報に基づいて作成されるものであり、ネットワーク装置900のデバイス構成をXMLで記述したものである。なお、MFPデバイス制御ユニット700は、これ以前の時点でデバイスディスクリプションを再作成していてもよい。
こうして作成されたデバイスディスクリプションは、ステップ[14]でMFPデバイス制御ユニット700からMFPサーバ300に転送され、さらに、ステップ[15]でコントロールポイント120Cに転送される。
図9のステップ[16]では、コントロールポイント120Cが中継ユニット600に対してサービスディスクリプションの転送を要求する。MFPサーバ300がこの要求をMFPデバイス制御ユニット700に転送すると(ステップ[17])、MFPデバイス制御ユニット700内のディスクリプション作成モジュール710が、デバイス能力テーブル(図8)を用いてサービスディスクリプションを作成する(ステップ[18])。前述したように、デバイス能力テーブルは、デバイスがクライアントに提供可能なサービスの内容を表している。また、サービスディスクリプションは、デバイスが提供可能なサービスの内容をXMLで記述したものである。換言すれば、デバイス能力テーブルもサービスディスクリプションも、どちらもデバイスの能力を表す情報という点では共通している。こうして作成されたサービスディスクリプションは、MFPデバイス制御ユニット700からMFPサーバ300に返信され(ステップ[19])、さらに、コントロールポイント120Cに返信される(ステップ[20])。
このように、中継ユニット600と複合機800の接続の確立時に、複合機800のデバイス能力を示すデバイス能力情報がMFPデバイス制御ユニット700内のデバイス能力登録モジュール730に登録される。従って、コントロールポイント120Cからサービスディスクプリションの要求があったときには、MFPデバイス制御ユニット700からコントロールポイント120Cにサービスディスクリプションを返信することが可能である。コントロールポイント120Cは、このサービスディスクリプションを用いて、ネットワーク装置900が提供可能なサービスの内容をコントロールポイント120Cのユーザに提示することが可能である。
なお、図9のステップ[2],[3]における通信はUPNP-LOCALEVENTチャンネル(図5)を利用して行われ、また、ステップ[5],[8] ,[12],[14],[17],[19]における通信はUPNP-LOCALCONTROLチャンネルを利用して行われる。但し、これら以外の論理チャンネルを用いてこれらの通信を実行してもい。
図10は、デジタルTVセット120(図1)を用いて複合機800に印刷を指示する際の手順を示すフローチャートである。ステップS100では、ユーザがデジタルTVセット120の画面上で、印刷サービスを選択する。図11(A)は、複合機800の機能を利用する際にデジタルTVセット120に表示される画面の一例を示している。この画面は、複合機800のトップページを選択するためのボタン910と、複合機800のサービスを選択するための3つのボタン920,930,940と、前頁に戻るためのボタン950とを含んでいる。図10のステップS100では、このうちの印刷ボタン920がクリックされる。なお、デジタルTVセット120上でのユーザインタフェースは、コントロールポイント120Cによって提供される。
ステップS110では、印刷ボタン920のクリックに応じて、Webアプリケーションモジュール720(図1,図8)が印刷設定用の画面を作成してデジタルTVセット120に返信し、これに応じて印刷設定画面が表示される。図11(B)は、印刷設定画面の一例を示している。この画面には、用紙種類と、用紙サイズと、印刷品質と、レイアウト(縁余白の有無)の組合せが選択可能な状態で表示される。但し、ユーザが選択できるのは、デバイス能力テーブル(図8)において利用可能であるとして登録されている設定値の組合せだけである。例えば、図11(B)の例において、用紙種類が「光沢紙」、用紙サイズが「A4」、レイアウトが「縁余白無」のときには、印刷品質として「きれい」は選択できるが「はやい」は選択できない態様で表示がなされている。なお、この印刷設定画面は、サービスディスクリプションに応じてコントロールポイント120Cが作成するものとしてもよい。
図10のステップS120では、図11(B)の画面を用いてユーザが印刷設定を行う。ステップS130では、ユーザが印刷対象を選択するとともに印刷実行を指示する。なお、印刷対象選択用の画面の例は省略する。複合機800は、この指示に応じて印刷対象の印刷を実行する。
このように、本実施例の中継ユニット600は、複合機800との接続確立時にデバイス能力登録モジュール730内にデバイス能力を登録するとともに、登録したデバイス能力をクライアントからの要求に応じて通知することができる。従って、複合機800として種々の異なる能力を有するデバイスユニットが接続される場合にも、個々のデバイスユニットの能力をクライアントに適切に通知することが可能である。
D.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
D1.変形例1:
上記実施例では、UPnP対応のネットワーク装置900として複数のデバイスを含む複合機800を有する装置を用いていたが、この代わりに、1つのデバイス(例えばプリンタ)のみを含む単機能のネットワーク装置を採用することも可能である。換言すれば、ネットワーク装置は、少なくとも1つのデバイスを有していれば良い。
D2.変形例2:
上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
本発明の実施例を適用するネットワークシステムの構成を示す概念図である。 中継ユニット内のMFPサーバとMFPデバイス制御ユニットの内部構成を示すブロック図である。 MFPサーバの各種プロトコルの階層構造を示すブロック図である。 MFPデバイス制御ユニットの各種プロトコルの階層構造を示すブロック図である。 MFPサーバとMFPデバイス制御ユニットの間のUSB接続におけるインタフェース/エンドポイント構成と論理チャンネルの構成とを示す説明図である。 プリンタインタフェースを介したUSB転送に用いられるパケットの構成を示す説明図である。 UPnPアーキテクチャを利用した処理の典型例を示すシーケンス図である。 デバイス能力登録モジュールの内部構成を示す説明図である。 本実施例において複合機が中継ユニット600に接続された時の処理シーケンスを示すシーケンス図である。 デジタルTVセットを用いて複合機に印刷を指示する際の手順を示すフローチャートである。 デジタルTVセットから複合機の機能を利用する際の画面の例を示す説明図である。
符号の説明
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アプリケーションモジュール
730…デバイス能力登録モジュール
732…インタフェースモジュール
734…デバイス能力データベース
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デバイス機能部

Claims (4)

  1. ネットワーク上のクライアントからの要求に応じてサービスを提供する1つ以上のサービスデバイスを有するデバイスユニットと、前記ネットワークとの間を中継するためのネットワーク型プラグアンドプレイに対応したネットワーク中継装置であって、
    前記デバイスユニットと前記ネットワーク中継装置との接続の確立時に、前記デバイスユニットから前記サービスデバイスの能力であるデバイス能力を表す能力情報を受け取って登録するデバイス能力登録部を備え、
    前記デバイス能力登録部は、クライアントから前記デバイス能力の問い合わせを受けたときに、前記登録された能力情報に従って前記デバイス能力を前記クライアントに通知することを特徴とするネットワーク中継装置。
  2. 請求項1記載のネットワーク中継装置であって、
    前記サービスデバイスはプリンタであり、
    前記デバイス能力は、印刷用紙の種類と用紙サイズと印刷品質との前記プリンタで利用可能な組合せを含む、ネットワーク中継装置。
  3. 請求項1又は2記載のネットワーク中継装置であって、
    前記デバイス能力登録部を含み、前記デバイスユニットとの間で情報を交換することによって前記デバイスユニットを動作させるデバイス制御部と、
    前記ネットワークと前記デバイス制御部との間に接続され、メッセージヘッダとメッセージボディとを有するメッセージを前記ネットワーク上のクライアントから受信するとともに、前記メッセージボディの情報を前記デバイス制御部に転送するネットワークプロトコル制御部と、
    を備え、
    前記ネットワークプロトコル制御部は、前記クライアントから受信した前記メッセージボディの内容を解釈すること無く前記ネットワーク型プラグアンドプレイのプロトコルに従って前記メッセージヘッダを解釈するとともに、前記ネットワーク型プラグアンドプレイのプロトコルとは異なる通信プロトコルに従って前記メッセージボディを前記デバイス制御部に送信し、
    前記デバイス制御部は、前記ネットワークプロトコル制御部から受信した前記メッセージボディの内容を解釈するとともに、前記解釈の結果に応じて前記サービスデバイスにサービスを実行させる、ネットワーク中継装置。
  4. ネットワーク型プラグアンドプレイプロトコルに従って、ネットワーク上のクライアントからの要求に応じてサービスを提供する1つ以上のサービスデバイスを有するデバイスユニットと、前記ネットワークとの間を中継する方法であって、
    前記デバイスユニットと前記ネットワーク中継装置との接続の確立時に、前記デバイスユニットから前記サービスデバイスの能力であるデバイス能力を表す能力情報を受け取ってメモリ内に登録し、
    クライアントから前記デバイス能力の問い合わせを受けたときに、前記メモリ内に登録された能力情報に従って前記デバイス能力を前記クライアントに通知することを特徴とする方法。
JP2005360062A 2005-12-14 2005-12-14 ネットワーク型プラグアンドプレイに対応したネットワーク中継制御 Expired - Fee Related JP4774973B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005360062A JP4774973B2 (ja) 2005-12-14 2005-12-14 ネットワーク型プラグアンドプレイに対応したネットワーク中継制御

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005360062A JP4774973B2 (ja) 2005-12-14 2005-12-14 ネットワーク型プラグアンドプレイに対応したネットワーク中継制御

Publications (2)

Publication Number Publication Date
JP2007164485A true JP2007164485A (ja) 2007-06-28
JP4774973B2 JP4774973B2 (ja) 2011-09-21

Family

ID=38247302

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005360062A Expired - Fee Related JP4774973B2 (ja) 2005-12-14 2005-12-14 ネットワーク型プラグアンドプレイに対応したネットワーク中継制御

Country Status (1)

Country Link
JP (1) JP4774973B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009219092A (ja) * 2008-03-11 2009-09-24 Wistron Corp UPnPネットワークシステムのデバイスプロキシ方法及び関連装置
JP2012174278A (ja) * 2011-02-23 2012-09-10 Ricoh Co Ltd プリントショップアーキテクチャにおけるケーパビリティプレゼンテーションのプロトコルオーバーライド
JP2013178744A (ja) * 2012-01-30 2013-09-09 Ricoh Co Ltd 情報処理装置及びプログラム
JP2013232221A (ja) * 2008-03-03 2013-11-14 Ricoh Co Ltd 機器管理システム、機器管理システムの制御方法、及び機器情報取得プログラム
US8949306B2 (en) 2010-08-06 2015-02-03 Canon Kabushiki Kaisha Apparatus connected to network and method for requesting another apparatus to perform processing via network
JP2015507291A (ja) * 2012-02-03 2015-03-05 アップル インコーポレイテッド 非ネットワークインタフェースとネットワークインタフェースとの橋絡
JP2015185047A (ja) * 2014-03-25 2015-10-22 富士ゼロックス株式会社 画像形成システム、中継装置およびプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004104839A (ja) * 2004-01-06 2004-04-02 Sony Corp 情報処理装置および方法、並びに通信システム
JP2005031795A (ja) * 2003-07-08 2005-02-03 Sharp Corp 通信中継装置
JP2005182481A (ja) * 2003-12-19 2005-07-07 Hitachi Ltd ネットワーク機器
JP2005309617A (ja) * 2004-04-19 2005-11-04 Canon Inc ネットワークデバイス管理装置及びその制御方法、並びに、コンピュータプログラム及びコピー可読記憶媒体。

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005031795A (ja) * 2003-07-08 2005-02-03 Sharp Corp 通信中継装置
JP2005182481A (ja) * 2003-12-19 2005-07-07 Hitachi Ltd ネットワーク機器
JP2004104839A (ja) * 2004-01-06 2004-04-02 Sony Corp 情報処理装置および方法、並びに通信システム
JP2005309617A (ja) * 2004-04-19 2005-11-04 Canon Inc ネットワークデバイス管理装置及びその制御方法、並びに、コンピュータプログラム及びコピー可読記憶媒体。

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013232221A (ja) * 2008-03-03 2013-11-14 Ricoh Co Ltd 機器管理システム、機器管理システムの制御方法、及び機器情報取得プログラム
JP2009219092A (ja) * 2008-03-11 2009-09-24 Wistron Corp UPnPネットワークシステムのデバイスプロキシ方法及び関連装置
US8949306B2 (en) 2010-08-06 2015-02-03 Canon Kabushiki Kaisha Apparatus connected to network and method for requesting another apparatus to perform processing via network
JP2012174278A (ja) * 2011-02-23 2012-09-10 Ricoh Co Ltd プリントショップアーキテクチャにおけるケーパビリティプレゼンテーションのプロトコルオーバーライド
JP2013178744A (ja) * 2012-01-30 2013-09-09 Ricoh Co Ltd 情報処理装置及びプログラム
JP2015507291A (ja) * 2012-02-03 2015-03-05 アップル インコーポレイテッド 非ネットワークインタフェースとネットワークインタフェースとの橋絡
JP2015185047A (ja) * 2014-03-25 2015-10-22 富士ゼロックス株式会社 画像形成システム、中継装置およびプログラム

Also Published As

Publication number Publication date
JP4774973B2 (ja) 2011-09-21

Similar Documents

Publication Publication Date Title
JP4645164B2 (ja) ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御
US7664135B2 (en) Control of network plug-and-play compliant device
JP4464029B2 (ja) 情報処理方法および制御プログラムおよび情報処理装置および周辺装置および応答方法および代理応答装置およびネットワークシステム
JP4741768B2 (ja) ネットワーク制御装置、ネットワーク制御方法及びプログラム
US7869073B2 (en) Image forming system, image forming method and information terminal device
US20070263248A1 (en) Network plug-and-play compliant network relay device
US7594040B2 (en) Network relay device having network plug-and-play compliant protocols for network relay
JP4645165B2 (ja) ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御
US8259332B2 (en) Printing apparatus and printing system
JP4774973B2 (ja) ネットワーク型プラグアンドプレイに対応したネットワーク中継制御
JP4827943B2 (ja) 情報処理装置、ネットワークシステム、クライアント装置、情報処理方法、及び記憶媒体
JP4760425B2 (ja) プリンタを用いた印刷におけるスタイルシートの切替
JP4765496B2 (ja) ネットワーク型プラグアンドプレイに対応したネットワーク装置及びその制御方法
JP2007156691A (ja) ネットワーク型プラグアンドプレイに対応したネットワーク中継制御
JP4640147B2 (ja) ネットワーク型プラグアンドプレイに対応したネットワーク中継制御
JP4935027B2 (ja) ネットワーク型プラグアンドプレイに対応したネットワーク装置及びその制御方法
JP4378372B2 (ja) 情報処理方法、情報処理装置、及び記憶媒体
JP2007080126A (ja) ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御
JP2007072795A (ja) Usb論理チャンネルのオープン制御
JP5174126B2 (ja) 情報処理装置及びクライアント装置
JP4791240B2 (ja) 印刷制御装置および印刷制御方法
JP4448756B2 (ja) 画像処理装置及び画像処理方法
JP2009278336A (ja) 画像形成装置、提供機能制御方法、及び提供機能制御プログラム
JP2007034886A (ja) 画像出力装置、画像出力方法およびネットワーク接続機器
JP2007128215A (ja) ネットワークデバイスに関する情報収集

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080911

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: 20101109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110107

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: 20110531

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: 20110613

R150 Certificate of patent or registration of utility model

Ref document number: 4774973

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140708

Year of fee payment: 3

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