(57)【要約】【課題】  ネットワークに接続された他のデバイスが提供するサービスを利用することにより、提供するサービスを高度化する出力デバイス、出力方法、出力プログラム、入力デバイス、入力方法、入力プログラム、入力システム及びデータ処理システムを提供する。【解決手段】  ネットワークを通じて出力サービスの依頼を受ける第一手段と、依頼された前記出力サービスの提供に必要なデータ処理サービスの提供を前記ネットワークを通じて受ける第二手段と、依頼された前記出力サービスを、前記データ処理サービスで提供されたデータに基づいて直接知覚可能に提供する第三手段と、を備えることを特徴とする出力デバイス。【選択図】    図１
2005293358.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを通じて出力サービスの依頼を受ける第一手段と、
依頼された前記出力サービスの提供に必要なデータ処理サービスの提供を前記ネットワークを通じて受ける第二手段と、
依頼された前記出力サービスを、前記データ処理サービスで提供されたデータに基づいて直接知覚可能に提供する第三手段と、
を備えることを特徴とする出力デバイス。
【請求項２】
前記データ処理サービスを提供しているデバイスを検出する第四手段と、
前記ネットワークに接続されたデバイスに前記第四手段によって検出された前記データ処理サービスを含む前記出力サービスを通知する第五手段とをさらに備え、
前記第二手段は、前記第四手段によって検出された前記デバイスから前記データ処理サービスの提供を受けることを特徴とする請求項１に記載の出力デバイス。
【請求項３】
前記出力サービスは、所定の媒体に画像を形成する処理であることを特徴とする請求項１又は２に記載の出力デバイス。
【請求項４】
ネットワークを通じて出力サービスの依頼を受けるステップと、
依頼された前記出力サービスの提供に必要なデータ処理サービスの提供を前記ネットワークを通じて受けるステップと、
依頼された前記出力サービスを、前記データ処理サービスで提供されたデータに基づいて直接知覚可能に提供するステップと、
を含むことを特徴とする出力方法。
【請求項５】
ネットワークを通じて出力サービスの依頼を受ける第一手段と、
依頼された前記出力サービスの提供に必要なデータ処理サービスの提供を前記ネットワークを通じて受ける第二手段と、
依頼された前記出力サービスを、前記データ処理サービスで提供されたデータに基づいて直接知覚可能に提供する第三手段と、
して出力デバイスを機能させるコンピュータプログラム。
【請求項６】
ネットワークを通じて出力サービスの依頼を受ける第一手段と、
依頼された前記出力サービスの提供に必要なデータ処理サービスの提供を前記ネットワークを通じて受ける第二手段と、
依頼された前記出力サービスを、前記データ処理サービスで提供されたデータに基づいて直接知覚可能に提供する第三手段と、
して出力デバイスを機能させるコンピュータプログラムが記録された記録媒体。
【請求項７】
所定のデータ処理サービスをネットワークを通じて提供している第一デバイスと、
出力サービスの依頼を前記ネットワークを通じて受け付け、前記第一デバイスから前記ネットワークを通じて前記データ処理サービスの提供を受け、依頼された前記出力サービスを前記データ処理サービスで提供されたデータに基づいて直接知覚可能に提供する第二デバイスと、
を備えることを特徴とするデータ処理システム。
【請求項８】
ネットワークを通じて入力サービスの依頼を受ける第一手段と、
依頼された前記入力サービスの一部に相当する処理であって直接知覚可能な情報を入力する処理を行う第二手段と、
入力された前記情報を表すデータに対するデータ処理サービスの提供を前記ネットワークを通じて受ける第三手段と、
依頼された前記入力サービスを、前記データ処理サービスで提供されたデータに基づいて提供する第四手段と、
を備えることを特徴とする入力デバイス。
【請求項９】
前記データ処理サービスを提供しているデバイスを検出する第五手段と、
前前ネットワークに接続されたデバイスに前記第五手段によって検出された前記データ処理サービスを含む前記入力サービスを通知する第六手段とをさらに備え、
前記第二手段は、前記第四手段によって検出された前記デバイスから前記データ処理サービスの提供を受けることを特徴とする請求項９に記載の入力デバイス。
【請求項１０】
前記入力サービスは、光学像を変換して画像データを生成し、生成した前記画像データを出力する処理であることを特徴とする請求項９又は１０に記載の入力デバイス。
【請求項１１】
ネットワークを通じて入力サービスの依頼を受けるステップと、
依頼された前記入力サービスの一部に相当する処理であって直接知覚可能な情報を入力する処理を行うステップと、
入力された前記情報を表すデータに対するデータ処理サービスの提供を前記ネットワークを通じて受けるステップと、
依頼された前記入力サービスを、前記データ処理サービスで提供されたデータに基づいて提供するステップと、
を含むことを特徴とする入力方法。
【請求項１２】
ネットワークを通じて入力サービスの依頼を受ける第一手段と、
依頼された前記入力サービスの一部に相当する処理であって直接知覚可能な情報を入力する処理を行う第二手段と、
入力された前記情報を表すデータに対するデータ処理サービスの提供を前記ネットワークを通じて受ける第三手段と、
依頼された前記入力サービスを、前記データ処理サービスで提供されたデータに基づいて提供する第四手段と、
をして入力デバイスを機能させる入力プログラム。
【請求項１３】
ネットワークを通じて入力サービスの依頼を受ける第一手段と、
依頼された前記入力サービスの一部に相当する処理であって直接知覚可能な情報を入力する処理を行う第二手段と、
入力された前記情報を表すデータに対するデータ処理サービスの提供を前記ネットワークを通じて受ける第三手段と、
依頼された前記入力サービスを、前記データ処理サービスで提供されたデータに基づいて提供する第四手段と、
として入力デバイスを機能させる入力プログラムが記録された記録媒体。
【請求項１４】
所定のデータ処理サービスをネットワークを通じて提供している第一デバイスと、
入力サービスの依頼を前記ネットワークを通じて受け付け、依頼された前記入力サービスの一部に相当する処理であって直接知覚可能な情報を入力する処理を行い、入力された前記情報を表すデータに対するデータ処理サービスの提供を前記第一デバイスから前記ネットワークを通じて受け、依頼された前記入力サービスを、前記データ処理サービスで提供されたデータに基づいて提供する第二デバイスと、
を備えることを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力デバイス及び入力デバイスに関し、特にネットワークに接続して利用される出力デバイス及び入力デバイスに関する。
【背景技術】
【０００２】
近年、オフィス及び家庭では、プリンタ、プロジェクタ、テレビジョンモニタ、ディジタルオーディオシステム等の種々の出力デバイスがＬＡＮ（Local Area Network）等のネットワークで接続された状態で利用されるようになっている。
また近年、ネットワークで接続された種々のデバイスの制御プロトコルとしてUPnP（Universal Plug and Play）が提唱されている。UPnPでは、例えばコントロールポイントと呼ばれる制御デバイスでネットワークに接続された全てのデバイスを一元的に制御したり、ネットワークに接続された複数のデバイスが提供する異なるサービスを組み合わせた新たな機能を実現するために、複数のデバイスにサービスを依頼するシーケンスをコントロールポイントが制御したりすることができる。具体的には例えば、ハンドヘルドＰＣ等のコントロールポイントからスキャナに画像の読み取りを依頼し、スキャナで読み取られた画像が所定のストレージデバイスに格納されると、ハンドヘルドＰＣからその画像の印刷をプリンタに依頼することによって、コピーという新たな機能を実現することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、ネットワークに接続された他のデバイスが提供するサービスを利用することにより、提供するサービスを高度化する出力デバイス、出力方法、出力プログラム、入力デバイス、入力方法、入力プログラム、入力システム及びデータ処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するための出力デバイスは、ネットワークを通じて出力サービスの依頼を受ける第一手段と、前記出力サービスの提供に必要なデータ処理サービスの提供を前記ネットワークを通じて受ける第二手段と、依頼された前記出力サービスを、前記データ処理サービスで提供されたデータに基づいて直接知覚可能に提供する第三手段と、を備える。出力デバイスが出力サービスの依頼を受けたときに、その出力サービスの提供に必要なデータ処理サービスの提供を他のデバイスに依頼し、そのデータ処理サービスで提供されたデータに基づいて出力デバイスが出力サービスを完結させることにより、出力デバイスが提供する出力サービスを高度化することができる。尚、前記出力サービスは、例えば所定の媒体に画像を形成する処理である。
【０００５】
出力デバイスは、前記データ処理サービスを提供しているデバイスを検出する第四手段と、前記ネットワークに接続されたデバイスに前記第四手段によって検出された前記データ処理サービスを含む前記出力サービスを通知する第五手段とをさらに備え、前記第二手段は、前記第四手段によって検出された前記デバイスから前記データ処理サービスの提供を受けることが望ましい。他のデバイスが提供するデータ処理サービスの提供を受けて出力デバイスが提供している出力サービスを、データ処理サービスの検出結果に応じて他のデバイスに通知することにより、出力デバイス又はデータ処理サービスを提供するデバイスがネットワークと頻繁に接続又は切断される場合であっても、データ処理サービスを伴う出力サービスを他のデバイスで利用することが容易になる。
【０００６】
上記目的を達成するための出力方法は、ネットワークを通じて出力サービスの依頼を受けるステップと、依頼された前記出力サービスの提供に必要なデータ処理サービスの提供を前記ネットワークを通じて受けるステップと、依頼された前記出力サービスを、前記データ処理サービスで提供されたデータに基づいて直接知覚可能に提供するステップと、を含む。
【０００７】
上記目的を達成するためのコンピュータプログラムは、ネットワークを通じて出力サービスの依頼を受ける第一手段と、依頼された前記出力サービスの提供に必要なデータ処理サービスの提供を前記ネットワークを通じて受ける第二手段と、依頼された前記出力サービスを、前記データ処理サービスで提供されたデータに基づいて直接知覚可能に提供する第三手段と、して出力デバイスを機能させる。
【０００８】
上記目的を達成するための記録媒体には、ネットワークを通じて出力サービスの依頼を受ける第一手段と、依頼された前記出力サービスの提供に必要なデータ処理サービスの提供を前記ネットワークを通じて受ける第二手段と、依頼された前記出力サービスを、前記データ処理サービスで提供されたデータに基づいて直接知覚可能に提供する第三手段と、して出力デバイスを機能させるコンピュータプログラムが記録される。
【０００９】
上記目的を達成するためのデータ処理システムは、所定のデータ処理サービスをネットワークを通じて提供している第一デバイスと、出力サービスの依頼を前記ネットワークを通じて受け付け、前記第一デバイスから前記ネットワークを通じて前記データ処理サービスの提供を受け、依頼された前記出力サービスを前記データ処理サービスで提供されたデータに基づいて直接知覚可能に提供する第二デバイスと、を備える。
【００１０】
上記目的を達成するための入力デバイスは、ネットワークを通じて入力サービスの依頼を受ける第一手段と、依頼された前記入力サービスの一部に相当する処理であって直接知覚可能な情報を入力する処理を行う第二手段と、入力された前記情報を表すデータに対するデータ処理サービスの提供を前記ネットワークを通じて受ける第三手段と、依頼された前記入力サービスを、前記データ処理サービスで提供されたデータに基づいて提供する第四手段と、を備える。入力デバイスが入力サービスの依頼を受けたときに、その入力サービスの提供に必要なデータ処理サービスの提供を他のデバイスに依頼し、そのデータ処理サービスで提供されたデータに基づいて入力デバイスが入力サービスを完結させることにより、入力デバイスが提供する入力サービスを高度化することができる。尚、前記入力サービスは、例えば光学像を変換して画像データを生成し、生成した前記画像データを出力する処理である。
【００１１】
入力デバイスは、前記データ処理サービスを提供しているデバイスを検出する第五手段と、前記ネットワークに接続されたデバイスに前記第五手段によって検出された前記データ処理サービスを含む前記入力サービスを通知する第六手段とをさらに備え、前記第二手段は、前記第四手段によって検出された前記デバイスから前記データ処理サービスの提供を受けることが望ましい。他のデバイスが提供するデータ処理サービスの提供を受けて入力デバイスが提供している入力サービスを、データ処理サービスの検出結果に応じて他のデバイスに通知することにより、入力デバイス又はデータ処理サービスを提供するデバイスがネットワークと頻繁に接続又は切断される場合であっても、データ処理サービスを伴う入力サービスを他のデバイスで利用することが容易になる。
【００１２】
上記目的を達成するための入力方法は、ネットワークを通じて入力サービスの依頼を受けるステップと、依頼された前記入力サービスの一部に相当する処理であって直接知覚可能な情報を入力する処理を行うステップと、入力された前記情報を表すデータに対するデータ処理サービスの提供を前記ネットワークを通じて受けるステップと、依頼された前記入力サービスを、前記データ処理サービスで提供されたデータに基づいて提供するステップと、を含む。
【００１３】
上記目的を達成するための入力プログラムは、ネットワークを通じて入力サービスの依頼を受ける第一手段と、依頼された前記入力サービスの一部に相当する処理であって直接知覚可能な情報を入力する処理を行う第二手段と、入力された前記情報を表すデータに対するデータ処理サービスの提供を前記ネットワークを通じて受ける第三手段と、依頼された前記入力サービスを、前記データ処理サービスで提供されたデータに基づいて提供する第四手段と、をして入力デバイスを機能させる。
【００１４】
上記目的を達成するための記録媒体には、ネットワークを通じて入力サービスの依頼を受ける第一手段と、依頼された前記入力サービスの一部に相当する処理であって直接知覚可能な情報を入力する処理を行う第二手段と、入力された前記情報を表すデータに対するデータ処理サービスの提供を前記ネットワークを通じて受ける第三手段と、依頼された前記入力サービスを、前記データ処理サービスで提供されたデータに基づいて提供する第四手段と、として入力デバイスを機能させる入力プログラムが記録される。
【００１５】
上記目的を達成するためのデータ処理システムは、所定のデータ処理サービスをネットワークを通じて提供している第一デバイスと、入力サービスの依頼を前記ネットワークを通じて受け付け、依頼された前記入力サービスの一部に相当する処理であって直接知覚可能な情報を入力する処理を行い、入力された前記情報を表すデータに対するデータ処理サービスの提供を前記第一デバイスから前記ネットワークを通じて受け、依頼された前記入力サービスを、前記データ処理サービスで提供されたデータに基づいて提供する第二デバイスと、を備える。
【発明を実施するための最良の形態】
【００１６】
以下、出力デバイス、出力方法、出力プログラム、入力デバイス、入力方法、入力プログラム及びデータ処理システムについて、発明を実施するための最良の形態を図面に基づいて説明する。
本発明の実施例による出力デバイス及び入力デバイスは、図２に示すデータ処理システムを構成するUPnPネットワークに接続して使用される。知覚可能な出力サービスを提供する出力デバイスとしては、プリンタ４、オーディオプレーヤ６、プロジェクタ７、ＴＶ（Television）モニタ１０、図示しないディジタルピクチャフレーム等がある。知覚可能な情報を入力するサービスを提供する入力デバイスとしては、スキャナ３、ディジタルカメラ９、図示しないオーディオレコーダ等がある。また、これらの出力デバイスに出力サービスを依頼し、これらの入力デバイスに入力サービスを依頼するデバイスとしては、コントロールポイントとしてのＰＣ１、ワイヤレスハンドヘルドＰＣ２、図示しない携帯電話等がある。
【００１７】
図１は、本発明の実施例によるデータ処理システムのソフトウェアの構成を示すブロック図である。各デバイス間の通信は、Ethernet１７（Ethernetは登録商標である。）、TCP/IP１６及びHTTP１５の各プロトコルを介して行われる。UPnP Core１４は、UPnPデバイスアーキテクチャで定義されている各ステップを実行するモジュールである。UPnP Core１４はUPnPネットワークに接続される全てのデバイスに実装される。UPnP Core１４は、ＤＣＰ（Device Control Protocol）で定義されている全てのデバイスタイプで共通化することができる。
【００１８】
スキャナ３には、Scanner DA３０１、UPnP Scanner３０２及びScan Controller２１が実装される。
Scanner DA３０１は、スキャナのハードウェア３を直接制御するモジュールである。Scanner DA３０１は、スキャナのハードウェア３の仕様毎に設計される。Scanner DA３０１は、具体的には例えば原稿を照射する光源のオンオフ制御、原稿を読み取るリニアイメージセンサのシフトパルス等の駆動信号の制御、リニアイメージセンサを原稿に対して移動させるキャリッジを駆動するモータの制御等を行うことによって、原稿の光学像を光電変換し画像データを出力する。
【００１９】
UPnP Scanner３０２は、Scanner DA３０１、UPnP Core14及びScan Controller２１と通信するモジュールである。UPnP Scanner３０２は、スキャナのハードウェア３の構成に依存せず、ＤＣＰに準拠して設計され、スキャナタイプのデバイス全てに共用され得る。UPnP Scanner３０２は、スキャナタイプのデバイスに固有のモジュール群とUPnP Core１４とのインタフェースとして機能し、ＤＣＰで規定されたアクション及び状態変数を含むメッセージを他のデバイスからUPnP Core１４等を介して受信し、受信したメッセージを解析してScanner DA３０１及びScan Controller２１の所定の機能を呼び出したり、Scanner DA３０１及びScan Controller２１の出力データを取得してUPnP Core１４等を介して他のデバイスに送信したりすることによってスキャンサービスを管理する。
【００２０】
Scan Controller２１はScanner DA３０１から出力されるスキャンデータの転送先を制御するモジュールである。Scan Controller２１は、スキャナのハードウェア３の構成に依存せず、スキャナタイプのデバイス全てに共用され得る。Scan Controller２１は例えばScanner DA３０１から出力されるスキャンデータをJPEG Engine２２に転送し、RAWデータフォーマットからJPEGフォーマットへの変換処理をJPEG Engine２２に依頼する。またScan Controller２１はJPEG Engine２２によってJPEGフォーマットに変換されたスキャンデータをUPnP Scanner３０２から指定されるアドレスに転送する。
【００２１】
プリンタ４には、Printer DA４０１及びUPnP Printer４０２が実装される。
Printer DA４０１は、印刷データに基づいてプリンタのハードウェア４を直接制御するモジュールである。Printer DA４０１は、プリンタのハードウェア４の仕様毎に設計される。Printer DA４０１は、具体的には例えばプリンタヘッドに搭載される圧電素子の制御、プリンタヘッドを往復移動させるモータの制御、用紙搬送機構の制御等を印刷データに基づいて行う。
【００２２】
UPnP Printer４０２は、Printer DA４０１、UPnP Core１４及びXHTML Processor１３と通信するモジュールである。UPnP Printer４０２は、プリンタのハードウェア４の構成に依存せず、ＤＣＰに準拠して設計され、プリンタタイプのデバイス全てに共用され得る。UPnP Printer４０２はプリンタタイプのデバイスに固有のモジュール群とUPnP Core１４とのインタフェースとして機能し、ＤＣＰで規定されたアクション及び状態変数を含むメッセージを他のデバイスからUPnP Core１４等を介して受信し、受信したメッセージを解析してPrinter DA４０１及びXHTML Processor１３の機能を呼び出したり、Printer DA４０１から状態変数を取得してUPnP Core１４等を介して他のデバイスに送信したりすることによってプリントサービスを管理する。
【００２３】
XHTML Processor１３、SOAP Parser２０、JPEG Engine２２及びMIME Engine１２は、UPnP Core１４、HTTP１５、TCP/IP１６及びEthernet１７を介することによって他のモジュールとメッセージを交換することができるように構成され、どのデバイスに実装することもできる。具体的にはXHTML Processor１３、SOAP Parser２０、JPEG Engine２２及びMIME Engine１２は、それらの各機能を、UPnPのDDD（Device Description Document）及びSDD（Service Description Document）で定義するアクションを含むメッセージによって、それらの機能が実装されているデバイスではない他のデバイスからも制御可能にＡＰＩが構成される。
【００２４】
XHTML Processor１３は、UPnP Printer４０２、ストレージデバイス１１及びMIME Engine１２とHTTPで通信し、XHTMLフォーマットの印刷対象データを変換するモジュールである。XHTML Processor１３は、例えばプリンタ４に実装してもよいし、ファイルサーバ５に実装してもよいし、コントロールポイントとしてのＰＣ１又はワイヤレスハンドヘルドＰＣ２に実装してもよいし、これらの複数のデバイスに実装してもよい。
【００２５】
SOAP Parser２０はアクションの実行時にＳＯＡＰ記述を解析するモジュールである。SOAP Parser２０はＤＣＰで定義されている全てのデバイスタイプで共用される。SOAP Parser２０は、スキャナ３に実装してもよいし、プリンタ４に実装してもよいし、ファイルサーバ５に実装してもよいし、これらの複数のデバイスに実装してもよい。
【００２６】
JPEG Engine２２はScanner DA３０１から出力されるスキャンデータをRAWデータフォーマットからJPEGフォーマットに変換するモジュールである。JPEG Engine２２は、ＤＣＰで定義されている全てのデバイスタイプで共用される。JPEG Engine２２は、例えばスキャナ３に実装してもよいし、ファイルサーバ５に実装してもよいし、コントロールポイントとしてのＰＣ１又はワイヤレスハンドヘルドＰＣ２に実装してもよいし、これら複数のデバイスに実装してもよい。
【００２７】
MIME Engine１２は、印刷対象データをMIMEデータフォーマットからJPEGデータフォーマットに変換し、スキャンデータをJPEGデータフォーマットからMIMEデータフォーマットに変換するモジュールである。MIME Engine１２はＤＣＰで定義されている全てのデバイスタイプで共用される。MIME Engine１２は、例えばスキャナ３に実装してもよいし、ファイルサーバ５に実装してもよいし、コントロールポイントとしてのＰＣ１又はワイヤレスハンドヘルドＰＣ２に実装してもよいし、これら複数のデバイスに実装してもよい。
【００２８】
ストレージデバイス１１は、データフォーマットの変換時にデータを一時的に保存する記憶領域を提供するデバイスである。ストレージデバイス１１として機能するデバイスとしては、ＰＣ１、ワイヤレスハンドヘルドＰＣ２等のコントロールポイントとして機能するデバイスのほか、ファイルサーバ５等がある。
以下、具体的にサービスを例示しながら各モジュールの機能をより詳細に説明する。
【００２９】
図３は、XHTML-Printサービスをプリンタ４及びストレージデバイス１１が協働して提供する処理の流れを示している。この処理におけるコントロールポイント１９は例えばワイヤレスハンドヘルドＰＣ２であり、ストレージデバイス１１は例えばＰＣ１であり、HTTP Server２３はファイルサーバ５である。
はじめに、コントロールポイント１９はプリンタ４に対して印刷要求を送信する（Ｓ４０１）。このときの印刷要求ではReference Object方式が指定されるものとする。またこの印刷要求の送信は、請求項に記載の出力サービスの依頼に相当する。
【００３０】
印刷要求は、UPnP Core１４等を介してUPnP Printer４０２によって受信される。印刷要求を受けたUPnP Printer４０２はSOAP Parser２０を呼び出してＳＯＡＰに従って記述された印刷要求を解析させる（Ｓ４０２）。SOAP Parser２０による解析の結果、UPnP Printer４０２は印刷対象データがXHTMLフォーマットであることを検出する。
次にコントロールポイント１９は、XHTMLフォーマットの印刷対象データをプリンタ４にHTTPでポストする（Ｓ４０３）。
【００３１】
印刷対象データを受信したプリンタ４は、XHTMLフォーマットのデータを解釈して印刷データを作成することができない。そこで、UPnP Printer４０２はXHTMLデータをストレージデバイス１１に転送し、XHTMLフォーマットの印刷対象データを印刷データの形式に変換する処理をストレージデバイス１１に依頼する（Ｓ４０４）。このとき、UPnP Printer４０２はSSDP（Simple Service Discovery Protocol）によって、UPnPネットワークに接続されているどのデバイスがXHTMLフォーマットのデータを印刷データに変換するサービス（以下、印刷データ変換サービスという。）を提供しているかを把握している。SSDPとはHTTPヘッダを拡張したシンプルなマルチキャスト・ディスカバリ・プロトコルである。SSDPのディスカバリパケットには、XML形式で記述されたDDD（Device Description Document）へのリンクが含まれている。DDDには、デバイス・タイプ、メーカ名、モデル名などのほかにも、UPnP Forumが定義したサービス・タイプを参照するためのURLが記述されている。各デバイスは、このURLを利用することで、サービス機能をXML形式で詳しく記述したSDD（Service Description Document）を取得することができる。
【００３２】
図４は、本発明の一実施例に係る出力サービス及びデータ処理サービスを示す模式図である。ここで図４に基づいてプリンタ４及びストレージデバイス１１のDDD及びSDDについて説明する。ストレージデバイス１１は、プリンタ４等の他のデバイスにそのサービスを通知するため、DDD及びSDDに印刷データ変換サービスとその詳細な内容（アクション、状態変数等）を定義している。プリンタ４は、ストレージデバイス１１が提供する印刷データ変換サービスをSSDPによって検出すると（Ｓ１００、Ｓ１０２）、そのサービスを自ら提供するサービスとしてDDD及びSDDに定義する（Ｓ１０４）。プリンタ４が提供可能なサービスを他のデバイスにSSDPでマルチキャストすると（Ｓ１０６）、コントロールポイント１９は、プリンタ４自身が印刷データ変換サービスを提供しているものとしてプリンタ４にXHTML-PrintサービスをUPnPネットワークを通じて依頼することになる。以上、プリンタ４及びストレージデバイス１１のDDD及びSDDについて説明した。
【００３３】
UPnP Printer４０２からXHTMLフォーマットの印刷対象データを受信したストレージデバイス１１では、XHTML Processor１３が印刷対象データに記述されたＵＲＬから画像データを取得する（Ｓ４０５）。図３ではHTTP Server２３から画像データを取得する例を示しているが、XHTML Processor１３はＰＣ１、ワイヤレスハンドヘルドＰＣ２等の他のデバイスから画像データを取得することもできる。
【００３４】
XHTML Processor１３は、プリンタ４のUPnP Printer４０２と通信することによりXHTMLフォーマットの印刷対象データを印刷データに変換するために必要な情報を取得する（Ｓ４０６）。必要な情報を取得したXHTML Processor１３は、その情報に基づいてレイアウト処理、レンダリング処理を行い、XHTMLフォーマットの印刷対象データを印刷データに変換する。この印刷データ変換サービスが請求項に記載のデータ処理サービスに相当する。XHTML Processor１３は、印刷データをHTTP１５等を介してUPnP Printer４０２に送信する（Ｓ４０８）。印刷データの送信によって、ストレージデバイス１１によるUPnPネットワークを通じた印刷データ変換サービスの提供が完了する。
印刷データを受信したプリンタ４では、UPnP Printer４０２が印刷データをPrinter DA４０１に引き渡し、Printer DA４０１の制御下で印刷を実行する。その結果、印刷対象データが表す画像が印刷用紙に形成され、プリンタ４によるXHTML-Printサービスが完結する。
【００３５】
以上説明したように、プリンタ４等の出力デバイスが出力サービスの依頼を受けたときに、その出力サービスの提供に必要なデータ処理サービスの提供を他のデバイスに依頼し、そのデータ処理サービスで提供されたデータに基づいて出力デバイスが出力サービスを完結させることにより、それぞれの出力デバイスが提供する出力サービスを高度化することができる。
【００３６】
また、他のデバイスが提供するデータ処理サービスの提供を受けて出力デバイスが提供している出力サービスを、SSDPによるデータ処理サービスの検出結果に応じてSSDPにより他のデバイスに通知することにより、出力デバイス又はデータ処理サービスを提供するデバイスがネットワークと頻繁に接続又は切断される場合であっても、データ処理サービスを伴う出力サービスをコントロールポイント等の他のデバイスで利用することが容易になる。
【００３７】
図５は、本発明の一実施例に係る入力サービス及びデータ処理サービスを示す模式図であって、UPnP Scanサービスをスキャナ３とストレージデバイス１１が協働して提供する処理の流れを示している。この処理におけるコントロールポイント１９は例えばワイヤレスハンドヘルドＰＣ２であり、ストレージデバイス１１は例えばＰＣ１、ファイルサーバ５等である。
はじめに、コントロールポイント１９はスキャナ３に対してスキャン要求を送信する（Ｓ６０１）。このときのスキャン要求ではPull方式が指定される。またこのスキャン要求の送信は、請求項に記載の入力サービスの依頼に相当する。
【００３８】
スキャン要求は、UPnP Core１４等を介してUPnP Scanner３０２によって受信される。スキャン要求を受けたUPnP Scanner３０２はSOAP Parser２０を呼び出してＳＯＡＰに従って記述されたスキャン要求を解析させる（Ｓ６０２）。SOAP Parser２０による解析の結果、UPnP Scanner３０２はJPEGフォーマットのスキャンデータをPull方式で提供するサービス（以下、スキャンサービスという。）の依頼をコントロールポイント１９から受けたことを検出する。
【００３９】
次にUPnP Scanner３０２はスキャン要求を受けた際に取得した各種のパラメータをScanner DA３０１に引き渡す。するとスキャナ３は、Scanner DA３０１の制御下で原稿を読み取ってRAWフォーマットのスキャンデータを生成し、Scanner DA３０１はスキャンデータをUPnP Scanner３０２に出力する（Ｓ６０３）。原稿は写真、文字、イラスト等の直接知覚可能な画像情報を担持しているため、原稿の読み取り処理によって直接知覚可能な画像情報がスキャナ３に入力される。
【００４０】
RAWフォーマットのスキャンデータを取得したUPnP Scanner３０２は、Scan Controller２１にスキャンデータを引き渡し、スキャンデータの変換処理をScan Controller２１に依頼する（Ｓ６０４）。UPnP Scanner３０２は、UPnPネットワークに接続されているどのデバイスがRAWフォーマットのスキャンデータをJPEGフォーマットに変換するサービス（以下、スキャンデータ変換サービスという。）を提供しているかを、図３に示した処理によって把握している。
Scan Controller２１は、RAWフォーマットのスキャンデータをストレージデバイス１１に送信し、UPnP Scanner３０２がスキャン要求の解析によって検出したデータフォーマットであるJPEGフォーマットへの変換をストレージデバイス１１に依頼する（Ｓ６０５）。
【００４１】
スキャンデータサービス変換サービスの依頼を受けたストレージデバイス１１では、JPEG Engine２２がRAWフォーマットのスキャンデータをJPEGフォーマットに変換し、JPEGフォーマットのスキャンデータをScan Controller２１に送信する（Ｓ６０５）。この変換処理が請求項に記載のデータ処理サービスの依頼に相当する。
【００４２】
Scan Controller２１は、UPnP Scanner３０２がスキャン要求を解析して得たＵＲＬに、受信したJPEGフォーマットのスキャンデータを保存し（Ｓ６０６）、サービス完了をコントロールポイント１９に通知する（Ｓ６０７）。この完了通知によって、スキャナ３によるスキャンサービスの提供が完結する。
スキャナ３からサービス完了通知を受信したコントロールポイント１９は、HTTP/GETオペレーションにより、ストレージデバイス１１からJPEGフォーマットのスキャンデータを取得する。
【００４３】
以上説明したように、スキャナ３等の入力デバイスが入力サービスの依頼を受けたときに、その入力サービスの提供に必要なデータ処理サービスの提供を他のデバイスに依頼し、そのデータ処理サービスで提供されたデータに基づいて入力デバイスが入力サービスを完結させることにより、それぞれの入力デバイスが提供する入力サービスを高度化することができる。
【００４４】
また、他のデバイスが提供するデータ処理サービスの提供を受けて入力デバイスが提供している入力サービスを、SSDPによるデータ処理サービスの検出結果に応じてSSDPにより他のデバイスに通知することにより、入力デバイス又はデータ処理サービスを提供するデバイスがネットワークと頻繁に接続又は切断される場合であっても、データ処理サービスを伴う入力サービスを他のデバイスで利用することが容易になる。
【００４５】
以上の説明では、UPnPを利用して本発明を実施する例を説明したが、特定の制御装置の制御下で能動的に複数のネットワークデバイスを作動させるプロトコルを利用することにより、本発明を上記の説明とは異なる形態で実施することもできる。また、上記の説明では、サービスを完結させるために異なるデバイスからデータ処理サービスの提供を受けるための通信プロトコルにＤＣＰ（Device Control Protocol）を利用する例を示したが、標準化されたプロトコルでなくとも、異なるデバイスからデータ処理サービスの提供を受けることは可能である。
【図面の簡単な説明】
【００４６】
【図１】本発明の一実施例に係るブロック図。
【図２】本発明の一実施例に係るネットワークを示す模式図。
【図３】本発明の一実施例に係るフローチャート。
【図４】本発明の一実施例に係る模式図。
【図５】本発明の一実施例に係る模式図。
【符号の説明】
【００４７】
３  スキャナ（入力デバイス）、４  プリンタ（出力デバイス）、５  ファイルサーバ、６  オーディオプレーヤ（出力デバイス）、７  プロジェクタ（出力デバイス）、９  ディジタルカメラ（入力デバイス）、１０  ＴＶモニタ（出力デバイス）
【図１】
2005293358.tif 000003
【図２】
2005293358.tif 000004
【図３】
2005293358.tif 000005
【図４】
2005293358.tif 000006
【図５】
2005293358.tif 000007