JP6813010B2 - 可用性のシステム、方法、およびプログラム - Google Patents

可用性のシステム、方法、およびプログラム Download PDF

Info

Publication number
JP6813010B2
JP6813010B2 JP2018163641A JP2018163641A JP6813010B2 JP 6813010 B2 JP6813010 B2 JP 6813010B2 JP 2018163641 A JP2018163641 A JP 2018163641A JP 2018163641 A JP2018163641 A JP 2018163641A JP 6813010 B2 JP6813010 B2 JP 6813010B2
Authority
JP
Japan
Prior art keywords
application
host computer
virtual machine
operation mode
state
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
JP2018163641A
Other languages
English (en)
Other versions
JP2020035374A (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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2018163641A priority Critical patent/JP6813010B2/ja
Priority to CN201910772541.9A priority patent/CN110874261B/zh
Priority to US16/550,287 priority patent/US11210077B2/en
Publication of JP2020035374A publication Critical patent/JP2020035374A/ja
Application granted granted Critical
Publication of JP6813010B2 publication Critical patent/JP6813010B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • 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
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • 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
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • 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
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • 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
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • 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
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • 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
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)

Description

本発明は、可用性のシステム、方法、およびプログラムに関する。
従来、継続して稼働できる能力(可用性)が求められるシステムにおいて、ハードウェア故障による非計画的なサービス停止のリスクに対応するため、冗長化システムやマルチサーバ構成のシステムが用いられてきた。また、制御対象に影響を与えることなくシステムプログラムを変更できる二重化制御用計算機システムも知られている。(例えば、特許文献1参照)。
特許文献1 特開平11−003240号公報
従来の技術によれば、高度にカスタマイズされた専用のハードウェアと専用のオペレーティングシステム(OS:Operating System)を用いることによって、ソフトウェアの更新作業等の計画的なメンテナンス作業中も、システムを止めることなく連続したサービスを実現している。しかしながら、専用のシステムを用いることなく、ハードウェア故障に対する可用性やメンテナンスに対する可用性を実現することが望まれている。
上記課題を解決するために、本発明の第1の態様においては、システムを提供する。システムは、第1アプリケーションを動作させるための第1仮想マシンを実行する第1ホストコンピュータを備えてよい。システムは、第2アプリケーションを動作させるための第2仮想マシンを実行する第2ホストコンピュータを備えてよい。第2ホストコンピュータは、冗長化動作モードにおいて、第2仮想マシンの実行を停止させた状態で、第1仮想マシンの実行イメージを第2仮想マシンの実行イメージに反映してよい。第2ホストコンピュータは、マルチ動作モードにおいて、第2仮想マシンを第1仮想マシンと並列に実行させた状態で、第1アプリケーションの内部状態を第2アプリケーションの内部状態に反映してよい。
第2ホストコンピュータは、冗長化動作モードにおいて、第1仮想マシンの実行イメージを複製して、第2仮想マシンの実行イメージに反映してよい。
第1ホストコンピュータは、第1仮想マシンを実行する仮想化環境を備えた第1プラットフォームを実行してよい。第2ホストコンピュータは、第2仮想マシンを実行する仮想化環境を備えた第2プラットフォームを実行してよい。第2ホストコンピュータは、冗長化動作モードにおいて、第2プラットフォーム上で、第1仮想マシンの実行イメージを第2仮想マシンの実行イメージに反映してよい。
第2ホストコンピュータは、マルチ動作モードにおいて、第2アプリケーション上で、第1アプリケーションの内部状態を第2アプリケーションの内部状態に反映してよい。
第2ホストコンピュータは、マルチ動作モードにおいて、第2プラットフォーム上で、第1アプリケーションの内部状態を第2アプリケーションの内部状態に反映してよい。
第1ホストコンピュータは、第1アプリケーションのコンテキストを第1アプリケーションから第1プラットフォームへセーブし、第1アプリケーションのコンテキストを第1プラットフォームから第2プラットフォームへ転送してよい。第2ホストコンピュータは、転送された第1アプリケーションのコンテキストを第2プラットフォームから第2アプリケーションへリストアしてよい。
第2ホストコンピュータは、冗長化動作モードにおいて、第2アプリケーションを第1アプリケーションのスタンバイとして待機させている場合に、第1アプリケーションの実行に異常が生じると、反映させた第1仮想マシンの実行イメージを用いて第2仮想マシンの実行を開始してよい。
第2ホストコンピュータは、冗長化動作モードにおいて、第2アプリケーションを第1アプリケーションのスタンバイとして待機させている場合に、第1仮想マシンおよび第2仮想マシンの少なくともいずれか一方の上で動作するソフトウェアの更新が指示されると、第2仮想マシンの上で動作するソフトウェアを更新してよい。第2ホストコンピュータは、ソフトウェアを更新した後に、マルチ動作モードに遷移し、第1アプリケーションの内部状態を第2アプリケーションの内部状態に反映してよい。
第1ホストコンピュータは、第2ホストコンピュータが第1アプリケーションの内部状態を第2アプリケーションの内部状態に反映した後に、冗長化動作モードにおいて、第1アプリケーションを第2アプリケーションのスタンバイとして待機させ、第2仮想マシンの実行イメージを第1仮想マシンの実行イメージに反映してよい。
冗長化動作モードにおいて、第1仮想マシン上で第1アプリケーションを実行するオペレーティングシステムおよび第2仮想マシン上で第2アプリケーションを実行するオペレーティングシステムのうちのいずれか一方のみに対して、外部からアクセス可能なネットワーク設定を割り当て、マルチ動作モードにおいて、第1仮想マシン上で第1アプリケーションを実行するオペレーティングシステムおよび第2仮想マシン上で第2アプリケーションを実行するオペレーティングシステムのそれぞれに対して、外部からアクセス可能な異なるネットワーク設定を割り当ててよい。
本発明の第2の態様においては、方法を提供する。方法は、第1アプリケーションを動作させるための第1仮想マシンを実行する第1ホストコンピュータと、第2アプリケーションを動作させるための第2仮想マシンを実行する第2ホストコンピュータと、を備えたシステムにおける、第2ホストコンピュータが、冗長化動作モードにおいて、第2仮想マシンの実行を停止させた状態で、第1仮想マシンの実行イメージを第2仮想マシンの実行イメージに反映することを含んでよい。方法は、第2ホストコンピュータが、マルチ動作モードにおいて、第2仮想マシンを第1仮想マシンと並列に実行させた状態で、第1アプリケーションの内部状態を第2アプリケーションの内部状態に反映することを含んでよい。
本発明の第3の態様においては、プログラムを提供する。プログラムは、第1アプリケーションを動作させるための第1仮想マシンを実行する第1ホストコンピュータと、第2アプリケーションを動作させるための第2仮想マシンを実行する第2ホストコンピュータと、を備えたシステムにおける、第2ホストコンピュータにより実行されてよい。プログラムは、第2ホストコンピュータに、冗長化動作モードにおいて、第2仮想マシンの実行を停止させた状態で、第1仮想マシンの実行イメージを第2仮想マシンの実行イメージに反映させてよい。プログラムは、第2ホストコンピュータに、マルチ動作モードにおいて、第2仮想マシンを第1仮想マシンと並列に実行させた状態で、第1アプリケーションの内部状態を第2アプリケーションの内部状態に反映させてよい。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本実施形態に係るシステム10を示す。 本実施形態に係る第1ホストコンピュータ110および第2ホストコンピュータ130の動作状態の遷移を示す。 本実施形態に係るシステム10におけるハードウェア故障に対する可用性を示すフローである。 本実施形態に係るシステム10におけるメンテナンスに対する可用性を示すフローである。 本実施形態の変形例に係るシステム10を示す。 本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2200の例を示す。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係るシステム10を示す。本実施形態に係るシステム10は、管理ツール150による制御のもと、第1ホストコンピュータ110および第2ホストコンピュータ130を用いて、ハードウェア故障やメンテナンス作業に対してもシステムを止めることなく継続したサービスをクライアント160に提供する。本実施形態に係るシステム10は、例えば、プロセス制御システムにおけるSupervisory Control And Data Acquisition(SCADA)システム、プラント情報管理システム、Distributed Control System(DCS)、通信ゲートウェイシステム(OLE for Process Control(OPC)サーバ等)、および運転効率向上支援システム等、様々なシステムへ適用可能である。一例として、本実施形態に係るシステム10を、プロセス制御システムに適用する場合、プロセス上の各種データを収集してプロセスに対してコマンドを送信する監視制御ステーション等を、本実施形態に係るシステム10の第1ホストコンピュータ110および第2ホストコンピュータ130により構築して可用性を持たせることによって、連続的なプロセスの制御や監視を実現することができる。これによって、例えば、監視制御ステーションは、クライアント160に対して、サーバ故障時やメンテナンス時においてもシステムを止めることなく各種サービスを提供することが可能となる。システム10は、第1ホストコンピュータ110、第2ホストコンピュータ130、管理ツール150、クライアント160、制御網170、およびネットワーク180を備える。なお、本図においては、ホストコンピュータが2台である場合を一例として示す。しかしながら、ホストコンピュータは2台に限定されず、3台以上であってもよい。また、本図においては、制御網170とネットワーク180とが独立して設けられている場合を一例として示す。しかしながら、制御網170とネットワーク180とは一体化されていてもよい。
第1ホストコンピュータ110は、PC(パーソナルコンピュータ)、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。第1ホストコンピュータ110は、第1ホストコンピュータ110上にインストールされた第1ホストオペレーティングシステム112を実行し、第1ホストオペレーティングシステム112上で第1プラットフォーム114を実行する。そして、第1ホストコンピュータ110は、第1プラットフォーム114の仮想化機能により第1仮想マシン120を実行し、第1仮想マシン120上で、第1ゲストオペレーティングシステム122および第1アプリケーション124を実行する。
第1ホストオペレーティングシステム112は、第1ホストコンピュータ110上にインストールされたオペレーティングシステムであり、仮想化環境を動作させる基盤となるオペレーティングシステムである。
第1プラットフォーム114は、第1ホストコンピュータ110において、第1ホストオペレーティングシステム112上で実行され、仮想マシンを実行する仮想化環境を備える。第1プラットフォーム114は、第1ゲストオペレーティングシステム122や第1アプリケーション124に非依存の汎用のプラットフォームソフトウェアにより実現される。本実施形態において、第1プラットフォーム114は、仮想化管理機能および冗長化管理機能を有する。
第1プラットフォーム114は、仮想化管理機能として、第1ゲストオペレーティングシステム122に仮想ハードウェア環境を提供する仮想化機能を有する。
第1プラットフォーム114は、冗長化管理機能として、ホストコンピュータ間のゲストオペレーティングシステムの仮想化環境を同一に保つ等値化機能を有する。また、第1プラットフォーム114は、冗長化管理機能として、第1ホストコンピュータ110の動作状態を管理する状態管理機能を有する。また、第1プラットフォーム114は、冗長化管理機能として、第1ホストコンピュータ110の動作状態を切替える状態切替機能を有する。また、第1プラットフォーム114は、冗長化管理機能として、管理ツール150からのコンフィギュレーション要求に従い、第1ゲストオペレーティングシステム122のネットワーク設定(IPアドレス設定やルーティング設定等)を行って第1ゲストオペレーティングシステム122の動作環境を設定するコンフィギュレーション機能を有する。また、第1プラットフォーム114は、冗長化管理機能として、第1アプリケーション124との連携を行うアプリケーションI/F機能を有する。なお、第1プラットフォーム114は、第1ゲストオペレーティングシステム122の動作環境を設定する手段の一例として、Dynamic Host Configuration Protocol(DHCP)機能を用いてもよい。例えば、第1プラットフォーム114は、第1ホストオペレーティングシステム112側のDHCPサーバ機能に、第1ゲストオペレーティングシステム122環境のネットワーク設定を行い、第1ゲストオペレーティングシステム122環境のDHCPクライアント機能により設定値を取得させて第1ゲストオペレーティングシステム122の動作環境を設定することができる。
第1仮想マシン120は、第1ホストコンピュータ110上で第1プラットフォーム114の仮想化機能により実行される仮想的なマシンであり、その上で第1ゲストオペレーティングシステム122および第1アプリケーション124を動作させる。
第1ゲストオペレーティングシステム122は、第1仮想マシン120上で実行されるオペレーティングシステムである。第1アプリケーション124は、第1ゲストオペレーティングシステム上で実行されるプログラムである。第1アプリケーション124は、クライアント160からのリクエストに応じて、様々なシステムに対応する各種サービスをクライアント160へ提供する。
第2ホストコンピュータ130は、第1ホストコンピュータ110と同様の態様であり、第2ホストコンピュータ130上にインストールされた第2ホストオペレーティングシステム132を実行し、第2ホストオペレーティングシステム132上で第2プラットフォーム134を実行する。そして、第2ホストコンピュータ130は、第2プラットフォーム134の仮想化機能により第2仮想マシン140を実行し、第2仮想マシン140上で、第2ゲストオペレーティングシステム142および第2アプリケーション144を実行する。
ここで、第2ホストオペレーティングシステム132は第1ホストオペレーティングシステム112、第2プラットフォーム134は第1プラットフォーム114、第2仮想マシン140は第1仮想マシン120、第2ゲストオペレーティングシステム142は第1ゲストオペレーティングシステム122、第2アプリケーション144は第1アプリケーション124とそれぞれ同様であるため、説明を省略する。
管理ツール150は、ネットワーク180を介して、第1ホストコンピュータ110および第2ホストコンピュータ130に接続されている。管理ツール150は、第1ホストオペレーティングシステム112、第2ホストオペレーティングシステム132、第1ゲストオペレーティングシステム122、および第2ゲストオペレーティングシステム142のコンフィギュレーションを行うコンフィギュレーション機能と、第1ホストコンピュータ110および第2ホストコンピュータ130の動作状態を指示する指示機能を有する。また、管理ツール150は、第1ホストコンピュータ110および第2ホストコンピュータ130の動作状態を表示して監視する状態監視機能を有する。
クライアント160は、例えば、ヒューマンマシンインタフェースを有するヒューマンインタフェースステーション(HIS)等であってよい。クライアント160は、ネットワーク180を介して第1ホストコンピュータ110および第2ホストコンピュータ130に接続されている。クライアント160は、後述するアクティブ状態にあるホストコンピュータ上で実行されるゲストオペレーティングシステムにアサインされた仮想IPアドレスに対してアクセスし、アクティブ状態にあるホストコンピュータ上で実行されるゲストオペレーティングシステムとの間で通信を行って、各種サービスの提供を受ける。
制御網170は、第1ホストコンピュータ110および第2ホストコンピュータ130を接続し、ホストコンピュータ間での制御情報を伝達する。
ネットワーク180は、第1ホストコンピュータ110、第2ホストコンピュータ130、管理ツール150、およびクライアント160を接続する。ネットワーク180は、例えば、イーサネット(登録商標)等であってよい。
図2は、本実施形態に係る第1ホストコンピュータ110および第2ホストコンピュータ130の動作状態の遷移を示す。第1ホストコンピュータ110および第2ホストコンピュータ130は、動作状態の遷移が同様であるため、本図においては、一例として一方の第1ホストコンピュータ110のみを例に挙げて動作状態の遷移を説明する。第1ホストコンピュータ110は、初期化状態200、アクティブ状態210、スタンバイ移行状態220、スタンバイ状態230、セカンダリ移行状態240、セカンダリ状態250、メンテナンス状態260、およびシャットダウン状態270の間で動作状態を遷移する。
第1ホストコンピュータ110は、電源が投入されると初期化状態200で起動する。初期化状態200において、第1ホストコンピュータ110は、自身のネットワーク設定を初期化する。
初期化状態200においてアクティブ起動指示を受けると、第1ホストコンピュータ110は、アクティブ状態210に遷移する。アクティブ状態210に遷移した第1ホストコンピュータ110は、自身の上で実行される第1アプリケーション124により、クライアント160に各種サービスを提供する。
初期化状態200においてスタンバイ起動指示を受けると、第1ホストコンピュータ110は、スタンバイ移行状態220に遷移する。スタンバイ移行状態220に遷移した第1ホストコンピュータ110は、アクティブ状態210にある他のホストコンピュータとの間で仮想マシンの実行イメージの等値化を行う。これについては後述する。
スタンバイ移行状態220において仮想マシンの実行イメージの等値化が完了すると、第1ホストコンピュータ110は、スタンバイ状態230に遷移する。スタンバイ状態230に遷移した第1ホストコンピュータ110は、アクティブ状態210にある他のホストコンピュータとの間で仮想マシンの実行イメージの等値化のみを継続し、それ以外の他の仮想環境の動作を停止させる。そして、第1ホストコンピュータ110は、自身の上で実行される第1アプリケーション124を、アクティブ状態210にある他のホストコンピュータ上で実行されるアプリケーションのスタンバイとして待機させる。また、第1ホストコンピュータ110は、スタンバイ状態230にある間、アクティブ状態210にある他のホストコンピュータの健全性を診断する。なお、スタンバイ状態230にあるホストコンピュータはクライアント160からは認識されない。
ここで、一方のホストコンピュータがアクティブ状態210で動作し、他方のホストコンピュータがスタンバイ移行状態220またはスタンバイ状態230で動作するモードを、冗長化動作モードと定義する。本実施形態に係るシステム10は、通常運転時には、一方のホストコンピュータがアクティブ状態210で動作し、他方のホストコンピュータがスタンバイ状態230で動作する冗長化動作モードで、クライアント160に各種サービスを提供する。すなわち、例えば、第1ホストコンピュータ110がアクティブ状態210、第2ホストコンピュータ130がスタンバイ状態230で動作する場合、システム10は、第2アプリケーション144を第1アプリケーション124のスタンバイとして待機させた状態で、第1アプリケーション124からクライアント160に各種サービスを提供する。これに代えて、第2ホストコンピュータ130がアクティブ状態210、第1ホストコンピュータ110がスタンバイ状態230で動作してもよい。この場合、システム10は、第1アプリケーション124を第2アプリケーション144のスタンバイとして待機させた状態で、第2アプリケーション144からクライアント160に各種サービスを提供する。冗長化動作モードにおいて、第1仮想マシン120上で第1アプリケーション124を実行する第1ゲストオペレーティングシステム122および第2仮想マシン140上で第2アプリケーション144を実行する第2ゲストオペレーティングシステム142のうちのいずれか一方のみに対して、外部からアクセス可能なネットワーク設定を割り当ててよい。すなわち、冗長化動作モードにおいては、ホストコンピュータが複数のハードウェアによって構成されているものの、クライアント160からは、スタンバイ状態にあるホストコンピュータは認識されておらず、ホストコンピュータが1台の装置(アドレスやホスト名等が1つ)であるものとして認識されてよい。なお、冗長化動作モードにおいてアクティブ状態210およびスタンバイ状態230のホストコンピュータの両者の再起動が行われた場合には、再起動後に両者間でネゴシエーションを行い、起動モードを決定する。この場合、例えば、前回アクティブ状態210にあった一方をアクティブ状態210、他方をスタンバイ状態230としてもよい。
初期化状態200においてセカンダリ起動指示を受けると、第1ホストコンピュータ110は、セカンダリ移行状態240に遷移する。セカンダリ移行状態240に遷移した第1ホストコンピュータ110は、アクティブ状態210にある他のホストコンピュータとの間でアプリケーションの内部状態の等値化を行う。
セカンダリ移行状態240においてアプリケーションの内部状態の等値化が完了すると、第1ホストコンピュータ110は、アプリケーションの内部状態の等値化が完了した旨を第1プラットフォーム114に通知し、セカンダリ状態250に遷移する。セカンダリ状態250に遷移した第1ホストコンピュータ110は、アクティブ状態210にある他のホストコンピュータのゲストオペレーティングシステムとは異なる仮想IPアドレスが第1ゲストオペレーティングシステム122にアサインされ、アクティブ状態210にある他のホストコンピュータとは独立した2台目のシステムとして第1ゲストオペレーティングシステム122および第1アプリケーション124を実行する。また、第1ホストコンピュータ110は、セカンダリ状態250にある間においても、スタンバイ状態230にある間と同様、アクティブ状態210にある他のホストコンピュータの健全性を診断する。
ここで、一方のホストコンピュータがアクティブ状態210で動作し、他方のホストコンピュータがセカンダリ移行状態240またはセカンダリ状態250で動作するモードを、マルチ動作モードと定義する。本実施形態に係るシステム10は、ソフトウェアの更新に伴って、一方のホストコンピュータがアクティブ状態210で動作し、他方のホストコンピュータがセカンダリ状態250で動作するマルチ動作モードで、クライアント160に各種サービスを提供する。すなわち、例えば、第1ホストコンピュータ110がアクティブ状態210、第2ホストコンピュータ130がセカンダリ状態250で動作する場合、システム10は、第1アプリケーション124および第2アプリケーション144をそれぞれ独立して実行させた状態で、第1アプリケーション124からクライアント160に各種サービスを提供する。これに代えて、第2ホストコンピュータ130がアクティブ状態210、第1ホストコンピュータ110がセカンダリ状態250で動作してもよい。この場合、システム10は、第1アプリケーション124および第2アプリケーション144をそれぞれ独立して実行させた状態で、第2アプリケーション144からクライアント160に各種サービスを提供する。マルチ動作モードにおいて、第1仮想マシン120上で第1アプリケーション124を実行する第1ゲストオペレーティングシステム122および第2仮想マシン140上で第2アプリケーション144を実行する第2ゲストオペレーティングシステム142のそれぞれに対して、外部からアクセス可能な異なるネットワーク設定を割り当ててよい。すなわち、マルチ動作モードにおいては、クライアント160からは、ホストコンピュータを構成する複数のハードウェアが、独立した属性(異なるアドレスやホスト名)を持つものとして認識されてよい。また、マルチ動作モードにおいては、アクティブ状態210にあるホストコンピュータとセカンダリ状態250にあるホストコンピュータとが独立して動作するため、それぞれの上で動作するゲストオペレーションシステムおよびアプリケーションのレビジョンが異なっていてもよい。
第1ホストコンピュータ110は、スタンバイ状態230またはセカンダリ状態250において、スイッチオーバ指示を受ける、または、アクティブ状態210にある他のホストコンピュータがダウンしたことを検知すると、アクティブ状態210に遷移する。なお、ここで、スイッチオーバとは、アクティブ状態210のホストコンピュータを再起動させ、スタンバイ状態230またはセカンダリ状態250のホストコンピュータをアクティブ状態210に切替える処理をいう。
初期化状態200においてメンテナンス起動指示を受けると、第1ホストコンピュータ110は、メンテナンス状態260に遷移する。メンテナンス状態260に遷移した第1ホストコンピュータ110は、第1ゲストオペレーティングシステム122や第1アプリケーション124等の第1仮想マシン120上で動作するソフトウェアの更新を行う。なお、通常は、ホストコンピュータの状態に関わらず、ゲストオペレーティングシステムを起動するとアプリケーションも起動する。そうすると、一方がアクティブ状態210にあり他方がメンテナンス状態260にある場合、2つのアプリケーションが同時に動作することとなり、処理が重複してしまう。したがって、このメンテナンス状態260においては、ゲストオペレーティングシステムをネットワーク180に接続しない等することにより、メンテナンス状態260にあるホストコンピュータ上で動作するアプリケーションがクライアント160に影響を与えないようにするとよい。
アクティブ状態210、スタンバイ状態230、セカンダリ状態250、およびメンテナンス状態260においてシャットダウン指示を受けると、第1ホストコンピュータ110は、シャットダウン状態270に遷移する。また、アクティブ状態210、スタンバイ状態230、セカンダリ状態250、およびメンテナンス状態260において再起動指示を受けると、第1ホストコンピュータ110は、シャットダウン状態270を経て、初期化状態200に遷移する。
図3は、本実施形態に係るシステム10におけるハードウェア故障に対する可用性を示すフローである。本図においては、最初に第1ホストコンピュータ110がアクティブ状態210、第2ホストコンピュータ130がスタンバイ状態230となる場合を一例として示す。しかしながら、最初に第2ホストコンピュータ130がアクティブ状態210、第1ホストコンピュータ110がスタンバイ状態230となるようにシステム10を動作させてもよい。ステップ310において、管理ツール150は、第1ホストコンピュータ110および第2ホストコンピュータ130の初期設定を行う。管理ツール150は、第1ホストコンピュータ110に対してアクティブ起動指示を出力する。また、管理ツール150は、第2ホストコンピュータ130に対してスタンバイ起動指示を出力する。
アクティブ起動指示を受けた第1ホストコンピュータ110の第1プラットフォーム114は、第1ゲストオペレーティングシステム122に対してNetAddr−Aをアサインする。ここで、NetAddr−Aとは、アクティブ状態210にあるホストコンピュータ上で実行されるゲストオペレーティングシステムにアサインされる仮想IPアドレスであり、あらかじめ管理ツール150で設定され、プラットフォーム上に保存されたものである。クライアント160はこの仮想IPアドレスに対してアクセスを行い、各種サービスの提供を受ける。これにより、第1プラットフォーム114は、第1ホストコンピュータ110をアクティブ状態210に遷移させる。
また、スタンバイ起動指示を受けた第2ホストコンピュータ130の第2プラットフォーム134は、第2仮想マシン140の実行を停止させて第2ホストコンピュータ130をスタンバイ移行状態220に遷移させる。これにより、システム10は、第1ホストコンピュータ110がアクティブ状態210、第2ホストコンピュータ130がスタンバイ移行状態220である冗長化動作モードで動作する。
そして、ステップ320において、第2ホストコンピュータ130は、冗長化動作モードにおいて、第2仮想マシン140の実行を停止させた状態で、第1仮想マシン120の実行イメージを第2仮想マシン140の実行イメージに反映する。第2ホストコンピュータ130は、冗長化動作モードにおいて、第1仮想マシン120の実行イメージを複製して、第2仮想マシン140の実行イメージに反映してよい。より具体的には、第2ホストコンピュータ130は、冗長化動作モードにおいて、第2プラットフォーム134上で(第2プラットフォーム134の等値化機能を実行することにより)第1プラットフォーム114との間でライブマイグレーションを行って、第1仮想マシン120の実行イメージを第2仮想マシン140の実行イメージに反映してよい。以下、これについて詳細に述べる。
ライブマイグレーションを行うにあたって、第1プラットフォーム114は、最初に、動作中のアプリケーションが利用するメモリの内容や第1仮想マシン120が利用する仮想ディスクの情報等を示す第1仮想マシン120の実行イメージの全体を第2プラットフォーム134へ転送する。次に、第1プラットフォーム114は、転送中に変更された第1仮想マシン120の実行イメージの変更分のみを第2プラットフォーム134へ転送する。その後、第1プラットフォーム114は、第1仮想マシン120を一時的に停止させて第1仮想マシン120の実行イメージの変更を一時的に禁止する。そして、第1プラットフォーム114は、第1仮想マシン120が停止している間に、残りの変更された第1仮想マシン120の実行イメージの変更分全てを第2プラットフォーム134へ転送する。これにより、第2プラットフォーム134は、第1仮想マシン120の実行イメージを複製して、これを第2仮想マシン140の実行イメージに反映することができる。そして、第1プラットフォーム114は、第1仮想マシン120の動作を再開させる。
第2プラットフォーム134は、仮想マシンの実行イメージの等値化が完了すると、第2ホストコンピュータ130をスタンバイ状態230に遷移させる。そして、システム10は、通常運転時に第1ホストコンピュータ110がアクティブ状態210、第2ホストコンピュータ130がスタンバイ状態230である冗長化動作モードにおいて、第1アプリケーション124からクライアント160に各種サービスを提供する。その間、第2ホストコンピュータ130は、第2アプリケーション144を第1アプリケーション124のスタンバイとして待機させる。
ステップ330において、第2ホストコンピュータ130の第2プラットフォーム134は、通常運転時に第2アプリケーション144が第1アプリケーション124のスタンバイとして動作している間においても、第1仮想マシン120の実行イメージを第2仮想マシン140の実行イメージに反映し続ける。
ここで、ステップ340において、アクティブ状態210で動作していた第1ホストコンピュータ110にハードウェア故障が生じたとする。
第2ホストコンピュータ130は、第2アプリケーション144を第1アプリケーション124のスタンバイとして待機させている間、常にアクティブ状態210にある第1ホストコンピュータ110の健全性を診断している。そして、ステップ350において、第2ホストコンピュータ130は、第2アプリケーション144を第1アプリケーション124のスタンバイとして待機させている場合に、第1アプリケーション124の実行に異常が生じると、アクティブ状態210に遷移し、反映させた第1仮想マシン120の実行イメージを用いて第2仮想マシン140の実行を開始する。そして、第2ホストコンピュータ130は、第2アプリケーション144により、クライアント160への各種サービスの提供を継続する。この際、第1ホストコンピュータ110の仮想環境の状態(仮想マシンおよびゲストオペレーティングシステム環境)が全て第2ホストコンピュータ130に引き継がれる。そのため、このような場合においても、クライアント160は、ホストコンピュータの切替えを意識する必要がなく、サービスの提供を継続して受けることができる。そして、システム10は、第2ホストコンピュータ130、1台によるシングル動作モードで動作する。
ステップ360において、第1ホストコンピュータが修理や自己回復等により復旧すると、第1プラットフォーム114は、第1ホストコンピュータ110を初期化状態200に遷移させる。
そして、ステップ370において、第1ホストコンピュータ110は、アクティブ状態210にある第2ホストコンピュータ130との間でネゴシエーションを行い、起動モードを決定する。具体的には、初期化状態200に遷移した第1ホストコンピュータ110が、アクティブ状態210にある第2ホストコンピュータ130に対してネゴシエーション要求を行い、ネゴシエーション要求を受けた第2ホストコンピュータ130が、第1ホストコンピュータ110に対して、スタンバイ起動指示を出力する。スタンバイ起動指示を受けた第1ホストコンピュータ110の第1プラットフォーム114は、第1ホストコンピュータ110をスタンバイ移行状態220に遷移させ、ステップ380において、ステップ320と同様の手法により、第2仮想マシン140の実行イメージを第1仮想マシン120の実行イメージに反映する。
第1ホストコンピュータ110の第1プラットフォーム114は、仮想マシンの実行イメージの等値化が完了すると、第1ホストコンピュータ110をスタンバイ状態230に遷移させる。そして、システム10は、第2ホストコンピュータ130がアクティブ状態210、第1ホストコンピュータ110がスタンバイ状態230である冗長化動作モードにおいて、第2アプリケーション144からクライアント160に各種サービスを提供する。その間、第1ホストコンピュータ110は、第1アプリケーション124を第2アプリケーション144のスタンバイとして待機させる。
このように、本実施形態に係るシステム10によれば、アクティブ状態210のホストコンピュータにハードウェア故障等が発生した場合であっても、スタンバイ状態230のホストコンピュータがアクティブ状態210の仮想環境を引継いでアクティブ状態210に遷移するので、クライアント160へのサービスの提供を継続することができる。また、ハードウェア故障に対する可用性を、専用のシステムを用いることなく、オペレーティングシステムやアプリケーションに非依存のプラットフォームで実現することができる。
図4は、本実施形態に係るシステム10におけるメンテナンスに対する可用性を示すフローである。本図においては、第1ホストコンピュータ110がアクティブ状態210、第2ホストコンピュータ130がスタンバイ状態230である冗長化動作モードにおいて、第2仮想マシン140上で動作するソフトウェア(第2ゲストオペレーティングシステム142や第2アプリケーション144)を更新する場合を一例として説明する。なお、ここで、ソフトウェアの更新とは、ソフトウェアのレビジョンアップやセキュリティパッチの適用等を含む。
ステップ410において、管理ツール150は、第1仮想マシン120および第2仮想マシン140の少なくともいずれか一方の上で動作するソフトウェアを更新する必要がある場合に、スタンバイ状態230にある第2ホストコンピュータ130に対して、再起動指示およびメンテナンス起動指示を出力する。
再起動指示およびメンテナンス起動指示を受けた第2ホストコンピュータ130の第2プラットフォーム134は、ステップ420において、第2ホストコンピュータ130を再起動させ、メンテナンス状態260に遷移させる。
そして、ステップ430において、第2ホストコンピュータ130は、第2仮想マシン140上で動作するソフトウェアを更新する。
第2ホストコンピュータ130におけるソフトウェアの更新が終了すると、ステップ440において、管理ツール150は、第2ホストコンピュータ130に対して、再起動指示およびセカンダリ起動指示を出力する。
再起動指示およびセカンダリ起動指示を受けた第2ホストコンピュータ130の第2プラットフォーム134は、ステップ450において、第2ホストコンピュータ130を再起動させる。また、第2プラットフォーム134は、第2ゲストオペレーティングシステム142に対してNetAddr−AおよびNetAddr−Sの両方をアサインするとともに、NetAddr−Aをディスエイブルにし、第2ホストコンピュータ130をセカンダリ移行状態240に遷移させる。ここで、NetAddr−Sとは、セカンダリ状態250にあるホストコンピュータ上で実行されるゲストオペレーティングシステムにアサインされる仮想IPアドレスであり、アクティブ状態210にあるホストコンピュータ上で実行されるゲストオペレーティングシステムにアサインされる仮想IPアドレスとは異なるアドレスである。このNetAddr−SもNetAddr−Aと同様に、あらかじめ管理ツール150で設定され、プラットフォーム上に保存されたものである。これにより、システム10は、第1ホストコンピュータ110がアクティブ状態210、第2ホストコンピュータ130がセカンダリ移行状態240であるマルチ動作モードで動作する。この状態において、第2仮想マシン140は、第1仮想マシン120と並列に実行される。
そして、ステップ460において、第2ホストコンピュータ130は、マルチ動作モードにおいて、第2仮想マシン140を第1仮想マシンと並列に実行させた状態で、第1アプリケーション124の内部状態を第2アプリケーション144の内部状態に反映する。第1アプリケーション124および第2アプリケーション144は、アプリケーションの等値化機能を有する。アプリケーションの等値化機能とは、アプリケーションプログラムの制御データを引き継いで、それまで動作していたアプリケーションの動作状態を他のアプリケーションに反映する機能である。第2ホストコンピュータ130は、マルチ動作モードにおいて、第2アプリケーション144上で(第2アプリケーション144の等値化機能を実行することにより)、第1アプリケーション124の内部状態を第2アプリケーション144の内部状態に反映してよい。また、後述するように、第2ホストコンピュータ130は、マルチ動作モードにおいて、第2プラットフォーム134上で(第2プラットフォーム134の等値化機能を実行することにより)、第1アプリケーション124の内部状態を第2アプリケーション144の内部状態に反映してもよい。
アプリケーションの内部状態の等値化が完了すると、第2アプリケーション144は、内部状態の等値化が完了した旨を第2プラットフォーム134に通知する。そして、第2プラットフォーム134は、第2ホストコンピュータ130をセカンダリ状態250に遷移させる。
次に、ステップ470において、管理ツール150は、スイッチオーバ操作を行い、第2ホストコンピュータ130に対して、スイッチオーバ指示を出力し、第1ホストコンピュータ110に対して、再起動指示およびスタンバイ起動指示を出力する。
スイッチオーバ指示を受けた第2ホストコンピュータ130の第2プラットフォーム134は、第2ゲストオペレーティングシステムのネットワーク設定からNetAddr−Sを削除するとともに、NetAddr−Aをイネーブル(Enable)にし、第2ホストコンピュータ130をアクティブ状態210に遷移させる。この場合、クライアント160は、スイッチオーバ操作により、アクティブ状態210にあった第1ホストコンピュータ110との通信が一時的に切れることになるが、セカンダリ状態250にあった第2ホストコンピュータ130がアクティブ状態210に切替わり、通信接続が復帰するため、システム10から継続したサービスを受けることができる。
また、再起動指示およびスタンバイ起動指示を受けた第1ホストコンピュータ110の第1プラットフォーム114は、第1ホストコンピュータ110を再起動させ、スタンバイ移行状態220に遷移させる。
そして、ステップ490において、第1プラットフォーム114は、ステップ320やステップ380と同様の手法により、第2仮想マシン140の実行イメージを第1仮想マシン120の実行イメージに反映する。
第1ホストコンピュータ110の第1プラットフォーム114は、仮想マシンの実行イメージの等値化が完了すると、第1ホストコンピュータ110をスタンバイ状態230に遷移させる。そして、システム10は、第2ホストコンピュータ130がアクティブ状態210、第1ホストコンピュータ110がスタンバイ状態230である冗長化動作モードにおいて、第2アプリケーション144からクライアント160に各種サービスを提供する。その間、第1ホストコンピュータ110は、第1アプリケーション124を第2アプリケーション144のスタンバイとして待機させる。この際、先に第2ホストコンピュータ130側で更新を行ったソフトウェアが第1ホストコンピュータ110側に複製されるため、第1ホストコンピュータ110側に対するソフトウェアの更新作業は不要となる。
このように、本実施形態に係るシステム10によれば、冗長化動作モードにおいて、第2アプリケーション144が第1アプリケーション124のスタンバイとして動作している場合に、第1仮想マシン120および第2仮想マシン140の少なくともいずれか一方の上で動作するソフトウェアの更新が指示されると、第2仮想マシン140の上で動作するソフトウェアを更新し、ソフトウェアを更新した後に、マルチ動作モードに遷移し、第1アプリケーション124の内部状態を第2アプリケーション144の内部状態に反映する。そして、第1ホストコンピュータ110は、第2ホストコンピュータ130が第1アプリケーション124の内部状態を第2アプリケーション144の内部状態に反映した後に、冗長化動作モードにおいて、第1アプリケーション124を第2アプリケーション144のスタンバイとして待機させ、第2仮想マシン140の実行イメージを第1仮想マシン120の実行イメージに反映する。これにより、本実施形態に係るシステム10によれば、ソフトウェアの更新が必要な場合であっても、クライアント160へのサービスの提供を継続することができる。また、本実施形態に係るシステム10によれば、ソフトウェア更新に対する可用性を、専用のシステムを用いることなく、オペレーティングシステムやアプリケーションに非依存のプラットフォームで実現することができる。さらに、本実施形態に係るシステム10によれば、1台のホストコンピュータに対してのみソフトウェアの更新作業を行えばよいため、保守作業の時間が短縮でき、保守性を大幅に向上させることができる。
図5は、本実施形態の変形例に係るシステム10を示す。図5においては、図1と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。本図において図1と異なる点は、第1アプリケーション124が第1コンテナ510上で動作し、第2アプリケーション144が第2コンテナ530上で動作する点である。
コンテナは、アプリケーションの分離された空間を提供する。コンテナによりアプリケーションの分離された空間を実現することで、1つのオペレーティングシステム環境でありながら、プロセスを分離することができる。そして、このコンテナの内容は、パッケージング、保存、および移動させることができる。本変形例において、第1コンテナ510は、第1アプリケーション124のコンテキスト全体をセーブおよびリストアする機能を持つ。また、第2コンテナ530は、第2アプリケーション144のコンテキスト全体をセーブおよびリストアする機能を持つ。そして、システム10は、アクティブ状態210で動作するホストコンピュータのアプリケーションのコンテキストをセーブした後、コンテキストイメージをセカンダリ状態250で動作するホストコンピュータのアプリケーションにリストアする。
一例として、第1ホストコンピュータ110がアクティブ状態210、第2ホストコンピュータ130がセカンダリ状態250であるマルチ動作モードにおいて、アプリケーションの内部状態を等値化する際(例えば、図4のステップ460)に、本変形例を用いた場合について説明する。
このように、本変形例に係るシステム10によれば、第1ホストコンピュータ110は、第1アプリケーション124のコンテキストを第1アプリケーション124から第1プラットフォーム114へセーブする。次に、第1アプリケーション124のコンテキストを第1プラットフォーム114から第2プラットフォーム134へ転送する。そして、第2ホストコンピュータ130は、転送された第1アプリケーション124のコンテキストを第2プラットフォーム134から第2アプリケーション144へリストアする。これにより、本変形例に係るシステム10によれば、第1アプリケーション124および第2アプリケーション144に自身の内部状態を等値化する機能を設ける必要がない。また、アプリケーションの内部状態をアクティブ状態210のホストコンピュータからセカンダリ状態250のホストコンピュータへ矛盾なくコピーすることが容易となる。よって、本変形例に係るシステム10によれば、完全にアプリケーションに非依存のプラットフォームにより、ハードウェア故障に対する可用性およびメンテナンスに対する可用性を実現することができる。
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
図6は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2200の例を示す。コンピュータ2200にインストールされたプログラムは、コンピュータ2200に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ2200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ2200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU2212によって実行されてよい。
本実施形態によるコンピュータ2200は、CPU2212、RAM2214、グラフィックコントローラ2216、およびディスプレイデバイス2218を含み、それらはホストコントローラ2210によって相互に接続されている。コンピュータ2200はまた、通信インターフェイス2222、ハードディスクドライブ2224、DVD−ROMドライブ2226、およびICカードドライブのような入/出力ユニットを含み、それらは入/出力コントローラ2220を介してホストコントローラ2210に接続されている。コンピュータはまた、ROM2230およびキーボード2242のようなレガシの入/出力ユニットを含み、それらは入/出力チップ2240を介して入/出力コントローラ2220に接続されている。
CPU2212は、ROM2230およびRAM2214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ2216は、RAM2214内に提供されるフレームバッファ等またはそれ自体の中にCPU2212によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス2218上に表示されるようにする。
通信インターフェイス2222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ2224は、コンピュータ2200内のCPU2212によって使用されるプログラムおよびデータを格納する。DVD−ROMドライブ2226は、プログラムまたはデータをDVD−ROM2201から読み取り、ハードディスクドライブ2224にRAM2214を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/またはプログラムおよびデータをICカードに書き込む。
ROM2230はその中に、アクティブ化時にコンピュータ2200によって実行されるブートプログラム等、および/またはコンピュータ2200のハードウェアに依存するプログラムを格納する。入/出力チップ2240はまた、様々な入/出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コントローラ2220に接続してよい。
プログラムが、DVD−ROM2201またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ2224、RAM2214、またはROM2230にインストールされ、CPU2212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ2200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ2200の使用に従い情報の操作または処理を実現することによって構成されてよい。
例えば、通信がコンピュータ2200および外部デバイス間で実行される場合、CPU2212は、RAM2214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス2222に対し、通信処理を命令してよい。通信インターフェイス2222は、CPU2212の制御下、RAM2214、ハードディスクドライブ2224、DVD−ROM2201、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
また、CPU2212は、ハードディスクドライブ2224、DVD−ROMドライブ2226(DVD−ROM2201)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM2214に読み取られるようにし、RAM2214上のデータに対し様々なタイプの処理を実行してよい。CPU2212は次に、処理されたデータを外部記録媒体にライトバックする。
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU2212は、RAM2214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM2214に対しライトバックする。また、CPU2212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU2212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ2200上またはコンピュータ2200近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ2200に提供する。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
10 システム
110 第1ホストコンピュータ
112 第1ホストオペレーティングシステム
114 第1プラットフォーム
120 第1仮想マシン
122 第1ゲストオペレーティングシステム
124 第1アプリケーション
130 第2ホストコンピュータ
132 第2ホストオペレーティングシステム
134 第2プラットフォーム
140 第2仮想マシン
142 第2ゲストオペレーティングシステム
144 第2アプリケーション
150 管理ツール
160 クライアント
170 制御網
180 ネットワーク
510 第1コンテナ
530 第2コンテナ
2200 コンピュータ
2201 DVD−ROM
2210 ホストコントローラ
2212 CPU
2214 RAM
2216 グラフィックコントローラ
2218 ディスプレイデバイス
2220 入/出力コントローラ
2222 通信インターフェイス
2224 ハードディスクドライブ
2226 DVD−ROMドライブ
2230 ROM
2240 入/出力チップ
2242 キーボード

