Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6897866B2 - システム更新装置およびシステム更新方法 - Google Patents
[go: Go Back, main page]

JP6897866B2 - システム更新装置およびシステム更新方法 - Google Patents

システム更新装置およびシステム更新方法 Download PDF

Info

Publication number
JP6897866B2
JP6897866B2 JP2020510494A JP2020510494A JP6897866B2 JP 6897866 B2 JP6897866 B2 JP 6897866B2 JP 2020510494 A JP2020510494 A JP 2020510494A JP 2020510494 A JP2020510494 A JP 2020510494A JP 6897866 B2 JP6897866 B2 JP 6897866B2
Authority
JP
Japan
Prior art keywords
procedure
work
state
update
reverse
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020510494A
Other languages
English (en)
Other versions
JPWO2019187974A1 (ja
Inventor
拓也 桑原
拓也 桑原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2019187974A1 publication Critical patent/JPWO2019187974A1/ja
Application granted granted Critical
Publication of JP6897866B2 publication Critical patent/JP6897866B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3856Reordering of instructions, e.g. using queues or age tags

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、システム更新装置およびシステム更新方法に関する。
システムの管理者は、システム構築作業用の手順やシステム更新作業用の手順を、例えば、手順の雛形が蓄積されている記憶部から取得された適切な雛形を基に開発する。しかし、管理者には、状況に応じて手順を最初から手動で開発することが求められる場合がある。
例えば、システム更新作業が実行される際、更新前の現在のシステム構成と更新後の目的のシステム構成に対して適切な手順の雛形が記憶部に蓄積されていない場合、管理者には、適切な手順を最初から手動で開発することが求められる。
上記のように、要求に応じた手順が手動で開発されるシステム構築作業およびシステム更新作業を、命令的システム構築作業および命令的システム更新作業と呼ぶ。特に、命令的システム更新作業には、更新作業自体が複雑であることが多いため、手順の開発工数が膨大になるという問題がある。
命令的システム構築作業および命令的システム更新作業に対して、要求に応じた手順が自動で生成されるシステム構築作業およびシステム更新作業を、宣言的システム構築作業および宣言的システム更新作業と呼ぶ。宣言的システム構築作業および宣言的システム更新作業では、部品等のシステムの構成要素、および構成要素同士の関係性が記憶部に蓄積されている。
例えば、宣言的システム更新作業では、蓄積されている情報が用いられて、現在のシステム構成と目的のシステム構成とがそれぞれ構成要素に分解される。次いで、分解された各構成の構成要素同士が比較されることによって、現在のシステム構成を目的のシステム構成に更新可能な作業手順が、更新作業が実行される度に生成される。
上記のように、宣言的システム更新作業には、手動での手順の開発が不要になるという利点がある。すなわち、宣言的システム更新作業は、システムの構成を更新目的の構成に自動で更新する作業である。また、宣言的システム構築作業は、構築目的の構成のシステムを自動で構築する作業である。
上記の宣言的システム構築技術および宣言的システム更新技術を用いて、現在のシステム構成と目的のシステム構成との差分を基に構築手順や更新手順を自動で生成する技術として、例えば非特許文献1〜非特許文献3にそれぞれ記載されている各手順生成装置がある。図32は、一般的な手順生成装置による手順の自動生成処理の例を示す説明図である。
図32に示すように、手順生成装置には、構成情報としてシステムの構成管理部から現在のシステム構成が入力される。また、手順生成装置には、構成情報としてシステムの管理者から目的のシステム構成が入力される。
図32に示す手順生成装置は、入力された各構成情報をコンパイルすることによって、現在のシステム構成の状態を示す状態情報と、目的のシステム構成の状態を示す状態情報とをそれぞれ生成する。なお、状態情報は、上述したシステムの構成要素、および構成要素同士の関係性を示す。
次いで、図32に示す手順生成装置は、生成された各状態情報を比較することによって、現在のシステム構成の状態と目的のシステム構成の状態との差分である状態差分をとる。次いで、手順生成装置は、状態差分を用いて現在のシステム構成を目的のシステム構成に更新可能な作業手順を探索する。
手順探索が行われた結果、図32に示すようなWorkflowが生成される。また、図32に示すように、Workflowを構成する各手順は、各システムでそれぞれ実行される。すなわち、図32に示す手順生成装置を用いて作業手順を開発する管理者は、目的のシステム構成を入力するだけで比較的信頼性の高い作業手順を自動的に取得できる。
また、特許文献1にも、複数の情報処理装置へのソフトウェア更新作業を動作確認作業を含めて自動化し、もってシステム管理者の負荷を軽減させることができるソフトウェア更新装置が記載されている。
また、特許文献2にも、関係する複数の構成要素に対する複数の作業の実行順序を特定する運用手順書管理方法が記載されている。
また、特許文献3には、ファームウェア保存用の不揮発性メモリ容量を小さく抑えながらも、更新中不具合に対応でき、更新に伴うシステム停止時間の短いファームウェア更新装置が記載されている。
また、非特許文献4には、MaxSATソルバに関する事項が記載されている。
特開2006−119848号公報 特開2017−162256号公報 国際公開第2010/035596号
T. Kuroda and A. Gokhale, "Model-Based IT Change Management for Large System Definitions with State-Related Dependencies," 2014 IEEE 18th International Enterprise Distributed Object Computing Conference, Ulm, 2014, pages 170-179. T. Kuroda, M. Nakanoya, A. Kitano and A. Gokhale, "The configuration-oriented planning for fully declarative IT system provisioning automation," NOMS 2016 - 2016 IEEE/IFIP Network Operations and Management Symposium, Istanbul, 2016, pages 808-811. M. Nakanoya, T. Kuroda and A. Kitano, "Automated Change Planning for Differential Update IT Systems with State Constraint," 2016 IEEE 20th International Enterprise Distributed Object Computing Workshop (EDOCW), Vienna, 2016, pages 130-138. C. Muise, S. A. McIlraith and J. C. Beck, "Optimally relaxing partial-order plans with MaxSAT," In Proceedings of the 22nd International Conference on Automated Planning and Scheduling, 2012, pages 358-362.
一般的に、構築作業の手順および更新作業の手順が開発される際、例外が発生した時に実行される作業の手順であるロールバック手順(例外対応手順)の開発も作業が実行される度に求められる。
求められるロールバック手順は、例えば通常手順を構成する次の実行対象のタスクが実行不可能である場合に、システムの状態を初期状態に戻すために用いられる手順である。なお、初期状態は、作業が実行される前のシステムの状態である。
発生する例外として、例えばリソースの不足、ユーザ割り込みによる停止、更新された後のファームウェアにおける異常の発生、実行予定時間の延長が考えられる。また、例外状態は、通常手順の実行中に発生する可能性がある対象システムの状態以外の対象システムの状態である。
例えば、電気通信事業者(キャリア)が設けている通信ネットワークが提供する通信サービスの停止が発生した場合、事業者にとって損害額が大きい。また、通信サービスの停止が発生した場合、電気通信事業者には、関係省庁へ障害を報告することも求められる。
上記のように、通信ネットワークの運用では、例外が発生した場合に速やかに通信サービスを復旧させることが要求されるため、安全な復旧作業の計画が予め求められる。例えば、「例外が発生しても高々30分以内に復旧できることを保証する」という復旧作業の計画が求められる。
図32に示す手順生成装置では、ロールバック手順を生成することが想定されていない。よって、例外が発生した時に手順生成装置が単純に利用される場合、システムの状態を例外が発生した時の状態から初期状態へ遷移させるためのロールバック手順が、例外が発生する度に生成される。次いで、生成されたロールバック手順が実行される。
しかし、手順生成装置がロールバック可能な手順を生成できない場合、管理者は、例外への対応に失敗してしまう。また、手順生成装置がロールバック手順を生成するための計算処理の実行に長い時間を掛けた場合、例外への対応が遅れてしまう可能性もある。
従って、安全な復旧作業の計画を基に生成されるロールバック手順は、例外が発生する可能性がある全ての時点に対して事前に用意されることが好ましい。なお、全ての時点は、基本的に構築作業中の全時点、または更新作業中の全時点である。
上記の「例外が発生する可能性がある全ての時点に対してロールバック手順を事前に用意する」という設計思想に基づいて実行されるシステム更新処理を図33に示す。図33は、システム更新装置によるシステム更新処理の例を示す説明図である。
管理者は、例えばシステム更新装置に、現在のシステム構成を示す構成要素モデルと、変更目的のシステム構成を示す構成要素モデルとを入力する(ステップS001)。システム更新装置は、入力された各構成要素モデルを基に更新作業手順を設計する(ステップS002)。
また、上記の設計思想に基づいて構築されているシステム更新装置は、例外が発生する可能性がある更新作業中の全ての時点に対するロールバック手順をそれぞれ設計する(ステップS003)。システム更新装置は、設計されたロールバック手順群を記憶部に保存する(ステップS004)。
次いで、システム更新装置は、設計された更新作業手順に従って対象システムの構成を変更する(ステップS005)。ステップS005の処理が実行されることによって、対象システムの状態が、初期状態から目的状態へ遷移する。なお、目的状態は、作業が実行された後のシステムの状態である。
また、更新作業手順の実行中に例外が発生した時、システム更新装置は、例外が発生した時のシステムの状態に対応するロールバック手順を記憶部から取得する。次いで、システム更新装置は、取得されたロールバック手順に従ってロールバックを実行する(ステップS006)。ステップS006の処理が実行されることによって、対象システムの状態が、例外が発生した時の状態から初期状態へ遷移する。
すなわち、図33に示すシステム更新処理において、ロールバック手順は、予め構成要素モデルの情報を基に網羅的に設計される。よって、例外が発生した時、システム更新装置は、障害状態から直ちに初期状態へ対象システムの状態をロールバックできる。
しかし、図33に示すシステム更新処理には、事前にロールバック手順を用意する対象になる更新作業中の状態が多いという課題がある。例えば、更新作業中に発生する可能性がある状態が全部で149通り存在する場合、システム更新装置には、149通りのロールバック手順を事前に用意することが求められる。
よって、更新作業中の各状態にロールバック手順を準備する方法が採用された場合、ロールバック手順の準備に要するリソース量(特に、計算処理に要するリソース量)が膨大になる恐れがある。
また、更新作業手順がタスクの半順序集合で表される場合、所定のタスクの実行中に発生する状態は1つに定まらない。順序集合は、順序の概念が定義された集合である。順序集合のうち、半順序集合は、要素間の順序の比較が不可能なケースが許容されている順序集合である。また、順序集合のうち、全順序集合は、要素間の順序の比較が不可能なケースが許容されていない順序集合である。
すなわち、全順序集合で表される手順(以下、全順序手順という。)は、タスクが一列に並べられた直列な手順である。また、半順序集合で表される手順(以下、半順序手順という。)は、2つ以上のタスクが順不同に実行可能に並べられた手順である。図34は、半順序手順の例を示す説明図である。
図34に示す半順序手順は、OpenStack (登録商標)を用いて2つの仮想マシンを構築し、それぞれをアプリケーションサーバとデータベースサーバとして起動させるための手順である。
図34に示す1つの矩形は、1つのタスクを表す。黒色の矩形は、実行済みのタスクを表す。また、白色の矩形は、未実行のタスクを表す。また、図34に示す矢印は、先に実行されるタスクから後に実行されるタスクに向けて伸びている。
図34に示す半順序手順において、並列に実行可能なタスクの実行順序は、実行時の状況に応じて異なる。例えば、図34に示すタスク「Create serverXml1 」、タスク「Make directory C」、タスク「Create DBInstance YY」の実行順序は決まっていない。
すなわち、図34に示すような半順序手順に従ってシステムの構築やシステムの更新が実行される場合、実行中に発生する可能性があるシステムの状態は、全順序手順が用いられる場合に比べて多い。半順序手順が用いられる場合、ロールバック手順の準備に要するリソース量がさらに増える可能性が高い。
ロールバック手順の準備に要するリソース量を削減する方法として、例えば、特許文献3には、更新作業手順に含まれている作業と逆の作業を生成し、生成された逆の作業を更新作業手順と逆の順序で並べることによって簡易的にロールバック手順を生成する方法が記載されている。
しかし、更新対象システムの複雑化に伴い、上記の方法で単純に生成されたロールバック手順が実行不可能な手順になることも多い。実行可能なロールバック手順を生成するためには、更新作業手順に基づいた事前の準備が求められる。
[発明の目的]
そこで、本発明は、上述した課題を解決する、ロールバック手順の準備に要するリソース量を削減できるシステム更新装置およびシステム更新方法を提供することを1つの目的とする。
本発明の一実施形態において、システム更新装置は、更新対象システムを構成する状態要素の状態を現在状態から目的状態へ遷移させるための作業が所定の順に複数並べられた手順である更新手順に含まれている作業を基に状態要素の状態を更新手順の実行中の任意の状態から現在状態へ遷移させるための作業である逆作業を生成する逆作業生成部と、生成された逆作業が所定の順と逆の順に複数並べられた手順をロールバック手順として生成する第1手順生成部と、生成されたロールバック手順に含まれている実行不可能な逆作業が実行可能になるための条件が満たされるように実行不可能な逆作業の生成元の作業と更新手順に含まれている他の作業との間に存在する実行順序を示す情報を調整する調整部とを備えることを特徴とする。
本発明の一実施形態において、システム更新方法は、更新対象システムを構成する状態要素の状態を現在状態から目的状態へ遷移させるための作業が所定の順に複数並べられた手順である更新手順に含まれている作業を基に状態要素の状態を更新手順の実行中の任意の状態から現在状態へ遷移させるための作業である逆作業を生成し、生成された逆作業が所定の順と逆の順に複数並べられた手順をロールバック手順として生成し、生成されたロールバック手順に含まれている実行不可能な逆作業が実行可能になるための条件が満たされるように実行不可能な逆作業の生成元の作業と更新手順に含まれている他の作業との間に存在する実行順序を示す情報を調整することを特徴とする。
本発明の一実施形態において、システム更新プログラムは、コンピュータに、更新対象システムを構成する状態要素の状態を現在状態から目的状態へ遷移させるための作業が所定の順に複数並べられた手順である更新手順に含まれている作業を基に状態要素の状態を更新手順の実行中の任意の状態から現在状態へ遷移させるための作業である逆作業を生成する逆作業生成処理、生成された逆作業が所定の順と逆の順に複数並べられた手順をロールバック手順として生成する手順生成処理、および生成されたロールバック手順に含まれている実行不可能な逆作業が実行可能になるための条件が満たされるように実行不可能な逆作業の生成元の作業と更新手順に含まれている他の作業との間に存在する実行順序を示す情報を調整する調整処理を実行させることを特徴とする。
本発明によれば、ロールバック手順の準備に要するリソース量を削減できる。
第1の実施形態のシステム更新装置によるシステム更新処理の例を示す説明図である。 本発明によるシステム更新装置の第1の実施形態の構成例を示すブロック図である。 本実施形態のロールバック手順の生成処理の例を示す説明図である。 更新作業手順の例を示す説明図である。 実行順序調整部112によるタスクの実行順序の調整処理の例を示す説明図である。 逆実行手順計画部122による部分ロールバック手順の計画処理の例を示す説明図である。 ロールバック手順生成部131によるロールバック手順の生成処理の例を示す説明図である。 ロールバック手順生成部131によるロールバック手順の生成処理の他の例を示す説明図である。 手順計画部111に入力される状態要素モデルの例を示す説明図である。 手順計画部111が計画する更新作業手順の例を示す説明図である。 逆実行手順計画部122による各グループの手順に対する統合処理の例を示す説明図である。 逆実行手順計画部122が計画する逆実行手順の例を示す説明図である。 実行順序調整部112による順序関係候補の収集処理の例を示す説明図である。 実行順序調整部112により実行順序が補完された手順の例を示す説明図である。 手順における順序関係の数を示す説明図である。 逆実行手順計画部122による部分ロールバック手順の計画処理の例を示す説明図である。 逆実行手順計画部122による部分ロールバック手順の計画処理の他の例を示す説明図である。 逆実行手順計画部122による部分ロールバック手順の計画処理の他の例を示す説明図である。 逆実行手順計画部122による部分ロールバック手順の計画処理の他の例を示す説明図である。 逆実行手順計画部122により生成された部分ロールバック手順参照テーブルDの例を示す説明図である。 第1の実施形態のシステム更新装置100による手順生成処理の動作を示すフローチャートである。 第1の実施形態のシステム更新装置100による手順実行処理の動作を示すフローチャートである。 第1の実施形態の実行順序調整部112による実行順序補完処理の動作を示すフローチャートである。 第1の実施形態の逆実行手順計画部122による部分ロールバック手順計画処理の動作を示すフローチャートである。 本発明によるシステム更新装置の第2の実施形態の構成例を示す説明図である。 第2の実施形態のシステム更新装置200による手順生成処理の動作を示すフローチャートである。 第2の実施形態のシステム更新装置200による手順実行処理の動作を示すフローチャートである。 本発明によるシステム更新装置の第3の実施形態の構成例を示す説明図である。 第3の実施形態のシステム更新装置300による手順生成処理の動作を示すフローチャートである。 本発明の各実施形態を適用可能なシステム更新装置のハードウェア構成例を示す説明図である。 本発明によるシステム更新装置の概要を示すブロック図である。 一般的な手順生成装置による手順の自動生成処理の例を示す説明図である。 システム更新装置によるシステム更新処理の例を示す説明図である。 半順序手順の例を示す説明図である。
実施形態1.
以下、本発明の実施形態を、図面を参照して説明する。図1は、第1の実施形態のシステム更新装置によるシステム更新処理の例を示す説明図である。
図1に示すステップS101、ステップS102、ステップS104、およびステップS106の各処理は、図33に示すステップS001、ステップS002、ステップS005、およびステップS006の各処理とそれぞれ同様である。図1に示すステップS103、およびステップS105の各処理が、本実施形態のシステム更新装置による特徴的な処理である。
本実施形態のシステム更新装置は、例外が発生する可能性がある更新作業中の全ての時点に対するロールバック手順をそれぞれ設計する(ステップS103)。ただし、ステップS103で設計されるロールバック手順は、現実的なリソース量で実行可能な計算処理で求められる手順である。後述するように、ステップS103で設計されるロールバック手順には、不適切な手順が含まれている可能性がある。
また、本実施形態のシステム更新装置は、更新作業手順の実行中に例外が発生した時、ステップS103で設計された例外が発生した時のシステムの状態に対応するロールバック手順に応じて、後述するように手順を合成する(ステップS105)。ステップS105の処理により、ロールバック手順が迅速に準備される。
図1に示すシステム更新処理により、本実施形態のシステム更新装置は、事前に各ロールバック手順を準備せずに、例外が発生した時のシステムの全ての状態に迅速に対応できる。以下、ステップS101〜ステップS106の各処理を実行する本実施形態のシステム更新装置の構成および動作を、図面を参照して説明する。
[構成の説明]
図2は、本発明によるシステム更新装置の第1の実施形態の構成例を示すブロック図である。図2に示すように、本実施形態のシステム更新装置100は、正常系ブロックと、事前処理ブロックと、事後対応ブロックとで構成されている。
なお、ブロック図に記載されている単方向の矢印は、データ(情報)が流れる方向を示す。しかし、各矢印が記載されている箇所において双方向にデータが流れる可能性は排除されていない。
図2に示すように、正常系ブロックは、手順計画部111と、実行順序調整部112と、手順実行部113とを含む。手順計画部111は、入力された状態要素モデルを基に、手順を計画する機能を有する。すなわち、手順計画部111は、図1に示すステップS102の処理を行う。
実行順序調整部112は、手順計画部111により設計された手順を構成するタスクの実行順序を調整する機能を有する。また、手順実行部113は、実行順序調整部112によりタスクの実行順序が調整された手順を更新対象システム500に対して実行する機能を有する。すなわち、手順実行部113は、図1に示すステップS104の処理、およびステップS106の処理を行う。
手順実行部113は、更新対象システム500と通信可能に接続されている。また、手順実行中に更新対象システム500において例外が発生した場合、手順実行部113に例外が発生したことが通知される。例外の発生は、人手による確認や、外部のシステム監視サービス等によって手順実行部113に通知される。また、更新対象システム500自身が、例外の発生を手順実行部113に通知してもよい。
また、図2に示すように、事前処理ブロックは、ロールバック手順網羅部121と、逆実行手順計画部122と、部分ロールバック手順保存部123とを含む。
ロールバック手順網羅部121は、例外が発生する可能性がある全ての時点に対してロールバック手順を事前に用意するために、逆実行手順計画部122および部分ロールバック手順保存部123を制御する機能を有する。
逆実行手順計画部122は、更新作業手順の実行中に発生する可能性がある状態に対応するロールバック手順として用いられる逆実行手順を計画する機能を有する。逆実行手順計画部122は、実行順序調整部112によりタスクの実行順序が調整された手順を基に逆実行手順を計画する。なお、逆実行手順の具体的な内容は後述する。
部分ロールバック手順保存部123は、逆実行手順計画部122により設計された部分ロールバック手順を保存する機能を有する。すなわち、事前処理ブロックの各構成要素が、図1に示すステップS103の処理を行う。
また、図2に示すように、事後対応ブロックは、ロールバック手順生成部131と、状態管理部132とを含む。ロールバック手順生成部131は、更新作業手順の実行中の更新対象システム500の現在状態に対応するロールバック手順を生成する機能を有する。
具体的には、ロールバック手順生成部131は、現在状態に応じて、部分ロールバック手順と逆実行手順とを部分ロールバック手順保存部123から取得する。次いで、ロールバック手順生成部131は、取得された部分ロールバック手順と逆実行手順とを合成することによって、ロールバック手順を生成する。ロールバック手順生成部131は、生成されたロールバック手順を手順実行部113に入力する。
状態管理部132は、更新作業手順の実行中の更新対象システム500の現在状態を管理する機能を有する。現在状態は、更新対象システム500の最新の状態である。すなわち、事後対応ブロックの各構成要素が、図1に示すステップS105の処理を行う。
以下、図1に示すステップS103の処理、および図1に示すステップS105の処理を、図3〜図8を参照して具体的に説明する。
本実施形態のシステム更新装置100は、ロールバック手順が、通常手順を構成するタスクと「逆のタスク」が、通常手順と「逆の順序」で並べられる(以下、逆実行されるという。)ことによって生成可能である場合が多いという特徴を利用している。本実施形態における逆実行手順は、上記の方法で生成された手順である。
図3は、本実施形態のロールバック手順の生成処理の例を示す説明図である。図3に示す1つの矩形は、1つのタスクを表す。また、白色の矩形は、未実行のタスクを表す。また、黒色のタスクは、実行済みのタスクを表す。また、図3に示す矢印は、先に実行されるタスクから後に実行されるタスクに向けて伸びている。
図3(a)は、実行途中の手順を示す。具体的には、図3(a)は、タスク「app.conf配備」が実行される直前で例外が発生した状態を示す。
図3(a)に示す状態から初期状態に戻すロールバック手順は、実行済みのタスクが逆実行されることによって生成される。図3(b)は、逆実行で生成されたロールバック手順を示す。
図3(b)に示すタスク「app.war 削除」、タスク「serverXml 復元」、およびタスク「tomcat起動」は、図3(a)に示すタスク「app.war 配備」、タスク「serverXml 更新」、およびタスク「tomcat停止」の逆のタスクである。また、図3(b)に示すロールバック手順では、上記の逆のタスクが図3(a)に示す手順と逆の順序で並べられている。
上記のように例外が発生した時までに実行されたタスクを基にロールバック手順が生成される手法では、事前に各状態に対応したロールバック手順が生成される手法に比べて、消費されるリソース量が削減される。本実施形態のシステム更新装置100は、基本的に上記の手法でロールバック手順を生成する。
しかし、上記のように単に「逆のタスク」が並べられるだけではロールバック手順が生成不可能な場合がある。図4は、更新作業手順の例を示す説明図である。
図4に示す手順において、例えばapp1.warとapp1.conf が削除された時点からロールバックが行われる時、war →confの順で配備されることが求められる。しかし、単純な逆実行で上記の順が考慮されたロールバック手順を生成することは困難である。
また、app1.warの配備に外部のリポジトリへのアクセスが求められる時、適切な操作が補完されなければ、タスク「app1.warの削除」の逆のタスク「app1.warの配備」は、実行不可能である。
よって、本実施形態のシステム更新装置100は、可能な限り逆実行可能なタスクを増やし、逆実行不可能なタスクに対してのみ部分ロールバック手順を計画するという方針でロールバック手順を生成する。
上記の方針に基づいた事前処理ブロックの構成要素の処理を説明する。実行順序調整部112は、逆実行でロールバック手順が生成可能になるように、更新作業手順を構成するタスクの実行順序を調整する。図5は、実行順序調整部112によるタスクの実行順序の調整処理の例を示す説明図である。
図5(a)に示す手順は、図4に示す更新作業手順である。上述したように、app1.warとapp1.conf が削除された場合、war →confの順で配備されることが求められる。単純な逆実行で生成されるロールバック手順において上記の順が考慮されるように、実行順序調整部112は、図5(b)に示すようにタスクの実行順序を調整する。
図5(b)は、図5(a)に示すタスクの実行順序が調整された手順を示す。具体的には、実行順序調整部112は、並列に実行可能なタスク「app1.war削除」とタスク「app1.conf 削除」を、タスク「app1.conf 削除」→タスク「app1.war削除」の順に実行されるように並び替える。図5(b)に示す白抜きの矢印が、調整された実行順序を表す。
また、逆実行手順計画部122は、実行順序が調整されても逆実行不可能なタスクに対してのみ、部分ロールバック手順を事前に計画する。図6は、逆実行手順計画部122による部分ロールバック手順の計画処理の例を示す説明図である。
図6(a)は、図5(b)に示す手順全体に対する逆実行により生成された逆実行手順を示す。タスク「app1.war配備」に「×」が記されている理由は、上記の理由により実行不可能なタスクであるためである。
よって、逆実行手順計画部122は、タスク「app1.war削除」に対する部分的なロールバック手順である部分ロールバック手順を計画する。図6(b)に示すように、逆実行手順計画部122は、部分ロールバック手順としてタスク「repo.conn 接続」→タスク「app1.war配備」→タスク「repo.conn 切断」の手順を計画する。逆実行手順計画部122は、元の手順と、計画された部分ロールバック手順とを、関連付けて部分ロールバック手順保存部123に保存する。
次に、上記の方針に基づいた事後対応ブロックの構成要素の処理を説明する。図7は、ロールバック手順生成部131によるロールバック手順の生成処理の例を示す説明図である。
図7(a)は、実行途中の手順を示す。具体的には、図7(a)は、タスク「app1.war削除」が実行された直後に例外が発生した状態を示す。また、図7(a)に示す破線で囲まれた領域は、逆実行可能な手順の部分を表す。
ロールバック手順生成部131は、実行済みのタスクを逆実行することによって、図7(b)に示す逆実行手順を生成する。図7(b)に示す破線で囲まれた領域には、逆実行可能な手順の部分の逆実行で生成された手順が含まれる。なお、実行不可能なタスクであるタスク「app1.war配備」には、「×」が記されている。
図8は、ロールバック手順生成部131によるロールバック手順の生成処理の他の例を示す説明図である。図8(a)に示す手順は、図7(b)に示す逆実行手順である。図8(a)に示す破線で囲まれた領域は、逆実行不可能な手順の部分を表す。
ロールバック手順生成部131は、元の手順をキーに、事前に計画された部分ロールバック手順を部分ロールバック手順保存部123から取得する。次いで、ロールバック手順生成部131は、取得された部分ロールバック手順と逆実行手順とを合成する。
図8(b)は、2つの手順が合成された手順、すなわち生成目的とするロールバック手順を示す。図8(b)に示す破線で囲まれた領域には、部分ロールバック手順が含まれている。以上のように、本実施形態のシステム更新装置100は、ロールバック手順を準備する。
以下、本実施形態のシステム更新装置100がロールバック手順を準備する具体的な例を図9〜図20を参照して説明する。図9は、手順計画部111に入力される状態要素モデルの例を示す説明図である。
図9に示す状態要素モデルは、更新対象システム500を表す。図9に示す矩形は、状態要素を表す。各状態要素は、更新対象システム500を構成する各部品をそれぞれ表す。
また、図9に示す状態要素内の楕円は、状態要素の状態を表す。二重線の楕円は、現在状態を表す。また、黒色の楕円は、目的状態を表す。また、楕円間の矢印は、状態遷移を表す。手順計画部111は、入力された状態要素モデルを基に、各状態要素の状態を現在状態から目的状態へ遷移させるような更新作業手順を計画する。
また、図9に示す破線の矢印は、依存性を表す。また、図9に示す白色の丸は、依存性の起点を表す。始点が状態要素そのものに付随し、終点が任意の状態に付随する矢印は、当該状態要素内の全ての状態遷移から当該任意の状態への依存性を表す。
例えば、状態要素E1の状態遷移t から状態要素E2の状態s への依存性は、状態遷移t の実行が状態s に依存していることを示す。すなわち、状態要素E1は、状態要素E2の状態が状態s であるときにしか状態遷移t を実行できない。
また、図9に示す破線の角丸四角形は、手順計画部111が入力された状態要素モデルを分割することによって生成されたグループを表す。手順計画部111は、入力された状態要素モデルを基に更新作業手順を計画する。
図10は、手順計画部111が計画する更新作業手順の例を示す説明図である。図10に示す更新作業手順は、図9に示す状態要素モデル内の各現在状態を各目的状態にそれぞれ遷移させるための手順である。
図10に示す各破線の角丸四角形は、図9に示す各グループにそれぞれ対応する。また、図10に示す矩形および矢印は、図34に示す矩形および矢印と同じ意味を有する。例えば、タスク「bot.service:t->f」は、「状態要素bot.service の状態を状態t から状態f へ遷移させる」というタスクである。
手順計画部111は、計画された更新作業手順を逆実行手順計画部122に入力する。逆実行手順計画部122は、入力された順方向の変更手順である図10に示す左のグループの手順および右のグループの手順に対して単純に逆実行することによって、逆実行手順を生成できる。
しかし、図10に示す順方向の変更手順である中央のグループの手順には状態要素app.service に対するタスクが含まれるため、逆実行手順計画部122は、上記の理由により単純に逆実行できない。よって、図10に示すように、逆実行手順計画部122には、中央のグループの手順に対してのみ部分ロールバック手順を計画することが求められる。
なお、部分ロールバック手順の計画が求められるグループ同士が隣接したとき、以下に示す前処理の実行が求められる。図11は、逆実行手順計画部122による各グループの手順に対する統合処理の例を示す説明図である。図11に示す「不要」と記載された角丸四角形は、部分ロールバック手順の計画が求められないグループの手順を表す。また、図11に示す「必要」と記載された角丸四角形は、部分ロールバック手順の計画が求められるグループの手順を表す。
部分ロールバック手順の計画が求められるグループ同士が隣接すると、以降の手続きに不都合が生じる可能性がある。よって、逆実行手順計画部122は、図11に示すように部分ロールバック手順の計画が求められるグループ同士を1つのグループに統合する前処理を行う。
図12は、逆実行手順計画部122が計画する逆実行手順の例を示す説明図である。図12に示す各破線の角丸四角形は、図10に示す各グループにそれぞれ対応する。上記のように、図12に示す左のグループの逆実行手順および右のグループの逆実行手順は、図10に示す左のグループの手順および右のグループの手順に対する単純な逆実行で生成された手順である。
例えば、図10に示すタスク「bot.service:t->f」は、図12に示すタスク「bot.service:f->t」に変更されている。また、図12に示す矢印の向きは、図10に示す矢印の向きとそれぞれ反対になっている。すなわち、左のグループの逆実行手順および右のグループの逆実行手順は、通常の逆実行で計画された手順である。
実行順序調整部112は、図12に示す逆実行手順のように生成された逆実行手順のうち、実行順序の調整が求められる逆実行手順に対して実行順序補完処理を実行する。
以下、実行順序調整部112が実行順序補完処理を実行することによってシステム逆実行手順Pからシステム逆実行手順P’を生成する処理を、図13〜図15を参照して説明する。図13は、実行順序調整部112による順序関係候補の収集処理の例を示す説明図である。
図13に示す手順Pは、逆実行手順である。また、タスクt は、逆実行不可能なタスクである。最初に、実行順序調整部112は、タスクt に対して図13に示す処理Aと処理Bを実行する。
処理Aにおいて、実行順序調整部112は、以下の2つの条件を満たすタスク群d1,d2,・・・,dn を列挙する。
(1)タスクt と並列に実行可能
(2)タスクt の実行可能条件に影響する
図13に示す処理Aでは、タスク群としてタスクd1、タスクd2、タスクd3が列挙されている。その理由は、いずれのタスクもタスクt と並列に実行可能である。また、タスクd1とタスクd3が実行されると、タスクt が実行可能になる。また、タスクd2が実行されると、タスクt が実行不可能になる。すなわち、いずれのタスクもタスクt の実行可能条件に影響するからである。
次いで、処理Bにおいて、実行順序調整部112は、タスクt とタスクdi(i=1, ・・・,n) との間に張られる順序関係の候補の集合X(t,di) を生成する。X には、候補「t →di」、および候補「di→t 」が含まれる。
上記の実行可能条件への影響が踏まえられると、順序関係の候補としてタスクt とタスクd1との間には、「d1→t 」が張られる。また、タスクt とタスクd2との間には、「t →d2」が張られる。また、タスクt とタスクd3との間には、「d3→t 」が張られる。よって、上記の手順で全てのタスクt に対して集められた順序関係の候補の集合X は、図13に示すようにX={d1 →t, t→d2, d3→t}になる。
次に、実行順序調整部112は、全てのタスクt に対して「タスクt が実行可能」になるための制約Cexe(t) を生成する。タスクt が実行可能なタイミングは、図13に示す処理Bを参照すると、以下のいずれかである。
1.タスクd1が実行された後
2.タスクd3が実行された後、タスクd2が実行される前
「順序関係a →b を採用する」ことを[a→b]と記載すると、「タスクt が実行可能」になるための制約Cexe(t) は、以下のように記載される。
Cexe(t) = ( [d1→t] OR ( [d3→t] AND [t→d2] ) ) ・・・式(1)
次に、実行順序調整部112は、「手順Pの順序関係に矛盾がない」ための制約Cordを生成する。「順序関係に矛盾がない」とは、以下の2つのルールが保たれていることを意味する。
1.(非対称律)[a→b]と[b→a]が同時に成立してはならない
2.(推移律)[a→b]と[b→c]が成立するなら[a→c]も成立する
よって、図13に示す手順の順序関係に矛盾がないための制約Cordは、以下のように記載される。
Cord = NOT ( [t→d2] AND [d1→t] ) ・・・式(2)
なお、非特許文献4には、制約Cexe(t) の式、および制約Cordの式のより複雑な例が記載されている。
次に、実行順序調整部112は、制約解決ソルバを用いて、Cordを満たし、かつ可能な限り多くのCexe(t) を満たす手順のうち、必要最小限の順序構造を手順P’として採用する。実行順序調整部112は、例えば集合X から必要最小限の順序関係を採用し、手順Pに追加することによって手順P’を構成する。
制約解決ソルバとして、例えば非特許文献4に記載されているMaxSATソルバが使用される。MaxSATソルバが使用されると、手順の半順序化が実現される。また、非特許文献4には、上記のような制約の例が記載されている。
図14は、実行順序調整部112により実行順序が補完された手順の例を示す説明図である。図14に示す手順P’、および手順P’はいずれも、制約「Cexe(t) かつCord」を満たす。
また、図14に示す手順P’の方が手順P’よりも順序性の制約が少ない。すなわち、実行順序調整部112は、順序関係の数が最小である手順P’をシステム逆実行手順P’に採用する。
図15は、手順における順序関係の数を示す説明図である。手順における順序関係の数は、タスク間にかかる全ての順序関係の数である。図15(a)に示すように矢印が3本だけ張られている手順において、タスク間にかかる全ての順序関係の数は、図15(b)に示すように6つである。タスク間にかかる全ての順序関係の数を用いて、実行順序調整部112は、システム逆実行手順Pを決定する。
また、中央のグループの部分ロールバック手順は、図12にはまだ記載されていない。逆実行手順計画部122は、周辺の逆実行手順との実行順序も考慮された手順を構築し、全体として正しい部分ロールバック手順を計画する。
以下、逆実行手順計画部122が部分ロールバック手順計画処理を実行することによって部分手順Pから部分ロールバック手順参照テーブルDを生成する処理を、図16〜図20を参照して説明する。
最初に、逆実行手順計画部122は、逆実行不可能な部分手順Pが実行される時に発生する可能性がある全ての実行状況S(S={s0,s1, ・・・,sn}) を列挙する。
図16は、逆実行手順計画部122による部分ロールバック手順の計画処理の例を示す説明図である。図16(a)の上に示す手順は、図10に示す中央のグループの手順である。
また、図16(a)の下に示す吹き出しには、実行状況S が記載されている。図16(a)の下に示す白色の矩形は、未実行のタスクを表す。また、黒色の矩形は、実行済みのタスクを表す。
図16(a)の下に示すように、実行状況S には8通りの状況が含まれている。計算処理が削減されるためには可能な限り発生する可能性がある状況を減らすことが求められるため、逆実行手順計画部122は、手順の一部の線形化を行う。具体的には、逆実行手順計画部122は、適当に順序関係を加えることによって、逆実行不可能な部分手順Pを線形手順に変形する。
図16(b)の上に示す手順は、一部が線形化された図10に示す中央のグループの手順である。具体的には、図16(a)で並列に実行可能なタスク「app.config:u->t 」とタスク「dependPackage:f->t」が、図16(b)でタスク「dependPackage:f->t」→タスク「app.config:u->t 」の順に並び替えられている。
また、図16(b)の下に示すように、実行状況S に含まれている状況は、6通りまで削減されている。よって、逆実行手順計画部122は、図16(b)の上に示す手順を基に部分ロールバック手順を計画する。
なお、線形化が実行される場合、元の更新作業手順における部分手順Pも、線形化された後の手順に置き換えられることが求められる。また、手順の線形化は、手順に応じて実行されなくてもよい。
次いで、逆実行手順計画部122は、各実行状況siに対して、状態モデルの状態を部分手順Pが実行される前の状態へ遷移させるための部分ロールバック手順Piを求める。図17は、逆実行手順計画部122による部分ロールバック手順の計画処理の他の例を示す説明図である。
図17(a)は、例外が発生したタイミングの手順の実行状況を示す。具体的には、図17(a)は、タスク「app.service:t->r」→タスク「app.config:u->t 」→タスク「dependPackage:f->t」まで実行された段階で例外が発生した状況を示す。
図17(a)に示す例外が発生した状況に対して、逆実行手順計画部122は、図17(b)に示す状態要素モデルの状態を初期状態に戻すという構成変更問題の解を部分ロールバック手順として求める。上記のように、逆実行手順計画部122は、例外が発生した各状況に対して状態を初期状態に遷移させるための部分ロールバック手順を求める。
また、部分ロールバック手順を求める際、部分ロールバック手順の計画対象に依存する周辺タスクが存在する場合、逆実行手順計画部122は、仮状態要素を追加する。図18は、逆実行手順計画部122による部分ロールバック手順の計画処理の他の例を示す説明図である。
図18(a)に示す仮状態要素は、状態app.service.t に依存するタスク「bot.service:f->t」に対応する状態遷移を含む。また、図18(a)に示す状態モデルにおいて、状態遷移「bot.service:f->t」に対応する仮状態要素の状態遷移から状態app.service.t への依存性も追加されている。
図18(b)は、逆実行手順計画部122が図18(a)に示す状態モデルを基に計画した部分ロールバック手順を示す。仮状態要素および依存性が追加されたことによって、図18(b)に示す部分ロールバック手順とタスク「bot.service:f->t」とが接合されている。
すなわち、図18に示す追加処理を実行することによって、逆実行手順計画部122は、計画された部分ロールバック手順と部分ロールバック手順の計画対象に依存するタスクとを矛盾なく接合できる。
また、部分ロールバック手順から周辺の状態要素に対する依存性が存在する場合、逆実行手順計画部122は、部分ロールバック手順と周辺の逆向きのタスクとの間に順序関係を追加する。図19は、逆実行手順計画部122による部分ロールバック手順の計画処理の他の例を示す説明図である。
図19に示す吹き出し内の状態要素モデルを参照すると、部分ロールバック手順の計画対象から状態repo.connect.tへ依存性が付与されている。状態repo.connect.tへの依存性が満たされるように、逆実行手順計画部122は、部分ロールバック手順とタスクとの間に順序関係を追加する。
順序関係を追加するために、逆実行手順計画部122は、例えば実行順序調整部112による実行順序補完処理と同様に、順序関係の候補を生成し、生成された候補に対して制約解決を行う。図19に示す例では、逆実行手順計画部122は、「付与されている依存性が全て満たされる最小の順序構造」を求める。
求められた最小の順序構造に基づいて、逆実行手順計画部122は、タスク「repo.connect:f->t 」からタスク「dependPackage:f->t」への順序関係を追加する。また、逆実行手順計画部122は、タスク「dependPackage:f->t」からタスク「repo.connect:t->f 」への順序関係を追加する。
すなわち、図19に示す追加処理を実行することによって、逆実行手順計画部122は、計画された部分ロールバック手順と部分ロールバック手順の計画対象が依存するタスクとを矛盾なく接合できる。
次いで、逆実行手順計画部122は、実行状況siをキーとして部分ロールバック手順Piを返すテーブルである部分ロールバック手順参照テーブルDを生成する。図20は、逆実行手順計画部122により生成された部分ロールバック手順参照テーブルDの例を示す説明図である。
逆実行手順計画部122は、例外が発生した時の各実行状況に対応する部分ロールバック手順、および図18〜図19に示す周囲との依存性を解決可能な手段(図示せず)を含む部分ロールバック手順参照テーブルDを部分ロールバック手順保存部123に入力する。
また、逆実行手順計画部122は、生成された逆実行手順も部分ロールバック手順保存部123に入力する。部分ロールバック手順保存部123は、入力された部分ロールバック手順参照テーブルDおよび逆実行手順を保存する。
[動作の説明]
以下、本実施形態のシステム更新装置100の手順を生成する動作を図21を参照して説明する。図21は、第1の実施形態のシステム更新装置100による手順生成処理の動作を示すフローチャートである。
最初に、手順計画部111に状態要素モデルが入力される(ステップS110)。入力された状態要素モデルを基に、手順計画部111は、更新作業手順を計画する(ステップS120)。手順計画部111は、計画された更新作業手順を実行順序調整部112に入力する。
次いで、実行順序調整部112は、入力された更新作業手順を基に、実行順序補完処理を行う(ステップS130)。実行順序調整部112は、実行順序が補完された更新作業手順をロールバック手順網羅部121に入力する。
次いで、ロールバック手順網羅部121は、入力された更新作業手順のうち逆実行可能な部分のみを逆実行手順計画部122に入力する。逆実行手順計画部122は、入力された部分を基に逆実行手順を生成する(ステップS140)。
次いで、ロールバック手順網羅部121は、入力された更新作業手順のうち逆実行不可能な部分を逆実行手順計画部122に入力する。逆実行手順計画部122は、入力された部分を基に部分ロールバック手順計画処理を行う(ステップS150)。部分ロールバック手順計画処理を実行した後、システム更新装置100は、手順生成処理を終了する。
次に、本実施形態のシステム更新装置100の手順を実行する動作を図22を参照して説明する。図22は、第1の実施形態のシステム更新装置100による手順実行処理の動作を示すフローチャートである。
最初に、手順実行部113に、実行順序調整部112により実行順序が補完された更新作業手順が入力される(ステップS210)。
次いで、手順実行部113は、入力された更新作業手順を構成するタスクを実行する(ステップS220)。タスクを実行した後、手順実行部113は、更新対象システム500の現在状態を状態管理部132に記憶する(ステップS230)。
次いで、手順実行部113は、更新対象システム500において例外が発生したことが通知されたか否かを確認する(ステップS240)。例外が発生したことが通知されなかった場合(ステップS240におけるNo)、手順実行部113は、ステップS290の処理を行う。
例外が発生したことが通知された場合(ステップS240におけるYes )、手順実行部113は、実行済みの更新作業手順全てに対する逆実行が可能であるか否かを確認する(ステップS250)。
更新作業手順全てに対する逆実行が可能である場合(ステップS250におけるYes )、手順実行部113は、ロールバック手順生成部131に更新作業手順を基に逆実行でロールバック手順を生成するように指示する。
次いで、ロールバック手順生成部131は、部分ロールバック手順保存部123から現在状態に応じた逆実行手順をロールバック手順として取得する(ステップS260)。次いで、手順実行部113は、取得されたロールバック手順をロールバック手順生成部131から取得する。ロールバック手順を取得した後、手順実行部113は、ステップS280の処理を行う。
更新作業手順の一部に対する逆実行が不可能である場合(ステップS250におけるNo)、手順実行部113は、実行中の更新作業手順をロールバック手順生成部131に入力する。
ロールバック手順生成部131は、入力された手順のうちの逆実行が不可能である部分手順に対応する部分ロールバック手順を、状態管理部132に記憶されている現在状態も用いて部分ロールバック手順保存部123から取得する。また、ロールバック手順生成部131は、取得された部分ロールバック手順に応じた逆実行手順も併せて取得する。
次いで、ロールバック手順生成部131は、逆実行が可能である部分手順に対する逆実行で生成された逆実行手順と取得された部分ロールバック手順とを合成することによって、ロールバック手順を生成する(ステップS270)。ロールバック手順生成部131は、生成されたロールバック手順を手順実行部113に入力する。手順が入力された後、手順実行部113は、ステップS280の処理を行う。
ステップS280において、手順実行部113は、入力されたロールバック手順を実行する。ロールバック手順が実行されることによって、更新対象システム500の状態が初期状態に戻る。ロールバック手順を実行した後、システム更新装置100は、手順実行処理を終了する。
ステップS290において、手順実行部113は、入力された更新作業手順を構成するタスクのうち、まだ実行されていないタスクが存在するか否かを確認する。まだ実行されていないタスクが存在する場合(ステップS290におけるYes )、手順実行部113は、再度ステップS220の処理を行う。
更新作業手順を構成する全てのタスクが実行済みである場合(ステップS290におけるNo)、システム更新装置100は、手順実行処理を終了する。
次に、図21に示す手順生成処理を構成する副処理であるステップS130の実行順序補完処理を、図23を参照して説明する。図23は、第1の実施形態の実行順序調整部112による実行順序補完処理の動作を示すフローチャートである。
最初に、実行順序調整部112は、逆実行不可能なタスクt と並列に実行可能で、かつ逆実行不可能なタスクt の実行可能条件に影響するタスク群を列挙する(ステップS131)。
次いで、実行順序調整部112は、逆実行不可能なタスクt と列挙されたタスク群との間に張られる順序関係の候補の集合を生成する(ステップS132)。
次いで、実行順序調整部112は、全てのタスクt に対して「タスクt が実行可能」になるための制約Cexe(t) を生成する(ステップS133)。
次いで、実行順序調整部112は、逆実行手順の順序関係に矛盾がないための制約Cordを生成する(ステップS134)。
次いで、実行順序調整部112は、Cordを満たし、かつ可能な限り多くのCexe(t) を満たす必要最小限の順序構造の手順を逆実行手順として採用する(ステップS135)。採用した後、実行順序調整部112は、実行順序補完処理を終了する。
次に、図21に示す手順生成処理を構成する副処理であるステップS150の部分ロールバック手順計画処理を、図24を参照して説明する。図24は、第1の実施形態の逆実行手順計画部122による部分ロールバック手順計画処理の動作を示すフローチャートである。
最初に、逆実行手順計画部122は、適当に順序関係を加えることによって、逆実行不可能な部分手順Pを線形手順に変形する(ステップS151)。なお、ステップS151の処理は、省略されてもよい。
次いで、逆実行手順計画部122は、逆実行不可能な部分手順Pが実行される時に発生する可能性がある全ての実行状況S を列挙する(ステップS152)。
次いで、逆実行手順計画部122は、各実行状況siに対して、状態モデルの状態を部分手順Pが実行される前の状態へ遷移させるための部分ロールバック手順Piを計画する(ステップS153)。
次いで、逆実行手順計画部122は、計画された部分ロールバック手順Piの周囲との依存性を解決可能な手段を生成する(ステップS154)。
次いで、逆実行手順計画部122は、実行状況siをキーとして部分ロールバック手順Piを返すテーブルである部分ロールバック手順参照テーブルDを生成する(ステップS155)。部分ロールバック手順参照テーブルDには、例外が発生した時の各実行状況siに対応する部分ロールバック手順Pi、および部分ロールバック手順Piの周囲との依存性を解決可能な手段が含まれる。
次いで、逆実行手順計画部122は、部分ロールバック手順参照テーブルDと逆実行手順を部分ロールバック手順保存部123に入力する。部分ロールバック手順保存部123は、部分ロールバック手順参照テーブルDと逆実行手順を保存する(ステップS156)。保存された後、逆実行手順計画部122は、部分ロールバック手順計画処理を終了する。
[効果の説明]
本実施形態のシステム更新装置100の実行順序調整部112は、更新作業手順に対する逆実行で生成された逆実行手順に対して実行順序を補完する。実行順序が補完されることによって、生成された逆実行手順がロールバック手順として使用可能になる。すなわち、単純な逆実行処理によりロールバック手順が生成されるため、システム更新装置100は、ロールバック手順の準備に要するリソース量を削減できる。
また、本実施形態のシステム更新装置100のロールバック手順生成部131は、更新作業手順の逆実行可能な部分に対する逆実行で生成された逆実行手順と、更新作業手順の逆実行不可能な部分に対する計画処理で生成された部分ロールバック手順とを合成する。合成することによって、ロールバック手順生成部131は、使用可能なロールバック手順を生成する。すなわち、計画処理の対象部分が削減されるため、システム更新装置100は、ロールバック手順の準備に要するリソース量を削減できる。
実施形態2.
[構成の説明]
次に、本発明の第2の実施形態を、図面を参照して説明する。図25は、本発明によるシステム更新装置の第2の実施形態の構成例を示す説明図である。図25に示すように、本実施形態のシステム更新装置200は、正常系ブロックと、事前処理ブロックと、事後対応ブロックとで構成されている。
図25に示す正常系ブロック、および事後対応ブロックは、図2に示す正常系ブロック、および事後対応ブロックとそれぞれ同様である。図25に示す事前処理ブロックには、図2に示す事前処理ブロックと異なり、ロールバック手順網羅部121と、部分ロールバック手順保存部123とが含まれる。
すなわち、本実施形態のシステム更新装置200は、第1の実施形態の部分ロールバック手順計画処理を実行せず、第1の実施形態の実行順序補完処理を実行する装置である。システム更新装置200の事前処理ブロックは、逆実行不可能な部分手順が含まれていない更新作業手順を処理対象にする。なお、本実施形態では、ロールバック手順網羅部121が逆実行手順を生成する。
[動作の説明]
以下、本実施形態のシステム更新装置200の手順を生成する動作を図26を参照して説明する。図26は、第2の実施形態のシステム更新装置200による手順生成処理の動作を示すフローチャートである。
図26に示すステップS310〜ステップS330の各処理は、図21に示すステップS110〜ステップS130の各処理とそれぞれ同様である。
次いで、ロールバック手順網羅部121は、入力された更新作業手順を基に逆実行手順を生成する(ステップS340)。ロールバック手順網羅部121は、生成された逆実行手順を部分ロールバック手順保存部123に入力する。
次いで、部分ロールバック手順保存部123は、入力された逆実行手順を保存する(ステップS350)。保存された後、システム更新装置200は、手順生成処理を終了する。
次に、本実施形態のシステム更新装置200の手順を実行する動作を図27を参照して説明する。図27は、第2の実施形態のシステム更新装置200による手順実行処理の動作を示すフローチャートである。
図27に示すステップS410〜ステップS440の各処理は、図22に示すステップS210〜ステップS240の各処理とそれぞれ同様である。また、図27に示すステップS450〜ステップS470の各処理は、図22に示すステップS260、ステップS280〜ステップS290の各処理とそれぞれ同様である。
[効果の説明]
本実施形態のシステム更新装置200の実行順序調整部112は、更新作業手順に対する逆実行で生成された逆実行手順に対して実行順序を補完する。実行順序が補完されることによって、生成された逆実行手順がロールバック手順として使用可能になる。すなわち、単純な逆実行処理によりロールバック手順が生成されるため、システム更新装置200は、ロールバック手順の準備に要するリソース量を削減できる。
実施形態3.
[構成の説明]
次に、本発明の第3の実施形態を、図面を参照して説明する。図28は、本発明によるシステム更新装置の第3の実施形態の構成例を示す説明図である。図28に示すように、本実施形態のシステム更新装置300は、正常系ブロックと、事前処理ブロックと、事後対応ブロックとで構成されている。
図28に示す事前処理ブロック、および事後対応ブロックは、図2に示す事前処理ブロック、および事後対応ブロックとそれぞれ同様である。図28に示す正常系ブロックには、図2に示す正常系ブロックと異なり、手順計画部111と、手順実行部113とが含まれる。
すなわち、本実施形態のシステム更新装置300は、第1の実施形態の実行順序補完処理を実行せず、第1の実施形態の部分ロールバック手順計画処理を実行する装置である。システム更新装置300の事前処理ブロックは、生成された逆実行手順において実行順序の補完が不要な更新作業手順を処理対象にする。
[動作の説明]
以下、本実施形態のシステム更新装置300の手順を生成する動作を図29を参照して説明する。図29は、第3の実施形態のシステム更新装置300による手順生成処理の動作を示すフローチャートである。
図29に示すステップS510〜ステップS520の各処理は、図21に示すステップS110〜ステップS120の各処理とそれぞれ同様である。
手順計画部111は、計画された更新作業手順をロールバック手順網羅部121に入力する。ロールバック手順網羅部121は、入力された更新作業手順のうち逆実行可能な部分のみを逆実行手順計画部122に入力する。逆実行手順計画部122は、入力された部分を基に逆実行手順を生成する(ステップS530)。
次いで、ロールバック手順網羅部121は、入力された更新作業手順のうち逆実行不可能な部分を逆実行手順計画部122に入力する。逆実行手順計画部122は、入力された部分を基に部分ロールバック手順計画処理を行う(ステップS540)。部分ロールバック手順計画処理を実行した後、システム更新装置300は、手順生成処理を終了する。
また、本実施形態のシステム更新装置300の手順を実行する処理は、図22に示す手順実行処理と同様である。
[効果の説明]
本実施形態のシステム更新装置300のロールバック手順生成部131は、更新作業手順の逆実行可能な部分に対する逆実行で生成された逆実行手順と、更新作業手順の逆実行不可能な部分に対する計画処理で生成された部分ロールバック手順とを合成する。合成することによって、ロールバック手順生成部131は、使用可能なロールバック手順を生成する。すなわち、計画処理の対象部分が削減されるため、システム更新装置300は、ロールバック手順の準備に要するリソース量を削減できる。
以下、各実施形態のシステム更新装置100、システム更新装置200、およびシステム更新装置300のハードウェア構成の具体例を説明する。図30は、本発明の各実施形態を適用可能なシステム更新装置のハードウェア構成例を示す説明図である。
図30に示すシステム更新装置は、CPU(Central Processing Unit )101と、主記憶部102と、通信部103と、補助記憶部104とを備える。また、ユーザが操作するための入力部105や、ユーザに処理結果または処理内容の経過を提示するための出力部106を備えてもよい。
システム更新装置100、システム更新装置200、およびシステム更新装置300は、図30に示すCPU101が各構成要素が有する機能を提供するプログラムを実行することによって、ソフトウェアにより実現される。
すなわち、CPU101が補助記憶部104に格納されているプログラムを、主記憶部102にロードして実行し、システム更新装置100、システム更新装置200、およびシステム更新装置300の各動作を制御することによって、各機能がソフトウェアにより実現される。
主記憶部102は、データの作業領域やデータの一時退避領域として用いられる。主記憶部102は、例えばRAM(Random Access Memory)である。
通信部103は、有線のネットワークまたは無線のネットワーク(情報通信ネットワーク)を介して、周辺機器との間でデータを入力および出力する機能を有する。
補助記憶部104は、一時的でない有形の記憶媒体である。一時的でない有形の記憶媒体として、例えば磁気ディスク、光磁気ディスク、CD−ROM(Compact Disk Read Only Memory )、DVD−ROM(Digital Versatile Disk Read Only Memory )、半導体メモリが挙げられる。
入力部105は、データや処理命令を入力する機能を有する。入力部105は、例えばキーボードやマウス等の入力デバイスである。
出力部106は、データを出力する機能を有する。出力部106は、例えば液晶ディスプレイ装置等の表示装置、またはプリンタ等の印刷装置である。
また、図30に示すように、システム更新装置において、各構成要素は、システムバス107に接続されている。
補助記憶部104は、例えば、図2に示す手順計画部111、実行順序調整部112、手順実行部113、ロールバック手順網羅部121、逆実行手順計画部122、ロールバック手順生成部131、および状態管理部132を実現するためのプログラムを記憶している。
また、主記憶部102は、例えば、部分ロールバック手順保存部123の記憶領域として利用される。また、手順計画部111、および手順実行部113は、通信部103を介して通信処理を実行してもよい。
なお、システム更新装置100、システム更新装置200、およびシステム更新装置300は、ハードウェアにより実現されてもよい。例えば、システム更新装置100は、内部に図2に示すような機能を実現するLSI(Large Scale Integration )等のハードウェア部品が含まれる回路が実装されてもよい。
また、各構成要素の一部または全部は、汎用の回路(circuitry )または専用の回路、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップ(例えば、上記のLSI)によって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
次に、本発明の概要を説明する。図31は、本発明によるシステム更新装置の概要を示すブロック図である。本発明によるシステム更新装置10は、更新対象システムを構成する状態要素の状態を現在状態から目的状態へ遷移させるための作業(例えば、タスク)が所定の順に複数並べられた手順である更新手順に含まれている作業を基に状態要素の状態を更新手順の実行中の任意の状態から現在状態へ遷移させるための作業である逆作業を生成する逆作業生成部11(例えば、逆実行手順計画部122)と、生成された逆作業が所定の順と逆の順に複数並べられた手順をロールバック手順として生成する第1手順生成部12(例えば、逆実行手順計画部122)と、生成されたロールバック手順に含まれている実行不可能な逆作業が実行可能になるための条件が満たされるように実行不可能な逆作業の生成元の作業と更新手順に含まれている他の作業との間に存在する実行順序を示す情報を調整する調整部13(例えば、実行順序調整部112)とを備える。
そのような構成により、システム更新装置は、ロールバック手順の準備に要するリソース量を削減できる。
また、システム更新装置10は、逆作業が生成不可能な作業が含まれている更新手順の部分に対応する状態要素の状態を更新手順の実行中の任意の状態から現在状態へ遷移させるための作業の手順を計画する計画部(例えば、逆実行手順計画部122)と、逆作業が生成不可能な作業が含まれていない更新手順の部分を基に生成されたロールバック手順と計画された手順とを合成することによって新たなロールバック手順を生成する第2手順生成部(例えば、ロールバック手順生成部131)とを備えてもよい。
そのような構成により、システム更新装置は、ロールバック手順の生成に関してより多くの更新手順に対応できる。
また、システム更新装置10は、更新手順の実行中の更新対象システムの最新の状態を管理する管理部(例えば、状態管理部132)を備え、第2手順生成部は、管理されている最新の状態に基づいて新たなロールバック手順を生成してもよい。
そのような構成により、システム更新装置は、システムの状態を現在状態から初期状態へロールバックさせるための作業の手順を生成できる。
また、システム更新装置10は、手順を実行する実行部(例えば、手順実行部113)を備えてもよい。
そのような構成により、システム更新装置は、例外が発生した時にロールバック手順を実行できる。
また、更新手順は、2つ以上の作業が順不同に実行可能に並べられた手順でもよい。
そのような構成により、システム更新装置は、半順序手順の実行中に更新対象システムが到達する可能性がある全ての状態に対してロールバック手順を生成できる。
また、第1手順生成部12は、更新対象システムの初期状態と更新対象システムの目的状態とに基づいて更新手順を生成してもよい。
そのような構成により、システム更新装置は、更新手順を生成できる。
以上、本実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2018年3月29日に出願された日本特許出願2018−063841を基礎とする優先権を主張し、その開示の全てをここに取り込む。
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下に限られない。
(付記1)更新対象システムを構成する状態要素の状態を現在状態から目的状態へ遷移させるための作業が所定の順に複数並べられた手順である更新手順に含まれている前記作業を基に前記状態要素の状態を前記更新手順の実行中の任意の状態から前記現在状態へ遷移させるための作業である逆作業を生成する逆作業生成部と、生成された逆作業が前記所定の順と逆の順に複数並べられた手順をロールバック手順として生成する第1手順生成部と、生成されたロールバック手順に含まれている実行不可能な逆作業が実行可能になるための条件が満たされるように前記実行不可能な逆作業の生成元の作業と前記更新手順に含まれている他の作業との間に存在する実行順序を示す情報を調整する調整部とを備えることを特徴とするシステム更新装置。
(付記2)逆作業が生成不可能な作業が含まれている前記更新手順の部分に対応する状態要素の状態を前記更新手順の実行中の任意の状態から現在状態へ遷移させるための作業の手順を計画する計画部と、逆作業が生成不可能な作業が含まれていない前記更新手順の部分を基に生成されたロールバック手順と計画された手順とを合成することによって新たなロールバック手順を生成する第2手順生成部とを備える付記1記載のシステム更新装置。
(付記3)前記更新手順の実行中の前記更新対象システムの最新の状態を管理する管理部を備え、前記第2手順生成部は、管理されている最新の状態に基づいて新たなロールバック手順を生成する付記2記載のシステム更新装置。
(付記4)手順を実行する実行部を備える付記1から付記3のうちのいずれかに記載のシステム更新装置。
(付記5)前記更新手順は、2つ以上の作業が順不同に実行可能に並べられた手順である付記1から付記4のうちのいずれかに記載のシステム更新装置。
(付記6)前記第1手順生成部は、前記更新対象システムの初期状態と前記更新対象システムの目的状態とに基づいて前記更新手順を生成する付記1から付記5のうちのいずれかに記載のシステム更新装置。
(付記7)更新対象システムを構成する状態要素の状態を現在状態から目的状態へ遷移させるための作業が所定の順に複数並べられた手順である更新手順に含まれている前記作業を基に前記状態要素の状態を前記更新手順の実行中の任意の状態から前記現在状態へ遷移させるための作業である逆作業を生成し、生成された逆作業が前記所定の順と逆の順に複数並べられた手順をロールバック手順として生成し、生成されたロールバック手順に含まれている実行不可能な逆作業が実行可能になるための条件が満たされるように前記実行不可能な逆作業の生成元の作業と前記更新手順に含まれている他の作業との間に存在する実行順序を示す情報を調整することを特徴とするシステム更新方法。
(付記8)逆作業が生成不可能な作業が含まれている前記更新手順の部分に対応する状態要素の状態を前記更新手順の実行中の任意の状態から現在状態へ遷移させるための作業の手順を計画し、逆作業が生成不可能な作業が含まれていない前記更新手順の部分を基に生成されたロールバック手順と計画された手順とを合成することによって新たなロールバック手順を生成する付記7記載のシステム更新方法。
(付記9)コンピュータに、更新対象システムを構成する状態要素の状態を現在状態から目的状態へ遷移させるための作業が所定の順に複数並べられた手順である更新手順に含まれている前記作業を基に前記状態要素の状態を前記更新手順の実行中の任意の状態から前記現在状態へ遷移させるための作業である逆作業を生成する逆作業生成処理、生成された逆作業が前記所定の順と逆の順に複数並べられた手順をロールバック手順として生成する手順生成処理、および生成されたロールバック手順に含まれている実行不可能な逆作業が実行可能になるための条件が満たされるように前記実行不可能な逆作業の生成元の作業と前記更新手順に含まれている他の作業との間に存在する実行順序を示す情報を調整する調整処理を実行させるためのシステム更新プログラム。
(付記10)コンピュータに、逆作業が生成不可能な作業が含まれている前記更新手順の部分に対応する状態要素の状態を前記更新手順の実行中の任意の状態から現在状態へ遷移させるための作業の手順を計画する計画処理、および逆作業が生成不可能な作業が含まれていない前記更新手順の部分を基に生成されたロールバック手順と計画された手順とを合成することによって新たなロールバック手順を生成する合成処理を実行させる付記9記載のシステム更新プログラム。
(付記11)コンピュータで実行されるときに、更新対象システムを構成する状態要素の状態を現在状態から目的状態へ遷移させるための作業が所定の順に複数並べられた手順である更新手順に含まれている前記作業を基に前記状態要素の状態を前記更新手順の実行中の任意の状態から前記現在状態へ遷移させるための作業である逆作業を生成し、生成された逆作業が前記所定の順と逆の順に複数並べられた手順をロールバック手順として生成し、生成されたロールバック手順に含まれている実行不可能な逆作業が実行可能になるための条件が満たされるように前記実行不可能な逆作業の生成元の作業と前記更新手順に含まれている他の作業との間に存在する実行順序を示す情報を調整するシステム更新プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記12)コンピュータで実行されるときに、逆作業が生成不可能な作業が含まれている前記更新手順の部分に対応する状態要素の状態を前記更新手順の実行中の任意の状態から現在状態へ遷移させるための作業の手順を計画し、逆作業が生成不可能な作業が含まれていない前記更新手順の部分を基に生成されたロールバック手順と計画された手順とを合成することによって新たなロールバック手順を生成する付記11記載の記録媒体。
産業上の利用の可能性
本発明は、例外処理手順(ロールバック手順)の自動生成の分野に好適に適用される。
10、100、200、300 システム更新装置
11 逆作業生成部
12 第1手順生成部
13 調整部
101 CPU
102 主記憶部
103 通信部
104 補助記憶部
105 入力部
106 出力部
107 システムバス
111 手順計画部
112 実行順序調整部
113 手順実行部
121 ロールバック手順網羅部
122 逆実行手順計画部
123 部分ロールバック手順保存部
131 ロールバック手順生成部
132 状態管理部
500 更新対象システム

