(57)【要約】【課題】　クライアント端末に特別なプリンタ環境を構築することなく複数のプリンタ等への印刷を行うことを可能とすること。【解決手段】　ネットワークに接続された複数の画像形成装置の中から一または複数の画像形成装置を選択するための画面データを、クライアント端末に対して提供する情報提供手段と、選択された一または複数の画像形成装置に印刷対象データおよび印刷要求を配信する印刷要求手段とを画像形成装置に備える。【選択図】　　図４
2004127282.tif 000002
【特許請求の範囲】
【請求項１】
　ネットワークに接続された複数の画像形成装置の中から一または複数の画像形成装置を選択するための画面データを、クライアント端末に対して提供する情報提供手段と、
　選択された一または複数の画像形成装置に印刷対象データおよび印刷要求を配信する印刷要求手段と
　を備えたことを特徴とする画像形成装置。
【請求項２】
　前記情報提供手段は、印刷指示を入力するための画面データを前記クライアント端末に送信し、
　前記印刷要求手段は、当該画面から入力された前記クライアント端末からの印刷指示を受けて、前記印刷対象データおよび印刷要求を、前記選択された一または複数の画像形成装置に配信する請求項１に記載の画像形成装置。
【請求項３】
　前記情報提供手段は、前記印刷対象データのアップロードを行うための画面データを前記クライアント端末に送信し、
　前記画像形成装置は、当該クライアント端末による前記印刷対象データのアップロードを受けて、当該印刷対象データを受信する請求項１に記載の画像形成装置。
【請求項４】
　前記画面データは、前記クライアント端末におけるＷｅｂブラウザにより表示される請求項１ないし３のうちいずれか１項に記載の画像形成装置。
【請求項５】
　前記画面データは、複数の画像形成装置を各設置場所と対応付けて表示するためのデータを含む請求項１に記載の画像形成装置。
【請求項６】
　前記画面データは、複数の画像形成装置を各画像形成装置が有する機能と対応付けて表示するためのデータを含む請求項１に記載の画像形成装置。
【請求項７】
　前記画像形成装置は、前記選択された一または複数の画像形成装置のアドレスを含む情報を格納する記憶手段を有し、
　前記印刷要求手段はその記憶手段に格納された情報を参照して、前記印刷対象データおよび印刷要求を前記選択された一または複数の画像形成装置に配信する請求項１に記載の画像形成装置。
【請求項８】
　前記印刷指示は、印刷を行う画像形成装置における機能の指示を含み、前記印刷要求手段は、前記選択された一または複数の画像形成装置の中から、当該指示された機能を有する一または複数の画像形成装置を選定し、選定された画像形成装置に対して、前記印刷対象データおよび印刷要求を配信する請求項２に記載の画像形成装置。
【請求項９】
　前記印刷要求手段は、自己の画像形成装置における印刷手段に対して印刷を要求する請求項１に記載の画像形成装置。
【請求項１０】
　前記印刷要求手段は、送信データを自己の画像形成装置内部で帰還させるループバックアドレスを指定して前記印刷手段に対して印刷を要求する請求項９に記載の画像形成装置。
【請求項１１】
　ネットワークに接続された画像形成装置のアドレスを取得するアドレス取得手段をさらに備え、
　前記印刷要求手段は、前記アドレス取得手段によって取得したアドレスを指定して、前記印刷対象データおよび印刷要求を配信する請求項１に記載の画像形成装置。
【請求項１２】
　前記アドレス取得手段は、ＳＮＭＰを用いてＭＩＢからアドレスを取得する請求項１１に記載の画像形成装置。
【請求項１３】
　前記画像形成装置は、画像形成処理で使用されるハードウェア資源と、アプリケーションからの要求に基づき当該ハードウェア資源の制御を含むシステム側の処理を行うコントロールサービスとを備え、当該コントロールサービスとは別に複数のアプリケーションを搭載可能に構成され、
　前記画像形成装置は、前記情報提供手段および前記印刷要求手段を前記アプリケーションとして備えた請求項１ないし１２のうちいずれか１項に記載の画像形成装置。
【請求項１４】
　画像形成装置が一または複数の画像形成装置に印刷を行わせるための印刷処理方法であって、
　ネットワークに接続された複数の画像形成装置の中から一または複数の画像形成装置を選択するための画面データを、クライアント端末に対して提供する情報提供ステップと、
　選択された一または複数の画像形成装置に印刷対象データおよび印刷要求を配信する印刷要求ステップと
　を有することを特徴とする印刷処理方法。
【請求項１５】
　前記情報提供ステップにおいて、印刷指示を入力するための画面データを前記クライアント端末に送信し、
　前記印刷要求ステップにおいて、当該画面から入力された前記クライアント端末からの印刷指示を受けて、前記印刷対象データおよび印刷要求を、前記選択された一または複数の画像形成装置に配信する請求項１４に記載の印刷処理方法。
【請求項１６】
　前記印刷対象データのアップロードを行うための画面データを前記クライアント端末に送信し、当該クライアント端末による前記印刷対象データのアップロードを受けて、当該印刷対象データを受信するステップを更に有する請求項１４に記載の印刷処理方法。
【請求項１７】
　前記画面データは、前記クライアント端末におけるＷｅｂブラウザにより表示される請求項１４ないし１６のうちいずれか１項に記載の印刷処理方法。
【請求項１８】
　前記画面データは、複数の画像形成装置を各設置場所と対応付けて表示するためのデータを含む請求項１４に記載の印刷処理方法。
【請求項１９】
　前記画面データは、複数の画像形成装置を各画像形成装置が有する機能と対応付けて表示するためのデータを含む請求項１４に記載の印刷処理方法。
【請求項２０】
　前記画像形成装置は、前記選択された一または複数の画像形成装置のアドレスを含む情報を格納する記憶手段を有し、
　前記印刷要求ステップにおいて、その記憶手段に格納された情報を参照して、前記印刷対象データおよび印刷要求を前記選択された一または複数の画像形成装置に配信する請求項１４に記載の印刷処理方法。
【請求項２１】
　前記印刷指示は、印刷を行う画像形成装置における機能の指示を含み、
　前記印刷要求ステップにおいて、前記選択された一または複数の画像形成装置の中から、当該指示された機能を有する一または複数の画像形成装置を選定し、選定された画像形成装置に対して、前記印刷対象データおよび印刷要求を配信する請求項１５に記載の印刷処理方法。
【請求項２２】
　前記印刷要求ステップにおいて、自己の画像形成装置における印刷手段に対して印刷を要求する請求項１４に記載の印刷処理方法。
【請求項２３】
　前記印刷要求ステップにおいて、送信データを自己の画像形成装置内部で帰還させるループバックアドレスを指定して前記印刷手段に対して印刷を要求する請求項２２に記載の印刷処理方法。
【請求項２４】
　ネットワークに接続された画像形成装置のアドレスを取得するアドレス取得ステップを更に備え、
　前記印刷要求ステップにおいて、前記アドレス取得ステップにおいて取得したアドレスを指定して、前記印刷対象データおよび印刷要求を配信する請求項１４に記載の印刷処理方法。
【請求項２５】
　前記アドレス取得ステップにおいて、ＳＮＭＰを用いてＭＩＢからアドレスを取得する請求項２４に記載の印刷処理方法。
【請求項２６】
　前記画像形成装置は、画像形成処理で使用されるハードウェア資源と、アプリケーションからの要求に基づき当該ハードウェア資源の制御を含むシステム側の処理を行うコントロールサービスとを備え、当該コントロールサービスとは別に複数のアプリケーションを搭載可能に構成され、
　前記画像形成装置におけるアプリケーションが前記情報提供ステップおよび前記印刷要求ステップを実行する請求項１４ないし２５のうちいずれか１項に記載の印刷処理方法。
【請求項２７】
　画像形成装置を、
　ネットワークに接続された複数の画像形成装置の中から一または複数の画像形成装置を選択するための画面データを、クライアント端末に対して提供する情報提供手段、
　選択された一または複数の画像形成装置に印刷対象データおよび印刷要求を配信する印刷要求手段
　として機能させるプログラム。
【請求項２８】
　請求項２７に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
　この発明は、プリンタなどの画像形成処理にかかるユーザサービスをネットワークで接続された一または複数の画像形成装置に対して要求して実行させる画像形成装置および印刷処理方法に関するものである。
【背景技術】
【０００２】
　近年では、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置（以下、「複合機」という。）が知られている。この複合機は、１つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応した３種類のソフトウェアを設け、これらのソフトウェアを切り替えることによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【０００３】
　従来の複合機あるいはプリンタ装置は、インターネットなどのネットワークに接続されて、ネットワーク上のＰＣ（Ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ）などのクライアント端末からプリンタ装置に対して印刷文書の印刷要求を行い、印刷要求を受けたプリンタ装置がＰＣ上の印刷文書をプリントするようになっている。そして、印刷文書をプリンタ装置でプリントする際にプリンタ装置を制御するため、ネットワーク上のＰＣには、プリンタ装置に対応したプリンタドライバソフトウェアをインストールしておく必要がある。
【０００４】
　ところで、このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けているため、各ソフトウェアの開発に多大の時間を要する。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを含む画像形成装置（複合機）を発明した。
【特許文献１】特開２００２−８２８０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
　しかしながら、ネットワーク上にこのような複合機またはプリンタ装置が接続されている環境では、クライアント端末のＰＣに使用する複合機またはプリンタ装置ごとにそれぞれのプリンタドライバプログラムをインストールしなければならず、プリンタドライバプログラムのインストールされていないクライアント端末からはプリンタ装置を利用できないという問題がある。
【０００６】
　特に、ネットワーク上に多数のクライアント端末が接続された環境では、全てのクライアント端末に必要なプリンタ装置のプリンタドライバプログラムを全てインストールする必要があり、プリンタ環境の構築に労力を要するという問題がある。
【０００７】
　また、クライアント端末から一つのファイルを複数部数印刷する場合、ネットワーク上の一つのプリンタ装置を利用して、一つのファイルを必要部数だけ連続して印刷することが通常行われているが、これでは、印刷部数が多い場合に、印刷完了まで長時間を要するという問題がある。
【０００８】
　この発明は上記に鑑みてなされたもので、クライアント端末に特別なプリンタ環境を構築することなく複数のプリンタ等への印刷を行うことを可能とする画像形成装置および印刷処理方法を得ることを目的とする。
【課題を解決するための手段】
【０００９】
　上記目的を達成するため、請求項１に記載の発明は、ネットワークに接続された複数の画像形成装置の中から一または複数の画像形成装置を選択するための画面データを、クライアント端末に対して提供する情報提供手段と、選択された一または複数の画像形成装置に印刷対象データおよび印刷要求を配信する印刷要求手段とを備えた画像形成装置である。
【００１０】
　本発明によれば、クライアント端末に複数の画像形成装置のプリンタドライバプログラムがインストールされていない場合でも、クライアント端末の印刷対象ファイルをネットワーク上の複数の画像形成装置で印刷することができ、ネットワーク上の複数の画像形成装置に対応するプリンタ環境の構築という煩雑な作業が不要となる。また、印刷部数が複数ある場合でも、複数の画像形成装置を利用して同時に印刷を行うことができ、複数部数の印刷を迅速に行うことができる。
【００１１】
　請求項２に記載の発明は、請求項１の記載において、前記情報提供手段は、印刷指示を入力するための画面データを前記クライアント端末に送信し、前記印刷要求手段は、当該画面から入力された前記クライアント端末からの印刷指示を受けて、前記印刷対象データおよび印刷要求を、前記選択された一または複数の画像形成装置に配信する。
【００１２】
　本発明によれば、クライアント端末からの指示により複数の画像形成装置に印刷を行わせることが可能となる。
【００１３】
　請求項３に記載の発明は、請求項１の記載において、前記情報提供手段は、前記印刷対象データのアップロードを行うための画面データを前記クライアント端末に送信し、前記画像形成装置は、当該クライアント端末による前記印刷対象データのアップロードを受けて、当該印刷対象データを受信する。
【００１４】
　本発明によれば、クライアント端末から印刷対象データを画像形成装置に送ることができる。画像形成装置は、アップロードされたデータを蓄積し、印刷指示を受けたときに指定されたデータのみを配信してもよいし、アップロードされたデータをすぐに配信してもよい。
【００１５】
　請求項４に記載の発明は、請求項１ないし３のうちいずれか１項に記載の画像形成装置において、前記画面データは、前記クライアント端末におけるＷｅｂブラウザにより表示されるものである。
【００１６】
　本発明によれば、クライアント端末のユーザはＷｅｂブラウザを用いて印刷操作を行うことができるので、ユーザの利便性が向上する。
【００１７】
　請求項５に記載の発明は、請求項１の記載において、前記画面データは、複数の画像形成装置を各設置場所と対応付けて表示するためのデータを含むというものである。
【００１８】
　本発明によれば、ユーザは画像形成装置の設置場所を考慮して画像形成装置を選択することが可能となる。
【００１９】
　請求項６に記載の発明は、請求項１の記載において、前記画面データは、複数の画像形成装置を各画像形成装置が有する機能と対応付けて表示するためのデータを含むというものである。
【００２０】
　本発明によれば、ユーザは画像形成装置の機能を考慮して画像形成装置を選択することが可能となる。
【００２１】
　請求項７に記載の発明は、請求項１の記載において、前記画像形成装置は、前記選択された一または複数の画像形成装置のアドレスを含む情報を格納する記憶手段を有し、前記印刷要求手段はその記憶手段に格納された情報を参照して、前記印刷対象データおよび印刷要求を前記選択された一または複数の画像形成装置に配信する。
【００２２】
　本発明によれば、記憶手段に格納されたアドレスに対応する画像形成装置に印刷対象データおよび印刷要求を配信できる。
【００２３】
　請求項８に記載の発明は、請求項２の記載において、前記印刷指示は、印刷を行う画像形成装置における機能の指示を含み、前記印刷要求手段は、前記選択された一または複数の画像形成装置の中から、当該指示された機能を有する一または複数の画像形成装置を選定し、選定された画像形成装置に対して、前記印刷対象データおよび印刷要求を配信する。
【００２４】
　本発明によれば、所望の機能を有する画像形成装置のみに印刷を行わせることが可能となる。
【００２５】
　請求項９に記載の発明は、請求項１の記載において、前記印刷要求手段は、自己の画像形成装置における印刷手段に対して印刷を要求するものである。
【００２６】
　本発明によれば、ユーザにとっての画像形成装置の選択の幅を広げることが可能となる。
【００２７】
　請求項１０に記載の発明は、請求項９の記載において、前記印刷要求手段は、送信データを自己の画像形成装置内部で帰還させるループバックアドレスを指定して前記印刷手段に対して印刷を要求するものである。
【００２８】
　本発明によれば、指定アドレスをループバックアドレスに変更するだけで、ネットワーク経由で他の画像形成装置に印刷要求を送信するプロトコルを利用したまま、自己の画像形成装置によって印刷対象データの印刷が可能となる。
【００２９】
　請求項１１に記載の発明は、請求項１の記載において、ネットワークに接続された画像形成装置のアドレスを取得するアドレス取得手段をさらに備え、前記印刷要求手段は、前記アドレス取得手段によって取得したアドレスを指定して、前記印刷対象データおよび印刷要求を配信するというものである。
【００３０】
　本発明によれば、ネットワーク上の画像形成装置のネットワークアドレスが変更された場合や、ネットワーク上に新たな画像形成装置が追加された場合でも、それらの画像形成装置に印刷を行わせることができる。
【００３１】
　請求項１２に記載の発明は、請求項１１の記載において、前記アドレス取得手段は、ＳＮＭＰを用いてＭＩＢからアドレスを取得するものである。
【００３２】
　本発明によれば、規格化された手法で画像形成装置のネットワークアドレスを取得することができる。
【００３３】
　請求項１３に記載の発明は、請求項１ないし１２のうちいずれか１項に記載の画像形成装置において、前記画像形成装置は、画像形成処理で使用されるハードウェア資源と、アプリケーションからの要求に基づき当該ハードウェア資源の制御を含むシステム側の処理を行うコントロールサービスとを備え、当該コントロールサービスとは別に複数のアプリケーションを搭載可能に構成され、前記画像形成装置は、前記情報提供手段および前記印刷要求手段を前記アプリケーションとして備えたものである。
【００３４】
　請求項１４〜２６に記載の発明は、上記の画像形成装置に適した方法の発明であり、請求項２７、２８に記載の発明は、上記の画像形成装置に適したプログラム、記録媒体の発明である。これらの発明によっても、上記の画像形成装置の発明と同様の作用効果を奏する。
【発明の効果】
【００３５】
　本発明によれば、クライアント端末に複数の画像形成装置のプリンタドライバプログラムがインストールされていない場合でも、クライアント端末の印刷対象ファイルをネットワーク上の複数の画像形成装置で印刷することができ、ネットワーク上の複数の画像形成装置に対応するプリンタ環境の構築という煩雑な作業が不要となる。また、印刷部数が複数ある場合でも、複数の画像形成装置を利用して同時に印刷を行うことができ、複数部数の印刷を迅速に行うことができる。
【発明を実施するための最良の形態】
【００３６】
　以下に添付図面を参照して、この発明にかかる画像形成装置およびマルチプリント処理方法の好適な実施の形態を詳細に説明する。
【００３７】
　（実施の形態１） 
　実施の形態１にかかる画像形成装置（以下、「複合機」という。）１００は、配信アプリ１１７によってネットワーク上のクライアント端末であるＰＣ（Ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ）２００からの要求を受け、ネットワーク上で印刷可能な複合機１４０ａまたはプリンタ装置１４０ｂを選択し、複合機１４０ａまたはプリンタ装置１４０ｂに印刷文書のプリント要求を配信して、選択された複合機１４０ａまたはプリンタ装置１４０ｂで印刷を実行させるものである。
【００３８】
　図１は、実施の形態１にかかる複合機１００を含むネットワーク構成を示すブロック図である。図１に示すように、本実施の形態では、複合機（ＭＦＰ０）１００と、複合機（ＭＦＰ１，ＭＦＰ２）１４０ａ、プリンタ装置（ＰＲＴ１，ＰＲＴ２）１４０ｂなどの画像形成装置と、これら画像形成装置からプリントする印刷ファイルを生成するクライアント端末としてのＰＣ２００とがイーサネット（登録商標）２２０に接続されたＬＡＮ環境が構築されている。また、イーサネット（登録商標）２２０にはルータ２１０も接続されている。複合機１００、１４０ａ、プリンタ装置１４０ｂおよびＰＣ２００の間の通信プロトコルはＴＣＰ ／ＩＰを利用している。
【００３９】
　ここで複合機（ＭＦＰ０）１００は、ＰＣ２００からの印刷要求を受けて、イーサネット（登録商標）２２０上の複合機１４０ａやプリンタ装置１４０ｂから印刷可能なものを選定し、その選定された各装置に対して印刷対象ファイルとプリント要求メッセージを送信するものである。
【００４０】
　次に、本実施の形態にかかる複合機１００の全体の機能的構成について説明する。図２は、実施の形態１の複合機１００の構成を示すブロック図である。図２に示すように、複合機１００は、白黒レーザプリンタ（B&W LP）１０１と、カラーレーザプリンタ（Color LP）１０２と、ハードディスク装置（ＨＤＤ）１０３と、ネットワークコントローラ１０４と、スキャナ、ファクシミリ、メモリなどのハードウェアリソース１０５を有するとともに、プラットホーム１２０と、アプリケーション１３０とから構成されるソフトウェア群１１０とを備えている。
【００４１】
　プラットホーム１２０は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ（ＳＲＭ）１２３と、汎用ＯＳ１２１とを有する。　コントロールサービスは、複数のサービスモジュールから形成され、ＳＣＳ（システムコントロールサービス）１２２と、ＥＣＳ（エンジンコントロールサービス）１２４と、ＭＣＳ（メモリコントロールサービス）１２５と、ＯＣＳ（オペレーションパネルコントロールサービス）１２６と、ＦＣＳ（ファックスコントロールサービス）１２７と、ＮＣＳ（ネットワークコントロールサービス）１２８とから構成される。このプラットホーム１２０は、あらかじめ定義された関数により前記アプリケーション１３０から処理要求を受信可能とするアプリケーションプログラムインタフェース（ＡＰＩ）を有する。
【００４２】
　汎用ＯＳ１２１は、ＵＮＩＸ（登録商標）などの汎用オペレーティングシステムであり、プラットホーム１２０並びにアプリケーション１３０の各ソフトウェアをそれぞれプロセスとして並列実行する。
【００４３】
　ＳＲＭ１２３のプロセスは、ＳＣＳ１２２とともにシステムの制御およびリソースの管理を行うものである。ＳＲＭ１２３のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４　Ｉ／Ｆ、ＲＳ２３２Ｃ　Ｉ／Ｆなど）のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
【００４４】
　具体的には、このＳＲＭ１２３は、要求されたハードウェア資源が利用可能であるか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、ＳＲＭ１２３は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容（例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施している。
【００４５】
　ＳＣＳ１２２のプロセスは、アプリ管理、操作部制御、システム画面表示、ＬＥＤ表示、リソース管理、割り込みアプリ制御などを行う。
【００４６】
　ＥＣＳ１２４のプロセスは、白黒レーザプリンタ（B&W LP）１０１、カラーレーザプリンタ（Color LP）１０２、スキャナ、ファクシミリなどからなるハードウェアリソース１０５のエンジンの制御を行う。
【００４７】
　ＭＣＳ１２５のプロセスは、画像メモリの取得および解放、ハードディスク装置（ＨＤＤ）の利用、画像データの圧縮および伸張などを行う。
【００４８】
　ＦＣＳ１２７のプロセスは、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を利用したファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのＡＰＩを提供する。
【００４９】
　ＮＣＳ１２８のプロセスは、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。
【００５０】
　ＯＣＳ１２６のプロセスは、オペレータ（ユーザ）と本体制御間の情報伝達手段となるオペレーションパネル（操作パネル）の制御を行う。ＯＣＳ１２６は、オペレーションパネルからキー押下（またはタッチ操作）をキーイベントとして取得し、取得したキーに対応したキーイベント関数をＳＣＳ１２２に送信するＯＣＳプロセスの部分と、アプリケーション１３０またはコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録されたＯＣＳライブラリの部分とから構成される。このＯＣＳライブラリは、アプリケーション１３０およびコントロールサービスの各モジュールにリンクされて実装されている。なお、ＯＣＳ１２６のすべてをプロセスとして動作させるように構成しても良く、あるいはＯＣＳ１２６のすべてをＯＣＳライブラリとして構成しても良い。
【００５１】
　アプリケーション１３０は、ページ記述言語（ＰＤＬ）、ＰＣＬおよびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１１１と、コピー用アプリケーションであるコピーアプリ１１２と、ファクシミリ用アプリケーションであるファックスアプリ１１３と、スキャナ用アプリケーションであるスキャナアプリ１１４と、ネットワークファイル用アプリケーションであるネットファイルアプリ１１５と、工程検査用アプリケーションである工程検査アプリ１１６と、プリント要求メッセージを配信する配信アプリ１１７と、仮想アプリケーションサービスとしてのＶＡＳ（Ｖｉｒｔｕａｌ　Ａｐｐｌｉｃａｔｉｏｎ　Ｓｅｒｖｉｃｅ）１１８とを有している。
【００５２】
　アプリケーション１３０の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
【００５３】
　このように、実施の形態１にかかる複合機１００には、複数のアプリケーション１３０および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション１３０に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。
【００５４】
　また、複合機１００には、複合機１００の顧客、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に外部アプリを開発して搭載することが可能となっている。
【００５５】
　なお、実施の形態１にかかる複合機１００では、複数のアプリケーション１３０のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション１３０とコントロールサービスのプロセスがそれぞれ単一の構成とすることも可能である。また、各アプリケーション１３０は、アプリケーションごとに追加または削除することができる。
【００５６】
　図３に複合機１００のハードウェア構成例を示す。
【００５７】
　複合機１００は、コントローラ１６０と、オペレーションパネル１７５と、ファックスコントロールユニット（ＦＣＵ）１７６と、プリンタ等の画像形成処理に特有のハードウェア資源であるエンジン部１７７とを含む。コントローラ１６０は、ＣＰＵ１６１と、システムメモリ１６２と、ノースブリッジ（ＮＢ）１６３と、サウスブリッジ（ＳＢ）１６４と、ＡＳＩＣ１６６と、ローカルメモリ１６７と、ＨＤＤ１６８と、ネットワークインターフェースカード（ＮＩＣ）１６９と、ＳＤカード用スロット１７０と、ＵＳＢデバイス１７１と、ＩＥＥＥ１３９４デバイス１７２と、セントロニクス１７３とを含む。なお、メモリ１６２、１６７はＲＡＭ、ＲＯＭ等を含む。ＦＣＵ１７６およびエンジン部１７７は、コントローラ１６０のＡＳＩＣ１６６にＰＣＩバス１７８で接続されている。
【００５８】
　ＣＰＵ１６１が、複合機１００にインストールされるアプリケーション、コントロールサービス等のプログラムを、メモリから読み出して実行する。
【００５９】
　図１に示したイーサネット（登録商標）２２０に接続された複合機１４０ａの構成も図２に示す複合機１００と同様の構成をしているが、複合機１４０ａには配信アプリ１１７が搭載されていない点で複合機１００と構成が異なっている。
【００６０】
　次に、配信アプリ１１７について詳細に説明する。図４は、実施の形態１にかかる複合機１００における配信アプリ１１７の構成およびマルチプリント処理を行うための複合機１００の主要構成を示すブロック図である。
【００６１】
　マルチプリント処理を行うための複合機１００の主要構成としては、図４に示すように、配信アプリ１１７と、ＶＡＳ（Ｖｉｒｔｕａｌ　Ａｐｐｌｉｃａｔｉｏｎ　Ｓｅｒｖｉｃｅ：仮想アプリケーションサービス）１１８と、ＮＣＳ１２８と、汎用ＯＳ１２１のデーモン（プロセス）として動作するｉｎｅｔｄ３０５、ｔｃｐｄ３０６、ｉｐｄ３０７、ｒｓｈｄ３０８、ｈｔｔｐｄ３０４の各デーモンと、共有メモリ３０３と、フラッシュメモリ３１０と、ＨＤＤ（ハードディスク装置）１０３と、ネットワークコントローラ１０４とを主に備えた構成となっている。ここで、フラッシュメモリ３１０は、本発明における記憶手段を構成する。
【００６２】
　配信アプリ１１７は、プリント要求部３０１とＷＥＢ情報提供部３０２とから構成される。ＷＥＢ情報提供部３０２は、イーサネット（登録商標）２２０に接続されたクライアント端末としてのＰＣ２００に対してＷＥＢサーバ（ｈｔｔｐサーバ）として動作し、ＰＣ２００上で動作するＷＥＢブラウザに対しＷＥＢページで構成されるマルチプリント画面２０１やマルチプリント初期設定画面２０２を表示する。なお、ＷＥＢ情報提供部３０２による各画面のＰＣ２００上のＷＥＢブラウザへの表示および各種要求および各種設定の受信は、ｈｔｔｐｄ３０４を経由してｈｔｔｐプロトコルに従って行われる。ここで、マルチプリント画面２０１およびマルチプリント初期設定画面２０２は、ｈｔｍｌ形式（Ｈｙｐｅｒ　Ｔｅｘｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）で記述されたファイルである。
【００６３】
　また、配信アプリ１１７のＷＥＢ情報提供部３０２は、マルチプリント画面２０１やマルチプリント初期設定画面２０２からの操作入力による要求に応じた実行処理を、ＣＧＩ（Ｃｏｍｍｏｎ Ｇａｔｅｗａｙ　Ｉｎｔｅｒｆａｃｅ）スクリプトによって実行し、その処理結果をマルチプリント画面２０１やマルチプリント初期設定画面２０２に反映して、ＰＣ２００のＷＥＢブラウザに返すようになっている。
【００６４】
　具体的には、ＷＥＢ情報提供部３０２は、プリント用ファイルのアップロード要求をマルチプリント画面２０１から受けた場合、プリント用ファイルをＰＣ２００からＨＤＤ１０３にアップロードしたファイルを格納し、その処理結果をマルチプリント画面２０１に表示する処理をＣＧＩスクリプトを実行することによって行う。また、ＷＥＢ情報提供部３０２は、マルチプリント画面２０１からプリント要求を受信した場合、プリント要求部３０１にその旨を通知する処理をＣＧＩスクリプトを実行することによって行う。
【００６５】
　また、ＷＥＢ情報提供部３０２は、ＰＣ２００のＷＥＢブラウザに表示されたマルチプリント初期設定画面２０２からの設定情報を受信した場合、各設定内容をマルチプリント設定データとしてフラッシュメモリ３１０に格納する処理をＣＧＩスクリプトを実行することによって行う。
【００６６】
　なお、本実施の形態では、ＣＧＩスクリプトを実行することにより、ＷＥＢ情報提供部３０２による各処理を実行しているが、ＣＧＩスクリプトから呼び出される別のプログラムで実行するように構成しても良い。また、マルチプリント画面２０１およびマルチプリント初期設定画面２０２をＸＭＬ形式（ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）で記述するように構成することも可能である。
【００６７】
　また、配信アプリ１１７のプリント要求部３０１は、ＷＥＢ情報提供部３０２からプリント要求の旨の通知を受けたときに、イーサネット（登録商標）２２０上の複合機１４０ａ、プリンタ装置１４０ｂの中から印刷可能な装置を選択し、選択された装置のＩＰアドレスを指定してプリント要求を行うようになっている。このとき、ＨＤＤ１０３にＰＣ２００からアップロードされたプリント用ファイルも指定したＩＰアドレスの装置に送信する。プリント要求部３０１による印刷可能な複合機１４０ａ、プリンタ装置１４０ｂの選択は、フラッシュメモリ３１０に保存されているマルチプリント設定データ３１２に設定されている装置が選択されるようになっている。
【００６８】
　プリント要求部３０１による選択された複合機１４０ａ、プリンタ装置１４０ｂへのプリント要求は、ＩＰアドレスを指定して、リモートプリント関数呼び出しを行うことによって実行される。このリモートプリント関数は、指定されたＩＰアドレスの複合機のプリンタアプリ１１１あるいはプリンタ装置１４０ｂのプリンタアプリケーションに対して、ＵＮＩＸ（登録商標）のｒｓｈ（ｒｅｍｏｔｅ　ｓｈｅｌｌ）プロトコルに従ってプリント要求メッセージを送信するものであり、リモート関数ライブラリに登録され、配信アプリ１１７はこのリモート関数ライブラリをリンクして生成されている。
【００６９】
　ここで、ｒｓｈプロトコルとは、ＵＮＩＸ（登録商標）で実現されている機能であり、ネットワーク上の他のホスト（本実施形態の場合、ネットワーク上の複合機）で任意のコマンドを実行するための手順を定めたプロトコルである。
【００７０】
　なお、配信アプリは、ＳＤカード等の記録媒体から複合機にインストールすることが可能である。また、ネットワーク経由で複合機にダウンロードし、インストールすることも可能である。
【００７１】
　ＶＡＳ１１８は、コントロールサービスとアプリケーションとの間に配置され、アプリケーションからのコントロールサービスに対するアクセス、またはコントロールサービスからのアプリケーションに対するアクセスを仲介するものである。また、ＶＡＳ１１８は、ＮＣＳ１２８から通知されたイーサネット（登録商標）２２０経由のリクエストメッセージ受信の旨を配信アプリ１１７のＷＥＢ情報提供部３０２に通知する。ＮＣＳ１２８は、ネットワークを制御するものであり、ｈｔｔｐｄ３０４から通知されたリクエストメッセージ受信の旨をＶＡＳ１１８に通知する。
【００７２】
　ｈｔｔｐｄ３０４は、ｈｔｔｐプロトコルで送信されてくるメッセージを受信するポート８０番を常時監視しており、このポート８０番でリクエストメッセージの受信を行うとともに、レスポンスメッセージの送信を行うものである。なお、リクエストメッセージおよびレスポンスメッセージの構造は、通常のｈｔｔｐプロトコルにおける各メッセージの構造と同様であり、各メッセージには、ｈｔｍｌ形式で記述されたメッセージボディが含まれている。また、ｈｔｔｐｄ３０４は、イーサネット（登録商標）２２０経由で受信したリクエストメッセージ受信の旨をＮＣＳ１２８に通知するとともに、リクエストメッセージを共有メモリ３０３に格納する。
【００７３】
　ｉｎｅｔｄ３０５は、リモートプリント関数の各呼び出しを受けるとともに、ネットワーク上の各種プロトコル（ｒｓｈプロトコルを含む）の着信を常時監視し、特定のプロトコルに対する接続要求を検出したら、それぞれのプロトコルを処理するサーバプログラムを起動するデーモンであり、通常のＵＮＩＸ（登録商標）におけるｉｎｅｔｄと同様の処理が行われる。実施の形態１の複合機１００では、ｒｓｈプロトコルでの着信監視のため、ｒｓｈ用ポートを常時監視して、ｒｓｈ用ポートでの接続要求を検出した場合に、ｒｓｈｄ３０８を起動する。
【００７４】
　ｔｃｐｄ３０６、ｉｐｄ３０７は、それぞれＴＣＰ／ＩＰプロトコルのＴＣＰ層、ＩＰ層に関する手順で通信処理を行うデーモンであり、通常のＵＮＩＸ（登録商標）におけるｔｃｐｄ、ｉｐｄと同様の処理が行われる。ｒｓｈｄ３０８は、本発明におけるリモート通信手段を構成するものであり、ｒｓｈプロトコルによる手順で通信処理を行うデーモンである。このｒｓｈｄ３０８は、ネットワーク経由で制御用コマンドを受信したときに、ｉｎｅｔｄ３０５により起動され、受信したリモート制御用コマンドや受信データをＮＣＳ１２８のプロセスに送信する処理を行っている。
【００７５】
　ネットワークコントローラ１０４は、ｒｓｈプロトコル、ＳＮＭＰプロトコルの通信準備、ｒｓｈプロトコルでのコマンド、データ、ステータスの送受信などの処理を行うものである。
【００７６】
　フラッシュメモリ３１０に保存されているプリンタ一覧データ３１１は、ネットワーク（イーサネット（登録商標））２２０上の印刷可能な複合機１４０ａ、プリンタ装置１４０ｂの一覧を示すデータである。このプリンタ一覧データ３１１は、複合機１００のシステム管理者やネットワーク管理者が予めイーサネット（登録商標）２２０に接続されている複合機１４０ａ（自己の複合機１００も含む）やプリンタ装置１４０ｂのプリンタ名、ＩＰアドレス、設置場所、印刷機能を把握した上で予め作成しておくものである。
【００７７】
　図５は、プリンタ一覧データ３１１の一例を示す説明図である。図５に示すように、プリンタ一覧データ３１１は、プリンタ名と、ＩＰアドレスと、各装置の設置場所と、各装置の有する印刷機能とを対応づけて保持している。
【００７８】
　フラッシュメモリ３１０に保存されているマルチプリント設定データ３１２は、プリンタ一覧データ３１１の中から予め印刷を行う複合機１４０ａ、プリンタ装置１４０ｂを抽出して設定したデータである。図６は、マルチプリント設定データ３１２の一例を示す説明図である。図６に示すように、マルチプリント設定データ３１２は、プリンタ一覧データ３１１の中からプリント要求を行う複合機１４０ａ、プリンタ装置１４０ｂを予め抽出しておき、各装置についてプリンタ名と、ＩＰアドレスと、各装置の設置場所と、各装置の有する印刷機能とを対応づけて保持している。配信アプリ１１７のプリント要求部３０１は、このマルチプリント設定データ３１２を参照して、プリント設定データ３１２に登録されている複合機１４０ａ，プリンタ装置１４０ｂのＩＰアドレスを指定してリモートプリント関数呼び出しを行って、プリント要求メッセージを送信する。
【００７９】
　マルチプリント設定データ３１２の設定は、ＷＥＢ情報提供部３０２によってＰＣ２００のＷＥＢブラウザに表示されるマルチプリント初期設定画面２０２から行う。図７は、マルチプリント初期設定画面２０２の一例を示す説明図である。配信アプリ１１７が搭載された複合機（ＭＦＰ０）１００のシステム管理者またはそれに準ずるものがＰＣ２００のＷＥＢブラウザでマルチプリント初期設定画面２０２を表示し、プリント要求を行う複合機１４０ａ，プリンタ装置１４０ｂを予め設定しておく。図７に示すように、マルチプリント初期設定画面２０２のプリンタ一覧のリストボックスには、プリンタ一覧データ３１１に登録されている複合機１４０ａ，プリンタ装置１４０ｂのプリンタ名、ＩＰアドレス、設定場所、機能が表示され、この中からプリンタ要求を行う装置を一または複数選択すると、ＷＥＢ情報提供部３０２によって選択された装置を設定したマルチプリント設定データ３１２がフラッシュメモリ３１０に生成されるようになっている。
【００８０】
　次に、このように構成された複合機１００の配信アプリ１１７を利用したマルチプリント処理方法について説明する。まず、利用者は、ＰＣ２００上の任意のアプリケーションによって生成したファイルを印刷すべく、アプリケーションの印刷コマンドを指定し、印刷画面を表示させる。図８（ａ）は、印刷画面の一例を示す説明図である。そして、ＰＣ２００の利用者は、マルチプリントを行う場合には、図８（ａ）に示すように、印刷画面のプリンタの名前フィールドに、配信アプリ１１７が搭載されている複合機（ＭＦＰ０）１００のＵＲＬを含むプリンタ名を指定する。図８（ａ）では、プリンタ名は「￥￥ＭＦＰ０￥￥１９２．１６８．１０．１」となっているが、プリンタ名の記述はこれに限定されるものではない。
【００８１】
　図８（ａ）に示すように、印刷画面において複合機（ＭＦＰ０）のプリンタ名を指定して「ＯＫ」ボタンをクリックすると、ＰＣ２００上のアプリケーションは、複合機（ＭＦＰ０）１００にアクセスする。複合機１００では配信アプリ１１７のＷＥＢ情報提供部３０２がｈｔｔｐプロトコルに従って、マルチプリント画面２０１をＰＣ２００のＷＥＢブラウザに表示させる。なお、上記のように、上記アプリケーションの印刷コマンドを指定する代わりに、WEBブラウザを用いて直接アドレスを指定してマルチプリント画面２０１を表示させてもよい。
【００８２】
　図８（ｂ）は、ＰＣ２００のＷＥＢブラウザに表示されたマルチプリント画面２０１の一例を示す説明図である。このマルチプリント画面２０１は、ｈｔｍ ｌ形式で記述されたものである。図８（ｂ）に示すように、マルチプリント画面２０１には、印刷対象のプリント用ファイルの名前を指定するファイル名フィールドと、印刷部数を指定する部数フィールドと、印刷の際に使用する機能（ステープル、両面印刷など）を指定する機能フィールドが表示される。また、ボタンとしては、ファイル名フィールドに指定されたプリント用ファイルを配信アプリ１１７が搭載されている複合機（ＭＦＰ０）１００に送信するアップロードボタンと、プリント用ファイルのマルチプリント処理の実行を指示するマルチプリントボタンと、マルチプリント処理を中止する際に操作するキャンセルボタンが表示される。
【００８３】
　図９は、ＰＣ２００からのアップロード要求およびプリント要求時における複合機１００とＰＣ２００のデータの流れを示す説明図である。ＰＣ２００の利用者は、このマルチプリント画面２０１から印刷対象のプリンタ用ファイルをファイル名フィールドに、印刷部数を部数フィールドに、使用する印刷機能を機能フィールドに設定して、アップロードボタンをクリック操作すると、その設定内容とアップロード要求のリクエストメッセージが複合機１００の配信アプリ１１７に送信される。
【００８４】
　ここで、リクエストメッセージを受信した複合機１００における処理について説明する。図１０は、リクエストメッセージを受信した複合機１００における処理の手順を示すフローチャートである。
【００８５】
　ｈｔｔｐｄ３０４は、ポート８０番を常時監視しており、ＰＣ２００からリクエストメッセージをポート８０番で受信する（ステップＳ９０１）。そして、ｈｔｔｐｄ３０４は、受信したリクエストメッセージを読み出し、リクエストメッセージを共有メモリ３０３に書き込む（ステップＳ９０２）。次に、ｈｔｔｐｄ３０４は、リクエストメッセージ受信の旨をＮＣＳ１２８に通知する（ステップＳ９０３）。
【００８６】
　通知を受けたＮＣＳ１２８は、さらにリクエストメッセージ受信の旨をＶＡＳ１１８に通知する（ステップＳ９０４）。通知を受けたＶＡＳ１１８は、さらにリクエストメッセージ受信の旨を配信アプリ１１７に通知する（ステップＳ９０５）。配信アプリ１１７のＷＥＢ情報提供部３０２は、リクエストメッセージ受信の旨の通知を受けたことをトリガとして、共有メモリ３０３を参照して、リクエストメッセージを読み出す（ステップＳ９０６）。そして、リクエストメッセージの内容を解析して（ステップＳ９０７）、リクエストメッセージのメッセージボディに記述された内容に応じた処理を実行する（ステップＳ９０８）。このとき、メッセージボディにＣＧＩを実行する旨が記述されていれば、対応するＣＧＩを実行する。
【００８７】
　そして、配信アプリ１１７は、処理の実行結果をレスポンスメッセージとして、ｈｔｔｐｄ３０４経由でリクエストメッセージの送信元であるＰＣ２００に返信する（ステップＳ９０９）。
【００８８】
　なお、本実施の形態では、リクエストメッセージ受信の旨の通知を受けたＮＣＳ１２８は、ＶＡＳ１１８に当該受信の旨を通知し、ＶＡＳ１１８から配信アプリ１１７にリクエストメッセージ受信の旨の通知を行っているが、ＮＣＳ１２８から配信アプリ１１７に直接リクエストメッセージ受信の旨の通知を行うように構成しても良い。
【００８９】
　従って、図９に示すように、ＰＣ２００のマルチプリント画面２０１においてアップロードボタンがクリックされると、アップロード要求と指定ファイル名を含むリクエストメッセージが複合機１００に送信される（ステップＳ８０１）。複合機１００では、ネットワークコントローラ１０４経由でｈｔｔｐｄ３０４がリクエストメッセージを受信する（ステップＳ８０２）。そして、ｈｔｔｐｄ３０４は、受信したリクエストメッセージを共有メモリに保存するとともに（ステップＳ８０３）、リクエストメッセージ受信の旨をＮＣＳ１２８に通知する（ステップＳ８０４）。そうして、上述したとおりリクエストメッセージ受信の旨の通知は、ＮＣＳ２２８、ＶＡＳ１１８を経由して配信アプリ１１７に通知される（ステップＳ８０５、Ｓ８０６）。配信アプリ１１７がリクエストメッセージ受信の旨の通知を受けると、ＷＥＢ情報提供部３０２によって共有メモリ３０３からリクエストメッセージを読みだし（ステップＳ８０７）、その内容を解析する。そして、ＷＥＢ情報提供部３０２は、アップロード要求であると判断して、リクエストメッセージで指定されたプリント用ファイル８０１をＰＣ２００から受信してＨＤＤ１０３に格納する（ステップＳ８０８）。
【００９０】
　次に、本実施の形態にかかる複合機１００によるネットワーク２２０上の印刷可能な複合機１４０ａ、プリンタ装置１４０ｂの選定処理およびプリンタ要求の配信処理について説明する。図１１は、印刷可能な複合機１４０ａ、プリンタ装置１４０ｂの選定処理およびプリンタ要求の配信処理におけるデータの流れを示す説明図である。また、図１２は、印刷可能な複合機１４０ａ、プリンタ装置１４０ｂの選定処理およびプリンタ要求の配信処理の手順を示すフローチャートである。
【００９１】
　ＰＣ２００のＷＥＢブラウザに表示されたマルチプリント画面２０１においてマルチプリントボタンがクリック操作されると、プリント要求、指定されたファイル名、部数および機能をメッセージボディにしたリクエストメッセージが複合機１００に送信される。このとき複合機１００では、図１０で説明した処理と同様の処理によってリクエストメッセージの受信を行い、リクエストメッセージがプリント要求であると判断する。
【００９２】
　リクエストメッセージがプリント要求であると判断したら、配信アプリ１１７のプリント要求部３０１は、フラッシュメモリ３１０からマルチプリント設定データを読み出す（ステップＳ１１０１）。そして、プリント要求部３０１は、共有メモリ３０３のリクエストメッセージに機能の指定があるか否かを判断する（ステップＳ１１０２）。
【００９３】
　リクエストメッセージ中に機能の指定がある場合には、マルチプリント設定データ３１２から指定された機能を有する複合機、プリンタ装置を抽出する（ステップＳ１１０３）。リクエストメッセージ中に機能の指定がない場合には、かかる処理は行わない。
【００９４】
　次に、プリント要求部３０１は、リクエストメッセージで指定された部数分の複合機、プリンタ装置をマルチプリント設定データ３１２またはステップＳ１１０３で抽出した複合機、プリンタ装置の中から選択する（ステップＳ１１０４）。そして、プリント要求部３０１は、選択された複合機、プリンタ装置のＩＰアドレスを指定して、リモートプリンタ関数呼び出しを行う（ステップＳ１１０５）。このリモートプリンタ関数呼び出しによって、指定されたＩＰアドレスの複合機のプリンタアプリ１１１、プリンタ装置のプリンタアプリケーションにプリント要求メッセージが送信される。なお、リモートプリンタ関数の処理については後述する。
【００９５】
　次に、プリント要求部３０１は、リモートプリンタ関数呼び出しによる戻り値が正常か否かを判断する（ステップＳ１１０６）。そして、戻り値が異常である場合には、エラーメッセージをレスポンスメッセージとしてＰＣ２００に送信する（ステップＳ１１０７）。戻り値が正常である場合には、ステップＳ１１０４で選択されたすべての複合機、プリンタ装置に対してステップＳ１１０５からＳ１１０７までの処理を繰り返し行う（ステップＳ１１０８）。これによって、指定された全てのＩＰアドレスの複合機のプリンタアプリ１１１、プリンタ装置のプリンタアプリケーションにプリント要求メッセージが送信される。
【００９６】
　次に、リモートプリント関数で実行されるプリント要求メッセージ送信処理について説明する。図１３は、リモートプリント関数におけるプリント要求メッセージ送信処理の手順を示すフローチャートである。
【００９７】
　リモートプリント関数では、まず引数として受け渡された入力データ中の指定ＩＰアドレスと、予め定められているｒｓｈ用ポート番号とを組み合わせたソケットをオープンする（ステップＳ１２０１）。そして、ｒｓｈ用ポートを使用して、他の任意のポート番号を指定ＩＰアドレスの複合機１００に送信する（ステップＳ１２０２）。これ以降、ｒｓｈプロトコルによるリモート制御用コマンドの送信が可能となる。
【００９８】
　ついで、リモートプリント関数は、リモート制御用コマンドのプリンタ予約コマンドを発行し（ステップＳ１２０３）、正常応答があった場合には、プリンタ動作確認コマンドを発行する（ステップＳ１２０４、Ｓ１２０５）。一方、正常でない旨の応答があった場合には、異常の関数戻り値で呼び出し元の配信アプリ１１７に復帰する。
【００９９】
　プリンタ動作確認コマンドは、正常応答があるまで繰り返して発行する（ステップＳ１２０６）。正常応答があった場合には、引数として入力データのプリントパラメータに基づいてＰＪＬ（Ｐｒｉｎｔｅｒ　Ｊｏｂ　Ｌａｎｇｕａｇｅ）の設定を行い（ステップＳ１２０７）、引き続きプリント開始コマンドを発行する（ステップＳ１２０８）。これにより、指定されたファイル名のプリント用ファイル８０１が複合機１４０ａ、プリンタ装置１４０ｂに送信され、複合機１４０ａのプリンタアプリ１１１またはプリンタ装置１４０ｂのプリンタアプリケーションによってプリント処理が開始する。
【０１００】
　プリント処理が完了した場合には、プリンタ解放コマンドを発行し（ステップＳ１２０９）、最後にソケットのクローズを行って（ステップＳ１２１０）、正常の関数戻り値を返す。以上によって、配信アプリ１１７によるリモートプリント関数呼び出しによって、ｒｓｈプロトコルでリモート制御用コマンドの一連の発行が行われ、選択された複合機、プリンタ装置でプリント処理が実行される。
【０１０１】
　すなわち、図１１に示すように、選択された複合機１４０ａでは、ｒｓｈ用ポートの着信監視をｉｎｅｔｄ３０７によって行っており、着信があるとｒｓｈｄ３０８を起動して受信データをＮＣＳ１２８のプロセスに受け渡す。ＮＣＳ１２８は、受信データの内容を判断して、プリント要求であればプリンタアプリ１１１に受け渡す。各アプリでは、ＮＣＳ１２８からの受信データに記述されたリモート制御用コマンドを解析し、プリント処理を実行するようになっている。
【０１０２】
　また、本実施の形態の複合機１００では、自己の複合機１００を指定してプリント要求を行うこともできる。次に、自己の複合機１００が選択されている場合のプリント要求処理について説明する。
【０１０３】
　マルチプリント設定データ３１２に、プリント要求を行う複合機として自己の複合機（ＭＦＰ０）１００が設定されている場合には、配信アプリ１１７のプリント要求部３０１は、図１２において説明したステップＳ１１０５の処理において、ループバックアドレス（ＩＰアドレス：１２７．０．０．０）を指定して、リモートプリント関数呼び出しを行う。
【０１０４】
　このループバックアドレスとは、送信データを複合機外部に送出せずに複合機内部で帰還させるために指定されるＩＰアドレスである。配信アプリ１１７は、ループバックアドレスを指定してリモートプリント関数呼び出しを行うことによって、自己の複合機内で動作するプリンタアプリ１１１に対してプリント要求を行う。ここで、配信アプリ１１７のプリント要求部３０１による処理は、ループバックアドレスを指定してリモートプリント関数呼び出しを行う点以外は、図１２に示した処理と同様の処理が行われる。
【０１０５】
　このようなループバックアドレスが指定された場合に、プリント要求を処理する汎用ＯＳ１２１のデーモン（プロセス）について説明する。図１４は、複合機１００における配信アプリ１１７と各デーモンの関係およびデータの流れを示す説明図である。
【０１０６】
　配信アプリ１１７のプリント要求部３０１がリモートプリント関数呼び出しを行うと、図１４に示すように、各関数から受け渡されるループバックアドレスやリモート制御用コマンドをｉｎｅｔｄ３０５が受信して、ｔｃｐｄ３０６、ｉｐｄ３０７を起動し、各デーモンによってパケットの生成を行う。そして、ｉｐｄ３０７は、アドレス解析の結果、ループバックアドレスが指定されている場合には、その旨をｉｎｅｔｄ３０５に送信する。このとき、ｉｎｅｔｄ３０５は、ｒｓｈｄ３０８を起動せずに、ＮＣＳ１２８のプロセスに、リモート制御用コマンド、パラメータ、プリント用ファイルなどのデータを送信する。ＮＣＳ１２８のプロセスがこれらの各データをｉｎｅｔｄ３０５から受信すると、プリンタアプリ１１１に受け渡す。プリンタアプリ１１１では、ＮＣＳ１２８からの受信データに記述されたリモート制御用コマンドを解析し、プリント処理を実行する。このような配信アプリ１１７によって、ｒｓｈプロトコルを利用してネットワーク上の他の複合機にプリント要求を行える構成のまま、自己の複合機内でプリント処理を実行することが可能となる。
【０１０７】
　このように実施の形態１にかかる複合機１００では、配信アプリ１１７のプリント要求部３０１によって、イーサネット（登録商標）２２０上のＰＣ２００からの要求を受けて、イーサネット（登録商標）２２０上の一または複数の印刷可能な複合機１４０ａ，プリンタ装置１４０ｂを選定し、ＰＣ２００のプリンタ用ファイルおよびプリント要求を配信しているので、イーサネット（登録商標）２２０上のＰＣ２００に複合機１４０ａ，プリンタ装置１４０ｂのプリンタドライバプログラムをインストールしなくても印刷することができ、ネットワーク上の複合機１４０ａ，プリンタ装置１４０ｂに対応するプリンタ環境の構築という煩雑な作業が不要となる。
【０１０８】
　また、実施の形態１にかかる複合機１００では、配信アプリ１１７のプリント要求部３０１によって、イーサネット（登録商標）２２０上の複数の複合機１４０ａ，プリンタ装置１４０ｂにプリント要求を配信しているので、印刷部数が複数ある場合でも、複数の複合機１４０ａ，プリンタ装置１４０ｂを利用して同時に印刷を行うことができ、複数部数の印刷を迅速に行うことができる。
【０１０９】
　また、実施の形態１にかかる複合機１００では、配信アプリ１１７のプリント要求部３０１によって、ループバックアドレスを指定してリモートプリント関数を呼び出すことによりプリンタ要求を行っているので、イーサネット（登録商標）２２０上の他の複合機１４０ａ、プリンタ装置１４０ｂにプリント処理を要求するようなインタフェースを有している場合でも、指定アドレスをループバックアドレスに変更するだけで、自己の複合機１００内のプリンタアプリ１１１がリモート制御用コマンドを受けて各処理を実行することができる。このため、配信アプリ１１７を大きく変更することなく、アプリケーション開発者の労力軽減を図ることができる。
【０１１０】
　（実施の形態２） 
　実施の形態１にかかる複合機１００は、イーサネット（登録商標）２２０上の複合機１４０ａ，プリンタ装置１４０ｂを予めマルチプリント設定データ３１２に設定しておき、このマルチプリント設定データ３１２によってプリント要求を配信する装置を選定していたが、この実施の形態２にかかる複合機１００は、プリント要求を配信する複合機１４０ａ，プリンタ装置１４０ｂを利用者が印刷時に選択するものである。
【０１１１】
　実施の形態２にかかる複合機１００を含むネットワーク構成は図１に示した実施の形態１と同様であり、複合機１００の構成は、図２および図４で示した実施の形態１の複合機１００と同様である。実施の形態２の複合機１００の配信アプリ１１７も、プリント要求部３０１と、ＷＥＢ情報提供部３０２とから構成される。
【０１１２】
　本実施の形態の複合機１００では、配信アプリ１１７のプリント要求部３０１によるイーサネット（登録商標）２２０上の複合機１４０ａ，プリンタ装置１４０ｂの選定処理、およびＷＥＢ情報提供部３０２がＰＣ２００のＷＥＢブラウザにプリンタ選択画面を表示し、利用者にプリンタを選択させる点が実施の形態１の複合機１００と異なっている。
【０１１３】
　図１５は、実施の形態２の複合機１００における配信アプリ１１７によるイーサネット（登録商標）２２０上の複合機１４０ａ，プリンタ装置１４０ｂの選定処理の手順を示すフローチャートである。
【０１１４】
　実施の形態１と同様に、ＰＣ２００のＷＥＢブラウザに表示されたマルチプリント画面２０１からマルチプリントボタンのクリック操作が行われた場合、プリント要求を受けた配信アプリ１１７では、まずＷＥＢ情報提供部３０２がＰＣ２００のＷＥＢブラウザにプリンタ選択画面１５０１を表示する（ステップＳ１４０１）。
【０１１５】
　図１６は、ＰＣ２００のＷＥＢブラウザに表示されるプリンタ選択画面１５０１の一例を示す説明図である。このプリンタ選択画面１５０１のプリンタ一覧のリストボックスには、ＷＥＢ情報提供部３０２によってフラッシュメモリ３１０に保存されているプリンタ一覧データ３１１が読み込まれ、読み込んだプリンタ一覧データ３１１に設定されているすべての複合機、プリンタ装置が表示される。
【０１１６】
　ＰＣ２００の利用者がプリンタ選択画面１５０１で一または複数の複合機、プリンタ装置を選択し、ＯＫボタンのクリック操作を行うと、選択された複合機、プリンタ装置のプリンタ名、マルチプリント画面２０１で指定されたファイル名、部数、機能をメッセージボディとしたリクエストメッセージが複合機１００に送信される。かかるリクエストメッセージを受信した複合機１００における処理は、実施の形態１の複合機１００と同様である。
【０１１７】
　次に、配信アプリ１１７がリクエストメッセージを受信すると、プリント要求部３０１は、リクエストメッセージで指定された複合機、プリンタ装置のＩＰアドレスを指定して、リモートプリント関数呼び出しを行う（ステップＳ１４０２）。このリモートプリンタ関数呼び出しによって、指定されたＩＰアドレスの複合機のプリンタアプリ１１１、プリンタ装置のプリンタアプリケーションにプリント要求メッセージが送信される。なお、リモートプリンタ関数の処理については実施の形態１の複合機１００と同様である。
【０１１８】
　次に、プリント要求部３０１は、リモートプリンタ関数呼び出しによる戻り値が正常か否かを判断する（ステップＳ１４０３）。そして、戻り値が異常である場合には、エラーメッセージをレスポンスメッセージとしてＰＣ２００に送信する（ステップＳ１４０４）。戻り値が正常である場合には、プリンタ選択画面１５０１で選択されたすべての複合機、プリンタ装置に対してステップＳ１４０２からＳ１４０４までの処理を繰り返し行う（ステップＳ１４０５）。これによって、プリンタ選択画面１５０１で選択された全てのＩＰアドレスの複合機のプリンタアプリ１１１、プリンタ装置のプリンタアプリケーションにプリント要求メッセージが送信される。
【０１１９】
　このように実施の形態２にかかる複合機１００では、配信アプリ１１７のＷＥＢ情報提供部３０２によって、ＰＣ２００にネットワーク上の一または複数の印刷可能な複合機、プリンタ装置を選択させるプリンタ選択画面１５０１を表示し、プリント要求部３０１によって、プリンタ選択画面１５０１から選択された複合機、プリンタ装置に対してプリント用ファイル８０１およびプリント要求を配信しているので、ＰＣ２００に複合機、プリンタ装置のプリンタドライバプログラムがインストールされていない場合でも、プリント用ファイルを、ＰＣ２００の利用者の希望する複合機、プリンタ装置で印刷することができ、イーサネット（登録商標）２２０上の複合機、プリンタ装置に対応するプリンタ環境の構築という煩雑な作業が不要となる。
【０１２０】
　また、実施の形態２にかかる複合機１００では、配信アプリ１１７のプリント要求部３０１によって、イーサネット（登録商標）２２０上の複数の複合機、プリンタ装置に印刷要求を配信しているので、印刷部数が複数ある場合でも、ＰＣ２００の利用者の希望する複数の複合機、プリンタ装置を利用して同時に印刷を行うことができ、複数部数の印刷を迅速に行うことができる。
【０１２１】
　（実施の形態３） 
　実施の形態１および２にかかる複合機１００は、イーサネット（登録商標）２２０上の複合機、プリンタ装置のプリンタ名、ＩＰアドレスなどをプリンタ一覧データ３１１として予め作成しておいて、そのプリンタ一覧データ３１１の中から実際にプリント要求を行う複合機、プリンタ装置を選択するものであったが、この実施の形態３にかかる複合機１００は、一定時間ごとにイーサネット（登録商標）２２０上の複合機、プリンタ装置のプリンタ名、ＩＰアドレスを自動的に取得してプリンタ一覧データ３１１を生成するものである。
【０１２２】
　図１７は、実施の形態３にかかる複合機１００の主要構成およびＩＰアドレス取得処理時のデータの流れを示すブロック図である。複合機１６００のその他の機能的構成は、図２に示した実施の形態１の複合機１００の構成と同様である。また、実施の形態３にかかる複合機１６００を含むネットワーク構成は図１に示した実施の形態１のネットワーク構成と同様である。
【０１２３】
　実施の形態３の複合機１６００における配信アプリ１６１７は、図１７に示すように、ＩＰ取得部１６０１と、プリント要求部３０１と、ＷＥＢ情報提供部３０２とを備えている。
【０１２４】
　ＩＰ取得部１６０１は、イーサネット（登録商標）２２０上のルータ２１０に保存されているネットワーク管理情報ベース（ＭＩＢ：Ｍａｎａｇｅｍｅｎｔ　Ｉｎｆｏｒｍａｔｉｏｎ　Ｂａｓｅ）１６１０に一定時間ごとにアクセスし、ＭＩＢに設定されているＴＣＰ／ＩＰに関するデータブロックからイーサネット（登録商標）２２０上の各複合機、プリンタ装置のＩＰアドレスを取得する。また、ＩＰ取得部１６０１は、取得したＩＰアドレスから各装置の名称を対応付けたプリンタ一覧データ３１１を生成し、フラッシュメモリ３１０に保存する処理を行う。なお、各装置の名称は、例えば、各装置から取得することができる。
【０１２５】
　ｓｎｍｐｄ１６０２は、ＩＰ取得部１６０１がルータ２１０のＭＩＢ１６１０からＩＰアドレスを取得するときに、ＭＩＢ１６１０に対してＳＮＭＰプロトコル（Ｓｉｍｐｌｅ　Ｎｅｔｗｏｒｋ　Ｍａｎａｇｅｍｅｎｔ　Ｐｒｏｔｏｃｏｌ）に従ってルータ２１０にアクセスするためのデーモン（プロセス）であり、ｉｎｅｔｄ３０５によって起動される。なお、ＭＩＢ１６１０の取得のやりとりは、通常のＳＮＭＰプロトコルに従って行われる。
【０１２６】
　このように実施の形態３にかかる複合機１６００では、配信アプリ１６１７のＩＰ取得部１６０１によって、イーサネット（登録商標）２２０上の複合機、プリンタ装置のＩＰアドレスを取得し、プリント要求部３０１よって、取得したＩＰアドレスを指定して複合機、プリンタ装置に対して、ＰＣ２００のプリント用ファイル８０１のプリント要求を配信しているので、イーサネット（登録商標）２２０上の複合機、プリンタ装置のＩＰアドレスが変更された場合や、イーサネット（登録商標）２２０上で複合機やプリンタ装置が追加された場合においても、プリンタドライバプログラムをインストールしていないＰＣ２００から確実に印刷を行うことができる。
【０１２７】
　なお、実施の形態３にかかる複合機１６００では、ＭＩＢ１６１０からＩＰアドレスを取得してプリンタ一覧データを生成しているが、ＰＣ２００からプリント要求に関するリクエストメッセージを受信するごとに、ＩＰ取得部１６０１によって、ＭＩＢ１６１０にアクセスしてＩＰアドレスを取得するように構成してもよい。
【０１２８】
　なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【図面の簡単な説明】
【０１２９】
【図１】実施の形態１にかかる複合機１００を含むネットワーク構成を示すブロック図である。
【図２】実施の形態１の複合機１００の構成を示すブロック図である。
【図３】実施の形態１の複合機１００のハードウェア構成を示すブロック図である。
【図４】実施の形態１にかかる複合機１００における配信アプリ１１７の構成およびマルチプリント処理を行うための複合機１００の主要構成を示すブロック図である。
【図５】プリンタ一覧データ３１１の一例を示す説明図である。
【図６】マルチプリント設定データ３１２の一例を示す説明図である。
【図７】マルチプリント初期設定画面２０２の一例を示す説明図である。
【図８】図８（ａ）は、印刷画面の一例を示す説明図である。図８（ｂ）は、ＰＣ２００のＷＥＢブラウザに表示されたマルチプリント画面２０１の一例を示す説明図である。
【図９】ＰＣ２００からのアップロード要求およびプリント要求時における複合機１０ ０とＰＣ２００のデータの流れを示す説明図である。
【図１０】リクエストメッセージを受信した複合機１００における処理の手順を示すフローチャートである。
【図１１】印刷可能な複合機１４０ａ、プリンタ装置１４０ｂの選定処理およびプリンタ要求の配信処理におけるデータの流れを示す説明図である。
【図１２】印刷可能な複合機１４０ａ、プリンタ装置１４０ｂの選定処理およびプリンタ要求の配信処理の手順を示すフローチャートである。
【図１３】リモートプリント関数におけるプリント要求メッセージ送信処理の手順を示すフローチャートである。
【図１４】複合機１００における配信アプリ１１７と各デーモンの関係およびデータの流れを示す説明図である。
【図１５】実施の形態２の複合機１００における配信アプリ１１７によるイーサネット（登録商標）２２０上の複合機１４０ａ，プリンタ装置１４０ｂの選定処理の手順を示すフローチャートである。
【図１６】ＰＣ２００のＷＥＢブラウザに表示されるプリンタ選択画面１５０１の一例を示す説明図である。
【図１７】実施の形態３にかかる複合機１００の主要構成およびＩＰアドレス取得処理時のデータの流れを示すブロック図である。
【符号の説明】
【０１３０】
　１００，１４０ａ，１６００　複合機
　１０１　白黒レーザプリンタ
　１０２　カラーレーザプリンタ
　１０３　ハードディスク装置（ＨＤＤ） 
　１０４　ネットワークコントローラ
　１０５　ハードウェアリソース
　１１０　ソフトウェア群
　１１１　プリンタアプリ
　１１２　コピーアプリ
　１１３　ファックスアプリ
　１１４　スキャナアプリ
　１１５　ネットファイルアプリ
　１１６　工程検査アプリ
　１１７，１６１７　配信アプリ
　１１８　ＶＡＳ 
　１２０　プラットホーム
　１２１　汎用ＯＳ 
　１２２　ＳＣＳ 
　１２３　ＳＲＭ 
　１２４　ＥＣＳ 
　１２５　ＭＣＳ 
　１２６　ＯＣＳ 
　１２７　ＦＣＳ 
　１２８　ＮＣＳ 
　１３０　アプリケーション
　２０１　マルチプリント画面
　２０２　マルチプリント初期設定画面
　２１０　ルータ
　２２０　イーサネット（登録商標）
　３０１　プリント要求部
　３０２　ＷＥＢ情報提供部
　３０３　共有メモリ
　３１０　フラッシュメモリ
　３１１　プリンタ一覧データ
　３１２　マルチプリント設定データ
　８０１　プリント用ファイル
　１４０ｂ　プリンタ装置
　１５０１　プリンタ選択画面
　１６０１　ＩＰ取得部
【図１】
2004127282.tif 000003
【図２】
2004127282.tif 000004
【図３】
2004127282.tif 000005
【図４】
2004127282.tif 000006
【図５】
2004127282.tif 000007
【図６】
2004127282.tif 000008
【図７】
2004127282.tif 000009
【図８】
2004127282.tif 000010
【図９】
2004127282.tif 000011
【図１０】
2004127282.tif 000012
【図１１】
2004127282.tif 000013
【図１２】
2004127282.tif 000014
【図１３】
2004127282.tif 000015
【図１４】
2004127282.tif 000016
【図１５】
2004127282.tif 000017
【図１６】
2004127282.tif 000018
【図１７】
2004127282.tif 000019