Claims (12)

  1. 第1アプリケーションを動作させるための第1仮想マシンを実行する第1ホストコンピュータと、
    第2アプリケーションを動作させるための第2仮想マシンを実行する第2ホストコンピュータと、
    を備え、
    前記第2ホストコンピュータは、
    冗長化動作モードにおいて、前記第2仮想マシンの実行を停止させた状態で、前記第1仮想マシンの実行イメージを前記第2仮想マシンの実行イメージに反映し、
    マルチ動作モードにおいて、前記第2仮想マシンを前記第1仮想マシンと並列に実行させた状態で、前記第1アプリケーションの内部状態を前記第2アプリケーションの内部状態に反映する、システム。
  2. 前記第2ホストコンピュータは、前記冗長化動作モードにおいて、前記第1仮想マシンの実行イメージを複製して、前記第2仮想マシンの実行イメージに反映する、請求項1に記載のシステム。
  3. 前記第1ホストコンピュータは、前記第1仮想マシンを実行する仮想化環境を備えた第1プラットフォームを実行し、
    前記第2ホストコンピュータは、前記第2仮想マシンを実行する仮想化環境を備えた第2プラットフォームを実行し、
    前記第2ホストコンピュータは、前記冗長化動作モードにおいて、前記第2プラットフォーム上で、前記第1仮想マシンの実行イメージを前記第2仮想マシンの実行イメージに反映する、請求項1または2に記載のシステム。
  4. 前記第2ホストコンピュータは、前記マルチ動作モードにおいて、前記第2アプリケーション上で、前記第1アプリケーションの内部状態を前記第2アプリケーションの内部状態に反映する、請求項1から3のいずれか一項に記載のシステム。
  5. 前記第2ホストコンピュータは、前記マルチ動作モードにおいて、前記第2プラットフォーム上で、前記第1アプリケーションの内部状態を前記第2アプリケーションの内部状態に反映する、請求項3に記載のシステム。
  6. 前記第1ホストコンピュータは、前記第1アプリケーションのコンテキストを前記第1アプリケーションから前記第1プラットフォームへセーブし、前記第1アプリケーションのコンテキストを前記第1プラットフォームから前記第2プラットフォームへ転送し、
    前記第2ホストコンピュータは、転送された前記第1アプリケーションのコンテキストを前記第2プラットフォームから前記第2アプリケーションへリストアする、請求項5に記載のシステム。
  7. 前記第2ホストコンピュータは、前記冗長化動作モードにおいて、前記第2アプリケーションを前記第1アプリケーションのスタンバイとして待機させている場合に、前記第1アプリケーションの実行に異常が生じると、反映させた前記第1仮想マシンの実行イメージを用いて前記第2仮想マシンの実行を開始する、請求項1から6のいずれか一項に記載のシステム。
  8. 前記第2ホストコンピュータは、
    前記冗長化動作モードにおいて、前記第2アプリケーションを前記第1アプリケーションのスタンバイとして待機させている場合に、前記第1仮想マシンおよび前記第2仮想マシンの少なくともいずれか一方の上で動作するソフトウェアの更新が指示されると、前記第2仮想マシンの上で動作するソフトウェアを更新し、
    前記ソフトウェアを更新した後に、前記マルチ動作モードに遷移し、前記第1アプリケーションの内部状態を前記第2アプリケーションの内部状態に反映する、請求項1から7のいずれか一項に記載のシステム。
  9. 前記第1ホストコンピュータは、
    前記第2ホストコンピュータが前記第1アプリケーションの内部状態を前記第2アプリケーションの内部状態に反映した後に、前記冗長化動作モードにおいて、前記第1アプリケーションを前記第2アプリケーションのスタンバイとして待機させ、前記第2仮想マシンの実行イメージを前記第1仮想マシンの実行イメージに反映する、請求項8に記載のシステム。
  10. 前記冗長化動作モードにおいて、前記第1仮想マシン上で前記第1アプリケーションを実行するオペレーティングシステムおよび前記第2仮想マシン上で前記第2アプリケーションを実行するオペレーティングシステムのうちのいずれか一方のみに対して、外部からアクセス可能なネットワーク設定を割り当て、
    前記マルチ動作モードにおいて、前記第1仮想マシン上で前記第1アプリケーションを実行するオペレーティングシステムおよび前記第2仮想マシン上で前記第2アプリケーションを実行するオペレーティングシステムのそれぞれに対して、外部からアクセス可能な異なるネットワーク設定を割り当てる、請求項1から9のいずれか一項に記載のシステム。
  11. 第1アプリケーションを動作させるための第1仮想マシンを実行する第1ホストコンピュータと、第2アプリケーションを動作させるための第2仮想マシンを実行する第2ホストコンピュータと、を備えたシステムにおける、前記第2ホストコンピュータが、
    冗長化動作モードにおいて、前記第2仮想マシンの実行を停止させた状態で、前記第1仮想マシンの実行イメージを前記第2仮想マシンの実行イメージに反映することと、
    マルチ動作モードにおいて、前記第2仮想マシンを前記第1仮想マシンと並列に実行させた状態で、前記第1アプリケーションの内部状態を前記第2アプリケーションの内部状態に反映することと、を含む方法。
  12. 第1アプリケーションを動作させるための第1仮想マシンを実行する第1ホストコンピュータと、第2アプリケーションを動作させるための第2仮想マシンを実行する第2ホストコンピュータと、を備えたシステムにおける、前記第2ホストコンピュータに実行されて、前記第2ホストコンピュータに、
    冗長化動作モードにおいて、前記第2仮想マシンの実行を停止させた状態で、前記第1仮想マシンの実行イメージを前記第2仮想マシンの実行イメージに反映させ、
    マルチ動作モードにおいて、前記第2仮想マシンを前記第1仮想マシンと並列に実行させた状態で、前記第1アプリケーションの内部状態を前記第2アプリケーションの内部状態に反映させるプログラム。
