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

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

Info

Publication number
JP5178293B2
JP5178293B2 JP2008106071A JP2008106071A JP5178293B2 JP 5178293 B2 JP5178293 B2 JP 5178293B2 JP 2008106071 A JP2008106071 A JP 2008106071A JP 2008106071 A JP2008106071 A JP 2008106071A JP 5178293 B2 JP5178293 B2 JP 5178293B2
Authority
JP
Japan
Prior art keywords
workflow
execution
time
executed
content
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
JP2008106071A
Other languages
English (en)
Other versions
JP2009258912A (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 JP2008106071A priority Critical patent/JP5178293B2/ja
Priority to US12/423,705 priority patent/US20090260017A1/en
Publication of JP2009258912A publication Critical patent/JP2009258912A/ja
Application granted granted Critical
Publication of JP5178293B2 publication Critical patent/JP5178293B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1275Print workflow management, e.g. defining or changing a workflow, cross publishing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • 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
    • H04N1/00233Transmitting 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 details of image data reproduction, e.g. network printing or remote image display
    • 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
    • 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
    • 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/32561Circuits 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 using a programmed control device, e.g. a microprocessor
    • 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
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0037Topological details of the connection
    • H04N2201/0039Connection via a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/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
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3202Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of communication or activity log or report
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/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
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3212Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a job, e.g. communication, capture or filing of an image
    • H04N2201/3214Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a job, e.g. communication, capture or filing of an image of a date
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/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
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3212Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a job, e.g. communication, capture or filing of an image
    • H04N2201/3215Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a job, e.g. communication, capture or filing of an image of a time or duration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/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
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3274Storage or retrieval of prestored additional information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/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
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3278Transmission

Description

本発明は、ワークフロー実行装置、ワークフロー実行方法、及びコンピュータプログラムに関し、特に、ワークフローを実行するために用いて好適なものである。
近年、デジタル複合機を使用して、オフィス業務等のワークフロー処理を行うことが検討・提案されてきている。例えば、デジタル複合機は、申請用紙を電子化してワークフローを管理するサーバへ送信してワークフロー処理に投入したり、ワークフローサーバから処理中のジョブを取得して印刷処理をしたりすること等が考えられている。デジタル複合機は、紙を電子化し、その紙のデータを、複数の通信プロトコルの何れかを使用して送信する機能や、データを取得して印刷を実行する機能を有する。通信プロトコルとしては、SMTP(Simple Mail Transfer Protocol)やFTP(File Transfer Protocol)等が挙げられる。
このような機能を利用することで、前述したような処理をデジタル複合機が実行することが可能である。
特許文献1では、ワークフローの中で電子文書と紙文書とを混在させることを可能にする方法等が提案されている。具体的に特許文献1では、まず、ワークフローサーバは、スキャナで読み取り可能なユニークなID情報を紙文書に付加して印刷することをデジタル複合機に指示する。デジタル複合機が備えるプリンタは、この指示に基づいて、ID情報が付加された紙文書を印刷する。そして、ID情報が付加された紙文書をデジタル複合機が備えるスキャナが読み取ると、ワークフローサーバは、そのID情報と紙文書の情報とを処理して電子文書の審査・承認フローを実行する。このようにすることによって、審査・承認フローの中での電子文書と紙文書との混在を可能としている。
また、特許文献2では、ワークフロー仕様の実行が可能なワークフローエンジンを備えるデジタル複合機が提案されている。特許文献2のデジタル複合機は、ワークフロー仕様の入出力インタフェースとワークフロー仕様の管理部とを備える。デジタル複合機は、インターネットを介してワークフローサーバからワークフロー仕様(処理手順)を受け取り、そのワークフロー仕様のうち、自身のワークフローエンジンで処理すべき担当箇所を判断して、当該担当箇所の処理を実行する。
このように、ワークフローサーバとデジタル複合機とを連携させてデジタル複合機でワークフロー処理を行う技術が提案されてきている。これらの技術では、全て、ワークフローサーバのような、ワークフローのジョブ状態やフロー定義を管理するサーバが存在することが前提となっている。
一方、デジタル複合機の機能を連携させて、簡単なワークフロー処理を実現する方法も提案されてきている。すなわち、処理を行うためのワークフロー定義ファイルをデジタル複合機内に格納し、特定のボタンがユーザによって押下された場合に、ワークフロー定義に従った一連の処理をデジタル複合機が実行するような方法が提案されている。具体的にデジタル複合機は、申請用紙を読み取り、読み取った申請用紙のデータをPDF等の電子文書に変換して特定のファイルサーバに送信(格納)して、その結果を特定のユーザにメールで通知するという一連の処理をワークフロー定義ファイルに記載しておく。そして、デジタル複合機は、ワークフロー定義ファイルに定義されている処理を実施するように指示を受けた場合に、そのワークフロー定義ファイルの内容を解釈して処理を実行する。
このようにした場合には、ワークフローサーバ等は特に必須ではなく、ワークフローというよりも、デジタル複合機の機能のフローをワークフロー定義ファイルに定義しておいて、簡単なフローを実現するという意味合いになる。つまり、このようにした場合、デジタル複合機の一連の機能のフローで処理が完結するために、別の処理と連携しなくてもよいので、前述したサーバのようにワークフロー(ジョブの状態)を管理する必要がない。
特開2004−265140号公報 特開2007−27861号公報
しかしながら、このような方法では、ワークフローサーバが存在しない場合、デジタル複合機の持つ機能を連携させる簡単な処理しか実現することができず、実現できるフローが制限されてしまう。複数の処理を連結したワークフロー処理を実行するためには、仕掛かり中のジョブをきちんと管理しないと、ワークフローの定義を更新・変更したり、削除したりした場合等に、適切に処理を行えなくなってしまうためである。
以上のように従来の技術では、ワークフローで実行されるジョブを管理するサーバがないと、複雑なワークフローを適切に実行することが困難であるという問題点があった。
本発明は、このような問題点に鑑みてなされたものであり、ワークフローで実行されるジョブを管理するサーバを使用せずに、ワークフローを適切に実行できるようにすることを目的とする。
本発明のワークフロー実行装置は、ワークフローにおける工程の内容が設定されると共に、当該工程の少なくとも1つに対して、当該工程の内容が更新された時間である工程内容更新時間が設定されたワークフロー定義ファイルに基づいて、ワークフローの各工程を実行する画像形成装置であって、前記ワークフローの工程の内容に従った処理が実行されると、当該工程の内容に従った処理が実行された時間である工程実行時間を、当該工程の内容に従った処理の実行により得られたデータに対して付加する付加手段と、前記ワークフローの工程の内容に従った処理を実行するに際し、前記ワークフロー定義ファイルから、前記工程内容更新時間を取得する第1の取得手段と、前記実行する工程の内容に従った処理で使用されるデータに対して前記付加手段により付加された工程実行時間を取得する第2の取得手段と、前記第1の取得手段により取得された工程内容更新時間が、前記第2の取得手段により取得された工程実行時間よりも後であると、前記実行する工程の内容に従った処理の実行を中止する中止手段とを有することを特徴とする。
本発明のワークフロー実行方法は、ワークフローにおける工程の内容が設定されると共に、当該工程の少なくとも1つに対して、当該工程の内容が更新された時間である工程内容更新時間が設定されたワークフロー定義ファイルに基づいて、ワークフローの各工程を実行するワークフロー実行方法であって、前記ワークフローの工程の内容に従った処理が実行されると、当該工程の内容に従った処理が実行された時間である工程実行時間を、当該工程の内容に従った処理の実行により得られたデータに対して付加する付加ステップと、前記ワークフローの工程の内容に従った処理を実行するに際し、前記ワークフロー定義ファイルから、前記工程内容更新時間を取得する第1の取得ステップと、前記実行する工程の内容に従った処理で使用されるデータに対して前記付加ステップにより付加された工程実行時間を取得する第2の取得ステップと、前記第1の取得ステップにより取得された工程内容更新時間が、前記第2の取得ステップにより取得された工程実行時間よりも後であると、前記実行する工程の内容に従った処理の実行を中止する中止ステップとを有することを特徴とする。
本発明のコンピュータプログラムは、ワークフローにおける工程の内容が設定されると共に、当該工程の少なくとも1つに対して、当該工程の内容が更新された時間である工程内容更新時間が設定されたワークフロー定義ファイルに基づいて、ワークフローの各工程を実行することをコンピュータに実行させるためのコンピュータプログラムであって、前記ワークフローの工程の内容に従った処理が実行されると、当該工程の内容に従った処理が実行された時間である工程実行時間を、当該工程の内容に従った処理の実行により得られたデータに対して付加する付加ステップと、前記ワークフローの工程の内容に従った処理を実行するに際し、前記ワークフロー定義ファイルから、前記工程内容更新時間を取得する第1の取得ステップと、前記実行する工程の内容に従った処理で使用されるデータに対して前記付加ステップにより付加された工程実行時間を取得する第2の取得ステップと、前記第1の取得ステップにより取得された工程内容更新時間が、前記第2の取得ステップにより取得された工程実行時間よりも後であると、前記実行する工程の内容に従った処理の実行を中止する中止ステップとをコンピュータに実行させることを特徴とする。
本発明によれば、ワークフローの工程の内容に従った処理を実行するに際し、実行する工程の内容が更新された時間が、当該工程の内容に従った処理を実行した時間よりも後であると、当該実行する工程の内容に従った処理の実行を中止するようにした。したがって、ワークフローの定義を更新した場合でも、ワークフローを管理するサーバを使用せずに、ワークフローにおける工程を実行するか否かを適切に判断して処理を実行することが可能となる。
(第1の実施形態)
以下に、図面を参照しながら、本発明の第1の実施形態について説明する。
<システム構成>
図1は、ワークフロー処理システムの全体構成の一例を示す図である。
図1において、ワークフロー処理システムは、画像形成装置110a、110b、110cと、メールサーバ120と、ファイルサーバ130とを有する。画像形成装置110a、110b、110c、メールサーバ120、及びファイルサーバ130は、ネットワーク100を介して相互に通信可能に接続されている。尚、図1では、ワークフロー処理システムに画像形成装置110を3台設けた場合を例に挙げて示しているが、画像形成装置110の数は、これに限定されるものではない。
画像形成装置110は、例えば、デジタル複合機(MFP)である。画像形成装置110は、ワークフロー定義が記載されているワークフロー定義ファイルを保持する機能と、保持するワークフロー定義ファイルに記載されているワークフロー定義の内容を解釈する機能とを有する。更に、画像形成装置110は、解釈したワークフロー定義に基づき、指示されたワークフロー処理を実施する機能を有する。
この他、画像形成装置110は、紙原稿を読み取るスキャン機能と、データの印刷を行うプリント機能と、データの送受信を行う送受信機能(FAX機能等)と、データの保存を行う保存機能と、データの操作を行う編集機能とを有する。
スキャン機能は、読み取った紙原稿に印字されている処理日時の情報、又は読み取った紙原稿に埋め込まれている処理日時の情報を抽出する機能を有する。プリント機能は、ワークフロー処理を実施した処理日時の情報を紙原稿に印字又は埋め込む機能を有している。更に、送受信機能、保存機能、及び編集機能は、ワークフロー処理を実施した処理日時の情報を、処理したデータに設定する機能を有している。
メールサーバ120及びファイルサーバ130は、夫々一般的な機能を有する公知のサーバである。
<画像形成装置の構成>
図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とを有している。
UI処理部311は、操作部I/F206を介して操作部230からの情報を受信する。また、UI処理部311は、操作部230へ情報を送信する。
データ入出力部315は、処理部310と保存情報管理部320との間で行われるデータの入出力を管理する。
データ解析部314は、ワークフロー定義ファイルの解析やスキャナ240で読み取られたデータの解析等を行う。
処理実行部313は、ワークフロー処理等の処理を行う。
制御部312は、UI処理部311、処理実行部313、データ解析部314、データ入出力部315で行われるこれらの処理を制御する。
保存情報管理部320は、ワークフロー定義ファイル情報格納部321と、ボックス文書情報格納部322とを管理する。ここで、ワークフロー定義ファイル情報格納部321は、ワークフロー定義ファイルの情報であるワークフロー定義ファイル情報を格納する。一方、ボックス文書情報格納部322は、ボックスやボックス内の文書の情報であるボックス情報を記憶媒体に格納する。これらワークフロー定義ファイル情報とボックス情報のデータの実体は、例えば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)では、スタンバイモード時の初期画面の一例を示している。この初期画面に対するユーザの設定操作に応じて、タッチパネル部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は、ワークフロー処理においてプリント処理を実行した場合の画像形成装置110の処理の一例を説明するフローチャートである。
まず、ステップS601において、制御部312及び処理実行部313は、処理実行時の日時(処理を実行する現在の日時)を特定する。
次に、ステップS602において、処理実行部313は、ステップS601で特定された日時を、プリントするプリントデータに埋め込める形式のデータに変換する。このステップS602では、例えば、ステップS601で特定された日時の情報を含む2次元バーコード等のデータに変換される。
次に、ステップS603において、処理実行部313は、ステップS602で変換されたデータを、プリントするプリントデータ内に(例えば用紙の右下部分に相当する部分に)埋め込む。ここで、プリントするプリントデータ内の該当部分に、既にデータが存在する場合、処理実行部313は、当該既に存在しているデータを削除してから、ステップS602で変換されたデータを埋め込む。
そして、ステップS604において、制御部312は、そのプリントデータを、イメージバスI/F205を通してプリンタ画像処理部215へ出力する。プリンタ画像処理部215は、必要に応じて画像回転部216等と連携して、そのプリントデータに対して処理を行い、処理を行ったプリントデータをデバイスI/F213を通してプリンタ250に出力する。そして、プリンタ250は、入力したプリントデータに基づいてプリントを行う。これにより、図6のフローチャートによる処理が終了する。
図7は、ワークフロー処理においてスキャン処理を実行した場合の画像形成装置110の処理の一例を説明するフローチャートである。
まず、ステップS701において、制御部312及び処理実行部313は、スキャナ240に、読み取る原稿が存在するか否かを判定する。この判定の結果、スキャナ240に原稿が存在しない場合には、図7のフローチャートによる処理を終了する。
一方、スキャナ240に原稿が存在する場合にはステップS702へ進む。ステップS702に進むと、スキャナ240は原稿を読み取る。そして、データ解析部314は、スキャナ240で読み取られた原稿のデータを解析する。
次に、ステップS703において、処理実行部313は、現在の日時を特定する。
次に、ステップS704において、処理実行部313は、ステップS703で特定された日時の情報を、ステップS702で読み取られたデータに埋め込み可能なデータ形式に変換する。
次に、ステップS705において、処理実行部313は、ステップS702で解析された結果に基づいて、ステップS702で読み取られた原稿のデータに日時の情報が埋め込まれていたか否かを判定する。この判定の結果、原稿のデータに日時の情報が埋め込まれていた場合は、後述するステップS706に進む。
一方、原稿のデータに日時の情報が埋め込まれていなかった場合には、ステップS709に進む。ステップS709に進むと、処理実行部313は、ステップS704で変換された日時の情報を、ステップS702で読み取られた原稿のデータに埋め込む。
次に、ステップS710において、データ入出力部315は、ステップS709で日時の情報が埋め込まれた原稿のデータをボックス文書情報格納部322に記憶する。そして、ステップS701に戻る。
ステップS705において、原稿のデータに日時の情報が埋め込まれていたと判定された場合には、ステップS706に進み、処理実行部313は、当該埋め込まれている日時の情報を抽出する。
次に、ステップS707において、処理実行部313は、原稿のデータに既に埋め込まれていた日時の情報を消去した後、ステップS704で変換された日時の情報を、ステップS702で読み取られた原稿のデータに埋め込む。
次に、ステップS708において、処理実行部313は、ステップS706で抽出された日時の情報と、ステップS702で読み取られた原稿のデータとを関連付ける。そして、データ入出力部315は、それらをボックス文書情報格納部322に一時的に記憶する。そして、ステップS701に戻る。
図8は、ワークフロー処理ソフトウェア300を実行するためにタッチパネル部420に表示される画面の一例を示す図である。
図8に示す画面は、図5(b)に示したオプションタブ504をユーザが選択すると、ワークフロー処理ソフトウェア300のUI処理部311が、これに対する応答を操作部230に返すことにより作成される。
UI処理部311が、表示内容の問い合わせを操作部230から受けると、データ入出力部315は、ワークフロー定義ファイル情報格納部321に保存されているワークフローの各ステップの情報を抽出する。そして、UI処理部311は、データ入出力部315で抽出された情報に基づいて、ワークフロー定義表示領域800内に表示する"各ワークフローの処理を実行するためのワークフロー処理実行ボタン810を定義し、操作部230に表示データを返す。
図8に示す画面右上の各ボタン801〜803は、ワークフロー定義表示領域800に表示されるワークフロー処理実行ボタン810の表示方法を切り替えるためのボタンである。大ボタン801をユーザが選択した場合は、図8に示すような大きなボタンでワークフロー処理実行ボタン810が表示される。小ボタン802をユーザが選択した場合には、図8に示すものよりも小さなボタンでワークフロー処理実行ボタン810が表示される。リストボタン803をユーザが選択した場合には、ワークフロー処理実行ボタン810の内容がリスト形式で表示される。
また、上下ボタン804をユーザが選択すると、ワークフロー定義表示領域800内に表示される内容が上下にスクロールされる。ユーザが、ワークフロー処理実行ボタン810を選択した状態で詳細表示ボタン805を選択すると、選択されているワークフロー処理実行ボタン810の処理内容の詳細が画面に表示される。また、ユーザが、ワークフロー処理実行ボタン810を選択した状態で実行ボタン806を押下すると、選択されているワークフロー処理実行ボタン810に対応するワークフロー処理の実行が開始する。
本実施形態では、購買依頼申請書を課員が印刷・記入して、課長に申請を行い、課長がその申請書を承認するワークフローを例に挙げて、ワークフローの各処理の詳細を説明する。
図9は、本実施形態におけるワークフローのワークフロー定義ファイルの記載例を示す図である。このワークフロー定義ファイル910で定義されるワークフローは、ステップS1〜S4の処理(工程)でできている。図9に示すように、本実施形態では、ワークフロー定義ファイル910は、タグによって情報を示す構造化文書となっており、「step」タグで各ステップ(各工程)での処理内容が記載されている。そして、各ステップの処理には、「last-update」が、各ステップの最終更新日時として記載されている。尚、ワークフロー定義ファイル910は、例えば、外部装置で予め作成されているものである。
図10は、ユーザが、ワークフロー処理実行ボタン810を選択して、実行ボタン806を選択した場合のワークフロー処理ソフトウェア300の処理の一例を説明するフローチャートである。ユーザがワークフロー処理を指示すると、UI処理部311がこの指示の内容を受信する。
まず、ステップS1001において、データ入出力部315は、UI処理部311で受信した"ユーザの指示の内容"を、ワークフロー定義ファイル情報格納部321内から検索する。そして、データ入出力部315は、検索した結果に基づいて、ユーザによって指示されたワークフロー処理に対応するワークフロー定義と、そのワークフローで実行されるステップの情報(図9に示した例では、ステップS1〜S4の何れかの情報)とを特定する。
次に、ステップS1002において、処理実行部313は、ステップS1001で特定されたステップの情報から、実行する処理がスキャン処理であるか否かを判定する。この判定の結果、実行する処理がスキャン処理である場合には、ステップS1004に進み、図7で説明したスキャン処理の全部又は一部(例えば、ステップS701〜S706)を実行する。そして、後述するステップS1005に進む。
一方、スキャン処理でないと判断した場合には、ステップS1003に進む。ステップS1003に進むと、データ入出力部315は、処理を実行するデータをボックス文書情報格納部322から検索する。そして、処理実行部313は、データ入出力部315で検索された"処理を実行するデータ"(例えば属性情報)から、その処理を実行するデータの最終処理日時を特定する。そして、ステップS1005に進む。
以上のように本実施形態では、例えば、ステップS1003、S1004(S706)の処理を行うことにより第2の取得手段の一例が実現され、例えば、最終処理日時が、工程実行時間の一例となる。
ステップS1005に進むと、処理実行部313は、ステップS1001で特定されたワークフロー定義に、ステップS1001で特定されたステップよりも前のステップが存在するか否かを判定する。この判定の結果、ステップS1001で特定されたステップよりも前のステップがワークフロー定義に存在しない場合には、後述するステップS1008に進む。
一方、ステップS1001で特定されたステップよりも前のステップがワークフロー定義に存在する場合には、ステップS1006に進む。ステップS1006に進むと、処理実行部313は、ステップS1001で特定されたステップよりも前の全てのステップの最終更新日時を特定する。
以上のように本実施形態では、例えば、ステップS1006の処理を行うことにより第1の取得手段の一例が実現され、最終更新日時が、工程内容更新時間の一例となる。
次に、ステップS1007において、処理実行部313は、ステップS1003又はS1004で特定された"処理を実行するデータの最終処理日時"と、ステップS1006で特定された最終更新日時とを比較する。ここで、ステップS1004においては、例えば、図7のステップS706で得られた日時の情報が最終処理日時となる。そして、処理実行部313は、最終処理日時よりも後の日時が最終更新日時となっているステップが、例えばステップS1001で特定されたステップよりも前のステップに存在するか否かを判定する。
この判定の結果、最終処理日時よりも後の日時が最終更新日時となっているステップが存在する場合には、ステップS1010に進み、処理実行部313は、ステップS1001で特定されたステップで実行する処理の実行をキャンセル(中止)する。そして、UI処理部311は、指示されたワークフロー処理で扱うデータが、現在のワークフロー定義にそぐわないために、指示されたワークフロー処理を続行することができない旨を操作部230に表示してユーザに通知する。そして、図10のフローチャートによる処理を終了する。
以上のように本実施形態では、例えば、ステップS1007、S1010の処理を行うことにより中止手段の一例が実現される。
一方、最終処理日時よりも後の日時が最終更新日時となっているステップが存在しない場合には、ステップS1008に進む。ステップS1008に進むと、処理実行部313は、ステップS1001で特定されたワークフロー定義における"同じくステップS1001で特定されたステップ"に定義されている処理内容を特定して、処理を実行する。
次に、ステップS1009において、処理実行部313は、ステップS1008で処理を実行した処理済データに対して、処理を実行した日時の情報を最終処理日時として設定する。例えば、処理済データが電子データの場合には、当該処理済データの属性として最終処理日時情報が設定される。ステップS1008で実行された処理がプリント処理であれば、ステップS1008とステップS1009で実行される処理は、図6で説明した処理になる。尚、ステップS1008で処理を実行した処理済データに対して、既に最終処理日時が設定されている場合には、その最終処理日時に対して、新たに得られた最終処理日時を上書きして最終処理日時を更新する。
以上のように本実施形態では、例えば、ステップS1009の処理を行うことにより付加手段の一例が実現される。
以上のように本実施形態では、ワークフロー処理がスキャン処理の場合には、紙に埋め込まれた最終処理日時を抽出して、更にスキャン処理を実行した処理日時を最終処理日時として、スキャン処理で読み出した原稿のデータに埋め込む。一方、ワークフロー処理がプリント処理の場合には、出力される紙(原稿)に最終処理日時情報が2次元バーコード等を使って埋め込まれる。
(具体例1)
次に、図9に示したワークフローのステップS1からステップS4までの各ステップでの処理を、図10のフローチャートを参照しながら説明する。
図9のステップS1の処理が課員から指示された場合、まず、ステップS1001において、ワークフロー定義ファイル910が、ワークフロー定義ファイル情報格納部321内から検索される。そして、ワークフロー定義ファイル910で実行されるステップがステップS1(step no="1")であることが特定される。
次に、ステップS1002において、ワークフロー定義ファイル910のステップS1の処理がプリント処理であると判定され、ステップS1003に進む。
そして、ステップS1003に進むと、プリントするデータがボックス文書情報格納部322内から検索され、そのデータから、そのデータの最終処理日時が特定される。ステップS1でプリントされるのは購買申請書のテンプレートデータである。このため、最終処理日時としては、テンプレートデータの作成日時が設定されているか、特に値が設定されていないかの何れかになる。
次に、ステップS1005において、ステップS1より前のステップが、ワークフロー定義ファイル910に存在しないと判定されて(Noと判定されて)ステップS1008へ進む。そして、ステップS1008、S1009において、帳票ボックス内の購買申請書のデータが、ボックス文書情報格納部322から検索される。ここで、ステップS1はプリント処理であるため、図6で説明したように処理実行日時のデータは、プリントデータに埋め込める形式のデータに変換された後に、購買申請書データに埋め込まれる。そして、処理実行日時が埋め込まれた購買申請書データのプリント処理が実行される。そして、ステップS1の処理が終了となる。ここでは、ステップS1の処理実行日時を「2007/05/01 12:00」とする。
ユーザは、ステップS1の処理が実行された後、プリントされた購買申請書に申請内容の記載を行う。そして、申請内容の記載が終了した後に、ステップS2の処理が実行される。
ステップS2の処理が課員から指示された場合、まず、ステップS1001において、ワークフロー定義ファイル910で実行されるステップがステップS2(step no="2")であることが特定される。
次に、ステップS1002において、ワークフロー定義ファイル910のステップS2の処理がスキャン処理であると判定され、ステップS1004に進む。そして、ステップS1004において、図7で説明した処理が実行される。
まず、ステップS701において、スキャナ240に、課員によって設置された購買申請書が存在するか否かが判定される。そして、課員によって設置された購買申請書が存在することが検知されるとステップS702へ進む。
ステップS702に進むと、スキャナ240で、課員が作成した購買申請書のデータが読み取られる。
次に、ステップS703において、現在の日時が特定され、ステップS704において、現在の日時の情報が、購買申請書のデータに埋め込み可能なデータ形式に変換される。
次に、ステップS705において、購買申請書のデータに、処理実行日時の情報が埋め込まれているか否かが判定される。ここでは、ステップS1の処理で埋め込まれた処理実行日時の情報が購買申請書のデータに存在する。したがって、ステップS706に進み、その処理実行日時の情報が最終処理日時の情報として抽出される。
次に、ステップS707において、ステップS704で変換された"現在の日時の情報"が、購買申請書のデータに埋め込まれる。そして、ステップS708において、ステップS702で読み取られた購買申請書のデータと、ステップ706で抽出された処理実行日時の情報とが相互に関連付けられてボックス文書情報格納部322内に一時的に保存される。
以上の図7に示した処理が終了すると、ステップS1005に進む。ステップS1005では、ステップS2より前のステップS1が、ワークフロー定義ファイル910に存在すると判定されて(Yesと判定されて)ステップS1006に進む。ステップS1006に進むと、ステップS1の最終更新日時「2007/04/01 12:00」が、ワークフロー定義ファイル910から特定される。
次に、ステップS1007において、ステップS1の最終処理日時「2007/05/01 12:00」よりも後の日時が最終更新日時となっているステップが存在しないと判定され、ステップS1008に進む。ステップS1008に進むと、スキャン処理が行われた購買申請書のデータを申請ボックスへ保存する処理と、購買の申請があったこと(購買の承認依頼)を示す電子メールの通知を課長のアドレスに送信する処理とが実行される。
次に、ステップS1009において、申請ボックスに保存された購買申請書のデータに、処理実行日時の情報が、購買申請書のデータの属性として設定され、ステップS2の処理が終了となる。ここでは、ステップS2の処理実行日時を「2007/05/08 10:00」とする。
ステップS2の処理が実行され、電子メールによる通知を受けた課長が、購買の申請があったことを認識すると、購買申請書のデータの確認を行うためにステップS3の処理が実行される。
ステップS3の処理の実行が課長から指示されると、まず、ステップS1001において、ワークフロー定義ファイル910で実行されるステップがステップS3(step no="3")であることが特定される。
次に、ステップS1002において、ワークフロー定義ファイル910のステップS3の処理はスキャン処理ではないと判定され、ステップS1003に進む。
そして、ステップS1003に進むと、ボックス文書情報格納部322に保存されている申請ボックス内の購買申請書のデータと、その購買申請書のデータの属性である最終処理日時情報「2007/05/08 10:00」とが特定される。
次に、ステップS1005において、ステップS3よりも前のステップS1、S2が存在すると判定されて(Yesと判定されて)ステップS1006に進む。
ステップS1006に進むと、ステップS1とステップS2の最終更新日時「2007/04/01 12:00」が、ワークフロー定義ファイル910から特定される。
次に、ステップS1007において、ステップS2の最終処理日時「2007/05/08 10:00」よりも後の日時が最終更新日時となっているステップが存在しないと判定され、ステップS1008に進む。ステップS1008に進むと、申請ボックス内の購買申請書のデータ、ボックス文書情報格納部322から検索される。ここで、ステップS3はプリント処理であるため、プリント処理が実行される。図6で説明したように処理実行日時のデータは、プリントデータに埋め込める形式のデータに変換された後に、購買申請書データに埋め込まれる。そして、処理実行日時が埋め込まれた購買申請書データのプリント処理が実行される。ここでは、ステップS3の処理実行日時を「2007/05/08 14:00」とする。
尚、ステップS2で保存された申請ボックス内の購買申請書のデータは、プリントが完了した後に削除されても、一定時間経過後に自動的に削除されてもよい。また、ステップS2で保存された申請ボックス内の購買申請書のデータを削除せずに、当該購買申請書のデータにステップS3の処理が実行されたことを示す情報を付加し、処理済データの履歴を保存してもよい。
ステップS3の処理で申請された購買申請書を課長がチェックして、購買申請書に課長の承認印を付して、購買を行う部門へ購買申請書の書類を転送するためにステップS4の処理が実行される。
ステップS4の処理の実行が課長から指示されると、まず、ステップS1001において、ワークフロー定義ファイル910で実行されるステップがステップS4(step no="4")であることが特定される。
次に、ステップS1002において、ワークフロー定義ファイル910のステップS2の処理がスキャン処理であると判定され、ステップS1004に進む。
そして、ステップS1004において、図7で説明した処理が実行される。
まず、ステップS701において、スキャナ240に、課長によって設置された"承認印が押印された購買申請書"が存在するか否かが判定される。そして、課長によって設置された購買申請書が存在することが検知されるとステップS702へ進む。
ステップS702に進むと、スキャナ240で、課長が作成した購買申請書のデータが読み取られる。
次に、ステップS703において、現在の日時が特定され、ステップS704において、現在の日時の情報が、購買申請書のデータに埋め込み可能なデータ形式に変換される。
次に、ステップS705において、購買申請書のデータに、前述したステップS3の処理で埋め込まれた処理実行日時の情報(「2007/05/08 14:00」)が存在すると判定され、ステップS706に進む。ステップS706に進むと、その処理実行日時の情報が最終処理日時の情報として抽出される。
次に、ステップS707において、ステップS704で変換された"現在の日時の情報"が、購買申請書のデータに埋め込まれる。そして、ステップS708において、ステップS702で読み取られた購買申請書のデータと、ステップ706で抽出された処理実行日時の情報とが相互に関連付けられてボックス文書情報格納部322内に一時的に保存される。
以上の図7に示した処理が終了すると、ステップS1005に進む。ステップS1005では、ステップS4より前のステップS1〜S3が、ワークフロー定義ファイル910に存在すると判定されて(Yesと判定されて)ステップS1006に進む。ステップS1006に進むと、ステップS1〜S3の最終更新日時「2007/04/01 12:00」が、ワークフロー定義ファイル910から特定される。
次に、ステップS1007において、ステップS706で抽出された最終処理日時「2007/05/08 14:00」は、ステップS1〜S3の最終更新日時「2007/04/01 12:00」よりも後の日時であるため、ステップS1008に進む。ステップS1008に進むと次の処理が行われる。すなわち、スキャン処理が行われた購買申請書のデータを、承認した日付をファイル名に付与して承認ボックスへ保存する処理と、当該購買申請書を承認したこと及び購買処理を依頼することを、総務部のアドレスに対して電子メールで通知する処理とが実行される。
次に、ステップS1009において、承認ボックスに保存された購買申請書のデータに対して、処理実行日時の情報が、購買申請書のデータの属性として設定され、ワークフローの処理が終了となる。
(具体例2)
次に、ステップS1の処理で使用される購買申請書のテンプレートファイルが、変更された場合の処理を、図10のフローチャートを参照しながら説明する。ここでは、購買申請書のテンプレートが「2007/05/05 12:00」に変更されたとする。図11は、購買申請書のテンプレートが変更された後のワークフロー定義ファイル911の一例を示す図である。
ステップS1では、具体例1の購買申請書のデータのプリント処理が行われたとする。つまり、ステップS1では、変更前の購買申請書のテンプレートが用いられ、プリントされた購買申請書のデータには、具体例1で例示した処理実行日時「2007/05/01 12:00」のデータが最終処理日時のデータとして埋め込まれている。
ここで、課員が「2007/05/08 10:00」にステップS2の処理の実行を指示したとする。そうすると、まず、ステップS1001において、ワークフロー定義ファイル911で実行されるステップがステップS2(step no="2")であることが特定される。
次に、ステップS1002において、ワークフロー定義ファイル911のステップS2の処理がスキャン処理であると判定され、ステップS1004に進む。そして、ステップS1004において、図7で説明した処理が実行される。
まず、ステップS701において、スキャナ240に、課員によって設置された購買申請書が存在するか否かが判定される。そして、課員によって設置された購買申請書が存在することが検知されるとステップS702に進む。
ステップS702に進むと、スキャナ240で、課員が作成した購買申請書のデータが読み取られる。
次に、ステップS703において、現在の日時が特定され、ステップS704において、現在の日時の情報が、購買申請書のデータに埋め込み可能なデータ形式に変換される。 次に、ステップS705において、購買申請書のデータに、処理実行日時の情報が埋め込まれているか否かが判定される。ここでは、ステップS1の処理で埋め込まれた処理実行日時の情報が購買申請書のデータに存在する。したがって、ステップS706に進み、その処理実行日時の情報が最終処理日時の情報として抽出される。
次に、ステップS707において、ステップS704で変換された"現在の日時の情報"が、購買申請書のデータに埋め込まれる。そして、ステップS708において、ステップS702で読み取られた購買申請書のデータと、ステップ706で抽出された処理実行日時の情報とが相互に関連付けられてボックス文書情報格納部322内に一時的に保存される。
以上の図7に示した処理が終了すると、ステップS1005に進む。ステップS1005では、ステップS2より前のステップS1が、ワークフロー定義ファイル911に存在すると判定されて(Yesと判定されて)ステップS1006に進む。ステップS1006に進むと、ステップS1の最終更新日時「2007/05/05 12:00」が、ワークフロー定義ファイル911から特定される。
次に、ステップS1007において、ステップS1の最終処理日時「2007/05/01 12:00」よりも後の日時が最終更新日時となっているステップが存在すると判定され、ステップS1010に進む。ステップS1010に進むと、これ以上処理を継続することができないため、処理をキャンセルする旨と購買申請書のテンプレートが変更された旨の通知(画像)が操作部230に表示される(課員に通知される)。そして、処理がキャンセルされ、続いてステップS1004で読み取った購買申請書のデータが削除されて処理が終了する。
以上のように本実施形態では、購買申請書のテンプレートが変更されて、購買申請書を再度、作成しなおさなければならないような場合には、処理が継続されないように適切に処理をキャンセルすることが可能である。
(具体例3)
次に、ステップS2、S3の処理が変更・追加された場合の処理を、図10のフローチャートを参照しながら説明する。ここでは、処理の手戻りを減らすために課長の承認の前に在庫の確認を行いたいと考え、次のような変更が行われたとする。すなわち、ステップS2で課長への購買申請書の申請を行った後、課長による購買申請書の確認が行われる前に、購買担当者へ在庫の確認の通知を行うステップを新規に追加する。この新規に追加されたステップで購買担当者が在庫の確認を行って、在庫の確認がとれた後に、購買申請書の承認を依頼するための電子メールの通知を課長に対して行う。
前述したステップS3、S4は、新規に追加されたステップによって、夫々、ステップS4、S5に変更される。ここでは、このようなワークフローの変更が「2007/05/08 12:00」に行われたとする。図12は、ワークフローが変更された後のワークフロー定義ファイル912の一例を示す図である。
ステップS2では、具体例1のようにして、スキャン処理が行われた購買申請書のデータを申請ボックスへ保存する処理と、購買の申請があったことを示す電子メールの通知を課長のアドレスに送信する処理とが行われたとする。つまり、ステップS2では、課長のアドレスに、購買の申請があったことを示す電子メールが送信されており、購買担当者に対して在庫の確認が依頼されていない。したがって、スキャナ240で読み取られた購買申請書のデータには、「2007/05/08 10:00」の最終処理日時が埋め込まれている。そして、ここでは、課長は、ワークフロー定義ファイルが更新されたことに気づかずに、課員から送信された電子メールを見て、具体例1と同様に「2007/05/08 14:00」に、変更前のステップS3の処理の実行を指示したとする。
ステップS2の処理が実行され、電子メールによる通知を受けた課長は、ワークフロー定義ファイルの変更があったことに気づかず、購買の申請があったことを認識しているだけである。このため、課長が購買申請書のデータの確認を行うための指示を行うと、ステップS1001において、ワークフロー定義ファイル912で実行されるステップがステップS4(step no="4")であることが特定される。
次に、ステップS1002において、ワークフロー定義ファイル912のステップS4の処理はスキャン処理ではないと判定され、ステップS1003に進む。
そして、ステップS1003に進むと、ボックス文書情報格納部322に保存されている申請ボックス内の購買申請書のデータと、その購買申請書のデータの属性である最終処理日時情報「2007/05/08 10:00」とが特定される。
次に、ステップS1005において、ステップS4よりも前のステップS1〜S3が存在すると判定されて(Yesと判定されて)ステップS1006に進む。
ステップS1006に進むと、ステップS2とステップS3の最終更新日時「2007/05/08 12:00」が、ワークフロー定義ファイル912から特定される。
ステップS2、S3の最終更新日時は「2007/05/08 12:00」である。よって、ステップS1007において、ステップS2の最終処理日時「2007/05/08 10:00」よりも後の日時が最終更新日時となっているステップS2、S3が存在すると判定される。そして、ステップS1010に進み、処理がキャンセルされる。このとき、処理をキャンセルする旨と、ワークフロー定義ファイルが更新されている旨が操作部230を通して課長に通知される。
以上のように本実施形態では、ワークフローが変更されたり追加されたりして、途中まで処理されたジョブが、必要な処理を通っていなかった場合には、処理が継続されていないように適切に処理をキャンセルすることが可能である。
(具体例4)
具体例3では、ステップS2の処理を実行したのが「2007/05/08 10:00」である場合を示したが、ここでは、ステップS2の処理を実行したのが「2007/05/08 13:00」であったとする。この他の点は、具体例3と同じである。すなわち、ワークフローの変更が「2007/05/08 12:00」に行われているので、本例では、ステップS2の処理を実行したときには、既に新しいワークフロー定義ファイル912にワークフロー定義ファイルが更新されていたことになる。このような場合には、具体例3と同じようにステップが追加されてワークフロー定義ファイルが更新されているが、具体例3と同じように課長がワークフロー定義ファイルの変更を認識せずに購買申請書のチェックを行っても処理はキャンセルされずに継続される。ステップS1006において、ステップS2、S3の最終更新日時「2007/05/08 12:00」よりも、ステップS2の最終処理日時「2007/05/08 13:00」の方が後であると判定されるためである。
ステップS2の処理が課員から指示されると、ワークフロー定義ファイル912で実行されるステップがステップS2(step no="2")であることが特定される。すなわち、新しいステップS2の処理が実行され、購買担当者のアドレスに、在庫の確認を依頼することを示す電子メールが送信される。このとき、購買担当者が、ボックス文書情報格納部322内の購買申請書のデータにアクセスしなくてもよいように、その購買申請書のデータと同じデータが、電子メールに添付されて送信されるようにするのが好ましい。購買担当者は、電子メールを受信したら、その電子メール添付されている購買申請書のデータを印刷して、その内容を確認して在庫の確認を行う。ここでは、購買担当者が在庫の確認がとれたとして説明を行う。
ステップS3の処理が購買担当者から指示されると、ステップS1001において、ワークフロー定義ファイル912で実行されるステップがステップS3(step no="3")であることが特定される。次に、ステップS1002において、ワークフロー定義ファイル912のステップS3の処理がスキャン処理であると判定される。そして、ステップS1004に進み、図7に示したスキャン処理が実行される。このとき、ステップS706で抽出される処理実行日時の情報は、ステップS2のスキャン処理のときに購買申請書のデータに埋め込まれた処理実行日時の情報となる。すなわち、電子メールに添付されていた購買申請書のデータに埋め込まれている処理日時情報となる。そのため、このときに抽出される日時は「2007/05/08 13:00」となる。
ステップS1004でスキャン処理が実行されると、ステップS1005において、ステップS3より前のステップS1、S2が、ワークフロー定義ファイル912に存在すると判定されて(Yesと判定されて)ステップS1006に進む。ステップS1006に進むと、ステップS1の最終更新日時「2007/04/01 12:00」とステップS2の採取更新日時「2007/05/08 12:00」が、ワークフロー定義ファイル912から特定される。そして、ステップS1007において、ステップS2の最終処理日時「2007/05/08 13:00」よりも後の日時が最終更新日時となっているステップが存在しないと判定され、ステップS1008に進む。ステップS1008に進むと、購買の申請があったこと(購買の承認依頼)を示す電子メールの通知を課長のアドレスに送信する処理と、申請ボックス内の購買申請書のデータの属性である最終処理日時を更新する処理とが行われる。例えば、このステップS3の処理実行日時(最終処理日時)が「2007/05/09 12:00」であったとする。
電子メールによる通知を受けた課長が購買申請書のデータの確認を行うためにステップS4の処理が実行された場合、このステップS4で処理される購買申請書のデータの最終処理日時は「2007/05/09 12:00」である。一方、ステップS4よりも前のステップS1〜S3の最終更新日時は、夫々「2007/04/01 12:00」、「2007/05/08 12:00」、「2007/05/08 12:00」である。このため、購買申請書のデータの最終処理日時「2007/05/09 12:00」の方が、ステップS1〜S3の最終更新日時よりも後となる。よって、ステップS1007でYesと判定され、正常に処理が継続されることになる(ステップS1008、S1009)。
以上のように本実施形態では、単にワークフロー定義ファイルが更新されたからといって、全てのジョブをキャンセルしたりせずに、そのまま継続しても問題ないステップまでのジョブであれば、適切に処理することが可能である。
以上のように本実施形態では、ワークフロー定義ファイル910〜912の各ステップに、更新した日時に関する最新更新日時情報を付与する。また、ワークフロー定義ファイル910〜912の各ステップを実行した際に、その実行した日時に関する処理実行日時情報を、そのステップで処理したデータに付与する。
そして、ワークフロー定義ファイル910〜912の各ステップを実行するに際し、そのステップで処理するデータに付与されている処理実行日時情報から、そのデータの最終の処理日時を特定する。次に、実行対象のステップ(ジョブ)よりも前のステップ(ジョブ)における最新更新日時情報から特定される更新日時が、実行対象のステップで処理されるデータの最終の処理日時よりも後である場合には、実行対象のステップの処理をキャンセルする。一方、実行対照のステップよりも前のステップにおける最新更新日時情報から特定される更新日時が、実行対象のステップで処理されるデータの最終の処理日時よりも後でない場合には、実行対象のステップの処理を続行する。したがって、ワークフロー定義が変更されたり追加されたりした場合に、処理途中のジョブのキャンセルと続行とを適切に判断することが、ワークフローで実行されるジョブを管理する管理サーバを使用せずに実現できる。よって、ワークフローで実行されるジョブを管理するサーバを使用せずに、ワークフローを適切に実行できる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。前述した第1の実施形態では、実行対象のステップよりも前のステップにおける更新日時が、実行対象のステップで処理されるデータの最終の処理日時よりも後である場合には、実行対象のステップの処理を無条件でキャンセルするようにした。これに対し、本実施形態では、このような場合に、実行対象のステップの処理をキャンセルするか続行するかを示す情報をワークフロー定義ファイルに追加し、条件によっては処理を続行できるようにする。このように本実施形態と前述した第1の実施形態とは、ワークフロー定義ファイルの内容と、実行対象のステップよりも前のステップにおける更新日時が、実行対象のステップで処理されるデータの最終の処理日時よりも後である場合の処理とが主として異なる。したがって、本実施形態の説明において、第1の実施形態と同一の部分については、図1〜図12に付した符号と同一の符号を付すこと等により詳細な説明を省略する。
図13は、ワークフロー定義ファイル913の一例を示す図である。
図13に示すワークフロー定義ファイル913は、図12に示したワークフロー定義ファイル912と同じワークフローである。このワークフロー定義ファイル913では、ステップS2、S3に対して「allow="step5"」と定義されている。このため、実行対象のステップ(ジョブ)がステップS5以降であれば、ステップS2、S3の最新更新日時が、実行対象のステップ(ジョブ)の最終処理日時よりも後であったとしても、そのステップ(ジョブ)の処理をキャンセルせずに続行を許可する。
課長による購買申請書の確認の処理までが「2007/05/08 10:00」までに実行されていたとする。そして、「2007/05/08 12:00」にワークフロー定義ファイルが図9に示したワークフロー定義ファイル910から図13に示すワークフロー定義ファイル913に更新されたとする。この場合、購買申請書の確認のためにプリントした購買申請書には、最終処理日時として「2007/05/08 10:00」が埋め込まれて印刷されている。そして、購買申請書の承認を行うために、課長が、「2007/05/08 13:00」に、画像形成装置110の購買依頼の承認ボタンを選択し、ステップS5の処理の実行を指示した場合の処理を図14と図7のフローチャートを参照しながら説明する。
課長から購買申請書の承認の実行が指示されると、ステップS1401において、ワークフロー定義ファイル913で実行されるステップがステップS5(step no="5")であると判定される。
次に、ステップS1402において、ワークフロー定義ファイル913のステップS5の処理がスキャン処理であると判定され、ステップS1404に進む。そして、ステップS1404において、図7で説明した処理が実行される。
まず、ステップS701において、スキャナ240に、課長によって設置された"承認印が押印された購買申請書"が存在するか否かが判定される。そして、課長によって設置された購買申請書が存在することが検知されるとステップS702へ進む。
ステップS702に進むと、スキャナ240で、課長が作成した購買申請書のデータが読み取られる。
次に、ステップS703において、現在の日時が特定され、ステップS704において、現在の日時の情報が、購買申請書のデータに埋め込み可能なデータ形式に変換される。
次に、ステップS705において、購買申請書のデータに、ステップS3のプリント処理で埋め込まれた処理実行日時の情報(「2007/05/08 10:00」)が存在すると判定され、ステップS706に進む。ステップS706に進むと、その処理実行日時の情報が最終処理日時の情報として抽出される。
次に、ステップS707において、ステップS704で変換された"現在の日時の情報" 「2007/05/08 13:00」が、購買申請書のデータに埋め込まれる。そして、ステップS708において、ステップS702で読み取られた購買申請書のデータと、ステップ706で抽出された処理実行日時の情報とが相互に関連付けられてボックス文書情報格納部322内に一時的に保存される。
以上のように本実施形態では、例えば、ステップS1404(S706)の処理を行うことにより第2の取得手段の一例が実現され、例えば、最終処理日時が、工程実行時間の一例となる。
以上の図7に示した処理が終了すると、ステップS1405に進む。ステップS1405に進むと、ステップS5より前のステップS1〜S3が、ワークフロー定義ファイル913に存在すると判定されて(Yesと判定されて)ステップS1406に進む。ステップS1406では、ステップS1〜S4の最終更新日時の情報と、最終更新日時よりも前の最終処理日時のステップ(ジョブ)を許可するかどうかを示す許可情報が特定される。
以上のように本実施形態では、例えば、ステップS1406の処理を行うことにより第1の取得手段の一例が実現され、最終更新日時が、工程内容更新時間の一例となり、更に、許可情報が、処理可否情報の一例となる。
次に、ステップS1407において、ステップS706で抽出された最終処理日時「2007/05/08 10:00」は、ステップS2、S3の最終更新日時「2007/05/08 12:00」よりも前の日時となるため、ステップS1410に進む。
ステップS1410に進むと、ステップS706で抽出された最終処理日時よりも最終更新日時が後であるステップS2、S3に許可情報が存在するか否かを、ワークフロー定義ファイル913から判定する。ワークフロー定義ファイル913のステップS2、S3には、「allow="step5"」という許可情報が存在するため、ステップS1411へ進む。ステップS1411に進むと、実行対象のステップであるステップS5の実行が許可情報によって許可されているか否かを判定する。「allow="step5"」という許可情報により、ステップS5の実行は許可されている。このため、ステップS1408に進む。尚、ステップS1407でNoと判定された場合にもステップS1408に進む。また、ステップS1410、S1411は、処理実行部313により行われる。
ステップS1408に進むと次の処理が行われる。すなわち、スキャン処理が行われた購買申請書のデータを承認ボックスへ承認した日付をファイル名に付与して保存する処理と、当該購買申請書を承認したことと購買処理を依頼することとを、総務部のアドレスに対して電子メールで通知する処理とが実行される。
次に、ステップS1409において、承認ボックスに保存された購買申請書のデータに対して、処理実行日時の情報が、購買申請書のデータの属性として付加されて、処理が終了する。
以上のように本実施形態では、例えば、ステップS1409の処理を行うことにより付加手段の一例が実現される。
次に、課員による購買申請書の申請の処理までが「2007/05/08 10:00」までに実行されていたとする。そして、「2007/05/08 12:00」にワークフロー定義ファイルが図9に示したワークフロー定義ファイル910から図13に示すワークフロー定義ファイル913に更新されたとする。この場合、申請ボックス内の購買申請書のデータには、属性として最終処理日時「2007/05/08 10:00」が設定されている。そして、購買申請書の確認を行うために、課長が、「2007/05/08 13:00」に、画像形成装置110の購買依頼チェックのボタンを選択し、変更前のステップS3の処理の実行を指示したとする。この場合の処理を図14のフローチャートを使用しながら説明する。
課長から購買申請書の確認が指示されると、ステップS1401において、ワークフロー定義ファイル913で実行されるステップがステップS4(step no="4")であることが特定される
次に、ステップS1402において、ワークフロー定義ファイル913のステップS4の処理はスキャン処理ではないと判定され、ステップS1403に進む。ステップS1403に進むと、ボックス文書情報格納部322に保存されている申請ボックス内の購買申請書のデータと、その購買申請書のデータの属性である最終処理日時情報「2007/05/08 10:00」とが特定される。
以上のように本実施形態では、例えば、ステップS1403の処理を行うことにより第2の取得手段の一例が実現される。
次に、ステップS1405において、ステップS4よりも前のステップS1〜S3が存在すると判定されて(Yesと判定されて)ステップS1406に進む。
ステップS1406に進むと、ステップS1〜S3の最終更新日時の情報と、最終更新日時よりも前の最終処理日時のステップ(ジョブ)を許可するかどうかを示す許可情報とが特定される。そして、ステップS1407において、ステップS2、S3の最終更新日時「2007/05/08 12:00」よりも、最終処理日時「2007/05/08 10:00」が前であると判定されてステップS1410に進む。
ステップS1410に進むと、最終処理日時よりも最終更新日時が後であるステップS2、S3に許可情報があるので、ステップS1411に進む。ステップS1411に進むと、実行対象のステップであるステップS4の実行が許可情報によって許可されているか否かを判定する。「allow="step5"」という許可情報により、ステップS4の実行は許可されていない。よって、ステップS1412に進み、処理がキャンセルされる。
以上のように本実施形態では、例えば、ステップS1407、S1410〜S1412の処理を行うことにより中止手段の一例が実現される。
尚、ステップS1403の処理は、図10に示したステップS1103の処理と同じであるので、本実施形態では、その詳細な説明を省略する。
以上のように本実施形態では、実行対象のステップ(ジョブ)の最新更新日時よりも前の最終処理日時のステップ(ジョブ)の実行を許可するかどうかを示す許可情報を、ワークフロー定義ファイル913の少なくとも1つのステップに付加するようにした。したがって、第1の実施形態で説明した効果に加え、ワークフロー定義が変更されたり追加されたりしても、処理途中のジョブのキャンセルする必要がないようなジョブを処理しているかどうかを、管理サーバを用いることなく判定できるという効果が得られる。例えば、既に承認が降りてしまう段階まできているのであれば在庫の確認は行っていなくても良いが、申請書の確認が行われる段階であり、承認のための作業が行われる前であれば在庫の確認を行ったほうがよい場合等にも処理を実行するか否かを適切に判断できる。
尚、本実施形態では、許可情報が、実行するワークフローの進度に応じて各工程の実行を許可するか否かを示すものである場合を例に挙げて示したが、許可情報は、必ずしもこのようなものに限定されるものではない。例えば、許可情報は、実行の許否のみを示す情報であってもよい。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。本実施形態では、処理をキャンセルする際に、処理の内容に応じてキャンセルする方法を異ならせるようにする。このように本実施形態と前述した第1、第2の実施形態とは、処理をキャンセルする方法の一部が主として異なる。したがって、本実施形態の説明において、第1、第2の実施形態と同一の部分については、図1〜図14に付した符号と同一の符号を付すこと等により詳細な説明を省略する。
図15は、処理をキャンセルする際のワークフロー処理ソフトウェアの処理の一例を説明するフローチャートである。図15のフローチャートは、例えば、図10のステップS1010、図14のステップS1412の代わりに実行されるものである。
まず、ステップS1501において、処理実行部313は、ユーザによって実行が指示されたステップ(ジョブ)の処理内容を特定する。
次に、ステップS1502において、処理実行部313は、ステップS1501で特定された処理内容に印刷処理があるか否かを判定する。この判定の結果、印刷処理がない場合には、ステップS1503を省略して後述するステップS1504に進む。
一方、印刷処理がある場合には、ステップS1503に進む。ステップS1503に進むと、処理実行部313は、プリントデータに処理継続無効化情報を埋め込む。処理継続無効化情報とは、本来埋め込む最終処理日時情報ではなく、スキャン処理の禁止を指示する地紋や、2次元バーコードによる情報やキャンセルされたことを意味するメッセージのスタンプ情報等である。そのため、プリントされた申請書等の用紙を用いてユーザが誤って次の処理を行おうとした場合であっても、キャンセルされていることを画像形成装置110が適切に判断できる。
そして、制御部312は、処理継続無効化情報が埋め込まれたプリントデータを、イメージバスI/F205を通してプリンタ画像処理部215へ出力する。プリンタ画像処理部215は、必要に応じて画像回転部216等と連携して、そのプリントデータに対して処理を行い、処理を行ったプリントデータをデバイスI/F213を通してプリンタ250に出力する。そして、プリンタ250は、入力したプリントデータに基づいてプリントを行い、ステップS1504に進む。
ステップS1504に進むと、処理実行部313は、ステップS1501で特定された処理内容に送信処理があるか否かを判定する。この判定の結果、送信処理がない場合には、ステップS1505を省略して後述するステップS1506に進む。
一方、送信処理がある場合には、ステップS1505に進む。ステップS1505に進むと、処理実行部313は、その送信処理をキャンセルする。これにより、次の処理がユーザに通知されない。よって、この時点で処理を止めることが可能となる。そして、ステップS1506に進む。
ステップS1506に進むと、処理実行部313は、ステップS1501で特定された処理内容に、ボックスへの保存処理があるか否かを判定する。この判定の結果、ボックスへの保存処理がない場合には、ステップS1507を省略して後述するステップS1508に進む。
一方、ボックスへの保存処理がある場合には、ステップS1507に進む。ステップS1507に進むと、データ入出力部315は、本来保存するボックスではなくキャンセルデータの用のボックスに、実行対象のデータを保存する。これにより、後から間違ってキャンセルされているはずのデータが処理されることを防止できる。更に、キャンセル用ボックスをタッチパネル部420等に表示してユーザに閲覧させるようにすることで、どのジョブがキャンセルされたのかをユーザが容易に知ることができる。尚、キャンセルデータの用のボックスは、例えば、ボックス文書情報格納部322に格納されている。そして、ステップS1508に進む。
ステップS1508に進むと、処理実行部313は、ステップS1501で特定された処理内容に、文書結合やページ削除等の編集処理があるか否かを判定する。この判定の結果、編集処理がない場合には、ステップS1509を省略して、図15のフローチャートによる処理を終了する。
一方、編集処理がある場合には、ステップS1509に進む。ステップS1509に進むと、処理実行部313は、実行対象のデータに対して編集不可のロックをかける。これにより、別の処理でデータが誤って編集されてしまうことを防止でき、更に、データが編集されていないことを保証することもできる。
以上のように本実施形態では、例えば、図15のフローチャートを実行することにより実行手段の一例が実現される。
以上のように本実施形態では、処理をキャンセルするときに、ただ処理をキャンセルするだけではなく、本来行う予定としていた処理に応じて適切なキャンセル処理を行う。したがって、第1、第2の実施形態で説明した効果に加え、ユーザの誤操作や無駄な処理を防ぐことができるという効果が得られる。
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。前述した第1の実施形態では、管理サーバをシステムに設けない場合を例に挙げて説明した。これに対し本実施形態では、管理サーバをシステムに設け、当該管理サーバが一時的に動作不能となっている場合に、管理サーバを用いることなくワークフローを実行し、管理サーバが復旧した後にそのログ(記録)を管理サーバに伝えるようにする。このように本実施形態と前述した第1〜第3の実施形態は、管理サーバがシステムに設けられている点と、管理サーバを設けたことによる画像形成装置110の処理とが主として異なる。したがって、本実施形態の説明において、第1〜第3の実施形態と同一の部分については、図1〜図15に付した符号と同一の符号を付すこと等により詳細な説明を省略する。
前述した第1〜第3の実施形態で説明したように、管理サーバがシステムにない状態であっても適切にワークフローを処理できる。これに対し、本実施形態では、前述したように、本来はシステムに存在してワークフローを管理できている管理サーバが、ワークフローの管理を一時的に行えなくなってしまった場合について説明する。ここでは、管理サーバが一時的にダウンしてしまったことにより、ワークフローの管理を一時的に行えなくなってしまった場合を例に挙げて処理を説明する。
図16は、ワークフロー処理システムの全体構成の一例を示す図である。
図16に示すワークフロー処理システムは、図1に示したワークフロー処理システムに対して、ワークフロー管理サーバ140が追加されたものとなる。このワークフロー管理サーバ140は、システムで処理されている全てのワークフローの情報を管理しており、どのワークフローのどのステップまで処理されているのかを管理している。各画像形成装置110は、ワークフローの処理の実行時に、実行するステップ(ジョブ)の情報をワークフロー管理サーバ140に問い合わせることで、処理を継続するかキャンセルするかを判断する。
図18は、画像形成装置110で実行されるワークフロー処理ソフトウェアの機能構成の一例を示すブロック図である。
図18に示すワークフロー処理ソフトウェア1801は、図3に示したワークフロー処理ソフトウェア300に対し、保存情報管理部1802にログ情報格納部323が追加されたものとなる。ログ情報格納部323は、ワークフロー管理サーバ140がダウンしているときに実行したワークフローのステップ(ジョブ)の内容(記録)を記憶媒体に記憶される。
図17は、画像形成装置110内のワークフロー処理ソフトウェア1801の処理の一例を説明するフローチャートである。
まず、ステップS1701において、データ入出力部315は、UI処理部311で受信した"ユーザの指示の内容"を、ワークフロー定義ファイル情報格納部321内から検索する。そして、データ入出力部315は、検索した結果に基づいて、ユーザによって指示されたワークフロー処理に対応するワークフロー定義と、そのワークフローで実行されるステップの情報とを特定する。
次に、ステップS1702において、処理実行部313は、ステップS1701で特定したステップがワークフロー定義での一連の処理において最初のステップであるか否かを判定する。この判定の結果、ステップS1701で特定したステップが最初のステップでない場合には、後述するステップS1707に進む。
一方、ステップS1701で特定したステップが最初のステップである場合には、ステップS1703に進む。ステップS1703に進むと、制御部312は、新規のジョブを開始するため、ワークフロー管理サーバ140に対して、新規ジョブIDの発行の要求を行う。
次に、ステップS1704において、制御部312は、ステップS1703で行った要求に対する応答としての新規ジョブIDが、例えば所定時間以内に、ワークフロー管理サーバ140から受信されたか否かを判定する。この判定の結果、新規ジョブIDを受信した場合には、ステップS1705に進む。ステップS1705に進むと、処理実行部313は、新規ジョブIDのデータを、処理対象のデータに埋め込むことが可能な形式のデータに変換する。そして、後述するステップS1707に進む。
一方、ワークフロー管理サーバ140がダウンしていて新規ジョブIDを画像形成装置110に返せない状態であり、ステップS1704で新規ジョブIDを受信していないと判定された場合には、ステップS1706に進む。ステップS1706に進むと、処理実行部313は、テンポラリのジョブIDをワークフロー処理ソフトウェア1801内で発行して、そのテンポラリジョブIDを、処理対象のデータに埋め込むことが可能な形式のデータに変換する。そして、ステップS1707に進む。
ステップS1707に進むと、処理実行部313は、ステップS1701で特定されたステップでの処理が、スキャン処理か否かを判定する。この判定の結果、ステップS1701で特定されたステップでの処理が、スキャン処理である場合にはステップS1709へ進み、図7で説明したスキャン処理を実行してステップS1710へ進む。
一方、ステップS1701で特定されたステップでの処理が、スキャン処理でない場合には、ステップS1708に進む。ステップS1708に進むと、処理実行部313は、処理を実行するするデータ(例えば属性情報)から、その処理を実行するデータの最終処理日時を特定する。そして、ステップS1710に進む。
以上のように本実施形態では、例えば、ステップS1708、S1709(S706)の処理を行うことにより第2の取得手段の一例が実現され、例えば、最終処理日時が、工程実行時間の一例となる。
ステップS1710に進むと、制御部312は、ステップS1708又はステップS1709で特定した最終処理日時と、ジョブIDとを用いて、ワークフロー管理サーバ140に、処理の実行の可否を問い合わせる。
以上のように本実施形態では、例えば、ステップS1710の処理を行うことにより問い合わせ手段の一例が実現される。
次に、ステップS1711において、制御部312は、ステップS1710の問い合わせに対する応答がワークフロー管理サーバ140から、例えば所定時間以内にあったか否かを判定する。この判定の結果、ワークフロー管理サーバ140から応答があった場合はステップS1712に進む。ステップS1712に進むと、処理実行部313は、ワークフロー管理サーバ140からの応答が続行を示すものであればワークフローに定義された処理を実行する。一方、ワークフロー管理サーバ140からの応答がキャンセルを示すものであれば、処理実行部313は処理をキャンセルする。
次に、ステップS1713において、データ入出力部315は、ステップS1712での処理結果をログとして、図18に示すログ情報格納部323に記憶する。そして、制御部312は、そのログの情報をワークフロー管理サーバ140に処理結果として通知する。そして、図17のフローチャートによる処理を終了する。
ステップS1711において、ワークフロー管理サーバ140からの応答がなかった場合にはステップS1714に進む。ステップS1714に進むと、図10のステップS1005〜S1010、又は図14のステップS1405〜S1412の処理を、ローカルでのジョブ続行の判断処理として実行する。
以上のように本実施形態では、例えば、ステップS1714(ステップS1406、S1407、S1410〜S1412)の処理を行うことにより第1の取得手段、中止手段の一例が実現され、最終更新日時が、工程内容更新時間の一例となる。
そして、ステップS1715において、データ入出力部315は、ステップS1714での処理結果をログとして、ログ情報格納部323に記憶する。このとき、データ入出力部315は、ワークフロー管理サーバ140に通知せずにローカルで実施したことを、当該ログと併せてログ情報格納部323に残しておく。
以上のように本実施形態では、例えば、ステップS1714の処理を行うことにより記憶手段の一例が実現され、ログが、実行結果情報の一例となる。
ワークフロー管理サーバ140がダウンすることで、テンポラリジョブIDが発行されたり、ログ情報格納部323に記憶されているログの情報が、ワークフロー管理サーバ140を用いずにローカルで実施したものだけになったりしている場合、次の処理を行う。すなわち、画像形成装置110は、ワークフロー管理サーバ140からの応答の有無を定期的に確認する等して、ワークフロー管理サーバ140の起動を確認する。そして、ワークフロー管理サーバ140の動作の復帰(再開)を検知したら、画像形成装置110は、テンポラリジョブIDや、ローカルで実施したログの情報を、ワークフロー管理サーバ140へ送信する。このとき、画像形成装置110は、ワークフロー管理サーバ140の動作が停止してから、復帰するまでの間に得られたログの情報を選択してワークフロー管理サーバ140へ送信することもできる。ワークフロー管理サーバ140は、これらの情報を受信したら、管理しているジョブ情報のテーブルを更新して、情報を最新にする。本実施形態では、例えば、このようにして画像形成装置110が、テンポラリジョブIDや、ローカルで実施したログの情報を、ワークフロー管理サーバ140へ送信することにより、送信手段の一例が実現される。
図19は、ワークフロー管理サーバ140で管理しているジョブ情報を記憶するテーブルの一例を示す図である。
図19に示す管理テーブル1900では、ジョブIDに対応するジョブがどのワークフロー定義のジョブであり、どのステップまで進んでいており、最終のステップの処理がいつ実行されたのかの情報が管理されている。更に、ワークフロー管理サーバ140では、各ワークフローのワークフロー定義も管理されており、ワークフロー定義は常に最新に保たれている。そのため、画像形成装置110のワークフロー処理ソフトウェア1801から、ジョブIDと最終処理日時の情報を取得して、ワークフローの各ステップ(ジョブ)の続行の可否の判断の要求を受けると、ワークフロー管理サーバ140は、次の処理を必ず行える。すなわち、ワークフロー管理サーバ140は、最新のワークフロー定義を使用して、処理対象のデータの最終処理日時が、実行対象のステップにおける最終更新日時よりも前であるか否かを確実に判定することができる。
以上のように本実施形態では、ワークフロー管理サーバ140から新規ジョブIDが発行されない場合、画像形成装置110は、テンポラリジョブIDを発行する。その後、画像形成装置110は、ワークフロー管理サーバ140から応答があるか否かを確認し、応答があった場合であって、テンポラリジョブIDを発行した場合には、そのテンポラリジョブIDを使って、実行対象のステップの処理を行う。そして、画像形成装置110は、その処理のログを、テンポラリジョブIDと共に、ワークフロー管理サーバ140に送信する。
一方、ワークフロー管理サーバ140から応答がなかった場合、画像形成装置110は、第1〜第3の実施形態で説明したようにしてローカルでワークフローの処理を実行し、その処理のログと、そのログがローカルで実行されたものであることとを記憶する。その後、ワークフロー管理サーバ140からの応答があった場合に、画像形成装置110は、それらのデータを、ワークフロー管理サーバ140に送信する。
そして、ワークフロー管理サーバ140は、以上のようにして画像形成装置110から得られた情報を使って、ワークフローの進捗状況を管理する管理テーブル1900の内容を更新する。
したがって、通常はワークフローを管理しているワークフロー管理サーバ140がダウンしてしまったりメンテナンスで一時的に止まったりした場合でも、ワークフローの処理を中断することなく、いつでも可及的に適切にワークフローの処理を続行できる。更に、ワークフロー管理サーバ140で管理している情報を、実際のワークフローの実行結果に整合させることも可能になる。
(本発明の他の実施形態)
前述した本発明の実施形態におけるワークフロー実行装置を構成する各手段、並びにワークフロー実行方法の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図6、図7、図10、図14、図15、図17に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接、あるいは遠隔から供給するものを含む。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の第1の実施形態を示し、ワークフロー処理システムの全体構成の一例を示す図である。 本発明の第1の実施形態を示し、画像形成装置の構成の一例を示すブロック図である。 本発明の第1の実施形態を示し、画像形成装置で実行されるワークフロー処理ソフトウェアの機能構成の一例を示すブロック図である。 本発明の第1の実施形態を示し、画像形成装置の操作部の外観構成の一例を示す図である。 本発明の第1の実施形態を示し、キー入力部とタッチパネル部の外観構成の一例を詳細に示す図である。 本発明の第1の実施形態を示し、ワークフロー処理においてプリント処理を実行した場合の画像形成装置の処理の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、ワークフロー処理においてスキャン処理を実行した場合の画像形成装置の処理の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、ワークフロー処理ソフトウェアを実行するためにタッチパネル部に表示される画面の一例を示す図である。 本発明の第1の実施形態を示し、ワークフローのワークフロー定義ファイルの記載例を示す図である。 本発明の第1の実施形態を示し、ワークフロー処理ソフトウェアの処理の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、購買申請書のテンプレートが変更された後のワークフロー定義ファイルの一例を示す図である。 本発明の第1の実施形態を示し、ワークフローが変更された後のワークフロー定義ファイルの一例を示す図である。 本発明の第2の実施形態を示し、ワークフロー定義ファイルの一例を示す図である。 本発明の第2の実施形態を示し、ワークフロー処理ソフトウェアの処理の一例を説明するフローチャートである。 本発明の第3の実施形態を示し、ワークフロー処理ソフトウェアの処理の一例を説明するフローチャートである。 本発明の第3の実施形態を示し、ワークフロー処理システムの全体構成の一例を示す図である。 本発明の第3の実施形態を示し、ワークフロー処理ソフトウェアの処理の一例を説明するフローチャートである。 本発明の第3の実施形態を示し、画像形成装置で実行されるワークフロー処理ソフトウェアの機能構成の一例を示すブロック図である。 本発明の第3の実施形態を示し、ワークフロー管理サーバで管理しているジョブ情報を記憶するテーブルの一例を示す図である。
符号の説明
100 ネットワーク
110 画像形成装置
120 メールサーバ
130 ファイルサーバ
140 ワークフロー管理サーバ
300、1801 ワークフロー処理ソフトウェア
310 処理部
311 UI制御部
312 制御部
313 処理実行部
314 データ解析部
315 データ入出力部
320、1802 保存情報管理部
321 ワークフロー定義ファイル情報格納部
322 ボックス文書情報格納部
323 ログ情報格納部

