(58)【調査した分野】(Int.Cl.,DB名)
前記画面出力手段は、前記第2の特定手段で特定した前記要求元であるタスク実行装置の種別で実行可能なタスクを、出力した画面から実行可能な状態で出力することを特徴とする請求項1に記載のタスク管理システム。
前記画面出力手段は、前記取得要求受付手段で前記画面の取得要求を受け付けた要求元のタスク実行装置で実行できないタスクは、当該タスク実行装置で実行できないよう制御して画面を出力することを特徴とする請求項1または2に記載のタスク管理システム。
前記表示制御手段は、前記受付手段で実行順を受け付けたタスク情報のうち、実行順が先であるタスクが未実行の場合は実行順が後であるタスクの実行を受け付けないよう表示制御することを特徴とする請求項5に記載のタスク管理システム。
処理すべきタスクを示すタスク情報を記憶する記憶手段を備えるタスク管理システムの制御方法をコンピュータに実行させるためのコンピュータに読み取り実行可能なプログラムであって、
前記記憶手段に記憶されたタスク情報が示すタスクを実行可能なタスク実行装置の種別を特定する第1の特定手段と、
タスク実行装置からタスクの実行を受け付け可能な画面の取得要求を受け付ける取得要求受付手段と、
前記第1の特定手段で特定したタスク実行装置の種別を用いて、前記取得要求受付手段で受け付けた取得要求の要求元であるタスク実行装置の種別で実行可能なタスクを示す前記タスク情報を特定する第2の特定手段と、
前記第2の特定手段で特定した前記タスク情報が示すタスクを識別可能な画面を出力する画面出力手段と、
前記画面出力手段で出力した画面に表示されているタスク情報の表示を制御する表示制御手段として機能させ、
前記表示制御手段は、前記第2の特定手段で特定した前記要求元であるタスク実行装置で実行可能なタスクのタスク情報と当該タスク実行装置で実行不可能なタスクのタスク情報が表示される位置を変更するように制御することを特徴とするタスク管理システムのプログラム。
前記表示制御手段は、前記関連付け手段で関連付けた複数のタスク情報のうち、前記タスク実行装置で実行できないタスクを示すタスク情報は、前記タスク実行装置で実行可能なタスクを示すタスク情報とは識別可能に表示することを特徴とする請求項10または11に記載のタスク実行装置。
処理すべきタスクを示すタスク情報を管理し、前記タスク情報をタスク実行装置に送信するタスク管理サーバと通信可能に接続されたタスク実行装置の制御方法をコンピュータに読み取り実行可能なプログラムであって、
前記タスク情報を前記タスク管理サーバから受信する受信手段と、
前記タスク実行装置でタスクの実行を受付可能な画面の取得要求を前記タスク管理サーバに送信する取得要求送信手段と、
前記タスク管理サーバから当該タスク実行装置でタスクの実行を受付可能な画面を取得する画面取得手段と、
前記画面取得手段で取得した前記画面をタスクの実行が受付可能な状態で表示するよう制御する表示制御手段として機能させ、
前記表示制御手段は、自身で実行可能なタスクのタスク情報と自身で実行不可能なタスクのタスク情報との表示位置を変更するように制御することを特徴とするタスク実行装置のプログラム。
【発明を実施するための形態】
【0014】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【0015】
図1は、本発明のタスク管理システム100のシステム構成の一例を示す図である。本発明のタスク管理システム100は、タスク実行装置(PC)101、タスク実行装置(MFP)101(以下、単にタスク実行装置101という場合には、PCとMFPの両方を含むものとする)、タスク管理サーバ102、タスク生成サーバ103が設置されており、それら装置はLAN(Local Area Network)等のネットワーク104を介して相互にデータ通信可能に接続されている。
図1のネットワーク104上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【0016】
タスク実行装置101は、タスク生成サーバ103で生成されたタスクを実行するための装置である。タスク実行装置101のうち、タスク実行装置(PC)101は、パーソナルコンピュータのような個人PCであり、タスク管理サーバ102がタスク生成サーバ103から取得したタスクを表示するためのWebブラウザを備える。本実施形態では、タスク実行装置(PC)101は、特にワークフローの申請を承認する装置である。よって、タスク実行装置(PC)101は、後述するタスク実行装置(MFP)101のようなプリントやスキャンを行うことはできないものとして説明を行う。
【0017】
一方、タスク実行装置(MFP)101は、文書の印刷やスキャンを実行可能な複合機である。タスク実行装置(MFP)101もタスク管理サーバ102がタスク生成サーバ103から取得したタスクを表示するためのWebブラウザを備える。本実施形態では、タスク実行装置(MFP)101は、特にプリントとスキャン送信を実行する装置である。スキャン送信は、紙文書をスキャンして、画像データを生成し、当該画像データを指定の送信先に送信する機能である。よって、タスク実行装置(MFP)101は、前述したタスク実行装置(PC)101のように、ワークフローの申請を承認することはできないものとして説明を行う。
【0018】
本実施形態では、このようにタスク実行装置101の種別ごとに、当該タスク実行装置101が実行可能な機能を規定しているが、これに限らない。タスク実行装置(MFP)101で申請の承認ができてもよいし、タスク実行装置(PC)101に接続されたスキャナを用いてスキャン送信が行えてもよい。
【0019】
タスク管理サーバ102は、タスク生成サーバ103で生成されたタスクを取得して、取得したタスクをタスク実行装置101に表示させるための装置である。タスク管理サーバ102は、定期的にタスク生成サーバ103からタスクを取得し、タスク実行装置101からの要求に応じて当該タスクを一覧表示できるようなWebページを生成する。そして、当該Webページを通じてタスク実行装置101からタスクの実行指示を受け付けた場合には、タスク実行装置101やタスク生成サーバ103と連携し、タスクを実行する。すなわち、タスク管理サーバ102は、タスク実行装置101とタスク生成サーバ103の情報のやり取りを中継するサーバである。また、タスク管理サーバ102は、様々な種類のタスク生成サーバ103と通信し、取得したタスクのデータの変換を行えるように、当該タスク生成サーバ103ごとにインターフェースを備えている。
【0020】
タスク生成サーバ103は、CRMシステムやワークフローシステムを動作させ、必要に応じてタスクを生成する装置である。タスク生成サーバ103で動作するCRMシステムやワークフローシステムは、タスク実行装置(PC)101からログインし、利用することが可能なシステムである。これらのシステムを利用することでタスクが発生した場合には、後述する
図6のタスクファイル600を生成し、タスクの管理を行う。特に、本実施形態においては、タスク管理サーバ102に対してタスクファイル600を送信したり、タスク管理サーバ102からの要求に応じてタスクの実行を行ったりする。タスク生成サーバ103は、複数台存在し、当該複数台のタスク生成サーバ103ごとにCRMシステムやワークフローシステム等が動作しているものとして説明を行う。これに限らず、タスク生成サーバ103は、1台でもよいし、タスク生成サーバ103で複数のシステムが動作する形態でもよい。
【0021】
図2は、本発明の実施形態におけるタスク実行装置(PC)101、タスク管理サーバ102、タスク生成サーバ103のハードウェア構成を示す図である。
【0022】
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
【0023】
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
【0024】
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
【0025】
また、入力コントローラ(入力C)205は、キーボード209や不図示のマウス等のポインティングデバイスからの入力を制御する。
【0026】
ビデオコントローラ(VC)206は、CRTディスプレイ(ディスプレイ)210等の表示器への表示を制御する。表示器はCRTだけでなく、液晶ディスプレイでも構わない。
【0027】
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフレキシブルディスク(FD)或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ211へのアクセスを制御する。
【0028】
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
【0029】
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0030】
本発明のタスク実行装置(PC)101、タスク管理サーバ102、タスク生成サーバ103が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。
【0031】
次に、タスク実行装置(MFP)101のハードウェア構成の一例について
図3を用いて説明する。
【0032】
コントローラユニット316は、画像入力デバイスとして機能するスキャナ部314や、画像出力デバイスとして機能するプリンタ部312と接続する一方、LANやWANのようなネットワークに接続することで、他の装置と画像データやデバイス情報の入出力を行う。
【0033】
CPU301は、システム全体を制御するプロセッサである。RAM302は、CPU301が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリである。
【0034】
ROM303は、システムのブートプログラムや各種制御プログラムが格納されている。ハードディスクドライブ(HDD)304は、システムを制御するための各種プログラム,画像データ等を格納する。
【0035】
操作部インターフェース(操作部I/F)307は、操作部308とのインターフェース部であり、操作部308に表示する画像データを操作部308に対して出力する。また、操作部I/F307は、操作部308から本システム使用者が入力した情報(例えば、ユーザ情報等)をCPU301に伝える役割をする。なお、操作部308はタッチパネルを有する表示部を備え、該表示部に表示されたボタンを、ユーザが押下(指等でタッチ)することにより、各種指示を行うことができる。
【0036】
ネットワークインターフェース(Network I/F)305は、ネットワーク(LAN)に接続し、データの入出力を行う。モデム(MODEM)306は、公衆回線に接続し、FAXの送受信等のデータの入出力を行う。
【0037】
外部インターフェース(外部I/F)318は、USB(Universal Serial Bus)、IEEE1394(Institute of Electrical and Electronic Engineers 1394)、プリンタポート、RS−232C(Recommended Standard 232 version C)等の外部入力を受け付けるI/F部であり、本実施形態においては認証で必要となるICカードの読み取り用のカードリーダ319が外部I/F318に接続されている。
【0038】
更に、CPU301は、この外部I/F318を介してカードリーダ101によるICカードからの情報読み取りを制御し、当該ICカードから読み取られた情報を取得可能である。以上のデバイスがシステムバス309上に配置される。
【0039】
イメージバスインターフェース(IMAGE BUS I/F)320は、システムバス309と画像データを高速で転送する画像バス315とを接続し、データ構造を変換するバスブリッジである。
【0040】
画像バス315は、PCIバス(Peripheral Components Interconnect bus)またはIEEE1394で構成される。画像バス315上には以下のデバイスが配置される。
【0041】
ラスタイメージプロセッサ(RIP)310は、ベクトルデータをビットマップイメージに展開する。
【0042】
プリンタインターフェース(プリンタI/F)311は、プリンタ部312とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。
【0043】
スキャナインターフェース(スキャナI/F)313は、スキャナ部314とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。
【0044】
画像処理部317は、入力画像データに対し補正、加工及び編集やプリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、これに加えて、画像処理部317は、画像データの回転や、多値画像データに対してはJPEG(Joint Photographic Experts Group)、2値画像データはJBIG(Joint Bi−level Image Experts Group)等の圧縮伸張処理を行う。
【0045】
スキャナ部314は、原稿となる紙上の画像を照明し、CCDラインセンサで走査することで、ラスタイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダのトレイにセットし、装置使用者が操作部308から読み取り起動指示することにより、CPU301がスキャナ部314に指示を与え、フィーダは原稿用紙を1枚ずつフィードし原稿画像の読み取り動作を行う。
【0046】
プリンタ部312は、ラスタイメージデータを用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、CPU301からの指示によって開始する。なお、プリンタ部312には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットを備える。
【0047】
操作部308は、LCD(Liquid Crystal Display)表示部を有し、LCD上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部I/F307を介してCPU301に伝える。また、操作部308は、各種操作キーとして、例えば、スタートキー、ストップキー、IDキー、リセットキー等を備える。
【0048】
ここで、操作部308のスタートキーは、原稿画像の読み取り動作を開始する時などに用いる。スタートキーの中央部には、緑と赤の2色LEDがあり、その色によってスタートキーが使える状態にあるかどうかを示す。また、操作部308のストップキーは、稼働中の動作を止める働きをする。また、操作部308のIDキーは、使用者のユーザIDを入力する時に用いる。リセットキーは、操作部からの設定を初期化する時に用いる。
【0049】
以上のような構成によって、画像処理装置100は、スキャナ部314から読み込んだ画像データをNetwork I/F305からLANに送信し、LANから受信した印刷データをNetwork I/F305を経由してプリンタ部312より印刷出力することができる。
【0050】
また、スキャナ部314から読み込んだ画像データをモデム306により、公衆回線上にFAX送信し、公衆回線からFAX受信した画像データをプリンタ部312により出力することできる。
【0051】
次に、タスク実行装置(PC)101、タスク実行装置(MFP)101、タスク管理サーバ102、タスク生成サーバ103のモジュール構成を示す機能構成図について、
図4を用いて説明する。尚、
図4の各種端末あるいはサーバのモジュール構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【0052】
タスク実行装置(PC)101は、N/W通信部401、画面制御部402を備える。
【0053】
N/W通信部401は、ネットワーク104を通じて他の装置とデータの送受信を行うためのモジュールである。通信のためのプロトコルは特に問わない。適切に通信ができれば、なんでもよい。画面制御部402は、タスク実行装置(PC)101のディスプレイ210に表示される画面を制御するためのモジュールである。特に、本実施形態では、画面制御部402はWebブラウザを用いて、Webページの表示やボタンの制御を行う。
【0054】
タスク実行装置(MFP)101は、N/W通信部411、画面制御部412、プリント制御部413、スキャン制御部414を備える。N/W通信部411、画面制御部412は、タスク実行装置(PC)101のN/W通信部401、画面制御部402と同様であるので説明を省略する。プリント制御部413は、プリンタI/F311を通じてプリンタ部312を制御するためのモジュールである。プリント制御部413は、タスク管理サーバ102から送信された印刷ジョブに基づいて、プリンタ部312を制御して紙文書に印刷する。スキャン制御部414は、スキャナI/F313を通じてスキャナ部314を制御するためのモジュールである。ユーザからの指示に従ってスキャナ部314を動作させ、紙文書のスキャンを実行する。
【0055】
タスク管理サーバ102は、N/W通信部421、フォルダ監視部422、タスク管理部423、画面生成部424、印刷ジョブ生成部425、スキャンチケット生成部426を備える。
【0056】
N/W通信部421は、タスク実行装置(PC)101のN/W通信部401と同様であるので説明を省略する。
【0057】
フォルダ監視部422は、タスク管理サーバ102の記憶領域にあるフォルダを監視するためのモジュールである。当該フォルダにタスク生成サーバ103から送信された
図6に示すタスクファイル600が保存されたかどうかを監視する。タスク管理部423は、タスク生成サーバ103から送信されたタスクファイルを
図7に示すようなタスク管理テーブル700に格納して管理するためのモジュールである。必要に応じて、タスク管理テーブル700の更新やデータの取得を行う。
図7に示すタスク管理テーブル700の詳細は、後述する。
【0058】
画面生成部424は、タスク実行装置101のWebブラウザに表示させるためのWebページを生成するモジュールである。タスク実行装置101からの要求に応じて、当該Webページを生成する。タスク実行装置(PC)101とタスク実行装置(MFP)101に送信するWebページは、それぞれ異なるものである。タスク実行装置(PC)101に送信するWebページは、当該タスク実行装置(PC)101で実行可能な機能だけを利用可能なWebページであり、タスク実行装置(MFP)101に送信するWebページは、当該タスク実行装置(MFP)101で実行可能な機能だけを利用可能なWebページである。これらを生成して、タスク実行装置101に送信する。
【0059】
印刷ジョブ生成部425は、タスク生成サーバ103から送信された文書データに基づいて、タスク実行装置(MFP)101で印刷可能な印刷ジョブを生成するモジュールである。スキャンチケット生成部426は、スキャンの設定(スキャン枚数、解像度、ファイル形式、カラー設定、格納先等)が定義されたデータであるスキャンチケットを生成するモジュールである。スキャンチケットを用いることでタスク実行装置(MFP)101のスキャンの設定をユーザが行うことなく、自動的に設定することができる。
【0060】
タスク生成サーバ103は、N/W通信部431、タスクファイル生成部432、タスク管理部433、データ管理部434、画面生成部435、ワークフロー部436を備える。
【0061】
N/W通信部431は、タスク実行装置(PC)101のN/W通信部401と同様であるので説明を省略する。
【0062】
タスクファイル生成部432は、タスク生成サーバ103で動作するシステムでタスクが発生した場合に、
図6に示すようなタスクファイル600を生成するモジュールである。タスクファイル生成部432で生成されたタスクファイル600は、N/W通信部431を介して、タスク管理サーバ102に送信される。
【0063】
タスク管理部433は、タスク生成サーバ103で動作するシステムで発生したタスクを管理するためのモジュールである。タスクが完了したら、タスクを実行済みにしたり、タスクを削除したりする。また、ユーザからの要求に応じて、当該システムで発生しているタスクを一覧表示する。つまり、従来のタスク管理を行う仕組みにあたる。
【0064】
データ管理部434は、タスク生成サーバ103で動作するシステムが扱うデータを管理するためのモジュールである。本実施形態では、特に印刷する文書データや、スキャン送信されてきた画像データ、ワークフローの承認状況を示すデータ等を管理している。
【0065】
画面生成部435は、タスク実行装置101のWebブラウザに表示させるためのWebページを生成するモジュールである。タスク実行装置101からの要求に応じて、当該Webページを生成する。画面生成部435の詳細は、タスク管理サーバ102の画面生成部424と同様であるので、説明を省略する。
【0066】
ワークフロー部436は、承認のワークフローを動作させるためのモジュールである。画面生成部435で生成された画面を通じて、ユーザから承認を受け付けると、次の承認者に承認を求めるように動作する。
【0067】
次に、本発明の実施形態におけるタスク管理サーバ102とタスク生成サーバ103によって行われるタスクを収集する一連の処理について、
図5に示すフローチャートを用いて説明する。
【0068】
尚、この処理をタスク管理サーバ102、タスク生成サーバ103に実行させるためのプログラムは、タスク管理サーバ102、タスク生成サーバ103にインストールされているアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【0069】
まず、ステップS501では、タスク生成サーバ103は、
図6に示すようなタスクファイル600の生成が必要か否かを判定する。タスク生成サーバ103では、CRMシステムやワークフローシステムが動作している。よって、これらのシステムに対してユーザがタスク実行装置101を通じて操作した結果、発生したタスクがあるか否かによって、タスクファイル600の生成をすべきか否かを判定する。タスクファイル600の生成が必要であると判定した場合には、ステップS502に処理を進める。タスクファイル600の生成が必要でないと判定した場合には、タスクが発生するまで待機する。
【0070】
タスクファイル600(
図6参照)は、システムID601、識別子602、アクション603、アクションパラメータ604から構成されるファイルである。システムID601は、当該タスクが発生したシステムを識別するための情報である。識別子602は、当該タスクを識別するための情報である。アクション603は、実行しなければならないタスクの種別を示す情報である。例えば、アクション603が「Commit」であればワークフローで承認を実行しなければならない。アクションパラメータ604は、アクション603を実行するにあたって必要となるパラメータである。アクションパラメータ604に格納される情報は、アクション603によって異なる。例えば、アクション603が「Commit」であれば、アクションパラメータ604には承認ページに対するURL(Uniform Resource Locator)が格納されている。一方、アクション603が「Print」であれば、アクションパラメータ604にはプリントする文書の絶対パスが格納されている。また、アクション603が「Scan」であれば、アクションパラメータ604にはスキャンする際の設定や、スキャンで生成された画像データの格納先のURLが格納されている。タスクファイル600は、各システムがタスクの発生に伴って生成し、タスク生成サーバ103の記憶領域に保存する。よって、タスクファイル600は、発生したタスクの数だけ存在する。
【0071】
ステップS502では、タスク生成サーバ103は、前述したようにタスクファイル600を生成し、タスク生成サーバ103の記憶領域に保存する。記憶するのは外部メモリ211であってもよいし、他の記憶領域であってもよい。
【0072】
ステップS503では、タスク生成サーバ103は、ステップS502で生成されたタスクファイル600をタスク管理サーバ102に送信する。本実施形態では、タスク生成サーバ103が自発的にタスク管理サーバ102に送信しているが、タスク管理サーバ102からの要求に応じて送信するような形態でもよい。
【0073】
ステップS504では、タスク管理サーバ102は、タスク生成サーバ103から送信されたタスクファイル600を受信し、
図6に示す設定管理テーブル610のタスクファイル受信フォルダ611に示すフォルダに格納する。そして、ステップS505では、タスク管理サーバ102は、設定管理テーブル610のタスクファイル収集間隔612を参照して、収集時刻になったか否かを判定する。つまり、定期的にタスクファイル受信フォルダ611を監視し、新しくタスクファイル600が格納されていれば、後述するステップS507乃至ステップS509の処理を実行する仕組みである。収集時刻になったと判定した場合には、ステップS506に処理を進め、収集時刻になっていないと判定した場合には、収集時刻になるまで待機する。
【0074】
設定管理テーブル610(
図6参照)は、タスクファイル受信フォルダ611、タスクファイル収集間隔612から構成されるテーブルである。タスクファイル受信フォルダ611は、タスク生成サーバ103から送信されたタスクファイル600を格納するフォルダを示す情報である。タスクファイル収集間隔612は、タスクファイル600がタスクファイル受信フォルダ611に格納されているか否かを監視する間隔を示す情報である。設定管理テーブル610は、タスク管理サーバ102の外部メモリ211等の記憶領域に記憶されている。また、これらはタスク管理サーバ102の管理者等によってあらかじめ設定されているものである。
【0075】
ステップS506では、タスク管理サーバ102は、タスクファイル受信フォルダ611が示すフォルダを参照し、その結果タスクファイル600が格納されているか否かを判定する。タスクファイル600が格納されていると判定した場合には、ステップS507に処理を進める。タスクファイル600が格納されていないと判定した場合には、ステップS505に処理を戻す。
【0076】
ステップS507では、タスク管理サーバ102は、タスクファイル受信フォルダ611が示すフォルダに格納されていたタスクファイル600のシステムID601に基づいて、当該タスクファイル600を送信したタスク生成サーバ103を特定する。そして、特定した送信元と当該タスクファイル600とを紐づけて管理しておく。こうすることで、後述する処理においてタスクの実行指示をタスク実行装置101から受け付けた場合に、当該タスクの実行を特定した送信元に対して要求することができる。
【0077】
ステップS508では、タスク管理サーバ102は、受信したタスクファイル600が示すタスクを実行する装置を特定する。より具体的には、受信したタスクファイル600のアクション603と、
図6に示すアクション管理テーブル620に基づいて、当該アクション603をどの機器で処理可能なのかを特定する。例えば、アクション603が「Commit」である場合、アクション管理テーブル620を参照すると、アクション621が「Commit」であるレコードの処理機器622は、「PC」である。よって、受信したタスクファイル600が示すタスクは「PC」で処理するべきタスクであることがわかる。このようにして、タスクを処理する機器を特定する。
【0078】
アクション管理テーブル620(
図6参照)は、アクション621、処理機器622から構成されるテーブルである。アクション621は、タスクファイル600のアクション603と同様の情報である。処理機器622は、当該アクション621を処理可能な装置を示す情報である。アクション管理テーブル622は、タスク管理サーバ102の外部メモリ211等の記憶領域に記憶されている。また、これらはタスク管理サーバ102の管理者等によってあらかじめ設定されているものである。
【0079】
ステップS509では、タスク管理サーバ102は、受信したタスクファイル600を
図7に示すようなタスク管理テーブル700に登録する。タスク管理テーブル700は、複数のタスク生成サーバ103から収集したタスクを登録するテーブルである。タスク管理サーバ102は、タスク管理テーブル700に収集したタスクを登録しておくことで、タスクを管理する。新規に登録する場合には、タスク管理テーブル700のタスクNO701を新たに発行してレコードを作成し、システムID702、識別子703、アクション704、アクションパラメータ706に受信したタスクファイル600の対応する情報を格納する。そして、ステップS508で特定したタスクを処理する機器の情報を処理機器705に格納し、実行済み707に「0」、親タスク708に「NULL」を格納する。格納できたら、ステップS506に処理を戻す。
【0080】
タスク管理テーブル700(
図7参照)は、タスクNO701、システムID702、識別子703、アクション704、処理機器705、アクションパラメータ706、実行済み707、親タスク708から構成されるテーブルである。タスクNO701は、タスクごとに発行される識別番号である。システムID702、識別子703、アクション704は、タスクファイル600のシステムID601、識別子602、アクション603と同様である。処理機器705は、当該タスクを処理することの可能な機器(装置)を特定する情報である。アクションパラメータ706は、タスクファイル600のアクションパラメータ604と同様である。実行済み707は、当該タスクが実行済みか未実行かを示すフラグである。本実施形態では、「0」の場合には未実行、「1」の場合には実行済みを示す。親タスク708は、タスクの実行順が指定されている場合に、当該タスクよりも1つ前に実行すべきタスクのタスクID701を示す情報である。タスク管理テーブル700は、タスク管理サーバ102の外部メモリ211等の記憶領域に記憶されている。
【0081】
このようにして、タスク管理サーバ102は、タスク生成サーバ103で発生したタスクを収集し、タスク管理テーブル700に示すような形態で管理しておくことができる。
【0082】
次に、本発明の実施形態におけるタスク実行装置101とタスク管理サーバ102によって行われるタスクの表示やタスクの実行の処理について
図8及び
図9を用いて説明する。
【0083】
尚、この処理をタスク実行装置101、タスク管理サーバ102に実行させるためのプログラムは、タスク実行装置101、タスク管理サーバ102にインストールされているアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【0084】
まず、ステップS801では、タスク実行装置101は、ユーザの認証を行うために、ICカードの読み取りを受け付ける。本実施形態では、タスク実行装置101に接続されたカードリーダを用いて、ユーザが所持するICカードの読み取りを行うことで認証を実行するが、これに限らない。キーボードを使ってユーザを識別するための情報を入力する形態でもよいし、指紋認証等の生体認証を用いてもよい。
【0085】
ステップS802では、タスク実行装置101は、利用を許可してよいユーザなのかどうかを判定するために、ステップS801において読み取ったICカードの情報から、ユーザの検索を行う。そして、ステップS803では、タスク実行装置101は、ステップS802で検索した結果、認証がOKかどうかを判定する。認証がOKであると判定した場合には、ステップS804に処理を進める。認証がNGであると判定した場合には、ステップS801に処理を戻す。
【0086】
ステップS804では、タスク実行装置101は、認証がOKであったので、ステップS801で読み取ったICカードの情報やステップS802で検索したユーザの情報をRAM203等に一時的に記憶しておく。記憶したユーザの情報は、当該ユーザのタスクだけをタスク管理サーバ102に要求する際に利用される。
【0087】
ステップS805では、タスク実行装置101は、
図10に示すようなメニュー画面1000をディスプレイ210に表示させる。
図10に示すメニュー画面1000は、タスク実行装置101がタスク実行装置(MFP)101である場合の画面である。メニュー画面1000に表示された各種ボタンに対する押下を検知することで、当該ボタンに対応する処理が実行される。
【0088】
ステップS806では、タスク実行装置101は、ステップS805で表示されたメニュー画面1000に備えられたログアウトボタン1002が押下されるまで、後述するステップS808乃至ステップS818を繰り返す。ステップS808乃至ステップS818のいずれかのステップを処理している最中にログアウトボタン1002が押下された場合には、ステップS819に処理を進める。
【0089】
ステップS807では、タスク実行装置101は、メニュー画面1000に備えられたタスク一覧表示ボタン1001が押下されたか否かを判定する。タスク一覧表示ボタン1001が押下されたと判定した場合には、ステップS808に処理を進める。タスク一覧表示ボタン1001が押下されていないと判定した場合には、そのまま待機する。または、詳細な説明は行わないが、タスク一覧表示ボタン1001ではなく、プリントボタンやコピーボタンといった他の機能の実行を指示された場合には、当該指示に応じて機能の実行を行う。
【0090】
ステップS808では、タスク実行装置101は、タスク一覧表示ボタン1001が押下されたので、タスクを一覧表示して閲覧可能なタスク一覧表示画面の取得をタスク管理サーバ102に対して要求する。このとき、当該タスク実行装置101を識別するための情報を含めて要求する。本実施形態では、当該タスク実行装置101のMACアドレス(Media Access Control address)を含めるものとする。このMACアドレスは、後述する
図13のステップS1303で使用する。また、ステップS804で記憶したユーザを識別可能な情報を含めて要求してもよい。
【0091】
ステップS809では、タスク管理サーバ102は、タスク実行装置101から送信されたタスク一覧表示画面の取得要求を受信する。そして、ステップS810では、タスク管理テーブル700に格納された情報に基づいて、タスク一覧表示画面を生成するための処理を実行する。タスク一覧表示画面生成処理の詳細は、後述する
図13に示す。
【0092】
ステップS811では、タスク管理サーバ102は、ステップS810で生成されたタスク一覧表示画面を、要求のあったタスク実行装置101に対して送信する。
【0093】
ステップS812では、タスク実行装置101は、タスク管理サーバ102から送信されたタスク一覧表示画面を受信する。そして、ステップS813では、タスク実行装置101は、ステップS812で受信したタスク一覧表示画面をWebブラウザで表示する。つまり、タスク一覧表示画面は、Webページ形式である。そのため、タスク実行装置101のWebブラウザは、当該Webページに含まれるHTML等を読み込み、その内容に従ってタスク一覧表示画面の表示を制御する。
【0094】
図11に、タスク一覧表示画面の一例を示す。タスク一覧表示画面1100は、ユーザが処理する必要のあるタスクが一覧表示されている画面である。タスク一覧1101では、タスク管理テーブル700に格納されたタスクの情報が一覧表示されている。それぞれのレコードは選択可能となっており、選択された状態で実行ボタン1105の押下を検知すると、当該レコードが示すタスクの実行が可能である。チェックボックス1102は、タスク同士の関連付けを行うためのチェックボックスである。タスクには、実行する順序が決められているものがある。しかしながら、それが複数のシステムに渡ってしまうとタスク同士の関連付けをすることが困難である。よって、タスク一覧画面1100でタスクの関連付けをすることで、タスクの実行順序を管理することができるようになっている。また、実行済み1103には、当該タスクが実行済みであるか否かを表示している。
【0095】
更に、
図11は、タスク実行装置(MFP)101で表示した場合のタスク一覧画面1100である。そのため、処理機器705が「PC」であるタスクは実行できないように画面を制御している。つまり、タスク一覧画面1100を表示している装置の種別によって、実行可能な機能は異なるので、実行可能なタスクのみを実行可能に表示することで、タスクを一括で表示したとしても実行可能なものとそうでないものをユーザに識別させることができる。また、関連付けによって先に実行すべきタスク(以下、親タスク)と、その後に実行するタスク(以下、子タスク)が設定されている場合、親タスクが未実行であれば、子タスクは、実行できないように制御している。こうすることにより、親タスクよりも子タスクが先に処理されないようにしている。尚、親タスクが実行されていれば、子タスクは実行可能に表示される。そして、すでに実行済みのタスクも誤って再度実行しないように、実行できないように制御している。本実施形態では、実行済みのタスクも残しているが、実行されたらタスクを削除してしまう形態でもよい。
【0096】
一方、
図12は、タスク実行装置(PC)101でタスク一覧画面1100を表示した場合の一例を示す。
図11と異なり、処理機器が「PC」となっているレコードが実行可能に表示されていることがわかる。また、
図11と
図12ではタスクの並び順も異なっている。タスクの数が多ければ多いほど、実行したいタスクを探すことは困難である。そこで、タスク一覧画面1100を表示している装置で実行可能なタスクを優先的に上位に表示させるようにすることで、ユーザがタスクを探しやすくなる。
【0097】
このように、タスク一覧画面1100は、当該タスク一覧画面1100を表示する装置の種別に応じてタスクの実行の受け付けを制御し、また当該装置の種別に応じてタスクを並び替えることで、タスクを探しやすくしている。
【0098】
引き続き、
図9に説明を移す。ステップS814では、タスク実行装置101は、タスク一覧画面1100に備えられたキャンセルボタン1106が押下されるまで、後述するステップS815乃至ステップS818を繰り返す。ステップS815乃至ステップS818のいずれかの処理を実行している時に、キャンセルボタン1106が押下されたら、ステップS819に処理を進める。
【0099】
ステップS815では、タスク実行装置101は、タスク一覧画面1100の2つのチェックボックス1102にチェックがなされて、関連付けボタン1104が押下されたか否かを判定する。関連付けボタン1104が押下されたと判定した場合には、ステップS816に処理を進める。関連付けボタン1104が押下されなかった、または他のボタンが押下されたと判定した場合には、ステップS817に処理を進める。
【0100】
ステップS816では、タスク実行装置101は、チェックボックス1102にチェックされた2つのタスクをそれぞれ親タスクと子タスクに設定するための処理を実行する。関連付け設定処理の詳細は、後述する
図16に示す。
【0101】
ステップS817では、タスク実行装置101は、タスク一覧画面1100でタスクが選択され、実行ボタン1105が押下されたか否かを判定する。実行ボタン1105が押下されたと判定した場合には、ステップS818に処理を進める。実行ボタン1105が押下されていない、または他のボタンが押下されたと判定した場合には、ステップS814に処理を戻す。
【0102】
ステップS818では、タスク実行装置101は、選択されたタスクの実行を行う。タスク実行処理の詳細は、後述する
図18に示す。
【0103】
ステップS819では、タスク実行装置101は、ステップS813で表示したタスク一覧画面1100を閉じて、メニュー画面1000に表示を戻し、ステップS806に処理を戻す。そして、ログアウトボタン1002の押下を検知した場合には、ステップS820では、タスク実行装置101は、ログアウトの処理を行い、本一連の処理を終了する。
【0104】
次に、本発明の実施形態におけるタスク管理サーバ102によって行われるタスク一覧画面生成処理について
図13を用いて説明する。
【0105】
尚、この処理をタスク管理サーバ102に実行させるためのプログラムは、タスク管理サーバ102にインストールされているアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【0106】
ステップS1301では、タスク管理サーバ102は、
図14に示すような一時テーブル1400を生成する。一時テーブル1400は、タスク一覧表示画面1100のタスク一覧1101にタスクを表示させるためのテーブルである。一時テーブル1400においてタスク管理テーブル700に格納された各レコードを適切に並べ替えて、その並べ替えた結果をタスク一覧表示画面1100に表示させる。
【0107】
一時テーブル1400(
図14参照)は、タスクNO1401、システムID1402、識別子1403、アクション1404、処理機器1405、アクションパラメータ1406、実行済み1407、親タスク1408から構成されるテーブルである。タスクNO1401、システムID1402、識別子1403、アクション1404、処理機器1405、アクションパラメータ1406、実行済み1407、親タスク1408は、それぞれタスク管理テーブル700のタスクNO701、システムID702、識別子703、アクション704、処理機器705、アクションパラメータ706、実行済み707、親タスク708と同様であるので、説明を省略する。一時管理テーブル1400は、タスク管理サーバ102の外部メモリ211等の記憶領域に記憶されている。
【0108】
ステップS1302では、タスク管理サーバ102は、タスク管理テーブル700に格納されたタスクを一時テーブル1400に格納する。このとき、認証されたユーザのタスクのみを取得して格納するようにしてもよい。そうすることで、当該ユーザのタスクのみが表示できる。
【0109】
ステップS1303では、タスク管理サーバ102は、タスク一覧表示画面1100の取得を要求したタスク実行装置101の装置の種別を特定する。より具体的には、前述したステップS808で当該タスク実行装置101のMACアドレスがタスク管理サーバ102に送信されているので、このMACアドレスと、
図6に示す装置管理テーブル630を用いて、当該タスク実行装置101の装置の種別を特定する。例えば、MACアドレスが「12:XX:34:XX:56:XX」であった場合には、装置管理テーブル630のMACアドレス631がこれに該当するので、当該タスク実行装置101の装置の種別が、当該レコードの装置種別632が示す「MFP」であることがわかる。このようにして、装置の種別を特定しておく。
【0110】
装置管理テーブル630(
図6参照)は、MACアドレス631と装置種別632から構成される。MACアドレス631は、装置のMACアドレスを示す情報である。装置種別632は、当該MACアドレスを持つ装置の種別を示す情報である。装置管理テーブル630は、タスク管理サーバ102の外部メモリ211等の記憶領域に記憶されている。また、これらはタスク管理サーバ102の管理者等によってあらかじめ設定されているものである。
【0111】
ステップS1304では、タスク管理サーバ102は、一時テーブル1400に格納されたすべてのレコードに対して、後述するステップS1305乃至ステップS1307の処理が完了するまで、後述するステップS1305乃至ステップS1307を繰り返す。一時テーブル1400に格納されたすべてのレコードに対する処理が完了したら、ステップS1308に処理を進める。
【0112】
ステップS1305では、タスク管理サーバ102は、一時テーブル1400に格納されたレコードのうち、ステップS1305乃至ステップS1307を実行していない1つのレコードを参照する。一時テーブル1400に格納された未処理のレコードのうち、タスクNO1401が一番小さいものを選択することが望ましい。
【0113】
ステップS1306では、タスク管理サーバ102は、ステップS1305で参照しているレコードの処理機器1405と、ステップS1303で特定したタスク実行装置101の装置の種別が同じか否かを判定する。つまり、参照しているレコードが示すタスクは、タスク実行装置101で実行可能なタスクかどうかを判定している。処理機器1405とタスク実行装置101の装置の種別が同じであると判定した場合には、ステップS1307に処理を進める。処理機器1405とタスク実行装置101の装置の種別が異なると判定した場合には、参照中のレコードを処理済みとし、ステップS1304に処理を戻す。
【0114】
ステップS1307では、タスク管理サーバ102は、参照中のレコードを一時テーブル1400の上位の位置に並び替える。より具体的には、参照中のレコードを取得して、ステップS1307において並び替えられた他のレコードの下、かつ並び替えられなかったレコードの上に当該レコードを挿入する。つまり、最終的には、タスク実行装置101が「MFP」だった場合には、処理機器1405が「MFP」であるレコードがタスクNO1401の順に1レコード目から配置され、それらの下に並び替えられなかったレコード、つまり処理機器1405が「PC」のレコードがタスクNO1401の順に配置されている状態となる。こうすることで、実行可能なタスクを上位に表示させることができる。処理が終わったら、参照中のレコードを処理済みとし、ステップS1304に処理を戻す。
【0115】
ステップS1308では、タスク管理サーバ101は、一時テーブル1400に格納されたすべてのレコードに対して、後述するステップS1309乃至ステップS1312の処理が完了するまで、後述するステップS1309乃至ステップS1312を繰り返す。一時テーブル1400に格納されたすべてのレコードに対する処理が完了したら、ステップS1313に処理を進める。
【0116】
ステップS1309では、タスク管理サーバ101は、一時テーブル1400に格納されたレコードのうち、ステップS1309乃至ステップS1312を実行していない1つのレコードを参照する。
【0117】
ステップS1310では、タスク管理サーバ101は、参照中のレコードが示すタスクに親タスクが存在するか否かを判定する。より具体的には、参照中のレコードの親タスク1408に「NULL」ではなく、タスクNO1401が格納されているか否かを判定する。親タスクが存在すると判定した場合には、ステップS1311に処理を進める。親タスクが存在しないと判定した場合には、参照中のレコードを処理済みとし、ステップS1308に処理を戻す。
【0118】
ステップS1311では、タスク管理サーバ102は、参照中のレコードの親タスク1408を参照し、当該親タスク1408に格納された親タスクのタスクNO1401を特定する。そして、ステップS1312では、タスク管理サーバ102は、参照中のレコードをステップS1311で特定した親タスクのレコードの下に並び替えて配置する。こうすることで、親タスク、子タスクの順にレコードを配置することができる。処理が終わったら、参照中のレコードを処理済みとし、ステップS1308に処理を戻す。
【0119】
ステップS1313では、タスク管理サーバ102は、タスク一覧画面1100を生成する。ここでは、タスク一覧1101が空の状態で生成される。また、生成されるタスク一覧画面1100は、タスク実行装置101に備えられたWebブラウザで表示可能なWebページである。
【0120】
ステップS1314では、タスク管理サーバ102は、一時テーブル1400に格納されたすべてのレコードに対して、後述するステップS1315乃至ステップS1324の処理が完了するまで、後述するステップS1315乃至ステップS1324を繰り返す。一時テーブル1400に格納されたすべてのレコードに対する処理が完了したら、タスク一覧画面生成処理を終了し、タスク一覧画面生成処理の呼び出し元に処理を戻す。
【0121】
ステップS1315では、タスク管理サーバ102は、一時テーブル1400に格納されたレコードのうち、ステップS1315乃至ステップS1323を実行していない1つのレコードを参照する。
【0122】
ステップS1316では、タスク管理サーバ102は、参照中のレコードをステップS1313で生成されたタスク一覧画面1100のタスク一覧1101に配置する。配置する際には、一時テーブル1400で並べ替えられた順になるように配置していく。このとき、ステップS1316では配置したレコードのタスクはタスク一覧1101において実行可能な状態で配置する。
【0123】
ステップS1317では、タスク管理サーバ102は、参照中のレコードが示すタスクが実行済みであるか否かを判定する。より具体的には、参照中のレコードの実行済みフラグ1407が「1」であるか否かを判定する。参照中のレコードが示すタスクが実行済みであると判定した場合には、ステップS1318に処理を進める。参照中のレコードが示すタスクが未実行であると判定した場合には、ステップS1320に処理を進める。
【0124】
ステップS1318では、タスク管理サーバ102は、ステップS1316で配置したレコードのタスクをタスク一覧1101において実行できないように制御する。タスクの選択ができないようにしてもよいし、それ以外の方法でもよい。そして、ステップS1319では、タスク管理サーバ102は、ステップS1316で配置したレコードの実行済み1103に、実行済みであることがわかるように「済」といったような表示をさせる。こうすることで、実行済みのタスクなのかそうでないのかを識別することができる。本実施形態では文字を表示することで実行済みであることを通知しているが、色によって通知してもよいし、タスクを選択するとポップアップが出るような形態でもよい。処理が完了したら、当該レコードを処理済みとし、ステップS1314に処理を戻す。
【0125】
ステップS1320では、タスク管理サーバ102は、参照中のレコードの処理機器1405と、ステップS1303で特定された装置の種別が異なるかどうかを判定する。つまり、参照中のレコードがタスク一覧画面1100を要求してきたタスク実行装置101で実行可能なタスクを示すレコードでない場合、ステップS1318と同様にタスク一覧1101において当該レコードのタスクを実行できないように制御する必要がある。そのため、ステップS1320においてこのような判定を行っている。参照中のレコードの処理機器1405と、ステップS1303で特定された装置の種別が異なると判定した場合には、ステップS1321に処理を進める。参照中のレコードの処理機器1405と、ステップS1303で特定された装置の種別が同じであると判定した場合には、ステップS1322に処理を進める。
【0126】
ステップS1321では、タスク管理サーバ102は、ステップS1318と同様に、ステップS1316で配置したレコードのタスクをタスク一覧1101において実行できないように制御する。詳細はステップS1318と同様であるので説明を省略する。
【0127】
ステップS1322では、タスク管理サーバ102は、参照中のレコードが示すタスクに親タスクが存在するか否かを判定する。参照中のレコードが示すタスクが子タスクであるか否かを判定してもよい。より具体的には、参照中のレコードの親タスク1408に他のタスクのタスクNO1401が格納されているかどうかを確認する。前述した通り、関連付けの設定を行い、タスクの実行順序が指定されていると、その実行順通りにタスクを実行しなければいけない。そのため、親タスクよりも子タスクが先に処理されることを防がなければいけない。そこで、親タスクがあり、当該親タスクが未実行である場合には、子タスクの実行をできないように制御する。この制御を行うために、ステップS1322で親タスクの有無を判定し、後述するステップS1323で当該親タスクが未実行であるか否かを判定している。参照中のレコードが示すタスクに親タスクが存在すると判定した場合には、ステップS1323に処理を進める。参照中のレコードが示すタスクに親タスクが存在しないと判定された場合には、参照中のレコードを処理済みとし、ステップS1314に処理を戻す。
【0128】
ステップS1323では、タスク管理サーバ102は、参照中のレコードが示すタスクの親タスクが未実行であるか否かを判定する。より具体的には、参照中のレコードの親タスク1408に格納されたタスクNO1401と、同じタスクNO1401を持つレコードを特定し、当該レコードの実行済みフラグ1407に「1」が格納されているかどうかを確認する。参照中のレコードが示すタスクの親タスクが未実行であると判定された場合、ステップS1324に処理を進める。参照中のレコードが示すタスクの親タスクが未実行でない、つまり実行済みであると判定された場合には、参照中のレコードを処理済みとし、ステップS1314に処理を戻す。
【0129】
ステップS1324では、タスク管理サーバ102は、ステップS1318と同様にステップS1316で配置したレコードのタスクをタスク一覧1101において実行できないように制御する。詳細はステップS1318と同様であるので説明を省略する。
【0130】
図14と
図15は、それぞれタスク一覧画面1100の取得要求を行ったタスク実行装置101がタスク実行装置(MFP)101とタスク実行装置(PC)101である場合の一時テーブル1400を示している。ステップS1312まで処理すると、
図14や
図15のような並びになる。そして、これらのレコードをステップS1314乃至ステップS1324で処理することで、
図11や
図12のようなタスク一覧画面1100となる。例えば、
図11では、ステップS1318における処理により、タスク一覧1101の識別子が「wf121221」となっているレコードは、グレーアウトしてタスクを実行できないように制御されている。また、ステップS1321における処理により、タスク一覧1101の識別子が「wf121222」となっているレコードも、グレーアウトしてタスクを実行できないように制御されている。更に、ステップS1324における処理により、タスク一覧1101の識別子が「abc2012」となっているレコードも、グレーアウトしてタスクを実行できないように制御されている。そして、前述した通り
図11は、タスク実行装置(MFP)101で表示した画面であるので、処理機器が「MFP」であるタスクがタスク一覧1101の中で優先的に上位に表示されている。このようにすることで、タスクを一覧表示して当該タスクの実行を受け付けると共に、ユーザが誤って操作することなく、タスクの選択をしやすくすることができる。
【0131】
尚、本実施形態では、タスク一覧画面生成処理をタスク管理サーバ102で実行したが、タスク実行装置101で実行してもよい。この場合には、タスク管理テーブル700をタスク実行装置101に送信し、当該送信されたタスク管理テーブル700を用いて、タスク一覧画面生成処理をタスク実行装置101が実行するようにすればよい。
【0132】
次に、本発明の実施形態におけるタスク実行装置101とタスク管理サーバ102によって行われる関連付け設定処理について
図16を用いて説明する。
【0133】
尚、この処理をタスク実行装置101とタスク管理サーバ102に実行させるためのプログラムは、タスク実行装置101とタスク管理サーバ102にインストールされているアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【0134】
ステップS1601では、タスク実行装置101は、タスク一覧画面1100に備えられたチェックボックス1102に対して選択がなされた順番と、当該選択されたタスクを取得し、タスク管理サーバ102に送信する。本実施形態においては、チェックボックス1102に対してチェックされた順番をタスクの実行順序とする。そのため、先にチェックされたタスクが親タスクとなり、後にチェックされたタスクが子タスクとなる。
【0135】
ステップS1602では、タスク管理サーバ102は、タスク実行装置101から送信された、チェックボックス1102に対して選択がなされた順番と、当該選択されたタスクを受信する。
【0136】
ステップS1603では、タスク管理サーバ102は、ステップS1602で受信した情報に基づいて、先にチェックされたタスクを後にチェックされたタスクの親タスクとして設定する。より具体的には、後にチェックされたタスクのレコードをタスク管理テーブル700から特定し、当該レコードの親タスク708に先にチェックされたタスクのレコードのタスクNO701を格納する。こうすることで、関連付けの設定を行う。
【0137】
ステップS1604では、タスク管理サーバ102は、タスクの関連付けが行われたので、タスク一覧画面1100を再度生成するために、タスク一覧画面生成処理を実行する。タスク一覧画面生成処理は、
図13で前述した通りである。
【0138】
ステップS1605では、タスク管理サーバ102は、ステップS1604で生成されたタスク一覧画面1100をタスク実行装置101に送信する。そして、ステップS1606では、タスク実行装置101は、タスク管理サーバ102から送信されたタスク一覧画面1100を受信し、ステップS1607では、受信したタスク一覧画面1100を表示する。本実施形態では、このようにタスク一覧画面1100に備えられたチェックボックス1102に対するチェックの順番に応じて、タスクの親子関係を設定したが、これに限らない。タスクの実行順を数字で指定できてもよいし、親タスクを選択するモードと子タスクを選択するモードでそれぞれタスクを選択し、親子関係の設定ができてもよい。
【0139】
図17は、関連付け設定処理の概要を示す図である。例えば、
図17の上部に示すタスク一覧画面1100のように、1701と1702の順でチェックボックス1102にチェックがなされ、関連付けボタン1104が押下されたとする。つまり、識別子が「cstm1381」のタスクを親タスクとし、識別子が「wf121222」のタスクを子タスクとする指示がなされたとする。すると、識別子が「wf121222」の親タスクに、識別子が「cstm1381」のタスクを設定し、タスク一覧画面1100を再度生成する。その結果、
図17の下部に示すタスク一覧画面1100の1703のように、識別子が「cstm1381」のタスクの下に、子タスクである識別子が「wf121222」のタスクが配置される。このような流れで、タスク間の親子設定が行われる。
【0140】
次に、本発明の実施形態におけるタスク実行装置101とタスク管理サーバ102によって行われるタスク実行処理について
図18を用いて説明する。
【0141】
尚、この処理をタスク実行装置101とタスク管理サーバ102に実行させるためのプログラムは、タスク実行装置101とタスク管理サーバ102にインストールされているアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【0142】
まず、ステップS1801では、タスク実行装置101は、タスク一覧1101から選択されたタスクの実行の要求をタスク管理サーバ102に送信する。ステップS1802では、タスク管理サーバ102は、タスク実行装置101から送信されたタスクの実行要求を受信する。
【0143】
ステップS1803では、タスク管理サーバ102は、選択されたタスクの実行内容であるアクションの種別を特定する。より具体的には、選択されたタスクをタスク管理テーブル700から特定し、当該特定されたレコードのアクション704を特定する。ここでは、選択されたタスクがどのような処理を実行すべきタスクなのかを特定している。例えば、アクション704が「Commit」であれば、ワークフローの承認処理を実行しなければいけないし、アクション704が「Print」であれば、文書データを印刷しなければならない。アクション704を特定することで、後述する処理において適切な処理を実行することが可能となる。
【0144】
ステップS1804では、タスク管理サーバ102は、ステップS1803で特定されたタスクのアクションの種別が、プリントであるか否かを判定する。より具体的には、特定されたタスクのアクション704が「Print」であるか否かを判定する。プリントであると判定した場合には、ステップS1805に処理を進める。プリントでないと判定した場合には、ステップS1806に処理を進める。
【0145】
ステップS1805では、タスク管理サーバ102は、選択されたタスクを実行するべく、文書データのプリント(印刷)を実行する。プリント処理の詳細は、後述する
図19に示す。
【0146】
ステップS1806では、タスク管理サーバ102は、ステップS1803で特定されたタスクのアクションの種別が、スキャンであるか否かを判定する。より具体的には、特定されたタスクのアクション704が「Scan」であるか否かを判定する。スキャンであると判定した場合には、ステップS1807に処理を進める。スキャンでないと判定した場合には、ステップS1808に処理を進める。
【0147】
ステップS1807では、タスク管理サーバ102は、選択されたタスクを実行するべく、スキャンとその結果生成されたスキャンデータの送信を行う。スキャン処理の詳細は、後述する
図20に示す。
【0148】
ステップS1808では、タスク管理サーバ102は、ステップS1803で特定されたタスクのアクションの種別が、承認であるか否かを判定する。より具体的には、特定されたタスクのアクション704が「Commit」であるか否かを判定する。承認であると判定した場合には、ステップS1809に処理を進める。承認でないと判定した場合には、ステップS1810に処理を進める。
【0149】
ステップS1809では、タスク管理サーバ102は、選択されたタスクを実行するべく、ワークフローの承認を行う。承認処理の詳細は、後述する
図23に示す。
【0150】
ステップS1810では、タスク管理サーバ102は、ステップS1805、ステップS1807、ステップS1809におけるタスクの実行結果をタスク実行装置101に送信する。ここで送信する実行結果は、タスクの実行が問題なく完了したのか否かを通知してもよいし、それ以外でもよい。そして、ステップS1811では、タスク実行装置101は、タスク管理サーバ102から送信されたタスクの実行結果を受信し、タスク実行処理を終了する。
【0151】
次に、本発明の実施形態におけるタスク実行装置101とタスク管理サーバ102とタスク生成サーバ103によって行われるプリント処理について
図19を用いて説明する。
【0152】
尚、この処理をタスク実行装置101とタスク管理サーバ102とタスク生成サーバ103に実行させるためのプログラムは、タスク実行装置101とタスク管理サーバ102とタスク生成サーバ103にインストールされているアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【0153】
まず、ステップS1901では、タスク管理サーバ102は、選択されたタスクを実行するために、タスク生成サーバ103に対してプリントする文書データの取得を要求する。より具体的には、選択されたタスクのレコードをタスク管理テーブル700から特定し、当該レコードのアクションパラメータ706を取得する。そして、取得したアクションパラメータ706にあるURLが示す文書データを取得してタスク管理サーバ102に送信するよう、当該文書データを保存しているタスク生成サーバ103に要求する。
【0154】
ステップS1902では、タスク生成サーバ103は、タスク管理サーバ102から送信された文書データの取得要求を受信する。そして、ステップS1903では、タスク生成サーバ103は、当該文書データを検索して取得し、ステップS1904では、タスク生成サーバ103は、取得した文書データをタスク管理サーバ102に送信する。
【0155】
ステップS1905では、タスク管理サーバ102は、タスク生成サーバ102から送信された文書データを受信する。そして、ステップS1906では、タスク管理サーバ102は、受信した文書データに基づいて印刷ジョブを生成する。印刷ジョブを生成する際には、当該文書データを印刷するタスク実行装置(MFP)101の機種に応じて、適切なプリンタドライバを選択する。そして、当該プリンタドライバを用いて適切な印刷設定を行い、当該文書データに基づいて印刷ジョブを生成する。ステップS1907では、タスク管理サーバ102は、ステップS1906で生成された印刷ジョブをタスク実行装置101に送信する。
【0156】
ステップS1908では、タスク実行装置101は、タスク管理サーバ102から送信された印刷ジョブを受信する。そして、ステップS1909では、タスク実行装置101は、受信した印刷ジョブに基づいて、プリンタ部312を動作させて用紙に文書データを印刷する。印刷が完了したら、ステップS1910では、タスク実行装置101は、印刷の実行結果をタスク管理サーバ102に送信する。実行結果は、印刷が完了した旨を含む情報である。印刷が失敗した場合には、ステップS1910では実行結果を送信しないか、または実行結果に印刷が失敗した旨を含めるとよい。
【0157】
ステップS1911では、タスク管理サーバ102は、タスク実行装置101から送信された実行結果を受信し、ステップS1912では、タスク管理サーバ102は、受信した実行結果を、文書データの取得先であるタスク生成サーバ103に対して送信する。このとき、どのタスクに関する実行結果なのかを含めて送信する。タスク管理テーブル700の識別子703を送信するとよい。
【0158】
ステップS1913では、タスク生成サーバ103は、タスク管理サーバ102から送信された実行結果を受信し、ステップS1914では、タスク生成サーバ103は、受信した実行結果に基づいて、タスクファイル600を実行済みとして管理する。識別子703を含めて受信しているので、当該識別子703と一致する識別子602を持つタスクファイル600を特定し、タスク生成サーバ103で動作するシステム上で当該タスクを実行済みとして管理する。または、当該タスクファイル600を削除する形態でもよい。
【0159】
ステップS1915では、タスク生成サーバ103は、タスクを実行済みにした実行結果をタスク管理サーバ102に送信する。そして、ステップS1916では、タスク管理サーバ102は、タスク生成サーバ103から送信された実行結果を受信し、ステップS1917では、タスク管理サーバ102は、実行したタスクを実行済みにする。より具体的には、実行したタスクをタスク管理テーブル700から特定し、当該タスクの実行済みフラグ707を「1」に変更する。つまり、フラグを立てる。このように、タスク管理サーバ102が、タスク実行装置101とタスク生成サーバ103のやり取りを中継することで、タスクの実行とそのタスクを実行済みとして管理することができる。
【0160】
次に、本発明の実施形態におけるタスク実行装置101とタスク管理サーバ102とタスク生成サーバ103によって行われるスキャン処理について
図20を用いて説明する。
【0161】
尚、この処理をタスク実行装置101とタスク管理サーバ102とタスク生成サーバ103に実行させるためのプログラムは、タスク実行装置101とタスク管理サーバ102とタスク生成サーバ103にインストールされているアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【0162】
まず、ステップS2001では、タスク管理サーバ102は、スキャンの設定が定義されたスキャンチケットを選択されたタスクに基づいて生成する。より具体的には、選択されたタスクのレコードをタスク管理テーブル700から特定し、当該レコードのアクションパラメータ706に格納された情報を用いて、スキャンチケットを生成する。スキャンチケットは、
図21に示すような構造のファイルである。スキャンを実行する際にユーザが設定しなければいけない設定内容を定義している。スキャンのアクションパラメータ703に格納された情報から、
図21に示すようなスキャンチケットを生成し、これをタスク実行装置(MFP)101に送信することで、タスク実行装置(MFP)101のスキャンの設定が自動的になされる。つまり、ユーザはスキャンの設定を行わなくとも、タスクを実行するための適切な設定がなされる。
【0163】
スキャンチケット2100(
図21参照)は、格納先2101、カラー設定2102、スキャン枚数2103、解像度2104、ファイル形式2105から構成される。格納先2101は、スキャンして生成された画像データの送信先、つまり格納先を示す情報である。カラー設定2102は、カラーの画像データを生成するのか、モノクロの画像データを生成するのかを示す情報である。スキャン枚数2103は、スキャンしなければいけない紙文書の枚数を示す情報である。ファイル形式2105は、生成した画像データのファイル形式を示す情報である。
【0164】
ステップS2002では、タスク管理サーバ102は、ステップS2001で生成されたスキャンチケットを、タスクの実行要求を送信してきたタスク実行装置101に対して送信する。このとき、当該タスクを特定するための情報を含めて送信する。タスク管理テーブル700の識別子703を送信するとよい。
【0165】
ステップS2003では、タスク実行装置101は、タスク管理サーバ102から送信されたスキャンチケットを受信する。そして、ステップS2004では、タスク実行装置101は、受信したスキャンチケットに基づいて、スキャンの設定を行う。より具体的には、スキャンチケットに基づいて、
図22に示すようなスキャン画面2200を生成する。スキャン画面2200は、スキャンの設定を受け付ける画面であり、スキャンチケットに含まれる設定がそれぞれ入力されている。
【0166】
ステップS2005では、タスク実行装置101は、スキャンボタン2201の押下を検知すると、スキャナ部314を動作させて、スキャン画面2200に入力されたスキャンの設定に基づき、スキャンを実行する。そして、当該スキャンの設定に基づいて、スキャンした紙文書の画像データを生成する。
【0167】
ステップS2006では、タスク実行装置101は、生成した画像データをスキャン画面2200に入力された格納先に送信する。ユーザが変更していなければ、スキャンチケット2100の格納先2101に送信することになる。ここで、ステップS2002でタスク管理サーバ102から送信された実行するタスクを識別するための情報も合わせて、タスク生成サーバ103に送信する。タスク管理テーブル700の識別子703を受信しているのであれば、これをタスク生成サーバ103に送信する。
【0168】
ステップS2007では、タスク生成サーバ103は、タスク実行装置101から送信された画像データを受信し、タスク実行装置101から指定された格納先に受信した画像データを保存する。
【0169】
ステップS2008では、タスク生成サーバ103は、実行されたタスクのタスクファイル600を実行済みとして管理する。タスク実行装置101が識別子703を送信しているので、当該識別子703と一致する識別子602を持つタスクファイル600を特定し、タスク生成サーバ103で動作するシステム上で当該タスクを実行済みとして管理する。または、当該タスクファイル600を削除する形態でもよい。
【0170】
ステップS2009では、タスク生成サーバ103は、タスクを実行済みにした実行結果をタスク管理サーバ102に送信する。そして、ステップS2010では、タスク管理サーバ102は、タスク生成サーバ103から送信された実行結果を受信し、ステップS2011では、タスク管理サーバ102は、実行したタスクを実行済みにする。ステップS2011の処理は、前述したステップS1917と同様であるので説明を省略する。
【0171】
次に、本発明の実施形態におけるタスク実行装置101とタスク管理サーバ102とタスク生成サーバ103によって行われる承認処理について
図23を用いて説明する。
【0172】
尚、この処理をタスク実行装置101とタスク管理サーバ102とタスク生成サーバ103に実行させるためのプログラムは、タスク実行装置101とタスク管理サーバ102とタスク生成サーバ103にインストールされているアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【0173】
まず、ステップS2301では、タスク管理サーバ102は、タスク生成サーバ103で動作するワークフローシステムにおいて、申請の承認を行うことの可能な
図24に示すような承認画面2400に対する転送要求を、タスクの実行要求を送信してきたタスク実行装置101に送信する。より具体的には、選択されたタスクのレコードをタスク管理テーブル700から特定し、当該レコードのアクションパラメータ706に格納されたURLにアクセスするよう、タスク実行装置101に要求する。このとき、当該タスクを特定するための情報を含めて送信する。タスク管理テーブル700の識別子703を送信するとよい。
【0174】
ステップS2302では、タスク実行装置101は、タスク管理サーバ102から送信された転送要求を受信する。そして、ステップS2303では、タスク実行装置101は、受信した転送要求に基づいて、承認画面2400の取得をタスク生成サーバ103に要求する。つまり、転送要求に含まれるURLにアクセスする。
【0175】
ステップS2304では、タスク生成サーバ103は、タスク実行装置101から承認画面2400の取得要求を受信する。そして、ステップS2305では、タスク生成サーバ103は、要求された承認画面2400を生成し、ステップS2306では、タスク生成サーバ103は、生成した承認画面2400をタスク実行装置101に送信する。
【0176】
ステップS2307では、タスク実行装置101は、タスク生成サーバ103から送信された承認画面2400を受信し、ステップS2308では、タスク実行装置101は、受信した承認画面2400をWebブラウザに表示する。
【0177】
ステップS2309では、タスク実行装置101は、承認画面2400に備えられた承認ボタン2401または否認ボタン2402の押下を検知すると、承認または否認の指示をタスク生成サーバ103に対して送信する。このとき、ステップS2301でタスク管理サーバ102から送信された、選択されたタスクの識別子703も合わせて送信する。
【0178】
ステップS2310では、タスク生成サーバ103は、承認画面2400を通じて指示された承認または否認の指示をタスク実行装置101から受信する。そして、ステップS2311では、タスク生成サーバ103は、受信した情報に基づいて、当該申請のステータスを承認または否認に更新する。具体的な処理については、従来技術であるので説明を省略する。
【0179】
ステップS2312では、タスク生成サーバ103は、実行されたタスクのタスクファイル600を実行済みとして管理する。タスク実行装置101が識別子703を送信しているので、当該識別子703と一致する識別子602を持つタスクファイル600を特定し、タスク生成サーバ103で動作するシステム上で当該タスクを実行済みとして管理する。または、当該タスクファイル600を削除する形態でもよい。
【0180】
ステップS2313では、タスク生成サーバ103は、タスクを実行済みにした実行結果をタスク管理サーバ102に送信する。そして、ステップS2314では、タスク管理サーバ102は、タスク生成サーバ103から送信された実行結果を受信し、ステップS2315では、タスク管理サーバ102は、実行したタスクを実行済みにする。ステップS2315の処理は、前述したステップS1917と同様であるので説明を省略する。
【0181】
以上説明したように、本実施形態によれば、タスク管理サーバが複数のタスク生成サーバで生成されたタスクを取得し、タスク実行装置に当該取得したタスクを送信し、当該タスク実行装置で表示することが可能となるので、ユーザはタスク生成サーバにタスクを見に行くことなく、タスク管理サーバがタスク生成サーバから収集したタスクをタスク実行装置において一括で閲覧することのできる効果を奏する。
【0182】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
【0183】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【0184】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0185】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
【0186】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
【0187】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【0188】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0189】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0190】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0191】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【0192】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。