JP2018163641A 2018-08-31 2018-08-31 可用性のシステム、方法、およびプログラム Active JP6813010B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018163641A JP6813010B2 (ja) 2018-08-31 2018-08-31 可用性のシステム、方法、およびプログラム
CN201910772541.9A CN110874261B (zh) 2018-08-31 2019-08-21 可用性系统、方法和存储有程序的存储介质
US16/550,287 US11210077B2 (en) 2018-08-31 2019-08-26 Available system, and method and program-recording medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018163641A JP6813010B2 (ja) 2018-08-31 2018-08-31 可用性のシステム、方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2020035374A JP2020035374A (ja) 2020-03-05
JP6813010B2 true JP6813010B2 (ja) 2021-01-13

Family

ID=69639877

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018163641A Active JP6813010B2 (ja) 2018-08-31 2018-08-31 可用性のシステム、方法、およびプログラム

Country Status (3)

Country Link
US (1) US11210077B2 (ja)
JP (1) JP6813010B2 (ja)
CN (1) CN110874261B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11068295B2 (en) 2019-04-12 2021-07-20 Ghost Locomotion Inc. Device operation across multiple operating system modalities
US11681586B2 (en) * 2019-06-28 2023-06-20 Rubrik, Inc. Data management system with limited control of external compute and storage resources
US11157451B2 (en) 2019-06-28 2021-10-26 Rubrik, Inc. Adaptable multi-layered storage for deduplicating electronic messages
US11061785B2 (en) * 2019-11-25 2021-07-13 Sailpoint Technologies, Israel Ltd. System and method for on-demand warm standby disaster recovery
CN111552244A (zh) * 2020-04-23 2020-08-18 江西瑞林电气自动化有限公司 一种利用虚拟技术解决dcs控制系统维护问题的方法
US11797401B2 (en) 2020-06-24 2023-10-24 EMC IP Holding Company LLC True zero RTO: planned failover
CN116560827A (zh) * 2022-01-28 2023-08-08 华为技术有限公司 一种数据处理方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH113240A (ja) 1997-06-13 1999-01-06 Yokogawa Electric Corp 制御用計算機システム
JP4232589B2 (ja) * 2003-09-19 2009-03-04 富士電機システムズ株式会社 二重化コントローラ、その等値化モード決定方法
US20060155912A1 (en) * 2005-01-12 2006-07-13 Dell Products L.P. Server cluster having a virtual server
US8417885B2 (en) * 2010-02-24 2013-04-09 Avaya Inc. Method and apparatus for high availability (HA) protection of a running virtual machine (VM)
US8775625B2 (en) * 2010-06-16 2014-07-08 Juniper Networks, Inc. Virtual machine mobility in data centers
US9342348B2 (en) * 2012-01-23 2016-05-17 Brocade Communications Systems, Inc. Transparent high availability for stateful services
US20130212205A1 (en) * 2012-02-14 2013-08-15 Avaya Inc. True geo-redundant hot-standby server architecture
JP2013186692A (ja) * 2012-03-08 2013-09-19 Hitachi Systems Ltd 仮想マシン提供システム
US8983961B2 (en) * 2012-11-29 2015-03-17 International Business Machines Corporation High availability for cloud servers
KR101558047B1 (ko) * 2013-09-09 2015-10-06 삼성에스디에스 주식회사 클러스터 시스템 및 클러스터 시스템에서 서비스 가용성을 제공하기 위한 방법
CN107783816A (zh) * 2016-08-31 2018-03-09 阿里巴巴集团控股有限公司 虚拟机的创建方法及装置、大数据集群创建的方法及装置
WO2018103031A1 (zh) * 2016-12-08 2018-06-14 深圳前海达闼云端智能科技有限公司 虚拟机功能服务的实现方法、装置、电子设备和计算机程序产品

