特許第6858114号(P6858114)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立ソリューションズの特許一覧

特許6858114ジョブ管理システムおよびジョブ管理装置
<>
  • 特許6858114-ジョブ管理システムおよびジョブ管理装置 図000002
  • 特許6858114-ジョブ管理システムおよびジョブ管理装置 図000003
  • 特許6858114-ジョブ管理システムおよびジョブ管理装置 図000004
  • 特許6858114-ジョブ管理システムおよびジョブ管理装置 図000005
  • 特許6858114-ジョブ管理システムおよびジョブ管理装置 図000006
  • 特許6858114-ジョブ管理システムおよびジョブ管理装置 図000007
  • 特許6858114-ジョブ管理システムおよびジョブ管理装置 図000008
  • 特許6858114-ジョブ管理システムおよびジョブ管理装置 図000009
  • 特許6858114-ジョブ管理システムおよびジョブ管理装置 図000010
  • 特許6858114-ジョブ管理システムおよびジョブ管理装置 図000011
  • 特許6858114-ジョブ管理システムおよびジョブ管理装置 図000012
  • 特許6858114-ジョブ管理システムおよびジョブ管理装置 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6858114
(24)【登録日】2021年3月25日
(45)【発行日】2021年4月14日
(54)【発明の名称】ジョブ管理システムおよびジョブ管理装置
(51)【国際特許分類】
   G06F 9/54 20060101AFI20210405BHJP
   G06F 9/50 20060101ALI20210405BHJP
   G06F 9/455 20060101ALI20210405BHJP
   G06F 11/20 20060101ALI20210405BHJP
【FI】
   G06F9/54 Z
   G06F9/50 150Z
   G06F9/455 150
   G06F11/20 620
【請求項の数】8
【全頁数】21
(21)【出願番号】特願2017-252931(P2017-252931)
(22)【出願日】2017年12月28日
(65)【公開番号】特開2019-120966(P2019-120966A)
(43)【公開日】2019年7月22日
【審査請求日】2020年1月27日
(73)【特許権者】
【識別番号】000233055
【氏名又は名称】株式会社日立ソリューションズ
(74)【代理人】
【識別番号】110000279
【氏名又は名称】特許業務法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】田原 純一
【審査官】 清木 泰
(56)【参考文献】
【文献】 特開2017−068480(JP,A)
【文献】 特開2014−200010(JP,A)
【文献】 特開2013−218449(JP,A)
【文献】 舘岡守,今井智明,永淵恭子,間瀬哲也,三浦悟,柳瀬任章,Amazon Web Services 実践入門,株式会社技術評論社,2017年 2月28日,初版第4刷,pp.134〜137
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/455− 9/54
G06F15/16 −15/177
G06F11/16 −11/20
G06F13/00
G06F 8/00 −8/38
G06F 8/60 −8/77
G06F 9/44 −9/445
G06F 9/451
H04L12/00 −12/26
H04L12/50 −12/955
(57)【特許請求の範囲】
【請求項1】
第1VPC(Virtual Private Cloud)が構築された第1インスタンスと、
第2VPCが構築された第2インスタンスとを備え、
前記第1インスタンスは、
第1ジョブ管理マネージャと、
前記第1ジョブ管理マネージャの論理ホストである第2ジョブ管理マネージャとを備え、
前記第2インスタンスは、
第1ジョブ実行エージェントと、
前記第1ジョブ実行エージェントの論理ホストである第2ジョブ実行エージェントとを備え、
前記第1ジョブ管理マネージャは、前記第1VPC内で接続可能かつ前記第2VPCと接続可能であり、
前記第2ジョブ管理マネージャは、前記第1VPC内で接続可能かつ前記第2VPCと接続不可能であり、
前記第1ジョブ実行エージェントは、前記第2VPC内で接続可能かつ前記第1VPCと接続可能であり、
前記第2ジョブ実行エージェントは、前記第2VPC内で接続可能かつ前記第1VPCと接続不可能であり、
前記第2ジョブ管理マネージャは、前記第1ジョブ管理マネージャにジョブの配信の代行を依頼することにより、前記第2ジョブ実行エージェントに前記ジョブを配信するジョブ管理システム。
【請求項2】
前記第2ジョブ実行エージェントは、前記第1ジョブ実行エージェントに前記ジョブの実行結果の返却の代行を依頼することにより、前記第2ジョブ管理マネージャに前記ジョブの実行結果を返却する請求項1に記載のジョブ管理システム。
【請求項3】
前記第2VPCが2重化されている時に、前記第1ジョブ管理マネージャは、前記第2VPCにおける前記ジョブの配信先のインスタンスを確認する請求項1に記載のジョブ管理システム。
【請求項4】
前記第1VPCが2重化されている時に、前記第1ジョブ実行エージェントは、前記第1VPCにおける前記ジョブの実行結果の返却先のインスタンスを確認する請求項2に記載のジョブ管理システム。
【請求項5】
第1VPC(Virtual Private Cloud)が構築された第1インスタンスに設けられたホストと、
前記第1VPCが構築された前記第1インスタンスに設けられた論理ホストとを備え、
前記ホストは、前記第1VPC内で接続可能かつ前記第1VPCと異なる第2VPCと接続可能であり、
前記論理ホストは、前記第1VPC内で接続可能かつ第2VPCと接続不可能であり、
前記論理ホストは、前記ホストにジョブの配信の代行を依頼することにより、前記第2VPCが構築された第2インスタンスに前記ジョブを配信するジョブ管理装置。
【請求項6】
前記第2VPCが2重化されている時に、前記ホストは、前記第2VPCにおける前記ジョブの配信先のインスタンスを確認する請求項5に記載のジョブ管理装置。
【請求項7】
第1VPC(Virtual Private Cloud)が構築された第1インス
タンスに設けられたホストと、
前記第1VPCが構築された前記第1インスタンスに設けられた論理ホストとを備え、
前記ホストは、前記第1VPC内で接続可能かつ前記第1VPCと異なる第2VPCと接続可能であり、
前記論理ホストは、前記第1VPC内で接続可能かつ前記第2VPCと接続不可能であり、
前記論理ホストは、前記ホストにジョブの実行結果の返却の代行を依頼することにより、前記第2VPCが構築された第2インスタンスに前記ジョブの実行結果を返却するジョブ管理装置。
【請求項8】
前記第2VPCが2重化されている時に、前記ホストは、前記第2VPCにおける前記ジョブの実行結果の返却先のインスタンスを確認する請求項7に記載のジョブ管理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クラウドコンピューティングによるジョブ管理システムおよびジョブ管理装置に関する。
【背景技術】
【0002】
各種業務を遂行するコンピュータシステムにおいて、日々の業務を計画的にスケジューリングし、自動的に実行するため、ジョブ管理システムが利用されている。
ジョブ管理システムは、実行する業務をジョブという単位で管理する。そして、ジョブごとに運用日や休業日を設定したカレンダーを指定することや、ジョブの実行スケジュールとして日次または月次などの各種処理サイクルを指定することによって、様々な業務サイクルに合わせてジョブをスケジューリングすることができる。
【0003】
また、ジョブ管理システムには、ジョブを実際に実行するコンピュータ(以下、ジョブ実行エージェントと言う)が複数台あり、ジョブ実行エージェントのジョブ実行を管理するコンピュータ(以下、ジョブ管理マネージャと言う)が1台ある。これは、業務の負荷分散およびマルチプラットフォームの業務実行を実現するためである。
ジョブ管理マネージャは、ネットワークを介してジョブ実行エージェントにジョブを配信し、ジョブ実行エージェントはジョブの実行結果をジョブ管理マネージャに返却する。
【0004】
ジョブ管理システムの環境には、物理ホストと論理ホストがあり、物理ホストはジョブ管理システムをインストールしたコンピュータシステムに構築される環境である。
論理ホストは、ジョブ管理システムをインストールしたコンピュータシステムで物理ホスト以外のジョブ管理システムを複数使用する時に、コンピュータシステム内に構築する仮想的なコンピュータシステムである。なお、ジョブ管理システムの論理ホストには、他のコンピュータシステムのジョブ管理システムにジョブを配信したり、ジョブ実行結果を返却したりできるように、他のコンピュータシステムと通信できるネットワークを設定する。
【0005】
コンピュータシステムには、様々な要因によるシステムの障害が発生する危険性があるが、サービスの中には24時間365日の連続稼働が求められているサービスがある。
そのため、コンピュータシステムの高信頼化を図るために、相互に切り替え可能である稼働系と待機系の2つのコンピュータシステムに対して、共有のデータ記憶装置を接続した二重化システムがある。
【0006】
業務を扱うジョブ管理システムでは、連続稼働に対応するために、二重化システムの稼働系と待機系の2つのコンピュータシステムに同名の論理ホストを構築し、共有のデータ記憶装置に論理ホストのデータを配置し、稼働系と待機系の論理ホストで同じIPアドレスを共有する。これにより、稼働系と待機系の2つのコンピュータシステムを1台のコンピュータシステムと見立て、システムの障害が発生しても業務を継続できる。
【0007】
クラウドコンピューティングでは、仮想マシンのような概念のインスタンスがあり、ネットワークにつながった単一または複数のインスタンスで仮想的なネットワーク(以下、VPC(Virtual Private Cloud)と言う)を構築する。
ジョブ管理システムをクラウドコンピューティングで運用する場合、インスタンスにジョブ管理システムをインストールし、ジョブ管理システムの論理ホストもインスタンスに構築し、インスタンスで使用できるネットワークを割り当てる。
なお、ジョブ管理システムによるジョブ配信は、VPC内のインスタンス間および異なるVPCのインスタンス間で行う。
【0008】
クラウドコンピューティングにおいて二重化システムによりジョブ管理システムを運用する場合、VPC内の2つのインスタンスを稼働系と待機系とし、稼働系のインスタンスと待機系のインスタンスに同名のジョブ管理システムの論理ホストを構築し、障害発生時にはインスタンスを切替える。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2017−68480号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
クラウドコンピューティングのインスタンスで使用できるネットワークには、VPC内のインスタンス同士で接続できるネットワークと、他のVPCのインスタンスと接続できるネットワークの2種類ある。この時、他のVPCのインスタンスと接続できるネットワークの数が制限されていることがあり、場合によっては1つに制限される。
【0011】
このため、ジョブ管理システムの論理ホストにVPC内のインスタンス同士で接続できるネットワークが割り当てられる可能性があり、ジョブ管理システムの論理ホストから異なるVPCのインスタンスに構築したジョブ管理システムの物理ホストまたは論理ホストにジョブを配信できないことがあった。
【0012】
また、二重化システムでジョブ管理システムを運用している場合、ジョブ管理システムの論理ホストのネットワークは、稼働系と待機系のインスタンスでIPアドレスを共有することができず、異なるVPCのインスタンスと接続できない。このため、二重化システムのどちらのインスタンスでジョブの配信先のジョブ実行エージェントの論理ホストが起動しているか確認することができず、ジョブを配信すべきインスタンスが判断できなかった。
【0013】
本発明は、上記事情に鑑みなされたものであり、その目的は、VPCが異なるインスタンスと接続できるネットワークが論理ホストに割り当てられていない場合においても、VPCが異なるインスタンスの論理ホストにジョブを配信することが可能なジョブ管理システムおよびジョブ管理装置を提供することにある。
【課題を解決するための手段】
【0014】
上記目的を達成するため、第1の観点に係るジョブ管理システムは、第1VPCが構築された第1インスタンスと、第2VPCが構築された第2インスタンスとを備える。前記第1インスタンスは、第1ジョブ管理マネージャと、前記第1ジョブ管理マネージャの論理ホストである第2ジョブ管理マネージャとを備える。前記第2インスタンスは、第1ジョブ実行エージェントと、前記第1ジョブ実行エージェントの論理ホストである第2ジョブ実行エージェントとを備える。前記第1ジョブ管理マネージャは、前記第1VPC内で接続可能かつ前記第2VPCと接続可能である。前記第2ジョブ管理マネージャは、前記第1VPC内で接続可能かつ前記第2VPCと接続不可能である。前記第1ジョブ実行エージェントは、前記第2VPC内で接続可能かつ前記第1VPCと接続可能である。前記第2ジョブ実行エージェントは、前記第2VPC内で接続可能かつ前記第1VPCと接続不可能である。前記第2ジョブ管理マネージャは、前記第1ジョブ管理マネージャにジョブの配信の代行を依頼することにより、前記第2ジョブ実行エージェントに前記ジョブを配信する。
【発明の効果】
【0015】
本発明によれば、VPCが異なるインスタンスと接続できるネットワークが論理ホストに割り当てられていない場合においても、VPCが異なるインスタンスの論理ホストにジョブを配信することができる。
【図面の簡単な説明】
【0016】
図1図1は、実施形態に係るジョブ管理システムで用いられるジョブ定義の内容を示す図である。
図2図2は、実施形態に係るジョブ管理システムの構成を示すブロック図である。
図3図3は、実施形態に係るジョブ管理システムのジョブ配信に用いられるジョブ配信転送リストを示す図である。
図4図4は、ジョブ管理マネージャがジョブを配信する時に作成するジョブ配信転送の通信データを示す図である。
図5図5は、ジョブ実行エージェントがジョブの実行結果を返却する時に作成するジョブ結果転送の通信データを示す図である。
図6図6は、ジョブ管理マネージャ206Bがジョブ実行エージェント214Bにジョブの実行を依頼した時のデータの流れを示すブロック図である。
図7図7は、依頼元ジョブ管理マネージャがジョブの配信を開始する時の概要を示すフローチャートである。
図8図8は、代行ジョブ管理マネージャがジョブを配信するインスタンスを確認する時の処理の概要を示すフローチャートである。
図9図9は、代行ジョブ実行エージェントおよび依頼先ジョブ実行エージェントの処理の概要を示すフローチャートである。
図10図10は、代行ジョブ実行エージェントがジョブの結果を転送するインスタンスを確認する時の処理の概要を示すフローチャートである。
図11図11は、代行ジョブ管理マネージャまたは依頼元ジョブ管理マネージャがジョブの実行結果を取得する時の処理の概要を示すフローチャートである。
図12図12は、実施形態に係るインスタンスのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0017】
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
なお、ジョブとは、コンピュータが処理する仕事の単位を意味し、各種業務に対応した外部プログラムを定義できるものである。
【0018】
また、ジョブ管理マネージャはネットワークを介してジョブ実行エージェントにジョブを配信し、ジョブの実行結果を受け取る。ジョブの配信先であるジョブ実行エージェントの指定方法は、ジョブ管理マネージャのジョブ定義に設定する。
【0019】
以下の実施形態では、ジョブ管理システムに2個のVPCが設けられ、各VPCが稼働系と待機系を持つ二重化システムである場合を例にとるが、どちらか一方のVPCは稼働系のみが設けられた単一システムであってもよいし、両方のVPCは稼働系のみが設けられた単一システムであってもよい。また、ジョブ管理システムに3個以上のVPCが設けられていてもよい。
【0020】
図1は、実施形態に係るジョブ管理システムで用いられるジョブ定義の内容を示す図である。
図1において、ジョブ定義100には、ジョブ管理マネージャの利用者がジョブに任意の名前をつけるジョブ名101、ジョブ実行エージェントで実行する業務内容102、ジョブの配信先のジョブ実行エージェント名103を設定する。図1では、ジョブ名101としてTEST、業務内容102として業務A1、ジョブ実行エージェント名103としてホストA2を設定した例を示した。ジョブ定義100はジョブ管理マネージャに設定することができる。
【0021】
図2は、実施形態に係るジョブ管理システムの構成を示すブロック図である。
図2において、ジョブ管理システムには、インスタンス200〜203が設けられている。インスタンス200、201にてVPC204が構築されている。インスタンス202、203にてVPC205が構築されている。インスタンス200〜203は、それぞれ1台のコンピュータに設けることができる。
【0022】
インスタンス200、201は二重化システムを構成し、インスタンス200は稼働系として動作し、インスタンス201は待機系として動作することができる。インスタンス202、203は二重化システムを構成し、インスタンス202は稼働系として動作し、インスタンス203は待機系として動作することができる。
【0023】
インスタンス200には、ジョブ管理マネージャ206A、206Bが設けられている。ジョブ管理マネージャ206Aは物理ホストとして動作することができる。ジョブ管理マネージャ206Bは、ジョブ管理マネージャ206Aの論理ホストとして動作することができる。
【0024】
物理ホストはジョブ管理システムをインストールしたコンピュータに構築される物理的な環境である。論理ホストは、ジョブ管理システムを実現するプログラムがインストールされたコンピュータに構築される仮想的な環境である。論理ホストは、物理ホスト以外にジョブ管理システムを1台のコンピュータで複数使用する時に構築することができる。論理ホストは、物理ホストとともにインスタンス200〜203ごとに持つことができる。
【0025】
インスタンス201には、ジョブ管理マネージャ207A、207Bが設けられている。ジョブ管理マネージャ207Aは物理ホストとして動作することができる。ジョブ管理マネージャ207Bは、ジョブ管理マネージャ207Aの論理ホストとして動作することができる。
【0026】
インスタンス202には、ジョブ実行エージェント213A、213Bが設けられている。ジョブ実行エージェント213Aは物理ホストとして動作することができる。ジョブ実行エージェント213Bは、ジョブ実行エージェント213Aの論理ホストとして動作することができる。インスタンス203には、ジョブ実行エージェント214A、214Bが設けられている。ジョブ実行エージェント214Aは物理ホストとして動作することができる。ジョブ実行エージェント214Bは、ジョブ実行エージェント214Aの論理ホストとして動作することができる。
【0027】
ジョブ管理マネージャ206A、206B、207A、207Bは、ジョブ実行エージェント213A、213B、214A、214Bのジョブ実行を管理する。ジョブ実行エージェント213A、213B、214A、214Bは、ジョブを実際に実行する。
【0028】
ジョブ管理マネージャ206A、206BはVPC内ネットワーク209を介して互いに接続されている。ジョブ管理マネージャ206AはVPC間ネットワーク210に接続されている。
ジョブ管理マネージャ207A、207BはVPC内ネットワーク211を介して互いに接続されている。ジョブ管理マネージャ207AはVPC間ネットワーク212に接続されている。
ジョブ実行エージェント213A、213BはVPC内ネットワーク216を介して互いに接続されている。ジョブ実行エージェント213AはVPC間ネットワーク217に接続されている。
ジョブ実行エージェント214A、214BはVPC内ネットワーク218を介して互いに接続されている。ジョブ実行エージェント214AはVPC間ネットワーク219に接続されている。
【0029】
この時、ジョブ管理マネージャ206Aは、VPC204内で接続可能かつVPC205と接続可能である。ジョブ管理マネージャ206Bは、VPC204内で接続可能かつVPC205と接続不可能である。
ジョブ管理マネージャ207Aは、VPC204内で接続可能かつVPC205と接続可能である。ジョブ管理マネージャ207Bは、VPC204内で接続可能かつVPC205と接続不可能である。
ジョブ実行エージェント213Aは、VPC205内で接続可能かつVPC204と接続可能である。ジョブ実行エージェント213Bは、VPC205内で接続可能かつVPC204と接続不可能である。
ジョブ実行エージェント214Aは、VPC205内で接続可能かつVPC204と接続可能である。ジョブ実行エージェント214Bは、VPC205内で接続可能かつVPC204と接続不可能である。
【0030】
この時、ジョブ管理マネージャ206Bは、VPC205のインスタンス202、203と接続できるVPC間ネットワーク217、219に接続されていない。このため、ジョブ管理マネージャ206Bは、ジョブ実行エージェント214Bにジョブを直接配信することができない。また、ジョブ管理マネージャ206Bは、VPC205のどちらのインスタンス202、203が起動しているのかを直接確認することができず、ジョブを配信すべきインスタンス202、203を判断することができない。
【0031】
さらに、ジョブ実行エージェント214Bは、VPC204のインスタンス200、201と接続できるVPC間ネットワーク217、219に接続されていない。このため、ジョブ実行エージェント214Bは、ジョブ管理マネージャ206Bにジョブの実行結果を直接返却することができない。また、ジョブ実行エージェント214Bは、VPC204のどちらのインスタンス200、201が起動しているのかを直接確認することができず、ジョブの実行結果を返却すべきインスタンス200、201を判断することができない。
【0032】
ここで、ジョブ管理マネージャ206Bがジョブ実行エージェント214Bにジョブを配信できるようにするために、ジョブ管理マネージャ206Bは、ジョブ管理マネージャ206Aにジョブの配信の代行を依頼する。ジョブ管理マネージャ206Aは、VPC205のインスタンス202、203と接続できるVPC間ネットワーク217、219にVPC間ネットワーク210を介して接続されている。このため、ジョブ管理マネージャ206Aは、ジョブ管理マネージャ206Bから依頼されたジョブをジョブ実行エージェント214Bに配信することができる。また、ジョブ管理マネージャ206Aは、VPC205のどちらのインスタンス202、203が起動しているのかを確認することができ、ジョブを配信すべきインスタンス202、203を判断することができる。
【0033】
さらに、ジョブ実行エージェント214Bがジョブ管理マネージャ206Bにジョブの実行結果を返却できるようにするために、ジョブ実行エージェント214Bは、ジョブ実行エージェント214Aにジョブの実行結果の返却の代行を依頼する。ジョブ実行エージェント214Aは、VPC204のインスタンス200、201と接続できるVPC間ネットワーク210、212にVPC間ネットワーク219を介して接続されている。このため、ジョブ実行エージェント214Aは、ジョブ実行エージェント214Bから依頼されたジョブの実行結果をジョブ管理マネージャ206Bに返却することができる。また、ジョブ実行エージェント214Aは、VPC204のどちらのインスタンス200、201が起動しているのかを確認することができ、ジョブの実行結果を返却すべきインスタンス200、201を判断することができる。
【0034】
これにより、クラウドコンピューティングにおいて他のVPCのインスタンスと接続できるネットワークの数が制限され、他のVPCのインスタンスと接続できるネットワークが論理ホストに割り当てられていない場合においても、その論理ホストは、他のVPCのインスタンスにジョブを配信したり、ジョブの実行結果を返却したりすることができる。
【0035】
図3は、実施形態に係るジョブ管理システムのジョブ配信に用いられるジョブ配信転送リストを示す図である。なお、以下の説明では、他のVPCのインスタンスと通信できるネットワークに接続されていないジョブ管理マネージャがジョブの配信の代行を依頼するジョブ管理マネージャを、代行ジョブ管理マネージャと言う。他のVPCのインスタンスと通信できるネットワークに接続されていないジョブ実行エージェントがジョブの実行結果の返却の代行を依頼するジョブ実行エージェントを、代行ジョブ実行エージェントと言う。
【0036】
図3において、他のVPCのインスタンスと通信できるネットワークに接続されていないジョブ管理マネージャは、ジョブの配信の代行を依頼するためのジョブ配信転送リスト300を保持することができる。ジョブ配信転送リスト300は、ジョブ配信元のジョブ管理マネージャからジョブ配信先のジョブ実行エージェントまでの転送経路を定義する。
【0037】
ジョブ配信転送リスト300には、稼働系インスタンスのジョブ実行エージェント名301、待機系インスタンスのジョブ実行エージェント名302、稼働系インスタンスのジョブ管理マネージャ名303、待機系インスタンスのジョブ管理マネージャ名304および依頼先ジョブ実行エージェント名305を設定することができる。
【0038】
稼働系インスタンスのジョブ実行エージェント名301は、ジョブの配信時に代行ジョブ管理マネージャが、通信データを転送するジョブ実行エージェント名である。二重化システムを使用している環境では、稼働系インスタンスのジョブ実行エージェント名301に設定したジョブ実行エージェントから起動を確認する。
【0039】
待機系インスタンスのジョブ実行エージェント名302は、二重化システムを使用している環境で、稼働系インスタンスのジョブ実行エージェント名301に設定したジョブ実行エージェントが起動していない時に起動を確認するジョブ実行エージェント名である。二重化システムではない環境では、−を定義することができる。
【0040】
稼働系インスタンスのジョブ管理マネージャ名303は、ジョブの実行結果の転送時に代行ジョブ実行エージェントが、通信データを転送するジョブ管理マネージャ名である。二重化システムを使用している環境では、稼働系インスタンスのジョブ管理マネージャ名303に設定したジョブ管理マネージャから起動を確認する。
【0041】
待機系インスタンスのジョブ管理マネージャ名304は、二重化システムを使用している環境で、稼働系インスタンスのジョブ管理マネージャ名303に設定したジョブ管理マネージャが起動していない時に起動を確認するジョブ管理マネージャ名である。二重化システムではない環境では、−を定義することができる。
【0042】
依頼先ジョブ実行エージェント名305は、ジョブの配信先のジョブ実行エージェント名である。
【0043】
稼働系および待機系が二重化されたシステムでは、ジョブ配信転送リスト300には、ジョブ実行エージェントA,ジョブ実行エージェントB,ジョブ管理マネージャC,ジョブ管理マネージャD,ジョブ実行エージェントEと設定することができる。稼働系が二重化され、待機系が二重化されていないシステムでは、ジョブ配信転送リスト300には、ジョブ実行エージェントA,−,ジョブ管理マネージャC,ジョブ管理マネージャD,ジョブ実行エージェントEと設定することができる。稼働系および待機系が二重化されていないシステムでは、ジョブ配信転送リスト300には、ジョブ実行エージェントA,−,ジョブ管理マネージャC,−,ジョブ実行エージェントEと設定することができる。
【0044】
そして、ジョブ管理マネージャ206Bがジョブ実行エージェント214Bにジョブの配信を行う場合、そのジョブ管理マネージャ206Bは、ジョブ配信転送リスト300に基づいてジョブ配信の転送経路を含めた通信データ400を作成する。そして、インスタンス203が起動している場合、通信データ400は、代行ジョブ管理マネージャ206A(または代行ジョブ管理マネージャ207A)および代行ジョブ実行エージェント214Aを順次介してジョブ実行エージェント214Bに到着する。
【0045】
ジョブ実行エージェント214Bがジョブ管理マネージャ206Bにジョブの実行結果の返却を行う場合、そのジョブ実行エージェント214Bは、通信データ400に基づいてジョブの実行結果の返却の転送経路を含めた通信データ500を作成する。そして、インスタンス200が起動している場合、通信データ500は、代行ジョブ実行エージェント213A(または代行ジョブ実行エージェント214A)および代行ジョブ管理マネージャ206Aを順次介してジョブ管理マネージャ206Bに到着する。
【0046】
図4は、ジョブ管理マネージャがジョブを配信する時に作成するジョブ配信転送の通信データを示す図である。
図4において、ジョブ管理マネージャ206Bがジョブ実行エージェント214Bにジョブの配信を行う場合、ジョブ管理マネージャ206Bは、ジョブ配信転送リスト300から通信データ400を作成し、代行ジョブ管理マネージャ206Aに転送することができる。
【0047】
通信データ400には、ジョブ配信転送命令401、依頼元ジョブ管理マネージャ名402、稼働系インスタンスのジョブ実行エージェント名403、待機系インスタンスのジョブ実行エージェント名404、稼働系インスタンスのジョブ管理マネージャ名405、待機系インスタンスのジョブ管理マネージャ名406、依頼先ジョブ実行エージェント名407、ジョブ名408および業務内容409を設定することができる。
【0048】
ジョブ配信転送命令401は、通信データ400がジョブ配信転送依頼であることを示す。ジョブ配信転送命令401は、ジョブ管理マネージャ206Bが作成する。依頼元ジョブ管理マネージャ名402は、ジョブの配信を依頼したジョブ管理マネージャ名である。依頼元ジョブ管理マネージャ名402は、ジョブ管理マネージャ206Bが作成する。稼働系インスタンスのジョブ実行エージェント名403は、ジョブ配信転送リスト300の稼働系インスタンスのジョブ実行エージェント名301に定義した内容である。待機系インスタンスのジョブ実行エージェント名404は、ジョブ配信転送リスト300の待機系インスタンスのジョブ実行エージェント名302に定義した内容である。稼働系インスタンスのジョブ管理マネージャ名405は、ジョブ配信転送リスト300の稼働系インスタンスのジョブ管理マネージャ名303に定義した内容である。待機系インスタンスのジョブ管理マネージャ名406は、ジョブ配信転送リスト300の待機系インスタンスのジョブ管理マネージャ名304に定義した内容である。依頼先ジョブ実行エージェント名407は、ジョブ配信転送リスト300の依頼先ジョブ実行エージェント名305に定義した内容である。ジョブ名408は、ジョブ定義100のジョブ名101に定義した内容である。業務内容409は、ジョブ定義100の業務内容102に定義した内容である。
【0049】
図5は、ジョブ実行エージェントがジョブの実行結果を返却する時に作成するジョブ結果転送の通信データを示す図である。
図5において、ジョブ実行エージェント214Bがジョブ管理マネージャ206Bにジョブの実行結果の返却を行う場合、そのジョブ実行エージェント214Bは、通信データ400から通信データ500を作成し、代行ジョブ実行エージェント214Aに転送することができる。
【0050】
通信データ500には、ジョブ結果転送命令501、稼働系インスタンスのジョブ管理マネージャ名502、待機系インスタンスのジョブ管理マネージャ名503、ジョブ結果の転送先ジョブ管理マネージャ名504、ジョブ名505および業務の実行結果506を設定することができる。
【0051】
ジョブ結果転送命令501は、通信データ500がジョブ結果転送依頼であることを示す。ジョブ結果転送命令501は、ジョブ実行エージェント214Bが作成する。稼働系インスタンスのジョブ管理マネージャ名502は、稼働系インスタンスのジョブ管理マネージャ名303に定義した内容である。稼働系インスタンスのジョブ管理マネージャ名502は、通信データ400の稼働系インスタンスのジョブ管理マネージャ名405から作成する。待機系インスタンスのジョブ管理マネージャ名503は、待機系インスタンスのジョブ管理マネージャ名304に定義した内容である。待機系インスタンスのジョブ管理マネージャ名503は、通信データ400の待機系インスタンスのジョブ管理マネージャ名406から作成する。依頼元ジョブ管理マネージャ名504は、ジョブの配信を依頼したジョブ管理マネージャ名である。依頼元ジョブ管理マネージャ名504は、通信データ400の依頼元ジョブ管理マネージャ名402から作成する。ジョブ名505は、ジョブ名101に定義した内容である。ジョブ名505は、通信データ400のジョブ名408から作成する。業務の実行結果506は、業務内容102の実行結果である。業務の実行結果506は、ジョブ実行エージェント214Bが作成する。
【0052】
図6は、ジョブ管理マネージャ206Bがジョブ実行エージェント214Bにジョブの実行を依頼した時のデータの流れを示すブロック図である。
図6において、ジョブ管理マネージャ206Bは、ジョブ名がTEST、業務内容が業務A1のジョブの実行をジョブ実行エージェント214Bに依頼するものとする。ここで、VPC204では稼働系のインスタンス200が起動し、VPC205では待機系のインスタンス203が起動しているものとする。
【0053】
この時、ジョブ管理マネージャ206Bは、ジョブ定義601とジョブ配信転送リスト600を保持する。ジョブ定義601には、ジョブ名にTESTと設定され、業務内容に業務A1と設定されている。ジョブ実行エージェント名602として214Bと設定されている。
【0054】
また、ジョブ配信転送リスト600には、稼働系インスタンスのジョブ実行エージェント名603としてジョブ実行エージェント213Aと設定され、待機系インスタンスのジョブ実行エージェント名604としてジョブ実行エージェント214Aと設定され、稼働系インスタンスのジョブ管理マネージャ名605としてジョブ管理マネージャ206Aと設定され、待機系インスタンスのジョブ管理マネージャ名606としてジョブ管理マネージャ207Aと設定され、依頼先ジョブ実行エージェント名607としてジョブ実行エージェント214Bと設定される。
【0055】
そして、ジョブ管理マネージャ206Bは、ジョブ定義601およびジョブ配信転送リスト600から通信データ400を作成する。通信データ400において、依頼元ジョブ管理マネージャ名402には、ジョブ管理マネージャ206Bと設定され、稼働系インスタンスのジョブ実行エージェント名403には、ジョブ実行エージェント213Aと設定され、待機系インスタンスのジョブ実行エージェント名404には、ジョブ実行エージェント214Aと設定され、稼働系インスタンスのジョブ管理マネージャ名405には、ジョブ管理マネージャ206Aと設定され、待機系インスタンスのジョブ管理マネージャ名406には、ジョブ管理マネージャ207Aと設定され、依頼先ジョブ実行エージェント名407には、ジョブ実行エージェント214Bと設定され、ジョブ名408には、TESTと設定され、業務内容409には、業務A1と設定される。通信データ400には、ジョブ配信転送命令401というヘッダが付加される。
【0056】
そして、ジョブ管理マネージャ206Bはジョブ管理マネージャ206Aに通信データ400を転送することで、ジョブの配信の代行をジョブ管理マネージャ206Aに依頼する(P1)。
【0057】
ジョブ管理マネージャ206Aは、稼働系インスタンスのジョブ実行エージェント名403にジョブ実行エージェント213Aと設定されているのを確認すると、ジョブ実行エージェント213Aと通信を試みる。そして、ジョブ管理マネージャ206Aは、ジョブ実行エージェント213Aとの通信に失敗すると、待機系インスタンスのジョブ実行エージェント名404にジョブ実行エージェント214Aと設定されているのを確認し、ジョブ実行エージェント214Aと通信を試みる。ジョブ管理マネージャ206Aは、ジョブ実行エージェント214Aとの通信に成功すると、ジョブ実行エージェント214Aに通信データ400を転送する(P2)。
【0058】
ジョブ実行エージェント214Aは、依頼先ジョブ実行エージェント名407にジョブ実行エージェント214Bと設定されているのを確認すると、ジョブ実行エージェント214Bに通信データ400を転送する(P3)。
【0059】
ジョブ実行エージェント214Bは、依頼先ジョブ実行エージェント名407にジョブ実行エージェント214Bと設定されているのを確認すると、ジョブ名408がTEST、業務内容409が業務A1であるジョブを実行する。
【0060】
ジョブ実行エージェント214Bは、ジョブ名408がTEST、業務内容409が業務A1であるジョブを実行すると、通信データ400から通信データ500を作成する。通信データ500において、稼働系インスタンスのジョブ管理マネージャ名502には、ジョブ管理マネージャ206Aと設定され、待機系インスタンスのジョブ管理マネージャ名503には、ジョブ管理マネージャ207Aと設定され、ジョブ結果の転送先ジョブ管理マネージャ名504には、ジョブ管理マネージャ206Bと設定され、ジョブ名505には、TESTと設定され、業務の実行結果506には、ジョブ名408がTEST、業務内容409が業務A1であるジョブの実行結果が設定される。通信データ500には、ジョブ結果転送命令501というヘッダが付加される。
【0061】
そして、ジョブ実行エージェント214Bはジョブ実行エージェント214Aに通信データ500を転送することで、ジョブの実行結果の返却の代行をジョブ実行エージェント214Aに依頼する(P4)。
【0062】
ジョブ実行エージェント214Aは、稼働系インスタンスのジョブ管理マネージャ名502にジョブ管理マネージャ206Aと設定されているのを確認すると、ジョブ管理マネージャ206Aと通信を試みる。そして、ジョブ実行エージェント214Aは、ジョブ管理マネージャ206Aとの通信に成功すると、ジョブ管理マネージャ206Aに通信データ500を転送する(P5)。
【0063】
ジョブ管理マネージャ206Aは、依頼元ジョブ管理マネージャ名504にジョブ管理マネージャ206Bと設定されているのを確認すると、ジョブ管理マネージャ206Bに通信データ500を転送する(P6)。
【0064】
ジョブ管理マネージャ206Bは、通信データ500を受信すると、ジョブ名408がTEST、業務内容409が業務A1であるジョブの実行結果を通信データ500から取得することができる。
【0065】
以下、図1のジョブ管理システムのジョブの配信処理およびジョブの実行結果の返却処理を図7図11を参照しながら順を追って説明する。なお、図7図11のフローチャートでは、ジョブ管理マネージャ206Bがジョブの実行をジョブ実行エージェント214Bに依頼するものとする。また、VPC204では稼働系のインスタンス200が起動し、VPC205では待機系のインスタンス203が起動しているものとする。
【0066】
図7は、依頼元ジョブ管理マネージャがジョブの配信を開始する時の概要を示すフローチャートである。
図7において、ジョブ管理マネージャ206BがTESTというジョブ名のジョブの配信を開始すると(ステップ700)、ジョブ配信転送リスト600を参照し、ジョブ配信転送リスト600の依頼先ジョブ実行エージェント名607と、ジョブ定義601のジョブ実行エージェント名602が一致するかどうかを判断する(ステップ701)。
【0067】
ジョブ配信転送リスト600の依頼先ジョブ実行エージェント名607と、ジョブ定義601のジョブ実行エージェント名602が一致する場合、ジョブ定義601とジョブ配信転送リスト600からジョブ配信転送の通信データ400を作成する(ステップ702)。
【0068】
次に、ジョブ管理マネージャ206Bに設定されたVPC204内のみ通信できるVPC内ネットワーク209を使用して、代行ジョブ管理マネージャ206Aに通信データ400を転送する(ステップ703)。
【0069】
一方、ステップ701において、ジョブ配信転送リスト600の依頼先ジョブ実行エージェント名607と、ジョブ定義601のジョブ実行エージェント名602が一致しない場合、ジョブ定義601のジョブ実行エージェント名602のホストにジョブを配信する(ステップ704)。
【0070】
図8は、代行ジョブ管理マネージャがジョブを配信するインスタンスを確認する時の処理の概要を示すフローチャートである。
図8において、代行ジョブ管理マネージャ206Aは、通信データ400を受け取ると、通信データ400にジョブ配信転送命令が含まれているかどうかを判断する(ステップ705)。通信データ400にジョブ配信転送命令が含まれていない場合、図11の処理に進む。
【0071】
一方、通信データ400にジョブ配信転送命令が含まれている場合、代行ジョブ管理マネージャ206Aは、ジョブ配信の転送先インスタンスの起動を確認済みかどうかを判断する(ステップ706)。ジョブ配信の転送先インスタンスの起動を確認済みの場合、代行ジョブ管理マネージャ206Aは、起動を確認済みのインスタンスと通信する(ステップ707)。
【0072】
次に、代行ジョブ管理マネージャ206Aは、インスタンスとの通信に成功したかどうかを判断する(ステップ708)。インスタンスとの通信に成功した場合、代行ジョブ管理マネージャ206Aは、通信できたインスタンスに通信データ400を送信する(ステップ709)。
【0073】
次に、代行ジョブ管理マネージャ206Aは、ジョブ配信の転送先インスタンスを確認済みの状態に変更し、確認済みの転送先インスタンスとして、通信データ400を送信したインスタンス名を記憶する(ステップ710)。
【0074】
一方、ステップ706において、ジョブ配信の転送先インスタンスの起動を未確認の場合、転送先インスタンスの起動状態を確認するために、代行ジョブ管理マネージャ206Aは、稼働系のインスタンス202のジョブ実行エージェント213Aと通信し(ステップ711)、インスタンスとの通信に成功したかどうかを判断する(ステップ708)。
【0075】
この時、ジョブ実行エージェント214A、214Bは待機系のインスタンス203で稼働しているため、稼働系のインスタンス202のジョブ実行エージェント213Aとの通信に失敗する。稼働系のインスタンス202のジョブ実行エージェント213Aとの通信に失敗すると、通信データ400に含まれるインスタンス中に通信してないインスタンスがあるかどうかを判断する(ステップ712)。
【0076】
通信データ400に含まれるインスタンス中に通信してないインスタンスがない場合、ジョブの配信に失敗する(ステップ715)。
【0077】
一方、通信データ400に含まれるインスタンス中に通信してないインスタンスがある場合、代行ジョブ管理マネージャ206Aは、待機系のインスタンスのジョブ実行エージェント214Aと通信し、インスタンスとの通信に成功したかどうかを判断する(ステップ713)。この時、待機系のインスタンス203のジョブ実行エージェント214Aは起動しているので、代行ジョブ管理マネージャ206Aは、インスタンス203との通信に成功し、待機系のインスタンス203のジョブ実行エージェント214Aに通信データ400を転送する(ステップ714)。ジョブ実行エージェント214Aに通信データ400を転送すると、ステップ710に進む。
【0078】
図9は、代行ジョブ実行エージェントおよび依頼先ジョブ実行エージェントの処理の概要を示すフローチャートである。
図9において、ジョブ実行エージェント214Aは、通信データ400を受け取ると、通信データ400にジョブ配信転送命令が含まれているかどうかを判断する(ステップ716)。通信データ400にジョブ配信転送命令が含まれていない場合、図10の処理に進む。
【0079】
一方、通信データ400にジョブ配信転送命令が含まれている場合、ジョブ実行エージェント214Aは、通信データ400の依頼先ジョブ実行エージェント名407と、通信データ400を受信したジョブ実行エージェント名が一致するかどうかを判断する(ステップ717)。
【0080】
この時、通信データ400の依頼先ジョブ実行エージェント名407はジョブ実行エージェント214B、通信データ400を受信したジョブ実行エージェント名はジョブ実行エージェント214Aである。このため、通信データ400に設定されている依頼先ジョブ実行エージェント名407と、通信データ400を受信したジョブ実行エージェント名は一致しない。このため、ジョブ実行エージェント214Aは、通信データ400の依頼先ジョブ実行エージェント名407で設定されたジョブ実行エージェント214Bに通信データ400を転送する(ステップ723)。
【0081】
ジョブ実行エージェント214Bは、通信データ400を受け取ると、通信データ400にジョブ配信転送命令が含まれているかどうかを判断する(ステップ716)。通信データ400にジョブ配信転送命令が含まれていない場合、図10の処理に進む。
【0082】
一方、通信データ400にジョブ配信転送命令が含まれている場合、ジョブ実行エージェント214Bは、通信データ400の依頼先ジョブ実行エージェント名407と、通信データ400を受信したジョブ実行エージェント名が一致するかどうかを判断する(ステップ717)。この時、通信データ400の依頼先ジョブ実行エージェント名407はジョブ実行エージェント214B、通信データ400を受信したジョブ実行エージェント名はジョブ実行エージェント214Bである。このため、通信データ400に設定されている依頼先ジョブ実行エージェント名407と、通信データ400を受信したジョブ実行エージェント名は一致する。
【0083】
通信データ400に設定されている依頼先ジョブ実行エージェント名407と、通信データ400を受信したジョブ実行エージェント名が一致すると、ジョブ実行エージェント214Bは、通信データ400から業務内容を取り出し、ジョブプロセスを起動する(ステップ718)。
【0084】
次に、ジョブ実行エージェント214Bは、ジョブプロセスが終了すると(ステップ719)、受信した通信データ400と業務の実行結果から通信データ500を作成する(ステップ720)。
【0085】
次に、ジョブ実行エージェント214Bは、代行ジョブ実行エージェント名と、通信データ500を受信したジョブ実行エージェント名が一致するかどうかを判断する(ステップ721)。この時、代行ジョブ実行エージェント名はジョブ実行エージェント214A、通信データ400を受信したジョブ実行エージェント名はジョブ実行エージェント214Bである。このため、代行ジョブ実行エージェント名と、通信データ500を受信したジョブ実行エージェント名は一致しない。このため、ジョブ実行エージェント214Bは、ジョブ実行エージェント214Bに設定されたVPC205内のみ通信できるVPC内ネットワーク218を使用して、代行ジョブ実行エージェント214Aに通信データ500を転送する(ステップ722)。
【0086】
一方、代行ジョブ実行エージェント名と、通信データ500を受信したジョブ実行エージェント名が一致した場合、図10の処理に進む。
【0087】
図10は、代行ジョブ実行エージェントがジョブの結果を転送するインスタンスを確認する時の処理の概要を示すフローチャートである。
図10において、代行ジョブ実行エージェント214Aは、通信データ500を受け取ると、通信データ500にジョブ結果転送命令が含まれているかどうかを判断する(ステップ724)。通信データ500にジョブ結果転送命令が含まれていない場合、代行ジョブ実行エージェント214Aは、通信データ500から業務内容を取り出し、ジョブプロセスを起動する(ステップ730)。
【0088】
一方、通信データ500にジョブ結果転送命令が含まれている場合、代行ジョブ実行エージェント214Aは、ジョブの実行結果の転送先インスタンスの起動を確認済みかどうかを判断する(ステップ725)。ジョブの実行結果の転送先インスタンスの起動を確認済みの場合、代行ジョブ実行エージェント214Aは、起動を確認済みのインスタンスと通信する(ステップ726)。
【0089】
一方、ステップ725において、ジョブの実行結果の転送先インスタンスの起動を未確認の場合、転送先インスタンスの起動状態を確認するために、代行ジョブ実行エージェント214Aは、稼働系のインスタンス200のジョブ管理マネージャ206Aと通信する(ステップ731)。
【0090】
次に、代行ジョブ実行エージェント214Aは、インスタンスとの通信に成功したかどうかを判断する(ステップ727)。この時、ジョブ管理マネージャ206A、206Bは稼働系のインスタンス200で稼働しているため、稼働系のインスタンス200のジョブ管理マネージャ206Aとの通信に成功する。インスタンスとの通信に成功した場合、代行ジョブ実行エージェント214Aは、通信できたインスタンスに通信データ400を送信する(ステップ728)。
【0091】
次に、代行ジョブ実行エージェント214Aは、ジョブの実行結果の転送先インスタンスを確認済みの状態に変更し、確認済みの転送先インスタンスとして、通信データ500を送信したインスタンス名を記憶する(ステップ729)。
【0092】
一方、ステップ727において、代行ジョブ実行エージェント214Aがインスタンスとの通信に失敗した場合、通信データ500に含まれるインスタンス中に通信してないインスタンスがあるかどうかを判断する(ステップ732)。
【0093】
通信データ500に含まれるインスタンス中に通信してないインスタンスがない場合、ジョブの配信に失敗する(ステップ735)。
【0094】
一方、通信データ500に含まれるインスタンス中に通信してないインスタンスがある場合、代行ジョブ実行エージェント214Aは、そのインスタンスと通信し、そのインスタンスとの通信に成功したかどうかを判断する(ステップ733)。インスタンスとの通信に成功した場合、通信できたインスタンスに通信データ500を転送する(ステップ734)。通信できたインスタンスに通信データ500を転送すると、ステップ729に進む。
【0095】
一方、ステップ733において、インスタンスとの通信に失敗した場合、ジョブの配信に失敗する(ステップ735)。
【0096】
図11は、代行ジョブ管理マネージャまたは依頼元ジョブ管理マネージャがジョブの実行結果を取得する時の処理の概要を示すフローチャートである。
図11において、ジョブ管理マネージャ206Aは、通信データ500を受け取ると、通信データ500にジョブ結果転送命令が含まれているかどうかを判断する(ステップ736)。通信データ500にジョブ結果転送命令が含まれていない場合、ジョブ管理マネージャ206Aは、通信データ500から業務の実行結果を取り出す(ステップ739)。
【0097】
一方、通信データ500にジョブ結果転送命令が含まれている場合、ジョブ管理マネージャ206Aは、通信データ500の依頼元ジョブ管理マネージャ名504と、通信データ500を受信したジョブ管理マネージャ名が一致するかどうかを判断する(ステップ737)。
【0098】
この時、通信データ500の依頼元ジョブ管理マネージャ名504はジョブ管理マネージャ206B、通信データ500を受信したジョブ管理マネージャ名はジョブ管理マネージャ206Aである。このため、通信データ500に設定されている依頼元ジョブ管理マネージャ名504と、通信データ500を受信したジョブ管理マネージャ名は一致しない。このため、ジョブ管理マネージャ206Aは、通信データ500の依頼元ジョブ管理マネージャ名504で設定されたジョブ管理マネージャ206Bに通信データ500を転送する(ステップ740)。
【0099】
ジョブ管理マネージャ206Bは、通信データ500を受け取ると、通信データ500にジョブ結果転送命令が含まれているかどうかを判断する(ステップ736)。通信データ500にジョブ結果転送命令が含まれている場合、ジョブ管理マネージャ206Bは、通信データ500の依頼元ジョブ管理マネージャ名504と、通信データ500を受信したジョブ管理マネージャ名が一致するかどうかを判断する(ステップ737)。
【0100】
この時、通信データ500の依頼元ジョブ管理マネージャ名504はジョブ管理マネージャ206B、通信データ500を受信したジョブ管理マネージャ名はジョブ管理マネージャ206Bである。このため、通信データ500に設定されている依頼元ジョブ管理マネージャ名504と、通信データ500を受信したジョブ管理マネージャ名は一致する。
【0101】
通信データ500に設定されている依頼元ジョブ管理マネージャ名504と、通信データ500を受信したジョブ管理マネージャ名が一致すると、ジョブ管理マネージャ206Bは、通信データ500から業務内容を取り出す(ステップ738)。
【0102】
以上説明したように、上述した実施形態によれば、クラウドコンピューティングにおいて、外部のネットワークと接続できるインスタンスのネットワークが限定された環境においても、ジョブ管理システムの仮想システム(論理ホスト)から外部にジョブを配信したり、ジョブの実行結果を転送したりすることができる。
【0103】
また、外部のネットワークと接続できるインスタンスのネットワークが限定された環境において、二重化システムにジョブ管理システムを採用している場合も、ジョブ配信およびジョブの実行結果の転送を実現することができる。
【0104】
図12は、実施形態に係るインスタンスのハードウェア構成を示すブロック図である。なお、図12では、図2のインスタンス200のハードウェア構成を例にとるが、図2のインスタンス201、202、203も同様に構成することができる。
【0105】
図12において、インスタンス200には、プロセッサ11、通信制御デバイス12、通信インターフェース13、主記憶デバイス14および外部記憶デバイス15が設けられている。プロセッサ11、通信制御デバイス12、通信インターフェース13、主記憶デバイス14および外部記憶デバイス15は、内部バス16を介して相互に接続されている。
【0106】
また、インスタンス200のヒューマンインターフェースとして、入力デバイス17および出力デバイス18が設けられている。入力デバイス17および出力デバイス18は、内部バス16に接続されている。
【0107】
プロセッサ11は、インスタンス200全体の動作制御を司るハードウェアである。主記憶デバイス14は、例えば、半導体メモリから構成され、各種プログラムや制御データを一時的に保持する。主記憶デバイス14は、ジョブ管理マネージャ206A、206Bを実現するためのプログラムを保持することができる。また、主記憶デバイス14は、ジョブ定義100およびジョブ配信転送リスト300を保持することができる。
【0108】
外部記憶デバイス15は、大容量の記憶容量を有する記憶デバイスであり、例えば、ハードディスク装置やSSD(Solid State Drive)である。外部記憶デバイス15は、ジョブ配信プログラム20を保持することができる。プロセッサ11がジョブ配信プログラム20を実行することにより、ジョブ管理マネージャ206Bがジョブ管理マネージャ206Aにジョブの配信の代行を依頼する機能を実現することができる。
【0109】
インスタンス201もインスタンス200と同様にジョブ配信プログラム20を保持することができる。各インスタンス202、203はジョブ結果返却プログラムを保持することができる。この時、例えば、インスタンス203のプロセッサがジョブ結果返却プログラムを実行することにより、ジョブ実行エージェント214Bがジョブ実行エージェント214Aにジョブの実行結果の返却の代行を依頼する機能を実現することができる。
【0110】
通信制御デバイス12は、外部との通信を制御する機能を有するハードウェアである。通信制御デバイス12は、通信インターフェース13を介してネットワーク19に接続される。入力デバイス17は、ジョブ管理システムのユーザが各種操作入力を行うためのキーボードやマウスなどを含むことができる。出力デバイス18は各種情報を表示するための液晶ディスプレイなどを含むことができる。
【符号の説明】
【0111】
200〜203…インスタンス、204、205…VPC、206A、207A…ジョブ管理マネージャ、206B、207B…ジョブ管理マネージャの論理ホスト、213A、214A…ジョブ実行エージェント、213B、214B…ジョブ実行エージェントの論理ホスト、209、211、216、218…VPC内ネットワーク、210、212、217、219…VPC間ネットワーク

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12