図1には、本発明の実施形態に係る情報処理システムとしての画像形成システムの一例が示されている。画像形成システムは、例えば、情報処理装置としての複数の画像形成装置(例えば画像形成装置10A,10B,10C)と、DBサーバ(データベースサーバ)12と、端末装置14と、負荷分散装置16と、を含む。これらの装置は、例えば、互いにネットワーク等の通信経路に接続されている。なお、図1に示す例では、3台の画像形成装置が画像形成システムに含まれているが、これは一例に過ぎず、4台以上の画像形成装置が画像形成システムに含まれていてもよい。また、複数の端末装置14が画像形成システムに含まれていてもよい。以下の説明において、画像形成装置10A,10B,10Cを区別する必要が無い場合には、これらを「画像形成装置10」と称することとする。
画像形成装置10は、例えば画像処理機能を備えている。また、画像形成装置10は、スキャン機能、プリント機能、コピー機能及びファクシミリ機能の中の少なくとも1つの機能を備えた装置であってもよい。また、画像形成装置10は、他の装置との間でデータを送受信する機能を備えている。
本実施形態では、画像形成装置10A,10B,10Cがクラスタ化されており、ユーザによって指示された処理が、画像形成装置10A,10B,10Cのいずれかの装置に割り振られて実行される。以下、画像形成装置10にて実行される処理を「ジョブ」と称することとする。
DBサーバ12は、例えば、ハードディスク等の記憶装置、他の装置との間でデータを送受信する通信装置、及び、制御装置を備え、サーバ装置として機能する。DBサーバ12が格納手段として機能する。DBサーバ12には、例えば、ジョブを管理するためのジョブ管理テーブルのデータが記憶されており、そのジョブ管理テーブルによって、ジョブの種別や処理の状態等が管理される。
端末装置14は、PC(パーソナルコンピュータ)、タブレットPC、スマートフォン、携帯電話等の装置であり、他の装置との間でデータを送受信する機能を備えている。端末装置14は、例えば、ジョブの実行時にユーザによって利用される装置である。
負荷分散装置16は、他の装置との間のデータを送受信する機能、及び、端末装置14にて指定されたジョブを画像形成装置10A,10B,10Cのいずれかの装置に割り振る機能を備えている。例えば、画像形成装置10A,10B,10Cのそれぞれの負荷の状態に応じて、ジョブが割り振られる。なお、負荷分散装置16は仮想サーバとして機能してもよい。
以下、図2を参照して、画像形成装置10の構成について詳しく説明する。図2には、画像形成装置10の構成が示されている。
通信部18は通信インターフェースであり、他の装置にデータを送信する機能、及び、他の装置からデータを受信する機能を備えている。例えば、通信部18によって、ジョブに関する情報やユーザの認証情報等が受信される。
記憶部20はハードディスク等の記憶装置である。記憶部20には、ジョブを実行するためのジョブ情報が記憶される。ジョブ情報には、設定情報として、ジョブのパラメータ、ジョブの実行によって生成された成果物データの格納先を示す情報、画像処理が適用されるデータを特定するための情報、ジョブの実行を指示したユーザを識別するためのユーザ識別情報(例えばユーザIDやユーザ名)、等が含まれる。また、記憶部20には、ジョブの実行により生成された成果物データが記憶される。
ジョブ管理部22は、ジョブをDBサーバ12に登録する機能、DBサーバ12に記憶されるジョブ管理テーブルを作成する機能、及び、ジョブ管理テーブルを更新する機能を備えている。
ジョブ実行部24は、ジョブを実行する機能を備えている。ジョブは、例えば、画像処理、スキャン処理、プリント処理、コピー処理、ファクシミリ処理、等である。画像処理は、例えば、画像の差分を抽出する処理や文字認識処理等である。スキャン処理は、原稿の画像を読み取ることにより文書データを生成する処理である。プリント処理は、文書を印刷する処理である。コピー処理は文書を複製する処理である。ファクシミリ処理は、文書をファクシミリ送信又はファクシミリ受信する処理である。例えば、スキャン処理が実行されることにより文書データが生成され、その文書データが外部装置に送信されてもよい。別の例として、プリンタ処理が実行されることにより、画像形成装置10に格納されている文書データが印刷されてもよい。また、ジョブ実行部24は、停止中のジョブについて再開指示が与えられた場合、その停止中のジョブのジョブ情報をDBサーバ12から取得し、その停止中のジョブを途中から再開する機能を備えている。
退避処理部26は、実行中のジョブが停止した場合に、そのジョブ情報を含む退避情報を、ジョブの実行を指示したユーザの退避情報としてDBサーバ12に退避させ、そのジョブ情報を記憶部20から削除する機能を備えている。退避情報は、そのユーザを示すユーザ識別情報に対応付けられてDBサーバ12に記憶される。退避情報には、例えば、ジョブの設定情報と、ジョブの進捗状況を示す進捗情報と、ジョブの実行により生成された成果物データと、が含まれる。例えば、ジョブの実行中に介入事象が発生した場合、そのジョブは停止する。介入事象は、例えば、ユーザによる一時停止要求や、処理の途中で行われるプレビュー確認や、保存ファイル名の変更、認証処理、用紙切れ、トナー切れ、等である。
制御部28は、画像形成装置10の各部の動作を制御する機能を備えている。また、制御部28は、認証部30と停止検出部32と確認部34とを含む。
認証部30は認証機能を備えている。認証部30は、例えば認証情報を利用して認証処理を行う。認証情報は、ユーザが画像形成システム(例えば各画像形成装置10)にログインするための情報であり、認証処理は、そのログインの許可又は禁止を判定するための処理である。認証処理としては、例えば、パスワードやユーザID等の情報を認証情報として利用するパスワード認証処理、ICカードに格納された情報(例えばIDやパスワード)を認証情報として利用するICカード認証、ユーザの生体情報を認証情報として利用する生体認証処理、等が利用される。もちろん、これら以外の認証処理が行われてもよい。認証情報は例えば記憶部20に記憶されている。認証情報は外部装置に記憶されていてもよい。例えば、画像形成システム(画像形成装置10)へのログイン時に、端末装置14から認証情報が送信されると、認証部30は、記憶部20又は外部装置に記憶されている認証情報と送信された認証情報とを用いて認証処理を行う。両認証情報が適合して認証が成功した場合(例えば両認証情報が一致した場合)、ログインやアクセスが許可される。認証が失敗した場合(例えば両認証情報が一致しない場合)、ログインやアクセスが禁止される。なお、認証処理は画像形成装置10にて実行されずに、例えば認証サーバ等によって実行されてもよい。
停止検出部32は、実行中のジョブの停止(介入事象の発生)を検出する機能を備えている。
確認部34は、ジョブの停止中に、画像形成システムに対してログイン要求を行ったユーザに確認作業を実行させる機能を備えている。確認作業には、例えば、介入事象に対応した介入操作が含まれる。介入操作は、例えば、一時停止の解除、プレビューの確認、保存ファイル名の変更、認証情報の入力、等である。
以下、図3を参照して、端末装置14の構成について詳しく説明する。図3には、端末装置14の構成が示されている。通信部36は通信インターフェースであり、他の装置にデータを送信する機能、及び、他の装置からデータを受信する機能を備えている。記憶部38はハードディスク等の記憶装置である。UI部40はユーザインターフェースであり、表示部と操作部とを含む。表示部は、例えば液晶ディスプレイ等の表示装置である。操作部は、例えばタッチパネルやキーボード等の入力装置である。制御部42は、端末装置14の各部の動作を制御する。
以下、図4を参照して、本実施形態に係る画像形成システムの概略動作について説明する。図4には、その処理を示すシーケンス図が示されている。一例として、ユーザAがジョブの実行を指示するものとする。
まず、ユーザAは端末装置14を利用して負荷分散装置16(仮想サーバ)にアクセスする(S01)。例えば、Webブラウザを利用することによりアクセスが実現される。負荷分散装置16は、例えば、画像形成装置10A,10B,10Cの負荷に応じて、ユーザAのアクセス先を、画像形成装置10A,10B,10Cのいずれかの装置に振り分ける。例えば、アクセス先が画像形成装置10Aに振り分けられたものとする。この場合、ユーザAは端末装置14を利用して認証情報を入力し、画像形成装置10Aにログインする(S02)。次に、ユーザAは端末装置14を利用して、ジョブを実行するための設定情報を入力し、ジョブの実行を指示する(S03)。画像形成装置10Aにおいては、ジョブ管理部22が、そのジョブを、DBサーバ12に記憶されているジョブ管理テーブルに登録する(S04)。次に、画像形成装置10Aにおいては、ジョブ実行部24が、ユーザAによって指示されたジョブを実行する(S05)。これにより、成果物データが生成される。
そのジョブの実行中に、ユーザAが画像形成装置10Aからログアウトしたものとする(S06)。ログアウトは、端末装置14と画像形成装置10との間のセッションが切れた状態である。例えば、ユーザが操作中のWebブラウザを閉じた場合、メンテナンスや障害によって画像形成装置10が停止した場合、ユーザが手動で認証を解除した場合、一定時間経過後にセッションが自動的に切れた場合、等に、ログアウトが発生する。なお、ユーザがログインしたときに1つのセッションが生成され、そのセッションは、ログアウトするまで存続し、ログアウト時に破棄されるものとする。
ログアウトが発生した後、介入事象が発生してジョブが停止したものとする(S07)。この場合、画像形成装置10Aにおいては、退避処理部26が、停止中のジョブのジョブ情報を抽出し(S08)、そのジョブ情報を含む退避情報を、ユーザAの退避情報としてDBサーバ12に退避させる(S09)。退避情報は画像形成装置10AからDBサーバ12に送信され、ユーザAのユーザ識別情報に対応付けられてDBサーバ12に記憶される。また、退避処理部26は、そのジョブ情報と成果物データを記憶部20から削除する(S10)。ジョブ管理部22は、DBサーバ12に記憶されているジョブ管理テーブルを更新する(S11)。例えば、そのジョブの状態が「実行中」から「停止中」に変更され、ジョブの停止理由がジョブ管理テーブルに登録される。
次に、ユーザAは端末装置14を利用して負荷分散装置16にアクセスする(S12)。負荷分散装置16は、例えば、画像形成装置10A,10B,10Cの負荷に応じて、ユーザAのアクセス先を、画像形成装置10A,10B,10Cのいずれかの装置に振り分ける。例えば、アクセス先が画像形成装置10Bに振り分けられたものとする。この場合、ユーザAは端末装置14を利用して認証情報を入力し、画像形成装置10Bにログインする(S13)。
画像形成装置10Bにおいては、制御部28が、ユーザAのジョブ(ユーザAのユーザ識別情報に対応付けられているジョブ)の停止理由を示す情報をDBサーバ12から取得する(S14)。停止理由を示す情報と介入操作画面のデータが、画像形成装置10Bから端末装置14に送信され、端末装置14のUI部40には、その停止理由を示す情報と介入操作画面が表示される(S15)。
ユーザが端末装置14を利用して、介入操作画面において介入操作を実施し(S16)、ジョブの再開指示を与えると(S17)、画像形成装置10Bにおいては、ジョブ管理部22が、DBサーバ12に記憶されているジョブ管理テーブルを更新する(S18)。例えば、ジョブの状態が「停止中」から「処理中」に変更される。次に、ジョブ実行部24は、ユーザAのジョブ情報であって停止中のジョブ情報をDBサーバ12から取得し(S19)、そのジョブ情報に従ってジョブを途中から再開する(S20)。
以下、本実施形態に係る画像形成システムの動作について詳しく説明する。一例として、ユーザAがジョブの実行を指示するものとする。
まず、図5を参照して、ログイン時の処理について説明する。図5には、その処理を示すフローチャートが示されている。
一例として、画像形成装置10Aが、負荷分散装置16によってユーザAのアクセス先として割り振られたものとする。画像形成装置10Aにおいては、制御部28が、端末装置14からのログイン要求を受け付ける(S30)。例えば、端末装置14のUI部40にログイン画面が表示され、そのログイン画面において、ユーザAはUI部40を利用して認証情報を入力する。認証情報は、画像形成システム(画像形成装置10A)にログインするための情報であり、例えば、ユーザIDとパスワードとを含む。画像形成装置10Aにおいては、認証部30が、認証情報を用いて認証処理を実行する。例えば、ユーザAによって入力された認証情報と予め登録されている認証情報とが一致した場合、認証は成功したと判定される。認証が成功した場合(S31、Yes)、メニュー画面のデータが画像形成装置10Aから端末装置14に送信され、端末装置14のUI部40にメニュー画面が表示される(S32)。このメニュー画面には、例えば、ジョブを実行するためのアプリケーションが表示され、そのメニュー画面上においてユーザAによってアプリケーションが選択される。ユーザAから指示が与えられるまで、画像形成装置10Aの状態は待機状態となる。
以下、図6を参照して、ジョブ実行時の処理について説明する。図6には、その処理を示すフローチャートが示されている。
ユーザAは端末装置14を利用して、上記のメニュー画面において、ジョブを実行するためのアプリケーションを選択し、ジョブ実行画面において、ジョブのパラメータ等の設定情報を入力する。ユーザAによってジョブの実行が指示されると、ユーザ識別情報や設定情報を含むジョブ情報が、端末装置14から画像形成装置10Aに送信される。画像形成装置10Aにおいては、制御部28が、端末装置14からのジョブの実行要求を受け付ける(S33)。ジョブの実行要求が受け付けられると、ジョブ管理部22は、そのジョブを、DBサーバ12上のジョブ管理テーブルに登録する(S34)。例えば、ユーザ識別情報、ジョブの種別を示す情報、ジョブの状態を示す情報、開始時刻を示す情報、等が、ジョブ管理テーブルに登録される。次に、画像形成装置10Aにおいては、ジョブ実行部24が、ジョブ情報に従ってジョブを実行する(S35)。これにより、成果物データが生成される。
図7には、ジョブ実行時におけるジョブ管理テーブルの一例が示されている。このジョブ管理テーブルは、ジョブ管理部22によって作成及び更新され、そのデータはDBサーバ12に記憶されている。ジョブ管理テーブルにおいては、例えば、管理番号(No.)、ユーザID、ジョブ種別を示す情報、状態を示す情報、受付時刻を示す情報、停止時刻を示す情報、停止理由を示す情報、及び、ジョブ情報の格納先アドレスを示す情報、が対応付けられている。管理番号(No.)は、ジョブを管理するための情報である。ユーザIDは、ジョブの実行を指示したユーザを識別するためのユーザ識別情報である。ジョブ種別は、ジョブの種別である。ジョブの種別には、「画像処理」等がある。状態は、現在のジョブの状態である。ジョブの状態には、「処理中」、「停止中」、「処理終了」がある。「処理中」はジョブが実行中であることを示し、「停止中」はジョブが停止中であることを示し、「処理終了」はジョブが完了したことを示す。停止時刻は、ジョブが停止した時刻である。停止理由は、ジョブが停止した理由である。ジョブ情報の格納先アドレスは、退避情報の格納先アドレスである。図7に示す例では、ユーザIDが「001」のユーザAによって2つのジョブ(画像処理)の実行が指示されている。いずれのジョブも実行中である。
以下、図8を参照して、介入事象発生時の処理について説明する。図8には、その処理を示すフローチャートが示されている。
画像形成装置10Aにおいては、停止検出部32が、介入事象の発生を監視する。介入事象が発生しない場合(S36,No)、ジョブ実行部24はジョブを続行する。これにより、ジョブは完了する。この場合、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S37)。これにより、ジョブの状態が「処理中」から「処理終了」に変更される。
一方、ユーザAによる一時停止要求、プレビュー確認、認証処理、等の介入事象が発生した場合(S36,Yes)、ジョブ実行部24は、実行中のジョブを停止する。この場合、退避処理部26は、そのジョブの再開に必要なジョブ情報を抽出し(S38)、抽出したジョブ情報を含む退避情報を、ジョブの実行を指示したユーザの退避情報としてDBサーバ12に退避させる(S39)。これにより、退避情報が画像形成装置10AからDBサーバ12に送信され、ユーザ識別情報に対応付けられてDBサーバ12に記憶される。退避情報には、ジョブの設定情報と、ジョブの進捗状況を示す進捗情報と、成果物データと、が含まれる。また、退避処理部26は、停止したジョブのジョブ情報と成果物データを記憶部20から削除する(S40)。次に、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S41)。これにより、ジョブの状態が「処理中」から「停止中」に変更される。
図9には、介入事象発生時におけるジョブ管理テーブルの一例が示されている。このジョブ管理テーブルは、ジョブ管理部22によって更新され、そのデータはDBサーバ12に記憶されている。図9に示す例では、管理番号が「2」のジョブが停止している。ジョブ管理部22によって、その停止時刻を示す情報と停止理由を示す情報が、ジョブ管理テーブルに追加される。停止理由は「認証エラー」である。例えば、画像形成装置10Aにて生成された成果物データをFTPサーバに格納する場合において、そのFTPサーバに対する認証処理が失敗した場合、介入事象として認証エラーが発生する。この場合、FTPサーバへの成果物データの転送が禁止されるため、ジョブは停止する。本実施形態では、その場合に、退避情報がDBサーバ12に退避されて記憶される。退避情報には、ジョブの設定情報と、ジョブの進捗状況を示す進捗情報と、成果物データと、が含まれている。ジョブ管理テーブルには、その設定情報の格納先のアドレス「XXXX」と、その進捗情報の格納先のアドレス「YYYY」と、成果物データの格納先のアドレス「ZZZZ」とが、登録されている。各情報の格納先は例えばDBサーバ12であり、各格納先のアドレスはDBサーバ12上のアドレスである。もちろん、各情報の格納先は、DBサーバ12以外の格納装置であってもよい。このジョブ管理テーブルを参照することによりジョブの状態が特定され、そのジョブの状態が停止中であれば、その停止理由と退避情報の格納先のアドレスが特定される。
以下、図10を参照して、停止中ジョブの確認時の処理について説明する。図10には、その処理を示すフローチャートが示されている。
ユーザがログインしている画像形成装置10においては、制御部28が、端末装置14からジョブ確認要求を受け付ける(S42)。例えば、ユーザAが画像形成装置10Aにログイン中であれば、画像形成装置10Aによって以下の処理が実行される。ユーザAが画像形成装置10Aからログアウトし、再ログイン先として画像形成装置10A,10B又は10Cが割り振られた場合、画像形成装置10A,10B又は10Cによって以下の処理が実行される。一例として、ログイン先として画像形成装置10Bが割り振られたものとする。この場合、画像形成装置10Bにおいて、制御部28が、端末装置14からジョブ確認要求を受け付ける。例えば、ユーザが端末装置14を利用して画像形成装置10Bにログインすると、端末装置14のUI部40にメニュー画面が表示される。そのメニュー画面において、ユーザがUI部40を利用してジョブ確認要求を指示すると、確認部34は、そのジョブ確認要求の対象となっているジョブの停止理由を示す情報をDBサーバ12に記憶されているジョブ管理テーブルから取得する(S43)。
確認部34は、確認要求を行ったユーザが、確認要求対象のジョブの操作権限を有するユーザであるか否かを判定する。確認要求対象のジョブの実行を指示したユーザAや、画像形成システムの管理者が、確認要求対象のジョブの操作権限を有するユーザに該当する。確認要求を行ったユーザが、確認要求対象のジョブの操作権限を有するユーザである場合(S44,Yes)、確認部34は、ジョブの停止理由を示す情報と介入操作画面のデータを端末装置14に送信し、その停止理由を示す情報と介入操作画面を端末装置14のUI部40に表示させる(S45)。例えば、FTPサーバへの認証処理が失敗してジョブが停止している場合、その認証処理に必要な認証情報の入力画面が介入操作画面として端末装置14のUI部40に表示される。その介入操作画面上において、ユーザAや管理者によって介入操作が実施される。例えば、介入操作として、FTPサーバに対する認証情報が入力される。入力された認証情報は、端末装置14から画像形成装置10Bに送信され、FTPサーバへの認証処理に用いられる。
一方、確認要求を行ったユーザが、確認要求対象のジョブの操作権限を有していないユーザである場合(S44,No)、確認部34は、ジョブの停止理由を示す情報を端末装置14に送信し、その停止理由を示す情報を端末装置14のUI部40に表示させる(S46)。
以下、図11を参照して、ジョブ再開時の処理について説明する。図11には、その処理を示すフローチャートが示されている。一例として、ユーザAのログイン先として画像形成装置10Bが割り振られたものとする。
画像形成装置10Bにおいては、制御部28が、ジョブの再開要求を受け付ける(S47)。例えば、介入操作が実施された後、ユーザAが端末装置14を利用してジョブの再開要求を与えると、画像形成装置10Bにおいては、ジョブ管理部22が、DBサーバ12に記憶されているジョブ管理テーブルを更新する(S48)。例えば、ジョブの状態が「停止中」から「処理中」に変更される。次に、ジョブ実行部24は、ユーザAのジョブ情報であって停止中のジョブ情報(退避情報)をDBサーバ12から取得し(S49)、そのジョブ情報に従ってジョブを途中から再開する(S50)。図9に示す例では、ユーザAのユーザID「001」に対応付けられているジョブ群のうち、管理番号が「2」のジョブが停止中となっている。この場合、ジョブ実行部24は、管理番号が「2」のジョブ情報をDBサーバ12から取得する。具体的には、ジョブ実行部24は、管理番号が「2」のジョブ情報の格納先アドレスを参照することにより、その格納先アドレスによって特定される格納先から、そのジョブの設定情報、進捗情報及び成果物データを取得する。進捗情報を参照することにより、ジョブの進捗状況、つまり、ジョブのうち実行済みの処理と未実行の処理とが特定される。ジョブ実行部24は、管理番号が「2」のジョブのうち未実行部分の処理を実行する。介入事象が発生した場合、図8に示されているフローチャートによって処理が実行され、その後、図10及び図11に示されているフローチャートに従って処理が実行される。
図12には、ジョブ再開時におけるジョブ管理テーブルの一例が示されている。ジョブ管理テーブルは、ジョブ管理部22によって更新され、そのデータはDBサーバ12に記憶されている。図12に示す例では、管理番号が「1」のジョブの処理は終了している。管理番号が「2」のジョブの状態が停止から処理中に変更されている。ジョブ実行部24は、格納先アドレス「XXXX」によって特定される格納先から管理番号が「2」のジョブの設定情報を取得し、格納先アドレス「YYYY」によって特定される格納先から管理番号が「2」のジョブの進捗情報を取得し、格納先アドレス「ZZZZ」によって特定される格納先から管理番号が「2」のジョブの成果物データを取得する。これらの情報は、管理番号が「2」のジョブの退避情報に相当する。ジョブ実行部24は、設定情報と進捗情報を参照することにより、管理番号が「2」のジョブのうち未実行部分の処理を実行する。
以下、具体例について説明する。この具体例においては、画像形成装置10にて生成された成果物データをFTPサーバに格納する場合において、そのFTPサーバに対する認証処理が失敗し、これにより、介入事象としての認証エラーが発生したものとする。この場合、FTPサーバへの成果物データの転送が禁止されるため、ジョブは停止する。
一例として、画像形成装置10Aが、負荷分散装置16によってユーザAのアクセス先として割り振られたものとする。図13には、ログイン画面の一例が示されている。例えば、端末装置14においてユーザAがWebブラウザを利用して負荷分散装置16にアクセスすると、端末装置14のUI部40に、画像形成システム(画像形成装置10A)にログインするためのログイン画面が表示される。このログイン画面にて、ユーザAによってユーザIDとパスワードが入力され、ログインが実行される。ユーザIDとパスワードを用いた認証処理が成功するとログインが完了する。
ログインが完了すると、端末装置14のUI部40にはメニュー画面が表示される。図14には、そのメニュー画面の一例が示されている。このメニュー画面には、画像形成システムにて実行されるアプリケーションが表示され、ユーザAによって目的のアプリケーションが選択される。例えば、画像処理としての図面差分検出処理が選択されたものとする。アプリケーションが選択されると、そのアプリケーションの設定情報を入力するための設定画面が端末装置14のUI部40に表示される。
図15と図16には、画像処理の設定画面の一例が示されている。この設定画面において、ユーザAによって、ジョブの実行により生成される成果物データの格納先、ジョブのパラメータ、画像処理の対象となるデータ、等が指定される。例えば図15に示す例では、成果物データの保存先としてFTPサーバが指定されており、そのFTPサーバに対する認証情報(ユーザIDとパスワード)が入力されている。その他、成果物データのファイル名等が入力されている。図16に示す例では、画像処理(図面差分検出処理)の詳細な設定情報として、読取の感度、位置合わせの有無、等が設定されている。ユーザAによってジョブの実行が指示されると、画像形成装置10Aにおいて、設定情報に従ってジョブが実行される。
ジョブ(図面差分検出処理)の実行中に介入事象が発生すると、そのジョブは停止し、そのジョブの退避情報が画像形成装置10AからDBサーバ12に退避させられる。一例として、FTPサーバに対する認証処理が失敗して、ジョブが停止したものとする。
ユーザAが端末装置14を利用してジョブの確認を要求すると、端末装置14のUI部40にはメニュー画面が表示される。例えば、図14に示されているメニュー画面が端末装置14のUI部40に表示される。そのメニュー画面においてユーザによって確認ボタンが押下されると、UI部40にはジョブ確認画面が表示される。そのジョブ確認画面のデータは、ログイン先の画像形成装置10から端末装置14に送信され、端末装置14のUI部40にジョブ確認画面が表示される。例えば、ユーザAが画像形成装置10Aにログイン中であれば、画像形成装置10Aから端末装置14にジョブ確認画面のデータが送信される。ユーザAが画像形成装置10Aからログアウトし、画像形成装置10Bにログインしている場合、画像形成装置10Bから端末装置14にジョブ確認画面のデータが送信される。
図17には、ジョブ確認画面の一例が示されている。ジョブ確認画面においては、例えば、管理番号(No.)、サービス名を示す情報、受付番号、ユーザID、状態を示す情報、進捗を示す情報、及び、受付時刻を示す情報が対応付けられて表示されている。サービス名はアプリケーションの種類を示す情報である。状態は、現在のジョブの状態である。ジョブの状態には、「処理中(実行中)」、「停止中」、「処理終了(正常終了)」がある。進捗は、ジョブの進捗状況である。管理番号が「2」のジョブにおいて、FTPサーバに対する認証エラーが発生しており、これにより、このジョブは停止している。また、ジョブ確認画面には、詳細ボタンと中止ボタンが表示されている。ユーザによって詳細ボタンが押下されることにより、対応するジョブの詳細な情報がUI部40に表示される。ユーザによって中止ボタンが押下されると、対応するジョブが中止される。
例えば、管理番号が「2」のジョブについて、ユーザによって詳細ボタンが押下されたものとする。確認要求を行ったユーザが、確認要求対象(管理番号が「2」のジョブ)の操作権限を有する場合、介入操作画面と停止理由を示す情報が端末装置14のUI部40に表示される。確認要求を行ったユーザが、操作権限を有していない場合、介入操作画面は表示されず、停止理由を示す情報が端末装置14のUI部40に表示される。
図18には、介入操作画面の一例が示されている。FTPサーバへの認証処理が失敗しているため、介入操作画面として、その認証に必要な認証情報(ユーザIDとパスワード)を入力するための画面が表示される。また、介入操作画面には、ジョブの停止理由が表示される。この介入操作画面において、ユーザによってユーザIDとパスワードが入力されると、FTPサーバに対する認証処理が実行される。その認証が成功すると、管理番号が「2」のジョブが再開される。図19には、停止理由画面の一例が示されている。この停止理由画面には、停止理由が表示される。確認要求を行ったユーザが操作権限を有する場合、図18に示されている介入操作画面が表示され、そのユーザが操作権限を有していない場合、図19に示されている停止理由画面が表示される。
以上のように、本実施形態では、介入事象が発生して画像形成装置10にて実行中のジョブが停止した場合、そのジョブを再開するための退避情報がその画像形成装置10からDBサーバ12に退避させられ、その画像形成装置10からジョブ情報が削除される。ユーザによる介入操作が実施されると、画像形成装置10によって退避情報が取得され、そのジョブが途中から再開される。停止中のジョブの情報が画像形成装置10から削除されるので、その画像形成装置10におけるメモリが確保され、別のジョブがその画像形成装置10に割り当てられる。これにより、停止中のジョブの情報をその画像形成装置10に残す場合と比較して、クラスタ化によって実現される分散処理の効率が向上する。また、クラスタ化された画像形成システムにおいては、停止したジョブが同一の画像形成装置10に振り分けられるとは限らない。本実施形態では、ユーザが別の画像形成装置10にログインした場合であっても、その別の画像形成装置10が退避情報を取得して、停止中のジョブを途中から再開する。これにより、停止したジョブが同一の画像形成装置10に振り分けられるようにしなくても、停止したジョブが再開される。つまり、負荷分散装置16のセッション維持機能によって端末装置14と画像形成装置10との対応関係を固定させなくても、停止したジョブが再開される。これにより、端末装置14と画像形成装置10との対応関係を固定させた場合と比較して、処理が均一に分散され、分散処理の効率が向上する。
以下、変形例について説明する。
(変形例1)
図20を参照して、変形例1について説明する。図20には、変形例1に係る処理を示すフローチャートが示されている。
上記の実施形態では、介入事象が発生してジョブが停止した段階で、退避情報がDBサーバ12に退避される。一度に全ての退避情報をDBサーバ12に退避させた場合、ジョブの実行によって生成される成果物データの容量が増大するほど、その退避(転送)に要する時間が増大する。その結果、ジョブが再開されるまでの待ち時間が増大する場合がある。これに対処するために、変形例1では、ジョブの実行によって生成された成果物データを複製し、ジョブの実行中に、複製された成果物データをDBサーバ12に随時退避させる。これにより、ジョブが停止した段階で全ての退避情報をDBサーバ12に退避させる場合と比較して、より早い段階で退避処理が完了し、ジョブが再開されるまでの待ち時間が短くなる。以下、変形例1に係る処理について詳しく説明する。
例えば、画像形成装置10Aにてジョブが実行されているものとする。ジョブ実行部24によってジョブが実行されることにより、成果物データが生成される。退避処理部26は、その成果物データを複製し(S60)、複製された成果物データをDBサーバ12に随時退避させる(S61)。つまり、ジョブの実行により成果物データが生成され、成果物データが生成される度に成果物データが複製され、その都度、複製された成果物データがDBサーバ12に送信される。成果物データには、ジョブ実行部24によって、ジョブを管理するための情報(例えば管理番号(No.))が対応付けられる。複製された成果物データにもジョブを管理するための情報が対応付けられ、その情報を参照することにより、複製された成果物データとジョブとの対応関係が特定される。
介入事象が発生しない場合(S62,No)、ジョブ実行部24はジョブを続行する。これにより、ジョブは完了する。この場合、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S63)。これにより、ジョブの状態が「処理中」から「処理終了」に変更される。
一方、介入事象が発生した場合(S62,Yes)、ジョブ実行部24は、実行中のジョブの処理を停止する。この場合、退避処理部26は、そのジョブの再開に必要なジョブ情報を抽出し(S64)、抽出したジョブ情報を含む退避情報を、ジョブの実行を指示したユーザの退避情報としてDBサーバ12に退避させる(S65)。これにより、退避情報が画像形成装置10AからDBサーバ12に送信され、ユーザ識別情報に対応付けられてDBサーバ12に記憶される。成果物データは随時退避させられているため、退避情報には、ジョブの設定情報と進捗情報とが含まれる。また、退避処理部26は、停止したジョブのジョブ情報と成果物データを記憶部20から削除する(S66)。次に、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S67)。これにより、ジョブの状態が「処理中」から「停止中」に変更される。
以上のように、変形例1によると、成果物データが随時退避させられるので、ジョブが停止した段階で全ての退避情報を退避させる場合と比較して、より早い段階で退避処理が完了し、ジョブが再開されるまでの待ち時間が短くなる。
(変形例2)
図21を参照して、変形例2について説明する。図21には、変形例2に係る処理を示すフローチャートが示されている。
上記の変形例1では、成果物データが常に随時退避させられる。成果物データの容量が比較的小さく転送時間が比較的短い場合、成果物データの複製と退避(転送)を行う分、処理効率が低下することがある。これに対処するために、変形例2では、ジョブの内容に基づいて成果物データの容量を予測し、成果物データの退避に要する時間を予測する。退避情報の退避に要する時間が閾値以上の場合、ジョブの実行中に、複製された成果物データをDBサーバ12に随時退避させ、退避に要する時間が閾値未満の場合、ジョブの停止後に、成果物データを含む退避情報をDBサーバ12に退避させる。これにより、常に成果物データを複製して随時退避させる場合と比較して、処理効率の低下が抑制される。閾値は例えば予め設定された値である。閾値はユーザや管理者等によって変更されてもよい。以下、変形例2に係る処理について詳しく説明する。
例えば、画像形成装置10Aにてジョブが実行されているものとする。退避処理部26は、実行対象のジョブの内容を解析し、成果物データの退避に要する時間を予測する。例えば、その時間が閾値以上の場合、退避に時間を要すると判定され(S70,Yes)、退避処理部26は、ジョブ実行部24によるジョブの実行によって生成された成果物データを複製し(S71)、複製された成果物データをDBサーバ12に随時退避させる(S72)。一方、退避に要する時間が閾値未満の場合、退避に時間を要しないと判定され(S70,No)、処理はステップS73に移行する。
介入事象が発生しない場合(S73,No)、ジョブ実行部24はジョブを続行する。これにより、ジョブは完了する。この場合、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S74)。これにより、ジョブの状態が「処理中」から「処理終了」に更新される。
一方、介入事象が発生した場合(S73,Yes)、ジョブ実行部24は、実行中のジョブの処理を停止する。この場合、退避処理部26は、そのジョブの再開に必要なジョブ情報を抽出し(S75)、抽出したジョブ情報を含む退避情報を、ジョブの実行を指示したユーザの退避情報としてDBサーバ12に退避させる(S76)。これにより、退避情報が画像形成装置10AからDBサーバ12に送信され、ユーザ識別情報に対応付けられてDBサーバ12に記憶される。複製された成果物データが随時退避させられている場合、退避情報には、ジョブの設定情報と進捗情報とが含まれる。複製された成果物データが随時退避させられていない場合、退避情報には、ジョブの設定情報と進捗情報と成果物データとが含まれる。また、退避処理部26は、停止したジョブのジョブ情報と成果物データを記憶部20から削除する(S77)。次に、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S78)。これにより、ジョブの状態が「処理中」から「停止中」に変更される。
以上のように、変形例2によると、常に成果物データを複製して随時退避させる場合と比較して、処理効率の低下が抑制され得る。
以下、成果物データの転送(退避)に要する時間が増大すると想定される場合について説明する。
例えば、ジョブの設定情報として、成果物データの容量が増大するパラメータが設定されている場合、退避時間が増大すると想定される。ジョブの内容が画像処理であり、その設定パラメータとしての解像度が「高」に設定されている場合、解像度が「低」に設定されている場合と比較して、生成される成果物データの容量が増大する。この場合、成果物データの退避時間が増大すると想定される。そこで、退避処理部26は、ジョブの設定情報を解析し、成果物データの容量が増大すると想定されるパラメータが設定されている場合に、成果物データを随時退避させ、それ以外の場合には、ジョブが停止した後に、全ての退避情報を退避させる。
別の例として、画像形成装置10とDBサーバ12との間の通信環境にて遅延現象が発生している場合、退避時間が増大すると想定される。遅延が発生している場合、成果物データの容量が比較的小さい場合であっても、退避時間が増大すると想定される。そこで、退避処理部26は、画像形成装置10とDBサーバ12との間の通信状況を監視し、予め設定された条件に該当する遅延現象が発生した場合に、成果物データを随時退避させる。
更に別の例として、退避処理部26は、生成された成果物データの容量を監視し、ジョブの実行中に、成果物データの容量が閾値以上となった場合に、成果物データを随時退避させ、それ以外の場合に、ジョブが停止した後に、全ての退避情報を退避させてもよい。閾値は例えば予め設定された値である。閾値はユーザや管理者等によって変更されてもよい。
(変形例3)
図22を参照して、変形例3について説明する。図22には、変形例3に係る処理を示すフローチャートが示されている。
変形例3では、処理の過程で介入事象が必ず発生する場合、成果物データをDBサーバ12に随時退避させる。例えば、プレビュー機能によって、画像処理された成果物データをユーザが目視で確認してから、出力デバイスや格納先に成果物データを送信する場合、ジョブの過程で介入事象が必ず発生する。介入事象が発生するため、成果物データの退避が行われることになる。そこで、成果物データを送信する前に介入事象(プレビュー確認)が発生することが事前に判明している場合、成果物データを随時退避させる。以下、変形例3に係る処理について詳しく説明する。
例えば、画像形成装置10Aにてジョブが実行されているものとする。退避処理部26は、実行対象のジョブの内容を解析し、介入事象が必ず発生するか否かを判定する。介入事象が必ず発生する場合(S80,Yes)、退避処理部26は、ジョブ実行部24によるジョブの実行によって生成された成果物データを複製し(S81)、複製された成果物データをDBサーバ12に随時退避させる(S82)。一方、介入事象が必ず発生するとは限らない場合(S80,No)、処理はステップS83に移行する。
介入事象が発生しない場合(S83,No)、ジョブ実行部24はジョブを続行する。これにより、ジョブは完了する。この場合、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S84)。これにより、ジョブの状態が「処理中」から「処理終了」に更新される。
一方、介入事象が発生した場合(S83,Yes)、ジョブ実行部24は、実行中のジョブの処理を停止する。この場合、退避処理部26は、そのジョブの再開に必要なジョブ情報を抽出し(S85)、抽出したジョブ情報を含む退避情報を、ジョブの実行を指示したユーザの退避情報としてDBサーバ12に退避させる(S86)。これにより、退避情報が画像形成装置10AからDBサーバ12に送信され、ユーザ識別情報に対応付けられてDBサーバ12に記憶される。複製された成果物データが随時退避させられている場合、退避情報には、ジョブの設定情報と進捗情報とが含まれる。複製された成果物データが随時退避させられていない場合、退避情報には、ジョブの設定情報と進捗情報と成果物データとが含まれる。また、退避処理部26は、停止したジョブのジョブ情報と成果物データを記憶部20から削除する(S87)。次に、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S88)。これにより、ジョブの状態が「処理中」から「停止中」に変更される。
以上のように、変形例3によると、介入事象が必ず発生する場合、成果物データが随時退避させられるので、ジョブが停止した段階で全ての退避情報を退避させる場合と比較して、より早い段階で退避処理が完了し、ジョブが再開されるまでの待ち時間が短くなる。
なお、変形例2,3を組み合わせてもよい。例えば、成果物データの退避に時間を要する場合、又は、介入事象が必ず発生する場合のうち、いずれかの場合にて成果物データを随時退避させてもよい。別の例として、成果物データの退避に時間を要し、かつ、介入事象が必ず発生する場合に、成果物データを随時退避させてもよい。
(変形例4)
図23から図25を参照して、変形例4について説明する。図23から図25には、変形例4に係る処理を示すフローチャートが示されている。
上述した実施形態及び変形例1,2,3においては、介入事象が発生した場合に、退避情報がDBサーバ12に退避させられる。ユーザがログアウトせずに再開指示を与えた場合には、ログイン中の画像形成装置10にてジョブが再開されるので、退避情報の退避処理や取得処理が不要となる。そこで、変形例4では、介入事象とログアウトの両方が発生した場合に、退避情報をDBサーバ12に退避させる。これにより、無駄な退避処理や取得処理が解消される。以下、変形例4に係る処理について詳しく説明する。変形例4では、ユーザAが画像形成装置10Aにログインし、画像形成装置10Aにてジョブが実行されているものとする。
以下、図23を参照して、介入事象発生時の処理について説明する。画像形成装置10Aにおいては、停止検出部32が、介入事象の発生を監視する。介入事象が発生しない場合(S90,No)、ジョブ実行部24はジョブを続行する。これにより、ジョブは完了する。この場合、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S91)。これにより、ジョブの状態が「処理中」から「処理終了」に変更される。
介入事象が発生した場合であって(S90,Yes)、ユーザAが画像形成装置10Aからログアウトしている場合(S92,Yes)、ジョブ実行部24は、実行中のジョブを停止する。この場合、退避処理部26は、そのジョブの再開に必要なジョブを抽出し(S93)、抽出したジョブ情報を含む退避情報を、ジョブの実行を指示したユーザAの退避情報としてDBサーバ12に退避させる(S94)。これにより、退避情報が画像形成装置10AからDBサーバ12に送信され、ユーザ識別情報に対応付けられてDBサーバ12に記憶される。退避情報には、ジョブの設定情報と、ジョブの進捗状況を示す進捗情報と、成果物データと、が含まれる。また、退避処理部26は、停止したジョブのジョブ情報と成果物データを記憶部20から削除する(S95)。次に、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S96)。これにより、ジョブの状態が「処理中」から「停止中」に変更される。
一方、ユーザAが画像形成装置10Aからログアウトしていない場合(S92,No)、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S97)。これにより、ジョブの状態が「処理中」から「停止中」に変更される。
画像形成装置10Aにおいては、制御部28がログインの状態を監視する(S98)。例えば、ユーザによる介入操作が発生し、ジョブ実行部24が停止中のジョブを途中から再開した場合(S99,No)、ログイン状態の監視は終了する(S100)。ジョブが停止中の場合であって(S99,Yes)、ユーザAが画像形成装置10Aからログアウトした場合(S101,Yes)、処理はステップS93に移行する。ログアウトが発生しない場合(S101,No)、処理はステップS99に移行する。
以下、図24を参照して、停止中ジョブの確認時の処理について説明する。ユーザAがログインしている画像形成装置10においては、制御部28が、端末装置14からジョブ確認要求を受け付ける(S102)。例えば、端末装置14のUI部40にメニュー画面が表示され、そのメニュー画面において、ユーザがUI部40を利用してジョブ確認要求を指示すると、ユーザAがログインしている画像形成装置10において、確認部34が確認処理を行う。ユーザAがログインしている画像形成装置10において、確認対象のジョブ情報が記憶部20に記憶されていない場合(S103,No)、確認部34は、その確認要求の対象となっているジョブの停止理由を示す情報をDBサーバ12から取得する(S104)。一方、確認対象のジョブ情報が記憶部20に記憶されている場合(S103,Yes)、確認部34は、ジョブの停止理由を示す情報を、自身の画像形成装置10の記憶部20から取得する。例えば、ユーザAが画像形成装置10Aにログイン中であれば、ジョブ情報が記憶部20に記憶されているため、確認部34は、記憶部20から停止理由を示す情報を取得する。一方、ユーザAが画像形成装置10Aからログアウトしている場合、ジョブ情報はDBサーバ12に退避されて記憶部20に記憶されていないため、確認部34は、DBサーバ12から停止理由を示す情報を取得する。例えば、再ログイン先として画像形成装置10Bが割り振られた場合、画像形成装置10Bの確認部34が、DBサーバ12から停止理由を示す情報を取得する。
確認要求を行ったユーザが、確認要求対象のジョブの操作権限を有するユーザである場合(S105,Yes)、確認部34は、ジョブの停止理由を示す情報と介入操作画面のデータを端末装置14に送信し、その停止理由を示す情報と介入操作画面を端末装置14のUI部40に表示させる(S106)。確認要求を行ったユーザが、確認要求対象のジョブの操作権限を有していないユーザである場合(S105,No)、確認部34は、ジョブの停止理由を示す情報を端末装置14に送信し、その停止理由を示す情報を端末装置14のUI部40に表示させる(S107)。
以下、図25を参照して、ジョブ再開時の処理について説明する。ユーザAがログインしている画像形成装置10においては、制御部28が、ジョブの再開要求を受け付ける(S108)。例えば、介入操作が実施された後、ユーザAが端末装置14を利用してジョブの再開要求を与えると、ユーザAがログインしている画像形成装置10において、ジョブ管理部22が、DBサーバ12に記憶されているジョブ管理テーブルを更新する(S109)。これにより、ジョブの状態が「停止中」から「処理中」に変更される。ユーザAがログインしている画像形成装置10において、再開対象のジョブ情報が記憶部20に記憶されている場合(S110,Yes)、ジョブ実行部24は、再開対象のジョブ情報を記憶部20から取得し、そのジョブ情報に従ってジョブを途中から再開する(S111)。一方、再開対象のジョブ情報が記憶部20に記憶されていない場合(S110,No)、ジョブ実行部24は、再開対象のジョブ情報(退避情報)をDBサーバ12から取得し(S112)、そのジョブ情報に従ってジョブを途中から再開する(S111)。例えば、ユーザAが画像形成装置10Aにログイン中であれば、ジョブ情報は記憶部20に記憶されているため、ジョブ実行部24は、記憶部20からジョブ情報を取得してジョブを実行する。一方、ユーザAが画像形成装置10Aからログアウトしている場合、ジョブ情報はDBサーバ12に退避されて記憶部20に記憶されていないため、ジョブ実行部24は、DBサーバ12からジョブ情報を取得してジョブを実行する。例えば、再ログイン先として画像形成装置10Bが割り振られた場合、画像形成装置10Bのジョブ実行部24が、DBサーバ12からジョブ情報を取得する。
以上のように、変形例4によると、ユーザがログアウトしていない場合に退避情報をDBサーバ12に退避させる場合と比較して、無駄な退避処理や取得処理が解消される。
なお、変形例1,4を組み合わせてもよいし、変形例2,4を組み合わせてよいし、変形例3,4を組み合わせてもよい。
(変形例5)
図26を参照して、変形例5について説明する。図26には、変形例5に係る処理を示すフローチャートが示されている。
上記の変形例4では、介入事象が発生した場合であっても、ユーザがログイン中であれば退避情報はDBサーバ12に退避されない。しかし、ログイン状態が継続している場合であっても、ジョブの再開指示が直ちに与えられるとは限らない。再開指示が与えられるまでの間、記憶部20等のリソースが継続的に使用されてしまい、処理効率が低下する場合がある。そこで、変形例5では、ユーザがログイン中であっても、介入事象が発生した時点から予め設定された時間内に再開指示が与えられなかった場合、退避処理を行う。これにより、ログイン状態が継続している間は退避情報をDBサーバ12に退避させない場合と比較して、ジョブの実行に必要なリソースが確保され、処理効率の低下が抑制される。以下、変形例5について詳しく説明する。変形例5では、ユーザAが画像形成装置10Aにログインし、画像形成装置10Aにてジョブが実行されているものとする。
画像形成装置10Aにおいては、停止検出部32が、介入事象の発生を監視する。介入事象が発生していない場合(S120,No)、ジョブ実行部24はジョブを続行する。これにより、ジョブは完了する。この場合、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S121)。これにより、ジョブの状態が「処理中」から「処理終了」に変更される。
介入事象が発生した場合であって(S120,Yes)、ユーザAが画像形成装置10Aからログアウトしている場合(S122,Yes)、ジョブ実行部24は、実行中のジョブを停止する。この場合、退避処理部26は、そのジョブの再開に必要なジョブを抽出し(S123)、抽出したジョブ情報を含む退避情報を、ジョブの実行を指示したユーザAの退避情報としてDBサーバ12に退避させる(S124)。これにより、退避情報が画像形成装置10AからDBサーバ12に送信され、ユーザ識別情報に対応付けられてDBサーバ12に記憶される。退避情報には、ジョブの設定情報と、ジョブの進捗状況を示す進捗情報と、成果物データと、が含まれる。また、退避処理部26は、停止したジョブのジョブ情報と成果物データを記憶部20から削除する(S125)。次に、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S126)。これにより、ジョブの状態が「処理中」から「停止中」に変更される。
一方、ユーザAが画像形成装置10Aからログアウトしていない場合(S122,No)、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S127)。これにより、ジョブの状態が「処理中」から「停止中」に変更される。
画像形成装置10Aにおいては、制御部28がタイマーを作動させ(S128)、ログインの状態を監視する(S129)。例えば、ユーザによる介入操作が発生し、ジョブ実行部24が停止中のジョブを途中から再開した場合(S130,No)、ログイン状態の監視は終了する(S131)。ジョブが停止中の場合であって(S130,Yes)、ユーザAが画像形成装置10Aからログアウトした場合(S132,Yes)、処理はステップS123に移行する。ログアウトが発生していない場合であって、介入事象の発生時点からの経過時間が閾値以上となった場合、タイムアウトが発生したと判定され(S133,Yes)、処理はステップS123に移行する。介入事象の発生時点からの経過時間が閾値未満の場合、処理はステップS130に移行する。閾値は例えば予め設定された値である。閾値はユーザや管理者等によって変更されてもよい。
以上のように、変形例5によると、ユーザがログアウトしていない場合であってもタイムアウトが発生した場合には、退避情報がDBサーバ12に退避させられる。これにより、ログイン状態が継続している間は退避情報をDBサーバ12に退避させない場合と比較して、ジョブの実行に必要なリソースが確保され、処理効率の低下が抑制される。
(変形例6)
図27から図29を参照して、変形例6について説明する。図27と図28には、変形例6に係る処理を示すフローチャートが示されている。図29には、ジョブ管理テーブルの一例が示されている。
ユーザが端末装置14から画像形成システムにログインし、その端末装置14からジョブの実行を指示した後、ログインが維持された状態で、ユーザが別の端末装置14から画像形成システムにログインすることが想定される。変形例4,5では、介入事象とログアウトの両方が発生した場合に、退避情報がDBサーバ12に退避させられるので、ユーザがログアウトしていない場合には、変形例4,5では、退避情報がDBサーバ12に退避させられない。それ故、後のログインで割り振られた画像形成装置10(例えば画像形成装置10B)が、先のログインで割り振られた画像形成装置10(例えば画像形成装置10A)と異なる場合、ジョブが停止中であっても、後のログインで割り振られた画像形成装置10によって退避情報が取得されず、ジョブが再開されない。そこで、変形例6では、停止中のジョブを有する画像形成装置10が、ジョブ管理テーブルを用いることにより、他の画像形成装置10からのジョブ再開指示の有無を監視する。再開指示が与えられた場合、停止中のジョブを有する画像形成装置10は、退避情報をDBサーバ12に退避させ、他の画像形成装置10は、その退避情報をDBサーバ12から取得し、停止中のジョブを途中から再開する。これにより、ログアウトが発生しない場合であっても、停止中のジョブの情報が他の画像形成装置10に取得され、ジョブが再開される。以下、変形例6について詳しく説明する。変形例6では、ユーザAが画像形成装置10Aにログインし、画像形成装置10Aにてジョブが実行されているものとする。
以下、図27を参照して、介入事象発生時の処理について説明する。画像形成装置10Aにおいては、停止検出部32が、介入事象の発生を監視する。介入事象が発生しない場合(S140,No)、ジョブ実行部24はジョブを続行する。これにより、ジョブは完了する。この場合、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S141)。これにより、ジョブの状態が「処理中」から「処理終了」に変更される。
介入事象が発生した場合であって(S140,Yes)、ユーザAが画像形成装置10Aからログアウトしている場合(S142,Yes)、ジョブ実行部24は、実行中のジョブを停止する。この場合、退避処理部26は、そのジョブの再開に必要なジョブを抽出し(S143)、抽出したジョブ情報を含む退避情報を、ジョブの実行を指示したユーザAの退避情報としてDBサーバ12に退避させる(S144)。これにより、退避情報が画像形成装置10AからDBサーバ12に送信され、ユーザ識別情報に対応付けられてDBサーバ12に記憶される。退避情報には、ジョブの設定情報と、ジョブの進捗状況を示す進捗情報と、成果物データと、が含まれる。また、退避処理部26は、停止したジョブのジョブ情報と成果物データを記憶部20から削除する(S145)。次に、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S146)。これにより、ジョブの状態が「処理中」から「停止中」に変更される。
一方、ユーザAが画像形成装置10Aからログアウトしていない場合(S142,No)、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S147)。これにより、ジョブの状態が「処理中」から「停止中」に変更される。
画像形成装置10Aにおいては、制御部28が、DBサーバ12上のジョブ管理テーブルを参照することにより、ジョブの再開指示の有無を監視する(S148)。後述するように、他の画像形成装置10(例えば画像形成装置10B)から再開指示が与えられた場合、ジョブ管理テーブルには、再開指示を示す情報が追加される。この情報を参照することにより、再開指示が検出される。
また、画像形成装置10Aにおいては、制御部28がログインの状態を監視する(S149)。例えば、ユーザによる介入操作が発生し、ジョブ実行部24が停止中のジョブを途中から再開した場合(S150,No)、ログイン状態の監視は終了する(S151)。ジョブが停止中の場合であって(S150,Yes)、ユーザAが画像形成装置10Aからログアウトした場合(S152,Yes),処理はステップS143に移行する。ログアウトが発生していない場合であって(S152,No)、他の画像形成装置10(例えば画像形成装置10B)からジョブの再開指示が与えられた場合(S153,Yes)、処理はステップS143に移行する。この場合、退避情報が画像形成装置10AからDBサーバ12に退避させられる。他の画像形成装置10からジョブの再開指示が与えられない場合(S153,No)、処理はステップS150に移行する。
以下、図28を参照して、ジョブ再開時の処理について説明する。ユーザAがログインしている画像形成装置10においては、制御部28が、ジョブの再開要求を受け付ける(S154)。例えば、介入操作が実施された後、ユーザAが端末装置14を利用してジョブの再開要求を与えると、ユーザAがログインしている画像形成装置10において、ジョブ管理部22が、DBサーバ12に記憶されているジョブ管理テーブルを更新する(S155)。これにより、ジョブの状態が「停止中」から「処理中」に変更される。
ユーザAがログインしている画像形成装置10において、再開対象のジョブ情報が記憶部20に記憶されている場合(S156,Yes)、ジョブ実行部24は、再開対象のジョブ情報を記憶部20から取得し、そのジョブ情報に従ってジョブを途中から再開する(S157)。
再開対象のジョブ情報が記憶部20に記憶されていない場合であって(S156,No)、再開対象のジョブ情報がDBサーバ12に記憶されている場合(S158,Yes)、ジョブ実行部24は、再開対象のジョブ情報(退避情報)をDBサーバ12から取得し(S159)、そのジョブ情報に従ってジョブを途中から再開する(S157)。
例えば、ユーザAが画像形成装置10Aにログイン中であれば、ジョブ情報は記憶部20に記憶されているため、ジョブ実行部24は、記憶部20からジョブ情報を取得してジョブを実行する。一方、ユーザAが画像形成装置10Aからログアウトしている場合、ジョブ情報はDBサーバ12に退避されて記憶部20に記憶されていないため、ジョブ実行部24は、DBサーバ12からジョブ情報を取得してジョブを実行する。例えば、再ログイン先として画像形成装置10Bが割り振られた場合、画像形成装置10Bのジョブ実行部24が、DBサーバ12からジョブ情報を取得する。
再開対象のジョブ情報がDBサーバ12に記憶されていない場合(S158,No)、再ログイン先としての画像形成装置10Bのジョブ管理部22は、DBサーバ12に記憶されているジョブ管理テーブルを更新する(S160)。これにより、再開対象のジョブについて再開指示を示す情報がジョブ管理テーブルに追加される。上述したように、画像形成装置10Aにおいては、制御部28が、DBサーバ12上のジョブ管理テーブルを監視している。画像形成装置10Bから再開指示が与えられた場合、その再開指示が制御部28によって検出される。再開指示が検出された場合、退避情報が画像形成装置10AからDBサーバ12に退避させられる。画像形成装置10Bのジョブ実行部24は、退避情報をDBサーバ12から取得し(S159)、ジョブを再開する(S157)。
図29を参照して、変形例6について詳しく説明する。図29の(A)には、介入事象が発生した後のジョブ管理テーブルが示されている。このジョブ管理テーブルにおいては、再開指示の有無を示す情報が、他の情報に対応付けられている。図29の(A)に示す例では、認証エラーが原因となって、管理番号が「2」のジョブが停止している。ユーザAが画像形成装置10Aからログアウトしていないので、退避情報は画像形成装置10AからDBサーバ12に退避させられていない。
図29の(B)には、再開指示が与えられた後のジョブ管理テーブルが示されている。例えば、ユーザAが画像形成装置10Aにログインしている状態で画像形成装置10Bにログインし、画像形成装置10Bに対してジョブの再開指示を与えたものとする。この場合、画像形成装置10Bのジョブ管理部22は、その再開指示に応じて、ジョブ管理テーブルにおいて再開対象のジョブに対してフラグを設定する。ジョブ管理テーブルには、再開指示の有無を示す欄が設けられており、再開指示が与えられた場合、その欄にフラグ(例えば○)が設定される。
図29の(C)には、退避情報がDBサーバ12に退避させられた後のジョブ管理テーブルが示されている。画像形成装置10Aの制御部28は、ジョブ管理テーブルに規定されている再開指示の有無を示す欄を監視している。その欄にフラグ(○)が設定された場合、画像形成装置10Aの退避処理部26は、フラグが設定されたジョブの情報を退避情報としてDBサーバ12に退避させる。これにより、ジョブ管理テーブルには、そのジョブの設定情報の格納先を示すアドレス、進捗情報の格納先を示すアドレス、及び、成果物データの格納先を示すアドレスが、記述される。画像形成装置10Bのジョブ実行部24は、ジョブ管理テーブルを参照することにより、再開対象のジョブの設定情報、進捗情報及び成果物データの格納先を特定し、その格納先から設定情報、進捗情報及び成果物データを取得し、ジョブを途中から再開する。
以上のように、変形例6によると、ユーザが画像形成システムからログアウトしていない場合であっても、停止中のジョブの情報が他の画像形成装置10によって取得され、ジョブが再開される。
なお、変形例5,6を組み合わせてもよい。また、変形例2,3,5,6の中の少なくとも2つの変形例を組み合わせてもよい。
(変形例7)
図30と図31を参照して、変形例7について説明する。図30には、変形例7に係る画像形成システムの一例が示されている。
画像形成装置10Aに出力装置44Aが接続されており、画像形成装置10Bに出力装置44Bが接続されている。出力装置44A,44Bを区別する必要が無い場合には、これらを「出力装置44」と称することとする。変形例7においては、例えば、画像形成装置10は画像処理を実行する装置であり、出力装置44は、画像処理が適用された文書を印刷して後処理を実行する装置である。後処理は、例えばステープラによる処理等である。
例えば、画像形成装置10Aと出力装置44Aにて実行中のジョブが停止し、退避情報がDBサーバ12に転送され、画像形成装置10Bと出力装置44Bにてジョブが途中から再開される場合がある。例えば、出力装置44Aにて文書を印刷してステープラによる処理を適用しているときに、用紙不足、ステープラの針不足、トナー不足、等の介入事象が発生すると、ジョブは停止する。この場合、未処理のジョブを実行するための退避情報がDBサーバ12に転送され、画像形成装置10Bと出力装置44Bにて、未処理のジョブが実行される。この場合、出力装置44A,44Bのそれぞれにて印刷物が作成され、ジョブの実行によって作成される複数の印刷物が分割されてしまう。そこで、変形例7では、ジョブの進捗状況を監視し、そのジョブが特定の段階まで実行された場合、退避情報の退避を禁止し、ジョブが特定の段階まで実行されていない場合、退避情報の退避を許可する。
以下、図31を参照して、変形例7について詳しく説明する。図31は、変形例7に係る処理を示すフローチャートである。変形例7では、ユーザAが画像形成装置10Aにログインし、画像形成装置10Aにてジョブが実行されているものとする。
画像形成装置10Aにおいては、停止検出部32が、介入事象の発生を監視するとともに、ジョブの進捗状況を監視する。介入事象が発生しない場合(S170,No)、ジョブ実行部24はジョブを続行する。これにより、ジョブは完了する。この場合、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S171)。これにより、ジョブの状態が「処理中」から「処理終了」に変更される。
介入事象が発生した場合であって(S170,Yes)、ジョブが特定の段階まで実行されていない場合、制御部28は、退避情報の退避を許可する。制御部28は、例えば、出力装置44Aによる処理が開始されていない段階においては、退避情報の退避を許可し、出力装置44Aによる印刷とステープラによる処理が開始された段階では、退避情報の退避を禁止する。退避が許可された場合(S172,Yes)、退避処理部26は、そのジョブの再開に必要なジョブを抽出し(S173)、抽出したジョブ情報を含む退避情報を、ジョブの実行を指示したユーザAの退避情報としてDBサーバ12に退避させる(S174)。これにより、退避情報が画像形成装置10AからDBサーバ12に送信され、ユーザ識別情報に対応付けられてDBサーバ12に記憶される。また、退避処理部26は、停止したジョブのジョブ情報と成果物データを記憶部20から削除する(S175)。次に、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S176)。これにより、ジョブの状態が「処理中」から「停止中」に変更される。
一方、退避が許可されない場合(S172,No)、ジョブ管理部22は、DBサーバ12上のジョブ管理テーブルを更新する(S177)。これにより、ジョブの状態が「処理中」から「停止中」に変更される。この場合、介入操作が実施された後、ジョブが再開される。例えば、用紙不足、ステープラの針不足、トナー不足、等の介入事象が発生した場合、出力装置44Aにおいて、用紙の追加、針の追加、トナーの追加、等の介入操作が実施され、その後、画像形成装置10Aと出力装置44Aにてジョブが再開される。
以上のように、変形例7によると、印刷物等の成果物が分断されることが防止される。
なお、ジョブが特定の段階まで実行された場合であっても、別の画像形成装置10(例えば画像形成装置10B)にてジョブが実行されてもよい。この場合、画像形成装置10Aによる画像処理が適用された文書データが、成果物データとして生成され、画像形成装置10Aにおいて、成果物データが複製される。上述した実施形態と同様に、複製された成果物データは退避情報に含まれてDBサーバ12に退避させられる。画像形成装置10Bはその退避情報を取得し、ジョブを途中から実行する。出力装置44Bは、複製された成果物データに基づいて印刷等の処理を実行するとともに、画像形成装置10Bによって生成された成果物データに基づいて印刷等の処理を実行する。これにより、出力装置44Bにて、ジョブの実行によって生成されるべき全ての印刷物が生成される。例えば、介入操作に時間を要する場合においては、別の画像形成装置10と出力装置44にてジョブを実行することにより、ジョブの完了に要する時間が短くなる。
なお、変形例2,3,5,6,7の中の少なくとも2つの変形例を組み合わせてもよい。
上記の画像形成装置10は、一例としてハードウェア資源とソフトウェアとの協働により実現される。具体的には、画像形成装置10は、図示しないCPU等のプロセッサを備えている。当該プロセッサが、図示しない記憶装置に記憶されたプログラムを読み出して実行することにより、画像形成装置10の各部の機能が実現される。上記プログラムは、CDやDVD等の記録媒体を経由して、又は、ネットワーク等の通信経路を経由して、記憶装置に記憶される。または、画像形成装置10の各部は、例えばプロセッサや電子回路等のハードウェア資源により実現されてもよい。その実現においてメモリ等のデバイスが利用されてもよい。別の例として、画像形成装置10の各部は、DSP(Digital Signal Processor)やFPGA(Field Programmable Gate Array)等によって実現されてもよい。なお、本願発明の情報処理装置は画像形成装置10に限定されるものではなく、ユーザからの指示に基づいてジョブを実行可能な一般的な構成のコンピュータであってもよい。