【発明を実施するための形態】
【0008】
(第1の実施の形態)
(システム構成)
図1に、第1の実施の形態の情報処理システムのシステム構成図を示す。この実施の形態の情報処理システムは、複合機(MFP:Multifunction Peripheral)1、配信サーバ2、印刷サーバ3、メールサーバ4及びストレージサーバ5を有している。MFP1〜印刷サーバ3はイントラネット等の狭い範囲で使用されるネットワーク6に接続されている。メールサーバ4及びストレージサーバ5は、インターネット等の広域のネットワーク7に接続されている。なお、MFP1〜ストレージサーバ5は、それぞれ一つ設けてもよいし複数設けてもよい。
【0009】
配信サーバ2(情報処理装置の一例)には、例えばスキャン等により得られたデータを印刷するワークフローに対応する配信プログラム及びMFP1の印刷制御行う印刷プログラム等がインストールされている。印刷サーバ3(記憶装置の一例)は、MFP1にスキャンされた印刷データを蓄積するサーバであり、MFP1の印刷制御を行う印刷プログラム等がインストールされている。また、メールサーバ4は、電子メールを配信するサーバである。ストレージサーバ5は、ストレージサービスを行っている外部のサーバである。
【0010】
図2は、第1の実施の形態の情報処理システムの処理の流れを示す模式図である。この第1の実施の形態の情報処理システムの場合、MFP1(印刷部及び画像形成装置の一例)は、スキャンにより得られたデータを配信サーバ2に送信する。配信サーバは、MFP1から送信されたデータに対して、所定のワークフロー処理を施し、印刷を実行する。また、所定の条件を満たした場合に、印刷を実行せずに、ワークフロー処理されたデータを印刷サーバ3に送信する。印刷サーバ3は、ワークフロー処理されたデータを一旦、蓄積する。
【0011】
次に、MFP1は、スキャンされたデータの印刷を指定するユーザの印刷操作を検出すると、印刷サーバ3に蓄積されているデータを受信して、ワークフロー処理されたデータの印刷を実行する。
【0012】
なお、配信プログラム及び印刷制御プログラムがMFP1にインストールされている場合、配信サーバ2及び印刷サーバ3は、システム構成から除外してもよい。この場合、
図3に示すように、MFP1は、スキャンしたデータをワークフロー処理して印刷を実行する。また、所定の条件を満たした場合に、印刷実行せずに、ワークフロー処理されたデータを蓄積し、ユーザから印刷指示があった際、印刷処理を実行する。このように、第1の実施の形態のシステム動作は、MFP1で完結させることができるが、以下、
図1のシステム構成に基づいて、説明を進める。
【0013】
(MFPのハードウェア構成)
図4は、MFP1のハードウェア構成を示す図である。この
図4に示すようにMFP1は、コピー機能、スキャナ機能、ファクシミリ機能、プリンタ機能等の各種の画像形成機能を備えた本体10と、ユーザの操作に応じた入力を受け付ける操作部20とを備える。本体10と操作部20は、専用の通信路30を介して相互に通信可能に接続されている。通信路30は、例えばUSB(Universal Serial Bus)規格のものを用いることもできる。また、有線か無線かを問わず任意の規格のものを用いることができる。また、本体10は、コピー機能、スキャナ機能、ファクシミリ機能、プリンタ機能等の画像形成機能のうち、一つの機能を有していてもよいし、複数の機能を有していてもよい。
【0014】
操作部20としては、単独で完結した情報処理を実行可能な電子機器を用いることができる。一例として、操作部20としては、スマートフォン又はタブレット型端末等の情報処理端末(スマートデバイス)を用いることができる。この場合、操作部20として用いられるスマートデバイスは、MFP1の操作部として機能する。
【0015】
より詳しくは、操作部20として用いられるスマートデバイスは、従来、MFP1専用の操作部として固定され設置されていた操作パネルの代わりに、MFP1に対して装着及び取り外しが可能に接続される。すなわち、操作部20として用いられるスマートデバイスは、例えばMFP1の操作パネルが配置される位置等の所定の位置に取り外し可能(分離可能)ながらも、MFP1と一体的に設置される。従って、操作部20として用いられるスマートデバイスおよびMFP1は、一台の装置として把握されてもよい。操作部20であるスマートデバイスは、MFP1から取り外されると、MFP1との間で、例えばBluetooth(登録商標)、Wi−Fi(登録商標)又は赤外線通信等の無線通信を行い、MFP1の操作部として機能する。なお、MFP1は、このように本体10から操作部20が取り外し可能となっているが、操作部20が本体10に固定されていてもよい。
【0016】
本体10は、操作部20で受け付けた入力に応じた動作を行う。また、本体10は、配信サーバ2及び印刷サーバ3等と通信可能であり、印刷サーバ3から受信したワークフロー処理済みの画像データの印刷処理等を行う。
【0017】
(本体のハードウェア構成)
次に、本体10のハードウェア構成について説明する。
図1に示すように、本体10は、CPU11と、ROM12と、RAM13と、HDD(ハードディスクドライブ)14とを備える。また、本体10は、通信部(インタフェース)15と、接続I/F16と、エンジン部17とを備える。各部11〜17は、システムバス18を介して相互に接続されている。
【0018】
CPU11は、本体10の動作を統括的に制御する。CPU11は、RAM13をワークエリア(作業領域)としてROM12又はHDD14等に格納されたプログラムを実行することで、本体10全体の動作を制御し、上述したコピー機能、スキャナ機能、ファクシミリ機能、プリンタ機能などの各種機能を実現する。
【0019】
通信部15は、ネットワーク6及びネットワーク7上の各サーバ2〜5と通信するためのインタフェースである。接続I/F16は、通信路30を介して操作部20と通信するためのインタフェースである。なお、
図4において、通信路30は、有線的に図示されているが、上述のように操作部20は、MFP1の本体10に対して装着及び取り外し可能に設けられている。このため、操作部20をMFP1に装着しているときには、通信路30は有線通信路として機能し、操作部20をMFP1から取り外したときには、通信路30は無線通信路として機能するものと理解されたい。
【0020】
エンジン部17は、コピー機能、スキャナ機能、ファクシミリ機能及びプリンタ機能を実現させるための、汎用的な情報処理及び通信以外の処理を行うハードウェアである。エンジン部17は、例えば原稿の画像をスキャンして読み取るスキャナ(画像読取部)、用紙等のシート材への印刷を行うプロッタ(画像形成部)、ファクシミリ通信を行うファクシミリ通信部等を備えている。なお、印刷済みシート材を仕分けるフィニッシャ及び原稿を自動給送するADF(自動原稿給送装置)等の特定のオプションを設けてもよい。
【0021】
(操作部のハードウェア構成)
次に、操作部20のハードウェア構成について説明する。
図4に示すように、操作部20は、CPU21と、ROM22と、RAM23と、フラッシュメモリ24と、通信部25と、接続I/F26と、操作パネル27とを備え、これらがシステムバス28を介して相互に接続されている。
【0022】
CPU21は、操作部20の動作を統括的に制御する。CPU21は、RAM23をワークエリア(作業領域)としてROM22又はフラッシュメモリ24等に格納されたプログラムを実行することで、操作部20全体の動作を制御する。接続I/F26は、通信路30を介して本体10と通信するためのインタフェースである。
【0023】
操作パネル27は、タッチセンサを備えた液晶表示装置(LCD)で構成される。操作パネル27は、ユーザの操作に応じた各種の入力を受け付けると共に、例えば受け付けた入力に応じた情報、MFP1の動作状況を示す情報、設定状態を示す情報等の各種の情報を表示する。なお、操作パネル27は、タッチセンサを備えた有機EL表示装置で構成されてもよい。さらに、これに加えて又はこれに代えて、ハードウェアキー等の操作部やランプ等の表示部を設けることもできる。
【0024】
(各サーバ装置のハードウェア構成)
図5は、各サーバ2〜5のハードウェア構成図である。各サーバ2〜5は、この
図5に示す構成と同様の構成を有している。各サーバ2〜5を代表して、配信サーバ2のハードウェア構成を説明する。配信サーバ2は、CPU31、ROM32、RAM33、HDD34、通信部35を備えている。CPU31〜通信部35は、システムバス38を介して相互に接続されている。配信サーバ2のHDD34(記憶部の一例)には、配信プログラム等の各種アプリケーションプログラムの他、後述するワークフローが記憶される。また、印刷サーバ3のHDD34には、印刷プログラム等の各種アプリケーションプログラムが記憶されている。配信プログラム及び印刷プログラムは、ROM32又はRAM33等の他の記憶部に記憶してもよい。
【0025】
なお、この実施の形態の例では、機能の独立性を保つために、本体10側のOSと操作部20側のOSが互いに異なる。つまり、本体10と操作部20は、別々のオペレーティングシステムで互いに独立して動作する。一例ではあるが、第1の実施の形態の場合、本体10側には、OSとしてリナックス(Linux(登録商標))が設けられ、操作部20側には、OSとしてアンドロイド(Android(登録商標))が設けられている。
【0026】
本体10及び操作部20を別々のオペレーティングシステムで動作させることで、本体10と操作部20との間の通信は、共通の装置内のプロセス間通信ではなく、異なる装置間の通信として行われる。操作部20が受け付けた入力(ユーザからの指示内容)を本体10へ伝達する動作(コマンド通信)及び本体10が操作部20へイベントを通知する動作等がこれに該当する。ここでは、操作部20が本体10へコマンド通信を行うことにより、本体10の機能を使用することができる。また、本体10から操作部20に通知するイベントには、本体10における動作の実行状況、本体10側で設定された内容等がある。
【0027】
(配信サーバの機能ブロック構成)
図6は、配信サーバのCPU31が、HDD34に記憶されている配信プログラムを実行することで実現される各機能の機能ブロック図である。この
図6に示すように、CPU31は、配信プログラムを実行することで、ジョブ入力部51、ジョブキュー記憶制御部52、フロー実行制御部53(ワークフロー実行部の一例)、フロー定義記憶制御部54、プラグイン記憶制御部55、フロー作成部56及び通信制御部57として機能する。
【0028】
(印刷サーバの機能ブロック構成)
図7は、印刷サーバ3のCPU31が、HDD34に記憶されている印刷プログラムを実行することで実現される各機能の機能ブロック図である。この
図7に示すように、CPU31は、印刷プログラムを実行することで、文書データ受付部61、印刷ジョブ生成部62、印刷ジョブ記憶制御部63、印刷ジョブ送信部64及び通信制御部65として機能する。
【0029】
印刷サーバ3は、従来、データをポートモニタから取得していたが、この実施の形態の例の場合、配信サーバ2からネットワーク6,7を介してデータを取得してもよい。また、従来は、ポートモニタがデータを、MFP1のプリンタ機能が理解できるにフォーマット変換するレンダリング処理することで、印刷ジョブ(印刷情報の一例)を生成する。これに対し、実施の形態の例の場合、ポートモニタを介さずに、印刷サーバ3がレンダリング処理を行って印刷ジョブを生成する。なお、データのフォーマットが、例えばPDF(登録商標)(Portable Document Format)等のようにプリンタ機能が直接的に理解できるフォーマットである場合、レンダリング処理はしなくてもよい。このような場合は、印刷ジョブ生成部62でレンダリング処理を行われない。また、配信サーバ2において印刷ジョブが生成され、印刷サーバ3に送信された場合に、印刷ジョブ生成部62はレンダリング処理をしなくてもよい。
【0030】
なお、配信プログラム及び印刷プログラムの上述の各機能の一部又は全部を、IC(半導体集積回路)等のハードウェアで実現してもよい。また、配信プログラム及び印刷プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)等のコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、CD−R、DVD、ブルーレイディスク(登録商標)、半導体メモリ等のコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。DVDは、「Digital Versatile Disk」の略記である。また、配信プログラム及び印刷プログラムは、インターネット等のネットワーク経由で提供してもよい。また、配信プログラム及び印刷プログラムを、ネットワークを介してダウンロードし、操作部20(又は本体10)にインストールして実行してもよい。また、配信プログラム及び印刷プログラムを、機器内のROM等に予め組み込んで提供してもよい。
【0031】
(配信サーバのモジュール構成)
次に、
図8は、配信サーバ2のモジュール構成を示す図である。この
図8に示すように、配信サーバ2は、ワークフローフレームワーク71上に入力プラグイン72、処理プラグイン73(フィルタープラグイン)、出力プラグイン74を備えたモジュール構成となっている。入力プラグイン72としては、例えばスキャンプラグイン75、ホットフォルダプラグイン76等が設けられている。また、処理プラグイン73としては、例えばOCRプラグイン77、画像変換プラグイン78、画像補正プラグイン79、画像フォーマット変換プラグイン80、スタンププラグイン81等が設けられている。また、出力プラグイン74としては、例えばメール配信プラグイン82、FTP(File Transfer Protocol)配信プラグイン83、フォルダ配信プラグイン84、及び、印刷プラグイン85等が設けられている。
【0032】
各プラグインは、ワークフロージョブに含まれる処理を実行する実行単位である。各プラグインは、管理者等が所望のプラグインを選択してインストールできるようになっている。このため、印刷プラグイン85がインストールされない場合もある。このようなプラグインのうち、処理プラグイン73は、例えば画像補正プラグイン79によりデータサイズの変更等の画像補正を行い、画像フォーマット変換プラグイン80でデータのフォーマットをPDF(登録商標)に変換し、OCR(optical character reader)プラグイン77で画像上の文字を読み取りテキストデータに変換するOCR処理を行う等のように、実行に時間を要する。
【0033】
(ワークフロー)
図9は、管理者等により上述の各プラグインから選択され設定されたワークフローの一例を示す図である。この
図9において、実線の枠で示すプラグインは処理プラグイン73に分類されるプラグインである。また、
図9において、点線の枠で示すプラグインは出力プラグイン74に分類されるプラグインであり、データの配信形態を示している。
【0034】
この
図9は、MFP1によりスキャンされ、配信サーバ2に配信されたデータに対して、画像補正プラグイン79→画像フォーマット変換プラグイン→OCRプラグイン77→フォルダ配信プラグイン84の順に処理を施すワークフローが設定されている例を示している。このようなワークフローは、分岐させることも可能である。
図9の例の場合、画像フォーマット変換プラグイン80をFTP配信プラグイン83でFTP配信する分岐のワークフローも設定されている。
【0035】
さらに、
図9の例の場合、画像変換プラグイン78で画像のサイズ変換等を施したデータを、メール配信プラグイン82を実行することでメールサーバ4に送信するワークフロー、及び、スタンププラグイン81でスタンプを付加したデータを、印刷プラグイン85の処理を行うことで、印刷サーバ3を介してMFP1に送信して印刷を行うワークフローも設定されている。
【0036】
なお、ワークフローが分岐している場合、各ワークフローを並列に実行しても良いが、この例においては、
図6に示すフロー実行制御部53は、分岐している各ワークフローを順次実行する。このため、フロー実行制御部53は、画像補正プラグイン79からフォルダ配信84のワークフローを実行すると、画像フォーマット変換プラグイン80まで処理を戻し、分岐してFTP配信プラグイン83を実行する。また、この後、フロー実行制御部53は、画像変換プラグイン78を実行してデータのサイズ変更処理等を行い、メール配信プラグイン82を実行することで、サイズ変更処理等を行ったデータが付加された電子メールをメールサーバ4に配信する。さらに、この後、フロー実行制御部53は、スタンププラグイン81を実行することでデータにスタンプを付加し、印刷サーバ3に配信する印刷プラグイン85を実行する。
【0037】
すなわち、この例の場合における、フロー実行制御部53のワークフロー全体の処理順序は、画像補正プラグイン79→画像フォーマット変換プラグイン80→OCRプラグイン77→フォルダ配信プラグイン84→FTP配信プラグイン83→画像変換プラグイン78→メール配信プラグイン82→スタンププラグイン81→印刷プラグイン85の順となる。このように各ワークフローを並列に実行することで、後述するワークフローの処理時間を計算し易くすることができる。
【0038】
(配信サーバに対するワークフローの設定動作)
図10は、ワークフローの設定動作を説明するためのシーケンス図である。ワークフローを設定する場合、管理者は、ステップS1において、配信サーバ2を操作することで、所望のプラグインを選択し、ワークフローの設定を指示する。ワークフローの設定指示を検出すると、
図6に示すプラグイン記憶制御部55が、ステップS2において、配信サーバ2のHDD34に記憶されている上述の各種プラグイン77〜85の中から、管理者により指定されたプラグインを検索する。そして、フロー作成部56が、検索されたプラグインを用いて、管理者から指定された処理順序のワークフローを作成する。フロー定義記憶制御部54は、作成されたワークフローを、配信サーバ2のHDD34等の記憶部に保存する。
【0039】
次に、以下の表1に、文書が記載された用紙をMFP1がスキャン処理することで形成された画像データに付加される書誌情報の一例を示す。
【0041】
この表示1に例示するように、スキャンにより形成された画像データには、「ジョブ識別番号(ジョブID)」、「投入された時間」、「ユーザ名」、「MFPのIPアドレス」、「フォーマット情報(フォーマット)」、「ワークフローID」、「印刷サイズ(サイズ)」、及び「印刷種別(カラー/モノクロ)」等の書誌情報が付加される。
【0042】
「ジョブID」は、スキャンにより得られた画像データに対いて付加される一意の識別番号である。「ユーザ名」は、スキャンを行ったユーザの名前である。「MFPのIPアドレス」は、スキャンにより得られた画像データを印刷するMFPのネットワーク6内のIPアドレスである。「フォーマット情報」は、スキャンにより得られた画像データの、例えばJPEG(Joint Photographic Experts Group)又はGIF(Graphics Interchange Format)等のフォーマットを示す情報である。フォーマットは、画像フォーマット変換プラグイン80により、JPEGからPDF(登録商標)に変換することも可能である。「ワークフローID」は、スキャンにより得られた画像データに施されるワークフローを示す識別番号である。「印刷種別(カラー/モノクロ)」は、スキャンにより得られた画像データをカラー印刷するかモノクロ印刷するかを指定するための情報である。
【0043】
1つのジョブに対しては、このような書式情報が1つ付加される。このような書式情報は、ワークフロージョブの生成時に作成され、フロー作成部56により、ワークフロージョブの一部として配信データ(画像データ)と共にHDD34等の記憶部に保存される。
【0044】
また、ワークフローIDは、フロー定義記憶制御部54により管理される。このため、ジョブは、ワークフローIDを参照することで、実行されるワークフローを認識できる。このワークフローIDは、ユーザがMFP1の操作画面を介して選択したワークフローに応じて変化する。
【0045】
また、このような書誌情報は、印刷時にも用いられる。例えば、A4サイズの用紙をスキャンすることで得られた画像データは、A4サイズの用紙に印刷される。また、カラー印刷が選択されている場合は、カラーで印刷される。なお、MFP1でユーザが認証された場合に、印刷物が出力(排紙)されるセキュアプリントを行う場合において、印刷サーバ3にデータを送信する際(スキャンの際)に、ユーザはMFP1の操作画面で、印刷種別(カラー/モノクロ)、印刷面(両面/片面)、印刷部数等を変更することが可能である。
【0046】
(スキャンにより得られたデータのワークフロージョブの処理動作)
図11は、MFP1のスキャン機能により得られたデータのワークフロージョブの処理動作の流れを示すシーケンス図である。まず、ステップS11では、所望の用紙に記載されている画像及び(又は)文書のスキャンを行うように、ユーザがMFP1を操作する。MFP1は、載置台に載置された用紙をスキャンし、このスキャンにより得られた画像データに上述の書誌情報を付加したワークフロージョブを生成し、配信サーバ2に送信する(ステップS12)。
【0047】
配信サーバ2のジョブキュー記憶制御部52は、MFP1から送信されたワークフロージョブを、例えばFIFO(First In First Out memory)メモリ等にキューとして蓄積する(ステップS13)。フロー実行制御部53は、ジョブキュー記憶制御部52を介して、メモリに蓄積されたワークフロージョブを取得する(ステップS14)。フロー実行制御部53は、ステップS15〜ステップS18において、ワークフロージョブに含まれる画像データに対して、表1に示した「ワークフローID」に対応するプラグイン処理を施す。
【0048】
なお、フロー実行制御部53は、メール配信プラグイン82を実行した場合は、ステップS16において、メールサーバ4にプラグイン処理した画像データを配信する。または、フロー実行制御部53は、フォルダ配信プラグイン84を実行した場合は、ステップS16において、メールサーバ4にプラグイン処理しストレージサーバ5に画像データを配信する。
【0049】
次に、この例の場合、フロー実行制御部53は、ステップS18において、ワークフロージョブのワークフローに印刷プラグイン85が含まれているか否かを判定(前判定)する。印刷プラグイン85が含まれていない場合、MFP1で印刷を行う必要はないため、ステップS20に処理を進め、ワークフロー処理が完了したワークフロージョブを印刷サーバ3に送信して一旦、蓄積する。
【0050】
これに対して、フロー実行制御部53は、ステップS18において、ワークフロージョブのワークフローに印刷プラグイン85が含まれていると判別した場合、画像データに対して、印刷プラグイン85を実行する。例えば、ワークフロー処理されたデータに基づいて、レンダリング処理を行い、印刷ジョブ及び書誌情報等を生成する。そして、判定部の一例を兼ねるフロー実行制御部53は、ステップS19において、印刷プラグインの処理で生成された印刷ジョブ及び書誌情報を印刷サーバ3に蓄積するか、MFP1に送信してすぐに印刷するか、の判定処理を行う。
【0051】
(時間差を用いた判定処理)
図12のフローチャートに、ステップS19の判定処理動作の流れを示す。この判定処理を行う場合、フロー実行制御部53は、ステップS31において、表1を用いて説明したワークフロージョブが投入された時間と、現在の時間との時間差が、ユーザにより予め設定された時間の閾値以内であるか否か(例えば、1分以内であるか否か)を判別する。なお、設定された時間の閾値は、一例としてHDD14等の記憶部に記憶されている。
【0052】
すなわち、このステップS31では、フロー実行制御部53が、ワークフロージョブが投入されてから、それほど時間が経過してないか否かを判別する。時間差が1分以内であるということは、ユーザがMFP1の近くに位置している可能性が高い。このため、時間差が1分以内であると判別した場合(ステップS31:Yes)、フロー実行制御部53は、ステップS32において、MFP1で印刷ジョブを印刷すると判定する。
【0053】
これに対して、時間差が1分を超えているということは、ユーザがMFP1から離れた場所に移動している可能性が高い。このため、時間差が1分を超えていると判定した場合(ステップS31:No)、フロー実行制御部53は、ステップS33において、印刷ジョブを印刷サーバ3に送信すると判定する。
【0054】
印刷サーバ3に送信すると判定した場合、フロー実行制御部53は、
図11のシーケンス図のステップS20において、印刷ジョブを印刷サーバ3に送信する。印刷サーバ3の文書データ受付部61は、印刷ジョブを受信し、HDD34等の記憶部に保存する。この場合、印刷ジョブ生成部62はレンダリング処理をしなくてもよい。また、ステップS18において、印刷プラグイン85がレンダリング処理を実行せず、ワークフロー処理されたデータが印刷サーバ3に送信された場合に、印刷ジョブ生成部62はレンダリング処理をしてもよい。
【0055】
MFP1で印刷すると判定した場合、フロー実行制御部53は、
図11のシーケンス図のステップS21において、通信制御部57を介して印刷ジョブをMFP1に送信し、画像データの印刷を行う。MFP1は、印刷ジョブの書誌情報で示される用紙サイズ及び印刷種別(カラー/モノクロ)等で画像データの印刷を行う。
【0056】
ここで、印刷ジョブを印刷サーバ3に送信しない場合は、このように印刷ジョブに対応する印刷処理がMFP1で実行される。このため、印刷した用紙の出力(排紙)が完了するまでの間、ユーザは、MFP1の前で待機する必要がある。従って、直ぐに印刷が行われることを、ユーザに通知することが好ましい。このような通知を行わない場合、ユーザは印刷サーバ3に印刷ジョブが送信されたと考え、MFP1の前から立ち去ってしまう。そして、ユーザが立ち去った後に、印刷された用紙が排紙されるおそれがある。これはセキュリティ上、好ましいことではない。このため、印刷サーバ3に印刷ジョブを送信しない場合は、配信サーバ3の通信制御部57は、MFP1に対して印刷が開始される旨のメッセージを送信し、又は、MFP1に対して、印刷が開始される旨のメッセージの表示要求を行う。
【0057】
配信サーバ2から印刷が開始される旨のメッセージを受信すると、MFP1の操作部20のCPU21は、例えば「1分以内に印刷されます」又は「印刷中です お待ちください」等の受信したメッセージを操作パネル27に表示制御する。これにより、ユーザがMFP1の前から立ち去る不都合を防止でき、ユーザに対して安全に印刷物を提供できる。
【0058】
また、印刷ジョブを印刷サーバ3に送信する場合は、その旨をユーザに通知することが好ましい。このような通知を行わないと、ユーザは印刷サーバ3に送信されたことを知らずに、MFP1の前で長時間に待機してしまう恐れがあり、ユーザの利便性上、好ましいことではない。
【0059】
(印刷動作)
次に、第1の実施の形態の情報処理システムの場合、
図13に示すセキュアプリントシステムで印刷ジョブに対応する印刷処理を行う。すなわち、
図13において、印刷サーバ3には、
図11を用いて説明したように、配信サーバ2から送信された印刷ジョブ、及び、ユーザAが操作するパーソナルコンピュータ装置(PC)90から送信された印刷デーを蓄積する。
【0060】
印刷サーバ3に印刷データを送信したユーザAは、MFP1の設置場所に移動する。MFP1が複数設置されている場合は、ユーザAは所望のMFP1を選択する。ユーザAは、選択したMFP1のカードリーダに対してIDカードを近接させる。これにより、選択されたMFP1でユーザ認証処理が行われる。正規のユーザであることを認証すると、MFP1は、印刷サーバ3と通信を行い、ユーザAの印刷データの一覧を操作パネル27等に表示する。そして、この一覧からユーザにより選択された印刷データを、印刷サーバ3から取得し、印刷処理を実行する。
【0061】
このように、ユーザがMFP1の設置場所に移動した際にユーザ認証を行い、そのユーザの印刷データを印刷することで、安全にユーザAに対して印刷物を提供できる。
【0062】
図14は、このような印刷処理の流れを示すシーケンス図である。この
図14において、ユーザは、MFP1の設置場所に移動すると、上述のようにIDカードを用いてユーザ認証を行う。この際、MFP1は、IDカードからユーザIDを取得し、RAM23等に一旦記憶しておく。そして、ユーザは、MFP1の操作パネル27を操作して、印刷ジョブの一覧の取得要求を行う。この取得要求を検出すると、MFP1は、ステップS42において、印刷サーバ3に対してユーザIDを付加して印刷ジョブの一覧送信要求を行う。
【0063】
印刷サーバ3の印刷ジョブ送信部64は、ステップS43において、印刷ジョブ記憶制御部63に、MFP1から送信されたユーザIDを付した印刷ジョブの取得要求を行う。印刷ジョブ記憶制御部63は、ユーザIDに基づいて、HDD34等の記憶部に記憶されている印刷ジョブを参照することで、ユーザIDに対応する印刷ジョブの一覧情報を形成し、通信制御部65を介してMFP1に送信する。MFP1は、印刷サーバ3から送信された印刷ジョブの一覧情報を操作パネル27に表示する。
【0064】
次に、ユーザは、ステップS44において、操作パネル27に表示された印刷ジョブの一覧の中から、所望の印刷ジョブを、操作パネル27を介して選択操作し、印刷実行を指定操作する。MFP1は、ユーザにより選択された印刷ジョブを示す情報及び印刷要求を、ステップS45において、印刷サーバ3に送信する。印刷サーバ3の印刷ジョブ送信部64は、ユーザにより選択された印刷ジョブを示す情報及び印刷要求を、ステップS46において、印刷ジョブ記憶制御部63に送信する。
【0065】
印刷サーバ3の印刷ジョブ記憶制御部63は、ユーザにより選択された印刷ジョブを示す情報に対応する印刷ジョブをHDD34等の記憶部から読み出し、通信制御部65を介してMFP1に送信する。これにより、ユーザが選択した印刷ジョブに対応する印刷処理が行われる。
【0066】
(実施の形態の効果)
以上の説明から明らかなように、第1の実施の形態の情報処理システムは、ワークフローの一つとして印刷処理を可能とすることができる。このため、例えばスタンプした文書データを印刷すると共に、所望のフォルダに配信することも可能とすることができる。また、印刷するデータを、印刷サーバ3を介してMFP1に送信することで、ユーザがMFP1の近くに位置している際に、印刷した用紙を出力(排紙)することができる。これにより、印刷物を安全に、ユーザに提供することができる。
【0067】
また、配信サーバ2は、ワークフロージョブが投入されてから経過した時間が、1分以内等の所定時間以内であった場合は、MFP1ですぐに印刷を行い、所定時間以上経過していた場合は、印刷サーバ3に印刷ジョブを送信して、一旦、保持する。そして、ユーザにより、印刷が指示された際に、印刷ジョブを印刷サーバ3からMFP1に送信して印刷を行う。これにより、印刷物を安全に、ユーザに提供することができる。
【0068】
(第2の実施の形態)
次に、第2の実施の形態の情報処理システムの説明をする。上述の第1の実施の形態の情報処理システムでは、MFP1から配信サーバ2に送信されたワークフロージョブの投入からの経過時間に基づいて、ワークフロー処理されたデータに基づいて生成された印刷ジョブをすぐにMFP1で印刷するか、又は、印刷サーバ3に送信して保持するか、を判定した(
図11のステップS19及び
図12参照)。これに対して、第2の実施の形態の情報処理システムは、配信サーバ2は、蓄積しているワークフロージョブの数(蓄積ジョブ数)で、上述の判定を行うものである。なお、上述の第1の実施の形態及び以下に説明する第2の実施の形態は、この点のみが異なる。このため、以下、両者の差異の説明のみ行い、重複説明は省略する。
【0069】
図15は、第2の実施の形態における判定処理を含む、ワークフロージョブの処理動作の流れを示すシーケンス図である。この
図15において、まず、ステップS51では、所望の用紙に記載されている画像及び(又は)文書のスキャンを行うように、ユーザがMFP1を操作する。MFP1は、載置台に載置された用紙をスキャンし、このスキャンにより得られた画像データに上述の書誌情報を付加したワークフロージョブを生成し、配信サーバ2に送信する(ステップS52)。
【0070】
配信サーバ2は、ジョブ入力部51によりMFP1から送信されたワークフロージョブを取得し、ジョブキュー記憶制御部52に送信する。ジョブキュー記憶制御部52は、ワークフロージョブをFIFOメモリ等の記憶部に蓄積する(ステップS53)。
【0071】
次に、ジョブキュー記憶制御部52は、ステップS54において、ワークフロージョブのワークフローに印刷プラグイン85が含まれているか否かを判別する。印刷プラグイン85が含まれていない場合、MFP1で印刷を行う必要はないため、ステップS56〜ステップS58でワークフロー処理が完了したワークフロージョブを、ステップS59で、印刷サーバ3に送信する。
【0072】
これに対して、ジョブキュー記憶制御部52は、ステップS54において、ワークフロージョブのワークフローに印刷プラグイン85が含まれていると判別した場合、FIFOメモリに蓄積されているワークフロージョブの数(蓄積ジョブ数)に基づいて、ワークフロー処理されたデータに基づいて生成された印刷ジョブをMFP1に送信して、すぐに印刷を行うか、又は、印刷ジョブを印刷サーバ3に送信して、一旦、保持するか、の判定を行う。
【0073】
FIFOメモリの蓄積ジョブ数が「0(ゼロ)」の場合(先に蓄積されたワークフロージョブが存在しない場合)、印刷サーバ3にワークフロージョブを送信せず、そのまま印刷すれば良い。このため、ジョブキュー記憶制御部52は、まず、「印刷中です お待ちください」等の印刷が開始される旨のメッセージをMFP1に送信し、ユーザがMFP1の前から立ち去る不都合を防止する(ステップS55)。
【0074】
次に、フロー実行制御部53は、ワークフロージョブをFIFOメモリに蓄積する(ステップS56)。そして、フロー実行制御部53は、ステップS57及びステップS58において、ワークフローとなっている、例えばスタンププラグイン81及び印刷プラグイン85等のプラグイン処理を実行し、生成された印刷ジョブをMFP1に送信する(ステップS60)。
【0075】
これにより、MFP1から送信されたワークフロージョブが先頭のワークフロージョブである場合、MFP1に印刷が開始される旨のメッセージを送信することで、ユーザがMFP1の前で待機している間に、配信サーバ2側でワークフローの各プラグイン処理を施したワークフロージョブを生成し、MFP1に送信して印刷することができる。
【0076】
これに対して、FIFOメモリの蓄積ジョブ数が「1」以上の場合(先に蓄積されたワークフロージョブが存在する場合)、フロー実行制御部53は通信制御部57を介して印刷サーバ3にワークフローの各プラグイン処理済みのデータに基づいて生成された印刷ジョブを送信する(ステップS59)。印刷サーバ3は、この印刷ジョブを一旦記憶する。記憶された印刷ジョブは、MFP1から転送要求があった際に、MFP1に送信され、印刷に用いられる。
【0077】
なお、蓄積ジョブ数が、ユーザにより予め設定された閾値以下の場合に、印刷サーバにワークフロージョブを送信せず、当該閾値を超えた場合に、印刷サーバに送信するような構成にしてもよい。この場合、設定された閾値は、例えばHDD14の所定の記憶領域に記憶すればよい。
【0078】
(第2の実施の形態の効果)
このように、第2の実施の形態の情報処理システムの場合、配信サーバ2は、蓄積しているワークフロージョブの数(蓄積ジョブ数)で、MFP1にワークフロージョブを送信するか、又は、印刷サーバ3に一旦蓄積するかの判定を行う。これにより、ユーザに対して印刷物を安全に提供できる等、上述の第1の実施の形態と同様の効果を得ることができる。
【0079】
(第3の実施の形態)
次に、第3の実施の形態の情報処理システムの説明をする。この第3の実施の形態の情報処理システムは、MFP1から配信サーバ2に送信されたワークフロージョブのワークフロー処理を完了するまでに要する時間(予測処理時間)に基づいて、ワークフロー処理されたデータに基づいて生成された印刷ジョブをすぐにMFP1で印刷するか、又は、印刷サーバ3に送信して保持するか、の判定を行うものである。なお、上述の各実施の形態及び以下に説明する第3の実施の形態は、この点のみが異なる。このため、以下、両者の差異の説明のみ行い、重複説明は省略する。
【0080】
図16は、第3の実施の形態における判定処理を含む、ワークフロージョブの処理動作の流れを示すシーケンス図である。第3の実施の形態の情報処理システムでは、この
図16のステップS75において、上述の予測処理時間に基づいて、ワークフロー処理されたデータに基づいて生成された印刷ジョブをすぐにMFP1で印刷するか、又は、印刷サーバ3に送信して保持するか、の判定を行う。この判定に用いられる予測処理時間は、MFP1からワークフロージョブを受信した際に、処理時間計算部95が算出する。
【0081】
具体的には、処理時間計算部95は、ワークフロージョブのワークフローを形成する各プラグインの予測処理時間からワークフロー全体の予測処理時間を算出する。一例として、処理時間計算部95は、各プラグインの処理に要する時間を示す処理時間情報をHDD34等の記憶部に記憶しておき、ワークフロージョブのワークフローに含まれるプラグインの処理時間情報を加算して、ワークフロー全体の処理に要する時間を算出する。以下の表2に、各プラグインの処理時間情報を示す。
【0083】
この表2の例の場合、画像補正プラグイン79は、1.0秒(sec)の処理時間を要し、画像変換プラグイン78は、2.0秒の処理時間を要し、画像フォーマット変換プラグイン80は、3.0秒の処理時間を要し、OCRプラグイン77は、50.0秒の処理時間を要する例である。配信サーバ2のHDD34には、このような各プラグインの処理時間情報が記憶されている。例えば、ワークフロージョブのワークフローが表2に示す画像補正プラグイン78〜OCRプラグイン77で形成されている場合、処理時間計算部95は、「画像補正プラグイン78の処理時間1.0秒+画像変換プラグイン79の処理時間2.0秒+画像フォーマット変換プラグインの処理時間3.0秒+OCRプラグイン77の処理時間50.0秒」の演算を行うことで、ワークフロー全体の予測処理時間を算出する。処理時間計算部95は、ワークフロージョブをMFP1から受信した際(ワークフロージョブ投入時)に、このような予測処理時間の演算を行い、HDD34等の記憶部に記憶する。
【0084】
各プラグインの処理時間は、各プラグインの標準となる処理時間を記憶しておいてもよいし、プラグインを実行した際に要した実時間又は複数の実時間の平均時間を処理時間情報としてHDD34に記憶しておいてもよい。また、処理時間計算部95は、プラグインが実行される毎に、HDD上の対応する実時間情報を更新してもよい。このような処理時間情報の更新処理を行うことで、常に最新の処理時間を記憶しておくことができ、正確な予測処理時間を算出可能とすることができる。
【0085】
第3の実施の形態の場合、このような予め算出した予測処理時間を用いて、上述の判定を行う。すなわち、
図16のシーケンス図のステップS71では、所望の用紙に記載されている画像及び(又は)文書のスキャンを行うように、ユーザがMFP1を操作する。MFP1は、載置台に載置された用紙をスキャンし、このスキャンにより得られた画像データに上述の書誌情報を付加したワークフロージョブを生成し、配信サーバ2に送信する(ステップS72)。
【0086】
配信サーバ2は、ジョブ入力部51によりMFP1から送信されたワークフロージョブを取得し、ジョブキュー記憶制御部52に送信する。ジョブキュー記憶制御部52は、ワークフロージョブをFIFOメモリ等の記憶部に蓄積する(ステップS73)。
【0087】
ここで、ジョブキュー記憶制御部52は、ステップS74において、ワークフロージョブのワークフローに印刷プラグイン85が含まれているか否かを判別する。印刷プラグイン85が含まれていない場合、MFP1で印刷を行う必要はないため、ステップS77〜ステップS79でワークフロー処理が完了したデータに基づいて生成された印刷ジョブを、ステップS80で、印刷サーバ3に送信する。
【0088】
これに対して、ジョブキュー記憶制御部52は、ステップS74において、ワークフロージョブのワークフローに印刷プラグイン85が含まれていると判別した場合、上述のように予め算出された予測処理時間の情報を処理時間計算部95から取得する。そして、ジョブキュー記憶制御部52は、取得した予測処理時間が所定時間以内の場合は、MFP1ですぐに印刷ジョブに対応した印刷を行うと判定し、取得した予測処理時間が所定時間を超える場合は、印刷ジョブを印刷サーバ3に送信すると判定する。
【0089】
MFP1で印刷ジョブをすぐに印刷すると判定した場合、ジョブキュー記憶制御部52は、まず、「印刷中です お待ちください」等の印刷が開始される旨のメッセージをMFP1に送信し、ユーザがMFP1の前から立ち去る不都合を防止する(ステップS76)。
【0090】
次に、フロー実行制御部53は、ワークフロージョブをFIFOメモリに蓄積する(ステップS77)。そして、フロー実行制御部53は、ステップS78及びステップS79において、ワークフローとなっている、例えばスタンププラグイン81及び印刷プラグイン85等のプラグイン処理を実行し、プラグイン処理を完了したワークフロージョブをMFP1に送信する(ステップS81)。
【0091】
これにより、MFP1から送信されたワークフロージョブのワークフローの予測処理時間が所定の時間内である場合、MFP1に印刷が開始される旨のメッセージを送信することで、ユーザがMFP1の前で待機している間に、配信サーバ2側でワークフローの各プラグイン処理を施したデータに基づいて生成された印刷ジョブを生成し、MFP1に送信して印刷することができる。
【0092】
これに対して、ワークフローの予測処理時間が所定の時間を超える場合、フロー実行制御部53は通信制御部57を介して印刷サーバ3にワークフローの各プラグイン処理済みのデータに基づいて生成された印刷ジョブを送信する(ステップS80)。印刷サーバ3は、この印刷ジョブを一旦記憶する。記憶された印刷ジョブは、MFP1から転送要求があった際に、MFP1に送信され、印刷に用いられる。
【0093】
(第3の実施の形態の効果)
このように、第3の実施の形態の情報処理システムの場合、配信サーバ2は、ワークフロージョブのワークフローの処理が完了する予測処理時間で、MFP1に印刷ジョブを送信するか、又は、印刷サーバ3に一旦蓄積するかの判定を行う。これにより、ユーザに対して印刷物を安全に提供できる等、上述の第1の実施の形態と同様の効果を得ることができる。
【0094】
(第4の実施の形態)
次に、第4の実施の形態の情報処理システムの説明をする。この第4の実施の形態の情報処理システムは、MFP1が受信したワークフロー処理されたデータに基づいて生成された印刷ジョブの生成元が配信サーバ2であった場合は、ユーザがMFP1にユーザ認証を完了した際(ログインした際)に印刷開始指示画面を表示し、すぐに印刷を開始できるようにしたものである。なお、上述の各実施の形態及び以下に説明する第4の実施の形態は、この点のみが異なる。このため、以下、両者の差異の説明のみ行い、重複説明は省略する。
【0095】
まず、以下の表3に、第4の実施の形態の情報処理システムにおいて、配信サーバ2に蓄積された印刷ジョブを示す。
【0097】
この表3の例は、ジョブIDが1の印刷ジョブは、ユーザA(UserA)の印刷ジョブであり、文書名が「Document1.doc」であり、生成元は、ユーザAのパーソナルコンピュータ(クライアントPC)であることを示している。また、ジョブIDが2の印刷ジョブは、ユーザA(UserA)の印刷ジョブであり、文書名が「Document2.doc」であり、生成元は、配信サーバ2であることを示している。すなわち、生成元が配信サーバ2の印刷ジョブは、配信サーバ2によりワークフロー処理が完了し、一旦、印刷サーバ3に蓄積された印刷ジョブを意味する。
【0098】
第4の実施の形態の情報処理システムでは、表3に示したように、印刷ジョブ毎に、送信元がクライアントPCか配信サーバ2かを記憶しておく。ユーザがMFP1にログインすると、MFP1が印刷サーバ3から取得したログインユーザの印刷ジョブ一覧に含まれる印刷ジョブのうち、送信元が配信サーバ2のものを特定し、特定した印刷ジョブをすぐに印刷サーバから取得して、印刷を開始させる。送信元がクライアントPCのものは、通常通り、
図17に示すようにジョブ一覧を表示し、ユーザが選択した印刷ジョブの印刷データを取得して印刷を行う。
【0099】
また、印刷サーバ3は、配信サーバ2の識別情報(例えば、IPアドレス)を記憶しておき、印刷ジョブが送信されるときに、文書データ受付部61は、送信元のIPアドレスに基づいて、送信元が配信サーバ2であるか又はクライアントPCであるかを判断する。例えば、送信元のIPアドレスが、記憶している配信サーバ2のIPアドレスに一致した場合に、送信元が配信サーバ2であると判断し、一致しない場合は、送信元がクライアントPCであると判断する。判断した結果を表3に示すテーブルに登録する。
【0100】
(第4の実施の形態の効果)
第4の実施の形態は、このように、ユーザがMFP1にログインするだけで、配信サーバ2から印刷サーバ3に投入した印刷ジョブの印刷処理を開始することができる。このため、ユーザに対して利便性が高いシステムを提供できる。
【0101】
上述の各実施の形態は、例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な各実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことも可能である。
【0102】
例えば、ワークフロージョブを印刷サーバ3に送信するか、印刷を実行するかの判定処理(上述のステップS19、ステップS54、及びステップS75)について、任意に組み合わせてもよい。すなわち、一例ではあるが、蓄積ジョブ数(ステップS54)又は予測処理時間(ステップS75)に基づいて、印刷を実行すると判断した場合であっても、その後の経過時間(ステップS19)に基づいて、印刷を実行せずに印刷サーバ3に送信するように制御してもよい。
【0103】
各実施の形態及び各実施の形態の変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。