Claims (10)

  1. 更新対象システムを構成する状態要素の状態を現在状態から目的状態へ遷移させるための作業が所定の順に複数並べられた手順である更新手順に含まれている前記作業を基に前記状態要素の状態を前記更新手順の実行中の任意の状態から前記現在状態へ遷移させるための作業である逆作業を生成する逆作業生成部と、
    生成された逆作業が前記所定の順と逆の順に複数並べられた手順をロールバック手順として生成する第1手順生成部と、
    生成されたロールバック手順に含まれている実行不可能な逆作業が実行可能になるための条件が満たされるように前記実行不可能な逆作業の生成元の作業と前記更新手順に含まれている他の作業との間に存在する実行順序を示す情報を調整する調整部とを備える
    ことを特徴とするシステム更新装置。
  2. 逆作業が生成不可能な作業が含まれている前記更新手順の部分に対応する状態要素の状態を前記更新手順の実行中の任意の状態から現在状態へ遷移させるための作業の手順を計画する計画部と、
    逆作業が生成不可能な作業が含まれていない前記更新手順の部分を基に生成されたロールバック手順と計画された手順とを合成することによって新たなロールバック手順を生成する第2手順生成部とを備える
    請求項1記載のシステム更新装置。
  3. 前記更新手順の実行中の前記更新対象システムの最新の状態を管理する管理部を備え、
    前記第2手順生成部は、管理されている最新の状態に基づいて新たなロールバック手順を生成する
    請求項2記載のシステム更新装置。
  4. 手順を実行する実行部を備える
    請求項1から請求項3のうちのいずれか1項に記載のシステム更新装置。
  5. 前記更新手順は、2つ以上の作業が順不同に実行可能に並べられた手順である
    請求項1から請求項4のうちのいずれか1項に記載のシステム更新装置。
  6. 前記第1手順生成部は、前記更新対象システムの初期状態と前記更新対象システムの目的状態とに基づいて前記更新手順を生成する
    請求項1から請求項5のうちのいずれか1項に記載のシステム更新装置。
  7. 更新対象システムを構成する状態要素の状態を現在状態から目的状態へ遷移させるための作業が所定の順に複数並べられた手順である更新手順に含まれている前記作業を基に前記状態要素の状態を前記更新手順の実行中の任意の状態から前記現在状態へ遷移させるための作業である逆作業を生成し、
    生成された逆作業が前記所定の順と逆の順に複数並べられた手順をロールバック手順として生成し、
    生成されたロールバック手順に含まれている実行不可能な逆作業が実行可能になるための条件が満たされるように前記実行不可能な逆作業の生成元の作業と前記更新手順に含まれている他の作業との間に存在する実行順序を示す情報を調整する
    ことを特徴とするシステム更新方法。
  8. 逆作業が生成不可能な作業が含まれている前記更新手順の部分に対応する状態要素の状態を前記更新手順の実行中の任意の状態から現在状態へ遷移させるための作業の手順を計画し、
    逆作業が生成不可能な作業が含まれていない前記更新手順の部分を基に生成されたロールバック手順と計画された手順とを合成することによって新たなロールバック手順を生成する
    請求項7記載のシステム更新方法。
  9. コンピュータに、
    更新対象システムを構成する状態要素の状態を現在状態から目的状態へ遷移させるための作業が所定の順に複数並べられた手順である更新手順に含まれている前記作業を基に前記状態要素の状態を前記更新手順の実行中の任意の状態から前記現在状態へ遷移させるための作業である逆作業を生成する逆作業生成処理、
    生成された逆作業が前記所定の順と逆の順に複数並べられた手順をロールバック手順として生成する手順生成処理、および
    生成されたロールバック手順に含まれている実行不可能な逆作業が実行可能になるための条件が満たされるように前記実行不可能な逆作業の生成元の作業と前記更新手順に含まれている他の作業との間に存在する実行順序を示す情報を調整する調整処理
    を実行させるためのシステム更新プログラム。
  10. コンピュータに、
    逆作業が生成不可能な作業が含まれている前記更新手順の部分に対応する状態要素の状態を前記更新手順の実行中の任意の状態から現在状態へ遷移させるための作業の手順を計画する計画処理、および
    逆作業が生成不可能な作業が含まれていない前記更新手順の部分を基に生成されたロールバック手順と計画された手順とを合成することによって新たなロールバック手順を生成する合成処理を実行させる
    請求項9記載のシステム更新プログラム。