Also Published As

Publication number Publication date
JP2020035374A (ja) 2020-03-05
US20200073647A1 (en) 2020-03-05
CN110874261A (zh) 2020-03-10
US11210077B2 (en) 2021-12-28
CN110874261B (zh) 2023-09-05

Similar Documents

Publication Publication Date Title
JP6813010B2 (ja) 可用性のシステム、方法、およびプログラム
US9753761B1 (en) Distributed dynamic federation between multi-connected virtual platform clusters
JP5068056B2 (ja) 障害回復方法、計算機システム及び管理サーバ
JP5476481B2 (ja) ノード故障の対処
JP3933587B2 (ja) 計算機システム、計算機装置及びオペレーティングシステムの移送方法
JP2010510592A (ja) システムプロセッサーのトランスペアレントな交換
US8612973B2 (en) Method and system for handling interrupts within computer system during hardware resource migration
JP2010527056A (ja) 仮想マシン移行
JP2007148839A (ja) 障害回復方法
CN101764703B (zh) 一种基于虚拟技术的网元管理系统的实现方法
CN102110071A (zh) 一种虚拟机集群系统及其实现方法
CN106528327A (zh) 一种数据处理方法以及备份服务器
US20210089379A1 (en) Computer system
JP2008123412A (ja) 計算機システム、システムソフトウェア更新方法及び第1サーバ装置
JP2005242574A (ja) 情報処理システム、および情報処理方法
JP2007304845A (ja) 仮想計算機システムおよびソフトウェア更新方法
JP5316616B2 (ja) 業務引き継ぎ方法、計算機システム、及び管理サーバ
JP2013218400A (ja) 計算機の制御方法、計算機及び計算機システム
JP2021026375A (ja) ストレージシステム
JP5266347B2 (ja) 引継方法、計算機システム及び管理サーバ
CN102959513A (zh) 虚拟机器合并方法和系统
JP6720250B2 (ja) ストレージシステム及び構成情報制御方法
CN113253635A (zh) 初级自动化设备与多个次级设备的多重同步
JP6429813B2 (ja) 計算機システム
WO2014041664A1 (ja) 情報処理システム、情報処理装置、移行制御プログラム、及び移行制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201021

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201130

R150 Certificate of patent or registration of utility model

Ref document number: 6813010

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150