説明

情報処理システム、画像形成装置、情報処理装置、情報処理方法、及びプログラム

【課題】機種に対して共通なインタフェースを介して印刷要求を受け付ける画像形成装置の能力をより有効に利用させること。
【解決手段】画像形成装置と情報処理装置とを有する情報処理システムであって、前記画像形成装置は、前記画像形成装置の機種間で共通な第一の印刷属性と印刷データとを受信し、前記印刷データに前記第一の印刷属性を設定する印刷サービス手段と、前記印刷データに設定されている印刷属性に基づいて印刷の実行を制御する印刷制御手段とを有し、前記情報処理装置は、前記第一の印刷属性、前記共通の範囲を超える第二の印刷属性、及び印刷データとを含む印刷要求を受信する印刷要求受信手段と、前記第二の印刷属性を前記印刷データに設定する印刷設定手段と、前記第二の印刷属性が設定された前記印刷データと前記第一の印刷属性とを前記画像形成装置に送信する印刷要求送信手段とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、画像形成装置、情報処理装置、情報処理方法、及びプログラムに関し、特に画像形成装置に印刷を実行させる情報処理システム、画像形成装置、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
近年では、主に複合機又は融合機と呼ばれる画像形成装置において、アプリケーションを動作させるためのプラットフォームを有し、当該プラットフォームが提供する公開されたAPI(Application Program Interface)を利用して新たなアプリケーションの開発及びインストールが可能とされているものがある(例えば、特許文献1)。
【0003】
特許文献1に記載されたプラットフォーム(JSDKプラットフォーム148)のAPIは、機種に対して非依存である(機種互換が有る)ことがアプリケーションの開発者にとってのメリットの一つである。すなわち、当該APIを使用している限り、アプリケーションの開発者は機種に応じたコーディングやコンパイル等を行う必要はない。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、機種互換によるメリットの代償として、印刷属性に関するAPIについては機種依存しない程度に平滑化されたインタフェースとなっている。したがって、当該APIを介して印刷設定を行う場合、印刷先の画像形成装置の能力を有効に利用するのは困難であるという問題がある。
【0005】
本発明は、上記の点に鑑みてなされたものであって、機種に対して共通なインタフェースを介して印刷要求を受け付ける画像形成装置の能力をより有効に利用させることのできる情報処理システム、画像形成装置、情報処理装置、情報処理方法、及びプログラムの提供を目的とする。
【課題を解決するための手段】
【0006】
そこで上記課題を解決するため、本発明は、画像形成装置と情報処理装置とを有する情報処理システムであって、前記画像形成装置は、前記画像形成装置の機種間で共通な第一の印刷属性と印刷データとを受信し、前記印刷データに前記第一の印刷属性を設定する印刷サービス手段と、前記印刷データに設定されている印刷属性に基づいて印刷の実行を制御する印刷制御手段とを有し、前記情報処理装置は、前記第一の印刷属性、前記共通の範囲を超える第二の印刷属性、及び印刷データとを含む印刷要求を受信する印刷要求受信手段と、前記第二の印刷属性を前記印刷データに設定する印刷設定手段と、前記第二の印刷属性が設定された前記印刷データと前記第一の印刷属性とを前記画像形成装置に送信する印刷要求送信手段とを有する。
【0007】
このような情報処理システムでは、機種に対して共通なインタフェースを介して印刷要求を受け付ける画像形成装置の能力をより有効に利用させることができる。
【発明の効果】
【0008】
本発明によれば、機種に対して共通なインタフェースを介して印刷要求を受け付ける画像形成装置の能力をより有効に利用させることができる。
【図面の簡単な説明】
【0009】
【図1】本発明の実施の形態における情報処理システムの構成例を示す図である。
【図2】本実施の形態において印刷機能に関するソフトウェアの関係を示す図である。
【図3】印刷情報を受け付けるための各インタフェースの関係を説明するための図である。
【図4】ネットアプリ、ネットアプリ管理部、及びプロバイダアプリの機能構成例を示す図である。
【図5】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図6】本発明の実施の形態におけるユーザPCのハードウェア構成例を示す図である。
【図7】ユーザPCにおける印刷ネットアプリの処理手順を説明するためのフローチャートである。
【図8】文書ファイルがメイン画面にドラッグ&ドロップされる様子を示す図である。
【図9】印刷設定画面の表示例を示す図である。
【図10】印刷ネットアプリのアプリ情報の例を示す図である。
【図11】アプリ情報の送信時の処理手順を説明するためのシーケンス図である。
【図12】ユーザ管理テーブルの構成例を示す図である。
【図13】画像形成装置より印刷ネットアプリが操作される際の処理手順を説明するためのシーケンス図である。
【図14】ユーザ選択画面の表示例を示す図である。
【図15】ネットアプリ管理部からプロバイダアプリに送信されるアプリ基本情報の構成例を示す図である。
【図16】ネットアプリ選択画面の表示例を示す図である。
【図17】印刷ネットアプリからの要求に応じて実行される印刷処理の処理手順を説明するためのシーケンス図である。
【発明を実施するための形態】
【0010】
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における情報処理システムの構成例を示す図である。同図の情報処理システム1において、一台以上の画像形成装置10と、一台以上のユーザPC20と、ネットアプリ管理サーバ30とは、LAN(Local Area Network)等のネットワーク40(有線又は無線の別は問わない。)によって接続されている。
【0011】
ユーザPC20は、ユーザごとに割り当てられたPC(Personal Computer)であり、画像形成装置10との連携により所定のサービスを提供するアプリケーション(以下、「ネットアプリ」という。)を有する。同図では、ネットアプリの一例として印刷ネットアプリ21及びスキャンネットアプリ22が示されている。印刷ネットアプリ21は、ネットワーク40を介して通信可能な画像形成装置10に印刷ジョブを実行させるネットアプリである。スキャンネットアプリ22は、画像形成装置10においてスキャンされた画像データに対して所定の処理(例えば、配信又は保存等)を実行するネットアプリである。
【0012】
なお、同図では、一つのユーザPC20のみが示されているが、複数のユーザPC20がネットワーク40に接続されていてもよい。また、各ユーザPC20が有するネットアプリはそれぞれ異なっていてもよい。
【0013】
ネットアプリ管理サーバ30は、ネットアプリ管理部310を有するコンピュータである。ネットアプリ管理部310は、各ユーザPC20において起動されているネットアプリに関する情報の管理や、ネットアプリと画像形成装置10との通信の仲介等を行う。
【0014】
画像形成装置10は、印刷、スキャン、コピー、及びFAX送受信等の機能を一台の筐体によって実現する複合機である。但し、いずれか一つの機能を実現する装置(プリンタ、スキャナ、コピー機、ファクシミリ等)を画像形成装置10として用いてもよい。本実施の形態においては、印刷機能を実現するためのハードウェアを備えていればよい。
【0015】
同図において、画像形成装置10は、標準アプリ1210、SDKアプリ1220、SDKプラットフォーム1230、及びサービス層1240等を有する。
【0016】
標準アプリ1210は、画像形成装置10に標準的に(出荷時に予め)実装されているアプリケーションの集合である。同図では、スキャンアプリ1211、プリンタアプリ1212、コピーアプリ1213、及びFAXアプリ1214が例示されている。スキャンアプリ1211は、スキャンジョブを実行する。プリンタアプリ1212はネットワークを介して印刷データを受信し、受信された印刷データに基づいて印刷ジョブを実行する。すなわち、画像形成装置10の印刷ポート宛に送信される印刷データは、プリンタアプリ1212によって処理される。なお、プリンタアプリ1212が印刷データとして処理可能なデータの形式は、PDL(Page Description Language)に限られない。プリンタアプリ1212は、PDF(Portable Document Format)データやTIFF(Tagged Image File Format)データ等を印刷データとして受け付け、処理することもできる。したがって、以下において単に「印刷データ」というとき、そのデータはPDLデータに限定されない。
【0017】
コピーアプリ1213は、コピージョブを実行する。FAXアプリ1214は、FAXの送信ジョブ又は受信ジョブを実行する。
【0018】
サービス層1240は、各種のハードウェアリソースの制御機能や管理情報等の管理機能等を上位アプリケーション等に対して提供するソフトウェアモジュール群である。同図では、当該ソフトウェアモジュールとして、通信制御部1241、プリンタ制御部1242、及びMIB管理部1243等が例示されている。通信制御部1241は、ネットワーク通信の制御を行う。例えば、プリンタアプリ1212による印刷データの受信もネットワーク制御部1241を介して行われる。プリンタ制御部1242は、画像形成装置10のプリンタの制御を行う。例えば、プリンタアプリ1212は、プリンタ制御部1242を介してプリンタに印刷データの印刷を実行させる。MIB管理部1243は、画像形成装置10の記憶装置に記憶されたMIB(Management Information Base)情報を管理する。本実施の形態において、MIB情報には、印刷ジョブの状態を示すパラメータ(オブジェクト)が含まれている。
【0019】
SDKアプリ1220は、画像形成装置10の出荷後において、画像形成装置10の機能拡張を図るためのプラグインとして追加的にインストールされるアプリケーションである。同図では、SDKアプリ1220として、プロバイダアプリ1221が例示されている。
【0020】
プロバイダアプリ1221は、ネットアプリからの要求に応じ、画像形成装置10による機能の実行を制御する。本実施の形態では、特に、印刷ネットアプリ21からの要求に応じ、印刷ジョブをプリンタアプリ1212に実行させる。
【0021】
SDKプラットフォーム1230は、SDKアプリ1220の実行環境を提供する。換言すれば、SDKプラットフォーム1230上で動作するアプリケーションがSDKアプリ1220である。各SDKアプリ1220は、SDKプラットフォーム1230が提供するAPI(Application Program Interface)を介して画像形成装置10の各種の機能を利用する(実行させる)ことができる。例えば、当該API(以下、「SDKAPI」という。)は、スキャン機能を利用させるためのインタフェース、印刷機能を利用させるためのインタフェース、コピー機能を利用させるためのインタフェース等を含む。同図に示される印刷サービス部1231は、印刷機能を利用させるためのインタフェースを介して呼び出される。本実施の形態において、印刷サービス部1231は、印刷ネットアプリ21から印刷要求を受けたプロバイダアプリ1221によって呼び出される。
【0022】
SDKAPIは、画像形成装置10の機種に非依存な平滑化されたもの(機種間で共通化されたもの)となっている。すなわち、SDKプラットフォーム1230によって機種間の相違が吸収され、機種間の互換性が確保されている。したがって、一つの機種上のSDKプラットフォーム1230上において動作が保証されるSDKアプリ1220は、他の機種におけるSDKプラットフォーム1230上でも動作が保証される。但し、その代償として、SDKAPIを介して或る機種に固有の機能を利用することはできない。例えば、特定の機種に固有の印刷設定を利用することはできない。
【0023】
なお、SDKAPIの平滑化には、SDKプラットフォーム1230がJava(登録商標)仮想マシンを利用していることも寄与している。すなわち、SDKアプリ1220は、Java(登録商標)アプリケーションとして実装される。したがって、SDKプラットフォーム1230は、Java(登録商標)が有する機種非依存性をそのまま引き継いでいる。但し、機種非依存性を確保するために、必ずしもJava(登録商標)を利用しなくてもよい。
【0024】
ところで、図1には、印刷機能に関するソフトウェアが複数示されている。ここで、当該ソフトウェアの関係について整理する。
【0025】
図2は、本実施の形態において印刷機能に関するソフトウェアの関係を示す図である。
【0026】
通信制御部1241は、プリンタアプリ1212が印刷データを受信するための印刷ポートを開いて印刷データの受信を待機している。例えば、ユーザPC20のポートモニタ23より送信される印刷データ(すなわち、通常のワープロソフト等より印刷指示が行われ、プリンタドライバを経由して送信される印刷データ)は、印刷ポート1241pを介して受信され(S10)、プリンタアプリ1212に入力される(S11)。プリンタアプリ1212は、受信された印刷データに基づいて印刷ジョブを実行する。印刷ジョブの過程において、プリンタアプリ1212は、プリンタ制御部1242を利用して画像形成装置10のハードウェア(後述するプリンタ13)を制御する(S12)。また、プリンタアプリ1212は、印刷ジョブの進捗に応じて、印刷ジョブの状態に関するMIB情報を更新する(S13)。
【0027】
一方、印刷ネットアプリ21から送信される印刷情報は、ネットアプリ管理部310によって受信される(S21)。印刷情報とは、印刷データと印刷属性とを含む情報をいう。印刷属性とは、印刷データの出力態様を規定するデータであり、一般的に印刷設定情報又は印刷条件とも呼ばれる。印刷属性は、複数の項目を有し、項目ごとに値が設定されている。ネットアプリ管理部310は、印刷情報をプロバイダアプリ1221が提供するインタフェース用に加工し、加工後の印刷情報をプロバイダアプリ1221に送信する(S22)。印刷情報の加工とは、主として、印刷属性の一部を印刷データに設定(記録)することである。プロバイダアプリ1221は、受信した印刷情報に係る印刷要求を印刷サービス部1231に入力する(S23)。当該印刷要求の入力は、印刷サービス部1231が提供する機種非依存のインタフェース(SDKAPI)を介して行われる。印刷サービス部1231は、プロバイダアプリ1221から入力された印刷要求に係る印刷データを加工し、加工後の印刷データを印刷ポート1241p宛に送信する(S24)。印刷データの加工とは、主として、ネットアプリ管理部121によって印刷データに設定されなかった印刷属性を印刷データに設定することである。
【0028】
印刷サービス部1231より印刷ポート1241p宛に送信された印刷データは、通常の印刷データ(ポートモニタ23より送信された印刷データ)と同様に、プリンタアプリ1212によって処理される(S11〜S13)。
【0029】
印刷サービス部1231は、プロバイダアプリ1221からの印刷要求に係る印刷ジョブについて、その状態情報を定期的に監視(ポーリング)している(S31)。印刷サービス部1231は、印刷ジョブの状態が変化すると、当該状態の変化をSDKアプリ1220に通知する。当該通知に基づいてSDKアプリ1220は、印刷ジョブの状態の追跡が可能となる。
【0030】
一方、印刷ポート1241pのみをインタフェースとするプリンタアプリ1212では印刷ジョブの状態の変化をフィードバックすることはできない。また、MIB管理部1243におけるMIB情報の管理体系又は管理形態は、機種互換が保証されていない。したがって、SDKアプリ1220が直接MIB管理部1243にアクセスするのは、SDKアプリ1220の機種非依存性を損なってしまう可能性がある。
【0031】
したがって、印刷ジョブの状態を追跡したい場合、プロバイダアプリ1221はSDKアプリ1220として実装される必要がある。なお、ステップS23以降の流れは、プロバイダアプリ1221に限らず、印刷サービス部1231を利用するSDKアプリ1220に共通のものとなる。
【0032】
図2において、印刷ネットアプリ21を利用した場合の印刷ジョブの実行に関し、印刷情報を受け付けるためのインタフェースは5箇所有る。1つ目は、印刷ネットアプリ21である。印刷ネットアプリ21は、ユーザより印刷属性を受け付けためのインタフェースを有する。当該インタフェースは、画面やファイル等によって実現される。2つ目は、ネットアプリ管理部310である。ネットアプリ管理部310は、印刷ネットアプリ21より印刷属性及び印刷データを受け付けるためのインタフェースを有する。当該インタフェースは、通信上のAPI(Application Program Interface)として提供される。したがって、印刷ネットアプリ21は、当該API(以下、「ネットアプリAPI」という。)を介して印刷属性及び印刷データをネットアプリ管理部310に送信する。なお、通信上のAPIとは、例えば、HTTP(HyperText Transfer Protocol)メッセージやSOAP(Simple Object Access Protocol)メッセージ等を媒介として利用したAPIをいう。3つ目は、プロバイダアプリ1221である。プロバイダアプリ1221は、ネットアプリ管理部310より印刷属性及び印刷データを受け付けるためのインタフェースを有する。当該APIは、通信上のAPIとして提供される。4つ目は、印刷サービス部1231である。印刷サービス部1231は、プロバイダアプリ1221より印刷属性及び印刷データを受け付けるためのSDKAPIを有する。5つ目は、プリンタアプリ1212である。プリンタアプリ1212は、印刷サービス部1231より印刷データを受信するためのインタフェース(印刷ポート1241)を有する。なお、図中では、印刷ポート1241pは通信制御部1241に含まれているが、印刷ポート1241pは、プリンタアプリ1212からの要求に応じて開設されるため、ここでは、プリンタアプリ1212が有するインタフェースとして説明した。
【0033】
上記5つのインタフェースにおいて、受け付け可能な情報はそれぞれ異なる。この点にについて図3を用いて説明する。
【0034】
図3は、印刷情報を受け付けるための各インタフェースの関係を説明するための図である。同図において、a〜fのアルファベットは、項目ごとの印刷属性を示す。また、同図では、プロバイダアプリ1221に関しては省略されている。プロバイダアプリ1221のAPIにおいて指定可能なパラメータは、印刷サービス部1231のSDKAPIに依存し、プロバイダアプリ1221に対して指定可能な印刷属性は、印刷サービス部1231に対して指定可能な印刷属性と一致するからである。
【0035】
印刷ネットアプリ21は、印刷属性a〜fの受け付けが可能であることが示されている。また、ネットアプリ管理部310が提供するネットアプリAPIでは、印刷属性a〜f、及び印刷データの指定が可能であることが示されている。また、印刷サービス部1231が提供するSDKAPIでは、印刷属性a〜c、及び印刷データの指定が可能であるが示されている。また、プリンタアプリ1212に対しては、印刷データの送信が可能であることが示されている。すなわち、プリンタアプリ1212は、印刷属性の設定値を印刷データとは別に受信するためのインタフェースは提供していない。
【0036】
なお、ネットアプリ管理部310(ネットアプリAPI)及び印刷サービス部1231(SDKAPI)に対する入力に関して、各印刷属性及び印刷データにはそれぞれ独立した矢印が割り当てられているが、これは、指定可能な印刷属性の相違を視認し易くするためのものであり、実際の通信単位を限定したものではない。すなわち、ネットアプリAPIにおいて、印刷属性a〜f及び印刷データは、一回の通信でまとめて送信されてもよいし、それぞれ別個の通信で送信されてもよい。SDKAPIについても同様である。
【0037】
さて、同図より明らかなように、SDKAPIにおいて指定可能な印刷属性とネットアプリAPIにおいて指定可能な印刷属性とは異なる。より厳密に言えば、SDKAPIにおいて指定可能な印刷属性(a〜c)は、ネットアプリAPIにおいて指定可能な印刷属性(a〜f)より少ない。換言すれば、ネットアプリAPIにおいて指定可能な印刷属性の範囲は、SDKAPIにおいて指定可能な印刷属性の範囲を包含する。
【0038】
これは、SDKAPIは、画像形成装置10の機種間において共通の印刷属性(以下、「機種共通印刷属性」という。)をサポートするものであるのに対し、ネットアプリAPIは、当該共通の範囲を超える印刷属性(以下、「ネットアプリ固有印刷属性」という。)についてもサポート可能とされているからである。すなわち、同図において、印刷属性a〜cは、機種共通印刷属性に該当する。一方、印刷属性d〜fは、ネットアプリ固有印刷属性に該当する。なお、印刷サービス部1231のSDKAPIは、機種のみならず、印刷データのデータ形式に対しても非依存とされている。すなわち、プリンタアプリ1212は、印刷データを解釈する機能を有するが、画像形成装置10が有するプリンタアプリ1212の種類によって、解釈可能な印刷データが異なる。解釈可能な印刷データが異なることにより解釈可能な印刷属性も異なりうる。そこで、いずれのプリンタアプリ1212が実装されている画像形成装置10であっても動作が保証されるように、印刷サービス部1231のSDKAPIは、各種類のプリンタアプリ1212が共通に解釈可能な印刷属性をサポートするように定義されている。したがって、機種共通印刷属性は、厳密には、機種間かつ各種のプリンタアプリ1212間において共通な印刷属性であるといえる。但し、機種とプリンタアプリ1212との関係が固定的であれば、機種間で共通であるということは、各種のプリンタアプリ1212において共通であるといえる。
【0039】
なお、機種共通印刷属性とネットアプリ固有印刷属性との違いは、印刷属性の項目の違いに限定されない。同一項目における値(設定値)の違いも機種共通印刷属性とネットアプリ固有印刷属性との違いとなりうる。例えば、用紙サイズという項目に関して、機種共通印刷属性では指定できない設定値(例えば、特殊な用紙サイズやA2以上の一般的な機種では対応していない用紙サイズ等)は、ネットアプリ固有印刷属性として扱われうる。
【0040】
ここで、ネットアプリ固有印刷属性の存在意義(ネットアプリ固有印刷属性を定義する意義)について説明する。
【0041】
SDKAPIは、複数の機種に対する互換性を提供することが強く要求される。SDKAPIを利用して開発されたSDKアプリ1220は、どの機種のSDKプラットフォーム1230上でも正常に動作することが要求され、市場において不特定のユーザに対して販売される。換言すれば、SDKアプリ1220は、開発時又は販売時において、いずれの機種において利用されるのか判断することはできない。したがって、SDKAPIの守備範囲(本実施の形態では、SDKAPIで指定可能な印刷属性の範囲)は、自ずと狭くならざるを得ない。当該守備範囲は、画像形成装置10のメーカにとっては保証範囲となるからである。
【0042】
一方、オフィス等のユーザ環境においては、市場において提供されている全機種の画像形成装置10が設置されていることは極めて希である。むしろ、同一機種が複数台設置されている場合や、一台しか画像形成装置10が設置されていない場合もある。すなわち、一つのユーザ環境において利用されている機種は、SDKアプリ1220が対象としている市場全体に比べれば極めて限定されている。そうすると、実際のユーザ環境において機種間で共通に利用可能な機能の範囲は、SDKAPIにおいて共通化されている範囲より広いのが通常であると考えられる。
【0043】
斯かる考えに基づいて、本実施の形態では、ネットアプリAPIにおいて、SDKAPIの範囲を超える印刷属性(ネットアプリ固有印刷属性)の設定を可能とし、ひいては印刷ネットアプリ21に対して当該ネットアプリ固有印刷属性の設定を可能としているのである。
【0044】
但し、ネットアプリ管理部310がネットアプリAPIを介して印刷属性d〜fの受け付けを可能としても、SDKAPIでは印刷属性d〜fを指定することはできない。そこで、ネットアプリ管理部310は、SDKAPIの呼び出しの前に、ネットアプリ固有印刷属性について、印刷データへの設定を実行する(図3のステップS51)。ネットアプリ固有印刷属性の印刷データへの設定とは、当該印刷属性に関するコマンド等を含む印刷データを生成することをいう。より具体的には、印刷属性の設定前の印刷データと印刷属性に対応するコマンドとを含むデータを新たな印刷データとして生成することである。なお、当該コマンドの記述は、例えば、PJL(Printer Job Language)等、既存の言語が利用されてもよい。
【0045】
したがって、ステップS52において印刷サービス部1231に入力される印刷データは、印刷属性d〜fの設定値が設定されたものである。
【0046】
当該印刷データをSDKAPIを介して受信した印刷サービス部1231は、同じくSDKAPIを介して指定された印刷属性a〜cに関して、当該印刷データへ設定を実行する(S53)。この際、印刷サービス部1231は、印刷データに既に設定されている印刷属性(ネットアプリ固有印刷属性)について除去は行わない。その結果、印刷属性a〜fが設定された印刷データがプリンタアプリ1212に送信される。
【0047】
なお、ネットアプリAPIにおいて指定可能なネットアプリ固有印刷属性の範囲は、ユーザ環境における情報システム1の構築作業の一環としてユーザ環境に応じて定義(カスタマイズ)されてもよいし、全ユーザ環境に対して共通のもの(すなわち、固定的なもの)であってもよい。ネットアプリ固有印刷属性の範囲がユーザ環境に応じて定義される場合であっても、当該ネットアプリ固有印刷属性の範囲は、当該ユーザ環境における全機種に共通な印刷属性の範囲に限定する必要はない。例えば、当該ユーザ環境における一機種のみにおいて有効な印刷属性がネットアプリ固有印刷属性に含まれてもよい。
【0048】
続いて、印刷ネットアプリ21、ネットアプリ管理部310、及びプロバイダアプリ1221の詳細について説明する。
【0049】
図4は、ネットアプリ、ネットアプリ管理部、及びプロバイダアプリの機能構成例を示す図である。
【0050】
同図において、印刷ネットアプリ21は、UI制御部211、アプリ情報送信部212、連携部213、及び属性情報管理ファイル215等を有する。
【0051】
UI制御部211は、印刷ネットアプリ21に関する各種の表示画面をユーザPCの表示装置に表示させる。アプリ情報送信部212は、印刷指示の入力に応じ印刷ネットアプリ21のアプリ情報の登録要求をネットアプリ管理サーバ30に送信する。アプリ情報には、印刷ネットアプリ21の実行に必要な情報が含まれる。連携部213は、画像形成装置10との連携のためのコミュニケーション(情報のやりとり等)を制御する。属性情報管理ファイル215は、印刷ネットアプリ21の属性情報を格納するファイルである。属性情報には、例えば、印刷ネットアプリ21の識別子(アプリID)や、印刷ネットアプリ21の所有者であるユーザのユーザIDや、印刷属性(印刷条件を示す情報)の初期値等が含まれる。
【0052】
印刷ネットアプリ21の属性情報管理ファイル215において各ネットアプリの所有者のユーザIDが記録されていることからも分かるように、各ネットアプリはユーザに属する。したがって、同一のネットアプリであっても、各ネットアプリが属するユーザが異なる場合、各ネットアプリは異なるものとして区別される。例えば、ユーザAに属するネットアプリは、基本的にユーザAに対してのみ利用が許可される。ユーザBに属するネットアプリは、基本的にユーザBに対してのみ利用が許可される。但し、例えば、アクセス制御機能によって他のユーザに対して利用権限を与えることにより、他人が所有者であるネットアプリの利用を各ユーザに許可してもよい。
【0053】
なお、スキャンネットアプリ22も、UI制御部211、アプリ情報送信部212、連携部213、及び属性情報管理ファイル215等と同様の機能又は情報を有する。但し、スキャンネットアプリ22が処理対象とするデータは、画像形成装置10においてスキャンされた画像データである点において印刷ネットアプリ21と異なる。
【0054】
ネットアプリ管理部310は、アプリ情報登録部31、広告部32、アプリ情報提供部32、及び仲介部34等を有する。アプリ情報登録部31は、ネットアプリより送信されるアプリ情報の登録要求を受信し、当該アプリ情報をアプリ情報管理テーブル35に保存する。アプリ情報管理テーブル35は、ユーザごとにネットアプリ管理サーバ30の記憶装置に生成される。すなわち、各アプリ情報管理テーブル35は、対応するユーザに属するネットアプリのアプリ情報を管理する。なお、アプリ情報には、印刷属性及び印刷データが含まれる。すなわち、アプリ情報登録部31は、印刷ネットアプリ21に対してネットアプリAPIを提供する。
【0055】
広告部32は、アプリ情報登録部31によって受信されたアプリ情報に含まれるユーザIDをネットワーク40上に広告(ブロードキャスト又はマルチキャスト等)する。広告は、ユーザ単位(ユーザID単位)で行われる。具体的には、ユーザAに関して広告された後、ユーザAに属する新たなアプリ情報が受信されたとしても当該アプリ情報に応じた広告は行われない。すなわち、広告部32による広告は、何らかのネットアプリを利用可能になったユーザが新たに発生したことをプロバイダアプリ1221に通知するための情報である。但し、アプリ情報単位で広告が行われてもよい。この場合、同一ユーザについて重複して広告が発行されることになるが、重複の排除はプロバイダアプリ1221側で行えばよい。アプリ情報提供部33は、プロバイダアプリ1221からの要求に応じ、アプリ情報管理テーブル35に登録されているアプリ情報をプロバイダアプリ1221に提供(送信)する。仲介部34は、ネットアプリとプロバイダアプリ1221とのコミュニケーションを仲介する。また、仲介部34は、印刷ネットアプリ21に対応した固有の構成要素として、印刷設定部341及び印刷情報送信部342等を有する。
【0056】
印刷設定部341は、アプリ情報登録部31によって受信された印刷データに対して、同じく受信された印刷属性に含まれているネットアプリ固有印刷属性の設定を行う。印刷情報送信部342は、印刷設定部341によってネットアプリ固有印刷属性が設定された印刷データ及び機種共通印刷属性をプロバイダアプリ1221に送信する。
【0057】
なお、いずれかのユーザPC20が、ネットアプリ管理サーバ30を兼ねてもよい。すなわち、いずれかのユーザPC20又は各ユーザPC20に、ネットアプリ管理部310が実装されていてもよい。
【0058】
プロバイダアプリ1221は、ユーザ検知部121、UI制御部122、アプリ情報取得部123、ネットアプリ連携部124、機能制御部125、及びユーザ管理テーブル126等を有する。
【0059】
ユーザ検知部121は、ネットアプリ管理部310より発行される広告に基づいて、ネットアプリを利用可能なユーザの存在を検知し、広告に含まれているユーザID等をユーザ管理テーブル126に登録する。ユーザ管理テーブル126は、利用可能なネットアプリがネットワーク40上に存在するユーザの一覧を管理するテーブルである。UI制御部122は、ユーザよりネットアプリの操作指示等の入力を受け付ける。すなわち、ネットアプリは、ユーザPC20に配置されているが、画像形成装置10の操作パネルからも操作されうる。アプリ情報取得部123は、ユーザ管理テーブル126に登録されているユーザの中から選択されたユーザに属するネットアプリのアプリ情報をネットアプリ管理部310より取得する。ネットアプリ連携部124は、ネットアプリ(ネットアプリ管理部310)とのコミュニケーションを制御する。したがって、SDKAPIに準拠した印刷情報の受信用のインタフェースは、ネットアプリ連携部124によって提供される。機能制御部125は、ネットアプリから要求された機能の実行を制御する。例えば、機能制御部125の制御により印刷又はスキャン等が実行される。
【0060】
続いて、各装置のハードウェア構成について説明する。図5は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図5において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。
【0061】
コントローラ11は、CPU111、RAM112、ROM113、及びHDD114等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記録される。
【0062】
スキャナ12は、原稿より画像データを読み取るためのハードウェアである。プリンタは13、印刷画像を印刷用紙に印刷するためのハードウェアである。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル15は、ユーザからの入力の受け付けを行うめのボタン等の入力手段や、液晶パネル等の表示手段を備えたハードウェアである。ネットワークインタフェース16は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット17は、SDカード80に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置10では、ROM113に記録されたプログラムだけでなく、SDカード80に記録されたプログラムもRAM112にロードされ、実行されうる。なお、他の記録媒体(例えば、CD−ROM又はUSB(Universal Serial Bus)メモリ等)によってSDカード80が代替されてもよい。すなわち、SDカード80の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、SDカードスロット17は、記録媒体の種類に応じたハードウェアによって代替されればよい。
【0063】
図6は、本発明の実施の形態におけるユーザPCのハードウェア構成例を示す図である。図6のユーザPC20は、それぞれバスBで相互に接続されているドライブ装置200と、補助記憶装置202と、メモリ装置203と、CPU204と、インタフェース装置205と、表示装置206と、入力装置207とを有する。
【0064】
ユーザPC20での処理を実現するプログラムは、CD−ROM等の記録媒体201によって提供される。プログラムを記録した記録媒体201がドライブ装置200にセットされると、プログラムが記録媒体201からドライブ装置200を介して補助記憶装置202にインストールされる。但し、プログラムのインストールは必ずしも記録媒体201より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置202は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0065】
メモリ装置203は、プログラムの起動指示があった場合に、補助記憶装置202からプログラムを読み出して格納する。CPU204は、メモリ装置203に格納されたプログラムに従ってユーザPC20に係る機能を実現する。インタフェース装置205は、ネットワークに接続するためのインタフェースとして用いられる。表示装置206はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置207はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
【0066】
以下、情報処理システム1の処理手順について説明する。図7は、ユーザPCにおける印刷ネットアプリの処理手順を説明するためのフローチャートである。
【0067】
ユーザPC20においてユーザによって入力される印刷ネットアプリ21の起動指示に応じ、UI制御部211は、印刷ネットアプリ21のメイン画面を表示装置206に表示させる(S101)。続いて、UI制御部211は、印刷対象とする文書ファイル(例えば、PDFファイル又はTIFFファイル等、プリンタアプリ1212が直接的に処理可能なデータ形式の文書ファイル)の選択をユーザより受け付ける(S102)。文書ファイルの選択は、例えば、文書ファイルアイコンを印刷ネットアプリ21のメイン画面にドラッグ&ドロップすることにより行われる。
【0068】
図8は、文書ファイルがメイン画面にドラッグ&ドロップされる様子を示す図である。同図では、表示装置206に表示されたメイン画面510に、ファイルAのアイコンがドラッグ&ドロップされる様子が示されている。なお、メイン画面510は単なる矩形によって示されているが、ツールバーやプルダウンメニュー等の表示部品を備えていてもよい。また、文書ファイルの選択は、ツールボタンやメニュー項目の選択によって表示されるファイルダイアログ(ファイルシステム上に存在するファイルを選択させるためのダイアログ)を介して行われてもよい。
【0069】
文書ファイルの選択に応じ、UI制御部211は、選択された文書ファイルのファイル名をメモリ装置203に記録しておく。
【0070】
続いて、UI制御部211は、選択された文書ファイルのアイコンをメイン画面510内に表示させると共に、印刷設定画面を表示装置206に表示させる(S103)。
【0071】
図9は、印刷設定画面の表示例を示す図である。同図において、印刷設定画面520は、メイン画面510の右隣に表示されている。印刷設定画面520の詳細な表示例は図中右側に示されている。図3において説明した通り、印刷設定画面520では、機種共通印刷属性及びネットアプリ固有印刷属性に関する設定が可能とされる。同図の例では、印刷部数、カラー指定、両面、集約、用紙サイズ、折り、パンチ、及びトナーセーブ等の設定が可能とされている。このうち、印刷部数、カラー指定、両面、集約、及び用紙サイズの一部(基本的な用紙サイズ)は、機種共通印刷属性に属する。一方、用紙サイズの一部(特殊な用紙サイズ)、折り、パンチ、及びトナーセーブは、ネットアプリ固有印刷属性に属する。トナーセーブとは、トナーの消費量を抑制して印刷するモードである。なお、これらの属性項目はあくまでも例示であり、属性項目の種類は所定のものに限定されない。
【0072】
印刷設定画面510において各印刷属性の値が設定されると、UI制御部211は、設定された印刷属性をメモリ装置203に記録しておく(S105)。続いて、アプリ情報送信部211は、上記のステップにおいて取得された情報に基づいて印刷ネットアプリ21のアプリ情報を生成し、当該アプリ情報の登録要求をネットアプリ管理サーバ30に送信する(S106)。なお、各ユーザPC20には、予めネットアプリ管理サーバ30と通信するための情報(例えば、IPアドレス又はホスト名等)が登録されている。
【0073】
図10は、印刷ネットアプリのアプリ情報の例を示す図である。同図において、アプリ情報は、アプリ基本情報及びアプリ拡張情報に大別される。アプリ基本情報は、各ネットアプリが共通にアプリ情報に含める情報であり、アプリID、ユーザID、連携機能識別子、表示名等を含む。
【0074】
アプリIDは、各ネットアプリを一意に識別する識別情報である。ユーザIDは、印刷ネットアプリ21の所有者であるユーザの識別情報である。連携機能識別子は、ネットアプリと連携する画像形成装置10が有している必要のある機能(換言すれば、ネットアプリが利用する機能)を識別するための情報である。連携機能識別子の一例として「print」、「scan」等が挙げられる。「print」は、印刷機能を示す。「scan」は、スキャン機能を示す。印刷ネットアプリ21は、画像形成装置10の印刷機能を利用する。したがって、図10の例では、「print」が連携機能識別子とされている。表示名は、ネットアプリの名前の表示用の文字列である。なお、アプリID、ユーザID、連携機能識別子は、例えば、属性情報管理ファイル215より取得される。また、表示名は、印刷対象とされたファイル名と、印刷ネットアプリ21の名前とに基づいて生成される。印刷ネットアプリ21の名前は属性情報管理ファイル215より取得される。
【0075】
一方、アプリ拡張情報は、ネットアプリ21ごとにその構成が異なりうる情報である。印刷ネットアプリ21に関しては、印刷属性及び印刷データがアプリ拡張情報に含まれる。印刷属性は、印刷設定画面510において設定された印刷属性である。但し、属性情報管理ファイル215に格納されている値が含まれてもよい。印刷データは、印刷対象とされた文書ファイルそのものである。
【0076】
すなわち、印刷ネットアプリ21によるアプリ拡張情報の送信は、図3における印刷属性a〜f、及び印刷データの送信に相当する。したがって、アプリ情報の形式は、ネットアプリAPIに従ったものである。
【0077】
なお、アプリ情報は、一回の通信によってネットアプリ管理サーバ30に送信されなくてもよい。例えば、項目ごとに送信が行われてもよいし、アプリ基本情報とアプリ拡張情報とが別々に送信されてもよい。
【0078】
続いて、ステップS106のアプリ情報の送信に応じて実行される処理手順について説明する。図11は、アプリ情報の送信時の処理手順を説明するためのシーケンス図である。
【0079】
ステップS111において、印刷ネットアプリ21のアプリ情報送信部212より送信されたアプリ情報は、ネットアプリ管理部310のアプリ情報登録部31によって受信される。アプリ情報登録部31は、受信されたアプリ情報に含まれているユーザIDに対応するアプリ情報管理テーブル35に当該アプリ情報を登録する。当該ユーザIDに対応するアプリ情報管理テーブル35が存在しない場合、アプリ情報登録部31は、当該ユーザIDに対応するアプリ情報管理テーブル35を生成し、生成されたアプリ情報管理テーブル35にアプリ情報を登録する(S112)。
【0080】
アプリ情報管理テーブル35が新たに生成された場合(すなわち、受信されたアプリ情報に含まれているユーザIDに係るユーザについて、初めてアプリ情報が登録された場合)、広告部32は、受信されたアプリ情報に含まれているユーザIDと、アプリ基本情報取得用URL(Uniform Resource Locator)とを含む広告をネットワーク40上に発行する(S113)。アプリ基本情報取得用URLとは、アプリ情報管理テーブル35ごとに一意なURLである。例えば、アプリ情報登録部31は、アプリ情報管理テーブル35を生成した際に、当該アプリ情報管理テーブル35に対するアプリ基本情報取得用URLを生成する。ここで、アプリ情報管理テーブル35は、ユーザごとに生成される。したがって、アプリ基本情報取得用URLはユーザごとに一意となる。
【0081】
続いて、プロバイダアプリ1221のユーザ検知部121は、広告を受信すると、当該広告に含まれているユーザID及びアプリ基本情報取得用URLをユーザ管理テーブル126に登録する(S114)。
【0082】
図12は、ユーザ管理テーブルの構成例を示す図である。同図に示されるように、ユーザ管理テーブル126は、ユーザIDとアプリ基本情報取得用URLとの組(ペア)を管理する。同図では、ユーザA及びユーザBについてレコードが登録されている例が示されている。なお、ユーザ管理テーブル126は、例えば、HDD114に記憶されている。
【0083】
その後、ユーザPC20において印刷ネットアプリ21を介して印刷を指示したユーザは、任意のタイミングで画像形成装置10へと移動し、画像形成装置10より印刷ネットアプリ21を操作する。なお、複数の画像形成装置10がネットワーク40に接続されている場合、同一の広告が各画像形成装置10のユーザ検知部121によって受信され、それぞれの画像形成装置10のユーザ管理テーブル126にユーザID及びアプリ基本情報取得用URLが登録される。したがって、ユーザは、複数の画像形成装置10のいずれからも図13に示される処理を実行させることができる。
【0084】
図13は、画像形成装置より印刷ネットアプリが操作される際の処理手順を説明するためのシーケンス図である。
【0085】
ユーザによって操作パネル15を介してプロバイダアプリ1221の利用指示が入力されると(S201)、プロバイダアプリ1221のUI制御部122は、ユーザ管理テーブル126に登録されている情報に基づいてユーザ選択画面を操作パネル15に表示させる(S202)。
【0086】
図14は、ユーザ選択画面の表示例を示す図である。同図に示されるユーザ選択画面610には、ユーザIDごとにボタンが表示されている。同図では、ユーザAに対応するボタン611とユーザBに対応するボタン612とが表示されている。
【0087】
続いて、ユーザは、ユーザ選択画面610において自らのユーザIDに対応するボタンを押下する(S203)。ボタンの押下に応じ、アプリ情報取得部123は、選択されたボタンに対応するユーザIDに関連付けられているアプリ基本情報取得用URLをユーザ管理テーブル126より取得する。なお、ユーザIDに対応するボタンの押下に応じ、ユーザの認証を行い、ユーザが認証された場合にのみ、以降の処理が実行されるようにしてもよい。
【0088】
続いて、アプリ情報取得部123は、アプリ基本情報の取得要求をアプリ基本情報取得用URL宛に送信する(S204)。アプリ基本情報の取得要求は、ネットアプリ管理部310のアプリ情報提供部33によって受信される。アプリ情報提供部33は、アプリ基本情報取得用URLに対応するアプリ情報管理テーブル35(すなわち、画像形成装置10を操作中のユーザに対応するアプリ情報管理テーブル35)に登録されている全てのネットアプリのアプリ基本情報を取得し、取得されたアプリ基本情報の一覧をプロバイダアプリ1221に送信する(S205)。アプリ基本情報の一覧の送信に際し、アプリ情報提供部33は、各ネットアプリのアプリ拡張情報を送信するためのURL(以下、「アプリ拡張情報取得用URL」という。)をネットアプリごとに生成する。アプリ情報提供部33は、ネットアプリごとに生成されたアプリ拡張情報取得用URLを、各ネットアプリに対応するアプリ基本情報に付加し、アプリ拡張情報取得用URLが付加されたアプリ基本情報の一覧をプロバイダアプリ1221に送信する。したがって、ステップS205において送信されるアプリ基本情報は、例えば、図15に示されるような構成を有する。
【0089】
図15は、ネットアプリ管理部からプロバイダアプリに送信されるアプリ基本情報の構成例を示す図である。
【0090】
同図に示されるアプリ基本情報は、図12のアプリ基本情報に対してアプリ拡張情報取得用URLが付加されたものである。ステップS205では、同図に示されるようなアプリ基本情報の一覧が送信される。ここでは、アプリ基本情報が一つしか含まれないものもアプリ基本情報の一覧という。
【0091】
続いて、プロバイダアプリ1221のUI制御部122は、受信されたアプリ基本情報の一覧をRAM112に記録しておき、当該アプリ基本情報の一覧に基づいて、ネットアプリ選択画面を表示させる(S206)。
【0092】
図16は、ネットアプリ選択画面の表示例を示す図である。同図においてネットアプリ選択画面620には、ネットアプリごとにボタンが表示されている。同図では、スキャンネットアプリ22に対応するボタン621と、ファイルAの印刷指示に係る印刷ネットアプリ21に対応するボタン622と、ファイルBの印刷指示に係る印刷ネットアプリ21に対応するボタン623とが表示されている。
【0093】
ネットアプリ選択画面620において、いずれかの印刷ジョブに係る印刷ネットアプリ21に対応するボタンが選択され(S207)、操作パネル15のスタートキーが押下される(印刷開始指示が入力される)と(S208)、ネットアプリ連携部124は、押下されたボタンに対応するアプリ基本情報(以下、「カレントアプリ基本情報」という。)に含まれている連携機能識別子(「print」)に基づいて、印刷を実行すべきことを認識する。印刷を実行するためには印刷設定情報及び印刷データを入手する必要がある。そこで、ネットアプリ連携部124は、アプリ拡張情報の送信要求をカレントアプリ基本情報に含まれているアプリ拡張情報取得用URL宛に送信する(S209)。
【0094】
アプリ拡張情報取得用URL宛の印刷データの送信要求は、ネットアプリ管理部310の仲介部34によって受信される。仲介部34は、当該アプリ拡張情報取得用URLに対応するアプリ情報をアプリ管理テーブル35より取得し、当該アプリ情報に含まれている連携機能識別子がが「print」である場合は、アプリ拡張情報の取得要求に応じた処理を印刷設定部341及び印刷情報送信部342に実行させる。
【0095】
まず、印刷設定部341は、当該アプリ情報に含まれている印刷データについて、当該アプリ情報に含まれている印刷属性の設定処理を実行する(S210)。具体的には、当該印刷属性のうちのネットアプリ固有印刷属性を印刷データに設定する。すなわち、図3のステップS51において説明した処理が実行される。続いて、印刷情報送信部342は、ネットアプリ固有印刷属性が設定された印刷データと、当該印刷属性のうちの機種共通印刷属性とをネットアプリ連携部124に返信する(S211)。すなわち、ステップS211は、図3における印刷属性a〜c、及び印刷データの送信(S52)に相当する。
【0096】
ネットアプリ連携部124は、受信された印刷データ及び機種共通印刷属性を機能制御部125に入力する。機能制御部125は、当該印刷データ及び当該機種共通印刷属性に係る印刷要求をSDKプラットフォーム1230の印刷サービス部1231に入力する。その結果、当該印刷データ及び当該機種共通印刷属に基づく印刷ジョブが実行される(S212)。
【0097】
なお、図13の処理の実行中において、図11の処理も並列的に実行されうる。具体的には、画像形成装置10を現在操作中のユーザとは異なるユーザに係るユーザPC20が有するネットアプリからのアプリ情報の登録要求に基づいて、画像形成装置10のユーザ管理テーブル126には、当該アプリ情報に含まれているユーザID等が登録されうる。
【0098】
続いて、ステップS212の詳細について説明する。図17は、印刷ネットアプリからの要求に応じて実行される印刷処理の処理手順を説明するためのシーケンス図である。
【0099】
ステップS301においてプロバイダアプリ1221の機能制御部125は、SDKAPIを介して印刷要求を印刷サービス部1231に入力する。当該印刷要求において印刷データ及び機種共通印刷属性が指定される。当該印刷データ及び当該機種共通印刷属性は、ステップS211において印刷情報送信部342より転送されたものである。
【0100】
印刷要求の入力に応じ、印刷サービス部1231は、印刷要求と共に入力された機種共通印刷属性を印刷データに設定する(S302)。すなわち、図3のステップS53において説明した処理が実行される。したがって、ステップS302において生成される印刷データは、ネットアプリ固有印刷属性及び機種共通印刷属性が設定されたものとなる。
【0101】
なお、印刷データへの機種共通印刷属性の設定に際し、印刷サービス部1231は、機種共通印刷属性の内容(値)を、当該画像形成装置10の機種に応じて補正する。例えば、当該機種の印刷部数の上限値が「100」であるにも拘わらず、「100」を超える値が設定されている場合、印刷サービス部1231は、印刷部数の値を100以内の値に補正する。
【0102】
また、印刷サービス部1231は、印刷データのデータ形式に応じて機種共通印刷属性のコマンドを切り換える。具体的には、印刷データがPDFの場合に設定する両面指定のコマンドは、例えば、「@PJL DUPLEX=ON¥n@PJL SET BINDING=LEFT」であるのに対し、印刷データがTIFFの場合に設定する両面指定のコマンドは、例えば、「bothside」とする。なお、このようなコマンドの切り換えは、ネットアプリ管理部310の印刷設定部341によるネットアプリ固有印刷属性の設定時にも行われる。
【0103】
続いて、印刷サービス部1231は、当該印刷データを通信制御部1241における印刷ポート1241pを介してプリンタアプリ1212に送信する(S303、S304)。印刷データの受信に応じ、プリンタアプリ1212は、当該印刷データに係る印刷ジョブのジョブIDを印刷サービス部1231に返信する。
【0104】
続いて、プリンタアプリ1212は、当該印刷ジョブ用のオブジェクトをMIB管理部1243に登録(生成)する(S305)。当該オブジェクトは、ジョブIDに基づいて参照可能とされる。続いて、プリンタアプリ1212は、印刷データに設定されている印刷属性(機種共通印刷属性及びネットアプリ固有印刷属性)を解釈し、当該印刷属性に応じた命令及び印刷データ内の画像データをプリンタ制御部1242に印刷データを入力する(S306)。なお、ネットアプリ固有印刷属性について、当該画像形成装置10が対応可能なものについては、プリンタアプリ1212は正常に解釈し、プリンタ制御部1242への命令の入力を行う。その結果、SDKAPIで設定可能な範囲(すなわち、機種共通印刷属性の範囲)を超えた印刷属性に対応した印刷が実行される。
【0105】
一方、ネットアプリ固有印刷属性の中で、当該画像形成装置10が対応可能でないものについては、プリンタアプリ1212は解釈することはできない。解釈できない場合には、当該画像形成装置10が対応できない項目である場合だけでなく、当該画像形成装置10が対応可能な項目であるが設定値が上限を超える場合も含まれる。この場合、プリンタアプリ1212は、解釈できないネットアプリ固有印刷属性は無視する。すなわち、当該ネットアプリ固有印刷属性は無効とされる。
【0106】
また、機種共通印刷属性とネットアプリ固有印刷属性とが競合する場合、例えば、選択的又は排他的な値が機種共通印刷属性とネットアプリ固有印刷属性との間で設定されている場合、プリンタアプリ1212は、ネットアプリ固有印刷属性を優先させ、機種共通印刷属性を無効とする。
【0107】
なお、機種共通印刷属性に関して、設定値が上限値を超えるようなケース等、対応できない値が設定されているケースについては、SDKプラットフォーム1230である印刷サービス部1231は補正処理を行った。しかし、プリンタアプリ1212は、ネットアプリ固有印刷属性に関してはそのようなことは基本的に行わない。これは、SDKプラットフォーム1230とプリンタアプリ1212との位置付けの違いに起因するところが大きい。
【0108】
すなわち、SDKプラットフォーム1230は、機種間の互換性を維持するために、機種間の違いを吸収し、各SDKアプリ1220について、他の機種上の振る舞いと可能な限り近似した振る舞いができるような環境を提供する必要がある。そうすると、他の機種では対応可能な設定値を完全に無視してしまうよりも、当該機種において対応可能な設定値に補正する方がSDKプラットフォーム1230の役割に即しているといえる。
【0109】
一方、プリンタアプリ1212は、画像形成装置10に予め組み込まれているアプリケーションである。したがって、画像形成装置10の機種に対する依存度が非常に高い。そうすると、プリンタアプリ1212は、むしろ、機種の仕様に忠実に動作するのがあるべき姿であると考えられる。
【0110】
以上のような両者(SDKプラットフォーム1230とプリンタアプリ1212)の違いにより、設定値が上限値を超える場合等において、両者の振る舞いは異なるのである。
【0111】
続いて、プリンタ制御部1242は、入力された命令に従って、入力された画像データ印刷をプリンタ12に実行させる(S307)。
【0112】
印刷が完了すると、プリンタアプリ1212は、MIB管理部1243における当該印刷ジョブ用のオブジェクトに対し印刷の完了を示す情報を書き込む(S308)。なお、印刷が中断された場合、又は印刷に失敗した場合、プリンタアプリ1212は、それぞれの状態に応じた情報当該オブジェクトに書き込む。
【0113】
一方、印刷サービス部1231は、プリンタアプリ1212に印刷データを送信した後、通信制御部1241を利用したSNMP(Simple Network Management Protocol)通信により、MIB管理部1243において、当該印刷ジョブのジョブIDによって識別されるオブジェクトを定期的に参照(ポーリング)している(S309、S310)。印刷サービス部1231は、当該オブジェクトに印刷の完了、中断、又は失敗等を示す情報が書き込まれたこと検知すると(すなわち、印刷ジョブの状態の変化を検知すると)、印刷ジョブの状態情報を含むイベントをプロバイダアプリ1221に通知する(S311)。プロバイダアプリ1221のUI制御部122は、イベントに含まれている状態情報を操作パネル15に表示させる。また、プロバイダアプリ1221は、当該イベントをネットアプリ管理部310を介して印刷ネットアプリ21に送信してもよい。印刷ネットアプリ21は、当該イベントに含まれている状態情報を表示装置206に表示させてもよい。
【0114】
なお、印刷サービス部1231からプロバイダアプリ1221(SDKアプリ1220)へのイベントの通知を可能とするため、プロバイダアプリ1221は、印刷サービス部1231に印刷要求を入力する際に、イベント受信用のリスナー(関数又はオブジェクト等)を印刷サービス部1231に通知しておけばよい。印刷サービス部1231は、当該リスナーとジョブIDとを関連付けて保持しておき、状態が変化した印刷ジョブのジョブIDに対応したリスナーに対して当該状態情報を含むイベントを通知すればよい。
【0115】
上述したように、本実施の形態によれば、機種共通印刷属性の範囲を超えた印刷属性に基づく印刷を、プロバイダアプリ1221を介して実行させることができる。その結果、SDKプラットフォーム1230を利用した場合の恩恵を受けつつ、画像形成装置10の能力(機能)をより有効に利用することができる。ここでいう恩恵の一つとしては、印刷ジョブの状態の確認(追跡)を行うことができることである。
【0116】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0117】
1 情報処理システム
10 画像形成装置
11 コントローラ
12 スキャナ
13 プリンタ
14 モデム
15 操作パネル
16 ネットワークインタフェース
17 SDカードスロット
20 ユーザPC
21 印刷ネットアプリ
22 スキャンネットアプリ
30 ネットアプリ管理サーバ
31 アプリ情報登録部
32 広告部
33 アプリ情報提供部
34 仲介部
40 ネットワーク
80 SDカード
111 CPU
112 RAM
113 ROM
114 HDD
121 ユーザ検知部
122 UI制御部
123 アプリ情報取得部
124 ネットアプリ連携部
125 機能制御部
126 ユーザ管理テーブル
200 ドライブ装置
201 記録媒体
202 補助記憶装置
203 メモリ装置
204 CPU
205 インタフェース装置
206 表示装置
207 入力装置
211 UI制御部
212 アプリ情報送信部
213 連携部
215 属性情報管理ファイル
310 ネットアプリ管理部
341 印刷設定部
342 印刷情報送信部
1210 標準アプリ
1211 スキャンアプリ
1212 プリンタアプリ
1213 コピーアプリ
1214 FAXアプリ
1220 SDKアプリ
1221 プロバイダアプリ
1230 SDKプラットフォーム
1240 サービス層
1241 通信制御部
1242 プリンタ制御部
1243 MIB管理部
【先行技術文献】
【特許文献】
【0118】
【特許文献1】特開2007−110689号公報

