説明

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

【課題】ネットワーク型プラグアンドプレイに対応したネットワークにおいて、クライアントから供給された印刷要求メッセージをデバイスユニットに適切に中継するための技術を提供する。
【解決手段】ネットワーク中継装置は、ネットワーク上のクライアントからの要求に応じてサービスを提供する1つ以上のサービスデバイスを有するデバイスユニットと、ネットワークとの間を中継するための装置である。ネットワーク中継装置は、マークアップ言語を用いて印刷対象画像が記述された印刷要求メッセージをクライアントから受け取ったときに、印刷要求メッセージをデバイスユニット用データに変換してデバイスユニットに供給するデータ変換モジュールを備える。データ変換モジュールは、デバイスユニット用データとして、デバイスユニットが受入可能な汎用規格に従ったプリンタ用データを作成する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ネットワーク型プラグアンドプレイに対応したネットワーク中継装置の制御技術に関する。
【背景技術】
【0002】
プラグアンドプレイは、よく知られているように、コンピュータの起動後に、周辺装置を任意のタイミングでコンピュータに接続したり、コンピュータから切断したりすることができる技術である。近年では、プラグアンドプレイ技術をネットワークに適用したものとして、ユニバーサルプラグアンドプレイ(以下、「UPnP」と呼ぶ。UPnPは UPnP Implementers Corporationの商標)が開発されてきている。UPnPを用いると、ネットワーク装置を任意のタイミングでネットワークに接続したり、ネットワークから切断したりすることができる。本明細書では、UPnPのように、ネットワークにおいてプラグアンドプレイを実現するアーキテクチャを、「ネットワーク型プラグアンドプレイ」と呼ぶ。
【0003】
【特許文献1】特開2001−290724
【0004】
UPnP対応のネットワーク装置は、種々のサービスデバイスとして機能することが可能である。ここで、「サービスデバイス」とは、外部からの要求に応じてサービスを提供するデバイスを意味している。サービスデバイスは、プリンタや、スキャナ、ファクシミリ、コピー機、記憶装置、カメラ、時計などの種々の装置(「デバイスユニット」と呼ぶ)として実現可能である。また、1つのデバイスユニットで複数のサービスデバイスの機能を実現することも可能である。
【0005】
ところで、UPnP非対応のデバイスユニットも、UPnPプロトコルに対応したネットワーク中継装置を用いることによって、UPnPプロトコル対応のデバイスとして利用したいという要望がある。しかし、従来は、このような中継装置をどのように実現すべきかについては検討が十分になされていないのが実情であった。特に、中継装置には多様な能力を有するデバイスユニットが接続される可能性があり、クライアントから印刷要求メッセージを受けたときに、デバイスユニットをどのように動作させるかについては十分に工夫されていないのが実情であった。
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、ネットワーク型プラグアンドプレイに対応したネットワークにおいて、クライアントから供給された印刷要求メッセージをデバイスユニットに適切に中継するための技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の装置は、ネットワーク上のクライアントからの要求に応じてサービスを提供する1つ以上のサービスデバイスを有するデバイスユニットと、前記ネットワークとの間を中継するためのネットワーク型プラグアンドプレイに対応したネットワーク中継装置であって、
マークアップ言語を用いて印刷対象画像が記述された印刷要求メッセージをクライアントから受け取ったときに、前記印刷要求メッセージをデバイスユニット用データに変換して前記デバイスユニットに供給するデータ変換モジュールを備え、
前記データ変換モジュールは、前記デバイスユニット用データとして、デバイスユニットが受入可能な汎用規格に従ったプリンタ用データを作成することを特徴とする。
【0008】
この中継装置によれば、印刷要求メッセージを、中継装置に現実に接続されているデバイスユニットが受入可能な汎用規格に従ったプリンタ用データに変換してデバイスユニットに供給するので、印刷要求メッセージをデバイスユニットに適切に中継することが可能である。また、プリンタ用データは汎用規格に従っているので、個々のプリンタ固有のフォーマットのデータを作成するように中継装置を構成する必要が無く、中継装置の実装が容易である。
【0009】
上記ネットワーク中継装置において、前記デバイスユニットは、プリンタとしての機能を有しており、
前記データ変換モジュールは、前記印刷要求メッセージをクライアントから受け取ったときに、前記プリンタ用データとして、前記プリンタが適合する汎用規格に従ったプリンタ用データを作成するように構成されていてもよい。
【0010】
この構成によれば、中継装置に現実に接続されているデバイスユニットに適合する汎用規格に従ったプリンタ用データに変換してデバイスユニットに供給することができる。
【0011】
上記ネットワーク中継装置は、さらに、
USBデバイスとして機能する第1種のプリンタが接続されるUSBホスト端子と、USBホストとして機能する第2種のプリンタが接続されるUSBデバイス端子と、を備え、
前記データ変換モジュールは、
(i)前記USBホスト端子とUSBデバイス端子のいずれにプリンタが接続されているかに応じて、前記第1種と第2種のプリンタのいずれが前記ネットワーク中継装置に接続されているかを判別し、
(ii)前記ネットワーク中継装置に前記第1種プリンタが接続されているときには第1の汎用規格に従ったプリンタ用データを作成し、前記第2種プリンタが接続されているときには前記第1の汎用規格とは異なる第2の汎用規格に従ったプリンタ用データを作成するように構成されていても良い。
【0012】
この構成によれば、プリンタが接続されているUSB端子に応じて、プリンタの種別を判別することができ、また、プリンタの種別に適合した汎用規格を用いてプリンタ用データを作成することが可能である。
【0013】
なお、前記第1の汎用規格に従ったプリンタ用データは、RGBデータを含み、
前記第2の汎用規格に従ったプリンタ用データは、JPEGデータを含むものとしてもよい。
【0014】
また、前記ネットワーク中継装置に前記第2種のプリンタが接続されている場合には、前記ネットワーク中継装置はUSB規格上の静止画取り込み装置として機能するものとしてもよい。
【0015】
上記ネットワーク中継装置は、
前記データ変換モジュールを含み、前記デバイスユニットとの間で情報を交換することによって前記デバイスユニットを動作させるデバイス制御部と、
前記ネットワークと前記デバイス制御部との間に接続され、メッセージヘッダとメッセージボディとを有するメッセージを前記ネットワーク上のクライアントから受信するとともに、前記メッセージボディの情報を前記デバイス制御部に転送するネットワークプロトコル制御部と、
を備え、
前記ネットワークプロトコル制御部は、前記クライアントから受信した前記メッセージボディの内容を解釈すること無く前記ネットワーク型プラグアンドプレイのプロトコルに従って前記メッセージヘッダを解釈するとともに、前記ネットワーク型プラグアンドプレイのプロトコルとは異なる通信プロトコルに従って前記メッセージボディを前記デバイス制御部に送信し、
前記デバイス制御部は、前記ネットワークプロトコル制御部から受信した前記メッセージボディの内容を解釈するとともに、前記解釈の結果に応じて前記サービスデバイスにサービスを実行させるように構成されていても良い。
【0016】
この構成によれば、ネットワークプロトコル制御部がメッセージボディの内容を解釈すること無くヘッダを解釈してメッセージボディをデバイス制御部に送信するので、ネットワークプロトコル制御部における制御が、デバイスユニットに実装されているサービスデバイスの種類や数に依存しない。この結果、ネットワークプロトコル制御部における制御を単純化することができる。
【0017】
なお、本発明は、種々の形態で実現することが可能であり、例えば、ネットワーク装置、ネットワークプロトコル制御装置、それらの装置の制御方法及び制御装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【0018】
次に、本発明の実施の形態を以下の順序で説明する。
A.用語の説明:
B.システムの概要:
C.プリンタ用データ変換モジュールの構成と処理シーケンス:
D.変形例:
【0019】
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):拡張マークアップ言語。
【0020】
なお、UPnPでは上述した多数のプロトコルが使用されるが、以下ではこれらを総称して「UPnPプロトコル」と呼ぶ。
【0021】
B.システムの概要:
図1は、本発明の実施例を適用するネットワークシステムの構成を示す概念図である。このネットワークシステムは、パーソナルコンピュータ100と、デジタルカメラ110と、デジタルTVセット120と、画像サーバ130と、中継ユニット600とがLANを介して相互に接続された構成を有している。中継ユニット600は、第1種プリンタ810と第2種プリンタ820を選択的に接続可能である。第1種プリンタ810はUSBデバイスとして機能するプリンタであり、第2種プリンタ820はUSBホストとして機能するプリンタである。USB端子を示す矩形内に記載された文字「H」はホスト端子を意味し、「D」はデバイス端子を意味する。これらのプリンタ810,820自体はUPnPプロトコルに非対応であるが、中継ユニット600がUPnPプロトコルに従った処理を実行する。従って、中継ユニット600とプリンタ810又は820とで構成される装置900は、UPnP対応のネットワーク装置として機能することができる。LANは、IEEE802.3のような有線ネットワークでも、IEEE802.11b/g/aなどの無線ネットワークでもよい。デジタルカメラ110と、デジタルTVセット120とは、UPnP対応のネットワーク装置である。デジタルカメラ110とTVセット120は、UPnPアーキテクチャにおけるコントロールポイント110C,120Cを備えている。UPnPアーキテクチャ及びコントロールポイントについては後述する。パーソナルコンピュータ100と画像サーバ130もこのネットワークシステムの構成要素の1つであるが、UPnPには対応していない。
【0022】
パーソナルコンピュータ100は、プリンタドライバ100Dを用いて画像の印刷データを作成し、LANを介してこの印刷データを中継ユニット600を介してプリンタ810又は820に転送して印刷を実行させる機能を有している。この印刷処理の際には、プリンタ810又は820は通常のネットワークプリンタとして機能する。一方、コントロールポイント(例えば110C)からの要求に従って印刷を行う場合には、プリンタ810又は820と中継ユニット600とで構成されるネットワーク装置900がUPnP対応のプリンタデバイスとして機能する。
【0023】
中継ユニットは、MFPサーバ300と、MFPデバイス制御ユニット700とを有している。MFPサーバ300は、LAN上の他の装置とMFPデバイス制御ユニット700との間で交換されるメッセージを仲介するネットワークプロトコル制御部302としての機能を有している。後述するように、MFPサーバ300は、典型的な場合において、メッセージの転送の際にメッセージヘッダに関してUPnPのプロトコルを解釈するが、メッセージボディの解釈や処理は行わない。
【0024】
MFPデバイス制御ユニット700は、クライアントからの要求に従ってプリンタ810又は820を制御するデバイス制御部702としての機能を有している。
【0025】
MFPサーバ300とMFPデバイス制御ユニット700との間は、USB(Universal Serial Bus)で接続されており、また、MFPデバイス制御ユニット700とプリンタ810又は820との間もUSBで接続されている。但し、USB以外の他の各種の物理的インタフェースを利用することも可能である。また、MFPサーバ300とMFPデバイス制御ユニット700との間は、UPnPプロトコルとは異なる通信プロトコルで接続することが可能である。
【0026】
プリンタ810又は820は、プリンタ以外のサービスを提供する複合機として構成することも可能である。一般に、中継ユニット600に接続されるユニットを「デバイスユニット」と呼ぶ。デバイスユニットは、少なくとも1つのサービスデバイスを有していれば良く、一般には、N個(Nは1以上の整数)のサービスデバイスを有するものとして構成される。
【0027】
コントロールポイント110C,120CがUPnPプロトコルに従って印刷要求メッセージ(例えばXHTML-printデータ)をネットワーク装置900に送信すると、MFPデバイス制御ユニット700がこの印刷要求メッセージを解釈し、現実に接続されているプリンタが適合する汎用規格に従ったプリンタ用データに変換して、プリンタ810又は820に送信する。プリンタ用データは、RGBデータやJPEGデータのような画像表示に用いられるデータを含んでいることが好ましい。プリンタ810又は820は、受け取ったプリンタ用データに対して色変換やハーフトーン処理を実行して印刷データを作成し、この印刷データに従って印刷を実行する。「印刷データ」とは、プリンタで使用される各インク毎にインクドットの形成状態を表すデータであり、画像表示に用いられるデータ(RGBデータやJPEGデータ)とは明確に区別される。なお、印刷要求メッセージとしては、XHTML-printデータ以外のフォーマットのメッセージを使用するようにしてもよい。一般には、マークアップ言語を用いて印刷対象画像が記述された印刷要求メッセージを使用することが可能である。
【0028】
UPnPは、ネットワーク装置を任意のタイミングでネットワークに接続したり、ネットワークから切断したりすることを実現するアーキテクチャである。UPnPネットワークは、コントロールポイント110C,120Cと、サービスデバイス810又は820とで構成される。ここで、「サービスデバイス」とは、サービスを提供する装置を意味している。本明細書においては、特に断らない限り、「デバイス」と「サービスデバイス」は同義語として使用されている。「コントロールポイント」は、ネットワーク上の他のデバイスを検出したり制御したりするコントローラを意味しており、サービスデバイスに対するクライアントとして機能する。UPnP対応のネットワーク装置が有する各種の機能については後述する。
【0029】
図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ネットワークへ通信するための無線通信回路)を接続可能である。
【0030】
MFPデバイス制御ユニット700は、中央制御部(CPU)410と、RAM420と、ROM430と、第1のUSBデバイス制御部460と、USBホスト制御部510と、第2のUSBデバイス制御部520とを有している。第1のUSBデバイス制御部460は、USBコネクタ462を介してMFPサーバ300のUSBホスト制御部350に接続されている。USBホスト制御部510は、ルートハブ512を有しており、ルートハブ512にはUSBコネクタ514(USBホスト端子)が設けられている。このコネクタ514には、第1種プリンタ810がが接続可能である。第2のUSBデバイス制御部520はコネクタ524(USBデバイス端子)を有しており、このコネクタ524には第2種プリンタ820が接続可能である。なお、中継ユニット600は、第1種プリンタ810と第2種プリンタ820のいずれか一方のみが選択的に接続できるようにするための機構(例えば移動可能な端子カバー)を有することが好ましい。中継ユニット600とデバイスユニット810又は820の間は、複数の用途のために複数の論理チャンネルで接続されることが好ましい。但し、論理チャンネルの詳細については説明を省略する。
【0031】
MFPサーバ300の中央制御部310とネットワーク制御部340とUSBホスト制御部350は、図1におけるネットワークプロトコル制御部302としての機能を実現する。より具体的には、ネットワーク制御部340は、各種のネットワークプロトコルに従ってメッセージの送受信を行う。また、中央制御部310は、UPnPのプロトコルを解釈して転送先を決定する。USBホスト制御部350は、MFPデバイス制御ユニット700との間でメッセージを転送する。これらの制御部310,340,350は、メッセージボディの解釈や処理は行わずにメッセージを転送している。
【0032】
MFPデバイス制御ユニット700のUSBデバイス制御部460は、USBの転送プロトコルに従ってメッセージの送受信を行う。また、中央制御部410は、MFPサーバ300を介して転送されたメッセージの内容を解釈し、メッセージの内容に応じた処理を実行して制御データを作成し、その制御データをデバイスユニット810又は820に転送するデバイス制御部702(図1)としての機能を実現する。デバイスユニット810,820の動作は、この制御データに従って制御される。なお、MFPサーバ300とMFPデバイス制御ユニット700を分離せずに、1つのユニットによってMFPサーバ300とMFPデバイス制御ユニット700の両方の機能を実現するようにしてもよい。
【0033】
ところで、UPnPデバイスアーキテクチャは、HTTPMUや、HTTPU,SOAP/HTTP,HTTPなどの各種のプロトコルに従って構成されている。UPnPは、これらのプロトコルを用いて、以下のような各種の処理を実現している。
【0034】
(1)アドレッシング:
UPnPデバイス(以下、単に「デバイス」と呼ぶ)がネットワークに接続すると、アドレッシングによってネットワークアドレス(IPアドレス)を取得する。アドレッシングには、DHCPサーバまたはAuto-IPが利用される。ネットワークにDHCPサーバが設けられている場合には、デバイスはDHCPサーバによって割り当てられるIPアドレスを使用する。DHCPサーバが無い場合には、Auto-IPと呼ばれる自動IPアドレッシング機能を用いて、デバイスが自分のアドレスを決定する。なお、本実施例では、中継ユニット600とデバイスユニット810又は820とで構成されるネットワーク装置900に対して1つのIPアドレスのみが割り当てられ、この装置900全体が単一のネットワーク装置として認識される。
【0035】
(2)ディスカバリ(検出):
ディスカバリは、コントロールポイントが、デバイスがどこにいるかを見つけ出す処理である。ディスカバリは、コントロールポイントがディスカバリメッセージをマルチキャストすることによって実現することができ、あるいは、デバイスがネットワークに参加したときに、その旨をコントロールポイントにアドバタイズすることによっても実現できる。ディスカバリは、HTTPMU/SSDPやHTTPU/SSDPを用いて行われる。ディスカバリの結果、コントロールポイントとデバイスがピアツーピアで処理を進められるようになる。
【0036】
(3)ディスクリプション:
デバイスの構成の詳細は、デバイスディスクリプションとしてXMLで記述されている。また、デバイスのサービスの詳細は、サービスディスクリプションとしてXMLで記述されている。これらのディスクリプションは、デバイスによって所有されており、コントロールポイントに提供される。コントロールポイントは、これらのディスクリプションを参照することによって、デバイスやサービスの詳細を知ることができる。
【0037】
(4)コントロール:
コントロールは、コントロールポイントが、アクション要求を含む制御メッセージをデバイスに転送して、デバイスの制御を行う処理である。コントロールは、HTTP/SOAPを用いて行われる。
【0038】
(5)イベント:
所定のイベントが発生すると、デバイス内のサービスが、コントロールポイントにイベントの発生を通知する。イベント発生の通知を受けるコントロールポイントは、そのサービスに「サブスクライブ(購読)」する。イベントは、サブスクライブしているコントロールポイントに転送される。イベントの通知は、HTTP/GENAを用いて行われる。
【0039】
(6)プレゼンテーション:
プレゼンテーションは、デバイスディスクリプションに登録されているプレゼンテーション用のURLからコントロールポイントがHTMLで記述されたプレゼンテーション用ページを取得する処理である。このプレゼンテーションによって、例えばコントロールポイントがデバイスの各種の状態を表示することができる。
【0040】
なお、本発明はUPnPの将来のバージョンにも適用可能である。また、ネットワーク型プラグアンドプレイとして、アドレッシング(自動的なIPアドレス決定)と、デバイスのディスカバリにより、任意のコントロールポイントとデバイスとがピアツーピアで通信が可能で、コントロールポイントとデバイスがメッセージの交換を行うアーキテクチャであれば、UPnP以外のネットワーク型プラグアンドプレイ仕様にも本発明を適用することが可能である。
【0041】
図3は、UPnPアーキテクチャを利用した処理の典型例を示すシーケンス図である。ここでは、コントロールポイント110Cと、MFPサーバ300と、MFPデバイス制御ユニット700の間でメッセージが転送される場合を示している。実際には、MFPデバイス制御ユニット700とデバイスユニット810又は820との間において、制御データやステータス情報が交換されているが、図3では便宜上、図示が省略されている。ステップ[1]では、コントロールポイント110CがHTTPのリクエストメッセージF1をMFPサーバ300に転送する。メッセージF1のヘッダには、リクエスト命令のメソッド(POSTやGETなど)と、ネットワーク装置900(図1)内の宛先を示すURIと、ネットワーク装置900のホスト名(この例ではIPアドレス”169.254.100.100”)とが記述されている。なお、IPアドレスは、ネットワーク装置900に1つだけが割り当てられるので、このIPアドレスは、MFPサーバ300のIPアドレス、又は、MFPデバイス制御ユニット700のIPアドレス、又は、デバイスユニット810又は820のIPアドレスと考えることも可能である。
【0042】
ステップ[2]では、MFPサーバ300が、リクエストメッセージF1を解析する。ここで解析(解釈)されるのは、メッセージF1のヘッダ部分だけであり、送信データ(すなわちメッセージボディ)の内容の解釈は行わない。より具体的には、ステップ[2]において、メッセージF1のURIが解析され、MFPデバイス制御ユニット700に対してどの論理チャンネルを用いてメッセージを転送すべきかが判定される。なお、メッセージF1には、実質的なメッセージボディが無いものも存在する。
【0043】
ステップ[3]では、MFPサーバ300が、URIとメッセージボディ(存在する場合)とを含むメッセージF2を、USBでMFPデバイス制御ユニット700に転送する。この転送の際には、URIに応じて選択された論理チャンネルが利用される。
【0044】
ステップ[4]では、MFPデバイス制御ユニット700が、受信したメッセージF2内のURI及びメッセージボディ(存在する場合)に応じて処理を実行する。具体的には、例えば、MFPデバイス制御ユニット700が、メッセージボディの内容を解釈してデバイスユニット810又は820の制御データを作成し、この制御データをデバイスユニット810又は820に転送して動作させる。ステップ[5]では、MFPデバイス制御ユニット700が、レスポンスデータを含むメッセージR1をUSBでMFPサーバ300に転送する。ステップ[6]では、MFPサーバ300が送信データにHTTPヘッダを付加する。このHTTPヘッダは、HTTPリクエストの処理結果を示すステータスコードを含んでいる。例えば、処理結果がOKであればステータスコードが”200”に設定され、エラーであれば”500”に設定される。ステップ[7]では、こうして作成されたHTTPのレスポンスメッセージR2がMFPサーバ300からコントロールポイント110Cに転送される。
【0045】
このように、本実施例では、MFPサーバ300は、コントロールポイントから受信したリクエストメッセージのうちで、ヘッダの解析(解釈)は行うが、メッセージボディの内容の解釈は行わず、メッセージボディはMFPデバイス制御ユニット700によって処理される。この構成には以下のような利点がある。第1の利点は、MFPサーバ300が、デバイスユニットのデバイス構成とサービスの内容を把握する必要が無く、任意の構成を有するデバイスユニット宛に送られたメッセージを転送するためのネットワークプロトコル制御部として機能することができる点である。第2の利点は、デバイスユニットのデバイス構成やサービスの内容が変更されても、MFPサーバ300の構成や機能を変更する必要が無い点である。第3の利点は、MFPサーバ300にメッセージボディの内容の解釈を行う解釈部(パーサ)を実装する必要が無いので、MFPサーバ300の構成が単純で済む点である。
【0046】
C.プリンタ用データ変換モジュールの構成と処理シーケンス:
図4は、デバイス制御部702内に実装される2つのデータ変換モジュール710,720の構成を示す説明図である。図3(A)に示す第1のデータ変換モジュール710は第1種プリンタ810用であり、図3(B)に示す第2のデータ変換モジュール720は第2種プリンタ820用である。なお、2つのモジュール710,720の機能を1つのモジュールで実現するようにしてもよい。
【0047】
第1のデータ変換モジュール710は、印刷要求メッセージ受信部712と、RGBデータ生成部714と、プリンタ用RGBデータエンコーダ716と、データ送信部718とを有している。印刷要求メッセージ受信部712は、クライアント(すなわちコントロールポイント)から供給されたXHTML-printデータを受信する。RGBデータ生成部714は、このXHTML-printデータを解析し、印刷対象画像のレイアウトを行い、印刷対象画像をページ毎に表すRGBデータを生成する。なお、XHTML-printデータ内で画像データが参照されている場合には、RGBデータ生成部714がその参照先から画像データを取得する処理も実行する。エンコーダ716は、このRGBデータを、第1種プリンタ810に適したフォーマットのプリンタ用RGBデータに変換する。なお、第1種プリンタ810としては、汎用規格であるESC/P−R規格に適合したプリンタを使用することができる。すなわち、ESC/P−R規格に適合したプリンタは、RGBデータを含むプリンタ用データ(ESC/P−Rデータ)を受信し、これに応じて印刷を実行することが可能である。
【0048】
第2のデータ変換モジュール720は、印刷要求メッセージ受信部722と、RGBデータ生成部724と、プリンタ用JPEGデータエンコーダ726と、データ送信部728とを有している。なお、印刷要求メッセージ受信部722とRGBデータ生成部724は、第1のデータ変換モジュール710におけるものと同じものを使用することができる。エンコーダ726は、RGBデータを、第2種プリンタ820に適したフォーマットのプリンタ用JPEGデータに変換する。なお、第2種プリンタ820としては、汎用規格であるPictBridge規格(PictBridgeはカメラ映像機器工業会(CIPA)の商標)に適合したプリンタを使用することができる。すなわち、PictBridge規格に適合したプリンタは、JPEGデータを含むプリンタ用データを受信し、これに応じて印刷を実行することが可能である。
【0049】
図5は、中継ユニット600へのプリンタの接続と印刷実行のシーケンスを示すシーケンス図である。
【0050】
ステップ[1]では、プリンタ810又は820と中継ユニット600との接続が確立されたことがMFPデバイス制御ユニット700によって検出される。ここで、「接続の確立」とは、ケーブルやコネクタの物理的な接続が開始される場合のみでなく、ケーブルの物理的な接続が維持された状態で両方の装置700,810(又は820)が起動した場合も含む広い意味を有している。また、無線接続の場合の「接続の確立」とは、2つの装置700,810(又は820)間の認証が終了して実体データの交換が可能になったことを意味する。なお、接続時には、プリンタからMFPデバイス制御ユニット700にデバイスIDが供給される。
【0051】
ステップ[2]では、MFPデバイス制御ユニット700が、第1種プリンタ810と第2種プリンタ820のいずれが接続されたかを判定する。この判定は、プリンタの接続に使用されたUSB端子のタイプ(ホスト端子かデバイス端子か)に応じて行うことができる。また、第1種プリンタ810が接続されている場合には、ステップ[1]で供給されたデバイスIDの中に第1種プリンタ用の規格(例えばESC/P-R規格)に適合するものであることを示す文字列が含まれていることが好ましい。このときには、このデバイスIDから、第1種プリンタ用の規格に準拠していることを判別することができる。第2種プリンタ820が接続されている場合には、MFPデバイス制御ユニット700は、ステップ[3]において、中継ユニット600がUSB規格のSICDクラス(静止画取り込み装置)として機能することをプリンタ820に通知する。この場合には、第2種プリンタ820は、プリンタ820にデジタルカメラが接続されているものと認識し、これに応じた印刷処理を実行する。すなわち、第2種プリンタ820は、JPEGデータなどの表示用画像データを受け取ると、これに応じて印刷を実行する。
【0052】
プリンタが接続されると、MFPデバイス制御ユニット700は、ステップ[4]において、MFPサーバ300にリセット要求を送信する。MFPサーバ300は、ステップ[5]において、リセット要求のレスポンスとしてシャットダウン通知をMFPデバイス制御ユニット700に送信する。ステップ[6]では、MFPサーバ300がByeBye通知をコントロールポイントにマルチキャストする。シャットダウン通知は、MFPサーバ300が再起動を行う旨を通知するための通知である。また、ByeBye通知は、UPnPプロトコルにおいて、MFPデバイスがネットワークから離脱することをすべてのコントロールポイントに通知するための通知である。MFPサーバ300がByeBye通知をマルチキャストして再起動を行う理由は、UPnP規格において、デバイスディスクリプションを再作成する際にこれらの動作を行うものと定められているからである。この後、MFPサーバ300が再起動する。なお、MFPサーバ300とともにMFPデバイス制御ユニット700も再起動するものとしてもい。なお、ステップ[4]〜[6]及びMFPサーバ300の再起動は省略することも可能である。
【0053】
図5のステップ[7]では、MFPサーバ300がMFPデバイス制御ユニット700にデバイス情報を要求する。このデバイス情報の要求は、MFPサーバ300の起動時に行われる処理であり、UPnP対応のネットワーク装置900が有するデバイスの個数と、サービスの個数と、各デバイスのデバイスタイプと、各サービスのサービスタイプと、提供可能なサービスの内容(すなわちデバイス能力)とを含む各種のデバイス情報を、MFPサーバ300が取得するために行われる。ステップ[8]では、MFPデバイス制御ユニット700が、このデバイス情報要求をプリンタ810(又は820)に転送する。プリンタ810又は820は、この要求に応じてデバイス能力情報を含む各種のデバイス情報を返信し(ステップ[9])、MFPデバイス制御ユニット700はこのデバイス情報をMFPサーバ300に転送する(ステップ[10])。
【0054】
図5の例では、その後のステップ[11]において、コントロールポイント120CからM-Search要求がマルチキャストされている。M-Search要求は、UPnPプロトコルにおいてコントロールポイントがデバイスを検索するために発行するものである。この要求に対しては、ネットワークに接続されている全てのUPnP対応ネットワーク装置が、要求発行元のコントロールポイント120Cにレスポンスを返す(ステップ[12])。
【0055】
ステップ[13]では、コントロールポイント120Cが、ネットワーク装置900に対して印刷ジョブメッセージを送信する。この印刷ジョブメッセージは、XHTML-printデータで構成されている。なお、印刷ジョブメッセージを「印刷要求メッセージ」とも呼ぶ。MFPサーバ300がこの印刷ジョブメッセージをMFPデバイス制御ユニット700に転送すると(ステップ[14])、MFPデバイス制御ユニット700内でデータ変換が行われる(ステップ[15])。すなわち、中継ユニット600に第1種プリンタ810が接続されている場合には、第1種プリンタ用のデータ変換モジュール710(図4(A))が、XHTML-printデータを解析してプリンタ用RGBデータを作成する。一方、中継ユニット600に第2種プリンタ820が接続されている場合には、第2種プリンタ用のデータ変換モジュール720(図4(B))が、XHTML-printデータを解析してプリンタ用JPEGデータを作成する。こうして作成されたプリンタ用データは、プリンタ810又は820に送信され(ステップ[16])、このプリンタ用データに従って印刷が実行される(ステップ[17])。
【0056】
印刷が終了すると、その旨がプリンタ810(又は820)からMFPデバイス制御ユニット700に返信され(ステップ[18])、MFPサーバ300を経由して印刷要求元のコントロールポイント120Cまでレスポンスが返信される(ステップ[19],[20])。なお、印刷の終了を待たずに、ステップ[18]〜[20]のレスポンスが返されるようにしてもよい。
【0057】
このように、本実施例では、中継ユニット600とプリンタとの接続時に、第1種プリンタ810と第2種プリンタ820のいずれが接続されたかを判定し、現実に接続されたプリンタが適合する汎用規格に従ったプリンタ用データがXHTMLデータから作成される。従って、第1種プリンタ810と第2種プリンタ820のどちらが接続されている場合にも、それぞれに適したプリンタ用データをプリンタに供給して印刷を実行することが可能である。また、第1種プリンタ810と第2種プリンタ820は、いずれも汎用規格に従ったプリンタ用データを受入可能なので、中継ユニット600内において、個々のプリンタ機種に依存する印刷データ(インク色毎のドットデータ)に変換する必要が無い。このため、中継ユニット600としては、汎用規格に従ったプリンタ用データを作成するモジュール710,720(図4)を実装するだけで良いので、中継ユニット600の実装が容易であるという利点がある。
【0058】
D.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0059】
D1.変形例1:
中継ユニット600に接続されるデバイスユニットとしては、複数のデバイスを含むデバイスユニットを用いることも可能である。また、プリンタ以外の1つのデバイス(例えばマスストレージ)のみを含むデバイスユニットを使用することも可能である。例えば、マスストレージクラスのデバイスのみを有するデバイスユニットが中継ユニット600に接続されている場合に、印刷要求メッセージを、所定の汎用規格に従ったプリンタ用データ(例えばJPEGデータ)に変換し、このプリンタ用データを中継ユニット600からマスストレージデバイスに送信して格納するようにしてもよい。この説明からも理解できるように、中継ユニット600は、マークアップ言語を用いて印刷対象画像が記述された印刷要求メッセージをクライアントから受け取ったときに、現実に接続されているデバイスユニットが受入可能な汎用規格に従ったプリンタ用データを作成してそのデバイスユニットに供給するように構成されていることが好ましい。なお、本明細書において、「汎用規格」とは、製造者独自の規格でなく、複数の製造者が共通に採用している規格(又は標準)を意味している。汎用規格としては、公的規格のみでなく、業界標準(デファクト・スタンダード)も含まれている。
【0060】
D2.変形例2:
上記実施例では、中継ユニット600に2種類のデバイスユニット810,820のいずれでも選択的に接続できるものとしたが、1種類のデバイスユニット(例えば第1種プリンタ810)のみが接続できるものとして中継ユニット600を構成してもよい。この場合にも、現実に接続されるデバイスユニットが受入可能なプリンタ用データを中継ユニット600内で作成できるようにすれば、接続されるデバイスユニットの種別に応じてMFPデバイス制御ユニット700の実装を変更しないで済むという利点がある。
【0061】
D3.変形例3:
上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【図面の簡単な説明】
【0062】
【図1】本発明の実施例を適用するネットワークシステムの構成を示す概念図である。
【図2】中継ユニット内のMFPサーバとMFPデバイス制御ユニットの内部構成を示すブロック図である。
【図3】UPnPアーキテクチャを利用した処理の典型例を示すシーケンス図である。
【図4】デバイス制御部内に実装される2つのデータ変換モジュールの構成を示す説明図である。
【図5】中継ユニットへのプリンタの接続と印刷実行のシーケンスを示すシーケンス図である。
【符号の説明】
【0063】
100…パーソナルコンピュータ
100D…プリンタドライバ
110…デジタルカメラ
110C…コントロールポイント
120…デジタルTVセット
120C…コントロールポイント
130…画像サーバ
300…MFPサーバ
302…ネットワークプロトコル制御部
310…中央制御部
320…RAM
330…ROM
340…ネットワーク制御部
342…コネクタ
350…USBホスト制御部
352…ルートハブ
354,356…USBコネクタ
400…MFPデバイスユニット
410…中央制御部
420…RAM
430…ROM
460…USBデバイス制御部
462…USBコネクタ(デバイス端子)
510…USBホスト制御部
512…ルートハブ
514…USBコネクタ(ホスト端子)
520…USBデバイス制御部
524…コネクタ(デバイス端子)
600…中継ユニット
700…MFPデバイス制御ユニット
702…デバイス制御部
710…データ変換モジュール
712…印刷要求メッセージ受信部
714…RGBデータ生成部
716…プリンタ用RGBデータエンコーダ
718…データ送信部
720…データ変換モジュール
722…印刷要求メッセージ受信部
724…RGBデータ生成部
726…プリンタ用JPEGデータエンコーダ
728…データ送信部
810…第1種プリンタ
820…第2種プリンタ
900…ネットワーク装置

