JPWO2017138506A1 - 変更手順生成システム、変更手順生成方法およびプログラム - Google Patents

変更手順生成システム、変更手順生成方法およびプログラム Download PDF

Info

Publication number
JPWO2017138506A1
JPWO2017138506A1 JP2017566943A JP2017566943A JPWO2017138506A1 JP WO2017138506 A1 JPWO2017138506 A1 JP WO2017138506A1 JP 2017566943 A JP2017566943 A JP 2017566943A JP 2017566943 A JP2017566943 A JP 2017566943A JP WO2017138506 A1 JPWO2017138506 A1 JP WO2017138506A1
Authority
JP
Japan
Prior art keywords
vertex
distance
attribute
estimated arrival
change procedure
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
JP2017566943A
Other languages
English (en)
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 JPWO2017138506A1 publication Critical patent/JPWO2017138506A1/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/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • 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/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • 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/0866Checking the configuration
    • H04L41/0873Checking configuration conflicts between network elements
    • 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/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5058Service discovery by the service manager
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Quality & Reliability (AREA)
  • Algebra (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Navigation (AREA)

Abstract

システムを構成する属性間に依存関係が存在するシステムの変更手順を適切に生成できる変更手順生成システム等を提供する。かかる変更手順生成システムは、所定の状態のシステムを構成する属性の属性値の変更目的の状態の前記システムを構成する前記属性の属性値への変更に要する属性ごとの手順数の総和に対して前記変更において他の属性の属性値が変更される所定値未満の属性の数を加算し前記所定値を減算することによって到着推定距離を計算する計算手段を含む。

Description

本発明は、変更手順生成システム、変更手順生成方法および変更手順生成プログラムに関し、特にシステム構成の変更手順を高速に生成できる変更手順生成システム、変更手順生成方法および変更手順生成プログラムに関する。
コンピュータ、およびコンピュータ同士を通信可能に接続する通信ネットワークで構成されたICT(Information and Communication Technology)システムの構成は、要求の変化や外部環境の変化に伴って変更される。
例えば、ICTシステムに対する負荷が高くなれば、ICTシステムにサーバが追加される。また、ソフトウェアのライブラリのバージョンが更新されれば、更新されるライブラリを使用するアプリケーションプログラムが搭載されたコンピュータに導入されているライブラリのバージョンも更新されることが求められる。
特許文献1には、上記のようなICTシステムを更新する一般的なシステム構成変更装置が記載されている。図11は、一般的なシステム構成変更装置の構成例を示すブロック図である。
図11に示すシステム構成変更装置では、システム変更指示手段からシステム変更指示が出力されると、指示が示すシステム変更を実現するために、機能間依存ルール部が依存関係を有する手順を探索し、探索された手順を実行する。例えば、ソフトウェアライブラリのバージョンの更新処理が実行されるとき、更新されるライブラリが依存する他のライブラリのバージョンの更新処理も実行される。
上記のようなソフトウェアライブラリ等のシステムを構成するコンポーネント間に存在する依存関係が単純であれば、システム構成の変更手順は、容易に求められる。システム構成は、求められた変更手順に基づいて変更される。しかし、システムが多数のソフトウェア、サーバ、または通信ネットワーク等のコンポーネントで構成されていると、コンポーネント間に存在する各依存関係を検討しつつ変更手順を求めることは困難である。
図12は、Webシステムにおける依存関係の例を示す説明図である。図12における(a)は、Webシステムの構成例を示す説明図である。図12における(a)に示すように、Webサーバは、OS(Operating System)において起動する。また、Webサーバは、OSに搭載されているバージョンがv1のライブラリlib(以下、lib v1と呼ぶ。)を利用している。また、WebサーバにおいてWebアプリケーションである、バージョンがv1の複数のAP(以下、AP v1と呼ぶ。)が稼働している。
また、図12における(b)は、図12における(a)に示す各コンポーネントの状態の遷移と、状態間に存在する依存関係を示す説明図である。図12における(b)に示す実線の矢印は、状態の遷移を表す。例えば、AP v1の状態は、「稼働」、「停止」、「非搭載」の順に遷移する。
また、図12における(b)に示す破線の矢印は、状態間に存在する依存関係を表す。例えば、AP v1の状態「停止」および「非搭載」は、Webサーバの状態が「起動」である時に実現される。
上記を踏まえて、図12における(a)に示すWebシステムにおいて、WebアプリケーションであるAPのバージョンをv1からv2に更新する場合、すなわちAP v1をAP v2に置換する場合の作業手順を、図12における(b)を参照して考える。なお、AP v2は、図12における(b)に示すように稼働する際にlib v1の代わりにバージョンがv2のlibであるlib v2を使用する。
AP v1をAP v2に置換するために、Webシステムの管理者は、最初にAP v1を停止させる。停止させた後、管理者は、WebサーバからAP v1をアンインストールし、Webサーバの状態をAP v1が搭載されていない状態にする。なお、図12における(b)に示すように、上記の作業は、Webサーバが起動状態であるという条件下で実行される。
次いで、Webシステムの管理者は、ライブラリをlib v1からlib v2に更新するために、Webサーバを停止させる。Webサーバを停止させた後、管理者は、lib v1を停止させ、OSからlib v1をアンインストールする。アンインストールした後、管理者は、OSにlib v2をインストールする。
次いで、Webシステムの管理者は、Webサーバを再び起動させる。起動させた後、管理者は、WebサーバにAP v2をインストールする。以上の作業が実行されることによって、図12における(a)に示すWebシステムにおいて、AP v1がAP v2に置換される。
コンポーネントの状態が変更されるシステムの構成変更は、頂点と向きを持つ辺とで構成されたグラフである有向グラフで表される。図13は、システムの構成変更を表す有向グラフの例を示す説明図である。以下、図13に示すような有向グラフを状態グラフとも呼ぶ。
図13に示す状態グラフの頂点は、システムの状態を表す。図13に示す状態グラフの頂点は、システムを構成する各コンポーネントの状態で構成される。具体的には、図13に示す左の頂点は、AP v1の「起動」、AP v2の「非搭載」、Webサーバの「起動」、lib v1の「起動」、lib v2の「非搭載」の各状態で構成される。また、図13に示す右の頂点は、AP v1の「起動」、AP v2の「非搭載」、Webサーバの「停止」、lib v1の「起動」、lib v2の「非搭載」の各状態で構成される。
また、図13に示す状態グラフの辺は、システムの構成変更を表す。具体的には、図13に示す左の頂点から右の頂点に向かう辺は、Webサーバの状態が「起動」から「停止」に変更されるシステムの構成変更を表す。
ICTシステムの現在の構成を要求される構成に変更する作業手順を作成することは、有向グラフにおけるICTシステムの現在の状態を表す頂点を始点にし、ICTシステムの要求される状態を表す頂点を終点にする経路を検出することに相当する。経路の長さが作業手順の多さに対応することを踏まえると、検出される経路は、経路候補の中の最短経路であることが好ましい。
よって、システムの構成変更の定義が有向グラフで表される場合、構成変更の作業手順を作成する問題は、有向グラフにおける変更前の状態を表す始点と変更後の状態を表す終点を結ぶ最短経路を発見する問題になる。
有向グラフ内の最短経路を発見する方法には、非特許文献1に記載されているダイクストラ法や、探索処理が高速化されたダイクストラ法である非特許文献2に記載されているA*探索法がある。ダイクストラ法はA*探索法の一実施形態であると考えられるので、A*探索法を以下に説明する。
図14は、一般的なシステム構成変更手順生成装置100の構成例を示すブロック図である。システム構成変更手順生成装置100は、A*探索法を用いて最短経路を発見する装置である。
システム構成変更手順生成装置100は、隣接頂点取得手段101と、到着推定距離計算手段102と、最短距離頂点選択手段103と、検索中頂点表記憶手段104と、検索済頂点表記憶手段105と、経路樹情報記憶手段106と、最短経路取得手段107とを備える。
隣接頂点取得手段101は、有向グラフ(状態グラフ)を入力とし、入力された頂点に隣接する次の頂点である隣接頂点を取得する機能を有する。隣接頂点は、状態グラフにおいて指定された頂点と辺で結ばれている頂点である。隣接頂点取得手段101は、取得された隣接頂点を到着推定距離計算手段102と最短距離頂点選択手段103に入力する。
到着推定距離計算手段102は、隣接頂点取得手段101が出力した隣接頂点と、変更目的のシステム構成を表す終了頂点とを入力とし、隣接頂点から終了頂点までの状態グラフにおける距離である到着推定距離を算出する機能を有する。到着推定距離計算手段102は、例えば、状態グラフにおける重み付きホップ数を見積もることによって、到着推定距離を算出する。到着推定距離計算手段102は、算出された到着推定距離を最短距離頂点選択手段103に入力する。
到着推定距離計算手段102は、終了頂点までの到着推定距離を算出する関数であると考えられるため、ヒューリスティック関数と呼ばれる。また、到着推定距離が常に終了頂点までの距離(到着距離)以下である場合、開始頂点から終了頂点までの経路が存在すれば、A*探索法で必ず最短経路が発見されることが知られている。常に終了頂点までの距離以下である到着推定距離は、Admissibleな到着推定距離と呼ばれている。
最短距離頂点選択手段103は、隣接頂点取得手段101が出力した隣接頂点と、隣接頂点に関する到着推定距離計算手段102が出力した到着推定距離とを入力とし、隣接頂点の中から次の検索対象の頂点を選択する機能を有する。
検索中頂点表記憶手段104は、状態グラフにおける頂点のうち検索中の頂点が登録される検索中頂点表を記憶する機能を有する。また、検索済頂点表記憶手段105は、状態グラフにおける頂点のうち検索済の頂点が登録される検索済頂点表を記憶する機能を有する。
図15は、検索中頂点表の例を示す説明図である。なお、検索済頂点表の形式も、図15に示す例と同様の形式である。
図15に示す検索中頂点表には、検索中の頂点に関する到着推定距離および確定距離の計算結果が登録される。例えば、図15は、頂点v2に関する到着推定距離が2、確定距離が7であることを示す。
経路樹情報記憶手段106は、検索中の頂点および検索済の頂点で構成される経路の情報である経路樹情報を記憶する機能を有する。経路樹情報は、開始頂点が根である木データ構造で記憶される。すなわち、経路樹情報記憶手段106には、ツリー型のデータが格納される。
最短距離頂点選択手段103は、検索中頂点表記憶手段104に記憶されている検索中頂点表、検索済頂点表記憶手段105に記憶されている検索済頂点表、および経路樹情報記憶手段106に記憶されている経路樹情報を参照しながら、次の検索対象の頂点を選択する。
最短距離頂点選択手段103は、最初に検索中頂点表に登録されている頂点の隣接頂点を取り出す。次いで、最短距離頂点選択手段103は、取り出された隣接頂点の中で到着推定距離計算手段102が計算した終了頂点までの見込み距離である到着推定距離が最も短い頂点を、次の検索対象の頂点に選択する。
上記のような最短距離頂点選択手段103による探索法は、最良優先探索法と呼ばれる。到着推定距離計算手段102が算出する見込み距離(到着推定距離)の精度が高ければ、最短距離頂点選択手段103は、次の検索対象の頂点を高速で探索できる。なお、次の検索対象の頂点を選択した後、最短距離頂点選択手段103は、検索中頂点表、検索済頂点表、および経路樹情報をそれぞれ更新する。
最短経路取得手段107は、終了頂点が検索された後、経路樹情報記憶手段106に記憶されている経路樹情報に基づいて状態グラフにおける最短経路を取得する機能を有する。
最短経路取得手段107が経路樹情報に基づいて状態グラフにおける最短経路を取得する例を図16に示す。図16は、経路樹情報記憶手段106に記憶されている経路樹情報の例を示す説明図である。
図16に示す経路樹において、開始頂点はv0、終了頂点はveである。また、図16に示す経路樹は、「v0→v2→v5」、「v0→v1→v4」、「v0→v1→v3→ve」の3つの経路で構成されている。また、図16に示す破線の矢印は、最短経路を表す。
終了頂点であるveが検索された場合、最短経路取得手段107には、終了頂点であるveが入力される。図16に示す例の場合、最短経路取得手段107は、最短経路として「v0→v1→v3→ve」を取得する。
以下、一般的なシステム構成変更手順生成装置100の動作を図17を参照して説明する。図17は、一般的なシステム構成変更手順生成装置100による変更手順生成処理の全体動作を示すフローチャートである。
最初に、最短距離頂点選択手段103は、システムの初期状態を表す開始頂点に関する到着推定距離を、到着推定距離計算手段102から得る(ステップS1000)。次いで、最短距離頂点選択手段103は、得られた到着推定距離と、開始頂点からの距離である確定距離0と共に、検索中頂点表に始点である開始頂点を登録する(ステップS1010)。すなわち、頂点検索ループに入る(ステップS1020)。
次いで、最短距離頂点選択手段103は、検索中頂点表に登録されている頂点のうち、共に登録されている到着推定距離と確定距離の和が最短の頂点である最短距離頂点eを取り出す(ステップS1030)。次いで、最短距離頂点選択手段103は、取り出された最短距離頂点eが終了頂点の集合に含まれているか否かを確認する(ステップS1040)。
最短距離頂点eが終了頂点の集合に含まれている場合(ステップS1040におけるYes)、システム構成変更手順生成装置100は、頂点検索ループを抜け、ステップS1180に処理を進める。
最短距離頂点eが終了頂点の集合に含まれていない場合(ステップS1040におけるNo)、最短距離頂点選択手段103は、取り出された最短距離頂点eを、検索中頂点表から削除し、検索済頂点表に登録する(ステップS1050)。
次いで、最短距離頂点選択手段103は、隣接頂点取得手段101から、最短距離頂点eに関する隣接頂点の集合を得る(ステップS1060)。すなわち、隣接頂点処理ループに入る(ステップS1070)。
最初に、最短距離頂点選択手段103は、得られた最短距離頂点eに関する隣接頂点の集合から、未処理の隣接頂点fを取り出す。取り出された隣接頂点fに関して、最短距離頂点選択手段103は、開始頂点から隣接頂点fまでの状態グラフにおける距離である仮の確定距離df’を求める。最短距離頂点選択手段103は、検索中頂点表から取り出された最短距離頂点eの確定距離deと、隣接頂点fと最短距離頂点eの間の距離d(e,f)の和であるDeをdf’にする(ステップS1080)。
次いで、到着推定距離計算手段102は、隣接頂点fに関する仮の到着推定距離hf’を計算する(ステップS1090)。仮の到着推定距離hf’が計算された後、最短距離頂点選択手段103は、隣接頂点fが検索中頂点表に登録されているか否か、または検索済頂点表に登録されているか否かを確認する(ステップS1100)。
隣接頂点fが検索中頂点表と検索済頂点表のいずれにも登録されていない場合(ステップS1110における条件[検索中頂点表にも検索済頂点表にも存在しない])、隣接頂点fは、未検索の頂点である。隣接頂点fが未検索の頂点である場合、最短距離頂点選択手段103は、ステップS1120に処理を進める。
隣接頂点fが検索中頂点表に登録されている場合(ステップS1110における条件[検索中頂点表に存在])、最短距離頂点選択手段103は、ステップS1130に処理を進める。また、隣接頂点fが検索済頂点表に登録されている場合(ステップS1110における条件[検索済頂点表に存在])、最短距離頂点選択手段103は、ステップS1140に処理を進める。
なお、本例において、同一の頂点が検索中頂点表および検索済頂点表に同時に登録されることはない。
システム構成変更手順生成装置100は、最短距離頂点eに関する隣接頂点の集合の中で処理されていない隣接頂点が存在する間、ステップS1080〜ステップS1140の処理を繰り返し実行する。ステップS1080〜ステップS1140の処理は、最短距離頂点eに関する隣接頂点ごとに、隣接頂点の数だけ繰り返し実行される。
最短距離頂点eに関する全ての隣接頂点が処理されたとき、システム構成変更手順生成装置100は、隣接頂点処理ループを抜ける(ステップS1150)。
システム構成変更手順生成装置100は、検索中頂点表に頂点が登録されている間、ステップS1030〜ステップS1150の処理を繰り返し実行する。ステップS1030〜ステップS1150の処理は、検索中頂点表に登録される頂点ごとに、登録される頂点の数だけ繰り返し実行される。
なお、本例のステップS1030〜ステップS1150の繰り返し処理において、最短距離頂点eが終了頂点の集合に含まれているというステップS1040の条件が満たされない限り、すなわち変更目的のシステム構成を表す終了頂点が検索されない限りステップS1180に処理は進まない。
検索中頂点表に頂点が登録されておらず、かつステップS1180に処理が進まなかった場合、最短経路取得手段107は、頂点検索ループを抜け、開始頂点と終了頂点を結ぶ経路が存在しないと判断する(ステップS1170)。判断した後、システム構成変更手順生成装置100は、変更手順生成処理を終了する。
最短距離頂点eが終了頂点の集合に含まれている場合(ステップS1040におけるYes)、現在のシステム構成を表す開始頂点から変更目的のシステム構成を表す終了頂点までの状態グラフにおける最短経路が存在する。最短経路取得手段107は、終了頂点の集合に含まれている最短距離頂点eを取り出す。
次いで、最短経路取得手段107は、経路樹情報が示す経路樹を最短距離頂点eからさかのぼることによって、最短経路を取得する(ステップS1180)。取得した後、システム構成変更手順生成装置100は、変更手順生成処理を終了する。
以下、変更手順生成処理を構成する副処理を説明する。最初に、ステップS1120の検索中頂点表登録処理を説明する。図18は、最短距離頂点選択手段103による検索中頂点表登録処理の動作を示すフローチャートである。
最短距離頂点選択手段103は、隣接頂点f、ステップS1080で算出された隣接頂点fの仮の確定距離df’、およびステップS1090で算出された仮の到着推定距離hf’を、検索中頂点表に登録する(ステップS1121)。登録した後、最短距離頂点選択手段103は、ステップS1150に処理を進める。
次に、ステップS1130の親頂点置き換え処理を説明する。図19は、最短距離頂点選択手段103による親頂点置き換え処理の動作を示すフローチャートである。
最短距離頂点選択手段103は、検索中頂点表に登録されている隣接頂点fの確定距離dfと到着推定距離hfの和Dfを求める。同様に、最短距離頂点選択手段103は、ステップS1080で算出された隣接頂点fの仮の確定距離df’とステップS1090で算出された仮の到着推定距離hf’の和Df’を求める。次いで、最短距離頂点選択手段103は、DfとDf’を比較する(ステップS1131)。
隣接頂点fのDfがDf’よりも長い場合(ステップS1132におけるYes)、最短距離頂点選択手段103は、検索中頂点表に登録されている隣接頂点fの確定距離dfを仮の確定距離df’に、隣接頂点fの到着推定距離hfを仮の到着推定距離hf’にそれぞれ置き換える(ステップS1133)。置き換えた後、最短距離頂点選択手段103は、ステップS1150に処理を進める。
隣接頂点fのDfがDf’以下の場合(ステップS1132におけるNo)、最短距離頂点選択手段103は、隣接頂点fの確定距離dfおよび到着推定距離hfが検索中頂点表に登録された状態のままにし、ステップS1150に処理を進める。
次に、ステップS1140の検索済頂点表移し替え処理を説明する。図20は、最短距離頂点選択手段103による検索済頂点表移し替え処理の動作を示すフローチャートである。
最短距離頂点選択手段103は、検索済頂点表に登録されている隣接頂点fの確定距離dfと到着推定距離hfの和Dfを求める。同様に、最短距離頂点選択手段103は、ステップS1080で算出された隣接頂点fの仮の確定距離df’とステップS1090で算出された仮の到着推定距離hf’の和Df’を求める。次いで、最短距離頂点選択手段103は、DfとDf’を比較する(ステップS1141)。
隣接頂点fのDfがDf’よりも長い場合(ステップS1142におけるYes)、最短距離頂点選択手段103は、検索済頂点表に登録されている隣接頂点fを、検索中頂点表に移し替える(ステップS1143)。隣接頂点fが検索中頂点表に移し替えられることによって、隣接頂点fに関する隣接頂点が検索される。
次いで、最短距離頂点選択手段103は、検索中頂点表に登録されている隣接頂点fの確定距離dfを仮の確定距離df’に、隣接頂点fの到着推定距離hfを仮の到着推定距離hf’にそれぞれ置き換える(ステップS1144)。
次いで、最短距離頂点選択手段103は、経路樹情報が示す隣接頂点fの親頂点を、最短距離頂点eに張り替える(ステップS1145)。張り替えた後、最短距離頂点選択手段103は、ステップS1150に処理を進める。
隣接頂点fのDfがDf’以下の場合(ステップS1142におけるNo)、最短距離頂点選択手段103は、隣接頂点fの確定距離dfおよび到着推定距離hfが検索済頂点表に登録された状態のままにし、ステップS1150に処理を進める。
上述した図17〜図20に示す各処理の動作は、非特許文献2に記載されているA*探索法に基づいた動作として知られている。
特表2014−506409号公報
特開平4−47356号公報
「ダイクストラ法」、[online]、ウィキペディア、[2016年1月29日検索]、インターネット<https://ja.wikipedia.org/wiki/%E3%83%80%E3%82%A4%E3%82%AF%E3%82%B9%E3%83%88%E3%83%A9%E6%B3%95> 「A*」、[online]、ウィキペディア、[2016年1月29日検索]、インターネット<https://ja.wikipedia.org/wiki/A*>
A*探索法が用いられる変更手順生成処理には、ICTシステム構成の変更手順の生成に適切な到着推定距離の計算方法が自明でないという問題がある。一般的にA*探索法において、解く対象の問題に合わせて到着推定距離の計算方法が適切に定められると、探索効率が上がる。しかし、各問題に適切な到着推定距離の計算方法は自明でない。
また、上記の例のように、ICTシステムの構成変更では、Webアプリケーションのバージョンの更新に他のモジュールのバージョンの更新が求められたり、モジュールのバージョンの更新に他のモジュールの状態の一時的な変更が求められたりする。
すなわち、複雑な依存関係が考慮された上で、ICTシステム構成の変更手順は生成されることが求められる。ICTシステム構成の変更手順の生成の問題を解くA*探索法において、探索が効率的に行われるような適切な到着推定距離の計算方法は自明でない。
また、ICTシステム構成の変更手順の生成の問題では最短経路の発見が最終目的であるため、適切な到着推定距離の計算方法は、Admissibleな計算方法であることが求められる。さらに、到着推定距離の計算に係る時間は、可能な限り短いことが好ましい。
そこで、本発明は、システムを構成する属性間に依存関係が存在するシステムの変更手順を適切に生成できる変更手順生成システム、変更手順生成方法および変更手順生成プログラムを提供することを目的とする。
本発明による変更手順生成システムは、所定の状態のシステムを構成する属性の属性値の変更目的の状態のシステムを構成する属性の属性値への変更に要する属性ごとの手順数の総和に対して変更において他の属性の属性値が変更される所定値未満の属性の数を加算し所定値を減算することによって到着推定距離を計算する計算手段を備えることを特徴とする。
本発明による変更手順生成方法は、所定の状態のシステムを構成する属性の属性値の変更目的の状態のシステムを構成する属性の属性値への変更に要する属性ごとの手順数の総和に対して変更において他の属性の属性値が変更される所定値未満の属性の数を加算し所定値を減算することによって到着推定距離を計算することを特徴とする。
本発明による変更手順生成プログラムは、コンピュータに、所定の状態のシステムを構成する属性の属性値の変更目的の状態のシステムを構成する属性の属性値への変更に要する属性ごとの手順数の総和に対して変更において他の属性の属性値が変更される所定値未満の属性の数を加算し所定値を減算することによって到着推定距離を計算する計算処理を実行させることを特徴とする。
本発明によれば、システムを構成する属性間に依存関係が存在するシステムの変更手順を適切に生成できる。
本発明によるシステム構成変更手順生成システム10の第1の実施形態の構成例を示すブロック図である。 本実施形態のシステム構成変更手順生成装置100による変更手順生成処理の全体動作を示すフローチャートである。 到着推定距離計算手段109による到着推定距離計算処理の動作を示すフローチャートである。 図12に示すWebシステムを構成するコンポーネント間に存在する依存関係を示す説明図である。 システムの構成変更の定義を表す有向グラフの例を示す説明図である。 図5に示す開始頂点と終了頂点を結ぶ最短経路の例を示す説明図である。 図6に示す最短経路の探索処理の例を示す説明図である。 図6に示す最短経路の探索処理の他の例を示す説明図である。 各方式に基づいて実行された最短経路の探索処理の評価結果を示す説明図である。 本発明による変更手順生成システムの概要を示すブロック図である。 一般的なシステム構成変更装置の構成例を示すブロック図である。 Webシステムにおける依存関係の例を示す説明図である。 システムの構成変更を表す有向グラフの例を示す説明図である。 一般的なシステム構成変更手順生成装置100の構成例を示すブロック図である。 検索中頂点表の例を示す説明図である。 経路樹情報記憶手段106に記憶されている経路樹情報の例を示す説明図である。 一般的なシステム構成変更手順生成装置100による変更手順生成処理の全体動作を示すフローチャートである。 最短距離頂点選択手段103による検索中頂点表登録処理の動作を示すフローチャートである。 最短距離頂点選択手段103による親頂点置き換え処理の動作を示すフローチャートである。 最短距離頂点選択手段103による検索済頂点表移し替え処理の動作を示すフローチャートである。
実施形態1.
[構成の説明]
以下、本発明の実施形態を、図面を参照して説明する。図1は、本発明によるシステム構成変更手順生成システム10の第1の実施形態の構成例を示すブロック図である。
図1に示すように、本実施形態のシステム構成変更手順生成システム10は、システム構成変更手順生成装置100と、表示手段200とを含む。なお、システム構成変更手順生成システム10は、表示手段200を含まなくてもよい。また、システム構成変更手順生成装置100は、単体で使用可能な装置である。
図1に示すシステム構成変更手順生成装置100は、状態グラフ展開手段108と、到着推定距離計算手段109と、最短距離頂点選択手段103と、検索中頂点表記憶手段104と、検索済頂点表記憶手段105と、経路樹情報記憶手段106と、最短経路取得手段107とを含む。状態グラフ展開手段108および到着推定距離計算手段109以外の図1に示すシステム構成変更手順生成装置100の構成は、図14に示すシステム構成変更手順生成装置100の構成と同様である。
状態グラフ展開手段108は、システム構成および構成変更に関する情報を示す状態モデルを入力とし、入力された頂点に隣接する次の頂点である隣接頂点を取得する機能を有する。
到着推定距離計算手段109は、状態グラフ展開手段108が出力した隣接頂点と、変更目的のシステム構成を表す終了頂点とを入力とし、隣接頂点から終了頂点までの状態グラフにおける距離である到着推定距離を算出する機能を有する。図14に示す到着推定距離計算手段102と異なり、本実施形態の到着推定距離計算手段109の計算性能は、計算対象の状態グラフに依存する。
本実施形態において、到着推定距離計算手段109は、属性の値が変更される際に他の属性の値も変更される関係、すなわちコンポーネント(属性)間に存在する依存関係を表すペナルティpを、到着推定距離の計算に使用する。
例えば、図12における(b)に示すように、Webシステムの属性「Webサーバ」の状態が「起動」であると、Webシステムの属性「lib v1」の状態は「起動」から「非搭載」に変更されない。すなわち、属性「Webサーバ」と属性「lib v1」の間に依存関係が存在する。
また、属性「Webサーバ」の状態が既に「停止」であれば、属性「lib v1」の状態は「起動」から「非搭載」に変更される。すなわち、属性「Webサーバ」と属性「lib v1」の間に依存関係が存在しない。
ペナルティpは、非負の整数である。また、本実施形態のペナルティpの最大値をpmaxとする。すなわち、ペナルティpは、必ずpmax以下になる。
システム構成変更手順生成装置100の各手段は、状態モデルが表すシステム構成と更新要求の内容を状態グラフにモデル化する。また、図14に示すシステム構成変更手順生成装置100と同様に、最短経路取得手段107が開始頂点と終了頂点を結ぶ最短経路を求めることによって、開始頂点が表す現在のシステム構成から終了頂点が表す変更目的のシステム構成への構成変更手順が生成される。構成変更手順が生成される際、到着推定距離計算手段109が適切にグラフ距離を見積もることによって、頂点が高速に探索される。
表示手段200は、最短経路取得手段107により取得された、開始頂点と終了頂点を結ぶ最短経路を表示する機能を有する。表示手段200は、例えば液晶ディスプレイ装置等の表示装置である。
[動作の説明]
以下、本実施形態のシステム構成変更手順生成装置100の動作を図2を参照して説明する。図2は、本実施形態のシステム構成変更手順生成装置100による変更手順生成処理の全体動作を示すフローチャートである。
ステップS2000〜ステップS2050の処理は、図17に示すステップS1000〜ステップS1050の処理と同様である。
最短距離頂点選択手段103は、状態グラフ展開手段108から最短距離頂点eに関する隣接頂点の集合を得る(ステップS2060)。すなわち、隣接頂点処理ループに入る(ステップS2070)。
ステップS2080〜ステップS2180の処理は、図17に示すステップS1080〜ステップS1180の処理と同様である。
以下、変更手順生成処理を構成する副処理のうち、本実施形態独自の処理であるステップS2090の到着推定距離計算処理を説明する。図3は、到着推定距離計算手段109による到着推定距離計算処理の動作を示すフローチャートである。
最初に、到着推定距離計算手段109は、隣接頂点fに関する仮の到着推定距離hf’とペナルティpを、それぞれ0に初期化する。また、到着推定距離計算手段109は、pmaxを自然数の定数に初期化する(ステップS2091)。すなわち、属性変更ループに入る(ステップS2092)。
図13に示すように、所定の状態のシステム構成を表す隣接頂点fは、複数の属性を含む。到着推定距離計算手段109は、隣接頂点fに含まれる属性から未処理の属性aを取り出す。次いで、到着推定距離計算手段109は、隣接頂点fの取り出された属性aの属性値vの、変更目的のシステム構成を表す頂点gに含まれる属性aの属性値v’への変更に要する操作数dを算出する(ステップS2093)。
次いで、到着推定距離計算手段109は、算出された操作数dを仮の到着推定距離hf’に加算する(ステップS2094)。ステップS2094では、構成が変更される対象のシステムを構成するコンポーネント(すなわち、属性)間に存在する依存関係は考慮されない。
次いで、到着推定距離計算手段109は、ステップS2093で算出された操作数dに関する属性値の変更において、属性間に依存関係が存在するか否かを確認する(ステップS2095)。
属性間に依存関係が存在する場合(ステップS2095におけるYes)、到着推定距離計算手段109は、ペナルティpに1を加算する(ステップS2096)。加算した後、到着推定距離計算手段109は、ステップS2097に処理を進める。
属性間に依存関係が存在しない場合(ステップS2095におけるNo)、到着推定距離計算手段109は、ペナルティpを更新せずに、ステップS2097に処理を進める。
到着推定距離計算手段109は、隣接頂点fに含まれる属性の中で処理されていない属性が存在する間、ステップS2093〜ステップS2096の処理を繰り返し実行する。ステップS2093〜ステップS2096の処理は、隣接頂点fに含まれる属性ごとに、含まれている属性の数だけ繰り返し実行される。隣接頂点fに含まれる全ての属性が処理されたとき、到着推定距離計算手段109は、属性変更ループを抜ける(ステップS2097)。
属性変更ループを抜けた後、到着推定距離計算手段109は、以下の式(1)に示すように仮の到着推定距離hf’にペナルティpを反映する(ステップS2098)。
hf’ ← hf’ + min(p, pmax) − pmax ・・・式(1)
なお、式(1)におけるmin(p, pmax)は、pとpmaxのうち、小さい方の値を返す関数である。式(1)に従ってhf’を計算した後、到着推定距離計算手段109は、以下の式(2)に示すように仮の到着推定距離hf’の戻り値を決定する(ステップS2099)。
hf’ ← max(0, hf’) ・・・式(2)
なお、式(2)におけるmax(0, hf’)は、0とhf’のうち、大きい方の値を返す関数である。すなわち、算出されたhf’が負であれば0が、副処理で求められた仮の到着推定距離の戻り値になる。また、算出されたhf’が正であればhf’が、副処理で求められた仮の到着推定距離の戻り値になる。仮の到着推定距離の戻り値を決定した後、到着推定距離計算手段109は、到着推定距離計算処理を終了する。
なお、到着推定距離は、Admissibleな到着推定距離であることが求められる。すなわち、終了頂点に到着するまでの距離は、到着推定距離以上であることが求められる。上記の到着推定距離計算手段109による到着推定距離計算処理で求められる到着推定距離はAdmissibleな到着推定距離になることを以下に示す。
終了頂点に到着するまでの距離は、少なくともコンポーネント(属性)間に存在する依存関係が全く考慮されずに求められた変更手順の数以上の距離になる。
また、式(1)に示すように、到着推定距離計算手段109は、hf’ + min(p, pmax) − pmaxを計算することによって到着推定距離を求める。式(1)の右辺第1項のhf’は、コンポーネント(属性)間に存在する依存関係が全く考慮されずに求められた変更手順の数に相当する。また、(min(p, pmax) − pmax)は、常に0以下になる。よって、本実施形態において以下の不等式(3)が成立する。
hf’ + min(p, pmax) − pmax ≦ hf’ ≦ (終了頂点に到着するまでの距離) ・・・式(3)
式(3)に示す通り、本実施形態で求められる到着推定距離は、終了頂点に到着するまでの距離以下になるため、Admissibleな到着推定距離である。
[効果の説明]
本実施形態の到着推定距離計算手段109は、システムを構成するコンポーネント(属性)間に存在する依存関係が考慮された到着推定距離を求める。よって、本実施形態のシステム構成変更手順生成装置100は、一般的なシステム構成変更手順生成装置100に比べてシステム構成の変更手順を高速で生成できる。
その理由は、到着推定距離計算手段109が依存関係が反映された到着推定距離を計算することによって、より到着距離に近い到着推定距離が計算される。より到着距離に近い到着推定距離が計算されることによって複数の経路における到着推定距離に差が生じるので、最短距離頂点選択手段103が選択する最短距離頂点がより絞られるためである。
また、本実施形態のシステム構成変更手順生成装置100は、A*探索法を用いて効率的に変更手順生成処理を実行できる。その理由は、効率的に変更手順生成処理が実行されるためには、到着推定距離計算手段109が効率的に到着推定距離を計算することが求められる。
本実施形態の到着推定距離計算手段109は、頂点に含まれる属性ごとに独立して到着推定距離を計算でき、属性間に依存関係が存在する時にのみ他の属性を参照する。よって、到着推定距離計算手段109は、複数の属性を跨ぐ複雑な探索や計算をせずに済み、効率的に到着推定距離を計算できるからである。
[具体例]
以下、本発明の実施形態の具体例を、図面を参照して説明する。本具体例では、図12における(a)に示すWebシステムを構成するWebサーバにおいて稼働するアプリケーションAPのバージョンがv1からv2に更新される場合、すなわちAP v1がAP v2に置換される場合を考える。なお、上記の通りAP v2の稼働にはライブラリlib v2が求められる。
図4は、図12における(a)に示すWebシステムを構成するコンポーネント間に存在する依存関係を示す説明図である。図4に、「AP v1:停止 → 起動 depends WebServer.起動 & lib v1.起動」と記載されている。すなわち、AP v1の起動には、ライブラリであるlib v1が起動状態であることが求められる。
同様に、「AP v2:停止 → 起動 depends WebServer.起動 & lib v2.起動」と記載されている。すなわち、AP v2の起動には、ライブラリであるlib v2が起動状態であることが求められる。また、AP v1の状態およびAP v2の状態の遷移には、Webサーバが起動状態であることが求められる。AP v1の状態およびAP v2の状態は、「停止」、「起動」、「非搭載」の各状態を取り得る。
また、図4に、「lib v1|lib v2:起動 → 停止 depends WebServer.停止」と記載されている。すなわち、lib v1およびlib v2の停止には、Webサーバが停止状態であることが求められる。
本具体例のシステム構成変更に関して、変更前のシステム構成を表す状態グラフの開始頂点と、変更後のシステム構成を表す状態グラフの終了頂点を図5に示す。図5は、システムの構成変更の定義を表す有向グラフの例を示す説明図である。
図5に示すように、開始頂点におけるAP v1の状態「起動」は、終了頂点において「非搭載」に変更されている。また、開始頂点におけるAP v2の状態「非搭載」は、終了頂点において「起動」に変更されている。
また、図5に示すように、開始頂点におけるlib v1の状態「起動」は、終了頂点において「非搭載」に変更されている。また、開始頂点におけるlib v2の状態「非搭載」は、終了頂点において「起動」に変更されている。
本具体例の変更手順生成処理において、システム構成変更手順生成装置100は、図5に示す開始頂点と終了頂点を結ぶ最短経路を計算する。図6は、図5に示す開始頂点と終了頂点を結ぶ最短経路の例を示す説明図である。本具体例において、システム構成変更手順生成装置100は、図6に示すような最短経路を算出する。
図6に示す各頂点において、下線が付された状態は、前の頂点における状態から変更された状態を表す。例えば、開始頂点におけるWebサーバの状態「起動」は、2つ目の頂点において「停止」に変更されている。
図6に示すように、図5に示す開始頂点と終了頂点を結ぶ最短経路は、11個の頂点で構成される経路である。図6に示す最短経路の算出処理において到着推定距離に、マンハッタン距離が使用された場合と、本実施形態の到着推定距離計算手段109が計算した距離が使用された場合との違いを以下に説明する。
図7は、図6に示す最短経路の探索処理の例を示す説明図である。図7に示す例は、到着推定距離にマンハッタン距離が使用されるA*探索法が実行された場合の最短経路の探索処理の例である。
到着推定距離にマンハッタン距離が使用される場合、到着推定距離は、頂点の属性の属性値の、終了頂点の属性の属性値への変更に要する属性ごとの操作数の総和になる。すなわち、図7に示す例における到着推定距離は、pmax=0の条件下で到着推定距離計算手段109が計算した距離と同等である。
図7に示す各頂点には属性および属性の状態が含まれる。各頂点の属性である「A1」、「A2」、「w」、「L1」、「L2」は、それぞれAP v1、AP v2、Webサーバ、lib v1、lib v2を表す。また、属性の各状態である「t」、「f」、「u」は、それぞれ「起動」、「非搭載」、「停止」を表す。
また、図7に示す各頂点において、下線が付された状態は、前の頂点における状態から変更された状態を表す。例えば、開始頂点における属性「A1」の状態「t」は、2つ目の頂点において「u」に変更されている。
また、図7に示す各頂点の近傍に記載されているdは、算出された終了頂点までの距離を表す。距離のうち、矩形で囲まれた値は確定距離を表す。また、他の値は到着推定距離を表す。上述したように、図7に示す例における到着推定距離は、マンハッタン距離である。
また、図7における斜線で示された頂点は、アルゴリズム上検索された頂点を表す。図17に示すフローチャートに沿って、図14に示す一般的なシステム構成変更手順生成装置100は、最短距離頂点が終了頂点に含まれるまで頂点を検索する。図7に示す例では、18個の頂点が全て検索されている。
図8は、図6に示す最短経路の探索処理の他の例を示す説明図である。図8に示す例は、到着推定距離に本実施形態の到着推定距離計算手段109が計算した距離が使用されるA*探索法が実行された場合の最短経路の探索処理の例である。また、図8は、pmax=2の条件下で実行された最短経路の探索処理の例を示す。
図8に示す各頂点の近傍に記載されているdは、算出された終了頂点までの距離を表す。距離のうち、矩形で囲まれた値は確定距離を表す。また、他の値は到着推定距離を表す。到着推定距離のうち下線が付された値は、ペナルティ部分、すなわち式(1)におけるmin(p, pmax) − pmaxの値を表す。また、到着推定距離の他の値は、属性ごとの距離を表す。
図8に示すように、開始頂点のdの到着推定距離には、式「2+2+0+2+2」が含まれる。式「2+2+0+2+2」は、「A1」、「A2」、「w」、「L1」、「L2」の各属性の操作数の和で表された距離である。例えば、開始頂点の「A1」の状態は「t」であり、終了頂点の「A1」の状態は「f」である。よって、開始頂点の「A1」の距離は、状態「t」から状態「f」への変更に要する操作数の2になる。
すなわち、式「2+2+0+2+2」は、上記のように計算された5つの属性の各距離が足し合わされた式である。なお、図7には、式「2+2+0+2+2」の計算結果である「8」が記載されている。
d以外の図8における表記の意味は、図7における表記の意味と同じである。図2に示すフローチャートに沿って、図1に示す本実施形態のシステム構成変更手順生成装置100は、最短距離頂点が終了頂点に含まれるまで頂点を検索する。本具体例では、アルゴリズム上最も距離dが小さい頂点から検索される。
図8には、白色の頂点が示されている。白色の頂点は、アルゴリズム上検索されなかった頂点を表す。白色の頂点が検索されなかった理由は、検索された頂点のすべてよりも距離dが大きいためである。例えば、図8に示す頂点Aは、距離dが10である。
検索された頂点の中で距離dが10以上である頂点は終了頂点のみであるため、距離dが10である頂点Aは、他の頂点の距離dが10より大きくならない限り検索されない。頂点Aが検索されなかったため、同じ経路を構成する他の頂点も全て検索されていない。また、頂点Aと同様の理由で、頂点Bも検索されていない。
図8に示す例では、開始頂点と終了頂点を含めて11個の頂点が検索される。すなわち、図8に示す例では、最後まで検索されなかった頂点(白色の頂点)が存在するため、図7に示す例に比べて探索処理が高速に実行される。従って、本実施形態のシステム構成変更手順生成装置100の方が、一般的なシステム構成変更手順生成装置100よりも効率的に最短経路を求めることができる。
図9は、各方式に基づいて実行された最短経路の探索処理の評価結果を示す説明図である。事例1は、検索対象の頂点が多い例である。また、事例2は、検索対象の頂点が少ない例である。また、最短経路長に記載されている数字は、リンク数を表す。リンク数は、((最短経路を構成する頂点の数)−1)である。
図9には、事例1および事例2に対して、マンハッタン距離、到着推定距離計算手段109が計算した距離、ダイクストラ法が使用された場合に検索されたそれぞれの頂点の数が示されている。到着推定距離計算手段109が計算した距離が使用された場合に関して、pmax=1、pmax=2、pmax=3の各条件下で計算された場合がそれぞれ示されている。
図9には、事例1と事例2共に、pmax=2の条件下で到着推定距離計算手段109が計算した距離が使用された場合が最も検索された頂点の数が少なかったという評価結果が示されている。よって、pmax=2に設定された時の本実施形態のシステム構成変更手順生成装置100が、最も高速で最短経路を探索できる。
本実施形態のシステム構成変更手順生成システムは、ICTシステムの構成変更手順を生成するために使用される、適切な到着推定距離を効率的に計算する到着推定距離計算手段を有する。到着推定距離計算手段は、ICTシステムの構成変更を表す有向グラフである状態グラフにおける、ICTシステムを構成するモジュール間に存在する依存関係が反映された到着推定距離を計算する。
本実施形態のシステム構成変更手順生成システムは、現在のシステム構成と変更目的のシステム構成が与えられると、到着推定距離にマンハッタン距離が使用される場合に比べて構成変更手順をより高速に生成できる。
その理由は、到着推定距離計算手段がICTシステムを構成するモジュール間に存在する依存関係が反映された到着推定距離を計算することによって、より到着距離に近い到着推定距離が計算される。より到着距離に近い到着推定距離が計算されることによって複数の経路における到着推定距離に差が生じるので、システム構成変更手順生成システムが、A*探索法を用いてより高速に最短経路を発見できるためである。
なお、本実施形態のシステム構成変更手順生成装置100は、例えば、記憶媒体に格納されているプログラムに従って処理を実行するCPU(Central Processing Unit)によって実現される。すなわち最短距離頂点選択手段103、最短経路取得手段107、状態グラフ展開手段108、および到着推定距離計算手段109は、例えば、プログラム制御に従って処理を実行するCPUによって実現される。
また、検索中頂点表記憶手段104、検索済頂点表記憶手段105、および経路樹情報記憶手段106は、例えばRAM(Random Access Memory)で実現される。
また、本実施形態のシステム構成変更手順生成装置100における各部は、ハードウェア回路によって実現されてもよい。
次に、本実施形態の概要を説明する。図10は、本実施形態による変更手順生成システムの概要を示すブロック図である。本実施形態による変更手順生成システム20は、所定の状態のシステムを構成する属性の属性値の変更目的の状態のシステムを構成する属性の属性値への変更に要する属性ごとの手順数の総和に対して変更において他の属性の属性値が変更される所定値未満の属性の数を加算し所定値を減算することによって到着推定距離を計算する計算手段21(例えば、到着推定距離計算手段109)を備える。
そのような構成により、変更手順生成システムは、システムを構成する属性間に依存関係が存在するシステムの変更手順を適切に生成できる。
また、計算手段21は、所定の状態のシステムを表す隣接頂点と変更目的の状態のシステムを表す終了頂点とを入力とし、属性ごとの手順数の総和に相当する隣接頂点から終了頂点までのマンハッタン距離を用いて隣接頂点に関する到着推定距離を計算してもよい。
そのような構成により、変更手順生成システムは、変更対象のシステムの状態を表す状態グラフを入力としてシステムの変更手順を生成できる。
また、変更手順生成システム20は、最短距離頂点を選択する選択手段(例えば、最短距離頂点選択手段103)を備え、計算手段21は、初期状態のシステムを表す開始頂点から隣接頂点までの確定距離を計算し、選択手段は、隣接頂点と隣接頂点に関する確定距離および到着推定距離とを入力とし、入力された隣接頂点の中で確定距離と到着推定距離の和が最短の隣接頂点を最短距離頂点に選択してもよい。
そのような構成により、変更手順生成システムは、システムを構成する属性間に存在する依存関係が考慮された上で計算された到着推定距離に基づいて、最短距離頂点を選択できる。
また、変更手順生成システム20は、選択手段により選択された複数の最短距離頂点で構成された経路を最短経路として取得する取得手段(例えば、最短経路取得手段107)を備えてもよい。
そのような構成により、変更手順生成システムは、システムを構成する属性間に存在する依存関係が考慮された上で計算された到着推定距離に基づいて、最短のシステムの変更手順を取得できる。
また、変更手順生成システム20は、取得手段により取得された最短経路を表示する表示手段(例えば、表示手段200)を備えてもよい。
そのような構成により、変更手順生成システムは、取得されたシステムの変更手順を利用者に分かりやすく提示できる。
また、所定値は、2でもよい。
そのような構成により、変更手順生成システムは、より高速でシステムの変更手順を生成できる。
本発明は、依存関係を有するコンポーネントで構成されたシステムの構成変更手順を求める用途に好適に適用可能である。また、本発明は、依存関係を有する操作で構成されたプロセスの手順を生成する用途にも好適に適用可能である。
この出願は、2016年2月8日に出願された日本出願特願2016−021604を基礎とする優先権を主張し、その開示の全てをここに取り込む。
10 システム構成変更手順生成システム
20 変更手順生成システム
21 計算手段
100 システム構成変更手順生成装置
101 隣接頂点取得手段
102、109 到着推定距離計算手段
103 最短距離頂点選択手段
104 検索中頂点表記憶手段
105 検索済頂点表記憶手段
106 経路樹情報記憶手段
107 最短経路取得手段
108 状態グラフ展開手段
200 表示手段

Claims (10)

  1. 所定の状態のシステムを構成する属性の属性値の変更目的の状態の前記システムを構成する前記属性の属性値への変更に要する属性ごとの手順数の総和に対して前記変更において他の属性の属性値が変更される所定値未満の属性の数を加算し前記所定値を減算することによって到着推定距離を計算する計算手段を備える
    ことを特徴とする変更手順生成システム。
  2. 前記計算手段は、所定の状態のシステムを表す隣接頂点と変更目的の状態の前記システムを表す終了頂点とを入力とし、属性ごとの手順数の総和に相当する前記隣接頂点から前記終了頂点までのマンハッタン距離を用いて前記隣接頂点に関する到着推定距離を計算する
    請求項1記載の変更手順生成システム。
  3. 最短距離頂点を選択する選択手段を備え、
    前記計算手段は、初期状態のシステムを表す開始頂点から隣接頂点までの確定距離を計算し、
    前記選択手段は、前記隣接頂点と前記隣接頂点に関する前記確定距離および前記到着推定距離とを入力とし、入力された前記隣接頂点の中で前記確定距離と前記到着推定距離の和が最短の隣接頂点を前記最短距離頂点に選択する
    請求項2記載の変更手順生成システム。
  4. 前記選択手段により選択された複数の前記最短距離頂点で構成された経路を最短経路として取得する取得手段を備える
    請求項3記載の変更手順生成システム。
  5. 前記取得手段により取得された前記最短経路を表示する表示手段を備える
    請求項4記載の変更手順生成システム。
  6. 前記所定値は、2である
    請求項1から請求項5のうちのいずれか1項に記載の変更手順生成システム。
  7. 所定の状態のシステムを構成する属性の属性値の変更目的の状態の前記システムを構成する前記属性の属性値への変更に要する属性ごとの手順数の総和に対して前記変更において他の属性の属性値が変更される所定値未満の属性の数を加算し前記所定値を減算することによって到着推定距離を計算する
    ことを特徴とする変更手順生成方法。
  8. 所定の状態のシステムを表す隣接頂点と変更目的の状態の前記システムを表す終了頂点とを入力とし、属性ごとの手順数の総和に相当する前記隣接頂点から前記終了頂点までのマンハッタン距離を用いて前記隣接頂点に関する到着推定距離を計算する
    請求項7記載の変更手順生成方法。
  9. コンピュータに、
    所定の状態のシステムを構成する属性の属性値の変更目的の状態の前記システムを構成する前記属性の属性値への変更に要する属性ごとの手順数の総和に対して前記変更において他の属性の属性値が変更される所定値未満の属性の数を加算し前記所定値を減算することによって到着推定距離を計算する計算処理
    を実行させるプログラムを記録するプログラム記録媒体。
  10. コンピュータに、
    所定の状態のシステムを表す隣接頂点と変更目的の状態の前記システムを表す終了頂点とを入力とし、属性ごとの手順数の総和に相当する前記隣接頂点から前記終了頂点までのマンハッタン距離を用いて前記隣接頂点に関する到着推定距離を計算する計算処理を実行させる
    請求項9記載のプログラム記録媒体。
JP2017566943A 2016-02-08 2017-02-07 変更手順生成システム、変更手順生成方法およびプログラム Pending JPWO2017138506A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016021604 2016-02-08
JP2016021604 2016-02-08
PCT/JP2017/004319 WO2017138506A1 (ja) 2016-02-08 2017-02-07 変更手順生成システム、変更手順生成方法およびプログラム記録媒体

Publications (1)

Publication Number Publication Date
JPWO2017138506A1 true JPWO2017138506A1 (ja) 2018-12-13

Family

ID=59563295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017566943A Pending JPWO2017138506A1 (ja) 2016-02-08 2017-02-07 変更手順生成システム、変更手順生成方法およびプログラム

Country Status (3)

Country Link
US (1) US20190036768A1 (ja)
JP (1) JPWO2017138506A1 (ja)
WO (1) WO2017138506A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019155827A1 (ja) * 2018-02-06 2019-08-15 日本電気株式会社 システム更新装置およびシステム更新方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8271117B2 (en) * 2007-11-22 2012-09-18 Panasonic Corporation Fabrication system of semiconductor integrated circuit, fabrication device, fabrication method, integrated circuit and communication system
US20140317254A1 (en) * 2012-01-27 2014-10-23 Hitachi, Ltd. Management computer, automated operation procedure output method, and computer-readable storage medium
JP6160064B2 (ja) * 2012-11-19 2017-07-12 富士通株式会社 適用判定プログラム、障害検出装置および適用判定方法
JP6029951B2 (ja) * 2012-11-27 2016-11-24 株式会社日立製作所 時系列データベースの設定自動生成方法、設定自動生成システム並びに監視サーバ
WO2015132945A1 (ja) * 2014-03-07 2015-09-11 株式会社日立製作所 性能評価方法及び情報処理装置
US20150323916A1 (en) * 2014-05-09 2015-11-12 Vanderbilt University Fast change planning system, fast change planning method, and fast change planning program
JP2016126693A (ja) * 2015-01-08 2016-07-11 富士通株式会社 制御手順方法、制御手順プログラム及び制御手順装置

Also Published As

Publication number Publication date
WO2017138506A1 (ja) 2017-08-17
US20190036768A1 (en) 2019-01-31

Similar Documents

Publication Publication Date Title
JP5107131B2 (ja) テストケース生成装置およびその生成方法、ならびにテストケース生成のためのプログラム
US20230289583A1 (en) System and method for adapting a neural network model on a hardware platform
EP4369180A2 (en) Callpath finder
CN109432777B (zh) 路径生成方法及装置、电子设备、存储介质
US20210304066A1 (en) Partitioning for an execution pipeline
US20100275186A1 (en) Segmentation for static analysis
EP3494487A1 (en) Learned data filtering
JP2016126693A (ja) 制御手順方法、制御手順プログラム及び制御手順装置
CN109542779A (zh) 测试方法、装置和存储介质
CN114268574B (zh) 使用基于q学习的增强学习的扫描链线长度优化
US20130111440A1 (en) Methods, Apparatuses, and Computer-Readable Media for Computing Checksums for Effective Caching in Continuous Distributed Builds
WO2017138506A1 (ja) 変更手順生成システム、変更手順生成方法およびプログラム記録媒体
JP4945547B2 (ja) 座標データ構造におけるデータの格納またはアクセス方法、及びその方法を用いて印刷ジョブに関する解の識別を実行するシステム
US11138351B2 (en) Estimated distance calculator, estimated distance calculation method, estimated distance calculation program, and automated planner
CN116629330B (zh) 一种算子检测方法、装置以及计算机设备
JP2019121404A (ja) グラフベースの類似度検索を用いたfpga実装のインクリメンタル方式による生成
US20160328490A1 (en) System and method for identifying clones
JP6989014B2 (ja) システム構成導出装置、方法およびプログラム
US20210049019A1 (en) Optimizing the startup speed of a modular system using machine learning
CN114461390A (zh) 结合多维度分析和关键路径法的评估方法及相关装置
JP7400833B2 (ja) トポロジー設計装置、トポロジー設計方法、及びプログラム
JP7380696B2 (ja) 人員の手配装置、手配方法およびプログラム
JP6548209B2 (ja) 処理装置、処理方法、及び、プログラム
CN118428313B (zh) 用于版图处理的方法、设备和介质
US11928500B1 (en) Multi-threaded network routing based on partitioning

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180724