JP5121560B2 - ワークフロー実行装置、ワークフロー実行方法、コンピュータプログラム - Google Patents

ワークフロー実行装置、ワークフロー実行方法、コンピュータプログラム Download PDF

Info

Publication number
JP5121560B2
JP5121560B2 JP2008125113A JP2008125113A JP5121560B2 JP 5121560 B2 JP5121560 B2 JP 5121560B2 JP 2008125113 A JP2008125113 A JP 2008125113A JP 2008125113 A JP2008125113 A JP 2008125113A JP 5121560 B2 JP5121560 B2 JP 5121560B2
Authority
JP
Japan
Prior art keywords
workflow
unit
execution
workflow definition
definition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008125113A
Other languages
English (en)
Other versions
JP2009276851A (ja
Inventor
亨 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2008125113A priority Critical patent/JP5121560B2/ja
Priority to US12/463,421 priority patent/US8601478B2/en
Priority to CN200910138638.0A priority patent/CN101582922B/zh
Publication of JP2009276851A publication Critical patent/JP2009276851A/ja
Application granted granted Critical
Publication of JP5121560B2 publication Critical patent/JP5121560B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32502Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices
    • H04N1/32545Distributing a job or task among a plurality of input devices or a plurality of output devices
    • H04N1/3255Hybrid jobs, i.e. performing different parts of the same job on different devices, e.g. colour and B/W pages on different devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00209Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
    • H04N1/00222Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of image data generation or reproduction, e.g. scan-to-email or network printing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00915Assigning priority to, or interrupting, a particular operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00954Scheduling operations or managing resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00957Compiling jobs, e.g. for batch processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32502Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Operations Research (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Facsimiles In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、ワークフロー実行装置、ワークフロー実行方法、コンピュータプログラムに関し、特に、ワークフローを実行するために用いて好適なものである。
近年のオフィス環境では、複合機(MFP)、プリンタ、サーバ等の種々のデバイスがネットワークに接続され、それらのデバイスが、ユーザによって共有・使用されている。ネットワークに接続されたデバイスを利用するだけではなく、ネットワークに接続されている複数のデバイスが連携して処理を実行するシステムも存在する。このような複数のデバイスが連携して行う処理の内容をワークフロージョブといい、その具体的な処理の流れをワークフロー、処理の流れを定義・規定するものをワークフロー定義という。
ワークフロージョブを実行するシステムとして、特許文献1に記載されているシステムがある。このシステムでは、サーバが、処理を実行可能なデバイスの情報をディスカバリ装置から取得し、処理速度、コスト、及びネットワークトラフィック等を判断材料にして、取得した情報の中から最も好適なデバイスを選択し、ワークフローを実行する。
この他に、特許文献2に記載されているシステムもある。このシステムでは、複数のタスクを連携して処理するワークフローを実行するときに、実行するユーザ毎に各タスクの実行パラメータ(例えば送信先のメールアドレス等)をカスタマイズして、ユーザに応じたワークフロージョブを実現する。
一方で、近年、多機能・高度化してきているデバイスの機能を使いやすいようにするために、デバイスの機能をユーザ毎にカスタマイズすることも求められるようになってきている。デバイスの機能をユーザ毎にカスタマイズする場合、ユーザは、自身の証明書や専用記憶領域等を、自身がよく使用するデバイスや、自身に最も近いデバイス等に設定する等、自身が使い易いように設定を行ってデバイスを使用することになる。
このように、ユーザによるデバイスの設定のカスタマイズが進んでくると、例えば、次のような環境が得られるようになる。すなわち、『ユーザAの証明書は、ユーザAの席に一番近いデバイスAに、ユーザBさんの証明書は、ユーザBの席に一番近いデバイスBに、ユーザAとユーザBの専用記憶領域は、最も大きな記憶領域を持つデバイスCに設定される』というような環境が得られる。
特開2006−195847号公報 特開2007−129580号公報
しかしながら、このようにユーザ毎にデバイスの設定が異なったり、デバイスで実行可能な処理が異なったりするようになると、ワークフロージョブを実行する場合に以下のような問題が発生する虞がある。
すなわち、前述した従来の技術では、ワークフローの処理を実行可能なデバイスを検索する場合、デバイスの機能に基づいてデバイスを選択することが前提となっている。そのため、前述した従来の技術では、検索されたデバイスはワークフローの処理を実行するための機能を備えていることになるが、当該ワークフローの実行を指示したユーザに対してその機能の利用が許可されていない虞がある。したがって、ユーザによってその機能を利用することができる場合とできない場合とが生じてしまう虞がある。さらに前述した従来の技術では、ユーザによる設定がデバイス毎に行われる。このため、ユーザに固有の設定に合わせてワークフローの処理を実行するためには、ある特定のデバイスでワークフローの処理を実行しなければならず、そのようにしないとワークフローの処理を正しく実行することができない虞があった。
本発明はこのような問題点に鑑み、複数のデバイスがユーザによる設定に応じてワークフローの処理を従来よりも容易に且つ確実に連携して実行できるようにすることを目的とする。
本発明のワークフロー実行装置は、複数のステップからなるワークフローをワークフロー定義に従って実行するワークフロー実行装置であって、前記ワークフローの実行を指示したユーザの設定情報であって、当該ワークフローの実行に関わる設定情報を取得する取得手段と、前記取得手段により取得された設定情報に基づいて、ユーザにより実行が指示されたワークフローに対応するワークフロー定義を変更する変更手段と、前記変更手段により変更されたワークフロー定義の内容に応じて、前記ワークフローの各ステップを実行するワークフロー実行装置を特定し、当該特定した結果に基づいて、前記変更手段により変更されたワークフロー定義を、当該ワークフロー定義を実行するワークフロー実行装置毎に分割する分割手段と、前記分割手段により分割されたワークフロー定義のうち、前記ワークフロー実行装置で実行されるワークフロー定義を実行する実行手段と、前記分割手段により分割されたワークフロー定義のうち、前記ワークフロー実行装置と異なる他のワークフロー実行装置で実行されるワークフロー定義を、当該他のワークフロー実行装置に送信する送信手段とを有することを特徴とする。
本発明のワークフロー実行方法は、複数のステップからなるワークフローをワークフロー定義に従って実行するワークフロー実行装置が行うワークフロー実行方法であって、前記ワークフローの実行を指示したユーザの設定情報であって、当該ワークフローの実行に関わる設定情報を取得する取得ステップと、前記取得ステップにより取得された設定情報に基づいて、ユーザにより実行が指示されたワークフローに対応するワークフロー定義を変更する変更ステップと、前記変更ステップにより変更されたワークフロー定義の内容に応じて、前記ワークフローの各ステップを実行するワークフロー実行装置を特定し、当該特定した結果に基づいて、前記変更ステップにより変更されたワークフロー定義を、当該ワークフロー定義を実行するワークフロー実行装置毎に分割する分割ステップと、前記分割ステップにより分割されたワークフロー定義のうち、前記ワークフロー実行装置で実行されるワークフロー定義を実行する実行ステップと、前記分割ステップにより分割されたワークフロー定義のうち、前記ワークフロー実行装置と異なる他のワークフロー実行装置で実行されるワークフロー定義を、当該他のワークフロー実行装置に送信する送信ステップとを有することを特徴とする。
本発明のコンピュータプログラムは、複数のステップからなるワークフローをワークフロー定義に従って実行することをワークフロー実行装置が備えるコンピュータに実行させるためのコンピュータプログラムであって、前記ワークフローの実行を指示したユーザの設定情報であって、当該ワークフローの実行に関わる設定情報を取得する取得ステップと、前記取得ステップにより取得された設定情報に基づいて、ユーザにより実行が指示されたワークフローに対応するワークフロー定義を変更する変更ステップと、前記変更ステップにより変更されたワークフロー定義の内容に応じて、前記ワークフローの各ステップを実行するワークフロー実行装置を特定し、当該特定した結果に基づいて、前記変更ステップにより変更されたワークフロー定義を、当該ワークフロー定義を実行するワークフロー実行装置毎に分割する分割ステップと、前記分割ステップにより分割されたワークフロー定義のうち、前記ワークフロー実行装置で実行されるワークフロー定義を実行する実行ステップと、前記分割ステップにより分割されたワークフロー定義のうち、前記ワークフロー実行装置と異なる他のワークフロー実行装置で実行されるワークフロー定義を、当該他のワークフロー実行装置に送信する送信ステップとをコンピュータに実行させることを特徴とする。
本発明によれば、複数のワークフロー実行装置がユーザの設定に応じてワークフローの処理を従来よりも容易に且つ確実に連携して実行することが可能になる。
(第1の実施形態)
以下に、図面を参照しながら、本発明の第1の実施形態について説明する。
<システム構成>
図1は、ワークフロー処理システムの全体構成の一例を示す図である。
図1において、ワークフロー処理システムは、画像形成装置110a、110b、110c、110dと、ユーザ認証サーバ120とを有する。画像形成装置110a、110b、110c、110dと、ユーザ認証サーバ120は、ネットワーク100を介して相互に通信可能に接続されている。尚、図1では、ワークフロー処理システムに画像形成装置110を4台設けた場合を例に挙げて示しているが、画像形成装置110の数は、これに限定されるものではない。
画像形成装置110は、例えば、デジタル複合機(MFP)である。画像形成装置110は、ワークフロー定義が記載されているワークフロー定義ファイルを保持する機能と、保持するワークフロー定義ファイルに記載されているワークフロー定義の内容を解析する機能とを有する。更に、画像形成装置110は、ワークフロー定義(ワークフロー定義ファイル)を更新する機能と、解析したワークフロー定義の内容に従い処理を実行する機能とを有している。
この他、画像形成装置110は、紙原稿を読み取るスキャン機能と、データの印刷を行うプリント機能と、データの送受信を行う送受信機能(FAX機能等)と、データの保存を行う保存機能と、データの操作を行う編集機能とを有する。
ユーザ認証サーバ120は、ユーザを認証するために必要なユーザ識別情報と、画像形成装置110の各項目(ワークフロー定義の実行に影響を与える項目)の設定情報であって、ユーザ毎の設定情報であるユーザ設定情報とを管理している。
<画像形成装置の構成>
図2は、画像形成装置110の構成の一例を示すブロック図である。
コントローラユニット200は、画像情報やデバイス情報の入出力を行うためのコントローラである。コントローラユニット200は、画像入力デバイスであるスキャナ240や画像出力デバイスであるプリンタ250と相互に接続されている。また、コントローラユニット200は、LAN221やWAN(公衆回線)222にも相互に接続される。
CPU201は、画像形成装置110のシステム全体を制御するコントローラである。RAM202は、CPU201が動作するためのシステムワークメモリであり、画像データを一時的に記憶するための画像メモリでもある。ROM203は、ブートROMであり、画像形成装置110のシステムのブートプログラムが格納されている。
HDD204は、ハードディスクドライブであり、システムソフトウェア、画像データ、ワークフロー定義ファイル等を格納する。操作部I/F206は、操作部(UI)230とのインタフェースとなり、操作部230に表示する画像データを操作部230に対して出力する。また、操作部I/F206は、画像形成装置110のユーザが操作部230を操作して入力した情報を、CPU201に伝える。ネットワーク処理部209は、LAN221と相互に接続され、LAN221を介して外部装置と情報の入出力を行う。モデム210は、WAN222と相互に接続され、WAN222を介して外部装置と情報の入出力を行う。以上のデバイスがシステムバス207上に配置される。
イメージバス(Image Bus)I/F205は、システムバス207と画像データを高速で転送する画像バス208とを相互に接続し、データ構造を変換するバスブリッジである。画像バス208は、PCIバス又はIEEE1394で構成される。画像バス208には、以下のデバイスが配置される。
ラスターイメージプロセッサ(RIP)212は、PDLコードをビットマップイメージに展開する。デバイスI/F213は、画像入出力デバイスであるスキャナ240やプリンタ250とコントローラユニット200とを相互に接続し、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部214は、スキャナ240等から入力された画像データに対し補正、加工、編集を行う。また、スキャナ画像処理部214は、スキャナ240等から入力された画像データが、カラー原稿及び白黒原稿の何れのデータであるかを、当該画像データの彩度信号等から判断し、その結果を保持する。
プリンタ画像処理部215は、プリンタ250等に出力する画像データに対して、補正、加工、編集を行う。画像回転部216は、スキャナ画像処理部214と連携して、スキャナ240から入力された画像データの読み出しと同時に当該画像データを回転してメモリに格納する。また、画像回転部216は、メモリにある画像を回転して当該メモリに格納したり、プリンタ画像処理部215と連携してメモリにある画像データを回転しながら印字出力したりすることができる。
解像度変換部218は、メモリにある画像データの解像度を変換して当該メモリに格納する。色空間変換部219は、マトリクス演算により、例えば、メモリにあるYUV画像をLab画像に変換して当該メモリに格納する。階調変換部220は、例えば、メモリにある8bit、256階調の画像データを、誤差拡散処理等の手法により1bit、2階調に変換して当該メモリに格納する。画像圧縮部217は、多値画像データを例えばJPEGに従って圧縮伸長し、2値画像データをJBIG、MMR、MR、又はMHに従って圧縮伸張する。
画像回転部216、解像度変換部218、色空間変換部219、階調変換部220、画像圧縮部217は、夫々連結して動作することが可能である。例えばメモリにある画像データの回転、解像度変換を行う場合には、これらの処理を、メモリを介さずに行うことができる。
図3は、画像形成装置110で実行されるワークフロー処理ソフトウェアの機能構成の一例を示すブロック図である。このワークフロー処理ソフトウェア(アプリケーションプログラム)は、HDD204に格納されており、RAM202に展開されてCPU201によって実行される。
図3において、ワークフロー処理ソフトウェア300は、大別すると、処理部310と、保存情報管理部320とを有している。
処理部310は、UI処理部311と、制御部312と、ワークフロー処理実行部313と、データ解析部314と、データ入出力部315、ワークフロー定義変更部316とを有している。
UI処理部311は、操作部I/F206を介して操作部230からの情報を受信する。また、UI処理部311は、操作部230へ情報を送信する。
データ入出力部315は、処理部310と保存情報管理部320との間で行われるデータの入出力を管理する。
データ解析部314は、ワークフロー定義ファイルの解析等を行う。
ワークフロー処理実行部313は、ワークフロー処理等の処理を行う。
ワークフロー定義変更部316は、ワークフロー定義の更新、変更、及び分割処理を行う。
制御部312は、UI処理部311、ワークフロー処理実行部313、データ解析部314、データ入出力部315、ワークフロー定義変更部で行われるこれらの処理を制御する。
保存情報管理部320は、ワークフロー定義ファイル情報格納部321と、ワークフロー定義テンポラリファイル情報格納部322とを管理する。ここで、ワークフロー定義ファイル情報格納部321は、ワークフロー定義が設定されたファイルであるワークフロー定義ファイルの情報を格納する。一方、ワークフロー定義テンポラリファイル情報格納部322は、ワークフロー定義変更部316によって生成されたテンポラリのワークフロー定義の情報を格納する。これらの情報の実体は、例えばHDD204に格納される。
図4は、画像形成装置110の操作部230の外観構成の一例を示す図である。尚、図4では、説明の便宜上、操作部230の外観構成を簡略化してしめしている。
図4において、操作部230は、キー入力部400とタッチパネル部420とを有する。図5は、キー入力部400(図5(a))とタッチパネル部420(図5(b))の外観構成の一例を詳細に示す図である。
図5(a)に示すキー入力部400は、定常的な操作設定を行うことができるキーの入力部分である。
操作部電源スイッチ403は、スタンバイモードとスリープモードとを切り替えるためにユーザにより操作されるスイッチである。画像形成装置110のシステム全体の電源供給を行う主電源スイッチがONの状態で、操作部電源スイッチ403の操作に基づく制御を行うことができる。ここで、スタンバイモードとは、通常動作状態である。スリープモードとは、コントローラユニット200がネットワークプリントやファクシミリ等に備えて割り込み待ちの状態であり、プログラムの実行を停止して、消費電力を抑えている状態である。
節電キー404は、スタンバイモード時の定着器の制御温度を下げるためにユーザにより操作されるキーである。節電キー404が操作されると、プリント可能な状態になるまでの時間は要するが、消費電力を抑えることができる。尚、節電率の設定により定着器の制御温度を下げることもできる。
スタートキー401は、コピーや送信等の開始を指示するためにユーザにより操作されるキーであり、ストップキー402は、コピーや送信等の中断を指示するためにユーザにより操作されるキーである。
テンキー410は、画像形成装置110の各種設定の置数を与えるためにユーザにより操作されるキーである。クリアキー414は、その置数を解除するためにユーザにより操作されるキーである。IDキー413は、画像形成装置110のユーザを認証するために、予め設定された暗証番号をユーザに入力させるためのキーである。
リセットキー407は、画像形成装置110の各種設定を無効にし、設定をデフォルトの状態に戻すためにユーザにより操作されるキーである。ヘルプキー408は、ガイダンスやヘルプをタッチパネル部420に表示させるためにユーザにより操作されるキーである。ユーザモードキー409は、ユーザ毎のシステム設定画面に移行するためにユーザにより操作されるキーである。
カウンタ確認キー405は、画像形成装置110内に設けてあるプリント枚数等をカウントするソフトカウンタに記憶されている出力済み枚数をタッチパネル部420に表示させるためにユーザにより操作されるキーである。本実施形態の画像形成装置110では、コピー/プリント/スキャン/ファックス等の動作モード、カラー/白黒といった色モード、ラージ/スモールといった紙サイズ等に応じて、夫々の出力済み枚数をタッチパネル部420に表示させることができる。
画像コントラストダイヤル406は、タッチパネル部420の液晶表示のバックライトを調光する等して、画面の見易さを調整するためにユーザにより操作されるダイヤルである。
実行/メモリランプ411は、ジョブが実行中であるときや、メモリへのアクセス中であるときに点滅し、それらをユーザに知らせるためのランプである。エラーランプ412は、ジョブの実行ができない場合や、サービスマンコール等が発生しエラーが生じた場合や、ジャムや消耗品切れ等をユーザに知らせるオペレータコール等が発生した場合に点滅し、それらをユーザに知らせるためのランプである。
図5(b)に示すタッチパネル部420は、LCD(Liquid Crystal Display:液晶表示部)と、LCDの上に貼られた"透明電極を備えたタッチパネルディスプレイ"とを有する。LCDに表示されるキー相当の部分の透明電極をユーザが指で触れると、タッチパネル部420は、それを検知し、検知した内容と予めプログラムされている内容とに従って、別の操作画面を表示する等、各種の表示を行う。図5(b)では、コピータブ501が選択されているときの画面の一例を示している。この画面に対するユーザの設定操作に応じて、タッチパネル部420は、様々な操作画面を表示することができる。
コピータブ501は、コピー動作の操作画面に遷移するためにユーザにより操作されるタブキーである。送信タブ502は、ファックスやE−mail送信等、送信(Send)動作を指示する操作画面に遷移するためにユーザにより操作されるタブキーである。ボックスタブ503は、ボックス(ユーザ毎にジョブを格納する記憶手段)にジョブを入出力するための画面に遷移するためにユーザにより操作されるタブキーである。オプションタブ504は、スキャナ設定やワークフロー処理機能等、拡張機能を追加・設定するためにユーザにより操作されるタブキーである。システムモニタキー519は、画像形成装置110の状態や状況を表示するためにユーザにより操作されるキーである。ユーザが各タブを選択することで、夫々のタブに応じた操作モードに画像形成装置110の操作モードを遷移させることができる。
色選択設定キー510は、カラーコピー、白黒コピー、又は自動選択かを予め選択するためにユーザにより操作されるキーである。倍率設定キー513は、等倍、拡大、縮小等の倍率設定を行う画面に遷移するためにユーザにより操作されるキーである。後処理設定キー514は、ステープルやパンチ等の後処理の有無、個数、位置等を設定する画面に遷移するためにユーザにより操作されるキーである。両面設定キー516は、片面印刷か両面印刷かを選択する画面に遷移するためにユーザにより操作されるキーである。紙サイズ設定キー517は、給紙段、紙サイズ、メディアタイプを選択する画面に遷移するためにユーザにより操作されるキーである。画像モード設定キー521は、文字モードや写真モード等、原稿画像に適した画像モードを選択するためにユーザにより操作されるキーである。濃度設定キー522は、出力画像を濃くしたり薄くしたり調整するためにユーザにより操作されるキーである。
ステータス表示部511は、スタンバイ状態、ウォームアップ中、ジャム、エラー等の簡易的な状態表示を行う表示部である。倍率表示部512は、倍率設定キー513で設定された倍率を表示する表示部である。紙サイズ表示部518は、紙サイズ設定キー517で設定された紙サイズやモードを表示する表示部である。枚数表示部523は、テンキー410で指定された枚数を表示したり、動作中に何枚目を印刷中かを表示したりする表示部である。
更に、割り込みキー515は、コピー動作中に別のジョブを割り込ませる場合にユーザにより操作されるキーである。応用モードキー520は、ページ連写、表紙・合紙設定、縮小レイアウト、画像移動等、様々な画像処理やレイアウト等の設定を行う画面に遷移するためにユーザにより操作されるキーである。
図6は、ワークフロー定義の内容と、そのワークフロー定義に基づくワークフローの処理を実行する画像形成装置(デバイス)の環境の一例を示す図である。
本実施形態では、図6(a)に示すように、2台の画像形成装置110a、110bが存在する環境で、図6(b)に示すワークフロー定義ファイル1を実行する場合を例に挙げて、処理の詳細な説明を行う。尚、以下では、必要に応じて、画像形成装置110a、110bを、夫々デバイス(1)、デバイス(2)と称する。
図6において、デバイス(1)、(2)は、夫々のワークフロー定義ファイル情報格納部321内にワークフロー定義ファイル1を保存している。また、デバイス(1)、(2)は、どちらもScan機能、署名付きPDF作成機能、及びメール送信機能の全てを有している。そして、デバイス(1)にはUserBのユーザ証明書が、デバイス(2)にはUserAのユーザ証明書が夫々登録されている。
図7は、ワークフロー定義ファイル1に基づくワークフローの処理を実行する際のデバイス(1)の処理の一例を説明するフローチャートである。図8は、ワークフローの処理に先立って、デバイス(1)(画像形成装置110a)のタッチパネル部420に表示される認証画面の一例を示す図である。
ユーザは、図8に示すような認証画面800に表示されている『ユーザID入力部801とパスワード入力部802』に、ユーザIDとパスワードを入力してOKボタン803を押下する。そうすると、ステップS701において、制御部312は、ユーザID及びパスワードを、ネットワーク処理部209を介してユーザ認証サーバ120に送信する。次に、ステップS702において、制御部312は、ユーザ認証サーバ120から受信した情報に基づいて、ユーザの認証に成功したか否かを判定する。尚、ユーザを認証する方式やプロトコルはどのようなものであってもよい。ユーザを認証する処理は、本発明とは関係ないため、ここではその詳細な説明を省略する。
この判定の結果、ユーザの認証に失敗した場合には、図7のフローチャートによる処理を終了する。一方、ユーザの認証に成功した場合には、ステップS703に進む。ステップS703に進むと、制御部312は、認証されたユーザの情報をRAM202等に記憶する。
図9は、ユーザ認証サーバ120でユーザの情報を管理するために使用される管理テーブルの一例を示す図である。ユーザの認証に成功した場合、制御部312は、ユーザ認証サーバ120から、ユーザの情報として、ユーザのメールアドレス情報と、ユーザの証明書が保持されている画像形成装置110(デバイス)の情報とを、ステップS702の判定の前に取得する。
以上のように本実施形態では、例えば、ユーザの情報により、設定情報の一例が実現される。そして、例えば、ステップS702、S703の処理を実行することにより、取得手段の一例が実現される。
次に、ステップS704において、UI処理部311は、認証されたユーザに対して、デバイス(1)のワークフロー定義ファイル情報格納部321に保存されているワークフロー定義ファイルの情報の一覧を、タッチパネル部420に表示する。
次に、ステップS705において、UI処理部311は、ステップS704で表示されたワークフロー定義ファイル情報の一覧の中からユーザから指示されたワークフロー定義ファイルを特定する。ここでは、ユーザID「UserA」で認証されたユーザが、ワークフロー定義ファイル1の実行を指示した場合を例に挙げて説明する。
次に、ステップS706において、データ入出力部315は、ステップS705で特定されたワークフロー定義ファイルを、ワークフロー定義ファイル情報格納部321から取得する。ここでは、ワークフロー定義ファイル1が設定されたワークフロー定義ファイルが取得される。そして、ワークフロー定義変更部316は、制御部312からの指示によって、ワークフロー定義ファイル1が設定されたワークフロー定義ファイルのコピーを作成する。その後、データ入出力部315は、ワークフロー定義ファイル1のコピーを、ワークフロー定義テンポラリファイル情報格納部322に格納する。
以上のように本実施形態では、例えば、ステップS706の処理を行うことにより複製手段の一例が実現される。
次に、ステップS707において、ワークフロー定義変更部316は、ワークフロー処理システム全体でユニークな識別子を生成して、ステップS706で作成した(複製された)ワークフロー定義ファイル1に、生成した識別子を付与する。
次に、ステップS708において、データ解析部314及びワークフロー定義変更部316は、ステップS703で記憶されたユーザの情報を、ステップS707で識別子を付与したワークフロー定義ファイルに反映して、ワークフロー定義ファイルを更新する。ここでは、認証されたユーザはUserAである。このUserAの情報として、メールアドレス「user_a@xxx.xxx.xx.xx」と、ユーザ証明書がある画像形成装置「デバイス(2)(IP:XXX.XXX.XXX.XXX)」とがRAM202等に記憶されている。また、ワークフロー定義ファイル1では、「Scan」、「ユーザ署名付きPDF作成」、「PDFをメールに添付して自分に送信」という3つのステップからワークフロー定義が構成されている。そこで、データ解析部314は、ユーザ署名付きPDFを作成するためにはユーザ署名が存在するデバイスでの処理が必要であることと、メールの送信先となるアドレスはUserAのメールアドレスとなることとを判断する。以上のことを勘案して、ワークフロー定義変更部316は、図6(b)に示したワークフロー定義ファイル1を、図10に示すワークフロー定義ファイル1001に変更する。
以上のように本実施形態では、例えば、ステップS708の処理を行うことにより変更手段の一例が実現される。
次に、ステップS709において、データ解析部314及びワークフロー定義変更部316は、ワークフロー定義ファイルを複数に分割して、ステップS708で変更したワークフロー定義ファイル1001を複数に分割するワークフロー分割処理を実行する。このワークフロー分割処理の詳細については、図11のフローチャートを参照しながら後述する。
次に、ステップS710において、制御部312は、ステップS709の結果に基づいて、他のデバイス(デバイス(2))でワークフローの処理が実行されるか否かを判定する。この判定の結果、他のデバイスでワークフローの処理が実行されない場合には、ステップS711、S712を省略して後述するステップS713に進む。一方、他のデバイスでワークフローの処理が実行される場合には、ステップS711に進む。
ステップS711に進むと、制御部312は、ステップS709で分割されたワークフロー定義ファイルの少なくとも1つを、ネットワーク処理部209を介して、当該ワークフロー定義ファイルに基づくワークフローを実行するデバイスに送信する。ここでは、ステップS709で分割されたワークフロー定義ファイルのうち、デバイス(2)で実行されるワークフロー定義が設定されたワークフロー定義ファイルが、デバイス(2)に送信される。
以上のように本実施形態では、例えば、ステップS711の処理を行うことにより送信手段の一例が実現される。
次に、ステップS712において、制御部312は、ステップS709の結果に基づいて、自身(デバイス(1))がワークフローの処理を実行するか否かを判定する。この判定の結果、自身がワークフローの処理を実行しない場合には、ステップS713を省略して、図7のフローチャートによる処理を終了する。一方、自身がワークフローの処理を実行する場合には、ステップS713に進む。
ステップS713に進むと、ワークフロー処理実行部313は、ステップS709で分割されたワークフロー定義ファイルのうち、デバイス(1)で実行するワークフロー定義が設定されたワークフロー定義ファイルに従って、ワークフローの処理を実行する。具体的に、Scan処理で生成された画像データをデバイス(2)にワークフロージョブとして送信する処理が実行される。尚、ワークフロー処理実行部313は、ワークフローの処理を実行することにより得られたワークフロージョブの属性に、ステップS707で生成された識別子と同じ識別子を付与する。そして、図7のフローチャートによる処理を終了する。
以上のように本実施形態では、例えば、ステップS713の処理を行うことにより実行手段の一例が実現される。
次に、図11のフローチャートを参照しながら、ステップS708のワークフロー分割処理の一例を詳細に説明する。
まず、ステップS1001において、データ解析部314は、ステップS708で変更したワークフロー定義ファイル1001におけるステップを先頭から順番に1つ選択する。
次に、ステップS1002において、データ解析部314は、ステップS1001で選択したステップの処理を実行できるデバイスを1つ以上特定する。尚、ここでは、ステップS1001で選択したステップを実行できるデバイスが1つも存在しない場合は想定しない。すなわち、ここでは、ユーザが、そのようなワークフロー定義を選択し得ないことを前提として説明する。
次に、ステップS1003において、データ解析部314は、ステップS1002で特定したデバイスに対して、ステップS1001で選択したステップの処理を実行することが可能かどうかを問い合わせる。
次に、ステップS1004において、データ解析部314は、ステップS1003における問い合わせの結果に基づいて、ステップS1002で特定したデバイスが、ステップS1001で選択したステップの処理を実行することが可能かを判定する。この判定の結果、実行することが可能でない場合には、後述するステップS1013に進む。一方、実行することが可能である場合には、ステップS1005に進む。
ステップS1005に進むと、データ解析部314は、ステップS1002で特定したデバイスを、実行可能デバイスの候補として、そのデバイスの情報を一時的にRAM202等に記憶する。
次に、ステップS1006において、データ解析部314は、ステップS1002で特定されたデバイスが他に存在するか否かを判定する。この判定の結果、デバイスが他にも存在する場合には、ステップS1003へ戻る。一方、デバイスが他に存在しない場合には、ステップS1007に進む。
ステップS1007に進むと、データ解析部314は、ステップS708で変更したワークフロー定義ファイル1001におけるステップを全て選択したか否かを判定する。この判定の結果、ワークフロー定義ファイル1001におけるステップを全て選択していない場合には、ステップS1001に戻り、次のステップが選択される。一方、ワークフロー定義ファイル1001におけるステップを全て選択した場合には、ステップS1008に進む。
UserAが、ワークフロー定義ファイル1をデバイス(1)に実行させようとした場合には、以下のようにして各ステップに対する判定処理が実行される。
まず、ステップS1001において、データ解析部314は、「Scan」のステップを選択する。次に、ステップS1002において、データ解析部314は、処理を開始するデバイスのみでScan処理を実行することが可能であることを判断材料にして、デバイス(1)のみを特定する。そして、ステップS1004において、データ解析部314は、デバイス(1)でScanを実行することが可能であるか否かを判定する。デバイス(1)
はScanを行うことが可能であるため、ステップS1005において、データ解析部314は、Scanの実行可能デバイスの候補としてデバイス(1)の情報を保持する。
そして、ここではデバイス(1)のみが特定されており、ワークフロー定義ファイル1で未選択のステップがある。よって、ステップS1006、S1007を経由してステップS1001に戻り、データ解析部314は、「ユーザ署名付きPDF作成」ステップを選択する。次に、ステップS1002において、データ解析部314は、UserAの証明書がデバイス(2)に存在していることを判断材料にして、デバイス(2)のみを特定する。そして、ステップS1004において、データ解析部314は、デバイス(2)で、ユーザ署名付きのPDFデータを作成することが可能であるか否かを判定する。デバイス(2)は、UserAのユーザ署名付きのPDFデータを作成することが可能である。このため、ステップS1005において、データ解析部314は、UserAのユーザ署名付きのPDFデータの作成が実行可能デバイスの候補としてデバイス(2)の情報を保持する。
そして、ここではデバイス(2)のみが特定されており、ワークフロー定義ファイル1で未選択のステップがあるので、ステップS1006、S1007を経由してステップS1001に戻る。そして、データ解析部314は、「PDFをメールに添付して自分に送信」ステップを選択する。次に、ステップS1002において、データ解析部314は、デバイス(1)、(2)で、電子メールの送信が可能であることを判断材料にして、デバイス(1)、(2)を特定する。そして、ステップS1004において、データ解析部314は、デバイス(1)で、ユーザ署名付きのPDFデータを添付して電子メールを送信することが可能であるか否かを判定する。デバイス(1)は、UserAのユーザ署名付きのPDFデータを添付して電子メールをアドレス「user_a@xxx.xxx.xx.xx」に送信することが可能である。このため、ステップS1005において、データ解析部314は、UserAのユーザ署名付きのPDFデータを添付して電子メールの送信が実行可能デバイスの候補としてデバイス(1)の情報を保持する。
そして、ここでは、デバイス(1)の他にデバイス(2)が特定されているので、ステップS1006からステップS1003に戻る。そして、ステップS1005において、データ解析部314は、UserAのユーザ署名付きのPDFデータを添付して電子メールの送信が実行可能デバイスの候補としてデバイス(2)の情報も保持する。
以上のようにしてステップS1007において、ワークフロー定義ファイル1で未選択のステップがなくなったと判定されると、ステップS1008に進む。
ステップS1008に進むと、ワークフロー定義変更部316は、ステップS1007までにチェックされた結果を利用して、ワークフロー定義ファイル1の各ステップにおける『実行可能デバイスの候補』を作成する。前述した例では、「Scan」、「ユーザ証明書でユーザ署名付きPDF作成」、及び「PDFをメールに添付して自分に送信」の各ステップにおける『実行可能デバイスの候補』として次の候補が作成される。すなわち、「デバイス(1)−デバイス(2)−デバイス(1)」の組み合わせと「デバイス(1)−デバイス(2)−デバイス(2)」の組み合わせとが作成される。
ステップS1009に進むと、ワークフロー定義変更部316は、ステップS1008で作成された候補に基づいて、ワークフローの処理を実行するデバイスの変更が何回発生するのかをチェックする。そして、ワークフロー定義変更部316は、チェックした結果に基づいて、ステップS1008で作成された候補のうち、ワークフロー定義ファイルの分割数が最も少ない組み合わせを特定する。前述した例では、「デバイス(1)−デバイス(2)−デバイス(2)」の組み合わせが特定される。
次に、ステップS1010において、ワークフロー定義変更部316は、ステップS1009で特定された候補が、デバイスの組み合わせでなく、1つのデバイスからなるか否かを判定する。この判定の結果、ステップS1009で特定された候補が、1つのデバイスからなる場合には、ステップS1011〜S1013を省略して図11のフローチャートによる処理を終了し、図7のステップS710に進む。一方、ステップS1009で特定された候補が、デバイスの組み合わせからなる場合には、ステップS1011に進む。
尚、ユーザがワークフローの実行を指示したデバイス(デバイス(1))が、ワークフロー定義の少なくとも1つのステップの処理を実行できることを前提としている場合には、ステップS1010で次のような判定を行ってもよい。すなわち、ワークフロー定義変更部316は、ステップS1009で特定された候補の中に、デバイス(1)以外のデバイスを含んでいるか否かを判定してもよい。そして、この判定の結果、ステップS1009で特定された候補の中に、デバイス(1)以外のデバイスを含んでいる場合にはステップS1011に進み、含んでいない場合には、図7のステップS710に進む。言い換えると、デバイス(1)で実行することができないステップが、ワークフロー定義の中にある場合には、ステップS1011に進み、そうでない場合には、図7のステップS710に進む。このようにした場合、本実施形態では、例えば、ステップS1009の処理を実行することにより、第3の判定手段の一例が実現される。
ステップS1011に進むと、ワークフロー定義変更部316は、ステップS1009で特定された組み合わせに基づいて、ワークフローの処理を実行するデバイスの変更箇所で、ワークフロー定義ファイル1におけるワークフロー定義を分割する。これにより、ワークフロー定義ファイル1が設定されたワークフロー定義ファイルが、ワークフローの処理を実行するデバイス毎に、複数のワークフロー定義ファイルに分割される(複数のファイルが生成される)。尚、分割されたワークフロー定義ファイルの夫々には、図7ステップS707で生成された識別子が付与される。尚、本実施形態では、図7のステップS707で識別子を生成したが、例えば、このステップS1011の後に識別子を生成してもよい。
以上のように本実施形態では、例えば、ステップS1008〜S1011の処理を行うことにより分割手段の一例が実現される。
次に、ステップS1012において、ワークフロー定義変更部316は、ステップS1011で分割されたワークフロー定義ファイルを相互に結びつけるための送受信処理を、当該ワークフロー定義ファイルに追加してワークフロー定義ファイルを更新する。これにより、分割されたワークフロー定義に基づく処理が連結される。図12は、更新後のワークフロー定義ファイルの一例を概念的に示す図である。図12(a)は、デバイス(1)で実行されるワークフロー定義ファイル1201の一例を示し、図12(b)は、デバイス(1)で実行されるワークフロー定義ファイル1202の一例を示す図である。
以上のように本実施形態では、例えば、ステップS1012の処理を行うことにより追加手段の一例が実現される。
次に、ステップS1013において、ワークフロー定義変更部316は、ステップS706で付与された識別子を、ステップS1012で更新された分割後のワークフロー定義ファイルの夫々に付与する。これにより、分割後のワークフロー定義ファイルの夫々に、分割前のワークフロー定義ファイルに付与された識別子と同じ識別子が共通の識別子として付与される。そして、図11のフローチャートによる終了し、図7のステップS710に進む。
以上のように本実施形態では、例えば、ステップS1013の処理を行うことにより設定手段の一例が実現される。
前記ステップS1004において、ステップS1002で特定したデバイスが、ステップS1001で選択したステップの処理を実行することが可能でないと判定されると、ステップS1014に進む。ステップS1014に進むと、データ解析部314は、ステップS1002で特定されたデバイスが他にあるか否かを判定する。この判定の結果、このようなデバイスがある場合には、ステップS1003に戻る。一方、このようなデバイスがない場合には、ステップS1015に進む。ステップS1015に進むと、データ解析部314は、ワークフローの処理を実行できないことを示す画像をタッチパネル部420に表示する等して、ワークフローの処理を実行できないことをユーザに通知する。この場合には、エラー終了となる。
以上のように本実施形態では、例えば、ステップS1004、S1014の処理を行うことにより第2の判定手段の一例が実現される。
次に、図13のフローチャートを参照しながら、ワークフロー定義ファイル1に基づくワークフローの処理を実行する際のデバイス(2)の処理の一例を説明する。
まず、ステップS1201において、制御部312は、図7のステップS711でデバイス(1)から送信されたワークフロー定義ファイルを、ネットワーク処理部209を介して取得する。そして、データ入出力部315は、そのワークフロー定義ファイルを、ワークフロー定義テンポラリファイル情報格納部322に保存する。
次に、ステップS1202において、制御部312は、デバイス(1)から送信されたワークフロージョブがネットワーク処理部209で受信されるまで待機する。このワークフロージョブは、図7のステップS711でワークフローの処理が実行されることにより得られるものである。そして、ワークフロージョブの受信を検知すると、ステップS1203に進む。
ステップS1203に進むと、データ解析部314は、受信したワークフロージョブから識別子を取り出す。
次に、ステップS1204において、データ解析部314は、ステップS1203で取り出された識別子と同じ識別子を含むワークフロー定義ファイルが、ワークフロー定義テンポラリファイル情報格納部322内に存在するか否かを判定する。この判定の結果、ステップS1203で取り出された識別子と同じ識別子を含むワークフロー定義ファイルが存在する場合には、ステップS1205に進む。
ステップS1205に進むと、ワークフロー処理実行部313は、ステップS1203で取り出された識別子と同じ識別子を含むワークフロー定義ファイルに設定されているワークフロー定義に従ってワークフローの処理を実行する。そして、図13のフローチャートによる処理を終了する。
一方、ステップS1203で取り出された識別子と同じ識別子を含むワークフロー定義ファイルが存在しない場合には、ステップS1206に進む。ステップS1206に進むと、制御部312は、ワークフロージョブの送信元であるデバイス(1)に対して、処理を行うことができない旨を通知する。そして、図13のフローチャートによる処理を終了する。
尚、前述した具体例では、UserAが、ワークフロー定義ファイル1をデバイス(1)に実行させようとした場合を説明した。しかしながら、図7、図11、図13に示した処理と同じ処理を行うことで、UserAが、ワークフロー定義ファイル1をデバイス(2)に実行させることもできる。この場合、図11のステップS1008において、「Scan」、「ユーザ証明書でユーザ署名付きPDF作成」、及び「PDFをメールに添付して自分に送信」の各ステップにおける『実行可能デバイスの候補』として次の組み合わせが作成される。すなわち、「デバイス(2)−デバイス(2)−デバイス(1)」と「デバイス(2)−デバイス(2)−デバイス(2)」とが作成される。
そして、ステップS1009において、「デバイス(2)−デバイス(2)−デバイス(2)」が特定される。この場合、全てデバイス(2)で実行する組み合わせとなるため、ステップS1010において、候補が1つのデバイスのみと判定される。そのため、ステップS1011〜S1013の処理を行わない。更に、分割したワークフロー定義が存在しないため、ステップS710からステップS713に進んで全てのワークフローの処理が実行されて、処理が終了する。
以上のように本実施形態では、デバイス(画像形成装置110)は、ワークフロー定義の実行を指示したユーザの情報を、ユーザ認証サーバ120から取得し、そのユーザの情報が反映されるように、ワークフロー定義を変更する。そして、変更したワークフロー定義を、ワークフローの処理を実行するデバイスが変更される箇所で切り離して複数に分割して複数のファイルに個別に格納することにより、ワークフロー定義をワークフロー実行装置毎に分割する。更に、分割した複数のワークフロー定義を相互に結びつけるために、当該複数のワークフロー定義を補足する。このようにして得られた複数のワークフロー定義に従って画像形成装置110は、ワークフローの処理を実行する。
したがって、ユーザが設定している情報やデバイスの能力といった情報に応じて、ワークフローの処理の実行時に、ワークフロー定義ファイルの実行内容を、適切に判断して更新することができる。これにより、各ユーザが夫々のデバイスでワークフロー定義を実行した場合の全てのパターンを想定してワークフロー定義を準備しておく必要がなくなる。よって、複数のデバイスがワークフローの処理を連携して実行するに際し、ユーザの設定をデバイス毎に行わなくても、当該ワークフローの処理をユーザによる設定に応じて実行できる。また、実行できるデバイスの機能がユーザによって異なる場合でも、ワークフローの処理をユーザによる設定に応じて実行できる。以上のように、本実施形態では、どのデバイスからユーザがワークフローの実行を指示しても、複数のデバイスが、ユーザに固有の設定を反映させて容易に且つ確実にワークフローの処理を連携して実行することができる。
更に、ユーザが設定を変更した場合であっても、元のワークフロー定義ファイルには変更が生じないため、メンテナンスも非常に楽になる。また、各ユーザの設定情報等に関係なく元のワークフロー定義ファイルを更新することができるため、メンテナンスが楽になり、ユーザ間でワークフロー定義ファイルの不整合がおきてしまうような可能性を低くすることができる。
また、本実施形態では、ワークフロー定義を分割するに際し、ワークフローの処理を実行する画像形成装置110が変更される回数が少なくなるようにしたので、ワークフローの処理を効率よく行うことができる。
尚、本実施形態では、デバイスの実行能力を把握していないことを前提に説明しているため、ワークフロー定義の各ステップの処理を実行することが可能かどうかをデバイスに問い合わせるようにした(図11のステップS1003)。しかしながら、必ずしもこのようにする必要はない。例えば、各デバイスが最初から他のデバイスの能力を把握し、このような問い合わせを行わないようにしてもよい。
また、本実施形態では、デバイス間のデータ送受信を、分割された各ワークフロー定義を相互に結びつけるためのワークフロー処理として補足する場合を例に挙げて説明した(図11のステップS1011)。しかしながら、補足する内容はこのようなものに限定されない。例えば、処理完了後に処理結果を依頼元のデバイスに通知する補足処理を追加しても問題ない。
更に、本実施形態では、ワークフロー定義を分割した後、ワークフローの処理を実行する前に(図7のステップS711で)、分割したワークフロー定義を、当該ワークフロー定義に従ってワークフローの処理を実行するデバイスに送信するようにした。しかしながら、ワークフロー定義を送信するタイミングはこのようなものに限定されない。例えば、ワークフロージョブを送信するタイミングで当該ワークフロージョブと一緒にワークフロー定義をデバイスに送信するようにしてもよい。
尚、前述したように本実施形態では、図11のステップS1002において、ステップS1001で選択されたステップの処理を実行できるデバイスを1つ以上特定するときに、当該ステップの処理を実行できるデバイスが1つも存在しない場合を想定している。すなわち、事前にワークフローをチェックすること等を想定している。
例えば、図7のステップS703において、当該ユーザのユーザ証明書を保持しているデバイスの情報がユーザの情報として取得できなった場合には、次のようにすればよい。すなわち、ステップS704の実行時に、ユーザ証明書を使用するワークフロー定義を、ユーザに提示するワークフロー定義の一覧から削除すればよい。例えば、図6に示した環境において、UserCが認証された場合には、UserCのユーザ証明書を使用するワークフロー定義を、UserCに提示するワークフロー定義の一覧から削除することになる。この他、ステップS708において、複製したワークフロー定義にユーザの情報を反映させる際に、反映させるための情報がないと判断し、エラーとしてもよい。また、Scan機能(スキャナ機能)を有していないデバイスについては、Scanで開始されるワークフロー定義を適用しないようにすることができる。更に、Scanで開始されるワークフロー定義をワークフロー定義の一覧から削除したり、複製したワークフロー定義にユーザの情報を反映させる際にエラーとしたりすることができる。
以上のように、処理することができないワークフロー定義を、ワークフロー定義を分割する前に判断して、エラー等にすることによって、無駄な処理を省略することが可能となる。
また、本実施形態では、ステップS708において、ステップS703で記憶されたユーザの情報を使って、ワークフロー定義を変更するようにしたが(図10を参照)、次のようにしてもよい。すなわち、ユーザの情報に加えて、デバイス(1)、(2)の能力に関する情報を使うようにしてもよい。このようにする場合、ステップS708の処理を行う前に、デバイスの能力に関する情報を、デバイスやサーバから取得することになる。
また、ユーザの情報は、図9に示すものに限定されない。ユーザの情報としては、ユーザによる設定が行われているデバイスを特定する情報と、ユーザが通常使用する設定となっているデバイスを特定する情報とのうち、少なくとも何れか一方を含むようにすることができる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。前述した第1の実施形態では、ワークフロー定義ファイルを分割し、分割した各ワークフロー定義を個別に複数のファイルに格納するようにした。これに対し、本実施形態では、ワークフロー定義ファイルを分割せずにワークフロー定義を分割するようにしている。このように本実施形態と前述した第1の実施形態とは、ワークフロー定義を分割する際の処理の一例が主として異なる。したがって、本実施形態の説明において、第1の実施形態と同一の部分については、図1〜図13に付した符号と同一の符号を付すこと等により、詳細な説明を省略する。
図14は、ワークフロー定義の内容と、そのワークフロー定義に基づくワークフローの処理を実行する画像形成装置(デバイス)の環境の一例を示す図である。本実施形態では、図14(a)に示すように、2台の画像形成装置110a、110bが存在する環境で、図14(b)に示すワークフロー定義ファイル2を実行する場合を例に挙げて、処理の詳細な説明を行う。尚、以下では、必要に応じて、画像形成装置110a、110bを、夫々デバイス(1)、デバイス(2)と称する。また、図15は、ユーザ認証サーバ120でユーザの情報を管理するために使用される管理テーブルの一例を示す図である。本実施形態では、例えば、このユーザの情報により、設定情報の一例が実現される。尚、本実施形態においても、ユーザの情報は、図15に示すものに限定されない。ユーザの情報としては、ユーザによる設定が行われているデバイスを特定する情報と、ユーザが通常使用する設定となっているデバイスを特定する情報とのうち、少なくとも何れか一方を含むようにすることができる。
図15において、UserAのユーザ専用の保存領域は、デバイス(1)のBox-AというBoxであり、UserAのユーザ専用のアドレス帳は、デバイス(2)のAというアドレス帳であることがユーザ情報として管理テーブルで管理されている。
ここで、デバイス(1)が保持しているBox-Aに対しては、どのデバイスからでも直接データの保存を実行することができる。また、どのデバイスからでもアドレス帳Aの宛先データを参照できる。しかしながら、宛先データを使用して送信する処理はアドレス帳が存在するデバイスでのみで実行することが可能であるとする。
次に、図16のフローチャートを参照しながら、ワークフロー定義ファイル2に基づくワークフローの処理を実行する際のデバイス(1)の処理の一例を説明する。
図16において、ステップS1401〜S1404では、図7のステップS701〜S704と同様にして処理が行われ、ワークフロー定義ファイル情報格納部321に保存されているワークフロー定義ファイルの情報の一覧が、タッチパネル部420に表示される。このように本実施形態では、例えば、ステップS1402、S1403の処理を実行することにより、取得手段の一例が実現される。
次に、ステップS1405において、UI処理部311は、ワークフロー定義ファイルの情報の一覧において、ワークフローの実行のために使用されるパラメータがユーザによって指定されると、そのパラメータを所得する。例えば、UserAが、ワークフロー定義ファイルの情報の一覧の中から、ワークフロー定義ファイル2を指定するときに、UserAのアドレス帳Aの4番のアドレスに、PDFデータが添付されたメールを送信することを指定したとする。この場合、UserAのアドレス帳Aの4番が、パラメータとなる。このように本実施形態では、例えば、このパラメータの情報により、設定情報の一例が実現される。尚、このパラメータの情報のみで設定情報を実現するようにしてもよい。
次に、ステップS1406において、UI処理部311は、ワークフロー定義ファイル情報の一覧の中からユーザから指示されたワークフロー定義ファイルを特定する。ここでは、UserAが、ワークフロー定義ファイル2の実行を指示するので、ワークフロー定義ファイル2が特定される。
次に、ステップS1407において、データ入出力部315は、ステップS1406で特定されたワークフロー定義ファイル2を、ワークフロー定義ファイル情報格納部321から取得する。そして、ワークフロー定義変更部316は、制御部312からの指示によって、ワークフロー定義ファイル2が設定されたワークフロー定義ファイルのコピーを作成する。その後、データ入出力部315は、ワークフロー定義ファイル2のコピーを、ワークフロー定義テンポラリファイル情報格納部322に格納する。
以上のように本実施形態では、例えば、ステップS1407の処理を行うことにより複製手段の一例が実現される。
次に、ステップS1408において、ワークフロー定義変更部316は、ワークフロー処理システム全体でユニークな識別子を生成して、ステップS1407で作成した(複製された)ワークフロー定義ファイル2に、生成した識別子を付与する。
次に、ステップS1409において、データ解析部314及びワークフロー定義変更部316は、ワークフロー定義ファイルを更新する。本実施形態では、ステップS1403で記憶されたユーザの情報と、ステップS1405で取得されたワークフロー実行パラメータとが、ワークフロー定義ファイルに反映される。図17は、ユーザの情報とワークフロー実行パラメータとが反映されるように変更されたワークフロー定義ファイル1701の一例を示す図である。
以上のように本実施形態では、例えば、ステップS1409の処理を行うことにより変更手段の一例が実現される。
次に、ステップS1410において、データ解析部314及びワークフロー定義変更部316は、ステップS1409で変更したワークフロー定義ファイル1701を複数に分割するワークフロー分割処理を実行する。このワークフロー分割処理の詳細については、図18のフローチャートを参照しながら後述する。
次に、ステップS1411において、制御部312は、ステップS1410の結果に基づいて、自身(デバイス(1))がワークフローの処理を実行するか否かを判定する。この判定の結果、自身がワークフローの処理を実行しない場合には、ステップS1412を省略して、後述するステップS1413に進む。一方、自身がワークフローの処理を実行する場合には、ステップS1412に進む。
次に、ステップS1412において、ワークフロー処理実行部313は、ステップS1410で分割されたワークフロー定義のうち、デバイス(1)で実行するワークフロー定義に従って、ワークフローの処理を実行する。ここで、ワークフロー処理実行部313は、ワークフローの処理を実行することにより得られたワークフロージョブの属性に、ステップS1408で生成された識別子と同じ識別子を付与する。
以上のように本実施形態では、例えば、ステップS1412の処理を行うことにより実行手段の一例が実現される。
次に、ステップS1413において、データ解析部314は、ステップS1410で得られたワークフロー定義に基づいて、ワークフロージョブを送信するか否かを判定する。この判定の結果、ワークフロージョブを送信しない場合には、図16のフローチャートによる処理を終了する。一方、ワークフロージョブを送信する場合には、ステップS1414に進む。ステップS1414に進むと、制御部312は、ワークフロージョブを、ステップS1410で分割された複数のワークフロー定義を含むワークフロー定義ファイルと一緒に、当該ワークフロージョブの送信先であるデバイスに送信する。そして、図16のフローチャートによる処理を終了する。
以上のように本実施形態では、例えば、ステップS1414の処理を行うことにより送信手段の一例が実現される。
次に、図18のフローチャートを参照しながら、ステップS1410のワークフロー分割処理の一例を詳細に説明する。本実施形態では、第1の実施形態とは異なり、各デバイスが、他のデバイスで実行できる能力を先に取得して把握している場合を例に挙げて説明する。
まず、ステップS1601において、データ解析部314は、ステップS1409で変更したワークフロー定義ファイル1701におけるステップを先頭から順番に1つ選択する。
次に、ステップS1602において、データ解析部314は、ステップS1601で選択したステップの処理を実行できるデバイスを1つ以上特定する。
次に、ステップS1603において、データ解析部314は、ステップS1602で特定したデバイスを、実行可能デバイスの候補として、そのデバイスの情報を一時的にRAM202等に記憶する。
次に、ステップS1604において、データ解析部314は、ステップS1409で変更したワークフロー定義ファイル1701におけるステップを全て選択したか否かを判定する。この判定の結果、ワークフロー定義ファイル1701におけるステップを全て選択していない場合には、ステップS1601に戻り、次のステップが選択される。一方、ワークフロー定義ファイル1701におけるステップを全て選択した場合には、ステップS1605に進む。
ステップS1605に進むと、ワークフロー定義変更部316は、ステップS1604までにチェックされた結果を利用して、ワークフロー定義ファイル2の各ステップにおける『実行可能デバイスの候補』を作成する。ここでは、「Scan」「ユーザ署名付きPDF作成」、「PDFを自分のアドレス帳の指定された番号の宛先に送信」、「PDFを自分専用のBoxに保存」の各ステップにおける『実行可能デバイスの候補』として次の候補が作成される。すなわち、「デバイス(1)−デバイス(2)−デバイス(2)−デバイス(1)」の組み合わせと「デバイス(1)−デバイス(2)−デバイス(2)−デバイス(2)」の組み合わせとが作成される。
次に、ステップS1606に進むと、ワークフロー定義変更部316は、ステップS1605で作成された候補のうち、ワークフロー定義の分割数が最も少ない候補を特定する。前述した例では、「デバイス(1)−デバイス(2)−デバイス(2)−デバイス(2)」の組み合わせが特定される。
次に、ステップS1607において、ワークフロー定義変更部316は、ステップS1606で特定された候補が、デバイスの組み合わせでなく、1つのデバイスからなるか否かを判定する。この判定の結果、ステップS1606で特定された候補が、1つのデバイスからなる場合には、ステップS1608〜S1609を省略して図18のフローチャートによる処理を終了し、図16のステップS1411に進む。一方、ステップS1606で特定された候補が、デバイスの組み合わせからなる場合には、ステップS1608に進む。
ステップS1608に進むと、ワークフロー定義変更部316は、ワークフロー定義ファイルに含まれるワークフロー定義を分割する。本実施形態では、ワークフロー定義ファイルをファイルとして分割せずに、ステップS1607で特定された組み合わせに基づいて、ワークフローの処理を実行するデバイスの変更箇所で、ワークフロー定義ファイル内でワークフロー定義を分割する。
以上のように本実施形態では、例えば、ステップS1605〜S1608の処理を行うことにより分割手段の一例が実現される。
次に、ステップS1609において、ワークフロー定義変更部316は、ステップS1608で分割されたワークフロー定義を相互に結びつけるための送受信処理を、当該ワークフロー定義に追加してワークフロー定義ファイルを更新する。これにより、分割されたワークフロー定義に基づく処理が連結される。そして、図18のフローチャートによる終了し、図16のステップS1411に進む。
以上のように本実施形態では、例えば、ステップS1609の処理を行うことにより追加手段の一例が実現される。
図19は、更新後のワークフロー定義ファイル1901の一例を概念的に示す図である。
次に、図20のフローチャートを参照しながら、ワークフロー定義ファイル2に基づくワークフローの処理を実行する際のデバイス(2)の処理の一例を説明する。
まず、ステップS1801において、制御部312は、図16のステップS1413でデバイス(1)から送信されたワークフロージョブが、ネットワーク処理部209で受信されるまで待機する。そして、ワークフロージョブが受信されると、ステップS1802に進む。
次に、ステップS1802において、データ解析部314は、受信したワークフロージョブから識別子を取り出す。
次に、ステップS1803において、制御部312は、ワークフロージョブと同時に受信されたワークフロー定義ファイルを取得する。
次に、ステップS1804において、データ解析部314は、ステップS1803で取得したワークフロー定義ファイルの識別子と、ステップS1802で取得した識別子とが一致するか否かを判定する。この判定の結果、識別子が一致している場合には、ステップS1805に進む。ステップS1805に進むと、ワークフロー処理実行部313は、ステップS1803で取得されたワークフロー定義ファイルから、デバイス(2)で実行されるワークフロー定義を抽出し、抽出したワークフロー定義に従ってワークフローの処理を実行する。そして、図20のフローチャートによる処理を終了する。
一方、識別子が一致していない場合には、ステップS1806に進む。ステップS1806に進むと、制御部312は、ワークフロージョブの送信元であるデバイス(1)に対して、処理を行うことができない旨を通知する。そして、図20のフローチャートによる処理を終了する。
以上のように本実施形態では、デバイスは、ワークフロー定義の実行を指示したユーザの情報として、ユーザ認証サーバ120の管理テーブルに格納されている情報に加え、ワークフロー設定パラメータの情報が反映されるように、ワークフロー定義を変更する。そして、変更したワークフロー定義を、ワークフロー定義ファイル内で、ワークフローの処理を実行するデバイスが変更される箇所で分割する。したがって、第1の実施形態で説明した効果に加えて、ワークフロー定義ファイルを複数ファイルに分割して複数のテンポラリファイルを作成せずに、ワークフローの処理を行うことが可能となるという効果が得られる。
第1の実施形態のようにテンポラリファイルをワークフロージョブよりも先に送信すると、例えば、ワークフローの処理が途中で止まった場合や、ワークフローの処理が途中でキャンセルされた場合に、複数のテンポラリファイルを探し出して削除する必要がある。これに対し、本実施形態のように、ワークフロー定義ファイルを分割せずにテンポラリのワークフロー定義ファイルを1つのみにすることで、ワークフローの処理の状況に応じてワークフロー定義ファイルを容易に削除することが可能となる。
尚、本実施形態では、ワークフローの実行のために使用されるパラメータを、ユーザによるデバイスの入力操作に基づいて取得する場合を例に挙げて説明したが、必ずしもこのようにする必要はない。例えば、ユーザ認証サーバの管理テーブルに、パラメータをユーザの情報として記憶しておき、そのパラメータを取得するようにしてもよい。
また、本実施形態のように、識別子を用いれば、ワークフロー定義とワークフロージョブとを確実に管理することができ好ましい。ただし、本実施形態ではワークフロー定義とワークフロージョブとを一緒に送信するようにしているので、必ずしも識別子を用いる必要はない。
また、本実施形態においても、第1の実施形態で説明した種々の変形例を採ることができる。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。前述した第1及び第2の実施形態では、ワークフロー定義を分割する際に、ワークフロー定義の分割数が最も少なくなるデバイスの組み合わせが1つのみになる場合を例に挙げて説明を行った。これに対し、本実施形態では、ワークフロー定義の分割数が最も少なくなるデバイスの組み合わせが2つ以上になることがあり得る場合を例に挙げて説明する。このように本実施形態と前述した第1及び第2の実施形態とは、ワークフロー定義を分割する際の処理の一部が主として異なる。したがって、本実施形態の説明において、前述した第1及び第2の実施形態と同一の部分については、図1〜図20に付した符号と同一の符号を付すこと等により、詳細な説明を省略する。
図21は、ワークフロー定義の内容と、そのワークフロー定義に基づくワークフローの処理を実行する画像形成装置(デバイス)の環境の一例を示す図である。本実施形態では、図21(a)に示すように、2台の画像形成装置110a、110bが存在する環境で、図21(b)に示すワークフロー定義ファイル2を実行する場合を例に挙げて、処理の詳細な説明を行う。尚、以下では、必要に応じて、画像形成装置110a、110bを、夫々デバイス(1)、デバイス(2)と称する。また、図22は、ユーザ認証サーバ120でユーザの情報を管理するために使用される管理テーブルの一例を示す図である。
図21(a)に示す環境では、デバイス(1)がUserBの証明書に加えてUserAの証明書も保持しており、デバイス(1)、(2)の双方がUserAの証明書を保持している。この点以外は、図21(a)に示す環境と、図14(a)に示した環境とは同じである。
また、図22に示す管理テーブルでは、UserAのユーザ証明書の保持デバイスが、デバイス(1)とデバイス(2)になっている。この他については、図22に示す管理テーブルと図15に示した管理テーブルとは同じである。本実施形態では、図22に示すユーザの情報により、設定情報の一例が実現される。
次に、図23のフローチャートを参照しながら、ステップS1410のワークフロー分割処理の一例を詳細に説明する。尚、ワークフロー定義ファイル2に基づくワークフローの処理を実行する際のデバイス(1)の処理は、図16に示した処理と同じであるため、その詳細な説明を省略する。
まず、ステップS2001において、データ解析部314は、ステップS1409で変更したワークフロー定義ファイル1701におけるステップを先頭から順番に1つ選択する。
次に、ステップS2002において、データ解析部314は、ステップS2001で選択したステップの処理を実行できるデバイスを1つ以上特定する。
次に、ステップS2003において、データ解析部314は、ステップS2002で特定したデバイスを、実行可能デバイスの候補として、そのデバイスの情報を一時的にRAM202等に記憶する。
次に、ステップS2004において、データ解析部314は、ステップS1409で変更したワークフロー定義ファイル1701におけるステップを全て選択したか否かを判定する。この判定の結果、ワークフロー定義ファイル1701におけるステップを全て選択していない場合には、ステップS2001に戻る。一方、ワークフロー定義ファイル1701におけるステップを全て選択した場合には、ステップS2005に進む。
ステップS2005に進むと、ワークフロー定義変更部316は、ステップS2004までにチェックされた結果を利用して、ワークフロー定義ファイル2の各ステップにおける『実行可能デバイスの候補』を作成する。ここでは、「Scan」「ユーザ署名付きPDF作成」、「PDFを自分のアドレス帳の指定された番号の宛先に送信」、「PDFを自分専用のBoxに保存」の各ステップにおける『実行可能デバイスの候補』として次の候補が作成される。すなわち、「デバイス(1)−デバイス(2)−デバイス(2)−デバイス(1)」と「デバイス(1)−デバイス(2)−デバイス(2)−デバイス(2)」の組み合わせが作成される。更に、「デバイス(1)−デバイス(1)−デバイス(2)−デバイス(1)」と「デバイス(1)−デバイス(1)−デバイス(2)−デバイス(2)」の組み合わせも作成される。
次に、ステップS2006において、ワークフロー定義変更部316は、ステップS2005で作成された候補のうち、ワークフロー定義ファイルの分割数が最も少ない候補を特定する。前述した例では、「デバイス(1)−デバイス(2)−デバイス(2)−デバイス(2)」と「デバイス(1)−デバイス(1)−デバイス(2)−デバイス(2)」の組み合わせが特定される。
以上のように本実施形態では、例えば、ワークフロー定義ファイルの分割数が最も少ないということが、第1の判断基準の一例となり、ステップS2006のようにして第1の判断基準を満たす候補が抽出される。
次に、ステップS2007において、ワークフロー定義変更部316は、ワークフロー定義ファイルの分割数が最も少ない候補が2つ以上あるか否かを判定する。この判定の結果、ワークフロー定義ファイルの分割数が最も少ない候補が1つだけである場合には、後述するステップS2010に進む。
一方、ワークフロー定義ファイルの分割数が最も少ない候補が2つ以上ある場合には、ステップS2008に進む。前述した例では、ワークフロー定義ファイルの分割数が最も少ない候補が2つ以上あると判定され、ステップS2008に進む。
ステップS2008に進むと、ワークフロー定義変更部316は、他のデバイス(デバイス(2))に転送するデータ量の総量を、ステップS2007で2つ以上あると判定された夫々の候補について計算する。前述した例では、「デバイス(1)−デバイス(2)−デバイス(2)−デバイス(2)」と「デバイス(1)−デバイス(1)−デバイス(2)−デバイス(2)」の夫々の組み合わせで、デバイス(2)に転送するデータ量の総量が見積もられる。そして、「デバイス(1)−デバイス(2)−デバイス(2)−デバイス(2)」の組み合わせでは、デバイス(1)からデバイス(2)へ行われるデータの転送は、Scan処理の後に行われるのでScanデータになる。一方、「デバイス(1)−デバイス(1)−デバイス(2)−デバイス(2)」の組み合わせでは、デバイス(1)からデバイス(2)へ行われるデータの転送は、ユーザ署名が付けられたPDFデータになる。本実施形態では、Scanデータ及びPDFデータの夫々のページ毎のデータ量の概算値が、デバイス(1)で実行されるプログラム内に定義されている。したがって、ワークフロー定義変更部316は、この概算値を使用して転送するデータ量の総量を計算する。
次に、ステップS2009において、ワークフロー定義変更部316は、ステップS2008で計算したデータ量(Scanデータ及びPDFデータの総量)』のうち、最も値の小さなデータ量に対応する候補を特定する。前述した例では、Scanデータを転送するよりも、署名付きのPDFデータを転送する方が、転送するデータ量が少ない。よって、「デバイス(1)−デバイス(1)−デバイス(2)−デバイス(2)」の組み合わせが特定される。そして、ステップS2010に進む。
以上のように本実施形態では、転送するデータ量が最も少ないことが、第2の判断基準の一例となり、ステップS2009のようにして第2の判断基準を満たす候補が抽出される。
そして、ステップS2010に進むと、ワークフロー定義変更部316は、ステップS2006で特定された候補が、デバイスの組み合わせでなく、1つのデバイスからなるか否かを判定する。この判定の結果、ステップS2006で特定された候補が、1つのデバイスからなる場合には、ステップS2011、S2012を省略して図23のフローチャートによる処理を終了し、図16のステップS1411に進む。一方、ステップS2006で特定された候補が、デバイスの組み合わせからなる場合には、ステップS2011に進む。
ステップS2011に進むと、ワークフロー定義変更部316は、ワークフロー定義ファイルに含まれるワークフロー定義を、ステップS2006又はS2009で特定された組み合わせに基づいて、ワークフローの処理を実行するデバイスの変更箇所で分割する。
以上のように本実施形態では、例えば、ステップS2005〜S2011の処理を行うことにより分割手段の一例が実現される。
次に、ステップS2012において、ワークフロー定義変更部316は、ステップS2011で分割されたワークフロー定義を相互に結びつけるための送受信処理を、当該ワークフロー定義に追加してワークフロー定義ファイルを更新する。これにより、分割されたワークフロー定義に基づく処理が連結される。そして、図23のフローチャートによる終了し、図16のステップS1411に進む。
以上のように本実施形態では、例えば、ステップS2012の処理を行うことにより追加手段の一例が実現される。
図24は、更新後のワークフロー定義ファイル2401の一例を概念的に示す図である。
図24において、ワークフロー定義ファイル2401は、図19に示した第2の実施形態におけるワークフロー定義ファイル1701と異なり、次のようなワークフロー定義となる。すなわち、ワークフロー定義ファイル2401では、署名付きのPDFデータの作成までがデバイス(1)で行われ、アドレス帳Aの宛先への送信と、デバイス(1)のBox−Aへの保存とがデバイス(2)で実行されるワークフローとなる。
以上のように本実施形態では、ワークフロー定義の分割数が最も少なくなるデバイスの組み合わせが2つ以上になる場合には、各組み合わせにおける『転送データの総量』を算出し、それら2つ以上の組み合わせのうち、データ量が最小の組み合わせを選択する。したがって、第1及び第2の実施形態で説明した効果に加え、ワークフローの処理をより一層効率よく行う(ワークフローの処理負荷をより一層小さくする)ことが可能になるという効果が得られる。
尚、本実施形態では、転送データの総量を判断基準にして、ワークフロー定義の分割数が最も少なくなるデバイスの組み合わせを特定する場合を例に挙げて説明した。しかしながら、判断基準はこのようなものに限定されるわけではない。例えば、ネットワーク的に自身(デバイス(1))により近いデバイスにデータが転送されるような組み合わせを優先して選択するようにしてもよい。また、この判断を行う時点での各デバイスの実行状況を確認し、処理するジョブが最も少ないデバイスを優先して選択するようにしてもよい。更に、スリープしていないデバイスを優先して選択するようにしてもよいし、ユーザのデバイスの使用履歴を調べて、使用頻度の高いデバイスを優先して選択するようにしてもよい。
また、本実施形態では、ワークフロー定義の分割が最少となる組み合わせを特定し、その組み合わせが複数である場合に、複数の組み合わせの中から転送データ量の総量が最小となる組み合わせを特定する場合を例に挙げて説明した。しかしながら、必ずしもこのようにする必要はない。例えば、転送データ量の総量が最小となる組み合わせを特定し、その組み合わせが複数である場合に、複数の組み合わせの中からワークフロー定義の分割が最少となる組み合わせを特定するようにしてもよい。本実施形態で説明した例であれば、転送データ量の総量で候補となる組み合わせは、「デバイス(1)−デバイス(1)−デバイス(2)−デバイス(1)」と「デバイス(1)−デバイス(1)−デバイス(2)−デバイス(2)」に絞られる。これらの組み合わせの中から、ワークフロー定義の分割が最少となる組み合わせとして、「デバイス(1)−デバイス(1)−デバイス(2)−デバイス(2)」が特定される。
尚、本実施形態においても、第1の実施形態で説明した種々の変形例を採ることができる。また、本実施形態では、第2の実施形態のように、ワークフロー定義ファイル2を実行する場合を例に挙げて説明したが、第1の実施形態のように、ワークフロー定義ファイル1を実行する場合にも、本実施形態の処理を適用することができる。
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。前述した第1〜第3の実施形態では、ワークフロー定義を分割した場合、各ワークフロー定義に基づくワークフローを、必ず実行できる場合を例に挙げて説明を行った。これに対し、本実施形態では、分割した各ワークフロー定義に基づくワークフローが実行できないことがあり得る場合を例に挙げて説明する。このように本実施形態と前述した第1〜第3の実施形態とは、ワークフロー定義を分割した後の一部が主として異なる。したがって、本実施形態の説明において、前述した第1〜第3の実施形態と同一の部分については、図1〜図24に付した符号と同一の符号を付すこと等により、詳細な説明を省略する。
図25は、ワークフロー定義の内容と、そのワークフロー定義に基づくワークフローの処理を実行する画像形成装置(デバイス)の環境の一例を示す図である。本実施形態では、図25(a)に示すように、2台の画像形成装置110a、110b、110cが存在する環境で、図25(b)に示すワークフロー定義ファイル2を実行する場合を例に挙げて、処理の詳細な説明を行う。尚、以下では、必要に応じて、画像形成装置110a、110b、110cを、夫々デバイス(1)、デバイス(2)、デバイス(3)と称する。
図25において、デバイス(1)、(2)、(3)は、夫々Scan機能、メール送信機能を有している。また、デバイス(1)、(2)は署名付きPDF作成機能も有している。そして、デバイス(1)にはUserBのユーザ証明書が、デバイス(2)にはUserAのユーザ証明書が、デバイス(3)にはUserAのアドレス帳が登録されている。ユーザ専用の保存領域として、UserA用のBox-AとUserC用のBox-Cとがデバイス(1)に存在する。更に、デバイス(1)とデバイス(2)、デバイス(2)とデバイス(3)はネットワーク100を経由して相互に通信を行うことが可能である。これに対し、デバイス(1)とデバイス(3)は、ネットワーク100を経由して相互に通信を行うことができない。
図26は、ユーザ認証サーバ120でユーザの情報を管理するために使用される管理テーブルの一例を示す図である。
ここで、本実施形態でも第2の実施形態と同様に、デバイス(1)が保持しているBox-Aに対しては、どのデバイスからでも直接データの保存を実行することができる。また、どのデバイスからでもアドレス帳Aの宛先データを参照できる。しかしながら、宛先データを使用して送信する処理はアドレス帳が存在するデバイスでのみで実行することが可能であるとする。本実施形態では、図26に示すユーザの情報により、設定情報の一例が実現される。
次に、図27のフローチャートを参照しながら、ステップS1410のワークフロー分割処理の一例を詳細に説明する。尚、ワークフロー定義ファイル2に基づくワークフローの処理を実行する際のデバイス(1)の処理は、図16に示した処理と同じであるため、その詳細な説明を省略する。尚、本実施形態でも、第2の実施形態と同様に、ユーザは、ユーザ署名付きのPDFデータが添付されたメールの送信先のアドレスとして、UserAのアドレス帳Aの4番のアドレスがパラメータとして指定された場合を例に挙げて説明を行う。本実施形態では、このパラメータも設定情報の一例となる。
まず、ステップS2301において、データ解析部314は、ステップS1409で変更したワークフロー定義ファイル1701におけるステップを先頭から順番に1つ選択する。
次に、ステップS2302において、データ解析部314は、ステップS2301で選択したステップの処理を実行できるデバイスを1つ以上特定する。
次に、ステップS2303において、データ解析部314は、ステップS2302で特定したデバイスを、実行可能デバイスの候補として、そのデバイスの情報を一時的にRAM202等に記憶する。
次に、ステップS2304において、データ解析部314は、ステップS1409で変更したワークフロー定義ファイル1701におけるステップを全て選択したか否かを判定する。この判定の結果、ワークフロー定義ファイル1701におけるステップを全て選択していない場合には、ステップS2301に戻り、次のステップが選択される。一方、ワークフロー定義ファイル1701におけるステップを全て選択した場合には、ステップS2305に進む。
ステップS2305に進むと、ワークフロー定義変更部316は、ステップS2304までにチェックされた結果を利用して、ワークフロー定義ファイル2の各ステップにおける『実行可能デバイスの候補』を作成する。ここでは、「Scan」「ユーザ署名付きPDF作成」、「PDFを自分のアドレス帳の指定された番号の宛先に送信」、「PDFを自分専用のBoxに保存」の各ステップにおける『実行可能デバイスの候補』の組み合わせとして次の組み合わせが作成される。すなわち、「デバイス(1)−デバイス(2)−デバイス(3)−デバイス(1)」と「デバイス(1)−デバイス(2)−デバイス(3)−デバイス(2)」と「デバイス(1)−デバイス(2)−デバイス(3)−デバイス(3)」の組み合わせが作成される。
次に、ステップS2306において、ワークフロー定義変更部316は、ステップS2305で作成された候補のうち、ワークフロー定義ファイルの分割数が最も少ない候補を特定する。前述した例では、「デバイス(1)−デバイス(2)−デバイス(3)−デバイス(3)」の組み合わせが特定される。
次に、ステップS2307において、ワークフロー定義変更部316は、ステップS2306で特定された候補が、デバイスの組み合わせでなく、1つのデバイスからなるか否かを判定する。この判定の結果、ステップS2306で特定された候補が、1つのデバイスからなる場合には、後述するステップS2310に進む。一方、ステップS2306で特定された候補が、デバイスの組み合わせからなる場合には、ステップS2308に進む。
ステップS2308に進むと、ワークフロー定義変更部316は、ステップS2306で特定された組み合わせに基づいて、ワークフローの処理を実行するデバイスの変更箇所で、ワークフロー定義ファイル内のワークフロー定義を分割する。
以上のように本実施形態では、例えば、ステップS2305〜S2308の処理を行うことにより分割手段の一例が実現される。
次に、ステップS2309において、ワークフロー定義変更部316は、ステップS2307で分割されたワークフロー定義を相互に結びつけるための送受信処理を、当該ワークフロー定義に追加してワークフロー定義ファイルを更新する。これにより、分割されたワークフロー定義に基づく処理が連結される。
以上のように本実施形態では、例えば、ステップS2309の処理を行うことにより追加手段の一例が実現される。
図28は、更新後のワークフロー定義ファイル2801の一例を概念的に示す図である。
次に、ステップS2310において、ワークフロー定義変更部316は、ワークフロー定義ファイルに基づくワークフローの処理を実行することが可能であるか否かを判定する。この判定の結果、ワークフロー処理を実行することが可能である場合には、図27のフローチャートによる処理を終了して図16のステップS1411に進む。
以上のように本実施形態では、例えば、ステップS2310の処理を行うことにより判定手段の一例が実現される。
一方、ワークフロー処理を実行することが不可能である場合には、ステップS2311に進む。本実施形態では、前述したように、デバイス(1)とデバイス(3)はネットワーク100を経由して相互に通信を行うことが不可能である。そのため、図28に示すワークフロー定義ファイル2801内のワークフロー定義において、デバイス(3)の実行処理である『PDFをデバイス(1)のBox-Aに保存」という処理を行うことができないと判定される。
そして、ステップS2311に進むと、ワークフロー定義変更部316は、未だ選択されていない候補があるか否かを判定する。
この判定の結果、全ての候補が選択された場合には、ワークフロー定義ファイル2の各ステップを実行するデバイスの組み合わせがないと判断して、ステップS2313に進む。ステップS2313に進みと、UI処理部311は、ワークフローの処理を実行することが不可能であることを示す画像をタッチパネル部420に表示する等して、ワークフローの処理を実行することが不可能であることをユーザに通知して、処理を終了する。
一方、未だ選択されていない候補がある場合には、ステップS2312に進む。ステップS2312に進むと、ワークフロー定義変更部316は、その候補の中から、ワークフロー定義の分割数が最も少ない候補を特定する。このとき、候補が複数存在する場合には、第3の実施形態で説明したように、ワークフロー定義の分割数以外の別の判断基準(例えば転送データ量の総量や、デバイスの使用状況等)を元に、候補を1つに絞る。そして、ステップS2307に戻る。
本実施形態では、ステップS2305で作成された組み合わせのうち、ステップS2306で特定されなかった組み合わせ(残りの候補)として、次の組み合わせがある。すなわち、「デバイス(1)−デバイス(2)−デバイス(3)−デバイス(1)」、「デバイス(1)−デバイス(2)−デバイス(3)−デバイス(2)」の2つが存在している。ここで、例えば、デバイス(1)とデバイス(2)の使用状況がチェックされて、ジョブを抱えていないデバイスがデバイス(2)であったとする。
そうすると、ステップS2311において、次の候補としてデバイス(1)−デバイス(2)−デバイス(3)−デバイス(2)」が選択され、再度、ステップS2306の処理が実行される。そして、ステップS2307に戻り、選択された候補が1つのデバイスからなるものではないと判定され、ステップS2308において、ワークフローの処理を実行するデバイスの変更箇所で、ワークフロー定義ファイル内のワークフロー定義が分割される。更に、ステップS2309において、分割されたワークフロー定義を相互に結びつけるための送受信処理が、分割されたワークフロー定義の夫々に追加される。図29は、このようにして作成されたワークフロー定義ファイル2901の一例を概念的に示す図である。
ここでワークフロー定義変更部316は、ステップS2309において、分割されたワークフロー定義を相互に結びつけるための送受信処理を追加するときに、送受信されるデータ量が最少となるようにするためのつなぎ合わせの処理も追加して行うのが好ましい。図29に示す例では、ワークフロー定義変更部316は、デバイス(2)からデバイス(3)に送信されるデータは、デバイス(3)では一切変更されないと判断する。そして、ワークフロー定義変更部316は、デバイス(3)からデバイス(2)へのワークフロージョブを送信する際に、PDFデータの送信を行わないように、ワークフロー定義を変更する。更に、ワークフロー定義変更部316は、次のようにしてワークフロー定義を変更する。すなわち、デバイス(3)にワークフロージョブを送信する前に、デバイス(2)が、署名付きのPDFデータをテンポラリファイルとして、ワークフロー定義テンポラリファイル情報格納部322に保存するように、ワークフロー定義を変更する。そして、ワークフロー定義変更部316は、デバイス(2)が、PDFデータのファイルを、デバイス(1)のBox-Aへ送信する際には、テンポラリファイルとして保存されているPDFデータのファイルを使用するようにワークフロー定義を変更する。
これらの処理がステップS2309で実行される。そして、ステップS2310において、このワークフロー定義に基づくワークフローの実行が可能であると判断されて、図27のフローチャートによる処理を終了して、図16のステップS1411に進む。
以上のように本実施形態では、ワークフロー定義の分割が最適になるように分割した後、そのワークフローを実行可能であるかどうか判断する。そして、実行不可能である場合には、ワークフロー定義の分割が最適でなくても実行可能となるように、前回の分割箇所とは異なる箇所でワークフロー定義の分割を行う。したがって、前述した第1〜第3の実施形態で説明した効果に加えて、実行環境に応じて最適なワークフロー定義を動的に生成して実行することが可能になるという効果が得られる。
更に本実施形態では、分割されたワークフロー定義を相互に結びつけるためのデータの送受信処理をワークフロー定義に追加する際に、送受信を行う必要がないデータを送受信しないようにした。したがって、より最適なワークフロー定義を動的に生成して実行することが可能になる。
尚、このような送受信を行う必要がないデータを送受信しないようにする処理を第1〜第3の実施形態に適用するようにしてもよい。
また、本実施形態においても、第1の実施形態で説明した種々の変形例を採ることができる。
(本発明の他の実施形態)
前述した本発明の実施形態におけるワークフロー実行装置を構成する各手段、並びにワークフロー実行方法の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図7、11、13、16、18、20、23、27のフローチャートに対応したプログラム)を、システムあるいは装置に直接、あるいは遠隔から供給するものを含む。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の第1の実施形態を示し、ワークフロー処理システムの全体構成の一例を示す図である。 本発明の第1の実施形態を示し、画像形成装置の構成の一例を示すブロック図である。 本発明の第1の実施形態を示し、画像形成装置で実行されるワークフロー処理ソフトウェアの機能構成の一例を示すブロック図である。 本発明の第1の実施形態を示し、画像形成装置の操作部230の外観構成の一例を示す図である。 本発明の第1の実施形態を示し、キー入力部とタッチパネル部の外観構成の一例を詳細に示す図である。 本発明の第1の実施形態を示し、ワークフロー定義の内容と、そのワークフロー定義に基づくワークフローの処理を実行する画像形成装置(デバイス)の環境の一例を示す図である。 本発明の第1の実施形態を示し、ワークフロー定義ファイルに基づくワークフローの処理を実行する際のデバイス(1)の処理の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、ワークフローの処理に先立って、デバイス(1)のタッチパネル部に表示される認証画面の一例を示す図である。 本発明の第1の実施形態を示し、ユーザ認証サーバでユーザの情報を管理するために使用される管理テーブルの一例を示す図である。 本発明の第1の実施形態を示し、ワークフロー定義ファイルの一例を概念的に示す図である。 本発明の第1の実施形態を示し、ワークフロー分割処理の一例を詳細に説明するフローチャートである。 本発明の第1の実施形態を示し、更新後のワークフロー定義ファイルの一例を概念的に示す図である。 本発明の第1の実施形態を示し、ワークフロー定義ファイルに基づくワークフローの処理を実行する際のデバイス(2)の処理の一例を説明するフローチャートである。 本発明の第2の実施形態を示し、ワークフロー定義の内容と、そのワークフロー定義に基づくワークフローの処理を実行する画像形成装置(デバイス)の環境の一例を示す図である。 本発明の第2の実施形態を示し、ユーザ認証サーバでユーザの情報を管理するために使用される管理テーブルの一例を示す図である。 本発明の第2の実施形態を示し、ワークフロー定義ファイルに基づくワークフローの処理を実行する際のデバイス(1)の処理の一例を説明するフローチャートである。 本発明の第2の実施形態を示し、ユーザの情報とワークフロー実行パラメータとが反映されるように変更されたワークフロー定義ファイルの一例を示す図である。 本発明の第2の実施形態を示し、ワークフロー分割処理の一例を詳細に説明するフローチャートである。 本発明の第2の実施形態を示し、更新後のワークフロー定義ファイルの一例を概念的に示す図である。 本発明の第2の実施形態を示し、ワークフロー定義ファイルに基づくワークフローの処理を実行する際のデバイス(2)の処理の一例を説明するフローチャートである。 本発明の第3の実施形態を示し、ワークフロー定義の内容と、そのワークフロー定義に基づくワークフローの処理を実行する画像形成装置(デバイス)の環境の一例を示す図である。 本発明の第3の実施形態を示し、ユーザ認証サーバでユーザの情報を管理するために使用される管理テーブルの一例を示す図である。 本発明の第3の実施形態を示し、ワークフロー分割処理の一例を詳細に説明するフローチャートである。 本発明の第3の実施形態を示し、更新後のワークフロー定義ファイルの一例を概念的に示す図である。 本発明の第4の実施形態を示し、ワークフロー定義の内容と、そのワークフロー定義に基づくワークフローの処理を実行する画像形成装置(デバイス)の環境の一例を示す図である。 本発明の第4の実施形態を示し、ユーザ認証サーバでユーザの情報を管理するために使用される管理テーブルの一例を示す図である。 本発明の第4の実施形態を示し、ワークフロー分割処理の一例を詳細に説明するフローチャートである。 本発明の第4の実施形態を示し、更新後のワークフロー定義ファイルの一例を概念的に示す図である。 本発明の第4の実施形態を示し、最終的に得られるワークフロー定義ファイルの一例を概念的に示す図である。
符号の説明
100 ネットワーク
110 画像形成装置
120 ユーザ認証サーバ
310 処理部
311 UI処理部
312 制御部
313 ワークフロー処理実行部
314 データ解析部
315 データ入出力部
316 ワークフロー定義変更部
320 保存情報管理部
321 ワークフロー定義ファイル情報格納部
322 ワークフロー定義テンポラリファイル情報格納部

Claims (16)

  1. 複数のステップからなるワークフローをワークフロー定義に従って実行するワークフロー実行装置であって、
    前記ワークフローの実行を指示したユーザの設定情報であって、当該ワークフローの実行に関わる設定情報を取得する取得手段と、
    前記取得手段により取得された設定情報に基づいて、ユーザにより実行が指示されたワークフローに対応するワークフロー定義を変更する変更手段と、
    前記変更手段により変更されたワークフロー定義の内容に応じて、前記ワークフローの各ステップを実行するワークフロー実行装置を特定し、当該特定した結果に基づいて、前記変更手段により変更されたワークフロー定義を、当該ワークフロー定義を実行するワークフロー実行装置毎に分割する分割手段と、
    前記分割手段により分割されたワークフロー定義のうち、前記ワークフロー実行装置で実行されるワークフロー定義を実行する実行手段と、
    前記分割手段により分割されたワークフロー定義のうち、前記ワークフロー実行装置と異なる他のワークフロー実行装置で実行されるワークフロー定義を、当該他のワークフロー実行装置に送信する送信手段とを有することを特徴とするワークフロー実行装置。
  2. 前記分割手段により分割された各ワークフロー定義を連結させるための処理を、前記分割された各ワークフロー定義の少なくとも1つに追加する追加手段を有し、
    前記実行手段は、前記追加手段により処理が追加された後のワークフロー定義を実行し、
    前記送信手段は、前記追加手段により処理が追加された後のワークフロー定義を送信することを特徴とする請求項1に記載のワークフロー実行装置。
  3. 前記分割手段により分割されたワークフロー定義の夫々に対し、共通の識別子を設定する設定手段を有し、
    前記実行手段は、前記ワークフロー定義を実行することによりワークフロージョブを生成し、生成したワークフロージョブに、前記設定手段により設定された識別子と同じ識別子を設定し、
    前記送信手段は、前記識別子が設定されたワークフロージョブを、前記ワークフロー定義に従って、他のワークフロー実行装置に送信することを特徴とする請求項1又は2に記載のワークフロー実行装置。
  4. 前記送信手段は、前記実行手段が前記ワークフロー定義を実行することにより生成したワークフロージョブと、前記変更手段により変更されたワークフロー定義とを一緒に送信することを特徴とする請求項1〜3の何れか1項に記載のワークフロー実行装置。
  5. 前記分割手段は、前記ワークフロー定義における処理を実行することが可能なワークフロー実行装置の組み合わせの候補を抽出し、抽出した候補のうち、分割する数が少ない候補を優先して選択し、選択した候補の内容に従って、前記変更手段により変更されたワークフロー定義を分割することを特徴とする請求項1〜4の何れか1項に記載のワークフロー実行装置。
  6. 前記分割手段は、前記ワークフロー定義における処理を実行することが可能なワークフロー実行装置の組み合わせの候補を抽出し、抽出した候補のうち、前記他のワークフロー実行装置に転送するデータ量の総量が小さい候補を優先して選択し、選択した候補の内容に従って、前記変更手段により変更されたワークフロー定義を分割することを特徴とする請求項1〜4の何れか1項に記載のワークフロー実行装置。
  7. 前記分割手段は、前記ワークフロー定義における処理を実行することが可能なワークフロー実行装置の組み合わせの候補を抽出し、抽出した候補のうち、第1の判断基準を満たす候補を選択し、選択した候補が複数ある場合には、複数の候補のうち、前記第1の判断基準と異なる第2の判断基準を満たす候補を選択することを特徴とする請求項1〜6の何れか1項に記載のワークフロー実行装置。
  8. 前記分割手段により分割されたワークフロー定義の夫々を、各ワークフロー実行装置で実行することができるか否かを判定する判定手段を有し、
    前記分割手段は、前記判定手段により、分割されたワークフロー定義の夫々を、各ワークフロー実行装置で実行することができないと判定されると、前記変更手段により変更されたワークフロー定義を、前回とは異なる箇所で分割することを特徴とする請求項1〜7の何れか1項に記載のワークフロー実行装置。
  9. 前記変更手段により変更されたワークフロー定義を実行することが可能なワークフロー実行装置があるか否かを判定する第2の判定手段を有し、
    前記分割手段と前記実行手段は、前記第2の判定手段により、変更されたワークフロー定義を実行することが可能なワークフロー実行装置があると判定された場合に、処理を行うことを特徴とする請求項1〜8の何れか1項に記載のワークフロー実行装置。
  10. 前記設定情報は、ワークフローの処理を実行するために使用されるパラメータの情報と、ユーザによる設定が行われているワークフロー実行装置を特定する情報と、ユーザが通常使用する設定となっているワークフロー実行装置を特定する情報とのうち、何れか1つ以上の情報を含むことを特徴とする請求項1〜9の何れか1項に記載のワークフロー実行装置。
  11. 前記変更手段により変更されたワークフロー定義に基づく処理を実行することができない部分があるか否かを判定する第3の判定手段を有し、
    前記分割手段は、前記第3の判定手段により、変更されたワークフロー定義に基づく処理を実行することができない部分があると判定されると、前記変更手段により変更されたワークフロー定義を分割することを特徴とする請求項1〜10の何れか1項に記載のワークフロー実行装置。
  12. 前記分割手段は、前記ワークフロー定義を含むファイルを複数のファイルに分割することを特徴とする請求項1〜11の何れか1項に記載のワークフロー実行装置。
  13. 前記分割手段は、前記ワークフロー定義を、そのワークフロー定義を含むファイル内で、複数に分割することを特徴とする請求項1〜11の何れか1項に記載のワークフロー実行装置。
  14. ユーザにより実行が指示されたワークフローに対応するワークフロー定義を複製する複製手段を有し、
    前記変更手段は、前記複製手段により複製されたワークフロー定義を変更することを特徴とする請求項1〜13の何れか1項に記載のワークフロー実行装置。
  15. 複数のステップからなるワークフローをワークフロー定義に従って実行するワークフロー実行装置が行うワークフロー実行方法であって、
    前記ワークフローの実行を指示したユーザの設定情報であって、当該ワークフローの実行に関わる設定情報を取得する取得ステップと、
    前記取得ステップにより取得された設定情報に基づいて、ユーザにより実行が指示されたワークフローに対応するワークフロー定義を変更する変更ステップと、
    前記変更ステップにより変更されたワークフロー定義の内容に応じて、前記ワークフローの各ステップを実行するワークフロー実行装置を特定し、当該特定した結果に基づいて、前記変更ステップにより変更されたワークフロー定義を、当該ワークフロー定義を実行するワークフロー実行装置毎に分割する分割ステップと、
    前記分割ステップにより分割されたワークフロー定義のうち、前記ワークフロー実行装置で実行されるワークフロー定義を実行する実行ステップと、
    前記分割ステップにより分割されたワークフロー定義のうち、前記ワークフロー実行装置と異なる他のワークフロー実行装置で実行されるワークフロー定義を、当該他のワークフロー実行装置に送信する送信ステップとを有することを特徴とするワークフロー実行方法。
  16. 複数のステップからなるワークフローをワークフロー定義に従って実行することをワークフロー実行装置が備えるコンピュータに実行させるためのコンピュータプログラムであって、
    前記ワークフローの実行を指示したユーザの設定情報であって、当該ワークフローの実行に関わる設定情報を取得する取得ステップと、
    前記取得ステップにより取得された設定情報に基づいて、ユーザにより実行が指示されたワークフローに対応するワークフロー定義を変更する変更ステップと、
    前記変更ステップにより変更されたワークフロー定義の内容に応じて、前記ワークフローの各ステップを実行するワークフロー実行装置を特定し、当該特定した結果に基づいて、前記変更ステップにより変更されたワークフロー定義を、当該ワークフロー定義を実行するワークフロー実行装置毎に分割する分割ステップと、
    前記分割ステップにより分割されたワークフロー定義のうち、前記ワークフロー実行装置で実行されるワークフロー定義を実行する実行ステップと、
    前記分割ステップにより分割されたワークフロー定義のうち、前記ワークフロー実行装置と異なる他のワークフロー実行装置で実行されるワークフロー定義を、当該他のワークフロー実行装置に送信する送信ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
JP2008125113A 2008-05-12 2008-05-12 ワークフロー実行装置、ワークフロー実行方法、コンピュータプログラム Expired - Fee Related JP5121560B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008125113A JP5121560B2 (ja) 2008-05-12 2008-05-12 ワークフロー実行装置、ワークフロー実行方法、コンピュータプログラム
US12/463,421 US8601478B2 (en) 2008-05-12 2009-05-11 Division, linking and sequential execution of workflows based on the fewest number of divided partitions
CN200910138638.0A CN101582922B (zh) 2008-05-12 2009-05-12 工作流执行装置及工作流执行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008125113A JP5121560B2 (ja) 2008-05-12 2008-05-12 ワークフロー実行装置、ワークフロー実行方法、コンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2009276851A JP2009276851A (ja) 2009-11-26
JP5121560B2 true JP5121560B2 (ja) 2013-01-16

Family

ID=41267948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008125113A Expired - Fee Related JP5121560B2 (ja) 2008-05-12 2008-05-12 ワークフロー実行装置、ワークフロー実行方法、コンピュータプログラム

Country Status (3)

Country Link
US (1) US8601478B2 (ja)
JP (1) JP5121560B2 (ja)
CN (1) CN101582922B (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5413154B2 (ja) * 2009-11-27 2014-02-12 株式会社リコー 表示装置、画像形成装置、カスタマイズ方法、プログラム
US8547576B2 (en) 2010-03-10 2013-10-01 Ricoh Co., Ltd. Method and apparatus for a print spooler to control document and workflow transfer
US8810829B2 (en) * 2010-03-10 2014-08-19 Ricoh Co., Ltd. Method and apparatus for a print driver to control document and workflow transfer
US9092277B2 (en) * 2010-08-10 2015-07-28 Ricoh Company, Ltd. Method, apparatus, system, and computer readable medium for universal device participation in business process and workflow application
US8856770B2 (en) * 2010-09-17 2014-10-07 Sap Ag Solution packages including segments of a process chain
WO2012102710A1 (en) * 2011-01-26 2012-08-02 Hewlett-Packard Development Company, L.P. Document workflow architecture
US9009675B2 (en) * 2012-03-21 2015-04-14 International Business Machines Corporation Verification of complex workflows through internal assessment or community based assessment
US9235808B2 (en) 2013-03-14 2016-01-12 International Business Machines Corporation Evaluation of predictions in the absence of a known ground truth
JP6264800B2 (ja) * 2013-09-17 2018-01-24 株式会社リコー 情報処理システム、情報処理装置、プログラムおよび情報処理方法
JP2015219575A (ja) * 2014-05-14 2015-12-07 株式会社リコー 情報処理システム、情報処理装置、情報処理方法及びプログラム
JP6056811B2 (ja) * 2014-07-14 2017-01-11 コニカミノルタ株式会社 ワークフローシステム、ワークフロー実行装置、ワークフロー実行方法およびワークフロー実行プログラム
US9311134B1 (en) * 2014-09-29 2016-04-12 International Business Machines Corporation Automated creation of executable workflow
JP6555966B2 (ja) * 2015-07-31 2019-08-07 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2017059922A (ja) * 2015-09-15 2017-03-23 株式会社リコー 情報処理システム、画像生成装置、プログラムおよび情報処理方法
US9766927B1 (en) * 2015-10-06 2017-09-19 Amazon Technologies, Inc. Data flow management in processing workflows
JP6429034B2 (ja) * 2016-03-04 2018-11-28 京セラドキュメントソリューションズ株式会社 画像形成システム
JP7331460B2 (ja) * 2019-05-24 2023-08-23 ブラザー工業株式会社 アプリケーションプログラム
JP7707817B2 (ja) * 2021-10-01 2025-07-15 富士フイルムビジネスイノベーション株式会社 情報処理装置およびプログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063751A (ja) * 1996-08-14 1998-03-06 Fuji Xerox Co Ltd ワークフローシステムおよびその作業分割方法
JP2001344199A (ja) * 2000-06-02 2001-12-14 Nec Corp 分散型処理システム及び方法並びに記録媒体
US7047257B2 (en) * 2001-04-03 2006-05-16 Qnx Software Systems Computer file management system
JP2003091386A (ja) * 2001-09-14 2003-03-28 Canon Inc 情報処理装置及び方法
US7299244B2 (en) * 2002-12-10 2007-11-20 Hewlett-Packard Development Company, L.P. System and method for dynamic sequencing of a requirements-based workflow
KR100497384B1 (ko) * 2003-01-28 2005-06-23 삼성전자주식회사 가상 머신을 이용한 분산 처리 시스템 및 분산 처리방법
JP4470384B2 (ja) * 2003-03-25 2010-06-02 富士ゼロックス株式会社 情報処理装置、ジョブ処理装置、指示データ作成装置及び署名プロキシ装置
JP4944369B2 (ja) * 2004-08-05 2012-05-30 キヤノン株式会社 情報処理装置およびその制御方法
US7848942B2 (en) * 2004-12-28 2010-12-07 Sap Aktiengesellschaft Distribution of integrated business process models
JP4700971B2 (ja) 2005-01-14 2011-06-15 株式会社リコー 画像出力システム、サーバ装置、クライアント装置、実行制御方法、実行制御プログラムおよび該プログラムを記録した記録媒体
JP2007041640A (ja) * 2005-07-29 2007-02-15 Hitachi Electronics Service Co Ltd ドキュメント作成支援・管理システム及びドキュメント作成支援・管理方法及びドキュメント作成支援・管理プログラム
US7584276B2 (en) * 2005-09-27 2009-09-01 International Business Machines Corporation Adaptive orchestration of composite services
JP5142481B2 (ja) 2005-10-13 2013-02-13 キヤノン株式会社 情報処理装置、タスク連繋処理システム、タスク連繋フロー作成方法、サービス処理方法、管理サーバ、フロー変換方法、フロー実行方法およびプログラム
US7460032B2 (en) * 2005-10-27 2008-12-02 Evault, Inc. Methods and apparatus for performing adaptive compression
JP4251645B2 (ja) 2005-11-04 2009-04-08 キヤノン株式会社 情報処理方法及び装置
JP2007164422A (ja) * 2005-12-13 2007-06-28 Canon Inc 情報処理装置および情報処理方法および情報処理プログラム
JP2007265174A (ja) * 2006-03-29 2007-10-11 Canon Inc 情報処理装置およびワークフロー生成方法およびワークフロー生成プログラム
JP4706853B2 (ja) * 2006-03-30 2011-06-22 富士ゼロックス株式会社 画像処理装置および画像データ一覧表示方法
US8307366B2 (en) * 2006-03-30 2012-11-06 Apple Inc. Post-processing phase in a distributed processing system using assignment information
JP4245055B2 (ja) * 2007-01-29 2009-03-25 コニカミノルタビジネステクノロジーズ株式会社 画像処理システム、画像処理装置、ジョブ処理方法およびプログラム
JP2008226182A (ja) * 2007-03-15 2008-09-25 Ricoh Co Ltd データ配信システム、データ配信方法、データ配信プログラム、および記録媒体

Also Published As

Publication number Publication date
CN101582922A (zh) 2009-11-18
US8601478B2 (en) 2013-12-03
JP2009276851A (ja) 2009-11-26
CN101582922B (zh) 2012-12-19
US20090282417A1 (en) 2009-11-12

Similar Documents

Publication Publication Date Title
JP5121560B2 (ja) ワークフロー実行装置、ワークフロー実行方法、コンピュータプログラム
JP5004320B2 (ja) ジョブ処理装置、ジョブ処理方法及びプログラム
JP4766667B2 (ja) 表示制御装置及びその制御方法、プログラム
JP5679624B2 (ja) 印刷装置及びその制御方法とプログラム
JP5178293B2 (ja) ワークフロー実行装置、ワークフロー実行方法、及びコンピュータプログラム
US8184309B2 (en) Printing system and job processing method with inhibition and designation of function and deletion of associated jobs
JP5025342B2 (ja) 画像処理装置、画像処理システム、画像処理装置の制御方法及びプログラム
JP5180676B2 (ja) 画像形成装置、その制御方法及びそのプログラム
JP4245055B2 (ja) 画像処理システム、画像処理装置、ジョブ処理方法およびプログラム
CN101505351B (zh) 文档处理系统及用于文档处理系统的控制方法
JP2006069117A (ja) 画像形成装置、ジョブ処理方法、コンピュータプログラム、記憶媒体、画像形成システム
JP2010015268A (ja) 機器管理装置、機器管理方法、及びコンピュータプログラム
JP6839312B2 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP4251645B2 (ja) 情報処理方法及び装置
JP4850534B2 (ja) 情報処理装置及びその制御方法並びにプログラム
JP5016874B2 (ja) 画像形成装置、データ処理方法、プログラム
JP2010056770A (ja) 文書管理システム、画像形成装置、サーバ、文書管理方法、及びプログラム
JP4001158B2 (ja) ボックスデータ管理装置及び方法
JP2006076072A (ja) データ管理装置および方法、画像出力装置、およびコンピュータプログラム
US20070133045A1 (en) Data processing apparatus, data processing method, and program for implementing the method
JP2010161467A (ja) 画像処理システム、画像処理装置、画像処理装置の制御方法、及び制御プログラム
JP4871653B2 (ja) 画像形成装置および該装置に適用可能な方法、及び制御プログラム
KR20110085783A (ko) 다큐먼트 박스에 문서를 저장하는 방법, 이를 수행하는 호스트 장치 및 화상형성장치
JP7086771B2 (ja) 印刷装置、印刷装置の制御方法、並びにプログラム
JP2006344082A (ja) 画像形成装置、情報処理装置、ジョブ処理方法、ジョブ設定画面表示方法、コンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120723

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120925

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121023

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5121560

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees