JP2015142167A - 管理装置、管理プログラムおよびネットワーク装置の設定情報管理方法 - Google Patents

管理装置、管理プログラムおよびネットワーク装置の設定情報管理方法 Download PDF

Info

Publication number
JP2015142167A
JP2015142167A JP2014012543A JP2014012543A JP2015142167A JP 2015142167 A JP2015142167 A JP 2015142167A JP 2014012543 A JP2014012543 A JP 2014012543A JP 2014012543 A JP2014012543 A JP 2014012543A JP 2015142167 A JP2015142167 A JP 2015142167A
Authority
JP
Japan
Prior art keywords
setting
generation
setting information
information
tenant
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.)
Pending
Application number
JP2014012543A
Other languages
English (en)
Inventor
圭人 大須賀
Yoshihito Osuga
圭人 大須賀
高村 尚彦
Naohiko Takamura
尚彦 高村
博臣 青柳
Hiroomi Aoyanagi
博臣 青柳
真由子 森田
Mayuko Morita
真由子 森田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014012543A priority Critical patent/JP2015142167A/ja
Priority to US14/531,323 priority patent/US20150215165A1/en
Publication of JP2015142167A publication Critical patent/JP2015142167A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0859Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
    • H04L41/0863Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions by rolling back to previous configuration versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0859Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】あるクライアントによる設定を復元する際に、他のクライアントによる設定を維持すること。【解決手段】記憶部1aは、何れかのクライアントにより更新された設定情報と設定情報の世代と更新を実行したクライアントの識別情報とを対応付けて記憶する。演算部1bは、識別情報CL1のクライアントにより世代G1への復元が指定されると、記憶部1aを参照して、世代G1よりも新しい世代G2,G3,G4の設定情報F2,F3,F4における識別情報CL1のクライアント以外の他のクライアントによる更新内容を検索する。演算部1bは、世代G1に対応する設定情報F1に当該更新内容を反映させた設定情報F1aを生成し、設定情報F1aを用いてネットワーク装置2の設定を行う。【選択図】図1

Description

本発明は管理装置、管理プログラムおよびネットワーク装置の設定情報管理方法に関する。
装置間のデータ転送を制御する種々のネットワーク装置が利用されている。ネットワーク装置は、コンピュータなどの情報処理装置や他のネットワーク装置と接続され、ネットワークを形成する。ネットワーク装置として、例えば、OSI(Open Systems Interconnection)参照モデルの第2層でデータ転送を制御するL2スイッチや、同第3層でデータ転送を制御するL3スイッチおよびルータが考えられる。また、OSI参照モデルの第2層以上のレイヤで用いられる1以上のプロトコルを利用してデータ転送を制御するネットワーク装置もある(例えば、ファイアウォールや負荷分散装置など)。
ネットワーク装置には、データ転送を制御するための設定が行われる。例えば、ユーザは設定内容を示すコマンド(設定コマンド)をネットワーク装置に入力することで所望の設定を行える。複数の設定コマンドを含む設定情報をネットワーク装置に入力することで、ネットワーク装置が保持する設定内容を一括して更新することもある。現設定に対応する設定情報をネットワーク装置から取得し、バックアップとして利用することもある。
ところで、装置の設定を過去の設定に戻すことがある。例えば、装置の設定変更後に、その装置やその装置を含むシステムの動作に異常が生じたとき、その設定を正常時の設定に戻すことで異常から復旧し得る。具体的には、次のような方法が考えられている。
例えば、ネットワーク装置のコンフィグ情報を装置単体だけを対象にして管理するのではなく、複数の装置群を対象としたグループの組み合わせで世代管理し、障害発生時には、安定動作時のコンフィグ情報を装置群単位にまとめて配布する提案がある。
また、情報処理装置に設定された定義情報を現在の世代から前の世代の状態へ復元する際に、復元するための逆差分を生成して情報処理装置内の各サブシステム(プログラム)に通知し、定義情報の復元の可否をサブシステム毎に判定させる提案がある。
更に、仮想マシンの構成情報を記録しておき、その仮想マシンがダウンしたとき、その構成情報を用いて新たに仮想マシンを起動させる提案もある。
特開2010−278742号公報 特開平8−101763号公報 国際公開第2011/117957号
複数のクライアント(例えば、ユーザまたはユーザが利用するコンピュータ)によるネットワーク装置の設定変更を許容することがある。一例として、データセンタ内のコンピュータやネットワーク装置のリソースを複数のユーザに貸し出すサービスを考える。ユーザは、借りたリソースを用いて所望のシステムを実現できる。このとき、1つのネットワーク装置が複数のユーザにより共用され得る。例えば、ネットワーク装置内の通信用の複数のポートの一部をあるユーザに利用させ、他の一部を他のユーザに利用させる。ただし、実現したいネットワーク環境は、ユーザ毎に相違し得る。そこで、例えば、各ユーザが利用するポートの設定について、各ユーザによる設定変更を許容することが考えられる。
しかし、この場合、設定の復元が問題となる。例えば、あるクライアントからの要求により、ネットワーク装置の過去の設定を復元することが考えられる。バックアップとして取得されていた過去の設定情報をネットワーク装置に入力して、過去の設定を復元し得る。ところが、その過去の時点よりも後に、他のクライアントにより設定変更が行われていることがある。このため、単に過去の設定情報をネットワーク装置に入力して設定を戻すと、過去の時点よりも後の他のクライアントによる設定変更が無効になるおそれがある。
1つの側面では、本発明は、あるクライアントによる設定を復元する際に、他のクライアントによる設定を維持できる管理装置、管理プログラムおよびネットワーク装置の設定情報管理方法を提供することを目的とする。
1つの態様では、ネットワーク装置の設定に用いられる設定情報を管理する管理装置が提供される。この管理装置は、記憶部と演算部とを有する。記憶部は、複数のクライアントの何れかにより更新された設定情報と当該設定情報の世代と更新を実行したクライアントの識別情報とを対応付けて記憶する。演算部は、何れかのクライアントにより何れかの世代への復元が指定されると、記憶部を参照して、指定された世代よりも新しい世代の設定情報における他のクライアントによる更新内容を検索し、指定された世代に対応する第1の設定情報に当該更新内容を反映させた第2の設定情報を生成し、第2の設定情報を用いてネットワーク装置の設定を行う。
また、1つの態様では、ネットワーク装置の設定に用いられる設定情報を管理するための管理プログラムが提供される。この管理プログラムは、コンピュータに、複数のクライアントの何れかにより設定情報が更新されると、更新された設定情報と当該設定情報の世代と更新を実行したクライアントの識別情報とを対応付けて取得し、何れかのクライアントにより何れかの世代への復元が指定されると、取得した情報を参照して、指定された世代よりも新しい世代の設定情報における他のクライアントによる更新内容を検索し、指定された世代に対応する第1の設定情報に当該更新内容を反映させた第2の設定情報を生成し、第2の設定情報を用いてネットワーク装置の設定を行う、処理を実行させる。
また、1つの態様では、ネットワーク装置の設定に用いられる設定情報を管理する管理装置により実行されるネットワーク装置の設定情報管理方法が提供される。このネットワーク装置の設定情報管理方法では、管理装置が、複数のクライアントの何れかにより設定情報が更新されると、更新された設定情報と当該設定情報の世代と更新を実行したクライアントの識別情報とを対応付けて取得し、何れかのクライアントにより何れかの世代への復元が指定されると、取得した情報を参照して、指定された世代よりも新しい世代の設定情報における他のクライアントによる更新内容を検索し、指定された世代に対応する第1の設定情報に当該更新内容を反映させた第2の設定情報を生成し、第2の設定情報を用いてネットワーク装置の設定を行う。
1つの側面では、あるクライアントによる設定を復元する際に、他のクライアントによる設定を維持できる。
第1の実施の形態の情報処理システムを示す図である。 第2の実施の形態の情報処理システムを示す図である。 管理サーバのハードウェア例を示す図である。 管理サーバの機能例を示す図である。 設定ファイル群の例を示す図である。 設定ファイルの例を示す図である。 設定ファイルの例(続き)を示す図である。 管理テーブルの例を示す図である。 制約テーブルの例を示す図である。 GUIの例を示す図である。 設定変更処理の例を示すフローチャートである。 復元処理の例を示すフローチャートである。 設定ファイル生成(パターン1)の例を示すフローチャートである。 設定ファイル生成(パターン2)の例を示すフローチャートである。 設定ファイル生成(パターン1)の具体例を示す図である。 設定ファイル生成(パターン1)の具体例(続き)を示す図である。 設定ファイル生成(パターン2)の具体例を示す図である。 設定ファイル生成(パターン2)の具体例(続き)を示す図である。 設定ファイルの他の設定例(その1)を示す図である。 設定ファイルの他の設定例(その2)を示す図である。 ネットワーク装置の例を示す図である。 復元処理の比較例を示す図である。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理システムを示す図である。第1の実施の形態の情報処理システムは、管理装置1、ネットワーク装置2、サーバ3,4および端末装置5,6を含む。管理装置1、ネットワーク装置2および端末装置5,6は、ネットワーク7に接続されている。サーバ3,4は、ネットワーク装置2に接続されている。
管理装置1は、ネットワーク装置2の設定に用いられる設定情報を管理する。設定情報は、ネットワーク装置2に対する設定内容を示す複数のコマンド(設定コマンド)を含む情報である。ネットワーク装置2は、サーバ3,4と端末装置5,6との間の通信を中継する。ネットワーク装置2は、設定情報の変更をユーザ単位に管理する機能を有していない。ネットワーク装置2は、現在の自身の設定情報を1つのファイルとして保持する。サーバ3,4は、所定のアプリケーションによるサービスを提供するサーバコンピュータである。端末装置5,6は、ユーザによって操作されるクライアントコンピュータである。
サーバ3は、端末装置5を操作するユーザにより利用される。サーバ4は、端末装置6を操作するユーザにより利用される。サーバ3,4はネットワーク装置2の配下にある。このため、ネットワーク装置2は端末装置5,6を操作する各ユーザにより共用される。端末装置5,6を操作する各ユーザは、管理装置1を介してネットワーク装置2の設定を行える。このため、ネットワーク装置2の設定情報には、複数のユーザの設定内容が混在することになる。
管理装置1は、端末装置5,6を操作する各ユーザによるネットワーク装置2の設定変更を許容する。例えば、管理装置1は、端末装置5を操作するユーザによる、ネットワーク装置2のサーバ3に繋がる通信インタフェース(通信用のポート)の設定変更を許容する。また、例えば管理装置1は、端末装置6を操作するユーザによる、ネットワーク装置2のサーバ4に繋がるポートの設定変更を許容する。管理装置1は、あるユーザが行った設定を他のユーザからは変更できないように制御する。
例えば、管理装置1、ネットワーク装置2、サーバ3,4およびネットワーク7をデータセンタに設けてもよい。端末装置5,6は、インターネットなどを介して、データセンタ内のネットワーク7にアクセスしてもよい。例えば、データセンタに設けられたコンピュータやネットワークのリソースを、複数のユーザに貸し出すというサービスが考えられる。このサービスを利用するユーザは、自身でコンピュータやネットワークなどを用意しなくても、データセンタ内の借りたリソースを用いて所望のシステムを実現し得る。なお、ユーザまたは当該ユーザが操作する端末装置をクライアントということがある。ただし、クライアントは、サーバコンピュータなどの他の装置でもよい。
管理装置1は、記憶部1aおよび演算部1bを有する。記憶部1aは、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。演算部1bは、例えば、プロセッサを含む。プロセッサは、CPU(Central Processing Unit)やDSP(Digital Signal Processor)でもよいし、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路でもよい。また、プロセッサは、複数のプロセッサの集合(マルチプロセッサ)でもよい。プロセッサは、例えば、記憶部1aに記憶されたプログラムを実行するものでもよい。
記憶部1aは、複数のクライアントの何れかにより更新された設定情報と当該設定情報の世代と更新したクライアントの識別情報とを対応付けて記憶する。クライアントの識別情報は、ユーザの識別情報でもよいし、ユーザが操作する端末装置の識別情報でもよい。
演算部1bは、何れかのクライアントにより設定情報が更新されると、更新された設定情報と当該設定情報の世代と更新を実行したクライアントの識別情報とを対応付けて取得し、記憶部1aに格納する。例えば、演算部1bは、更新された設定情報をネットワーク装置2から取得する。より具体的には、設定情報はネットワーク装置2において1つのファイルとして管理されている。演算部1bは、その設定情報のファイルをネットワーク装置2から取得する。そして、演算部1bは、更新された設定情報と設定情報の世代とクライアントの識別情報との対応関係を示す情報8を生成して記憶部1aに格納する。
演算部1bが、端末装置5,6から設定変更の指示を受信し、その指示に応じてネットワーク装置2の設定を変更してもよい。例えば、演算部1bは、端末装置5,6からの設定変更の指示に応じた設定コマンドを生成し、ネットワーク装置2に入力することで、ネットワーク装置2の設定を変更してもよい。その場合、演算部1bは、更新後の設定情報をネットワーク装置2から取得する。あるいは、演算部1bは、端末装置5,6からの設定変更の指示に応じて、ネットワーク装置2の現在の設定情報を書き換え、ネットワーク装置2に書き換え後の設定情報を入力することで、ネットワーク装置2の設定を変更してもよい。演算部1bは、ネットワーク装置2に設定情報を入力することで、その設定情報を取得した時点のネットワーク装置2の設定を一括して復元できる。
端末装置5からの指示で設定変更を行ったなら、更新後の設定情報は、端末装置5または端末装置5を操作するユーザにより更新されたものといえる。端末装置6からの指示で設定変更を行ったなら、更新後の設定情報は、端末装置6または端末装置6を操作するユーザにより更新されたものといえる。ここで、端末装置5または端末装置5を操作するユーザの識別情報を識別情報CL1とする。端末装置6または端末装置6を操作するユーザの識別情報を識別情報CL2とする。
例えば、演算部1bは、端末装置5からの指示に応じてネットワーク装置2の設定を変更する。すると、更新後の設定情報F1と設定情報F1の世代G1と更新を行ったクライアントの識別情報CL1とを対応付けて取得し、記憶部1aに格納する。
続いて、演算部1bは、端末装置5からの指示に応じてネットワーク装置2の設定を変更する。すると、更新後の設定情報F2と設定情報F2の世代G2と更新を行ったクライアントの識別情報CL1とを対応付けて取得し、記憶部1aに格納する。
続いて、演算部1bは、端末装置6からの指示に応じてネットワーク装置2の設定を変更する。すると、更新後の設定情報F3と設定情報F3の世代G3と更新を行ったクライアントの識別情報CL2とを対応付けて取得し、記憶部1aに格納する。
更に、演算部1bは、端末装置5からの指示に応じてネットワーク装置2の設定を変更する。すると、更新後の設定情報F4と設定情報F4の世代G4と更新を行ったクライアントの識別情報CL1とを対応付けて取得し、記憶部1aに格納する。例えば、情報8には、このようにして取得された対応関係が順次登録される。
世代として、設定情報の新旧を判別できる情報を用いることが考えられる。例えば、世代はタイムスタンプでもよいし、バージョンを示す数値や文字列などでもよい。設定情報の新旧を判別できれば、設定情報の識別子(例えば、ファイル名)でもよい。上記の例では、世代G1が最も古く、世代G4が最も新しい。世代G2は、世代G1よりも新しく、世代G3よりも古い。世代G3は、世代G2よりも新しく、世代G4よりも古い。
また、演算部1bは、何れの端末装置から設定変更の指示を受信したかに応じてクライアントの識別情報を判別してもよい。または、演算部1bは、クライアントの識別情報が設定変更の指示に含まれていれば、それを取得してもよい。
演算部1bは、何れかのクライアントにより何れかの世代への復元が指定されると、取得した情報(記憶部1aに記憶された情報)を参照して、指定された世代よりも新しい世代の設定情報における他のクライアントによる更新内容を検索する。
例えば、演算部1bは、端末装置5により世代G1への復元が指定される。演算部1bは、世代G1とともに、クライアントの識別情報CL1の指定を受け付けてもよい。例えば、識別情報CL1に対応するユーザが過去の世代G1の設定を復元したいこともある。その場合、当該ユーザは、端末装置5を操作して、ネットワーク装置2の設定を復元する指示を管理装置1に送信できる。
すると、演算部1bは、指定された世代G1よりも新しい(世代G1よりも後の)世代G2,G3,G4の設定情報F2,F3,F4における他のクライアント(識別情報CL1のクライアント以外のクライアント)による更新内容を検索する。上記の例でいえば、設定情報F3は、識別情報CL2のクライアントの設定変更によるものである。よって、演算部1bは、設定情報F3での更新内容を取得する。例えば、演算部1bは、設定情報F2,F3を比較し、設定情報F2に対する設定情報F3の差分を検出することで、識別情報CL2のクライアントによる世代G3における更新内容を取得できる。更新内容としては、設定コマンドの追加、更新、削除が考えられる。
演算部1bは、指定された世代に対応する第1の設定情報に、検索した更新内容を反映させた第2の設定情報を生成し、第2の設定情報を用いてネットワーク装置2の設定を行う。このとき、演算部1bは、世代の指定元のクライアントによる更新内容を第2の設定情報に反映させない。
例えば、演算部1bは、指定された世代G1に対応する設定情報F1に、識別情報CL2のクライアントによる更新内容を反映させ、識別情報CL1のクライアントによる更新内容を反映させずに、設定情報F1aを生成する。具体的には、上記検索により、識別情報CL2のクライアントにより追加された設定コマンドがあれば、その設定コマンドを設定情報F1に追加する。更新された設定コマンドがあれば、設定情報F1に含まれるその設定コマンドを同様に更新する。削除された設定コマンドがあれば、その設定コマンドを設定情報F1から削除する。識別情報CL2のクライアントによる複数の更新内容があれば、古い世代の更新内容から順番に、設定情報F1に反映させる。
そして、演算部1bは、生成した設定情報F1aを用いてネットワーク装置2の設定を行う。例えば、演算部1bは、設定情報F1aをネットワーク装置2に入力し、設定情報F1aに含まれる設定コマンドをネットワーク装置2に実行させることで、ネットワーク装置2の設定を行える。
管理装置1によれば、何れかのクライアントにより何れかの世代への復元が指定されると、演算部1bにより、記憶部1aが参照されて、指定された世代よりも新しい世代の設定情報における他のクライアントによる更新内容が検索される。演算部1bにより、指定された世代に対応する第1の設定情報に当該更新内容を反映させた第2の設定情報が生成される。演算部1bにより、第2の設定情報を用いてネットワーク装置2の設定が行われる。これにより、あるクライアントによる設定を復元する際に、他のクライアントによる設定を維持できる。具体的には次の通りである。
例えば、識別情報CL1のクライアントからの要求により、ネットワーク装置2の過去の世代G1の設定を復元する際に、設定情報F1をネットワーク装置2に入力して、世代G1の設定を復元することも考えられる。ところが、上記の例では、設定情報F1の世代G1よりも新しい世代G3において、識別情報CL2のクライアントによりネットワーク装置2の設定変更が行われている。このため、ネットワーク装置2に設定情報F1を入力して設定を戻すと、世代G3に対応する設定変更が無かったことになってしまう。すなわち、識別情報CL2のクライアントによる世代G3の設定内容がネットワーク装置2から消されてしまう。ネットワーク装置2の設定が端末装置6を操作するユーザの意図する動作と異なると、当該ユーザによるサーバ4の利用に支障を来すおそれもある。
一方、世代G3の設定情報F3をネットワーク装置2に入力することで、ネットワーク装置2の設定を復元することも考えられる。識別情報CL2のクライアントによる設定を維持できるからである。しかし、設定情報F3には識別情報CL1のクライアントによる世代G2の設定変更が反映されている。このため、設定情報F3をネットワーク装置2に入力しても、要求された設定(世代G1の設定)を復元できない。
このように、記憶部1aにバックアップとして取得された設定情報F1,F2,F3,F4の何れをネットワーク装置2に入力しても、識別情報CL1のクライアントによる設定に限定して世代G1の設定に戻すのは困難である。
そこで、管理装置1では、上記のように設定情報F1aを生成する。設定情報F1aは、識別情報CL1のクライアントによる世代G1に対応する設定を含み、識別情報CL2のクライアントによる世代G3に対応する設定も含む。よって、設定情報F1aをネットワーク装置2に入力して設定すれば、識別情報CL1のクライアントにとっては世代G1の時点の設定が復元されたことになり、識別情報CL2のクライアントにとっては世代G3の時点の設定が維持されたことになる。このようにして、管理装置1は、あるクライアントによる設定を復元する際に、他のクライアントによる設定を維持できる。
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、管理サーバ100、L2スイッチ200、サーバ300,300a,300b、端末装置400およびルータ500を含む。管理サーバ100、L2スイッチ200、サーバ300,300a,300b、端末装置400およびルータ500は、データセンタ内に設けられ、ネットワーク10に接続されている。
ネットワーク10は、データセンタ内のLAN(Local Area Network)である。サーバ300,300a,300bはL2スイッチ200に接続されている。ルータ500は、ネットワーク20にも接続されている。ネットワーク20は、WAN(Wide Area Network)やインターネットなどの広域ネットワークである。
ここで、この情報処理システムを運用する事業者は、データセンタ内のサーバコンピュータやネットワーク装置のリソースを複数のユーザに貸し出す。借主であるユーザを、テナントと呼ぶことがある。テナントは、例えば、企業や企業内部署などの組織であってもよいし、個人であってもよい。各テナントは、自身が保有する端末装置を用いて、ネットワーク20を介してネットワーク10にアクセスし、データセンタ内のサーバコンピュータやネットワーク装置を利用し得る。このようなコンピュータの利用形態を、クラウドコンピューティングと呼ぶこともある。
また、第2の実施の形態では、ネットワーク装置として、設定ファイルの変更をテナント単位に管理する機能をもたないものを想定する。ここで、設定ファイルは、ネットワーク装置に対する設定内容を示すコマンド(設定コマンド)を含む情報である。設定ファイルは、コンフィグ情報と呼ばれることもある。
ネットワーク20には、端末装置21,22が接続されている。端末装置21は、テナントAにより利用されるクライアントコンピュータである。端末装置22は、テナントBにより利用されるクライアントコンピュータである。テナントまたは当該テナントが利用する端末装置を、クライアントということができる。テナントA,Bは、L2スイッチ200およびサーバ300,300a,300bのリソースの割り当てを受けており、各装置のリソースの少なくとも一部を利用することができる。
例えば、L2スイッチ200のリソースとしては、L2スイッチ200が有する通信用のインタフェース(通信用のポート)が考えられる。また、例えば、サーバ300,300a,300bのリソースとしては、サーバ300,300a,300bが有するプロセッサやRAMが考えられる。あるいは、サーバ300,300a,300bのリソースを用いて複数の仮想マシンを動作させ、テナントA,Bへのリソースの割り当てを、仮想マシン単位に行うこともある。テナントA,Bは、自身でサーバコンピュータやネットワークを用意しなくても、借りたリソースを用いて所望のシステムを実現できる。
管理サーバ100は、テナントA,BによるL2スイッチ200およびサーバ300,300a,300bに対する設定変更を管理するサーバコンピュータである。管理サーバ100は、テナントA,Bや情報処理システムの管理者に運用管理用のGUI(Graphical User Interface)を提供する。例えば、管理サーバ100は、Webサーバ機能を有し、端末装置21,22,400で動作するWebブラウザに対して、当該GUIを提供することが考えられる。
L2スイッチ200は、テナントA,Bによって共用されるネットワーク装置である。L2スイッチ200は複数のポートを含む。複数のポートの一部はテナントAに割り当てられ、他の一部はテナントBに割り当てられる。テナントA,Bは、端末装置21,22を用いて管理サーバ100にログインし、管理サーバ100が提供するGUIを利用できる。例えば、テナントA,Bは、そのGUIを操作し、実現したいネットワーク環境に応じて、L2スイッチ200の設定を変更できる。
サーバ300,300a,300bは、テナントA,Bによって利用されるサーバコンピュータである。例えば、テナントA,Bは、サーバ300,300a,300b(あるいは、サーバ300,300a,300b上で動作する仮想マシン)に所定のアプリケーションをインストールして、利用することができる。サーバ300,300a,300bのリソースの割り当て管理やアプリケーションのインストールの管理などは、管理サーバ100により行われてもよい。
端末装置400は、情報処理システムを管理する管理者により利用されるクライアントコンピュータである。管理者は、端末装置400を用いて管理サーバ100にログインし、管理サーバ100が提供するGUIを利用できる。例えば、管理者は、そのGUIを操作し、L2スイッチ200に対する所定の設定を行える。
ルータ500は、ネットワーク10,20を接続するネットワーク装置である。ここで、管理サーバ100は、第1の実施の形態における管理装置1の一例である。また、L2スイッチ200は、第1の実施の形態におけるネットワーク装置2の一例である。
図3は、管理サーバのハードウェア例を示す図である。管理サーバ100は、プロセッサ101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、読み取り装置106、通信インタフェース107を有する。各ユニットが管理サーバ100のバスに接続されている。
プロセッサ101は、管理サーバ100全体を制御する。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ101は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
RAM102は、管理サーバ100の主記憶装置である。RAM102は、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
HDD103は、管理サーバ100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。管理サーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
画像信号処理部104は、プロセッサ101からの命令に従って、管理サーバ100に接続されたディスプレイ11に画像を出力する。ディスプレイ11としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機EL(Electro-Luminescence)ディスプレイなど各種のディスプレイを用いることができる。
入力信号処理部105は、管理サーバ100に接続された入力デバイス12から入力信号を取得し、プロセッサ101に出力する。入力デバイス12としては、マウスやタッチパネルなどのポインティングデバイスやキーボードなどの各種の入力デバイスを用いることができる。管理サーバ100には、複数の種類の入力デバイスが接続されてもよい。
読み取り装置106は、記録媒体13に記録されたプログラムやデータを読み取る装置である。記録媒体13として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体13として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。読み取り装置106は、例えば、プロセッサ101からの命令に従って、記録媒体13から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
通信インタフェース107は、ネットワーク10を介して他の装置(端末装置21,22,400やL2スイッチ200など)と通信を行う。通信インタフェース107は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。
図4は、管理サーバの機能例を示す図である。管理サーバ100は、記憶部110、要求受信部120、設定処理部130および復元部140を有する。記憶部110は、HDD103に確保された記憶領域を用いて実現できる。要求受信部120、設定処理部130および復元部140は、プロセッサ101によって実行されるプログラムのモジュールであってもよい。
記憶部110は、各部の処理に用いられる情報を記憶する。記憶部110に記憶される情報は、設定ファイル群、管理テーブルの情報および制約テーブルの情報を含む。
記憶領域111に記憶された設定ファイル群は、L2スイッチ200の設定内容を示す設定ファイルの集合である。記憶領域112に記憶された管理テーブルは、設定ファイル群の世代管理に用いられる情報である。記憶領域113に記憶された制約テーブルは、L2スイッチ200の設定に対する制約を示す情報である。
ここで、記憶部110は、管理サーバ100による設定対象のネットワーク装置毎に設定ファイル群、管理テーブルおよび制約テーブルの情報を記憶してもよい。例えば、L2スイッチ200以外のネットワーク装置も設定対象とするなら、記憶部110は、そのネットワーク装置に関する設定ファイル群、管理テーブルおよび制約テーブルの情報も記憶する。
要求受信部120は、L2スイッチ200に対して設定を行う要求(設定要求)やL2スイッチ200の設定を復元する要求(復元要求)を、端末装置21,22,400から受信する。要求受信部120は、L2スイッチ200の設定要求を受信すると、その設定要求に応じたL2スイッチ200の設定変更を設定処理部130に指示する。設定要求は、要求元のテナントの識別情報(テナントID(IDentifier))および設定変更の内容を含む。ここで、テナントIDは、テナント自体を識別するIDでもよいし、そのテナントが利用する端末装置の識別情報でもよい。
要求受信部120は、L2スイッチ200に対する復元要求を受信すると、復元処理の実行を復元部140に指示する。復元要求は、要求元のテナントIDと復元先の世代とを含む。
設定処理部130は、設定要求に応じて、L2スイッチ200の設定を変更する。具体的には、設定処理部130は、指定された設定変更の内容に応じた設定コマンドを生成し、L2スイッチ200に入力する。例えば、設定処理部130は、Telnet(Telecommunication network)やSSH(Secure SHell)などのプロトコルを用いて設定コマンドをL2スイッチ200に入力してもよい。すると、その設定コマンドがL2スイッチ200により実行され、L2スイッチ200の設定が変更される。
設定処理部130は、L2スイッチ200の設定変更を行うと、バックアップとして変更後の設定ファイルをL2スイッチ200から取得する。設定処理部130は、L2スイッチ200の設定変更を行うたびに設定ファイルを取得してもよいし、設定変更が複数回行われるたびに設定ファイルを取得してもよい。設定処理部130は、例えば、FTP(File Transfer Protocol)、TFTP(Trivial FTP)およびSCP(Secure CoPy)などのプロトコルを用いて設定ファイルをL2スイッチ200から取得してもよい。
設定処理部130は、取得した設定ファイルを記憶部110に格納する(設定ファイル群に追加する)。設定処理部130は、新たに格納した設定ファイルのファイル名と世代と設定要求元のテナントIDとの対応関係を管理テーブルに登録する。
復元部140は、復元要求に応じて、L2スイッチ200の設定を指定された世代の設定に復元する。復元をロールバックということもできる。具体的には、復元部140は、復元要求で指定された世代よりも新しい世代の設定ファイルにおける、復元要求元以外のテナントまたは管理者による更新内容を検索する。復元部140は、指定された世代に対応する設定ファイルに当該更新内容を反映させた設定復元用の設定ファイルを生成する。復元部140は、生成した設定ファイルをL2スイッチ200に入力することで、L2スイッチ200の設定を行う。復元部140は、例えばFTP、TFTPおよびSCPなどのプロトコルを用いて、生成した設定ファイルをL2スイッチ200に入力してもよい。
このとき、復元部140は、制約テーブルを参照して、新たに生成された設定ファイルが、L2スイッチ200に対する設定の制約を満たしているかを検査する。満たしていれば、当該設定ファイルをL2スイッチ200に入力する。満たしていなければ、復元要求を行ったテナントに、設定エラーを通知する。
ここで、L2スイッチ200は、設定ファイルが入力されると、設定ファイルに含まれる設定コマンドを実行し、自身が備えるRAMに保持された設定内容を一括して更新する。また、例えば、L2スイッチ200は、自身が備える不揮発性メモリ(NVRAM:Non Volatile RAM)に設定ファイルを書き込み、設定ファイルのRAMへのリロード時や再電源オン時のコンフィギュレーションに利用する。設定処理部130は、これらの処理を行うための所定のコマンドを設定ファイルとともにL2スイッチ200に入力してもよい。過去の設定ファイルを記憶部110に保存しておけば、当該設定ファイルを用いてL2スイッチ200の過去の設定を復元できる。このため、設定ファイル群に含まれる設定ファイルをバックアップファイルということができる。
図5は、設定ファイル群の例を示す図である。設定ファイル群111aは、L2スイッチ200に関する設定ファイルf10,f11,f12,f13,f14,f15を含む。設定ファイルf10,f11,f12,f13,f14,f15の順に新しい世代となる。設定ファイルf15は、この時点で最新の世代の設定ファイルである。設定ファイルf10よりも古い世代(前の世代)の設定ファイルについては図示を省略している。
ここで、設定ファイルf10のファイル名は“ConfigK”である。“Config”の文字列の後の“K”は、世代に対応している。例えば、設定ファイルf10は、設定c0を含む。ここで、設定c0は、1以上の設定コマンドを示す。設定c1は、設定ファイルf10に対する1以上の設定コマンドの追加、更新、削除といった差分の設定内容を示す。以降の設定c2,c3,c4,c5も設定c1と同様に直前の設定ファイルからの差分の設定内容を示す。
設定ファイルf11のファイル名は“ConfigK+1”である。“K+1”の文字列は、“ConfigK”の世代Kよりも1つ後の世代の設定ファイルであることを示す。以下に示す“K+2”(世代Kよりも2つ後の世代)、“K+3”(世代Kよりも3つ後の世代)なども同様である。例えば、設定ファイルf11は、設定ファイルf10に対して設定c1の差分がある。
設定ファイルf12のファイル名は“ConfigK+2”である。設定ファイルf12は、設定ファイルf11に対して設定c2の差分がある。設定ファイルf13のファイル名は“ConfigK+3”である。設定ファイルf13は、設定ファイルf12に対して設定c3の差分がある。設定ファイルf14のファイル名は“ConfigK+4”である。設定ファイルf14は、設定ファイルf13に対して設定c4の差分がある。設定ファイルf15のファイル名は“ConfigK+5”である。設定ファイルf15は、設定ファイルf14に対して設定c5の差分がある。
図6は、設定ファイルの例を示す図である。図6では、設定ファイルf10を例示している。図6で示した設定ファイルf10の設定内容を、図5で例示した設定c0と考えてもよい。以下、設定ファイルf10の設定内容を、図6に示した行番号で示す。例えば、テナントA,Bおよび管理者によるL2スイッチ200の設定変更に応じて、L2スイッチ200の設定ファイルは次のように変更される。
20時に、13行目〜17行目までの設定がテナントAにより削除される。この設定は、テナントAに割り当てられた所定のポートに対するVLAN(Virtual LAN)インタフェースの削除である。この設定は、図5で例示した設定c1(設定ファイルf10に対する設定ファイルf11の差分)に相当する。設定ファイルf11は、設定ファイルf10から当該削除を行った後に相当する。
21時に、テナントBにより32行目〜34行目に設定が追加される。この設定は、テナントBに割り当てられた所定のポートに対するVLANインタフェースの追加である。この設定は、図5で例示した設定c2(設定ファイルf11に対する設定ファイルf12の差分)に相当する。設定ファイルf12は、設定ファイルf11に当該追加を行った後に相当する。
22時に、テナントAにより20行目の設定が更新される。この設定は、テナントAのVLANインタフェースにおけるIP(Internet Protocol)アドレスの更新である。この設定は、図5で例示した設定c3(設定ファイルf12に対する設定ファイルf13の差分)に相当する。設定ファイルf13は、設定ファイルf12に当該更新を行った後に相当する。
23時に、管理者により4行目の設定が更新される。この設定は、L2スイッチ200に対して設定されていたパスワードの更新である。この設定は、図5で例示した設定c4(設定ファイルf13に対する設定ファイルf14の差分)に相当する。設定ファイルf14は、設定ファイルf13に当該更新を行った後に相当する。
24時に、テナントAにより23行目〜25行目の設定が追加される。この設定は、テナントAに割り当てられた所定のポートに対するVLANインタフェースの追加である。この設定は、図5で例示した設定c5(設定ファイルf14に対する設定ファイルf15の差分)に相当する。設定ファイルf15は、設定ファイルf14に当該追加を行った後に相当する。
図7は、設定ファイルの例(続き)を示す図である。図7では、設定ファイルf15を例示している。図6で説明したように、設定ファイルf15は、設定ファイルf10に対して設定c1,c2,c3,c4,c5が行われた後の設定ファイルである。
図8は、管理テーブルの例を示す図である。管理テーブル112aは、世代、設定ファイル名およびテナントIDの項目を含む。世代の項目には、設定ファイルの世代が登録される。ここでは、一例として、数値を世代として用いる。世代の数値が小さい程古く、世代の数値が大きい程新しい。ただし、タイムスタンプなど、新旧を区別できる他の情報を世代として用いてもよい。設定ファイル名の項目には、設定ファイルのファイル名が登録される。テナントIDの項目には、テナントIDが登録される。ただし、テナントIDの項目には、デフォルトの設定(情報処理システムの運用開始直後の初期設定)であることを示す“default”や、管理者による設定変更が行われたことを示す“Command”といった情報が登録されることもある。
例えば、管理テーブル112aには、世代が“0”、設定ファイル名が“Config0”、テナントIDが“default”という情報が登録されている。これは、ファイル名“Config0”で示される設定ファイルが、デフォルトの設定であることを示す。デフォルトの設定を記憶しておくことで、次の世代の変更部分を抽出可能となる。
また、管理テーブル112aには、世代が“K”、設定ファイル名が“ConfigK”、テナントIDが“TenantA”(テナントAのテナントID)という情報が登録されている。これは、世代Kの設定ファイルf10のファイル名が“ConfigK”であり、設定ファイルf10が、テナントAによる設定変更に伴って取得されたものであることを示す。
また、管理テーブル112aには、世代が“K+2”、設定ファイル名が“ConfigK+2”、テナントIDが“TenantB”(テナントBのテナントID)という情報が登録されている。これは、世代K+2の設定ファイルf12のファイル名が“ConfigK+2”であり、設定ファイルf12が、テナントBによる設定変更に伴って取得されたものであることを示す。
また、管理テーブル112aには、世代が“K+4”、設定ファイル名が“ConfigK+4”、テナントIDが“Command”という情報が登録されている。これは、世代K+4の設定ファイルf14のファイル名が“ConfigK+4”であり、設定ファイルf14が、管理者による設定変更に伴って取得されたものであることを示す。管理テーブル112aには、他の設定ファイルに関する情報も同様に登録される。
図9は、制約テーブルの例を示す図である。制約テーブル113aは、設定項目および内容の項目を含む。設定項目の項目には、制約の存在する設定項目の名称が登録される。内容の項目には制約の内容が登録される。
例えば、制約テーブル113aには、設定項目が“SNMP(Simple Network Management Protocol)エージェント”、内容が“マネージャ指定の上限4”という情報が登録されている。これは、L2スイッチ200で動作するSNMPエージェントに対して、SNMPトラップなどの送信先となるSNMPマネージャを指定する際に、指定可能なSNMPマネージャの数の上限が4であることを示す。
制約テーブル113aには、これ以外にも、ネットワーク装置に応じた種々の制約を登録できる。例えば、テナントに利用させるIPアドレスやVLANインタフェースの数などを制限する場合には、テナント毎のIPアドレスやVLANインタフェースの上限数を制約テーブル113aに登録することも考えられる。
図10は、GUIの例を示す図である。GUI30は、管理サーバ100により端末装置21,22,400に提供される。ただし、図10では、テナントAがL2スイッチ200の設定変更を行う場合を例示している。例えば、テナントAは、端末装置21を操作して、管理サーバ100にログインする。テナントAは、端末装置21のディスプレイに表示された所定のメニューからリソースの設定変更を選択する。すると、端末装置21のディスプレイに、GUI30が表示される。GUI30は、表示フォーム31、画像領域32、設定フォーム33,34,35およびボタン36,37,38を含む。
表示フォーム31は、ログイン中のテナントAのテナントIDを表示するフォームである。画像領域32は、テナントAによる設定変更が可能な装置や装置内の部品を表示する領域である。例えば、画像領域32には、L2スイッチ200やL2スイッチ200内のテナントAに割り当てられたポートを示す画像が表示される。テナントAは、端末装置21に接続されたマウスなどのポインティングデバイスを用いてポインタP1を操作し、設定の追加、更新、削除を行いたい画像を選択できる。例えば、テナントAにより設定変更が可能なL2スイッチ200の所定のポート(ポート名“eth0”)を選択すると、設定フォーム33,34,35に当該ポートの設定内容が表示される。
設定フォーム33,34,35は、選択されたポートに関する設定内容を表示し、また、変更後の設定を入力するためのフォームである。例えば、画像領域32で選択されたポートに対し、次の情報が表示されている。設定フォーム33には、当該ポートに対して設定されたVLANインタフェースの識別情報“eth0.20”が表示されている。設定フォーム34には、そのVLANインタフェースのIPアドレスが表示されている。設定フォーム35には、そのIPアドレスのサブネットマスクが表示されている。複数のVLANインタフェースが設定されていれば、設定フォーム33のプルダウンボタンを選択して、複数のVLANインタフェースの識別情報を表示させ、何れかの識別情報を選択することで、設定フォーム33,34,35の表示を変えることもできる。
ボタン36,37,38は、端末装置21から管理サーバ100へ設定要求を送信させるためのボタンである。具体的には、ボタン36は、選択したポートに対する設定を追加するためのボタンである。例えば、テナントAは、設定フォーム33,34,35に新規のVLANインタフェースに関する情報などを入力し、ポインタP1によりボタン36を押下操作することで、新規の設定の追加を管理サーバ100に要求できる。
ボタン37は、選択したポートの設定を更新するためのボタンである。例えば、テナントAは、設定フォーム33,34,35に表示された情報を更新し、ポインタP1によりボタン37を押下操作することで、既存の設定の更新を管理サーバ100に要求できる。
ボタン38は、選択したポートに関する設定を削除するためのボタンである。例えば、テナントAは、設定フォーム33,34,35に何れかのVLANインタフェースの情報を表示させた状態で、ポインタP1によりボタン38を押下操作することで、そのVLANインタフェースの設定の削除を管理サーバ100に要求できる。
このように、管理サーバ100は、テナントAがログインした場合は、テナントAにより設定可能な項目のみを含むGUI30をテナントAに提供することで、他のテナントの設定がテナントAにより変更されることを抑制する。管理サーバ100は、テナント毎にどのような設定を許容するかという情報を予め保持している。これにより、例えば、あるテナントが設定した内容を他のテナントが削除したり変更したりするような操作(例えば、テナントAがVLAN番号“15”をあるポートに追加した後、テナントBがそのVLAN番号“15”を削除する操作)は、制限される。
図11は、設定変更処理の例を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
(S11)要求受信部120は、L2スイッチ200に対する設定要求を何れかの端末装置から受信する。設定要求は、要求元のテナントIDと設定変更の内容とを含む。要求受信部120は、L2スイッチ200の設定変更を設定処理部130に指示する。
(S12)設定処理部130は、変更内容に応じた設定コマンドを生成し、L2スイッチ200に入力する。例えば、設定処理部130は、Telnetなどのプロトコルを用いて、L2スイッチ200に設定コマンドを入力し、実行させることができる。L2スイッチ200は、設定コマンドを実行し、自身が保持する設定内容を変更する。
(S13)設定処理部130は、設定変更後の設定ファイルをL2スイッチ200から取得する。例えば、設定処理部130は、TFTPなどのプロトコルを用いて、L2スイッチ200から設定ファイルを取得できる。設定処理部130は、取得した設定ファイルを記憶部110に格納する。このとき、設定処理部130は、新たに格納した設定ファイルにファイル名と世代とを付与する。ここでは、世代として、数値(0、1、2、・・・)を付与するものとする。また、設定処理部130は、ファイル名として、世代に対応する名称を付与してもよい。
(S14)設定処理部130は、新たに取得した設定ファイルのファイル名と世代と設定要求元のテナントIDとの対応関係を管理テーブル112aに登録する。
図12は、復元処理の例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
(S21)要求受信部120は、L2スイッチ200に対する復元要求を何れかの端末装置から受信する。復元要求は、要求元のテナントIDと復元先の世代a(復元先として指定された世代)とを含む。要求受信部120は、L2スイッチ200の復元処理の実行を復元部140に指示する。
(S22)復元部140は、復元先の世代a(aは0以上の整数)を変数G(Gは0以上の整数)に代入する。
(S23)復元部140は、変数SUM(SUMは0以上の整数)に0を代入する。
(S24)復元部140は、管理テーブル112aを参照して、世代Gに対するテナントIDを取得する。
(S25)復元部140は、ステップS24で取得したテナントIDと復元要求の要求元のテナントIDとが一致するか否かを判定する。一致する場合、処理をステップS26に進める。一致しない場合、処理をステップS27に進める。
(S26)復元部140は、SUM+1を変数SUMに代入する。ここで、SUM+1の演算は、変数SUMの代入値に1を加算する演算である。
(S27)復元部140は、G+1を変数Gに代入する。ここで、G+1の演算は、変数Gの代入値に1を加算する演算である。ただし、世代としてタイムスタンプなどの他の情報を用いるなら、G+1の演算を、1世代新しい世代を取得する演算と考えてもよい。
(S28)復元部140は、変数Gの代入値がa+n(nは1以上の整数)以下であるか否かを判定する。変数Gの代入値がa+n以下であれば、処理をステップS24に進める。変数Gの代入値がa+nよりも大きければ、処理をステップS29に進める。ここで、nは、復元先として指定された世代aから管理テーブル112aに登録された最新の世代に至るまでの世代数(設定ファイルの数)である。例えば、a=Kであり、最新の世代が世代K+5であれば、n=5である。すなわち、世代a+nは、管理テーブル112aに登録された最新の世代を表している。ステップS28では、変数Gが最新の世代a+n以前であるか否かを判定しているともいえる。
(S29)復元部140は、変数SUMの代入値がn/2以上であるか否かを判定する。変数SUMの代入値がn/2以上である場合、処理をステップS30に進める。変数SUMの代入値がn/2よりも小さい場合、処理をステップS33に進める。ここで、ステップS29の処理は、復元先の世代aから最新の世代G+nまでの復元要求元のテナントによる更新数(SUM)と、復元先の世代aから最新の世代G+nまでの他のテナントおよび管理者による更新数(n−SUM)とを比較する処理であるといえる。変数SUMの代入値がn/2以上なら、SUMはn−SUM以上である。変数SUMの代入値がn/2よりも小さければ、SUMはn−SUMよりも小さい。
(S30)復元部140は、設定ファイル群111aおよび管理テーブル112aに基づいて、設定復元用の設定ファイルの生成処理(パターン1)を行う。パターン1では、復元部140は、復元先として指定された世代の設定ファイルに、その世代よりも新しい世代における復元要求元のテナント以外のテナントおよび管理者による設定内容を反映させることで、設定復元用の設定ファイルを生成する。指定された世代よりも新しい世代が複数あれば、復元要求元のテナントによる変更を除去した中間の設定ファイル(中間のバックアップファイル)も順次生成されることになる。詳細については後述する。
(S31)復元部140は、制約テーブル113aを参照して、ステップS30で生成した設定復元用の設定ファイルが制約を充足しているか否かを判定する。制約を充足している場合、処理をステップS32に進める。制約を充足していない場合、処理をステップS39に進める。
(S32)復元部140は、ステップS30で生成した設定復元用の設定ファイルをL2スイッチ200に入力することで、L2スイッチ200の設定を変更する(設定ファイルの適用)。そして、処理をステップS37に進める。
(S33)復元部140は、設定ファイル群111aおよび管理テーブル112aに基づいて、設定復元用の設定ファイルの生成処理(パターン2)を行う。パターン2では、最新の世代の設定ファイルを基に、最新の世代から遡って、指定された世代まで復元要求元のテナントの設定を戻すことで、設定復元用の設定ファイルを生成する。詳細については後述する。
(S34)復元部140は、制約テーブル113aを参照して、ステップS33で生成した設定復元用の設定ファイルが制約を充足しているか否かを判定する。制約を充足している場合、処理をステップS35に進める。制約を充足していない場合、処理をステップS39に進める。
(S35)復元部140は、ステップS33で生成した設定復元用の設定ファイルをL2スイッチ200に入力することで、L2スイッチ200の設定を変更する(設定ファイルの適用)。
(S36)復元部140は、設定ファイル群111aおよび管理テーブル112aに基づいて、設定復元用の設定ファイルの生成処理(パターン1)を行う。
(S37)復元部140は、世代aより後のエントリを管理テーブル112aから削除する。
(S38)復元部140は、ステップS30またはステップS36で生成した設定ファイルの情報を管理テーブル112aに登録する。そして、処理を終了する。
(S39)復元部140は、L2スイッチ200に対する設定ファイルの制約を満たさないため、世代aへの復元を行えない旨を、復元要求元の端末装置に送信する(エラー通知)。そして、処理を終了する。
図13は、設定ファイル生成(パターン1)の例を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
(S41)復元部140は、復元先の世代aを変数Gに代入する。
(S42)復元部140は、記憶部110から世代Gの設定ファイルFを取得する。
(S43)復元部140は、管理テーブル112aを参照して、世代G+1で設定ファイルの変更を行ったテナントのテナントIDは、復元要求元のテナントIDと一致するか否かを判定する。一致しない場合、処理をステップS44に進める。一致する場合、処理をステップS47に進める。
(S44)復元部140は、世代Gの設定ファイルと世代G+1の設定ファイルとから、差分(世代G+1では世代Gの設定内容に対してどのような変更がされたか)を検索する。ステップS44では、復元部140は、復元要求元以外のテナントおよび管理者による差分を抽出することになる。
(S45)復元部140は、設定ファイルFに検索した差分を反映させる。例えば、差分が設定の追加なら、設定ファイルFにその設定を追加する。差分が既存の設定の更新なら、設定ファイルFの設定も同様に更新する。差分が設定の削除なら、設定ファイルFからその設定を削除する。
(S46)復元部140は、設定ファイルFを複製し、複製した設定ファイルに所定のファイル名を付与して記憶部110に格納する。これにより、設定ファイル群111aに新たな設定ファイルが追加される。
(S47)復元部140は、G+1を変数Gに代入する。
(S48)復元部140は、G=a+nであるか、すなわち、変数Gの代入値がa+nに等しいか否かを判定する。G=a+nであれば、処理を終了する。G=a+nでなければ、処理をステップS43に進める。
図14は、設定ファイル生成(パターン2)の例を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
(S51)復元部140は、最新の世代a+nを変数Gに代入する。
(S52)復元部140は、記憶部110から最新の世代a+nの設定ファイルFを取得する。
(S53)復元部140は、管理テーブル112aを参照して、世代Gで設定ファイルの変更を行ったテナントのテナントIDは、復元要求元のテナントIDと一致するか否かを判定する。一致する場合、処理をステップS54に進める。一致しない場合、処理をステップS56に進める。
(S54)復元部140は、世代Gの設定ファイルと世代G−1の設定ファイルとから、差分(世代Gでは世代G−1の設定内容に対してどのような変更がされたか)を検索する。ステップS54では、復元部140は、復元要求元のテナントによる差分を抽出することになる。
(S55)復元部140は、検索した差分を設定ファイルFから除去する。例えば、差分が設定の追加なら、追加された設定を設定ファイルFから削除する。差分が既存の設定の更新なら、設定ファイルFにおける更新後の設定を世代G−1での設定に戻す。差分が設定の削除なら、設定ファイルFに削除された設定(世代G−1には存在する設定)を追加する。
(S56)復元部140は、G−1を変数Gに代入する。ここで、G−1の演算は、変数Gの代入値から1を減算する演算である。ただし、世代としてタイムスタンプなどの他の情報を用いるなら、G−1の演算を、1世代古い世代を取得する演算と考えてもよい。
(S57)復元部140は、G=aであるか、すなわち、変数Gの代入値がaに等しいか否かを判定する。G=aであれば、処理を終了する。G=aでなければ、処理をステップS53に進める。
このようにして、管理サーバ100は、設定復元用の設定ファイルを生成し、L2スイッチ200の設定を指定された世代へ復元する。特に、管理サーバ100は、設定復元用の設定ファイルの生成方法として、パターン1,2の方法のうち、演算量のより小さい方を選択する。具体的には、図12のステップS29においてSUM<n/2となる場合、パターン2を選択した方が、パターン1を選択するよりも設定復元用の設定ファイルを生成するための演算コストがより小さい可能性が高い。理由は次の通りである。
nの値は、復元先の世代から最新の世代に至るまでの全テナントおよび管理者による設定変更の回数(更新数)を示す。図12のステップS29において、SUMはn回のうち復元要求元のテナントによる設定変更の回数(更新数)を示す。n−SUMが他のテナントおよび管理者による更新数ということになる。よって、SUMがn/2よりも小さいとき(すなわち、復元要求元のテナントの更新数が他のテナントおよび管理者の更新数よりも小さいとき)は、復元要求元のテナントによる差分を検索した方が効率的である。例えば、図13のステップS44,S45の実行回数よりも図14のステップS54,S55の実行回数の方が少なくて済む。この場合、パターン2の方が、パターン1よりも設定復元用の設定ファイルの生成を高速化し得る。このため、ネットワーク装置2の設定の復元も高速化し得る。
ただし、パターン2を選択する場合、パターン1のように復元要求元のテナントによる変更を除去した中間のバックアップファイルが生成されないことになる。このため、パターン2を選択する場合、管理サーバ100は、パターン1の設定ファイル生成処理を別途実行することで、当該中間のバックアップファイルを生成する(図12のステップS36)。なお、管理サーバ100は、図12のステップS33〜S35の処理と並行して、ステップS36を実行してもよい。
図15は、設定ファイル生成(パターン1)の具体例を示す図である。図15では、直近の世代が世代K,K+1,K+2,K+3,K+4,K+5であるときに、管理サーバ100が世代Kへの復元要求をテナントAから受け付けた場合を例示している。ここで、図15では設定変更を行ったテナントまたは管理者を示す記号を次のように表記している。テナントAは“(A)”である。テナントBは“(B)”である。管理者は“(C)”である。
図15の例では、n=5である。また、図12のステップS29において、SUM=3となる。SUM=3は、n/2=5/2以上である。よって、管理サーバ100は、パターン1の方法で復元用の設定ファイルを生成すると決定する。管理サーバ100は、世代Kの設定ファイルf10を記憶部110から取得する。以降、管理サーバ100は次の処理を行う。
管理サーバ100は、管理テーブル112aを参照して、世代K+1では、テナントAによる設定変更が行われたことを確認する。テナントAは復元要求元のテナントだから、世代Kと世代K+1とで差分を抽出しない。
管理サーバ100は、管理テーブル112aを参照して、世代K+2では、テナントBによる設定変更が行われたことを確認する。テナントBは復元要求元のテナントではないから、世代K+1の設定ファイルf11と世代K+2の設定ファイルf12との差分を抽出する。この場合、差分は設定c2である。よって、管理サーバ100は、設定ファイルf10に設定c2を反映した設定ファイルf20を生成する。
ここで、設定c2は、VLANインタフェースの設定の追加である。したがって、管理サーバ100は、設定ファイルf10に当該設定を追加することで、設定ファイルf20を生成する。
管理サーバ100は、管理テーブル112aを参照して、世代K+3では、テナントAによる設定変更が行われたことを確認する。テナントAは復元要求元のテナントだから、世代K+2と世代K+3とで差分を抽出しない。
管理サーバ100は、管理テーブル112aを参照して、世代K+4では、管理者による設定変更が行われたことを確認する。管理者は復元要求元のテナントではないから、世代K+3の設定ファイルf13と世代K+4の設定ファイルf14との差分を抽出する。この場合、差分は設定c4である。よって、管理サーバ100は、設定ファイルf20に設定c4を反映した設定ファイルf21を生成する。
ここで、設定c4は、パスワードの更新である。したがって、管理サーバ100は、設定ファイルf20についても同様にパスワードを更新することで、設定ファイルf21を生成する。
管理サーバ100は、管理テーブル112aを参照して、世代K+5では、テナントAによる設定変更が行われたことを確認する。テナントAは復元要求元のテナントだから、世代K+4と世代K+5とで差分を抽出しない。
この場合、設定ファイルf21は、テナントA以外のテナントまたは管理者による最新の設定を反映させたものであり、設定復元用の設定ファイルとなる。設定ファイルf21は、制約テーブル113aの制約を満たしているとする。管理サーバ100は、設定ファイルf21をL2スイッチ200に入力することで、L2スイッチ200の設定変更を行う。これにより、テナントAにとっては世代KまでL2スイッチ200の設定が復元される。一方、テナントBにとっては世代K+2で行ったL2スイッチ200の設定が維持される。管理者にとっては世代K+4で行ったL2スイッチ200の設定が維持される。
管理サーバ100は、設定ファイルf20,f21に対し次のように世代を付与する。設定ファイルf20の世代として、設定ファイルf10の世代Kよりも新しい世代Kaを付与する。世代Kaは世代K+2でもよい。設定ファイルf21の世代として、世代Kaよりも新しい世代Kbを付与する。世代Kbは世代K+4でもよい。世代Kbは、復元直後における最新の世代である。
図16は、設定ファイル生成(パターン1)の具体例(続き)を示す図である。管理サーバ100は、設定ファイルf20,f21を記憶部110に格納する。管理サーバ100は、設定ファイルf11,f12,f13,f14,f15に関するエントリを管理テーブル112aから削除する。
そして、管理サーバ100は、設定ファイルf20,f21の情報を管理テーブル112aに登録する。具体的には、管理サーバ100は、世代“Ka”と設定ファイル名“ConfigKa”とテナントID“TenantB”との対応関係を管理テーブル112aに登録する。設定ファイルf20は、設定ファイルf10に対してテナントBの設定変更(設定c2)が反映されたものだからである。
また、管理サーバ100は、世代“Kb”と設定ファイル名“ConfigKb”とテナントID“Command”との対応関係を管理テーブル112aに登録する。設定ファイルf21は、設定ファイルf20に対して管理者による設定変更(設定c4)が反映されたものだからである。設定ファイルf21は、設定c2,c4が古い世代に対応する方から順番に、設定ファイルf10に反映されたものともいえる。
このように、管理サーバ100は、復元先の世代Kよりも新しい世代の設定ファイルのうち、復元要求元以外のテナントIDに対応する設定ファイルf12,f14を、新たに生成した設定ファイルf20,f21に更新する。また、世代Kよりも新しい世代の設定ファイルのうち、復元要求元のテナントIDに対応する設定ファイルf11,f13,f15のエントリを管理テーブル112aから削除することで、復元要求元のテナントIDに対応する既存の設定ファイルを無効にする。
以後、管理サーバ100は、設定ファイルf11,f12,f13,f14,f15に代えて、記憶部110に格納された設定ファイルf20,f21をバックアップファイルの新たな系列として用いることができる。管理サーバ100は、設定ファイルf11,f12,f13,f14,f15を記憶部110から削除してもよい。
その後は、復元前と同様の運用となる。例えば、テナントAからの設定変更(設定c6)に応じて、世代Kb+1の設定ファイルf22を取得する。また、テナントBからの設定変更(設定c7)に応じて、世代Kb+2の設定ファイルf23を取得する。図16の管理テーブル112bでは、設定ファイルf23までの情報が登録された状態を例示している。
ここで、新たなバックアップファイルを生成することで、その後、復元要求元のテナント以外のテナントにより別の復元要求がなされたときに、管理サーバ100は、復元処理を適切に行える。例えば、テナントBにより世代Kaを指定した復元要求が行われたとする。管理サーバ100は、パターン1で設定復元用の設定ファイルを生成するなら、世代Kaよりも後に行われたテナントB以外のテナント(テナントA)や管理者による設定変更を、世代Kaの設定ファイルf20に反映させていくことになる。このとき、設定ファイルf11,f13,f15は、先のテナントAによる復元の時点で無効にされている。よって、設定ファイルf11,f13,f15におけるテナントAの設定c1,c3,c5が反映されてしまうことはない。
図17は、設定ファイル生成(パターン2)の具体例を示す図である。図17では、直近の世代が世代K,K+1,K+2,K+3,K+4,K+5であるときに、管理サーバ100が世代Kへの復元要求をテナントBから受け付けた場合を例示している。ここで、図17では設定変更を行ったテナントまたは管理者を示す記号を図15と同様に表記している(“(A)”など)。
図17の例では、n=5である。また、図12のステップS29において、SUM=1となる。SUM=1は、n/2=5/2よりも小さい。よって、管理サーバ100は、パターン2の方法で復元用の設定ファイルを生成すると決定する。管理サーバ100は、世代K+5の設定ファイルf15を記憶部110から取得する。以降、管理サーバ100は次の処理を行う。
管理サーバ100は、管理テーブル112aを参照して、世代K+5では、テナントAによる設定変更が行われたことを確認する。テナントAは復元要求元のテナントではないから、世代K+4と世代K+5とで差分を抽出しない。
管理サーバ100は、管理テーブル112aを参照して、世代K+4では、管理者による設定変更が行われたことを確認する。管理者は復元要求元のテナントではないから、世代K+3と世代K+4とで差分を抽出しない。
管理サーバ100は、管理テーブル112aを参照して、世代K+3では、テナントAによる設定変更が行われたことを確認する。テナントAは復元要求元のテナントではないから、世代K+2と世代K+3とで差分を抽出しない。
管理サーバ100は、管理テーブル112aを参照して、世代K+2では、テナントBによる設定変更が行われたことを確認する。テナントBは復元要求元のテナントだから、世代K+1の設定ファイルf11と世代K+2の設定ファイルf12との差分を抽出する。この場合、差分は設定c2である。よって、管理サーバ100は、設定ファイルf15から設定c2を除去した設定ファイルf33を生成する。
ここで、設定c2は、VLANインタフェースの設定の追加である。したがって、管理サーバ100は、設定ファイルf15から当該設定を削除することで、設定ファイルf33を生成する。
管理サーバ100は、管理テーブル112aを参照して、世代K+1では、テナントAによる設定変更が行われたことを確認する。テナントAは復元要求元のテナントではないから、世代Kと世代K+1とで差分を抽出しない。
この場合、設定ファイルf33は、テナントB以外のテナントまたは管理者による最新の設定を反映させたものであり、設定復元用の設定ファイルとなる。設定ファイルf33は、制約テーブル113aの制約を満たしているとする。管理サーバ100は、設定ファイルf33をL2スイッチ200に入力することで、L2スイッチ200の設定変更を行う。これにより、テナントBにとっては世代KまでL2スイッチ200の設定が復元される。一方、テナントAにとっては世代K+1,K+3,K+5で行ったL2スイッチ200の設定が維持される。管理者にとっては世代K+4で行ったL2スイッチ200の設定が維持される。
また、管理サーバ100は、設定ファイルf10と設定ファイルf33との間でのテナントAおよび管理者による設定を順次反映させた設定ファイルf30,f31,f32を別途生成する。設定ファイルf30,f31,f32の生成方法は、前述のパターン1の設定ファイルの生成方法と同様である。ただし、この場合は、パターン2の生成処理で設定ファイルf33を生成済である。このため、設定ファイルf33を再度生成してもよいし、再度生成しなくてもよい。
管理サーバ100は、設定ファイルf30,f31,f32,f33に対し、次のように世代を付与する。設定ファイルf30の世代として、設定ファイルf10の世代Kよりも新しい世代Kcを付与する。世代Kcは世代K+1でもよい。設定ファイルf31の世代として、世代Kcよりも新しい世代Kdを付与する。世代Kdは世代K+3でもよい。設定ファイルf32の世代として、世代Kdよりも新しい世代Keを付与する。世代Keは世代K+4でもよい。設定ファイルf33の世代として、世代Keよりも新しい世代Kfを付与する。世代Kfは世代K+5でもよい。世代Kfは、復元直後における最新の世代である。
図18は、設定ファイル生成(パターン2)の具体例(続き)を示す図である。管理サーバ100は、設定ファイルf30,f31,f32,f33を記憶部110に格納する。管理サーバ100は、設定ファイルf11,f12,f13,f14,f15に関するエントリを管理テーブル112aから削除する。
そして、管理サーバ100は、設定ファイルf30,f31,f32,f33の情報を管理テーブル112aに登録する。具体的には、管理サーバ100は、世代“Kc”と設定ファイル名“ConfigKc”とテナントID“TenantA”との対応関係を管理テーブル112aに登録する。また、世代“Kd”と設定ファイル名“ConfigKd”とテナントID“TenantA”との対応関係を管理テーブル112aに登録する。また、世代“Ke”と設定ファイル名“ConfigKe”とテナントID“Command”との対応関係を管理テーブル112aに登録する。更に、世代“Kf”と設定ファイル名“ConfigKf”とテナントID“TenantA”との対応関係を管理テーブル112aに登録する。
このように、管理サーバ100は、復元先の世代Kよりも新しい世代の設定ファイルのうち、復元要求元以外のテナントIDに対応する設定ファイルf11,f13,f14,f15を、新たに生成した設定ファイルf30,f31,f32,f33に更新する。また、世代Kよりも新しい世代の設定ファイルのうち、復元要求元のテナントIDに対応する設定ファイルf12のエントリを管理テーブル112aから削除することで、復元要求元のテナントIDに対応する既存の設定ファイルを無効にする。
以後、管理サーバ100は、設定ファイルf11,f12,f13,f14,f15に代えて、記憶部110に格納された設定ファイルf30,f31,f32,f33をバックアップファイルの新たな系列として用いることができる。管理サーバ100は、設定ファイルf11,f12,f13,f14,f15を記憶部110から削除してもよい。
その後は、復元前と同様の運用となる。例えば、テナントAからの設定変更(設定c8)に応じて、世代Kf+1の設定ファイルf34を取得する。また、テナントBからの設定変更(設定c9)に応じて、世代Kf+2の設定ファイルf35を取得する。図18の管理テーブル112cでは、設定ファイルf35までの情報が登録された状態を例示している。
ここで、新たにバックアップファイルを生成する理由は、図16で説明した理由と同様である。すなわち、その後、復元要求元のテナント以外のテナントにより別の復元要求がなされたときに、管理サーバ100は、復元処理を適切に行えるようにするためである。例えば、テナントAにより世代Kcを指定した復元要求が行われたとする。管理サーバ100は、パターン1で設定復元用の設定ファイルを生成するなら、世代Kcよりも後に行われたテナントA以外のテナント(テナントB)や管理者による設定変更を、世代Kcの設定ファイルf30に反映させていくことになる。このとき、設定ファイルf12は、先のテナントBによる復元の時点で無効にされている。よって、設定ファイルf12におけるテナントBの設定c2が反映されてしまうことはない。
また、上記のように、管理サーバ100は、設定復元用の設定ファイルを生成する方法として、パターン1,2のうち、生成に要する演算量がより小さいと推定される方法を選択する(図12のステップS29)。これにより、設定復元用の設定ファイルの生成を高速化できる。その結果、L2スイッチ200の設定変更を高速化できる。
例えば、管理サーバ100は、設定復元用の設定ファイルを生成している間は、各テナントによるL2スイッチ200の設定変更を制限することになる。最新の世代の設定ファイルが変更されると、設定の復元を適切に行えないおそれがあるからである。これに対し、サービスの継続的な利用可能性の観点からは、各テナントに対してL2スイッチ200の設定変更を制限する時間は短い方が好ましい。上記のように、管理サーバ100は、設定ファイルの生成をより高速化できる方法を選択することで、L2スイッチの設定変更を制限する時間を短縮し得る。
なお、パターン1,2の方法のうち、何れを選択するかを更に詳細に行ってもよい。例えば、ある世代で行われた設定変更は、設定ファイル内の複数行に渡ることがある(例えば、図6で例示した設定c1,c2,c5)。ある世代で設定変更された行数が多い程、前の世代からの差分を検索したり、設定ファイルに差分を反映させたりする演算コストも大きいと考えられる。そこで、SUMに設定する値に対して設定ファイル内の行数を考慮してもよい。
具体的には、図12のステップS29におけるnに代えて、指定された復元先の世代から最新の世代までに設定変更(追加、更新、削除)された全ての行数m(mは1以上の整数)を用いる。また、図12のステップS26では、世代Gにおいて復元要求元のテナントにより設定変更された行数を変数SUMに加算する。
そして、ステップS29の判定では、復元部140は、“SUMはm/2以上であるか否か”(復元要求元のテナントの更新数は他のテナントおよび管理者の更新数以上であるか否か)の判定を行う。SUMがm/2以上であれば(復元要求元のテナントの更新数が他のテナントおよび管理者の更新数以上であれば)、ステップS30に進める(パターン1を選択する)。SUMがm/2よりも小さければ(復元要求元のテナントの更新数が他のテナントおよび管理者の更新数よりも小さければ)、ステップS33に進める(パターン2を選択する)。このように、設定変更された行数を考慮した更新数を用いて、パターン1,2の何れを選択するかを判定してもよい。これにより、復元部140は、設定復元用の設定ファイルの生成に伴う演算コストの小さい方法をより正確に選択し得る。
また、上記の説明では、復元要求を受信した後に、変数SUMの計算を行うものとしたが(図12のステップS23〜S28)、設定要求を受け付ける毎に、SUMを積算していってもよい。その場合、例えば、設定処理部130は、世代とテナント毎のSUMの値(テナント毎のSUMを用意することになる)とを対応付けた情報をRAM102またはHDD103の所定の記憶領域に格納しておく。設定処理部130は、何れかのテナントから設定要求を受け付けるたびに、そのテナントに対応するSUMに、1(行数まで考慮する場合は、変更された行数)を加算する。そして、復元部140は、何れかのテナントから復元要求を受信すると、RAM102またはHDD103に記憶された情報から、そのテナントのSUM値を読み出して、図12のステップS29を実行する。このとき、復元部140は、ステップS22〜S28を省略できる。よって、設定復元用の設定ファイルの生成を、更に高速化できる。
図19は、設定ファイルの他の設定例(その1)を示す図である。設定c20は、世代Kgにおける設定である。設定c20は、設定ファイル内の“switchport trunk allowed vlan 10,12,13,15−18”の記述に相当する。
設定c20は、L2スイッチ200と他のスイッチ(図2では図示を省略)との間を接続するポート(以下、トランクポートという)で通信を許容するVLAN ID“10,12,13,15,16,17,18”を指定している。ただし、“15−18”の表記は、“15,16,17,18”を示す。このように、ネットワーク装置によっては、3つ以上のVLAN IDを指定する場合に、ハイフン“−”記号によりID指定が略記されるものもある。例えば、世代Kg以降、世代Kg+3までトランクポートに対して次のように設定変更される。
世代Kg+1では、テナントAによりトランクポートに対してVLAN ID“14,19”が追加される。すると、トランクポートに対するVLAN IDの指定箇所は、“vlan 10,12−19”と書き換えられる。この場合、世代Kg(設定c20)からの差分は、“switchport trunk allowed vlan 14,19”(設定c21)である。
世代Kg+2では、テナントBによりトランクポートに対してVLAN ID“20,21”が追加される。すると、トランクポートに対するVLAN IDの指定箇所は、“vlan 10,12−21”と書き換えられる。この場合、世代Kg+1(設定c20,c21を合わせた設定)からの差分は、“switchport trunk allowed vlan 20,21”(設定c22)である。
世代Kg+3では、テナントAによりトランクポートに対してVLAN ID“22,23”が追加され、VLAN ID“15”が削除される。すると、トランクポートに対するVLAN IDの指定箇所は、“vlan 10,12−14,16−23”と書き換えられる。この場合、世代Kg+2(設定c20,c21,c22を合わせた設定)からの差分は、“switchport trunk allowed vlan 22,23”および“switchport trunk allowed vlan remove 15”の両方(設定c23)である。
その後、管理サーバ100は、テナントAにより世代Kgへの復元要求を受け付ける。図19の例では、n=3である。そして、図12のステップS29において、SUM=2となる。SUM=2は、n/2=3/2以上である。よって、管理サーバ100は、パターン1の方法で復元用の設定ファイルを生成する。具体的には、設定c20に、テナントA以外のテナントBによる設定c22を反映させる。管理サーバ100は、トランクポートの復元後の設定として、“switchport trunk allowed vlan 10,12,13,15−18,20,21”を含む設定ファイルを生成する。この設定ファイルを用いることで、テナントAにとっては世代KgまでL2スイッチ200の設定が復元される。一方、テナントBにとっては世代Kg+2で行ったL2スイッチ200の設定が維持される。また、上記のように、管理サーバ100は、ネットワーク装置による設定ファイルの記述方法によらずに、世代間における設定ファイルの差分を抽出できる。
図20は、設定ファイルの他の設定例(その2)を示す図である。設定c30は、世代Khにおける設定である。設定c30は、設定ファイル内の“snmp manager 0 192.168.1.1 public v1 enable”などを含む4行分(4つの設定コマンド)の記述に相当する。ここで、図20における各設定の左側に付した数値は行番号を示している。
設定c30は、L2スイッチ200で動作するSNMPエージェントに対して、SNMPトラップなどの送信先のSNMPマネージャを指定する設定である。1行分の設定が1つのSNMPマネージャの指定に相当する。設定c30では、4つのSNMPマネージャを指定している。なお、制約テーブル113aで例示されるように、L2スイッチ200でのSNMPマネージャの指定の上限数は4である。例えば、世代Kh以降、世代Kh+2までSNMPエージェントに対して次のように設定変更される。
世代Kh+1では、テナントAにより設定c30の4行目のエントリが削除される。世代Khからの差分である設定c31は、当該エントリの削除に相当する。
世代Kh+2では、テナントBにより設定c31に4行目のエントリが追加される。世代Kh+1からの差分である設定c32は、当該エントリの追加に相当する。
その後、管理サーバ100は、テナントAにより世代Khへの復元要求を受け付ける。図20の例では、n=2である。そして、図12の手順のステップS29において、SUM=1となる。SUM=1は、n/2=2/2=1以上である。よって、管理サーバ100は、パターン1の方法で復元用の設定ファイルを生成する。具体的には、設定c30に、テナントA以外のテナントBによる設定c32を反映させる。管理サーバ100は、復元後の設定として、“snmp manager 0 192.168.1.1 public v1 enable”などを含む5行分の設定c40を含む設定ファイルを生成する。すると、設定c40では、5つのSNMPマネージャが指定されることになる。
管理サーバ100は、制約テーブル113aに基づいて、復元後の設定ファイルが制約を満たしているか否かを判定する。復元後の設定ファイルが制約を満たしていなければ、L2スイッチ200が正常に動作しないおそれもあるからである。上記の場合、設定c40ではSNMPマネージャの上限4に対して5つのSNMPマネージャが指定されているから、制約違反となる。
このため、管理サーバ100は、生成した設定ファイルを用いたL2スイッチ200の設定を行わずに、復元要求元のテナントAに対し、制約違反により復元を行えない旨を通知する。管理サーバ100は、同様の通知を管理者に対して行ってもよい。例えば、管理サーバ100は、テナントAや管理者の電子メールアドレスを宛先とした電子メールを生成し、送信することで、当該通知を行うことが考えられる。また、管理サーバ100は、端末装置21,400の識別情報を宛先とした所定のメッセージを生成し、送信することで、当該通知を行うことも考えられる。このようにして、L2スイッチ200に不正な設定が行われることの防止を図れる。また、テナントAや管理者に対して、要求された復元を行えない旨を適切に把握させることができる。
図21は、ネットワーク装置の例を示す図である。第2の実施の形態では、ネットワーク装置としてL2スイッチ200を例示したが、管理サーバ100は他の種類のネットワーク装置も同様に管理することができる。具体的には、次の通りである。
例えば、ネットワーク10,20の間やネットワーク10に負荷分散機能やファイアウォール機能などを備えたサーバコンピュータを設けることもある。その場合、そのサーバコンピュータをネットワーク装置ということができる。サーバコンピュータの負荷分散機能やファイアウォール機能などの少なくとも何れかの機能に関する設定ファイルに対し、複数のテナントによる設定変更を許容することも考えられる。
例えば、ネットワーク10,20の間にブレードサーバ600を設けてもよい。ブレードサーバ600は、プロセッサやRAMを内蔵したブレードと呼ばれる装置を複数収容し、ブレード単位にOSや仮想マシンを動作させる。ブレードサーバ600は、ブレード610,620およびスイッチブレード630を有する。
ブレード610は、ハイパーバイザ611およびファイアウォール612,613を有する。ハイパーバイザ611は、ブレード610のプロセッサやRAMなどのリソースを用いて仮想マシンを動作させるソフトウェアである。ハイパーバイザ611は、仮想スイッチ611aを有する。仮想スイッチ611aは、ブレード610上で動作する仮想マシンのデータ通信を中継する機能を提供する。ファイアウォール612,613は、ハイパーバイザ611上で動作し、ネットワーク10に対する所定のアクセスをブロックする。ファイアウォール612,613は、仮想マシン上で動作するソフトウェアでもよい。
ブレード620もブレード610と同様に、ハイパーバイザや仮想マシンなどを有する。例えば、ブレード620は、仮想マシンを用いて負荷分散機能やファイアウォール機能などを実現してもよい。スイッチブレード630は、ブレード610,620のデータ通信を中継するスイッチである。
このように、ブレードサーバ600により負荷分散機能やファイアウォール機能などを実現し得る。この場合、ブレードサーバ600をネットワーク装置ということができる。仮想スイッチ611a、ファイアウォール612,613およびスイッチブレード630などを複数のテナントにより共用させ、各機能に関する設定ファイルの各テナントによる設定変更を許容する場合にも管理サーバ100による管理方法を適用することができる。
その他のネットワーク装置についても同様である。例えば、ネットワーク10に設けた負荷分散装置700を複数のテナントにより共用させ、負荷分散装置700に対する各テナントによる設定変更を許容することも考えられる。例えば、サーバ300,300a,300b上の複数の実IPアドレスと負荷分散装置700上の仮想IPアドレスとの対応関係などの設定について、負荷分散装置700の設定ファイルに対するテナント毎の変更を許容することが考えられる。
また、ネットワーク装置は、L3スイッチ、ルータ、ファイアウォール装置、IDS(Intrusion Detection System)装置、IPS(Intrusion Prevention System)装置およびUTM(Unified Threat Management)装置などでもよい。例えば、これら装置に対し、通信を許可するトラフィックを選別するルールや不正アクセス検知用のルールなどについて、各装置の設定ファイルに対するテナント毎の変更を許容することが考えられる。
更に、複数のネットワーク装置を管理する場合、管理サーバ100は、設定ファイル群、管理テーブルおよび制約テーブルを、管理対象のネットワーク装置毎に、記憶部110に保持する。例えば、管理サーバ100は、ネットワーク装置の識別情報に対応付けて、これらの情報を保持することが考えられる。
図22は、復元処理の比較例を示す図である。図22では、第2の実施の形態による復元方法を用いない場合を比較例として説明する。ここで、比較例の処理に用いるサーバコンピュータを管理サーバ800とする。図22で想定する情報処理システムは、図2で例示した情報処理システムと同様である。図22では設定変更を行ったテナントまたは管理者を示す記号を、図15と同様に表記している(“(A)”など)。
例えば、管理サーバ800は、端末装置21,22などからのL2スイッチ200の設定要求を受け付けるたびに、L2スイッチ200から設定ファイルを取得し、設定ファイル群111aに追加する。ここで、現在の最新の世代は世代K+5であり、世代K+5の設定ファイルは設定ファイルf15である。それ以外の設定ファイルとして、管理サーバ800は、設定ファイルf10,f11,f12,f13,f14(それぞれ順番に世代K,K+1,K+2,K+3,K+4に相当)を保持している。各設定ファイルの設定内容は図5〜7で例示した通りである。
例えば、管理サーバ800は、端末装置21(テナントA)から世代Kへの復元要求を受信する。このとき、管理サーバ800は、設定ファイル群111aから設定ファイルf10を取得し、L2スイッチ200に入力することで、L2スイッチ200の設定を行うことが考えられる。ところが、設定ファイルf10には、前述のようにテナントBによる設定c2と管理者による設定c4とが含まれていない。このため、L2スイッチ200が設定ファイルf10で設定されると、世代Kよりも後に行われたテナントBによる設定c2と管理者による設定c4とが無かったことになってしまう。
そこで、管理サーバ100では、復元先として指定された世代Kよりも後に行われた他のテナントや管理者による設定変更を検索し、検索した設定変更を設定ファイルf10に反映させた復元用の設定ファイルを生成する。管理サーバ100は、生成した設定ファイルをL2スイッチ200に入力して、L2スイッチ200の設定を行う。これにより、テナントAにとっては世代KまでL2スイッチ200の設定が復元される。一方、テナントBや管理者にとっては世代Kよりも後に行ったL2スイッチ200の設定c2,c4を維持できる。上記の説明では、テナントおよび管理者の数が3である場合を例示したが、4以上の場合も同様に処理できる。
以上のように、管理サーバ100によれば、ネットワーク装置を複数のテナントにより共用させる場合において、テナント間の独立性を保証しながら、ネットワーク装置のテナント毎の設定を自由に復元できる。
なお、第1の実施の形態の情報処理は、演算部1bとして用いられるプロセッサに、プログラムを実行させることで実現できる。第2の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体13に記録できる。
例えば、プログラムを記録した記録媒体13を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体13に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
以上の第1,第2の実施の形態を含む実施形態に関し、更に以下の付記を開示する。
(付記1) ネットワーク装置の設定に用いられる設定情報を管理する管理装置であって、
複数のクライアントの何れかにより更新された設定情報と当該設定情報の世代と更新を実行したクライアントの識別情報とを対応付けて記憶する記憶部と、
何れかのクライアントにより何れかの世代への復元が指定されると、前記記憶部を参照して、指定された世代よりも新しい世代の設定情報における他のクライアントによる更新内容を検索し、指定された世代に対応する第1の設定情報に前記更新内容を反映させた第2の設定情報を生成し、
前記第2の設定情報を用いて前記ネットワーク装置の設定を行う、演算部と、
を有する管理装置。
(付記2) 前記演算部は、指定された世代から最新の世代までの指定元のクライアントによる更新数と、指定された世代から最新の世代までの他のクライアントによる更新数との比較に応じて、前記第1の設定情報に前記更新内容を反映させることで前記第2の設定情報を生成するか、または、最新の世代の設定情報における前記指定元のクライアントによる更新内容を指定された世代まで戻すことで前記第2の設定情報を生成するか、を選択する、
付記1記載の管理装置。
(付記3) 前記演算部は、前記第1の設定情報に他のクライアントによる更新内容を反映させることで、指定された世代よりも新しい世代に対応する設定情報のうち他のクライアントの識別情報に対応する設定情報を更新し、指定された世代よりも新しい世代に対応する設定情報のうち指定元のクライアントの識別情報に対応する設定情報を無効にする、
付記1または2記載の管理装置。
(付記4) 前記記憶部は、前記ネットワーク装置の設定情報に対する制約の情報を記憶し、
前記演算部は、前記第2の設定情報が前記制約を満たす場合に前記第2の設定情報を用いて前記ネットワーク装置の設定を行い、前記第2の設定情報が前記制約を満たさない場合に前記ネットワーク装置の設定を行わずに、前記ネットワーク装置の設定を行えないことを世代の指定元のクライアントに通知する、
付記1乃至3の何れかに記載の管理装置。
(付記5) ネットワーク装置の設定に用いられる設定情報を管理するための管理プログラムであって、コンピュータに、
複数のクライアントの何れかにより設定情報が更新されると、更新された設定情報と当該設定情報の世代と更新を実行したクライアントの識別情報とを対応付けて取得し、
何れかのクライアントにより何れかの世代への復元が指定されると、取得した情報を参照して、指定された世代よりも新しい世代の設定情報における他のクライアントによる更新内容を検索し、指定された世代に対応する第1の設定情報に前記更新内容を反映させた第2の設定情報を生成し、
前記第2の設定情報を用いて前記ネットワーク装置の設定を行う、
処理を実行させる管理プログラム。
(付記6) ネットワーク装置の設定に用いられる設定情報を管理する管理装置が、
複数のクライアントの何れかにより設定情報が更新されると、更新された設定情報と当該設定情報の世代と更新を実行したクライアントの識別情報とを対応付けて取得し、
何れかのクライアントにより何れかの世代への復元が指定されると、取得した情報を参照して、指定された世代よりも新しい世代の設定情報における他のクライアントによる更新内容を検索し、指定された世代に対応する第1の設定情報に前記更新内容を反映させた第2の設定情報を生成し、
前記第2の設定情報を用いて前記ネットワーク装置の設定を行う、
ネットワーク装置の設定情報管理方法。
1 管理装置
1a 記憶部
1b 演算部
2 ネットワーク装置
3,4 サーバ
5,6 端末装置
7 ネットワーク
8 情報

Claims (5)

  1. ネットワーク装置の設定に用いられる設定情報を管理する管理装置であって、
    複数のクライアントの何れかにより更新された設定情報と当該設定情報の世代と更新を実行したクライアントの識別情報とを対応付けて記憶する記憶部と、
    何れかのクライアントにより何れかの世代への復元が指定されると、前記記憶部を参照して、指定された世代よりも新しい世代の設定情報における他のクライアントによる更新内容を検索し、指定された世代に対応する第1の設定情報に前記更新内容を反映させた第2の設定情報を生成し、
    前記第2の設定情報を用いて前記ネットワーク装置の設定を行う、演算部と、
    を有する管理装置。
  2. 前記演算部は、指定された世代から最新の世代までの指定元のクライアントによる更新数と、指定された世代から最新の世代までの他のクライアントによる更新数との比較に応じて、前記第1の設定情報に前記更新内容を反映させることで前記第2の設定情報を生成するか、または、最新の世代の設定情報における前記指定元のクライアントによる更新内容を指定された世代まで戻すことで前記第2の設定情報を生成するか、を選択する、
    請求項1記載の管理装置。
  3. 前記演算部は、前記第1の設定情報に他のクライアントによる更新内容を反映させることで、指定された世代よりも新しい世代に対応する設定情報のうち他のクライアントの識別情報に対応する設定情報を更新し、指定された世代よりも新しい世代に対応する設定情報のうち指定元のクライアントの識別情報に対応する設定情報を無効にする、
    請求項1または2記載の管理装置。
  4. ネットワーク装置の設定に用いられる設定情報を管理するための管理プログラムであって、コンピュータに、
    複数のクライアントの何れかにより設定情報が更新されると、更新された設定情報と当該設定情報の世代と更新を実行したクライアントの識別情報とを対応付けて取得し、
    何れかのクライアントにより何れかの世代への復元が指定されると、取得した情報を参照して、指定された世代よりも新しい世代の設定情報における他のクライアントによる更新内容を検索し、指定された世代に対応する第1の設定情報に前記更新内容を反映させた第2の設定情報を生成し、
    前記第2の設定情報を用いて前記ネットワーク装置の設定を行う、
    処理を実行させる管理プログラム。
  5. ネットワーク装置の設定に用いられる設定情報を管理する管理装置が、
    複数のクライアントの何れかにより設定情報が更新されると、更新された設定情報と当該設定情報の世代と更新を実行したクライアントの識別情報とを対応付けて取得し、
    何れかのクライアントにより何れかの世代への復元が指定されると、取得した情報を参照して、指定された世代よりも新しい世代の設定情報における他のクライアントによる更新内容を検索し、指定された世代に対応する第1の設定情報に前記更新内容を反映させた第2の設定情報を生成し、
    前記第2の設定情報を用いて前記ネットワーク装置の設定を行う、
    ネットワーク装置の設定情報管理方法。