Claims (10)

  1. ワークフローにおける工程の内容が設定されると共に、当該工程の少なくとも1つに対して、当該工程の内容が更新された時間である工程内容更新時間が設定されたワークフロー定義ファイルに基づいて、ワークフローの各工程を実行するワークフロー実行装置であって、
    前記ワークフローの工程の内容に従った処理が実行されると、当該工程の内容に従った処理が実行された時間である工程実行時間を、当該工程の内容に従った処理の実行により得られたデータに対して付加する付加手段と、
    前記ワークフローの工程の内容に従った処理を実行するに際し、前記ワークフロー定義ファイルから、前記工程内容更新時間を取得する第1の取得手段と、
    前記実行する工程の内容に従った処理で使用されるデータに対して前記付加手段により付加された工程実行時間を取得する第2の取得手段と、
    前記第1の取得手段により取得された工程内容更新時間が、前記第2の取得手段により取得された工程実行時間よりも後であると、前記実行する工程の内容に従った処理の実行を中止する中止手段とを有することを特徴とするワークフロー実行装置。
  2. 前記中止手段は、前記第1の取得手段により取得された工程内容更新時間であって、前記実行する工程よりも前の工程における工程内容更新時間が、前記第2の取得手段により取得された工程実行時間よりも後であると、前記実行する工程の内容に従った処理の実行を中止することを特徴とする請求項1に記載のワークフロー実行装置。
  3. 前記ワークフロー定義ファイルには、前記実行する工程の内容に従った処理の実行の許否を示す処理可否情報が含まれており、
    前記中止手段は、前記第1の取得手段により取得された工程内容更新時間が、前記第2の取得手段により取得された工程実行時間よりも後であり、且つ、前記処理可否情報により、前記実行する工程の内容に従った処理の実行が許可されていないと、前記実行する工程の内容に従った処理の実行を中止することを特徴とする請求項1又は2に記載のワークフロー実行装置。
  4. 前記処理可否情報は、前記実行する工程の内容に従った処理の実行を、前記ワークフローの進度に応じて許可するか否かを示す情報であり、
    前記中止手段は、前記第1の取得手段により取得された工程内容更新時間が、前記第2の取得手段により取得された工程実行時間よりも後であり、且つ、前記処理可否情報により、前記実行する工程に対して、前記実行する工程の内容に従った処理の実行が許可されていないと、前記実行する工程の内容に従った処理の実行を中止することを特徴とする請求項3に記載のワークフロー実行装置。
  5. 前記中止手段により、前記実行する工程の内容に従った処理の実行が中止されると、前記実行する工程の内容に応じて、前記実行する工程の内容に従った処理の代わりとなる処理を実行する実行手段を有することを特徴とする請求項1〜4の何れか1項に記載のワークフロー実行装置。
  6. 前記ワークフローを管理する管理サーバに、前記工程の内容に応じた処理の続行の可否を問い合わせる問い合わせ手段を有し、
    前記問い合わせ手段による問い合わせに対する応答が前記管理サーバからないと、前記第1の取得手段は、前記ワークフロー定義ファイルから、前記工程内容更新時間を取得し、前記第2の取得手段は、前記工程実行時間を取得することを特徴とする請求項1〜5の何れか1項に記載のワークフロー実行装置。
  7. 前記ワークフローの工程の内容に従った処理を実行した結果に関する実行結果情報を記憶媒体に記憶する記憶手段と、
    前記問い合わせ手段による問い合わせに対する応答がなくなった後、当該応答が再開されると、前記記憶手段により記憶された実行結果情報を前記管理サーバに送信する送信手段とを有することを特徴としているとする請求項6に記載のワークフロー実行装置。
  8. 前記付加手段は、前記工程の内容に従った処理の実行により得られたデータに、既に前記工程実行時間が付加されていると、当該工程実行時間を、新たな工程実行時間に更新することを特徴とする請求項1〜7の何れか1項に記載のワークフロー実行装置。
  9. ワークフローにおける工程の内容が設定されると共に、当該工程の少なくとも1つに対して、当該工程の内容が更新された時間である工程内容更新時間が設定されたワークフロー定義ファイルに基づいて、ワークフローの各工程を実行するワークフロー実行方法であって、
    前記ワークフローの工程の内容に従った処理が実行されると、当該工程の内容に従った処理が実行された時間である工程実行時間を、当該工程の内容に従った処理の実行により得られたデータに対して付加する付加ステップと、
    前記ワークフローの工程の内容に従った処理を実行するに際し、前記ワークフロー定義ファイルから、前記工程内容更新時間を取得する第1の取得ステップと、
    前記実行する工程の内容に従った処理で使用されるデータに対して前記付加ステップにより付加された工程実行時間を取得する第2の取得ステップと、
    前記第1の取得ステップにより取得された工程内容更新時間が、前記第2の取得ステップにより取得された工程実行時間よりも後であると、前記実行する工程の内容に従った処理の実行を中止する中止ステップとを有することを特徴とするワークフロー実行方法。
  10. ワークフローにおける工程の内容が設定されると共に、当該工程の少なくとも1つに対して、当該工程の内容が更新された時間である工程内容更新時間が設定されたワークフロー定義ファイルに基づいて、ワークフローの各工程を実行することをコンピュータに実行させるためのコンピュータプログラムであって、
    前記ワークフローの工程の内容に従った処理が実行されると、当該工程の内容に従った処理が実行された時間である工程実行時間を、当該工程の内容に従った処理の実行により得られたデータに対して付加する付加ステップと、
    前記ワークフローの工程の内容に従った処理を実行するに際し、前記ワークフロー定義ファイルから、前記工程内容更新時間を取得する第1の取得ステップと、
    前記実行する工程の内容に従った処理で使用されるデータに対して前記付加ステップにより付加された工程実行時間を取得する第2の取得ステップと、
    前記第1の取得ステップにより取得された工程内容更新時間が、前記第2の取得ステップにより取得された工程実行時間よりも後であると、前記実行する工程の内容に従った処理の実行を中止する中止ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
