JP2016057948A - Information processing device, information processing system, information processing method, and program - Google Patents
Information processing device, information processing system, information processing method, and program Download PDFInfo
- Publication number
- JP2016057948A JP2016057948A JP2014184964A JP2014184964A JP2016057948A JP 2016057948 A JP2016057948 A JP 2016057948A JP 2014184964 A JP2014184964 A JP 2014184964A JP 2014184964 A JP2014184964 A JP 2014184964A JP 2016057948 A JP2016057948 A JP 2016057948A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- data
- processing
- information
- job
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、情報処理装置、情報処理システム、情報処理方法、及びプログラムに関する。 The present invention relates to an information processing apparatus, an information processing system, an information processing method, and a program.
画像形成装置において文書からスキャンされた画像データに関して、予め定義されたワークフローを実行可能なシステムが有る(例えば、特許文献1)。斯かるシステムでは、ユーザの業務フローに則した形態でデータが流れるように、ワークフローが定義される。 There is a system capable of executing a predefined workflow for image data scanned from a document in an image forming apparatus (for example, Patent Document 1). In such a system, a workflow is defined so that data flows in a form in accordance with the user's business flow.
一つのワークフローは、基本的に、データの入力処理、当該データに対する0以上の加工処理、入力処理によって入力されたデータ又は1以上の加工処理の実行によって生成されたデータの出力処理等の処理単位の組み合わせによって構成される。 One workflow basically includes processing units such as data input processing, zero or more processing processes for the data, data input by input processing or output processing of data generated by execution of one or more processing processes, and the like. Consists of a combination of
しかしながら、ワークフローを構成する処理単位が連続的、かつ、自動的に実行されてしまうのは望ましくない場合が有る。例えば、ワークフローの途中で、ユーザによる入力を待機し、ユーザによる入力に応じて、以降の処理単位を実行したい場合が有る。 However, it may not be desirable for the processing units constituting the workflow to be executed continuously and automatically. For example, in the middle of a workflow, there is a case where it is desired to wait for input by the user and execute subsequent processing units in accordance with the input by the user.
本発明は、上記の点に鑑みてなされたものであって、処理単位の組み合わせによって構成される処理フローの柔軟性を向上させることを目的とする。 The present invention has been made in view of the above points, and an object of the present invention is to improve the flexibility of a processing flow configured by a combination of processing units.
そこで上記課題を解決するため、情報処理装置は、入力されたデータに対する1以上の処理単位を、定義情報に定義された順番で実行する処理制御部と、前記1以上の処理単位のうちの一つである第一の処理単位の停止に応じ、いずれかの処理単位によって処理対象とされるデータ又はいずれかの処理単位によって生成されたデータを記憶部から取得して、取得されたデータを、前記定義情報において指定された出力先に出力する第一の出力部とを有し、前記処理制御部は、前記出力先からの、処理単位の再開要求の入力に応じ、前記第一の処理単位以降の処理単位を実行する。 Therefore, in order to solve the above problem, the information processing apparatus executes one or more processing units for input data in the order defined in the definition information, and one of the one or more processing units. In response to the stop of the first processing unit, the data to be processed by any processing unit or the data generated by any processing unit is acquired from the storage unit, the acquired data, A first output unit that outputs to the output destination specified in the definition information, and the processing control unit responds to an input of a restart request for the processing unit from the output destination. The subsequent processing unit is executed.
処理単位の組み合わせによって構成される処理フローの柔軟性を向上させることができる。 The flexibility of the processing flow configured by the combination of processing units can be improved.
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における情報処理システムの構成例を示す図である。図1において、情報処理システム1は、フロー管理サーバ10、1以上の再開指示装置20、及び1以上の画像形成装置30等を含む。各装置は、LAN(Local Area Network)又はインターネット等のネットワーク(有線又は無線の別は問わない。)を介して通信可能に接続されている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram illustrating a configuration example of an information processing system according to an embodiment of the present invention. In FIG. 1, the
フロー管理サーバ10は、ネットワークを介して受信されるデータに関して、予め定義されたワークフローを実行するコンピュータである。ワークフローとは、例えば、それぞれが独立して又は単独で完結した機能を実現する一以上の処理単位(タスク)の任意な組み合わせによって実現される処理の流れ(処理フロー)をいう。なお、上記処理単位は、一般的なワークフローの用語における、アクティビティに当てはめられてもよい。
The
再開指示装置20は、処理の進行が一時的に停止しているワークフロー(停止状態のワークフロー)の再開指示の入力に利用される装置である。すなわち、本実施の形態では、一時的に処理の進行を停止可能なワークフローを実行することができる。再開指示装置20は、例えば、PC(Personal Computer)、スマートフォン、タブレット型端末、又は画像形成装置30等であってもよい。また、再開指示装置20は、フロー管理サーバ10と同一の装置であってもよい。
The
画像形成装置30は、ワークフローの処理対象とされるデータの入力元となる装置の一例である。例えば、画像形成装置30は、原稿からスキャンされた画像データを、ワークフローに対する入力データとして、フロー管理サーバ10に送信する。なお、ワークフローに対するデータの入力元は、所定のファイルサーバの所定のフォルダへのファイルの保存によって行われてもよい。また、電子メールによるデータの送信によって行われてもよい。また、クラウドストレージへのファイルの保存によって行われてもよい。
The
図2は、本発明の実施の形態におけるフロー管理サーバのハードウェア構成例を示す図である。図2のフロー管理サーバ10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
FIG. 2 is a diagram illustrating a hardware configuration example of the flow management server according to the embodiment of the present invention. The
フロー管理サーバ10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
A program for realizing processing in the
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってフロー管理サーバ10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
The
なお、フロー管理サーバ10は、複数のコンピュータを含むコンピュータシステムであってもよい。
The
図3は、本発明の実施の形態におけるフロー管理サーバ及び再開指示装置の機能構成例を示す図である。 FIG. 3 is a diagram illustrating a functional configuration example of the flow management server and the restart instruction device according to the embodiment of the present invention.
図3において、フロー管理サーバ10は、ジョブ投入部11、フロー実行制御部12、処理部13、停止通知送信部14、パラメータ送信部15、コンテンツ送信部16、及び再開要求受信部17等を有する。これら各部は、フロー管理サーバ10にインストールされたプログラムがCPU104に実行させる処理により実現される。フロー管理サーバ10は、また、開始用ジョブキュー121、停止用ジョブキュー122、実行中ジョブ記憶部123、及びフロー定義記憶部124等の記憶部を利用する。これら各記憶部は、補助記憶装置102、又はフロー管理サーバ10にネットワークを介して接続される記憶装置等を用いて実現可能である。
In FIG. 3, the
フロー定義記憶部124は、フロー定義データを記憶する。フロー定義データとは、ワークフローの処理の流れ等に関する定義情報が記録されたデータをいう。本実施の形態において、一つのフロー定義データは、一つのワークフローに対応する。したがって、フロー定義データは、相互に処理手順の異なるワークフローごとに作成される。
The flow
ジョブ投入部11は、ワークフローの実行要求及び当該ワークフローに対する入力データ等を受信し、当該ワークフローに係るジョブ情報を開始用ジョブキュー121に投入する。本実施の形態において、ジョブとは、ワークフローの実行単位をいう。例えば、同一のワークフローが複数回実行された場合、各実行時のジョブは異なる。以下、ワークフローのジョブを、「フロージョブ」という。
The
開始用ジョブキュー121は、投入されたジョブ情報を、例えば、FIFO(First-In First-Out)形式で記憶する。ジョブ情報は、例えば、実行対象のワークフローのフロー定義データの複製に基づいて生成されるジョブ定義データや、画像形成装置30から送信される画像データ等の処理対象のデータ等を含む情報である。なお、一つのフロージョブに対するジョブ情報は、例えば、一つのフォルダに格納されて管理されてもよい。
The
フロー実行制御部12は、開始用ジョブキュー121に記憶された1以上のジョブ情報のうち、記憶順に従って実行対象とされるジョブ情報を、各処理部13がアクセス可能な実行中ジョブ記憶部123に移動する。フロー実行制御部12は、実行中ジョブ記憶部123に記憶されたジョブ情報に基づいて、フロージョブの実行を制御する。換言すれば、各処理部13は、実行中ジョブ記憶部123に記憶されたジョブ情報を参照して、当該処理部13に係る処理単位を実行する。なお、実行中ジョブ記憶部123は、フロージョブごとに形成されてもよい。
The flow
処理部13は、ワークフローを構成する処理単位(アクティビティ)ごとの処理を実行する。例えば、一つの処理単位は、一つの処理部13によって実行される。したがって、ワークフローは、相互に処理内容の異なる1以上の処理部13が実行する処理単位の接続によって実現される。但し、一つのワークフロー内において、同じ処理単位が2回以上出現してもよい。
The
本実施の形態において、フロー管理サーバ10が実行するワークフローを構成する1以上の処理単位は、入力処理、中間処理、停止処理、及び出力処理に大別される。入力処理は、例えば、画像形成装置30等の外部装置から、ワークフローに対する入力データを入力する処理である。
In the present embodiment, one or more processing units constituting a workflow executed by the
中間処理は、例えば、フロージョブの処理対象とされたデータに対する加工処理である。中間処理の一例として、ノイズ除去処理、OCR(Optical Character Recognition)処理、翻訳処理、及びデータ変換処理等が挙げられる。 The intermediate process is, for example, a processing process for data to be processed by the flow job. Examples of the intermediate processing include noise removal processing, OCR (Optical Character Recognition) processing, translation processing, data conversion processing, and the like.
停止処理は、フロージョブの途中で、ユーザによるフロージョブに対する介入を可能とするために、フロージョブの進行を一時的に停止させる処理である。フロージョブの停止状態は、フロージョブの再開が指示されるまで継続する。 The stop process is a process for temporarily stopping the progress of the flow job in order to allow the user to intervene in the flow job in the middle of the flow job. The stopped state of the flow job continues until an instruction to restart the flow job is issued.
出力処理は、フロージョブによって生成されるデータをユーザが利用可能な形態で出力する処理である。利用可能な形態には、用紙への印刷等、ユーザが直接利用な形態のみならず、電子的な保存等、ユーザが、アプリケーションプログラム等を介して利用可能な形態も含まれる。出力処理の一例として、所定のコンピュータのフォルダへの配信処理が挙げられる。また、所定のメールアドレスが配信先とされてもよい。また、画像データの入力元の画像形成装置30、又は当該画像形成装置30とは別の画像形成装置30が配信先とされてもよい。この場合、配信先の画像形成装置30によって、配信されたデータの印刷が実行されてもよい。
The output process is a process for outputting data generated by the flow job in a form usable by the user. Available forms include not only forms directly used by the user such as printing on paper, but also forms usable by the user via an application program or the like such as electronic storage. As an example of the output process, a delivery process to a folder of a predetermined computer can be cited. A predetermined mail address may be set as the delivery destination. Further, the
図3では、処理部13の一例として、OCR処理部13a、停止処理部13b、及びメール送信処理部13c等が示されている。OCR処理部13aは、処理対象のデータに対してOCR処理を実行する。停止処理部13bは、停止処理を実行する。すなわち、停止処理部13bは、フロージョブを一時停止させ、当該フロージョブに対するユーザの介入を可能とする。メール送信処理部13cは、処理対象のデータが添付された電子メールを、所定の宛先に送信する。なお、各処理部13は、それぞれ独立したプログラムモジュールが、CPU104に実行させる処理により実現されてもよい。フロー管理サーバ10(CPU104)を、処理部13として機能させるプログラムモジュールを、以下、「プラグイン」という。
In FIG. 3, as an example of the
停止通知送信部14は、フロージョブにおいて停止処理が実行され、フロージョブが停止状態となった場合に、ジョブ定義データにおいて停止通知の送信先として設定されている再開指示装置20に、フロージョブの停止通知を送信する。パラメータ送信部15は、フロージョブの停止通知の送信先である再開指示装置20からの要求に応じ、フロージョブの実行制御に利用されるパラメータのうち、ユーザによる値の変更が許容されるパラメータを、再開指示装置20に送信(出力)する。すなわち、フロージョブの停止通知の送信先が、パラメータの出力先となる。当該パラメータは、例えば、停止処理を実行した停止処理部13bより実行の順番(以下、「実行順」という。)が前である処理単位の出力情報と、停止処理部13bより実行順が後である処理単位に対してジョブ定義データにおいて設定されている入力情報とのいずれか一方、又は双方を含む情報である。いずれのパラメータについて、ユーザによる値の変更が許容されるかについては、ジョブ定義データの元となっているフロー定義データの定義に依存する。なお、停止通知送信部14によって、フロージョブの停止通知と共に、当該パラメータの情報が送信されてもよい。
When the stop process is executed in the flow job and the flow job is stopped, the stop
コンテンツ送信部16は、フロージョブの停止通知の送信先である再開指示装置20からの要求に応じ、いずれかの処理単位によって処理対象とされるデータや、いずれかの処理単位によって生成されたデータ等(以下、これらのデータを総称して「コンテンツデータ」という。)を、再開指示装置20に送信(出力)する。その結果、ユーザは、再開指示装置20において、コンテンツデータの閲覧や編集等を行うことができる。
The
再開要求受信部17は、停止中のフロージョブの再開要求を、再開指示装置20から受信する。再開要求の受信に応じ、停止中のフロージョブは、再開される。なお、フロージョブの再開要求には、パラメータ送信部15によって送信されたパラメータの値の変更結果や、コンテンツデータの編集結果等が含まれている。再開されたフロージョブは、変更結果に係るパラメータや編集結果に係るコンテンツデータ等に基づいて制御される。
The resumption
再開指示装置20は、停止通知受信部21、パラメータ取得部22、コンテンツ取得部23、表示制御部24、及び再開要求送信部25等を含む。これら各部は、再開指示装置20にインストールされた1以上のプログラムが、再開指示装置20のCPUに実行させる処理によって実現される。当該プログラムは、Webページに含まれるスクリプトであってもよい。この場合、再開指示装置20は、スクリプトを解釈可能なWebブラウザを有していればよい。
The
停止通知受信部21は、フロー管理サーバ10から送信される、フロージョブの停止通知を受信する。パラメータ取得部22は、停止通知に係るフロージョブのパラメータを、フロー管理サーバ10から取得する。コンテンツ取得部23は、停止通知に係るフロージョブのコンテンツデータを、フロー管理サーバ10から取得する。表示制御部24は、パラメータ取得部22によって取得されたパラメータの値の変更や、コンテンツ取得部23によって取得されたコンテンツデータのダウンロード及びアップロードを実行させるための画面(以下、「パラメータ編集画面」という。)を表示させる。再開要求送信部25は、パラメータ編集画面を介したユーザによるパラメータの値の変更や、コンテンツデータの編集等が終了すると、フロージョブの再開要求をフロー管理サーバ10に送信する。当該再開要求には、パラメータ編集画面におけるパラメータの値の変更結果や編集後のコンテンツデータ等が含まれる。
The stop
ところで、入力処理、中間処理、停止処理、及び出力処理のうち、各処理部13が実行するのは、中間処理、停止処理、又は出力処理である。入力処理は、ジョブ投入部11によって実行される。入力処理において、データの入力元となる外部装置は、様々である。また、外部装置ごとに、データの入力方法(フロー管理サーバ10から見た場合のデータの取得方法又は受信方法)は異なりうる。このような状況に対して柔軟に対応可能とするため、ジョブ投入部11は、例えば、図4に示されるような構成を有する。
By the way, among the input process, the intermediate process, the stop process, and the output process, each processing
図4は、ジョブ投入部の構成例を示す図である。ジョブ投入部11において、データの入力元とのやりとりは、処理部13と同様に、プラグイン可能なプログラムモジュール(プラグイン)によって実現される。図4では、スキャン入力プラグイン111、メール入力プラグイン112、及びフォルダ入力プラグイン113が例示されている。
FIG. 4 is a diagram illustrating a configuration example of the job input unit. In the
スキャン入力プラグイン111は、画像形成装置30から入力データを受信するプラグインである。すなわち、スキャン入力プラグイン111は、画像形成装置30においてスキャンされた画像データを、入力データとして画像形成装置30から受信する。画像形成装置30からは、画像データと共に、フローID等が受信される。スキャン入力プラグイン111は、受信されたフローID及び画像データに基づいて、フロー実行制御部12が予定している形式に従ったジョブ情報を生成し、当該ジョブ情報を開始用ジョブキュー121に記憶する。なお、フローIDとは、ワークフローの定義ごと(すなわち、フロー定義データごと)の識別情報である。
The scan input plug-in 111 is a plug-in that receives input data from the
メール入力プラグイン112は、所定のメールアドレス宛の電子メールによってワークフローの実行要求を受け付けるプラグインである。この場合、当該電子メールに添付されたデータが、ワークフローの処理対象とされる。当該データは、画像データであってもよいし、他の形式のデータであってもよい。メール入力プラグイン112は、所定のメールアドレス宛の電子メールを、非図示のメールサーから取得する。メール入力プラグイン112は、取得された電子メールに添付されているデータと、当該電子メールに記述されているフローID等に基づいて、フロー実行制御部12が予定している形式に従ったジョブ情報を生成し、当該ジョブ情報を開始用ジョブキュー121に記憶する。
The mail input plug-in 112 is a plug-in that accepts a workflow execution request by an e-mail addressed to a predetermined mail address. In this case, the data attached to the e-mail is a workflow processing target. The data may be image data or data in another format. The mail input plug-in 112 acquires an e-mail addressed to a predetermined mail address from a mail server (not shown). The mail input plug-in 112 executes a job according to a format scheduled by the flow
フォルダ入力プラグイン113は、所定のフォルダに対するファイルのアップロードによって、ワークフローの実行要求を受け付けるプラグインである。所定のフォルダは、フロー管理サーバ10の補助記憶装置102に形成されたフォルダでもよいし、フロー管理サーバ10にネットワークを介して接続される記憶装置(例えば、非図示のファイルサーバの記憶装置)に形成されたフォルダでもよい。フォルダ入力プラグイン113は、例えば、所定のフォルダをポーリング(周期的に参照)し、当該フォルダに、処理対象のデータを格納したファイル(以下、「データファイル」という。)、及びフローIDや設定値等を格納したファイル(以下、「書誌ファイル」という。)が保存されていれば、当該データファイル及び書誌ファイルを取得する。フォルダ入力プラグイン113は、取得されたデータファイルと、取得された書誌ファイルに格納されている情報とに基づいて、フロー実行制御部12が予定している形式に従ったジョブ情報を生成し、当該ジョブ情報を開始用ジョブキュー121に記憶する。
The folder input plug-in 113 is a plug-in that accepts a workflow execution request by uploading a file to a predetermined folder. The predetermined folder may be a folder formed in the
なお、上記以外の方法で、入力データを入力するプラグインが追加されてもよい。例えば、Webページを介して入力データを受け付けるプラグインが追加されてもよい。 Note that a plug-in for inputting input data may be added by a method other than the above. For example, a plug-in that accepts input data via a Web page may be added.
このように、本実施の形態では、入力処理、中間処理、停止処理、及び出力処理のそれぞれが、プラグインによって実現される。したがって、所望の処理を実行するプラグインを作成し、追加することによって、定義可能なワークフローのバリエーションを増加させることができる。 As described above, in the present embodiment, each of the input process, the intermediate process, the stop process, and the output process is realized by a plug-in. Therefore, by creating and adding a plug-in that executes a desired process, it is possible to increase the number of workflow variations that can be defined.
以下、フロー管理サーバ10等が実行する処理手順について説明する。図5は、ジョブ投入部が実行する処理手順の一例を説明するためのフローチャートである。なお、図5は、厳密には、ジョブ投入部11に対するいずれかのプラグインが、フロー管理サーバ10に実行させる処理である。
Hereinafter, a processing procedure executed by the
ジョブ投入部11は、ワークフローに対する入力データ及び実行対象のワークフローのフローID等を受信すると(S11でYes)、当該フローIDに対応するフロー定義データを、フロー定義記憶部124から取得する(S12)。入力データは、入力データ等の送信元が画像形成装置30であれば、スキャンされた画像データである。
When the
続いて、ジョブ投入部11は、取得されたフロー定義データの複製に基づいて、ジョブ定義データを生成する(S13)。続いて、ジョブ投入部11は、入力データ及びジョブ定義データを、開始用ジョブキュー121に記憶する(S14)。例えば、開始用ジョブキュー121として使用される所定のフォルダの下に、当該フロージョブに対応するフォルダが生成され、当該フォルダ内に、入力データ、ジョブ定義データ、及びメタ情報のそれぞれを格納するファイルが保存されてもよい。
Subsequently, the
続いて、開始用ジョブキュー121に対するジョブ情報の記憶に応じて実行される処理手順について説明する。図6は、フロー実行制御部が実行する処理手順の一例を説明するためのフローチャートである。
Next, a processing procedure executed in response to storing job information for the
フロー実行制御部12は、例えば、周期的に開始用ジョブキュー121を参照している(S101)。開始用ジョブキュー121に、1以上のジョブ情報が記憶されている場合(S101でYes)、フロー実行制御部12は、当該ジョブ情報のうち、例えば、最も古いジョブ情報を開始用ジョブキュー121から取り出し、実行中ジョブ記憶部123に移動する(S102)。すなわち、取り出されたジョブ情報は、開始用ジョブキュー121から削除される。
For example, the flow
続いて、フロー実行制御部12は、変数iに「1」を代入する(S103)。変数iは、処理対象のフロージョブ(以下、「対象フロージョブ」という。)の中で、実行対象の処理単位の実行順を格納するための変数である。以下、i番目に実行される処理単位を、「処理単位i」という。続いて、フロー実行制御部12は、対象フロージョブを構成する処理単位の総数を変数Nに代入する(S104)。対象フロージョブを構成する処理単位の総数は、ジョブ定義データに基づいて特定可能である。
Subsequently, the flow
続いて、フロー実行制御部12は、変数iの値が、変数N以下であるか否かを判定する(S105)。すなわち、対象フローを構成する処理単位のうち、未処理の処理単位が有るか否かが判定される。
Subsequently, the flow
変数iの値が変数N以下である場合、すなわち、未処理の処理単位が有る場合(S105でYes)、フロー実行制御部12は、処理単位iに対応する処理部13に、処理単位iを実行させる(S106)。例えば、フロー実行制御部12は、当該処理部13に対して処理単位iの実行を要求する。当該要求には、例えば、対象フロージョブの識別情報(以下、「ジョブID」という。)等が含まれる。当該処理部13は、当該要求に応じて処理単位iをジョブ情報に基づいて実行し、処理単位iのステータスを、フロー実行制御部12に返却する。本実施の形態において、処理単位のステータスは、「完了」、「停止」、又は「エラー」のいずれかの値となる。「完了」は、処理単位が正常に完了したことを示す。「停止」は、処理単位が一時停止したことを示す。「エラー」は、処理単位が異常終了したことを示す。
When the value of the variable i is equal to or less than the variable N, that is, when there is an unprocessed processing unit (Yes in S105), the flow
続いて、フロー実行制御部12は、返却されたステータスが「停止」であるか否かを判定する(S107)。当該ステータスが「停止」でない場合(S107でNo)、フロー実行制御部12は、当該ステータスが「エラー」であるか否かを判定する(S108)。当該ステータスが「エラー」でない場合(S108でNo)、フロー実行制御部12は、変数iに1を加算して(S109)、ステップS105以降を繰り返す。すなわち、返却されたステータスが「完了」である場合、次の処理単位が実行される。
Subsequently, the flow
一方、ステータスが「エラー」である場合(S108でYes)、フロー実行制御部12は、異常終了時の処理を実行する(S110)。例えば、対象フロージョブのジョブ情報が、実行中ジョブ記憶部123から、エラーが発生したフロージョブのジョブ情報を記憶する領域へ移動される。異常終了時の処理が完了すると、対象フロージョブは終了する。
On the other hand, when the status is “error” (Yes in S108), the flow
ステータスが「停止」である場合(S107でYes)、フロー実行制御部12は、対象フロージョブのジョブ情報を、実行中ジョブ記憶部123から停止用ジョブキュー122に移動する(S111)。その結果、対象フロージョブの進行が停止する。なお、本実施の形態において、「停止」を示すステータスを返却する処理部13は、停止処理部13bである。
When the status is “stopped” (Yes in S107), the flow
続いて、フロー実行制御部12は、対象フロージョブの再開要求の通知を待機する(S112)。対象フロージョブの再開要求が通知されると(S112でYes)、フロー実行制御部12は、停止用ジョブキュー122に記憶されている対象フロージョブのジョブ情報を、実行中ジョブ記憶部123に移動する(S113)。続いて、ステップS106以降が繰り返される。ここで、ステップS106において実行が要求される処理単位は、停止した処理単位である。当該処理単位に係る停止処理部13bは、2度目の実行要求に応じ、「完了」を示すステータスを返却する。その結果、フローの進行が再開される。
Subsequently, the flow
続いて、具体例に基づいて、本実施の形態を説明する。図7は、本実施の形態におけるワークフローの具体例を示す図である。 Next, the present embodiment will be described based on a specific example. FIG. 7 is a diagram showing a specific example of a workflow in the present embodiment.
図7に示されるように、本実施の形態では、ジョブ情報に含まれる、画像形成装置30から送信された画像データに関して、まず、OCR処理が実行される。OCR処理によって、画像データから抽出されたテキストデータが出力される。続いて、停止処理が実行される。停止処理により、テキストデータの編集の機会がユーザに与えられる。続いて、メール送信処理が実行される。メール送信処理では、OCR処理の結果に対してユーザによる修正が行われたテキストデータを件名とする電子メールが、ジョブ定義データに設定されたメールアドレス宛に送信される。なお、本実施の形態では、停止処理によって、テキストデータの編集と共に、当該メールアドレスの変更の機会もユーザに与えられる。
As shown in FIG. 7, in the present embodiment, OCR processing is first executed on the image data transmitted from the
図7に示されるワークフローのフロー定義データは、例えば、図8に示されるように定義される。図8は、本実施の形態におけるフロー定義データの一例を示す図である。本実施の形態において、フロー定義データは、XML(eXtensible Markup Language)形式によって定義される。但し、CSV(Comma Separated Values)形式等、他の形式に従って、フロー定義データが定義されてもよい。 The workflow flow definition data shown in FIG. 7 is defined as shown in FIG. 8, for example. FIG. 8 is a diagram illustrating an example of the flow definition data in the present embodiment. In the present embodiment, the flow definition data is defined in an XML (eXtensible Markup Language) format. However, the flow definition data may be defined according to other formats such as CSV (Comma Separated Values) format.
図8において、フロー定義データ500は、<flow>タグで囲まれるflow要素をルート要素とする。flow要素は、id要素510と、1以上のplug−in要素を子要素として含む。id要素510の値(「Flow1」)は、フローIDである。
In FIG. 8, the
plug−in要素は、処理単位ごとの定義である。フロー定義データ500は、OCR処理に対応するplug−in要素520、停止処理に対応するplug−in要素530、メール送信処理に対応するplug−in要素550を含む。各plug−in要素は、order属性を含む。order属性の値は、当該plug−in要素に係る処理単位の実行順を示す。また、各plug−in要素は、id要素、displayName要素、及びparameters要素を、子要素として含む。
The plug-in element is a definition for each processing unit. The
id要素の値は、当該処理単位を実行する処理部13としてフロー管理サーバ10を機能させるプログラム(プラグイン)の識別情報である。フロー実行制御部12は、id要素の値に基づいて、当該プログラムを呼び出すことができる。displayNameの値は、フロー定義データに関する編集画面において、各処理単位を示す図形が表示される際に、当該図形上に表示される文字列である。parameters要素は、当該処理単位に対する入力パラメータが指定されたり、当該処理単位による処理結果(出力情報)が記録されたりする部分である。入力パラメータや出力情報は、処理単位ごとに異なる。したがって、paremeters要素の値の構造は、処理単位に応じて異なる。
The value of the id element is identification information of a program (plug-in) that causes the
例えば、OCR処理に対応するplug−in要素520のparameters要素は、keyword要素521を含む。keyword要素521は、OCR処理の結果を格納する要素である。図8において、keyword要素521の値は、空である。フロー定義データの状態において、OCR処理の結果は確定していないからである。すなわち、keyword要素521には、フロー定義データ500に基づいて生成されるジョブ定義データに基づいてOCR処理が実行された後に、当該OCR処理によって抽出された文字列が記録される。
For example, the parameters element of the plug-in
停止処理に対応するplug−in要素530のparameters要素は、panel要素531、panelAddress要素532、panelSize要素533、maxWaitingTime要素534、errorHandling要素535、displayParameter要素536〜539、及びcontentHandling要素540を含む。
The parameters element of the plug-in
panel要素531の値は、停止通知の送信先の再開指示装置20の種別である。「mfp」は、画像形成装置30を示す。panelAddress要素532の値は、当該再開指示装置20のIPアドレスである。panelSize要素533の値は、再開指示装置20における表示装置の画面サイズである。maxWaitingTime要素534の値は、フロージョブの停止後、再開が要求されるまでの最大の待機時間である。errorHandling要素535の値は、最大の待機時間を経過しても、再開が要求されない場合に実行すべき処理を示す。「Skip」は、当該処理単位(停止処理)をスキップすることを示す。
The value of the
各displayParameter要素の値は、再開指示装置20において、出力対象(表示対象又は編集対象)とされるパラメータの識別情報である。当該識別情報は、「<plug−in要素のid要素の値>/<パラメータに対応する要素のタグ名>」の形式で示される。例えば、displayParameter要素536の「ocr/keyword」は、値が「ocr」であるid要素を子要素に含むplug−in要素520のkeyword要素521の値を示す。displayParameter537の「smtp/to1」は、値が「smtp」であるid要素を子要素に含むplug−in要素550のto1要素553の値を示す。
The value of each displayParameter element is identification information of a parameter to be output (displayed or edited) in the
contentHandling要素540の値は、フロージョブの各種のコンテンツデータについて、停止処理中におけるダウンロード(参照)及びアップロード(上書き)の可否等を示す定義である。
The value of the
ここで、コンテンツデータの種別について説明する。図9は、フロージョブのコンテンツデータの種別の一例を示す図である。図9には、コンテンツデータとして、プライマリデータ、オリジナルデータ、及びフルテキストデータ等が存在しうることが示されている。 Here, the type of content data will be described. FIG. 9 is a diagram illustrating an example of the type of content data of a flow job. FIG. 9 shows that primary data, original data, full text data, and the like can exist as content data.
プライマリデータは、フロージョブにおいて処理対象とされるデータである。したがって、フロージョブの進行に応じ、プライマリデータの内容は変化しうる。例えば、処理単位としてデータ変換を含むフロージョブが実行される場合、当該処理単位の前後において、プライマリデータの内容は異なる。 Primary data is data to be processed in a flow job. Accordingly, the contents of the primary data can change as the flow job progresses. For example, when a flow job including data conversion is executed as a processing unit, the contents of primary data are different before and after the processing unit.
オリジナルデータは、フロージョブに対する入力データである。オリジナルデータは、フロージョブの開始時に、バックアップとして、プライマリデータからコピーされることにより生成される。オリジナルデータは、フロージョブの進行に応じて変化することはない。 Original data is input data for a flow job. Original data is generated by copying from primary data as a backup at the start of a flow job. The original data does not change as the flow job progresses.
フルテキストデータは、全文テキストデータであり、プライマリデータに対してOCR処理が実行された場合に生成される。本実施の形態では、OCR処理が実行されるため、フルテキストデータが生成される。 Full text data is full text data, and is generated when OCR processing is performed on primary data. In this embodiment, since the OCR process is executed, full text data is generated.
これらのコンテンツデータは、フロージョブの実行中において、ジョブ情報の構成要素として、実行中ジョブ記憶部123に記憶されている。また、これらのコンテンツデータは、フロージョブが停止した際には、停止用ジョブキュー122に記憶される。
These pieces of content data are stored in the executing
図8に戻る。図8に示されるようにcontentHandling要素540は、1以上のcontent要素を子要素として含む。図8では、content要素541及び542の二つのcontent要素が、contentHandling要素540に含まれている。
Returning to FIG. As shown in FIG. 8, the
各content要素は、renditionType属性、r属性、及びw属性等を有する。renditionType属性の値は、図9において説明したコンテンツデータの種別を示す。すなわち、renditionType属性の値は、「primary」、「original」、又は「fullText」である。「primary」は、プライマリデータを示す。「original」は、オリジナルデータを示す。「fullText」は、フルテキストデータを示す。r属性の値は、参照(すなわち、再開指示装置20へのダウンロード)の可否を示す。w属性の値は、上書き(すなわち、再開指示装置20からのアップロード)の可否を示す。r属性及びw属性の値は、true又はfalseである。trueは、参照又は上書きが可能であること(許可されること)を示す。falseは、参照又は上書きが不可能であること(許可されないこと)を示す。したがって、content要素541は、プライマリデータについては、参照は許可されるが、上書きは許可されないことを示す。また、content要素542は、フルテキストデータについては、参照及び上書きが許可されることを示す。
Each content element has a renditionType attribute, an r attribute, and a w attribute. The value of the renditionType attribute indicates the type of content data described with reference to FIG. That is, the value of the renditionType attribute is “primary”, “original”, or “fullText”. “Primary” indicates primary data. “Original” indicates original data. “FullText” indicates full text data. The value of the r attribute indicates whether referencing (that is, downloading to the restart instruction device 20) is possible. The value of the w attribute indicates whether overwriting (that is, uploading from the restart instruction apparatus 20) is possible. The value of the r attribute and w attribute is true or false. true indicates that reference or overwriting is possible (permitted). “false” indicates that reference or overwriting is impossible (not permitted). Therefore, the
メール送信処理に対応するplug−in要素550のparameters要素は、serverIp要素551、portNumber要素552、to1要素553、cc1要素554、cc2要素555、及びsubject要素556を含む。serverIp要素551の値は、メール送信の要求先のSMTPサーバのIPアドレスである。portNumber542の値は、メール送信の要求先のSMTPサーバのポート番号である。to1要素553の値は、送信対象の電子メールの1番目の宛先アドレスである。cc1要素554の値は、送信対象の電子メールの1番目のCcアドレスである。cc2要素555の値は、送信対象の電子メールの2番目のCcアドレスである。subject要素556の値は、送信対象の電子メールの件名である。ここで、subject要素556の値は、中括弧で囲まれている。これは、当該値には、当該中括弧内に指定された識別情報に係る値が採用されることを示す。「ocr/keyword」は、値が「ocr」であるid要素を含むplug−in要素520におけるkeyword要素の値を示す。すなわち、「ocr/keyword」は、OCR処理において、OCR対象の画像のタイトル部分の領域から抽出された文字列を示す。「ocr/keyword」のうち、「keyword」が、タイトル部分に対応する識別子である。したがって、subject要素556では、例えば、スキャンされた画像のタイトル部分の文字列が、電子メールの件名として採用されることが定義されている。なお、画像のタイトル部分の領域を規定する情報は、別途定義され、補助記憶装置102等に保存されている。
The parameters element of the plug-in
plug−in要素520、530、及び540のそれぞれにおける各parameters要素の各子要素は、type属性、r属性、及びw属性を有する。type属性の値は、当該要素に係るパラメータの値のデータ型を示す。r属性の値は、当該パラメータの値について、フロージョブの実行時におけるユーザによる参照の可否を示す。w属性の値は、当該パラメータの値について、フロージョブの実行時におけるユーザによる書き込み又は更新の可否を示す。r属性及びw属性の値について、「true」は、それぞれ参照が可能、書き込みが可能であること(許可されること)を示す。「false」は、それぞれ参照が不可能、書き込みが不可能であること(許可されないこと)を示す。
Each child element of each parameters element in each of the plug-in
ジョブ投入部11は、フローIDが、「Flow1」であるワークフローの実行要求を受け付けた場合、図8に示されるフロー定義情報に基づいて、図10に示されるジョブ定義データを生成する。
When receiving a workflow execution request whose flow ID is “Flow1”, the
図10は、本実施の形態における初期状態のジョブ定義データの一例を示す図である。図10中、図8と同一部分には同一符号を付し、その説明は省略する。 FIG. 10 is a diagram illustrating an example of job definition data in an initial state according to the present embodiment. 10, parts that are the same as the parts shown in FIG. 8 are given the same reference numerals, and explanation thereof is omitted.
図10において、ジョブ定義データ600aは、jobInfo要素をルート要素として含む。換言すれば、初期状態のジョブ定義データ600aは、フロー定義データ500の複製に対して、flow要素の親要素として、jobInfo要素が追加されたものである。jobInfo要素は、flow要素以外の子要素として、id要素610を含む。id要素610の値は、ジョブIDを示す。ジョブIDは、例えば、ジョブ投入部11によって割り当てられる。
In FIG. 10,
図6のステップS102では、図10に示されるようなジョブ定義データを含むジョブ情報が取得される。この時点において、当該ジョブ情報には、コンテンツデータとして、プライマリデータ及びオリジナルデータが含まれている。なお、この時点において、プライマリデータとオリジナルデータとの内容は同じである。 In step S102 of FIG. 6, job information including job definition data as shown in FIG. 10 is acquired. At this time, the job information includes primary data and original data as content data. At this time, the contents of the primary data and the original data are the same.
変数iの値が1である場合、ジョブ定義データ600aに含まれるplug−in要素のうち、order属性の値が1であるplug−in要素520に基づいて、OCR処理部13aによって、ジョブ情報に含まれる画像データ(プライマリデータ)に対してOCR処理が実行される。OCR処理の結果、ジョブ情報には、コンテンツデータとしてフルテキストデータが追加される。また、OCR処理部13aは、OCR処理によって得られる文字列のうち、OCR対象の画像のタイトル部分の領域から抽出された文字列を、ジョブ定義データ600aのkeyword要素521に対して書き込む。
When the value of the variable i is 1, among the plug-in elements included in the
図11は、本実施の形態におけるOCR処理の実行後のジョブ定義データの一例を示す図である。図11中、図10と同一部分には同一符号を付し、その説明は省略する。 FIG. 11 is a diagram illustrating an example of job definition data after execution of the OCR process in the present embodiment. In FIG. 11, the same parts as those in FIG.
図11に示されるジョブ定義データ600bでは、keyword要素521の値として、「abc」が追加されている。すなわち、ジョブ定義データ600bは、OCR対象の画像のタイトル部分の文字列が「abc」である場合の、ジョブ定義データ600aの更新例を示す。
In the
続いて、変数iの値が2である場合、すなわち、ジョブ定義データ600bのplug−in要素530に基づいて実行される停止処理について説明する。
Next, stop processing that is executed when the value of the variable i is 2, that is, based on the plug-in
図12は、停止処理においてフロージョブが停止するまでに実行される処理手順の一例を説明するためのシーケンス図である。 FIG. 12 is a sequence diagram for explaining an example of a processing procedure executed until the flow job is stopped in the stop processing.
ステップS201において、フロー実行制御部12は、ジョブ定義データ600bのplug−in要素530内のid要素の値(「suspend」)に基づいて特定される停止処理部13bに対して、停止処理の実行を要求する。なお、フロー実行制御部12から各処理部13に対する実行要求には、例えば、実行対象のフロージョブのジョブID(以下、「対象ジョブID」という。)が含まれる。
In step S201, the flow
続いて、停止処理部13bは、対象ジョブIDに係るジョブ情報に含まれているジョブ定義データ600bを参照して(S202)、ジョブ定義データ600bから通知先情報を取得する(S203)。通知先情報とは、停止通知の送信先に関する情報をいう。本実施の形態では、ジョブ定義データ600bにおける、panel要素531、panelAddress要素532、及びpanelSize要素533が、通知先情報に相当する。
Subsequently, the
続いて、停止処理部13bは、通知先情報に含まれるIPアドレス宛への停止通知の送信を、停止通知送信部14に要求する(S204)。当該要求には、対象フローIDも含まれる。続いて、停止通知送信部14は、当該IPアドレスに係る再開指示装置20宛に、対象ジョブIDを含む停止通知を送信する(S205)。なお、仮に、ジョブ定義データ600b(図11)のplug−in要素530において、2以上の通知先情報が含まれている場合、2以上の再開指示装置20に対して、停止通知が送信されてもよい。
Subsequently, the
停止通知の送信先の再開指示装置20の停止通知受信部21は、当該停止通知を受信すると、当該停止通知をパラメータ取得部22に通知する(S206)。パラメータ取得部22は、当該停止通知に含まれるジョブIDを指定して、編集対象とするパラメータ情報の取得要求を、停止通知の送信元のフロー管理サーバ10のパラメータ送信部15に送信する(S207)。なお、パラメータ送信部15のアドレス情報は、例えば、停止通知に含まれていてもよい。パラメータ送信部15は、当該取得要求を停止処理部13bに通知する(S208)。
When receiving the stop notification, the stop
停止処理部13bは、当該取得要求に指定されているジョブIDに係るジョブ定義データ600bを参照し(S209)、当該ジョブ定義データからパラメータ情報を取得する(S210)。ここでは、ジョブ定義データ600bにおける、displayParameter要素536〜539が取得される。また、contentHadling要素540の定義内容も取得される。この際、displayParameter要素536〜539のそれぞれについて、当該displayParameter要素の値が示す識別情報に係る、ジョブ定義データ600bにおけるパラメータの値が取得される。取得された値は、当該値の取得元となったdisplayParameter要素に関連付けられて、パラメータ情報に含められる。例えば、displayParameter要素536の値「ocr/keyword」に基づいて、keyword要素521の値(「abc」)が取得され、当該値がdisplayParameter要素536に関連付けられる。displayParameter要素537の値「smtp/to1」に基づいて、to1要素553の値(「xxx1@abc.com」)が取得され、当該値がdisplayParameter要素537に関連付けられる。displayParameter要素538の値「smtp/cc1」に基づいて、cc1要素554の値(「xxx2@abc.com」)が取得され、当該値がdisplayParameter要素538に関連付けられる。displayParameter要素539の値「smtp/cc2」に基づいて、cc2要素555の値(「xxx3@abc.com」)が取得され、当該値がdisplayParameter要素539に関連付けられる。
The
続いて、停止処理部13bは、取得されたパラメータ情報について、パラメータ情報の取得要求元への送信をパラメータ送信部15に要求する(S211)。なお、パラメータ情報と共に、通知先情報に含まれるpanel要素531及びpanelSize要素533が送信対象に含まれてもよい。続いて、パラメータ送信部15は、当該パラメータ情報を、パラメータ情報の取得要求元の再開指示装置20に送信する(S212)。当該再開指示装置20のパラメータ取得部22は、パラメータ情報を受信すると、当該パラメータ情報を指定して、パラメータ編集画面の表示を表示制御部24に要求する(S213)。表示制御部24は、パラメータ情報を編集可能なパラメータ編集画面を生成し、当該パラメータ編集画面を、再開指示装置20の表示装置に表示させる(S214)。なお、パラメータ情報とともに、panel要素531及びpanelSize要素533等、表示装置に関する情報が受信された場合、これらの情報に基づいてパラメータ編集画面が生成されてもよい。そうすることにより、表示制御部24によるパラメータ編集画面の生成ロジックを、再開指示装置20の種類に対して汎用的なものとすることができる。すなわち、再開指示装置20の表示制御部24として機能させるプログラムについて、特定の再開指示装置20に対する依存度を低下させることができる。
Subsequently, the
図13は、パラメータ情報の編集前のパラメータ編集画面の表示例を示す図である。図13において、パラメータ編集画面810は、受信されたパラメータ情報に含まれるdisplayParameter要素であって、r属性の値が「true」であるdisplayParameter要素ごとに、表示領域を含む。各表示領域には、当該表示領域に対応するdisplayParameter要素に関連付けられているパラメータの値が表示される。例えば、表示領域811には、displayParameter要素536に関連付けられている値が表示される。また、表示領域812には、displayParameter要素537に関連付けられている値が表示される。また、表示領域813には、displayParameter要素538に関連付けられている値が表示される。また、表示領域814には、displayParameter要素539に関連付けられている値が表示される。
FIG. 13 is a diagram showing a display example of a parameter editing screen before editing parameter information. In FIG. 13, the
各表示領域は、対応するdisplayParameter要素のw属性の値が「true」であれば、編集可能とされ、当該w属性の値が「false」であれは、編集不能とされる。 Each display area can be edited if the value of the w attribute of the corresponding displayParameter element is “true”, and cannot be edited if the value of the w attribute is “false”.
パラメータ編集画面810は、更に、Downloadボタン816、Downloadボタン817、及びUploadボタン818を含む。これらのボタンは、受信されたパラメータ情報に含まれている、contentHandle要素540の定義内容に基づいて生成されたものである。具体的には、Downloadボタン816は、content要素541のrenditionType属性及びr属性に基づき、プライマリデータのダウンロード指示を受け付けるためのボタンである。Downloadボタン817は、content要素542のrenditionType属性及びr属性に基づき、フルテキストデータのダウンロード指示を受け付けるためのボタンである。Uploadボタン818は、content要素542のrenditionType属性及びw属性に基づき、フルテキストデータのアップロード指示を受け付けるためのボタンである。このように、これら各ボタンは、コンテンツデータに関して許可されている操作に対応して表示される。すなわち、contentHandle要素540は、出力候補となるコンテンツデータを指定する情報であるといえる。
The
なお、停止処理部13bは、パラメータ情報の送信要求(S211)の後、フロー実行制御部12に対して、「停止」ステータスを返却する(S215)。フロー実行制御部12は、「停止」ステータスに応じて、実行中ジョブ記憶部123に記憶されている対象フロージョブのジョブ情報を、停止用ジョブキュー122に保存する(S216)。なお、当該ジョブ情報は、実行中ジョブ記憶部123に記憶されたままでもよい。この場合、当該ジョブ情報が停止中であることを示す情報が、当該ジョブ情報に付加されることにより、停止中のフロージョブに係るジョブ情報であることが識別可能とされてもよい。
The
続いて、フロー実行制御部12は、最大待ち時間の監視を開始する(S217)。最大待ち時間とは、ジョブ定義データ600bのmaxWaitingTime要素534の値である。
Subsequently, the flow
なお、ステップS201〜S215までが、図6において、変数iの値が2である場合のステップS106に相当する。また、ステップS216は、図6におけるステップS111に相当する。 Steps S201 to S215 correspond to step S106 when the value of the variable i is 2 in FIG. Step S216 corresponds to step S111 in FIG.
続いて、再開指示装置20のユーザは、パラメータ編集画面810を介して、必要に応じて、コンテンツデータの参照や編集、又はパラメータの値の編集(変更)等を行う。
Subsequently, the user of the resuming
図14は、パラメータ編集画面を介した操作に応じて実行される処理手順の一例を説明するためのシーケンス図である。 FIG. 14 is a sequence diagram for explaining an example of a processing procedure executed in response to an operation via the parameter editing screen.
例えば、ユーザによって、パラメータ編集画面810のDownloadボタン816又は817が押下されると(S221)、表示制御部24は、コンテンツデータの取得要求の送信を、コンテンツ取得部23に要求する(S222)。当該取得要求には、対象フロージョブのジョブIDと、コンテンツ種別とが含まれる。Downloadボタン816が押下された場合、当該コンテンツ種別は、「primary」である。Downloadボタン817が押下された場合、当該コンテンツ種別は、「fullText」である。
For example, when the user presses the
コンテンツ取得部23は、当該取得要求を、フロー管理サーバ10に送信する(S223)。当該取得要求は、フロー管理サーバ10のコンテンツ送信部16によって受信される。コンテンツ送信部16は、当該取得要求に含まれているジョブID及びコンテンツ種別に対応するコンテンツデータを、停止用ジョブキュー122から取得する(S224、S225)。すなわち、出力候補の中からユーザによって選択されたコンテンツデータが取得される。コンテンツ送信部16は、取得されたコンテンツデータを、コンテンツ取得部23に返信(出力)する(S226)。コンテンツ取得部23は、当該コンテンツデータを受信すると、当該コンテンツデータを表示制御部24に出力する(S227)。表示制御部24は、当該コンテンツデータを所定の場所(例えば、所定のフォルダ)に保存して、当該コンテンツデータを再開指示装置20の表示装置に表示させる(S228)。この際、当該コンテンツデータが、編集可能であれば、当該コンテンツデータは、編集可能な状態で表示される。
The
ユーザは、表示されたコンテンツデータの内容を確認する(S229)。例えば、自らが意図した通りの内容であるか否かが確認される。また、コンテンツデータが編集可能である場合、ユーザは、コンテンツデータを編集することもできる。本実施の形態では、当該コンテンツデータが、フルテキストデータであれば編集が可能である。したがって、例えば、ユーザは、OCR処理による誤認識の有無等を確認し、誤認識の箇所を訂正することができる。 The user confirms the content of the displayed content data (S229). For example, it is confirmed whether or not the content is as intended. If the content data can be edited, the user can edit the content data. In the present embodiment, editing is possible if the content data is full text data. Therefore, for example, the user can confirm the presence / absence of misrecognition by the OCR process and correct the misrecognized portion.
コンテンツデータに対して編集が行われ、当該コンテンツデータに対応するUploadボタン818が押下されると、表示制御部24は、当該コンテンツデータに対する編集内容を、所定の場所に保存されているコンテンツデータに反映する。また、当該コンテンツデータが編集されたこと(変更されたこと)を示す情報が、当該コンテンツデータに関連付けられて記憶される。
When the content data is edited and the Upload
続いて、ユーザは、各パラメータの編集を行う(S231)。ここでは、図15に示されように編集が行われたこととする。 Subsequently, the user edits each parameter (S231). Here, it is assumed that editing has been performed as shown in FIG.
図15は、パラメータ情報の編集後のパラメータ編集画面の表示例を示す図である。図15中、図13と同一部分には同一符号を付している。図15では、表示領域811において、keywordの値が「def」に変更され、表示領域812において、to1の値が「xxx3@abc.com」に変更され、表示領域814において、cc2の値が「xxx4@abc.com」に変更された例が示されている。なお、編集に応じ、表示制御部24は、変更されたパラメータに対応するdisplayParameter要素に関連付けられているパラメータの値を更新する。
FIG. 15 is a diagram illustrating a display example of the parameter editing screen after editing the parameter information. 15, the same parts as those in FIG. 13 are denoted by the same reference numerals. In FIG. 15, the value of keyword is changed to “def” in the
なお、パラメータの値の変更の後に、コンテンツデータの参照や編集等が行われてもよい。 Note that content data may be referred to or edited after the parameter value is changed.
続いて、図16は、停止処理の再開指示に応じて実行される処理手順の一例を説明するためのシーケンス図である。 Subsequently, FIG. 16 is a sequence diagram for explaining an example of a processing procedure executed in response to a stop processing restart instruction.
パラメータの値の編集が完了し、パラメータ編集画面810のResumuボタン815が押下されると(S241)、表示制御部24は、フロージョブの再開要求の送信を、再開要求送信部25に要求する(S242)。再開要求には、対象フロージョブのジョブIDと、編集結果が反映されたパラメータ情報とが含まれる。また、コンテンツデータのダウンロードが実行され、当該コンテンツデータが変更されている場合、変更後のコンテンツデータ及び当該コンテンツデータの種別を示す情報も、当該再開要求に含まれる。なお、コンテンツデータの変更の有無は、当該コンテンツデータに変更されたことを示す情報が関連付けられて記憶されているか否かに基づいて判定されてもよい。
When the editing of the parameter value is completed and the
再開要求送信部25は、当該再開要求を、フロー管理サーバ10に送信する(S244)。当該再開要求は、フロー管理サーバ10の再開要求受信部17によって受信される。再開要求受信部17は、受信した再開要求をフロー実行制御部12に通知する(S244)。
The restart
フロー実行制御部12は、再開要求の通知に応じ、当該再開要求に含まれているジョブIDに係るジョブ情報を、停止用ジョブキュー122から取得して、実行中ジョブ記憶部123に移す(S245)。続いて、フロー実行制御部12は、ステータスが「停止」であった停止処理部13bに対して改めて処理単位の実行を要求する(S246)。当該要求には、対象フロージョブのジョブIDと、再開要求に含まれていたパラメータ情報及びコンテンツデータ等とが含まれる。
In response to the notification of the restart request, the flow
停止処理部13bは、再度の実行要求に応じ、当該実行要求に含まれているパラメータ情報に基づいて、ジョブ定義データ600bにおけるパラメータの値を更新する(S247)。すなわち、パラメータ情報に含まれているdisplayParameter要素ごとに、当該displayParameter要素の値によって識別されるパラメータの値が、当該displayParameter要素に関連付けられてパラメータ情報に含まれている値に更新される。その結果、ジョブ定義データ600bは、図17に示されるように変更される。
In response to the re-execution request, the
図17は、本実施の形態におけるパラメータの変更後のジョブ定義データの一例を示す図である。図17に示されるジョブ定義データ600cでは、keyword要素521の値が「def」に変更されている。また、to1要素553の値が、「xxx3@abc.com」に変更されている。また、cc2要素555の値が、「xxx4@abc.com」に変更されている。
FIG. 17 is a diagram showing an example of job definition data after changing parameters in the present embodiment. In the
また、停止処理部13bは、当該実行要求にコンテンツデータが含まれている場合は、実行中ジョブ記憶部123において、対象フロージョブのジョブIDと当該実行要求に含まれている、コンテンツの種別を示す情報とに対応付けられて記憶されているンテンツデータを、当該実行要求に含まれているコンテンツデータによって上書き(更新)する。
Further, when the execution request includes content data, the
なお、パラメータ情報の更新やコンテンツデータの更新等は、ステップS243に続いて、再開要求受信部17によって実行されてもよい。このタイミングでパラメータ情報等の更新が実行される場合、更新対象の情報等は、停止用ジョブキュー122に記憶されている。
The update of parameter information, the update of content data, and the like may be executed by the restart
続いて、停止処理部13bは、「完了」ステータスを、フロー実行制御部12に返却する(S248)。これにより、フロー実行制御部12は、停止処理部13bによる処理単位が完了したことを認識する。そこで、次の処理単位に係るメール配信処理部13cに対して処理単位の実行を要求する。この際、メール配信処理部13は、変更後のパラメータに基づいて、電子メールの送信を行う。例えば、当該電子メールの件名の値は、「def」とされる。また、当該電子メールの宛先アドレスは、「xxx3@abc.com」とされる。また、当該電子メールのCcアドレスは、「xxx2@abc.com」及び「xxx4@abc.com」とされる。
Subsequently, the
また、フルテキストデータが変更された場合であって、後段の処理単位において、フルテキストデータを利用する処理単位が有る場合、当該処理単位は、変更後のフルテキストデータに関して実行される。 Further, when the full text data is changed and there is a processing unit using the full text data in the subsequent processing unit, the processing unit is executed with respect to the changed full text data.
なお、図16のステップS244によって、図6のステップ112はYesとなる。また、ステップS245は、ステップS113に相当する。ステップS246は、ステップS113の後のステップS106に相当する。
Note that
また、仮に、コンテンツデータの編集やパラメータ情報の編集等がユーザによって行われず、図16のステップS244が実行される前に、図12のステップS217からの経過時間が、最大待ち時間を経過した場合、フロー実行制御部12は、ジョブ定義データ600bのerrorHandling要素535の値(「Skip」)に基づいて、停止処理(パラメータの変更)をスキップすべきことを判定する。そこで、フロー実行制御部12は、次の処理単位に係るメール送信処理部13cに、処理単位の実行を要求する。
Also, if the editing of the content data or the parameter information is not performed by the user, and the elapsed time from step S217 of FIG. 12 exceeds the maximum waiting time before step S244 of FIG. 16 is executed. The flow
なお、上記では、一つの処理単位(メール送信処理)における処理内容に影響するパラメータが変更される例を示したが、ワークフローの流れ自体に影響するパラメータが変更対象とされてもよい。例えば、ワークフローの処理が途中で分岐する場合、当該分岐の条件判定に利用されるパラメータが変更対象とされてもよい。そうすることで、フロージョブの実行時において、ユーザによる、ワークフローの流れ自体の変更を可能とすることができる。 In the above description, an example is shown in which a parameter that affects the processing content in one processing unit (mail transmission processing) is changed. However, a parameter that affects the flow of the workflow itself may be changed. For example, when a workflow process branches in the middle, a parameter used for determining the condition of the branch may be changed. By doing so, the flow of the workflow itself can be changed by the user when the flow job is executed.
上述したように、本実施の形態によれば、停止処理部13bによって、フロージョブに関するパラメータやコンテンツデータについて、ユーザに対して参照及び変更の機会が与えられる。停止処理部13bによる停止処理より後の処理単位については、変更されたパラメータやコンテンツデータに基づいて実行される。その結果、フロージョブの柔軟性を向上させることができる。
As described above, according to the present embodiment, the
なお、図7に示されるワークフロー以外の処理単位の組み合わせに関して、本実施の形態が適用されてもよい。また、一つのワークフローに対して、2以上の停止処理が組み込まれてもよい。また、複数の再開指示装置20に対して停止通知が送信される場合、全部の再開指示装置20からの再開要求が通知されるまで停止状態を継続するのか、一部の再開指示装置20からの再開要求が通知されれば停止状態を解除するのかを示す情報が、フロー定義データ500のplug−in要素530のparameters要素内に設定されてもよい。当該情報が、全部の再開指示装置20からの再開要求が通知されるまで停止状態を継続することを示す場合、例えば、フロー実行制御部12は、停止通知の送信先の全部の再開指示装置20に関して、ステップS244が実行されるまで、ステップS245以降の実行を待機してもよい。当該情報が、一部の再開指示装置20からの再開要求が通知されれば停止状態を解除することを示す場合、例えば、フロー実行制御部12は、停止通知の送信先のうちの一部の再開指示装置20に関して、ステップS244が実行された段階で、ステップS245以降を実行してもよい。当該一部の再開指示装置20は、数によって指定されてもよいし、特定の再開指示装置20のIPアドレス等に基づいて指定されてもよい。
Note that the present embodiment may be applied to combinations of processing units other than the workflow shown in FIG. Further, two or more stop processes may be incorporated for one workflow. Further, when stop notifications are transmitted to a plurality of
なお、本実施の形態において、フロー管理サーバ10は、情報処理装置及び情報処理システムの一例である。フロー実行制御部12は、処理制御部の一例である。停止処理は、第一の処理単位の一例である。コンテンツ送信部16は、第一の出力部の一例である。再開要求受信部17は、受付部の一例である。停止処理部13bは、更新部の一例である。パラメータ送信部15は、第二の出力部の一例である。パラメータ送信部15によるパラメータ情報の送信は、パラメータ情報を、変更可能な状態で、再開指示装置20(出力先)に表示(出力)させることの一例である。
In the present embodiment, the
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.
1 情報処理システム
10 フロー管理サーバ
11 ジョブ投入部
12 フロー実行制御部
13 処理部
13a OCR処理部
13b 停止処理部
13c メール送信処理部
14 停止通知送信部
15 パラメータ送信部
16 コンテンツ送信部
17 再開要求受信部
20 再開指示装置
21 停止通知受信部
22 パラメータ取得部
23 コンテンツ取得部
24 表示制御部
25 再開要求送信部
30 画像形成装置
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
111 キャン入力プラグイン
112 メール入力プラグイン
113 フォルダ入力プラグイン
121 開始用ジョブキュー
122 停止用ジョブキュー
123 実行中ジョブ記憶部
124 フロー定義記憶部
B バス
DESCRIPTION OF
105
Claims (8)
前記1以上の処理単位のうちの一つである第一の処理単位の停止に応じ、いずれかの処理単位によって処理対象とされるデータ又はいずれかの処理単位によって生成されたデータを記憶部から取得して、取得されたデータを、前記定義情報において指定された出力先に出力する第一の出力部とを有し、
前記処理制御部は、前記出力先からの、処理単位の再開要求の入力に応じ、前記第一の処理単位以降の処理単位を実行する、
ことを特徴とする情報処理装置。 A processing control unit that executes one or more processing units for the input data in the order defined in the definition information;
In response to the stop of the first processing unit that is one of the one or more processing units, data to be processed by any processing unit or data generated by any processing unit is stored in the storage unit. A first output unit that acquires and outputs the acquired data to an output destination specified in the definition information;
The process control unit executes a process unit after the first process unit in response to an input of a process unit restart request from the output destination.
An information processing apparatus characterized by that.
前記受付部によって受け付けられたデータによって、前記記憶部に記憶されているデータを更新する更新部と、
を有することを特徴とする請求項1記載の情報処理装置。 Among the data output by the first output unit, a reception unit that receives data changed at the output destination;
An update unit for updating data stored in the storage unit with data received by the reception unit;
The information processing apparatus according to claim 1, further comprising:
ことを特徴とする請求項1又は2記載の情報処理装置。 The first output unit obtains the data specified in the definition information from the data to be processed by any of the processing units or the data generated by any of the processing units, Outputting the acquired data to the output destination;
The information processing apparatus according to claim 1 or 2.
前記第一の出力部は、前記定義情報において指定されているデータのうち、前記出力候補の中から選択されたデータを前記出力先に出力する、
ことを特徴とする請求項1乃至3いずれか一項記載の情報処理装置。 In response to the suspension of the first processing unit, the data specified in the definition information is output from the data to be processed by any one of the processing units or the data generated by any one of the processing units. A second output unit that outputs to the output destination as a candidate;
The first output unit outputs data selected from the output candidates among the data specified in the definition information to the output destination.
The information processing apparatus according to any one of claims 1 to 3.
前記処理制御部は、前記出力先において変更された前記情報に基づいて、前記第一の処理単位より後の処理単位の実行を制御する、
ことを特徴とする請求項4記載の情報処理装置。 The second output unit outputs output information of a processing unit executed before the first processing unit and processing executed after the first processing unit in response to the stop of the first processing unit. Information including any one or both of the input information set in the definition information regarding the unit is output to the output destination in a changeable state,
The processing control unit controls execution of a processing unit after the first processing unit based on the information changed at the output destination.
The information processing apparatus according to claim 4.
入力されたデータに対する1以上の処理単位を、定義情報に定義された順番で実行する処理制御部と、
前記1以上の処理単位のうちの一つである第一の処理単位の停止に応じ、いずれかの処理単位によって処理対象とされるデータ又はいずれかの処理単位によって生成されたデータを記憶部から取得して、取得されたデータを、前記定義情報において指定された出力先に出力する第一の出力部とを有し、
前記処理制御部は、前記出力先からの、処理単位の再開要求の入力に応じ、前記第一の処理単位以降の処理単位を実行する、
ことを特徴とする情報処理システム。 An information processing system including one or more computers,
A processing control unit that executes one or more processing units for the input data in the order defined in the definition information;
In response to the stop of the first processing unit that is one of the one or more processing units, data to be processed by any processing unit or data generated by any processing unit is stored in the storage unit. A first output unit that acquires and outputs the acquired data to an output destination specified in the definition information;
The process control unit executes a process unit after the first process unit in response to an input of a process unit restart request from the output destination.
An information processing system characterized by this.
入力されたデータに対する1以上の処理単位を、定義情報に定義された順番で実行する処理制御手順と、
前記1以上の処理単位のうちの一つである第一の処理単位の停止に応じ、いずれかの処理単位によって処理対象とされるデータ又はいずれかの処理単位によって生成されたデータを記憶部から取得して、取得されたデータを、前記定義情報において指定された出力先に出力する第一の出力手順とを実行し、
前記処理制御手順は、前記出力先からの、処理単位の再開要求の入力に応じ、前記第一の処理単位以降の処理単位を実行する、
ことを特徴とする情報処理方法。 An information processing system including one or more computers
A process control procedure for executing one or more processing units for the input data in the order defined in the definition information;
In response to the stop of the first processing unit that is one of the one or more processing units, data to be processed by any processing unit or data generated by any processing unit is stored in the storage unit. And performing a first output procedure for outputting the acquired data to the output destination specified in the definition information,
The process control procedure executes a process unit after the first process unit in response to an input of a process unit restart request from the output destination.
An information processing method characterized by the above.
入力されたデータに対する1以上の処理単位を、定義情報に定義された順番で実行する処理制御手順と、
前記1以上の処理単位のうちの一つである第一の処理単位の停止に応じ、いずれかの処理単位によって処理対象とされるデータ又はいずれかの処理単位によって生成されたデータを記憶部から取得して、取得されたデータを、前記定義情報において指定された出力先に出力する第一の出力手順とを実行させ、
前記処理制御手順は、前記出力先からの、処理単位の再開要求の入力に応じ、前記第一の処理単位以降の処理単位を実行する、
ことを特徴とするプログラム。 On the computer,
A process control procedure for executing one or more processing units for the input data in the order defined in the definition information;
In response to the stop of the first processing unit that is one of the one or more processing units, data to be processed by any processing unit or data generated by any processing unit is stored in the storage unit. To obtain and execute the first output procedure for outputting the obtained data to the output destination specified in the definition information;
The process control procedure executes a process unit after the first process unit in response to an input of a process unit restart request from the output destination.
A program characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014184964A JP2016057948A (en) | 2014-09-11 | 2014-09-11 | Information processing device, information processing system, information processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014184964A JP2016057948A (en) | 2014-09-11 | 2014-09-11 | Information processing device, information processing system, information processing method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016057948A true JP2016057948A (en) | 2016-04-21 |
Family
ID=55756967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014184964A Pending JP2016057948A (en) | 2014-09-11 | 2014-09-11 | Information processing device, information processing system, information processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016057948A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018046520A (en) * | 2016-09-16 | 2018-03-22 | 株式会社リコー | Information processing control apparatus, information processing control program, and information processing control method |
-
2014
- 2014-09-11 JP JP2014184964A patent/JP2016057948A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018046520A (en) * | 2016-09-16 | 2018-03-22 | 株式会社リコー | Information processing control apparatus, information processing control program, and information processing control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016015007A (en) | Information processing apparatus, information processing system, information processing method, and program | |
US20230291722A1 (en) | Information processing device, information management method, and information processing system | |
JP4971610B2 (en) | Program and method for managing device driver and information processing apparatus | |
JP2010123124A (en) | Work flow management apparatus, and method and program of the same | |
US20110202574A1 (en) | Document management device, document management method and computer readable medium | |
US20160277607A1 (en) | Information processing apparatus, information processing system, and information processing method | |
US8301807B2 (en) | Device management apparatus, device management method, and recording medium | |
JP6303571B2 (en) | Data processing apparatus, data processing system, data processing method, and program | |
JP2011029889A (en) | Information processing apparatus, workflow system, workflow management method, program, and recording medium | |
JP2010198598A (en) | Information distribution device, information distribution method, and computer program | |
JP2015177491A (en) | Information processing apparatus, information processing system, information processing method and program | |
JP6507514B2 (en) | INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING METHOD, AND PROGRAM | |
JP6157282B2 (en) | Image processing apparatus, information processing method, and program | |
US20200125903A1 (en) | Document generation system, method of controlling the same, and non-transitory computer readable medium | |
JP7134729B2 (en) | Program, information processing device, and information processing method | |
JP2016057948A (en) | Information processing device, information processing system, information processing method, and program | |
US9922296B2 (en) | Distribution apparatus, distribution method, and recording medium | |
JP2016174229A (en) | Information processing system, information processing device, information processing method and program | |
US11138149B2 (en) | Information processing system, control method therefor, and storage medium for handling an error in converting data in a process for generating business form data | |
JP5340366B2 (en) | Document management apparatus, document management method, and program | |
JP5353771B2 (en) | Image forming apparatus, image processing apparatus, image processing system, image processing method, program, and recording medium | |
JP6790944B2 (en) | Information processing equipment, information processing systems, management methods and programs | |
JP6878976B2 (en) | Information processing equipment, information processing systems, management methods and programs | |
JP5481925B2 (en) | Network system and method | |
JP6601255B2 (en) | Meeting material distribution system and program thereof |