JP7127326B2 - 冪等性保証機能付き情報処理装置、システム設定方法及びプログラム - Google Patents

冪等性保証機能付き情報処理装置、システム設定方法及びプログラム Download PDF

Info

Publication number
JP7127326B2
JP7127326B2 JP2018061308A JP2018061308A JP7127326B2 JP 7127326 B2 JP7127326 B2 JP 7127326B2 JP 2018061308 A JP2018061308 A JP 2018061308A JP 2018061308 A JP2018061308 A JP 2018061308A JP 7127326 B2 JP7127326 B2 JP 7127326B2
Authority
JP
Japan
Prior art keywords
command
file
argument
state
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018061308A
Other languages
English (en)
Other versions
JP2019175039A (ja
Inventor
忍 後藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2018061308A priority Critical patent/JP7127326B2/ja
Publication of JP2019175039A publication Critical patent/JP2019175039A/ja
Application granted granted Critical
Publication of JP7127326B2 publication Critical patent/JP7127326B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、冪等性保証機能付き情報処理装置、システム設定方法及びプログラムに関する。
クラウドコンピューティングや仮想マシンの普及などにより、システム構築を高速かつ数多く行うことが求められている。また、IaC(Infrastructure as Code)と呼ばれるインフラストラクチャの管理手法が注目を集めている。このような流れの中、システムの設定を自動化する構成管理ツール(例えば、Ansible、Chefなど)が提供されている。システムの設定を自動化するためには、設定の対象となるシステム(対象システム)の初期状態に依存することなく、対象システムを所望のシステム状態へ改変する必要がある。その為、構成管理ツールは、冪等性を保証する機能を有している。ここで、冪等性とは、ある処理や操作を何度行っても、その実行結果が変わらないことをいう。冪等性を保証するため、構成管理ツールは、例えば、対象システムが目標とする状態となっていない場合にのみ、システムの改変を行う機能を有している。この機能により、例えば、対象システムにおいて設定済みの項目に対して、何度も設定を行ったときに生じうる問題(例えば、適切な設定を上書きしてしまう等)を避けることができる。
なお、特許文献1には、仮想マシンを用いたテスト環境を管理するシステムが開示されている。この管理システムでは、複数のテスト項目から構成されるテストシナリオに従ってテストを実行する場合、あるテスト項目Xの実行結果についての冪等性を保証する仮想マシンのスナップショットイメージを作成する。これにより、テスト項目Xの次に実施するテスト項目Yを実行するためにテスト環境を整える必要がなくなり、テスト項目Yの実施に要するコストを低減し、効率的にテストシナリオを実施することができる。
特開2016-218714号公報
一般的に対象システムの設定を自動化するためには、上記の構成管理ツールを導入するか、自分で対象システムの設定を改変するプログラムを作成する必要がある。しかし、構成管理ツールを導入する場合、ツールの使い方を習得するためのコストを必要としたり、ツールの機能や仕様による制限を受けたりする可能性がある。また、自分で冪等性を保証するプログラムを作成するには非常に手間がかかる。なお、特許文献1には冪等性を保証しつつ、システム設定を行う技術は開示されていない。
そこでこの発明は、上述の課題を解決する冪等性保証機能付き情報処理装置、システム設定方法及びプログラムを提供することを目的としている。
本発明の一態様によれば、冪等性保証機能付き情報処理装置は、自装置で稼働するシステムについて、冪等性を保証しつつ所望のシステム状態へ改変するシステム改変部、を備え、前記システム改変部は、前記システムが備える標準的なコマンドをラップした実行形式のファイルであって、前記コマンドの実行に必要なコマンド引数を取得し、自装置において、前記コマンド引数にて指定されたファイル、サービス、設定内容の何れかが前記システムに存在するかどうかを確認することによって、既に前記システム状態が達成されているか否かを判定し、前記システム状態が達成されていないと判定すると、前記コマンドに前記コマンド引数を与えて実行することにより前記システム状態への改変を実行する。
本発明の一態様によれば、システム設定方法は、情報処理装置で稼働するシステムについて、冪等性を保証しつつ所望のシステム状態へ改変するシステム改変手段を、前記システムが備える標準的なコマンドをラップした実行形式のファイルとして、前記システムに実装するステップと、前記システム改変手段に前記コマンドの実行に必要なコマンド引数を与えて実行することにより、前記システムの設定を改変するステップと、を有し、前記改変するステップでは、前記システム改変手段が前記コマンド引数を取得し、前記コマンド引数にて指定されたファイル、サービス、設定内容の何れかが前記システムに存在するかどうかを確認することによって、既に前記システム状態が達成されているか否かを判定し、前記システム状態が達成されていないと判定すると、前記コマンドに前記コマンド引数を与えて実行することにより前記システム状態への改変を実行する。
本発明の一態様によれば、プログラムは、コンピュータで稼働するシステムを、冪等性を保証しつつ所望のシステム状態へ改変するための、前記システムが備える標準的なコマンドをラップした前記コマンドの実行に必要なコマンド引数を与えて実行するプログラムであって、前記コンピュータに、前記コマンド引数を取得し、前記コマンド引数にて指定されたファイル、サービス、設定内容の何れかが前記システムに存在するかどうかを確認することによって、既に前記システム状態が達成されているか否かを判定し、前記システム状態が達成されていないと判定すると、前記コマンドに前記コマンド引数を与えて実行することにより前記システム状態への改変を実行する処理、を実行させるプログラム。
本発明の制御システム、冪等性保証機能付き情報処理装置、システム設定方法及び冪等性保証機能付きプログラムによれば、冪等性を保証しつつ、システムの設定を行うことができる。
本発明の一実施形態による設定システムの一例を示すブロック図である。 本発明の一実施形態による設定処理の第1のフローチャートである。 本発明の一実施形態による設定処理の第2のフローチャートである。 本発明の一実施形態による設定システムの他の例を示すブロック図である。 本発明の一実施形態による情報処理装置の最小構成を示すブロック図である。 本発明の一実施形態による情報処理装置の一例を示すブロック図である。 本発明の各実施形態における情報処理装置のハードウェア構成の一例を示す図である。
<実施形態>
以下、一実施形態に係る冪等性保証機能付き情報処理装置について図1~図3を参照して説明する。
図1は、本発明の一実施形態による設定システムの一例を示すブロック図である。
図示するように設定システム1は、制御装置10と、情報処理装置100とを含む。制御装置10と情報処理装置100とはネットワークを介して通信可能に接続されている。
本実施形態では、情報処理装置100で稼働するOS(operating system)20を、設定対象のシステム(対象システム)とする。また、OS20の構成管理を行う場面を例として、設定ファイルの配備やサービスの稼働状態について、冪等性を保証しつつ、設定する機能を説明する。
制御装置10は、OS20に対する設定処理を制御するコンピュータである。制御装置10は、対象システムを所望の目標状態とする命令コードを記述したシェルスクリプト11を含む。制御装置10は、情報処理装置100にシェルスクリプト11を送信し、OS20上でシェルスクリプト11を実行する。
情報処理装置100は、OS20と、シェル21と、ファイル作成コマンドラッパー22と、サービス制御コマンドラッパー23とを含んで構成される。情報処理装置100は、例えば、サーバ装置である。
OS20は、情報処理装置100のオペレーティングシステムである。OS20は、冪等性を保証しつつ、OS20を所望のシステム状態とするためのシステム改変手段をユーザに提供する。例えば、OS20は、設定ファイルを作成するためのファイル作成コマンド、サービスの稼働状態を制御するためのサービス制御コマンドなどのシステム改変手段を有している。これらのシステム改変手段は、OS20に備わる標準的なコマンドであるが、これらのコマンドの実行にあたり、冪等性は保証されない。OS20は、これらの標準的なコマンドに冪等性を保証する機能を追加したラッパーを備え、これをユーザに提供する。ファイル作成コマンドラッパー22およびサービス制御コマンドラッパー23は、このようなラッパーの一例である。
シェル21は、OS20で標準コマンドや上記のラッパーを実行するための外部インタフェースである。シェル21は、シェルスクリプト11の実行環境を提供する。制御装置10は、シェル21上でシェルスクリプト11を実行する。
ファイル作成コマンドラッパー22は、OS20の標準的なコマンドであるファイル作成コマンド221をラップした実行形式のファイルである。ファイル作成コマンドラッパー22は、ファイルの作成に対して冪等性を保証する機能を有する。ファイル作成コマンドラッパー22は、その実行に際し、ファイルの配備場所(PATH)、ファイル名などのコマンド引数を受け取る。ファイル作成コマンドラッパー22は、内部でファイル作成コマンド221を実行する。そのとき、ファイル作成コマンドラッパー22は、受け取ったコマンド引数を、ファイル作成コマンド221に引数として与え、ファイル作成コマンド221を実行する。
ユーザは、冪等性を保証しつつ、特定の設定ファイルαを作成したい場合、ファイル作成コマンド221ではなく、ファイル作成コマンドラッパー22を実行する。つまり、特定のファイルαが存在することを目標状態としてシステムの設定を行うためには、シェルスクリプト11にファイル作成コマンドラッパー22の実行を指示する命令コードを記述し、そのコマンド引数に設定ファイルαのファイル名などを指定する。ファイル作成コマンドラッパー22の処理内容については、後に図2を用いて説明する。
サービス制御コマンドラッパー23は、OS20の標準的なコマンドであるサービス制御コマンド231をラップした実行形式のファイルである。サービス制御コマンドラッパー23は、サービス、即ちOS20において常駐して動作するプロセスの稼働状態(起動中、停止中など)の制御に対して冪等性を保証する機能を提供する。サービス制御コマンドラッパー23は、その実行に際し、制御対象のサービス名や、起動・停止などの稼働状態を指定するコマンド引数を受け取る。サービス制御コマンドラッパー23は、内部でサービス制御コマンド231を実行する。そのとき、サービス制御コマンドラッパー23は、受け取ったコマンド引数を、サービス制御コマンド231に引数として与え、サービス制御コマンド231を実行する。
ユーザは、冪等性を保証しつつ、特定のサービスの稼働状態を目標状態に制御したい場合、サービス制御コマンド231ではなく、サービス制御コマンドラッパー23を実行する。つまり、特定の稼働状態を目標状態としてシステムの設定を行うためには、シェルスクリプト11にサービス制御コマンドラッパー23の実行を指示する命令コードを記述し、その引数にサービス名と目標とするサービスの稼働状態を指定する。
次にファイル作成コマンドラッパー22が実行するファイル作成処理の内容について説明する。図2は、本発明の一実施形態による設定処理の第1のフローチャートである。
シェルスクリプト11には、ファイル名をコマンド引数に指定してファイル作成コマンドラッパー22の実行を指示する命令コードが記載されている。制御装置10は、OS20上でシェルスクリプト11を実行する。すると、シェル21が、ファイル作成コマンドラッパー22を実行する。ファイル作成コマンドラッパー22は、まずコマンド引数で指定されたファイルが存在するか否かを確認する(ステップS11)。コマンド引数で指定されたファイルが既に存在する場合(ステップS11;Yes)、ファイル作成コマンドラッパー22は、正常終了を示す終了コードを返却してファイル作成処理を終了する(ステップS12)。一方、コマンド引数で指定されたファイルが存在しない場合(ステップS11;No)、ファイル作成コマンドラッパー22は、渡されたコマンド引数を指定してファイル作成コマンド221を実行する(ステップS13)。これにより、所望のファイルが作成される。次にファイル作成コマンドラッパー22は、ファイル作成コマンド221の実行の結果出力される終了コードを自身の終了コードとして返却する(ステップS14)。
ファイル作成コマンドラッパー22を用いると、既に存在する設定ファイルの上書きを回避しつつ、確実に設定ファイルを作成し、所望の設定ファイルの配備状態を実現することができる。
次にサービス制御コマンドラッパー23が実行するサービス制御の処理内容について説明する。図3は、本発明の一実施形態による設定処理の第2のフローチャートである。
シェルスクリプト11には、サービス名と目標状態とをコマンド引数に指定してファイル作成コマンドラッパー22の実行を指示する命令コードが記載されている。制御装置10は、OS20上でシェルスクリプト11を実行する。すると、シェル21が、サービス制御コマンドラッパー23を実行する。サービス制御コマンドラッパー23は、コマンド引数で指定されたサービスがOS20に存在するか否かを確認する(ステップS21)。サービスが存在する場合(ステップS21;Yes)、サービス制御コマンドラッパー23は、続いてサービスの稼働状態がコマンド引数で指定された状態であるか否かを確認する(ステップS22)。サービスの稼働状態が目標状態と同じ状態である場合(ステップS22;Yes)、サービス制御コマンドラッパー23は、正常終了を示す終了コードを返却して処理を終了する(ステップS23)。一方、サービスが存在しない場合(ステップS21;No)、またはサービスは存在するがサービスの稼働状態が異なる場合(ステップS22;No)、サービス制御コマンドラッパー23は、渡されたコマンド引数を指定してサービス制御コマンド231を実行する(ステップS24)。例えば、あるサービスβが稼働した状態が目標状態の場合、サービス制御コマンド231はサービスβを起動する。これにより、所望のサービスの稼働状態が実現される。サービス制御コマンドラッパー23は、サービス制御コマンド231の実行の結果出力される終了コードを自身の終了コードとして返却する(ステップS25)。なお、サービスが存在しない場合(当該サービスの実行モジュールがインストールされていない)にもサービス制御コマンド231を実行する理由は、存在しないサービスが指定された際にサービス制御コマンド231がエラーとして返却する終了コードを、自身の終了コードとして返却するためである。
サービス制御コマンドラッパー23を用いると、例えば、サービスを多重起動する等の目標状態と異なるシステム状態となることを回避しつつ、サービスの稼働状態を制御することができる。
図1~図3では、OS20が提供する標準コマンドをラップすることにより、冪等性を保証する例を挙げた。標準コマンドのラッパーは、図2、図3で説明したように目標状態を引数として与えて実行する実行形式ファイルであってもよい。または、OS20が提供する標準コマンド自体を改造してもよい。あるいは、標準コマンドの実行により呼び出されるシステムコールを改造してもよい。このように冪等性保証機能は、様々なレイヤに実装することができる。
本実施形態では、冪等性を保証するシステム改変手段(例えば、標準コマンドのラッパー)を対象システム側に実装する。実装の方法は、OS20のインストール時に追加的にインストールされるようにしてもよいし、OS20の一部として組み込んでもよい。さらに対象システム側に実装した冪等性保証機能付きのシステム改変手段を、実行することができる外部インタフェースをユーザに提供する。ユーザは、外部インタフェースを通じて、冪等性保証機能付きのシステム改変手段を実行することにより、システム設定を行うにあたり、冪等性を意識する必要が無い。例えば、システム設定用のプログラムを作成する際にも、冪等性を担保するための処理コードを記述する作業から解放され、プログラム作成に要する時間や手間を大幅に削減することができる。また、Ansibleなどの構成管理ツールを導入しなくても、対象システムが備えるシステム改変手段を利用して、比較的容易にシステム設定を自動化するプログラムを作成することができる。
図4は、本発明の一実施形態による設定システムの他の例を示すブロック図である。
図4に、API(Application Programming Interface)を、冪等性保証機能付きのシステム改変手段の外部インタフェースとしてユーザに提供する例を示す。図1と同様の構成については説明を省略する。図示するように設定システム1aは、制御装置10と、情報処理装置100aとを含む。情報処理装置100aは、OS20aと、API21aと、ポート有効化APIラッパー22aと、通報先追加APIラッパー23aとを含んで構成される。情報処理装置100aは、例えば、L2スイッチ等のネットワーク装置である。
OS20は、ポート有効化API221aと通報先追加API231aを備えている。ポート有効化API221aは、引数で指定されるポートを有効にする処理を行う。通報先追加APIは、例えばOS20aで、システム管理者に通報すべきエラー等が発生した場合に、エラーの発生を通報すべき通報先の情報(例えば、メールアドレス等)を設定する。これらのシステム改変手段は、OS20aに備わるAPI、あるいは、OS20aにインストールしたミドルウェアやアプリケーションが備えるAPIである。OS20aは、これらのAPIに冪等性を保証する機能を追加したラッパーを備える。ポート有効化APIラッパー22aおよび通報先追加APIラッパー23aは、そのようなラッパーの一例である。
API21aは、OS20aで上記のラッパーを実行するための外部インタフェースである。ポート有効化APIラッパー22aは、ポート有効化API221aのラッパーである。ポート有効化APIラッパー22aは、ポート有効化API221aと同様の引数を受け取る。引数には、例えば、ポート番号が指定される。ポート有効化APIラッパー22aは、例えば、引数で指定されたポートが既に有効であれば、そのまま正常終了コードを返却し、引数で指定されたポートが有効でなければ、引数にそのポート番号を指定し、ポート有効化API221aを実行する。そして、ポート有効化APIラッパー22aは、ポート有効化API221aの実行結果を、自身の終了コードとしてOS20aに返却する。
ポート有効化APIラッパー22aを用いることにより、冪等性を保証しつつ、通信ポートの設定を行うことができる。
通報先追加APIラッパー23aは、通報先追加API231aのラッパーである。通報先追加APIラッパー23aは、通報先追加API231aと同様の引数を受け取る。引数には、例えば、通報先のメールアドレスが指定される。通報先追加APIラッパー23aは、例えば、引数で指定されたメールアドレスが既に設定されていれば、そのまま正常終了コードを返却し、引数で指定されたメールアドレスが未設定であれば、引数にそのメールアドレスを指定し、通報先追加API231aを実行する。そして、通報先追加APIラッパー23aは、通報先追加API231aの実行結果を、自身の終了コードとしてOS20aに返却する。
通報先追加APIラッパー23aを用いることにより、冪等性を保証しつつ、通報先の追加を行うことができる。
図4を用いて説明したように、システムが備えるAPIのラッパーを作成して、このラッパーを起動するAPIを外部インタフェースとしてユーザに提供してもよい。APIの場合も、APIのラッパーが冪等性を保証するので、ユーザは、構成管理ツールを利用することなく、システム設定用のプログラムを作成し、これを実行することでシステム設定を自動化できる。また、システム設定用のプログラムを作成する際に冪等性を意識しながらコードを記述する必要が無いので、少ない労力でプログラムを作成することができる。また、上記の実施形態では、ファイルの作成、プロセスの状態制御、通信ポートの有効化、通報先追加をシステム設定の例として挙げたが、冪等性保証機能を有したシステム改変手段はこれに限定されない。例えば、ユーザの追加、ディレクトリの作成、ファイルやディレクトリへの権限の設定、ファイアウォールの設定(開放する通信ポートの設定)など、システム設定に必要な各処理を実行するコマンドについて、上記したようなラッパーを実装することができる。
また、上記の実施形態では、対象システムを、OS20、20aとしたが、OS20等上で稼働するミドルウェアやアプリケーションを対象システムとし、それらの実行環境の設定を、冪等性保証機能付きのシステム改変手段によって実行するようにしてもよい。その場合、OS20等が提供する標準コマンドだけではなく、ミドルウェアやアプリケーションが提供するコマンドやAPIに対してラッパーを作成して対象システムに実装するようにしてもよい。また、例えば、ルータなどの通信装置や、ディスクアレイなどのストレージ装置など、シェルやAPIなどの外部インタフェースによって、システム設定処理の実行が可能な任意の装置(コンピュータを備える装置)を対象システムとし、本実施形態のシステム設定方法を適用することができる。
図5は、本発明の一実施形態による情報処理装置の最小構成を示すブロック図である。
図5に示すように情報処理装置100は、少なくともシステム改変部200を備える。
ここで、情報処理装置100は、サーバ、通信装置、ストレージ装置などコンピュータを備え、そのコンピュータ上で稼働するシステムの設定を必要とする装置である。システム改変部200は、情報処理装置100で稼働するシステムについて、冪等性を保証しつつ所望のシステム状態(目標状態)へ改変する機能を有する。システム改変部200は、例えば、上記実施形態のファイル作成コマンドラッパー22、サービス制御コマンドラッパー23、ポート有効化APIラッパー22a、通報先追加APIラッパー23a等である。システム改変部200は、実行指示を受けると、実際に改変が必要か否かを自らチェックし、改変が必要な場合にのみ改変を行う。これにより、当該システム設定における冪等性が保証される。なお、システム状態には、設定ファイル、ディレクトリ構成、インストールされたモジュール、接続されているハードウェア等のリソース構成、プロセスやサービスなどの稼働状態、他装置との通信状態などを含む。
図6は、本発明の一実施形態による情報処理装置の一例を示すブロック図である。
図6に示すように情報処理装置100は、対象システム400を備える。上記のOS20は、対象システム400の一例である。
対象システム400は、システム改変部200と、インタフェース部300と、を備える。システム改変部200は、判定部201と、改変実行部202とを備える。
判定部201は、対象システム400において、所望のシステム状態が達成されているか否かを判定する。図2のステップS11の処理、図3のステップS21およびステップS22の処理は、判定部201の一例である。
改変実行部202は、判定部201が所望のシステム状態が達成されていないと判定した場合、所望のシステム状態への改変を実行する。図2のステップS13の処理、図3のステップS24の処理は、改変実行部202の一例である。
インタフェース部300は、システム改変部200への実行指示を受け付ける外部インタフェースである。シェル21、API21aは、インタフェース部300の一例である。
本実施形態では、冪等性保証機能を有したシステム改変部200を対象システム400側に実装し、インタフェース部300を通じてシステム改変部200をユーザへ提供する。これによりユーザは、構成管理ツールを利用することなく、対象システム400の標準的な外部インタフェース(インタフェース部300)を用いて、所望のシステム状態を列挙した命令コードを記述したスクリプト等を作成し、これを実行することで、冪等性を保証しながら対象システムの設定を自動化することができる。
また、一つの実施形態では、システム改変部200は、情報処理装置100で稼働する所定のシステム(例えばOS20、20a)の一部を構成するプログラムであって、情報処理装置100を、OS20等に対する設定の内容を受け付ける手段(例えば、ファイル作成コマンドラッパー22およびそのコマンド引数)、その設定の内容を、冪等性を保証しつつ、前記システムに反映させる手段(判定部201および改変実行部202)、として機能させるためのプログラムである。
また、システム改変部200は、対象システム400に実装され、対象システム400が備える外部インタフェースを介して、呼び出され実行されるプログラムである。つまり、ユーザが、図2や図3の処理内容を記述したプログラムを作成し、このプログラムを対象システム400上で実行するのではなく、本実施形態の場合、既に図2や図3の処理内容が記述されたシステム改変部200が対象システム400に実装されているので、ユーザは、このシステム改変部200を、外部インタフェースを介して呼び出して実行するプログラムを作成し、これを対象システム400上で実行する。
図7は、本発明の各実施形態における情報処理装置のハードウェア構成の一例を示す図である。
コンピュータ900は、CPU901、主記憶装置902、補助記憶装置903、入出力インタフェース904、通信インタフェース905を備える。上述の情報処理装置100、100aは、コンピュータ900に実装される。そして、上述した各処理部の動作は、プログラムの形式で補助記憶装置903に記憶されている。CPU901は、プログラムを補助記憶装置903から読み出して主記憶装置902に展開し、当該プログラムに従って上記処理を実行する。また、CPU901は、プログラムに従って、記憶領域を主記憶装置902に確保する。また、CPU901は、プログラムに従って、処理中のデータを記憶する記憶領域を補助記憶装置903に確保する。
なお、少なくとも1つの実施形態において、補助記憶装置903は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、入出力インタフェース904を介して接続される磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ900に配信される場合、配信を受けたコンピュータ900が当該プログラムを主記憶装置902に展開し、上記処理を実行しても良い。また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置903に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であっても良い。
その他、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
1、1a・・・設定システム
10・・・制御装置
11・・・シェルスクリプト
20・・・OS
21・・・シェル
22・・・ファイル作成コマンドラッパー
221・・・ファイル作成コマンド
23・・・サービス制御コマンドラッパー
231・・・サービス制御コマンド
21a・・・API
22a・・・ポート有効化APIラッパー
221a・・・ポート有効化API
23a・・・通報先追加APIラッパー
231a・・・通報先追加API
100、100a・・・情報処理装置
400・・・対象システム
200・・・システム改変部
300・・・インタフェース部
201・・・判定部
202・・・改変実行部
300・・・インタフェース部
900・・・コンピュータ
901・・・CPU
902・・・主記憶装置
903・・・補助記憶装置
904・・・入出力インタフェース
905・・・通信インタフェース

Claims (9)

  1. 自装置で稼働するシステムについて、冪等性を保証しつつ所望のシステム状態へ改変するシステム改変部、
    を備え
    前記システム改変部は、前記システムが備える標準的なコマンドをラップした実行形式のファイルであって、前記コマンドの実行に必要なコマンド引数を取得し、
    自装置において、前記コマンド引数にて指定されたファイル、サービス、設定内容の何れかが前記システムに存在するかどうかを確認することによって、既に前記システム状態が達成されているか否かを判定し、
    前記システム状態が達成されていないと判定すると、前記コマンドに前記コマンド引数を与えて実行することにより前記システム状態への改変を実行する、
    冪等性保証機能付き情報処理装置。
  2. 前記システム改変部は、
    ファイル名を前記コマンド引数として取得し、
    前記ファイル名のファイルが前記システムに存在するか否かを判定し、前記ファイル名のファイルが存在しない場合、前記コマンド引数を、前記システムの標準的なファイル作成コマンドに与えて実行し、前記ファイル名のファイルが既に存在する場合、正常終了を示す終了コードを返却する、
    を備える請求項1に記載の冪等性保証機能付き情報処理装置。
  3. 前記システム改変部は、
    サービス名と前記サービス名が示すサービスの目標状態を前記コマンド引数として取得し、
    前記目標状態の前記サービスが前記システムに存在するか否かを判定し、前記サービスが存在しない場合、又は、前記サービスは存在するが、前記目標状態とは異なる場合、前記コマンド引数を、前記システムの標準的なサービス制御コマンドに与えて実行し、前記目標状態の前記サービスが既に存在する場合、正常終了を示す終了コードを返却する、
    請求項1または請求項2に記載の冪等性保証機能付き情報処理装置。
  4. 前記システム改変部は、
    ポート番号を前記コマンド引数として取得し、
    前記ポート番号が前記システムにおいて有効かどうかを判定し、前記ポート番号が有効ではない場合、前記コマンド引数を、前記システムの標準的なポート有効化コマンドに与えて実行し、前記ポート番号が既に有効な場合、正常終了を示す終了コードを返却する、
    請求項1から請求項3の何れか1項に記載の冪等性保証機能付き情報処理装置。
  5. 前記システム改変部は、
    通報先のアドレスを前記コマンド引数として取得し、
    前記通報先のアドレスが前記システムにおいて設定されているかどうかを判定し、前記通報先のアドレスが設定されていない場合、前記コマンド引数を、前記システムの標準的な通報先追加コマンドに与えて実行し、前記通報先のアドレスが既に設定されている場合、正常終了を示す終了コードを返却する、
    請求項1から請求項4の何れか1項に記載の冪等性保証機能付き情報処理装置。
  6. 前記システム改変部は、
    追加すべきユーザ名、ファイルやディレクトリと前記ファイルや前記ディレクトリへ設定する権限、作成するディレクトリ名、の何れかを前記コマンド引数として取得し、
    前記ユーザ名を取得した場合、前記ユーザ名が示すユーザが前記システムにおいて設定されているかどうかを判定し、前記ユーザが設定されていない場合、前記コマンド引数を、前記システムの標準的なユーザ追加マンドに与えて実行し、前記ユーザが既に設定されている場合、正常終了を示す終了コードを返却し、
    前記ファイルや前記ディレクトリと前記権限を取得した場合、前記ファイルや前記ディレクトリに前記権限が設定されているかどうかを判定し、前記権限が設定されていない場合、前記コマンド引数を、前記システムの標準的な権限設定コマンドに与えて実行し、前記権限が既に設定されている場合、正常終了を示す終了コードを返却し、
    前記ディレクトリ名を取得した場合、前記ディレクトリ名が示すディレクトリが前記システムに存在するかどうかを判定し、存在しない場合、前記コマンド引数を、前記システムの標準的なディレクトリ作成コマンドに与えて実行し、前記ディレクトリが既に存在する場合、正常終了を示す終了コードを返却する、
    請求項1から請求項5の何れか1項に記載の冪等性保証機能付き情報処理装置。
  7. 前記システムは、OS、ミドルウェア、アプリケーションの何れかである、
    請求項1から請求項6の何れか1項に記載の冪等性保証機能付き情報処理装置。
  8. 情報処理装置で稼働するシステムについて、冪等性を保証しつつ所望のシステム状態へ改変するシステム改変手段を、前記システムが備える標準的なコマンドをラップした実行形式のファイルとして、前記システムに実装するステップと、
    前記システム改変手段に前記コマンドの実行に必要なコマンド引数を与えて実行することにより、前記システムの状態を改変するステップと、
    を有し、
    前記改変するステップでは、
    前記システム改変手段が前記コマンド引数を取得し、
    前記コマンド引数にて指定されたファイル、サービス、設定内容の何れかが前記システムに存在するかどうかを確認することによって、既に前記システム状態が達成されているか否かを判定し、
    前記システム状態が達成されていないと判定すると、前記コマンドに前記コマンド引数を与えて実行することにより前記システム状態への改変を実行する、
    システム設定方法。
  9. コンピュータで稼働するシステムを、冪等性を保証しつつ所望のシステム状態へ改変するための、前記システムが備える標準的なコマンドをラップした前記コマンドの実行に必要なコマンド引数を与えて実行するプログラムであって、
    前記コンピュータに、
    前記コマンド引数を取得し、
    前記コマンド引数にて指定されたファイル、サービス、設定内容の何れかが前記システムに存在するかどうかを確認することによって、既に前記システム状態が達成されているか否かを判定し、
    前記システム状態が達成されていないと判定すると、前記コマンドに前記コマンド引数を与えて実行することにより前記システム状態への改変を実行する処理、
    を実行させるプログラム。
JP2018061308A 2018-03-28 2018-03-28 冪等性保証機能付き情報処理装置、システム設定方法及びプログラム Active JP7127326B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018061308A JP7127326B2 (ja) 2018-03-28 2018-03-28 冪等性保証機能付き情報処理装置、システム設定方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018061308A JP7127326B2 (ja) 2018-03-28 2018-03-28 冪等性保証機能付き情報処理装置、システム設定方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019175039A JP2019175039A (ja) 2019-10-10
JP7127326B2 true JP7127326B2 (ja) 2022-08-30

Family

ID=68166970

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018061308A Active JP7127326B2 (ja) 2018-03-28 2018-03-28 冪等性保証機能付き情報処理装置、システム設定方法及びプログラム

Country Status (1)

Country Link
JP (1) JP7127326B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080235683A1 (en) 2007-03-21 2008-09-25 Hewlett Packard Development Co, L.P. Data Processing System And Method
JP4336735B1 (ja) 2008-09-18 2009-09-30 株式会社三菱東京Ufj銀行 サービス処理装置、システム、プログラム及び記録媒体
JP2016027476A (ja) 2011-06-27 2016-02-18 アマゾン・テクノロジーズ・インコーポレーテッド 規模変更可能なデータ記憶サービスを実装するためのシステムおよび方法
US20160232044A1 (en) 2015-02-10 2016-08-11 Red Hat, Inc. Idempotent mode of executing commands triggered by complex event processing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080235683A1 (en) 2007-03-21 2008-09-25 Hewlett Packard Development Co, L.P. Data Processing System And Method
JP4336735B1 (ja) 2008-09-18 2009-09-30 株式会社三菱東京Ufj銀行 サービス処理装置、システム、プログラム及び記録媒体
JP2016027476A (ja) 2011-06-27 2016-02-18 アマゾン・テクノロジーズ・インコーポレーテッド 規模変更可能なデータ記憶サービスを実装するためのシステムおよび方法
US20160232044A1 (en) 2015-02-10 2016-08-11 Red Hat, Inc. Idempotent mode of executing commands triggered by complex event processing

Also Published As

Publication number Publication date
JP2019175039A (ja) 2019-10-10

Similar Documents

Publication Publication Date Title
US10002155B1 (en) Dynamic code loading
CN110462589B (zh) 本地装置协调器中的按需代码执行
US10942724B2 (en) Release lifecycle management system for multi-node application
US20180039507A1 (en) System and method for management of a virtual machine environment
US10466999B2 (en) Software hot upgrading method and device
US11121906B2 (en) Data plane API in a distributed computing network
WO2018099292A1 (zh) 一种进程管理方法及装置
CA2920202A1 (en) Managing configurations of computing terminals
US20150370582A1 (en) At least one user space resident interface between at least one user space resident virtual appliance and at least one virtual data plane
KR102283736B1 (ko) Autosar 기반 응용 소프트웨어의 설정 코드 자동 생성 방법 및 장치
JP2011060035A (ja) アプリケーションデプロイシステム、アプリケーションデプロイ方法及びプログラム
JPWO2014171130A1 (ja) 情報処理システム、配備方法、処理装置、及び、配備装置
US11838296B1 (en) Providing secure software project development environments
JP5159896B2 (ja) プロセス分離実行を通じたdrmクライアント衝突防止システム及び方法
CN116028163A (zh) 一种容器组的动态链接库调度方法、装置及存储介质
CN107636667B (zh) 在设备中创建多个工作空间的系统及方法
Sharma et al. Getting Started with Istio Service Mesh: Manage Microservices in Kubernetes
JP7127326B2 (ja) 冪等性保証機能付き情報処理装置、システム設定方法及びプログラム
CN112470088A (zh) 控制装置
JP6781126B2 (ja) 仮想マシン設定投入システム、仮想マシン設定投入方法、及びプログラム
Sharma et al. Getting Started with Istio Service Mesh
Truyen et al. Run-time and atomic weaving of distributed aspects
JP2007213349A (ja) ホスト機械語コードを展開、実行、監視・制御するプログラム、方法およびシステム
JP2008192058A (ja) ファイルのリモートコピー装置、方法およびプログラム
US20240211246A1 (en) Method and Apparatus for Upgrading Client Software

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220427

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220719

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220801

R151 Written notification of patent or utility model registration

Ref document number: 7127326

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151