JP2016126693A - 制御手順方法、制御手順プログラム及び制御手順装置 - Google Patents

制御手順方法、制御手順プログラム及び制御手順装置 Download PDF

Info

Publication number
JP2016126693A
JP2016126693A JP2015002145A JP2015002145A JP2016126693A JP 2016126693 A JP2016126693 A JP 2016126693A JP 2015002145 A JP2015002145 A JP 2015002145A JP 2015002145 A JP2015002145 A JP 2015002145A JP 2016126693 A JP2016126693 A JP 2016126693A
Authority
JP
Japan
Prior art keywords
state
transition
information
control procedure
processing system
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
JP2015002145A
Other languages
English (en)
Inventor
優 上野
Masaru Ueno
優 上野
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 JP2015002145A priority Critical patent/JP2016126693A/ja
Priority to US14/948,828 priority patent/US20160203007A1/en
Publication of JP2016126693A publication Critical patent/JP2016126693A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/213Schema design and management with details for schema evolution support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】情報処理システムの状態の変更が行われる場合、その変更後の状態に至るまでの情報処理システムの最適な制御手順を提供することを目的とする。
【解決手段】 コンピュータが、複数の装置を含む情報処理システムの状態の変更内容を取得し、記憶装置に記憶された複数の装置の状態情報と、受信した変更内容とを用いて、変更内容による変更後の情報処理システムの状態に至るまでの遷移にて複数の装置各々がとり得る状態に基づいて状態遷移毎の情報処理システムの状態情報を生成し、記憶装置に記憶された状態遷移ルールに基づいて、生成した状態遷移毎の情報処理システムの状態情報から、変更後の情報処理システムの状態に至るまでの複数の装置の制御手順の候補を抽出し、制御手順の候補から、最も手順数が少ない制御手順を特定することにより、上記課題の解決を図る。
【選択図】図1

Description

本明細書は、制御手順方法、制御手順プログラム及び制御手順装置に関する。
顧客からのサービス要件に応じる多階層(例えば、Webサーバ層、アプリケーション(APP)サーバ層、データベース(DB)サーバ層の3階層)で形成される情報処理システムがある。WEBサーバ層やAPPサーバ層は、複数の機器から形成されている。このような情報システムでは、機器の保守する場合または機器に障害が発生した場合に、機器を待機状態/運用状態と切り替え、システム全体として停止することがないようにしている。
このようなシステムの一例として、例えば、二重化装置において、通常運用を停止することなく、運用系のモジュールと、待機系のモジュールとを、自動的にアップデートするシステムがある(例えば、特許文献1)。
特開2008−217201号公報 特開平10−143361号公報 特開2000−105750号公報
このような多階層の情報処理システムにおいて、ある階層の機能(アプリケーションプログラム)の更新処理をする場合、システムの無停止を考慮しながら機能の更新を行うことが可能である。
ところが、機能の更新が他の階層の機能に影響を及ぼす場合があり、さらに影響を受ける機能の更新順序も考慮する必要がある。例えば、情報処理システムの構成が固定であれば、予め更新手順を作成しておくことが可能である。
しかしながら、システム構成も利用状況に応じて変動するため、固定された更新手順では意味がなく、ある機能の更新処理を行うときの、現在の様々な状況から機能の更新手順を作成する必要がある。ところが、機能の特徴や機能ごとの関連などの把握は困難であるため、動的に更新手順を生成することができない。
本発明は、一側面として、情報処理システムの状態の変更が行われる場合、その変更後の状態に至るまでの情報処理システムの最適な制御手順を提供することを目的とする。
本発明の一側面に係る制御手順生成方法において、コンピュータは、次の処理を行う。すなわち、コンピュータは、複数の装置を含む情報処理システムの状態の変更内容を取得する。コンピュータは、記憶装置に記憶された複数の装置の状態情報と、受信した変更内容とを用いて、変更内容による変更後の情報処理システムの状態に至るまでの遷移にて複数の装置各々がとり得る状態に基づいて、状態遷移毎の情報処理システムの状態情報を生成する。コンピュータは、記憶装置に記憶された状態遷移ルールに基づいて、生成した状態遷移毎の情報処理システムの状態情報から、変更後の情報処理システムの状態に至るまでの複数の装置の制御手順の候補を抽出する。コンピュータは、制御手順の候補から、最も手順数が少ない制御手順を特定する。
本発明の一側面によれば、情報処理システムの状態の変更が行われる場合、その変更後の状態に至るまでの情報処理システムの最適な制御手順を提供することができる。
本実施形態における制御手順生成装置の一例を示す。 本実施形態における手順生成装置と手順生成の対象となるシステムとの例を示す。 本実施形態における新旧アプリケーションのバージョンとDBスキーマのバージョンとの組み合わせによる動作例について説明するための図である。 本実施形態における初期状態情報と終了状態情報の一例を示す。 本実施形態における状態遷移グラフと遷移ルールを利用した無停止手順生成処理フローを示す。 本実施形態におけるシステム状態テーブルの一例を示す。 本実施形態における遷移ルール適用前の状態遷移グラフの一例を示す。 本実施形態における遷移ルールの一例を示す。 図7の状態遷移グラフに遷移ルールを適用した場合の状態遷移グラフを示す。 本実施形態における遷移ルールを適用した状態遷移グラフから、初期状態から終了状態への最短遷移ルートを探索し、各遷移を手順と対応づけることを説明するための図である。 本実施形態における遷移ルール1「バージョンダウンを禁止する」を、「バージョンアップを禁止する」に置き換えた場合の手順の生成を説明するための図である。 本実施形態の実施例1におけるクラウドシステムとユーザ端末を示す。 本実施形態の実施例1におけるクラウド管理機構で管理される情報及びユーザ端末より送信される情報の一例を示す。 本実施形態の実施例1におけるシステム状態テーブルの一例を示す。 本実施形態の実施例1における遷移ルール適用前後の状態遷移グラフの一例を示す。 本実施形態の実施例1における遷移リストの一例を示す。 本実施形態の実施例1における手順リストの一例を示す。 本実施形態の実施例1における状態遷移グラフ生成処理のフローチャート(その1)を示す。 本実施形態の実施例1における状態遷移グラフ生成処理のフローチャート(その2)を示す。 本実施形態の実施例1における、遷移ルール適用前状態遷移グラフに含まれる各状態遷移が遷移ルール1を満たすかを判定する処理(S14−6)のフローチャートを示す。 本実施形態の実施例1における、遷移ルール適用前状態遷移グラフに含まれる各状態遷移が遷移ルール2を満たすかを判定する処理(S14−6)のフローチャートを示す。 本実施形態の実施例1における、遷移ルール適用前状態遷移グラフに含まれる各状態遷移が遷移ルール3を満たすかを判定する処理(S14−6)のフローチャートを示す。 本実施形態の実施例1におけるグラフ経路探索処理(S15)の詳細なフローチャートを示す。 本実施形態の実施例1における各遷移と手順との対応付け処理(S16)の詳細なフローチャートを示す。 本実施形態の実施例2における対象システムの初期状態と終了状態の説明図である。 本実施形態の実施例2における状態遷移グラフを示す。 本実施形態の実施例3における対象システムの初期状態と終了状態の説明図である。 本実施形態の実施例3における状態遷移グラフを示す。 本実施形態におけるプログラムを実行するコンピュータのハードウェア環境の構成ブロック図の一例である。
情報処理システムでは、ロードバランサ(LB)等の切り替え装置を用いて、待機系と運用系を組み合わせる場合が多い。待機系と運用系の切替を行う場合の一例としては、次の場合が想定される。
例えば、1台のロードバランサと、2台のAPPサーバと、1台のDBサーバを含む情報処理システムがあるとする。ここで、2台のAPPサーバの一方は、待機系として用いられ、他方は運用系として用いられるとする。この情報処理システムに新バージョンのプログラムを導入する場合、まず、待機系のAPPサーバで動作するアプリケーションプログラム(以下、「アプリケーション」と称する)が、バージョン2に更新される。次に、ロードバランサの設定が変更され、待機系と運用系が切り替えられる。そして、DBスキーマが、バージョン2に更新される。
このようにして、システム全体として停止することがない無停止システムが実現されている。
このような情報処理システムに関して、昨今、顧客のサービス要件に応じてシステム構成を変えることが頻繁に行われている。
ところが、システムの一部の更新が、他の部分の動作に影響を及ぼすため、更新手順(コマンド列もしくは自然言語で記述された作業の列)の決定が難しい。例えばAPPサーバ等のシステムの構成要素が複数存在するシステムにおいて、それらの構成要素を更新する場合、どのサーバから更新していくか、という順序が、サービスの停止/無停止に影響を与える。
例えば、運用系のアプリケーションを更新してしまうと、ユーザに応答を返すことが出来ない時間が発生する。また、そのアプリケーションによる計算途中のデータが失われてしまう。そのような事態を避けるには、先にロードバランサの設定を変更し、待機系と運用系とを切り替える作業が行われる。
また、例えば、アプリケーションを更新せずにDBスキーマを更新してしまうと、データアクセス時にデータ形式の不整合が発生するため、情報処理システムが正常動作しない可能性もある。
また、更新手順は、システム構成ごとに異なるため、システム構成の変更に合わせて更新手順決定(および検証)を行う必要がある。これは、更新手順において、満たすべき順序関係があったり、また、サーバの種類(ロードバランサ、Webサーバ、APPサーバ、DBサーバ)によって、現状の確認方法・サーバの更新方法が異なったりするためである。
そこで、本実施形態では、動的に変更されるシステム構成を有する情報処理システムの、マイグレーション時に行う操作手順を決定する手順生成技術について説明する。
図1は、本実施形態における制御手順生成装置の一例を示す。制御手順生成装置1は、取得部2、記憶部3、生成部4、抽出部5、特定部6を含む。
取得部2は、複数の装置を含む情報処理システムの状態の変更内容を取得する。取得部2の一例として、後述する終了状態情報34の読み込み(図12のS14)を行うCPU42が挙げられる。
記憶部3は、複数の装置の状態情報と、状態遷移ルールとを記憶する。記憶部3の一例として、後述する記憶装置47が挙げられる。複数の装置の状態情報の一例として、後述する初期状態情報33が挙げられる。状態遷移ルールの一例として、後述する遷移ルール14が挙げられる。
生成部4は、複数の装置の状態情報と、受信した変更内容とを用いて、変更内容による変更後の情報処理システムの状態に至るまでの遷移にて複数の装置各々がとり得る状態に基づいて、状態遷移毎の情報処理システムの状態情報を生成する。生成部4の一例として、後述するS14−4の処理(図18A)を行うCPU42が挙げられる。
抽出部5は、状態遷移ルールに基づいて、生成した状態遷移毎の情報処理システムの状態情報から、変更後の情報処理システムの状態に至るまでの複数の装置の制御手順の候補を抽出する。抽出部5の一例として、後述するS14−6の処理(図18B)を行うCPU42が挙げられる。
特定部6は、制御手順の候補から、最も手順数が少ない制御手順を特定する。特定部6の一例として、後述するS15の処理(図12)を行うCPU42が挙げられる。
このように構成することにより、情報処理システムの状態の変更が行われる場合、その変更後の状態に至るまでの情報処理システムの最適な制御手順を提供することができる。
生成部4は、情報処理システムの状態情報から2つの状態情報を取得して状態情報に含まれる、対応する属性同士の値を比較する。生成部4は、比較の結果、異なる属性の値が1つである状態情報同士を遷移前後の状態情報として関係付ける。
このように構成することにより、情報処理システムのとり得る全状態情報のうち隣接関係にある状態情報を相互に関係付けることができる。
遷移ルールは、次の3つを含む。1つ目の遷移ルールは、関係付けた2つの状態情報間の遷移のうちプログラムのバージョンダウンをする遷移の禁止である。2つ目の遷移ルールは、関係付けた2つの状態情報間の遷移のうち状態が変更された装置が運用中である場合の遷移の禁止である。3つ目の遷移ルールは、関係付けた2つの状態情報間の遷移のうち状態の変更が複数の機器間で動作確認がとれていないプログラムのバージョンの組み合わせである場合の遷移の禁止である。
このように構成することにより、2つの状態間の状態遷移に対して、無停止でシステムのマイグレーションを行う条件を形式化した遷移ルールを用いることにより、制御手順の候補を選択することができる。
制御手順生成装置1は、さらに、出力部7を含む。出力部7は、記憶装置に記憶された、状態が変更された場合の複数の装置のそれぞれの制御内容を用いて、特定した制御手順に含まれる各手順に、手順に対応する該装置の制御内容を対応させた制御手順情報を出力する。出力部7の一例として、後述するS16の処理(図12)を行うCPU42が挙げられる。
このように構成することにより、情報処理システムの変更に応じて、具体的な制御手順をユーザに提供することができる。
図2は、本実施形態における手順生成装置と手順生成の対象となるシステムとの例を示す。対象システム11は、LB等の切替装置により運用系のサーバと待機系のサーバとが切り替えられる情報処理システムである。図2には、対象システム例として、システム構成A,B,Cを示す。なお、図2において、太枠は、運用系を示す。
例えば、システム構成Aでは、1台のLBが2台のAPPサーバ(APP01、APP02)と接続されている。そして、APP01が運用系として有効になるようにLBが切り替えられている。一方、APP02は、待機系となっている。
例えば、システム構成Bでは、1台のロードバランLBが2台のAPPサーバ(APP01、APP02)と接続されている。2台のAPPサーバ(APP01、APP02)は、DBサーバと接続されている。そして、APP01、DBサーバが運用系として有効になるようにLBが切り替えられている。一方、APP02は、待機系となっている。
また、例えば、LBで区切られた多層型システム(例:WEB−APP−DBの3層)で、WEBサーバ、APPサーバは2台以上としてもよい。この場合、各層のWEBサーバ、APPサーバは負荷分散のために3台以上に数が増えても良い。例えば、システム構成Cでは、1台のロードバランLBが2台のWEBサーバ(WEB01、WEB02)と接続されている。2台のWEBサーバはそれぞれ、APPサーバ(APP01、APP02)と接続されている。2台のAPPサーバ(APP01、APP02)は、DBサーバと接続されている。そして、WEB01、APP01、DBサーバが運用系として有効になるようにLBが切り替えられている。一方、WEB02、APP02は、待機系となっている。
本実施形態では、対象システムを構成する各サーバのプログラムのバージョンやDBスキーマのバージョン、LBによる切替先等、各機器に設定される項目を「属性」という。また、各機器に設定される項目において、設定される値またはとり得る値を「属性値」という。
手順生成装置12は、無停止システムのマイグレーションの際の機器に関する作業を生成する。手順生成装置12は、対象システム11を構成する全機器の属性値の組を、システムの状態として取り扱う。また、機器に対する作業は、対象システムをある状態から別の状態に変化(遷移)させると考える。ここでは、マイグレーション前の初期状態と、マイグレーション後の終了状態が与えられる。具体的には、手順生成装置12は、対象システム10から、マイグレーション前の現在設定されている各機器の属性値を初期状態情報15として取得する。また、手順生成装置12は、ユーザより入力されたマイグレーション後の各機器の属性値を終了状態情報16として取得する。
ここで、マイグレーションとは、コンピュータに導入されたオペレーティングシステム(OS)やアプリケーションなどのプログラムを、古いバージョンから新しいバージョンに入れ替えることをいう。
手順生成装置12は、初期状態情報15と終了状態情報16とを用いて、その初期状態から終了状態までに、対象システムが取り得る全状態をシステム状態テーブル13として生成する。手順生成装置12は、遷移ルール14を用いて、システム状態テーブル13からその初期状態と終了状態との間をつなぐ最適な状態遷移を決定し、その状態遷移に必要なシステム中の機器に関する作業を順に出力する。これにより、マイグレーション中に実行する手順の決定が可能になる。
ここで、サーバに関する作業とは、例えばアプリケーションをダウンロードし、指定の場所に配置、設定、起動、動作確認を行う各操作を指す。また、手順とは、上記作業を特定の順に並べたものを指す。
遷移ルールについて説明する。マイグレーションの際にシステムが無停止であるためには、サーバに関する作業を並べることに加えて、無停止であることを担保するチェックの仕組みが必要である。そのために、本実施形態では、2つの状態間の状態遷移に対して、無停止システムのマイグレーション条件を形式化した遷移ルール(後述)14が定義される。
手順生成装置12は、遷移ルール14を用いて、遷移前と遷移後との状態のうち特定の属性値を比較し、遷移ルール14を満たさない設定値(属性値)の組み合わせを禁止遷移と判定する。
本実施形態では、手順生成装置12は、例えば、各機器の以下の設定値(i)〜(iii)の組み合わせを、システム状態情報として管理する。
(i)LB:振分先サーバ
(ii)WEBサーバ、APPサーバ:サーバ内のアプリケーションのバージョン
(iii)DBサーバ:DBスキーマのバージョン
さらに、無停止システムのマイグレーション条件を形式化した、以下の3つの満たすべき制約が、遷移ルール14として設定されている。
(制約1) アプリケーション及びDBスキーマのバージョンダウンを禁止する(マイグレーションが行われると、バージョンを示す数値は大きくなる。)。例えば、手順生成装置12は、状態遷移前後で設定値(ii)(iii)のそれぞれの値を比較し、遷移後の設定値が小さい場合には禁止遷移と判定する。
(制約2)運用系のサーバは更新しない。すなわち、状態遷移の前後で、アプリケーションのバージョン(ii)が変わっている場合、そのアプリケーションがインストールされたサーバが運用中であれば、遷移を禁止する。ここで、そのサーバの前段のLBの設定値を確認することにより、そのサーバが運用中であるか否かを判定することができる。例えば、クラウド管理機構が全サーバ間の接続関係を保持しているため、その情報を問い合わせることで、当該サーバの前段のLBを特定できる。
(制約3)遷移後の状態が、APPサーバのAPPプログラムのバージョン((ii))とDBサーバのスキーマのバージョン((iii))とが対応している状態であること。
例えば、旧版のAPPプログラムと新版DBスキーマの組み合わせでは、APPプログラムが誤ったデータ形式でDBにアクセスするため、異常動作となる。そのため、運用系APPサーバのアプリケーションのバージョン((ii))と、DBスキーマのバージョン((iii))とが対応していない場合には遷移を禁止する。これについて、図3を用いて説明する。
図3は、本実施形態における新旧アプリケーションのバージョンとDBスキーマのバージョンとの組み合わせによる動作例について説明するための図である。「旧版アプリケーションと旧版DBスキーマ」の組み合わせ、「新版アプリケーションと旧版DBスキーマ」の組み合わせ、及び「新版アプリケーションと新版DBスキーマ」の組み合わせでは、対象システムは正常動作する。
一方で、「旧版アプリケーションと新版DBスキーマ」の組み合わせでは、アプリケーションが正常動作しない可能性がある。例えば、DBスキーマの変更としてテーブルのカラム名を変更する場合、アプリケーションv1は変更前のカラム名でDBアクセスしてしまうと、正常動作することができない。
したがって、上述した制約3では、運用系APPサーバのアプリケーションのバージョン((ii))と、DBスキーマのバージョン((iii))とが対応していない場合には、遷移を禁止する。
図4は、本実施形態における初期状態情報と終了状態情報の一例を示す。初期状態情報15は、マイグレーション前の各機器の状態情報を示す。終了状態情報16は、マイグレーション後の各サーバの状態情報の一例を示す。
図4の場合、LBの属性値は、「APP01」、「APP02」である。APPサーバの属性値は、「v1」、「v2」である。ここで、V1は、マイグレーション前のアプリケーションまたはDBスキーマのバージョンを示す。V2は、マイグレーション後のアプリケーションまたはDBスキーマのバージョンを示す。
図5は、本実施形態における状態遷移グラフと遷移ルールを利用した無停止手順生成処理フローを示す。以下では、図5〜図11のそれぞれの図を用いて、図4を説明する。なお、本実施形態では、説明の便宜上、対象システム11として、図2のシステム構成Aを例に用いて説明する。
手順生成装置12は、初期状態情報15及び終了状態情報16に基づいて、マイグレーションの初期から終了までに取り得る対象システムの全状態((i)(ii)(iii)の組み合わせ)を計算し、システム状態テーブル13を生成する(S1)。これについては、図6を用いて説明する。
図6は、本実施形態におけるシステム状態テーブルの一例を示す。本実施形態では、対象システム11を形成する全機器の属性値の組み合わせを、システムの状態をみなす。システム状態テーブル13は、「状態」、「属性値」の項目を含む。
項目「状態No.」は、対象システム11の各状態を一意に識別するために付与される情報である。「属性値」は、マイグレーションの過程において、各機器が取り得る項目の状態を示す。図4の場合には、「属性値」として、「LBの振り分け先」(LBの属性値)、「APPサーバ01のバージョンNo.」(APPサーバ01の属性値)、「APPサーバ02のバージョンNo.」(APPサーバ02の属性値)がある。
LBの属性値としては、「APP01」、「APP02」の2つがある。APP01の属性値としては、「v1」、「v2」の2つがある。APP02の属性値としては、「v1」、「v2」の2つがある。したがって、LB,APP01、APP02の属性値の組み合わせは、2×2×2=8種類存在する。図6では、この8種類の組み合わせにより示される状態に、0〜7の一意の番号が付与されている。ここで、状態“0”には、初期状態(マイグレーション前)の属性値の組み合わせが該当する。状態“7”には、終了状態(マイグレーション後)の属性値の組み合わせが該当する。図5の説明に戻る。
次に、手順生成装置12は、システム状態テーブル13に登録された状態から順次2つの状態を取り出し、2つの状態を比較する。比較結果に基づいて、手順生成装置12は、システム状態を形成する属性値のうち、属性値の違いが1箇所である隣接関係を抽出し、(遷移ルール適用前の)状態遷移グラフを生成する(S2)。これについて、図7を用いて説明する。
図7は、本実施形態における遷移ルール適用前の状態遷移グラフの一例を示す。例えば、手順生成装置12は、システム状態テーブル13から、状態0と状態1とを取得し、状態0の属性値と、状態1の属性値とを比較する。状態0の属性値と、状態1の属性値とは、APPサーバ02の属性値(「APPサーバ02のバージョン」)が異なるだけであるので、属性値の違いが1箇所である隣接関係に該当する。そこで、図7に示すように、手順生成装置12は、状態0と状態1との間を双方向の矢印で関係付ける。ここで関係付けた矢印は、一方の状態から他方の状態への遷移を示す。
手順生成装置12は、システム状態テーブル13から、状態0と状態2とを取得し、状態0の属性値と、状態2の属性値とを比較する。状態0の属性値と、状態2の属性値とは、APPサーバ01の属性値(「APPサーバ01のバージョン」)が異なるだけであるので、属性値の違いが1箇所である隣接関係に該当する。そこで、図7に示すように、手順生成装置12は、状態0と状態2との間を双方向の矢印で関係付けて、状態間の遷移を生成する。
手順生成装置12は、システム状態テーブル13から、状態0と状態3とを取得し、状態0の属性値と、状態3の属性値とを比較する。状態0の属性値と、状態3の属性値とは、APPサーバ01の属性値(「APPサーバ01のバージョン」)とAPPサーバ02の属性値(「APPサーバ02のバージョン」)とが異なるので、属性値の違いが1箇所である隣接関係に該当しない。この場合、図7に示すように、手順生成装置12は、状態0と状態3との間を双方向の矢印で関係付けない。
この隣接関係の判定処理を、システム状態テーブル13に登録された状態のうち、2つの状態の全組み合わせについて行う。すると、図7の状態遷移グラフが得られる。図4の説明に戻る。
次に、手順生成装置は、図7の状態遷移グラフ内の遷移(矢印)のうち、図8に示す遷移ルール14を満たす遷移のみ残すことで、図9で示す(遷移ルール適用後の)状態遷移グラフを形成する(S3)。
図8は、本実施形態における遷移ルールの一例を示す。遷移ルール1として、遷移前後で、APP層のサーバ内のアプリケーションの属性値を比較し、遷移後の属性値の値が小さい場合には、その遷移を禁止することが規定されている。APP層のサーバは、WEBサーバ、APPサーバ等の、LB及びDBサーバ以外の機器を含む。
遷移ルール2として、遷移前後で、APP層のサーバの属性値が変わっている場合であって、遷移後のサーバが運用中の場合、その遷移を禁止することが規定されている。
遷移ルール3として、運用系APPサーバの属性値と、DBサーバの属性値が対応していない場合には、その遷移を禁止することが規定されている。
図9は、図7の状態遷移グラフに遷移ルールを適用した場合の状態遷移グラフを示す。手順生成装置12は、図7の状態遷移グラフ内のそれぞれ遷移(矢印)について、遷移ルール1〜3に従って、禁止する遷移を判別し、禁止する遷移を除外する。
例えば、状態1から状態0への遷移は、APPサーバ02のバージョンが下がっている。この場合、手順生成装置12は、遷移ルール1に基づいて、図7の状態遷移グラフからその遷移を削除する。
また、例えば、状態4から状態5への遷移は、遷移前後でAPPサーバ02の属性値が変わっている場合であって、遷移後のAPPサーバ02が運用中である。この場合、手順生成装置12は、遷移ルール2に基づいて、図7の状態遷移グラフからその遷移を削除する。
このように、図7の状態遷移グラフに、図8の遷移ルール14を適用すると、図9の状態遷移グラフが得られる。図4の説明に戻る。
次に、手順生成装置12は、図10に示すように、遷移ルール14を適用した状態遷移グラフから、初期状態から終了状態への最短遷移ルートを探索し、各遷移を手順と対応づける(S4)。
図10は、本実施形態における遷移ルールを適用した状態遷移グラフから、初期状態から終了状態への最短遷移ルートを探索し、各遷移を手順と対応づけることを説明するための図である。図6で説明したように、初期状態は、状態0であり、終了状態は、状態7である。この場合、図10に示すように状態0から状態7への最短遷移ルートは、状態0→状態1→状態5→状態7である。
手順生成装置12は、状態0→状態1への遷移を手順1と対応付け、状態1→状態5への遷移を手順2と対応付け、状態5→状態7への遷移を手順3と対応付ける。
本実施形態によれば、LB、WEBサーバ、APPサーバ、DBサーバを組み合わせた多重化システムにおいて、無停止条件を形式化した遷移ルールにより、無停止マイグレーション手順を自動生成することができる。
また、無停止手順が複数ある場合に、最短手順を出力することができる。例えば、図6に示すように、初期状態=0、終了状態=7を与え、最短経路を探索すると、図10に示すように、状態0→状態1→状態5→状態7(3ステップ)という遷移リストを得ることができる。また、最短で無い遷移リストとして、図10より状態0→状態4→状態6→状態2→状態3→状態7(5ステップ)もありえる。
また、遷移ルール1「バージョンダウンを禁止する」を、「バージョンアップを禁止する」に置き換えると、図11に示すように、無停止のバージョンダウン手順の生成が可能となる。
図11は、本実施形態における遷移ルール1「バージョンダウンを禁止する」を、「バージョンアップを禁止する」に置き換えた場合の手順の生成を説明するための図である。この場合、初期状態7→状態5→状態1→終了状態0の3ステップという手順が生成される。
次に、本実施形態の実施例について詳述する。
(実施例1)
図12は、本実施形態の実施例1におけるクラウドシステムとユーザ端末を示す。図12では、クラウドシステム21と、ユーザ端末26とが通信ネットワークで接続されている。クラウドシステム21は、ICT(Information and Communication Technology)リソースにより形成されている。クラウドシステム21は、手順生成装置22、クラウド管理機構23、対象システム25を含む。
対象システム25は、例えば、LB、WEBサーバ、APPサーバ、DBサーバ等を含み、システムのマイグレーションを無停止で行う。実施例1では、説明の便宜上、図2で説明したシステム構成Aを対象システム25として用いる。
クラウド管理機構23は、対象システム25を管理する管理サーバ等を含む。クラウド管理機構23の記憶装置24には、機器接続情報31、機器一覧情報32、初期状態情報33を格納する。
機器接続情報31は、対象システム25に含まれる機器間の接続関係を示す情報である。機器一覧情報32は、対象システム25に含まれる機器の一覧情報である。初期状態情報33は、対象システム25に含まれる機器(LB、WEBサーバ、APPサーバ、DBサーバ)に現在設定されている設定値(属性値)、すなわち初期状態についての情報である。
手順生成装置22は、対象システム25のマイグレーションをする場合、マイグレーションの手順を生成する情報処理装置である。なお、手順生成装置22は、クラウドシステム21の外部にあってもよい。
ユーザ端末26は、対象システム25のマイグレーションの操作をする場合にユーザによって操作される情報処理端末である。
クラウド管理機構23は、対象システム25から、対象システム25に含まれる機器に現在設定されている設定値を取得し、初期状態情報33として記憶装置24に格納する(S11)。
ユーザは、対象システム25のマイグレーションの操作手順を作成する場合、ユーザ端末16を用いて、必要に応じてクラウド管理機構23の記憶装置24に格納された機器接続情報31、機器一覧情報32、初期状態情報33を参照する(S12)。ユーザは、操作手順の作成時に必要に応じて参照した機器接続情報31、機器一覧情報32、初期状態情報33を用いて、終了状態情報34を作成する。終了状態情報34は、マイグレーション後の対象システム25に含まれる各機器の設定値の情報である。ユーザは、ユーザ端末26を用いて、終了状態情報34を含む操作手順作成要求を手順生成装置22へ送信する(S13)。
手順生成装置22は、操作手順作成要求を受信すると、機器接続情報31、機器一覧情報32、初期状態情報33、終了状態情報34を用いて、状態遷移グラフ37を作成する(S14)。
手順生成装置22は、状態遷移グラフ37から、初期状態から終了状態へ遷移する最短の経路を探索し、遷移リスト38を生成する(S15)。
手順生成装置22は、遷移リスト38を用いて、各遷移と操作手順とを対応付けた手順リスト39を作成する(S16)。手順生成装置22は、作成した手順リスト39をユーザ端末26へ応答する(S17)。
図13は、本実施形態の実施例1におけるクラウド管理機構で管理される情報及びユーザ端末より送信される情報の一例を示す。
図13(A)は、機器接続情報31の一例を示す。機器接続情報31は、機器名と、その機器名で示される機器の接続先の機器名とを関係付けて保持する情報である。
図13(B)は、機器一覧情報32の一例を示す。機器一覧情報32は、機器名と、その機器名で示される機器の役割または機能とを関係付けて保持する情報である。
図13(C)は、初期状態情報33の一例を示す。初期状態情報33は、マイグレーション前の対象システム25に含まれる機器名と、その機器の属性名と、その属性名に対応する属性値とを関係付けて保持する情報である。
図13(D)は、終了状態情報34の一例を示す。終了状態情報34は、マイグレーション後の対象システム25に含まれる機器名と、その機器の属性名と、その属性名に対応する属性値とを関係付けて保持する情報である。
なお、LBの属性は、振り分け先の後段のサーバ名であり、LBの属性に変更がない場合には、省略してもよい。
図14は、本実施形態の実施例1におけるシステム状態テーブルの一例を示す。システム状態テーブル35は、マイグレーションの過程における、対象システム25に含まれる各機器の初期状態から終了状態までの状態の属性値の組み合わせを示す。手順生成装置22は、機器接続情報31、機器一覧情報32、初期状態情報33、終了状態情報34を用いて、システム状態テーブル35を作成する。システム状態テーブル35の内容は、図6と同じなので、その説明を省略する。
図15は、本実施形態の実施例1における遷移ルール適用前後の状態遷移グラフの一例を示す。遷移ルール適用前の状態遷移グラフ36は、システム状態テーブル35に登録された状態から順次取り出した2つの状態を比較し、比較の結果、対応する属性の値の相違が1箇所である隣接関係が抽出されて生成された遷移情報である。状態遷移グラフ36は、図7の状態遷移グラフに対応する。
状態遷移グラフ37は、遷移ルール適用前の状態遷移グラフ36から、遷移ルールで禁止されている遷移を除外した遷移情報である。状態遷移グラフ37は、図9の状態遷移グラフに対応する。
いずれの状態遷移グラフ36,37も、遷移前の状態No.と、遷移後の状態No.とを対として保持している。
図16は、本実施形態の実施例1における遷移リストの一例を示す。遷移リスト37は、遷移する状態順に状態No.が登録されている。
図17は、本実施形態の実施例1における手順リストの一例を示す。手順リスト39には、遷移リスト38の登録順で状態間を遷移する順で行う操作手順が出力されている。
次に、手順生成装置22によるS14〜S17の詳細な処理について、図18〜図23を用いて説明する。
図18A及び図18Bは、本実施形態の実施例1における状態遷移グラフ生成処理のフローチャートを示す。実施例1では、終了状態情報34において、LBの属性は、LBの属性に変更がない場合には、省略可能であるとする。
機器接続情報31、機器一覧情報32、初期状態情報33、終了状態情報34を用いて、システム状態テーブル35を作成する場合、まず始めに、手順生成装置22は、次の処理を行う。すなわち、LBの属性値が終了状態情報34に含まれていないか否か、すなわち初期状態情報33に比べ、終了状態情報34の機器数が少ないか否かを判定する(S14−1)。LBの属性値が終了状態情報34に含まれている場合(S14−1で「NO」)、処理は、S14−4の処理へ進む。
LBの属性値が終了状態情報34に含まれていない場合、すなわち、初期状態情報33に比べ、終了状態情報34の機器数が少ない場合(S14−1で「YES」)、手順生成装置22は、次の処理を行う。すなわち、手順生成装置22は、機器一覧情報32に基づいて、省略された機器の役割がLBであるか否かを判定する(S14−2)。省略された機器の役割がLBでない場合(S14−2で「NO」)、本フローは終了する。
省略された機器の役割がLBである場合(S14−2で「YES」)、手順生成装置22は、機器接続情報31から、そのLBと接続されている全てのサーバを特定する。手順生成装置22は、その特定されたサーバ名を、そのLBである機器のとり得る値として取得する(S14−3)。
手順生成装置22は、初期状態情報33および終了状態情報34に含まれる各機器の属性の取り得る値の組み合わせ(システム状態情報)を、システム状態テーブル35に全て出力する(S14−4)。
手順生成装置22は、システム状態テーブル35から、2つの状態を選び、対応する属性を比較して、異なる属性値が1項目であれば、隣接関係とみなし、遷移ルール適用前状態遷移グラフ36に登録する(S14−5)。S14−5の処理は、全ての組み合わせについて行われる。
次に、手順生成装置22は、無停止手順判定処理を行う(S14−6)。手順生成装置22は、遷移ルール適用前状態遷移グラフ36に含まれる各状態遷移が遷移ルール1〜3を満たすかを判定する。ここで、遷移ルール1〜3は、図8で説明したルールと同じである。遷移ルール適用前状態遷移グラフ36から、状態遷移が遷移ルール1〜3を満たさない状態遷移を除外する。S14−6の処理の詳細については、図19〜図21を用いて説明する。
図19は、本実施形態の実施例1における、遷移ルール適用前状態遷移グラフに含まれる各状態遷移が遷移ルール1を満たすかを判定する処理(S14−6)のフローチャートを示す。遷移ルール1を用いた無停止手順判定処理は、遷移ルール適用前状態遷移グラフ36の2状態間の遷移が、プログラムのバージョンダウンであればfalseを、それ以外であればtrueを返す処理を行う。
まず、手順生成装置22は、遷移ルール適用前状態遷移グラフ36から1つのエントリ(状態遷移)を読み出す。ここで、読み出した状態遷移のうち、遷移前の状態を「stateA」、遷移後の状態を「stateB」と定義する(S14−6−11)。
手順生成装置22は、機器一覧情報32とシステム状態テーブル35を用いて、読み出した状態遷移がどの機器の状態遷移であるかを判定する(S14−6−12)。読み出した状態遷移がLBの状態遷移である場合、手順生成装置22は、「true」を返す(S14−6−14)。
読み出した状態遷移がWEBサーバ、APPサーバ、またはDBサーバの状態遷移である場合、手順生成装置22は、変更されたWEBサーバ、APPサーバ、またはDBサーバのバージョンを比較する。その比較結果、手順生成装置22は、stateBの属性値よりもstateAの属性値が大きいか否かを判定する(S14−6−13)。
stateBの属性値よりもstateAの属性値が大きい場合(S14−6−13で「YES」)、手順生成装置22は、「false」を返す(S14−6−15)。一方、stateAの属性値がstateBの属性値以下である場合(S14−6−13で「NO」)、手順生成装置22は、「true」を返す(S14−6−14)。
遷移ルール適用前状態遷移グラフ36の全エントリ分、本フローチャートの処理を繰り返す。
図20は、本実施形態の実施例1における、遷移ルール適用前状態遷移グラフに含まれる各状態遷移が遷移ルール2を満たすかを判定する処理(S14−6)のフローチャートを示す。遷移ルール2を用いた無停止手順判定処理は、状態間の遷移が、LBが向いている先のサーバの変更であればfalseを返し、それ以外であればtrueを返す処理を行う。
まず、手順生成装置22は、遷移ルール適用前状態遷移グラフ36から1つのエントリ(状態遷移(遷移前の状態:stateA、遷移後の状態:stateB))を読み出す。(S14−6−11)。
手順生成装置22は、機器接続情報31、機器一覧情報32、システム状態テーブル35を用いて、読み出した状態遷移がどの機器の状態遷移であるかを判定する(S14−6−22)。読み出した状態遷移がLBの状態遷移である場合、手順生成装置22は、「true」を返す(S14−6−24)。
読み出した状態遷移がWEBサーバまたはAPPサーバの状態遷移である場合、手順生成装置22は、LBの振向先機器が、遷移前後で状態に変更のある機器に該当するか否かを判定する(S14−6−23)。
LBの振向先機器が、遷移前後で状態に変更のある機器に該当する場合(S14−6−23で「YES」)、手順生成装置22は、「false」を返す(S14−6−25)。一方、遷移前後で状態に変更のある機器に該当しない場合(S14−6−23で「NO」)、手順生成装置22は、「true」を返す(S14−6−24)。
遷移ルール適用前状態遷移グラフ36の全エントリ分、本フローチャートの処理を繰り返す。
図21は、本実施形態の実施例1における、遷移ルール適用前状態遷移グラフに含まれる各状態遷移が遷移ルール3を満たすかを判定する処理(S14−6)のフローチャートを示す。遷移ルール3を用いた無停止手順判定処理は、遷移後のLBの振向先のアプリケーションのバージョンとDBスキーマのバージョンとが、「旧版APP」と「新版DB」の組み合わせであれば「false」を返し、それ以外であれば「true」を返す。
まず、手順生成装置22は、遷移ルール適用前状態遷移グラフ36から1つのエントリ(状態遷移(遷移前の状態:stateA、遷移後の状態:stateB))を読み出す。(S14−6−31)。
手順生成装置22は、機器接続情報31、機器一覧情報32、システム状態テーブル35を用いて、読み出した状態遷移がどの機器の状態遷移であるかを判定する(S14−6−32)。読み出した状態遷移がLB及びDBサーバ以外の機器の状態遷移である場合、手順生成装置22は、「true」を返す(S14−6−34)。
読み出した状態遷移がLBまたはDBサーバの状態遷移である場合、手順生成装置22は、次の処理を行う。すなわち、手順生成装置22は、初期状態情報33及び終了状態情報34に基づいて、遷移後のLBの振向先の機器のアプリケーションのバージョンが初期状態の版で、かつ、DBスキーマのバージョンが終了状態の版であるか否かを判定する(S14−6−33)。
遷移後のLBの振向先の機器のアプリケーションのバージョンが初期状態の版で、かつ、DBスキーマのバージョンが終了状態の版である場合(S14−6−33で「YES」)、手順生成装置22は、「false」を返す(S14−6−35)。一方、遷移後のLBの振向先の機器のアプリケーションのバージョンが初期状態の版でなく、または、DBスキーマのバージョンが終了状態の版でない場合(S14−6−33で「NO」)、手順生成装置22は、「true」を返す(S14−6−34)。
遷移ルール適用前状態遷移グラフ36の全エントリ分、本フローチャートの処理を繰り返す。
図22は、本実施形態の実施例1におけるグラフ経路探索処理(S15)の詳細なフローチャートを示す。手順生成装置22は、初期状態情報33、終了状態情報34、システム状態テーブル35、状態遷移グラフ37を用いて、状態遷移グラフ37から、初期状態から終了状態に至る最短経路を探索する(S15−1)。最短経路の探索処理には、例えば、ダイクストラ法等のアルゴリズムを用いても良い。
最短経路が探索された場合(S15−2で「YES」)、手順生成装置22は、その探索された経路を遷移リスト38として出力する(S15−3)。最短経路が探索されなかった場合(S15−2で「NO」)、例外処理が発生する(S15−4)。
図23は、本実施形態の実施例1における各遷移と手順との対応付け処理(S16)の詳細なフローチャートを示す。図23のフローでは、手順生成装置22は、遷移リスト38のそれぞれの遷移を、以下の手順に対応付ける。すなわち、LBの設定値が変わる遷移は、LBの振分先を、指定のサーバに変更する手順に対応付ける。WEB/APP/DBの設定値が変わる遷移は、アプリケーションまたはDBスキーマを、指定の属性値(アプリケーションまたはDBスキーマのバージョン)にする手順に対応付ける。
まず、手順生成装置22は、手順リスト39を初期化する(S16−1)。手順生成装置22は、遷移リスト38を読み出す(S16−2)。
手順生成装置22は、遷移リスト38から1ステップの遷移前後の2状態を読み出す。手順生成装置22は、システム状態テーブル35から、その読み出した2状態の変更箇所の、機器名、属性名及び属性値を取得する(S16−3)。
手順生成装置22は、機器一覧情報32に基づいて、S16−3で取得した機器の役割を判定する(S16−4)。
機器の役割が「LB」である場合、手順生成装置22は、手順リスト39に、「LBの向きを、遷移先状態のLBの値に切り替える」という手順を追加する(S16−5)。
機器の役割が「WEBサーバ」または「APPサーバ」である場合、手順生成装置22は、手順リスト39に、「変更のあるサーバに、遷移先状態のバージョンを配備する」という手順を追加する(S16−6)。
機器の役割が「DBサーバ」である場合、手順生成装置22は、手順リスト39に、「変更のあるDBサーバに、遷移先状態のスキーマのバージョンを配備する」という手順を追加する(S16−7)。
機器の役割が「LB」「WEBサーバ」「APPサーバ」及び「DBサーバ」のいずれにも該当しない場合、例外処理が発生する(S16−8)。
手順生成装置22は、S16−3〜S16−8の処理を、遷移リスト38の状態遷移の全ステップ分繰り返し、手順リスト39を出力する。
(実施例2)
実施例2は、対象システムとして、図2のシステム構成Bを用いた場合の実施例である。
図24は、本実施形態の実施例2における対象システムの初期状態と終了状態の説明図である。初期状態では、運用系は、APP01サーバ(アプリケーションのバージョン:v1)、DBサーバ(スキーマのバージョン:v1)である。待機系は、APP02サーバ(アプリケーションのバージョン:v1)である。
終了状態では、運用系は、APP02サーバ(アプリケーションのバージョン:v2)、DBサーバ(スキーマのバージョン:v2)である。待機系は、APP01サーバ(アプリケーションのバージョン:v1)である。
図25は、本実施形態の実施例2における状態遷移グラフを示す。図25内のそれぞれの楕円は、図24のシステム状態情報を示す。システム状態情報は、4桁のビットで表示される。4桁のビットについて左から、LBの状態、APP01の状態、APP02の状態、DBの状態を示す。「0」は、その機器の状態について変更がないことを示す。「1」は、その機器の状態について変更があることを示す。
システム構成が図24の場合、遷移ルール1〜3から、図25の状態遷移グラフと、初期状態から終了状態までの最短経路である3ホップの状態遷移経路と、無停止マイグレーション手順とが得られる。3ホップの状態遷移経路とは、「0000」→「0010」→「1010」→「1011」の経路である。
(実施例3)
実施例3は、対象システムとして、図2のシステム構成Cを用いた場合の実施例である。
図26は、本実施形態の実施例3における対象システムの初期状態と終了状態の説明図である。初期状態では、運用系は、WEB01サーバ(アプリケーションのバージョン:v1)、APP01サーバ(アプリケーションのバージョン:v1)、DBサーバ(スキーマのバージョン:v1)である。待機系は、WEB02サーバ(アプリケーションのバージョン:v1)、APP02サーバ(アプリケーションのバージョン:v1)である。
終了状態では、運用系は、WEB02サーバ(アプリケーションのバージョン:v2)、APP02サーバ(アプリケーションのバージョン:v2)、DBサーバ(スキーマのバージョン:v2)である。待機系は、WEB01サーバ(アプリケーションのバージョン:v1)、APP01サーバ(アプリケーションのバージョン:v1)である。
図27は、本実施形態の実施例3における状態遷移グラフを示す。図27内のそれぞれの楕円は、図26のシステム状態情報を示す。システム状態情報は、6桁のビットで表示される。6桁のビットについて左から、LBの状態、WEB01の状態、APP01の状態、WEB02の状態、APP02の状態、DBの状態を示す。「0」は、その機器の状態について変更がないことを示す。「1」は、その機器の状態について変更があることを示す。
システム構成が図26の場合、遷移ルール1〜3から、図25の状態遷移グラフと、初期状態から終了状態までの最短経路である4ホップの状態遷移経路と、無停止マイグレーション手順とが得られる。4ホップの状態遷移経路とは、「000000」→「000010」→「000110」→「100110」→「100111」または「000000」→「000100」→「000110」→「100110」→「100111」の経路である。このように、ホップ数が同数の状態遷移が複数ある場合がある。実施例3では、先に終了状態に達した状態遷移(に対応する手順)を返すが、どちらを経路も遷移ルールを満たすため、どちらを選んでも問題ない。この例では、WEB→APPの順か、APP→WEBの順が異なるだけでなる。
図28は、本実施形態におけるプログラムを実行するコンピュータのハードウェア環境の構成ブロック図の一例である。コンピュータ40は、手順生成装置22として機能する。コンピュータ40は、CPU42、ROM43、RAM46、通信I/F44、記憶装置47、出力I/F41、入力I/F45、読み取り装置48、バス49、出力機器51、入力機器52によって構成されている。
ここで、CPUは、中央演算装置を示す。ROMは、リードオンリメモリを示す。RAMは、ランダムアクセスメモリを示す。I/Fは、インターフェースを示す。バス49には、CPU42、ROM43、RAM46、通信I/F44、記憶装置47、出力I/F41、入力I/F45、及び読み取り装置48が接続されている。読み取り装置48は、可搬型記録媒体を読み出す装置である。出力機器51は、出力I/F41に接続されている。入力機器52は、入力I/F45に接続にされている。
記憶装置47としては、ハードディスク、フラッシュメモリ、磁気ディスクなど様々な形式の記憶装置を使用することができる。記憶装置47またはROM43には、CPU42を取得部2、記憶部3、生成部4、抽出部5、特定部6、出力部7として機能させる本実施形態に係るプログラムが格納されている。また、記憶装置47は、機器接続情報31、機器一覧情報32、初期状態情報33、終了状態情報34、システム状態テーブル35、状態遷移グラフ36,37、遷移リスト38、手順リスト39、遷移ルール1〜3(14)等を格納する。RAM46には、情報が一時的に記憶される。
CPU42は、制御部22として、記憶装置47またはROM43から本実施形態に係るプログラムを読み出し、当該プログラムを実行する。
上記実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワーク50、および通信I/F44を介して、例えば記憶装置47に格納されてもよい。また、上記実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置48にセットされて、CPU42によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカード、USBメモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読み取り装置48によって読み取られる。
また、入力機器52には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレットなどを用いることが可能である。また、出力機器51には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク50は、インターネット、LAN、WAN、専用線、有線、無線等の通信網であってよい。
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
1 制御手順生成装置
2 取得部
3 記憶部
4 生成部
5 抽出部
6 特定部
7 出力部
11 対象システム
12 手順生成装置
13 システム状態テーブル
14 遷移ルール
15 初期状態情報
16 終了状態情報
21 クラウドシステム
22 手順生成装置
23 クラウド管理機構
24 記憶部
25 対象システム
26 ユーザ端末
31 機器接続情報
32 機器一覧情報
33 初期状態情報
34 終了状態情報
35 システム状態テーブル
36 遷移ルール適用前状態遷移グラフ
37 状態遷移グラフ
38 遷移リスト
39 手順リスト

