JP7127326B2 - 冪等性保証機能付き情報処理装置、システム設定方法及びプログラム - Google Patents
冪等性保証機能付き情報処理装置、システム設定方法及びプログラム Download PDFInfo
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
以下、一実施形態に係る冪等性保証機能付き情報処理装置について図1~図3を参照して説明する。
図1は、本発明の一実施形態による設定システムの一例を示すブロック図である。
図示するように設定システム1は、制御装置10と、情報処理装置100とを含む。制御装置10と情報処理装置100とはネットワークを介して通信可能に接続されている。
本実施形態では、情報処理装置100で稼働するOS(operating system)20を、設定対象のシステム(対象システム)とする。また、OS20の構成管理を行う場面を例として、設定ファイルの配備やサービスの稼働状態について、冪等性を保証しつつ、設定する機能を説明する。
OS20は、情報処理装置100のオペレーティングシステムである。OS20は、冪等性を保証しつつ、OS20を所望のシステム状態とするためのシステム改変手段をユーザに提供する。例えば、OS20は、設定ファイルを作成するためのファイル作成コマンド、サービスの稼働状態を制御するためのサービス制御コマンドなどのシステム改変手段を有している。これらのシステム改変手段は、OS20に備わる標準的なコマンドであるが、これらのコマンドの実行にあたり、冪等性は保証されない。OS20は、これらの標準的なコマンドに冪等性を保証する機能を追加したラッパーを備え、これをユーザに提供する。ファイル作成コマンドラッパー22およびサービス制御コマンドラッパー23は、このようなラッパーの一例である。
シェルスクリプト11には、ファイル名をコマンド引数に指定してファイル作成コマンドラッパー22の実行を指示する命令コードが記載されている。制御装置10は、OS20上でシェルスクリプト11を実行する。すると、シェル21が、ファイル作成コマンドラッパー22を実行する。ファイル作成コマンドラッパー22は、まずコマンド引数で指定されたファイルが存在するか否かを確認する(ステップS11)。コマンド引数で指定されたファイルが既に存在する場合(ステップS11;Yes)、ファイル作成コマンドラッパー22は、正常終了を示す終了コードを返却してファイル作成処理を終了する(ステップS12)。一方、コマンド引数で指定されたファイルが存在しない場合(ステップS11;No)、ファイル作成コマンドラッパー22は、渡されたコマンド引数を指定してファイル作成コマンド221を実行する(ステップS13)。これにより、所望のファイルが作成される。次にファイル作成コマンドラッパー22は、ファイル作成コマンド221の実行の結果出力される終了コードを自身の終了コードとして返却する(ステップS14)。
ファイル作成コマンドラッパー22を用いると、既に存在する設定ファイルの上書きを回避しつつ、確実に設定ファイルを作成し、所望の設定ファイルの配備状態を実現することができる。
シェルスクリプト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を用いると、例えば、サービスを多重起動する等の目標状態と異なるシステム状態となることを回避しつつ、サービスの稼働状態を制御することができる。
図4に、API(Application Programming Interface)を、冪等性保証機能付きのシステム改変手段の外部インタフェースとしてユーザに提供する例を示す。図1と同様の構成については説明を省略する。図示するように設定システム1aは、制御装置10と、情報処理装置100aとを含む。情報処理装置100aは、OS20aと、API21aと、ポート有効化APIラッパー22aと、通報先追加APIラッパー23aとを含んで構成される。情報処理装置100aは、例えば、L2スイッチ等のネットワーク装置である。
ポート有効化APIラッパー22aを用いることにより、冪等性を保証しつつ、通信ポートの設定を行うことができる。
通報先追加APIラッパー23aを用いることにより、冪等性を保証しつつ、通報先の追加を行うことができる。
図5に示すように情報処理装置100は、少なくともシステム改変部200を備える。
ここで、情報処理装置100は、サーバ、通信装置、ストレージ装置などコンピュータを備え、そのコンピュータ上で稼働するシステムの設定を必要とする装置である。システム改変部200は、情報処理装置100で稼働するシステムについて、冪等性を保証しつつ所望のシステム状態(目標状態)へ改変する機能を有する。システム改変部200は、例えば、上記実施形態のファイル作成コマンドラッパー22、サービス制御コマンドラッパー23、ポート有効化APIラッパー22a、通報先追加APIラッパー23a等である。システム改変部200は、実行指示を受けると、実際に改変が必要か否かを自らチェックし、改変が必要な場合にのみ改変を行う。これにより、当該システム設定における冪等性が保証される。なお、システム状態には、設定ファイル、ディレクトリ構成、インストールされたモジュール、接続されているハードウェア等のリソース構成、プロセスやサービスなどの稼働状態、他装置との通信状態などを含む。
図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)を用いて、所望のシステム状態を列挙した命令コードを記述したスクリプト等を作成し、これを実行することで、冪等性を保証しながら対象システムの設定を自動化することができる。
コンピュータ900は、CPU901、主記憶装置902、補助記憶装置903、入出力インタフェース904、通信インタフェース905を備える。上述の情報処理装置100、100aは、コンピュータ900に実装される。そして、上述した各処理部の動作は、プログラムの形式で補助記憶装置903に記憶されている。CPU901は、プログラムを補助記憶装置903から読み出して主記憶装置902に展開し、当該プログラムに従って上記処理を実行する。また、CPU901は、プログラムに従って、記憶領域を主記憶装置902に確保する。また、CPU901は、プログラムに従って、処理中のデータを記憶する記憶領域を補助記憶装置903に確保する。
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に記載の冪等性保証機能付き情報処理装置。 - 前記システム改変部は、
サービス名と前記サービス名が示すサービスの目標状態を前記コマンド引数として取得し、
前記目標状態の前記サービスが前記システムに存在するか否かを判定し、前記サービスが存在しない場合、又は、前記サービスは存在するが、前記目標状態とは異なる場合、前記コマンド引数を、前記システムの標準的なサービス制御コマンドに与えて実行し、前記目標状態の前記サービスが既に存在する場合、正常終了を示す終了コードを返却する、
請求項1または請求項2に記載の冪等性保証機能付き情報処理装置。 - 前記システム改変部は、
ポート番号を前記コマンド引数として取得し、
前記ポート番号が前記システムにおいて有効かどうかを判定し、前記ポート番号が有効ではない場合、前記コマンド引数を、前記システムの標準的なポート有効化コマンドに与えて実行し、前記ポート番号が既に有効な場合、正常終了を示す終了コードを返却する、
請求項1から請求項3の何れか1項に記載の冪等性保証機能付き情報処理装置。 - 前記システム改変部は、
通報先のアドレスを前記コマンド引数として取得し、
前記通報先のアドレスが前記システムにおいて設定されているかどうかを判定し、前記通報先のアドレスが設定されていない場合、前記コマンド引数を、前記システムの標準的な通報先追加コマンドに与えて実行し、前記通報先のアドレスが既に設定されている場合、正常終了を示す終了コードを返却する、
請求項1から請求項4の何れか1項に記載の冪等性保証機能付き情報処理装置。 - 前記システム改変部は、
追加すべきユーザ名、ファイルやディレクトリと前記ファイルや前記ディレクトリへ設定する権限、作成するディレクトリ名、の何れかを前記コマンド引数として取得し、
前記ユーザ名を取得した場合、前記ユーザ名が示すユーザが前記システムにおいて設定されているかどうかを判定し、前記ユーザが設定されていない場合、前記コマンド引数を、前記システムの標準的なユーザ追加マンドに与えて実行し、前記ユーザが既に設定されている場合、正常終了を示す終了コードを返却し、
前記ファイルや前記ディレクトリと前記権限を取得した場合、前記ファイルや前記ディレクトリに前記権限が設定されているかどうかを判定し、前記権限が設定されていない場合、前記コマンド引数を、前記システムの標準的な権限設定コマンドに与えて実行し、前記権限が既に設定されている場合、正常終了を示す終了コードを返却し、
前記ディレクトリ名を取得した場合、前記ディレクトリ名が示すディレクトリが前記システムに存在するかどうかを判定し、存在しない場合、前記コマンド引数を、前記システムの標準的なディレクトリ作成コマンドに与えて実行し、前記ディレクトリが既に存在する場合、正常終了を示す終了コードを返却する、
請求項1から請求項5の何れか1項に記載の冪等性保証機能付き情報処理装置。 - 前記システムは、OS、ミドルウェア、アプリケーションの何れかである、
請求項1から請求項6の何れか1項に記載の冪等性保証機能付き情報処理装置。 - 情報処理装置で稼働するシステムについて、冪等性を保証しつつ所望のシステム状態へ改変するシステム改変手段を、前記システムが備える標準的なコマンドをラップした実行形式のファイルとして、前記システムに実装するステップと、
前記システム改変手段に前記コマンドの実行に必要なコマンド引数を与えて実行することにより、前記システムの状態を改変するステップと、
を有し、
前記改変するステップでは、
前記システム改変手段が前記コマンド引数を取得し、
前記コマンド引数にて指定されたファイル、サービス、設定内容の何れかが前記システムに存在するかどうかを確認することによって、既に前記システム状態が達成されているか否かを判定し、
前記システム状態が達成されていないと判定すると、前記コマンドに前記コマンド引数を与えて実行することにより前記システム状態への改変を実行する、
システム設定方法。 - コンピュータで稼働するシステムを、冪等性を保証しつつ所望のシステム状態へ改変するための、前記システムが備える標準的なコマンドをラップした前記コマンドの実行に必要なコマンド引数を与えて実行するプログラムであって、
前記コンピュータに、
前記コマンド引数を取得し、
前記コマンド引数にて指定されたファイル、サービス、設定内容の何れかが前記システムに存在するかどうかを確認することによって、既に前記システム状態が達成されているか否かを判定し、
前記システム状態が達成されていないと判定すると、前記コマンドに前記コマンド引数を与えて実行することにより前記システム状態への改変を実行する処理、
を実行させるプログラム。
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)
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 |
-
2018
- 2018-03-28 JP JP2018061308A patent/JP7127326B2/ja active Active
Patent Citations (4)
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 |