JP2020510494A 2018-03-29 2019-03-01 システム更新装置およびシステム更新方法 Active JP6897866B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018063841 2018-03-29
JP2018063841 2018-03-29
PCT/JP2019/008057 WO2019187974A1 (ja) 2018-03-29 2019-03-01 システム更新装置およびシステム更新方法

Publications (2)

Publication Number Publication Date
JPWO2019187974A1 JPWO2019187974A1 (ja) 2021-02-25
JP6897866B2 true JP6897866B2 (ja) 2021-07-07

Family

ID=68061456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020510494A Active JP6897866B2 (ja) 2018-03-29 2019-03-01 システム更新装置およびシステム更新方法

Country Status (3)

Country Link
US (1) US20210064357A1 (ja)
JP (1) JP6897866B2 (ja)
WO (1) WO2019187974A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114302438B (zh) * 2021-12-29 2024-08-06 中国电信股份有限公司 网元的异常处理方法、装置、设备以及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7587433B2 (en) * 2004-06-01 2009-09-08 Red Bend Ltd. Method and system for in-place updating content stored in a storage device
JP6064734B2 (ja) * 2013-03-27 2017-01-25 富士通株式会社 ワークフロー制御プログラム、装置および方法

Also Published As

Publication number Publication date
WO2019187974A1 (ja) 2019-10-03
JPWO2019187974A1 (ja) 2021-02-25
US20210064357A1 (en) 2021-03-04