Claims (6)

  1. コンピュータが、
    複数の装置を含む情報処理システムの状態の変更内容を取得し、
    記憶装置に記憶された前記複数の装置の状態情報と、受信した前記変更内容とを用いて、該変更内容による変更後の情報処理システムの状態に至るまでの遷移にて前記複数の装置各々がとり得る状態に基づいて状態遷移毎の該情報処理システムの状態情報を生成し、
    前記記憶装置に記憶された状態遷移ルールに基づいて、生成した前記状態遷移毎の情報処理システムの状態情報ら、前記変更後の情報処理システムの状態に至るまでの前記複数の装置の制御手順の候補を抽出し、
    前記制御手順の候補から、最も手順数が少ない制御手順を特定する
    ことを特徴とする制御手順生成方法。
  2. 前記状態情報の生成において、
    前記情報処理システムの状態情報から2つの状態情報を取得して該状態情報に含まれる、対応する属性同士の値を比較し、比較の結果、異なる属性の値が1つである該状態情報同士を遷移前後の状態情報として関係付ける
    ことを特徴とする請求項1に記載の制御手順生成方法。
  3. 前記遷移ルールは、関係付けた2つの状態情報間の遷移のうちプログラムのバージョンダウンをする遷移の禁止、前記関係付けた2つの状態情報間の遷移のうち前記状態が変更された装置が運用中である場合の該遷移の禁止、前記関係付けた2つの状態情報間の遷移のうち前記状態の変更が前記複数の機器間で動作確認がとれていないプログラムのバージョンの組み合わせである場合の該遷移の禁止を含む
    ことを特徴とする請求項2に記載の制御手順生成方法。
  4. 前記制御手順算出方法は、さらに、
    前記記憶装置に記憶された、状態が変更された場合の前記複数の装置のそれぞれの制御内容を用いて、特定した前記制御手順に含まれる各手順に、該手順に対応する該装置の制御内容を対応させた制御手順情報を出力する
    ことを特徴とする請求項1〜3のうちいずれか1項に記載の制御手順生成方法。
  5. コンピュータに、
    複数の装置を含む情報処理システムの状態の変更内容を取得し、
    記憶装置に記憶された前記複数の装置の状態情報と、受信した前記変更内容とを用いて、該変更内容による変更後の情報処理システムの状態に至るまでの遷移にて該複数の装置各々がとり得る状態に基づいて状態遷移毎の該情報処理システムの状態情報を生成し、
    前記記憶装置に記憶された状態遷移ルールに基づいて、生成した前記状態遷移毎の情報処理システムの状態情報から、前記変更後の情報処理システムの状態に至るまでの前記複数の装置の制御手順の候補を抽出し、
    前記制御手順の候補から、最も手順数が少ない制御手順を特定する
    処理を実行させる制御手順生成プログラム。
  6. 複数の装置を含む情報処理システムの状態の変更内容を取得する取得部と、
    前記複数の装置の状態情報と、状態遷移ルールとを記憶する記憶部と、
    前記複数の装置の状態情報と、受信した前記変更内容とを用いて、該変更内容による変更後の情報処理システムの状態に至るまでの遷移にて前記複数の装置各々がとり得る状態に基づいて状態遷移毎の該情報処理システムの状態情報を生成する生成部と、
    前記状態遷移ルールに基づいて、生成した前記状態遷移毎の情報処理システムの状態情報から、前記変更後の情報処理システムの状態に至るまでの前記複数の装置の制御手順の候補を抽出する抽出部と、
    前記制御手順の候補から、最も手順数が少ない制御手順を特定する特定部と、
    ことを特徴とする制御手順生成装置。
JP2015002145A 2015-01-08 2015-01-08 制御手順方法、制御手順プログラム及び制御手順装置 Pending JP2016126693A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015002145A JP2016126693A (ja) 2015-01-08 2015-01-08 制御手順方法、制御手順プログラム及び制御手順装置
US14/948,828 US20160203007A1 (en) 2015-01-08 2015-11-23 Method for control procedure, recording medium, and apparatus for control procedure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015002145A JP2016126693A (ja) 2015-01-08 2015-01-08 制御手順方法、制御手順プログラム及び制御手順装置

Publications (1)

Publication Number Publication Date
JP2016126693A true JP2016126693A (ja) 2016-07-11

Family

ID=56357997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015002145A Pending JP2016126693A (ja) 2015-01-08 2015-01-08 制御手順方法、制御手順プログラム及び制御手順装置

Country Status (2)

Country Link
US (1) US20160203007A1 (ja)
JP (1) JP2016126693A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017138506A1 (ja) * 2016-02-08 2017-08-17 日本電気株式会社 変更手順生成システム、変更手順生成方法およびプログラム記録媒体
WO2017154763A1 (ja) * 2016-03-10 2017-09-14 日本電気株式会社 変更手順生成装置、変更手順生成方法および変更手順生成プログラムを記憶する記憶媒体
WO2018230352A1 (ja) * 2017-06-14 2018-12-20 日本電気株式会社 変更手順生成装置、変更手順生成方法および変更手順生成プログラム
CN110780922A (zh) * 2019-10-22 2020-02-11 珠海格力电器股份有限公司 指令生成方法、装置、电子设备及存储介质
JPWO2019155827A1 (ja) * 2018-02-06 2021-02-04 日本電気株式会社 システム更新装置およびシステム更新方法
JP2022502738A (ja) * 2019-08-29 2022-01-11 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 スマートコントラクトに基づくデータ処理方法、データ処理装置、ノード機器、及びコンピュータプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210365637A1 (en) * 2019-01-10 2021-11-25 Brane Cognitives Pte. Ltd. Natural solution language
CA3122078A1 (en) * 2019-01-10 2020-07-16 Brane Cognitives Pte. Ltd. Methods and systems for building a computer-implemented solution using a natural language understood and input by users

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7508985B2 (en) * 2003-12-10 2009-03-24 International Business Machines Corporation Pattern-matching system
US7613858B1 (en) * 2005-01-24 2009-11-03 Altera Corporation Implementing signal processing cores as application specific processors
JP5149225B2 (ja) * 2009-03-16 2013-02-20 株式会社東芝 テストケース生成装置およびテストケース生成方法
US9571591B2 (en) * 2011-12-28 2017-02-14 Dynatrace Llc Method and system for tracing end-to-end transaction which accounts for content update requests
US9356842B2 (en) * 2012-11-09 2016-05-31 Dynatrace Llc Method and system for browser based, non-intrusive measuring of end-user perceived performance of individual third party resource requests
US9817884B2 (en) * 2013-07-24 2017-11-14 Dynatrace Llc Method and system for real-time, false positive resistant, load independent and self-learning anomaly detection of measured transaction execution parameters like response times
US9514165B2 (en) * 2014-01-24 2016-12-06 Netapp, Inc. Method and system for handling lock state information at storage system nodes

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017138506A1 (ja) * 2016-02-08 2017-08-17 日本電気株式会社 変更手順生成システム、変更手順生成方法およびプログラム記録媒体
WO2017154763A1 (ja) * 2016-03-10 2017-09-14 日本電気株式会社 変更手順生成装置、変更手順生成方法および変更手順生成プログラムを記憶する記憶媒体
WO2018230352A1 (ja) * 2017-06-14 2018-12-20 日本電気株式会社 変更手順生成装置、変更手順生成方法および変更手順生成プログラム
JPWO2018230352A1 (ja) * 2017-06-14 2020-04-09 日本電気株式会社 変更手順生成装置、変更手順生成方法および変更手順生成プログラム
US11429398B2 (en) 2017-06-14 2022-08-30 Nec Corporation Change procedure generation device, change procedure generation method, and change procedure generation program
JPWO2019155827A1 (ja) * 2018-02-06 2021-02-04 日本電気株式会社 システム更新装置およびシステム更新方法
JP7024804B2 (ja) 2018-02-06 2022-02-24 日本電気株式会社 システム更新装置およびシステム更新方法
JP2022502738A (ja) * 2019-08-29 2022-01-11 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 スマートコントラクトに基づくデータ処理方法、データ処理装置、ノード機器、及びコンピュータプログラム
JP7199775B2 (ja) 2019-08-29 2023-01-06 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 スマートコントラクトに基づくデータ処理方法、データ処理装置、ノード機器、及びコンピュータプログラム
CN110780922A (zh) * 2019-10-22 2020-02-11 珠海格力电器股份有限公司 指令生成方法、装置、电子设备及存储介质
CN110780922B (zh) * 2019-10-22 2022-06-17 珠海格力电器股份有限公司 指令生成方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US20160203007A1 (en) 2016-07-14