JP2014012543A 2014-01-27 2014-01-27 管理装置、管理プログラムおよびネットワーク装置の設定情報管理方法 Pending JP2015142167A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014012543A JP2015142167A (ja) 2014-01-27 2014-01-27 管理装置、管理プログラムおよびネットワーク装置の設定情報管理方法
US14/531,323 US20150215165A1 (en) 2014-01-27 2014-11-03 Management device and method of managing configuration information of network device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014012543A JP2015142167A (ja) 2014-01-27 2014-01-27 管理装置、管理プログラムおよびネットワーク装置の設定情報管理方法

Publications (1)

Publication Number Publication Date
JP2015142167A true JP2015142167A (ja) 2015-08-03

Family

ID=53680148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014012543A Pending JP2015142167A (ja) 2014-01-27 2014-01-27 管理装置、管理プログラムおよびネットワーク装置の設定情報管理方法

Country Status (2)

Country Link
US (1) US20150215165A1 (ja)
JP (1) JP2015142167A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018041261A (ja) * 2016-09-07 2018-03-15 東芝テック株式会社 情報処理装置及びプログラム
JP2018142136A (ja) * 2017-02-27 2018-09-13 富士通株式会社 サービス提供プログラム、サービス提供方法及び制御装置
JPWO2017122364A1 (ja) * 2016-01-15 2018-09-27 富士通株式会社 ロールバック処理制御プログラム、ロールバック処理制御方法及びロールバック処理制御装置
WO2018179448A1 (ja) * 2017-03-31 2018-10-04 富士通株式会社 制御プログラム、制御方法及び制御装置
JP2020065168A (ja) * 2018-10-17 2020-04-23 住友電気工業株式会社 通信装置及び通信装置の設定方法
JP7438465B1 (ja) 2022-11-25 2024-02-26 三菱電機株式会社 制御装置、制御システム、機器制御方法およびプログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170289002A1 (en) * 2016-03-31 2017-10-05 Mrittika Ganguli Technologies for deploying dynamic underlay networks in cloud computing infrastructures
JP6794202B2 (ja) * 2016-09-20 2020-12-02 キヤノン株式会社 通信装置およびその制御方法
US10491422B2 (en) * 2016-12-23 2019-11-26 Dell Products L.P. Networking device configuration system
JP6920628B2 (ja) * 2018-05-17 2021-08-18 日本電信電話株式会社 情報管理システム及び情報管理方法
US11269903B1 (en) * 2019-09-27 2022-03-08 Amazon Technologies, Inc. Indexing and retrieval of configuration data
US11108636B2 (en) 2019-10-23 2021-08-31 Cisco Technology, Inc. Integrity verification for managing network configurations

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835911A (en) * 1994-02-08 1998-11-10 Fujitsu Limited Software distribution and maintenance system and method
JP2008071119A (ja) * 2006-09-14 2008-03-27 Kddi Corp ネットワーク設定復元方法および装置
JP2012065015A (ja) * 2010-09-14 2012-03-29 Hitachi Ltd マルチテナント型情報処理システム、管理サーバ及び構成管理方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4046804B2 (ja) * 1997-06-26 2008-02-13 富士通株式会社 サーバの情報提供装置、サーバの情報提供プログラムを記録したコンピュータ読み取り可能な記録媒体およびサーバの情報提供方法
US7730183B2 (en) * 2005-01-13 2010-06-01 Microsoft Corporation System and method for generating virtual networks
US20070234337A1 (en) * 2006-03-31 2007-10-04 Prowess Consulting, Llc System and method for sanitizing a computer program
US7996834B2 (en) * 2006-04-14 2011-08-09 Microsoft Corporation Virtual machine self-service restrictions
JP4864557B2 (ja) * 2006-06-15 2012-02-01 富士通株式会社 ソフトウェアの更新処理プログラム及び更新処理装置
US20080201455A1 (en) * 2007-02-15 2008-08-21 Husain Syed M Amir Moving Execution of a Virtual Machine Across Different Virtualization Platforms
US8689288B2 (en) * 2007-04-16 2014-04-01 Samsung Electronics Co., Ltd. Apparatus and method for protecting system in virtualized environment
JP4467623B2 (ja) * 2008-03-19 2010-05-26 富士通株式会社 アップデート管理プログラム、管理ノード、アップデート管理方法、およびクラスタシステム
JP2010097301A (ja) * 2008-10-15 2010-04-30 Seiko Epson Corp ネットワークシステム、サーバ装置、および、プリンタドライバ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835911A (en) * 1994-02-08 1998-11-10 Fujitsu Limited Software distribution and maintenance system and method
JP2008071119A (ja) * 2006-09-14 2008-03-27 Kddi Corp ネットワーク設定復元方法および装置
JP2012065015A (ja) * 2010-09-14 2012-03-29 Hitachi Ltd マルチテナント型情報処理システム、管理サーバ及び構成管理方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2017122364A1 (ja) * 2016-01-15 2018-09-27 富士通株式会社 ロールバック処理制御プログラム、ロールバック処理制御方法及びロールバック処理制御装置
JP2018041261A (ja) * 2016-09-07 2018-03-15 東芝テック株式会社 情報処理装置及びプログラム
JP2018142136A (ja) * 2017-02-27 2018-09-13 富士通株式会社 サービス提供プログラム、サービス提供方法及び制御装置
WO2018179448A1 (ja) * 2017-03-31 2018-10-04 富士通株式会社 制御プログラム、制御方法及び制御装置
JP2020065168A (ja) * 2018-10-17 2020-04-23 住友電気工業株式会社 通信装置及び通信装置の設定方法
JP7147455B2 (ja) 2018-10-17 2022-10-05 住友電気工業株式会社 通信装置及び通信装置の設定方法
JP7438465B1 (ja) 2022-11-25 2024-02-26 三菱電機株式会社 制御装置、制御システム、機器制御方法およびプログラム

