以下、本発明の好適な実施の形態(以下「実施形態」という)について、図面を用いて詳細に説明する。
[第1の実施形態]
<システム構成>
図1は、本実施形態に係るジョブ制御システム1の構成例を示す図である。
図1には、1又は複数の情報端末3001〜3002(以降総称する場合「情報端末」という)、1又は複数の電子機器2001〜2002(以降総称する場合「情報端末」という)、及び情報処理装置100が、所定のデータ伝送路(例えば「LAN:Local Area Network」)に接続されるシステム構成例が示されている。
情報端末300は、情報処理機能を有する端末であり、PC(Personal Computer)やタブレットPC(Tablet PC)などである。電子機器200は、画像処理機能を有する機器であり、スキャナ、プリンタ、MFP(Multifunction Peripheral)、プロジェクタなどである。
情報処理装置100は、情報端末300から投入されたジョブの蓄積・管理や電子機器200におけるジョブ実行の制御などを含む蓄積ジョブの実行制御機能を有する装置であり、情報端末300や電子機器200をクライントとするサーバなどである。
上記ジョブ制御システム1は、次のようなサービスを提供する。
情報端末300は、情報処理装置100にジョブデータを送信し、蓄積ジョブを投入する。これを受けて情報処理装置100は、受信データを所定の記憶領域に蓄積する。その後、電子機器200は、利用者からの認証画面操作により受け付けた認証情報に基づき、利用認証を行い、情報処理装置100に利用者のログイン通知を行う。これを受けて情報処理装置100は、ログイン利用者の蓄積ジョブに関する情報に基づき、ジョブ実行を制御する条件判定を行う。
その結果、情報処理装置100は、利用者ログイン時(ログイン通知をトリガ)にジョブを実行すると判定した場合、ログイン利用者の蓄積ジョブのうち、条件を満たした蓄積ジョブのジョブデータを電子機器200に送信し、ジョブの実行を要求する。これにより、電子機器200では、利用者ログイン時にジョブが実行される。
一方、情報処理装置100は、利用者ログイン時(ログイン通知をトリガ)にジョブを実行しないと判定した場合、ログイン利用者の蓄積ジョブに関する情報に基づき、ジョブリストを生成し、生成したジョブリストを電子機器200に送信し、ジョブリストの表示を要求する。これにより、電子機器200では、ログイン利用者からのジョブリスト画面操作により受け付けた実行対象のジョブ指定と実行指示に基づき、情報処理装置100から実行ジョブのジョブデータを取得し、ジョブが実行される。
以上のように、本実施形態に係るジョブ制御システム1では、上記システム構成により、電子機器200の利用者ログイン時(ログイン通知をトリガ)に所定の条件を満たす蓄積ジョブが実行されるジョブ制御サービスを提供することができる。
<ハードウェア構成>
図2は、本実施形態に係る情報処理装置100のハードウェア構成例を示す図である。
図2に示すように、情報処理装置100は、入力装置101、表示装置102、外部I/F103、RAM(Random Access Memory)104、ROM(Read Only Memory)105、CPU(Central Processing Unit)106、通信I/F107、及びHDD(Hard Disk Drive)108などを備え、それぞれがバスBで相互に接続されている。
入力装置101は、キーボードやマウスなどを含み、情報処理装置100に各操作信号を入力するのに用いられる。表示装置102は、ディスプレイなどを含み、情報処理装置100による処理結果を表示する。
通信I/F107は、情報処理装置100をネットワークに接続するインタフェースである。これにより、情報処理装置100は、通信I/F107を介して、他の機器(「情報端末」、「電子機器」)とデータ通信を行うことができる。
HDD108は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、装置全体を制御する基本ソフトウェアであるOS(Operating System)、及びOS上において各種機能を提供するアプリケーションソフトウェアなどがある。また、HDD108は、格納しているプログラムやデータを、所定のファイルシステム及び/又はDB(Data Base)により管理している。
外部I/F103は、外部装置とのインタフェースである。外部装置には、記録媒体103aなどがある。これにより、情報処理装置100は、外部I/F103を介して、記録媒体103aの読み取り及び/又は書き込みを行うことができる。記録媒体103aには、フロッピー(商標又は登録商標)ディスク、CD(Compact Disk)、及びDVD(Digital Versatile Disk)、ならびに、SDメモリカード(SD Memory card)やUSBメモリ(Universal Serial Bus memory)などがある。
ROM105は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM105には、情報処理装置100の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定などのプログラムやデータが格納されている。RAM104は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。CPU106は、上記記憶装置(例えば「HDD」や「ROM」など)から、プログラムやデータをRAM上に読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する演算装置である。
以上のように、本実施形態に係る情報処理装置100は、上記ハードウェア構成により、蓄積データの管理を含む各種情報処理サービスを提供することができる。
<ジョブ制御機能>
本実施形態に係るジョブ制御機能について説明する。
本実施形態に係る情報処理装置100は、電子機器200から利用者のログイン通知を受け付けると、蓄積ジョブを管理するジョブ管理情報の中から、ログイン利用者のジョブ管理情報を特定する。情報処理装置100は、特定したジョブ管理情報に基づき、ログイン利用者の蓄積ジョブに対して、利用者ログイン時のジョブ実行(ログイン通知をトリガとするジョブ実行)を制御する条件判定を行う。情報処理装置100は、判定結果に基づき、実行するジョブデータ(条件を満たした蓄積ジョブのジョブデータ)を電子機器200に送信し、電子機器200に対して、ジョブ実行を要求する。本実施形態に係る情報処理装置100は、このようなジョブ制御機能を有している。
従来のジョブ制御では、利用者に対して、出力情報の機密性とサービスの利便性とがバランスよく提供できていない。例えば業務利用の場面では、電子機器200によるジョブ実行結果の機密性とジョブ実行の迅速さが求められる。
そこで、本実施形態に係る情報処理装置100では、電子機器200における利用者ログイン(利用認証)と連動して、所定の条件を満たすログイン利用者の蓄積ジョブを電子機器200に送信し、ジョブを実行する仕組みとした。
これにより、本実施形態に係るジョブ制御システム1は、利用者が、対峙する電子機器200において簡便な操作(従来より少ない手順)によりジョブを実行でき、実行結果を利用者自身が受け取ることが可能な環境を提供する。その結果、本実施形態に係るジョブ制御システム1では、ジョブ実行時の情報機密性を確保しながら利用者が求める利便性を実現できる。
以下に、本実施形態に係るジョブ制御機能の構成とその動作について説明する。
図3は、本実施形態に係るジョブ制御機能の構成例を示す図である。
図3に示すように、本実施形態に係るジョブ制御機能は、ジョブ要求受付部11、データ解析部12、ジョブ管理部13、ログイン受付部14、ジョブ制御部15、ジョブリスト生成部16、ジョブ送信部17、ログイン制御部21、ジョブ取得部22、ジョブ実行部23、及びジョブ投入部31などを有している。
ジョブ要求受付部11、データ解析部12、ジョブ管理部13、ログイン受付部14、ジョブ制御部15、ジョブリスト生成部16、及びジョブ送信部17は、情報処理装置100が有する機能部である。ログイン制御部21、ジョブ取得部22、及びジョブ実行部23は、電子機器200が有する機能部である。ジョブ投入部31は、情報端末300が有する機能部である。
このように、本実施形態に係るジョブ制御機能は、各機器が有する機能部が連携動作することで実現される。
《情報端末》
ジョブ投入部31は、情報処理装置100に蓄積ジョブを投入する機能部である。ジョブ投入部31は、蓄積ジョブのジョブデータを情報処理装置100に送信することで、ジョブを投入し、ジョブの蓄積を要求する。ここでいう「ジョブデータ」には、次のようなデータが該当する。例えば情報端末300に搭載されるプリンタドライバが生成した印刷データなどである。なお、ジョブデータは、印刷データに限らない。ジョブデータは、電子機器200の搭載機能を利用して実行可能なデータであればよい。
《電子機器》
ログイン制御部21は、電子機器200の利用者ログインを制御する機能部である。ログイン制御部21は、所定の入力インタフェースを介して受け付けた利用者(ログイン要求した利用者)の認証情報(例えば「利用者ID」と「パスワード」)に基づき、利用認証を行う。ここでいう「入力インタフェース」には、次のようなインタフェースが該当する。例えば電子機器200が備える操作パネル(非図示)に表示された認証画面やICカード(Integrated Circuit card)などの認証情報が記録された記録媒体を読み取る読み取り装置(ICカードリーダー)などである。
ログイン制御部21は、予め電子機器200に登録された利用者ごとの認証情報とログイン要求した利用者の認証情報(受け付けた認証情報)とを比較し、比較結果に基づき利用認証を行う。ログイン制御部21は、比較結果が一致した場合、ログイン要求した利用者を機器利用可能な利用者(ログイン利用者)とする認証結果を得る。なお、ログイン制御部21は、電子機器200がアクセス可能な認証装置(非図示)に対して、ログイン要求した利用者の認証情報を送信し、利用認証を要求することで、認証結果を得るようにしてもよい。
ログイン制御部21は、ログイン要求した利用者が電子機器200の利用が許可された利用者(認証利用者)である旨の認証結果を得ると、情報処理装置100に利用者ログインを通知する。ログイン制御部21は、ログイン利用者の識別情報(利用者識別子:利用者ID)を情報処理装置100に送信することで、利用者ログインを通知する。
ジョブ取得部22は、情報処理装置100から実行対象の蓄積ジョブを取得する機能部である。ジョブ取得部22は、表示部221及び選択受付部222を有し、次のように実行対象の蓄積ジョブを取得する。
ジョブ取得部22は、表示部221により、情報処理装置100から受信したログイン利用者のジョブリストに基づき、ジョブリスト画面を表示する。ジョブ取得部22は、選択受付部222により、ジョブリスト画面を介して、ログイン利用者からの実行対象のジョブ指定と実行指示を受け付ける。これを受けてジョブ取得部22は、情報処理装置100に対して、指定された実行対象の蓄積ジョブの取得を要求することで、該当ジョブデータを取得する。
ジョブ実行部23は、情報処理装置100からのジョブ実行要求に従って、ジョブを実行する機能部である。ジョブ実行部23は、搭載機能を利用して、ジョブ実行要求受付時のジョブデータを処理することで、ジョブを実行する。ジョブ実行部23は、処理終了後、ジョブの実行結果を情報処理装置100に送信することで、ジョブの実行記録を要求する。
《情報処理装置》
ジョブ要求受付部11は、情報端末300からのジョブの蓄積要求(ジョブ投入)を受け付ける機能部である。ジョブ要求受付部11は、情報端末300からジョブデータを受信することで、ジョブの蓄積要求を受け付ける。
データ解析部12は、情報端末300からの受信データを解析する機能部である。データ解析部12は、所定の規則(例えば「データ形式仕様」)に従って、蓄積要求受付時のジョブデータを解析し、次のような解析結果を取得する。データ解析部12は、例えばジョブの書誌情報や付加情報などを解析結果として取得する。なお、「書誌情報」は、情報端末300によるジョブデータ生成時(例えば上述した「プリンタドライバによる印刷データ生成時)に、アプリケーションデータなどの元データに基づき、ジョブデータに埋め込まれた情報である。また、「付加情報」は、情報端末300(ジョブ投入部)によるジョブ投入時に、利用者から受け付けた設定データ(例えば「ジョブの代理実行を許可する利用者設定」や「ジョブの実行開始を許可する日時設定」)に基づき、ジョブデータに付加された情報である。
ジョブ管理部13は、蓄積ジョブを管理する機能部である。ジョブ管理部13は、蓄積ジョブを管理する管理情報に基づき、蓄積ジョブを管理する。本実施形態では、ジョブ管理情報保持部90に、図4に示すような管理情報90Dを保持している。なお、ジョブ管理情報保持部90は、情報処理装置100が備える記憶装置の所定の記憶領域にあたる。
図4は、本実施形態に係るジョブ管理情報90Dのデータ例を示す図である。
図4に示すように、ジョブ管理情報90Dは、ジョブ識別、書誌、代理設定、蓄積日時、及び実行記録などの情報項目が対応付けられた1又は複数の情報セットを含み、これらの情報セットをジョブ単位で管理している。
[ジョブ識別]項目は、蓄積ジョブの識別情報(以下「ジョブ識別情報」という)を保持する項目であり、項目値には、ジョブ識別子(ジョブID)などがある。項目値は、ジョブ蓄積時に発行(採番)され登録される。[書誌]項目は、蓄積ジョブの書誌情報を保持する項目であり、複数の項目値を有する。項目値には、オーナー名(蓄積ジョブのオーナーにあたる利用者識別子)、ジョブ名、データサイズ、ページ数、部数などがある。これらの項目値は、データ解析部12が解析結果として取得した書誌情報に基づき登録される。
[代理設定]項目は、蓄積ジョブの代理実行を許可する設定情報(以下「代理設定情報」という)を保持する項目であり、項目値には、代理実行が許可された利用者の識別情報(利用者識別子:利用者ID)などがある。項目値は、データ解析部12が解析結果として取得した付加情報に基づき登録される。[実行開始設定]項目は、蓄積ジョブの実行開始を許可する設定情報(以下「実行開始設定情報」という)を保持する項目であり、項目値には、ジョブの実行開始を許可する実行開始日時値(日付と時刻の組み合わせ値)などがある。項目値は、データ解析部12が解析結果として取得した付加情報に基づき登録される。
[蓄積日時]項目は、ジョブを蓄積した日時情報(以下「蓄積日時情報」という)を保持する項目であり、項目値には、蓄積日時値(日付と時刻の組み合わせ値)などがある。項目値は、ジョブ蓄積時に情報処理装置100が備える時計回路(非図示)から取得した値に基づき登録される。[実行記録]項目は、蓄積ジョブの実行記録情報を保持する項目であり、複数の項目値を有する。項目値には、実行状態値(「実行済み」/「未実行」)、実行日時値(日付と時刻の組み合わせ値)などがある。これらの項目値は、ジョブ蓄積時にデフォルト値(未実行:−)が登録され、電子機器200からのジョブの実行結果応答に基づき最新値(実行済み:2011/11/01 12:05)に更新される。
なお、ジョブ管理情報90Dは、図示していないが、蓄積ジョブごとにジョブデータの蓄積先情報(例えば「データパス」や「URI:Uniform Resource Identifier」)を有している。これにより、情報処理装置100では、ジョブ管理情報90Dとジョブデータとが蓄積ジョブごとに対応付けて管理される。
図3の説明に戻る。ジョブ管理部13は、ジョブ管理情報保持部90にアクセスし、上記ジョブ管理情報90Dに対して、登録/削除/取得(参照)などのデータ操作を行い、蓄積ジョブを管理する。
ジョブ管理部13は、データ解析部12から解析結果を受け取ると、ジョブ管理情報保持部90にアクセスし、新規情報セットを生成し、蓄積要求されたジョブのジョブデータを所定の記憶領域に格納するとともに、受け取った解析結果に基づき、対応するジョブ管理情報90Dを登録する。
また、ジョブ管理部13は、例えば予め設定された所定のスケジュールに従って、ジョブ管理情報保持部90にアクセスし、蓄積日時情報に基づき、蓄積してから一定期間経過した蓄積ジョブのジョブデータとジョブ管理情報90Dを特定し削除する。
また、ジョブ管理部13は、ジョブリスト取得指示を受け付けると、ジョブ管理情報保持部90にアクセスし、取得指示受付時に受信した利用者識別情報に基づき、該当ジョブ管理情報90Dを特定し取得する。
また、ジョブ管理部13は、電子機器200からジョブ取得要求を受け付けると、ジョブ管理情報保持部90にアクセスし、取得要求受付時に受信したジョブ識別情報に対応する蓄積先情報に基づき、該当ジョブデータの蓄積先を特定し取得する。
ログイン受付部14は、電子機器200からのログイン通知を受け付ける機能部である。ログイン受付部14は、電子機器200からログイン利用者の利用者識別情報を受信することで、ログイン通知を受け付ける。
ジョブ制御部15は、電子機器200における利用者ログイン時のジョブ実行(ログイン通知をトリガとするジョブ実行)を制御する機能部である。ジョブ制御部15は、判定部151を有し、次のようにジョブ実行を制御する。
ジョブ制御部15は、ログイン受付部14がログイン通知を受け付けると、ジョブ管理情報保持部90にアクセスし、ログイン通知受付時に受信したログイン利用者の利用者識別情報に基づき、ログイン利用者のジョブ管理情報90Dを特定する。なお、このときジョブ制御部15は、[書誌]項目に含まれるオーナー名の値又は[代理設定]項目の項目値が、ログイン利用者の利用者識別情報の値を一致するジョブ管理情報90Dを特定する。つまり、ジョブ制御部15は、ログイン利用者がオーナーの蓄積ジョブとログイン利用者が代理実行可能な蓄積ジョブとを、利用者ログイン時の実行対象候補(ログイン通知をトリガに実行する候補ジョブ)の蓄積ジョブ(以下「実行対象候補ジョブ」という)として特定する。
ジョブ制御部15は、判定部151により、特定したジョブ管理情報90Dに基づき、利用者ログイン時のジョブ実行を制御する条件判定を行う。つまり、ジョブ制御部15は、ログイン利用者の利用者識別情報に基づき、利用者ログイン時の実行対象候補ジョブを特定し、特定した蓄積ジョブごとの判定部151による条件判定結果に基づき、ジョブを実行するか否かを決定する。
(1)制御条件と条件判定結果に基づくジョブ実行との関係
判定部151は、例えば次のような条件判定を行い、ジョブ制御部15は、判定部151による条件判定結果に基づき、利用者ログイン時のジョブ実行を決定する。
(1−1)実行状態に基づく条件
判定部151は、ジョブ管理情報90Dの実行記録情報(実行状態値)に基づき、実行対象候補ジョブが未実行か否かを判定する。
その結果、ジョブ制御部15は、未実行と判定した場合、該当ジョブの実行を(実行するものと)決定する。一方、ジョブ制御部15は、実行済みと判定した場合、該当ジョブの非実行を(実行しないものと)決定する。
(1−2)蓄積経過時間に基づく条件
判定部151は、ログイン通知受付時の日時情報(ログイン日時値)を取得し、取得した日時情報とジョブ管理情報90Dの蓄積日時情報(蓄積日時値)に基づき、実行対象候補ジョブの蓄積経過時間が所定時間以内か否か(蓄積日時からログイン日時までの時間が所定時間以内か否か)を判定する。なお、このときの「所定時間」は、予め設定された判定基準値(閾値)であり、例えば管理者などにより、本サービスの運用方針に基づき設定される値である。また、「ログイン日時値」は、ログイン通知受付時に情報処理装置100が備える時計回路(非図示)から取得した値である。
その結果、ジョブ制御部15は、蓄積経過時間が所定時間以内と判定した場合、該当ジョブの実行を(実行するものと)決定する。一方、ジョブ制御部15は、蓄積経過時間が所定時間経過していると判定した場合、該当ジョブの非実行を(実行しないものと)決定する。
例えば利用者ログイン時にジョブの実行が求められる場面では、利用者が、情報端末300から情報処理装置100に対してジョブ蓄積後、すぐに電子機器200に赴き、利用者ログインすることが考えられ、ジョブの蓄積経過時間は短い。そこで、判定部151では、上記蓄積経過時間の特徴を判定条件とし、ジョブ制御部15は、条件判定結果に基づき、利用者ログイン時のジョブ実行を決定する。
(1−3)実行開始日時に基づく条件
判定部151は、ログイン通知受付時の日時情報(ログイン日時値)を取得し、取得した日時情報とジョブ管理情報90Dの実行開始設定情報(実行開始日時値)に基づき、ログイン日時が実行対象候補ジョブの実行開始日時以降か否か(ジョブの実行が許可された期間にログインされたか否か)を判定する。
その結果、ジョブ制御部15は、ログイン日時が実行開始日時以降と判定した場合、該当ジョブの実行を(実行するものと)決定する。一方、ジョブ制御部15は、ログイン日時が実行開始日時より前の日時と判定した場合、該当ジョブの非実行を(実行しないものと)決定する。
(1−4)データサイズに基づく条件
判定部151は、ジョブ管理情報90Dの書誌情報に含まれるデータサイズの値に基づき、実行対象候補ジョブのデータサイズが所定値以下か否かを判定する。なお、このときの「所定値」は、予め設定された判定基準値(閾値)であり、例えば管理者などにより、本サービスの運用方針に基づき設定される値である。
その結果、ジョブ制御部15は、データサイズが所定値以下と判定した場合、該当ジョブの実行を(実行するものと)決定する。一方、ジョブ制御部15は、データサイズが所定値より大きいと判定した場合、該当ジョブの非実行を(実行しないものと)決定する。
利用者ログイン時のジョブ実行では、短時間にジョブ実行が完了し、電子機器200を他の利用に開放すること(迅速な処理)が求められる。そのためには、データサイズの小さい蓄積ジョブを実行ジョブとすることが望ましい。そこで、判定部151では、上記データサイズの特徴を判定条件とし、ジョブ制御部15は、条件判定結果に基づき、利用者ログイン時のジョブ実行を決定する。
このように、本実施形態では、制御条件と条件判定結果に基づくジョブ実行とに上述したような関係を有する。なお、ジョブ制御部15では、判定部151が複数の上記制御条件に基づく条件判定を行い、これらの条件判定結果に基づき、利用者ログイン時のジョブ実行を決定してもよい。この場合、ジョブ制御部15では、予め設定しておいた制御条件ごとの優先順位に従って、利用者ログイン時のジョブ実行を決定する際に用いる条件判定結果を、複数の条件判定結果の中から特定する。
(2)具体的なジョブ実行制御
ジョブ制御部15は、利用者ログイン時のジョブの実行/非実行を決定した後、決定内容に従って、次のような制御を行う。
(2−1)ジョブを実行すると決定した場合
ジョブ制御部15は、実行を決定した該当ジョブ(条件を満たした蓄積ジョブ)の蓄積先情報に基づき、ジョブデータを取得し、取得したジョブデータを後述するジョブ送信部17に渡し、実行ジョブの送信を指示する。これにより、電子機器200では、受信したジョブデータが利用者ログイン時に実行される。
その後、ジョブ制御部15は、ログイン利用者の利用者識別情報を後述するジョブリスト生成部16に渡し、ジョブリストの生成を指示する。これにより、電子機器200では、ジョブ実行後に、ログイン利用者のジョブリストが表示される。
(2−2)ジョブを実行しないと決定した場合
ジョブ制御部15は、ログイン利用者の利用者識別情報を後述するジョブリスト生成部16に渡し、ジョブリストの生成を指示する。これにより、電子機器200では、利用者ログイン後に、ログイン利用者のジョブリストが表示される。
このように、電子機器200では、情報処理装置100からの要求に従って、利用者ログイン時のジョブ実行及び/又はジョブリスト表示が行われる。
ジョブリスト生成部16は、ログイン利用者のジョブリストを生成する機能部である。ジョブリスト生成部16は、ジョブ制御部15からジョブリスト生成指示を受け付けると、ジョブリスト生成指示受付時に受け取った利用者識別情報をジョブ管理部13に渡し、ログイン利用者のジョブ管理情報90Dの取得を指示する。その結果、ジョブリスト生成部16は、取得した該当ジョブ管理情報90Dに基づき、ジョブリストを生成する。ジョブリスト生成部16は、生成したジョブリストを電子機器200(ジョブ取得部)に送信することで、ジョブリストの表示を要求する。
ジョブ送信部17は、利用者ログイン時の実行ジョブを電子機器200(ジョブ実行部)に送信する機能部である。ジョブ送信部17は、ジョブ制御部15からジョブ送信指示を受け付けると、ジョブ送信指示受付時に受け取ったジョブデータを電子機器200に送信することで、ジョブの実行を要求する。その結果、ジョブ送信部17は、電子機器200からジョブの実行結果応答を受け付けると、ジョブ実行結果応答受付時に受信した実行結果をジョブ制御部15に渡し、ジョブの実行記録(更新)を指示する。
以上のように、本実施形態に係るジョブ制御機能は、上記各機能部が連携動作することにより実現される。なお、上記各機能部は、システム1を構成する各機器に搭載(インストール)されるプログラム(ジョブ制御機能を実現するソフトウェア)が、演算装置(CPU)により、記憶装置(「HDD」や「ROM」)からメモリ(RAM)上に読み出され、各機器において、以下の処理が実行されることで実現される。
本実施形態に係るジョブ制御機能の詳細な動作(機能部群の連携動作)について、処理手順を示すシーケンス図及びフローチャートを用いて説明する。なお、以下には、まずジョブ制御の基本処理を説明し、その後、各条件に従ったジョブ制御判定処理の詳細を説明する。
《ジョブ制御処理》
図5は、本実施形態に係るジョブ制御の処理手順例を示すシーケンス図である。なお、図5に示す処理では、既に情報処理装置100にジョブが蓄積されている状態を想定している。よって、電子機器200が利用者ログインを受け付けた後の処理について説明する。
図5に示すように、電子機器200は、ログイン制御部21により、利用者ログインを受け付ける(ステップS101)。このときログイン制御部21は、利用者の認証情報に基づき利用認証を行い、ログイン利用者の利用者識別情報を取得する。
その結果、ログイン制御部21は、認証結果に基づく利用者ログインを情報処理装置100(ログイン受付部)に通知する(ステップS102)。このときログイン制御部21は、ログイン利用者の利用者識別情報を情報処理装置100(ログイン受付部)に送信する。
これを受けて情報処理装置100は、ログイン受付部14により、利用者ログイン時のジョブ実行の制御をジョブ制御部15に指示する(ステップS103)。このときログイン受付部14は、ログイン通知受付時に受信したログイン利用者の利用者識別情報をジョブ制御部15に渡す。
ジョブ制御部15は、ジョブ実行制御指示を受け付けると、利用者ログイン時のジョブ実行を制御する条件判定を行う(ジョブ制御判定処理:ステップS104)。このときジョブ制御部15は、まずジョブ管理情報保持部90にアクセスし、ジョブ実行制御指示に受け取ったログイン利用者の利用者識別情報に基づき、ログイン利用者のジョブ管理情報90Dを特定する(代行実行を含むログイン利用者の蓄積ジョブから実行対象候補ジョブを特定する)。次にジョブ制御部15は、判定部151により、特定したジョブ管理情報90Dに基づき、利用者ログイン時のジョブ実行を制御する条件判定を行う。その結果、ジョブ制御部15は、判定部151による条件判定結果に基づき、実行対象候補ジョブを実行するか否かを決定する。このステップS104の処理(具体的なジョブ制御判定処理)については後述する。
ジョブ制御部15は、ジョブを実行すると決定した場合、実行を決定した該当ジョブ(条件を満たした蓄積ジョブ)の送信をジョブ送信部17に指示する(ステップS201)。このときジョブ制御部15は、実行を決定した該当ジョブの蓄積先情報に基づき、ジョブデータを取得し、取得したジョブデータを送信部17に渡す。
ジョブ送信部17は、ジョブ送信指示を受け付けると、利用者ログイン時の実行ジョブを電子機器200(ジョブ実行部)に送信し、ジョブの実行を要求する(ステップS202)。このときジョブ送信部17は、ジョブ送信指示受付時に受け取ったジョブデータを電子機器200に送信する。
これを受けて電子機器200は、ジョブ実行部23により、要求されたジョブを実行する(ステップS203)。このときジョブ実行部23は、搭載機能を利用して、ジョブ実行要求受付時のジョブデータを処理する。その後、ジョブ実行部23は、ジョブの実行結果を情報処理装置100(ジョブ送信部)に送信し、ジョブの実行結果を応答する(ステップS204)。
これを受けて情報処理装置100は、ジョブ送信部17により、実行結果に基づくジョブの実行記録(更新)をジョブ制御部15に指示する(ステップS205)。このときジョブ送信部17は、ジョブ実行結果応答受付時に受信した実行結果をジョブ制御部15に渡る。
ジョブ制御部15は、実行記録指示を受け付けると、ジョブ実行記録指示受付時に受け取った実行結果に基づき、ジョブ管理情報90Dの実行記録情報を更新する(ステップS206)。このときジョブ制御部15は、まずジョブ管理情報保持部90にアクセスし、実行結果に含まれる実行ジョブのジョブ識別情報に基づき、実行ジョブのジョブ管理情報90Dを特定する。次にジョブ制御部15は、特定したジョブ管理情報90Dの実行記録情報を最新値に更新する。
その後、ジョブ制御部15は、ログイン利用者のジョブリストの生成をジョブリスト生成部16に指示する(ステップS207)。このときジョブ制御部15は、ジョブ実行制御指示受付時に受け取ったログイン利用者の利用者識別情報をジョブリスト生成部16に渡す。
ジョブリスト生成部16は、ジョブリスト生成指示を受け付けると、ログイン利用者のジョブ管理情報90Dの取得をジョブ管理部13に指示する(ステップS208)。このときジョブリスト生成部16は、ジョブリスト生成指示受付時に受け取ったログイン利用者の利用者識別情報をジョブ管理部13に渡す。
ジョブ管理部13は、情報取得指示を受け付けると、ログイン利用者のジョブ管理情報90Dを取得し、取得情報をジョブリスト生成部16に渡す(ステップS209)。このときジョブ管理部13は、ジョブ管理情報保持部90にアクセスし、情報取得指示受付時に受け取ったログイン利用者の利用者識別情報に基づき、ログイン利用者のジョブ管理情報90Dを特定し取得する。
ジョブリスト生成部16は、受け取ったジョブ管理情報90Dに基づき、ジョブリストを生成し(ステップS210)、生成したジョブリストを電子機器200(ジョブ取得部)に送信し、ジョブリストの表示を要求する(ステップS211)。
これを受けて電子機器200は、ジョブ取得部22が表示部221により、当該機器が備える操作パネルにジョブリストを表示する(ステップS212)。
一方、ジョブ制御部15は、ジョブを実行しないと決定した場合、ログイン利用者のジョブリストの生成をジョブリスト生成部16に指示する(ステップS301)。このときジョブ制御部15は、ジョブ実行制御指示受付時に受け取ったログイン利用者の利用者識別情報をジョブリスト生成部16に渡す。
ジョブリスト生成部16は、ジョブリスト生成指示を受け付けると、ログイン利用者のジョブ管理情報90Dの取得をジョブ管理部13に指示する(ステップS302)。このときジョブリスト生成部16は、ジョブリスト生成指示受付時に受け取ったログイン利用者の利用者識別情報をジョブ管理部13に渡す。
ジョブ管理部13は、情報取得指示を受け付けると、ログイン利用者のジョブ管理情報90Dを取得し、取得情報をジョブリスト生成部16に渡す(ステップS303)。このときジョブ管理部13は、ジョブ管理情報保持部90にアクセスし、情報取得指示受付時に受け取ったログイン利用者の利用者識別情報に基づき、ログイン利用者のジョブ管理情報90Dを特定し取得する。
ジョブリスト生成部16は、受け取ったジョブ管理情報90Dに基づき、ジョブリストを生成し(ステップS304)、生成したジョブリストを電子機器200(ジョブ取得部)に送信し、ジョブリストの表示を要求する(ステップS305)。
これを受けて電子機器200は、ジョブ取得部22が表示部221により、当該機器が備える操作パネルにジョブリストを表示する(ステップS306)。
これにより、本実施形態に係るジョブ制御システム1は、利用者が、対峙する電子機器200において簡便な操作(従来より少ない手順)によりジョブを実行でき、実行結果を利用者自身が受け取ることが可能な環境を提供する。
以下に、上記ステップS104の処理(ジョブ制御判定処理)の詳細を説明する。
《ジョブ制御判定処理:その1》
図6は、本実施形態に係るジョブ制御判定の処理手順例(その1)を示すフローチャートである。図6には、蓄積ジョブの実行状態及び蓄積経過時間に基づく条件に従ったジョブ制御部15によるジョブ制御判定処理例が示されている。
図6に示すように、ジョブ制御部15は、ジョブ実行制御指示に受け取ったログイン利用者の利用者識別情報に基づき、ジョブ管理情報保持部90のジョブ管理情報90Dを参照し(ステップS11)、ログイン利用者のジョブ管理情報90Dを特定する(ステップS12)。これにより、情報処理装置100では、代行実行を含むログイン利用者の蓄積ジョブから実行対象候補ジョブを特定する。
次にジョブ制御部15は、判定部151により、特定した実行対象候補ジョブが未実行か否かを判定する(ステップS13)。このとき判定部151は、特定したジョブ管理情報90Dの実行記録情報(実行状態値)に基づき、未実行か否かを判定する。
その結果、ジョブ制御部15は、判定部151により、実行対象候補ジョブが未実行と判定された場合(ステップS13:YES)、判定部151により、ログイン通知受付時に情報処理装置100が備える時計回路(非図示)から日時情報(ログイン日時値)を取得し、実行対象候補ジョブのジョブ管理情報90Dから蓄積日時情報(蓄積日時値)を取得する(ステップS14)。
ジョブ制御部15は、判定部151により、取得した日時情報と取得した蓄積日時情報に基づき、実行対象候補ジョブの蓄積経過時間が所定時間以内か否か(蓄積日時からログイン日時までの時間が所定時間以内か否か)を判定する(ステップS15)。
その結果、ジョブ制御部15は、判定部151により、蓄積経過時間が所定時間以内と判定された場合(ステップS15:YES)、該当ジョブの実行を(実行するものと)決定し、該当ジョブのジョブデータ送信をジョブ送信部17に指示する(ステップS201)。これにより、情報処理装置100では、電子機器200に対して、利用者ログイン時のジョブ実行を要求する。
一方、ジョブ制御部15は、判定部151により、蓄積経過時間が所定時間経過していると判定された場合(ステップS15:NO)、該当ジョブの非実行を(実行しないものと)決定し、ログイン利用者のジョブリスト生成をジョブリスト生成部16に指示する(ステップS301)。これにより、情報処理装置100では、電子機器200に対して、利用者ログイン時のジョブリスト表示を要求する。
なお、ジョブ制御部15は、判定部151により、実行対象候補ジョブが実行済みと判定された場合(ステップS13:NO)、ステップS301の処理(ジョブリスト表示要求処理)を実行する。
このように、上記ジョブ制御判定処理では、ログイン利用者の蓄積ジョブのうち、未実行かつ蓄積経過時間が所定時間内のジョブを利用者ログイン時に実行する制御を行う。
《ジョブ制御判定処理:その2》
図7は、本実施形態に係るジョブ制御判定の処理手順例(その2)を示すフローチャートである。図7には、蓄積ジョブの実行状態及び実行開始日時に基づく条件に従ったジョブ制御部15によるジョブ制御判定処理例が示されている。
図7に示すように、ジョブ制御部15は、ジョブ実行制御指示に受け取ったログイン利用者の利用者識別情報に基づき、ジョブ管理情報保持部90のジョブ管理情報90Dを参照し(ステップS21)、ログイン利用者のジョブ管理情報90Dを特定する(ステップS22)。これにより、情報処理装置100では、代行実行を含むログイン利用者の蓄積ジョブから実行対象候補ジョブを特定する。
次にジョブ制御部15は、判定部151により、特定した実行対象候補ジョブが未実行か否かを判定する(ステップS23)。このとき判定部151は、特定したジョブ管理情報90Dの実行記録情報(実行状態値)に基づき、未実行か否かを判定する。
その結果、ジョブ制御部15は、判定部151により、実行対象候補ジョブが未実行と判定された場合(ステップS23:YES)、判定部151により、ログイン通知受付時に情報処理装置100が備える時計回路(非図示)から日時情報(ログイン日時値)を取得し、実行対象候補ジョブのジョブ管理情報90Dから実行開始日時情報(実行開始日時値)を取得する(ステップS24)。
ジョブ制御部15は、判定部151により、取得した日時情報と取得した実行開始日時情報に基づき、ログイン日時が実行対象候補ジョブの実行開始日時以降か否か(ジョブの実行が許可された期間にログインされたか否か)を判定する(ステップS25)。
その結果、ジョブ制御部15は、判定部151により、ログイン日時が実行開始日時以降と判定された場合(ステップS25:YES)、該当ジョブの実行を(実行するものと)決定し、該当ジョブのジョブデータ送信をジョブ送信部17に指示する(ステップS201)。これにより、情報処理装置100では、電子機器200に対して、利用者ログイン時のジョブ実行を要求する。
一方、ジョブ制御部15は、判定部151により、ログイン日時が実行開始日時より前の日時と判定された場合(ステップS25:NO)、該当ジョブの非実行を(実行しないものと)決定し、ログイン利用者のジョブリスト生成をジョブリスト生成部16に指示する(ステップS301)。これにより、情報処理装置100では、電子機器200に対して、利用者ログイン時のジョブリスト表示を要求する。
なお、ジョブ制御部15は、判定部151により、実行対象候補ジョブが実行済みと判定された場合(ステップS23:NO)、ステップS301の処理(ジョブリスト表示要求処理)を実行する。
このように、上記ジョブ制御判定処理では、ログイン日時が実行開始日時以降の場合、ログイン利用者の蓄積ジョブのうち、未実行ジョブを利用者ログイン時に実行する制御を行う。
《ジョブ制御判定処理:その3》
図8は、本実施形態に係るジョブ制御判定の処理手順例(その3)を示すフローチャートである。図8には、蓄積ジョブの実行状態及データサイズに基づく条件に従ったジョブ制御部15によるジョブ制御判定処理例が示されている。
図8に示すように、ジョブ制御部15は、ジョブ実行制御指示に受け取ったログイン利用者の利用者識別情報に基づき、ジョブ管理情報保持部90のジョブ管理情報90Dを参照し(ステップS31)、ログイン利用者のジョブ管理情報90Dを特定する(ステップS32)。これにより、情報処理装置100では、代行実行を含むログイン利用者の蓄積ジョブから実行対象候補ジョブを特定する。
次にジョブ制御部15は、判定部151により、特定した実行対象候補ジョブが未実行か否かを判定する(ステップS33)。このとき判定部151は、特定したジョブ管理情報90Dの実行記録情報(実行状態値)に基づき、未実行か否かを判定する。
その結果、ジョブ制御部15は、判定部151により、実行対象候補ジョブが未実行と判定された場合(ステップS33:YES)、判定部151により、実行対象候補ジョブのジョブ管理情報90Dから書誌情報に含まれるデータサイズの値を取得する(ステップS34)。
ジョブ制御部15は、判定部151により、取得したデータサイズの値に基づき、実行対象候補ジョブのデータサイズが所定値以下か否かを判定する(ステップS35)。
その結果、ジョブ制御部15は、判定部151により、データサイズが所定値以下と判定された場合(ステップS35:YES)、該当ジョブの実行を(実行するものと)決定し、該当ジョブのジョブデータ送信をジョブ送信部17に指示する(ステップS201)。これにより、情報処理装置100では、電子機器200に対して、利用者ログイン時のジョブ実行を要求する。
一方、ジョブ制御部15は、判定部151により、データサイズが所定値より大きいと判定された場合(ステップS35:NO)、該当ジョブの非実行を(実行しないものと)決定し、ログイン利用者のジョブリスト生成をジョブリスト生成部16に指示する(ステップS301)。これにより、情報処理装置100では、電子機器200に対して、利用者ログイン時のジョブリスト表示を要求する。
なお、ジョブ制御部15は、判定部151により、実行対象候補ジョブが実行済みと判定された場合(ステップS33:NO)、ステップS301の処理(ジョブリスト表示要求処理)を実行する。
このように、上記ジョブ制御判定処理では、ログイン利用者の蓄積ジョブのうち、未実行かつデータサイズが所定値以下のジョブを利用者ログイン時に実行する制御を行う。
本実施形態では、上記ジョブ制御判定処理により、利用者ログイン時に実行が求められるジョブを特定する。
<まとめ>
以上のように、本実施形態に係る情報処理装置100によれば、ログイン受付部14が、電子機器200から利用者のログイン通知を受け付けると、ジョブ制御部15が、蓄積ジョブを管理するジョブ管理情報の中から、ログイン利用者のジョブ管理情報を特定する。情報処理装置100は、ジョブ制御部15の判定部151が、特定したジョブ管理情報に基づき、ログイン利用者の蓄積ジョブに対して、利用者ログイン時のジョブ実行(ログイン通知をトリガとするジョブ実行)を制御する条件判定を行う。情報処理装置100は、ジョブ送信部16が、判定結果に基づき、実行するジョブデータ(条件を満たした蓄積ジョブのジョブデータ)を電子機器200に送信し、電子機器200に対して、ジョブ実行を要求する。
これによって、本実施形態に係るジョブ制御システム1は、利用者が、対峙する電子機器200において簡便な操作(従来より少ない手順)によりジョブを実行でき、実行結果を利用者自身が受け取ることが可能な環境を提供する。その結果、本実施形態に係るジョブ制御システム1では、ジョブ実行時の情報機密性を確保しながら利用者が求める利便性を実現できる。
[変形例1]
上記実施形態では、システム運用方針に応じて設定された制御条件に従って、利用者ログイン時のジョブ実行を制御する構成について説明を行ったが、この限りでない。
本変形例1では、ログイン利用者ごとの制御条件に従って、利用者ログイン時のジョブ実行を制御する技術を提案する。なお、以降には、上記実施形態と異なる事項についてのみ説明し、同一事項については同一参照符号を付し、その説明を省略する。
<ジョブ制御機能>
図9は、本変形形1に係るジョブ制御機能の構成例を示す図である。
図9に示すように、本変形例1に係るジョブ制御機能は、情報処理装置100がジョブ制御条件管理情報保持部80を有している。ジョブ制御条件管理情報保持部80は、情報処理装置100が備える記憶装置の所定の記憶領域にあたり、制御条件を管理する図10に示すような管理情報を保持している。
図10は、本変形例1に係るジョブ制御条件管理情報80Dのデータ例を示す図である。
図10に示すように、ジョブ制御条件管理情報80Dは、利用者識別及び条件識別などの情報項目が対応付けられた1又は複数の情報セットを含み、これらの情報セットを利用者単位で管理している。
[利用者識別]項目は、利用者識別情報(利用者識別子:利用者ID)を保持する項目である。[条件識別]項目は、制御条件の識別情報(以下「条件識別情報」という)を保持する項目であり、項目値には、予め設定された複数の制御条件(例えば図中の4つの制御条件)から、特定の制御条件を識別するための条件識別子(条件ID)などがある。
これらの項目値は、例えば管理者などにより、本サービスの運用方針に基づき設定される値である。また、[条件識別]項目の項目値は複数であってもよい。つまり、1つの[利用者識別]項目に対して[条件識別]項目の複数の項目値が対応付けられていてもよい。この場合、[利用者識別]項目の項目値に一致する利用者識別情報で識別されるログイン利用者に対して行うジョブ制御では、対応付けられた「条件識別」項目の複数の項目値に基づく各制御条件が適用される。
図9の説明に戻る。本変形例1に係るジョブ制御部15は、ジョブ制御条件管理情報80Dに基づき、ログイン利用者のジョブ制御時に適用する制御条件を特定し、特定した制御条件に従って、ジョブの実行を制御する。本変形例1に係るジョブ制御部15は、次のようにジョブの実行を制御する。
ジョブ制御部15は、ログイン受付部14がログイン通知を受け付けると、ジョブ制御条件管理情報保持部80にアクセスし、ログイン通知受付時に受信したログイン利用者の利用者識別情報に基づき、ログイン利用者のジョブ制御条件管理情報80Dを特定する。なお、このときジョブ制御部15は、[利用者識別]項目の項目値が、ログイン利用者の利用者識別情報の値を一致するジョブ制御条件管理情報80Dを特定する。ジョブ制御部15は、特定したジョブ制御条件管理情報80Dの条件識別情報に基づき、予め設定された複数の制御条件から、ログイン利用者のジョブ制御時に適用する制御条件を特定する。
次にジョブ制御部15は、ジョブ管理情報保持部90にアクセスし、ログイン通知受付時に受信したログイン利用者の利用者識別情報に基づき、ログイン利用者のジョブ管理情報90Dを特定する。ジョブ制御部15は、判定部151により、特定したジョブ管理情報90Dと特定した適用制御条件に基づき、利用者ログイン時のジョブ実行を制御する条件判定を行う。つまり、ジョブ制御部15は、ログイン利用者の利用者識別情報に基づき、利用者ログイン時の適用制御条件と実行対象候補ジョブを特定し、適用制御条件に従った蓄積ジョブごとの判定部151による条件判定結果に基づき、ジョブを実行するか否かを決定する。
以上のように、本変形例1に係るジョブ制御機能は、上記ジョブ制御部15により実現される。以下に、本変形例1に係るジョブ制御機能の詳細な動作(ジョブ制御判定処理)について、処理手順を示すフローチャートを用いて説明する。
《ジョブ制御判定処理》
図11は、本変形例1に係るジョブ制御判定の処理手順例を示すフローチャートである。図11には、ログイン利用者の適用制御条件に従ったジョブ制御部15によるジョブ制御判定処理例が示されている。
図11に示すように、ジョブ制御部15は、ジョブ制御条件管理情報保持部80にアクセスし、ジョブ実行制御指示に受け取ったログイン利用者の利用者識別情報に基づき、ジョブ制御条件管理情報保持部80のジョブ制御条件管理情報80Dを参照し(ステップS41)、ログイン利用者のジョブ制御条件管理情報80Dを特定する(ステップS42)。これにより、情報処理装置100では、特定したジョブ制御条件管理情報80Dの条件識別情報に基づき、予め設定された複数の制御条件から、ログイン利用者のジョブ制御時に適用する制御条件を特定する。
次にジョブ制御部15は、ジョブ実行制御指示に受け取ったログイン利用者の利用者識別情報に基づき、ジョブ管理情報保持部90のジョブ管理情報を参照し(ステップS43)、ログイン利用者のジョブ管理情報90Dを特定する(ステップS44)。これにより、情報処理装置100では、代行実行を含むログイン利用者の蓄積ジョブから実行対象候補ジョブを特定する。
次にジョブ制御部15は、判定部151により、特定した実行対象候補ジョブに対して、特定した適用制御条件に従った判定する(ステップS45)。このとき判定部151は、適用制御条件に従って、判定時に用いる判定パラメータをジョブ管理情報90Dから取得し、取得値と適用制御条件の判定基準値に基づき条件判定を行う。
その結果、ジョブ制御部15は、判定部151による条件判定結果に基づき、実行対象候補ジョブの実行を(実行するものと)決定した場合(ステップS45:YES)、該当ジョブのジョブデータ送信をジョブ送信部17に指示する(ステップS201)。これにより、情報処理装置100では、電子機器200に対して、利用者ログイン時のジョブ実行を要求する。
一方、ジョブ制御部15は、判定部151による条件判定結果に基づき、実行対象候補ジョブの非実行を(実行しないものと)決定した場合(ステップS45:NO)、ログイン利用者のジョブリスト生成をジョブリスト生成部16に指示する(ステップS301)。これにより、情報処理装置100では、電子機器200に対して、利用者ログイン時のジョブリスト表示を要求する。
なお、ログイン利用者に対して複数の制御条件が設定されている場合がある。この場合、判定部151にからは、複数の条件判定結果が得られる。このときジョブ制御部15は、予め設定しておいた制御条件ごとの優先順位に従って、利用者ログイン時のジョブ実行を決定する際に用いる条件判定結果を、複数の条件判定結果の中から特定し、特定した条件判定結果に基づき、ジョブの実行を制御する。
以上のように、本変形例1に係るジョブ制御システム1は、ログイン利用者ごとの制御条件に従って、利用者ログイン時のジョブ実行を制御することが可能な環境を提供する。その結果、本変形例1に係るジョブ制御システム1では、上記実施形態と同様の効果を奏するとともに、ジョブ実行時の情報機密性や利用者が求める利便性を利用者ごとに対応でき、より柔軟なサービス運用(提供)を行うことができる。
[変形例2]
上記実施形態では、ログイン利用者の蓄積ジョブのうち、システム運用方針に応じて設定された制御条件を満たすジョブが存在すれば、利用者ログイン時に自動実行する構成について説明を行ったが、この限りでない。
本変形例2では、利用者ログイン時のジョブ実行をログイン利用者が選択制御する技術を提案する。なお、以降には、上記実施形態と異なる事項についてのみ説明し、同一事項については同一参照符号を付し、その説明を省略する。
<ジョブ制御機能>
本変形例2に係るジョブ制御部15は、判定部151による条件判定結果に基づき、実行対象候補ジョブを実行すると決定した場合、該当ジョブのジョブ管理情報90Dを電子機器200(ログイン制御部)に送信することで、ログイン利用者からのジョブ実行指示を受け付ける制御画面の表示を要求する。これにより、電子機器200では、自機が備える操作パネルにジョブ実行制御画面が表示される。
本変形例2に係るログイン制御部21は、ジョブ実行制御画面を介してログイン利用者から受け付けたジョブの実行指示結果(実行する/実行しない)を情報処理装置100(ジョブ制御部)に送信することで、ジョブの実行指示結果を通知する。これにより、情報処理装置100では、受信したジョブの実行指示結果に従って、ジョブの実行が制御される。
以上のように、本変形例2に係るジョブ制御機能は、上記各機能部が連携動作することにより実現される。以下に、本変形例2に係るジョブ制御機能の詳細な動作(機能部群の連携動作)について、処理手順を示すシーケンス図を用いて説明する。
《ジョブ制御処理》
図12は、本変形例2に係るジョブ制御の処理手順例を示すシーケンス図である。
図12に示すように、電子機器200は、ログイン制御部21により、利用者ログインを受け付ける(ステップS401)。このときログイン制御部21は、利用者の認証情報に基づき利用認証を行い、ログイン利用者の利用者識別情報を取得する。
その結果、ログイン制御部21は、認証結果に基づく利用者ログインを情報処理装置100(ログイン受付部)に通知する(ステップS402)。このときログイン制御部21は、ログイン利用者の利用者識別情報を情報処理装置100(ログイン受付部)に送信する。
これを受けて情報処理装置100は、ログイン受付部14により、利用者ログイン時のジョブ実行の制御をジョブ制御部15に指示する(ステップS403)。このときログイン受付部14は、ログイン通知受付時に受信したログイン利用者の利用者識別情報をジョブ制御部15に渡す。
ジョブ制御部15は、ジョブ実行制御指示を受け付けると、利用者ログイン時のジョブ実行を制御する条件判定を行う(ジョブ制御判定処理:ステップS404)。このときジョブ制御部15は、まずジョブ管理情報保持部90にアクセスし、ジョブ実行制御指示に受け取ったログイン利用者の利用者識別情報に基づき、ログイン利用者のジョブ管理情報90Dを特定する(代行実行を含むログイン利用者の蓄積ジョブから実行対象候補ジョブを特定する)。次にジョブ制御部15は、判定部151により、特定したジョブ管理情報90Dに基づき、利用者ログイン時のジョブ実行を制御する条件判定を行う。その結果、ジョブ制御部15は、判定部151による条件判定結果に基づき、実行対象候補ジョブを実行するか否かを決定する。
ジョブ制御部15は、ジョブを実行すると決定した場合、実行を決定した該当ジョブ(条件を満たした蓄積ジョブ)に関する情報を電子機器200(ログイン制御部)に送信し、ジョブ実行指示受付画面の表示を要求する(ステップS405)。このときジョブ制御部15は、実行を決定した該当ジョブのジョブ管理情報90Dを該当ジョブに関する情報として電子機器200に送信し、画面表示を要求する。
これを受けて電子機器200は、ログイン制御部21により、例えば図13に示すようなジョブ実行指示受付画面を表示する(ステップS406)。
図13は、本変形例2に係るジョブ実行制御画面例を示す図である。
図13には、利用者ログイン時に実行が決定されたログイン利用者の蓄積ジョブに関する情報(例えば「ジョブ名」や「ページ数」など)とジョブを実行するか否かを選択指示可能なGUI(Graphical User Interface)が表示された画面例が示されている。このように、ログイン制御部21は、画面表示要求受付時に受信したジョブ管理情報90Dに基づき、ジョブの実行指示を受け付けるGUIを備えたジョブ実行制御画面を生成し、操作パネルに表示する。
図12の説明に戻る。次にログイン制御部21は、制御画面を介して、ログイン利用者からのジョブの実行指示を受け付け(ステップS407)、受け付けたジョブの実行指示結果を情報処理装置100(ジョブ制御部)に送信し、ジョブの実行指示結果を通知する(ステップS408)。
これを受けて情報処理装置100は、ジョブ制御部15により、ログイン利用者によるジョブの実行指示結果に基づく利用者ログイン時のジョブ実行を制御する。このときジョブ制御部15は、実行指示結果通知受付時に受信したジョブの実行指示結果が「実行する」の場合、ステップS201以降の処理を実行する。一方、ジョブ制御部15は、実行指示結果通知受付時に受信したジョブの実行指示結果が「実行しない」の場合、ステップS301以降の処理を実行する。
なお、ジョブ制御部15は、上記ステップS404の処理(ジョブ制御判定処理)において、ジョブを実行しないと決定した場合、上記ステップS405からS408までの処理(ジョブ実行指示受付処理)をスキップし、ステップS301以降の処理を実行する。つまり、情報処理装置100では、実行対象候補ジョブを実行すると決定した場合、利用者ログイン時のジョブ実行をログイン利用者が選択制御可能な環境を提供する。
以上のように、本変形例2に係るジョブ制御システム1は、利用者ログイン時のジョブ実行をログイン利用者が選択制御可能な環境を提供する。その結果、本変形例2に係るジョブ制御システム1では、上記実施形態と同様の効果を奏するとともに、利用者ログイン時にジョブを実行するか否かをログイン利用者が選択でき、より柔軟なサービス運用(提供)を行うことができる。
[変形例3]
上記実施形態では、ジョブの実行状態(「実行済み」/「未実行」)に基づく条件に従って、ジョブの実行を制御する構成について説明を行った。その中で、実行対象候補ジョブが実行済みの場合には、利用者ログイン時に該当ジョブを実行しない制御を行っている。よって、利用者は、実行済みの蓄積ジョブを実行したい場合には、電子機器200において、利用者にとって煩雑である手順を実施しなければならない。
そこで、例えば同一利用者が電子機器200に連続ログインした場合には、実行済みの蓄積ジョブであっても利用者ログイン時にジョブの実行を許可することが望ましい。具体的には、次のような利用場面が考えられる。例えば会議主催者が会議室に設置された電子機器200にログインし、利用者ログイン時の印刷ジョブ実行により印刷された会議資料を会議参加者に配布したとする。後に新たな会議参加者が現れた場合、会議主催者は、再び電子機器200にログインすることで、会議資料を印刷したい。
このようなことから、本変形例3では、同一利用者による連続ログイン時にジョブの実行を制御する技術を提案する。なお、以降には、上記実施形態と異なる事項についてのみ説明し、同一事項については同一参照符号を付し、その説明を省略する。
<ジョブ制御機能>
同一利用者の連続ログイン検知には、電子機器200で検知する方法と情報処理装置100で検知する方法が考えられる。
《電子機器側で検知する場合》
本変形例3に係るログイン制御部21は、現在のログイン利用者が前回のログイン利用者と同一利用者か否かを判定し、連続ログインを検知する。例えば電子機器200には、利用者ログインの履歴がログイン履歴情報として所定の記憶領域に記録されている(ログイン履歴がキャッシュされている)とする。なお、利用者ログインの履歴は、ログイン利用者の利用者識別情報を利用認証順に記録しておけばよい。
ログイン制御部21は、現在のログイン利用者の利用者識別情報とログイン履歴情報(キャッシュ情報)に記録された前回のログイン利用者の利用者識別情報とを比較し、比較結果から同一利用者か否かを判定する。ログイン制御部21は、同一利用者判定による連続ログイン検知結果を得ると、得た連続ログイン検知結果と現在のログイン利用者の利用者識別情報を情報処理装置100(ログイン受付部)に送信することで、利用者ログインを通知する。
本変形例3に係るログイン受付部14は、電子機器200(ログイン制御部)からログイン利用者の利用者識別情報を受信することで、ログイン通知を受け付ける。
ジョブ制御部15は、ログイン受付部14が電子機器200(ログイン制御部)からログイン通知を受け付けると、ログイン通知受付時に受信した連続ログイン検知結果とログイン利用者の利用者識別情報をログイン受付部14から受け取り、利用者ログイン時のジョブ実行を制御する。このときジョブ制御部15は、連続ログイン検知結果に基づき、実行対象候補ジョブが実行済みの場合であっても、利用者ログイン時に該当ジョブを実行する制御を行う。
《情報処理装置側で検知する場合》
本変形例3に係るログイン制御部15は、ログイン受付部14が電子機器200(ログイン制御部)からログイン通知を受け付けると、ログイン通知受付時に受信したログイン利用者の利用者識別情報をログイン受付部14から受け取り、ログイン利用者の連続ログインを検知する。このときログイン制御部15は、まずジョブ管理情報保持部90にアクセスし、ログイン利用者の利用者識別情報に基づき、ログイン利用者のジョブ管理情報90Dを特定する。次にログイン制御部15は、特定したジョブ管理情報90Dの実行記録情報(実行日時値)に基づき、最近の実行記録情報(ログイン日時に最も近いジョブの実行日時が記録されている情報)を特定する。ログイン制御部15は、特定した実行記録情報に基づき、ジョブの実行経過時間が所定時間以内か否か(ジョブの実行日時からログイン日時までの時間が所定時間以内か否か)を判定する。なお、このときの「所定時間」は、予め設定された判定基準値(閾値)であり、例えば管理者などにより、本サービスの運用方針に基づき設定される値である。
その結果、ジョブ制御部15は、実行経過時間が所定時間以内と判定した場合、同一利用者の連続ログインを検知する(連続ログインとみなす)。一方、ジョブ制御部15は、実行経過時間が所定時間経過していると判定した場合、同一利用者の連続ログインを検知しない(連続ログインとしない)。
なお、ジョブ制御部15は、上記連続ログイン検知処理を、ジョブ実行状態判定処理の前に行い、連続ログイン検知結果に基づき、実行対象候補ジョブが実行済みの場合であっても、利用者ログイン時に該当ジョブを実行する制御を行う。
以上のように、本変形例3に係るジョブ制御機能は、上記各機能部が連携動作することにより実現される。以下に、本変形例3に係るジョブ制御機能の詳細な動作(機能部群の連携動作)について、処理手順を示すシーケンス図及びフローチャートを用いて説明する。なお、以降には、電子機器200で連続ログインを検知する場合のジョブ制御処理、情報処理装置100で連続ログインを検知する場合のジョブ制御処理の順に説明する。
《電子機器側で検知する場合のジョブ制御処理》
図14は、本変形例3に係るジョブ制御の処理手順例(その1)を示すシーケンス図である。
図14に示すように、電子機器200は、ログイン制御部21により、利用者ログインを受け付ける(ステップS501)。このときログイン制御部21は、利用者の認証情報に基づき利用認証を行い、ログイン利用者の利用者識別情報を取得する。
次にログイン制御部21は、所定の記憶領域にキャッシュしておいたログイン履歴情報に基づき、現在のログイン利用者が前回のログイン利用者と同一利用者か否かを判定し、連続ログインを検知する(ステップS502)。このときログイン制御部21は、現在のログイン利用者の利用者識別情報とログイン履歴情報に記録された前回のログイン利用者の利用者識別情報とを比較し、比較結果から同一利用者か否かを判定する。
その結果、ログイン制御部21は、連続ログイン検知結果と認証結果に基づく利用者ログインを情報処理装置100(ログイン受付部)に通知する(ステップS503)。このときログイン制御部21は、同一利用者判定による連続ログイン検知結果とログイン利用者の利用者識別情報を情報処理装置100(ログイン受付部)に送信する。
これを受けて情報処理装置100は、ログイン受付部14により、利用者ログイン時のジョブ実行の制御をジョブ制御部15に指示する(ステップS504)。このときログイン受付部14は、ログイン通知受付時に受信した連続ログイン検知結果とログイン利用者の利用者識別情報をジョブ制御部15に渡す。
ジョブ制御部15は、ジョブ実行制御指示を受け付けると、利用者ログイン時のジョブ実行を制御する条件判定を行う(ジョブ制御判定処理:ステップS505)。このときジョブ制御部15は、連続ログイン検知結果に基づき、実行対象候補ジョブが実行済みの場合であっても、利用者ログイン時に該当ジョブを実行する制御を行う。
その結果、ジョブ制御部15は、実行対象候補ジョブの実行を決定した場合、ステップS201以降の処理を実行する。一方、ジョブ制御部15は、実行候補対象ジョブの非実行を決定した場合、ステップS301以降の処理を実行する。
以下に、上記ステップS505の処理(ジョブ制御判定処理)の詳細を説明する。
《ジョブ制御判定処理》
図15は、本変形例3に係るジョブ制御判定の処理手順例を示すフローチャートである。図15には、ログイン利用者の連続ログイン検知結果、蓄積ジョブの実行状態、及び蓄積経過時間に基づく条件に従ったジョブ制御部15によるジョブ制御判定処理例が示されている。
図15に示すように、ジョブ制御部15は、ジョブ実行制御指示に受け取ったログイン利用者の利用者識別情報に基づき、ジョブ管理情報保持部90のジョブ管理情報90Dを参照し(ステップS51)、ログイン利用者のジョブ管理情報90Dを特定する(ステップS52)。これにより、情報処理装置100では、代行実行を含むログイン利用者の蓄積ジョブから実行対象候補ジョブを特定する。
次にジョブ制御部15は、ジョブ実行制御指示に受け取ったログイン利用者の連続ログイン検知結果に基づき、同一利用者による連続ログインか否かを判定する(ステップS53)。
その結果、ジョブ制御部15は、同一利用者による連続ログインであると判定した場合(ステップS53:YES)、判定部151により、ログイン通知受付時に情報処理装置100が備える時計回路(非図示)から日時情報(ログイン日時値)を取得し、実行対象候補ジョブのジョブ管理情報90Dから蓄積日時情報(蓄積日時値)を取得する(ステップS54)。
ジョブ制御部15は、判定部151により、取得した日時情報と取得した蓄積日時情報に基づき、実行対象候補ジョブの蓄積経過時間が所定時間以内か否か(蓄積日時からログイン日時までの時間が所定時間以内か否か)を判定する(ステップS55)。
その結果、ジョブ制御部15は、判定部151により、蓄積経過時間が所定時間以内と判定された場合(ステップS55:YES)、該当ジョブの実行を(実行するものと)決定し、該当ジョブのジョブデータ送信をジョブ送信部17に指示する(ステップS201)。これにより、情報処理装置100では、電子機器200に対して、利用者ログイン時のジョブ実行を要求する。
一方、ジョブ制御部15は、判定部151により、蓄積経過時間が所定時間経過していると判定された場合(ステップS55:NO)、該当ジョブの非実行を(実行しないものと)決定し、ログイン利用者のジョブリスト生成をジョブリスト生成部16に指示する(ステップS301)。これにより、情報処理装置100では、電子機器200に対して、利用者ログイン時のジョブリスト表示を要求する。
また、ジョブ制御部15は、同一利用者による連続ログインではないと判定した場合(ステップS53:NO)、判定部151により、特定した実行対象候補ジョブが未実行か否かを判定する(ステップS56)。このとき判定部151は、特定したジョブ管理情報90Dの実行記録情報(実行状態値)に基づき、未実行か否かを判定する。
その結果、ジョブ制御部15は、判定部151により、実行対象候補ジョブが未実行と判定された場合(ステップS56:YES)、上記ステップS54の処理に移行し、蓄積経過時間に基づく条件に従ったジョブ制御判定処理を実行する。
一方、ジョブ制御部15は、判定部151により、実行対象候補ジョブが実行済みと判定された場合(ステップS56:NO)、ステップS301の処理(ジョブリスト表示要求処理)を実行する。
このように、上記ジョブ制御判定処理では、電子機器200において、ログイン利用者の連続ログインを検知した場合、情報処理装置100において、ログイン利用者の蓄積ジョブのうち、ジョブが実行済みであっても蓄積経過時間が所定時間内のジョブを利用者ログイン時に実行する制御を行う。
《情報処理装置側で検知する場合のジョブ制御処理》
図16は、本変形例3に係るジョブ制御の処理手順例(その2)を示すシーケンス図である。
図16に示すように、電子機器200は、ログイン制御部21により、利用者ログインを受け付ける(ステップS601)。このときログイン制御部21は、利用者の認証情報に基づき利用認証を行い、ログイン利用者の利用者識別情報を取得する。
その結果、ログイン制御部21は、認証結果に基づく利用者ログインを情報処理装置100(ログイン受付部)に通知する(ステップS602)。このときログイン制御部21は、ログイン利用者の利用者識別情報を情報処理装置100(ログイン受付部)に送信する。
これを受けて情報処理装置100は、ログイン受付部14により、利用者ログイン時のジョブ実行の制御をジョブ制御部15に指示する(ステップS603)。このときログイン受付部14は、ログイン通知受付時に受信したログイン利用者の利用者識別情報をジョブ制御部15に渡す。
ジョブ制御部15は、ジョブ実行制御指示を受け付けると、利用者ログインの連続ログイン検知と利用者ログイン時のジョブ実行を制御する条件判定を行う(連続ログイン検知・ジョブ制御判定処理:ステップS604)。このときジョブ制御部15は、まずジョブ管理情報保持部90にアクセスし、ログイン利用者の利用者識別情報に基づき、ログイン利用者のジョブ管理情報90Dを特定する。次にログイン制御部15は、特定したジョブ管理情報90Dの実行記録情報(実行日時値)に基づき、ジョブの実行経過時間から同一利用者か否かを判定する。
ジョブ制御部15は、上記連続ログイン検知処理を行った後に、連続ログイン検知結果に基づき、利用者ログイン時のジョブ実行を制御する条件判定を行う。
以下に、上記ステップS604の処理(連続ログイン検知・ジョブ制御判定処理)の詳細を説明する。
《連続ログイン検知・ジョブ制御判定処理》
図17は、本変形例3に係る連続ログイン検知・ジョブ制御判定の処理手順例を示すフローチャートである。図17には、ログイン利用者の連続ログイン検知結果、蓄積ジョブの実行状態、及び蓄積経過時間に基づく条件に従ったジョブ制御部15によるジョブ制御判定処理例が示されている。
図17に示すように、ジョブ制御部15は、ジョブ実行制御指示に受け取ったログイン利用者の利用者識別情報に基づき、ジョブ管理情報保持部90のジョブ管理情報90Dを参照し(ステップS61)、ログイン利用者のジョブ管理情報90Dを特定する(ステップS62)。これにより、情報処理装置100では、代行実行を含むログイン利用者の蓄積ジョブから実行対象候補ジョブを特定する。
次にジョブ制御部15は、特定したジョブ管理情報90Dの実行記録情報(実行日時値)に基づき、最近の実行記録情報(ログイン日時に最も近いジョブの実行日時が記録されている情報)を特定する(ステップS63)。
次にログイン制御部15は、特定した実行記録情報に基づき、ジョブの実行経過時間が所定時間以内か否か(ジョブの実行日時からログイン日時までの時間が所定時間以内か否か)を判定する(ステップS64)。
その結果、ジョブ制御部15は、実行経過時間が所定時間以内と判定した場合(ステップS64:YES)、同一利用者の連続ログインを検知し(連続ログインとみなし)、判定部151により、ログイン通知受付時に情報処理装置100が備える時計回路(非図示)から日時情報(ログイン日時値)を取得し、実行対象候補ジョブのジョブ管理情報90Dから蓄積日時情報(蓄積日時値)を取得する(ステップS65)。
ジョブ制御部15は、判定部151により、取得した日時情報と取得した蓄積日時情報に基づき、実行対象候補ジョブの蓄積経過時間が所定時間以内か否か(蓄積日時からログイン日時までの時間が所定時間以内か否か)を判定する(ステップS66)。
その結果、ジョブ制御部15は、判定部151により、蓄積経過時間が所定時間以内と判定された場合(ステップS66:YES)、該当ジョブの実行を(実行するものと)決定し、該当ジョブのジョブデータ送信をジョブ送信部17に指示する(ステップS201)。これにより、情報処理装置100では、電子機器200に対して、利用者ログイン時のジョブ実行を要求する。
一方、ジョブ制御部15は、判定部151により、蓄積経過時間が所定時間経過していると判定された場合(ステップS66:NO)、該当ジョブの非実行を(実行しないものと)決定し、ログイン利用者のジョブリスト生成をジョブリスト生成部16に指示する(ステップS301)。これにより、情報処理装置100では、電子機器200に対して、利用者ログイン時のジョブリスト表示を要求する。
また、ジョブ制御部15は、実行経過時間が所定時間経過していると判定した場合(ステップS64:NO)、同一利用者の連続ログインを検知せず(連続ログインとせず)、判定部151により、特定した実行対象候補ジョブが未実行か否かを判定する(ステップS67)。このとき判定部151は、特定したジョブ管理情報90Dの実行記録情報(実行状態値)に基づき、未実行か否かを判定する。
その結果、ジョブ制御部15は、判定部151により、実行対象候補ジョブが未実行と判定された場合(ステップS67:YES)、上記ステップS65の処理に移行し、蓄積経過時間に基づく条件に従ったジョブ制御判定処理を実行する。
一方、ジョブ制御部15は、判定部151により、実行対象候補ジョブが実行済みと判定された場合(ステップS67:NO)、ステップS301の処理(ジョブリスト表示要求処理)を実行する。
このように、上記ジョブ制御判定処理では、情報処理装置100において、ログイン利用者の連続ログインを検知した場合、ログイン利用者の蓄積ジョブのうち、ジョブが実行済みであっても蓄積経過時間が所定時間内のジョブを利用者ログイン時に実行する制御を行う。
以上のように、本変形例3に係るジョブ制御システム1は、同一利用者による連続ログイン時にジョブの実行を制御可能な環境を提供する。その結果、本変形例3に係るジョブ制御システム1では、上記実施形態と同様の効果を奏するとともに、蓄積ジョブが実行済みの場合であっても、連続ログインであれば利用者ログイン時に該当ジョブが実行され、ジョブ実行における利用者の実施手順を軽減でき、より利便性の高いサービスを提供することができる。
ここまで、上記実施形態の説明を行ってきたが、上記実施形態に係る「ジョブ制御機能」は、図を用いて説明を行った各処理手順を、動作環境(プラットフォーム)にあったプログラミング言語でコード化したプログラムが、システム1を構成する各機器(「情報端末」、「情報処理装置」、及び「電子機器」)の演算装置(CPU)により実行されることで実現される。
上記プログラムは、コンピュータが読み取り可能な記録媒体103aに格納することができる。これにより、例えば、情報処理装置100の場合、上記プログラムは、外部I/F103を介して、情報処理装置100にインストールすることができる。また、情報処理装置100は、通信I/F107を備えていることから、電気通信回線を用いて上記プログラムをダウンロードし、インストールすることもできる。
また、上記実施形態では、ジョブを投入する情報端末300、ジョブを実行する電子機器200、及びジョブを管理する情報処理装置100が有する各機能部の連携動作により、上記ジョブ制御機能が実現される機能構成例について説明を行ったが、この限りでない。
図18は、本変形例4に係るジョブ制御機能の構成例を示す図である。
例えば、図18に示すような機能構成であってもよい。図18には、ジョブを投入する情報端末300及びジョブを実行する電子機器200が有する各機能部の連携動作により、上記ジョブ制御機能を実現する機能構成例が示されている。つまり、本変形例4では、情報処理装置100が有する機能部を電子機器200が有する機能構成例が示されている。このように、電子機器200がジョブ制御サービスを提供するサーバ機能を有していてもよい。
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。