(57)【要約】      （修正有）【課題】適正なコンテナ配備先を自動的に決定できるようにする。【解決手段】情報処理システムは、コンテナ仮想基盤を有する複数の情報処理装置と、複数の情報処理装置の各々に、当該情報処理装置の資源を評価する評価プログラムを含む評価コンテナを配備する配備部と、複数の情報処理装置の各々に配備された評価コンテナの評価プログラムから、当該情報処理装置における資源データを取得する取得部と、資源データに基づいて、配備対象コンテナの資源条件に適合する情報処理装置を、当該配備対象コンテナの配備先に決定する決定部とを有する。【選択図】図１７
2019117485.tif 000002
【特許請求の範囲】
【請求項１】
コンテナ仮想基盤を有する複数の情報処理装置と、
前記複数の情報処理装置の各々に、当該情報処理装置の資源を評価する評価プログラムを含む評価コンテナを配備する配備部と、
前記複数の情報処理装置の各々に配備された前記評価コンテナの前記評価プログラムから、当該情報処理装置における資源データを取得する取得部と、
前記資源データに基づいて、配備対象コンテナの資源条件に適合する情報処理装置を、当該配備対象コンテナの配備先に決定する決定部と
を有する情報処理システム。
【請求項２】
前記資源条件は、前記配備対象コンテナにより使用されるデバイスに関する
請求項１記載の情報処理システム。
【請求項３】
前記資源条件は、前記配備対象コンテナに要する、情報処理装置の本体資源又は本体性能に関する
請求項１又は２記載の情報処理システム。
【請求項４】
コンテナ仮想基盤を有する複数の情報処理装置の各々に、当該情報処理装置の資源を評価する評価プログラムを含む評価コンテナを配備する配備部と、
前記複数の情報処理装置の各々に配備された前記評価コンテナの前記評価プログラムから、当該情報処理装置における資源データを取得する取得部と、
前記資源データに基づいて、配備対象コンテナの資源条件に適合する情報処理装置を、当該配備対象コンテナの配備先に決定する決定部と
を有するコンテナ管理装置。
【請求項５】
コンテナ仮想基盤を有する複数の情報処理装置の各々に、当該情報処理装置の資源を評価する評価プログラムを含む評価コンテナを配備し、
前記複数の情報処理装置の各々に配備された前記評価コンテナの前記評価プログラムから、当該情報処理装置における資源データを取得し、
前記資源データに基づいて、配備対象コンテナの資源条件に適合する情報処理装置を、当該配備対象コンテナの配備先に決定する
処理を含み、コンピュータにより実行されるコンテナ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化技術におけるコンテナを配備する技術に関する。
【背景技術】
【０００２】
近年、プログラムをコンテナ単位でサーバ装置に展開して動作させるコンテナ仮想化技術が普及している。コンテナ仮想化技術は、例えば、複数のプログラムを複数のサーバ装置に分散配備するシステムに適用される。
【０００３】
また、このようなシステムのセットアップを容易にするために、各コンテナの配備先となる所定のサーバ装置への展開を自動化するツールが用いられることも多い。
【０００４】
但し、コンテナ仮想化技術に自動展開ツールを適用する場合に、配備先となるサーバ装置を適切に選択しなければ、コンテナに含まれるプログラムが正しく動作しないことがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−４８３１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、一側面では、適正なコンテナ配備先を自動的に決定できるようにする。
【課題を解決するための手段】
【０００７】
一態様に係る情報処理システムは、（Ａ）コンテナ仮想基盤を有する複数の情報処理装置と、（Ｂ）複数の情報処理装置の各々に、当該情報処理装置の資源を評価する評価プログラムを含む評価コンテナを配備する配備部と、（Ｃ）複数の情報処理装置の各々に配備された評価コンテナの評価プログラムから、当該情報処理装置における資源データを取得する取得部と、（Ｄ）資源データに基づいて、配備対象コンテナの資源条件に適合する情報処理装置を、当該配備対象コンテナの配備先に決定する決定部とを有する。
【発明の効果】
【０００８】
一側面としては、適正なコンテナ配備先を自動的に決定できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、ネットワーク及びデバイスの構成例を示す図である。
【図２】図２は、ソフトウェアの構成例を示す図である。
【図３】図３は、コンテナの構成例を示す図である。
【図４】図４は、コンテナが配備される前の状態におけるサーバ装置のモジュール構成例を示す図である。
【図５】図５は、コンテナが配備された状態におけるサーバ装置のモジュール構成例を示す図である。
【図６】図６は、コンテナが配備された状態におけるサーバ装置のモジュール構成例を示す図である。
【図７】図７は、展開構成ファイルの例を示す図である。
【図８】図８は、コンテナ展開に関わるモジュール構成例を示す図である。
【図９】図９は、仮想ネットワーク例を示す図である。
【図１０】図１０は、ネットワーク及びデバイスの構成例を示す図である。
【図１１】図１１は、リソース要求ファイルの例を示す図である。
【図１２】図１２は、評価コンテナの展開例を示す図である。
【図１３】図１３は、管理装置のモジュール構成例を示す図である。
【図１４】図１４は、メイン処理フローを示す図である。
【図１５】図１５は、評価処理（Ａ）フローを示す図である。
【図１６】図１６は、評価結果テーブルの例を示す図である。
【図１７】図１７は、メイン処理フローを示す図である。
【図１８】図１８は、展開構成ファイルの例を示す図である。
【図１９】図１９は、ネットワーク及びデバイスの構成例を示す図である。
【図２０】図２０は、実施の形態２におけるリソース要求ファイルの例を示す図である。
【図２１】図２１は、評価処理（Ｂ）フローを示す図である。
【図２２】図２２は、実施の形態２における評価結果テーブルの例を示す図である。
【図２３】図２３は、実施の形態２におけるメイン処理フローを示す図である。
【図２４】図２４は、実施の形態２におけるメイン処理フローを示す図である。
【図２５】図２５は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１０】
［実施の形態１］
図１に、ネットワーク及びデバイスの構成例を示す。ＬＡＮ（Local Area Network）には、サーバ装置１０１ａ乃至ｃが接続されている。サーバ装置１０１ａ乃至ｃは、コンテナの動作環境を提供する。サーバ装置１０１ａには、スピーカー１０３が接続されている。また、サーバ装置１０１ｂには、ディスプレイ装置１０５が接続されている。サーバ装置１０１ａの名前は、Ｓｅｒｖｅｒ１である。サーバ装置１０１ｂの名前は、Ｓｅｒｖｅｒ２である。サーバ装置１０１ｃの名前は、Ｓｅｒｖｅｒ３である。
【００１１】
ＬＡＮには、更にユーザ端末１０７及び管理装置１０９が接続されている。ユーザ端末１０７は、いずれかのサーバ装置１０１で動作するアプリケーションプログラムに指示を行うときに用いられる。管理装置１０９は、サーバ装置１０１ａ乃至ｃを管理するために用いられる。
【００１２】
図２に、音声出力及び映像出力を行うサービスを実現するためのソフトウェアグループの構成例を示す。この例では、フロントエンド２０１ａ及びｂ、バックエンド２０３ａ及びｂ、データベース２０５、ライブラリ２０７ａ乃至ｅがソフトウェアグループに含まれる。
【００１３】
フロントエンド２０１ａは、ユーザ端末１０７から受けた指示に応じて、スピーカー１０３を使用して音声を出力させるアプリケーションプログラムである。フロントエンド２０１ａの処理において、ライブラリ２０７ａが使用される。
【００１４】
フロントエンド２０１ｂは、ユーザ端末１０７から受けた指示に応じて、ディスプレイ装置１０５を使用して映像を出力させるアプリケーションプログラムである。フロントエンド２０１ｂの処理において、ライブラリ２０７ｂが使用される。
【００１５】
データベース２０５は、音声データ及び映像データを管理する。つまり、データベース２０５は、自らの記憶部に記憶されている音声データ及び映像データを読み出して提供する処理を行う。データベース２０５の処理において、ライブラリ２０７ｅが使用される。
【００１６】
バックエンド２０３ａは、フロントエンド２０１ａからの要求に応じて、データベース２０５から取得した音声データを加工して提供するアプリケーションプログラムである。バックエンド２０３ａの処理において、ライブラリ２０７ｃが使用される。
【００１７】
バックエンド２０３ｂは、フロントエンド２０１ｂからの要求に応じて、データベース２０５から取得した映像データを加工して提供するアプリケーションプログラムである。バックエンド２０３ｂの処理において、ライブラリ２０７ｄが使用される。
【００１８】
これらのソフトウェアが連携して動作することによって、サービスが実現される。この例で、各ソフトウェアをサーバ装置１０１ａ又はサーバ装置１０１ｂに配置するものとする。サーバ装置１０１ｃは、後述するようにコンテナの展開処理を行うために用いられる。但し、サーバ装置１０１ｃに、ソフトウェアを配置するようにしてもよい。
【００１９】
図２に示したソフトウェアグループにコンテナ仮想化技術を適用する場合におけるコンテナ３０１の構成例を図３に示す。コンテナ３０１は、１又は複数のプログラムを含むイメージとして用意される。この例では、コンテナ３０１ａ乃至ｅの夫々に１のアプリケーションプログラムが含まれる。但し、１のコンテナ３０１に複数のアプリケーションプログラムを含めるようにしてもよい。また、コンテナ３０１の夫々に、当該アプリケーションプログラムが使用するライブラリ２０７を含む。更に、コンテナ３０１にライブラリ２０７以外の付属データを含めるようにしてもよい。
【００２０】
具体的には、コンテナ３０１ａは、フロントエンド２０１ａと、フロントエンド２０１ａが使用するライブラリ２０７ａとを含んでいる。同様に、コンテナ３０１ｂは、フロントエンド２０１ｂと、フロントエンド２０１ｂが使用するライブラリ２０７ｂとを含んでいる。同様に、コンテナ３０１ｃは、バックエンド２０３ａと、バックエンド２０３ａが使用するライブラリ２０７ｃとを含んでいる。同様に、コンテナ３０１ｄは、バックエンド２０３ｂと、バックエンド２０３ｂが使用するライブラリ２０７ｄとを含んでいる。同様に、コンテナ３０１ｅは、データベース２０５と、データベース２０５が使用するライブラリ２０７ｅとを含んでいる。尚、コンテナ３０１ａの名前は、ｃｏｎｔ１である。コンテナ３０１ｂの名前は、ｃｏｎｔ２である。コンテナ３０１ｃの名前は、ｃｏｎｔ３である。コンテナ３０１ｄの名前は、ｃｏｎｔ４である。コンテナ３０１ｅの名前は、ｃｏｎｔ５である。
【００２１】
このように、アプリケーションプログラムが用いるライブラリ２０７を同一のイメージに含めるようにすれば、コンテナ３０１の配備によってアプリケーションプログラムの動作環境が整う。従って、アプリケーションプログラムをセットアップするための労力が少なくて済む。
【００２２】
管理装置１０９は、これらのコンテナ３０１ａ乃至ｅのイメージを保持している。これらのコンテナ３０１ａ乃至ｅのイメージを、配備先であるサーバ装置１０１（この例ではサーバ装置１０１ａ又はサーバ装置１０１ｂ）に展開することによって、サービスを提供するシステムが構築される。
【００２３】
尚、サーバ仮想化技術の場合には、仮想サーバ自身がゲストオペレーティングシステムを含むが、コンテナ仮想化技術の場合には、ゲストオペレーティングシステムを含まないので、イメージのサイズが小さい。従って、仮想サーバの場合に比べて、ソフトウェアを配備する処理の負荷が軽くなるという面がある。
【００２４】
図４は、コンテナ３０１が配備される前の状態におけるサーバ装置１０１ａのモジュール構成例を示している。図４に示すように、オペレーティングシステム４０１及びコンテナ仮想化エンジン４０３が動作している状態で、コンテナ３０１が展開される。サーバ装置１０１ｂの場合も同様である。コンテナ仮想化エンジン４０３は、例えばＤｏｃｋｅｒエンジンである。コンテナ仮想化エンジン４０３は、コンテナ仮想基盤に相当する。
【００２５】
図５に、コンテナ３０１が配備された状態におけるサーバ装置１０１ａのモジュール構成例を示す。この例では、コンテナ３０１ａ、コンテナ３０１ｃ及びコンテナ３０１ｄがサーバ装置１０１ａに配備されている。コンテナ３０１ａに含まれるフロントエンド２０１ａの処理において、サーバ装置１０１ａに接続されているスピーカー１０３から音声を出力させる。
【００２６】
図６に、コンテナ３０１が配備された状態におけるサーバ装置１０１ｂのモジュール構成例を示す。この例では、コンテナ３０１ｂ及びコンテナ３０１ｅがサーバ装置１０１ｂに配備されている。コンテナ３０１ｂに含まれるフロントエンド２０１ｂの処理において、サーバ装置１０１ｂに接続されているディスプレイ装置１０５から映像を出力させる。
【００２７】
このようなコンテナ３０１の展開に関し、配備対象であるコンテナ３０１と配備先であるサーバ装置１０１とを対応付けた展開構成ファイルを用いて自動化する技術がある。まず、展開構成ファイルについて説明する。
【００２８】
図７に、展開構成ファイルの例を示す。展開構成ファイルにおいて、配備対象のコンテナ３０１毎に配備先のサーバ装置１０１が指定されている。つまり、配備対象であるコンテナ３０１と配備先となるサーバ装置１０１とが対応付けられている。
【００２９】
この例では、コンテナ名：ｃｏｎｔ１のコンテナ３０１ａの配備先としてサーバ名：ｓｅｒｖｅｒ１のサーバ装置１０１ａが指定されている。同様に、コンテナ名：ｃｏｎｔ２のコンテナ３０１ｂの配備先としてサーバ名：ｓｅｒｖｅｒ２のサーバ装置１０１ｂが指定されている。同様に、コンテナ名：ｃｏｎｔ３のコンテナ３０１ｃの配備先としてサーバ名：ｓｅｒｖｅｒ１のサーバ装置１０１ａが指定されている。同様に、コンテナ名：ｃｏｎｔ４のコンテナ３０１ｄの配備先としてサーバ名：ｓｅｒｖｅｒ１のサーバ装置１０１ａが指定されている。同様に、コンテナ名：ｃｏｎｔ５のコンテナ３０１ｅの配備先としてサーバ名：ｓｅｒｖｅｒ２のサーバ装置１０１ｂが指定されている。尚、サーバ装置１０１は、ノードに相当する。
【００３０】
管理者は、コンテナ名：ｃｏｎｔ１のコンテナ３０１ａがスピーカー１０３を使用するアプリケーションプログラムを含むことと、サーバ名：ｓｅｒｖｅｒ１のサーバ装置１０１ａにスピーカー１０３が接続されていることを知っていれば、コンテナ３０１ａの配備先として正しくサーバ装置１０１ａを指定できる。同様に、管理者は、コンテナ名：ｃｏｎｔ２のコンテナ３０１ｂが、ディスプレイ装置１０５を使用するアプリケーションプログラムを含むことと、サーバ名：ｓｅｒｖｅｒ２のサーバ装置１０１ｂにディスプレイ装置１０５が接続されていることを知っていれば、コンテナ３０１ｂの配備先として正しくサーバ装置１０１ｂを指定できる。
【００３１】
例えばＫｕｂｅｒｎｅｔｅｓのようなコンテナ管理ツールは、展開構成ファイルを参照して、指定されたサーバ装置１０１にコンテナ３０１を展開させ、展開されたコンテナ３０１に含まれるアプリケーションプログラムを起動させる。コンテナ管理ツールは、クラスタ管理ツールと呼ばれることもある。
【００３２】
図８に、コンテナ展開に関わるモジュール構成例を示す。サーバ装置１０１ｃは、展開部８０１を含んでいる。展開部８０１は、配備対象であるコンテナ３０１と配備先であるサーバ装置１０１（この例では、サーバ装置１０１ａ又はサーバ装置１０１ｂ）とが指定されたコンテナ展開の指示を受け付けて、配備対象のコンテナ３０１を配備先のサーバ装置１０１に展開する。展開部８０１は、ＡＰＩ（Application Programming Interface）サーバと呼ばれることがある。尚、コンテナ仮想化エンジン４０３と展開部８０１とを、同一のサーバ装置１０１に含めるようにしてもよい。例えば、展開部８０１をサーバ装置１０１ａに含め、サーバ装置１０１ｃを省くようにしてもよい。
【００３３】
管理装置１０９は、コンテナ記憶部８０３、受付部８０５、展開構成記憶部８０７及びコンテナ管理ツール８０９を有する。コンテナ記憶部８０３は、コンテナ３０１ａ乃至ｅのイメージを記憶する。受付部８０５は、展開構成ファイルを受け付ける。展開構成記憶部８０７は、展開構成ファイルを記憶する。コンテナ管理ツール８０９は、展開構成ファイルに基づいて、コンテナ３０１をサーバ装置１０１へ配備する。具体的には、コンテナ管理ツール８０９は、配備対象であるコンテナ３０１と配備先であるサーバ装置１０１とを指定して、展開部８０１にコンテナ３０１の展開を指示する。
【００３４】
図７に示した展開構成ファイルに基づいてコンテナ３０１ａ乃至ｅが展開されると、図５及び図６に示した配備状態となる。展開構成ファイルに基づくコンテナ３０１の自動展開は、例えばアプライアンス展開を行う場合、つまり特定のサービスに係るシステムを構築する場合に便利である。
【００３５】
尚、コンテナ３０１ａ乃至ｅの間は、図９に示したように仮想ネットワークで接続される。各コンテナ３０１ａ乃至ｅには、ＩＰアドレスが割り当てられる。例えば送信側のコンテナ３０１は、ＩＰアドレスを指定することによって受信側のコンテナ３０１を特定する。仮想ネットワークは、コンテナ仮想化エンジン４０３の連携によって制御される。
【００３６】
ここで、図１０を用いて、図１の例とは異なるネットワーク及びデバイスの構成例について説明する。この例では、図１の例でスピーカー１０３が接続されていたサーバ装置１０１ａに、スピーカー１０３に代えてディスプレイ装置１０５が接続されている。また、図１の例でディスプレイ装置１０５が接続されていたサーバ装置１０１ｂに、ディスプレイ装置１０５に代えてスピーカー１０３が接続されている。
【００３７】
図１０の構成例の場合にも、図７の展開構成ファイルを適用してコンテナ３０１ａ乃至ｅの自動展開を行えば、上述の通り図５及び図６の配備状態となる。しかし、図１０の構成例ではサーバ装置１０１ａにスピーカー１０３が接続されていないので、コンテナ３０１ａに含まれるフロントエンド２０１ａの処理において音声を出力できないという障害が生じる。また、サーバ装置１０１ｂにディスプレイ装置１０５が接続されていないので、コンテナ３０１ｂに含まれるフロントエンド２０１ｂの処理において映像を出力できないという障害が生じる。
【００３８】
但し、図１０の構成例の場合に、コンテナ３０１ａをサーバ装置１０１ｂに配備すれば、コンテナ３０１ａに含まれるフロントエンド２０１ａの処理において音声を出力できる。また、コンテナ３０１ｂをサーバ装置１０１ａに配備すれば、コンテナ３０１ｂに含まれるフロントエンド２０１ｂの処理において映像を出力できる。
【００３９】
つまり、デバイスの接続状態に応じて展開構成ファイルを書き換えることが求められるかもしれない。また、展開構成ファイルを作成する段階で、デバイスの接続状態が明らかであるとも限らない。更に、運用段階で、デバイスの接続状態が変更される場合もある。
【００４０】
本実施の形態では、デバイスの接続状態に関わらず正常にアプリケーションプログラムが動作するように展開構成ファイルを生成する。
【００４１】
本実施の形態で、管理者は、図１１に例示するリソース要求ファイルを用意する。リソース要求ファイルによって、コンテナ３０１毎に使用するデバイスが指定される。つまり、コンテナ３０１の名前とデバイスの種類とが対応付けられている。ここで指定されるデバイスの種類は、コンテナ３０１を動作させる場合に要求される資源条件の例である。
【００４２】
この例では、コンテナ名：ｃｏｎｔ１のコンテナ３０１ａが、スピーカー１０３を要することを示している。また、コンテナ名：ｃｏｎｔ２のコンテナ３０１ｂが、ディスプレイ装置１０５を要することを示している。
【００４３】
次に、本実施の形態における管理装置１０９に設けられる動的配備ツールの処理の概要について説明する。動的配備ツールは、リソース要求ファイルによる資源条件を満たすように展開構成ファイルを生成する。そのため、動的配備ツールは、まず評価コンテナをサーバ装置１０１ａ及びサーバ装置１０１ｂに配備する。評価コンテナは、サーバ装置１０１の資源を評価するために用いられる。
【００４４】
図１２に、評価コンテナ１２０１の展開例を示す。この例では、サーバ装置１０１ａ及びサーバ装置１０１ｂが、コンテナ配備先の候補であるものとする。そのため、サーバ装置１０１ａ及びサーバ装置１０１ｂに、評価コンテナ１２０１が展開される。
【００４５】
評価コンテナ１２０１には、評価プログラム１２０３及びライブラリ１２０５が含まれる。評価プログラム１２０３は、ライブラリ１２０５を使用する。評価コンテナ１２０１が展開されると、評価プログラム１２０３は、当該サーバ装置１０１におけるリソースを調べる。この例では、サーバ装置１０１に接続されているデバイスの種類を特定する。そして、デバイスの種類が評価結果に含められる。
【００４６】
以下、本実施の形態に係る管理装置１０９の動作について説明する。図１３に、管理装置１０９のモジュール構成例を示す。管理装置１０９は、図８を用いて説明したコンテナ記憶部８０３、受付部８０５、展開構成記憶部８０７及びコンテナ管理ツール８０９の他に、リソース要求記憶部１３０１及び動的配備ツール１３０３を有する。
【００４７】
受付部８０５は、リソース要求ファイルを受け付ける。リソース要求記憶部１３０１は、リソース要求ファイルを記憶する。動的配備ツール１３０３は、各評価プログラム１２０３から評価結果を取得して、リソース要求ファイルと評価結果に基づいてコンテナ３０１の配備先を決定する。更に、動的配備ツール１３０３は、展開構成ファイルにコンテナ３０１の配備先を書き込む。
【００４８】
動的配備ツール１３０３は、配備部１３０５、取得部１３０７、決定部１３０９、通知部１３１１、起動部１３１３、評価コンテナ記憶部１３２１及び評価結果記憶部１３２３を有する。
【００４９】
配備部１３０５は、サーバ装置１０１へ評価コンテナ１２０１を配備する。取得部１３０７は、評価プログラム１２０３から評価結果を取得する。決定部１３０９は、コンテナ３０１の配備先を決定する。通知部１３１１は、資源不足の通知を出力する。起動部１３１３は、コンテナ管理ツール８０９を起動する。評価コンテナ記憶部１３２１は、評価コンテナ１２０１を記憶する。評価結果記憶部１３２３は、評価結果テーブルを記憶する。
【００５０】
上述した受付部８０５、配備部１３０５、取得部１３０７、決定部１３０９、通知部１３１１及び起動部１３１３は、ハードウエア資源（例えば、図２５）と、以下で述べる処理をＣＰＵ（Central Processing Unit）２５０３に実行させるプログラムとを用いて実現される。
【００５１】
上述したリソース要求記憶部１３０１、評価コンテナ記憶部１３２１、評価結果記憶部１３２３、コンテナ記憶部８０３及び展開構成記憶部８０７は、ハードウエア資源（例えば、図２５）を用いて実現される。
【００５２】
続いて、管理装置１０９における処理について説明する。図１４に、メイン処理フローを示す。受付部８０５は、例えば管理者の操作によって記憶媒体又は通信媒体経由でリソース要求ファイルを受け付け、受け付けたリソース要求ファイルをリソース要求記憶部１３０１に記憶する（Ｓ１４０１）。
【００５３】
配備部１３０５は、リソース要求ファイルを読み（Ｓ１４０３）、更にソース要求ファイルから読み取ったテキストデータに含まれるサーバ装置１０１の名前を１つ特定する（Ｓ１４０５）。
【００５４】
配備部１３０５は、評価コンテナ１２０１を当該サーバ装置１０１に配備する（Ｓ１４０７）。具体的には、配備部１３０５は、評価コンテナ１２０１を当該サーバ装置１０１に展開させる指示を展開部８０１へ送る。
【００５５】
評価コンテナ１２０１がサーバ装置１０１に展開されると、評価コンテナ１２０１に含まれる評価プログラム１２０３の処理が自動的に開始される。
【００５６】
ここで、評価プログラム１２０３による評価処理（Ａ）について説明する。図１５に、評価処理（Ａ）フローを示す。評価プログラム１２０３の処理を実行することによって実現される機能部を、以下では評価部という。
【００５７】
評価部は、オペレーティングシステム４０１に、当該サーバ装置１０１に接続されているデバイスの種類を問い合わせる（Ｓ１５０１）。
【００５８】
評価部は、オペレーティングシステム４０１から、接続されているデバイスの種類の回答を受け（Ｓ１５０３）、当該デバイスの種類を含む評価結果を動的配備ツール１３０３へ送信する（Ｓ１５０５）。そして、評価処理（Ａ）を終える。評価プログラム１２０３の処理を終えると、評価コンテナ１２０１は消滅する。
【００５９】
メイン処理の説明に戻る。取得部１３０７は、評価プログラム１２０３から評価結果を受信し、評価結果テーブルを更新する（Ｓ１４０９）。具体的には、評価結果テーブルにレコードを追加して、追加したレコードに評価結果を設定する。この例では、各デバイスの有無が設定される。
【００６０】
図１６に、評価結果テーブルの例を示す。この例における評価結果テーブルは、サーバ装置１０１に対応するレコードを有している。評価結果テーブルのレコードは、サーバ装置１０１の名前が設定されるフィールドと、スピーカー１０３の有無が設定されるフィールドと、ディスプレイ装置１０５の有無が設定されるフィールドとを有している。
【００６１】
図１４の説明に戻る。配備部１３０５は、未特定のサーバ装置１０１があるか否かを判定する（Ｓ１４１１）。未特定のサーバ装置１０１があると判定した場合には、Ｓ１４０５に示した処理に戻って、上述した処理を繰り返す。一方、未特定のサーバ装置１０１がないと判定した場合には、端子Ａを介して、図１７に示したＳ１７０１の処理に移る。
【００６２】
図１７の説明に戻る。決定部１３０９は、例えばリソース要求ファイルに基づいて、コンテナ３０１を１つ特定する（Ｓ１７０１）。
【００６３】
決定部１３０９は、サーバ装置１０１を１つ特定する（Ｓ１７０３）。決定部１３０９は、当該サーバ装置１０１の評価結果及びリソース要求ファイルに基づいて、当該サーバ装置１０１の評価結果が、当該コンテナ３０１の資源条件を満たすか否かを判定する（Ｓ１７０５）。
【００６４】
当該サーバ装置１０１の評価結果が、当該コンテナ３０１の資源条件を満たさないと判定した場合には、決定部１３０９は、未特定のサーバ装置１０１があるか否かを判定する（Ｓ１７０７）。未特定のサーバ装置１０１があると判定した場合には、Ｓ１７０３に示した処理に戻って、上述した処理を繰り返す。
【００６５】
一方、未特定のサーバ装置１０１がないと判定した場合には、通知部１３１１は、資源不足の通知を出力する（Ｓ１７０９）。例えば、通知部１３１１は、資源不足の通知を示す画面をディスプレイに表示させる。そして、メイン処理を終える。
【００６６】
Ｓ１７０５の説明に戻る。Ｓ１７０５において、当該サーバ装置１０１の評価結果が、当該コンテナ３０１の資源条件を満たすと判定した場合には、決定部１３０９は、当該サーバ装置１０１を当該コンテナ３０１の配備先に決定する（Ｓ１７１１）。そして、決定部１３０９は、配備対象であるコンテナ３０１の名前に対応付けて配備先である当該サーバ装置１０１を展開構成ファイルに書き込む。
【００６７】
決定部１３０９は、未特定のコンテナ３０１があるか否かを判定する（Ｓ１７１３）。未特定のコンテナ３０１があると判定した場合には、Ｓ１７０１に示した処理に戻って、上述した処理を繰り返す。
【００６８】
一方、未特定のコンテナ３０１がないと判定した場合には、起動部１３１３は、展開構成ファイルをコンテナ管理ツール８０９に渡して、コンテナ管理ツール８０９を起動する（Ｓ１７１５）。
【００６９】
本実施の形態で生成される展開構成ファイルの例を、図１８に示す。この例では、図７に示した展開構成ファイルの例とは異なり、コンテナ名：ｃｏｎｔ１のコンテナ３０１ａの配備先としてサーバ名：ｓｅｒｖｅｒ２のサーバ装置１０１ｂが指定されている。同様に、コンテナ名：ｃｏｎｔ２のコンテナ３０１ｂの配備先としてサーバ名：ｓｅｒｖｅｒ１のサーバ装置１０１ａが指定されている。コンテナ名：ｃｏｎｔ３のコンテナ３０１ｃ、コンテナ名：ｃｏｎｔ４のコンテナ３０１ｄ及びコンテナ名：ｃｏｎｔ５のコンテナ３０１ｅについては、図７の場合と同様である。
【００７０】
コンテナ管理ツール８０９は、上述の通り、展開構成ファイルに基づいてコンテナ展開の指示を展開部８０１へ送る。コンテナ３０１の展開が完了すると、コンテナ管理ツール８０９は、展開完了の通知を起動部１３１３へ送る。
【００７１】
その後、起動部１３１３は、コンテナ管理ツール８０９から展開完了の通知を受けて（Ｓ１７１７）、メイン処理を終える。
【００７２】
本実施の形態によれば、適正なコンテナ配備先を自動的に決定できる。
【００７３】
更に、デバイスを用いた処理を行うプログラムを含むコンテナ３０１の配備先として、より適正な情報処理装置を選ぶことができる。
【００７４】
［実施の形態２］
本実施の形態では、サーバ装置１０１の本体資源又は本体性能に関する資源条件を用いる例について説明する。
【００７５】
図１９に、ネットワーク及びデバイスの構成例を示す。この例で、サーバ装置１０１ａには、タッチパネル１９０１及びディスプレイ装置１０５が接続されている。また、サーバ装置１０１ｂには、スピーカー１０３が接続されている。
【００７６】
図２０に、実施の形態２におけるリソース要求ファイルの例を示す。リソース要求ファイルによって、コンテナ３０１毎に要求される本体資源及び本体性能が指定される。
【００７７】
この例では、コンテナ名：ｃｏｎｔ１のコンテナ３０１ａが、スピーカー１０３を要する他、伝送レート４５０Ｍｂｐｓ以上のダウンロード性能と、動作周波数５００ＭＨｚ以上のＣＰＵのコアを１つ要することを示している。同じく、コンテナ名：ｃｏｎｔ２のコンテナ３０１ｂが、解像度が１９２０×１０８０以上であるディスプレイ装置１０５の他に、伝送レート５００Ｍｂｐｓ以上のダウンロード性能と、動作周波数５００ＭＨｚ以上のＣＰＵのコアを２つ要することを示している。ダウンロード性能の条件は、本体性能の条件の例である。ＣＰＵの条件は、本体資源の条件の例である。
【００７８】
本実施の形態で、評価部は、評価処理（Ａ）に代えて評価処理（Ｂ）を実行する。図２１に、評価処理（Ｂ）フローを示す。評価部は、オペレーティングシステム４０１に、付属デバイスの種類及び仕様を問い合わせて（Ｓ２１０１）、付属デバイスの種類及び仕様を得る（Ｓ２１０３）。
【００７９】
この例で、付属デバイスの種類は、タッチパネル１９０１、スピーカー１０３及びディスプレイ装置１０５である。タッチパネル１９０１が有る場合には、評価部は、オペレーティングシステム４０１から、タッチパネル１９０１の解像度も得る。ディスプレイ装置１０５が有る場合には、評価部は、オペレーティングシステム４０１から、ディスプレイ装置１０５の解像度も得る。そして、評価部は、付属デバイスの種類及び仕様を評価結果に設定する。
【００８０】
評価部は、当該サーバ装置１０１の本体性能を計測する（Ｓ２１０５）。この例で、評価部は、ＣＰＵ性能、ファイルライト性能、ファイルリード性能、ダウンロード性能及びアップロード性能を計測する。ＣＰＵ性能は、例えばｕｎｉｘｂｅｎｃｈのスコアである。そして、評価部は、当該サーバ装置１０１の本体性能を評価結果に設定する。
【００８１】
評価部は、オペレーティングシステム４０１に、当該サーバ装置１０１の本体資源を問い合わせて（Ｓ２１０７）、当該サーバ装置１０１の本体資源のデータを得る（Ｓ２１０９）。
【００８２】
この例で、評価部は、オペレーティングシステム４０１から、ＣＰＵの動作周波数、ＣＰＵのコア数、メモリ容量及びディスク容量を得る。そして、評価部は、当該サーバ装置１０１の本体資源のデータを評価結果に設定する。
【００８３】
評価部は、付属デバイスの種類及び仕様と、当該サーバ装置の本体性能及び本体資源のデータとを含む評価結果を送信する（Ｓ２１１１）。
【００８４】
図２２に、実施の形態２における評価結果テーブルの例を示す。実施の形態２における評価結果テーブルは、サーバ装置１０１の名前が設定されるフィールドと、付属デバイスに関するフィールドと、本体性能に関するフィールドと、本体資源に関するフィールドとを有している。
【００８５】
付属デバイスに関するフィールドは、スピーカー１０３の有無が設定されるフィールドと、ディスプレイ装置１０５の有無が設定されるフィールドと、ディスプレイ装置１０５の解像度が設定されるフィールドと、タッチパネル１９０１の有無が設定されるフィールドと、タッチパネル１９０１の解像度が設定されるフィールドとを含んでいる。
【００８６】
本体性能に関するフィールドは、ＣＰＵ性能が設定されるフィールドと、ファイルライト性能（Ｍｂｐｓ）が設定されるフィールドと、ファイルリード性能（Ｍｂｐｓ）が設定されるフィールドと、ダウンロード性能（Ｍｂｐｓ）が設定されるフィールドと、アップロード性能（Ｍｂｐｓ）が設定されるフィールドとを含んでいる。
【００８７】
本体資源に関するフィールドは、ＣＰＵの動作周波数が設定されるフィールドと、ＣＰＵのコア数が設定されるフィールドと、メモリ容量が設定されるフィールドと、ディスク容量が設定されるフィールドとを含んでいる。
【００８８】
続いて、実施の形態２におけるメイン処理について説明する。実施の形態２におけるメイン処理において、実施の形態１の場合と同様に、図１４のＳ１４０１乃至Ｓ１４１１に示した処理を実行する。Ｓ１４１１において未特定のサーバ装置１０１がないと判定した場合には、端子Ａを介して、図２３に示したＳ２３０１の処理に移る。
【００８９】
図２３について説明する。決定部１３０９は、例えばリソース要求ファイルに基づいて、コンテナ３０１を１つ特定する（Ｓ２３０１）。
【００９０】
決定部１３０９は、サーバ装置１０１を１つ特定する（Ｓ２３０３）。決定部１３０９は、当該サーバ装置１０１の評価結果及びリソース要求ファイルに基づいて、当該サーバ装置１０１の評価結果が、付属デバイスの条件及び本体性能の条件を満たすか否かを判定する（Ｓ２３０５）。
【００９１】
当該サーバ装置１０１の評価結果が、付属デバイスの条件及び本体性能の条件を満たすと判定した場合には、決定部１３０９は、当該サーバ装置１０１を候補として選択し（Ｓ２３０７）、Ｓ２３０９の処理に移る。一方、当該サーバ装置１０１の評価結果が、付属デバイスの条件及び本体性能の条件を満たさないと判定した場合には、決定部１３０９は、当該サーバ装置１０１を候補として選択せず、そのままＳ２３０９の処理に移る。
【００９２】
決定部１３０９は、未特定のサーバ装置１０１があるか否かを判定する（Ｓ２３０９）。未特定のサーバ装置１０１があると判定した場合には、Ｓ２３０３に示した処理に戻って、上述した処理を繰り返す。
【００９３】
一方、未特定のサーバ装置１０１がないと判定した場合に、決定部１３０９は、候補のサーバ装置１０１が２つ以上であるか否かを判定する（Ｓ２３１１）。候補のサーバ装置１０１が２つ以上である場合には、決定部１３０９は、本体資源に基づいて、当該コンテナ３０１の配備先とするサーバ装置１０１を選択する（Ｓ２３１３）。そして、端子Ｂを介して、図２４のＳ２４０１に示した処理に移る。この例では、本体資源の残量が多い方のサーバ装置１０１を選択する。但し、本体資源の残量が少ない方のサーバ装置１０１を選択するようにしてもよい。また、本体資源の条件を満たすサーバ装置１０１が無い場合に、Ｓ２３１９の処理に移るようにしてもよい。尚、本体資源の残量は、後述する図２４のＳ２４０１の処理において更新される。
【００９４】
一方、候補のサーバ装置１０１が２つ以上でない場合には、決定部１３０９は、候補サーバ装置１０１が１つであるか否かを判定する（Ｓ２３１５）。候補サーバ装置１０１が１つである場合には、決定部１３０９は、当該候補のサーバ装置１０１を当該コンテナ３０１の配備先に決定する（Ｓ２３１７）。そして、端子Ｂを介して、図２４のＳ２４０１に示した処理に移る。尚、当該候補のサーバ装置１０１が本体資源の条件を満たさない場合に、Ｓ２３１９の処理に移るようにしてもよい。
【００９５】
Ｓ２３１５において、候補サーバ装置１０１が１つもないと判定した場合には、通知部１３１１は、資源不足の通知を出力する（Ｓ２３１９）。例えば、通知部１３１１は、資源不足の通知を示す画面をディスプレイに表示させる。そして、メイン処理を終える。
【００９６】
図２４の説明に移る。決定部１３０９は、配備先のサーバ装置１０１における本体資源の値を減らす（Ｓ２４０１）。例えば、配備先のサーバ装置１０１のメモリ容量から当該コンテナ３０１のメモリ使用量を引く。あるいは、配備先のサーバ装置１０１のＨＤＤ容量から当該コンテナ３０１のＨＤＤ使用量を引く。或いは、配備先のサーバ装置１０１のＣＰＵコア数から当該コンテナ３０１の使用コア数を引く。
【００９７】
決定部１３０９は、未特定のコンテナ３０１があるか否かを判定する（Ｓ２４０３）。未特定のコンテナ３０１があると判定した場合には、端子Ｃを介して、図２３のＳ２３０１に示した処理に戻る。
【００９８】
一方、未特定のコンテナ３０１がないと判定した場合には、起動部１３１３は、展開構成ファイルをコンテナ管理ツール８０９に渡して、コンテナ管理ツール８０９を起動する（Ｓ２４０５）。
【００９９】
コンテナ管理ツール８０９は、上述の通り、展開構成ファイルに基づいてコンテナ展開の指示を展開部８０１へ送る。コンテナ３０１の展開が完了すると、コンテナ管理ツール８０９は、展開完了の通知を起動部１３１３へ送る。
【０１００】
その後、起動部１３１３は、コンテナ管理ツール８０９から展開完了の通知を受けて（Ｓ２４０７）、メイン処理を終える。
【０１０１】
本実施の形態によれば、サーバ装置１０１の本体資源又は本体性能に依存するプログラムを含むコンテナ３０１の配備先として、より適正なサーバ装置１０１を選ぶことができる。
【０１０２】
尚、評価コンテナ１２０１をサーバ装置１０１に常駐させるようにしてもよい。そして、配備部１３０５は、図１４のＳ１４０７において評価プログラム１２０３を起動するようにしてもよい。
【０１０３】
また、リソース要求ファイルにおいて、付属デバイスについて専有することを条件として設定するようにしてもよい。
【０１０４】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
【０１０５】
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
【０１０６】
なお、上で述べたサーバ装置１０１及び管理装置１０９は、コンピュータ装置であって、図２５に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１０７】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【０１０８】
本実施の形態に係る情報処理システムは、（Ａ）コンテナ仮想基盤を有する複数の情報処理装置と、（Ｂ）複数の情報処理装置の各々に、当該情報処理装置の資源を評価する評価プログラムを含む評価コンテナを配備する配備部と、（Ｃ）複数の情報処理装置の各々に配備された評価コンテナの評価プログラムから、当該情報処理装置における資源データを取得する取得部と、（Ｄ）資源データに基づいて、配備対象コンテナの資源条件に適合する情報処理装置を、当該配備対象コンテナの配備先に決定する決定部とを有する。
【０１０９】
このようにすれば、適正なコンテナ配備先を自動的に決定できる。
【０１１０】
更に、資源条件は、配備対象コンテナにより使用されるデバイスに関するものであってもよい。
【０１１１】
このようにすれば、デバイスを用いた処理を行うプログラムを含むコンテナの配備先として、より適正な情報処理装置を選ぶことができる。
【０１１２】
更に、資源条件は、配備対象コンテナに要する、情報処理装置の本体資源又は本体性能に関するものであってもよい。
【０１１３】
このようにすれば、情報処理装置の資源又は性能に依存するプログラムを含むコンテナの配備先として、より適正な情報処理装置を選ぶことができる。
【０１１４】
また、情報処理システムは、更に、（Ｅ）配備先に決定された情報処理装置に、配備対象コンテナを配備するコンテナ管理部を有するようにしてもよい。
【０１１５】
このようにすれば、更にコンテナの配備を自動化できる。
【０１１６】
なお、上で述べた情報処理システムの処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
【０１１７】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１１８】
（付記１）
コンテナ仮想基盤を有する複数の情報処理装置と、
前記複数の情報処理装置の各々に、当該情報処理装置の資源を評価する評価プログラムを含む評価コンテナを配備する配備部と、
前記複数の情報処理装置の各々に配備された前記評価コンテナの前記評価プログラムから、当該情報処理装置における資源データを取得する取得部と、
前記資源データに基づいて、配備対象コンテナの資源条件に適合する情報処理装置を、当該配備対象コンテナの配備先に決定する決定部と
を有する情報処理システム。
【０１１９】
（付記２）
前記資源条件は、前記配備対象コンテナにより使用されるデバイスに関する
付記１記載の情報処理システム。
【０１２０】
（付記３）
前記資源条件は、前記配備対象コンテナに要する、情報処理装置の本体資源又は本体性能に関する
付記１又は２記載の情報処理システム。
【０１２１】
（付記４）
更に、
前記配備先に決定された前記情報処理装置に、前記配備対象コンテナを配備するコンテナ管理部
を有する付記１乃至３のいずれか１つ記載の情報処理システム。
【０１２２】
（付記５）
コンテナ仮想基盤を有する複数の情報処理装置の各々に、当該情報処理装置の資源を評価する評価プログラムを含む評価コンテナを配備する配備部と、
前記複数の情報処理装置の各々に配備された前記評価コンテナの前記評価プログラムから、当該情報処理装置における資源データを取得する取得部と、
前記資源データに基づいて、配備対象コンテナの資源条件に適合する情報処理装置を、当該配備対象コンテナの配備先に決定する決定部と
を有するコンテナ管理装置。
【０１２３】
（付記６）
コンテナ仮想基盤を有する複数の情報処理装置の各々に、当該情報処理装置の資源を評価する評価プログラムを含む評価コンテナを配備し、
前記複数の情報処理装置の各々に配備された前記評価コンテナの前記評価プログラムから、当該情報処理装置における資源データを取得し、
前記資源データに基づいて、配備対象コンテナの資源条件に適合する情報処理装置を、当該配備対象コンテナの配備先に決定する
処理を含み、コンピュータにより実行されるコンテナ管理方法。
【符号の説明】
【０１２４】
１０１  サーバ装置
１０３  スピーカー
１０５  ディスプレイ装置
１０７  ユーザ端末
１０９  管理装置
２０１  フロントエンド
２０３  バックエンド
２０５  データベース
２０７  ライブラリ
３０１  コンテナ
４０１  オペレーティングシステム
４０３  コンテナ仮想化エンジン
８０１  展開部
８０３  コンテナ記憶部
８０５  受付部
８０７  展開構成記憶部
８０９  コンテナ管理ツール
１２０１  評価コンテナ
１２０３  評価プログラム
１２０５  ライブラリ
１３０１  リソース要求記憶部
１３０３  動的配備ツール
１３０５  配備部
１３０７  取得部
１３０９  決定部
１３１１  通知部
１３１３  起動部
１３２１  評価コンテナ記憶部
１３２３  評価結果記憶部
１９０１  タッチパネル
【図１】
2019117485.tif 000003
【図２】
2019117485.tif 000004
【図３】
2019117485.tif 000005
【図４】
2019117485.tif 000006
【図５】
2019117485.tif 000007
【図６】
2019117485.tif 000008
【図７】
2019117485.tif 000009
【図８】
2019117485.tif 000010
【図９】
2019117485.tif 000011
【図１０】
2019117485.tif 000012
【図１１】
2019117485.tif 000013
【図１２】
2019117485.tif 000014
【図１３】
2019117485.tif 000015
【図１４】
2019117485.tif 000016
【図１５】
2019117485.tif 000017
【図１６】
2019117485.tif 000018
【図１７】
2019117485.tif 000019
【図１８】
2019117485.tif 000020
【図１９】
2019117485.tif 000021
【図２０】
2019117485.tif 000022
【図２１】
2019117485.tif 000023
【図２２】
2019117485.tif 000024
【図２３】
2019117485.tif 000025
【図２４】
2019117485.tif 000026
【図２５】
2019117485.tif 000027