JP2020107954A - 情報処理装置及びプログラム - Google Patents

情報処理装置及びプログラム Download PDF

Info

Publication number
JP2020107954A
JP2020107954A JP2018242828A JP2018242828A JP2020107954A JP 2020107954 A JP2020107954 A JP 2020107954A JP 2018242828 A JP2018242828 A JP 2018242828A JP 2018242828 A JP2018242828 A JP 2018242828A JP 2020107954 A JP2020107954 A JP 2020107954A
Authority
JP
Japan
Prior art keywords
execution
command
information
series
processing
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
Application number
JP2018242828A
Other languages
English (en)
Inventor
熊澤 幸夫
Yukio Kumazawa
幸夫 熊澤
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2018242828A priority Critical patent/JP2020107954A/ja
Priority to US16/392,574 priority patent/US20200210232A1/en
Priority to CN201910479614.5A priority patent/CN111367589A/zh
Publication of JP2020107954A publication Critical patent/JP2020107954A/ja
Pending legal-status Critical Current

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Facsimiles In General (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】一連の実行指令を含む処理が途中で不具合等により停止した後に再び実行、もしくは継続実行する場合に不適切な処理を実行してしまうことを抑制することが可能な情報処理装置及びプログラムを提供する。【解決手段】情報処理装置は、一連の実行指令を含んで構成された実行指示に応じた処理を実行する実行手段と、実行手段による処理の実行が途中で停止した後に再び実行する場合に、一連の実行指令のうち予め定められた第1の実行指令を実行せずに、一連の実行指令のうち第1の実行指令以外の第2の実行指令から再実行するよう実行手段を制御する実行制御手段とを備える。【選択図】図5

Description

本発明は、情報処理装置及びプログラムに関する。
近年、複数のジョブを連携させてジョブ連携として実行する際に、先行するジョブが実行した結果に応じて、該ジョブに後続するジョブの実行を制御する制御装置が提案されている(例えば、特許文献1参照。)。
特許文献1に記載された制御装置は、後続ジョブを実行させる実行条件を設定する制御画面を表示する表示工程と、前記制御装置で利用される記録装置で、先行する先行ジョブを実行させた実行結果を保持する保持工程と、前記記録装置で保持された前記実行結果を取得する取得工程と、前記取得工程において取得された前記実行結果および前記制御画面を介して設定された実行条件に応じて、前記先行ジョブに後続する後続ジョブの実行を制御する制御工程と、を有する。
特許第5840266号公報
複数の実行指令を連携させて構成する処理を実行する際に、処理が途中で不具合等により停止した後に再び実行、もしくは継続実行する場合、特定の処理から一律に再開するように設定されていると、例えば、実行済みの処理を重複して実行してしまう虞や、再び実行されることが好ましくない処理等のような不適切な処理を実行してしまう虞がある。
本発明の課題は、一連の実行指令を含む処理が途中で不具合等により停止した後に再び実行、もしくは継続実行する場合に不適切な処理を実行してしまうことを抑制することが可能な情報処理装置及びプログラムを提供することにある。
[1]一連の実行指令を含んで構成された実行指示に応じた一連の処理を実行する実行手段と、
前記実行手段による前記一連の処理の実行が途中で停止した後に再び実行する場合に、前記一連の実行指令のうち予め定められた第1の実行指令に応じた第1の処理を実行せずに、前記一連の実行指令のうち前記第1の実行指令以外の第2の実行指令に応じた第2の処理から再実行するよう前記実行手段を制御する実行制御手段と、
を備える、情報処理装置。
[2]前記第1の実行指令を識別する識別情報と前記実行手段が実行した前記実行指令の実行の結果を示す結果情報とを記録する記録手段をさらに備え、
前記実行制御手段は、前記記録手段に記録された前記識別情報及び前記結果情報に応じて前記実行手段を制御する、
前記[1]に記載の情報処理装置。
[3]前記記録手段は、前記結果情報に応じて前記一連の実行指令に含まれる実行指令ごとに、再び実行するか否かを示す動作情報を記録し、
前記実行制御手段は、前記結果情報に対応する前記動作情報に応じて、前記実行手段を制御する、
前記[2]に記載の情報処理装置。
[4]前記実行制御手段は、前記一連の実行指令における前記第1の実行指令の直前の第3の実行指令に応じた第3の処理の実行結果に応じて、前記第1の処理を再び実行するか否かを特定する、
前記[1]から[3]のいずれか1つに記載の情報処理装置。
[5]前記第1の処理に係る第1の動作情報と、前記第3の処理に係る第2の動作情報とを互いに関連付ける関連付け手段をさらに備える、
前記[5]に記載の情報処理装置。
[6]コンピュータを、
一連の実行指令を含んで構成された実行指示に応じた処理を実行する実行手段と、
前記実行手段による前記処理の実行が途中で停止した後に再び実行する場合に、前記一連の実行指令のうち予め定められた第1の実行指令を実行せずに、前記一連の実行指令のうち前記第1の実行指令以外の第2の実行指令から再実行するよう前記実行手段を制御する実行制御手段として、
機能させるためのプログラム。
本発明によれば、一連の実行指令を含む処理が途中で不具合等により停止した後に再び実行、もしくは継続実行する場合に不適切な処理を実行してしまうことを抑制することができる。
図1は、本実施の形態に係る情報処理装置の制御系の一例を示すブロック図である。 図2は、実行履歴テーブルの一例を示す図である。 図3は、コマンド動作決定テーブルの一例を示す図である。 図4は、本実施の形態に係る情報処理装置の動作の一例を示すフローチャートである。 図5は、データの流れの一例を模式的に示す図である。 図6(a)〜(e)は、実行履歴テーブルへの実行結果情報の登録の一例を示す図である。 図7は、本実施の形態に係る情報処理装置の動作の一例を示すフローチャートである。 図8は、実行履歴テーブルへの実行結果情報の登録の一例を示す図である。 図9は、コマンド動作決定テーブルの変形例を示す図である。
以下、本発明の実施の形態について図面を参照して説明する。なお、各図中、実質的に同一の機能を有する構成要素については、同一の符号を付してその重複した説明を省略する。
[実施の形態]
(情報処理装置の構成)
図1は、本発明の実施の形態に係る情報処理装置の制御系の一例を示す模式図である。この情報処理装置1は、ワークフロー(後述する)の実行を管理するワークフロー管理部10と、ワークフローを構成する各処理を実行する第1〜第3の処理部20A〜20Cと、各種のデータを記憶する記憶部(以下、単に「データベース」又は「DB」ともいう。)30とを有して構成されている。なお、以下、第1〜第3の処理部20A〜20Cを総称するときは、単に「処理部20」ともいう。データベース30は、記録手段の一例である。
このような情報処理装置1として、例えば、パーソナルコンピュータ、タブレッド端末、多機能携帯電話機(スマートフォン)等を用いることができる。また、処理部20A〜20Cには、例えば、画像の処理を行う機能を備える装置(すなわち、画像読取装置、画像出力装置等)や、データの送受信を行う機能を備えた装置(データ送信装置、メールサーバ装置等)等が含まれる。
なお、図1では、3つの処理部20A〜20Cを備える例を示したが、処理部20の数はこれに限定されるものではなく、1つや2つでもよく、4つ以上でもよい。また、処理部20A〜20Cは、上述した機能を備えた装置に限定されるものではなく、実行されるワークフローの内容に応じて適宜構成してよい。
また、処理部20A〜20Cやデータベース30は、例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、イントラネット等のネットワーク(不図示)を介して情報処理装置1の外部に設けられてもよい。
(各構成について)
次に、上述した情報処理装置1の各構成について説明する。
〔ワークフロー管理部10〕
ワークフロー管理部10は、ワークフローの実行に係る各種動作を管理する。ここで、「ワークフロー」とは、複数の一定のまとまった単位の処理(以下、「タスク」ともいう。)を関連付けて構築した一連の業務の流れをいう。ワークフローは、一連の処理の一例である。
タスクは、さらに少なくとも1つ以上の基本的な処理(以下、単に「基本処理」ともいう。)を含んで構成される。この基本処理は、後述する実行指令(以下、「コマンド」ともいう。)に応じて実行される。なお、以下の説明では、ワークフローが第1〜第3のタスクを含んで構成され、さらに、第1のタスクが第1のコマンドに応じた1つの基本処理から構成され、第2のタスクが第2のコマンドに応じた1つの基本処理から構成され、第3のタスクが第3〜第5のコマンドに応じた3つの基本処理を含んで構成されている場合を例に挙げて説明する。基本処理は、実行指令に応じた処理の一例である。
ワークフロー管理部10は、CPU(Central Processing Unit)、インターフェース等から構成されている。CPUは、データベース30に記憶されたプログラム300に従って動作することにより、受付手段100、第1の生成手段101、第2の生成手段102、起動手段103、動作決定手段104、動作記録手段105、通知手段106等として機能する。動作決定手段104は、実行制御手段の一例である。各手段100〜106の詳細については後述する。
〔処理部20A〜20C〕
処理部20は、タスクを実行する。具体的には、処理部20は、タスクを構成する1つ以上の基本処理を予め定められた順序で連続的に実行する。より具体的には、第1の処理部20Aが第1のタスクを実行し、第2の処理部20Bが第2のタスクを実行し、第3の処理部20Cが第3のタスクを実行する。
すなわち、第1の処理部20Aが第1のコマンドに応じた1つの基本処理を実行し、第2の処理部20Bが第2のコマンドに応じた1つの基本処理を実行し、第3の処理部20Cが第3から第5のコマンドに応じた3つの基本処理を実行する。なお、この例に限定されるものではなく、第1の処理部20Aが複数の基本処理を実行してもよく、第2の処理部20Bが複数の基本処理を実行してもよく、第3の処理部20Cが1つの基本処理を実行してもよい。
第1の処理部20Aは、第1のタスクを実行する第1の実行手段200Aを備える。第2の処理部20Bは、第2のタスクを実行する第2の実行手段200Bを備える。第3の処理部20Cは、第3のタスクを実行する第3の実行手段200Cを備える。第1から第3の実行手段200A〜200Cは、例えば、当該情報処理装置1に追加することが可能なプログラム(すなわち、プラグインソフトウェア等)によって動作する。なお、第1から第3の実行手段200A〜200Cを総称する場合は、以下、単に「実行手段200」ともいう。
〔データベース30〕
データベース30は、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスク等から構成され、プログラム300や、実行履歴テーブル301(図2参照)、コマンド動作決定テーブル302(図3参照)、ワークフロー情報303等の各種データを記憶する。テーブルの構成については後述する。
ワークフロー情報303は、ワークフローの構成(すなわち、タスク及び基本処理等)を示す情報や、各処理を実行するための情報(パラメータや実行の順序を示す情報(以下、「実行順序情報」ともいう。)等)等を、ワークフローを識別する識別情報と関連付けて登録した情報である。
次に、ワークフロー管理部10を構成する各手段100〜106について説明する。受付手段100は、操作者(以下、「ユーザ」ともいう。)の操作に基づいて、1のワークフローの実行を指示する実行指示(以下、「ジョブ」ともいう。)を生成する要求(以下、単に「ジョブ生成要求」ともいう。)4を受け付ける。ジョブ生成要求4には、例えば、ワークフローの名称やID等ワークフローを識別する識別情報が含まれる。
第1の生成手段101は、ジョブ生成要求4に応じて、当該ジョブに付与されたジョブを識別する識別情報(以下、「ジョブID」ともいう。)とともに、ユーザにより指定されたワークフローに係るワークフロー情報303を含んで構成されたジョブを生成する。
第2の生成手段102は、当該ジョブにかかるワークフローを実行するコマンドを生成する。コマンドは、当該ワークフローを構成する基本処理を実行するための各種情報を含む。
起動手段103は、ワークフローの実行順序情報に応じて、第1〜第3の処理部20A〜20Cをそれぞれ起動する。なお、「起動する」とは、例えば、処理部20による処理の実行が可能な状態にすることをいう。
動作決定手段104は、不具合等が原因でワークフローが途中で停止した後に再び当該ワークフローの実行が指示された場合に、当該ワークフローを構成する各基本処理をどのように扱うか、すなわち、当該基本処理を再度のワークフローの実行において再び実行するか否かを決定する。
具体的には、動作決定手段104は、データベース30に記憶された実行履歴テーブル301から実行の結果を示す情報(以下、「実行結果情報」ともいう。)を取得する。また、動作決定手段104は、取得した実行結果情報を、データベース30に記憶されたコマンド動作決定テーブル302に記録された情報と照合して、再度のワークフローの実行の際に当該基本処理を再び実行するか否かを決定する。実行結果情報は、結果情報の一例である。
なお、ワークフローが途中で停止した後に再び実行された場合、停止が発生した処理が含まれるタスクの先頭の基本処理から再開してもよく、ワークフローの先頭の基本処理、すなわち、第1のタスクを構成する基本処理から一律に再開するようにしてもよい。
動作記録手段105は、ジョブID、タスクを識別する識別情報(以下、「タスクID」ともいう。)、及びコマンドの名称を示す情報(以下、単に「コマンド名」ともいう。)と関連付けて実行結果情報を実行履歴テーブル301に記録する。以下、第1、第2・・のタスクに係るタスクIDを、それぞれ「Task1」、「Task2」、・・ともいう。
通知手段106は、実行中のワークフローが何らかの原因によって途中で停止した場合に、例えば、音(アラーム)や音声、メール通知、メッセージ通知、LED等の公知の手段を用いて警告を出力して、ワークフローが途中で停止したこと(すなわち、エラーが発生したこと)をユーザに通知する。
(テーブルの構成)
図2は、実行履歴テーブル301の一例を示す図である。実行履歴テーブル301は、基本処理ごとに実行結果情報を記録したテーブルである。実行履歴テーブル301には、「ジョブID」欄と、「タスクID」欄と、「コマンド名」欄と、「実行結果」欄とが設けられている。
「コマンド名」欄には、実行される基本処理に対応するコマンドの名称が記録される。「実行結果」欄には、処理の結果に応じて、「未」(未処理)、「成功」、「エラー」等の文字列や記号等によって実行結果情報が記録される。
図3は、コマンド動作決定テーブル302の一例を示す図である。コマンド動作決定テーブル302は、ワークフローが途中で停止した後に再び当該ワークフローの実行が指示された場合に、当該ワークフローを構成する基本処理を実行するか否かを示す情報を記録したものである。
コマンド動作決定テーブル302には、「コマンド名」欄と、「再実行時動作設定」欄とが設けられている。「コマンド名」欄には、実行される基本処理に対応するコマンドの名称が記録されている。「再実行時動作設定」欄には、再び当該ワークフローの実行が指示された場合に、当該基本処理を実行するか否かを示す情報(以下、「再実行時動作情報」ともいう。)が記録されている。コマンド名は、実行指令を識別する識別情報の一例である。再実行時動作情報は、動作情報の一例である。
例えば、画像処理のワークフローの事例で説明すると、コマンド動作決定テーブル302において、画像生成の実行手段は、自処理で不具合が発生した後の再度実行する際の動作が設定されており、画像生成の事例では、前回の処理が成功でもエラーでも再度同じ処理を実行する設定である。画像解析の事例では、再実行を行う時、前回処理した時に成功していれば何も画像解析処理を行わずに処理を終え、前回エラーであったなら画像解析の処理を行う設定である。
「再実行時動作設定」欄には、再び当該ワークフローで一度実行された処理への再度の実行が指示されたときに再び当該基本処理の実行を行わない場合、例えば、「スルー」と記録され、再び当該ワークフローの実行が指示されたときに再び当該基本処理の実行を行う場合、例えば、「実行」と記録され、再び当該ワークフローの実行が指示されたときに再び当該基本処理の実行を行わず警告を出力する場合、例えば、「エラー」と記録する。
なお、再実行時動作情報は、図3に示すように、処理が途中で停止したワークフローの実行中(すなわち、1度目のワークフローの実行中に)、当該基本処理が成功していたかエラーが発生していたかに応じて切り分けて、再実行時の動作「実行」「スルー」「エラー」が定義されている。
「スルー」と定義された基本処理を実行するコマンド及び「エラー」と記録された基本処理を実行するコマンドは、第1の実行指令の一例である。「実行」と記録された基本処理を実行するコマンドは、第2の実行指令の一例である。「スルー」と記録された基本処理及び「エラー」と記録された基本処理は、第1の処理の一例である。「実行」と記録された基本処理は、第2の処理の一例である。
(実施の形態の動作)
次に、情報処理装置1の動作の一例について図4、図5及び図6を参照して説明する。図4は、本実施の形態に係る情報処理装置1の動作の一例を示すフローチャートである。図5は、データの流れの一例を模式的に示す図である。図5に示した矢印は、データの流れを示している。詳細は、後述する動作の一例とともに説明する。図6は、実行履歴テーブル301への実行結果情報の登録の一例を示す図である。なお、以下、画像生成、画像解析、画像加工、データ送信、送信記録を含んで構築されたワークフローについて、第1の処理部20Aが画像の生成を実行し、第2の処理部20Bが画像の解析を実行し、第3の処理部20Cが画像の加工、データの送信、及び送信の記録を実行する場合を例に挙げて説明する。
画像生成は、第1のタスクの一例である。画像解析は、第2のタスクの一例である。画像加工、データ送信及び送信記録は、第3のタスクの一例である。画像生成、画像解析、画像加工、データ送信、及び送信の記録は、それぞれ基本処理の一例である。
第1のタスクは、画像生成コマンドに応じて実行される。第2のタスクは、画像の解析に係る画像解析コマンドにより実行される。第3のタスクは、画像の加工に係る画像加工コマンド、データの送信に係るデータ送信コマンド、及び送信の記録に係る送信記録コマンドによりそれぞれ実行される。
画像生成コマンドは、第1のコマンドの一例である。画像解析コマンドは、第2のコマンドの一例である。画像加工コマンドは、第3のコマンドの一例である。データ送信コマンドは、第4のコマンドの一例である。送信記録コマンドは、第5のコマンドの一例である。以下、(1)ワークフローが途中で停止せずに終了する場合の動作と、(2)ワークフローが途中で不具合等により停止した際に、再実行する場合の動作の2つの動作に分けて説明する。
(1)ワークフローが途中で停止せずに終了する場合の動作
ユーザが情報処理装置1に対してワークフローの名称(以下、単に「ワークフロー名」ともいう。)を指定してジョブ生成要求4を行うと、受付手段100は、ジョブ生成要求4を受け付ける(S1)。第1の生成手段101は、受付手段100が受け付けたジョブ生成要求4に応じて、ジョブIDとともにジョブを生成する(S2)。
起動手段103は、第1の処理部20Aを起動する(S3)。第1の実行手段200Aは、ジョブID、タスクIDを引数として第1のタスク(画像の生成)を実行する(S4)。本実施の形態では、第2の生成手段102が画像生成コマンドを生成し、第1の実行手段200Aは、この画像生成コマンドに応じて画像を生成する処理(以下、「第1の基本処理」ともいう。)を実行する。
画像生成コマンドに係る処理が終了すると、動作記録手段105は、実行結果を実行履歴テーブル301に記録する(S5)。具体的には、図6(c)に示すように、動作記録手段105は、実行履歴テーブル301の「実行結果」欄の対応する列に「成功」と記録する。
なお、図6(a)に示すように、初期状態では実行履歴テーブル301には情報は何ら記録されていないため、実行履歴テーブル301の各欄は空欄となっている。また、図6(b)に示すように、第1の基本処理が開始後かつ終了前の場合、実行結果は、「未」(未実行)となっている。
次に、起動手段103は、第2の処理部20Bを起動する(S6)。第2の実行手段200Bは、第2のタスク(画像の解析)を実行する(S7)。本実施の形態では、第2の生成手段102が画像解析コマンドを生成し、第2の実行手段200Bは、この画像解析コマンドに応じて画像を解析する処理(以下、「第2の基本処理」ともいう。)を実行する。
第2の基本処理が終了すると、動作記録手段105は、実行結果を実行履歴テーブル301に記録する(S8)。具体的には、図6(d)に示すように、動作記録手段105は、実行履歴テーブル301の「実行結果」欄の対応する列に「成功」と記録する。
次に、起動手段103は、第3の処理部20Cを起動する(S9)。第3の実行手段200Cは、第3のタスク(画像の加工、データの送信、及び送信の記録)を実行する(S10)。本実施の形態では、第2の生成手段102が画像加工コマンド、データ送信コマンド及び送信記録コマンドを生成し、第3の実行手段200Cは、画像加工コマンドに応じて画像を加工する処理(以下、「第3の基本処理」ともいう。)を実行し、データ送信コマンドに応じてデータする処理(以下、「第4の基本処理」ともいう。)を実行し、送信記録コマンドに応じてデータを送信したことを記録する処理(以下、「第5の基本処理」ともいう。)を実行する。
上記第3〜第5の基本処理が終了すると、動作記録手段105は、これら第3〜第5の基本処理ごとに実行結果を実行履歴テーブル301に記録する(S11)。具体的には、図6(e)に示すように、動作記録手段105は、実行履歴テーブル301の「実行結果」欄の対応する列に「成功」と記録する。
以上を換言すれば、受付手段100は、ジョブ生成要求4を受け付け(S1)、第1の生成手段101は、ジョブを生成し(S2)、起動手段103は、N番目(Nは自然数)の処理部20を起動し(S3、S6、S9)、第2の生成手段102は、1つ以上のコマンドを生成し(S4、S7、S10)、N番目(Nは自然数)の処理部20の実行手段200は、コマンドに係る基本処理を実行し、動作記録手段105は、実行された基本処理ごとに実行結果を実行履歴テーブル301に記録する(S5、S8、S11)。
(2)ワークフローが途中で停止・再実行する場合の動作
ワークフローが途中で停止・再実行する場合の説明として、第3の処理部20Cにおける第3のタスクの実行の途中に何らかの理由でワークフローが停止・再実行した場合を例に挙げて説明する。なお、特に記述がない限り、第1のタスク及び第2のタスクは、正常に終了したもの(すなわち、実行結果が「成功」と記録されている)とし、再び当該ワークフローの実行が指示されたときは、停止が発生した第3のタスクを構成する複数の基本処理のうちの先頭の基本処理から再開するものとして説明する。また、(2−1)第3の処理部20Cが停止した場合、(2−2)データの送信中にエラーが発生した場合、及び(2−3)画像の加工中にエラーが発生した場合の3つの例について説明する。
(2−1)第3の処理部20Cが停止した場合
図7は、情報処理装置1の動作の一例を示すフローチャートである。図8は、実行履歴テーブル301への実行結果情報の登録の一例を示す図である。なお、図7の先頭において上述したステップS1からS9までと同一の動作が行われたものとし、その記載は省略する。
第1及び第2のタスクが実行された後、第3の処理部20C(例えば、データ送信装置)が停止したことによって第3のタスクの途中で処理が停止した場合(S20:Yes)、動作記録手段105は、図8に示すように、ジョブID、タスクID、コマンド名(データ送信コマンド)とともに、「実行結果」欄の対応する列に「エラー」と記録する(S21)。
通知手段106は、警告を出力してエラーが発生したことを通知する(S22)。第3の処理部20Cの修復が可能な場合(S23:Yes)、ユーザによりエラーを発生する原因が取り除かれた修復した後、再びユーザの操作に基づいてワークフローの実行の要求がなされると、受付手段100は当該実行要求を受け付ける(S24)。
起動手段103は、再び第3の処理部20Cを起動する(S25)。第3の処理部20Cの第3の実行手段200Cは、再び第3のタスクを実行する(S26)。具体的には、第3の実行手段200Cは、第3のタスクを構成する先頭の基本処理である第3の基本処理(すなわち、画像を加工する処理)の実行を開始する。
動作決定手段104は、データベース30に記憶された実行履歴テーブル301から、停止が発生した第3のタスクに係る基本処理の実行結果情報を取得する(S27)。具体的には、動作決定手段104は、図8に示す実行履歴テーブル301から、第3のタスク(「Task3」)に係る基本処理(本実施の形態では、画像の加工、データの送信、及び送信の記録の3つの基本処理)うち、「実行結果」欄に記録が存在している場合、記録されている実行結果情報を取得する。なお、ワークフローの途中の停止によって処理が開始されていなかったことにより「実行結果」欄が空欄のもの(図7に示す例では、送信の記録に係る結果)については、実行結果情報を取得しなくてもよい。
次に、動作決定手段104は、取得した実行結果情報をデータベース30に記憶されたコマンド動作決定テーブル302に記録された情報(図4参照)と照合する(S28)。
動作決定手段104は、再度のワークフロー実行の際に第3のタスクを構成する各基本処理を再び実行するか否かを決定する(S29)。具体的には、動作決定手段104は、「画像加工」の実行結果情報が「成功」のため、画像の加工については「スルー」と決定し、「データ送信」の実行結果情報が「エラー(停止)」のため、データの送信については「実行」と決定する。
第3の実行手段200Cは、動作決定手段104による決定に応じて、各基本処理を実行する(S30)。具体的には、第3の実行手段200Cは、再度の画像の加工を実行せず、未実行のデータの送信及び送信の記録を実行する。
(2−2)データの送信中にエラーが発生した場合
データの送信中にエラーが発生した場合、上述のステップS29における動作決定手段104による決定の結果が上述した第3の処理部20Cが停止した場合と相違する。ステップS29に相当する動作を中心に説明し、その他のステップS20〜S28については同一のため詳細な説明は省略する。
動作決定手段104は、取得した実行結果情報をデータベース30に記憶されたコマンド動作決定テーブル302に記録された情報(図4参照)と照合する。次に、動作決定手段104は、「画像加工」の実行結果情報が「成功」のため、画像の加工については「スルー」と決定するともに、「データ送信」については実行結果情報が「エラー(送信)」となるため、データの送信については「エラー」と決定する。
第3の実行手段200Cは、再度の画像の加工及びデータの送信をともに実行せず、通知手段106は、警告を出力してデータの送信にエラーが発生したことをユーザに通知する。通知手段106は、ユーザにワークフローのやり直しを行うよう促すメッセージをさらに通知してもよい。
(2−3)画像の加工中にエラーが発生した場合
データの送信中にエラーが発生した場合、上述のステップS29における動作決定手段104による決定の結果が上述した第3の処理部20Cが停止した場合と相違する。ステップS29に相当する動作を中心に説明し、その他のステップS20〜S28については同一のため詳細な説明は省略する。
動作決定手段104は、取得した実行結果情報をデータベース30に記憶されたコマンド動作決定テーブル302に記録された情報(図4参照)と照合する。次に、動作決定手段104は、「画像加工」については実行結果情報が「エラー」であるため、画像の加工については「実行」と決定する。
第3の実行手段200Cは、再度の画像の加工を実行するとともに、続いて、データの送信及び送信の記録の処理を実行する。
上述した3つの例では、第3の処理部20Cの処理、すなわち、第3のタスクの実行中にエラーが発生したことを例に挙げて説明したが、第1の処理部20Aの処理、すなわち、第1のタスクの実行中にエラーが発生した場合や、第2の処理部20Bの処理、すなわち、第2のタスクの実行中にエラーが発生した場合の動作についても上述した動作と実質的に同一である。
<変形例>
図9は、コマンド動作決定テーブル302の変形例を示す図である。コマンド動作決定テーブル302には、図9に示すように、図4に示した欄に加えて、例えば、「前段コマンドからの動作」欄をさらに設けてもよい。この「前段コマンドからの動作」欄には、当該基本処理の1つ前に行われた基本処理の結果に応じて当該基本処理を再び実行するか否かに関わる情報が記録されている。前段のコマンドは、第3の実行指令の一例である。前段のコマンドに係る基本処理は、第3の処理の一例である。コマンド動作決定テーブル302は、関連付け手段の一例である。
当該基本処理を実行する場合、例えば、「実行」と記録され、当該基本処理の結果に依存して決定する場合、「再実行設定参照」等と記録される。
動作決定手段104は、コマンド動作決定テーブル302の「前段コマンドからの動作」欄を参照する。「前段コマンドからの動作」欄に「再実行設定参照」と記録されている場合、動作決定手段104は、「再実行設定」欄を参照する。また、動作決定手段104は、取得した実行結果情報を「再実行設定」欄に記録された情報と照合して、当該基本処理を再び実行するか否かを決定する。
以上、本発明の実施の形態を説明したが、本発明の実施の形態は上記実施の形態に限定されるものではなく、本発明の要旨を変更しない範囲内で種々の変形、実施が可能である。画像処理には、例えば、画像の移動、回転、ノイズの除去、特定の形状の認識、テキスト情報の抽出(例えば、OCR処理)、ファイルの形式の変換等が含めてよい。
ワークフロー管理部10の各手段は、それぞれ一部又は全部を再構成可能回路(FPGA:Field Programmable Gate Array)、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)等のハードウエア回路によって構成してもよい。
また、本発明の要旨を変更しない範囲内で、上記実施の形態の構成要素の一部を省くことや変更することが可能である。また、本発明の要旨を変更しない範囲内で、上記実施の形態のフローにおいて、ステップの追加、削除、変更、入替え等が可能である。また、上記実施の形態で用いたプログラムをCD−ROM等のコンピュータで読み取り可能な記録媒体に記録して提供することができ、クラウドサーバ等の外部サーバに格納しておき、ネットワークを介して利用することもできる。
1…情報処理装置
10…ワークフロー管理部
100…受付手段
101…第1の生成手段
102…第2の生成手段
103…起動手段
104…動作決定手段
105…動作記録手段
106…通知手段
20…処理部
20A…第1の処理部
20B…第2の処理部
20C…第3の処理部
200…実行手段
200A…第1の実行手段
200B…第2の実行手段
200C…第3の実行手段
30…データベース
300…プログラム
301…実行履歴テーブル
302…コマンド動作決定テーブル
303…ワークフロー情報
4…ジョブ生成要求
4A…出力結果

