(57)【要約】【課題】印刷データに基づいて印刷ジョブを実行するアプリケーションに対するプロトコルデーモンの構成の相違による影響を軽減させることのできる画像形成装置、情報処理方法及びプログラムの提供を目的とする。【解決手段】印刷プロトコル基づいて受信されるデータに基づいてジョブを実行するジョブ実行手段を有する画像形成装置であって、印刷プロトコルの種類に応じて存在し、前記印刷プロトコルに基づいて転送されるデータを受信するデータ受信手段と、前記データ受信手段と前記印刷ジョブ実行手段との間における前記データの伝達を仲介する仲介手段とを有することにより上記課題を解決する。【選択図】図６
2009137165.tif 000002
【特許請求の範囲】
【請求項１】
印刷プロトコル基づいて受信されるデータに基づいてジョブを実行するジョブ実行手段を有する画像形成装置であって、
印刷プロトコルの種類に応じて存在し、前記印刷プロトコルに基づいて転送されるデータを受信するデータ受信手段と、
前記データ受信手段と前記印刷ジョブ実行手段との間における前記データの伝達を仲介する仲介手段とを有することを特徴とする画像形成装置。
【請求項２】
複数の前記ジョブ実行手段を有し、
前記仲介手段は、前記データの内容に基づいて前記データを伝達すべき前記ジョブ実行手段を判断することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記仲介手段は、前記データ受信手段を実現するプログラムの起動を実行することを特徴とする請求項１又は２記載の画像形成装置。
【請求項４】
前記仲介手段は、前記データ受信手段を実現するプログラムの終了を実行することを特徴とする請求項３記載の画像形成装置。
【請求項５】
印刷プロトコル基づいて受信されるデータに基づいてジョブを実行するジョブ実行手段を有する画像形成装置が実行する画像処理方法であって、
印刷プロトコルの種類に応じて存在するデータ受信手段が、前記印刷プロトコルに基づいて転送されるデータを受信するデータ受信手順と、
仲介手段が、前記データ受信手段と前記印刷ジョブ実行手段との間における前記データの伝達を仲介する仲介手順とを有することを特徴とする情報処理方法。
【請求項６】
前記画像形成装置は、複数の前記ジョブ実行手段を有し、
前記仲介手順は、前記データの内容に基づいて前記データを伝達すべき前記ジョブ実行手段を判断することを特徴とする請求項５記載の情報処理方法。
【請求項７】
前記仲介手段が、前記データ受信手段を実現するプログラムを起動する手順を有することを特徴とする請求項５又６記載の情報処理方法。
【請求項８】
前記仲介手段が、前記データ受信手段を実現するプログラムを終了させる手順を有することを特徴とする請求項７記載の情報処理方法。
【請求項９】
印刷プロトコル基づいて受信されるデータに基づいてジョブを実行するジョブ実行手段を有する画像形成装置を、
印刷プロトコルの種類に応じて存在し、前記印刷プロトコルに基づいて転送されるデータを受信するデータ受信手段と、
前記データ受信手段と前記印刷ジョブ実行手段との間における前記データの伝達を仲介する仲介手段として機能させるためのプログラム。
【請求項１０】
複数の前記ジョブ実行手段を有し、
前記仲介手段は、前記データの内容に基づいて前記データを伝達すべき前記ジョブ実行手段を判断することを特徴とする請求項９記載のプログラム。
【請求項１１】
前記仲介手段は、前記データ受信手段を実現するプログラムの起動を実行することを特徴とする請求項９又は１０記載のプログラム。
【請求項１２】
前記仲介手段は、前記データ受信手段を実現するプログラムの終了を実行することを特徴とする請求項１１記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、情報処理方法及びプログラムに関し、特に印刷プロトコル基づいて受信されるデータに基づいてジョブを実行する画像形成装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
プリンタ又は複合機等の画像形成装置では、印刷プロトコルに基づいてネットワークを介して転送される印刷データの受信についてプロトコルデーモンと呼ばれるサーバプログラムが利用される。プロトコルデーモンによって受信された印刷データは、上位のアプリケーションによって解釈され印刷される。
【特許文献１】特許第３７１０７８９号公報
【特許文献２】特開２００６−０５６０２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、印刷プロトコルは複数種類存在し、その種類ごとにプロトコルデーモンが存在する。したがって、画像形成装置を複数の印刷プロトコルに対応させたり、対応可能な印刷プロトコルを変更させたりする可能性がある。斯かる場合、上位のアプリケーション側において、プロトコルデーモンの構成の変更の影響を受けるのはアプリケーションの実行環境の汎用性の観点より好ましくない。
【０００４】
本発明は、上記の点に鑑みてなされたものであって、印刷データに基づいて印刷ジョブを実行するアプリケーションに対するプロトコルデーモンの構成の相違による影響を軽減させることのできる画像形成装置、情報処理方法及びプログラムの提供を目的とする。
【課題を解決するための手段】
【０００５】
そこで上記課題を解決するため、本発明は、印刷プロトコル基づいて受信されるデータに基づいてジョブを実行するジョブ実行手段を有する画像形成装置であって、印刷プロトコルの種類に応じて存在し、前記印刷プロトコルに基づいて転送されるデータを受信するデータ受信手段と、前記データ受信手段と前記印刷ジョブ実行手段との間における前記データの伝達を仲介する仲介手段とを有することを特徴とする。
【０００６】
このような画像形成装置では、印刷データに基づいて印刷ジョブを実行するアプリケーションに対するプロトコルデーモンの構成の相違による影響を軽減させることができる。
【発明の効果】
【０００７】
本発明によれば、印刷データに基づいて印刷ジョブを実行するアプリケーションに対するプロトコルデーモンの構成の相違による影響を軽減させることのできる画像形成装置、情報処理方法及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【０００８】
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、複合機を画像形成装置の一例として説明する。複合機１は、プリンタ、コピー、スキャナ、又は、ファクス等の複数の機能を一台の筐体において実現する画像形成装置である。但し、本発明の適用範囲は複合機に限られない。印刷プロトコルに基づいて受信される印刷要求に応じて印刷ジョブを実行可能な画像形成装置であればよい。
【０００９】
図１は、本発明の実施の形態における複合機のハードウェア構成の一例を示す図である。複合機１のハードウェアとしては、コントローラ６０１と、オペレーションパネル６０２と、ファクシミリコントロールユニット（ＦＣＵ）６０３と、撮像部６０４と、印刷部６０５が存在する。
【００１０】
コントローラ６０１は、ＣＰＵ６１１、ＡＳＩＣ６１２、ＮＢ６２１、ＳＢ６２２、ＭＥＭ−Ｐ６３１、ＭＥＭ−Ｃ６３２、ＨＤＤ（ハードディスクドライブ）６３３、メモリカードスロット６３４、ＮＩＣ（ネットワークインタフェースコントローラ）６４１、ＵＳＢデバイス６４２、ＩＥＥＥ１３９４デバイス６４３、セントロニクスデバイス６４４により構成される。
【００１１】
ＣＰＵ６１１は、種々の情報処理用のＩＣである。ＡＳＩＣ６１２は、種々の画像処理用のＩＣである。ＮＢ６２１は、コントローラ６０１のノースブリッジである。ＳＢ６２２は、コントローラ６０１のサウスブリッジである。ＭＥＭ−Ｐ６３１は、複合機１のシステムメモリである。ＭＥＭ−Ｃ６３２は、複合機１のローカルメモリである。ＨＤＤ６３３は、複合機１のストレージである。メモリカードスロット６３４は、メモリカード６３５をセットするためのスロットである。ＮＩＣ６４１は、ＭＡＣアドレスによるネットワーク通信用のコントローラである。ＵＳＢデバイス６４２は、ＵＳＢ規格の接続端子を提供するためのデバイスである。ＩＥＥＥ１３９４デバイス６４３は、ＩＥＥＥ１３９４規格の接続端子を提供するためのデバイスである。セントロニクスデバイス６４４は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル６０２は、オペレータが複合機１に入力を行うためのハードウェア（操作装置）であると共に、オペレータが複合機１から出力を得るためのハードウェア（表示装置）である。
【００１２】
図２は、本発明の実施の形態における複合機のソフトウェア構成例を示す図である。
【００１３】
同図において、複合機１は、ＯＳ（Operating System）１０１、ＪＶＭ（Java（登録商標） Virtual Machine）１０２、ＯＳＧｉ（Open Services Gateway Initiative）フレームワーク１０３、バンドル１０４、及びネイティブコード１０５等より構成される。
【００１４】
ＯＳ１０１は、いわゆるＯＳ（Operating System）である。ＪＶＭ１０２は、Ｊａｖａ（登録商標）バイトコードをＯＳ１０１上で動作可能なネイティブコードに変換して実行する。ＯＳＧｉフレームワーク１０３は、ＯＳＧｉアライアンスによる標準化技術であり、Ｊａｖａ（登録商標）言語に基づいたオープンなソフトウェア部品化技術に基づいて作成されたソフトウェア部品の実行環境を提供するソフトウェアプラットフォームである。ＯＳＧｉフレームワーク１０３上において、Ｊａｖａ（登録商標）言語のソフトウェアは「バンドル」と呼ばれるソフトウェア部品の形で実装される。一つのバンドルは、一つのＪＡＲ（Java（登録商標） ARchive）ファイルによって構成され、それぞれ独立して動的に（装置の再起動を要することなく）インストール可能である。バンドル１０４は、斯かるバンドルを示す。なお、バンドル１０４は複数存在し得る。ネイティブコード１０５は、例えば、Ｃ言語等によって作成された、ＯＳ１０１上において直接動作するプログラムである。
【００１５】
複合機１では、バンドル１０４やネイティブコード１０５によってソフトウェアコンポーネントが構成される。図３は、本発明の実施の形態における複合機のソフトウェアコンポーネントの構成例を示す図である。
【００１６】
同図に示されるように、複合機１におけるソフトウェアコンポーネント（以下、単に「コンポーネント」という。）は、アプリケーションメカニズム１０、サービスメカニズム２０、デバイスメカニズム３０、及び運用部４０等のレイヤに分類される。同図におけるレイヤの上下関係は、レイヤ間の呼び出し関係に基づいている。基本的に図中において上にあるレイヤが下のレイヤを呼び出す。すなわち、図３では、バンドル１０４又はネイティブコード１０５間の呼び出し関係に基づいて、コンポーネントの関係が整理されて示されている。なお、各コンポーネントは、例えば、ＨＤＤ６３３に記憶されており、実行時にＭＥＭ−Ｐ６３１にロードされてＣＰＵ６１１にその機能を実行させる。
【００１７】
アプリケーションメカニズム１０には、複合機１が提供する機能又は情報（データ）等の資源をユーザに利用させるためのアプリケーションとしてのコンポーネントが属する。図中ではアプリケーションとして、プリンタアプリ１１、ＰＣＦＡＸアプリ１２、及び文書保管アプリ１３等が例示されている。
【００１８】
プリンタアプリ１１は、ネットワークを介して接続されるＰＣ等より送信される印刷要求に応じて印刷処理（印刷ジョブ）を実行する。ＰＣＦＡＸアプリ１２は、ネットワークを介して接続されるＰＣ等より送信されるＦＡＸの送信要求に応じてＦＡＸ送信処理（ＦＡＸ送信ジョブ）を実行する。文書保管アプリ１３は、撮像部６０４によってスキャンされた画像データをＨＤＤ６３３に蓄積するための処理を制御する。
【００１９】
サービスメカニズム２０には、アプリケーションメカニズム１０に属するコンポーネントより共通に利用される、より基本的な機能（サービス）を提供するコンポーネントが属する。図中では、スキャンサービス２１、プロッタサービス２２、保管文書サービス２３、ユーザリポジトリサービス２４、ＵＩサービス２５、メモリサービス２６、及び通信サービス２７等が例示されている。
【００２０】
スキャンサービス２１は、撮像部６０４を用いた画像データの読み取り処理を制御する。プロッタサービス２２は、印刷部６０５を用いた画像データの印刷処理を制御する。保管文書サービス２３は、ＨＤＤ６３３への画像データの蓄積又は読み出し等を制御する。ユーザリポジトリサービス２４は、ＨＤＤ６３３に記録されているユーザ情報（アカウント情報やアドレス帳情報等）を管理する。ＵＩ部２５は、オペレーションパネル６０２に対する操作画面の表示制御や、操作画面に介して入力されるユーザ要求の検知等を行う。通信サービス２７は、各種のプロトコルによる通信を制御する。
【００２１】
デバイスメカニズム３０には、複合機１に設けられたデバイスを制御する、一般的にデバイスドライバと呼ばれるコンポーネントが属する。
【００２２】
運用部４０には、アプリケーションメカニズム１０、サービスメカニズム２０、及びデバイスメカニズム３０より共通に利用される、システムの運用管理に関するコンポーネントが属する。図中において、運用部４０にはプラグイン管理部４１が含まれている。プラグイン管理部４１は、コンポーネントのインストール又はアンインストール等を実行すると共に、インストールされているコンポーネントの一覧情報等を管理する。
【００２３】
サービスメカニズム２０における通信サービス２７について更に詳しく説明する。図４は、通信サービスの構成例を示す図である。同図において、通信サービス２７には、印刷サーバ２７１、メール受信サーバ２７２、ＦＡＸサーバ２７３、ＨＴＴＰ（HyperText Transfer Protocol）サーバ２７４、メール転送クライアント２７５、ＦＡＸ通信クライアント２７６、及びファイル転送クライアント２７７等が含まれる。それぞれは、一つのバンドルと、各通信プロトコルに応じたデーモン（サーバプログラム）又はクライアントプログラムとによって構成される。
【００２４】
印刷サーバ２７１は、各種の印刷プロトコルに基づく印刷要求の受信を制御する。メール受信サーバ２７２は、電子メールの受信処理を制御する。ＦＡＸサーバ２７３は、ＦＡＸ受信処理を制御する。ＨＴＴＰサーバ２７４は、ＨＴＴＰによる通信を制御する。メール転送クライアント２７５は、電子メールの送信処理を制御する。ＦＡＸ通信クライアント２７６は、ＦＡＸ送信処理を制御する。ファイル転送クライアント２７７は、ＦＴＰ（File Transfer Protocol）によるファイルの転送処理を制御する。
【００２５】
本実施の形態では、印刷サーバ２７１に注目する。図５は、印刷サーバの構成例を示す図である。同図に示されるように、印刷サーバ２７１は、プロトコルデーモン５１０ａ及び５１０ｂ等の一つ以上のプロトコルデーモン（以下、総称する場合「プロトコルデーモン５１０」という。）と、プロトコルデーモン管理部５２０とより構成される。
【００２６】
各プロトコルデーモン５１０は、それぞれ異なる印刷プロトコルに対するデーモンであり、それぞれの印刷プロトコルに基づく印刷要求（印刷データ）を受信する。例えば、プロトコルデーモン５１０ａはｌｐｄであり、プロトコルデーモン５１０ｂは、ｄｉｐｒｉｎｔｄであるといった具合である。各プロトコルデーモン５１０は、プロトコルデーモン管理部５２０との間で規定されている外部仕様に従って作成されている。例えば、各プロトコルデーモン５１０は、予め定められたインタフェース（メソッド）を備えている。また、各プロトコルデーモンは、予め定められた構成によってパッケージ化されている。
【００２７】
プロトコルデーモン管理部５２０は、一つのバンドルであり、プロトコルデーモン５１０より受信される印刷データのアプリケーション（アプリケーションやＰＣＦＡＸアプリ１２）への伝達を行う。すなわち、プロトコルデーモン管理部５２０によってプロトコルデーモン５１０とアプリケーションとの間の印刷データの転送が仲介される。プロトコルデーモン管理部５２０は、また、プロトコルデーモン５１０のインストール及びアンインストールの制御も行う。
【００２８】
図６は、プロトコルデーモン管理部のクラス構成例を示す図である。同図において、プロトコルデーモン管理部５２０は、印刷サーバクラス５２１、プロトコルデーモン管理クラス５２２、印刷サーバジョブ管理クラス５２３、印刷サーバジョブクラス５２４、及び振り分けクラス５２５等より構成される。
【００２９】
印刷サーバクラス５２１は、他のコンポーネントに対するインタフェースとなるクラスであり、そのインスタンス（印刷サーバオブジェクト）はデーモン管理部５２０に一つ存在する。印刷サーバクラス５２１は、印刷メソッドを備える。印刷メソッドは、プロトコルデーモン５１０によって受信された印刷データについてプロトコルデーモン管理部５２０におけるジョブ（以下、「印刷サーバジョブ」という。）を開始させる。印刷サーバジョブとは、受信される印刷データをアプリケーションに対して伝達する処理に関するジョブをいい、伝達された印刷データに基づいてアプリケーションによって実行されるジョブとは区別される。印刷サーバクラス５２１は、プラグインインタフェースクラス４１１を継承する。プラグインインタフェースクラス４１１は、複合機１においてバンドルとして構成される全てのコンポーネントが実装すべきインタフェースが定義されたクラスである。当該インタフェースとしては、アンインストールメソッド及びインストールメソッドがある。したがって、印刷サーバクラス５２１には、アンインストールメソッド及びインストールメソッドの実装が定義されている。
【００３０】
プロトコルデーモン管理クラス５２２は、プロトコルデーモン５１０とプロトコルデーモン管理部５２０との関連付けを管理すると共に、プロトコルデーモン５１０に対するインタフェースとなるクラスであり、そのインスタンス（プロトコルデーモン管理オブジェクト）は、印刷サーバオブジェクトに対して一つ存在する。一つのプロトコルデーモン管理オブジェクトは、一以上のプロトコルデーモン５１０と関連付く。プロトコルデーモン管理クラス５２２は、デーモン登録メソッド、デーモン起動メソッド、デーモン終了メソッド、及びデーモン登録解除メソッド等を備える。
【００３１】
デーモン登録メソッドは、引数に指定されたプロトコルデーモン５１０をインストールする。これにより、当該プロトコルデーモン５１０がデーモン管理部５２０を介して利用可能となる。デーモン起動メソッドは、プロトコルデーモンを起動させる。デーモン終了メソッドは、プロトコルデーモンの動作を終了させる。デーモン登録解除メソッドは、引数に指定されたプロトコルデーモン５１０をアンインストールする。
【００３２】
印刷サーバジョブ管理クラス５２３は、印刷サーバジョブを管理するクラスであり、そのインスタンス（印刷サーバジョブ管理オブジェクト）は、印刷サーバオブジェクトに対して一つ存在する。印刷サーバジョブ管理クラス５２３は、印刷サーバジョブ生成メソッドを備える。印刷サーバジョブ生成メソッドは、印刷サーバジョブを生成する。
【００３３】
印刷サーバジョブクラス５２４は、印刷サーバジョブを表現するクラスであり、そのインスタンス（印刷サーバジョブオブジェクト）は、印刷サーバジョブの数だけ存在する。印刷サーバジョブクラス５２４は、開始メソッドを備える。開始メソッドは、印刷サーバジョブを開始させる。
【００３４】
振り分けクラス５２５は、受信された印刷データの振り分け先（出力先）とするアプリケーションを判定するクラスであり、振り分けメソッドを備える。振り分けメソッドは、受信された印刷データの内容（印刷データの所定の部分に記録されている情報等）に基づいて、プリンタアプリ１１又はＰＣＦＡＸアプリ１２を印刷データの振り分け先として判定する。
【００３５】
以下、印刷サーバ２７１の処理手順について説明する。図７は、プロトコルデーモンインストール時の処理手順を説明するためのシーケンス図である。なお、シーケンス図において、各クラスのインスタンス（オブジェクト）には、当該クラスと同じ参照番号を付す。
【００３６】
ユーザによってプロトコルデーモン５１０のインストール指示がオペレーションパネル６０２を介して入力されると、当該インストール指示は、プラグイン管理部４１に通知される（Ｓ１０１）。プラグイン管理部４１は、インストール指示に係るプロトコルデーモン５１０の識別名（例えば、パッケージ名）を引数に指定して印刷サーバオブジェクト５２１のインストールメソッドを呼び出す（Ｓ１０２）。印刷サーバオブジェクト５２１は、インストールメソッドの呼び出しに応じ、指定されたプロトコルデーモン５１０の識別名と、当該プロトコルデーモン５１０のパッケージに含まれている設定ファイルのファイル名とを引数に指定して、プロトコルデーモン管理オブジェクト５２２のデーモン登録メソッドを呼び出す（Ｓ１０３）。なお、設定ファイルとは、プロトコルデーモン５１０が実行時に必要とするパラメータの値が設定されたファイルであり、例えば、ポート番号、タイムアウト時間等が記録されている。但し、その形式及び内容はプロトコルデーモン５１０ごとに異なり得る。
【００３７】
プロトコルデーモン管理オブジェクト５２２は、指定されたプロトコルデーモン５１０のパッケージに含まれているプロトコルデーモン５１０の実行形式ファイルと、設定ファイルとをＨＤＤ６３３に形成された所定のフォルダに保存すると共に、新たにインストールされたプロトコルデーモン５１０に対して識別子（以下、「デーモン識別子」という。）を割り当てる（Ｓ１０４）。なお、プロトコルデーモン管理オブジェクト５２２は、実行形式ファイルのファイル名とデーモン識別子との関連情報をＨＤＤ６３３に記録する。デーモン識別子は、デーモン登録メソッドの戻り値として印刷サーバオブジェクト５２１に返却される。
【００３８】
続いて、印刷サーバオブジェクト５２１は、デーモン識別子を引数に指定してプロトコルデーモン管理オブジェクト５２２のデーモン起動メソッドを呼び出す（Ｓ１０５）。プロトコルデーモン管理オブジェクト５２２は、デーモン起動メソッドの呼び出しに応じ、指定されたデーモン識別子に関連付けられているファイル名に係る実行形式ファイルを起動する（Ｓ１０６）。これによって、インストールされたプロトコルデーモン５１０がプロセスとして起動される。
【００３９】
次に、図８は、印刷データ受信時の処理手順を説明するためのシーケンス図である。
【００４０】
ネットワークを介して接続されるホストコンピュータより印刷データが転送されると、転送に用いられた印刷プロトコルに対応するプロトコルデーモン５１０が印刷データを受信する（Ｓ２０１）。プロトコルデーモン５１０は、受信した印刷データをスプール（ファイルとしてＨＤＤ６３３に保存）し、そのファイル名を引数としてプロトコルデーモン管理オブジェクト５２２の受信メソッドを呼び出す（Ｓ２０２）。プロトコルデーモン管理オブジェクト５２２は、受信メソッドの呼び出しに応じ、指定されたファイル名を引数に指定して印刷サーバオブジェクト５２１の印刷メソッドを呼び出す（Ｓ２０３）。
【００４１】
印刷サーバオブジェクト５２１は、印刷メソッドの呼び出しに応じ、指定されたファイル名を引数に指定して振り分けオブジェクト５２５の振り分けメソッドを呼び出す（Ｓ２０４）。振り分けオブジェクト５２５は、振り分けメソッドの呼び出しに応じ、引数に指定されたファイル名に係るファイルを参照し、当該ファイルに格納されている印刷データの振り分け先を判定する。当該印刷データが、プリンタドライバからの印刷要求に係る印刷データであれば、振り分け先はプリンタアプリ１１であると判定される。当該印刷データが、ホストコンピュータにおけるＦＡＸ送信要求用のクライアントプログラムからのＦＡＸ送信要求に係る印刷データであれば、振り分け先はＰＣＦＡＸアプリ１２であると判定される。振り分けオブジェクト５２５は、振り分け先として判定されたアプリケーションのアプリケーション名を振り分けメソッドの戻り値として印刷サーバオブジェクト５２１に返却する。
【００４２】
続いて、印刷サーバオブジェクト５２１は、印刷サーバジョブ管理オブジェクト５２３の印刷サーバジョブ生成メソッドを呼び出す（Ｓ２０５）。印刷サーバジョブ管理オブジェクト５２３は、印刷サーバジョブ生成メソッドの呼び出しに応じ、印刷サーバジョブオブジェクト５２４を生成（インスタンス化）し（Ｓ２０６）、その識別情報（例えば、参照）を戻り値として印刷サーバオブジェクト５２１に返却する。
【００４３】
続いて、印刷サーバオブジェクト５２１は、返却された識別情報に係る印刷サーバジョブオブジェクト５２４の開始メソッドを呼び出す（Ｓ２０６）。開始メソッドの引数には、振り分け先のアプリケーション名及び印刷データのファイル名が指定される。印刷サーバジョブオブジェクト５２４は、開始メソッドの呼び出しに応じ、振り分け先として指定されたアプリケーション（例えば、プリンタアプリ１１）に対して印刷データのファイル名を通知する（Ｓ２０７）。その後、プリンタアプリ１１は、通知されたファイル名に係るファイルより印刷データを読み出し、当該印刷データに基づいて印刷処理（印刷ジョブ）を実行する。
【００４４】
なお、上記では、印刷データをファイルとして保存する例を説明したが、共有メモリに記録してもよい。この場合、印刷データの保存先としての識別情報はファイル名ではなく、共有メモリ上のアドレス情報とすればよい。
【００４５】
次に、図９は、プロトコルデーモンアンインストール時の処理手順を説明するためのシーケンス図である。
【００４６】
ユーザによってプロトコルデーモン５１０のアンインストール指示がオペレーションパネル６０２を介して入力されると、当該アンインストール指示は、プラグイン管理部４１に通知される（Ｓ３０１）。プラグイン管理部４１は、アンインストール指示に係るプロトコルデーモン５１０のデーモン識別子を引数に指定して印刷サーバオブジェクト５２１のアンインストールメソッドを呼び出す（Ｓ３０２）。印刷サーバオブジェクト５２１は、アンインストールメソッドの呼び出しに応じ、指定されたデーモン識別子を引数に指定して、プロトコルデーモン管理オブジェクト５２２のデーモン終了メソッドを呼び出す（Ｓ３０３）。プロトコルデーモン管理某ジェクト５２２は、デーモン終了メソッドの呼び出しに応じ、指定された識別子に係るプロトコルデーモン５１０のプロセスを終了させる（Ｓ３０４）。
【００４７】
続いて、印刷サーバオブジェクト５２１は、デーモン識別子を引数に指定してプロトコルデーモン管理オブジェクト５２２のデーモン登録解除メソッドを呼び出す（Ｓ３０５）。プロトコルデーモン管理オブジェクト５２２は、デーモン登録解除メソッドの呼び出しに応じ、指定されたデーモン識別子に係るプロトコルデーモン５１０の実行形式ファイルや設定ファイル等をＨＤＤ６３３より削除する。以上で、プロトコルデーモン５１０のアンインストールが完了する。
【００４８】
上述したように、本実施の形態における複合機１によれば、プロトコルデーモン管理部５２０によって、プロトコルデーモン５１０とアプリケーションとの間における印刷データの伝達が仲介される。したがって、各アプリケーションは、直接プロトコルデーモンとやりとりする必要はない。換言すれば、プロトコルデーモンとのやりとりを各アプリケーションに実装する必要はない。具体的には、プロトコルデーモン５１０がネイティブコードによって実装され、アプリケーションがＪａｖａ（登録商標）によって実装されている場合、ネイティブコードとのＪＮＩ（Java（登録商標） Native Interface）による煩雑なやりとりは、プロトコルデーモン管理部５２０に集約される。
【００４９】
また、プロトコルデーモン５１０のインタフェースに変更が必要となった場合、当該変更に対する対応はプロトコル管理部５２０に限定され、各アプリケーションを修正する必要はない。
【００５０】
また、プロトコルデーモン５１０のインストール、アンインストール、起動、及び終了等、プロトコルデーモン５１０のライフサイクルの管理についてもプロトコルデーモン管理部５２０によって一元的に行われる。したがって、ライスサイクルの管理に関する仕様が変更された場合であってもその影響をプロトコルデーモン管理部によって吸収することができる。
【００５１】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施の形態における複合機のハードウェア構成の一例を示す図である。
【図２】本発明の実施の形態における複合機のソフトウェア構成例を示す図である。
【図３】本発明の実施の形態における複合機のソフトウェアコンポーネントの構成例を示す図である。
【図４】通信サービスの構成例を示す図である。
【図５】印刷サーバの構成例を示す図である。
【図６】プロトコルデーモン管理部のクラス構成例を示す図である。
【図７】プロトコルデーモンインストール時の処理手順を説明するためのシーケンス図である。
【図８】印刷データ受信時の処理手順を説明するためのシーケンス図である。
【図９】プロトコルデーモンアンインストール時の処理手順を説明するためのシーケンス図である。
【符号の説明】
【００５３】
１          複合機
１０        アプリケーションメカニズム
１１        プリンタアプリ
１２        ＰＣＦＡＸアプリ
１３        文書保管アプリ
２０        サービスメカニズム
２１        スキャンサービス
２２        プロッタサービス
２３        保管文書サービス
２４        ユーザリポジトリサービス
２５        ＵＩサービス
２６        メモリサービス
２７        通信サービス
３０        デバイスメカニズム
４０        運用部
４１        プラグイン管理部
１０１      ＯＳ
１０２      ＪＶＭ
１０３      ＯＳＧｉフレームワーク
１０４      バンドル
１０５      ネイティブコード
２７１      印刷サーバ
２７２      メール受信サーバ
２７３      ＦＡＸサーバ
２７４      ＨＴＴＰサーバ
２７５      メール転送クライアント
２７６      ＦＡＸ通信クライアント
２７７      ファイル転送クライアント
４１１      プラグインインタフェースクラス
５１０ａ、５１０ｂ  プロトコルデーモン
５２０      プロトコルデーモン管理部
５２１      印刷サーバクラス
５２２      プロトコルデーモン管理クラス
５２３      印刷サーバジョブ管理クラス
５２４      印刷サーバジョブクラス
５２５      振り分けクラス
６０４      撮像部
６０５      印刷部
６０１      コントローラ
６０２      オペレーションパネル
６０３      ファクシミリコントロールユニット
６１１      ＣＰＵ
６１２      ＡＳＩＣ
６２１      ＮＢ
６２２      ＳＢ
６３１      ＭＥＭ−Ｐ
６３２      ＭＥＭ−Ｃ
６３３      ＨＤＤ
６３４      メモリカードスロット
６３５      メモリカード
６４１      ＮＩＣ
６４２      ＵＳＢデバイス
６４３      ＩＥＥＥ１３９４デバイス
６４４      セントロニクスデバイス
【図１】
2009137165.tif 000003
【図２】
2009137165.tif 000004
【図３】
2009137165.tif 000005
【図４】
2009137165.tif 000006
【図５】
2009137165.tif 000007
【図６】
2009137165.tif 000008
【図７】
2009137165.tif 000009
【図８】
2009137165.tif 000010
【図９】
2009137165.tif 000011