(57)【要約】【課題】  現在の業務システムでは、ジョブの実行順序を確認して構築する必要があるが、既存システムに対して、機能を追加する形でその構造が複雑化しているので、単に順序関係の確認が必要なものについて、その実行順序を確認しただけでは、十分実行順序の確認ができなかった。【解決手段】  上記の課題を解決するために、本発明では、ジョブについて、その階層関係を考慮し、階層関係から順序関係を確認すべきものを抽出し、これらについて順序関係を確認、ないし定義するものである。なお、本発明では、特に、１つないし複数のジョブを管理する為に、ジョブを集約した単位であるジョブネットを扱っている。【選択図】  図１
2014035654.tif 000002
【特許請求の範囲】
【請求項１】
計算機システムにおける1以上のジョブからなるジョブネット構成要素の実行順序を確認するジョブ順序確認方法において、
前記ジョブ構成要素について、階層関係を含む前記複数のジョブ構成要素それぞれの関係を記憶装置に記憶しておき、
前記階層関係について、各階層内でのジョブ構成要素について、2以上のジョブ構成要素について共通するジョブ構成要素と順序関係を有する場合、前記2以上のジョブ構成要素それぞれの順序関係を特定し、
特定された順序関係を前記記憶装置に記憶することを特徴とするジョブ順序確認方法。
【請求項２】
請求項１に記載のジョブ順序確認方法において、
各階層のジョブ構成要素について先行、後続のジョブ構成要素の関係を示すジョブ実行順序情報を記憶することを特徴とするジョブ実行順序確認方法。
【請求項３】
請求項１または２のいずれかに記載のジョブ実行順序確認方法において、
前記階層関係は、ジョブネット構成要素毎に、当該ジョブネット構成要素の完全修飾名を対応付けた情報で記憶されることを特徴とするジョブ順序確認方法。
【請求項４】
請求項１乃至３のいずれかに記載のジョブ順序確認方法において、
前記ジョブ構成要素には、ジョブ自身が含まれることを特徴とするジョブ順序確認方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム上で実行されるいわゆるジョブの実行順序を確認するための技術に関する。
【背景技術】
【０００２】
現在、金融機関等で業務を実行するためのシステムが導入されていることは一般的である。この業務を実行するための情報として、ジョブと呼ばれるものが利用されている。ジョブとは、大型コンピュータ等でデータを処理する際、いくつかの処理分けてその処理を実行、管理する場合の単位を指す。このように、大型コンピュータに関し、分けて行うため、その管理は複雑になることが多い。また、ジョブにおいては、その実行順序が間違っていた場合、所望の処理を実行できない。このため、ジョブの実行順序を確認する必要があった。
【０００３】
この課題を解決するための技術として、特許文献１が提案されている。特許文献１では、業務情報システムの設計内容を効率的に検証することを課題としている。このために、特許文献１では、システム設計検証装置に関する。システム設計検証装置は、順序関係にあるジョブの組合せを示すジョブ関係情報と、ジョブファイルデータとその関連ジョブを示すデータ関係情報を保持する。検証対象となるジョブファイルの関連ジョブが第１ジョブと第２ジョブであるとすると、第１ジョブのアクセス種別と第２ジョブのアクセス種別の組み合わせから第１ジョブと第２ジョブの間の順序関係が必要かを判定する。順序関係が必要であれば、ジョブ関係情報において第１ジョブと第２ジョブの間に順序関係が成立しているかを確認する。この課題を解決するために、特許文献１では、順序関係にあるジョブの組合せを示すジョブ関係情報と、ジョブファイルデータとその関連ジョブを示すデータ関係情報を保持する。検証対象となるジョブファイルの関連ジョブが第１ジョブと第２ジョブであるとすると、第１ジョブのアクセス種別と第２ジョブのアクセス種別の組み合わせから第１ジョブと第２ジョブの間の順序関係が必要かを判定する。順序関係が必要であれば、ジョブ関係情報において第１ジョブと第２ジョブの間に順序関係が成立しているかを確認している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−９７９４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、対象とするシステムの構造やジョブの構造が複雑になった場合、対応できないとの課題がある。特に、今日のシステムにおいては、あるシステムに対して、機能を追加する形でその構造が複雑化しているので、単に順序関係の確認が必要なものについて、その実行順序を確認しただけでは、不十分である。上述のように、構造が複雑化しているため、ジョブについても階層化されることが多く、この前提については特許文献１では考慮されていない。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明では、ジョブについて、その階層関係を考慮し、階層関係から順序関係を確認すべきものを抽出し、これらについて順序関係を確認、ないし定義するものである。
【発明の効果】
【０００７】
本発明によれば、より複雑なシステムにおいてもそのジョブの実行順序を確認、あるいは定義することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】ジョブネットの各構成要素の実行順序関係を木構造と有向グラフで示す図である。
【図２】ジョブネットの階層構造を示す木構造図である。
【図３】ジョブネット構成要素と完全修飾名の対応を示すデータ構造図である。
【図４】ジョブ実行順序情報のデータ構造図である。
【図５】ジョブ実行システムの一形態を示すハードウェア構成図である。
【図６】ジョブ実行順序検証装置とジョブ管理装置の機能関連を示す図である。
【図７】ジョブの実行順序を検証する処理過程を示すフローチャートである。
【図８】同一階層内のジョブネット要素の実行順序を検証するフローチャートである。
【発明を実施するための形態】
【０００９】
ジョブネットとは、計算機システムにおいてデータを処理あるいは管理する単位であるジョブについて、複数のジョブのそれぞれの実行順序関係を規定したジョブのフローである。この為、ジョブネットは、１つないし複数のジョブを管理する為に、ジョブを集約した単位でもある。図１は、ジョブネットにおけるジョブの実行順序関係を示す図の一例である。図１のジョブネットにおいては、ジョブネットの内部にジョブだけではなくジョブネットも含まれており、ジョブネットが階層構造を持っている。階層構造を持つジョブネットの内部のジョブやジョブネット、そのジョブネット自身を含めて、ジョブネットの構成要素とよぶ。“ジョブネット１１”の構成要素には、直下の構成要素である”ジョブ２１”や”ジョブ２２”、”ジョブネット２３”だけではなく、”ジョブ３１”や”ジョブ４１”も含まれる。
【００１０】
図２は、図１のジョブネットの木構造図である。第１階層のジョブネットをルートジョブネットと呼ぶ（１０）。ルートジョブネット（１０）から階層順にジョブネット構成要素名を接続した文字列を完全修飾名とよぶ。ジョブネット直下の構成要素について同一名称のものはないものとすると、完全修飾名で指定することで各ジョブネット構成要素を一意に特定することができる。図３は、ジョブネットの構成要素（１１）と完全修飾名（１２）の対応を示す構造図である。図３の例では、”/”を区切り文字としてジョブネットの各構成要素名を接続しているが、”/”以外の文字や文字列を用いてもよい。ここでは、ジョブネット構成要素を一意に特定する方法として完全修飾名を用いる方法を述べたが、各々のジョブネット構成要素に一連のＩＤを指定する方法によりジョブネット構成要素を特定することもできる。
【００１１】
”ジョブネット１１”の構成要素は、”ジョブ２１”、”ジョブ２２”、”ジョブ２３ネット”、”ジョブネット２４”、”ジョブ２５”である。”ジョブネット２３”は、”ジョブ２１”の実行が終了した場合に実行される。”ジョブ２１”と”ジョブネット２３”の関係においては、”ジョブ２１”を「先行ジョブ」、”ジョブネット２３”を「後続ジョブ」と呼ぶ。同様に、”ジョブネット２３”は”ジョブ２５”の先行ジョブである。ここで、”ジョブ２５”は、”ジョブネット２３”の「後続ジョブ」であると同時に、”ジョブ２１”の「後続ジョブ」でもある。”ジョブ２１”と”ジョブネット２３”や”ジョブネット２３”と”ジョブ２５”の関係を「直接の先行ジョブ」や「直接の後続ジョブ」と呼び、”ジョブ２１”と”ジョブ２５”の関係を「間接の先行ジョブ」や「間接の後続ジョブ」と呼ぶ。本書では、特に断りの無い限り、「先行ジョブ」と呼ぶ場合は「間接の先行ジョブ」を指し、「後続ジョブ」と呼ぶ場合は「間接の後続ジョブ」を指す。”ジョブネット１１”の実行順序テーブル（１３ａ）では、”ジョブ２１”、”ジョブ２２”、”ジョブネット２３”、”ジョブネット２４”、”ジョブ２５”について、直接の先行ジョブ（１４ａ）と直接の後続ジョブ（１５ａ）がそれぞれ定義されている。なお、実行順序テーブルは、各ジョブネット構成要素間の実行順序関係が定義されていれば、図４に示す以外の形式でも良い。
【００１２】
図５は、ジョブ実行システムの構成例を示す図であり、それぞれネットワークで接続された、５台の計算機１６、１７、１８ａ、１８ｂ、１８ｃで構成されている。本システムは、ジョブの実行を行うジョブ実行装置（１８）と、定められた実行条件に基いてジョブ実行装置（１８）にジョブを実行させるジョブ管理装置（１６）と、ジョブ実行順序の検証を行うジョブ実行順序検証装置（１７）から構成される。図５では、３台のジョブ実行装置が示されているが、ジョブ実行装置は何台でも良い。ジョブ管理装置（１６）がジョブ実行装置（１８）と兼ねる構成も可能であり、ジョブ実行順序検証装置（１７）がジョブ実行装置（１８）やジョブ管理装置（１６）と兼ねる構成も可能である。これら各装置は、いわゆるコンピュータ装置で実現されるものであり、各機能については、プログラムに従ってそれらが有するＣＰＵの如き演算装置が実行するものである。
【００１３】
図６は、ジョブ管理装置（１６）とジョブ実行順序検証装置（１７）の機能関連図である。ジョブ実行順序検証装置（１７）には、入出力制御部（２０）、ジョブ実行順序検証部（２１）、ジョブ定義取得部（２２）の機能が存在する。ジョブ管理装置（１６）には、ジョブ管理部（２３）の機能が存在する。インタフェース（２０）は汎用ＰＣのキーボードやモニターによる操作を想定しているが、その他の装置や、他のアプリケーションプログラムでも良い。ジョブ定義情報（２４）には、ジョブ実行装置にジョブの実行命令を出す為のジョブの実行条件に関する情報が保持されている。各機能は、コンピュータのハードウェア構成要素やソフトウェア構成要素の連携によって実現される機能であり、ハードウェア構成要素やソフトウェア構成要素は様々な組合せを取る事ができる。
【００１４】
ジョブネットにおける２つのジョブの間に実行順序関係が定義されているかどうかの検証は、検証対象の２つのジョブが共通に属するジョブネットの中で最下位の階層のジョブネットを抽出し、そのジョブネットの直下の階層のジョブネット構成要素間で実行順序関係が定義されているかどうかを検証することで行う。検証対象の２つのジョブを、検証対象ジョブ１と検証対象ジョブ２と呼ぶ。検証対象ジョブ１と検証対象ジョブ２が共通に属するジョブネットの中で最下位の階層のジョブネットを共通階層ジョブネットと呼ぶ。共通階層ジョブネット直下のジョブネット構成要素の内、検証対象ジョブ１が含まれる、あるいは検証対象ジョブ１と同一のジョブネット構成要素を検証対象要素１と呼ぶ。共通階層ジョブネット直下のジョブネット構成要素の内、検証対象ジョブ２が含まれる、あるいは検証対象ジョブ２と同一のジョブネット構成要素を検証対象要素２とする。
【００１５】
図１のジョブネットを例として、以下に説明する。検証対象ジョブ１を”/ジョブネット１１/ジョブネット２４/ジョブネット３５/ジョブ４４”、検証対象ジョブ２を”/ジョブネット１１/ジョブネット２４/ジョブネット３７/ジョブ４６”とした場合を例に説明する。共通階層ジョブネットは”/ジョブネット１１/ジョブネット２４”、検証対象要素１は”/ジョブネット１１/ジョブネット２４/ジョブネット３５”、検証対象要素２は”/ジョブネット１１/ジョブネット２４/ジョブネット３７”である。検証対象要素１の”/ジョブネット１１/ジョブネット２４/ジョブネット３５”については、検証対象要素１が検証対象要素２の先行ジョブである。以上より、検証対象ジョブ１である”/ジョブネット１１/ジョブネット２４/ジョブネット３５/ジョブ４４”と検証対象ジョブ２である”/ジョブネット１１/ジョブネット２４/ジョブネット３７/ジョブ４６”の間には実行順序関係が定義されており、検証対象ジョブ１は検証対象ジョブ２の先行ジョブである。
【００１６】
図７は、ジョブネットにおける任意の２つのジョブの間に実行順序関係が定義されているか検証するフローチャートである。まず、実行順序関係が定義されているか検証する対象として、任意の２つのジョブ、検証対象ジョブ１と検証対象ジョブ２が指定される（Ｓ１）。検証対象ジョブ１及び検証対象ジョブ２は、それぞれ完全修飾名で指定される事を想定している。検証対象ジョブ１と検証対象ジョブ２の完全修飾名から、区切り文字毎に各階層毎の構成要素を取り出す（Ｓ２）。検証対象ジョブ１から取り出した各階層毎の構成要素を比較対象要素１、検証対象ジョブ２から取り出した構成要素を比較対象要素２とする。第ｎ階層の比較対象要素１と比較対象要素２の構成要素名を比較する（Ｓ３）。比較対象要素１と比較対象要素２の要素名が一致した場合は、次の階層の構成要素名を取り出す（Ｓ２）。比較した結果が一致しないときの階層を第ｎ階層とすると、第ｎ-１階層が共通階層、第ｎ階層の比較対象要素１が検証対象要素１、比較対象要素２が検証対象要素２と、それぞれ決定される（Ｓ４）。Ｓ２〜Ｓ４ではルートジョブネットから順にジョブネット構成要素名を比較しているが、下位からルートジョブネットに向けて順次検証し、共通階層ジョブネット、検証対象要素１、検証対象要素２を抽出しても良い。次いで、検証対象要素１と検証対象要素２について、共通階層ジョブネットのジョブ実行順序テーブルを用いて、それぞれの間の実行順序関係を検証する（Ｓ５）。Ｓ５の詳細な手順については後述する。最後に、検証対象要素１と検証対象要素２の実行順序関係の検証結果に基き、検証対象ジョブ１と検証対象ジョブ２の実行順序関係を出力する（Ｓ６）。検証対象要素１と検証対象要素２の間に実行順序関係が定義されており、検証対象要素１が検証対象要素２の先行ジョブであるとき、検証対象ジョブ１は検証対象ジョブ２の先行ジョブである。検証対象要素１と検証対象要素２に前後関係が定義されており、検証対象要素１が検証対象要素２の後続ジョブであるとき、検証対象ジョブ１は検証対象ジョブ２の後続ジョブである。検証対象要素１と検証対象要素２に前後関係が定義されていない場合（もしくは前後関係を示す定義が記録されていない場合：他の箇所も同様）、検証対象ジョブ１と検証対象ジョブ２には実行順序関係が定義されていない。
【００１７】
図８は、検証対象要素１と検証対象要素２に実行順序関係が定義されているか検証するフローチャートであり、図７のＳ５の処理を詳細にしたものである。まず、ジョブ実行順序テーブルに基いて、検証対象要素１の先行ジョブを抽出する（Ｓ５１）。次いで、検証対象要素１に先行ジョブが存在するか確認する（Ｓ５２）。検証対象要素１の先行ジョブが存在する場合、先行ジョブに検証対象要素２が含まれるか検証する（Ｓ５３）。検証対象要素１の先行ジョブが存在し、先行ジョブに検証対象要素２が含まれる場合、検証対象要素１は検証対象要素２の後続ジョブである（Ｓ５７）。
【００１８】
検証対象要素１に先行ジョブが存在しない場合、及び、検証対象要素１の先行ジョブに検証対象要素２が含まれていない場合は、ジョブ実行順序テーブルに基いて、検証対象要素２の先行ジョブを抽出する。（Ｓ５４）。Ｓ５４の検証対象要素２の先行ジョブを抽出した結果に基いて、検証対象要素２の先行ジョブが存在するか検証する（Ｓ５５）。検証対象要素２の先行ジョブが存在する場合、先行ジョブに検証対象要素１が含まれるか検証する（Ｓ５６）。
【００１９】
検証対象要素２の先行ジョブが存在し、先行ジョブに検証対象要素１が含まれる場合、検証対象要素２は検証対象要素１の後続ジョブである（Ｓ５８）。Ｓ５５で検証対象要素２の先行ジョブが存在しない場合、及び、Ｓ５６で検証対象要素２の先行ジョブに検証対象要素１が含まれない場合、検証対象要素１は検証対象要素２には実行順序関係が定義されていない（Ｓ５９）。以上の手順は、検証対象要素１の前に検証対象要素２があるか検証し、次いで検証対象要素２の前に検証対象要素１があるか検証する手順であったが、その他の手順でも良い。例えば、検証対象要素１の後に検証対象要素２があるか検証し、次いで検証対象要素２の後に検証対象要素１があるか検証する手順や、検証対象要素１の前に検証対象要素２があるか検証し、次いで検証対象要素１の後に検証対象要素２があるか検証する手順、検証対象要素１の後に検証対象要素２があるか検証し、次いで検証対象要素１の前に検証対象要素２があるか検証する手順などによっても行う事ができる。
【符号の説明】
【００２０】
１０    ルートジョブネット
１１    ジョブネット構成要素名欄
１２    完全修飾名欄
１３    ジョブネット名
１４    直接の先行ジョブ欄
１５    直接の後続ジョブ欄
１６    ジョブ管理装置
１７    ジョブ実行順序検証装置
１８    ジョブ実行装置
１９    インターフェース部
２０    入出力制御部
２１    ジョブ実行順序検証部
２２    ジョブ定義取得部
２３    ジョブ管理部
２４    ジョブ定義情報
【図１】
2014035654.tif 000003
【図２】
2014035654.tif 000004
【図３】
2014035654.tif 000005
【図４】
2014035654.tif 000006
【図５】
2014035654.tif 000007
【図６】
2014035654.tif 000008
【図７】
2014035654.tif 000009
【図８】
2014035654.tif 000010