IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社日立製作所の特許一覧

<>
  • 特許-管理システム、及び管理方法 図1
  • 特許-管理システム、及び管理方法 図2
  • 特許-管理システム、及び管理方法 図3
  • 特許-管理システム、及び管理方法 図4
  • 特許-管理システム、及び管理方法 図5
  • 特許-管理システム、及び管理方法 図6
  • 特許-管理システム、及び管理方法 図7
  • 特許-管理システム、及び管理方法 図8
  • 特許-管理システム、及び管理方法 図9
  • 特許-管理システム、及び管理方法 図10
  • 特許-管理システム、及び管理方法 図11
  • 特許-管理システム、及び管理方法 図12
  • 特許-管理システム、及び管理方法 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-22
(45)【発行日】2024-12-02
(54)【発明の名称】管理システム、及び管理方法
(51)【国際特許分類】
   G06F 8/70 20180101AFI20241125BHJP
   G06F 9/455 20180101ALI20241125BHJP
【FI】
G06F8/70
G06F9/455 150
【請求項の数】 10
(21)【出願番号】P 2021089442
(22)【出願日】2021-05-27
(65)【公開番号】P2022182105
(43)【公開日】2022-12-08
【審査請求日】2024-02-15
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】井出 貴也
(72)【発明者】
【氏名】長沼 佑樹
(72)【発明者】
【氏名】相樂 恭宏
(72)【発明者】
【氏名】中村 秀樹
【審査官】西間木 祐紀
(56)【参考文献】
【文献】国際公開第2020/261412(WO,A1)
【文献】特開2013-020494(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/70
G06F 9/455
(57)【特許請求の範囲】
【請求項1】
プロセッサ及びメモリを有し、
各情報処理装置に対する第1の順序でコンテナの構成情報の加工処理を要求する情報である加工要求を取得する連携部と、
前記取得した加工要求に基づき、前記各情報処理装置が行う各加工処理の加工部分間の関係性を特定するチェック部と、
前記特定した加工部分間の関係性に基づき、前記各情報処理装置が行う加工処理に係る第2の順序を決定する順序算出部と、を備え、
前記連携部は、前記決定した第2の順序で前記各情報処理装置に対して前記構成情報の加工処理を行わせる、
管理システム。
【請求項2】
前記チェック部は、前記各情報処理装置に対して所定の順序で前記構成情報に対応する試験情報を送信して加工処理をそれぞれ行わせ、前記加工処理の前後の試験情報の差分の情報に基づき、前記加工部分間の関係性を特定する、
請求項1に記載の管理システム。
【請求項3】
前記順序算出部は、前記特定した関係性を有する加工処理が加工を行う前記構成情報の部分を前記第2の順序の単位とすることで、前記第2の順序を決定する、
請求項1に記載の管理システム。
【請求項4】
前記チェック部は、
前記各情報処理装置で行われた加工処理、当該加工処理が行われた際の構成情報の条件、及び当該加工処理による加工内容の組み合わせの履歴を取得し、
前記情報処理装置に加工処理を実行させ、実行させた加工処理及びその構成情報の条件が前記履歴に存在しない場合は、前記実行させた加工処理を含む加工部分間の関係性を特定する、
請求項1に記載の管理システム。
【請求項5】
前記構成情報は、複数の層からなる階層構造を有する情報であり、
前記順序算出部は、前記特定した加工部分間の関係性と、前記加工部分の内容及び当該加工部分の前記階層構造における層の深さとに基づき、前記各情報処理装置が行う加工処理に係る第2の順序を決定する、
請求項1に記載の管理システム。
【請求項6】
前記チェック部は、前記新たな構成情報を生成したことを示す所定の情報を記憶し、
前記加工処理の後に、所定の情報処理装置から検証要求を受信し、前記所定の情報に基づき、前記検証要求が示す新たな構成情報が正常に生成されたか否かを判定し、その判定結果を示す情報を前記所定の情報処理装置に返信する検証部を備える、
請求項1に記載の管理システム。
【請求項7】
前記加工要求に係る加工処理が実行されるための、構成情報に関する条件の情報が設定されたか否かを判定し、当該情報が設定された場合には、前記情報処理装置宛てに送信された前記加工要求を受信する装置を決定し、前記決定した装置から送信された前記加工要求を受信する挿入部を備える、請求項1に記載の管理システム。
【請求項8】
前記特定した前記各加工処理の加工部分間の関係性、又は、前記決定した第2の順序で前記各情報処理装置に対して行わせた前記構成情報の加工処理の内容を表示するGUI部を備える、請求項1に記載の管理システム。
【請求項9】
ユーザから、前記決定した第2の順序を確定させるための入力を受け付けるGUI部を備える、請求項1に記載の管理システム。
【請求項10】
情報処理装置が、
各情報処理装置に対する第1の順序でコンテナの構成情報の加工処理を要求する情報である加工要求を取得する連携処理と、
前記取得した加工要求に基づき、前記各情報処理装置が行う各加工処理の加工部分間の関係性を特定するチェック処理と、
前記特定した加工部分間の関係性に基づき、前記各情報処理装置が行う加工処理に係る第2の順序を決定する順序算出処理と、を実行し、
前記連携処理において、前記決定した第2の順序で前記各情報処理装置に対して前記構成情報の加工処理を行わせる処理を実行する、
管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、管理システム、及び管理方法に関する。
【背景技術】
【0002】
近年、アプリケーション、実行環境及びその他のデータをパッケージ化したリソース(コンテナ)を用いてアプリケーションを管理及び実行するプラットフォームが導入されるようになっている(例えば、Kubernetes(登録商標))。そして、このような管理システムの利用拡大に伴い、ユーザがリソースにおけるポリシーの設定等を行うために、Webhookなどを用いて外部の処理サーバにリソースの構成情報を加工させることが行われるよう
になってきている(例えばKubernetesのMutating Admission Webhook)。
【0003】
しかしながら、複数の処理サーバに順次構成情報を加工させていく場合、構成情報又はその加工の内容によっては、処理サーバ同士で構成情報の加工に競合や矛盾が生じる可能性が高まっている。一方で、ユーザは通常、処理サーバの挙動をコントロールすることができない場合が多い。
【0004】
ここで、特許文献1には、各インスタンス(処理サーバに対応)が中央システムに構成情報を送信し、中央システムが手動又は事前に定めたルールでリクエストの競合を解決後、インスタンスにその構成情報を返信する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】米国特許出願公開第2017/0337254号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、加工処理による構成情報の出力内容は、入力される構成情報の内容に依存する場合がある。したがって、加工処理間の競合関係は加工処理の実行順序にも依存することになり、特許文献1の方法ではこのような場合に十分に対応することができない。
【0007】
本発明はこのような事情に鑑みてなされたもので、その目的は、複数の加工処理がコンテナの構成情報を加工する場合であっても、加工処理間の矛盾及び衝突が生じることを防ぐことが可能な管理システム、及び管理方法を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するための本発明の一つは、プロセッサ及びメモリを有し、各情報処理装置に対する第1の順序でコンテナの構成情報の加工処理を要求する情報である加工要求を取得する連携部と、前記取得した加工要求に基づき、前記各情報処理装置が行う各加工処理の加工部分間の関係性を特定するチェック部と、前記特定した加工部分間の関係性に基づき、前記各情報処理装置が行う加工処理に係る第2の順序を決定する順序算出部と、を備え、前記連携部は、前記決定した第2の順序で前記各情報処理装置に対して前記構成情報の加工処理を行わせる管理システムである。
【0009】
また、上記課題を解決するための本発明の一つは、情報処理装置が、各情報処理装置に対する第1の順序でコンテナの構成情報の加工処理を要求する情報である加工要求を取得する連携処理と、前記取得した加工要求に基づき、前記各情報処理装置が行う各加工処理の加工部分間の関係性を特定するチェック処理と、前記特定した加工部分間の関係性に基
づき、前記各情報処理装置が行う加工処理に係る第2の順序を決定する順序算出処理と、を実行し、前記連携処理において、前記決定した第2の順序で前記各情報処理装置に対して前記構成情報の加工処理を行わせる処理を実行する管理方法である。
【発明の効果】
【0010】
本発明によれば、複数の加工処理がコンテナの構成情報を加工する場合であっても、加工処理間の矛盾及び衝突が生じることを防ぐことができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0011】
図1】実施例1に係る管理システムの構成の一例を示す図である。
図2】加工処理情報の一例を示す図である。
図3】組合せ情報の一例を示す図である。
図4】ルール情報の一例を示す図である。
図5】管理システムにおける各情報処理装置が備えるハードウェアの一例を示す図である。
図6】構成情報出力処理の概要を説明するブロック図である。
図7】チェック処理の概要を説明するブロック図である。
図8】構成情報出力処理を説明するシーケンス図である。
図9】トレース情報の一例を示す図である。
図10】競合解決画面の一例を示す図である。
図11】チェック処理の一例を示すフロー図である。
図12】実施例2に係る管理システムの構成の一例を示す図である。
図13】トレース表示画面の一例を示す図である。
【発明を実施するための形態】
【0012】
-実施例1-
図1は、実施例1に係る管理システム200の構成の一例を示す図である。管理システム200は、オペレーティングシステム及びランタイム等に対応したコンテナに基づきアプリケーションを実行するためのシステムである。
【0013】
具体的には、管理システム200は、1又は複数の呼出サーバ210(APIサーバ)、加工処理情報220、1又は複数の中継サーバ230(リバースプロキシ)、1又は複数の加工サーバ240(処理サーバ)、及びコントローラ250の各情報処理装置を含んで構成される。なお、コンテナとは、本実施形態では、アプリケーション及びアプリケーションの実行に必要な情報(ライブラリ、設定ファイル等)を含んだリソースの集合である。呼出サーバ210、加工処理情報220は、例えばKubernetesプラットフォームを用いて実現される。
【0014】
なお、呼出サーバ210、加工処理情報220、中継サーバ230、加工サーバ240、及びコントローラ250の間は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、又は専用線等の有線若しくは無線のネットワーク
40により通信可能に接続される。
【0015】
呼出サーバ210は、各加工サーバ240に、コンテナの構成情報を含みその構成情報の加工を要求する情報である加工要求を送信し、各加工サーバ240から、(加工後の)構成情報を含む応答情報を受信する。呼出サーバ210は、受信した構成情報を次の加工サーバ240に対する加工要求に用いることで、構成情報を順次加工する。なお、構成情報はYAMLやJSON(Javascript Object Notation。登録商標)などの階層構造を持つデータ形式で示される。
【0016】
加工サーバ240は、呼出サーバ210から送信された加工要求に含まれる構成情報を加工する処理(以下、加工処理という)を行う。具体的には、加工サーバ240は、加工機能241を備える。加工機能241は、例えば、構成情報の追加、更新、又は削除等を行う。
【0017】
ここで、呼出サーバ210は、所定の順序(以下、第1の順序ともいう)で各加工サーバ240に加工要求を送信する仕様となっているため、構成情報の内容又は加工処理の組合せによっては、各加工サーバ240による加工処理が互いに矛盾又は衝突し、アプリケーションが正しく動作しない構成情報が生成されるおそれがある。
【0018】
そこで、本実施形態の管理システム200(主に、中継サーバ230及びコントローラ250)は、各加工サーバ240による加工順序を、加工処理の加工対象(加工部分)間の関係性(本実施形態では、依存関係及び競合関係)に基づき新たな加工順序(第2の順序)に変更することで、構成情報の加工処理同士で矛盾衝突が起こることを防ぐ。
【0019】
中継サーバ230は、加工サーバ240に対応して設けられる。中継サーバ230は、呼出サーバ210から送信された(加工サーバ240宛ての)加工要求を奪取し、これをコントローラ250に転送する。加工要求の奪取は、例えば、加工サーバ240とネットワークを共有するコンテナ又は加工サーバ240内のプロセス等により実現され、具体的には、加工サーバ240に、中継サーバ230への転送設定を行うことで実現される(サイドカーパターン)。
【0020】
具体的には、中継サーバ230は、中継部231を備える。中継部231は、呼出サーバ210が送信した、加工サーバ240宛ての加工要求を取得してコントローラ250に転送する。また、中継部231は、コントローラ250から送信された、加工要求に対応する応答情報を呼出サーバ210に転送する。なお、中継サーバ230は、特定のフラグが加工要求に設定されている場合(例えば、URL又はパラメータ等で指定)は、加工サーバ240に処理を転送することで、コントローラ250が加工サーバ240を直接呼び出す。
【0021】
なお、中継サーバ230は、加工サーバ240と同数存在してもよいし、複数の加工サーバ240に対応するサーバとして設けられてもよい。
【0022】
次に、加工処理情報220は、各加工処理のID、及び各加工処理を実行するための条件(構成情報に関する条件)を示す情報で、例えばデータベースやデータストアに保持される。加工処理情報220は、例えば、Kubernetesにおける、Mutating Admission Webhookのためのリソースの情報などである。加工処理情報220の詳細は後述する。
【0023】
次に、コントローラ250は、順序算出部251、チェック部252、連携部253、及びGUI部254を備える。また、コントローラ250は、加工処理の組合せ、それらの加工処理が行われた際の構成情報の条件、及びそれらの加工処理による加工内容の履歴を記憶した組合せ情報255と、加工処理間の競合関係及び依存関係を記憶した情報であるルール情報256と、各加工サーバ240による加工処理の結果を記憶したトレース情報257とを記憶する。
【0024】
順序算出部251は、組合せ情報255及びルール情報256に基づき、リクエストに対する各加工サーバ240の呼び出し順序(加工処理の順序。以下、加工順序という。)を算出する。
【0025】
チェック部252は、加工処理による加工の前後の差分情報に基づき、加工処理間での競合関係及び依存関係を算出する。
【0026】
連携部253は、中継サーバ230から受信した加工要求を受け付け、所定のIDの付与、構成情報の履歴(ログ情報)の登録、及び、加工処理に関する判定を行う。
【0027】
(加工処理情報DB)
図2は、加工処理情報220が記憶する加工処理情報225の一例を示す図である。加工処理情報225は、例えば、構成情報を加工する加工処理(加工サーバ240)の総数Nの算出、及び加工要求の送信先(宛先)たる加工サーバ240の管理に使用される。
【0028】
加工処理情報225は、加工処理の種類及びバージョンの識別子である処理ID501(例えば、オブジェクトIDおよびリソースバージョン)、処理ID501に係る加工処理が実行されるための構成情報の条件502(構成情報のパラメータ等が設定される)、処理ID501に係る加工処理の名前503、及び、処理ID501に係る加工処理を行う加工サーバ240(呼び出し先の加工サーバ240)の宛先504(例えば、URL又はサーバ名)の各データ項目を有する。なお、加工処理情報225は、例えば、管理者等により管理システム220の外部(例えばKubernetesのAPIサーバ経由)にて設定、更新
又は削除される。
【0029】
(組合せ情報)
図3は、組合せ情報255の一例を示す図である。組合せ情報255は、実行された加工処理のリストが設定されるIDリスト601、IDリスト601に係る加工処理が実行された際の構成情報の内容(すなわち、IDリスト601に含まれる各加工処理の条件502を合算した条件)が設定される加工条件602、及び、IDリスト601に係る加工処理により加工された加工後の構成情報の内容が設定される加工内容603の各データ項目を有する。
【0030】
加工内容603には、例えば、加工処理のID、加工処理による加工部分(箇所)、加工部分における加工内容(例えば、CREATE(新規追加)、UPDATE(更新)、DELETE(削除))の情報が設定される。
【0031】
なお、複数の加工条件リストについて、IDリスト601及び加工条件602の内容が同一であっても、加工内容603が異なる場合は、それぞれ異なるレコードに情報が設定される。この際、加工条件602には、加工処理情報225の条件502に対応する条件の他、加工内容603に係る加工における加工箇所の情報が設定される。
【0032】
(ルール情報)
図4は、ルール情報256の一例を示す図である。ルール情報256は、ユーザにより指定され又はコントローラ250により算出された、加工処理間の競合関係及び依存関係の情報及び加工処理間の加工順序の情報等を記憶している。ルールは競合関係又は依存関係の範囲(以下、干渉ブロックという)ごとに作成される。
【0033】
具体的にはルール情報256は、干渉ブロックに含まれる加工処理のリストであるIDリスト701、IDリスト701に係る加工処理が実行される際の構成情報の内容が設定される条件702、IDリスト701に係る各加工処理の加工順序の情報が設定されるルール703、加工処理間の関係(依存関係「依存」、競合関係「競合」、又は双方「依存」「競合」)を示す情報が設定されるタイプ704、ルール703がユーザにより指定されたか(「ユーザ」)又はコントローラ250により自動的に設定されたか(「自動」)を示す情報が設定される指定705、コントローラ250によりルール703が設定され
た場合にその加工処理による加工の内容が設定される自動加工内容706、及び、ユーザによりルール703が指定された場合にその加工処理の加工の内容が設定されるユーザ指定後加工内容707の各データ項目を有する。
【0034】
なお、後述するように、競合解決画面400によりある加工処理に関してスキップが指定された場合は、ルール703におけるその加工処理のデータは削除される。このため、IDリスト701に含まれる加工処理の数とルール703に含まれる加工処理の数は必ずしも一致するとは限らない。また、干渉ブロックは競合関係または依存関係が発生している加工処理のうち、構成情報において最も階層が浅い加工処理の一つの要素を起点とする範囲を指す。このため、複数の要素を加工する加工処理がある場合には、一つの構成情報に複数の干渉ブロックが発生しうる。
【0035】
ここで、図5は、管理システム200における各情報処理装置が備えるハードウェアの一例を示す図である。各情報処理装置は、CPU(Central Processing Unit)、MPU
(Micro Processing Unit)、又はGPU(Graphics Processing Unit)等のプロセッサ
301と、ROM(Read Only Memory)、又はRAM(Random Access Memory)等の主記憶装置304と、ハードディスクドライブ(Hard Disk Drive)、フラッシュメモリ(Flash Memory)、又はSSD(Solid State Drive)等の補助記憶装置305と、ネットワークインタフェースカード(Network Interface Card: NIC)、無線通信モジュール、US
B(Universal Serial Interface)モジュール、又はシリアル通信モジュール等の通信制御装置302及び通信インタフェース303とを備える。なお、プロセッサ301、通信制御装置302、通信インタフェース303、主記憶装置304、および補助記憶装置305は、内部バス306を介して相互に接続される。なお、各情報処理装置は、キーボード、マウス、カードリーダ、若しくはタッチパネル等の入力装置、又は、液晶ディスプレイ(Liquid Crystal Display: LCD)、音声出力装置(スピーカ)、若しくは印字装置等
の出力装置を備えていてもよい。なお、各情報処理装置は、上記のような物理的なハードウェアを備える計算機であってもよいし、物理的な計算機を論理的に分割した計算機の単位(仮想サーバ)でもよい。また、各情報処理装置は、1台または複数の計算機クラスタ上で実行されるタスク(プロセスやコンテナ)であってもよい。
【0036】
各情報処理装置は、プロセッサ301が、主記憶装置304又は補助記憶装置305に格納されているプログラムを読み出して実行することにより実現される。また上記のプログラムは、例えば、記録媒体に記録して配布することができる。
【0037】
次に、管理システム200において行われる処理について説明する。
<処理の概要>
図6は、呼出サーバ210からの加工要求に含まれる構成情報に関して、各加工サーバ240による構成情報の加工順序を変更することで適切な構成情報を出力する処理(以下、構成情報出力処理という)の概要を説明するブロック図である。
【0038】
まず、呼出サーバ210が、その仕様に従って、各加工サーバ240宛てに所定の順序(第1の順序)にて順次、構成情報110を含む加工要求を送信する。すると、各加工サーバ240に対応する各中継サーバ230は、各加工要求を奪取してこれをコントローラ250に転送する。コントローラ250は、ここでは加工処理を行わず、各加工要求に対応するIDを含むダミーの応答情報を、各中継サーバ230を経由して呼出サーバ210に送信する(以上、s1-s4)。
【0039】
コントローラ250は、最後の中継サーバ230から加工要求を受信すると(s5、s6)、受信した加工要求における構成情報に関して、各加工サーバ240による構成情報の加工順序(第2の順序)を決定する処理(処理順序算出処理s911)を行い、その加
工順序に従って、中継サーバ230経由で加工サーバ240を呼び出すことで、構成情報の加工を順次行わせる(s7-s9。なお図面上では中継サーバ230の経由は省略)。そして、コントローラ250は、加工した加工後構成情報111を呼出サーバ210に送信する(s10、s11)。
【0040】
これにより、例えば、呼出サーバ210が当初、加工サーバA、B、C(中継サーバA、B、C)の順にリクエストを送信し、これが各加工サーバ240による構成情報の加工に競合等を生じさせて適切な構成情報が出力されない場合であっても、コントローラ250が加工順序の設定を行うことで、加工順序を加工サーバB、C、A(中継サーバB、C、A)に変更させ適切な構成情報が出力させることができる。
【0041】
ここで、コントローラ250は、処理順序算出処理s911を行う際、各加工処理間の競合関係及び依存関係を特定するチェック処理s910を実行する。
【0042】
<チェック処理(依存関係及び競合関係の算出)>
図7は、チェック処理s910の概要を説明するブロック図である。コントローラ250は、中継サーバ230経由で最後に受信した構成情報を複製した情報(試験用構成情報)を、予め設定した順序にて、各加工サーバ240に送信することで試験用構成情報を順次加工し、加工後の試験用構成情報を受信する。コントローラ250は、試験用構成情報の加工ごとに、加工前の試験用構成情報と加工後の試験用構成情報との差分情報及び加工箇所の情報を生成する。
【0043】
コントローラ250は、生成した各差分情報及び加工箇所の情報を参照することで、加工サーバ240間の依存関係及び競合関係を特定する。具体的には、コントローラ250は、試験用構成情報が変化しなくなるまで、試験用構成情報の加工を各加工サーバ240に対して順に繰り返し行わせると共に、各加工に関する試験用構成情報の差分情報を生成する。なお、加工サーバ240が、試験用構成情報の一部を削除する加工を実行した場合には、コントローラ250は、差分情報にはその差分を記憶する一方、加工後の試験用構成情報に対しては削除部分を復活させて次の加工サーバ240に対する加工処理に用いる。これは削除処理により依存関係及び競合関係の情報が失われることを防ぐためである。
【0044】
同図の例では、加工サーバA、B、Cの順序で加工処理が実行され(コントローラ250がs21~s29の順で構成情報の送受信を行い)、加工サーバCに加工サーバBが依存するとした場合、s23で加工サーバCの処理が、s25で加工サーバBの処理がそれぞれ反映され、その後3周目のループで試験用構成情報の差分がなくなりs29で処理が停止する。
【0045】
<構成情報出力処理のシーケンス>
図8は、構成情報出力処理を説明するシーケンス図である。構成情報出力処理は、加工前の構成情報110に対する加工処理に関して、各加工処理間の依存関係及び競合関係を特定し、特定した依存関係及び競合関係に基づき各加工処理の順序を決定し、決定した順序で各加工サーバ240に加工処理を実行させ、加工後構成情報111を出力する。
【0046】
まず、連携部253は、構成情報を取得する(s900)。構成情報の取得は、例えば、ユーザからの入力、又は他の情報処理装置からの受信に基づく。
【0047】
そして、連携部253は、受信した構成情報に関して以下のs901~s906の処理を実行する。なお、この処理は、実際に加工サーバ240による加工処理が行われることなく、呼出サーバ210が加工処理に対するダミーの応答情報を受信する処理である。本処理は加工サーバ240がN個ある場合、N-1回実施される。
【0048】
すなわち、各中継サーバ230は、呼出サーバ210が各加工サーバ240宛に送信した、構成情報を含むリクエストを順次奪取し(s901、s907)、取得したリクエストをコントローラ250に送信する(s902、s908)。
【0049】
コントローラ250の連携部253は、各中継サーバ230から受信した各構成情報に対して所定のIDを設定する(s903)。なお、この処理は、構成情報にIDが設定されていない場合のみ実行される。
【0050】
また、連携部253は、各中継サーバ230から構成情報を受信するごとに、中継サーバ230が呼出サーバ210から呼び出された旨を記憶すると共にその構成情報が呼出サーバ210から最後に受信する構成情報であるかを、加工処理情報220を参照することで確認する(s904、s909)。
【0051】
連携部253は、受信した構成情報が最後に受信すべき構成情報でないと判定した場合は(s904)、(その構成情報を送信してきた)中継サーバ230に、設定したID及びダミーの応答情報を送信する(s905)。ID及び応答情報を受信した中継サーバ230は、受信したIDを応答情報として呼出サーバ210に転送する(s906)。なお、ダミーの応答情報は、例えば入力された構成情報にID情報を付与したのみの情報である。
【0052】
一方、連携部253が、最後に受信すべき構成情報を受信したと判定した場合は(s909)、これまでに受信した構成情報により特定される加工処理の組合せに対して、図11にて詳述するチェック処理s910を実施する。
【0053】
その後、順序算出部251は、チェック処理s910の結果及びルール情報256に基づき、各加工サーバ240による加工順序を決定する(s911)。
【0054】
具体的には、例えば、順序算出部251は、ルール情報256の各レコードのうち、IDリスト701に本件加工処理の組合せ(s901で受信した構成情報(本件構成情報)により特定される加工処理の組合せ)が設定され、条件702に本件構成情報たる条件が設定されているレコードを抽出し、抽出したレコードのルール703を取得する。順序算出部251は、抽出したレコードが一つのみの場合、そのルール703に指定された処理IDの順序を加工順序とし、当該ルール703およびそのレコードを記憶する。順序算出部251は、抽出したレコードが複数ある場合はルール703を直列に並べた処理IDのリストを加工順序とし、対象となるルール703とその同一レコードが持つ加工内容とをそれぞれペアにして記憶する。ただし、抽出したレコードが複数あり、かつその中で以下の処理で算出する干渉ブロックが示す範囲が同一であるレコードが複数ある場合は、順序算出部251は、干渉ブロックが示す範囲が重複したそのレコード群のうち条件702の数が最も多いレコードのルール703以外を除外して上記の処理を行う。干渉ブロックの範囲は、各レコードのユーザ指定後加工内容707が含む最初の処理IDに対応した加工箇所(例えば、図4の一つ目のレコードの場合、spec.containersが該当)を抽出するこ
とで得られる。ルール情報256にて該当するレコードが存在しない構成情報は、順序算出部251は、任意又は予め設定したルールに従って(例えば、加工処理の処理IDの昇順又は加工処理の登録時刻順等に従って)、順序を設定する。
【0055】
順序算出部251は、s911で決定した加工順序に従って各加工サーバ240を呼び出すことで、s908で受信した構成情報に対する加工処理を順次実行する(s912~s918)。
【0056】
具体的には、まず、順序算出部251は、加工サーバ240宛に、構成情報を含む加工要求を送信し(s912)、対応する中継サーバ230がこの加工要求を受信して加工サーバ240に転送する(s913)。加工サーバ240は、受信した構成情報を、当該加工サーバ240が予め定めた加工処理にて加工する(s914)。なお、加工された構成情報は、以降の各加工サーバ240における加工に順次用いられる。
【0057】
加工サーバ240は、加工した構成情報を含む応答情報を呼出サーバ210宛に送信し(s915)、対応する中継サーバ230がこの応答情報を奪取してコントローラ250に送信する(s916)。
【0058】
順序算出部251は、加工サーバ240からs916により受信した構成情報により特定される構成情報の加工内容が、組合せ情報255又はルール情報256に登録されている加工処理の内容と一致するか否かを判定する(s917)。具体的には、順序算出部251は、受信した構成情報により特定される構成情報の加工内容が、s911で記憶したレコードのユーザ指定後加工内容707(ユーザ指定後加工内容707に情報が設定されていない場合は自動加工内容706)と一致しているか否かを判定する。ただし、処理順序が複数のルール703で構成されている場合は、順序算出部251は、受信した構成情報により特定される構成情報の加工内容が、s911で記憶したレコード群のいずれかの自動加工内容706もしくはユーザ指定後加工内容707と一致しているか否かを判定する。その後、順序算出部251は、現在加工処理を実行中のルール703に対応したユーザ指定後加工内容707(ユーザ指定後加工内容707に情報が設定されていない場合は自動加工内容706)以外の加工箇所を、当該加工処理で加工される以前の状態に復元する(対象とする干渉ブロック以外は加工しないようにする)。
【0059】
両者の加工内容が一致しない場合は、順序算出部251は、所定の再計算フラグを設定してチェック処理s910からの処理を繰り返す。両者の加工内容が一致する場合、順序算出部251は、次述するs918の処理を実行する。
【0060】
なお、順序算出部251は、両者の加工内容は異なるが、加工箇所が同じである場合は、チェック処理s910は実行せずに、その加工内容を、組合せ情報255又はルール情報256に追加する。例えば、順序算出部251は、加工サーバ240による加工前の構成情報の部分“CREATE”に対して”UPDATE”を追加した場合は、構成情報に[“CREATE”,”UPDATE”]を設定する。
【0061】
s918において順序算出部251は、s913までに行った構成情報の加工内容をトレース情報257に記憶する。以降は図9にてトレース情報の説明し、その後改めてs919以降の処理を示す。
【0062】
(トレース情報)
図9は、トレース情報257の一例を示す図である。トレース情報257は、加工処理の識別子である処理ID801、処理ID801に係る加工処理が実行されるための構成情報の条件が設定される加工条件802、処理ID801に係る加工処理が行われた原因がチェック処理であるかそれ以外の処理(s914のような通常の加工処理)であるかを示す情報が設定される処理タイプ803、処理ID801に係る加工処理が加工した構成情報のIDが設定される対象804、処理ID801に係る加工処理が行われた順序805(例えば、図7に示したs21~29の加工順序に対応)、処理ID801に係る加工処理による加工前の構成情報が設定される加工前806、及び、処理ID801に係る加工処理による加工後の構成情報が設定される加工後807の各データ項目を有する。
【0063】
なお、処理タイプ803には、対応する加工処理がチェック処理により実行された場合
には「チェック処理」、その他の処理により実行された場合には「通常処理」が設定される。
【0064】
以上のように、コントローラ250は、図8に示したs912~s918の処理を、s911で決定した処理順序に従って、各加工サーバ240に対して繰り返し実行する。
【0065】
その後、連携部253は、チェック処理s910及び処理順序算出処理s911にて加工順序を設定したことを示す情報を、加工後構成情報111に付加する(s919)。連携部253は、例えば、構成情報の「metadata.annotations」に「{“processedBy”: “orderController”}」を追加する。そして、連携部253は、この加工後構成情報111を含む応答情報を、s908に係る中継サーバ230(最後の中継サーバ230)に送信する(s920)。中継サーバ230は、受信した応答情報を呼出サーバ210に送信する(s921)。呼出サーバ210は、受信した応答情報に含まれる加工後構成情報111を出力する(s922)。出力された加工後構成情報111は、管理システム200等における所定のデータベース等に格納される。
【0066】
<競合解決画面>
図10は、競合解決画面の一例を示す図である。競合解決画面400は、ユーザが加工処理間の依存関係及び競合関係の情報を設定するための画面である。
【0067】
競合解決画面400は、競合リスト表示部410、ルール追加ボタン420、ルール設定部430、設定ビューア440、及びOKボタン450を備える。
【0068】
競合リスト表示部410には、ルール情報256のうち、タイプ704に「競合」が含まれるレコードの情報がリストで表示される。
【0069】
具体的には、競合リスト表示部410には、各レコードのルール703がユーザ入力により解決された(Done)か否か(-)を示す情報(Resolved)、各レコードの加工処理が実行されるための構成情報の条件(Condition)、及び、そのレコードのIDリスト70
1(Processors)が表示される。
【0070】
ルール追加ボタン420は、ユーザ独自のルールの作成を受け付ける。具体的には、ルール追加ボタン420が押下されると、ルール情報256の各カラムに対応した情報を入力可能なポップアップ画面が表示され、その画面にユーザが入力した情報が新規にルール情報256に追加される。
【0071】
ルール設定部430は、競合リスト表示部410に表示されている各干渉ブロックにおける加工処理の順序の指定をユーザから受け付ける。また、ルール設定部430は、競合リスト表示部410に表示されている各干渉ブロックの加工処理のうち、干渉ブロックから除外する(スキップする)加工処理の指定をユーザから受け付ける。
【0072】
設定ビューア440には、ルール設定部430により指定された加工処理が実行される場合に、構成情報がどのように変更されるかを示す情報(構成情報の変化)が表示される。なお、この表示を行うための素材となる構成情報は、トレース情報257から、処理ID801及び加工条件802が一致し、処理タイプ803がチェック処理で、順序805が1のレコードの加工前806の情報を抽出することで取得される。
【0073】
具体的には、設定ビューア440には、加工処理により追加又は変更される構成情報の部分(「+」)と、加工処理により削除される構成情報の部分(「-」)とが表示される。また、設定ビューア440には加工箇所が強調表示される(例えば、網掛けがなされる
)。複数の加工箇所が競合又は依存関係にある箇所は前述のように干渉ブロック441として表示される。なお、設定ビューア440における構成情報の内容は、例えば、トレース情報257(例えば、処理タイプ803に「チェック処理」が設定され、かつ条件802に競合条件が設定されているレコード)、及びルール設定部430の内容から取得される。
【0074】
OKボタン450は、ユーザから、ルール設定部430に現在表示されている内容のルール情報256への登録を受け付ける。
次に、チェック処理s910の詳細を説明する。
【0075】
<チェック処理>
図11は、チェック処理s910の一例を示すフロー図である。コントローラ250のチェック部252は、(s908により)受信した構成情報(対象構成情報)に対するチェック処理が再チェックであるか否かを確認する(P1000)。具体的には、チェック部252は、再計算フラグが設定されているか否かを確認する。
【0076】
チェック処理が再チェックである場合は(P1001:YES)、チェック部252は後述するP1020の処理を実行し、チェック処理が再チェックでない場合は(P1001:NO)、チェック部252は後述するP1010の処理を実行する。
【0077】
P1010においてチェック部252は、対象構成情報に係る加工処理及びその条件が、過去に加工サーバ240で行われた加工処理及びその条件に一致するか否かを判定する。具体的には、チェック部252は、組合せ情報255に、当該対象構成情報に係る加工内容及び(加工前の)対象構成情報の条件が設定されているレコードがあるか否かを判定する。
【0078】
両者が一致しない場合は(P1010:Yes)、チェック部252は、次述するs1020の処理を実行し、両者が一致する場合は(P1010:No)、チェック部252は、チェック処理s910を終了する。
【0079】
P1020においてチェック部252は、対象構成情報に係る加工処理群の情報を取得する。具体的には、チェック部252は、加工処理情報220から、条件502に(加工前の)対象構成情報の条件が設定されているレコードの内容(処理ID501等)を取得する。
【0080】
チェック部252は、対象構成情報の内容を有する試験用構成情報(ダミーの構成情報)を生成する。そして、チェック部252は、P1020で取得した各加工処理を予め定めた順序にて、対応する加工サーバ240に対して実際に実行させることで、試験用構成情報を順次加工する(P1030)。なお、チェック部252は、各加工前後の試験用構成情報を比較した場合に、特定のデータが削除されている場合は、削除された部分を復活させる。
【0081】
P1030の処理の際、チェック部252は、各加工サーバ240に加工処理を実行させるごとに、その加工内容をトレース情報257に記憶する。具体的には、例えば、チェック部252は、トレース情報257の処理ID801に、実行した加工処理のIDを設定し、処理タイプ803に「チェック処理」を設定し、対象804に、加工処理に対応する試験用構成情報(構成情報)のIDを設定し、加工前806に、加工処理の実行前の試験用構成情報を設定し、加工後807に、加工処理の実行後の試験用構成情報を設定する。
【0082】
チェック部252は、P1030で生成したトレース情報257に基づき、P1030で実行した加工処理により試験用構成情報が変更されたか否かを判定する(P1040)。
【0083】
試験用構成情報が変更されなかった場合は(P1040:NO)、チェック部252は、P1030の処理を繰り返し、試験用構成情報が変更された場合は(P1040:Yes)、チェック部252は、P1050の処理を実行する。
【0084】
P1050においてチェック部252は、加工処理により加工された試験用構成情報の差分の情報(変更の箇所及び変更の内容)を、P1030で生成したトレース情報257の加工前806及び加工後807等により生成する。
【0085】
チェック部252は、試験用構成情報の差分の情報に基づき、各加工処理間の依存関係及び競合関係を特定する(P1060)。
【0086】
例えば、チェック部252は、各差分の情報を参照し、変更の箇所が共通する加工処理同士を競合関係として特定する。また、例えば、チェック部252は、各差分の情報を参照し、ある差分が他の差分を前提としている場合に、ある差分に係る加工処理が他の差分に係る加工処理に対して依存すると特定する。具体的には、例えば、チェック部252は、3番目の加工処理による差分が「spec.container[*].image」であり、1番目の加工処
理による差分が「spec.containers[1]」である場合は、3番目の加工処理は1番目の加工処理に依存すると判定する。さらに、チェック部252は、1番目の加工処理による差分がさらに「spec.containers[1].image」を含んでいれば、1番目の加工処理と3番目の加工処理はさらに競合関係にもあると判定する。
【0087】
チェック部252は、P1060で特定した競合関係及び依存関係に係る各加工処理による加工部分(差分)を組合せ情報255に設定する(P1070)。
【0088】
具体的には、チェック部252は、組合せ情報255のIDリスト601に、P1020で取得した加工処理のレコードの内容(IDのリスト)を設定し、加工内容603に、加工処理による構成情報の差分の情報(初期状態の構成情報から変化している部分の情報)をP1050での差分の情報に基づき設定する。加工条件602に対しては、チェック部252は、再計算フラグが設定されている場合は、P1030で実行した加工処理に係る条件(構成情報)の和集合の情報を設定する。一方、再計算フラグが設定されていない場合は、加工内容が変化した際の構成情報の条件を漏れなく組合せ情報255に登録するべく(すなわち、加工サーバ250がコントローラ250が直接検知できない構成情報の条件下で加工処理を行っていた場合の加工内容とその条件を、P1030で加工サーバ250に行わせた加工処理の結果に基づき登録すべく)、チェック部252は例えば以下の処理を行う。
【0089】
すなわちチェック部252は、加工処理情報220のうち構成情報の条件となりうる部分(resources, apiVersion等)の情報を条件502から取得する。さらにチェック部2
52は、組合せ情報255から、P1020で特定される加工処理及び構成情報の条件502に対応するデータをIDリスト601及び条件602に有するレコードから取得し、その加工内容603と、P1050で特定される加工内容との差分を参照し、両者が同一のパスの構成情報を有している場合には、その構成情報を組合せ情報255の加工条件602に登録する(例えば、加工前に比べ、「metadata.labels.inject: true」という加工内容が追加され、構成情報に「metadata.labels.inject」が存在すれば、「metadata.labels.inject」を条件603に追加する)。
【0090】
チェック部252は、P1060で特定した各加工処理間の依存関係及び競合関係に基づき、互いに依存関係又は競合関係にある構成情報の部分に対する各加工処理の加工順序を設定する(P1080)。
【0091】
例えば、チェック部252は、「ルール1.加工処理による加工箇所(構成情報の部分)の階層が深い加工処理ほどより後ろの順序とする」、「ルール2.階層が同じ深さの場合は、加工処理に関して、DELETE(データの削除)、CREATE(データの作成)、UPDATE(データの更新)の優先順位とする」、「ルール3.ルール1及びルール2で加工順序を決定できない加工処理間は、加工処理情報220への加工処理の登録順とする」といったルールで加工順序を設定する。例えば、1.については、チェック部252は、加工処理として「spec.containers」及び「spec.containers[*].imges」がある場合、後者をより後
に実行する。このようなルールにより、より多くの加工処理を構成情報に反映できる。
【0092】
チェック部252は、P1080で決定した加工順序をルール情報256に登録する(P1090)。具体的には、チェック部252は、ルール情報256のIDリスト701、条件702、及び自動加工内容706には、P1070で組合せ情報255に設定したIDリスト601、加工条件602、及び加工内容603をそれぞれ設定し、ルール703には、P1080で決定した各加工処理の加工順序の情報を設定し、タイプ704には、P1060で特定した依存関係及び競合関係の情報を設定し、指定705には「自動」を設定し、ユーザ指定後加工内容707には空情報を設定する。
【0093】
なお、ここでチェック部252は、試験用構成情報を破棄する。以上でチェック処理s910は終了する。
【0094】
以上のように、本実施例の管理システム200(コントローラ250)は、各加工サーバ240に対する第1の順序で構成情報の加工処理を要求する加工要求を取得し、この加工要求に基づき各加工サーバ240が行う各加工処理の加工部分間の関係性(依存関係及び競合関係)を特定し、特定した関係性に基づき、各加工サーバ240が行う加工処理に係る第2の順序を決定し、決定した第2の順序で各加工サーバ240に対して構成情報の加工処理を行わせることにより、依存や競合を考慮した加工後構成情報111を出力する。
【0095】
すなわち、コントローラ250は、各加工サーバ240に対する加工要求の加工順序を、加工要求が対象とする加工部分の関係性に基づいて第1の順序から第2の順序に修正して、その第2の順序に基づき構成情報の加工を行う。このようにして、本実施例の管理システム200は、複数の加工処理がコンテナの構成情報を加工する場合であっても、加工処理間の矛盾及び衝突が生じることを防ぐことができる。
【0096】
また、本実施例の管理システム200は、各加工サーバ240に対して所定の順序で構成情報の試験情報を送信して加工処理をそれぞれ行わせ、加工処理の前後の試験情報の差分の情報に基づき、加工部分間の関係性を特定する(チェック処理s910)。
【0097】
これにより、加工部分間の関係性を、各加工サーバ240が実際に行う加工処理の結果に基づいて確実に特定することができる。
【0098】
また、本実施例の管理システム200は、上記特定した関係性を有する加工処理が加工を行う構成情報の部分を第2の順序の単位(すなわち干渉ブロック)とすることで、第2の順序を決定する。
【0099】
これにより、構成情報全体ではなく構成情報の部分に対して順序づけを行うことができ
、より精度の高い加工順序の順序づけが可能となる。
【0100】
また、本実施例の管理システム200は、各加工サーバ240で行われた加工処理、加工処理が行われた際の構成情報の条件、及びその加工内容のそれぞれの履歴を取得して組合せ情報255に記憶し、加工サーバ240に加工処理を実行させ、実行させた加工処理の加工内容及び条件が組合せ情報255に存在しない場合は、その加工処理を含む加工部分間の関係性を特定する。
【0101】
これにより、例えば、コントローラ250が直接検知できない構成情報の条件に基づき加工サーバ240が通常と異なる(コントローラ250が行う)加工結果を生じる加工処理を行った場合であっても、コントローラ250は、その際の条件に基づく加工処理に関する関係性を特定することができる。
【0102】
また、本実施例の管理システム200は、構成情報における加工部分間の関係性と、加工部分の内容及び当該加工部分の階層構造における層の深さとに基づき第2の順序を決定する。これにより、構成情報の論理構造に応じて、加工処理間の関係性を効率良く特定することができる。
【0103】
また、本実施例の管理システム200は、ユーザから、自動生成した第2の順序を確定させるための入力を受け付けることで、ユーザの意向に沿った加工後構成情報111を出力させることができる。
【0104】
-実施例2-
実施例2の管理システム1100は、実施例1の管理システム200に対してさらなる機能を実現するシステムである。
【0105】
図12は、実施例2に係る管理システム1100の構成の一例を示す図である。
【0106】
管理システム1100における呼出サーバ1110の呼び出し機能1111と、中継サーバ230と、加工サーバ240と、加工処理情報220と、コントローラ1130の順序算出部1131、チェック部1132、連携部1133、組合せ情報1135、ルール情報1136、及びトレース情報1137とは実施例1と同様である。
【0107】
管理システム1100はさらに、検証処理情報1120、及び、挿入部1141を有する挿入サーバ1140を備える。また、呼出サーバ1110はさらに検証部1112を備える。コントローラ1130は検証部1138を備える。
【0108】
検証処理情報1120は、次述する検証処理に関して、加工処理情報220と類似するデータ構造を有する情報である。すなわち、検証処理情報1120は、各検証処理のID、検証処理が実行される条件、検証処理の名称、及び検証処理が実行される装置(例えば、コントローラ1130)の識別情報を含む。
【0109】
呼出サーバ1110の検証部1112は、構成情報出力処理による構成情報の加工後、コントローラ1130に対して、順序算出処理s911による加工順序の自動生成の処理が行われたかを検証する検証処理を要求する検証要求を送信する。検証部1112は、検証要求に対する応答情報を受信する。検証要求には、加工された構成情報が付帯する。
【0110】
コントローラ250の検証部1138は、呼出サーバ1110から検証要求を受信すると、受信した検証要求及びルール情報256に基づき、加工順序の自動生成の処理が行われたか否かを検証する検証処理を実行する。具体的には、検証部1138は、ルール情報
256から、検証要求に含まれる構成情報が条件702に設定されているレコードを抽出し、抽出したレコードの指定705に「自動」が設定されているか否かを判定し、「自動」が設定されている場合は、応答情報としてエラー情報を呼出サーバ1110に送信する。また、検証部1138は、抽出したレコードの指定705に「ユーザ」が設定されている場合は、応答情報として正常情報を呼出サーバ1110に送信する。
【0111】
挿入サーバ1140は、加工処理情報220の変化に応じて、加工サーバ240の前段となる中継サーバ230を動的に配置する(デプロイする)。
【0112】
すなわち、挿入部1141は、加工処理情報220及び検証処理情報1120のデータ内容を監視する。挿入部1141は、加工処理情報220又は検証処理情報1120のレコードが追加又は削除されると、そのレコードに係る加工サーバ240に対して割り当てる中継サーバ230を、所定のアルゴリズムで決定する。例えば、挿入部1141は、当該加工サーバ240と同一ネットワーク上に中継サーバ230をデプロイし、加工サーバ240のiptables等を操作して加工サーバ240宛てに送信された加工要求を、新規に割り当てた中継サーバ230経由で伝送されるようにする。または、挿入部1141は、iptables等を操作し、加工サーバ240宛てに送信された加工要求を既に割り当てられた中継サーバ230経由で伝送されるようにする。
【0113】
さらに、本実施形態のコントローラ250のGUI部1134は、チェック処理s910により特定され処理順序算出処理s911により解消された加工処理間の競合関係及び依存関係の情報を提示するトレース表示画面1200を画面に表示する。
【0114】
<トレース表示画面>
図13は、トレース表示画面1200の一例を示す図である。トレース表示画面1200は、例えば、処理順序算出処理s911の終了後、ユーザから所定の入力があった場合に表示される。
【0115】
トレース表示画面1200は、構成情報リスト1210、関係性ビューア1220、及び設定ビューア1230を備える。
【0116】
構成情報リスト1210には、過去に加工処理により加工された構成情報のリストが表示される。具体的には、構成情報リスト1210には、トレース情報257の処理タイプ803が「通常処理」と設定されている加工処理の加工対象の構成情報のID、その加工処理が実行された構成情報の条件(Conditions)、及び、加工処理の名称(Processors。加工処理情報220の名前503に対応)のリストが表示される。
【0117】
関係性ビューア1220には、各加工処理の名前(Name)及びその加工順序(Order。
処理順序算出処理s911にて算出された加工順序)と、各加工処理間の依存関係及び競合関係を図示した関係図(加工をスキップした加工処理(「-」)は他の加工処理と区別して表示される)とが表示される。
【0118】
設定ビューア1230には、構成情報の加工内容が表示される。同図の例では、網掛け部分が加工処理により変更された加工部分を表し、「+」が加工部分の追加又は変更を表し、「-」が加工部分の削除を表す。なお、これらの表示内容は、構成情報リスト1210により選択された構成情報が、トレース情報257のうち対象804に設定されているレコードの加工前806及び加工後807の内容と、そのレコードの順序805に基づき決定される。
【0119】
このように、本実施例の管理システム1100は、加工後構成情報111を生成したこ
とを示す情報(例えば、競合解決画面400の競合リスト410でユーザ指定されたか又は自動生成のままかを示すルール情報256)を記憶し、呼出サーバ210から検証要求を受信すると、これに基づき、加工後構成情報111が正常に生成されたか否かの判定結果の情報(例えば、自動生成の場合はエラー情報等)を、呼出サーバ210に返信する。
【0120】
これにより、例えば、自動生成された加工順序に基づき(ユーザが確定させていない加工順序に基づき)加工後構成情報111が生成された場合にはエラー情報を呼出サーバ210に返すことで、呼出サーバ210は、加工後構成情報111が、加工処理に関して矛盾衝突のない正しい加工が行われた情報であるか否かを容易に判定することができる。
【0121】
また、本実施例の管理システム1100は、加工要求に係る加工処理が実行されるための、構成情報に関する条件の情報が加工処理情報220に設定された場合には、加工サーバ240宛てに送信された加工要求を受信する中継サーバ230をデプロイ又は選定し、デプロイ又は選定した中継サーバ230にて送信された加工要求を受信する。
【0122】
このように、加工要求をコントローラ250に転送する中継サーバ230を動的に割り当てることで、各中継サーバ230のリソースを効率よく使用することができる。
【0123】
また、実施例1、2の管理システム200、1100は、各加工処理の加工部分間の関係性、又は、第2の順序で加工サーバ240に対して行わせた構成情報の加工処理の内容を表示する画面を表示する(競合解決画面400、トレース表示画面1200)。
【0124】
これにより、ユーザは、加工処理の関係性の特定及び構成情報の加工が正しく行われたかを確認することができる。
【0125】
本発明は以上に説明した実施形態に限定されるものではなく、様々な変形例が含まれる。上記した実施形態は本発明のより良い理解のために詳細に説明したものであり、必ずしも説明の全ての構成を備えるものに限定されるものではない。
【0126】
例えば、各実施例の各装置が備える各機能の一部は他の装置に設けてもよいし、別装置が備える機能を同一の装置に設けてもよい。
【0127】
また、加工処理間の関係性について、本実施形態で説明した競合関係及び依存関係以外の関係性を特定して、これを加工順序に反映させてもよい。
【0128】
また、本実施形態のチェック処理s910で説明した競合関係及び依存関係の特定方法は一例であり、その他の所定のアルゴリズムに基づき又は所定のデータベース等を参照することにより、競合関係及び依存関係を特定してもよい。
【0129】
また、本実施形態の構成情報はコンテナにおける構成情報を想定したが、それ以外のリソースに関する情報(例えば、仮想サーバ)であっても、本発明の管理システムは適用可能である。
【符号の説明】
【0130】
200 管理システム、251 順序算出部、252 チェック部、253 連携部、254 GUI部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13