Similar Documents

Publication Publication Date Title
US10540203B2 (en) Combining pipelines for a streaming data system
CN104317556B (zh) 一种流式应用升级方法、主控节点及流计算系统
JP5970617B2 (ja) 開発支援システム
CN111580861A (zh) 用于计算机环境迁移的基于模式的人工智能计划器
US11947996B2 (en) Execution of services concurrently
CN102572896B (zh) 一种无线通讯系统升级方法及升级装置
CN112394949B (zh) 一种面向持续集成的服务版本动态配置方法
JP6897866B2 (ja) システム更新装置およびシステム更新方法
JP6897867B2 (ja) システム更新装置およびシステム更新方法
CN121255391A (zh) 一种多智能体调度方法及多智能体系统
CN118467139B (zh) 回溯实例血缘图构建方法、任务回溯方法及系统
US20250245055A1 (en) Automated Retries for Orchestration of a Datacenter on a Cloud Platform
US20250245054A1 (en) End-to-End Orchestration of a Datacenter on a Cloud Platform
US11003519B2 (en) Information processing system, cluster system construction method, and non-transitory computer-readable storage medium for storing cluster construction program
CN111858234A (zh) 一种任务执行方法、装置、设备、介质
JP5253030B2 (ja) 管理装置、その制御方法及び制御プログラム
JP7024804B2 (ja) システム更新装置およびシステム更新方法
US11194624B2 (en) Partial order procedure planning device, partial order procedure planning method and partial order procedure planning program
JP2022178916A (ja) 機械学習システム、機械学習プログラム、及び、機械学習方法
JP6575099B2 (ja) 運用操作管理プログラム、運用操作管理装置および運用操作管理方法
CN114443251B (zh) 一种调度系统脚本同步和执行方法
US20260111352A1 (en) Workflow debugging method and system
CN119561833B (zh) 基于云平台集群的资源对象变更方法、装置和计算机设备
US20250244988A1 (en) Incremental Orchestration of a Datacenter on a Cloud Platform
JPWO2016079962A1 (ja) モデル検査装置、モデル検査方法、および、モデル検査プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200914

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200914

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: 20210511

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210524

R150 Certificate of patent or registration of utility model

Ref document number: 6897866

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150