Similar Documents

Publication Publication Date Title
JP2016126693A (ja) 制御手順方法、制御手順プログラム及び制御手順装置
US10621211B2 (en) Language tag management on international data storage
US7296012B2 (en) Method of and apparatus for multimedia processing, and computer product
US8655921B2 (en) True/false decision method for deciding whether search query containing logical expression is true or false
CN105610903A (zh) 分布式***的数据节点升级方法及装置
JP2016015026A (ja) 作業対象確定プログラム、作業対象確定装置及び作業対象確定方法
US9300522B2 (en) Information technology asset management
US10999369B2 (en) Network topology templates for internal states of management and control planes
JP6801086B2 (ja) プログラム開発支援装置、プログラム開発支援方法、及びプログラム開発支援プログラム
JP2010176162A (ja) 電源設計プログラム、方法並びに装置及びコンピュータネットワーク
US10169737B2 (en) Converting assets for reuse during manufacturing
US20100023147A1 (en) Reconfiguration of assets for reuse during manufacturing
JP6459267B2 (ja) テストケース生成プログラム、テストケース生成方法及びテストケース生成装置
CN108052335A (zh) 数据管理方法、装置、计算设备及存储介质
JP5648336B2 (ja) 不整合検出装置、プログラム及び方法、修正支援装置、プログラム及び方法
CN110321132B (zh) 一种代码发布方法和装置
JP6705482B2 (ja) システム構築パラメータ管理装置、システム構築パラメータ管理システム、システム構築パラメータ管理方法、及び、システム構築パラメータ管理プログラム
US9582624B2 (en) Circuit component migration method and apparatus
CN114118078A (zh) 制作辅助装置、制作辅助方法及记录介质
US20140181138A1 (en) Estimating risk of building a computing system
US10180830B2 (en) Information processing device, deployment method, and recording medium
JP2005202771A (ja) 設計支援システム
JP2015207059A (ja) 手順作成プログラム、手順作成方法及び手順作成装置
US10095781B2 (en) Reuse of documentation components when migrating into a content management system
CN109710293B (zh) 文件的处理方法、装置、电子设备及存储介质