【特許請求の範囲】
【請求項1】
ネットワーク上のクライアントからの要求に応じてサービスを提供する1つ以上のサービスデバイスを有するデバイスユニットと、前記ネットワークとの間を中継するためのネットワーク型プラグアンドプレイに対応したネットワーク中継装置であって、
マークアップ言語を用いて印刷対象画像が記述された印刷要求メッセージをクライアントから受け取ったときに、前記印刷要求メッセージをデバイスユニット用データに変換して前記デバイスユニットに供給するデータ変換モジュールを備え、
前記データ変換モジュールは、前記デバイスユニット用データとして、デバイスユニットが受入可能な汎用規格に従ったプリンタ用データを作成することを特徴とするネットワーク中継装置。
【請求項2】
請求項1記載のネットワーク中継装置であって、
前記デバイスユニットは、プリンタとしての機能を有しており、
前記データ変換モジュールは、前記印刷要求メッセージをクライアントから受け取ったときに、前記プリンタ用データとして、前記プリンタが適合する汎用規格に従ったプリンタ用データを作成する、ネットワーク中継装置。
【請求項3】
請求項2記載のネットワーク中継装置であって、さらに、
USBデバイスとして機能する第1種のプリンタが接続されるUSBホスト端子と、USBホストとして機能する第2種のプリンタが接続されるUSBデバイス端子と、を備え、
前記データ変換モジュールは、
(i)前記USBホスト端子とUSBデバイス端子のいずれにプリンタが接続されているかに応じて、前記第1種と第2種のプリンタのいずれが前記ネットワーク中継装置に接続されているかを判別し、
(ii)前記ネットワーク中継装置に前記第1種プリンタが接続されているときには第1の汎用規格に従ったプリンタ用データを作成し、前記第2種プリンタが接続されているときには前記第1の汎用規格とは異なる第2の汎用規格に従ったプリンタ用データを作成する、ネットワーク中継装置。
【請求項4】
請求項3記載のネットワーク中継装置であって、
前記第1の汎用規格に従ったプリンタ用データは、RGBデータを含み、
前記第2の汎用規格に従ったプリンタ用データは、JPEGデータを含む、ネットワーク中継装置。
【請求項5】
請求項4記載のネットワーク中継装置であって、
前記ネットワーク中継装置に前記第2種のプリンタが接続されている場合には、前記ネットワーク中継装置はUSB規格上の静止画取り込み装置として機能する、ネットワーク中継装置。
【請求項6】
請求項1ないし5のいずれかに記載のネットワーク中継装置であって、
前記データ変換モジュールを含み、前記デバイスユニットとの間で情報を交換することによって前記デバイスユニットを動作させるデバイス制御部と、
前記ネットワークと前記デバイス制御部との間に接続され、メッセージヘッダとメッセージボディとを有するメッセージを前記ネットワーク上のクライアントから受信するとともに、前記メッセージボディの情報を前記デバイス制御部に転送するネットワークプロトコル制御部と、
を備え、
前記ネットワークプロトコル制御部は、前記クライアントから受信した前記メッセージボディの内容を解釈すること無く前記ネットワーク型プラグアンドプレイのプロトコルに従って前記メッセージヘッダを解釈するとともに、前記ネットワーク型プラグアンドプレイのプロトコルとは異なる通信プロトコルに従って前記メッセージボディを前記デバイス制御部に送信し、
前記デバイス制御部は、前記ネットワークプロトコル制御部から受信した前記メッセージボディの内容を解釈するとともに、前記解釈の結果に応じて前記サービスデバイスにサービスを実行させる、ネットワーク中継装置。
【請求項7】
ネットワーク型プラグアンドプレイプロトコルに従って、ネットワーク上のクライアントからの要求に応じてサービスを提供する1つ以上のサービスデバイスを有するデバイスユニットと、前記ネットワークとの間を中継する方法であって、
(a)マークアップ言語を用いて印刷対象画像が記述された印刷要求メッセージをクライアントから受け取る工程と
(b)前記印刷要求メッセージをデバイスユニット用データに変換する工程と、
(c)前記デバイスユニット用データを前記デバイスユニットに供給する工程と、
を備え、
前記工程(b)は、前記デバイスユニット用データとして、デバイスユニッが受入可能な汎用規格に従ったプリンタ用データを作成する工程を含むことを特徴とする方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2007−188255(P2007−188255A)
【公開日】平成19年7月26日(2007.7.26)
【国際特許分類】
【出願番号】特願2006−5229(P2006−5229)
【出願日】平成18年1月12日(2006.1.12)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】