(57)【要約】【課題】ＶＰＣが異なるインスタンスと接続できるネットワークが論理ホストに割り当てられていない場合においても、ＶＰＣが異なるインスタンスの論理ホストにジョブを配信する。【解決手段】ジョブ管理マネージャ２０６Ａは、ＶＰＣ２０４内で接続可能かつＶＰＣ２０５と接続可能であり、ジョブ管理マネージャ２０６Ｂは、ＶＰＣ２０４内で接続可能かつＶＰＣ２０５と接続不可能であり、ジョブ実行エージェント２１４Ａは、ＶＰＣ２０５内で接続可能かつＶＰＣ２０４と接続可能であり、ジョブ実行エージェント２１４Ｂは、ＶＰＣ２０５内で接続可能かつＶＰＣ２０４と接続不可能であり、ジョブ管理マネージャ２０６Ｂがジョブ実行エージェント２１４Ｂにジョブを配信する場合、ジョブ管理マネージャ２０６Ｂは、ジョブ管理マネージャ２０６Ａにジョブの配信の代行を依頼する。【選択図】図２
2019120966.tif 000002
【特許請求の範囲】
【請求項１】
第１ＶＰＣ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｃｌｏｕｄ）が構築された第１インスタンスと、
第２ＶＰＣが構築された第２インスタンスとを備え、
前記第１インスタンスは、
第１ジョブ管理マネージャと、
前記第１ジョブ管理マネージャの論理ホストである第２ジョブ管理マネージャとを備え、
前記第２インスタンスは、
第１ジョブ実行エージェントと、
前記第１ジョブ実行エージェントの論理ホストである第２ジョブ実行エージェントとを備え、
前記第１ジョブ管理マネージャは、前記第１ＶＰＣ内で接続可能かつ前記第２ＶＰＣと接続可能であり、
前記第２ジョブ管理マネージャは、前記第１ＶＰＣ内で接続可能かつ前記第２ＶＰＣと接続不可能であり、
前記第１ジョブ実行エージェントは、前記第２ＶＰＣ内で接続可能かつ前記第１ＶＰＣと接続可能であり、
前記第２ジョブ実行エージェントは、前記第２ＶＰＣ内で接続可能かつ前記第１ＶＰＣと接続不可能であり、
前記第２ジョブ管理マネージャは、前記第１ジョブ管理マネージャにジョブの配信の代行を依頼することにより、前記第２ジョブ実行エージェントに前記ジョブを配信するジョブ管理システム。
【請求項２】
前記第２ジョブ実行エージェントは、前記第１ジョブ実行エージェントに前記ジョブの実行結果の返却の代行を依頼することにより、前記第２ジョブ管理マネージャに前記ジョブの実行結果を返却する請求項１に記載のジョブ管理システム。
【請求項３】
前記第２ＶＰＣが２重化されている時に、前記第１ジョブ管理マネージャは、前記第２ＶＰＣにおける前記ジョブの配信先のインスタンスを確認する請求項１に記載のジョブ管理システム。
【請求項４】
前記第１ＶＰＣが２重化されている時に、前記第１ジョブ実行エージェントは、前記第１ＶＰＣにおける前記ジョブの実行結果の返却先のインスタンスを確認する請求項２に記載のジョブ管理システム。
【請求項５】
第１ＶＰＣ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｃｌｏｕｄ）が構築された第１インスタンスに設けられたホストと、
前記第１ＶＰＣが構築された前記第１インスタンスに設けられた論理ホストとを備え、
前記ホストは、前記第１ＶＰＣ内で接続可能かつ前記第１ＶＰＣと異なる前記第２ＶＰＣと接続可能であり、
前記論理ホストは、前記第１ＶＰＣ内で接続可能かつ第２ＶＰＣと接続不可能であり、
前記論理ホストは、前記ホストにジョブの配信の代行を依頼することにより、前記第２ＶＰＣが構築された第２インスタンスに前記ジョブを配信するジョブ管理装置。
【請求項６】
前記第２ＶＰＣが２重化されている時に、前記ホストは、前記第２ＶＰＣにおける前記ジョブの配信先のインスタンスを確認する請求項５に記載のジョブ管理装置。
【請求項７】
第１ＶＰＣ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｃｌｏｕｄ）が構築された第１インスタンスに設けられたホストと、
前記第１ＶＰＣが構築された前記第１インスタンスに設けられた論理ホストとを備え、
前記ホストは、前記第１ＶＰＣ内で接続可能かつ前記第１ＶＰＣと異なる第２ＶＰＣと接続可能であり、
前記論理ホストは、前記第１ＶＰＣ内で接続可能かつ前記第２ＶＰＣと接続不可能であり、
前記論理ホストは、前記ホストにジョブの実行結果の返却の代行を依頼することにより、前記第２ＶＰＣが構築された第２インスタンスに前記ジョブの実行結果を返却するジョブ管理装置。
【請求項８】
前記第２ＶＰＣが２重化されている時に、前記ホストは、前記第２ＶＰＣにおける前記ジョブの実行結果の返却先のインスタンスを確認する請求項７に記載のジョブ管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウドコンピューティングによるジョブ管理システムおよびジョブ管理装置に関する。
【背景技術】
【０００２】
各種業務を遂行するコンピュータシステムにおいて、日々の業務を計画的にスケジューリングし、自動的に実行するため、ジョブ管理システムが利用されている。
ジョブ管理システムは、実行する業務をジョブという単位で管理する。そして、ジョブごとに運用日や休業日を設定したカレンダーを指定することや、ジョブの実行スケジュールとして日次または月次などの各種処理サイクルを指定することによって、様々な業務サイクルに合わせてジョブをスケジューリングすることができる。
【０００３】
また、ジョブ管理システムには、ジョブを実際に実行するコンピュータ（以下、ジョブ実行エージェントと言う）が複数台あり、ジョブ実行エージェントのジョブ実行を管理するコンピュータ（以下、ジョブ管理マネージャと言う）が１台ある。これは、業務の負荷分散およびマルチプラットフォームの業務実行を実現するためである。
ジョブ管理マネージャは、ネットワークを介してジョブ実行エージェントにジョブを配信し、ジョブ実行エージェントはジョブの実行結果をジョブ管理マネージャに返却する。
【０００４】
ジョブ管理システムの環境には、物理ホストと論理ホストがあり、物理ホストはジョブ管理システムをインストールしたコンピュータシステムに構築される環境である。
論理ホストは、ジョブ管理システムをインストールしたコンピュータシステムで物理ホスト以外のジョブ管理システムを複数使用する時に、コンピュータシステム内に構築する仮想的なコンピュータシステムである。なお、ジョブ管理システムの論理ホストには、他のコンピュータシステムのジョブ管理システムにジョブを配信したり、ジョブ実行結果を返却したりできるように、他のコンピュータシステムと通信できるネットワークを設定する。
【０００５】
コンピュータシステムには、様々な要因によるシステムの障害が発生する危険性があるが、サービスの中には２４時間３６５日の連続稼働が求められているサービスがある。
そのため、コンピュータシステムの高信頼化を図るために、相互に切り替え可能である稼働系と待機系の２つのコンピュータシステムに対して、共有のデータ記憶装置を接続した二重化システムがある。
【０００６】
業務を扱うジョブ管理システムでは、連続稼働に対応するために、二重化システムの稼働系と待機系の２つのコンピュータシステムに同名の論理ホストを構築し、共有のデータ記憶装置に論理ホストのデータを配置し、稼働系と待機系の論理ホストで同じＩＰアドレスを共有する。これにより、稼働系と待機系の２つのコンピュータシステムを１台のコンピュータシステムと見立て、システムの障害が発生しても業務を継続できる。
【０００７】
クラウドコンピューティングでは、仮想マシンのような概念のインスタンスがあり、ネットワークにつながった単一または複数のインスタンスで仮想的なネットワーク（以下、ＶＰＣ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｃｌｏｕｄ）と言う）を構築する。
ジョブ管理システムをクラウドコンピューティングで運用する場合、インスタンスにジョブ管理システムをインストールし、ジョブ管理システムの論理ホストもインスタンスに構築し、インスタンスで使用できるネットワークを割り当てる。
なお、ジョブ管理システムによるジョブ配信は、ＶＰＣ内のインスタンス間および異なるＶＰＣのインスタンス間で行う。
【０００８】
クラウドコンピューティングにおいて二重化システムによりジョブ管理システムを運用する場合、ＶＰＣ内の２つのインスタンスを稼働系と待機系とし、稼働系のインスタンスと待機系のインスタンスに同名のジョブ管理システムの論理ホストを構築し、障害発生時にはインスタンスを切替える。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１７−６８４８０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
クラウドコンピューティングのインスタンスで使用できるネットワークには、ＶＰＣ内のインスタンス同士で接続できるネットワークと、他のＶＰＣのインスタンスと接続できるネットワークの２種類ある。この時、他のＶＰＣのインスタンスと接続できるネットワークの数が制限されていることがあり、場合によっては１つに制限される。
【００１１】
このため、ジョブ管理システムの論理ホストにＶＰＣ内のインスタンス同士で接続できるネットワークが割り当てられる可能性があり、ジョブ管理システムの論理ホストから異なるＶＰＣのインスタンスに構築したジョブ管理システムの物理ホストまたは論理ホストにジョブを配信できないことがあった。
【００１２】
また、二重化システムでジョブ管理システムを運用している場合、ジョブ管理システムの論理ホストのネットワークは、稼働系と待機系のインスタンスでＩＰアドレスを共有することができず、異なるＶＰＣのインスタンスと接続できない。このため、二重化システムのどちらのインスタンスでジョブの配信先のジョブ実行エージェントの論理ホストが起動しているか確認することができず、ジョブを配信すべきインスタンスが判断できなかった。
【００１３】
本発明は、上記事情に鑑みなされたものであり、その目的は、ＶＰＣが異なるインスタンスと接続できるネットワークが論理ホストに割り当てられていない場合においても、ＶＰＣが異なるインスタンスの論理ホストにジョブを配信することが可能なジョブ管理システムおよびジョブ管理装置を提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、第１の観点に係るジョブ管理システムは、第１ＶＰＣが構築された第１インスタンスと、第２ＶＰＣが構築された第２インスタンスとを備える。前記第１インスタンスは、第１ジョブ管理マネージャと、前記第１ジョブ管理マネージャの論理ホストである第２ジョブ管理マネージャとを備える。前記第２インスタンスは、第１ジョブ実行エージェントと、前記第１ジョブ実行エージェントの論理ホストである第２ジョブ実行エージェントとを備える。前記第１ジョブ管理マネージャは、前記第１ＶＰＣ内で接続可能かつ前記第２ＶＰＣと接続可能である。前記第２ジョブ管理マネージャは、前記第１ＶＰＣ内で接続可能かつ前記第２ＶＰＣと接続不可能である。前記第１ジョブ実行エージェントは、前記第２ＶＰＣ内で接続可能かつ前記第１ＶＰＣと接続可能である。前記第２ジョブ実行エージェントは、前記第２ＶＰＣ内で接続可能かつ前記第１ＶＰＣと接続不可能である。前記第２ジョブ管理マネージャは、前記第１ジョブ管理マネージャにジョブの配信の代行を依頼することにより、前記第２ジョブ実行エージェントに前記ジョブを配信する。
【発明の効果】
【００１５】
本発明によれば、ＶＰＣが異なるインスタンスと接続できるネットワークが論理ホストに割り当てられていない場合においても、ＶＰＣが異なるインスタンスの論理ホストにジョブを配信することができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、実施形態に係るジョブ管理システムで用いられるジョブ定義の内容を示す図である。
【図２】図２は、実施形態に係るジョブ管理システムの構成を示すブロック図である。
【図３】図３は、実施形態に係るジョブ管理システムのジョブ配信に用いられるジョブ配信転送リストを示す図である。
【図４】図４は、ジョブ管理マネージャがジョブを配信する時に作成するジョブ配信転送の通信データを示す図である。
【図５】図５は、ジョブ実行エージェントがジョブの実行結果を返却する時に作成するジョブ結果転送の通信データを示す図である。
【図６】図６は、ジョブ管理マネージャ２０６Ｂがジョブ実行エージェント２１４Ｂにジョブの実行を依頼した時のデータの流れを示すブロック図である。
【図７】図７は、依頼元ジョブ管理マネージャがジョブの配信を開始する時の概要を示すフローチャートである。
【図８】図８は、代行ジョブ管理マネージャがジョブを配信するインスタンスを確認する時の処理の概要を示すフローチャートである。
【図９】図９は、代行ジョブ実行エージェントおよび依頼先ジョブ実行エージェントの処理の概要を示すフローチャートである。
【図１０】図１０は、代行ジョブ実行エージェントがジョブの結果を転送するインスタンスを確認する時の処理の概要を示すフローチャートである。
【図１１】図１１は、代行ジョブ管理マネージャまたは依頼元ジョブ管理マネージャがジョブの実行結果を取得する時の処理の概要を示すフローチャートである。
【図１２】図１２は、実施形態に係るインスタンスのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１７】
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
なお、ジョブとは、コンピュータが処理する仕事の単位を意味し、各種業務に対応した外部プログラムを定義できるものである。
【００１８】
また、ジョブ管理マネージャはネットワークを介してジョブ実行エージェントにジョブを配信し、ジョブの実行結果を受け取る。ジョブの配信先であるジョブ実行エージェントの指定方法は、ジョブ管理マネージャのジョブ定義に設定する。
【００１９】
以下の実施形態では、ジョブ管理システムに２個のＶＰＣが設けられ、各ＶＰＣが稼働系と待機系を持つ二重化システムである場合を例にとるが、どちらか一方のＶＰＣは稼働系のみが設けられた単一システムであってもよいし、両方のＶＰＣは稼働系のみが設けられた単一システムであってもよい。また、ジョブ管理システムに３個以上のＶＰＣが設けられていてもよい。
【００２０】
図１は、実施形態に係るジョブ管理システムで用いられるジョブ定義の内容を示す図である。
図１において、ジョブ定義１００には、ジョブ管理マネージャの利用者がジョブに任意の名前をつけるジョブ名１０１、ジョブ実行エージェントで実行する業務内容１０２、ジョブの配信先のジョブ実行エージェント名１０３を設定する。図１では、ジョブ名１０１としてＴＥＳＴ、業務内容１０２として業務Ａ１、ジョブ実行エージェント名１０３としてホストＡ２を設定した例を示した。ジョブ定義１００はジョブ管理マネージャに設定することができる。
【００２１】
図２は、実施形態に係るジョブ管理システムの構成を示すブロック図である。
図２において、ジョブ管理システムには、インスタンス２００〜２０３が設けられている。インスタンス２００、２０１にてＶＰＣ２０４が構築されている。インスタンス２０２、２０３にてＶＰＣ２０５が構築されている。インスタンス２００〜２０３は、それぞれ１台のコンピュータに設けることができる。
【００２２】
インスタンス２００、２０１は二重化システムを構成し、インスタンス２００は稼働系として動作し、インスタンス２０１は待機系として動作することができる。インスタンス２０２、２０３は二重化システムを構成し、インスタンス２０２は稼働系として動作し、インスタンス２０３は待機系として動作することができる。
【００２３】
インスタンス２００には、ジョブ管理マネージャ２０６Ａ、２０６Ｂが設けられている。ジョブ管理マネージャ２０６Ａは物理ホストとして動作することができる。ジョブ管理マネージャ２０６Ｂは、ジョブ管理マネージャ２０６Ａの論理ホストとして動作することができる。
【００２４】
物理ホストはジョブ管理システムをインストールしたコンピュータに構築される物理的な環境である。論理ホストは、ジョブ管理システムを実現するプログラムがインストールされたコンピュータに構築される仮想的な環境である。論理ホストは、物理ホスト以外にジョブ管理システムを１台のコンピュータで複数使用する時に構築することができる。論理ホストは、物理ホストとともにインスタンス２００〜２０３ごとに持つことができる。
【００２５】
インスタンス２０１には、ジョブ管理マネージャ２０７Ａ、２０７Ｂが設けられている。ジョブ管理マネージャ２０７Ａは物理ホストとして動作することができる。ジョブ管理マネージャ２０７Ｂは、ジョブ管理マネージャ２０７Ａの論理ホストとして動作することができる。
【００２６】
インスタンス２０２には、ジョブ実行エージェント２１３Ａ、２１３Ｂが設けられている。ジョブ実行エージェント２１３Ａは物理ホストとして動作することができる。ジョブ実行エージェント２１３Ｂは、ジョブ実行エージェント２１３Ａの論理ホストとして動作することができる。インスタンス２０３には、ジョブ実行エージェント２１４Ａ、２１４Ｂが設けられている。ジョブ実行エージェント２１４Ａは物理ホストとして動作することができる。ジョブ実行エージェント２１４Ｂは、ジョブ実行エージェント２１４Ａの論理ホストとして動作することができる。
【００２７】
ジョブ管理マネージャ２０６Ａ、２０６Ｂ、２０７Ａ、２０７Ｂは、ジョブ実行エージェント２１３Ａ、２１３Ｂ、２１４Ａ、２１４Ｂのジョブ実行を管理する。ジョブ実行エージェント２１３Ａ、２１３Ｂ、２１４Ａ、２１４Ｂは、ジョブを実際に実行する。
【００２８】
ジョブ管理マネージャ２０６Ａ、２０６ＢはＶＰＣ内ネットワーク２０９を介して互いに接続されている。ジョブ管理マネージャ２０６ＡはＶＰＣ間ネットワーク２１０に接続されている。
ジョブ管理マネージャ２０７Ａ、２０７ＢはＶＰＣ内ネットワーク２１１を介して互いに接続されている。ジョブ管理マネージャ２０７ＡはＶＰＣ間ネットワーク２１２に接続されている。
ジョブ実行エージェント２１３Ａ、２１３ＢはＶＰＣ内ネットワーク２１６を介して互いに接続されている。ジョブ実行エージェント２１３ＡはＶＰＣ間ネットワーク２１７に接続されている。
ジョブ実行エージェント２１４Ａ、２１４ＢはＶＰＣ内ネットワーク２１８を介して互いに接続されている。ジョブ実行エージェント２１４ＡはＶＰＣ間ネットワーク２１９に接続されている。
【００２９】
この時、ジョブ管理マネージャ２０６Ａは、ＶＰＣ２０４内で接続可能かつＶＰＣ２０５と接続可能である。ジョブ管理マネージャ２０６Ｂは、ＶＰＣ２０４内で接続可能かつＶＰＣ２０５と接続不可能である。
ジョブ管理マネージャ２０７Ａは、ＶＰＣ２０４内で接続可能かつＶＰＣ２０５と接続可能である。ジョブ管理マネージャ２０７Ｂは、ＶＰＣ２０４内で接続可能かつＶＰＣ２０５と接続不可能である。
ジョブ実行エージェント２１３Ａは、ＶＰＣ２０５内で接続可能かつＶＰＣ２０４と接続可能である。ジョブ実行エージェント２１３Ｂは、ＶＰＣ２０５内で接続可能かつＶＰＣ２０４と接続不可能である。
ジョブ実行エージェント２１４Ａは、ＶＰＣ２０５内で接続可能かつＶＰＣ２０４と接続可能である。ジョブ実行エージェント２１４Ｂは、ＶＰＣ２０５内で接続可能かつＶＰＣ２０４と接続不可能である。
【００３０】
この時、ジョブ管理マネージャ２０６Ｂは、ＶＰＣ２０５のインスタンス２０２、２０３と接続できるＶＰＣ間ネットワーク２１７、２１９に接続されていない。このため、ジョブ管理マネージャ２０６Ｂは、ジョブ実行エージェント２１４Ｂにジョブを直接配信することができない。また、ジョブ管理マネージャ２０６Ｂは、ＶＰＣ２０５のどちらのインスタンス２０２、２０３が起動しているのかを直接確認することができず、ジョブを配信すべきインスタンス２０２、２０３を判断することができない。
【００３１】
さらに、ジョブ実行エージェント２１４Ｂは、ＶＰＣ２０４のインスタンス２００、２０１と接続できるＶＰＣ間ネットワーク２１７、２１９に接続されていない。このため、ジョブ実行エージェント２１４Ｂは、ジョブ管理マネージャ２０６Ｂにジョブの実行結果を直接返却することができない。また、ジョブ実行エージェント２１４Ｂは、ＶＰＣ２０４のどちらのインスタンス２００、２０１が起動しているのかを直接確認することができず、ジョブの実行結果を返却すべきインスタンス２００、２０１を判断することができない。
【００３２】
ここで、ジョブ管理マネージャ２０６Ｂがジョブ実行エージェント２１４Ｂにジョブを配信できるようにするために、ジョブ管理マネージャ２０６Ｂは、ジョブ管理マネージャ２０６Ａにジョブの配信の代行を依頼する。ジョブ管理マネージャ２０６Ａは、ＶＰＣ２０５のインスタンス２０２、２０３と接続できるＶＰＣ間ネットワーク２１７、２１９にＶＰＣ間ネットワーク２１０を介して接続されている。このため、ジョブ管理マネージャ２０６Ａは、ジョブ管理マネージャ２０６Ｂから依頼されたジョブをジョブ実行エージェント２１４Ｂに配信することができる。また、ジョブ管理マネージャ２０６Ａは、ＶＰＣ２０５のどちらのインスタンス２０２、２０３が起動しているのかを確認することができ、ジョブを配信すべきインスタンス２０２、２０３を判断することができる。
【００３３】
さらに、ジョブ実行エージェント２１４Ｂがジョブ管理マネージャ２０６Ｂにジョブの実行結果を返却できるようにするために、ジョブ実行エージェント２１４Ｂは、ジョブ実行エージェント２１４Ａにジョブの実行結果の返却の代行を依頼する。ジョブ実行エージェント２１４Ａは、ＶＰＣ２０４のインスタンス２００、２０１と接続できるＶＰＣ間ネットワーク２１０、２１２にＶＰＣ間ネットワーク２１９を介して接続されている。このため、ジョブ実行エージェント２１４Ａは、ジョブ実行エージェント２１４Ｂから依頼されたジョブの実行結果をジョブ管理マネージャ２０６Ｂに返却することができる。また、ジョブ実行エージェント２１４Ａは、ＶＰＣ２０４のどちらのインスタンス２００、２０１が起動しているのかを確認することができ、ジョブの実行結果を返却すべきインスタンス２００、２０１を判断することができる。
【００３４】
これにより、クラウドコンピューティングにおいて他のＶＰＣのインスタンスと接続できるネットワークの数が制限され、他のＶＰＣのインスタンスと接続できるネットワークが論理ホストに割り当てられていない場合においても、その論理ホストは、他のＶＰＣのインスタンスにジョブを配信したり、ジョブの実行結果を返却したりすることができる。
【００３５】
図３は、実施形態に係るジョブ管理システムのジョブ配信に用いられるジョブ配信転送リストを示す図である。なお、以下の説明では、他のＶＰＣのインスタンスと通信できるネットワークに接続されていないジョブ管理マネージャがジョブの配信の代行を依頼するジョブ管理マネージャを、代行ジョブ管理マネージャと言う。他のＶＰＣのインスタンスと通信できるネットワークに接続されていないジョブ実行エージェントがジョブの実行結果の返却の代行を依頼するジョブ実行エージェントを、代行ジョブ実行エージェントと言う。
【００３６】
図３において、他のＶＰＣのインスタンスと通信できるネットワークに接続されていないジョブ管理マネージャは、ジョブの配信の代行を依頼するためのジョブ配信転送リスト３００を保持することができる。ジョブ配信転送リスト３００は、ジョブ配信元のジョブ管理マネージャからジョブ配信先のジョブ実行エージェントまでの転送経路を定義する。
【００３７】
ジョブ配信転送リスト３００には、稼働系インスタンスのジョブ実行エージェント名３０１、待機系インスタンスのジョブ実行エージェント名３０２、稼働系インスタンスのジョブ管理マネージャ名３０３、待機系インスタンスのジョブ管理マネージャ名３０４および依頼先ジョブ実行エージェント名３０５を設定することができる。
【００３８】
稼働系インスタンスのジョブ実行エージェント名３０１は、ジョブの配信時に代行ジョブ管理マネージャが、通信データを転送するジョブ実行エージェント名である。二重化システムを使用している環境では、稼働系インスタンスのジョブ実行エージェント名３０１に設定したジョブ実行エージェントから起動を確認する。
【００３９】
待機系インスタンスのジョブ実行エージェント名３０２は、二重化システムを使用している環境で、稼働系インスタンスのジョブ実行エージェント名３０１に設定したジョブ実行エージェントが起動していない時に起動を確認するジョブ実行エージェント名である。二重化システムではない環境では、−を定義することができる。
【００４０】
稼働系インスタンスのジョブ管理マネージャ名３０３は、ジョブの実行結果の転送時に代行ジョブ実行エージェントが、通信データを転送するジョブ管理マネージャ名である。二重化システムを使用している環境では、稼働系インスタンスのジョブ管理マネージャ名３０３に設定したジョブ管理マネージャから起動を確認する。
【００４１】
待機系インスタンスのジョブ管理マネージャ名３０４は、二重化システムを使用している環境で、稼働系インスタンスのジョブ管理マネージャ名３０３に設定したジョブ管理マネージャが起動していない時に起動を確認するジョブ管理マネージャ名である。二重化システムではない環境では、−を定義することができる。
【００４２】
依頼先ジョブ実行エージェント名３０５は、ジョブの配信先のジョブ実行エージェント名である。
【００４３】
稼働系および待機系が二重化されたシステムでは、ジョブ配信転送リスト３００には、ジョブ実行エージェントＡ，ジョブ実行エージェントＢ，ジョブ管理マネージャＣ，ジョブ管理マネージャＤ，ジョブ実行エージェントＥと設定することができる。稼働系が二重化され、待機系が二重化されていないシステムでは、ジョブ配信転送リスト３００には、ジョブ実行エージェントＡ，−，ジョブ管理マネージャＣ，ジョブ管理マネージャＤ，ジョブ実行エージェントＥと設定することができる。稼働系および待機系が二重化されていないシステムでは、ジョブ配信転送リスト３００には、ジョブ実行エージェントＡ，−，ジョブ管理マネージャＣ，−，ジョブ実行エージェントＥと設定することができる。
【００４４】
そして、ジョブ管理マネージャ２０６Ｂがジョブ実行エージェント２１４Ｂにジョブの配信を行う場合、そのジョブ管理マネージャ２０６Ｂは、ジョブ配信転送リスト３００に基づいてジョブ配信の転送経路を含めた通信データ４００を作成する。そして、インスタンス２０３が起動している場合、通信データ４００は、代行ジョブ管理マネージャ２０６Ａ（または代行ジョブ管理マネージャ２０７Ａ）および代行ジョブ実行エージェント２１４Ａを順次介してジョブ実行エージェント２１４Ｂに到着する。
【００４５】
ジョブ実行エージェント２１４Ｂがジョブ管理マネージャ２０６Ｂにジョブの実行結果の返却を行う場合、そのジョブ実行エージェント２１４Ｂは、通信データ４００に基づいてジョブの実行結果の返却の転送経路を含めた通信データ５００を作成する。そして、インスタンス２００が起動している場合、通信データ５００は、代行ジョブ実行エージェント２１３Ａ（または代行ジョブ実行エージェント２１４Ａ）および代行ジョブ管理マネージャ２０６Ａを順次介してジョブ管理マネージャ２０６Ｂに到着する。
【００４６】
図４は、ジョブ管理マネージャがジョブを配信する時に作成するジョブ配信転送の通信データを示す図である。
図４において、ジョブ管理マネージャ２０６Ｂがジョブ実行エージェント２１４Ｂにジョブの配信を行う場合、ジョブ管理マネージャ２０６Ｂは、ジョブ配信転送リスト３００から通信データ４００を作成し、代行ジョブ管理マネージャ２０６Ａに転送することができる。
【００４７】
通信データ４００には、ジョブ配信転送命令４０１、依頼元ジョブ管理マネージャ名４０２、稼働系インスタンスのジョブ実行エージェント名４０３、待機系インスタンスのジョブ実行エージェント名４０４、稼働系インスタンスのジョブ管理マネージャ名４０５、待機系インスタンスのジョブ管理マネージャ名４０６、依頼先ジョブ実行エージェント名４０７、ジョブ名４０８および業務内容４０９を設定することができる。
【００４８】
ジョブ配信転送命令４０１は、通信データ４００がジョブ配信転送依頼であることを示す。ジョブ配信転送命令４０１は、ジョブ管理マネージャ２０６Ｂが作成する。依頼元ジョブ管理マネージャ名４０２は、ジョブの配信を依頼したジョブ管理マネージャ名である。依頼元ジョブ管理マネージャ名４０２は、ジョブ管理マネージャ２０６Ｂが作成する。稼働系インスタンスのジョブ実行エージェント名４０３は、ジョブ配信転送リスト３００の稼働系インスタンスのジョブ実行エージェント名３０１に定義した内容である。待機系インスタンスのジョブ実行エージェント名４０４は、ジョブ配信転送リスト３００の待機系インスタンスのジョブ実行エージェント名３０２に定義した内容である。稼働系インスタンスのジョブ管理マネージャ名４０５は、ジョブ配信転送リスト３００の稼働系インスタンスのジョブ管理マネージャ名３０３に定義した内容である。待機系インスタンスのジョブ管理マネージャ名４０６は、ジョブ配信転送リスト３００の待機系インスタンスのジョブ管理マネージャ名３０４に定義した内容である。依頼先ジョブ実行エージェント名４０７は、ジョブ配信転送リスト３００の依頼先ジョブ実行エージェント名３０５に定義した内容である。ジョブ名４０８は、ジョブ定義１００のジョブ名１０１に定義した内容である。業務内容４０９は、ジョブ定義１００の業務内容１０２に定義した内容である。
【００４９】
図５は、ジョブ実行エージェントがジョブの実行結果を返却する時に作成するジョブ結果転送の通信データを示す図である。
図５において、ジョブ実行エージェント２１４Ｂがジョブ管理マネージャ２０６Ｂにジョブの実行結果の返却を行う場合、そのジョブ実行エージェント２１４Ｂは、通信データ４００から通信データ５００を作成し、代行ジョブ実行エージェント２１４Ａに転送することができる。
【００５０】
通信データ５００には、ジョブ結果転送命令５０１、稼働系インスタンスのジョブ管理マネージャ名５０２、待機系インスタンスのジョブ管理マネージャ名５０３、ジョブ結果の転送先ジョブ管理マネージャ名５０４、ジョブ名５０５および業務の実行結果５０６を設定することができる。
【００５１】
ジョブ結果転送命令５０１は、通信データ５００がジョブ結果転送依頼であることを示す。ジョブ結果転送命令５０１は、ジョブ実行エージェント２１４Ｂが作成する。稼働系インスタンスのジョブ管理マネージャ名５０２は、稼働系インスタンスのジョブ管理マネージャ名３０３に定義した内容である。稼働系インスタンスのジョブ管理マネージャ名５０２は、通信データ４００の稼働系インスタンスのジョブ管理マネージャ名４０５から作成する。待機系インスタンスのジョブ管理マネージャ名５０３は、待機系インスタンスのジョブ管理マネージャ名３０４に定義した内容である。待機系インスタンスのジョブ管理マネージャ名５０３は、通信データ４００の待機系インスタンスのジョブ管理マネージャ名４０６から作成する。依頼元ジョブ管理マネージャ名５０４は、ジョブの配信を依頼したジョブ管理マネージャ名である。依頼元ジョブ管理マネージャ名５０４は、通信データ４００の依頼元ジョブ管理マネージャ名４０２から作成する。ジョブ名５０５は、ジョブ名１０１に定義した内容である。ジョブ名５０５は、通信データ４００のジョブ名４０８から作成する。業務の実行結果５０６は、業務内容１０２の実行結果である。業務の実行結果５０６は、ジョブ実行エージェント２１４Ｂが作成する。
【００５２】
図６は、ジョブ管理マネージャ２０６Ｂがジョブ実行エージェント２１４Ｂにジョブの実行を依頼した時のデータの流れを示すブロック図である。
図６において、ジョブ管理マネージャ２０６Ｂは、ジョブ名がＴＥＳＴ、業務内容が業務Ａ１のジョブの実行をジョブ実行エージェント２１４Ｂに依頼するものとする。ここで、ＶＰＣ２０４では稼働系のインスタンス２００が起動し、ＶＰＣ２０５では待機系のインスタンス２０３が起動しているものとする。
【００５３】
この時、ジョブ管理マネージャ２０６Ｂは、ジョブ定義６０１とジョブ配信転送リスト６００を保持する。ジョブ定義６０１には、ジョブ名にＴＥＳＴと設定され、業務内容に業務Ａ１と設定されている。ジョブ実行エージェント名６０２として２１４Ｂと設定されている。
【００５４】
また、ジョブ配信転送リスト６００には、稼働系インスタンスのジョブ実行エージェント名６０３としてジョブ実行エージェント２１３Ａと設定され、待機系インスタンスのジョブ実行エージェント名６０４としてジョブ実行エージェント２１４Ａと設定され、稼働系インスタンスのジョブ管理マネージャ名６０５としてジョブ管理マネージャ２０６Ａと設定され、待機系インスタンスのジョブ管理マネージャ名６０６としてジョブ管理マネージャ２０７Ａと設定され、依頼先ジョブ実行エージェント名６０７としてジョブ実行エージェント２１４Ｂと設定される。
【００５５】
そして、ジョブ管理マネージャ２０６Ｂは、ジョブ定義６０１およびジョブ配信転送リスト６００から通信データ４００を作成する。通信データ４００において、依頼元ジョブ管理マネージャ名４０２には、ジョブ管理マネージャ２０６Ｂと設定され、稼働系インスタンスのジョブ実行エージェント名４０３には、ジョブ実行エージェント２１３Ａと設定され、待機系インスタンスのジョブ実行エージェント名４０４には、ジョブ実行エージェント２１４Ａと設定され、稼働系インスタンスのジョブ管理マネージャ名４０５には、ジョブ管理マネージャ２０６Ａと設定され、待機系インスタンスのジョブ管理マネージャ名４０６には、ジョブ管理マネージャ２０７Ａと設定され、依頼先ジョブ実行エージェント名４０７には、ジョブ実行エージェント２１４Ｂと設定され、ジョブ名４０８には、ＴＥＳＴと設定され、業務内容４０９には、業務Ａ１と設定される。通信データ４００には、ジョブ配信転送命令４０１というヘッダが付加される。
【００５６】
そして、ジョブ管理マネージャ２０６Ｂはジョブ管理マネージャ２０６Ａに通信データ４００を転送することで、ジョブの配信の代行をジョブ管理マネージャ２０６Ａに依頼する（Ｐ１）。
【００５７】
ジョブ管理マネージャ２０６Ａは、稼働系インスタンスのジョブ実行エージェント名４０３にジョブ実行エージェント２１３Ａと設定されているのを確認すると、ジョブ実行エージェント２１３Ａと通信を試みる。そして、ジョブ管理マネージャ２０６Ａは、ジョブ実行エージェント２１３Ａとの通信に失敗すると、待機系インスタンスのジョブ実行エージェント名４０４にジョブ実行エージェント２１４Ａと設定されているのを確認し、ジョブ実行エージェント２１４Ａと通信を試みる。ジョブ管理マネージャ２０６Ａは、ジョブ実行エージェント２１４Ａとの通信に成功すると、ジョブ実行エージェント２１４Ａに通信データ４００を転送する（Ｐ２）。
【００５８】
ジョブ実行エージェント２１４Ａは、依頼先ジョブ実行エージェント名４０７にジョブ実行エージェント２１４Ｂと設定されているのを確認すると、ジョブ実行エージェント２１４Ｂに通信データ４００を転送する（Ｐ３）。
【００５９】
ジョブ実行エージェント２１４Ｂは、依頼先ジョブ実行エージェント名４０７にジョブ実行エージェント２１４Ｂと設定されているのを確認すると、ジョブ名４０８がＴＥＳＴ、業務内容４０９が業務Ａ１であるジョブを実行する。
【００６０】
ジョブ実行エージェント２１４Ｂは、ジョブ名４０８がＴＥＳＴ、業務内容４０９が業務Ａ１であるジョブを実行すると、通信データ４００から通信データ５００を作成する。通信データ５００において、稼働系インスタンスのジョブ管理マネージャ名５０２には、ジョブ管理マネージャ２０６Ａと設定され、待機系インスタンスのジョブ管理マネージャ名５０３には、ジョブ管理マネージャ２０７Ａと設定され、ジョブ結果の転送先ジョブ管理マネージャ名５０４には、ジョブ管理マネージャ２０６Ｂと設定され、ジョブ名５０５には、ＴＥＳＴと設定され、業務の実行結果５０６には、ジョブ名４０８がＴＥＳＴ、業務内容４０９が業務Ａ１であるジョブの実行結果が設定される。通信データ５００には、ジョブ結果転送命令５０１というヘッダが付加される。
【００６１】
そして、ジョブ実行エージェント２１４Ｂはジョブ実行エージェント２１４Ａに通信データ５００を転送することで、ジョブの実行結果の返却の代行をジョブ実行エージェント２１４Ａに依頼する（Ｐ４）。
【００６２】
ジョブ実行エージェント２１４Ａは、稼働系インスタンスのジョブ管理マネージャ名５０２にジョブ管理マネージャ２０６Ａと設定されているのを確認すると、ジョブ管理マネージャ２０６Ａと通信を試みる。そして、ジョブ実行エージェント２１４Ａは、ジョブ管理マネージャ２０６Ａとの通信に成功すると、ジョブ管理マネージャ２０６Ａに通信データ５００を転送する（Ｐ５）。
【００６３】
ジョブ管理マネージャ２０６Ａは、依頼元ジョブ管理マネージャ名５０４にジョブ管理マネージャ２０６Ｂと設定されているのを確認すると、ジョブ管理マネージャ２０６Ｂに通信データ５００を転送する（Ｐ６）。
【００６４】
ジョブ管理マネージャ２０６Ｂは、通信データ５００を受信すると、ジョブ名４０８がＴＥＳＴ、業務内容４０９が業務Ａ１であるジョブの実行結果を通信データ５００から取得することができる。
【００６５】
以下、図１のジョブ管理システムのジョブの配信処理およびジョブの実行結果の返却処理を図７〜図１１を参照しながら順を追って説明する。なお、図７〜図１１のフローチャートでは、ジョブ管理マネージャ２０６Ｂがジョブの実行をジョブ実行エージェント２１４Ｂに依頼するものとする。また、ＶＰＣ２０４では稼働系のインスタンス２００が起動し、ＶＰＣ２０５では待機系のインスタンス２０３が起動しているものとする。
【００６６】
図７は、依頼元ジョブ管理マネージャがジョブの配信を開始する時の概要を示すフローチャートである。
図７において、ジョブ管理マネージャ２０６ＢがＴＥＳＴというジョブ名のジョブの配信を開始すると（ステップ７００）、ジョブ配信転送リスト６００を参照し、ジョブ配信転送リスト６００の依頼先ジョブ実行エージェント名６０７と、ジョブ定義６０１のジョブ実行エージェント名６０２が一致するかどうかを判断する（ステップ７０１）。
【００６７】
ジョブ配信転送リスト６００の依頼先ジョブ実行エージェント名６０７と、ジョブ定義６０１のジョブ実行エージェント名６０２が一致する場合、ジョブ定義６０１とジョブ配信転送リスト６００からジョブ配信転送の通信データ４００を作成する（ステップ７０２）。
【００６８】
次に、ジョブ管理マネージャ２０６Ｂに設定されたＶＰＣ２０４内のみ通信できるＶＰＣ内ネットワーク２０９を使用して、代行ジョブ管理マネージャ２０６Ａに通信データ４００を転送する（ステップ７０３）。
【００６９】
一方、ステップ７０１において、ジョブ配信転送リスト６００の依頼先ジョブ実行エージェント名６０７と、ジョブ定義６０１のジョブ実行エージェント名６０２が一致しない場合、ジョブ定義６０１のジョブ実行エージェント名６０２のホストにジョブを配信する（ステップ７０４）。
【００７０】
図８は、代行ジョブ管理マネージャがジョブを配信するインスタンスを確認する時の処理の概要を示すフローチャートである。
図８において、代行ジョブ管理マネージャ２０６Ａは、通信データ４００を受け取ると、通信データ４００にジョブ配信転送命令が含まれているかどうかを判断する（ステップ７０５）。通信データ４００にジョブ配信転送命令が含まれていない場合、図１１の処理に進む。
【００７１】
一方、通信データ４００にジョブ配信転送命令が含まれている場合、代行ジョブ管理マネージャ２０６Ａは、ジョブ配信の転送先インスタンスの起動を確認済みかどうかを判断する（ステップ７０６）。ジョブ配信の転送先インスタンスの起動を確認済みの場合、代行ジョブ管理マネージャ２０６Ａは、起動を確認済みのインスタンスと通信する（ステップ７０７）。
【００７２】
次に、代行ジョブ管理マネージャ２０６Ａは、インスタンスとの通信に成功したかどうかを判断する（ステップ７０８）。インスタンスとの通信に成功した場合、代行ジョブ管理マネージャ２０６Ａは、通信できたインスタンスに通信データ４００を送信する（ステップ７０９）。
【００７３】
次に、代行ジョブ管理マネージャ２０６Ａは、ジョブ配信の転送先インスタンスを確認済みの状態に変更し、確認済みの転送先インスタンスとして、通信データ４００を送信したインスタンス名を記憶する（ステップ７１０）。
【００７４】
一方、ステップ７０６において、ジョブ配信の転送先インスタンスの起動を未確認の場合、転送先インスタンスの起動状態を確認するために、代行ジョブ管理マネージャ２０６Ａは、稼働系のインスタンス２０２のジョブ実行エージェント２１３Ａと通信し（ステップ７１１）、インスタンスとの通信に成功したかどうかを判断する（ステップ７０８）。
【００７５】
この時、ジョブ実行エージェント２１４Ａ、２１４Ｂは待機系のインスタンス２０３で稼働しているため、稼働系のインスタンス２０２のジョブ実行エージェント２１３Ａとの通信に失敗する。稼働系のインスタンス２０２のジョブ実行エージェント２１３Ａとの通信に失敗すると、通信データ４００に含まれるインスタンス中に通信してないインスタンスがあるかどうかを判断する（ステップ７１２）。
【００７６】
通信データ４００に含まれるインスタンス中に通信してないインスタンスがない場合、ジョブの配信に失敗する（ステップ７１５）。
【００７７】
一方、通信データ４００に含まれるインスタンス中に通信してないインスタンスがある場合、代行ジョブ管理マネージャ２０６Ａは、待機系のインスタンスのジョブ実行エージェント２１４Ａと通信し、インスタンスとの通信に成功したかどうかを判断する（ステップ７１３）。この時、待機系のインスタンス２０３のジョブ実行エージェント２１４Ａは起動しているので、代行ジョブ管理マネージャ２０６Ａは、インスタンス２０３との通信に成功し、待機系のインスタンス２０３のジョブ実行エージェント２１４Ａに通信データ４００を転送する（ステップ７１４）。ジョブ実行エージェント２１４Ａに通信データ４００を転送すると、ステップ７１０に進む。
【００７８】
図９は、代行ジョブ実行エージェントおよび依頼先ジョブ実行エージェントの処理の概要を示すフローチャートである。
図９において、ジョブ実行エージェント２１４Ａは、通信データ４００を受け取ると、通信データ４００にジョブ配信転送命令が含まれているかどうかを判断する（ステップ７１６）。通信データ４００にジョブ配信転送命令が含まれていない場合、図１０の処理に進む。
【００７９】
一方、通信データ４００にジョブ配信転送命令が含まれている場合、ジョブ実行エージェント２１４Ａは、通信データ４００の依頼先ジョブ実行エージェント名４０７と、通信データ４００を受信したジョブ実行エージェント名が一致するかどうかを判断する（ステップ７１７）。
【００８０】
この時、通信データ４００の依頼先ジョブ実行エージェント名４０７はジョブ実行エージェント２１４Ｂ、通信データ４００を受信したジョブ実行エージェント名はジョブ実行エージェント２１４Ａである。このため、通信データ４００に設定されている依頼先ジョブ実行エージェント名４０７と、通信データ４００を受信したジョブ実行エージェント名は一致しない。このため、ジョブ実行エージェント２１４Ａは、通信データ４００の依頼先ジョブ実行エージェント名４０７で設定されたジョブ実行エージェント２１４Ｂに通信データ４００を転送する（ステップ７２３）。
【００８１】
ジョブ実行エージェント２１４Ｂは、通信データ４００を受け取ると、通信データ４００にジョブ配信転送命令が含まれているかどうかを判断する（ステップ７１６）。通信データ４００にジョブ配信転送命令が含まれていない場合、図１０の処理に進む。
【００８２】
一方、通信データ４００にジョブ配信転送命令が含まれている場合、ジョブ実行エージェント２１４Ｂは、通信データ４００の依頼先ジョブ実行エージェント名４０７と、通信データ４００を受信したジョブ実行エージェント名が一致するかどうかを判断する（ステップ７１７）。この時、通信データ４００の依頼先ジョブ実行エージェント名４０７はジョブ実行エージェント２１４Ｂ、通信データ４００を受信したジョブ実行エージェント名はジョブ実行エージェント２１４Ｂである。このため、通信データ４００に設定されている依頼先ジョブ実行エージェント名４０７と、通信データ４００を受信したジョブ実行エージェント名は一致する。
【００８３】
通信データ４００に設定されている依頼先ジョブ実行エージェント名４０７と、通信データ４００を受信したジョブ実行エージェント名が一致すると、ジョブ実行エージェント２１４Ｂは、通信データ４００から業務内容を取り出し、ジョブプロセスを起動する（ステップ７１８）。
【００８４】
次に、ジョブ実行エージェント２１４Ｂは、ジョブプロセスが終了すると（ステップ７１９）、受信した通信データ４００と業務の実行結果から通信データ５００を作成する（ステップ７２０）。
【００８５】
次に、ジョブ実行エージェント２１４Ｂは、代行ジョブ実行エージェント名と、通信データ５００を受信したジョブ実行エージェント名が一致するかどうかを判断する（ステップ７２１）。この時、代行ジョブ実行エージェント名はジョブ実行エージェント２１４Ａ、通信データ４００を受信したジョブ実行エージェント名はジョブ実行エージェント２１４Ｂである。このため、代行ジョブ実行エージェント名と、通信データ５００を受信したジョブ実行エージェント名は一致しない。このため、ジョブ実行エージェント２１４Ｂは、ジョブ実行エージェント２１４Ｂに設定されたＶＰＣ２０５内のみ通信できるＶＰＣ内ネットワーク２１８を使用して、代行ジョブ実行エージェント２１４Ａに通信データ５００を転送する（ステップ７２２）。
【００８６】
一方、代行ジョブ実行エージェント名と、通信データ５００を受信したジョブ実行エージェント名が一致した場合、図１０の処理に進む。
【００８７】
図１０は、代行ジョブ実行エージェントがジョブの結果を転送するインスタンスを確認する時の処理の概要を示すフローチャートである。
図１０において、代行ジョブ実行エージェント２１４Ａは、通信データ５００を受け取ると、通信データ５００にジョブ結果転送命令が含まれているかどうかを判断する（ステップ７２４）。通信データ５００にジョブ結果転送命令が含まれていない場合、代行ジョブ実行エージェント２１４Ａは、通信データ５００から業務内容を取り出し、ジョブプロセスを起動する（ステップ７３０）。
【００８８】
一方、通信データ５００にジョブ結果転送命令が含まれている場合、代行ジョブ実行エージェント２１４Ａは、ジョブの実行結果の転送先インスタンスの起動を確認済みかどうかを判断する（ステップ７２５）。ジョブの実行結果の転送先インスタンスの起動を確認済みの場合、代行ジョブ実行エージェント２１４Ａは、起動を確認済みのインスタンスと通信する（ステップ７２６）。
【００８９】
一方、ステップ７２５において、ジョブの実行結果の転送先インスタンスの起動を未確認の場合、転送先インスタンスの起動状態を確認するために、代行ジョブ実行エージェント２１４Ａは、稼働系のインスタンス２００のジョブ管理マネージャ２０６Ａと通信する（ステップ７３１）。
【００９０】
次に、代行ジョブ実行エージェント２１４Ａは、インスタンスとの通信に成功したかどうかを判断する（ステップ７２７）。この時、ジョブ管理マネージャ２０６Ａ、２０６Ｂは稼働系のインスタンス２００で稼働しているため、稼働系のインスタンス２００のジョブ管理マネージャ２０６Ａとの通信に成功する。インスタンスとの通信に成功した場合、代行ジョブ実行エージェント２１４Ａは、通信できたインスタンスに通信データ４００を送信する（ステップ７２８）。
【００９１】
次に、代行ジョブ実行エージェント２１４Ａは、ジョブの実行結果の転送先インスタンスを確認済みの状態に変更し、確認済みの転送先インスタンスとして、通信データ５００を送信したインスタンス名を記憶する（ステップ７２９）。
【００９２】
一方、ステップ７２７において、代行ジョブ実行エージェント２１４Ａがインスタンスとの通信に失敗した場合、通信データ５００に含まれるインスタンス中に通信してないインスタンスがあるかどうかを判断する（ステップ７３２）。
【００９３】
通信データ５００に含まれるインスタンス中に通信してないインスタンスがない場合、ジョブの配信に失敗する（ステップ７３５）。
【００９４】
一方、通信データ５００に含まれるインスタンス中に通信してないインスタンスがある場合、代行ジョブ実行エージェント２１４Ａは、そのインスタンスと通信し、そのインスタンスとの通信に成功したかどうかを判断する（ステップ７３３）。インスタンスとの通信に成功した場合、通信できたインスタンスに通信データ５００を転送する（ステップ７３４）。通信できたインスタンスに通信データ５００を転送すると、ステップ７２９に進む。
【００９５】
一方、ステップ７３３において、インスタンスとの通信に失敗した場合、ジョブの配信に失敗する（ステップ７３５）。
【００９６】
図１１は、代行ジョブ管理マネージャまたは依頼元ジョブ管理マネージャがジョブの実行結果を取得する時の処理の概要を示すフローチャートである。
図１１において、ジョブ管理マネージャ２０６Ａは、通信データ５００を受け取ると、通信データ５００にジョブ結果転送命令が含まれているかどうかを判断する（ステップ７３６）。通信データ５００にジョブ結果転送命令が含まれていない場合、ジョブ管理マネージャ２０６Ａは、通信データ５００から業務の実行結果を取り出す（ステップ７３９）。
【００９７】
一方、通信データ５００にジョブ結果転送命令が含まれている場合、ジョブ管理マネージャ２０６Ａは、通信データ５００の依頼元ジョブ管理マネージャ名５０４と、通信データ５００を受信したジョブ管理マネージャ名が一致するかどうかを判断する（ステップ７３７）。
【００９８】
この時、通信データ５００の依頼元ジョブ管理マネージャ名５０４はジョブ管理マネージャ２０６Ｂ、通信データ５００を受信したジョブ管理マネージャ名はジョブ管理マネージャ２０６Ａである。このため、通信データ５００に設定されている依頼元ジョブ管理マネージャ名５０４と、通信データ５００を受信したジョブ管理マネージャ名は一致しない。このため、ジョブ管理マネージャ２０６Ａは、通信データ５００の依頼元ジョブ管理マネージャ名５０４で設定されたジョブ管理マネージャ２０６Ｂに通信データ５００を転送する（ステップ７４０）。
【００９９】
ジョブ管理マネージャ２０６Ｂは、通信データ５００を受け取ると、通信データ５００にジョブ結果転送命令が含まれているかどうかを判断する（ステップ７３６）。通信データ５００にジョブ結果転送命令が含まれている場合、ジョブ管理マネージャ２０６Ｂは、通信データ５００の依頼元ジョブ管理マネージャ名５０４と、通信データ５００を受信したジョブ管理マネージャ名が一致するかどうかを判断する（ステップ７３７）。
【０１００】
この時、通信データ５００の依頼元ジョブ管理マネージャ名５０４はジョブ管理マネージャ２０６Ｂ、通信データ５００を受信したジョブ管理マネージャ名はジョブ管理マネージャ２０６Ｂである。このため、通信データ５００に設定されている依頼元ジョブ管理マネージャ名５０４と、通信データ５００を受信したジョブ管理マネージャ名は一致する。
【０１０１】
通信データ５００に設定されている依頼元ジョブ管理マネージャ名５０４と、通信データ５００を受信したジョブ管理マネージャ名が一致すると、ジョブ管理マネージャ２０６Ｂは、通信データ５００から業務内容を取り出す（ステップ７３８）。
【０１０２】
以上説明したように、上述した実施形態によれば、クラウドコンピューティングにおいて、外部のネットワークと接続できるインスタンスのネットワークが限定された環境においても、ジョブ管理システムの仮想システム（論理ホスト）から外部にジョブを配信したり、ジョブの実行結果を転送したりすることができる。
【０１０３】
また、外部のネットワークと接続できるインスタンスのネットワークが限定された環境において、二重化システムにジョブ管理システムを採用している場合も、ジョブ配信およびジョブの実行結果の転送を実現することができる。
【０１０４】
図１２は、実施形態に係るインスタンスのハードウェア構成を示すブロック図である。なお、図１２では、図２のインスタンス２００のハードウェア構成を例にとるが、図２のインスタンス２０１、２０２、２０３も同様に構成することができる。
【０１０５】
図１２において、インスタンス２００には、プロセッサ１１、通信制御デバイス１２、通信インターフェース１３、主記憶デバイス１４および外部記憶デバイス１５が設けられている。プロセッサ１１、通信制御デバイス１２、通信インターフェース１３、主記憶デバイス１４および外部記憶デバイス１５は、内部バス１６を介して相互に接続されている。
【０１０６】
また、インスタンス２００のヒューマンインターフェースとして、入力デバイス１７および出力デバイス１８が設けられている。入力デバイス１７および出力デバイス１８は、内部バス１６に接続されている。
【０１０７】
プロセッサ１１は、インスタンス２００全体の動作制御を司るハードウェアである。主記憶デバイス１４は、例えば、半導体メモリから構成され、各種プログラムや制御データを一時的に保持する。主記憶デバイス１４は、ジョブ管理マネージャ２０６Ａ、２０６Ｂを実現するためのプログラムを保持することができる。また、主記憶デバイス１４は、ジョブ定義１００およびジョブ配信転送リスト３００を保持することができる。
【０１０８】
外部記憶デバイス１５は、大容量の記憶容量を有する記憶デバイスであり、例えば、ハードディスク装置やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）である。外部記憶デバイス１５は、ジョブ配信プログラム２０を保持することができる。プロセッサ１１がジョブ配信プログラム２０を実行することにより、ジョブ管理マネージャ２０６Ｂがジョブ管理マネージャ２０６Ａにジョブの配信の代行を依頼する機能を実現することができる。
【０１０９】
インスタンス２０１もインスタンス２００と同様にジョブ配信プログラム２０を保持することができる。各インスタンス２０２、２０３はジョブ結果返却プログラムを保持することができる。この時、例えば、インスタンス２０３のプロセッサがジョブ結果返却プログラムを実行することにより、ジョブ実行エージェント２１４Ｂがジョブ実行エージェント２１４Ａにジョブの実行結果の返却の代行を依頼する機能を実現することができる。
【０１１０】
通信制御デバイス１２は、外部との通信を制御する機能を有するハードウェアである。通信制御デバイス１２は、通信インターフェース１３を介してネットワーク１９に接続される。入力デバイス１７は、ジョブ管理システムのユーザが各種操作入力を行うためのキーボードやマウスなどを含むことができる。出力デバイス１８は各種情報を表示するための液晶ディスプレイなどを含むことができる。
【符号の説明】
【０１１１】
２００〜２０３…インスタンス、２０４、２０５…ＶＰＣ、２０６Ａ、２０７Ａ…ジョブ管理マネージャ、２０６Ｂ、２０７Ｂ…ジョブ管理マネージャの論理ホスト、２１３Ａ、２１４Ａ…ジョブ実行エージェント、２１３Ｂ、２１４Ｂ…ジョブ実行エージェントの論理ホスト、２０９、２１１、２１６、２１８…ＶＰＣ内ネットワーク、２１０、２１２、２１７、２１９…ＶＰＣ間ネットワーク
【図１】
2019120966.tif 000003
【図２】
2019120966.tif 000004
【図３】
2019120966.tif 000005
【図４】
2019120966.tif 000006
【図５】
2019120966.tif 000007
【図６】
2019120966.tif 000008
【図７】
2019120966.tif 000009
【図８】
2019120966.tif 000010
【図９】
2019120966.tif 000011
【図１０】
2019120966.tif 000012
【図１１】
2019120966.tif 000013
【図１２】
2019120966.tif 000014