【特許請求の範囲】
【請求項1】
画像形成装置と情報処理装置とを有する情報処理システムであって、
前記画像形成装置は、
前記画像形成装置の機種間で共通な第一の印刷属性と印刷データとを受信し、前記印刷データに前記第一の印刷属性を設定する印刷サービス手段と、
前記印刷データに設定されている印刷属性に基づいて印刷の実行を制御する印刷制御手段とを有し、
前記情報処理装置は、
前記第一の印刷属性、前記共通の範囲を超える第二の印刷属性、及び印刷データとを含む印刷要求を受信する印刷要求受信手段と、
前記第二の印刷属性を前記印刷データに設定する印刷設定手段と、
前記第二の印刷属性が設定された前記印刷データと前記第一の印刷属性とを前記画像形成装置に送信する印刷要求送信手段とを有する情報処理システム。
【請求項2】
前記印刷サービス手段は、前記第一の印刷属性の値が当該画像形成装置が対応可能な値でないときは、当該値を当該画像形成装置が対応可能な値に補正して前記第一の印刷属性を前記印刷データに設定する請求項1記載の情報処理システム。
【請求項3】
前記印刷制御手段は、当該画像形成装置が対応不可能な印刷属性は無効として前記印刷データの印刷の実行を制御する請求項1又は2記載の情報処理システム。
【請求項4】
請求項1乃至3いずれか一項記載の画像形成装置。
【請求項5】
請求項1乃至3いずれか一項記載の情報処理装置。
【請求項6】
画像形成装置と情報処理装置とが実行する情報処理方法であって、
前記画像形成装置は、
前記画像形成装置の機種間で共通な第一の印刷属性と印刷データとを受信し、前記印刷データに前記第一の印刷属性を設定する印刷サービス手順と、
前記印刷データに設定されている印刷属性に基づいて印刷の実行を制御する印刷制御手順とを実行し、
前記情報処理装置は、
前記第一の印刷属性、前記共通の範囲を超える第二の印刷属性、及び印刷データとを含む印刷要求を受信する印刷要求受信手順と、
前記第二の印刷属性を前記印刷データに設定する印刷設定手順と、
前記第二の印刷属性が設定された前記印刷データと前記第一の印刷属性とを前記画像形成装置に送信する印刷要求送信手順とを実行する情報処理方法。
【請求項7】
機種間で共通な第一の印刷属性と印刷データとを受信し、前記印刷データに前記第一の印刷属性を設定し、該印刷データに設定されている印刷属性に基づいて印刷を実行する画像形成装置とネットワークを介して接続されるコンピュータに、
前記第一の印刷属性、前記共通の範囲を超える第二の印刷属性、及び印刷データとを含む印刷要求を受信する印刷要求受信手順と、
前記第二の印刷属性を前記印刷データに設定する印刷設定手順と、
前記第二の印刷属性が設定された前記印刷データと前記第一の印刷属性とを前記画像形成装置に送信する印刷要求送信手順とを実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2011−60240(P2011−60240A)
【公開日】平成23年3月24日(2011.3.24)
【国際特許分類】
【出願番号】特願2009−212454(P2009−212454)
【出願日】平成21年9月14日(2009.9.14)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】