(57)【要約】【課題】処理フローのマスターに変更があると確認された場合は、実行対象である処理フローに、その変更を反映するようにした情報処理装置を提供する。【解決手段】情報処理装置の確認手段は、処理フローに変更可能フラグが付与されている場合は、該処理フローのマスターに変更があるか否かを確認し、反映手段は、前記確認手段によって前記マスターに変更があると確認された場合は、実行対象である前記処理フローに、その変更を反映する。【選択図】図１
2018028725.tif 000002
【特許請求の範囲】
【請求項１】
処理フローに変更可能フラグが付与されている場合は、該処理フローのマスターに変更があるか否かを確認する確認手段と、
前記確認手段によって前記マスターに変更があると確認された場合は、実行対象である前記処理フローに、その変更を反映する反映手段
を有する情報処理装置。
【請求項２】
前記確認手段は、実行対象である前記処理フローが実行される際に確認を行う、
請求項１に記載の情報処理装置。
【請求項３】
前記反映手段は、実行対象である前記処理フローが実行される際、又は、前記変更可能フラグが付与されているタスクが実行される際に、変更を反映する、
請求項２に記載の情報処理装置。
【請求項４】
前記確認手段は、実行対象である前記処理フロー内の変更可能フラグが付与されているタスクが実行される際に確認を行う、
請求項１に記載の情報処理装置。
【請求項５】
前記反映手段は、前記変更可能フラグが付与されているタスクが実行される際に、変更を反映する、
請求項４に記載の情報処理装置。
【請求項６】
前記反映手段によって変更が反映された前記処理フローを実行する実行手段
をさらに有し、
前記実行手段は、前記確認手段による確認ができない場合、又は、前記反映手段による変更の反映ができない場合、変更の反映前の前記処理フローを実行する、
請求項１に記載の情報処理装置。
【請求項７】
コンピュータを、
処理フローに変更可能フラグが付与されている場合は、該処理フローのマスターに変更があるか否かを確認する確認手段と、
前記確認手段によって前記マスターに変更があると確認された場合は、実行対象である前記処理フローに、その変更を反映する反映手段
として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、ジョブフローの即時実行が行えない場合に、外部処理装置から複合機の状態を認識しながら複合機に自動でリトライをさせる文書処理プログラム、文書処理方法、及び文書処理装置を提供することを課題とし、複合機は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を備え、本複合機の各部を制御する制御部と、操作表示部と、画像読取部と、印刷部と、記憶装置と、ジョブ状態情報、ジョブＩＤ、ジョブログ等を生成するジョブ管理部と、ジョブフローを含む指示書を格納する指示書管理部と、予約番号及び予約リストを発行、管理する予約番号管理部と、ネットワークに接続されたネットワーク通信部と、電話回線網等に接続されたファックス通信部とを有し、これらがバスを介して互いに接続されていることが開示されている。
【０００３】
特許文献２には、タスクの実行時に、ユーザーはそのタスクのパラメータを変更できるだけで、新たにタスクを追加することができないことを課題とし、処理フローにしたがって処理を行う情報処理装置であって、処理フローのテンプレートを基に、タスクの処理内容を記載した処理フローを作成し、その際、その処理フローで使用されるテンプレートの編集が指示されると、そのテンプレートを編集し、その編集されたテンプレートの変更内容を当該テンプレートを含む処理フローに反映させることが開示されている。
【０００４】
特許文献３には、機器構成と指示書との間で不整合があった場合に、不整合が解決された指示書を入手することを可能とすることを課題とし、印刷装置は、印刷指示が記述された指示書を伴う印刷要求を受け付ける印刷要求受付部と、当該指示書に記述された印刷指示が当該印刷装置で実行可能であるか否かを判断する指示書判断部と、実行可能でないと判断された場合に指示書を修正して、当該印刷装置で実行可能な印刷指示が記述された指示書を生成する指示書修正部と、生成された指示書を出力する指示書出力部と、を有することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１６４５４４号公報
【特許文献２】特開２００９−１６４９７２号公報
【特許文献３】特開２００７−２５７５８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
処理フローにしたがって処理を行う情報処理装置がある。処理フローは、その処理フローの元となるマスターによって管理されている。
ところで、処理フローのマスターに変更があった場合、実行対象である処理フローを変更する必要がある。前述の特許文献に記載の技術では、実行可能でないと判断された場合に、修正が行われている。そのため、実行可能でない状況にならないと、修正することが行われない。しかし、実行可能である場合であっても、修正を行い、反映させたい場合がある。
本発明は、処理フローのマスターに変更があると確認された場合は、実行対象である処理フローに、その変更を反映するようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、処理フローに変更可能フラグが付与されている場合は、該処理フローのマスターに変更があるか否かを確認する確認手段と、前記確認手段によって前記マスターに変更があると確認された場合は、実行対象である前記処理フローに、その変更を反映する反映手段を有する情報処理装置である。
【０００８】
請求項２の発明は、前記確認手段は、実行対象である前記処理フローが実行される際に確認を行う、請求項１に記載の情報処理装置である。
【０００９】
請求項３の発明は、前記反映手段は、実行対象である前記処理フローが実行される際、又は、前記変更可能フラグが付与されているタスクが実行される際に、変更を反映する、請求項２に記載の情報処理装置である。
【００１０】
請求項４の発明は、前記確認手段は、実行対象である前記処理フロー内の変更可能フラグが付与されているタスクが実行される際に確認を行う、請求項１に記載の情報処理装置である。
【００１１】
請求項５の発明は、前記反映手段は、前記変更可能フラグが付与されているタスクが実行される際に、変更を反映する、請求項４に記載の情報処理装置である。
【００１２】
請求項６の発明は、前記反映手段によって変更が反映された前記処理フローを実行する実行手段をさらに有し、前記実行手段は、前記確認手段による確認ができない場合、又は、前記反映手段による変更の反映ができない場合、変更の反映前の前記処理フローを実行する、請求項１に記載の情報処理装置である。
【００１３】
請求項７の発明は、コンピュータを、処理フローに変更可能フラグが付与されている場合は、該処理フローのマスターに変更があるか否かを確認する確認手段と、前記確認手段によって前記マスターに変更があると確認された場合は、実行対象である前記処理フローに、その変更を反映する反映手段として機能させるための情報処理プログラムである。
【発明の効果】
【００１４】
請求項１の情報処理装置によれば、処理フローのマスターに変更があると確認された場合は、実行対象である処理フローに、その変更が反映される。
【００１５】
請求項２の情報処理装置によれば、実行対象である処理フローが実行される際に確認が行われる。
【００１６】
請求項３の情報処理装置によれば、実行対象である処理フローが実行される際、又は、変更可能フラグが付与されているタスクが実行される際に、変更が反映される。
【００１７】
請求項４の情報処理装置によれば、実行対象である処理フロー内の変更可能フラグが付与されているタスクが実行される際に確認が行われる。
【００１８】
請求項５の情報処理装置によれば、変更可能フラグが付与されているタスクが実行される際に、変更が反映される。
【００１９】
請求項６の情報処理装置によれば、確認手段による確認ができない場合、又は、反映手段による変更の反映ができない場合であっても、変更の反映前の処理フローが実行される。
【００２０】
請求項７の情報処理プログラムによれば、処理フローのマスターに変更があると確認された場合は、実行対象である処理フローに、その変更が反映される。
【図面の簡単な説明】
【００２１】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態を利用したシステム構成例を示す説明図である。
【図３】本実施の形態での処理対象となる処理フローの例を示す説明図である。
【図４】ジョブフローテーブルのデータ構造例を示す説明図である。
【図５】本実施の形態による処理例を示すフローチャートである。
【図６】本実施の形態による処理例を示す説明図である。
【図７】本実施の形態による処理例を示すフローチャートである。
【図８】本実施の形態による処理例を示すフローチャートである。
【図９】本実施の形態による処理例を示す説明図である。
【図１０】本実施の形態による処理例を示す説明図である。
【図１１】本実施の形態による処理例を示すフローチャートである。
【図１２】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２２】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２３】
本実施の形態である情報処理装置（管理装置）１００と情報処理装置（実行装置）１５０との組み合わせによる情報処理システムは、情報処理装置（管理装置）１００で処理フローのマスターが変更された場合に、情報処理装置（実行装置）１５０では、そのマスターに対応する処理フローに、その変更を反映させ、変更が反映された処理フローを実行するものであって、図１の例に示すように、情報処理装置（管理装置）１００と情報処理装置（実行装置）１５０は通信回線１９０を介して接続されている。
情報処理装置（実行装置）１５０は、一連の複数のタスク（処理）を行う処理フロー（以下、ジョブフローともいう）を実行する。情報処理装置（実行装置）１５０として、例えば、画像処理装置があり、具体的には、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）等がある。
タスクとは、情報処理装置（実行装置）１５０における個々の機能で実現可能な処理や、実行されるアプリケーションによって実現可能な処理を指す。前述の画像処理装置が有する入出力タスクとしては、原稿のスキャン（読み取り）、文書データのプリント（印刷）、送信（電子メール、ファックス、ファイルの送信等）、記憶装置への保存（例えば、情報処理装置（実行装置）１５０内外のハードディスクへの保存）等が挙げられる。また、編集タスクとしては、複数の文書データの結合、文書データ内のページ付与、削除等がある。
また、このようなタスクを複数つなぎ合わせて時系列で処理することを目的に作成される一連のタスクの組み合わせを処理フローと呼ぶ。この組み合わせには、あるタスクで得られる結果を入力し、その処理結果に応じて他のタスクを起動すること等も含めて様々な組み合わせ処理が可能である。
【００２４】
各情報処理装置（実行装置）１５０が処理フローを取得するには、情報処理装置（管理装置）１００内の処理フローの元となるマスターを、各情報処理装置（実行装置）１５０がインストールすることが必要である。
例えば、頻繁に使用される処理フローにあっては、処理フローのマスターに加えられた変更を、全ての情報処理装置（実行装置）１５０内の処理フローに反映することは困難である。
前述の特許文献に記載の技術では、ジョブフローの実行失敗を起点とした外部装置による制御が可能で、そのタイミングで設定変更を反映することも可能である。しかし、変更前の設定が失敗を伴わないものである場合、これらの技術では変更を反映することができない。
例えば、情報処理装置（管理装置）１００では、処理フローのマスターに対して、処理フロー実行中（そのマスターがインストールされた情報処理装置（実行装置）１５０での処理フローの実行中）に変更してもよいか否かを示す変更可能フラグを設ける。そして、情報処理装置（実行装置）１５０では、変更可能フラグが設定されている場合、その処理フローの実行中に（少なくともその変更箇所の実行前に）、情報処理装置（管理装置）１００のマスターにおいて変更の有無を確認し、もし変更があればその変更を、その情報処理装置（実行装置）１５０における処理フローに反映した上で実行する。
【００２５】
情報処理装置（管理装置）１００は、ジョブフロー作成モジュール１０５、ジョブフロー設定変更モジュール１１０、ジョブフローインストールモジュール１１５を有している。情報処理装置（管理装置）１００は、ジョブフロー管理者１０２によって使用され、処理フローのマスターを管理する装置である。具体的には、処理フローの作成、設定の変更、処理フローを実行する情報処理装置（実行装置）１５０へのインストールを実施する装置である。なお、ここでマスターとは、各情報処理装置（実行装置）１５０で実行される処理フローの元となる情報であって、定義、基本、型、フレーム、パターン、テンプレート、雛形等ともいわれるものである。ここでは、情報処理装置（管理装置）１００内の処理フローのマスターを、各情報処理装置（実行装置）１５０がインストールすることによって、その情報処理装置（実行装置）１５０で処理フローを実行可能としている。ここでのインストールは、マスターのコピーを生成することであってもよいし、各情報処理装置（実行装置）１５０に合わせてマスターを改変して処理フローを生成することを含めてもよい。
なお、ジョブフロー管理者１０２は、処理フローのマスターを管理する装置（情報処理装置（管理装置）１００）を使って、処理フローのマスターの保守管理に関する指示を行うユーザーである。
【００２６】
ジョブフロー作成モジュール１０５は、ジョブフロー管理者１０２の操作にしたがって、処理フローのマスターを作成する。マスターの作成には、動的変更可能フラグ３２５（変更可能フラグの一種）を設定することを含む。なお、変更可能フラグは、その設定を使う前にマスターにおける設定変更の有無を確認し、変更があれば反映してもよいことを示すフラグである。そして、動的変更可能フラグ３２５は、「その設定を使う前」として、処理フローが実行された後である場合を採用し、実行後に、マスターにおける設定変更の有無を確認し、変更があれば反映してもよいことを示すフラグである。なお、「その設定を使う前」として、処理フローの実行前であってもよい。例えば、予め定められた期間毎に、マスターにおける設定変更の有無を確認し、変更があれば反映してもよいことを示すフラグとしてもよい。
なお、変更可能フラグを処理フローのどこに設定するかは、ジョブフロー管理者１０２に委ねられる。つまり、ジョブフロー設計の一環である。
また、変更可能な「設定」の対象は、単純な数値等のパラメータのみとは限らない。例えば、処理フロー内のあるポイントに任意のタスクを追加できて、その追加タスクが実行されても所望の実行結果が得られるように、ジョブフロー管理者１０２が処理フローを設計した場合であれば、それも変更可能な設定である。したがって、「変更可能フラグ」には、そのような対象の変更もあり得る。
【００２７】
ジョブフロー設定変更モジュール１１０は、ジョブフロー管理者１０２の操作にしたがって、処理フローのマスターの一部の設定を変更する。
ジョブフローインストールモジュール１１５は、処理フローを実行する装置（情報処理装置（実行装置）１５０）に処理フローをインストールする。この処理の契機は、ジョブフロー管理者１０２の操作にしたがってであってもよいし、情報処理装置（実行装置）１５０からの要求にしたがってであってもよい。
【００２８】
情報処理装置（実行装置）１５０は、ジョブフロー実行モジュール１５５、動的変更可能フラグ検出モジュール１６０、設定変更有無確認モジュール１６５、設定変更反映モジュール１７０を有している。情報処理装置（実行装置）１５０は、ジョブフロー利用者１５２によって使用され、処理フローを実行する装置である。
ジョブフロー利用者１５２は、ジョブフローを実行する装置（情報処理装置（実行装置）１５０）にインストールされた処理フローを実行させる指示を行うユーザーである。
【００２９】
ジョブフロー実行モジュール１５５は、インストールされた処理フローを実行する。ここで、インストールされた処理フローは、情報処理装置（実行装置）１５０上で実行可能な状態にある処理フロー（例えば、マスターのコピー）である。
また、ジョブフロー実行モジュール１５５は、設定変更反映モジュール１７０によって変更が反映された処理フローを実行する。
そして、ジョブフロー実行モジュール１５５は、設定変更有無確認モジュール１６５による確認ができない場合、又は、設定変更反映モジュール１７０による変更の反映ができない場合、変更前の処理フローを実行するようにしてもよい。この場合とは、主に頻繁に処理フローを使うために処理フローのインストールし直しが難しいシチュエーションである。例えば、情報処理装置（管理装置）１００のダウン（例えば、電源断、エラー発生等）、通信断等が該当する。処理フローがエラーで停止することは望ましくない。したがって、たとえ設定が古くても（変更の未反映でも）、実行可能であれば実行を続けることとしている。
【００３０】
動的変更可能フラグ検出モジュール１６０は、インストールされた処理フローの中から、変更可能フラグの有無を検出する。
設定変更有無確認モジュール１６５は、処理フローに変更可能フラグが付与されている場合は、その処理フローのマスターに変更があるか否かを確認する。
設定変更反映モジュール１７０は、設定変更有無確認モジュール１６５によってマスターに変更があると確認された場合は、実行対象である処理フローに、その変更（処理フローのマスターにおける変更）を反映する。
また、設定変更有無確認モジュール１６５は、実行対象である処理フローが実行される際に確認を行うようにしてもよい。つまり、その処理フローの実行開始の直後（その処理フロー内の最初のタスクの開始する前）に確認を行うようにしてもよい。
この場合、設定変更反映モジュール１７０は、実行対象である処理フローが実行される際、又は、変更可能フラグが付与されているタスクが実行される際に、変更を反映するようにしてもよい。ここで「変更可能フラグが付与されているタスクが実行される際」とは、そのタスクの実行開始の直後（そのタスクにおける実体的な処理を行う前）、又は、そのタスクの開始する前を示しており、変更の反映処理がタスクの前処理であればよい。
また、設定変更有無確認モジュール１６５は、実行対象である処理フロー内の変更可能フラグが付与されているタスクが実行される際に確認を行うようにしてもよい。
この場合、設定変更反映モジュール１７０は、変更可能フラグが付与されているタスクが実行される際に、変更を反映するようにしてもよい。
【００３１】
図２は、本実施の形態を利用したシステム構成例を示す説明図である。
画像処理装置２５０は、情報処理装置（実行装置）１５０を有している。つまり、画像処理装置２５０内に、情報処理装置（実行装置）１５０の機能を持たせたものである。情報処理装置（管理装置）１００、画像処理装置２５０Ａの情報処理装置（実行装置）１５０Ａ、画像処理装置２５０Ｂの情報処理装置（実行装置）１５０Ｂ、画像処理装置２５０Ｃの情報処理装置（実行装置）１５０Ｃ、画像処理装置２５０Ｄの情報処理装置（実行装置）１５０Ｄは、通信回線１９０を介してそれぞれ接続されている。通信回線１９０は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。また、情報処理装置（管理装置）１００による機能は、クラウドサービスとして実現してもよい。
【００３２】
図３は、本実施の形態での処理対象となる処理フローの例を示す説明図である。
図３（ａ）の例に示すジョブフローのマスター３００は、タスクＡ３１０、タスクＢ３２０、タスクＣ３３０の順番に処理を行うことを示している。そして、タスクＢ３２０には、動的変更可能フラグ３２５が付与されている。つまり、動的変更可能フラグ３２５が付与されているタスクＢ３２０内の設定が変更される可能性があることを示している。例えば、タスクＡ３１０として「画像の読み取り」タスク、タスクＢ３２０として「文字認識処理」タスク、タスクＣ３３０として「文字認識結果のファイル登録」タスク等がある。そして、文字認識処理のパラメータの変更が予定されている場合（具体的には、認識精度のよい認識用辞書に将来変更する予定がある場合）は、タスクＢ３２０に動的変更可能フラグ３２５を付与する。
【００３３】
図３（ｂ）の例に示すジョブフローのマスター３５０は、タスクＡ３６０、タスクＢ３７０、タスクＣ３８０の順番に処理を行うことを示している。そして、タスクＣ３８０の後に、付加的タスク３９０を将来付加する予定があることを示している。つまり、付加的タスク３９０には、動的変更可能フラグ３９５が付与されている。ここでの動的変更可能フラグ３９５は、付加的なタスクの動的追加を示すものである。つまり、ジョブフローのマスター３５０内のあるポイントで付加的なタスクを動的に足すという動作を実現する場合、ダミータスク（何もしないタスク）である付加的タスク３９０を作成し、その付加的タスク３９０に動的変更可能フラグ３９５を付加すればよい。
【００３４】
処理フローは、例えば、ジョブフローテーブル４００によって定義されている。図４は、ジョブフローテーブル４００のデータ構造例を示す説明図である。ジョブフローテーブル４００は、ジョブフローＩＤ欄４１０、マスターフラグ欄４１５、タスク数欄４２０、動的変更可能フラグ位置欄４２５、タスク欄４３０を有しており、タスク欄４３０は、タスクＩＤ欄４３２、前のタスクＩＤ欄４３４、次のタスクＩＤ欄４３６を有している。ジョブフローＩＤ欄４１０は、本実施の形態において、ジョブフローを一意に識別するための情報（ジョブフローＩＤ：ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）を記憶している。マスターフラグ欄４１５は、そのジョブフローはマスターであるか否かを示すフラグ（情報処理装置（管理装置）１００内にある場合はマスターであり、情報処理装置（実行装置）１５０内にある場合はマスターではない（インスタンスとしてのジョブフロー））を記憶している。タスク数欄４２０は、そのジョブフローを構成しているタスクの数を記憶している。タスク数欄４２０に記憶されたタスク数だけ、動的変更可能フラグ位置欄４２５以降にタスク欄４３０が続く。動的変更可能フラグ位置欄４２５は、動的変更可能フラグが付与されているタスクのタスクＩＤを記憶している。複数のタスクＩＤを記憶してもよい。タスク欄４３０は、タスクを記憶している。タスクＩＤ欄４３２は、本実施の形態において、タスクを一意に識別するための情報（タスクＩＤ）を記憶している。前のタスクＩＤ欄４３４は、そのタスクの前にあるタスクのタスクＩＤを記憶している。次のタスクＩＤ欄４３６は、そのタスクの次にあるタスクのタスクＩＤを記憶している。なお、前のタスクＩＤ欄４３４、次のタスクＩＤ欄４３６のいずれか一方はなくてもよい。一般的には、次のタスクＩＤ欄４３６だけであってもよい。また、前のタスクＩＤ欄４３４、次のタスクＩＤ欄４３６には複数のタスクＩＤを記憶させてもよい。例えば、処理の分岐、結合等を実現でき、単に一列に並ぶジョブフロー以外のジョブフローも実現可能である。
【００３５】
図５は、本実施の形態（主に情報処理装置（管理装置）１００）による処理例を示すフローチャートである。
ステップＳ５０２では、ジョブフロー作成モジュール１０５は、フロー管理者１０２の操作にしたがって、ジョブフローのマスターを作成する。
ステップＳ５０４では、動的変更可能フラグを設定するか否かを判断し、設定する場合はステップＳ５０６へ進み、それ以外の場合はステップＳ５０８へ進む。
ステップＳ５０６では、指定されたタスクに動的変更可能フラグを設定する。
ステップＳ５０８では、ジョブフローインストールモジュール１１５は、ジョブフローを実行する情報処理装置（実行装置）１５０に、そのジョブフローをインストールする。
ステップＳ５１０では、情報処理装置（実行装置）１５０は、ジョブフローを実行できる状態にする。
【００３６】
図６は、本実施の形態による処理例を示す説明図である。
情報処理装置（管理装置）１００は、ジョブフロー管理者１０２の操作にしたがって、ジョブフローのマスター３００を作成する。そして、作成したジョブフローのマスター３００を、情報処理装置（実行装置）１５０にインストールする。もちろんのことながら、インストールされたジョブフロー６００は、ジョブフローのマスター３００と同等の処理を行うものである。インストールされたジョブフロー６００は、タスクＡ６１０、タスクＢ６２０、タスクＣ６３０を有している。もちろんのことながら、ジョブフローのマスター３００に対応して、タスクＢ６２０には、動的変更可能フラグ６２５が付与されている。
そして、情報処理装置（実行装置）１５０では、ジョブフロー利用者１５２の操作にしたがって、インストールされたジョブフロー６００を実行できる状態にする。
【００３７】
図７は、本実施の形態（情報処理装置（管理装置）１００）による処理例を示すフローチャートである。
ステップＳ７０２では、ジョブフロー設定変更モジュール１１０は、フロー管理者１０２の操作にしたがって、マスターであるジョブフロー（動的変更可能フラグが付与されているタスク）に対して変更を加える。図６の例では、動的変更可能フラグ３２５が付与されているタスクＢ３２０を対象として、設定の変更が行われる。前述の例では、タスクＢ３２０が用いている認識用辞書を、認識精度のよいものに変更する。この時点では、情報処理装置（管理装置）１００内のジョブフローのマスター３００だけが変更されており、情報処理装置（実行装置）１５０にインストールされたジョブフロー６００は変更されていない。
【００３８】
図８は、本実施の形態（情報処理装置（実行装置）１５０）による処理例を示すフローチャートである。図７の例に示したフローチャートによる処理が行われた後に行われる。
ステップＳ８０２では、ジョブフロー実行モジュール１５５は、ジョブフロー利用者１５２によってジョブフローの実行指示があるか否かを判断し、ある場合はステップＳ８０４へ進み、それ以外の場合は実行指示があるまで待機する。
ステップＳ８０４では、動的変更可能フラグ検出モジュール１６０は、そのジョブフローには、動的変更可能フラグが設定されているか否かを判断し、設定されている場合はステップＳ８０６へ進み、それ以外の場合はステップＳ８１４へ進む。
【００３９】
ステップＳ８０６では、設定変更有無確認モジュール１６５は、情報処理装置（管理装置）１００に、ジョブフローのマスターに変更があるか否かを問い合わせる。
ステップＳ８０８では、設定変更有無確認モジュール１６５は、情報処理装置（管理装置）１００から問い合わせの返信を受信する。この受信（つまり、情報処理装置（管理装置）１００による送信）には、問い合わせに対する回答の他に、変更の内容を含めてもよい。
ステップＳ８１０では、設定変更有無確認モジュール１６５は、ジョブフローのマスターに変更があるか否かを判断し、ある場合はステップＳ８１２へ進み、それ以外の場合はステップＳ８１４へ進む。
ステップＳ８１２では、設定変更反映モジュール１７０は、ジョブフローのマスターの変更の内容を、実行対象のジョブフローに反映する。
ステップＳ８１４では、ジョブフロー実行モジュール１５５は、ジョブフローを実行する。
【００４０】
図９は、本実施の形態による処理例を示す説明図である。
ステップＳ９０２では、ジョブフロー管理者１０２は、設定変更を行う。つまり、情報処理装置（管理装置）１００内のジョブフローのマスター３００の動的変更可能フラグ３２５が付与されているタスクＢ３２０の設定を変更する。
ステップＳ９０４では、ジョブフロー利用者１５２は、インストールされたジョブフロー６００を実行させる。つまり、情報処理装置（実行装置）１５０内のインストールされたジョブフロー６００を実行する。
ステップＳ９０６では、インストールされたジョブフロー６００内には、動的変更可能フラグ６２５があるので、インストールされたジョブフロー６００の実行前にジョブフローのマスター３００での変更有無を確認する。
ステップＳ９０８では、ジョブフローのマスター３００での設定変更があれば、インストールされたジョブフロー６００の実行前に変更を反映する。
ステップＳ９１０では、ジョブフローのマスター３００における設定変更を、インストールされたジョブフロー６００に対して反映する。つまり、タスクＢ３２０における設定変更を、タスクＢ６２０に対しても行う。
【００４１】
図１０は、本実施の形態による処理例を示す説明図である。
情報処理装置（管理装置）１００には、ジョブフローＡのマスター１０００が記憶されている。ジョブフローＡのマスター１０００は、スキャン入力１００２、イメージ加工１００４、フォルダー出力１００６、プリント１００８、ＦＡＸ送信１０１０の順番に処理を行うことを示している。そして、ＦＡＸ送信１０１０には、動的変更可能フラグ１０２５が付与されている。つまり、ＦＡＸ送信１０１０では、ＦＡＸ番号の変更１０３０が予定されている。情報処理装置（実行装置）１５０では、ジョブフローＡのマスター１０００がインストールされ、実行中フローＡ１０５０を記憶している。実行中フローＡ１０５０は、スキャン入力１０５２、イメージ加工１０５４、フォルダー出力１０５６、プリント１０５８、ＦＡＸ送信１０６０の順番に処理を行うことを示している。そして、ＦＡＸ送信１０６０には、動的変更可能フラグ１０６５が付与されている。
ジョブフロー設定変更モジュール１１０は、フローエディタモジュール１０４０、変更管理モジュール１０４５を有している。
【００４２】
ステップＳ１０８０では、ジョブフロー管理者１０２の変更指示にしたがって、フローエディタモジュール１０４０がＦＡＸ送信１０１０でＦＡＸ番号の変更１０３０を行う。変更管理モジュール１０４５は、動的変更可能フラグ１０２５が付与されているＦＡＸ送信１０１０で、変更が行われたことを管理する。
この後、情報処理装置（実行装置）１５０では、ジョブフロー利用者１５２の実行指示にしたがって、実行中フローＡ１０５０が実行開始される。
ステップＳ１０８２では、ＦＡＸ送信１０６０には、動的変更可能フラグ１０６５が付与されているので、変更管理モジュール１０４５に対して、変更の有無をチェックする。
ステップＳ１０８４では、実行中フローＡ１０５０では、パラメータ（ＦＡＸ番号）の変更が可能か否かを判断する。なお、この判断は、実行中フローＡ１０５０内の各タスクのパラメータは、動的変更を許可するか否かを示すフラグ（動的変更可能フラグ１０６５とは異なるフラグ）があり、そのフラグを確認すればよい。
ステップＳ１０８６では、ＦＡＸ送信１０６０におけるパラメータ（ＦＡＸ番号）を更新する。
ステップＳ１０８８では、ステップＳ１０８２での変更チェックの結果、ＦＡＸ送信１０６０が最新の内容に更新される。そして、その結果、実行中フローＡ１０５０の実行により、ＦＡＸ送信１０６０では、新しいＦＡＸ番号に送信することになる。
【００４３】
図１１は、本実施の形態（情報処理装置（実行装置）１５０）による処理例を示すフローチャートである。図１１の例に示すフローチャートは、タスク毎の実行直前に変更があるか否かを判断する処理を行う。つまり、動的変更可能な設定が使われる直前に変更確認を実施するものである。図８の例に示した処理例では、ジョブフロー（全体）を実行する直前に、動的変更可能フラグが設定されているか否か、実際に変更が行われているか否かの判断を行っているが、これをジョブフロー内のタスク毎の実行直前に判断するようにしたものである。ジョブフローの各タスクの処理に時間がかかる場合、設定変更の確認をジョブフローの最初のタスクの実行前に一括で行うと、変更反映までのタイムラグが問題になってくる。変更の確認は、その設定が使われる直前で実施した方がこのタイムラグをより小さくすることができる。
【００４４】
ステップＳ１１０２では、ジョブフロー実行モジュール１５５は、ジョブフローの実行指示があるか否かを判断し、ある場合はステップＳ１１０４へ進み、それ以外の場合は実行指示があるまで待機する。
ステップＳ１１０４では、動的変更可能フラグ検出モジュール１６０は、ジョブフロー内の実行しようとしているタスクには、動的変更可能フラグが設定されているか否かを判断し、設定されている場合はステップＳ１１０６へ進み、それ以外の場合はステップＳ１１１４へ進む。
【００４５】
ステップＳ１１０６では、設定変更有無確認モジュール１６５は、情報処理装置（管理装置）１００に、ジョブフローのマスター内のそのタスクに変更があるか否かを問い合わせる。
ステップＳ１１０８では、設定変更有無確認モジュール１６５は、情報処理装置（管理装置）１００から問い合わせの返信を受信する。
ステップＳ１１１０では、設定変更有無確認モジュール１６５は、変更があるか否かを判断し、ある場合はステップＳ１１１２へ進み、それ以外の場合はステップＳ１１１４へ進む。
【００４６】
ステップＳ１１１２では、設定変更反映モジュール１７０は、変更の内容を、実行対象のタスクに反映する。
ステップＳ１１１４では、ジョブフロー実行モジュール１５５は、タスクを実行する。
ステップＳ１１１６では、そのタスクは、そのジョブフローにおいて最後のタスクか否かを判断し、最後の場合は処理を終了し（ステップＳ１１９９）、それ以外の場合はステップＳ１１０４へ戻る。
【００４７】
なお、動的変更可能フラグが設定されているか否かを判断するのは、ジョブフロー（全体）を開始する際に行い、変更の反映は、その動的変更可能フラグが設定されているタスクを開始する際に行うようにしてもよい。
【００４８】
図１２を参照して、本実施の形態の情報処理装置（管理装置）１００、情報処理装置（実行装置）１５０、画像処理装置２５０のハードウェア構成例について説明する。図１２に示す構成は、例えばパーソナルコンピュータ（ＰＣ）等によって構成されるものであり、スキャナ等のデータ読み取り部１２１７と、プリンタ等のデータ出力部１２１８を備えたハードウェア構成例を示している。
【００４９】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１２０１は、前述の実施の形態において説明した各種のモジュール、すなわち、ジョブフロー作成モジュール１０５、ジョブフロー設定変更モジュール１１０、ジョブフローインストールモジュール１１５、ジョブフロー実行モジュール１５５、動的変更可能フラグ検出モジュール１６０、設定変更有無確認モジュール１６５、設定変更反映モジュール１７０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００５０】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２０２は、ＣＰＵ１２０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２０３は、ＣＰＵ１２０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバス等から構成されるホストバス１２０４により相互に接続されている。
【００５１】
ホストバス１２０４は、ブリッジ１２０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バス等の外部バス１２０６に接続されている。
【００５２】
キーボード１２０８、マウス等のポインティングデバイス１２０９は、操作者により操作されるデバイスである。ディスプレイ１２１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）等があり、各種情報をテキストやイメージ情報として表示する。また、ポインティングデバイス１２０９とディスプレイ１２１０の両方の機能を備えているタッチスクリーン等であってもよい。
【００５３】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１２１１は、ハードディスク（フラッシュ・メモリ等であってもよい）を内蔵し、ハードディスクを駆動し、ＣＰＵ１２０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、処理フロー、変更可能フラグ、処理フローの処理対象（画像等）、処理結果等が格納される。さらに、その他の各種データ、各種コンピュータ・プログラム等が格納される。
【００５４】
ドライブ１２１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体１２１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース１２０７、外部バス１２０６、ブリッジ１２０５、及びホストバス１２０４を介して接続されているＲＡＭ１２０３に供給する。なお、リムーバブル記録媒体１２１３も、データ記録領域として利用可能である。
【００５５】
接続ポート１２１４は、外部接続機器１２１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート１２１４は、インタフェース１２０７、及び外部バス１２０６、ブリッジ１２０５、ホストバス１２０４等を介してＣＰＵ１２０１等に接続されている。通信部１２１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部１２１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部１２１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００５６】
なお、図１２に示す情報処理装置（管理装置）１００、情報処理装置（実行装置）１５０、画像処理装置２５０のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１２に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図１２に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器（携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む）、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機などに組み込まれていてもよい。
【００５７】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分又は全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００５８】
１００…情報処理装置（管理装置）
１０２…ジョブフロー管理者
１０５…ジョブフロー作成モジュール
１１０…ジョブフロー設定変更モジュール
１１５…ジョブフローインストールモジュール
１５０…情報処理装置（実行装置）
１５２…ジョブフロー利用者
１５５…ジョブフロー実行モジュール
１６０…動的変更可能フラグ検出モジュール
１６５…設定変更有無確認モジュール
１７０…設定変更反映モジュール
１９０…通信回線
【図１】
2018028725.tif 000003
【図２】
2018028725.tif 000004
【図３】
2018028725.tif 000005
【図４】
2018028725.tif 000006
【図５】
2018028725.tif 000007
【図６】
2018028725.tif 000008
【図７】
2018028725.tif 000009
【図８】
2018028725.tif 000010
【図９】
2018028725.tif 000011
【図１０】
2018028725.tif 000012
【図１１】
2018028725.tif 000013
【図１２】
2018028725.tif 000014