Claims (6)

  1. 一連の実行指令を含んで構成された実行指示に応じた一連の処理を実行する実行手段と、
    前記実行手段による前記一連の処理の実行が途中で停止した後に再び実行する場合に、前記一連の実行指令のうち予め定められた第1の実行指令に応じた第1の処理を実行せずに、前記一連の実行指令のうち前記第1の実行指令以外の第2の実行指令に応じた第2の処理から再実行するよう前記実行手段を制御する実行制御手段と、
    を備える、情報処理装置。
  2. 前記第1の実行指令を識別する識別情報と前記実行手段が実行した前記実行指令の実行の結果を示す結果情報とを記録する記録手段をさらに備え、
    前記実行制御手段は、前記記録手段に記録された前記識別情報及び前記結果情報に応じて前記実行手段を制御する、
    請求項1に記載の情報処理装置。
  3. 前記記録手段は、前記結果情報に応じて前記一連の実行指令に含まれる実行指令ごとに、再び実行するか否かを示す動作情報を記録し、
    前記実行制御手段は、前記結果情報に対応する前記動作情報に応じて、前記実行手段を制御する、
    請求項2に記載の情報処理装置。
  4. 前記実行制御手段は、前記一連の実行指令における前記第1の実行指令の直前の第3の実行指令に応じた第3の処理の実行結果に応じて、前記第1の処理を再び実行するか否かを特定する、
    請求項1から3のいずれか1項に記載の情報処理装置。
  5. 前記第1の処理に係る第1の動作情報と、前記第3の処理に係る第2の動作情報とを互いに関連付ける関連付け手段をさらに備える、
    請求項5に記載の情報処理装置。
  6. コンピュータを、
    一連の実行指令を含んで構成された実行指示に応じた処理を実行する実行手段と、
    前記実行手段による前記処理の実行が途中で停止した後に再び実行する場合に、前記一連の実行指令のうち予め定められた第1の実行指令を実行せずに、前記一連の実行指令のうち前記第1の実行指令以外の第2の実行指令から再実行するよう前記実行手段を制御する実行制御手段として、
    機能させるためのプログラム。
