(57)【要約】  １つの側面では、ジョブフロー情報に基づきジョブを処理する処理装置の処理効率を向上する。  情報処理装置（２０）の解析部（２２）は、一連の複数のジョブの関係を示すジョブフロー情報（３２）を解析し、並列処理可能なジョブに対して一連の複数のジョブにおける処理順位を含む解析情報（３４）を生成する。登録部（２４）は、解析したジョブフロー情報（３２）と、生成した解析情報（３２）とを関連づけて記憶部（３０）に登録する。ジョブフロー実行部（３８）は、解析情報（３４）が関連づけられたジョブフロー情報（３２）に基づきジョブを処理することで、ジョブフロー情報（３２）に基づきジョブを処理する情報処理システム（１０）の処理効率が向上される。
2014006729.tif 000002
【特許請求の範囲】
【請求項１】
複数のジョブの処理順序を示す情報、及び前記複数のジョブの各々の処理内容を示す情報を含むジョブフロー情報を記憶する記憶部と、
前記処理順序を示す情報、及び前記処理内容を示す情報に基づいて、前記ジョブフロー情報を解析し、並列処理可能なジョブを示す情報、及び該並列処理可能なジョブの処理順序を示す情報を含む解析情報を生成する解析部と、
前記解析部で解析対象としたジョブフロー情報と前記解析対象としたジョブフロー情報から得られた解析情報とを関連づけて前記記憶部に登録する登録部と、
を備えた情報処理装置。
【請求項２】
前記解析部は、入力されたデータを分割して複数のデータを出力する分割処理を行うジョブの次の処理順序のジョブで、かつ入力された複数のデータの各々に対して所定処理を行う処理内容のジョブを、前記並列処理可能なジョブとする、
請求項１に記載の情報処理装置。
【請求項３】
前記解析部は、入力された複数のデータを結合して結合データを出力する結合処理を行うジョブの前の処理順序のジョブで、かつ入力された複数のデータの各々に対して所定処理を行う処理内容のジョブを、前記並列処理可能なジョブとする、
請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記記憶部に記憶された前記ジョブフロー情報、及び前記ジョブフロー情報に関連づけて登録された前記解析情報を読み取り、前記処理順序に従って前記複数のジョブの各々を処理する実行部を備え、
前記実行部は、処理対象のジョブが前記並列処理可能なジョブの場合に、前記処理対象のジョブを並列処理可能な外部環境システムで、処理させる、
請求項１乃至請求項３の何れか１項に記載の情報処理装置。
【請求項５】
前記実行部は、
自機の処理負荷に対する処理余力を検出し、
前記並列処理可能なジョブについて、前記複数のデータの各々に対して所定処理を行うときの各々の処理負荷を求め、
前記処理余力内で処理可能な処理負荷の前記複数のデータの各々に対する所定処理を処理すると共に、前記処理余力を超える処理負荷となる他の所定処理を、前記外部環境システムで、処理させる
請求項４に記載の情報処理装置。
【請求項６】
前記解析部が前記複数のジョブの各々の処理順序に従って解析対象としたジョブフロー情報を解析するときに、解析が終了した前記複数のジョブの各々のジョブの処理を依頼する依頼部を備え、
前記依頼部は、処理対象のジョブが前記並列処理可能なジョブの場合に、前記処理対象のジョブの処理を並列処理可能な外部環境システムに依頼する
を備えた請求項１乃至請求項３の何れか１項に記載の情報処理装置。
【請求項７】
前記依頼部は、
自機の処理負荷に対する処理余力を検出し、
前記並列処理可能なジョブについて、前記複数のデータの各々に対して所定処理を行うときの各々の処理負荷を求め、
前記処理余力内で処理可能な処理負荷の前記複数のデータの各々に対する所定処理を処理すると共に、前記処理余力を超える処理負荷となる他の所定処理を、前記外部環境システムに、依頼する
請求項６に記載の情報処理装置。
【請求項８】
記憶部に記憶されかつ、複数のジョブの処理順序を示す情報、及び前記複数のジョブの各々の処理内容を示す情報を含むジョブフロー情報における前記処理順序を示す情報、及び前記処理内容を示す情報に基づいて、前記ジョブフロー情報を解析し、並列処理可能なジョブを示す情報、及び該並列処理可能なジョブの処理順序を示す情報を含む解析情報を生成し、
解析対象としたジョブフロー情報と前記解析対象としたジョブフロー情報から得られた解析情報とを関連づけて前記記憶部に登録する
情報処理方法。
【請求項９】
前記ジョブフロー情報の解析では、入力されたデータを分割して複数のデータを出力する分割処理を行うジョブの次の処理順序のジョブで、かつ入力された複数のデータの各々に対して所定処理を行う処理内容のジョブを、前記並列処理可能なジョブとする
請求項８に記載の情報処理方法。
【請求項１０】
前記ジョブフロー情報の解析では、入力された複数のデータを結合して結合データを出力する結合処理を行うジョブの前の処理順序のジョブで、かつ入力された複数のデータの各々に対して所定処理を行う処理内容のジョブを、前記並列処理可能なジョブとする、
請求項８または請求項９に記載の情報処理方法。
【請求項１１】
前記記憶部に記憶された前記ジョブフロー情報、及び前記ジョブフロー情報に関連づけて登録された前記解析情報を読み取り、
前記処理順序に従って前記複数のジョブの各々を処理すると共に、処理対象のジョブが前記並列処理可能なジョブの場合に、前記処理対象のジョブを並列処理可能な外部環境システムで、処理させる、
請求項８乃至請求項１０の何れか１項に記載の情報処理方法。
【請求項１２】
前記ジョブフロー情報の解析で、前記複数のジョブの各々の処理順序に従って解析対象としたジョブフロー情報を解析し、前記複数のジョブの各々の解析が終了したときに前記複数のジョブの各々のジョブの処理を依頼し、かつ処理対象のジョブが前記並列処理可能なジョブの場合に、前記処理対象のジョブの処理を並列処理可能な外部環境システムで、処理させる、
請求項８乃至請求項１０の何れか１項に記載の情報処理方法。
【請求項１３】
前記処理対象のジョブの処理を並列処理可能な外部環境システムで処理させるとき、
自機の処理負荷に対する処理余力を検出し、
前記並列処理可能なジョブについて、前記複数のデータの各々に対して所定処理を行うときの各々の処理負荷を求め、
前記処理余力内で処理可能な処理負荷の前記複数のデータの各々に対する所定処理を処理すると共に、前記処理余力を超える処理負荷となる他の所定処理を、前記外部環境システムで、処理させる
請求項１１または請求項１２に記載の情報処理方法。
【請求項１４】
記憶部に記憶されかつ、複数のジョブの処理順序を示す情報、及び前記複数のジョブの各々の処理内容を示す情報を含むジョブフロー情報における前記処理順序を示す情報、及び前記処理内容を示す情報に基づいて、前記ジョブフロー情報を解析し、並列処理可能なジョブを示す情報、及び該並列処理可能なジョブの処理順序を示す情報を含む解析情報を生成し、
解析対象としたジョブフロー情報と前記解析対象としたジョブフロー情報から得られた解析情報とを関連づけて前記記憶部に登録する
処理をコンピュータに実行させる情報処理プログラム。
【請求項１５】
コンピュータに、前記コンピュータを、請求項８乃至請求項１３の何れか１項記載の情報処理方法に係る処理を実行させるための情報処理プログラム。
【請求項１６】
記憶部に記憶されかつ、複数のジョブの処理順序を示す情報、及び前記複数のジョブの各々の処理内容を示す情報を含むジョブフロー情報における前記処理順序を示す情報、及び前記処理内容を示す情報に基づいて、前記ジョブフロー情報を解析し、並列処理可能なジョブを示す情報、及び該並列処理可能なジョブの処理順序を示す情報を含む解析情報を生成し、
解析対象としたジョブフロー情報と前記解析対象としたジョブフロー情報から得られた解析情報とを関連づけて前記記憶部に登録する
処理をコンピュータに実行させる情報処理プログラムを記録した記録媒体。
【請求項１７】
コンピュータに、前記コンピュータを、請求項８乃至請求項１３の何れか１項記載の情報処理方法に係る処理を実行させるための情報処理プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
コンピュータを含む業務システムにより業務を進めることが一般的に行われている。例えば、入力データに任意の加工を施して出力データを得る処理を一つのジョブとして、一連の複数のジョブの関連を示すジョブフロー情報に従って各ジョブを処理する処理装置が知られている。【０００３】
ジョブフロー情報に従って各ジョブを処理する処理装置は、ジョブフロー情報に示される各ジョブを処理するときの処理負荷に耐え得る処理能力を備えることが要求される。例えば、ジョブを処理するときの処理装置の処理負荷は、少量の入力データに対する処理に比べて多量の入力データに対する処理の方が大きくなる。【０００４】
ところで、処理装置に対する処理負荷は、処理装置において稼働する業務に応じて時々刻々と変動する。従って、処理装置に対する処理負荷は、大きく変動する場合がある。処理装置を効率的に使用するためには、処理装置に対する処理負荷を軽減することが好ましい。【０００５】
処理装置に対する処理負荷を軽減するために、並列実行型ジョブ制御言語を生成する技術が知られている。並列実行型ジョブ制御言語を生成する技術は、ジョブおよびジョブステップの実行履歴情報やジョブステップによるデータアクセス情報、ジョブステップ間の相関関係から、並列実行型ジョブ制御言語を生成する。並列実行型ジョブ制御言語を生成する技術では、生成された並列実行型ジョブ制御言語を使用してジョブを自動的に並列実行させる。【０００６】
また、タスクの実行コストを求めて、実行コストが低い汎用プロセッサまたはアクセラレータに当該タスクを割り当てる技術が知られている。汎用プロセッサまたはアクセラレータにタスクを割り当てる技術は、マルチプロセッサシステムで、複数タスク間の制御依存性及びデータ依存性に基づき並列性を抽出する。抽出した並列性によりタスクの実行コストを演算により求め、実行コストが低い汎用プロセッサへまたはアクセラレータに当該タスクが割り当てられる。具体的には、汎用プロセッサとアクセラレータプロセッサが混在するときに、実行しようとするタスクについて実行コストが低いプロセッサを求め、実行コストの低いプロセッサにタスクが割り当てられる。また、実行コストが低いプロセッサにタスクを割り当てる技術では、タスクが内部で並列処理するプログラムであり、汎用プロセッサの実行コストが低いと判断した場合は、複数の汎用プロセッサに分散させることができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−２１４１９５号公報
【特許文献２】特開２００７−３２８４１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、並列実行型ジョブ制御言語を生成する技術では、ジョブ内で逐次実行される複数のジョブステップを並列実行可能か否かを判断して並列実行可能にするジョブ制御文が生成される。つまり、逐次実行される複数のジョブステップに対して並列実行可能か否かの判断が必要であり、処理装置に対する処理負荷が増大し、処理効率が低下する場合がある。【０００９】
また、タスクの実行コストが低いプロセッサを求め、実行コストの低いプロセッサにタスクを割り当てる技術では、常時、実行コストの低いプロセッサにタスクが割り当てられる。しかし、実行コストの高低判断のみでは、実行コストの低いタスクが処理装置の処理負荷が小さいとは限らないため、各ジョブを処理する処理装置の処理負荷を考慮することは困難である。従って、実行コストの低いプロセッサにタスクを割り当てる技術では、処理装置に対する処理負荷が増大し、処理効率が低下する場合がある。なお、実行コストの低いプロセッサにタスクを割り当てる技術において、複数の汎用プロセッサに分散可能とするためには、タスクがシステム内部で並列処理可能なプログラムである必要がある。さらに、タスクを割り当てる実行コストの低いプロセッサは、汎用プロセッサでなければならない。【００１０】
１つの側面では、本発明は、ジョブフロー情報に基づきジョブを処理する処理装置の処理効率を向上することを目的とする。
【課題を解決するための手段】
【００１１】
開示の技術は、データに対する処理を行う複数のジョブを関係づけた一連の複数のジョブの関係を示すジョブフロー情報を記憶部に記憶する。解析部は、ジョブフロー情報を解析し、複数の実行処理により並列処理するジョブに対して、一連の複数のジョブにおける処理順位を含む解析情報を生成する。登録部は、解析部で解析したジョブフロー情報に、解析部で生成した解析情報を関連づけて登録する。
【発明の効果】
【００１２】
１つの実施態様では、ジョブフロー情報に基づきジョブを処理する処理装置の処理効率を向上できる。
【図面の簡単な説明】
【００１３】
【図１】第１実施形態に係る情報処理システムを示す概略ブロック図である。
【図２】処理装置の一例を示す概略ブロック図である。
【図３】オンプレミスシステムの記憶部に格納する情報の一例を示すブロック図である。
【図４】ジョブフロー管理テーブルの一例を示すイメージ図である。
【図５】ジョブ管理テーブルの一例を示すイメージ図である。
【図６】ファイル管理テーブルの一例を示すイメージ図である。
【図７】ジョブフロー情報の構造の一例を示すブロック図である。
【図８】ジョブフロー情報を指定する処理を示す説明図である。
【図９】解析プロセスの流れを示すフローチャートである。
【図１０】ジョブフロー情報に対する構造解析の説明図である。
【図１１】解析処理の流れの一例を示すフローチャートである。
【図１２】解析処理の詳細な流れの一例を示すフローチャートである。
【図１３】実行プロセスの処理の流れを示すフローチャートである。
【図１４】ジョブフロー情報による実行処理の流れを示すフローチャートである。
【図１５】ジョブフロー情報の構造についての第１変形例を示すブロック図である。
【図１６】ジョブフロー情報の構造についての第２変形例を示すブロック図である。
【図１７】第４実施形態に係る情報処理プログラムの一例を示すフローチャートである。
【図１８】第５実施形態に係る情報処理システムを示す概略ブロック図である。
【図１９】第５実施形態に係る記憶部に格納する情報の一例を示すイメージ図である。
【図２０】第５実施形態に係る情報処理プログラムの一例を示すフローチャートである。
【図２１】ジョブフロー情報による実行処理の流れを示すフローチャートである。
【図２２】個別クラウド実行可能フラグの設定処理の一例を示すフローチャートである。
【図２３】個別実行処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
【００１５】
＜第１実施形態＞
図１に、第１実施形態に係る情報処理システム１０を示す。情報処理システム１０は、入力データに対する処理を行う複数のジョブを関係づけた一連の複数のジョブの関係を示すジョブフロー情報に基づいて、コンピュータにより業務処理を実行する処理装置である。情報処理システム１０は、内部環境システム１２と外部環境システム１４とを含み、内部環境システム１２と外部環境システム１４とが通信回線１６を介して接続されている。なお、通信回線１６は電話回線及びインターネット等の通信ネットワークの回線を含む。内部環境システム１２は、情報処理装置２０、記憶部３０、及びジョブフロー実行部３８を備えている。情報処理装置２０は、解析部２２及び登録部２４を備えている。記憶部３０は、ジョブフロー情報３２、解析情報３４、テーブル９４、及びジョブフロー情報３２により処理される対象のデータ３６を記憶している。ジョブフロー実行部３８は、ジョブフロー指定部４２、及びジョブフロー指定部４２で指定されたジョブフロー情報が示す関係づけられた一連の複数のジョブを実行する実行部４４を備えている。外部環境システム１４は、データ授受部４６、及び実行処理部４８を備えている。
【００１６】
第１実施形態では、ジョブフロー情報３２に基づきコンピュータにより業務処理が実行される。ジョブフロー情報３２は、データに対して一連の処理を行う複数のジョブの関係を示す。具体的には、ジョブフロー情報３２は、データに対して一連の処理を行う複数のジョブの各々の処理順序を示す情報、及び複数のジョブの各々の処理内容を示す情報を含む。例えば、ジョブフロー情報３２は、一連の複数のジョブをコンピュータにより実行する業務処理について、業務処理を識別するための情報３２Ａ、及び一連の複数のジョブの処理順の前後関係を示す情報３２Ｂ、を含む。また、ジョブフロー情報３２は、各ジョブを識別するための情報３２Ｃ、各ジョブの処理を実行するための実行ファイルを示す情報３２Ｄ、及び各ジョブの処理内容を示す情報３２Ｅ、を含むことができる。従って、ジョブフロー情報３２により、一連の複数のジョブの前後関係を示す情報３２Ｂ及び各ジョブを識別するための情報３２Ｃから、ジョブフロー情報３２により処理するジョブの順序及びジョブを特定できる。また、ジョブフロー情報３２に従い、順次処理するジョブについて、実行ファイルを示す情報３２Ｄによりコンピュータで処理する実行ファイルを特定できる。また、ジョブフロー情報３２に従い、順次処理する対象のジョブは、ジョブの処理内容を示す情報３２Ｅにより特定することができる。
【００１７】
なお、ジョブフロー情報３２は、開示の技術におけるジョブフロー情報の一例である。情報３２Ｂは、開示の技術におけるデータに対して一連の処理を行う複数のジョブの各々の処理順序を示す情報の一例である。情報３２Ｅは、開示の技術における複数のジョブの各々の処理内容を示す情報の一例である。
【００１８】
また、第１実施形態では、ジョブフロー情報３２の構造が解析され、解析結果の解析情報３４とジョブフロー情報３２とが対応付けられて登録される。解析情報３４は、ジョブフロー情報３２により一連の複数のジョブを実行するときに、並列処理するジョブの処理順位を含んだ情報である。例えば、解析情報３４は、ジョブフロー情報３２を識別するための情報３４Ａ、及び詳細を後述するジョブフロー情報３２の解析完了または未完を示す情報３４Ｂ、を含む。また、解析情報３４は、ジョブフロー情報３２が並列処理可能なジョブを含むか否かを示す情報３４Ｃ，及び並列処理可能なジョブを識別するための情報３４Ｄ、を含むことができる。従って、解析情報３４の情報３４Ａにより、当該解析情報３４に対応するジョブフロー情報３２を特定できる。また、解析情報３４の情報３４Ｂにより、当該解析情報３４に対応するジョブフロー情報３２の解析が完了したか否かを特定できる。また、解析情報３４の情報３４Ｃにより、当該解析情報３４に対応するジョブフロー情報３２が並列処理可能なジョブを含むか否かを特定できる。また、解析情報３４の情報３４Ｄにより、当該解析情報３４に対応するジョブフロー情報３２が並列処理可能なジョブを識別したりジョブの位置を特定したり特定できる。
【００１９】
なお、解析情報３４は、開示の技術における解析情報の一例である。情報３４Ｃ及び情報３４Ｄは、開示の技術における一連の処理において並列処理可能なジョブを示す情報の一例である。
【００２０】
なお、情報処理システム１０は開示の技術における情報処理装置を含む処理装置の一例であり、情報処理装置２０は開示の技術における情報処理装置の一例である。また、内部環境システム１２は開示の技術における内部環境システムの一例であり、外部環境システム１４は開示の技術における外部環境システムの一例である。
【００２１】
情報処理システム１０では、内部環境システム１２においてコンピュータにより業務処理を進めるにあたり、ジョブフロー情報３２に基づいて、業務処理が実行される。ジョブフロー情報３２は、データに対する処理を行う複数のジョブを関係づけた一連の複数のジョブの関係を示す。まず、内部環境システム１２に含まれる情報処理装置２０では、記憶部３０に記憶されたジョブフロー情報３２の構造が、解析部２２により解析される。解析部２２は、一連の複数のジョブの関係を示すジョブフロー情報３２を解析し、複数の実行処理により並列処理するジョブに対して一連の複数のジョブにおける処理順位を含む解析情報を生成する。解析部２２による解析が終了すると、情報処理装置２０の登録部２４は、解析部２２で解析したジョブフロー情報３２に、解析部２２で生成された解析情報３４を関連づけて記憶部３０へ登録する。
【００２２】
情報処理システム１０では、ジョブフロー情報３２に基づき業務処理を実行するために、ジョブフロー指定部４２は、オペレータの入力指示等の入力値や自動処理による指定値を読み取ることにより、実行対象のジョブフロー情報３２を指定する。ジョブフロー実行部３８の実行部４４は、ジョブフロー指定部４２で指定されたジョブフロー情報３２を記憶部３０から取得し、取得したジョブフロー情報３２に基づいて、業務処理を実行する。なお、ジョブフロー実行部３８は、取得したジョブフロー情報３２に基づいて、業務処理を実行するとき、解析情報３４を用いて、情報処理システム１０の処理効率を向上する。
【００２３】
記憶部３０に記憶されたジョブフロー情報３２には解析情報３４が関連づけられている。実行部４４は、ジョブフロー情報３２により示される複数のジョブの各々を処理するときに、解析情報３４に基づいて、処理対象ジョブが所定条件下の並列処理ジョブである場合に（詳細後述）、処理対象ジョブを外部環境システム１４で処理する。外部環境システム１４では、データ授受部４６において、内部環境システム１２との間でデータ授受を行い、実行処理部４８においてデータ授受部４６で受け取ったデータに基づく実行すなわち処理対象ジョブを実行する。処理対象ジョブを実行した後、ジョブの実行結果をデータ授受部４６により内部環境システム１２へ送出する。従って、情報処理システム１０において、ジョブフロー情報３２に基づく業務処理の実行が、内部環境システム１２と外部環境システム１４に分散されて実行されることによって、情報処理システム１０の処理効率を向上できる。
【００２４】
図２に、情報処理システム１０を、処理装置として、コンピュータシステム５０で実現する場合の一例を示す。コンピュータシステム５０は、オンプレミスシステム５２とクラウドシステム５４とを含み、オンプレミスシステム５２とクラウドシステム５４とは通信回線５６を介して接続されている。オンプレミスシステム５２は、内部環境システム１２の一例であり、クラウドシステム５４は、外部環境システム１４の一例である。
【００２５】
オンプレミスシステム５２は、ＣＰＵ６０、ＲＯＭ６１、ＲＡＭ６２、及びキーボードやマウス等の入力装置６３を備えており、ＣＰＵ６０，ＲＯＭ６１，ＲＡＭ６２，及び入力装置６３はバス６８を介して互いに接続されている。また、オンプレミスシステム５２は、クラウドシステム５４と接続するためのインタフェース部（Ｉ／Ｆ）６４、読み書き部（Ｒ／Ｗ）６５、不揮発性の格納部６６及びデータやコマンド等を表示するディスプレイ６７を含んでいる。インタフェース部（Ｉ／Ｆ）６４、読み書き部（Ｒ／Ｗ）６５、格納部６６及びディスプレイ部６７はバス６８を介して互いに接続されている。なお、読み書き部６５は、記録媒体が挿入されて挿入された記録媒体に対して読み書きするための装置で実現できる。また、格納部６６は、ＨＤＤ（Hard Disk Drive）やフラッシュメモリ等によって実現できる。図２は、格納部６６をＨＤＤ（Hard Disk Drive）で実現した一例を示す。なお、入力装置６３，読み書き部６５，及びディスプレイ部６７で示す入出力デバイスは、省略してもよく、必要に応じてバス６８に接続するようにしてもよい。
【００２６】
クラウドシステム５４は、スイッチ７０、ファイヤウォール７１、ロードバランサ７２、及び複数のサーバ７３を備えている。スイッチ７０は、通信回線５６を介してオンプレミスシステム５２に接続されると共に、ファイヤウォール７１に接続されている。スイッチ７０の一例には、イーサネット（登録商標）スイッチがある。ファイヤウォール７１はロードバランサ７２に接続されており、ロードバランサ７２は複数のサーバ７３の各々に接続されている。
【００２７】
なお、図２では、オンプレミスシステム５２にＣＰＵ６０が１台設けられた態様を示したが、１台に限定されるものではなく、１台以上であればいくつであってもよい。
【００２８】
図３に、オンプレミスシステム５２の格納部６６に格納する情報の一例を示す。オンプレミスシステム５２の格納部６６には、オンプレミスシステム５２を機能させるためのＯＳ９０及びオンプレミスシステム５２を情報処理装置として機能させるための情報処理プログラム８０が記憶されている。ＣＰＵ６０は、ＯＳ９０を格納部６６から読み出してＲＡＭ６２に展開して、処理を実行する。また、ＣＰＵ６０は、情報処理プログラム８０を格納部６６から読み出してＲＡＭ６２に展開し、情報処理プログラム８０に含まれるプロセスを順次実行する。つまり、内部環境システム１２がオンプレミスシステム５２で実現され、ＣＰＵ６０が情報処理プログラム８０を実行することで、オンプレミスシステム５２は図１に示す情報処理装置２０として動作する。
【００２９】
なお、図２に示す格納部６６をＨＤＤ（Hard Disk Drive）で実現した一例は、開示の技術の記録媒体の一例である。
【００３０】
また、情報処理プログラム８０は、開示の技術における情報処理プログラムの一例である。また、情報処理プログラム８０は、オンプレミスシステム５２を情報処理装置２０として機能させるためのプログラムでもある。
【００３１】
情報処理プログラム８０は、解析プロセス８２，登録プロセス８４、及び実行プロセス８８を有する。ＣＰＵ６０は、解析プロセス８２を実行することで、図１に示す情報処理装置２０の解析部２２として動作する。すなわち、情報処理装置２０がオンプレミスシステム５２で実現され、情報処理プログラム８０の解析プロセス８２を実行することでオンプレミスシステム５２は情報処理装置２０の解析部２２として動作する。また、ＣＰＵ６０は、登録プロセス８４を実行することで、図１に示す内部環境システム１２における情報処理装置２０の登録部２４として動作する。すなわち、内部環境システム１２がオンプレミスシステム５２で実現され、登録プロセス８４を実行することでオンプレミスシステム５２は情報処理装置２０の登録部２４として動作する。また、ＣＰＵ６０は、実行プロセス８８を実行することで、図１に示す内部環境システム１２におけるジョブフロー実行部３８として動作する。すなわち、内部環境システム１２がオンプレミスシステム５２で実現され、実行プロセス８８を実行することでオンプレミスシステム５２は内部環境システム１２におけるジョブフロー実行部３８として動作する。なお、ジョブフロー実行部３８は、ジョブフロー指定部４２及び実行部４４を含んでいる。
【００３２】
なお、ＯＳ９０は、タスクスケジューラ機能を予め含んでいる。内部環境システム１２がオンプレミスシステム５２で実現され、ＣＰＵ６０がＯＳ９０に予め含まれているタスクスケジューラ機能を実行することで、オンプレミスシステム５２は、タスクスケジューラ４２Ａ（図８参照）として動作する。タスクスケジューラ４２Ａは、図１に示すジョブフロー指定部４２に対応し、格納部６６からジョブフロー情報３２を取得することができる。また、ＣＰＵ６０が実行プロセス８８を実行することで、オンプレミスシステム５２は、図１に示すジョブフロー実行部３８の実行部４４として動作する。
【００３３】
また、オンプレミスシステム５２の格納部６６には、データベース９２が記憶されている。データベース９２は、ジョブフロー情報３２，解析情報３４，データ３６，及びテーブル９４を含んでいる。オンプレミスシステム５２の格納部６６に記憶されたデータベース９２は図１に示す内部環境システム１２の記憶部３０の一部に対応する。つまり、情報処理システム１０がコンピュータシステム５０で実現されかつ内部環境システム１２がオンプレミスシステム５２で実現されるとき、ジョブフロー情報３２，解析情報３４及びデータ３６を含むデータベース９２は、記憶部３０に対応する。
【００３４】
なお、格納部６６のデータベース９２には、ジョブフロー情報３２及び解析情報３４と，テーブル９４とを別々に示している。本実施形態では、ジョブフロー情報３２及び解析情報３４を使用して業務処理を容易にするために、ジョブフロー情報３２及び解析情報３４をテーブル９４に登録している。テーブル９４は、図４〜図６に一例を示すジョブフロー管理テーブル９４Ａ、ジョブ管理テーブル９４Ｂ、及びジョブ・ファイル管理テーブル９４Ｃを備えている。
【００３５】
ジョブフロー管理テーブル９４Ａは、ジョブフロー情報３２に基づく処理を実行するときの各種情報をテーブルとしてデータベース９２に格納したものである。
【００３６】
図４に、ジョブフロー管理テーブル９４Ａの一例を示す。ジョブフロー管理テーブル９４Ａは、「ジョブフロー名」、「コメント」、及び「実行フラグ」の各情報が対応付けて各々登録されている。また、ジョブフロー管理テーブル９４Ａは、「開始時刻」、「開始パターン」、「実行予測時間」、「クラウド実行調査フラグ」、「ジョブフロー変更フラグ」、及び「クラウド分散実行フラグ」の各情報が対応付けて各々登録されている。
【００３７】
図４に示すジョブフロー管理テーブル９４Ａにおける項目「ジョブフロー名」に示す情報は、オペレータが個々のジョブフロー情報３２を識別するための名称等の識別子を示す情報である。図４では、項目「ジョブフロー名」に示す情報として「kokyaku1」の情報が記憶されている一例を示した。また、項目「コメント」に示す情報は、オペレータがジョブフロー情報３２の内容を確認するためのジョブフロー情報３２が関係する業務処理の総称等を示す情報である。図４では、項目「コメント」に示す情報として「顧客管理」の情報が記憶されている一例を示した。
【００３８】
項目「実行フラグ」に示す情報は、詳細は後述するが、ジョブフロー情報による一連のジョブをタスクとして実行するか否かを示す情報である。なお、項目「実行フラグ」に示す情報の値として、「FALSE」は、タスクの非実行を示し、「TRUE」は、スケジュールに従って、タスクを実行することを示す。また、項目「開始時刻」に示す情報は、スケジュールに従ってジョブフロー情報３２による処理を開始する時刻を示す情報である。図４では、項目「開始時刻」に示す情報として「16:00」の時刻が記憶されている一例を示した。
【００３９】
なお、以下の説明では、各種のフラグについて、当該フラグに示す情報の値を「TRUE」として格納するために、「フラグ」をオン(ON)に設定すると説明する場合がある。また、フラグに示す情報の値を「FALSE」として格納するために、「フラグ」をオフ(OFF)に設定すると説明する場合がある。
【００４０】
項目「開始パターン」に示す情報は、業務処理すなわちジョブフロー情報３２による処理を定期的に実行するときの年月日等や週次等の実行時に関する実行パターンを示す情報である。図４では、項目「開始パターン」に示す情報として「毎日」の情報が記憶されている一例を示した。また、項目「実行予測時間」に示す情報は、ジョブフロー情報３２による処理に要する予め計測等によって得られる予測時間を示す情報である。図４では、項目「実行予測時間」に示す情報として「６０分」の所要時間が記憶されている一例を示した。
【００４１】
また、項目「クラウド実行調査フラグ」に示す情報は、ジョブフロー情報３２に対して外部環境システム１４、例えばクラウド環境で実行可能なジョブを含むか否かの調査を完了したか否かを示す情報である。図４では、項目「クラウド実行調査フラグ」に示す情報として「FALSE」の情報が記憶されている一例を示した。なお、情報「TRUE」は、調査を完了していることを示す。一方、情報「FALSE」は、調査が未完了であることを示す。
【００４２】
また、項目「ジョブフロー変更フラグ」に示す情報は、ジョブフロー情報３２に変更が施されたか否かを示す情報である。図４では、項目「ジョブフロー変更フラグ」に示す情報として「FALSE」の値が記憶されている一例を示した。なお、「FALSE」は、ジョブフロー情報３２の作成時またはジョブフロー情報３２に変更が施されたときに格納する値である。また、「FALSE」は、ジョブフロー情報３２に対する調査（解析）が未完了、つまりジョブフロー情報３２に対して外部環境システム１４、例えばクラウド環境で実行可能なジョブを含む調査が未完了であることを示す。一方、「TRUE」は、ジョブフロー情報３２に変更がなく、ジョブフロー情報３２に対する調査（解析）が完了しているときに格納する値である。
【００４３】
従って、項目「クラウド実行調査フラグ」に示す情報、及び項目「ジョブフロー変更フラグ」に示す情報は、ジョブフロー情報３２に対して外部環境システム１４、例えばクラウド環境で実行可能なジョブを含む調査が未完了のときに、同一値が格納される。以下の説明では、項目「ジョブフロー変更フラグ」に示す情報に格納された値を用いて、ジョブフロー情報３２に対して外部環境システム１４、例えばクラウド環境で実行可能なジョブを含む調査が未完了を判別する。
【００４４】
項目「クラウド分散実行フラグ」に示す情報は、ジョブフロー情報３２に、外部環境システム１４例えばクラウド環境で実行可能なジョブを含むか否かを示す情報である。図４では、項目「クラウド分散実行フラグ」に示す情報として「FALSE」の情報が記憶されている一例を示した。なお、情報「TRUE」は、ジョブフロー情報３２が外部環境システム１４で実行可能なジョブを含むことを示す。一方、情報「FALSE」は、ジョブフロー情報３２が外部環境システム１４で実行不可能であり、内部環境システム１２でのみ実行可能なジョブであことを示す。
【００４５】
なお、ジョブフロー管理テーブル９４Ａには、開示の技術における解析情報の一例を含む。ジョブフロー情報３２は、項目「ジョブフロー名」に示す情報により特定することができる。項目「ジョブフロー名」に示す情報により特定するジョブフロー情報３２には、「クラウド実行調査フラグ」、「ジョブフロー変更フラグ」、及び「クラウド分散実行フラグ」の各情報が対応付けられる。「クラウド実行調査フラグ」、「ジョブフロー変更フラグ」、及び「クラウド分散実行フラグ」の各情報は、一連の処理において並列処理可能なジョブを示す情報を含んだ情報である。
【００４６】
また、ジョブフロー管理テーブル９４Ａには、ジョブフローの実行に関する情報の一例が示されている。ジョブフローは、項目「ジョブフロー名」に示す情報により特定されるジョブフロー情報３２について、「開始時刻」及び「開始パターン」の条件下で、「実行予測時間」で予測する時間の処理を、「実行フラグ」による実行可否により、実行または非実行される。なお、以下の説明では、ジョブフロー情報３２に基づき一連のジョブをコンピュータにより実行する業務処理単位をタスクと称する。つまり、ジョブフロー情報による一連のジョブをタスクと称する。
【００４７】
つまり、図４に示すジョブフロー管理テーブル９４Ａにおける項目「ジョブフロー名」に示す情報は、ジョブフロー情報３２に含まれる業務処理を識別するための情報３２Ａ（図１）に対応する。また、図４に示すジョブフロー管理テーブル９４Ａにおける項目「ジョブフロー名」に示す情報は、解析情報３４に含まれるジョブフロー情報３２を識別するための情報３４Ａ（図１）にも対応する。図４に示すジョブフロー管理テーブル９４Ａに項目「クラウド実行調査フラグ」に示す情報、及び項目「ジョブフロー変更フラグ」に示す情報は、ジョブフロー情報３２の解析完了または未完を示す情報３４Ｂ（図１）に対応する。また、図４に示すジョブフロー管理テーブル９４Ａにおける項目「クラウド分散実行フラグ」に示す情報は、解析情報３４に含まれるジョブフロー情報３２が並列処理可能なジョブを含むか否かを示す情報３４Ｃに対応する。
【００４８】
ジョブ管理テーブル９４Ｂは、ジョブフロー情報３２に示されるジョブの詳細な内容を示す情報をテーブルとしてデータベース９２に格納したものである。
【００４９】
図５に、ジョブ管理テーブル９４Ｂの一例を示す。ジョブ管理テーブル９４Ｂは、データベース９２に登録されたジョブフロー情報３２の各々に含まれる一連の複数のジョブに関する詳細な内容が示されている。ジョブ管理テーブル９４Ｂは、「No.」、「ジョブフロー名」、「ジョブ名」、「コメント」の各情報が対応付けて各々登録される。また、ジョブ管理テーブル９４Ｂは、「実行ファイル」、「実行ファイルの位置」、「コマンド引数」、「ジョブの位置」、「次のジョブの位置」、及び「クラウド実行可能フラグ」の各情報が対応付けて各々登録される。
【００５０】
図５に示すジョブ管理テーブル９４Ｂにおける項目「No.」に示す情報は、ジョブ管理テーブル９４Ｂにおけるジョブのテーブル上の位置を示す。また、項目「ジョブフロー名」に示す情報は、ジョブ管理テーブル９４Ｂで管理するジョブが含まれるジョブフロー情報３２を示す情報である。また、項目「ジョブ名」に示す情報は、ジョブフロー情報３２に含まれるジョブを識別するための個々のジョブの名称等の識別子を示す情報である。図５では、項目「No.」に示す情報が「１」であるときに、項目「ジョブフロー名」に示す情報が「kokyaku1」であり、項目「ジョブ名」に示す情報が「kanri1」である一例を示す。
【００５１】
また、項目「コメント」に示す情報は、ジョブフロー情報３２に含まれるジョブの処理内容を示す処理の名称等を示す情報である。図５では、項目「No.」に示す情報が「１」であるときに、項目「コメント」に示す情報が「顧客管理処理１」である一例を示す。なお、図５では、項目「コメント」に示す情報において（  ）内に、ジョブの処理内容を示す情報として、一般的な表現語句情報またはシステムに共通の語句情報「ＤＢからファイル取得exe」を一例として示す。
【００５２】
また、項目「実行ファイル」に示す情報は、ジョブフロー情報３２に含まれるジョブによる処理を実行する実行ファイルのファイル名を示す情報である。また、項目「実行ファイルの位置」に示す情報は、ジョブによる処理を実行する実行ファイルの格納位置を示す情報を格納したファイルのファイル名を示す情報である。また、項目「コマンド引数」に示す情報は、ジョブに対応する実行ファイルを実行するにあたり、実行ファイルの実行時のオプションを示す情報である。
【００５３】
また、項目「ジョブの位置」に示す情報は、ジョブフロー情報３２においてジョブの位置を示す情報である。また、項目「次のジョブの位置」に示す情報は、ジョブの位置で示されるジョブについてジョブフロー情報３２における次のジョブの位置を示す情報である。また、項目「クラウド実行可能フラグ」に示す情報は、ジョブがクラウド環境で実行可能か否かを示す情報である。図５に示す一例として、項目「No.」が「１」を示すジョブについて説明する。項目「No.」が「１」を示すジョブは、コメントが「顧客管理処理１」で示される内容であり、「kokyaku1」のジョブフロー名に示されるジョブフロー情報３２に含まれるジョブ名が「kanri1」のジョブを示す。また、項目「N0.１」のジョブ名「kanri1」のジョブでは、「c:\kokyaku_data.txt」のファイルに示される位置の実行ファイル「c:\kanri1.exe」が実行される。実行ファイル「c:\kanri1.exe」が実行されるときには、コマンド引数として「c:\output」に示されるオプションが設定されて実行される。なお、図５では、コマンド引数として「c:\output」に示される情報として標準出力先を示す情報の一例を示す。
【００５４】
また、項目「N0.１」のジョブ名「kanri1」のジョブは、「kokyaku1」で示されるジョブフロー情報３２において、位置ｘが「１」でかつ位置ｙが「１」を示す。位置ｘは、ジョブフロー情報３２が示す一連の複数のジョブの関係について、処理の順位を示す。位置ｙは、位置ｘにおける処理について、複数の処理を伴うときの順位を示す。また、図５の例では、項目「次のジョブの位置」に示す情報として、位置ｘと位置ｙが「２，１」を示す情報を一例として示す。また、項目「クラウド実行可能フラグ」に示す情報は、「FALSE」の情報が記憶されている一例を示した。なお、情報「FALSE」は、項目「N0.１」のジョブ名「kanri1」のジョブが、クラウド環境で実行不可能なことを示す。一方、情報「TRUE」は、ジョブが、クラウド環境で実行可能なことを示す。
【００５５】
つまり、図５に示すジョブ管理テーブル９４Ｂにおける項目「ジョブフロー名」に示す情報は、ジョブフロー情報３２に含まれる業務処理を識別するための情報３２Ａ（図１）に対応する。また、項目「ジョブフロー名」に示す情報は、解析情報３４に含まれるジョブフロー情報３２を識別するための情報３４Ａ（図１）にも対応する。また、項目「ジョブ名」に示す情報は、ジョブフロー情報３２に含まれる各ジョブを識別するための情報３２Ｃ（図１）に対応する。また、項目「コメント」の情報は、ジョブフロー情報３２に含まれる各ジョブの処理内容を示す情報３２Ｅ（図１）に対応する。また、項目「実行ファイル」、または項目「実行ファイル」、項目「実行ファイルの位置」及び項目「コマンド引数」の各情報は、ジョブフロー情報３２に含まれる各ジョブの処理を実行するための実行ファイルを示す情報３２Ｄ（図１）に対応する。また、項目「ジョブの位置」、及び項目「次のジョブの位置」の情報は、ジョブフロー情報３２に含まれる一連の複数のジョブの前後関係を示す情報３２Ｂ（図１）に対応する。また、項目「クラウド実行可能フラグ」の情報は、解析情報３４に含まれる並列処理可能なジョブを識別するための情報３４Ｄ（図１）に対応する。また、項目「ジョブの位置」、及び項目「次のジョブの位置」の情報は、解析情報３４に含まれる並列処理可能なジョブを識別するための情報３４Ｄ（図１）に含むことができる。
【００５６】
なお、ジョブ管理テーブル９４Ｂは、開示の技術における解析情報の一例を含む。ジョブは、項目「ジョブフロー名」に示す情報により何れのジョブフロー情報３２に含まれるジョブかを特定することができる。ジョブフロー情報３２におけるジョブには、「ジョブの位置」、「次のジョブの位置」、及び「クラウド実行可能フラグ」の各情報が対応付けられる。「ジョブの位置」、「次のジョブの位置」、及び「クラウド実行可能フラグ」の各情報は、一連の処理において並列処理可能なジョブを示す情報、及び並列処理可能なジョブの処理順序を示す情報の一例である。
【００５７】
ファイル管理テーブル９４Ｃは、コンピュータシステム５０等の処理装置の処理効率を向上させるためのジョブフロー情報３２に対する条件をテーブルとしてデータベース９２に予め格納したものである。ファイル管理テーブル９４Ｃは、ジョブフロー情報３２が処理装置の処理効率を向上させるときの条件を示す。すなわち、ファイル管理テーブル９４Ｃは、ジョブフロー情報３２に含まれる各ジョブが処理装置の処理効率を向上させるための所定条件に該当する構造のジョブであるか否かを判定するための条件である。例えば、ジョブフロー情報３２に対する条件には、ジョブフロー情報３２の構造を示す情報について、予め定めた値を格納したテーブルがある。ジョブフロー情報３２の構造を示す情報には、ジョブフロー情報３２に含まれる処理装置の処理効率を向上させるためのの対象とするジョブ数を示す情報や、一連のジョブの実行順序を示す各ジョブの前後関係を示す情報が一例として挙げられる。また、ジョブフロー情報３２の構造を示す情報には、各ジョブの内容に関する情報を対応付けることができる。各ジョブの内容に関する情報には、ジョブの各々について実行ファイルの処理内容、各ジョブで利用するファイル、各ジョブにおける入出力の関係を示す情報が一例として挙げられる。
【００５８】
図６に、ジョブフロー情報３２に基づく処理による処理効率を向上するための構造条件の一例をファイル管理テーブル９４Ｃとして示す。図６に示すファイル管理テーブル９４Ｃは、「ジョブの分類」、「実行ファイルの処理内容」、「利用ファイル」、及び「ｉｎ／ｏｕｔ」の各情報が対応付けて各々登録される。ファイル管理テーブル９４Ｃにおける項目「ジョブの分類」に示す情報は、ジョブフロー情報３２において処理されるジョブ単位の処理を分類したことを示す情報である。また、項目「実行ファイルの処理内容」に示す情報は、各ジョブを実行するときの実行ファイルの処理内容を示す情報である。また、項目「利用ファイル」に示す情報は、ジョブの処理を実行するときに用いるデータやファイル等のファイルを示す情報である。利用ファイルを示す情報は、項目「ｉｎ／ｏｕｔ」に示す情報に対応される。項目「ｉｎ／ｏｕｔ」に示す情報の値は、「ｉｎ」が情報が入力されることを示し、「ｏｕｔ」が情報が出力されることを示す。
【００５９】
図６では、ジョブフロー情報３２に含まれる一連のジョブ数を５個とした一例を示す。第１ジョブは、「ＤＢからファイル取得ｅｘｅ」が処理内容であり、入力として「ＲＤＢＭＳ」を利用ファイルとし、出力として「ファイル」を利用ファイルとする場合を示す。なお、ＤＢとはデータベースを略記したものである。また、ＲＤＢＭＳとは、リレーショナルデータベースを管理するソフトウェアからのデータ、つまりリレーショナルデータベースそのものを略記したものである。「第２ジョブ」は、「ファイル分割ｅｘｅ」が処理内容であり、入力として第１ジョブの出力「ファイル」を利用ファイルとし、出力がファイル分割後の「ファイルａ，ファイルｂ，ファイルｃ」を利用ファイルとする場合を示す。「第３ジョブ」は、「ファイル処理ｅｘｅ」が処理内容であり、入力として第２ジョブの出力「ファイルａ，ファイルｂ，ファイルｃ」を利用ファイルとし、出力がファイル処理後の「ファイルＡ，ファイルＢ，ファイルＣ」とする場合を示す。「第４ジョブ」は、「ファイルマージｅｘｅ」が処理内容であり、入力として第３ジョブの出力「ファイルＡ，ファイルＢ，ファイルＣ」を利用ファイルとし、出力がファイルマージ後の「ファイルＡ＋ファイルＢ＋ファイルＣ」を利用ファイルとする場合を示す。「第５ジョブ」は、「ファイルＤＢ格納ｅｘｅ」が処理内容であり、入力として第４ジョブの出力「ファイルＡ＋ファイルＢ＋ファイルＣ」を利用ファイルとし、出力として「ＲＤＢＭＳ」を利用ファイルとする場合を示す。
【００６０】
図７に、図６で示すファイル管理テーブル９４Ｃを、ジョブフロー情報３２に含まれるジョブ単位の前後関係による構造により模式的に示す。図７に一例を示すジョブフロー情報３２の構造では、第１ジョブＪ１、第２ジョブＪ２、第３ジョブＪ３、第４ジョブＪ４、及び第５ジョブＪ５の順序で各ジョブが関係付けられている。第３ジョブＪ３は、一致又は略同様のジョブを行う小ジョブＪ３−１、Ｊ３−２、及びＪ３−３を含んでいる。
【００６１】
次に、図１に示す情報処理システム１０のジョブフロー実行部３８において、ジョブフロー指定部４２によってジョブフロー情報３２を指定する処理を説明する。
【００６２】
内部環境システム１２は、記憶部３０及びジョブフロー実行部３８を含んでおり、ジョブフロー実行部３８のジョブフロー指定部４２でジョブフロー情報３２が指定され、指定されたジョブフロー情報３２を用いて実行部４４でジョブフローが実行される。なお、ジョブフロー指定部４２によってジョブフロー情報３２を指定するにあたり、一般的に実行対象のジョブフローに対応するジョブフロー情報３２を指定するだけの場合には、開示の技術における解析情報３４は、必ずしも必要ではない。つまり、コンピュータシステム５０における格納部６６はジョブフロー情報３２及び対象のデータ３６、そしてジョブフローを実行する時期を記録したデータを含むテーブル９４を含んでいればよい。
【００６３】
図８に、図１に示す内部環境システム１２がオンプレミスシステム５２で実現された場合に、ジョブフロー情報３２を指定する処理をブロック図として示す。格納部６６は、ジョブフロー情報３２，対象のデータ３６，テーブル９４を含んでいる。また、ＣＰＵ６０がＯＳ９０に予め含まれているタスクスケジューラ機能を実行することで、オンプレミスシステム５２は、タスクスケジューラ４２Ａとして動作する。図８に示すタスクスケジューラ４２Ａは、図１に示すジョブフロー指定部４２に対応する。なお、タスクスケジューラ４２Ａは、格納部６６からジョブフロー情報３２を取得することができる。また、ＣＰＵ６０が実行プロセス８８を実行することで、オンプレミスシステム５２は、図１に示すジョブフロー実行部３８の実行部４４として動作する。
【００６４】
なお、説明を簡単にするため、ジョブフロー情報３２は予め作成されており、作成済みのジョブフロー情報３２が格納部６６（内部環境システム１２の記憶部３０）に格納済みの場合を説明する。また、テーブル９４は、ジョブフローを実行する時期を記録したデータを含むものとする。例えば、図４に示すジョブフロー管理テーブル９４Ａには、実行スケジュール３７の一例が示されている。ジョブフロー情報３２は、項目「ジョブフロー名」に示す情報により特定することができる。項目「ジョブフロー名」に示す情報により特定するジョブフロー情報３２には、「実行フラグ」、「開始時刻」、「開始パターン」及び「実行予測時間」の各情報が対応付けられる。従って、「実行フラグ」が「ＴＲＵＥ」のジョブフロー名によるジョブフロー情報３２を、「開始パターン」で「開始時刻」に実行することで、予め指定された時期にジョブフローが実行される。
【００６５】
タスクスケジューラ４２Ａは、ジョブフローの実行、つまりジョブフロー情報３２による一連のジョブの処理をタスクとして、実行スケジュール３７に指定されている時期に、指定されたタスクの実行を実行部４４へ指示する。実行部４４は、格納部６６のジョブフロー情報３２を用いてタスクスケジューラ４２Ａより指示されたタスクすなわちジョブフロー情報３２に基づく一連の複数のジョブによる処理を実行する。
【００６６】
なお、新規にジョブフロー情報３２を生成する場合にジョブフロー情報３２によるジョブフローの実行時期の指定は、オペレータの入力指示等により入力されたジョブフローの実行時期の入力値を実行スケジュール３７に格納すればよい。
【００６７】
次に本実施形態の作用を説明する。
本実施形態では、ジョブフロー情報３２に基づきジョブを処理する処理装置の処理効率を向上するために、一連の複数のジョブの関係を示すジョブフロー情報３２が解析される。ジョブフロー情報３２の解析により、複数の実行処理により並列処理するジョブに対して一連の複数のジョブにおける処理順位を含む解析情報が生成される。解析したジョブフロー情報には、生成した解析情報が関連づけられて登録される。処理装置は、解析情報が関連づけられたジョブフロー情報に基づきジョブを処理する。すなわち、オンプレミスシステム５２では、情報処理プログラム８０に含まれる解析プロセス８２による処理が実行される。
【００６８】
図９に、オンプレミスシステム５２で実行される情報処理プログラム８０に含まれる解析プロセス８２の流れを示す。オンプレミスシステム５２において解析プロセス８２が実行されることで、オンプレミスシステム５２は内部環境システム１２における情報処理装置２０の解析部２２として動作し、ジョブフロー情報３２の解析処理を実行する。図９に示す処理ルーチンは、オンプレミスシステム５２の稼働中に、所定時間間隔で繰り返し実行される。つまり、オンプレミスシステム５２のＣＰＵ６０は、所定時間を経過する度に、図９に示す処理ルーチンを実行する。なお、図９に示す処理ルーチンは、繰り返し実行されることに限定されず、ユーザによる入力装置６３の操作指示により、実行されるようにしてもよい。
【００６９】
オンプレミスシステム５２のＣＰＵ６０は、ステップ１００において、ジョブフロー管理テーブル９４Ａを参照し、１つのジョブフロー情報３２を指定する。ステップ１００におけるジョブフロー情報３２の指定は、ＯＳ９０に予め含まれているタスクスケジューラ機能をＣＰＵ６０が実行することによるタスクスケジューラ４２Ａが指定する。なお、タスクスケジューラ４２Ａは、ジョブフロー管理テーブル９４Ａに登録されたジョブフロー情報３２のうちの何れかを指定すればよく、予め定めた順序で指定したりランダム（無作為）に指定したりしてもよい。ＣＰＵ６０は、ステップ１００で指定したジョブフロー情報３２について、次のステップ１０２において、ジョブフロー情報３２が未解析か否かを判断する。すなわち、ステップ１０２では、ステップ１００で指定したジョブフロー情報３２についてジョブフロー管理テーブル９４Ａにおける項目「ジョブフロー変更フラグ」の情報を参照する。つまり、ステップ１０２では、参照した項目「ジョブフロー変更フラグ」の情報の値が「FALSE」であるか否かを判定することによりジョブフロー情報３２が未解析か否かを判断する。
【００７０】
項目「ジョブフロー変更フラグ」の情報の値が「FALSE」であるときは、ステップ１０２で肯定判断され、ステップ１０４へ進む。一方、項目「ジョブフロー変更フラグ」の情報の値が「TRUE」であるときは、ステップ１０２で否定され、ステップ１０８へ進む。
【００７１】
ＣＰＵ６０は、ステップ１０４において、解析処理を実行する。ステップ１０４の解析処理は、詳細を後述するジョブフロー情報３２の構造を解析する処理（図１１）である。ステップ１０４の解析処理が終了すると、ＣＰＵ６０は、次のステップ１０６においてステップ１０４の解析結果を格納部６６に登録する。解析結果は３４を含んでおり、解析情報３４を格納部６６に登録することは、図１に示す内部環境システム１２の記憶部３０に解析情報３４を登録することに対応する。
【００７２】
次のステップ１０８において、ＣＰＵ６０は、ジョブフロー管理テーブル９４Ａに登録されたジョブフロー情報３２の全てに対して解析処理を終了したか否かを判定することにより、残存するジョブフロー情報３２が無いか否かを判断する。ジョブフロー管理テーブル９４Ａに登録された全てのジョブフロー情報３２に対して解析処理を終了したときは、ステップ１０８で肯定判断され、本処理ルーチンを終了する。一方、ジョブフロー管理テーブル９４Ａに解析処理が未完了のジョブフロー情報３２が残存するときは、ステップ１０８で否定判断され、ステップ１００へ戻り他のジョブフロー情報３２を指定して、ステップ１０２〜ステップ１０６の処理を実行する。
【００７３】
次に、図９に示すステップ１０４の解析処理を説明する。解析処理は、ジョブフロー情報３２が示す一連の複数のジョブの関係から当該ジョブフロー情報３２の構造を解析する処理である。
【００７４】
図１０に、ジョブフロー情報３２の構造解析の一例を各ジョブの処理概要を含めて模式的に示す。図１０に示す一例では、第１ジョブＪ１は、ファイルの取得処理を示し、第２ジョブＪ２はファイルの分割処理を示し、第３ジョブＪ３はファイルの加工処理を示し、第４ジョブＪ４はファイルの結合処理を示し、第５ジョブＪ５はファイルの格納処理を示す。
【００７５】
第１ジョブＪ１では、格納部６６、すなわちデータベース９２に含まれるデータ３６からフラットファイル等のファイル７６が取得される。第１ジョブＪ１は、図６に示すファイル管理テーブル９４Ｃにおける第１ジョブの構造条件に対応する。また、第２ジョブＪ２では、第１ジョブＪ１で取得されたフラットファイル等のファイル７６が３つの分割ファイル７６Ａ，７６Ｂ，７６Ｃに分割される。第２ジョブＪ２は、図６に示すファイル管理テーブル９４Ｃにおける第２ジョブの構造条件に対応する。つまり、第１ジョブＪ１が利用ファイルを入力として取得し、かつ取得した利用ファイルをファイル７６として出力する。第２ジョブＪ２は、第１ジョブＪ１により出力されたファイル７６を入力とし、３つの分割ファイル７６Ａ，７６Ｂ，７６Ｃに分割して出力する。従って、第１ジョブＪ１と第２ジョブＪ２が順次処理されるジョブとして関係づけられた構造と解析できる。
【００７６】
第３ジョブＪ３では、第２ジョブＪ２で分割された分割ファイル７６Ａ，７６Ｂ，７６Ｃの各々に、予め定めた所定処理７７を施し、処理済ファイル７８Ａ，７８Ｂ，７８Ｃが得られる。つまり、第３ジョブＪ３では、所定処理７７として一致又は略同様のジョブを行う小ジョブＪ３−１、Ｊ３−２、及びＪ３−３により、分割ファイル７６Ａ，７６Ｂ，７６Ｃの各々に、処理が施される。第３ジョブＪ３は、図６に示すファイル管理テーブル９４Ｃにおける第３ジョブの構造条件に対応する。つまり、第３ジョブＪ３は、第２ジョブＪ２により分割された分割ファイル７６Ａ，７６Ｂ，７６Ｃの各々を入力とし、各分割ファイル７６Ａ〜７６Ｃに所定処理７７を施して処理済ファイル７８Ａ，７８Ｂ，７８Ｃの各々を出力する。従って、第２ジョブＪ２と第３ジョブＪ３が順次処理されるジョブとして関係づけられた構造と解析できる。また、第３ジョブＪ３が、小ジョブＪ３−１、Ｊ３−２、及びＪ３−３による並列処理される構造と解析できる。
【００７７】
第４ジョブＪ４では、第３ジョブＪ３で処理が施された処理済ファイル７８Ａ，７８Ｂ，７８Ｃが結合処理７９により結合され、結合ファイル７８が得られる。第４ジョブＪ４は、図６に示すファイル管理テーブル９４Ｃにおける第４ジョブの構造条件に対応する。つまり、第４ジョブＪ４は、第３ジョブＪ３により処理された処理済ファイル７８Ａ〜７８Ｃの各々を入力とし、処理済ファイル７８Ａ〜７８Ｃを結合して結合ファイル７８を出力する。従って、第３ジョブＪ３と第４ジョブＪ４が順次処理されるジョブとして関係づけられた構造と解析できる。
【００７８】
第５ジョブＪ５では、第４ジョブＪ４で結合された結合ファイル７８が格納部６６に格納される。第５ジョブＪ５は、図６に示すファイル管理テーブル９４Ｃにおける第５ジョブの構造条件に対応する。つまり、第５ジョブＪ５は、第４ジョブＪ４により結合された結合ファイル７８を入力とし、結合ファイル７８を出力として格納部６６に格納する。従って、第４ジョブＪ４と第５ジョブＪ５が順次処理されるジョブとして関係づけられた構造と解析できる。
【００７９】
なお、図１０に示すジョブフロー情報３２の構造の一例では、第１ジョブＪ１、第２ジョブＪ２、第４ジョブＪ４、及び第５ジョブＪ５の各々における処理は、オンプレミスシステム５２において処理される。また、第３ジョブＪ３は、並列処理可能な複数の処理（小ジョブＪ３−１〜Ｊ３−３）を含み、少なくとも一部の処理（小ジョブＪ３−１〜Ｊ３−３の何れかまたは全部）がクラウドシステム５４において処理可能である。
【００８０】
次に、図９に示すステップ１０４の解析処理をさらに詳細に説明する。オンプレミスシステム５２のＣＰＵ６０は、解析プロセス８２を格納部６６から読み出してＲＡＭ６２に展開して実行することで、ジョブフロー情報３２の解析処理を実行する。
【００８１】
図１１に、図９に示すステップ１０４の解析処理の流れの一例を示し、図１２に図１１を一部具体化した処理の流れの一例を示す。解析プロセス８２の処理は、ジョブフロー情報３２の構造を解析する処理である。また、解析プロセス８２の処理では、複数の実行処理により並列処理するジョブを含んだジョブフロー情報３２の構造を解析し、解析結果の解析情報をオンプレミスシステム５２の処理効率を向上させるための情報として得る処理を含んでいる。オンプレミスシステム５２の処理効率を向上させるための情報は、オンプレミスシステム５２の一部処理を、クラウドシステム５４で処理させることが可能であることを示す情報である。
【００８２】
ＣＰＵ６０は、解析処理（ステップ１０４）を実行すると、図１１のステップ１１０において、ジョブフロー情報３２を取得する。ステップ１１０で取得するジョブフロー情報３２は、図９に示すステップ１００で指定したジョブフロー情報３２である。すなわち、図９に示すステップ１００で指定したジョブフロー情報３２に該当するジョブフロー情報３２を、図４に示すジョブフロー管理テーブル９４Ａ及び図５に示すジョブ管理テーブル９４Ｂから抽出する。ＣＰＵ６０は、次のステップ１１２において、ジョブフロー情報３２に含まれる第１ジョブが第１条件に合致するか否かを判断する。ステップ１１２における判断は、ファイル管理テーブル９４Ｃに登録された構造条件を使用する。すなわち、ステップ１１０で取得したジョブフロー情報３２の第１ジョブが、ファイル管理テーブル９４Ｃに登録された第１ジョブの構造条件に合致するか否かを判断する。例えば、ジョブフロー名が「kokyaku1」のとき、取得したジョブフロー情報３２における第１ジョブは、項目「コメント（処理内容）」、「ジョブの位置」及び「次ジョブの位置」の各情報からジョブ名「kanri1」と特定できる（図５参照）。ジョブ名「kanri1」の第１ジョブは、「ＤＢからファイル取得」の処理内容であり、次ジョブへ送出する処理である。ファイル管理テーブル９４Ｃに登録された第１ジョブの構造条件は、第１ジョブがファイルの取得処理を示し、ＲＤＢＭＳを入力として取得し、かつ取得したファイルをファイル７６（図１０）として出力するジョブである。従って、例えば、ジョブフロー名が「kokyaku1」のジョブフロー情報３２が指定されたとき、ＣＰＵ６０は、ステップ１１２において、ジョブフロー情報３２に含まれる第１ジョブが第１条件に合致すると判断する。なお、図１２に、図１１に示すステップ１１２の判断処理を、第１ジョブＪ１が「データ取得」であるか否かを判断する判断処理に代えた一例を示す。
【００８３】
ステップ１１２で否定判断のときには、ステップ１３４へ進み、クラウド分散実行フラグをオフ(OFF)に設定し、本処理ルーチンを終了する。つまり、解析対象のジョブフロー情報３２が、オンプレミスシステム５２の処理効率を向上させる予め定めた構造（図７、図１０参照）に合致しないので、クラウド分散実行フラグをオフ(OFF)に設定する。クラウド分散実行フラグの値は、本処理ルーチンを終了後の登録処理（図９に示すステップ１０６）において、解析結果として格納部６６に登録される。つまり、ジョブフロー管理テーブル９４Ａにおける解析対象のジョブフロー情報３２の項目「クラウド実行調査フラグ」、「ジョブフロー変更フラグ」、及び「クラウド分散実行フラグ」（図４も参照）の各情報の値を登録する。具体的には、「クラウド実行調査フラグ」及び「ジョブフロー変更フラグ」の情報の値として「TRUE」、そして「クラウド分散実行フラグ」の情報の値として「FALSE」が登録される。
【００８４】
ステップ１１２で肯定判断のときには、解析対象のジョブフロー情報３２に含まれる第１ジョブがオンプレミスシステム５２の処理効率を向上させる予め定めた構造（図７、図１０参照）に合致するので、解析を継続する。すなわち、第１ジョブＪ１はオンプレミスシステム５２において処理するので、ＣＰＵ６０は、ステップ１１４において、第１ジョブＪ１に対するクラウド実行可能フラグをオフに設定し、ステップ１１６へ進む。
【００８５】
次に、ＣＰＵ６０は、ステップ１１６において第２ジョブＪ２が第２条件に合致するか否かを判断する。ステップ１１６における判断は、ファイル管理テーブル９４Ｃに登録された構造条件を使用する。すなわち、ステップ１１０で取得したジョブフロー情報３２の第２ジョブが、ファイル管理テーブル９４Ｃに登録された第２ジョブの構造条件に合致するか否かを判断する。例えば、ジョブフロー名が「kokyaku1」のとき、取得したジョブフロー情報３２における第２ジョブは、項目「コメント（処理内容）」、「ジョブの位置」及び「次ジョブの位置」の各情報からジョブ名「kanri2」と特定できる（図５参照）。ジョブ名「kanri2」の第２ジョブは、「ファイル分割」の処理内容であり、分割したファイルの各々を次ジョブへ送出する処理である。ファイル管理テーブル９４Ｃに登録された第２ジョブの構造条件は、第２ジョブがファイル分割処理を示し、第１ジョブの出力ファイルを入力とし、かつ入力したファイルを分割して分割ファイル７８Ａ，７８Ｂ，７８Ｃ（図１０）を出力するジョブである。従って、例えば、ジョブフロー名が「kokyaku1」のジョブフロー情報３２が指定されたとき、ＣＰＵ６０は、ステップ１１６において、ジョブフロー情報３２に含まれる第２ジョブが第２条件に合致すると判断する。
【００８６】
ステップ１１６の判断処理の一例は、複数の判断条件に合致するか否かの判断である。例えば、図１１に示すステップ１１６の判断処理を、図１２に示すステップ１１６Ａ，１１６Ｂ，１１６Ｃの条件判断による判断処理に代えることができる。第１条件判断は、ジョブフロー情報３２に含まれる第２ジョブＪ２が「第１ジョブＪ１から出力されるデータを利用するジョブ」であるか否かを示す（図１２に示すステップ１１６Ａ）。第２条件は、ジョブフロー情報３２に含まれる第２ジョブＪ２が「データ分割のジョブ」であるか否かを示す（図１２に示すステップ１１６Ｂ）。第３条件は、ジョブフロー情報３２に含まれる第２ジョブＪ２が「第１ジョブＪ１から出力されるデータが入力でかつ第２ジョブＪ２の処理結果が出力であるジョブ」であるか否かを示す（図１２に示すステップ１１６Ｃ）。図１１のステップ１１６の肯定判断は、図１２に示すステップ１１６Ａ，１１６Ｂ，１１６Ｃの全ての条件判断が肯定判断のときに対応する。なお、図１２に示すステップ１１６Ａ，１１６Ｂ，１１６Ｃの条件判断は、図１２に示す順序に限定されない。また、図１２ではステップ１１８の後にステップ１１６Ｃの条件判断に移行する場合を示すが、ステップ１１８とステップ１１６Ｃとは順序を入れ替えても良い。
【００８７】
ステップ１１６で否定判断のときには、ステップ１３４においてクラウド分散実行フラグをオフに設定し、本処理ルーチンを終了する。一方、ステップ１１６で肯定判断のときには、ＣＰＵ６０は、ステップ１１８において第２ジョブＪ２に対するクラウド実行可能フラグをオフに設定し、解析を継続する。すなわち、ジョブフロー情報３２の予め定めた構造では（図７、図１０参照）、第２ジョブＪ２はオンプレミスシステム５２において処理される。従って、ＣＰＵ６０は、ステップ１１８において、第２ジョブＪ２に対するクラウド実行可能フラグをオフに設定し、ステップ１２０へ進む。
【００８８】
次に、ＣＰＵ６０は、ステップ１２０において第３ジョブＪ３が第３条件に合致するか否かを判断する。ステップ１２０における判断は、ファイル管理テーブル９４Ｃに登録された構造条件を使用する。すなわち、ステップ１１０で取得したジョブフロー情報３２の第３ジョブが、ファイル管理テーブル９４Ｃに登録された第３ジョブの構造条件に合致するか否かを判断する。例えば、ジョブフロー名が「kokyaku1」のジョブフロー情報３２における第３ジョブは、ジョブ名「kanri3」と特定できる（図５参照）。ジョブ名「kanri3」の第３ジョブは、「ファイル処理」の処理内容であり、処理結果を次ジョブへ送出する処理である。ファイル管理テーブル９４Ｃに登録された第３ジョブの構造条件は、第３ジョブがファイル処理を示し、第２ジョブの処理結果を入力とし、かつ入力した各ファイルに処理を施した処理済ファイル７８Ａ，７８Ｂ，７８Ｃ（図１０）を出力するジョブである。従って、例えば、ジョブフロー名が「kokyaku1」のジョブフロー情報３２が指定されたとき、ＣＰＵ６０は、ステップ１２０において、ジョブフロー情報３２に含まれる第３ジョブが第３条件に合致すると判断する。
【００８９】
ステップ１２０の判断処理の一例は、複数の判断条件に合致するか否かの判断である。例えば、図１１に示すステップ１２０の判断処理を、図１２に示すステップ１２０Ａ，１２０Ｂ，１２０Ｃの条件判断による判断処理に代えることができる。第１条件判断は、ジョブフロー情報３２に含まれる第３ジョブが「第２ジョブＪ２から出力されるデータを利用するジョブ」であるか否かを示す（図１２に示すステップ１２０Ａ）。第２条件は、ジョブフロー情報３２に含まれる第３ジョブＪ３が「同一のアプリケーションで並列処理を実行するジョブ」であるか否かを示す（図１２に示すステップ１２０Ｂ）。第３条件は、ジョブフロー情報３２に含まれる第３ジョブＪ３が「第２ジョブＪ２から出力されるデータが入力でかつ第３ジョブＪ３の処理結果が出力であるジョブ」であるか否かを示す（図１２に示すステップ１２０Ｃ）。図１１のステップ１２０の肯定判断は、図１２に示すステップ１２０Ａ，１２０Ｂ，１２０Ｃの全ての条件判断が肯定判断のときに対応する。なお、図１２に示すステップ１２０Ａ，１２０Ｂ，１２０Ｃの条件判断は、図１２に示す順序に限定されない。また、図１２ではステップ１２２の後にステップ１２０Ｃの条件判断に移行する場合を示すが、ステップ１２２とステップ１２０Ｃとは順序を入れ替えても良い。
【００９０】
ステップ１２０で否定判断のときには、ステップ１３４においてクラウド分散実行フラグをオフに設定し、本処理ルーチンを終了する。一方、ステップ１２０で肯定判断のときには、ＣＰＵ６０は、ステップ１２２において第３ジョブＪ３に対するクラウド実行可能フラグをオンに設定し、解析を継続する。すなわち、オンプレミスシステム５２の処理効率を向上させるジョブフロー情報３２の予め定めた構造では、第３ジョブＪ３は、並列処理可能な複数の処理（小ジョブＪ３−１〜Ｊ３−３）の少なくとも一部がクラウドシステム５４において処理可能である。従って、ＣＰＵ６０は、ステップ１２２において、第３ジョブＪ３に対するクラウド実行可能フラグをオンに設定し、ステップ１２４へ進む。
【００９１】
次に、ＣＰＵ６０は、ステップ１２４において第４ジョブＪ４が第４条件に合致するか否かを判断する。ステップ１２４における判断は、ファイル管理テーブル９４Ｃに登録された構造条件を使用する。すなわち、ジョブフロー情報３２に含まれる第４ジョブが、ファイル管理テーブル９４Ｃに登録された第４ジョブの構造条件に合致するか否かを判断する。例えば、ジョブフロー名が「kokyaku1」のとき、ジョブフロー情報３２における第４ジョブは、項目「コメント（処理内容）」、「ジョブの位置」及び「次ジョブの位置」の各情報からジョブ名「kanri4」と特定できる（図５参照）。ジョブ名「kanri4」の第４ジョブは、「ファイル結合（マージ）」の処理内容であり、処理結果を次ジョブへ送出する処理である。ファイル管理テーブル９４Ｃに登録された第４ジョブの構造条件は、第４ジョブがファイルの結合処理を示し、第３ジョブの処理結果を入力とし、かつ入力したファイルを結合して結合ファイル７８（図１０）として出力するジョブである。第３ジョブの処理結果のファイルは、処理済ファイル７８Ａ〜７８Ｃの３つである。従って、例えば、ジョブフロー名が「kokyaku1」のジョブフロー情報３２が指定されたとき、ＣＰＵ６０は、ステップ１２４において、ジョブフロー情報３２に含まれる第４ジョブが第４条件に合致すると判断する。
【００９２】
ステップ１２４の判断処理の一例は、複数の判断条件に合致するか否かの判断である。例えば、図１１に示すステップ１２４の判断処理を、図１２に示すステップ１２４Ａ，１２４Ｂ，１２４Ｃの条件判断による判断処理に代えることができる。第１条件判断は、第４ジョブＪ４が「第３ジョブＪ３から出力されるデータを利用するジョブ」であるか否かを示す（図１２に示すステップ１２４Ａ）。第２条件は、第４ジョブＪ４が「データ結合のジョブ」であるか否かを示す（図１２に示すステップ１２４Ｂ）。第３条件は、第４ジョブＪ４が「第３ジョブＪ３から出力されるデータが入力でかつ第４ジョブＪ４の処理結果が出力であるジョブ」であるか否かを示す（図１２に示すステップ１２４Ｃ）。図１１のステップ１２４の肯定判断は、図１２に示すステップ１２４Ａ，１２４Ｂ，１２４Ｃの全ての条件判断が肯定判断のときに対応する。なお、図１２に示すステップ１２４Ａ，１２４Ｂ，１２４Ｃの条件判断は、図１２に示す順序に限定されない。また、図１２ではステップ１２６の後にステップ１２４Ｃの条件判断に移行する場合を示すが、ステップ１２６とステップ１２４Ｃとは順序を入れ替えても良い。
【００９３】
ステップ１２４で否定判断のときには、ステップ１３４においてクラウド分散実行フラグをオフに設定し、本処理ルーチンを終了する。一方、ステップ１２４で肯定判断のときには、ＣＰＵ６０は、ステップ１２６において第４ジョブＪ４に対するクラウド実行可能フラグをオフに設定し、解析を継続する。すなわち、オンプレミスシステム５２の処理効率を向上させるジョブフロー情報３２の予め定めた構造では（図７、図１０参照）、第４ジョブＪ４はオンプレミスシステム５２において処理される。従って、ＣＰＵ６０は、ステップ１２６において、第２ジョブＪ２に対するクラウド実行可能フラグをオフに設定し、ステップ１２８へ進む。
【００９４】
次に、ＣＰＵ６０は、ステップ１２８において第５ジョブＪ５が第５条件に合致するか否かを判断する。ステップ１２８における判断は、ファイル管理テーブル９４Ｃに登録された構造条件を使用する。すなわち、ジョブフロー情報３２に含まれる第５ジョブが、ファイル管理テーブル９４Ｃに登録された第５ジョブの構造条件に合致するか否かを判断する。例えば、ジョブフロー名が「kokyaku1」のとき、ジョブフロー情報３２における第５ジョブは、項目「コメント（処理内容）」、「ジョブの位置」及び「次ジョブの位置」の各情報からジョブ名「kanri5」と特定できる（図５参照）。ジョブ名「kanri5」の第５ジョブは、「ファイルをＤＢに格納する」処理内容である。ファイル管理テーブル９４Ｃに登録された第５ジョブの構造条件は、第５ジョブがファイルの格納処理を示し、第４ジョブの処理結果を入力とし、かつ入力した結合ファイル７８をＲＤＢＭＳへ格納するジョブである。従って、例えば、ジョブフロー名が「kokyaku1」のジョブフロー情報３２が指定されたとき、ＣＰＵ６０は、ステップ１２８において、ジョブフロー情報３２に含まれる第５ジョブが第５条件に合致すると判断する。
【００９５】
ステップ１２８の判断処理の一例は、複数の判断条件に合致するか否かの判断である。例えば、図１１に示すステップ１２８の判断処理を、図１２に示すステップ１２８Ａ，１２８Ｂの条件判断による判断処理に代えることができる。第１条件判断は、第５ジョブＪ５が「第４ジョブＪ４から出力されるデータを利用するジョブ」であるか否かを示す（図１２に示すステップ１２８Ａ）。第２条件は、第５ジョブＪ５が「データ格納のジョブ」であるか否かを示す（図１２に示すステップ１２８Ｂ）。図１１のステップ１２８の肯定判断は、図１２に示すステップ１２８Ａ，１２８Ｂの条件判断が肯定判断のときに対応する。なお、図１２に示すステップ１２８Ａ，１２８Ｂの条件判断は、図１２に示す順序に限定されない。
【００９６】
ステップ１２８で否定判断のときには、ステップ１３４においてクラウド分散実行フラグをオフに設定し、本処理ルーチンを終了する。一方、ステップ１２８で肯定判断のときには、ＣＰＵ６０は、ステップ１３０において第５ジョブＪ５に対するクラウド実行可能フラグをオフに設定し、解析を継続する。すなわち、オンプレミスシステム５２の処理効率を向上させるジョブフロー情報３２の予め定めた構造では、第５ジョブＪ５はオンプレミスシステム５２において処理される。従って、ＣＰＵ６０は、ステップ１３０において、第５ジョブＪ５に対するクラウド実行可能フラグをオフに設定し、ステップ１３２へ進む。
【００９７】
次に、ＣＰＵ６０は、ステップ１３２においてクラウド分散実行フラグをオンに設定し、本処理ルーチンを終了する。つまり、解析対象のジョブフロー情報３２が、オンプレミスシステム５２の処理効率を向上させる予め定めた構造（図７、図１０参照）に合致するときには、クラウド分散実行フラグをオンに設定する。クラウド分散実行フラグの値は、本処理ルーチンを終了後の登録処理（図９に示すステップ１０６）において、解析結果として格納部６６に登録される。つまり、ジョブフロー管理テーブル９４Ａにおける解析対象のジョブフロー情報３２の項目「クラウド実行調査フラグ」、「ジョブフロー変更フラグ」、及び「クラウド分散実行フラグ」（図４も参照）の各情報の値を登録する。具体的には、「クラウド実行調査フラグ」及び「ジョブフロー変更フラグ」の情報の値として「TRUE」、そして「クラウド分散実行フラグ」の情報の値として「TRUE」が登録される。項目「クラウド実行調査フラグ」、「ジョブフロー変更フラグ」、及び「クラウド分散実行フラグ」の各情報の値を格納部６６に登録することは、解析情報３４を格納部６６に登録すること（図２）に対応する。また、内部環境システム１２の記憶部３０に解析情報３４を登録すること（図１）にも対応する。
【００９８】
また、オンプレミスシステム５２における登録プロセス８４による登録処理では、ステップ１１４，１１８，１２２，１２６，１３０で設定されたフラグの値も登録する。すなわち、ＣＰＵ６０は、ジョブ管理テーブル９４Ｂの対象のジョブフロー情報３２についてのクラウド実行可能フラグの値として「TRUE」または「FALSE」を登録する。クラウド実行可能フラグがオンに設定されているとき、クラウド実行可能フラグの値として「TRUE」を登録する。また、クラウド実行可能フラグがオフに設定されているとき、クラウド実行可能フラグの値として「FALSE」を登録する。
【００９９】
なお、クラウド実行可能フラグをオンに設定する処理（ステップ１２２）は、開示の技術における解析情報を生成する処理に対応する。つまり、図５に示すように、対象のジョブフロー情報３２に含まれるジョブの位置及びクラウド実行可能フラグが関係づけられる。従って、ステップ１２２の処理は、複数の実行処理により並列処理するジョブに対して一連の複数のジョブにおける処理順位を含む解析情報を生成する処理の一部に対応する。
【０１００】
次に、オンプレミスシステム５２におけるジョブフロー情報３２に基づくジョブフローの実行処理を説明する。
【０１０１】
ＣＰＵ６０がＯＳ９０に予め含まれているタスクスケジューラ機能を実行することで、オンプレミスシステム５２は、タスクスケジューラ４２Ａ（図８）として動作する。タスクスケジューラ４２Ａは、ジョブフロー指定部４２（図１）に対応する。ＣＰＵ６０が実行プロセス８８を実行することで、オンプレミスシステム５２は、ジョブフロー実行部３８（図１）として動作する。
【０１０２】
タスクスケジューラ４２Ａは、ジョブフローの実行、つまりジョブフロー情報３２による一連のジョブの処理をタスクとして、実行スケジュール３７に指定されている時期に、指定されたタスクの実行を実行部４４へ指示する。実行部４４は、格納部６６のジョブフロー情報３２を用いてタスクスケジューラ４２Ａより指示されたタスクつまりジョブフロー情報３２を実行する。
【０１０３】
例えば、タスクスケジューラ４２Ａは、ジョブフロー管理テーブル９４Ａ（図４）に一例を示す実行スケジュール３７を参照する。また、タスクスケジューラ４２Ａは、現在時刻を検知する。タスクスケジューラ４２Ａは、現在時刻が、ジョブフロー管理テーブル９４Ａの実行スケジュール３７に該当するジョブフロー情報３２を見出し、タスクつまり該当するジョブフロー情報３２の実行を実行部４４へ指示する。すなわち、ジョブフロー管理テーブル９４Ａにおいて「実行フラグ」が「ＴＲＵＥ」のジョブフロー名によるジョブフロー情報３２を、「開始パターン」で「開始時刻」に実行を指示することで、予め指定された時期にジョブフローが実行される。
【０１０４】
次に、実行プロセス８８による処理について説明する。オンプレミスシステム５２のＣＰＵ６０は、実行プロセス８８を格納部６６から読み出してＲＡＭ６２に展開して実行することで、ジョブフロー情報３２に基づく処理を実行する。
【０１０５】
図１３に、実行プロセス８８の処理の流れを示す。オンプレミスシステム５２において実行プロセス８８が実行されることで、オンプレミスシステム５２は内部環境システム１２における情報処理装置２０の実行部４４として動作し、ジョブフロー情報３２による処理を実行する。図１３に示す処理ルーチンは、オンプレミスシステム５２の稼働中に、所定時間間隔で繰り返し実行される。つまり、オンプレミスシステム５２のＣＰＵ６０は、所定時間を経過する度に、図１３に示す処理ルーチンを実行する。なお、図１３に示す処理ルーチンは、繰り返し実行されることに限定されず、ユーザによる入力装置６３の操作指示により、実行されるようにしてもよい。
【０１０６】
オンプレミスシステム５２のＣＰＵ６０は、ステップ１４０において、ジョブフロー情報３２の指定が有るか否かを判断する。タスクスケジューラ４２Ａは、ジョブフロー情報３２による一連のジョブの処理をタスクとして、実行スケジュール３７に指定されている時期に、指定されたタスクの実行を実行部４４へ指示する。従って、ステップ１４０の判断は、タスクスケジューラ４２Ａによるタスクの実行が指定されたか否かを判定することによって判断する。
【０１０７】
ステップ１４０で否定判断の場合には、ジョブフローの実行が不要なため、本処理ルーチンを終了する。一方、ステップ１４０で肯定判断の場合には、ＣＰＵ６０は、ステップ１４２においてジョブフロー情報３２を取得し、次のステップ１４４において、詳細を後述するジョブフロー情報３２による処理を実行する。従って、タスクスケジューラ４２Ａで指定されたジョブフロー管理テーブル９４Ａにおいて「実行フラグ」が「ＴＲＵＥ」のジョブフロー名によるジョブフロー情報３２が、「開始パターン」で「開始時刻」に実行される。
【０１０８】
次に、図１３に示すステップ１４４の実行処理についてさらに説明する。
【０１０９】
図１４に、ジョブフロー情報３２による実行処理の流れを示す。ＣＰＵ６０は、ステップ１５０においてジョブフロー管理テーブル９４Ａを参照し、実行対象のジョブフロー情報３２について、クラウド分散実行フラグがオンか否かを判断する。ステップ１５０で否定判断の場合にはステップ１５２へ進み、肯定判断の場合にはステップ１６２へ進む。
【０１１０】
ステップ１５０で否定判断の場合、実行対象のジョブフロー情報３２による処理は、全てオンプレミスシステム５２において実行されることが設定されているため、オンプレミスシステム５２において各ジョブが順次実行される。すなわち、ＣＰＵ６０は、まず第１ジョブＪ１を実行する（ステップ１５２）。次に、ＣＰＵ６０は、第２ジョブＪ２（ステップ１５４）、第３ジョブＪ３（ステップ１５６）、第４ジョブＪ４（ステップ１５８）を順次実行する。そして、ＣＰＵ６０は、第５ジョブＪ５を実行し（ステップ１６０）、本処理ルーチンを終了する。
【０１１１】
一方、ステップ１５０で肯定判断の場合、実行対象のジョブフロー情報３２による処理は、クラウドシステム５４において実行可能であることが設定されているため、ジョブフロー情報３２による処理の一部をクラウドシステム５４において実行させる。実行対象のジョブフロー情報３２による処理がクラウドシステム５４において実行可能であるとき、ジョブフロー情報３２の構造は、第１ジョブＪ１、第２ジョブＪ２、第３ジョブＪ３、第４ジョブＪ４、及び第５ジョブＪ５を含む（図７，図１０参照）。第１ジョブＪ１、第２ジョブＪ２、第４ジョブＪ４、及び第５ジョブＪ５の各々は、オンプレミスシステム５２において処理される。
【０１１２】
第３ジョブＪ３は、並列処理可能な複数の処理（小ジョブＪ３−１〜Ｊ３−３）を含み、少なくとも一部の処理（小ジョブＪ３−１〜Ｊ３−３の何れかまたは全部）がクラウドシステム５４において処理可能である。そこで、ＣＰＵ６０は、ステップ１６２において、クラウドシステム５４において第３ジョブＪ３を実行させるために、クラウドシステム５４にＯＳインスタンスを作成する。クラウドシステム５４にＯＳインスタンスを作成ｓるう処理は、第３ジョブＪ３について複数の処理（小ジョブＪ３−１〜Ｊ３−３）を並列処理可能にするための領域作成処理である。また、ＣＰＵ６０は、第３ジョブＪ３について複数の処理（小ジョブＪ３−１〜Ｊ３−３）を並列処理するための実行ファイルをクラウドシステム５４にアップロードする。クラウドシステム５４にアップロードする実行ファイルの一例は、図１０に示す所定処理７７のプログラムである。
【０１１３】
ＣＰＵ６０は、次のステップ１６４において前述のステップ１５２と同様に、第１ジョブＪ１を実行した後、次のステップ１６６において前述のステップ１５４と同様に、第２ジョブＪ２を実行する。次に、ＣＰＵ６０は、ステップ１６８において、第２ジョブＪ２を実行した結果のファイルをクラウドシステム５４へアップロードした後に、ステップ１７０においてクラウドシステム５４へ第３ジョブＪ３の実行を指示する。クラウドシステム５４では、ステップ１６８でアップロードされたファイルを入力とし、ステップ１６２でアップロードされた実行ファイルを使用して第３ジョブＪ３の並列処理を実行する。クラウドシステム５４で第３ジョブＪ３の実行が完了されると、ＣＰＵ６０は、ステップ１７２において、クラウドシステム５４で並列処理された処理結果のファイルをダウンロード（取得）する。
【０１１４】
次にＣＰＵ６０は、ステップ１７４において前述のステップ１５８と同様に、第４ジョブＪ４を実行した後、次のステップ１７６において前述のステップ１６０と同様に、第５ジョブＪ５を実行し、本処理ルーチンを終了する。
【０１１５】
以上説明したように、第１実施形態では、一連の複数のジョブの関係を示すジョブフロー情報３２の構造を解析する。解析結果は、解析情報３４としてジョブフロー情報３２に関連づけられて登録される。複数の実行処理により並列処理するジョブに対する解析情報３４は、ジョブフロー情報３２における一連の複数のジョブの処理順位を含んでおり、ジョブフロー情報３２により示されるジョブの位置を特定できる。従って、解析されたジョブフロー情報３２及び解析情報３４を用いれば、オンプレミスシステム５２において、ジョブを処理するシステムの選択を容易に実行できる。例えば、クラウドシステム５４で実行可能なジョブをオンプレミスシステム５２において判別でき、オンプレミスシステム５２におけるクラウドシステム５４でジョブを実行させるためのユーザの手動操作を抑制できる。また、オンプレミスシステム５２で実行していたジョブをクラウドシステム５４で実行させることにより、オンプレミスシステム５２における処理に要する負荷を分散でき、システム全体の高速実行を実現できる。
【０１１６】
ところで、オンプレミスシステム５２における装置構成は、オンプレミスシステム５２を構築したユーザが予測したコンピュータによる業務処理の処理量を処理可能なや処理負荷を許容する構成とすることが一般的である。しかし、業務処理の処理量や処理負荷が、常時ユーザが予測した値であるとは限らない。例えば、ユーザが扱うコンピュータによる業務処理の処理量の最大値を許容する構成を、オンプレミスシステム５２における装置構成とすると、業務処理の処理量の最大値に至らないときには、余剰の構成である。また、業務処理の処理量や処理負荷が増大したとき、オンプレミスシステム５２における装置構成を増強しなければならない。本実施形態では、オンプレミスシステム５２において、ジョブを処理するシステムを自動的に選択できるので、オンプレミスシステム５２における業務処理の処理量や処理負荷を安定化させることができる。
【０１１７】
また、第１実施形態では、ジョブフロー情報３２に基づくジョブの処理を実行するときに、クラウドシステム５４を使用した処理を実行するので、クラウドシステム５４を常時使用した処理に比べてクラウドシステム５４の使用率を最小限に留めることができる。
【０１１８】
＜第２実施形態＞
次に第２実施形態を説明する。第１実施形態では、ジョブフロー情報３２の構造の一例として、第１ジョブＪ１、第２ジョブＪ２、第３ジョブＪ３、第４ジョブＪ４、及び第５ジョブＪ５の順序で各ジョブが関係付けられる場合を説明した（図７参照）。しかし、開示の技術は、第１ジョブＪ１〜第５ジョブＪ５の順序で各ジョブが関係付けられるジョブフロー情報３２の構造に限定されるものではない。第２実施形態は、ジョブフロー情報３２の構造の第１変形例を説明する。なお、第２実施形態は、第１実施形態と略同様の構成のため、同一部分には同一符号を付して詳細な説明を省略する。
【０１１９】
図１５に、ジョブフロー情報３２に含まれるジョブ単位の前後関係による構造についての第１変形例を模式的に示す。図１５に第１変形例を示すジョブフロー情報３２の構造では、第１ジョブと第２ジョブが合成された取得ジョブＪ１２、第３ジョブＪ３、及び第４ジョブと第５ジョブが合成された格納ジョブＪ４５の順序で各ジョブが関係付けられている。なお、第３ジョブＪ３は、第１実施形態と同様に、一致又は略同様のジョブを行う小ジョブＪ３−１、Ｊ３−２、及びＪ３−３を含んでいる。
【０１２０】
第１実施形態で説明したように、ファイルの取得処理を示す第１ジョブＪ１、及びファイルの分割処理を示す第２ジョブＪ２は、オンプレミスシステム５２において実行される処理である（図７参照）。従って、第１ジョブＪ１及び第２ジョブＪ２を合成した１つのジョブを取得ジョブＪ１２とする構成であっても、図７に示すジョブフロー情報３２の構造と略等価である。また、ファイルの結合処理を示す第４ジョブＪ４、及びファイルの格納処理を示す第５ジョブＪ５は、オンプレミスシステム５２において実行される処理である（図７参照）。従って、第４ジョブＪ４及び第５ジョブＪ５を合成した１つのジョブを格納ジョブＪ４５とする構成であっても、図７に示すジョブフロー情報３２の構造と略等価である。
【０１２１】
従って、第２実施形態では、図１５に示すジョブフロー情報３２の構造であっても、第１実施形態と同様の効果を得ることができる。
【０１２２】
＜第３実施形態＞
次に第３実施形態を説明する。第３実施形態は、ジョブフロー情報３２の構造の第２変形例である。なお、第３実施形態は、第１実施形態と略同様の構成のため、同一部分には同一符号を付して詳細な説明を省略する。
【０１２３】
図１６に、ジョブフロー情報３２に含まれるジョブ単位の前後関係による構造についての第２変形例を模式的に示す。図１６に第２変形例を示すジョブフロー情報３２の構造は、図７に示すジョブフロー情報３２の構造に対して、第３ジョブＪ３の構造が相違する。すなわち、第３ジョブＪ３は、第１実施形態と略同様のジョブを行う小ジョブＪ３−１Ａ、Ｊ３−２Ａ、及びＪ３−３を含んでいる。小ジョブＪ３−１Ａは、第１実施形態と同様の小ジョブＪ３−１及び小ジョブＪ３−１の処理結果を入力とし、所定の処理を施した結果を出力とする後処理Ｊ３−Ｘを含んでいる。また、小ジョブＪ３−２Ａは、第１実施形態と同様の小ジョブＪ３−２及び小ジョブＪ３−２の処理結果を入力とし、所定の処理を施した結果を出力とする後処理Ｊ３−Ｘを含んでいる。
【０１２４】
第３実施形態では、第２ジョブＪ２の処理結果を入力とし、複数の小ジョブの処理結果を出力とする第３ジョブＪ３をジョブフロー情報３２の構造とする。すなわち、並列処理が可能なジョブフロー情報３２の構造は、同一の小ジョブを複数含むことに限定されるものではない。つまり、複数の小ジョブの処理結果を出力とする第３ジョブＪ３をジョブフロー情報３２の構造とする場合を含む。
【０１２５】
なお、第３実施形態における第３ジョブＪ３に対する条件は、第１実施形態における条件と同様である。すなわち、第３実施形態における第３ジョブＪ３は、図６に示すファイル管理テーブル９４Ｃにおける第３ジョブの構造条件に対応する。つまり、第３ジョブＪ３は、第２ジョブＪ２により分割された分割ファイル７６Ａ，７６Ｂ，７６Ｃの各々を入力とし、各分割ファイル７６Ａ〜７６Ｃに所定処理７７を施して処理済ファイル７８Ａ，７８Ｂ，７８Ｃの各々を出力する。また、小ジョブＪ３−１Ａの後処理Ｊ３−Ｘは、小ジョブＪ３−１による処理結果を入力とし、後処理の結果を処理済ファイル７８Ａとして出力する。同様に、小ジョブＪ３−２Ａの後処理Ｊ３−Ｘは、小ジョブＪ３−２による処理結果を入力とし、後処理の結果を処理済ファイル７８Ｂとして出力する。
【０１２６】
従って、第３実施形態における第３ジョブＪ３の構造であっても、第１実施形態と同様に扱うことができ、図１６に示すジョブフロー情報３２の構造であっても、第１実施形態と同様の効果を得ることができる。
【０１２７】
＜第４実施形態＞
次に第４実施形態を説明する。第１実施形態では、ジョブフロー情報３２の解析処理と実行処理を別々に処理する。第４実施形態では、ジョブフロー情報３２による処理について、解析処理および実行処理の少なくとも一方を処理する。なお、第４実施形態は、第１実施形態と略同様の構成のため、同一部分には同一符号を付して詳細な説明を省略する。
【０１２８】
図１７に、オンプレミスシステム５２で実行される情報処理プログラム８０に含まれる解析プロセス８２、登録プロセス８４及び実行プロセス８８の処理を含む処理の流れを示す。なお、図１７に示す処理ルーチンは、オンプレミスシステム５２の稼働中に、所定時間間隔で繰り返し実行される。つまり、オンプレミスシステム５２のＣＰＵ６０は、所定時間を経過する度に、図１７に示す処理ルーチンを実行する。図１７に示す処理ルーチンは、繰り返し実行されることに限定されず、ユーザによる入力装置６３の操作指示により、実行されるようにしてもよい。また、図１７に示す処理ルーチンは、１つのジョブフロー情報３２について処理をする流れを示したが、図９に示す処理ルーチンと同様に、ジョブフロー管理テーブル９４Ａに登録されたジョブフロー情報３２を順次処理してもよい。
【０１２９】
第４実施形態では、オンプレミスシステム５２のＣＰＵ６０は、上述のステップ１００と同様に、ジョブフロー管理テーブル９４Ａを参照し、１つのジョブフロー情報３２を指定する。次にＣＰＵ６０は、ステップ１８０において、指定されたジョブフロー情報３２が未解析か否かを判断する。すなわち、ステップ１８０では、ステップ１００で指定したジョブフロー情報３２についてジョブフロー管理テーブル９４Ａにおける項目「ジョブフロー変更フラグ」の情報を参照し、情報の値が「FALSE」であるか否かにより未解析か否かを判断する。
【０１３０】
ステップ１８０で否定判断の場合は、上述のステップ１４４と同様に、ジョブフロー情報３２による処理を実行し、本処理ルーチンを終了する。一方、ステップ１８０で肯定判断の場合には、上述のステップ１０４と同様にジョブフロー情報３２の解析処理を実行し、解析結果を登録し（ステップ１０６）、ステップ１８２へ進む。
【０１３１】
次に、ＣＰＵ６０は、ステップ１８２において、ステップ１００で指定したジョブフロー情報３２がジョブフロー情報３２の解析処理のみであるか否かを判断する。ジョブフロー情報３２の解析処理のみか否かの判断は、ジョブフロー管理テーブル９４Ａを参照することで実行できる。例えば、項目「ジョブフロー変更フラグ」の情報は、解析処理が完了したか否かを示す。
【０１３２】
第４実施形態では、項目「クラウド実行調査フラグ」に示す情報を、ジョブフロー情報３２を実行するか否かを示す情報として扱うものとする。従って、項目「クラウド実行調査フラグ」に示す情報の値が「TRUE」でかつ、項目「ジョブフロー変更フラグ」の情報の値が「FALSE」の場合は、解析及び実行を示す。また、項目「クラウド実行調査フラグ」に示す情報の値が「TRUE」で、かつ項目「ジョブフロー変更フラグ」の情報の値が「TRUE」の場合は、ジョブフロー情報３２による処理の実行のみを示す。また、項目「クラウド実行調査フラグ」に示す情報の値が「FALSE」で、かつ項目「ジョブフロー変更フラグ」の情報の値が「FALSE」の場合は、ジョブフロー情報３２の解析のみを示す。なお、項目「クラウド実行調査フラグ」に示す情報の値が「FALSE」で、かつ項目「ジョブフロー変更フラグ」の情報の値が「TRUE」の場合は、解析及び実行を共に処理しないことを示す。解析及び実行を共に処理しないことを示す場合は、上述のステップ１００においてジョブフロー情報３２の指定から除外するようにしておくこととする。
【０１３３】
以上説明したように、第４実施形態では、ジョブフロー情報３２の解析とジョブフロー情報３２による処理の実行を図１７の処理ルーチンで処理することができ、システムの処理を簡略化することができる。
【０１３４】
＜第５実施形態＞
次に第５実施形態を説明する。第１実施形態では、ジョブフロー情報３２の解析処理と実行処理を別々に処理する。第５実施形態は、ジョブフロー情報３２に対する解析処理およびジョブフロー情報３２による実行処理の指示を情報処理装置２０で実行する。また、第５実施形態は、ジョブフロー情報３２に対する解析処理およびジョブフロー情報３２による実行処理について、ジョブフロー情報３２に含まれるジョブ毎に逐次処理する。なお、第５実施形態は、第１実施形態と略同様の構成のため、同一部分には同一符号を付して詳細な説明を省略する。
【０１３５】
図１８に、第５実施形態に係る情報処理システム１０を示す。図１８に示す情報処理システム１０では、内部環境システム１２の情報処理装置２０は、依頼部２６を含んでいる。また、内部環境システム１２は、図１に示すジョブフロー実行部３８に代えて、ジョブフロー情報３２による処理を実行する第１システム４０を含んでいる。第１システム４０は、処理実行部４３を含んでいる。情報処理装置２０は、記憶部３０及び第１システム４０に接続されており、第１システム４０は記憶部３０にも接続されている。図１８に示す情報処理システム１０では、外部環境システム１４がジョブフロー情報３２による処理を実行する第２システム４５を含んでいる。第２システム４５は、図１に示すデータ授受部４６及び実行処理部４８を含んでいる。外部環境システム１４の第２システム４５は、通信回線１６を介して内部環境システム１２の情報処理装置２０に接続されている。
【０１３６】
第５実施形態に係る情報処理システム１０を、コンピュータシステム５０で実現する場合の一例は、図２に示す構成と略同様のため、説明を省略する。
【０１３７】
図１９に、第５実施形態に係るオンプレミスシステム５２の格納部６６に格納する情報の一例を示す。なお、図１９に示すオンプレミスシステム５２の格納部６６は、図３に示すオンプレミスシステム５２の格納部６６に格納された情報処理プログラム８０に、依頼プロセス８６が含まれる点で相違している。
【０１３８】
ＣＰＵ６０は、依頼プロセス８６を実行することで、図１８に示す情報処理装置２０の依頼部２６として動作する。すなわち、情報処理装置２０がオンプレミスシステム５２で実現され、情報処理プログラム８０の依頼プロセス８６を実行することでオンプレミスシステム５２は情報処理装置２０の依頼部２６として動作される。また、ＣＰＵ６０は、実行プロセス８８を実行することで、図１８に示す内部環境システム１２に含まれる第１システム４０における処理実行部４３として動作する。すなわち、内部環境システム１２がオンプレミスシステム５２で実現され、実行プロセス８８を実行することでオンプレミスシステム５２は内部環境システム１２における第１システム４０の処理実行部４３として動作される。
【０１３９】
次に、第５実施形態に係る情報処理装置２０の処理を説明する。オンプレミスシステム５２のＣＰＵ６０は、情報処理プログラム８０を格納部６６から読み出してＲＡＭ６２に展開して実行することで、ジョブフロー情報３２に関する処理を実行する。
【０１４０】
図２０に、情報処理プログラム８０の処理の流れの一例を示す。オンプレミスシステム５２のＣＰＵ６０は、ステップ２００において、ジョブフロー情報３２を取得する。ステップ２００の処理は、図１１に示すステップ１１０の処理と同様の処理である。ステップ２００では、ジョブフロー管理テーブル９４Ａから指定したジョブフロー情報３２を使用できる。つまり、図９に示すステップ１００と同様に指定されたジョブフロー情報３２を使用できる。
【０１４１】
ＣＰＵ６０は、次のステップ２０２において、ステップ２００で取得したジョブフロー情報３２が未解析であるか否かを判断する。ステップ２０２の判断処理は、図１７に示すステップ１８０の判断処理と同様である。ステップ２０２において否定判断されるとき、ＣＰＵ６０は、ステップ２６０において、図１７に示すステップ１４４の処理と同様に、ジョブフロー情報３２による処理を実行して本処理ルーチンを終了する。一方、ステップ２０２で肯定判断されると、ＣＰＵ６０は、次のステップ２０４においてジョブフロー情報３２に含まれる第１ジョブＪ１が第１条件に合致するか否かを判断する。ステップ２０４の判断処理は、図１１に示すステップ１１２の判断処理と同様である。
【０１４２】
ステップ２０４で肯定判断のとき、ＣＰＵ６０はステップ２０６へ処理を進める。ＣＰＵ６０は、ステップ２０６において第１ジョブＪ１の処理をオンプレミスシステム５２において実行するべく、第１システム４０の処理実行部４３へ第１ジョブＪ１の実行を依頼する。ステップ２０６において第１ジョブＪ１の実行を依頼することにより第１システム４０の処理実行部４３が第１ジョブＪ１を実行することは、図１４に示すステップ１６４の処理と同様である。次にＣＰＵ６０は、ステップ２０８において、第１ジョブＪ１に対するクラウド実行可能フラグをオフに設定し、ステップ２１０へ進む。ステップ２０８の処理は、図１１に示すステップ１１４の処理と同様である。
【０１４３】
一方、ステップ２０４で否定判断のとき、ＣＰＵ６０は、ステップ２４０へ進み、クラウド分散実行フラグをオフに設定し、次のステップ２５０において第１ジョブＪ１の実行を依頼し、ステップ２５２へ進む。ステップ２４０の処理は、図１１に示すステップ１３４の処理と同様である。また、ステップ２５０の処理は、図１４に示すステップ１５２の処理と同様である。
【０１４４】
次に、ＣＰＵ６０は、ステップ２１０において第２ジョブＪ２が第２条件に合致するか否かを判断する。ステップ２１０の判断処理は、図１１に示すステップ１１６の判断処理と同様である。ステップ２１０で肯定判断のとき、ＣＰＵ６０は、ステップ２１２において第１システム４０の処理実行部４３へ第２ジョブＪ２の実行を依頼し、次のステップ２１４で第２ジョブＪ２に対するクラウド実行可能フラグをオフに設定し、ステップ２１６へ進む。ステップ２１２において第２ジョブＪ２の実行を依頼することにより第１システム４０の処理実行部４３が第２ジョブＪ２を実行することは、図１４に示すステップ１６６の処理と同様である。また、ステップ２１４の処理は、図１１に示すステップ１１８の処理と同様である。
【０１４５】
一方、ステップ２１０で否定判断のとき、ＣＰＵ６０は、ステップ２４２へ進み、クラウド分散実行フラグをオフに設定し、次のステップ２５２において第２ジョブＪ２の実行を依頼し、ステップ２５４へ進む。ステップ２４２の処理は、図１１に示すステップ１３４の処理と同様であり、ステップ２５２の処理は、図１４に示すステップ１５４の処理と同様である。
【０１４６】
次に、ＣＰＵ６０は、ステップ２１６において第３ジョブＪ３が第３条件に合致するか否かを判断する。ステップ２１６の判断処理は、図１１に示すステップ１２０の判断処理と同様である。ステップ２１６で肯定判断のときには、ＣＰＵ６０は、ステップ２１８において、クラウドシステム５４における第２システム４５へ第３ジョブＪ３の実行を依頼する。次にＣＰＵ６０は、ステップ２２０において第３ジョブＪ３に対するクラウド実行可能フラグをオンに設定し、ステップ２２２へ進む。ステップ２１８において第３ジョブＪ３の実行を依頼することにより第２システム４５が第３ジョブＪ３を実行させる処理は、図１４に示すステップ１６２，１６８〜１７２の処理と同様である。また、ステップ２２０の処理は、図１１に示すステップ１２２の処理と同様である。
【０１４７】
一方、ステップ２１６で否定判断のとき、ＣＰＵ６０は、ステップ２４４へ進み、クラウド分散実行フラグをオフに設定し、次のステップ２５４において第３ジョブＪ３の実行を依頼し、ステップ２５６へ進む。ステップ２４４の処理は、図１１に示すステップ１３４の処理と同様であり、ステップ２５４の処理は、図１４に示すステップ１５６の処理と同様である。
【０１４８】
次に、ＣＰＵ６０は、ステップ２２２において第４ジョブＪ４が第４条件に合致するか否かを判断する。ステップ２２２の判断処理は、図１１に示すステップ１２４の判断処理と同様である。ステップ２２２で肯定判断のときには、ＣＰＵ６０は、ステップ２２４において、第１システム４０の処理実行部４３へ第４ジョブＪ４の処理を依頼し、次のステップ２２６で第４ジョブＪ４に対するクラウド実行可能フラグをオフに設定し、ステップ２２８へ進む。ステップ２２４において第４ジョブＪ４の実行を依頼することにより第１システム４０の処理実行部４３が第４ジョブＪ４を実行することは、図１４に示すステップ１５８の処理と同様である。また、ステップ２２６の処理は、図１１に示すステップ１２６の処理と同様である。
【０１４９】
一方、ステップ２２２で否定判断のとき、ＣＰＵ６０は、ステップ２４６へ進み、クラウド分散実行フラグをオフに設定し、次のステップ２５６において第４ジョブＪ４の実行を依頼し、ステップ２５８へ進む。ステップ２４６の処理は、図１１に示すステップ１３４の処理と同様であり、ステップ２５６の処理は、図１４に示すステップ１５８の処理と同様である。
【０１５０】
次に、ＣＰＵ６０は、ステップ２２８において第５ジョブＪ５が第５条件に合致するか否かを判断する。ステップ２２８の判断処理は、図１１に示すステップ１２８の判断処理と同様である。ステップ２２８で肯定判断のときには、ＣＰＵ６０は、ステップ２３０において、第１システム４０の処理実行部４３へ第５ジョブＪ５の処理を依頼し、次のステップ２３２で第５ジョブＪ５に対するクラウド実行可能フラグをオフに設定し、ステップ２３４へ進む。ステップ２３４では、図１１に示すステップ１３２の処理と同様に、クラウド実行フラグをオンに設定し本処理ルーチンを終了する。ステップ２３０において第５ジョブＪ５の実行を依頼することにより第１システム４０の処理実行部４３が第５ジョブＪ５を実行することは、図１４に示すステップ１６０の処理と同様である。また、ステップ２３２の処理は、図１１に示すステップ１３０の処理と同様である。
【０１５１】
一方、ステップ２２８で否定判断のとき、ＣＰＵ６０は、ステップ２４８へ進み、クラウド分散実行フラグをオフに設定し、次のステップ２５８において第５ジョブＪ５の実行を依頼し、本処理ルーチンを終了する。ステップ２４８の処理は、図１１に示すステップ１３４の処理と同様であり、ステップ２５８の処理は、図１４に示すステップ１６０の処理と同様である。
【０１５２】
以上説明したように、第５実施形態では、ジョブフロー情報３２の構造解析とジョブフロー情報３２に含まれるジョブの実行とを逐次処理している。従って、ジョブフロー情報３２の構造解析とジョブフロー情報３２に含まれるジョブの実行とを一度に処理すなわち連携して処理できる。ジョブフロー情報３２の構造解析とジョブフロー情報３２に含まれるジョブの実行とを一度に処理できることは、解析処理と実行処理とを別々に処理することに比べて、処理の流れを単純化できる。
【０１５３】
＜第６実施形態＞
第１実施形態では、ジョブフロー情報３２により示される複数のジョブの各々を処理するときに、並列処理可能なジョブについて、外部環境システム１４で処理することにより、情報処理システム１０の処理効率の向上を図っている。第６実施形態では、並列処理可能なジョブについて、内部環境システム１２と外部環境システム１４とを効率的に共存させ、情報処理システム１０の処理効率の向上を図る。なお、第６実施形態は、第１実施形態と略同様の構成のため、同一部分には同一符号を付して詳細な説明を省略する。
【０１５４】
図２１に、第６実施形態に係るジョブフロー情報３２による実行処理の流れを示す。なお、図２１に示すジョブフロー情報３２による実行処理の流れは、図１４に示すジョブフロー情報３２による実行処理の流れと略同様である。図２１と図１４の相違点は、図１４に示すステップ１６２の処理を図２１に示すステップ３００，３０２，３０４の処理に変更した点と、図１４に示すステップ１６８，１７０，１７２の処理を図２１に示すステップ３０６の処理に変更した点である。
【０１５５】
図２１に示すジョブフロー情報３２による実行処理が開始されると、ＣＰＵ６０は、ジョブフロー管理テーブル９４Ａを参照し、実行対象のジョブフロー情報３２について、クラウド分散実行フラグがオンか否かを判断する（ステップ１５０）。実行対象のジョブフロー情報３２による処理が全てオンプレミスシステム５２において実行される設定であるとき、ステップ１５０で否定判断されて、各ジョブを順次実行する（ステップ１５２〜１６０）。
【０１５６】
一方、ステップ１５０で肯定判断の場合、実行対象のジョブフロー情報３２による処理は、クラウドシステム５４において実行可能であるため、クラウドシステム５４において実行させるジョブを設定する。すなわち、ＣＰＵ６０は、ステップ３００において、第３ジョブＪ３に含まれる並列処理可能な複数の処理（小ジョブＪ３−１〜Ｊ３−３）の各々について、クラウドシステム５４で実行させることを示すクラウド実行可能フラグを個別に設定する（詳細後述）。次に、ＣＰＵ６０は、ステップ３０２において個別クラウド実行可能フラグが全てオフであるか否かを判断する。個別クラウド実行可能フラグが全てオフであるときは、ステップ３０２で肯定判断され、実行対象のジョブフロー情報３２による処理が全てオンプレミスシステム５２において実行される設定であるので、ステップ１５２へ進み各ジョブを順次実行する。
【０１５７】
ステップ３０２で否定判断されると、ＣＰＵ６０は、ステップ３０４において、クラウドシステム５４において第３ジョブＪ３の少なくとも一部を実行させるために、クラウドシステム５４にＯＳインスタンスを作成する。
【０１５８】
次に、ＣＰＵ６０は、第１ジョブＪ１を実行し（ステップ１６４）、第２ジョブＪ２を実行する（ステップ１６６）。次に、ＣＰＵ６０は、ステップ３０６において、ステップ３００で設定した個別クラウド実行可能フラグに基づいて、第３ジョブＪ３に含まれる並列処理可能な複数の処理（小ジョブＪ３−１〜Ｊ３−３）を個別に実行する（詳細後述）。次にＣＰＵ６０は、第４ジョブＪ４を実行し（ステップ１７４）、第５ジョブＪ５を実行し（ステップ１７６）、本処理ルーチンを終了する。
【０１５９】
次に、図２１に示すステップ３００の個別設定処理をさらに詳細に説明する。第６実施形態では、オンプレミスシステム５２の稼働状態に応じて、すなわちオンプレミスシステム５２に処理に余力があるとき、第３ジョブＪ３に含まれる並列処理可能な複数の処理を、オンプレミスシステム５２に振り分ける。
【０１６０】
図２２に、ステップ３００の個別クラウド実行可能フラグの設定処理の流れの一例を示す。ステップ３００は、第３ジョブＪ３の一部を、オンプレミスシステム５２に振り分け可能であるときに、個別クラウド実行可能フラグをオンに設定する処理を実行する。
【０１６１】
ＣＰＵ６０は、ステップ３１０において、オンプレミスシステム５２の現在の稼働状態を検知すると共に、検知結果からオンプレミスシステム５２における処理余力Ｘを求める。オンプレミスシステム５２の現在の稼働状態の検知の一例には、オンプレミスシステム５２のＣＰＵ負荷やＣＰＵ利用率を検出することがある。他例としては、システムリソースの利用率がある。また、処理余力Ｘは、オンプレミスシステム５２においてジョブを処理するのに使用できる装置構成の余剰部分、すなわち現在未使用の装置構成やＣＰＵ未利用率が一例として挙げられる。
【０１６２】
次に、ＣＰＵ６０は、ステップ３１２において、オンプレミスシステム５２における並列実行処理対象の各ジョブの予測処理負荷Ｙを求める。予測処理負荷Ｙは、並列実行処理対象のジョブを、オンプレミスシステム５２で実際に稼働させて検知してもよく、事前に処理負荷を求めて格納部６６に格納しておいて取得してもよい。第３ジョブＪ３は、並列処理可能な複数の処理（小ジョブＪ３−１〜Ｊ３−３）を含んでいる（図７、図１０参照）。従って、小ジョブＪ３−１〜Ｊ３−３の各々について予測処理負荷Ｙを求める。
【０１６３】
次に、ＣＰＵ６０は、ステップ３１４において、処理余力Ｘが予測処理負荷Ｙを超える（Ｘ＞Ｙ）か否かを判断する。ステップ３１４で否定判断のとき、オンプレミスシステム５２において並列実行処理対象のジョブを処理する余力がないため、第３ジョブＪ３をクラウドシステム５４で実行するべく、個別クラウド実行可能フラグを全てオンに設定する（ステップ３１８）。
【０１６４】
一方、ステップ３１４で肯定判断のとき、オンプレミスシステム５２において並列実行処理対象のジョブを処理する余力があるため、処理余力Ｘの範囲内で第３ジョブＪ３をクラウドシステム５４で実行可能な小ジョブＪ３−１〜Ｊ３−３を求める。また、ステップ３１６では、求めたクラウドシステム５４で実行可能な小ジョブＪ３−１〜Ｊ３−３について、個別クラウド実行可能フラグをオフに設定する（ステップ３１６）。例えば、小ジョブＪ３−１〜Ｊ３−３の各々が略同一の予測処理負荷であり、１つの小ジョブの予測処理負荷が処理余力Ｘの範囲内であるとき、小ジョブＪ３−１〜Ｊ３−３の何れか１つの小ジョブについて個別クラウド実行可能フラグをオフに設定する。また、第３ジョブＪ３全体の予測処理負荷が処理余力Ｘの範囲内であるとき、全ての小ジョブＪ３−１〜Ｊ３−３について個別クラウド実行可能フラグをオフに設定する。
【０１６５】
次に、図２１に示すステップ３０６の第３ジョブＪ３の個別実行処理をさらに詳細に説明する。第６実施形態では、オンプレミスシステム５２の稼働状態に応じて、すなわちオンプレミスシステム５２に処理に余力があるとき、第３ジョブＪ３に含まれる並列処理可能な複数の処理を、オンプレミスシステム５２に振り分ける。前述のように、オンプレミスシステム５２の現在の稼働状態に応じて、第３ジョブＪ３のうちの並列実行処理対象の小ジョブの一部又は全部をオンプレミスシステム５２で実行可能に設定される。
【０１６６】
図２３に、ステップ３０６の第３ジョブＪ３の個別実行処理の流れの一例を示す。ステップ３０６の処理では、個別クラウド実行可能フラグに基づいて、第３ジョブＪ３に含まれる並列処理可能な複数の処理を個別に実行する。
【０１６７】
ＣＰＵ６０は、ステップ３２０において、個別クラウド実行可能フラグが全てオンに設定されているか否かを判断することにより、第３ジョブＪ３をクラウドシステム５４で実行させるか否かを判断する。ステップ３２０で肯定判断のとき、ＣＰＵ６０は、図１４に示すステップ１６８と同様に、ステップ３２８において第２ジョブＪ２を実行した結果のファイルをクラウドシステム５４へアップロードする。次に、図１４に示すステップ１７０と同様に、ステップ３３０においてクラウドシステム５４へ第３ジョブＪ３の実行を指示する。クラウドシステム５４では、第３ジョブＪ３の並列処理が実行される。次に、ＣＰＵ６０は、図１４に示すステップ１７２と同様にステップ３３２において、クラウドシステム５４で並列処理された処理結果のファイルをダウンロード（取得）する。
【０１６８】
一方、ステップ３２０で否定判断のとき、ＣＰＵ６０は、ステップ３２２において、第２ジョブＪ２を実行した結果のファイルをクラウドシステム５４へアップロードする。クラウドシステム５４へのアップロードは、個別クラウド実行可能フラグがオンに設定されている第３ジョブＪ３の小ジョブの数に対応するファイルとする。すなわち、第３ジョブＪ３の少なくとも一部を実行させるために、第３ジョブＪ３の小ジョブに対する入力として、クラウドシステム５４に送信する。
【０１６９】
次に、ＣＰＵ６０は、ステップ３２４において、オンプレミスシステム５２及びクラウドシステム５４の少なくとも一方へ第３ジョブＪ３の実行を指示する。第３ジョブＪ３の実行指示は、個別クラウド実行可能フラグの設定により変化する。すなわち、個別クラウド実行可能フラグの少なくとも１つがオンに設定されているときは、クラウドシステム５４へ第３ジョブＪ３の実行を指示する。また、個別クラウド実行可能フラグの少なくとも１つがオフに設定されているときは、オンプレミスシステム５２へ第３ジョブＪ３の実行を指示する。クラウドシステム５４に第３ジョブＪ３の実行が指示されると、クラウドシステム５４では、前述のステップ３２２でアップロードされたファイルを入力とし、前述のステップ３０４でアップロードされた実行ファイルを使用して第３ジョブＪ３の処理を実行する。また、オンプレミスシステム５２へ第３ジョブＪ３の実行が指示されると、オンプレミスシステム５２では、個別クラウド実行可能フラグがオフのジョブに対応する前述のステップ１６６による第２ジョブＪ２の実行結果を使用して第３ジョブＪ３の処理を実行する。従って、オンプレミスシステム５２とクラウドシステム５４により第３ジョブＪ３が並列処理される。
【０１７０】
クラウドシステム５４で第３ジョブＪ３の実行が完了されると、ＣＰＵ６０は、ステップ３２６において、クラウドシステム５４で処理された処理結果のファイルをダウンロード（取得）する。
【０１７１】
ところで、オンプレミスシステム５２における装置構成は、オンプレミスシステム５２を構築したユーザが予測したコンピュータによる業務処理の処理量を処理可能な構成とすることや処理負荷を許容する構成とすることが一般的である。しかし、業務処理の処理量や処理負荷が、常時ユーザが予測した値であるとは限らない。例えば、ユーザが扱うコンピュータによる業務処理の処理量の最大値を許容する構成を、オンプレミスシステム５２における装置構成とすると、業務処理の処理量の最大値に至らないときには、余剰の構成である。また、業務処理の処理量や処理負荷が増大したとき、オンプレミスシステム５２における装置構成を増強しなければならない。本実施形態では、オンプレミスシステム５２において、ジョブを処理するシステムを自動的に選択できるので、オンプレミスシステム５２における業務処理の処理量や処理負荷を安定化させることができる。
【０１７２】
以上説明したように、第６実施形態では、ジョブフロー情報３２の解析結果から、並列処理するジョブをクラウドシステム５４で実行させるときに、オンプレミスシステム５２の稼働状況により一部または全部をオンプレミスシステム５２で処理できる。従って、オンプレミスシステム５２の構成に基づく資源を最大限に利用することができる。
【０１７３】
また、第６実施形態では、ジョブフロー情報３２に基づくジョブの処理を実行するときに、クラウドシステム５４を使用した処理を実行するので、クラウドシステム５４を常時使用した処理に比べてクラウドシステム５４の使用率を最小限に留めることができる。
【０１７４】
さらに、オンプレミスシステム５２及びクラウドシステム５４の双方のシステムにより、ジョブフロー情報３２に基づく業務処理の実行を分散して実行することができ、情報処理システム１０の処理効率を向上できる。
【０１７５】
第６実施形態では、情報処理システム１０が内部環境システム１２と外部環境システム１４とを含んだ場合を説明したが、外部環境システム１４は必ずしも必要ではない。例えば、情報処理システム１０が内部環境システム１２を備え、かつ外部環境システム１４を備えていない場合にも適用可能である。すなわち、上述のように、内部環境システム１２に十分な余力を有する場合に、本実施形態を適用する場合には、外部環境システム１４へ並列処理を依頼する必要もない。また、内部環境システム１２に複数の独立したシステムを備えている場合、何れか１のシステムを本実施形態の内部環境システム１２とし、他のシステムを外部環境システム１４に代替することができる。さらに、内部環境システム１２に複数の独立したシステムを備えている場合、何れか１のシステムを内部環境システム１２とし、他のシステムを外部環境システム１４に代替して適用することは、上述の各実施形態に適用可能である。
【０１７６】
なお、上記では情報処理システム１０をコンピュータシステム５０により実現する一例を説明した。しかし、これらの構成に限定されるものではなく、上記説明した要旨を逸脱しない範囲において、各種の改良及び変更を行っても良いのはもちろんである。
【０１７７】
また、上記ではプログラムが記憶部に予め記憶（インストール）されている態様を説明したが、これに限定されるものではない。例えば、開示の技術における情報処理プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されている形態で提供することも可能である。
【０１７８】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【図１】
2014006729.tif 000003
【図２】
2014006729.tif 000004
【図３】
2014006729.tif 000005
【図４】
2014006729.tif 000006
【図５】
2014006729.tif 000007
【図６】
2014006729.tif 000008
【図７】
2014006729.tif 000009
【図８】
2014006729.tif 000010
【図９】
2014006729.tif 000011
【図１０】
2014006729.tif 000012
【図１１】
2014006729.tif 000013
【図１２】
2014006729.tif 000014
【図１３】
2014006729.tif 000015
【図１４】
2014006729.tif 000016
【図１５】
2014006729.tif 000017
【図１６】
2014006729.tif 000018
【図１７】
2014006729.tif 000019
【図１８】
2014006729.tif 000020
【図１９】
2014006729.tif 000021
【図２０】
2014006729.tif 000022
【図２１】
2014006729.tif 000023
【図２２】
2014006729.tif 000024
【図２３】
2014006729.tif 000025
【手続補正書】
【提出日】平成28年1月4日(2016.1.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のジョブの処理順序を示す情報、及び前記複数のジョブの各々の処理内容を示す情報を含むジョブフロー情報を記憶する記憶部と、
前記処理順序を示す情報、及び前記処理内容を示す情報に基づいて、解析対象のジョブフロー情報が示すジョブフローの構造が、自機上の格納部からファイルを取得する第１ジョブと、該第１ジョブで取得されたファイルを複数のファイルに分割する第２ジョブと、該第２ジョブで分割された複数のファイルの各々に予め定めた所定の処理を並列に施す第３ジョブと、該第３ジョブで処理が施された複数のファイルの各々を結合する第４ジョブと、該第４ジョブで結合されたファイルを前記自機上の格納部に格納する第５ジョブとを含む所定の構造であるか否かを解析する解析部と、
前記解析部で前記所定の構造であると解析されたジョブフロー情報に、該ジョブフロー情報に含まれる前記第３ジョブに該当するジョブは外部環境システムで並列処理可能なジョブであることを示す解析情報を関連づけて前記記憶部に登録する登録部と、
を備えた情報処理装置。
【請求項２】
前記記憶部に記憶された前記ジョブフロー情報、及び前記ジョブフロー情報に関連づけて登録された前記解析情報を読み取り、前記処理順序に従って前記複数のジョブの各々を処理する実行部を備え、
前記実行部は、処理対象のジョブが、前記解析情報が関連付けられたジョブフローに含まれる前記第３ジョブに該当するジョブの場合に、前記処理対象のジョブを並列処理可能な外部環境システムで、処理させる、
請求項１に記載の情報処理装置。
【請求項３】
前記実行部は、
自機の処理負荷に対する処理余力を検出し、
前記第３ジョブに該当するジョブについて、入力された複数のデータの各々に対して所定処理を行うときの各々の処理負荷を求め、
前記処理余力内で処理可能な処理負荷の前記複数のデータの各々に対する所定処理を処理すると共に、前記処理余力を超える処理負荷となる他の所定処理を、前記外部環境システムで、処理させる
請求項２に記載の情報処理装置。
【請求項４】
前記解析部が前記複数のジョブの各々の処理順序に従って解析対象としたジョブフロー情報を解析するときに、解析が終了した前記複数のジョブの各々のジョブの処理を依頼する依頼部を備え、
前記依頼部は、処理対象のジョブが前記解析情報が関連付けられたジョブフローに含まれる前記第３ジョブに該当するジョブの場合に、前記処理対象のジョブの処理を並列処理可能な外部環境システムに依頼する
請求項１に記載の情報処理装置。
【請求項５】
前記依頼部は、
自機の処理負荷に対する処理余力を検出し、
前記第３ジョブに該当するジョブについて、入力された複数のデータの各々に対して所定処理を行うときの各々の処理負荷を求め、
前記処理余力内で処理可能な処理負荷の前記複数のデータの各々に対する所定処理を処理すると共に、前記処理余力を超える処理負荷となる他の所定処理を、前記外部環境システムに、依頼する
請求項４に記載の情報処理装置。
【請求項６】
コンピュータが、
記憶部に記憶されかつ、複数のジョブの処理順序を示す情報、及び前記複数のジョブの各々の処理内容を示す情報を含むジョブフロー情報における前記処理順序を示す情報、及び前記処理内容を示す情報に基づいて、解析対象のジョブフロー情報が示すジョブフローの構造が、自機上の格納部からファイルを取得する第１ジョブと、該第１ジョブで取得されたファイルを複数のファイルに分割する第２ジョブと、該第２ジョブで分割された複数のファイルの各々に予め定めた所定の処理を並列に施す第３ジョブと、該第３ジョブで処理が施された複数のファイルの各々を結合する第４ジョブと、該第４ジョブで結合されたファイルを前記自機上の格納部に格納する第５ジョブとを含む所定の構造であるか否かを解析し、
前記所定の構造であると解析されたジョブフロー情報に、該ジョブフロー情報に含まれる前記第３ジョブに該当するジョブは外部環境システムで並列処理可能なジョブであることを示す解析情報を関連づけて前記記憶部に登録する
情報処理方法。
【請求項７】
前記コンピュータが、
前記記憶部に記憶された前記ジョブフロー情報、及び前記ジョブフロー情報に関連づけて登録された前記解析情報を読み取り、
前記処理順序に従って前記複数のジョブの各々を処理すると共に、処理対象のジョブが前記解析情報が関連付けられたジョブフローに含まれる前記第３ジョブに該当するジョブの場合に、前記処理対象のジョブを並列処理可能な外部環境システムで、処理させる、
請求項６に記載の情報処理方法。
【請求項８】
前記コンピュータが、
前記ジョブフロー情報の解析で、前記複数のジョブの各々の処理順序に従って解析対象としたジョブフロー情報を解析し、前記複数のジョブの各々の解析が終了したときに前記複数のジョブの各々のジョブの処理を依頼し、かつ処理対象のジョブが前記解析情報が関連付けられたジョブフローに含まれる前記第３ジョブに該当するジョブの場合に、前記処理対象のジョブの処理を並列処理可能な外部環境システムで、処理させる、
請求項６に記載の情報処理方法。
【請求項９】
前記コンピュータが、
前記処理対象のジョブの処理を並列処理可能な外部環境システムで処理させるとき、
自機の処理負荷に対する処理余力を検出し、
前記第３ジョブに該当するジョブについて、入力された複数のデータの各々に対して所定処理を行うときの各々の処理負荷を求め、
前記処理余力内で処理可能な処理負荷の前記複数のデータの各々に対する所定処理を処理すると共に、前記処理余力を超える処理負荷となる他の所定処理を、前記外部環境システムで、処理させる
請求項７または請求項８に記載の情報処理方法。
【請求項１０】
記憶部に記憶されかつ、複数のジョブの処理順序を示す情報、及び前記複数のジョブの各々の処理内容を示す情報を含むジョブフロー情報における前記処理順序を示す情報、及び前記処理内容を示す情報に基づいて、解析対象のジョブフロー情報が示すジョブフローの構造が、自機上の格納部からファイルを取得する第１ジョブと、該第１ジョブで取得されたファイルを複数のファイルに分割する第２ジョブと、該第２ジョブで分割された複数のファイルの各々に予め定めた所定の処理を並列に施す第３ジョブと、該第３ジョブで処理が施された複数のファイルの各々を結合する第４ジョブと、該第４ジョブで結合されたファイルを前記自機上の格納部に格納する第５ジョブとを含む所定の構造であるか否かを解析し、
前記所定の構造であると解析されたジョブフロー情報に、該ジョブフロー情報に含まれる前記第３ジョブに該当するジョブは外部環境システムで並列処理可能なジョブであることを示す解析情報を関連づけて前記記憶部に登録する
処理をコンピュータに実行させる情報処理プログラム。
【請求項１１】
コンピュータに、請求項６〜請求項９の何れか１項記載の情報処理方法に係る処理を実行させるための情報処理プログラム。
【請求項１２】
記憶部に記憶されかつ、複数のジョブの処理順序を示す情報、及び前記複数のジョブの各々の処理内容を示す情報を含むジョブフロー情報における前記処理順序を示す情報、及び前記処理内容を示す情報に基づいて、解析対象のジョブフロー情報が示すジョブフローの構造が、自機上の格納部からファイルを取得する第１ジョブと、該第１ジョブで取得されたファイルを複数のファイルに分割する第２ジョブと、該第２ジョブで分割された複数のファイルの各々に予め定めた所定の処理を並列に施す第３ジョブと、該第３ジョブで処理が施された複数のファイルの各々を結合する第４ジョブと、該第４ジョブで結合されたファイルを前記自機上の格納部に格納する第５ジョブとを含む所定の構造であるか否かを解析し、
前記所定の構造であると解析されたジョブフロー情報に、該ジョブフロー情報に含まれる前記第３ジョブに該当するジョブは外部環境システムで並列処理可能なジョブであることを示す解析情報を関連づけて前記記憶部に登録する
処理をコンピュータに実行させる情報処理プログラムを記録した記録媒体。
【請求項１３】
コンピュータに、請求項６〜請求項９の何れか１項記載の情報処理方法に係る処理を実行させるための情報処理プログラムを記録した記録媒体。
【請求項１４】
複数のジョブの処理順序を示す情報、及び前記複数のジョブの各々の処理内容を示す情報を含むジョブフロー情報を記憶する記憶部と、
前記処理順序を示す情報、及び前記処理内容を示す情報に基づいて、前記ジョブフロー情報に含まれる前記複数のジョブの各々を前記処理順序に従って解析し、並列処理可能なジョブを示す情報、及び該並列処理可能なジョブの処理順序を示す情報を含む解析情報を生成する解析部と、
前記解析部で解析対象としたジョブフロー情報と前記解析対象としたジョブフロー情報から得られた解析情報とを関連づけて前記記憶部に登録する登録部と、
前記複数のジョブのうち、前記解析部での解析が終了したジョブから順次、ジョブの処理を実行する実行部に対して該ジョブの処理を依頼すると共に、処理対象のジョブが前記並列処理可能なジョブの場合に、前記処理対象のジョブの処理を並列処理可能な外部環境システムに依頼する依頼部と、
を備えた情報処理装置。
【請求項１５】
前記解析部は、入力されたデータを分割して複数のデータを出力する分割処理を行うジョブの次の処理順序のジョブで、かつ入力された複数のデータの各々に対して所定処理を行う処理内容のジョブを、前記並列処理可能なジョブとする、
請求項１４に記載の情報処理装置。
【請求項１６】
前記解析部は、入力された複数のデータを結合して結合データを出力する結合処理を行うジョブの前の処理順序のジョブで、かつ入力された複数のデータの各々に対して所定処理を行う処理内容のジョブを、前記並列処理可能なジョブとする、
請求項１４または請求項１５に記載の情報処理装置。
【請求項１７】
前記依頼部は、
自機の処理負荷に対する処理余力を検出し、
前記並列処理可能なジョブについて、前記複数のデータの各々に対して所定処理を行うときの各々の処理負荷を求め、
前記処理余力内で処理可能な処理負荷の前記複数のデータの各々に対する所定処理を処理すると共に、前記処理余力を超える処理負荷となる他の所定処理を、前記外部環境システムに、依頼する
請求項１４〜請求項１６の何れか１項に記載の情報処理装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
開示の技術は、複数のジョブの処理順序を示す情報、及び前記複数のジョブの各々の処理内容を示す情報を含むジョブフロー情報を記憶部に記憶する。解析部は、前記処理順序を示す情報、及び前記処理内容を示す情報に基づいて、解析対象のジョブフロー情報が示すジョブフローの構造が、自機上の格納部からファイルを取得する第１ジョブと、該第１ジョブで取得されたファイルを複数のファイルに分割する第２ジョブと、該第２ジョブで分割された複数のファイルの各々に予め定めた所定の処理を並列に施す第３ジョブと、該第３ジョブで処理が施された複数のファイルの各々を結合する第４ジョブと、該第４ジョブで結合されたファイルを前記自機上の格納部に格納する第５ジョブとを含む所定の構造であるか否かを解析する。登録部は、解析部で前記所定の構造であると解析されたジョブフロー情報に、該ジョブフロー情報に含まれる前記第３ジョブに該当するジョブは外部環境システムで並列処理可能なジョブであることを示す解析情報を関連づけて登録する。
【国際調査報告】
2014006729.tif 000026
2014006729.tif 000027
2014006729.tif 000028
2014006729.tif 000029