Also Published As

Publication number Publication date
US20150215165A1 (en) 2015-07-30

Similar Documents

Publication Publication Date Title
JP2015142167A (ja) 管理装置、管理プログラムおよびネットワーク装置の設定情報管理方法
US10831933B2 (en) Container update system
US11740975B2 (en) System and method for managing blockchain nodes
US10212029B2 (en) Service provisioning in cloud computing systems
AU2016235759B2 (en) Executing commands within virtual machine instances
US8639798B2 (en) Managing configuration items
JP5288334B2 (ja) 仮想アプライアンス配備システム
US20130191516A1 (en) Automated configuration error detection and prevention
US11368407B2 (en) Failover management using availability groups
US10305749B2 (en) Low latency flow cleanup of openflow configuration changes
CN107690800A (zh) 管理动态ip地址分配
US10673694B2 (en) Private network mirroring
US10204021B2 (en) Recovery of an infected and quarantined file in a primary storage controller from a secondary storage controller
CN113391944A (zh) 计算系统中延期的服务器恢复方法和设备
JP2009086701A (ja) 仮想計算機システム及び同システムにおける仮想マシン復元方法
CN114222990A (zh) 具有按需文件系统锁定和自动修复功能的自动勒索软件检测
US9774600B1 (en) Methods, systems, and computer readable mediums for managing infrastructure elements in a network system
JP2007323354A (ja) マシン管理システム
US20210326322A1 (en) Change history
WO2016103422A1 (ja) クラウド構成保存システム、クラウド構成保存方法及びクラウド構成保存プログラム
JP5734421B2 (ja) 管理情報生成方法、管理情報生成プログラムおよび管理情報生成装置
US11487570B1 (en) Efficient creation of endpoints for accessing services directly within a cloud-based system
US11621883B1 (en) Monitoring state information for incidents in an IT environment including interactions among analysts responding to other similar incidents
US20240152377A1 (en) Multi-tenant network management service
US20240154907A1 (en) Mapping messages to connection servers between network management system and managed datacenters

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170815

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180403