JP2008106071A 2008-04-15 2008-04-15 ワークフロー実行装置、ワークフロー実行方法、及びコンピュータプログラム Expired - Fee Related JP5178293B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008106071A JP5178293B2 (ja) 2008-04-15 2008-04-15 ワークフロー実行装置、ワークフロー実行方法、及びコンピュータプログラム
US12/423,705 US20090260017A1 (en) 2008-04-15 2009-04-14 Workflow execution device and workflow execution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008106071A JP5178293B2 (ja) 2008-04-15 2008-04-15 ワークフロー実行装置、ワークフロー実行方法、及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2009258912A JP2009258912A (ja) 2009-11-05
JP5178293B2 true JP5178293B2 (ja) 2013-04-10

Family

ID=41165051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008106071A Expired - Fee Related JP5178293B2 (ja) 2008-04-15 2008-04-15 ワークフロー実行装置、ワークフロー実行方法、及びコンピュータプログラム

Country Status (2)

Country Link
US (1) US20090260017A1 (ja)
JP (1) JP5178293B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5482022B2 (ja) * 2009-08-26 2014-04-23 富士ゼロックス株式会社 作業状態判定プログラム及び作業状態判定装置
JP5114522B2 (ja) * 2010-04-02 2013-01-09 京セラドキュメントソリューションズ株式会社 画像形成装置
CN103250132B (zh) 2010-12-20 2016-08-03 惠普发展公司,有限责任合伙企业 工作流增强设备、系统以及方法
CN102270127B (zh) * 2011-05-30 2014-04-16 桂林欧博仪器技术有限公司 分析仪器流程编程和控制的方法
JP5962437B2 (ja) * 2012-10-29 2016-08-03 富士ゼロックス株式会社 文書処理装置、文書処理システム及び文書処理プログラム
JP2014149707A (ja) * 2013-02-01 2014-08-21 Canon Inc システム、画像形成装置、制御方法、及びプログラム
JP2016015007A (ja) * 2014-07-02 2016-01-28 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP6558006B2 (ja) * 2015-03-20 2019-08-14 株式会社リコー 画像管理装置、画像管理方法、画像管理プログラムおよび表示システム
JP6558037B2 (ja) * 2015-04-10 2019-08-14 富士通株式会社 運用管理プログラム、運用管理方法、および運用管理装置
US9836262B2 (en) * 2015-09-29 2017-12-05 Ricoh Company, Ltd. Document audit trail for print jobs in a workflow
US11030630B2 (en) * 2016-07-29 2021-06-08 Hewlett-Packard Development Company, L.P. Workflow-authorizing computing device authentication
JP2018129714A (ja) * 2017-02-09 2018-08-16 株式会社東芝 プログラム及び情報処理装置
EP3537698B1 (en) * 2018-03-07 2022-05-18 Ricoh Company, Ltd. Information processing system, system, and method of processing workflow

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334572A (ja) * 1994-06-06 1995-12-22 Fuji Xerox Co Ltd 情報処理システム
US7221377B1 (en) * 2000-04-24 2007-05-22 Aspect Communications Apparatus and method for collecting and displaying information in a workflow system
JP4150566B2 (ja) * 2002-09-26 2008-09-17 株式会社東芝 ワークフロー実行方法とシステム、およびそのためのプログラム
CN1826610A (zh) * 2003-05-07 2006-08-30 Sap股份有限公司 包括带协作过程引擎的特设型工作流结构化处理的面向终端用户的工作流方法
US7925704B2 (en) * 2004-04-29 2011-04-12 Unspam, Llc Method and system for a reliable distributed category-specific do-not-contact list
JP2007329785A (ja) * 2006-06-09 2007-12-20 Fuji Xerox Co Ltd サービス処理装置及びサービス処理プログラム
US9081987B2 (en) * 2007-03-28 2015-07-14 Ricoh Co., Ltd. Document image authenticating server

