(57)【要約】      （修正有）【課題】コンテナイメージを変更しなくても、サーバ上で動作するコンテナに対して設定変更を反映できる。【解決手段】コンピュータシステム１０において、サーバ２０には、コンテナイメージから生成されるコンテナ３０が配置される。コンテナは、アプリケーション部３１とフレームワーク部３２とを含む。フレームワーク部は、設定反映手段３３を含む。管理装置１１は、コンテナへアクセスするためのアドレス情報を保持する。パラメータ設定装置１２は、アドレス情報に基づいてコンテナにアクセスし、フレームワーク部のパラメータの設定情報をコンテナに送信する。設定反映手段は、パラメータ設定装置から送信された設定情報に従ってフレームワーク部のパラメータを変更する。【選択図】図１
2020042484.tif 000002
【特許請求の範囲】
【請求項１】
コンテナイメージから生成され、サーバ上で動作し、かつアプリケーション部とフレームワーク部とを含むコンテナへアクセスするためのアドレス情報を保持する管理装置と、
前記アドレス情報に基づいて前記コンテナにアクセスし、前記フレームワーク部のパラメータの設定情報を前記コンテナに送信するパラメータ設定装置とを備え、
前記フレームワーク部は設定反映手段を含み、該設定反映手段は、前記パラメータ設定装置から送信された設定情報に従って前記フレームワーク部のパラメータを変更するコンピュータシステム。
【請求項２】
前記パラメータ設定装置は、前記管理装置から前記アドレス情報を取得するアクセス先情報取得手段と、前記設定情報を受け付け、該受け付けた設定情報と前記アドレス情報とを組み合わせたリクエストを生成して前記コンテナに送信する設定入力手段とを含む請求項１に記載のコンピュータシステム。
【請求項３】
前記設定反映手段は、前記パラメータ設定装置から送信された設定情報を前記フレームワーク部内に保存し、前記フレームワーク部を再起動させる請求項１又は２に記載のコンピュータシステム。
【請求項４】
前記管理装置は、更に、前記コンテナが提供するサービスにアクセスするための情報を保持し、
前記パラメータ設定装置は、前記サービスにアクセスするための情報に基づいて前記コンテナが提供するサービスを実行させ、前記サービスの処理性能指標を測定するアプリケーション実行手段と、前記処理性能指標に基づいて、前記コンテナに設定する設定情報を導出するパラメータ導出手段とを含む請求項１から３何れか１項に記載のコンピュータシステム。
【請求項５】
前記パラメータ設定装置は、前記設定情報のデータ範囲を定義するパラメータ定義情報を記憶するパラメータ情報格納手段と、
前記パラメータ定義情報に基づいて前記設定情報の候補を算出するパラメータ設定解析手段とを更に有し、
前記パラメータ導出手段は、前記パラメータ設定解析手段が算出した前記設定情報の候補から前記設定情報を導出する請求項４に記載のコンピュータシステム。
【請求項６】
前記パラメータ導出手段は、前記処理性能指標が最良となる設定情報を導出する請求項４又は５に記載のコンピュータシステム。
【請求項７】
前記管理装置は、前記コンテナを動作させるサーバを決定するスケジューラを有する請求項１から６何れか１項に記載のコンピュータシステム。
【請求項８】
コンテナイメージから生成され、サーバ上で動作し、アプリケーション部とフレームワーク部とを含み、かつ前記フレームワーク部が受信した設定情報に従ってパラメータを変更する設定反映手段を含むコンテナへアクセスするためのアドレス情報を保持する管理装置から前記アドレス情報を取得するアクセス先情報取得手段と、
前記アドレス情報に基づいて前記コンテナにアクセスし、前記フレームワーク部のパラメータの設定情報を前記コンテナに送信する設定入力手段とを備えるパラメータ設定装置。
【請求項９】
コンテナイメージから生成され、サーバ上で動作し、アプリケーション部とフレームワーク部とを含み、かつ前記フレームワーク部が受信した設定情報に従ってパラメータを変更する機能を有するコンテナへアクセスするためのアドレス情報を保持する管理装置から前記アドレス情報を取得し、
前記アドレス情報に基づいて前記コンテナにアクセスし、前記フレームワーク部のパラメータの設定情報を前記コンテナに送信するパラメータ設定方法。
【請求項１０】
コンテナイメージから生成され、サーバ上で動作し、アプリケーション部とフレームワーク部とを含み、かつ前記フレームワーク部が受信した設定情報に従ってパラメータを変更する機能を有するコンテナへアクセスするためのアドレス情報を保持する管理装置から前記アドレス情報を取得し、
前記アドレス情報に基づいて前記コンテナにアクセスし、前記フレームワーク部のパラメータの設定情報を前記コンテナに送信するための処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピュータシステム、パラメータ設定装置、方法、及びプログラムに関し、更に詳しくは、サーバ上でサービスを動作させるコンピュータシステム、並びにそのようなコンピュータシステムに用いられるパラメータ設定装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
ＯＳ（Operating System）レベルの仮想化技術において用いられるコンテナが知られている。コンテナは、隔離されたユーザスペースで稼働するアプリケーションである。コンテナを実現するソフトウェアはコンテナランタイムと呼ばれる。コンテナランタイムとして、例えば、Ｄｏｃｋｅｒ社が提供しているＤｏｃｋｅｒ、ＣｏｒｅＯＳ社が提供しているｒｋｔなどが知られている。
【０００３】
コンテナランタイムは、隔離されたユーザスペースでアプリケーションを稼働させることに加えて、仮想ファイルシステムや仮想ネットワークなどをコンテナに取り付けて、コンテナをあたかも一つのマシンのように仕立てあげることができる。コンテナが利用する仮想ファイルシステムと、コンテナを実行するために必要な設定情報（例えば仮想ネットワークの設定のための情報等）とをひとまとめにしたファイルは、コンテナイメージと呼ばれる。関連技術として、特許文献１は、コンテナイメージを配信する装置を開示する。
【０００４】
別の関連技術として、特許文献２は、システムパラメータ設定支援システムを開示する。特許文献２に記載のシステムパラメータ設定支援システムは、テスト装置とテスト対象システムとを含む。テスト対象システムは、設定変更可能な複数のパラメータを有する。テスト装置は、テストを実施するためにリクエストをテスト対象システムに送信する。テストは、例えば、テスト対象システムに様々な負荷をかけて、各種のパラメータの設定を変更しつつ、システムの動作や性能を検証する性能テストを含む。性能テスト時に複数のパラメータを変更しながらチューニングを行い、実運用時のパラメータが決定される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−６３６２９号公報
【特許文献２】国際公開第２０１３／０１８３７６号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
クライアントサーバモデルのアプリケーション実行基盤が、ＰａａＳ（Platform as a Service）に移行する中で、アプリケーションアーキテクチャもＰａａＳ基盤上での動作に適した、マイクロサービスアーキテクチャに変更されつつある。このマイクロサービスアーキテクチャは、システムをサービスという単位で分化し、その分化した機能をＬｉｎｕｘ（登録商標）コンテナなどのコンテナ技術を用いて提供されるプラットフォームで動作させることを前提としている。
【０００７】
コンテナを管理するためのオーケストレーションツールとしてＯｐｅｎ  Ｓｈｉｆｔなどが提唱されている。オーケストレーションツールにあらかじめコンテナを動作させる予定のサーバを指定することで、そのサーバ上に自由にコンテナを起動し、コンテナ上でサービスを動作させることが可能である。
【０００８】
上記関連技術において、コンテナ管理を行うオーケストレーションツールは、マスタノードと、そのマスタノードが管理するノード、及びノード上に展開するためのイメージを管理するリポジトリを含む。マイクロサービスアーキテクチャに則ったシステムを開発する作業者は、開発環境を使用し、システムを要素ごとに分割し、サービスという単位でコンテナイメージを作成し、それらをリポジトリに登録する。マスタノード内のスケジューラは、自身に定義された条件に基づいて、ノード上にコンテナを展開し、その上でサービスを動作させる。
【０００９】
ここで、ノードの実体はサーバであり、サーバごとにハードウェアの構成やネットワークの構成が異なり得る。関連技術において、コンテナのオーケストレーションツールはノード自体の負荷状況や対障害性を考慮した上でコンテナをノードに展開し、ノード上でアプリケーションを動作させている。しかしながら、実際にアプリケーションを動作させる際には、ハードウェアの構成やネットワークの構成の違いに起因する差異が発生し、アプリケーションを動作する上での最適解は考慮されていないのが現状である。
【００１０】
特許文献２では、テスト対象装置のパラメータを調整できるため、所望の処理性能を実現できる。しかしながら、コンテナをノード上に展開してアプリケーションを動作させる場合、設定変更を行うためには、設定情報が含まれるイメージを作成し直す必要がある。イメージが展開されるノードは、マスタノードの判断で割り振られるため、展開されるノードに応じた、アプリケーションが最も短時間で処理を完了するための設定を行うことは困難である。
【００１１】
本開示は、上記に鑑み、コンテナの生成元となるイメージを変更することなく、サーバ上で動作するコンテナに対して設定変更を反映できるコンピュータシステム、パラメータ設定装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本開示は、コンテナイメージから生成され、サーバ上で動作し、かつアプリケーション部とフレームワーク部とを含むコンテナへアクセスするためのアドレス情報を保持する管理装置と、前記アドレス情報に基づいて前記コンテナにアクセスし、前記フレームワーク部のパラメータの設定情報を前記コンテナに送信するパラメータ設定装置とを備え、前記フレームワーク部は設定反映手段を含み、該設定反映手段は、前記パラメータ設定装置から送信された設定情報に従って前記フレームワーク部のパラメータを変更するコンピュータシステムを提供する。
【００１３】
本開示は、また、コンテナイメージから生成され、サーバ上で動作し、アプリケーション部とフレームワーク部とを含み、かつ前記フレームワーク部が受信した設定情報に従ってパラメータを変更する設定反映手段を含むコンテナへアクセスするためのアドレス情報を保持する管理装置から前記アドレス情報を取得するアクセス先情報取得手段と、前記アドレス情報に基づいて前記コンテナにアクセスし、前記フレームワーク部のパラメータの設定情報を前記コンテナに送信する設定入力手段とを備えるパラメータ設定装置を提供する。
【００１４】
本開示は、コンテナイメージから生成され、サーバ上で動作し、アプリケーション部とフレームワーク部とを含み、かつ前記フレームワーク部が受信した設定情報に従ってパラメータを変更する機能を有するコンテナへアクセスするためのアドレス情報を保持する管理装置から前記アドレス情報を取得し、前記アドレス情報に基づいて前記コンテナにアクセスし、前記フレームワーク部のパラメータの設定情報を前記コンテナに送信するパラメータ設定方法を提供する。
【００１５】
本開示は、コンテナイメージから生成され、サーバ上で動作し、アプリケーション部とフレームワーク部とを含み、かつ前記フレームワーク部が受信した設定情報に従ってパラメータを変更する機能を有するコンテナへアクセスするためのアドレス情報を保持する管理装置から前記アドレス情報を取得し、前記アドレス情報に基づいて前記コンテナにアクセスし、前記フレームワーク部のパラメータの設定情報を前記コンテナに送信するための処理をコンピュータに実行させるプログラムを提供する。
【発明の効果】
【００１６】
本開示に係るコンピュータシステム、パラメータ設定装置、方法、及びプログラムは、コンテナの生成元となるイメージを変更することなく、サーバ上で動作するコンテナに対して設定変更を反映させることができる。
【図面の簡単な説明】
【００１７】
【図１】本開示のコンピュータシステムを概略的に示すブロック図。
【図２】本開示の第１実施形態に係るコンピュータシステムを示すブロック図。
【図３】パラメータを変更する際の動作手順を示すフローチャート。
【図４】本開示の第２実施形態に係るコンピュータシステムを示すブロック図。
【図５】パラメータ定義情報の一例を示す図。
【図６】パラメータ定義情報が入力される際の動作手順を示すフローチャート。
【図７】パラメータ調整時の動作手順を示すフローチャート。
【発明を実施するための形態】
【００１８】
本開示の実施形態の説明に先立って、本開示の概要を説明する。図１は、本開示に係るコンピュータシステムを示す。コンピュータシステム１０は、管理装置１１とパラメータ設定装置１２とを有する。管理装置１１は、コンテナイメージから生成され、サーバ２０上で動作するコンテナ３０へアクセスするためのアドレス情報を保持する。コンテナ３０は、アプリケーション部３１とフレームワーク部３２とを含む。
【００１９】
パラメータ設定装置１２は、管理装置１１が保持するアドレス情報に基づいてコンテナ３０にアクセスする。パラメータ設定装置１２は、コンテナ３０のフレームワーク部３２の設定情報を、コンテナ３０に送信する。フレームワーク部３２は、設定反映手段３３を含む。設定反映手段３３は、パラメータ設定装置１２から送信された設定情報に従ってフレームワーク部３２のパラメータを変更する。
【００２０】
本開示では、パラメータ設定装置１２は、管理装置１１が保持するコンテナ３０のアドレス情報を用いてコンテナ３０に設定情報を送信する。コンテナ３０のフレームワーク部３２は設定反映手段３３を有しており、設定反映手段３３は、パラメータ設定装置１２から送信された設定情報に基づいて、フレームワーク部３２にパラメータを設定する。このようにすることで、コンテナの生成元であるコンテナイメージを変更しなくても、フレームワーク部３２のパラメータを変更することができる。
【００２１】
以下、図面を参照しつつ、本開示の実施の形態を詳細に説明する。図２は、本開示の第１実施形態に係るコンピュータシステムを示す。コンピュータシステム１００は、マスタノード１０１、パラメータ設定装置１０２、及びノード１０３を有する。マスタノード１０１、パラメータ設定装置１０２、及びノード１０３は、例えばサーバコンピュータとして構成される。マスタノード１０１、パラメータ設定装置１０２、及びノード１０３の機能は、サーバコンピュータ内のプロセッサが、メモリから読み出したプログラムに従って動作することで実現し得る。これら装置は必ずしも物理的に分離された装置として構成される必要はない。また、各装置は、物理的に分離された複数の装置を用いて構成されてもよい。
【００２２】
本実施形態では、下記の環境を想定する。
（１）マクロサービスアーキテクチャに則り、システムの要素がサービスごとに分化され、各サービスはコンテナ上で動作する。
（２）コンテナの操作はオーケストレーションツールを用いて実行される。オーケストレーションツールは、コンテナが動作するサーバ（ノード）を特定するための情報、及びコンテナ上で動作するサービスにアクセスにための情報を定義する。
（３）コンテナは、サービスの実行に対してアプリケーション部とフレームワーク部とで分離可能なアーキテクチャを持つクライアントサーバモデルのＷｅｂサーバ、又はアプリケーションサーバである。
【００２３】
リポジトリ１０４は、コンテナの生成元のコンテナイメージを保持する。リポジトリ１０４は、例えばサービスＡのコンテナイメージ１４１、サービスＢのコンテナイメージ１４２、及びサービスＣのコンテナイメージ１４２を保持する。
【００２４】
マスタノード１０１は、スケジューラ１１１、及び管理情報１１２を有する。スケジューラ１１１は、コンテナイメージを展開するサーバを決定する。スケジューラ１１１は、例えばリポジトリ１０４からサービスＡのコンテナイメージ１４１を取得し、取得したコンテナイメージ１４１をノード１０３上に展開する。管理情報１１２は、各コンテナに対する仮想的なアドレス情報（仮想アドレス）１１３、コンテナが動作するノードの情報（ノード情報）１１４、及びサービスが提供するＵＲＬ（uniform resource locator）（サービスＵＲＬ）１１５を含む。マスタノード１０１は、図１の管理装置１１に対応する。
【００２５】
ノード１０３は、スケジューラ１１１が展開したコンテナ１３０を動作させるサーバである。コンテナ１３０は、特定のサービスを提供する。各サービスは、アプリケーション部１３１とフレームワーク部１３２とを含む。アプリケーション部１３１は、サービスを提供する実体である。フレームワーク部１３２は、アプリケーションを動作させるためのフレームワークである。ノード１０３は図１のサーバ２０に対応し、コンテナ１３０は図１のコンテナ３０に対応する。また、アプリケーション部１３１は図１のアプリケーション部３１に対応し、フレームワーク部１３２は図１のフレームワーク部３２に対応する。
【００２６】
フレームワーク部１３２は、設定情報１３３と設定反映機能（設定反映手段）１３４とを含む。設定情報１３３は、フレームワーク部１３２に設定可能な複数のパラメータの設定情報である。設定反映機能１３４は、フレームワークの一機能として提供され、特定のＵＲＬ形式のリクエストを受け付け、パラメータの設定変更操作を実施する。より詳細には、設定反映機能１３４は、パラメータ設定装置１０２からパラメータの設定情報を含むリクエストを受信し、受信したリクエストに含まれる設定情報を設定情報１３３に格納する。設定反映機能１３４は、例えば設定情報の格納後、フレームワーク部１３２を再起動させることで、フレームワーク部１３２を、設定情報１３３に新たに格納された設定情報に従うパラメータで動作させる。設定反映機能１３４は、図１の設定反映手段３３に対応する。
【００２７】
パラメータ設定装置１０２は、アクセス先情報取得部（アクセス先情報取得手段）１２１及び設定入力部（設定入力手段）１２２を有する。アクセス先情報取得部１２１は、マスタノード１０１から、コンテナ１３０の仮想アドレス１１３を取得する。設定入力部１２２は、フレームワーク部１３２の設定情報１３３に格納される設定情報をコンテナ１３０に送信する。このとき設定入力部１２２は、アクセス先情報取得部１２１が取得した仮想アドレス１１３と設定情報とを組み合わせたリクエストを生成し、コンテナ１３０に設定情報を送信する。設定入力部１２２には、例えばユーザから設定情報が入力される。パラメータ設定装置１０２は、図１のパラメータ設定装置１２に対応する。
【００２８】
以下、コンピュータシステム１００において実施される方法（パラメータ設定方法）を説明する。図３は、コンテナ１３０のフレームワーク部１３２のパラメータを変更する際の動作手順を示す。ユーザは、例えば設定変更を行いたいサービスなどを指定して、設定入力部１２２にパラメータの設定情報を入力する（ステップＡ１）。設定入力部１２２は、アクセス先情報取得部１２１を呼び出し、アクセス先情報取得部１２１は、マスタノード１０１上に保持される仮想アドレス１１３を取得する（ステップＡ２）。
【００２９】
設定入力部１２２は、ステップＡ２で取得された仮想アドレス１１３を使用し、パラメータ設定のためのＵＲＬを構築する（ステップＡ３）。また、設定入力部１２２は、ユーザが入力したパラメータを設定用のＵＲＬに付与し、設定変更後のパラメータを含む設定用のＵＲＬを生成する（ステップＡ４）。設定入力部１２２は、ステップＡ４において、例えば下記のＵＲＬ形式のリクエストを生成する。
http://{仮想アドレス}/setting?param={パラメータ名}&data={入力データ}
【００３０】
設定入力部１２２は、ステップＡ４で生成した設定用のＵＲＬをコンテナ１３０に送信し、フレームワーク部１３２の設定反映機能１３４を呼び出す（ステップＡ５）。設定反映機能１３４は、設定用のＵＲＬに含まれるパラメータの設定情報を設定情報１３３に格納する（ステップＡ６）。設定反映機能１３４は、ステップＡ６では、例えば設定用のＵＲＬに含まれる「パラメータ名」で示されるパラメータの設定値を、設定用のＵＲＬに含まれる「入力データ」の値に置き換える。設定反映機能１３４は、設定情報を格納すると、フレームワーク部１３２を再起動させる（ステップＡ７）。再起動後、フレームワーク部１３２は、設定情報１３３に新たに格納された設定情報に従って動作する。
【００３１】
本実施形態では、コンテナ１３０のフレームワーク部１３２は設定反映機能１３４を有している。パラメータ設定装置１０２は、マスタノード１０１からコンテナ１３０の仮想的なアドレス情報である仮想アドレス１１３を取得し、設定情報を含むリクエストをコンテナ１３０に送信する。本実施形態では、コンテナごとに用意された仮想的なアドレスを使用することで、コンテナ１３０の外部から、コンテナ１３０内の設定反映機能１３４に設定情報を送信できる。設定反映機能１３４が受信した設定情報に従ってフレームワーク部１３２内の設定情報１３３を変更することで、フレームワーク部１３２のパラメータを変更できる。
【００３２】
例えば、あるコンテナイメージが配置されるノードは１つのノードに特定されておらず、あるコンテナイメージが、２つの異なるノードに配置される場合がある。その場合、１つのコンテナイメージから生成されるコンテナ１３０におけるフレームワーク部１３２のパラメータは、一方のノードでは最適であっても、他方のノードにおいて最適とは限らない。本実施形態では、フレームワーク部１３２における設定の変更を各サービスに対して実行することができるため、元のコンテナイメージを変更しなくても、パラメータを、コンテナ１３０が配置されたノードの状況に応じて変更することができる。このため、同じコンテナイメージを使用しつつ、各ノードにおいて、各ノードの状況に応じたパラメータでサービスを実行することができる。
【００３３】
続いて、本開示の第２実施形態を説明する。図４は、本開示の第２実施形態に係るコンピュータシステムを示す。本実施形態では、パラメータ設定装置１０２ａは、アクセス先情報取得部１２１及び設定入力部１２２に加えて、パラメータ定義情報格納部１５１、パラメータ設定解析部１５２、設定注入部１５３、設定格納部１５４、測定結果受信部１５５、導出部１５６、及びアプリケーション実行部１５７を有する。
【００３４】
本実施形態は、パラメータ設定装置１０２ａが、フレームワーク部１３２に設定されるパラメータの設定情報の調整を行う点で、第１実施形態と相違する。マスタノード１０１及びノード１０３については第１実施形態で説明したものと同様でよい。なお、図４において、リポジトリ１０４（図２を参照）は図示を省略している。
【００３５】
パラメータ定義情報格納部（パラメータ定義情報格納手段）１５１は、フレームワーク部１３２のパラメータの定義情報（パラメータ定義情報）を記憶する。パラメータ定義情報格納部１５１には、パラメータの調整において、調整対象となるパラメータに対するパラメータ定義情報が記憶される。図５は、パラメータ定義情報の一例を示す。パラメータ定義情報は、パラメータ名と入力データとの組を含む。パラメータ定義情報は、例えばユーザにより入力される。パラメータ定義情報において、データ範囲などは、例えば正規表現で定義される。
【００３６】
パラメータ設定解析部（パラメータ設定解析手段）１５２は、パラメータ定義情報格納部１５１に記憶されたパラメータ定義情報を解析し、パラメータ名とパラメータのデータの範囲とを算出する。設定注入部（設定注入手段）１５３は、パラメータ設定解析部１５２で算出されたパラメータ名とパラメータのデータ範囲の情報を、設定格納部（設定格納手段）１５４に送信する。設定格納部１５４は、設定注入部１５３から送信されたパラメータ名とパラメータのデータの範囲とを、フレームワーク部１３２に設定される設定情報の候補として記憶する。
【００３７】
アプリケーション実行部（アプリケーション実行手段）１５７は、コンテナ１３０が提供するサービスに対してリクエストを送信し、アプリケーションを実行させる。このときアプリケーション実行部１５７は、マスタノード１０１に保持されているサービスＵＲＬ１１５に基づいて、コンテナ１３０が提供するサービスにアクセスする。アプリケーション実行部１５７は、アプリケーションを実行させたとき、コンテナ１３０の処理性能指標を測定する。アプリケーション実行部１５７は、例えばアプリケーションの実行処理時間を処理性能指標として測定する。
【００３８】
導出部（パラメータ導出手段）１５６は、フレームワーク部１３２のパラメータの設定情報を導出する。設定情報の導出には、例えばベイズ最適化が用いられる。設定情報の導出において、導出部１５６は、設定入力部１２２を通じて、設定格納部１５４に格納されたデータ範囲内の設定情報を、フレームワーク部１３２の設定反映機能に送信する。設定情報の送信後、導出部１５６は、アプリケーション実行部１５７を呼び出し、コンテナ１３０においてアプリケーションを実行させる。
【００３９】
測定結果受信部（測定結果受信手段）１５５は、アプリケーションの実行時に測定された処理性能指標をアプリケーション実行部１５７から受信する。測定結果受信部１５５は、受信した処理性能指標を導出部１５６に通知する。導出部１５６は、例えばベイズ最適化を行うことで、処理性能指標が最良、例えば実行処理時間が最短となる設定情報を導出する。導出部１５６は、導出された設定情報を、設定入力部１２２を通じて、フレームワーク部１３２の設定反映機能に送信する。
【００４０】
以下、動作手順を説明する。図６は、パラメータ定義情報が入力される際の動作手順を示す。ユーザは、パラメータ定義情報格納部１５１に、パラメータ定義を設定する（ステップＢ１）。ユーザは、ステップＢ１では、例えばノード１０３の動作に影響を与え得るパラメータのパラメータ名と、その範囲などを設定する。
【００４１】
パラメータ設定解析部１５２は、パラメータ定義情報格納部１５１に登録された入力データ（図５を参照）を解析し、設定値の入力可能値を導出する（ステップＢ２）。設定注入部１５３は、ステップＢ２で導出された入力可能値を、設定格納部１５４に格納する（ステップＢ３）。ここまでの段階で、パラメータ調整の準備が整う。
【００４２】
図７は、パラメータ調整時の動作手順を示す。ユーザは、コンテナイメージがノード１０３に配置された後、任意のタイミングでパラメータの調整を指示することができる。ユーザがパラメータの調整を指示すると、アクセス先情報取得部１２１は、マスタノード１０１から管理情報１１２を取得する（ステップＣ１）。アクセス先情報取得部１２１は、ステップＣ１では、仮想アドレス１１３、ノード情報１１４、及びサービスＵＲＬ１１５を取得する。設定入力部１２２は、ステップＣ１で取得された管理情報を結合することで、サービスのアクセス先ＵＲＬと、パラメータ設定用のＵＲＬとを構築する（ステップＣ２）。
【００４３】
導出部１５６は、設定値、及び設定値の入力可能値を引数にベイズ最適化を実施し、調査対象の設定値を導出する（ステップＣ３）。導出部１５６は、導出した設定値を設定入力部１２２に通知する。設定入力部１２２は、ステップＣ２で構築した設定用のＵＲＬを用い、フレームワーク部１３２の設定反映機能１３４にステップＣ３で導出された設定値を送信する（ステップＣ４）。設定入力部１２２は、ステップＣ４では、ステップＣ２で構築された設定用のＵＲＬにステップＣ３で導出された設定値を付与し、設定値が付与された設定用のＵＲＬを設定反映機能１３４に送信する。
【００４４】
設定反映機能１３４は、設定用のＵＲＬに含まれるパラメータの設定情報を設定情報１３３に格納する（ステップＣ５）。設定反映機能１３４は、設定情報を格納すると、フレームワーク部１３２を再起動させる（ステップＣ６）。再起動後、フレームワーク部１３２は、設定情報１３３に新たに格納された設定情報に従って動作する。ステップＣ５及びＣ６は、図３のステップＡ６及びＡ７と同様でよい。
【００４５】
アプリケーション実行部１５７は、フレームワーク部１３２の再起動後、コンテナ１３０においてサービス（アプリケーション）を実行させる（ステップＣ７）。アプリケーション実行部１５７は、ステップＣ７では、ステップＣ２で構築されたサービスのアクセス先ＵＲＬを用い、コンテナ１３０においてアプリケーションを実行させる。アプリケーション実行部１５７は、コンテナ１３０（ノード１０３）の処理性能指標を測定する（ステップＣ８）。アプリケーション実行部１５７は、ステップＣ８では、例えばアプリケーションの実行処理時間を測定する。
【００４６】
アプリケーション実行部１５７は、ステップＣ８で測定した処理性能指標を測定結果受信部１５５に送信する。測定結果受信部１５５は、受信した処理性能指標を導出部１５６に通知する。導出部１５６は、設定値と処理性能指標とに基づいてベイズ最適化を実施し、新たな設定値を導出する（ステップＣ９）。
【００４７】
導出部１５６は、ステップＣ９で導出した設定値が、前回の設定値と同じであるか否かを判断する（ステップＣ１０）。ステップＣ１０において、導出された設定値が前回の設定値と異なると判断された場合、処理はステップＣ４に戻り、設定入力部１２２を通じて、新たな設定値がフレームワーク部１３２の設定反映機能１３４に送信される。ステップＣ４からステップＣ１０の処理は、ステップＣ１０において新たに導出された設定値が前回の設定値と同じであると判断されるまで繰り返し実施される。
【００４８】
導出部１５６は、ステップＣ１０で設定値が前回と同じであると判断した場合、ベイズ最適化を終了し、パラメータ調整を行う対象の全てのノードについてパラメータ調整が終了したか否かを判断する（ステップＣ１１）。ステップＣ１１においてパラメータ調整を行うノードが残っていると判断された場合、処理はステップＣ３に戻り、導出部１５６は、パラメータ調整が未調整の１つのノードを対象にベイズ最適化を実施する。ステップＣ１１において、全てのノードについてパラメータ調整が終了したと判断された場合、処理は終了する。
【００４９】
本実施形態では、導出部１５６は、パラメータ定義情報の範囲内で、フレームワーク部１３２に設定する設定情報を導出する。本実施形態では、例えば導出部１５６において、処理性能指標が最良となる設定情報を導出することで、サービスが展開されたコンテナやノードの状況に応じて、アプリケーションが最も短時間で処理を完了するための設定情報を自動的に導出することができる。従って、本実施形態では、システム開発者などが、ノードに展開されたサービスに対して調査を行った上で設定情報を変更しなくても、処理性能を向上させることができる。
【００５０】
上記各実施形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記憶媒体を含む。非一時的なコンピュータ可読媒体の例は、例えばフレキシブルディスク、磁気テープ、又はハードディスクなどの磁気記録媒体、例えば光磁気ディスクなどの光磁気記録媒体、ＣＤ（compact disc）、又はＤＶＤ（digital versatile disk）などの光ディスク媒体、及び、マスクＲＯＭ（read only memory）、ＰＲＯＭ（programmable ROM）、ＥＰＲＯＭ（erasable PROM）、フラッシュＲＯＭ、又はＲＡＭ（random access memory）などの半導体メモリを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体を用いてコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバなどの有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００５１】
以上、本開示の実施形態を詳細に説明したが、本開示は、上記した実施形態に限定されるものではなく、本開示の趣旨を逸脱しない範囲で上記実施形態に対して変更や修正を加えたものも、本開示に含まれる。
【００５２】
例えば、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００５３】
［付記１］
コンテナイメージから生成され、サーバ上で動作し、かつアプリケーション部とフレームワーク部とを含むコンテナへアクセスするためのアドレス情報を保持する管理装置と、
前記アドレス情報に基づいて前記コンテナにアクセスし、前記フレームワーク部のパラメータの設定情報を前記コンテナに送信するパラメータ設定装置とを備え、
前記フレームワーク部は設定反映手段を含み、該設定反映手段は、前記パラメータ設定装置から送信された設定情報に従って前記フレームワーク部のパラメータを変更するコンピュータシステム。
【００５４】
［付記２］
前記パラメータ設定装置は、前記管理装置から前記アドレス情報を取得するアクセス先情報取得手段と、前記設定情報を受け付け、該受け付けた設定情報と前記アドレス情報とを組み合わせたリクエストを生成して前記コンテナに送信する設定入力手段とを含む付記１に記載のコンピュータシステム。
【００５５】
［付記３］
前記設定反映手段は、前記パラメータ設定装置から送信された設定情報を前記フレームワーク部内に保存し、前記フレームワーク部を再起動させる付記１又は２に記載のコンピュータシステム。
【００５６】
［付記４］
前記管理装置は、更に、前記コンテナが提供するサービスにアクセスするための情報を保持し、
前記パラメータ設定装置は、前記サービスにアクセスするための情報に基づいて前記コンテナが提供するサービスを実行させ、前記サービスの処理性能指標を測定するアプリケーション実行手段と、前記処理性能指標に基づいて、前記コンテナに設定する設定情報を導出するパラメータ導出手段とを含む付記１から３何れか１つに記載のコンピュータシステム。
【００５７】
［付記５］
前記パラメータ設定装置は、前記設定情報のデータ範囲を定義するパラメータ定義情報を記憶するパラメータ情報格納手段と、
前記パラメータ定義情報に基づいて前記設定情報の候補を算出するパラメータ設定解析手段とを更に有し、
前記パラメータ導出手段は、前記パラメータ設定解析手段が算出した前記設定情報の候補から前記設定情報を導出する付記４に記載のコンピュータシステム。
【００５８】
［付記６］
前記パラメータ導出手段は、前記処理性能指標が最良となる設定情報を導出する付記４又は５に記載のコンピュータシステム。
【００５９】
［付記７］
前記管理装置は、前記コンテナを動作させるサーバを決定するスケジューラを有する付記１から６何れか１つに記載のコンピュータシステム。
【００６０】
［付記８］
前記スケジューラは、リポジトリから前記コンテナイメージを取得し、該コンテナイメージを前記決定したサーバに配置する付記７に記載のコンピュータシステム。
【００６１】
［付記９］
コンテナイメージから生成され、サーバ上で動作し、アプリケーション部とフレームワーク部とを含み、かつ前記フレームワーク部が受信した設定情報に従ってパラメータを変更する設定反映手段を含むコンテナへアクセスするためのアドレス情報を保持する管理装置から前記アドレス情報を取得するアクセス先情報取得手段と、
前記アドレス情報に基づいて前記コンテナにアクセスし、前記フレームワーク部のパラメータの設定情報を前記コンテナに送信する設定入力手段とを備えるパラメータ設定装置。
【００６２】
［付記１０］
前記設定入力手段は、前記設定情報を受け付け、該受け付けた設定情報と前記アドレス情報とを組み合わせたリクエストを生成して前記コンテナに送信する付記９に記載のパラメータ設定装置。
【００６３】
［付記１１］
前記アクセス先情報取得手段は、更に前記管理装置から前記コンテナが提供するサービスにアクセスするための情報を取得し、
前記パラメータ設定装置は、更に、前記サービスにアクセスするための情報に基づいて前記コンテナが提供するサービスを実行させ、前記サービスの処理性能指標を測定するアプリケーション実行手段と、前記処理性能指標に基づいて、前記コンテナに設定する設定情報を導出するパラメータ導出手段とを有する付記９又は１０に記載のパラメータ設定装置。
【００６４】
［付記１２］
更に、前記設定情報のデータ範囲を定義するパラメータ定義情報を記憶するパラメータ情報格納手段と、
前記パラメータ定義情報に基づいて前記設定情報の候補を算出するパラメータ設定解析手段とを更に有し、
前記パラメータ導出手段は、前記パラメータ設定解析手段が算出した前記設定情報の候補から前記設定情報を導出する付記１１に記載のパラメータ設定装置。
【００６５】
［付記１３］
前記パラメータ導出手段は、前記処理性能指標が最良となる設定情報を導出する付記１１又は１２に記載のパラメータ設定装置。
【００６６】
［付記１４］
コンテナイメージから生成され、サーバ上で動作し、アプリケーション部とフレームワーク部とを含み、かつ前記フレームワーク部が受信した設定情報に従ってパラメータを変更する機能を有するコンテナへアクセスするためのアドレス情報を保持する管理装置から前記アドレス情報を取得し、
前記アドレス情報に基づいて前記コンテナにアクセスし、前記フレームワーク部のパラメータの設定情報を前記コンテナに送信するパラメータ設定方法。
【００６７】
［付記１５］
更に、前記管理装置から前記コンテナが提供するサービスにアクセスするための情報を取得し、
前記サービスにアクセスするための情報に基づいて前記コンテナが提供するサービスを実行させ、
前記サービスの処理性能指標を測定し、
前記処理性能指標に基づいて、前記コンテナに設定する設定情報を導出する付記１４に記載のパラメータ設定方法。
【００６８】
［付記１６］
更に、前記設定情報のデータ範囲を定義するパラメータ定義情報に基づいて前記設定情報の候補を算出し、
前記設定情報の導出では、前記算出された前記設定情報の候補から前記設定情報を導出する付記１５に記載のパラメータ設定方法。
【００６９】
［付記１７］
前記設定情報の導出では、前記処理性能指標が最良となる設定情報を導出する付記１５又は１６に記載のパラメータ設定方法。
【００７０】
［付記１８］
コンテナイメージから生成され、サーバ上で動作し、アプリケーション部とフレームワーク部とを含み、かつ前記フレームワーク部が受信した設定情報に従ってパラメータを変更する機能を有するコンテナへアクセスするためのアドレス情報を保持する管理装置から前記アドレス情報を取得し、
前記アドレス情報に基づいて前記コンテナにアクセスし、前記フレームワーク部のパラメータの設定情報を前記コンテナに送信するための処理をコンピュータに実行させるプログラム。
【符号の説明】
【００７１】
１０：コンピュータシステム
１１：管理装置
１２：パラメータ設定装置
２０：サーバ
３０：コンテナ
３１：アプリケーション部
３２：フレームワーク部
３３：設定反映手段
１００：コンピュータシステム
１０１：マスタノード
１０２：パラメータ設定装置
１０３：ノード
１０４：リポジトリ
１１１：スケジューラ
１１２：管理情報
１１３：仮想アドレス
１１４：ノード情報
１１５：サービスＵＲＬ
１２１：アクセス先情報取得部
１２２：設定入力部
１３０：コンテナ
１３１：アプリケーション部
１３２：フレームワーク部
１３３：設定情報
１３４：設定反映機能
１５１：パラメータ定義情報格納部
１５２：パラメータ設定解析部
１５３：設定注入部
１５４：設定格納部
１５５：測定結果受信部
１５６：導出部
１５７：アプリケーション実行部
【図１】
2020042484.tif 000003
【図２】
2020042484.tif 000004
【図３】
2020042484.tif 000005
【図４】
2020042484.tif 000006
【図５】
2020042484.tif 000007
【図６】
2020042484.tif 000008
【図７】
2020042484.tif 000009