JP2018242828A 2018-12-26 2018-12-26 情報処理装置及びプログラム Pending JP2020107954A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018242828A JP2020107954A (ja) 2018-12-26 2018-12-26 情報処理装置及びプログラム
US16/392,574 US20200210232A1 (en) 2018-12-26 2019-04-23 Information processing apparatus and non-transitory computer readable medium storing program
CN201910479614.5A CN111367589A (zh) 2018-12-26 2019-06-04 信息处理装置、记录媒体及信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018242828A JP2020107954A (ja) 2018-12-26 2018-12-26 情報処理装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2020107954A true JP2020107954A (ja) 2020-07-09

Family

ID=71124241

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018242828A Pending JP2020107954A (ja) 2018-12-26 2018-12-26 情報処理装置及びプログラム

Country Status (3)

Country Link
US (1) US20200210232A1 (ja)
JP (1) JP2020107954A (ja)
CN (1) CN111367589A (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707451B2 (en) * 2005-06-28 2010-04-27 Alcatel-Lucent Usa Inc. Methods and devices for recovering from initialization failures
US8255745B2 (en) * 2005-08-29 2012-08-28 The Invention Science Fund I, Llc Hardware-error tolerant computing
WO2014046694A1 (en) * 2012-09-24 2014-03-27 Empire Technology Development Llc Decentralized cloud workflows
JP6311676B2 (ja) * 2015-08-18 2018-04-18 株式会社リコー システムおよび情報処理方法
WO2017064758A1 (ja) * 2015-10-13 2017-04-20 富士通株式会社 制御システムおよび制御方法
US10824981B2 (en) * 2017-04-24 2020-11-03 Sap Se Transaction orchestration for microservice

Also Published As

Publication number Publication date
US20200210232A1 (en) 2020-07-02
CN111367589A (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
JP6678780B2 (ja) プロセス視覚化プラットフォーム
JP5970617B2 (ja) 開発支援システム
US9483307B2 (en) Asynchronous, interactive task workflows
JP6342070B2 (ja) ジョブ管理装置及びジョブ管理方法及びジョブ管理プログラム
JP6661409B2 (ja) 自動設置システム、情報処理装置、情報処理装置の制御方法、及びプログラム
US10204012B2 (en) Impact analysis-based task redoing method, impact analysis calculation apparatus, and one-click resetting apparatus
US11704139B2 (en) Service processing method and apparatus, electronic device, and storage medium
JP2021180491A5 (ja)
JP2007058506A (ja) 文書管理サーバ、文書管理システム、及び、文書管理プログラムとその記録媒体
US20130263143A1 (en) Information processing method and system
US20200236244A1 (en) Information processing system and apparatus and non-transitory computer readable medium
JP2020107954A (ja) 情報処理装置及びプログラム
US9442907B2 (en) Disaster recovery method and apparatus used in document editing and storage medium
JP3946224B2 (ja) ロボット制御システム
JP2005251067A (ja) 合成サービス提供方法、合成サービス提供システム、実行装置およびプログラム
JP6234233B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP4577343B2 (ja) 計算機システムおよびジョブステップ並列処理方法
JP6512030B2 (ja) 情報処理装置、プログラム、情報処理システムおよび情報処理方法
JP2018097822A (ja) プログラム、システム、およびシステムの制御方法
JP6905111B2 (ja) 管理装置と情報処理装置とを含むシステム、情報処理装置、それらの制御方法、及びプログラム
JP5935392B2 (ja) オンライン帳票印刷における連続印刷制御方法および連続印刷制御プログラムとオンライン帳票印刷システム
JP5277847B2 (ja) 作業管理装置、作業管理プログラム
JP2017167954A (ja) システム、サーバ、システムの制御方法、サーバの制御方法、及びプログラム
JP5135750B2 (ja) グリッドシステム、グリッドスケジューリングプログラム及び方法
JP5691471B2 (ja) プログラムおよび情報処理装置