Also Published As

Publication number Publication date
JP2009258912A (ja) 2009-11-05
US20090260017A1 (en) 2009-10-15

Similar Documents

Publication Publication Date Title
JP5178293B2 (ja) ワークフロー実行装置、ワークフロー実行方法、及びコンピュータプログラム
JP4766667B2 (ja) 表示制御装置及びその制御方法、プログラム
JP4823992B2 (ja) 印刷制御システム、印刷装置、印刷管理サーバ、印刷制御方法及びプログラム
US8601478B2 (en) Division, linking and sequential execution of workflows based on the fewest number of divided partitions
JP5301627B2 (ja) 印刷制御システム、印刷制御サーバ、画像形成装置と、その処理方法及びプログラム
JP5016874B2 (ja) 画像形成装置、データ処理方法、プログラム
JP5025342B2 (ja) 画像処理装置、画像処理システム、画像処理装置の制御方法及びプログラム
JP4916322B2 (ja) 画像処理装置および方法
JP5017143B2 (ja) 画像形成装置、データ処理方法、プログラム、及び記憶媒体
US20090116052A1 (en) System and method for saving and restoring a setting from an interrupted process
US9202154B2 (en) Information processing apparatus and method for controlling re-execution of print jobs, and storage medium
KR100956186B1 (ko) 워크플로우 지원 장치 및 그 제어 방법과 워크플로우 지원 시스템
JP2012254618A (ja) 画像形成装置、画像形成システム、制御方法、画像形成方法およびプログラム。
JP2010020639A (ja) 情報処理システム、情報処理装置及び情報処理方法並びにプログラム。
JP2010015268A (ja) 機器管理装置、機器管理方法、及びコンピュータプログラム
JP2014237305A (ja) 画像形成装置及び情報処理装置と印刷システム、及びその制御方法とプログラム
JP2010056770A (ja) 文書管理システム、画像形成装置、サーバ、文書管理方法、及びプログラム
JP4702940B2 (ja) ドキュメント管理システム及びその制御方法
JP5004740B2 (ja) 画像処理装置及びその制御方法、並びにプログラム
JP2018010686A (ja) 画像形成装置とその制御方法
JP5284322B2 (ja) 表示制御装置及びその制御方法、プログラム
JP2014141058A (ja) 画像形成装置、画像形成システム、その制御方法及びプログラム
JP5454663B2 (ja) 情報処理システム、その制御方法、及びプログラム、並びに管理サーバ、その制御方法、及びプログラム
JP2021190834A (ja) 情報処理装置、その処理方法、およびプログラム
JP2005349694A (ja) 画像形成装置および画像形成システムおよび画像形成方法およびプログラムおよび記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110408

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121130

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: 20121211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130108

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

Free format text: PAYMENT UNTIL: 20160118

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees