(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024135027
(43)【公開日】2024-10-04
(54)【発明の名称】サービス提供プログラム、サービス提供方法及びサービス提供装置
(51)【国際特許分類】
G06F 9/48 20060101AFI20240927BHJP
G06F 21/62 20130101ALI20240927BHJP
【FI】
G06F9/48 300A
G06F21/62
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023045518
(22)【出願日】2023-03-22
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】塩沢 知晃
(72)【発明者】
【氏名】竹内 幸大
(72)【発明者】
【氏名】木村 佳弘
(72)【発明者】
【氏名】小島 直己
(57)【要約】
【課題】セキュリティを確保しつつサービスの利便性を確保するサービス提供プログラム、サービス提供方法及びサービス提供装置を提供する。
【解決手段】特定のネットワークを用いてジョブ管理サービスを提供する1つのリソースであって、前記リソースの中に複数のテナントが設定され、前記テナントのそれぞれについてジョブ管理を行うための機能が複数設定され、且つ、前記機能毎に前記特定のネットワークのうちの異なるサブネットワークが割り当てられた前記リソースにおいて、前記サブネットワークを基に、前記機能毎に個別にアクセス制限を行い、前記リソースの複数のテナントに対する共通利用部分に配置されたジョブ管理における複数のテナントの共用機能及び各前記テナントに設定された前記機能を用いて前記テナント毎にそれぞれ個別にジョブ管理を行う。
【選択図】
図1
【特許請求の範囲】
【請求項1】
特定のネットワークを用いてジョブ管理サービスを提供する1つのリソースであって、前記リソースの中に複数のテナントが設定され、前記テナントのそれぞれについてジョブ管理を行うための機能が複数設定され、且つ、前記機能毎に前記特定のネットワークのうちの異なるサブネットワークが割り当てられた前記リソースにおいて、
前記サブネットワークを基に、前記機能毎に個別にアクセス制限を行い、
前記リソースの複数のテナントの共通利用部分に配置されたジョブ管理における複数のテナントの共用機能及び各前記テナントに設定された前記機能を用いて前記テナント毎にそれぞれ個別にジョブ管理を行う
処理をコンピュータに実行させることを特徴とするサービス提供プログラム。
【請求項2】
前記リソースの前記共通利用部分に配置されたWeb経由での前記テナントへのアクセスの機能を前記共用機能として用いてジョブ管理を行う処理を前記コンピュータに実行させることを特徴とする請求項1に記載のサービス提供プログラム。
【請求項3】
複数のテナントのジョブ管理の情報をまとめて表示するジョブ情報表示画面を利用者に提供し、前記ジョブ情報表示画面を用いて前記利用者から入力された情報を用いてジョブ管理を行う
処理を前記コンピュータに実行させることを特徴とする請求項1に記載のサービス提供プログラム。
【請求項4】
前記特定のネットワークに割り当てられたシェアードアドレスを用いてアクセス制限及びジョブ管理を行う処理を前記コンピュータに実行させることを特徴とする請求項1に記載のサービス提供プログラム。
【請求項5】
複数のテナントに対する共通のストレージにおけるテナント毎に割り当てた論理ボリュームを用いて、前記テナント毎のジョブ管理を行う処理を前記コンピュータに実行させることを特徴とする請求項1に記載のサービス提供プログラム。
【請求項6】
コンピュータが、
特定のネットワークを用いてジョブ管理サービスを提供する1つのリソースであって、前記リソースの中に複数のテナントが設定され、前記テナントのそれぞれについてジョブ管理を行うための機能が複数設定され、且つ、前記機能毎に前記特定のネットワークのうちの異なるサブネットワークが割り当てられた前記リソースにおいて、
前記サブネットワークを基に、前記機能毎に個別にアクセス制限を行い、
前記リソースの複数のテナントの共通利用部分に配置されたジョブ管理における複数のテナントの共用機能及び各前記テナントに設定された前記機能を用いて前記テナント毎にそれぞれ個別にジョブ管理を行う
処理を実行することを特徴とするサービス提供方法。
【請求項7】
特定のネットワークが割り当てられ、且つ、それぞれがジョブ管理サービスを提供する複数のテナントが設定されたサービス提供装置であって、
複数のテナントの共通利用部分に配置され、ジョブ管理における各テナントへのアクセスにおいて複数のテナントで共用される共通部と、
前記テナント毎に、
前記特定のネットワークのうちの前記テナント毎に異なる第1サブネットワークが割り当てられ、前記第1サブネットワークを基にアクセス制御を行い、且つ、利用者端末装置との間で情報の送受信を行うクライアントと、
前記特定のネットワークのうちの前記テナント毎に異なる第2サブネットワークが割り当てられ、前記第2サブネットワークを基にアクセス制御を行い、且つ、ジョブ実行装置で実行される前記テナント毎に異なるジョブのジョブ管理を、前記クライアントが前記利用者端末装置から受信した情報及び前記共通部からの情報を用いてジョブ管理を行うジョブ管理マネージャと
を備えたことを特徴とするサービス提供装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サービス提供プログラム、サービス提供方法及びサービス提供装置に関する。
【背景技術】
【0002】
昨今、クラウド市場の成長率が高くなっていく中で、既存IT(Internet Technology)資産のクラウド化需要が高まっている。例えば、政府が発表した「クラウド・バイ・デフォルト原則」では、政府情報システムの構築や整備に、クラウドサービスの活用が推奨されている。
【0003】
そして、クラウド化の需要増大の中で、ジョブ管理環境のクラウドへの移行を求める利用者も増加している。このようなことから、近年、クラウド上でジョブ管理サービスを提供する事業者が注目されている。ジョブ管理とは、プログラムの実行やバッチ処理といったジョブが適切に実行されるように、ジョブの実行を制御及び監視する作業である。ジョブ管理サービス提供者は、クラウドインフラ提供者により提供されるクラウド上の計算資源を用いて、利用者にジョブ管理サービスを提供する。この場合、利用者は、ジョブ管理サービス提供者にサービス利用料を支払う。また、ジョブ管理サービス提供者は、クラウドインフラ提供者にクラウドインフラ利用料を支払う。
【0004】
ジョブ管理環境のクラウドへの移行では、利用コストを安く抑えつつ、高い運用性を確保することが利用者により求められる。そこで、ジョブ管理サービス提供者では、利用者の利便性を考慮し、既存製品を利用したジョブ管理サービスを構築しようとする動きが活発化している。
【0005】
ここで、クラウド上でのジョブ管理サービスの提供には、シングルテナント構成とマルチテナント構成との2つの構成が存在する。シングルテナント構成は、サービスを利用するテナントとジョブ管理サービスを提供するための計算資源であるリソースとが1対1の関係にあるシステムである。テナントは、ジョブ管理の役割を提供するための要素をひとまとめにした単位であり、サービスを利用する利用者と対をなす場合もあり、また、1人の利用者が複数のテナントを使用する場合もある。シングルテナント構成では、テナントを跨いだリソースの接続が行われないため、ある利用者のリソースから別利用者のリソースにアクセスされるおそれがない。ただし、シングルテナント構成では、利用者は、リソース毎の利用料の支払いが求められる。
【0006】
一方、マルチテナント構成は、1つのリソースを複数のテナントで利用するシステムである。マルチテナント構成では、1つのリソースが複数のテナントにより分割されて使用され、1つのリソースが単一のテナントにより占有されることはほぼない。さらに、マルチテナント構成では、リソースの稼働率がシングルテナント構成時よりも高くなり易いため、クラウドインフラ利用料に要するコストを抑えることができる。
【0007】
セキュリティ確保の観点からシングルテナント構成の方がマルチテナント構成よりも有利であると言えるが、シングルテナント構成を導入した場合、ジョブ管理サービス提供者は、各リソースを仮想ネットワーク毎に配置することになる。そのため、ジョブ管理サービス提供者は、クラウドインフラ提供者に支払うクラウドインフラ利用料の費用負担が増大する。この場合、利用者に対するクラウドインフラ利用料の価格転嫁の可能性が存在し、利用者のコスト負担が増大するおそれがある。そのため、複数のテナントを利用する利用者にとっては、シングルテナント構成によるジョブ管理サービスを用いることは現実的ではない。
【0008】
なお、アクセス制御の技術として、インフィニバンドを用いた通信において、テナント毎にサブネット化し、さらに管理パーティションを設置して他のノードとの通信を抑制する技術が提案されている。また、サーバが、ネットワークアドレス変換装置を介して受信したIoT(Internet of Things)機器の外部IP(Internet Protocol)アドレス等を宛先としてネットワークアドレス変換装置を介して制御命令を送信する技術が提案されている。また、管理サーバにより設定された業務サーバとストレージとを統合するための統合テナントを用いて、マルチテナント構成でのサービス運用を行う技術が提案されている。また、複数のテナントに共通のアプリケーションプログラムを共通のアプリケーション基板上に構築して、マルチテナント構成によるサービスの管理を行う技術が提案されている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特表2019-505104号公報
【特許文献2】特開2020-14049号公報
【特許文献3】国際公開第2014/162497号
【特許文献4】特開2020-123299号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、マルチテナント構成を導入した場合、単に1つのリソースを分割して使用するような単純なマルチテナント構成では、ジョブ管理サービスに求められる高信頼性を確保することは困難である。また、単純なマルチテナント構成では、複数のテナント契約を有する利用者の利用が考慮されておらず、複数のテナントに対する操作が煩雑であった。そのため、従来のジョブ管理サービスの提供では、セキュリティを確保しつつサービスの利便性を確保することは困難であった。
【0011】
また、上述したアクセス制御の技術のいずれでも、クラウド上におけるマルチテナント構成のサービス提供について、マルチテナント構成での信頼性の確保や複数のテナントの操作性は考慮されていない。そのため、セキュリティを確保しつつサービスの利便性を確保することは困難であった。
【0012】
開示の技術は、上記に鑑みてなされたものであって、セキュリティを確保しつつサービスの利便性を確保するサービス提供プログラム、サービス提供方法及びサービス提供装置を提供することを目的とする。
【課題を解決するための手段】
【0013】
本願の開示するサービス提供プログラム、サービス提供方法及びサービス提供装置の一つの態様において、特定のネットワークを用いてジョブ管理サービスを提供する1つのリソースであって、前記リソースの中に複数のテナントが設定され、前記テナントのそれぞれについてジョブ管理を行うための機能が複数設定され、且つ、前記機能毎に前記特定のネットワークのうちの異なるサブネットワークが割り当てられた前記リソースにおいて、前記サブネットワークを基に、前記機能毎に個別にアクセス制限を行い、前記リソースの複数のテナントの共通利用部分に配置されたジョブ管理における複数のテナントの共用機能及び各前記テナントに設定された前記機能を用いて前記テナント毎にそれぞれ個別にジョブ管理を行う処理をコンピュータに実行させることを特徴とする。
【発明の効果】
【0014】
1つの側面では、本発明は、セキュリティを確保しつつサービスの利便性を確保することができる。
【図面の簡単な説明】
【0015】
【
図1】
図1は、実施例に係るジョブ管理サービス提供システムのシステム構成の一例の図である。
【
図2】
図2は、ジョブ管理サービス提供システムのブロック図である。
【
図3】
図3は、クライアント用ACL及びクライアント用FWの設定情報を示す図である。
【
図4】
図4は、ネットワークロードバランサ用ACLの設定情報を示す図である。
【
図5】
図5は、ジョブ管理マネージャ用ACL及びジョブ管理マネージャ用FWの設定情報を示す図である。
【
図6】
図6は、利用者によるジョブ管理マネージャに対する操作の処理のシーケンス図である。
【
図7】
図7は、ジョブの情報に基づくジョブ管理処理のシーケンス図である。
【
図8】
図8は、ジョブ管理の機能の一覧を示す図である。
【
図9】
図9は、Web/RESTサーバを共通化した構成を示す図である。
【
図10】
図10は、ジョブ情報表示画面の一例のイメージ図である。
【
図11】
図11は、Web/RESTサーバを用いたジョブ管理マネージャに対する操作の処理のシーケンス図である。
【
図12】
図12は、実施例2に係るジョブ管理サービス提供システムの接続のイメージ図である。
【
図13】
図13は、ユーザー情報DB及びテナント情報DBの一例の図である。
【
図14】
図14は、コンピュータのハードウェア構成図である。
【発明を実施するための形態】
【0016】
以下に、本願の開示するサービス提供プログラム、サービス提供方法及びサービス提供装置の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示するサービス提供プログラム、サービス提供方法及びサービス提供装置が限定されるものではない。
【実施例0017】
図1は、実施例に係るジョブ管理サービス提供システムのシステム構成の一例の図である。
図1に示すように、ジョブ管理サービス提供システム5は、仮想ネットワーク1、並びに、ジョブ管理環境2及び3を有する。
【0018】
ジョブ管理環境2は、利用者P1の業務等において実行されるジョブを管理するための利用者P1側のシステムである。利用者P1は、利用者端末装置25を使用する。また、ジョブ管理環境2において、各ジョブは、オンプレミスサーバ21及びクラウドサーバ23で実行される。オンプレミスサーバ21は、ジョブ管理エージェント22が動作する。また、クラウドサーバ23は、ジョブ管理エージェント24が動作する。ただし、ジョブが動作するサーバは、オンプレミスサーバ21又はクラウドサーバ23のいずれかであってもよい。
【0019】
オンプレミスサーバ21及びクラウドサーバ23は、RFC1918に準拠したアドレスを使用することができる。例えば、オンプレミスサーバ21は、172.24.0.0/13のアドレスを使用する。また、クラウドサーバ23は、例えば、10.0.0.0/9のアドレスを使用する。
【0020】
ジョブ管理環境3は、利用者P1とは別の利用者P2の業務等において実行されるジョブを管理するための利用者P2側のシステムである。利用者P2は、利用者端末装置35を使用する。また、ジョブ管理環境3において、各ジョブは、オンプレミスサーバ31及びクラウドサーバ33で実行される。オンプレミスサーバ31は、ジョブ管理エージェント32が動作する。また、クラウドサーバ33は、ジョブ管理エージェント34が動作する。ただし、ジョブが動作するサーバは、オンプレミスサーバ31又はクラウドサーバ33のいずれかであってもよい。
【0021】
オンプレミスサーバ31及びクラウドサーバ33は、RFC1918に準拠したアドレスを使用することができる。例えば、オンプレミスサーバ31は、192.168.128.0/17のアドレスを使用する。また、クラウドサーバ33は、例えば、10.128.0.0/9のアドレスを使用する。
【0022】
仮想ネットワーク1には、ジョブ管理環境2及び3の各装置が接続される。仮想ネットワーク1に収容される計算資源をまとめたものが、ジョブ管理を行う1つのリソースにあたる。
図1における仮想ネットワーク1は、1つのリソースに対応する。仮想ネットワーク1に収容される各種情報処理装置によりオンプレミスサーバ21又はクラウドサーバ23、並びに、オンプレミスサーバ31又はクラウドサーバ33で動作するジョブに対するジョブ管理サービスが提供される。
【0023】
具体的には、仮想ネットワーク1には、複数のテナントのそれぞれに対するジョブ管理用のシステムが配置される。本実施例では、仮想ネットワーク1は、RFC6598に準拠したシェアードアドレスを使用する。例えば、仮想ネットワーク1は、100.66.0.0/16のアドレスを使用する。仮想ネットワーク1には、例えば、サービス提供装置10、ネットワーク中継ハブ500及びストレージ400が配置される。この仮想ネットワーク1が、「特定のネットワーク」の一例にあたる。
【0024】
ストレージ400も、RFC6598に準拠したシェアードアドレスを使用する。例えば、ストレージ400は、100.66.200.0/24のアドレスを使用する。ストレージ400は、サブネットワーク分割により、利用者P1及びP2の間で共通で使用される。
【0025】
そして、ストレージ400は、論理ボリューム401及び402を有する。論理ボリューム401は、サービス提供装置10におけるテナントサービス提供部100のジョブ管理マネージャ130と紐づけられる。また、論理ボリューム402は、サービス提供装置10におけるテナントサービス提供部200のジョブ管理マネージャ230と紐づけられる。これにより、利用者P1のストレージ400へのアクセスは論理ボリューム401に制限され、利用者P2のストレージ400へのアクセスは論理ボリューム402に制限される。
【0026】
サービス提供装置10は、ジョブ管理を行うテナントサービス提供部100及び200等を有する。ここで、サービス提供装置10は、1台のサーバでもよいし、複数台のサーバを含んでもよい。テナントサービス提供部100及び200は、利用者P1及びP2による利用の観点から、テナントサービス提供部100及び200それぞれがテナントにあたる。
【0027】
テナントサービス提供部100は、利用者P1が利用するオンプレミスサーバ21及びクラウドサーバ23で動作するジョブを管理する。テナントサービス提供部200は、利用者P2が利用するオンプレミスサーバ31及びクラウドサーバ33で動作するジョブを管理する。
【0028】
テナントサービス提供部100は、クライアント110、ネットワークロードバランサ120及びジョブ管理マネージャ130を有する。クライアント110、ネットワークロードバランサ120及びジョブ管理マネージャ130は、仮想ネットワーク1におけるそれぞれ異なるサブネットワークが割り当てられる。
【0029】
本実施例では、クライアント110は、RFC6598に準拠したシェアードアドレスのうち100.66.10.0/24のアドレスを有するサブネットワークが割り当てられる。また、ネットワークロードバランサ120は、RFC6598に準拠したシェアードアドレスのうち100.66.11.0/24のアドレスを有するサブネットワークが割り当てられる。また、ジョブ管理マネージャ130は、RFC6598に準拠したシェアードアドレスのうち100.66.12.0/24のアドレスを有するサブネットワークが割り当てられる。このクライアント110に割り当てられたサブネットワークが、「第1サブネットワーク」の一例にあたる。また、ジョブ管理マネージャ130に割り当てられたサブネットワークが、「第2サブネットワーク」にあたる。
【0030】
ネットワークロードバランサ120及びジョブ管理マネージャ130は、ネットワーク中継ハブ500を介してオンプレミスサーバ21及びクラウドサーバ23に接続される。また、クライアント110は、本実施例では、ネットワーク中継ハブ500に繋がる経路とは別のネットワーク経路を用いて利用者端末装置25に接続される。ただし、クライアント110は、ネットワーク中継ハブ500を経由して利用者端末装置25に接続してもよい。
【0031】
また、クライアント110は、ACL(Access Control List)及びFW(Fire Wall)を用いてアクセス制限を行う。また、ネットワークロードバランサ120は、ACLを用いてアクセス制限を行う。また、ジョブ管理マネージャ130は、ACL及びFWを用いてアクセス制限を行う。
【0032】
同様に、テナントサービス提供部200は、クライアント210、ネットワークロードバランサ220及びジョブ管理マネージャ230を有する。クライアント210、ネットワークロードバランサ220及びジョブ管理マネージャ230は、仮想ネットワーク1におけるそれぞれ異なるサブネットワークが割り当てられる。
【0033】
本実施例では、クライアント210は、RFC6598に準拠したシェアードアドレスのうち100.66.18.0/24のアドレスを有するサブネットワークが割り当てられる。また、ネットワークロードバランサ220は、RFC6598に準拠したシェアードアドレスのうち100.66.19.0/24のアドレスを有するサブネットワークが割り当てられる。また、ジョブ管理マネージャ230は、RFC6598に準拠したシェアードアドレスのうち100.66.20.0/24のアドレスを有するサブネットワークが割り当てられる。このクライアント210に割り当てられたサブネットワークが、「第1サブネットワーク」の一例にあたる。また、ジョブ管理マネージャ230に割り当てられたサブネットワークが、「第2サブネットワーク」にあたる。
【0034】
ネットワークロードバランサ220及びジョブ管理マネージャ230は、ネットワーク中継ハブ500を介してオンプレミスサーバ31及びクラウドサーバ33に接続される。また、クライアント210は、本実施例では、ネットワーク中継ハブ500に繋がる経路とは別のネットワーク経路を用いて利用者端末装置35に接続される。ただし、クライアント210は、ネットワーク中継ハブ500を経由して利用者端末装置35に接続してもよい。
【0035】
また、クライアント210は、ACL及びFWを用いてアクセス制限を行う。また、ネットワークロードバランサ220は、ACLを用いてアクセス制限を行う。また、ジョブ管理マネージャ330は、ACL及びFWを用いてアクセス制限を行う。
【0036】
ここで、本実施例では、テナントサービス提供部100及び200の2つを記載したが、テナントの数はこれに限らない。テナントの数が多い場合には、サブネットワークの数を増やしてもよい。また、テナント数が少なく、より少ないサブネットワークで足りる場合には、サブネットワークの数を減らしてもよい。
【0037】
図2は、ジョブ管理サービス提供システムのブロック図である。各テナントへのサービス提供を行うテナントサービス提供部100及び200等はいずれも同じ機能を有するため、ここでは、テナントサービス提供部100を例に説明する。また、利用者P1が使用するジョブを実行する装置は、オンプレミスサーバ21及びクラウドサーバ23のいずれであってもジョブ管理サービス提供システム5の動作は同様であるので、ここは、まとめて、ジョブ実行装置20として表した。ジョブ実行装置20では、ジョブ管理エージェント26が動作する。
【0038】
利用者端末装置25は、テナントサービス提供部100のクライアント110から提供されたジョブ管理マネージャ130の操作及び動作を確認するためのグラフィカルユーザインターフェイス(GUI)をモニタに表示させる。利用者P1は、モニタに表示されたGUIを使用して、ジョブ管理マネージャ130の操作及び動作の監視を行う。利用者端末装置25は、利用者P1から入力された操作の情報を、クライアント110を介してジョブ管理マネージャ130へ送信する。これにより、利用者P1は、視覚的にジョブの状態や設定状況を確認して、ジョブの依頼や操作をジョブ管理マネージャ130に対して行う。
【0039】
また、利用者端末装置25は、クライアント110から提供されたジョブ管理マネージャ130及びジョブ管理エージェント26に対する各種情報の登録、変更及び監視を行うためのGUIをモニタに表示させる。利用者P1は、モニタに表示されたGUIを参照して、ジョブ管理マネージャ130及びジョブ管理エージェント26に対する各種情報の登録、変更及び監視を行う。利用者端末装置25は、利用者P1から入力された各種情報の登録及び変更の情報を介してジョブ管理マネージャ130へ送信する。これにより、利用者P1は、ジョブ管理マネージャ130又はジョブ管理エージェント26に対して設定の登録や変更等を行う。
【0040】
次に、テナントサービス提供部100が有するクライアント110、ネットワークロードバランサ120及びジョブ管理マネージャ130について説明する。ここで、クライアント110と、ネットワークロードバランサ120と、ジョブ管理マネージャ130とでは、サブネットワークが異なる。そのため、クライアント110と、ネットワークロードバランサ120と、ジョブ管理マネージャ130との間の通信は、ルーティングを用いて行われる。
【0041】
クライアント110は、ACL情報111、FW情報112、通信制御部113及びクライアント機能提供部114を有する。クライアント110は、100.66.10.0/24のアドレスが割り当てられる。
【0042】
クライアント機能提供部114は、ジョブ管理マネージャ130の操作及び動作を確認するためのGUIを生成して、通信制御部113を介して利用者端末装置25へ送信して、モニタに表示させる。また、クライアント110は、ジョブ管理マネージャ130及びジョブ管理エージェント26に対する各種情報の登録、変更及び監視を行うためのGUIを生成して、通信制御部113を介して利用者端末装置25へ送信して、モニタに表示させる。
【0043】
ACL情報111は、クライアント用ACLによるクライアント110のアクセス制御の設定情報である。
図3は、クライアント用ACL及びクライアント用FWの設定情報を示す図である。ACL情報111は、例えば、
図3に示すように、インバウンド用のルール及びアウトバウンド用のルールが登録される。ルールには、対象とするプロトコル、ポート範囲、接続先、並びに、許可又は拒否の情報が登録される。例えば、
図3のACL情報111では、クライアント110に対する通信において、TCP(Transmission Control Protocol)を用いたポート1024-65535に対する通信を許可し、他の通信は許可しないように設定される。また、
図3のACL情報111では、クライアント110からの通信において、TCPを用いたポート1024-65535からの通信を許可し、他の通信は許可しないように設定される。
【0044】
FW情報112は、クライアント用FWによるクライアント110のアクセス制御の設定情報である。FW情報112は、例えば、
図3に示すように、インバウンド用のルール及びアウトバウンド用のルールが登録される。ルールには、対象とするプロトコル、ポート範囲及びソースが登録される。例えば、
図3のFW情報112では、クライアント110に対する通信において、全てのプロトコル且つ全てのポートについて、同じFWに存在するリソースであれば通信を許可し、他のFW内のリソースからの通信は許可しないように設定される。また、
図3のFW情報112では、クライアント110からの通信において、全てのプロトコル且つ全てのポートについて、全ての通信が行えるように設定される。
【0045】
通信制御部113は、利用者端末装置25に対する画面の送信の指示をクライアント機能提供部114から受ける。この場合、クライアント機能提供部114からの指示は、TCPを用いて通信が行われ、且つ、ポートはACL情報111で使用が許可されるポートが指定される。通信制御部113は、ACL情報111を参照して、利用者端末装置25に対するデータ送信が、ACLにより許可されることを確認する。また、通信制御部113は、FW情報112を参照して、利用者端末装置25に対するデータ送信が、FWにより許可されることを確認する。そして、通信制御部113は、クライアント提供部114から取得した画面を利用者端末装置25へ送信する。
【0046】
また、通信制御部113は、利用者端末装置25からの設定情報や操作情報の送信を受ける。そして、通信制御部113は、ACL情報111及びFW情報112を参照して、利用者端末装置25からの通信が許可されることを確認して、利用者端末装置25からの設定情報や操作情報を受信する。
【0047】
次に、通信制御部113は、ACL情報111及びFW情報112を参照して、出力先の制限を確認する。本実施例では、通信制御部113は、ポート1024-65535を用いた通信であれば、データの送信が可能である。そこで、通信制御部113は、受信した利用者端末装置25からの設定情報や操作情報をネットワークロードバランサ120宛てに送信する。
【0048】
ネットワークロードバランサ120は、ACL情報121及び通信制御部122を有する。ネットワークロードバランサ120は、100.66.11.0/24のアドレスが割り当てられる。ネットワークロードバランサ120は、クライアント110、ジョブ実行装置20で動作するジョブ管理エージェント26から、ジョブ管理マネージャ130へのアクセスを橋渡しする。
【0049】
ACL情報121は、ネットワークロードバランサ用ACLによるネットワークロードバランサ120のアクセス制御の設定情報である。
図4は、ネットワークロードバランサ用ACLの設定情報を示す図である。ACL情報121は、例えば、
図4に示すように、インバウンド用のルール及びアウトバウンド用のルールが登録される。ルールには、対象とするプロトコル、ポート範囲、接続先、並びに、許可又は拒否の情報が登録される。例えば、
図4のACL情報121では、ネットワークロードバランサ120に対する通信において、全てのプロトコル且つ全てのポートについて、100.64.64.0/20、100.66.10.0/24、172.24.0.0/13、10.0.0.0/9のいずれかのアドレスを有する送信元からの通信を許可する。また、
図3のACL情報121では、ネットワークロードバランサ120からの通信において、全てのプロトコル且つ全てのポートについて、全ての通信が行えるように設定される。
【0050】
ここで、100.66.10.0/24はクライアント110のアドレスであるので、ACL情報121は、クライアント110からネットワークロードバランサ120への通信を許可する。また、172.24.0.0/13は
図1におけるオンプレミスサーバ21のアドレスであるので、ACL情報121は、オンプレミスサーバ21からネットワークロードバランサ120への通信を許可する。また、10.0.0.0/9は
図1におけるクラウドサーバ23のアドレスであるので、ACL情報121は、クラウドサーバ23からネットワークロードバランサ120への通信を許可する。すなわち、ACL情報121は、ジョブ実行装置20からネットワークロードバランサ120への通信を許可する。
【0051】
通信制御部122には、利用者端末装置25から送信された情報がクライアント110の通信制御部113から送られる。通信制御部122は、ACL情報121を参照して、クライアント110からの通信が許可されていることを確認する。そして、通信制御部122は、利用者端末装置25から送信された情報を受信する。
【0052】
また、通信制御部122には、ジョブ実行装置20のジョブ管理エージェント26からジョブの情報が送られる。通信制御部122は、ACL情報121を参照して、ジョブ実行装置20からの通信が許可されていることを確認する。そして、通信制御部122は、ジョブ管理エージェント26から送信されたジョブの情報を受信する。
【0053】
そして、通信制御部122は、受信した情報をジョブ管理マネージャ130へ送信する。ここで、ジョブ管理マネージャ130は、負荷分散や可用性の観点から、複数の仮想サーバにより機能が提供される。そのため、通信制御部122は、各可能サーバで動作するジョブ管理マネージャ130のいずれに処理を行わせるかの振り分けを行う。そして、通信制御部122は、ACL情報121を参照して、出力先の制限を確認する。本実施例では、通信制御部122は、全てのプロトコル且つ全てのポートについて、全ての通信が行えるので、ジョブ管理マネージャ130宛てにデータを送信することができる。そこで、通信制御部113は、利用者端末装置25から送信された情報及びジョブ管理エージェント26から送信されたジョブの情報をジョブ管理マネージャ130宛てに送信する。
【0054】
ジョブ管理マネージャ130は、ACL情報131、FW情報132、通信制御部133及びジョブ管理部134を有する。ジョブ管理マネージャ130は、100.66.12.0/24のアドレスが割り当てられる。
【0055】
ジョブ管理部134は、ジョブの定義、実行、監視及びジョブのスケジューリングや制御を行う。ジョブとは、例えば表中の数字を全て足し上げる等の特定の目的のために連続して実行する1つ以上のプログラムやコンピュータへの指示の集まりである。より詳しくは、ジョブ管理部134は、以下の処理を行う。ジョブ管理部134は、ジョブの実行日時を管理するカレンダー機能、ジョブスケジューリング機能、ジョブ実行制御機能、ユーザー管理機能及び監査情報収集機能を有する。
【0056】
例えば、ジョブ管理部134は、スケジューリング機能として、定型バッチ業務のスケジューリングとスケジューリングされたジョブの依頼及び監視を行う。定型バッチとは、一定期間に集められたデータを一度にまとめて処理する処理である。例えば、1日の売り上げを整理する作業が、定型バッチに相当する。また、ジョブ管理部134は、非定型バッチ業務のジョブの依頼及び監視を行う。
【0057】
また、ジョブ管理部134は、ジョブ実行制御機能として、ジョブ管理エージェント26へのジョブ依頼の制御を行う。具体的には、ジョブ管理部134は、ジョブの実行をジョブ管理エージェント26に依頼し、依頼したジョブを管理する。利用者P1が行うクライアント110に入力される操作は、ジョブ管理部134が、依頼を受けて処理する。そして、ジョブ管理部134は、クライアント110を介して処理結果を利用者端末装置25へ送信することで、利用者P1に操作結果を確認させる。ここで、ジョブ管理部134は、以上の処理において、ストレージ400に対するデータの格納や、ストレージ400に格納されたデータの読出しを行う。ジョブ管理部134は、以上の処理における通信を、通信制御部133を介して行う。
【0058】
ACL情報131は、ジョブ管理マネージャ用ACLによるジョブ管理マネージャ130のアクセス制御の設定情報である。
図5は、ジョブ管理マネージャ用ACL及びジョブ管理マネージャ用FWの設定情報を示す図である。ACL情報131は、例えば、
図5に示すように、インバウンド用のルール及びアウトバウンド用のルールが登録される。ルールには、対象とするプロトコル、ポート範囲、接続先、及び、通信の許可又は拒否の情報が登録される。
【0059】
例えば、
図5のACL情報131では、ジョブ管理マネージャ130に対する通信において、TCPを用いたポート1024-65535及び443に対する通信を許可するように設定される。さらに、ジョブ管理マネージャ130に対する通信において、ACL情報131では、全てのプロトコル且つ全てのポートについて、100.66.200.0/24のアドレスを有する送信元からの通信が許可するように設定される。これにより、共有ディスクであるストレージ400からの通信が許可される。また、ACL情報131では、ジョブ管理マネージャ130に対する通信におけるそれ以外の通信は許可しないように設定される。
【0060】
また、
図3のACL情報131では、ジョブ管理マネージャ130からの通信において、TCPを用いたポート1024-65535及び443からの通信を許可するように設定される。また、ACL情報131では、ジョブ管理マネージャ130からの通信において、100.66.200.0/24のアドレスを有する送信先への通信が許可するように設定される。これにより、共有ディスクであるストレージ400への通信が許可される。また、ACL情報131では、ジョブ管理マネージャ130からの通信におけるそれ以外への通信は許可しないように設定される。
【0061】
FW情報132では、ジョブ管理マネージャ用FWによるジョブ管理マネージャ130のアクセス制御の設定情報である。FW情報132は、例えば、
図5に示すように、インバウンド用のルール及びアウトバウンド用のルールが登録される。ルールには、対象とするプロトコル、ポート範囲、及び、ソースが登録される。例えば、
図5のFW情報132では、ジョブ管理マネージャ130に対する通信において、TCPを用いたポート9350-9355に対して、送信元のアドレスが100.66.11.0/24であれば通信を許可する。また、FW情報132では、共有ディスク用のFW内に存在するリソースであれば、全てのプロトコル且つ全てのポートについて、全ての通信が行えるように設定される。
【0062】
さらに、FW情報132では、ジョブ管理マネージャ130に対する通信において、送信元のアドレスがストレージ400用のFW内に存在するリソースであれば通信が行えるように設定される。これにより、共有ディスクであるストレージ400との間の通信が許可される。また、FW情報132では、アウトバウンドについては通信相手の制限なく通信が行えるように設定される。
【0063】
通信制御部133には、利用者端末装置25から送信された情報又はジョブ管理エージェント26から送信されたジョブの情報がネットワークロードバランサ120から送信される。ネットワークロードバランサ120からの通信は、ジョブ管理用以外の情報の送信であればTCPを用いてポート1024-65535に対して行われる。また、ジョブ管理用の情報であればTCPを用いてポート9350-9355に対して行われる。通信制御部133は、まずACL情報131を参照して、TCPを用いたポート1024-65535に対する通信が許可されることを確認する。続いて、通信制御部133は、FW情報132を参照して、TCPを用いたポート9350-9355に対する通信であれば、ネットワークロードバランサ120からの通信が許可されることを確認する。そして、通信制御部133は、利用者端末装置25から送信された情報又はジョブ管理エージェント26から送信されたジョブの情報を受信する。
【0064】
また、通信制御部133は、ストレージ400に対するアクセスの指示をジョブ管理部134から受ける。そして、通信制御部133は、ACL情報131及びFW情報132を参照してストレージ400に対する通信が許可されていることを確認する。そして、通信制御部133は、ストレージ400にアクセスして、データの読出しや書き込みを行う。
【0065】
また、通信制御部133は、ACL情報131で許可されるルールを使用して、ジョブ管理部134や利用者端末装置25から取得した設定情報や制御情報等をジョブ実行装置20のジョブ管理エージェント26へ出力する。
【0066】
ここで、例えば、通信制御部133に対してクライアント110の通信制御部113からデータが送信された場合を考える。この場合、通信制御部133は、ACL情報131及びFW情報132を参照して、クライアント110からのデータの受信が許可されていないことを確認する。そして、通信制御部133は、クライアント110の通信制御部113から送信されたデータを受信しない。このように、同じテナントサービス提供部100内であっても、想定外のアクセスが制限される。例えば、許可したくないポートへのアクセス等は行われない。
【0067】
図6は、利用者によるジョブ管理マネージャに対する操作の処理のシーケンス図である。次に、
図6を参照して、利用者P1によるジョブ管理マネージャ130に対する操作の処理の流れを説明する。
【0068】
クライアント110のクライアント機能提供部114は、ジョブ管理マネージャ130を操作するためのGUIを生成する。通信制御部113は、ACL情報111及びFW情報112を参照して、利用者端末装置25へのデータ送信が許可されていることを確認する。そして、通信制御部113は、クライアント機能提供部114により生成されたGUIを利用者端末装置25へ送信してモニタに表示させる(ステップS101)。
【0069】
利用者P1は、利用者端末装置25のモニタに表示されたGUIを用いて、ジョブ管理マネージャ130に対する操作を入力する。利用者端末装置25は、利用者P1から入力された操作を受けて、操作情報をクライアント110へ送信する(ステップS102)。
【0070】
クライアント110の通信制御部113は、ACL情報111及びFW情報112を参照して、利用者端末装置25からのデータの受信が許可されているか否かを判定する(ステップS103)。データの受信が許可されていない場合(ステップS103:否定)、クライアント110は、ジョブ管理マネージャ130に対する操作の処理を終了する。
【0071】
これに対して、データの受信が許可されている場合(ステップS103:肯定)、通信制御部113は、操作情報を受信する(ステップS104)。
【0072】
次に、通信制御部113は、ACL情報111及びFW情報112を参照して、ネットワークロードバランサ120へのデータ送信が許可されていることを確認する。そして、通信制御部113は、操作情報をネットワークロードバランサ120へ送信する(ステップS105)。
【0073】
ネットワークロードバランサ120の通信制御部122は、ACL情報121を参照して、クライアント110からのデータの受信が許可されているか否かを判定する(ステップS106)。データの受信が許可されていない場合(ステップS106:否定)、ネットワークロードバランサ120は、ジョブ管理マネージャ130に対する操作の処理を終了する。
【0074】
これに対して、データの受信が許可されている場合(ステップS106:肯定)、ネットワークロードバランサ120の通信制御部122は、操作情報を受信する(ステップS107)。
【0075】
次に、通信制御部122は、ジョブ管理マネージャ130が動作する複数の仮想サーバの中から送信先の仮想サーバを決定する(ステップS108)。
【0076】
次に、通信制御部122は、ACL情報121を参照して、ジョブ管理マネージャ130へのデータ送信が許可されていることを確認する。そして、通信制御部122は、選択した仮想サーバで動作するジョブ管理マネージャ130へ操作情報を送信する(ステップS109)。
【0077】
ジョブ管理マネージャ130の通信制御部133は、ACL情報131及びFW情報132を参照して、ネットワークロードバランサ120からのデータの受信が許可されているか否かを判定する(ステップS110)。データの受信が許可されていない場合(ステップS110:否定)、ジョブ管理マネージャ130は、ジョブ管理マネージャ130に対する操作の処理を終了する。
【0078】
これに対して、データの受信が許可されている場合(ステップS110:肯定)、通信制御部133は、操作情報を受信する(ステップS111)。
【0079】
次に、ジョブ管理マネージャ130のジョブ管理部134は、操作情報にしたがって動作を行う。ここでは、ジョブ管理マネージャ130が、ジョブ管理エージェント26に所定の動作を行わせる操作を受けた場合で説明する。ジョブ管理部134は、操作情報にしたがって、ジョブ管理エージェント26に所定の動作を行わせる制御命令を生成する。通信制御部133は、ACL情報131及びFW情報132を参照して、ジョブ実行装置20へのデータ送信が許可されていることを確認する。そして、通信制御部133は、ジョブ管理部134から取得した制御命令をジョブ実行装置20のジョブ管理エージェント26へ送信する(ステップS112)。
【0080】
ジョブ実行装置20のジョブ管理エージェント26は、制御命令を受信して、制御命令にしたがって所定の動作を実行する(ステップS113)。
【0081】
図7は、ジョブの情報に基づくジョブ管理処理のシーケンス図である。次に、
図7を参照して、ジョブの情報に基づくジョブ管理処理の流れを説明する。
【0082】
ジョブ実行装置20のジョブ管理エージェント26は、ジョブの情報をネットワークロードバランサ120へ送信する(ステップS201)。
【0083】
ネットワークロードバランサ120の通信制御部122は、ACL情報121を参照して、ジョブ実行装置20からのデータの受信が許可されているか否かを判定する(ステップS202)。データの受信が許可されていない場合(ステップS202:否定)、ネットワークロードバランサ120は、ジョブ管理処理を終了する。
【0084】
これに対して、データの受信が許可されている場合(ステップS202:肯定)、ネットワークロードバランサ120の通信制御部122は、ジョブの情報を受信する(ステップS203)。
【0085】
次に、通信制御部122は、ジョブ管理マネージャ130が動作する複数の仮想サーバの中から送信先の仮想サーバを決定する(ステップS204)。
【0086】
次に、通信制御部122は、ACL情報121を参照して、ジョブ管理マネージャ130へのデータ送信が許可されていることを確認する。そして、通信制御部122は、選択した仮想サーバで動作するジョブ管理マネージャ130へジョブの情報を送信する(ステップS205)。
【0087】
ジョブ管理マネージャ130の通信制御部133は、ACL情報131及びFW情報132を参照して、ネットワークロードバランサ120からのデータの受信が許可されているか否かを判定する(ステップS206)。データの受信が許可されていない場合(ステップS206:否定)、ジョブ管理マネージャ130は、ジョブ管理処理を終了する。
【0088】
これに対して、データの受信が許可されている場合(ステップS206:肯定)、通信制御部133は、ジョブの情報を受信する(ステップS207)。
【0089】
そして、ジョブ管理マネージャ130のジョブ管理部134は、取得したジョブの情報を用いてジョブ管理を実行する(ステップS208)。そして、例えば、ジョブ管理部134は、ジョブ管理の中で、通信制御部133に対してストレージ400へのアクセスを指示する。通信制御部133は、ACL情報131及びFW情報132を参照して、ストレージ400へのアクセスが許可されていることを確認する。そして、通信制御部133は、ストレージ400における論理ボリューム401にアクセスする(ステップS209)。その後、ジョブ管理部134は、ジョブ管理の実行を完了する。
【0090】
さらに、ジョブ管理サービス提供システム5は、利用者端末装置25がクライアント110を経由せずにWeb経由でジョブ管理マネージャ130にアクセスする経路を有する。
図8は、ジョブ管理の機能の一覧を示す図である。上述したように、クライアント110は、利用者P1へGUIを提供する。また、ジョブ管理マネージャ130は、カレンダー機能、ジョブスケジューリング機能、ジョブ実行制御機能、ユーザー管理機能及び監査情報収集機能を有する。これらとは別に、ジョブ管理サービス提供システム5が提供するジョブ管理サービスの機能には、Webからジョブ管理マネージャ130を操作するためのWeb API141やWebコンソール142が存在する。利用者P1は、Web API141やWebコンソール142を用いて、クライアント110を経由せずにWeb上からネットワークロードバランサ120経由でジョブ管理マネージャ130の操作を行うことが可能である。
【0091】
本実施例に係るWeb API141は、REST(Representational State Transfer)にしたがって実装される。そして、クライアント110及びジョブ管理マネージャ130は、テナント毎に配置されるものであり、複数のテナントが共通して使用するマルチテナント化が困難である。これに対して、Web API141及びWebコンソール142は、マルチテナント化可能である。そこで、本実施例に係るジョブ管理サービス提供システム5では、Web API141及びWebコンソール142の部分が専用の共通利用部分42に配置されて共通化される。
【0092】
図9は、Web/RESTサーバを共通化した構成を示す図である。ジョブ管理サービス提供システム5は、
図9に示すように、仮想ネットワーク1及び利用者共通仮想ネットワーク4を有する。サービス提供装置10は、仮想ネットワーク1に含まれるテナントサービス提供部100、200及び300を含む、並びに、利用者共通仮想ネットワーク4に含まれるAPIGateway41、共通利用部分42、ネットワーク中継ハブ44を含む。
【0093】
仮想ネットワーク1は、テナントサービス提供部100、200及び300を有する。ここで、本実施例では、利用者P1がテナントサービス提供部100、200及び300により提供される3つのテナントを使用する場合で説明する。
【0094】
利用者共通仮想ネットワーク4は、例えば、RFC6598に準拠したシェアードアドレスのうち100.64.0.0/16のアドレスを有するサブネットワークが割り当てられる。利用者P1は、クライアント110、210及び310経由でジョブ管理マネージャ130、230及び330のそれぞれにアクセスする他に、利用者共通仮想ネットワーク4を介してジョブ管理マネージャ130、230及び330にアクセスすることができる。利用者共通仮想ネットワーク4は、他の利用者がその利用者のためのテナントにアクセスする場合にも使用することができる。すなわち、利用者共通仮想ネットワーク4は、利用者P1を含む複数の利用者により共有される。
【0095】
利用者共通仮想ネットワーク4は、APIGateway41、共通利用部分42及びネットワーク中継ハブ44を有する。APIGateway41は、利用者端末装置25が共通利用部分42にアクセスするためのゲートウェイである。
【0096】
共通利用部分42は、Web/RESTサーバ43を有する。Web/RESTサーバ43は、Web API141及びWebコンソール142の機能を有する。Web/RESTサーバ43は、例えば、RFC6598に準拠したシェアードアドレスのうち100.64.64.0/20のアドレスを有するサブネットワークが割り当てられる。Web/RESTサーバ43は、ネットワーク中継ハブ44を介して、仮想ネットワーク1に配置されたネットワークロードバランサ120、220及び320、並びに、ジョブ管理マネージャ130、230及び330に接続される。このWeb/RESTサーバ43が、「共用機能」及び「共通部」の一例にあたる。
【0097】
図10は、ジョブ情報表示画面の一例のイメージ図である。例えば、Web/RESTサーバ43は、
図10に示すジョブ情報表示画面611又は612を利用者端末装置25へ送信してモニタに表示させる。利用者P1は、ジョブ情報表示画面611又は612を使用して、ジョブ管理の制御を行うことができる。
【0098】
例えば、ジョブ情報表示画面611では、紙面に向かって左欄の選択項目の中からジョブネットが選択されると、利用者P1が使用可能なテナント内のジョブ管理の対象となるジョブを含むジョブネットの一覧が表示される。
【0099】
また、ジョブ情報表示画面612では、ジョブネットが選択されると、利用者P1が使用可能なテナントの名前のドロップダウンリストが表示される。そして、ジョブ情報表示画面612では、ドロップダウンリスト中のテナントの名前のリストの中から特定のテナント(
図10の例では「tenant ABCD」)が選択されると、その選択された特定のテナント内のジョブネットの一覧が表示される。
【0100】
利用者端末装置25は、APIGateway41を介してWeb/RESTサーバ43を利用することで、Web経由で仮想ネットワーク1に配置されたネットワークロードバランサ120、220及び320にアクセスできる。
【0101】
例えば、ネットワークロードバランサ120のACL情報121は、
図4に示すように、100.64.64.0/20のアドレスからの通信を許可する。Web/RESTサーバ43は、100.64.64.0/20のアドレスを有しており、ネットワークロードバランサ120にアクセスすることが可能である。
【0102】
また、利用者端末装置25は、APIGateway41を介してWeb/RESTサーバ43を利用することで、Web経由で仮想ネットワーク1に配置されたジョブ管理マネージャ130、230及び330にアクセスできる。
【0103】
図11は、Web/RESTサーバを用いたジョブ管理マネージャに対する操作の処理のシーケンス図である。次に、
図11を参照して、Web/RESTサーバ43を用いたジョブ管理マネージャ130に対する操作の処理の流れを説明する。
【0104】
Web/RESTサーバ43は、ジョブ情報表示画面を利用者端末装置25へ送信してモニタに表示させる(ステップS301)。
【0105】
利用者P1は、利用者端末装置25のモニタに表示されたジョブ情報表示画面を用いて、ジョブを監視し、ジョブ管理マネージャ130に対する操作を入力する。利用者端末装置25は、利用者P1から入力された操作を受けて、操作情報をWeb/RESTサーバ43へ送信する(ステップS302)。
【0106】
Web/RESTサーバ43は、利用者端末装置25から送信された操作情報をネットワークロードバランサ120へ送信する(ステップS303)。
【0107】
ネットワークロードバランサ120の通信制御部122は、ACL情報121を参照して、Web/RESTサーバ43からのデータの受信が許可されているか否かを判定する(ステップS304)。データの受信が許可されていない場合(ステップS304:否定)、ネットワークロードバランサ120は、ジョブ管理マネージャ130に対する操作の処理を終了する。
【0108】
これに対して、データの受信が許可されている場合(ステップS304:肯定)、ネットワークロードバランサ120の通信制御部122は、操作情報を受信する(ステップS305)。
【0109】
次に、通信制御部122は、ジョブ管理マネージャ130が動作する複数の仮想サーバの中から送信先の仮想サーバを決定する(ステップS306)。
【0110】
次に、通信制御部122は、ACL情報121を参照して、ジョブ管理マネージャ130へのデータ送信が許可されていることを確認する。そして、通信制御部122は、選択した仮想サーバで動作するジョブ管理マネージャ130へ操作情報を送信する(ステップS307)。
【0111】
ジョブ管理マネージャ130の通信制御部133は、ACL情報131及びFW情報132を参照して、ネットワークロードバランサ120からのデータの受信が許可されているか否かを判定する(ステップS308)。データの受信が許可されていない場合(ステップS308:否定)、ジョブ管理マネージャ130は、ジョブ管理マネージャ130に対する操作の処理を終了する。
【0112】
これに対して、データの受信が許可されている場合(ステップS308:肯定)、通信制御部133は、操作情報を受信する(ステップS309)。
【0113】
次に、ジョブ管理マネージャ130のジョブ管理部134は、操作情報にしたがって動作を行う。ここでは、ジョブ管理マネージャ130が、ジョブ管理エージェント26に所定の動作を行わせる操作を受けた場合で説明する。ジョブ管理部134は、操作情報にしたがって、ジョブ管理エージェント26に所定の動作を行わせる制御命令を生成する。通信制御部133は、ACL情報131及びFW情報132を参照して、ジョブ実行装置20へのデータ送信が許可されていることを確認する。そして、通信制御部133は、ジョブ管理部134から取得した制御命令をジョブ実行装置20のジョブ管理エージェント26へ送信する(ステップS310)。
【0114】
ジョブ実行装置20のジョブ管理エージェント26は、制御命令を受信して、制御命令にしたがって所定の動作を実行する(ステップS311)。
【0115】
さらに、本実施例に係るジョブ管理サービス提供システム5は、ユーザー情報を有するDB(Data Base)やテナント情報を有するDBを併用して複数のテナントに対する利用者P1のアクセスを管理する。
図12は、ジョブ管理サービス提供システムの接続のイメージ図である。本実施例に係るジョブ管理サービス提供システム5は、ユーザー情報DB601及びテナント情報DB602を有する。
【0116】
ユーザー情報DB601は、利用者P1を含む複数の利用者の情報を管理する。
図13は、ユーザー情報DB及びテナント情報DBの一例の図である。例えば、
図13に示すように、ユーザー情報DB601は、ユーザーの識別情報であるユーザー名に対応させて、そのユーザーが利用する各テナントの情報が登録される。テナントID1は、各利用者が使用する第1テナントの識別情報である。テナントID2は、各利用者が使用する第2テナントの識別情報である。テナントID3は、各利用者が使用する第3テナントの識別情報である。たとえば、利用者P1が2つのテナントを有する場合には、ユーザー情報DB601のテナントID1及びテナントID2に各テナントの識別情報が格納される。また、ユーザー情報DB601には、各利用者のパスワードも保存される。
【0117】
テナント情報DB602は、ネットワーク中継ハブ44を介して接続可能な複数のテナントの情報を管理する。例えば、
図13に示すように、テナント情報DB602には、テナントIDに対応させて、テナント名及びIPアドレスが登録される。
【0118】
図12に戻って、利用者P1によるジョブ管理マネージャ130へのアクセスの手順を説明する。利用者P1は、Web/RESTサーバ43又はクライアント110、210及び310のいずれを用いてもジョブ管理マネージャ130、230及び330へアクセス可能であるが、ここでは、Web/RESTサーバ43を用いてアクセスする場合で説明する。
【0119】
利用者P1は、利用者端末装置25を用いてユーザー名及びパスワードをWeb/RESTサーバ43へ送信する(ステップS201)。
【0120】
Web/RESTサーバ43は、ユーザー名及びパスワードを用いて利用者P1の認証及び利用者P1が使用するテナントのチェックをユーザー情報DB601に依頼する(ステップS202)。
【0121】
ユーザー情報DB601は、利用者P1のユーザー名及びパスワードを用いて認証を行い、認証が成功した場合、利用者P1が利用するテナントのテナントIDをWeb/RESTサーバ43へ応答する(ステップS203)。
【0122】
次に、Web/RESTサーバ43は、テナントIDを用いて利用者P1が利用するテナントサービス提供部100、200及び300のそれぞれのテナント情報の取得要求をテナント情報DB602に対して行う(ステップS204)。
【0123】
テナント情報DB602は、送信されたテナントIDに対応するするテナント名及びIPアドレス等のテナント情報をWeb/RESTサーバ43へ応答する(ステップS205)。
【0124】
次に、Web/RESTサーバ43は、利用者P1が利用する各テナントサービス提供部100、200及び300で動作するジョブ管理マネージャ130、230及び330に対して、テナント情報を用いた接続の認可要求を送信する。ここで、実際には、Web/RESTサーバ43からジョブ管理マネージャ130、230及び330へのデータ送信は、それぞれネットワークロードバランサ120、220及び320を経由する(ステップS206)。
【0125】
ジョブ管理マネージャ130、230及び330は、ACL及びFWによる制限を確認してアクセスの認可を行い、テナントサービス提供部100、200及び300の全てのテナント情報をWeb/RESTサーバ43へ応答する(ステップS207)。これにより、利用者端末装置25は、ジョブ管理マネージャ130、230及び330を利用することが可能となる。
【0126】
以上に説明したように、本実施例に係るサービス提供システムでは、サービスを提供するマルチテナント環境のリソースにおいて、テナント単位よりもさらに細かい各テナントにおける機能毎にサブネットワークを分割して、それぞれにACLやFWを付与する。これにより、外部への公開領域の最小化が可能となり、ジョブ管理マネージャへのアクセス制限を強固にすることができる。
【0127】
また、本実施例に係るジョブ管理サービス提供システムは、Webコンソール及びWeb API用サーバを複数の利用者間で共通利用させる。これにより、テナント毎にWebコンソール及びWeb API用サーバを設けなくても良くなり、使用リソースを削減できる。また、複数のテナントを利用する利用者は、テナント毎のクライアントにアクセスせずに、共通のWebコンソール及びWeb API用サーバを介して各テナントを利用することができ、利便性が向上する。
【0128】
さらに、本実施例に係るジョブ管理サービス提供システムは、ユーザー情報DB及びテナント情報DBを併用して、利用者に紐づくアクセス可能テナント情報を取得して、ジョブ情報表示画面を用いて複数のテナントを一覧で利用者に管理させる。これにより、利用者は、複数のテナントに対する閲覧や操作を同時に行うことができる。さらに、各テナントをバラバラに管理する場合、例えば、払い出し資産についてテナント契約毎の管理を行うこととなり、1人で複数のテナント契約を行った利用者は、テナントの管理が煩雑になる。これに対して、本実施例に係るジョブ管理サービス提供システムは、散在するジョブ管理マネージャをまとめて操作可能な、1つの仮想的なマネージャに集約することができる。これにより、利用者が複数テナント契約をしている場合でも、単一テナント契約時と同等の操作時の利便性を利用者が得ることができる。したがって、サービス利用上の管理負担を軽減することができ、利用者の利便性を向上させることができる。
【0129】
また、ジョブ管理のサービス提供においてマルチテナント構成を採用することで、シングルテナント環境に比べて、利用するインフラが減少し、クラウドインフラ利用で発生するコストを抑えることができる。
【0130】
また、テナント毎にジョブ管理を行うリソースにおいて、RFC6598に準拠したシェアードアドレスを使用する。シェアードアドレスは、利用者端末装置やジョブ実行装置に対して割り当てられず、リソースと利用者端末装置やジョブ実行装置との間でネットワークの衝突が発生し難い。そのため、例えば、テナントを増やす場合等もネットワークの衝突回避のために仮想ネットワークを増やさなくてもよく、仮想ネットワークの配備数を削減することが可能である。これにより、クラウドインフラ利用に関わるコストを削減することが可能となる。
【0131】
さらに、本実施例に係るサービス提供システムでは、利用者毎に論理ボリュームを割り当てて利用者共通のストレージを利用する。このように、ジョブ管理で用いる高速で高コストなストレージを利用者共通で使用することで、クラウドインフラ利用における固定費用の削減が可能となる。また、ストレージに対する利用者へのアクセス制限により、セキュリティも確保可能となる。したがって、セキュリティを確保しつつサービスの利便性を確保したジョブ管理サービスを提供することが可能となる。
【0132】
(ハードウェア構成)
図14は、コンピュータのハードウェア構成図である。次に、
図14を参照して、サービス提供装置10の各機能を実現するためのハードウェア構成の一例について説明する。
【0133】
サービス提供装置10は、例えば、
図14に示すコンピュータ90により実現可能である。コンピュータ90は、例えば、CPU(Central Processing Unit)91、メモリ92、ハードディスク93、ネットワークインターフェース94を有する。CPU91は、バスを介して、メモリ92、ハードディスク93及びネットワークインターフェース94に接続される。
【0134】
ネットワークインターフェース94は、コンピュータ90と外部装置との間の通信のためのインターフェースである。ネットワークインターフェース94は、例えば、利用者端末装置25及びジョブ実行装置20とCPU91との間の通信を中継する。
【0135】
ハードディスク93は、補助記憶装置である。ハードディスク93は、
図2に例示したストレージ400の機能を実現する。また、ハードディスク93は、
図1に例示した、テナントサービス提供部100及び200の機能を実現する。より詳しくは、ハードディスク93は、例えばテナントサービス提供部100であれば、
図2に例示した、クライアント110、ネットワークロードバランサ120及びジョブ管理マネージャ130の機能を実現するためのプログラムを格納する。また、ハードディスク93は、
図2に例示した、ACL情報111、FW情報112、ACL情報121、ACL情報131及びFW情報132を格納してもよい。
【0136】
メモリ92は、主記憶装置である。メモリ92は、例えば、DRAM(Dynamic Random Access Memory)を用いることができる。
【0137】
CPU91は、ハードディスク93から各種プログラムを読み出して、メモリ92に展開して実行する。これにより、CPU91は、
図1に例示した、テナントサービス提供部100及び200の機能を実現する。より詳しくは、CPU91は、例えばテナントサービス提供部100であれば、
図2に例示した、クライアント110、ネットワークロードバランサ120及びジョブ管理マネージャ130の機能を実現する。
【0138】
さらに、ここでは、1つのコンピュータ90によりサービス提供装置10が実現される場合で説明したが、サービス提供装置10は、複数のコンピュータ90により実現されてもよい。