JP2017161988A - サーバシステム、サーバ装置、プログラム実行可能化処理方法及びプログラム - Google Patents

サーバシステム、サーバ装置、プログラム実行可能化処理方法及びプログラム Download PDF

Info

Publication number
JP2017161988A
JP2017161988A JP2016043432A JP2016043432A JP2017161988A JP 2017161988 A JP2017161988 A JP 2017161988A JP 2016043432 A JP2016043432 A JP 2016043432A JP 2016043432 A JP2016043432 A JP 2016043432A JP 2017161988 A JP2017161988 A JP 2017161988A
Authority
JP
Japan
Prior art keywords
server device
server
virtual machine
target
deployment
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.)
Granted
Application number
JP2016043432A
Other languages
English (en)
Other versions
JP6372505B2 (ja
Inventor
篤史 辻
Atsushi Tsuji
篤史 辻
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
Priority to JP2016043432A priority Critical patent/JP6372505B2/ja
Priority to US15/448,940 priority patent/US10467047B2/en
Publication of JP2017161988A publication Critical patent/JP2017161988A/ja
Application granted granted Critical
Publication of JP6372505B2 publication Critical patent/JP6372505B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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
    • 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
    • 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
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task 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/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
    • 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

Abstract

【課題】複数のサーバに対して所定のプログラムを実行可能な状態にする実行可能化処理を行う場合に、必要なサーバの数を低減させられるようにする。
【解決手段】サーバシステムが、第一サーバ装置と少なくとも1つの第二サーバ装置とを備え、前記第一サーバ装置は、前記第二サーバ装置のうち少なくとも1つに対して当該第二サーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を行う仮想マシンと、前記第二サーバ装置のうちいずれかに前記仮想マシンを移動させるマイグレーション部と、を備え、前記仮想マシンは、前記第一サーバ装置から前記第二サーバ装置に移動した後、前記第一サーバ装置に対して当該第一サーバ装置が所定のプログラムを実行可能な状態にする前記実行可能化処理を少なくとも1回行う。
【選択図】図6

Description

本発明は、サーバシステム、サーバ装置、プログラム実行可能化処理方法及びプログラムに関する。
仮想マシンのマイグレーション(Migration、移動)など、複数のサーバ装置間でのデータのやり取りに関連する幾つかの技術が提案されている。
例えば、特許文献1には、管理対象である仮想マシンの情報収集を、管理を行うサーバ上の管理マネージャへの負荷をかけずに行うための方法が示されている。特許文献に記載の方法では、管理仮想マシン(第1の管理仮想マシン)が第1のサーバ上の仮想マシンのデータを収集して共有記憶装置に格納する。データの収集を完了すると、管理仮想マシンは収集完了通知を管理サーバに送信した後に、ライブマイグレーション(Live Migration)機能によって第2のサーバに移動し、第2のサーバ上の仮想マシンのデータを収集して共有記憶装置に格納する。このように、管理仮想マシンは、管理対象のサーバを移動しながら、サーバ上の仮想マシンのデータを収集する。管理サーバは、仮想管理マシンが共有記憶装置に格納したデータを読み出す。
また、特許文献2には、仮想マシンをマイグレートする(移動させる)方法が示されている。特許文献2に記載の方法では、第1サーバ上で仮想マシンを動作させ、第1サーバはネットワークを介してファブリック・アタッチド・メモリ(Fabric Attached Memory)内のある位置の仮想マシンイメージにアクセスする。そして、第1サーバ上の仮想マシンに関するデータをキャッシュメモリから仮想マシンイメージへ出力し、仮想マシンの状態情報及びメモリアドレス情報を第2サーバに提供する。これにより、仮想マシンを第1サーバから第2サーバへマイグレートする。第2サーバは、仮想マシンイメージにアクセスし、仮想マシンが第2サーバ上で動作する。
複数のサーバ装置間のデータをやり取りする場合の1つに、複数のサーバ装置に対してデプロイ(Deploy)を行う場合がある。ここでいうデプロイとは、サーバ装置にプログラムを展開して他の機器から当該プログラムの機能を実行可能な状態にすることである。
例えば、特許文献3には、様々なハードウェア構成のサーバ装置にデプロイを行うための技術が記載されている。特許文献3に記載のデプロイ方法では、管理サーバ装置がデプロイ元サーバ装置とデプロイ先サーバ装置とのハードウェア構成を比較し、その差異を検知して、検知した際に応じてデプロイ方法を変化させる。
特開2011−159249号公報 米国特許出願公開第2012/0173653号明細書 特開2009−122963号公報
複数のサーバ装置に対してデプロイを行う場合、すなわち、複数のサーバ装置に対して所定のプログラムを実行可能な状態にする実行可能化処理を行う場合に、必要なサーバの数を低減させることができれば、ハードウェアのコストを低減させることができる。
本発明は、上述の課題を解決することのできるサーバシステム、サーバ装置、プログラム実行可能化処理方法及びプログラムを提供することを目的としている。
本発明の第1の態様によれば、サーバシステムは、第一サーバ装置と少なくとも1つの第二サーバ装置とを備え、前記第一サーバ装置は、前記第二サーバ装置のうち少なくとも1つに対して当該第二サーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を行う仮想マシンと、前記第二サーバ装置のうちいずれかに前記仮想マシンを移動させるマイグレーション部と、を備え、前記仮想マシンは、前記第一サーバ装置から前記第二サーバ装置に移動した後、前記第一サーバ装置に対して当該第一サーバ装置が所定のプログラムを実行可能な状態にする前記実行可能化処理を少なくとも1回行う。
本発明の第2の態様によれば、サーバ装置は、他のサーバ装置のうち少なくとも1つに対して当該他のサーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を行う仮想マシンと、前記他のサーバ装置のうちいずれかに前記仮想マシンを移動させるマイグレーション部と、を備え、前記仮想マシンは、元のサーバ装置から前記他のサーバ装置への前記移動の後、前記元のサーバ装置に対して当該元のサーバ装置が所定のプログラムを実行可能な状態にする前記実行可能化処理を少なくとも1回行う。
本発明の第3の態様によれば、プログラム実行可能化処理方法は、第一サーバ装置で実行されている仮想マシンが、第二サーバ装置のうち少なくとも1つに対して当該第二サーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を行い、前記第一サーバ装置が備えるマイグレーション部が、前記第二サーバ装置のうちいずれかに前記仮想マシンを移動させ、前記仮想マシンが、前記第二サーバ装置に移動した後、前記第一サーバ装置に対して当該第一サーバ装置が所定のプログラムを実行可能な状態にする前記実行可能化処理を少なくとも1回行う。
本発明の第4の態様によれば、プログラムは、サーバ装置に、他のサーバ装置のうち少なくとも1つに対して当該他のサーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を行う仮想マシンであって、元のサーバ装置から前記他のサーバ装置のうちいずれかへの移動の後、前記元のサーバ装置に対して当該元のサーバ装置が所定のプログラムを実行可能な状態にする前記実行可能化処理を少なくとも1回行う仮想マシンを動作させ、前記仮想マシンが前記実行可能化処理を行った前記他のサーバ装置のうちいずれかに前記仮想マシンを移動させるためのプログラムである。
この発明によれば、複数のサーバに対して所定のプログラムを実行可能な状態にする実行可能化処理を行う場合に、必要なサーバの数を低減させることができる。
本発明の一実施形態に係るコンピュータシステムの機能構成を示す概略ブロック図である。 同実施形態に係るコンピュータシステム1がサーバ装置100の各々に目的プログラムをデプロイする処理手順の第一例を示す説明図である。 同実施形態に係るコンピュータシステム1がサーバ装置100の各々に目的プログラムをデプロイする処理手順の第二例を示す説明図である。 同実施形態に係る起点サーバ装置101が目的プログラムのデプロイを開始する段階での起点サーバ装置101の機能構成例を示す概略ブロック図である。 同実施形態に係る起点サーバ装置101が対象サーバ装置102に目的ブログラムをデプロイした段階での起点サーバ装置101及び対象サーバ装置102の機能構成例を示す概略ブロック図である。 同実施形態に係る起点サーバ装置101が対象サーバ装置102にデプロイ仮想マシン160をライブマイグレーションする前処理の段階での起点サーバ装置101及び対象サーバ装置102の機能構成例を示す概略ブロック図である。 同実施形態に係るデプロイ仮想マシン160を実行するためのデータ参照先を対象サーバ装置102内に設ける処理手順の例を示すフローチャートである。 同実施形態に係る起点サーバ装置101が対象サーバ装置102にデプロイ仮想マシン160をライブマイグレーションした段階での起点サーバ装置101及び対象サーバ装置102の機能構成例を示す概略ブロック図である。 同実施形態に係るデプロイ仮想マシン160を起点サーバ装置101から対象サーバ装置102へ切り替える際の処理手順の例を示すフローチャートである。 同実施形態に係る対象サーバ装置102が起点サーバ装置101に目的プログラムをデプロイした段階での起点サーバ装置101及び対象サーバ装置102の機能構成例を示す概略ブロック図である。 同実施形態に係る対象サーバ装置102から他の対象サーバ装置102への目的プログラムをデプロイした段階での対象サーバ装置102の機能構成例を示す概略ブロック図である。 同実施形態に係るデプロイ仮想マシン160を実行するサーバ装置100が負荷に応じて他のサーバ装置100にデプロイ仮想マシン160を移動させている段階での、これらサーバ装置100の機能構成例を示す概略ブロック図である。 本発明に係るサーバシステムの最小構成を示す概略ブロック図である。 本発明に係るサーバ装置の最小構成を示す概略ブロック図である。
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本発明の一実施形態に係るコンピュータシステムの機能構成を示す概略ブロック図である。同図に示すように、コンピュータシステム1は、1つの起点サーバ装置101と、対象サーバ装置102−1〜102−n(nはn≧1の整数)とを備える。
以下、対象サーバ装置102−1〜102−nを総称して対象サーバ装置102と表記する。コンピュータシステム1が1つの対象サーバ装置102を備えていてもよいし、2つ以上の対象サーバ装置102を備えていてもよい。また、起点サーバ装置101と対象サーバ装置102とを総称してサーバ装置100と表記する。
サーバ装置100の各々はスイッチ300を介して通信接続されている。
コンピュータシステム1は、例えばWebサービスの提供など所定の機能を実行するために用いられるシステムである。但し、初期状態では、起点サーバ装置101及び対象サーバ装置102の各々は所定の機能を実行するためのプログラムを搭載していない。以下では、所定の機能を実行するためのプログラムを目的プログラムと称する。
起点サーバ装置101及び対象サーバ装置102に目的プログラムを実行させるため、起点サーバ装置101及び対象サーバ装置102のうち何れかが、他のサーバ装置に目的プログラムをデプロイする。ここでいうデプロイとは、サーバ装置にプログラムを展開(例えばインストール)して他の機器から当該プログラムの機能を実行可能な状態にすることである。
具体的には、まず、起点サーバ装置101がデプロイサーバとして機能する仮想マシンを実行して、1つ以上の対象サーバ装置102に目的プログラムをデプロイする。以下では、デプロイサーバとして機能する仮想マシンをデプロイ仮想マシンと称する。
ここでの目的プログラムにはOS(Operating System)が含まれている。目的プログラムのデプロイはOSのインストールを伴っており、起点サーバ装置101上で機能する仮想マシンは起点サーバ装置101に目的プログラムをデプロイできない。そこで、起点サーバ装置101から目的プログラムをデプロイ済みの対象サーバ装置102へ仮想マシンをマイグレーションする(移動させる)。対象サーバ装置102上で機能する仮想マシンが起点サーバ装置101に目的プログラムをデプロイすることで、全てのサーバ装置100に目的プログラムをデプロイすることができる。
また、ここでの目的プログラムには、仮想マシン実行環境を構築するためのプログラムが含まれている。これにより、目的プログラムをデプロイされたサーバ装置100は、仮想マシンのマイグレーションを受けることができる。
なお、目的プログラムにOS等が含まれていない場合は、起点サーバ装置101が、起点サーバ装置101自らに目的プログラムをデプロイするようにしてもよい。あるいは、目的プログラムにOS等が含まれていない場合、起点サーバ装置101が、未だデプロイ済みでないサーバ装置100へデプロイ仮想マシンをマイグレーションするようにしてもよい。
上記のように、サーバ装置100の各々は、目的プログラムをデプロイされて所定の機能を実行する。
サーバ装置100のうち、起点サーバ装置101は、デプロイ仮想マシンをサーバ装置100のうちで最初に実行することで、対象サーバ装置102に対して目的プログラムをデプロイする。また、起点サーバ装置101は、仮想マシンを対象サーバ装置102に移動させた後、目的プログラムのデプロイを受ける(デプロイされる)対象となる。起点サーバ装置101は、第一サーバ装置の例に該当する。
対象サーバ装置102は、目的プログラムのデプロイを受ける対象となる。また、対象サーバ装置102のうちいずれか1つ以上は、デプロイ仮想マシンの実行を受け継いで、残りのサーバ装置100(まだ目的プログラムをデプロイされていないサーバ装置100)に対して目的プログラムをデプロイする。起点サーバ装置101も、対象サーバ装置102のいずれかによって目的プログラムをデプロイされる。対象サーバ装置102は、第二サーバ装置の例に該当する。
スイッチ300は、通信ネットワークを構成してサーバ装置100同士の通信を中継する。但し、サーバ装置100同士が通信を行う形態は、1つのスイッチ300を用いる形態に限らない。例えば、サーバ装置100同士が複数のスイッチを含むLAN(Local Area Network)を介して通信を行うようにしてもよい。あるいは、サーバ装置100同士がインターネット(Internet)を介して通信を行うようにしてもよい。
なお、サーバ装置100同士の通信を中継する通信ネットワークが、コンピュータシステム1に含まれていてもよいし、コンピュータシステム1とは別の存在として構成されていてもよい。例えば、図1の構成で、スイッチ300がコンピュータシステム1とは別の装置として構成されていてもよい。
図2は、コンピュータシステム1がサーバ装置100の各々に目的プログラムをデプロイする処理手順の第一例を示す説明図である。
同図の処理で、まず、起点サーバ装置101が、デプロイ仮想マシンを実行して、1つ以上の対象サーバ装置102に目的プログラムをデプロイする(シーケンスS101〜S102)。図2の例では、対象サーバ装置102は2つの対象サーバ装置102(対象サーバ装置102−1及び102−2)に目的プログラムをデプロイしている。
なお、本実施形態での目的プログラムのデプロイは、OSのインストールと仮想マシン実行環境の構成を伴う。目的プログラムのデプロイがOSのインストールを伴うため、デプロイを実行するサーバ装置100は、サーバ装置100自らに目的プログラムをデプロイすることはできない。また、目的プログラムのデプロイが仮想マシン実行環境の構成を伴うことで、デプロイされた後のサーバ装置100は、仮想マシンのマイグレーション(移動)を受けることができる。
1つ以上の対象サーバ装置102に目的プログラムをデプロイした後、起点サーバ装置101は、目的プログラムをデプロイ済みの対象サーバ装置102のいずれかにデプロイ仮想マシンをライブマイグレーションする(シーケンスS103)。図2の例では、起点サーバ装置101は、デプロイ仮想マシンを対象サーバ装置102−2にライブマイグレーションしている。
但し、サーバ装置100間でデプロイ仮想マシンを移動させる方法は、ライブマイグレーションに限らない。例えば、デプロイ仮想マシンを実行するサーバ装置100が、デプロイ仮想マシンを一旦停止させた後、停止した状態のデプロイ仮想マシンを他のサーバ装置100に移動させるようにしてもよい。
起点サーバ装置101からデプロイ仮想マシンを引き継いだ対象サーバ装置102(図2の例では対象サーバ装置102−2)は、起点サーバ装置101に対して目的プログラムをデプロイする(シーケンスS104)。また、起点サーバ装置101からデプロイ仮想マシンを引き継いだ対象サーバ装置102は、残りの対象サーバ装置102(また目的プログラムをデプロイされていない対象サーバ装置102)の全てに目的プログラムをデプロイする(シーケンスS105〜S106)。図2の例では、対象サーバ装置102−2は、対象サーバ装置102−3〜102−nの各々に目的プログラムをデプロイしている。
このように、デプロイ仮想マシンの移動が1回行われ、起点サーバ装置101からデプロイ仮想マシンを引き継いだ対象サーバ装置102が、残りのサーバ装置100(デプロイされていないサーバ装置100)全てに対してデプロイを実行するようにしてもよい。この場合、デプロイ仮想マシンの移動先のサーバ装置100(図2の例では対象サーバ装置102−2)が、直接の移動元のサーバ装置100(図2の例では起点サーバ装置101)に対して目的プログラムをデプロイする。
図3は、コンピュータシステム1がサーバ装置100の各々に目的プログラムをデプロイする処理手順の第二例を示す説明図である。
同図の処理で、まず、起点サーバ装置101が、デプロイ仮想マシンを実行して、1つ以上の対象サーバ装置102に目的プログラムをデプロイする(シーケンスS111)。図2の例では、対象サーバ装置102は1つの対象サーバ装置102(対象サーバ装置102−1)に目的プログラムをデプロイしている。
1つ以上の対象サーバ装置102に目的プログラムをデプロイした後、起点サーバ装置101は、目的プログラムをデプロイ済みの対象サーバ装置102のいずれかにデプロイ仮想マシンをライブマイグレーションする(シーケンスS112)。図3の例では、起点サーバ装置101は、デプロイ仮想マシンを対象サーバ装置102−1にライブマイグレーションしている。
起点サーバ装置101からデプロイ仮想マシンを引き継いだ対象サーバ装置102(図3の例では対象サーバ装置102−1)は、残りの対象サーバ装置102のうち1つ以上に対して目的プログラムをデプロイする(シーケンスS113)。図3の例では、対象サーバ装置102−1が、対象サーバ装置102−2に対して目的プログラムをデプロイしている。
次に、起点サーバ装置101からデプロイ仮想マシンを引き継いだ対象サーバ装置102は、目的プログラムをデプロイ済みの対象サーバ装置102のいずれかにデプロイ仮想マシンを移動させる(シーケンスS114)。図3の例では、対象サーバ装置102−1が、デプロイ仮想マシンを対象サーバ装置102−2にライブマイグレーションしている。
対象サーバ装置102からデプロイ仮想マシンを引き継いだ対象サーバ装置102は、起点サーバ装置101に対して目的プログラムをデプロイする(シーケンスS115)。また、対象サーバ装置102からデプロイ仮想マシンを引き継いだ対象サーバ装置102は、残りの対象サーバ装置102の全てに目的プログラムをデプロイする(シーケンスS116〜S117)。図3の例では、対象サーバ装置102−2は、対象サーバ装置102−3〜102−nの各々に目的プログラムをデプロイしている。
このように、デプロイ仮想マシンの移動が2回以上行われ、起点サーバ装置101からデプロイ仮想マシンを引き継いだ対象サーバ装置102が、さらに他の対象サーバ装置102にデプロイ仮想マシンを移動させるようにしてもよい。この場合、デプロイ仮想マシンの移動先のサーバ装置100が、直接の移動元のサーバ装置100に対して目的プログラムをデプロイするとは限らない。図3の例では、対象サーバ装置102−1ではなく対象サーバ装置102−2が、起点サーバ装置101に目的プログラムをデプロイしている。
なお、デプロイ仮想マシンを他のサーバ装置100に移動させたサーバ装置100が、再びデプロイ仮想マシンを引き継ぐようにしてもよい。例えば、起点サーバ装置101が、目的プログラムのデプロイを受けた後、デプロイ仮想サーバを再び実行して残りの対象サーバ装置102に対して目的プログラムをデプロイするようにしてもよい。
なお、複数のサーバ装置100が並行して目的プログラムのデプロイを行うようにしてもよい。すなわち、コンピュータシステム1が2つ以上のデプロイ仮想マシンを用いて目的プログラムのデプロイを行うようにしてもよい。例えば、コンピュータシステム1が2つ以上の起点サーバ装置101を備えるようにしてもよい。あるいは、サーバ装置100のいずれかがデプロイ仮想マシンをコピーするようにしてもよい。
一方、コンピュータシステム1が1つのデプロイ仮想マシンを用いて目的プログラムのデプロイを行う場合、2つ以上のデプロイ仮想マシンを用いる場合よりも、デプロイ済みのサーバ装置100の把握が容易になる。
図4は、起点サーバ装置101が目的プログラムのデプロイを開始する段階での起点サーバ装置101の機能構成例を示す概略ブロック図である。同図に示すサーバ装置100は、NIC(Network Interface Card)110と、DVD(Digital Versatile Disc)ドライブ120と、ディスク130と、第一オペレーティングシステム140と、VM管理部150と、デプロイ仮想マシン160と、サーバ負荷監視部170とを備える。DVDドライブ120は、デプロイイメージ記憶部121と、サーバイメージ記憶部122とを備える。ディスク130は、デプロイ情報記憶部131と、システム構成情報記憶部132とを備える。デプロイ仮想マシン160は、OSデプロイ処理部161と、デプロイ情報管理部162と、システム構成デプロイ処理部163と、システム構成情報管理部164とを備える。
また、図1を参照して説明したように、コンピュータシステム1は、起点サーバ装置101と、対象サーバ装置102と、スイッチ300とを備え、起点サーバ装置101及び対象サーバ装置102の各々は、スイッチ300を介して通信接続されている。
NIC110は、通信ネットワークを介して他の機器と通信を行うためのインタフェースとして動作する機器である。NIC110は当該NIC110を備えるサーバ装置100(図4では起点サーバ装置101)の通信部として機能する。
DVDドライブ120は、DVDを挿入された状態で、DVDに対するデータの読み書きを行う装置である。特に、本実施形態では、DVDドライブ120は、デプロイ仮想マシンを構築し動作させるためのデータを記憶しているDVDの挿入を受ける。このDVDはデプロイイメージ記憶部121とサーバイメージ記憶部122とを含んでいる。
デプロイイメージ記憶部121は、デプロイ仮想マシンを実行可能な状態で起点サーバ装置101を起動させるためのデータであるデプロイイメージを予め記憶している記憶領域である。デプロイイメージには、第一オペレーティングシステム140のプログラム及び第一オペレーティングシステム140の上で動作するプログラムが含まれる。特に、デプロイイメージには、VM管理部150のプログラム、デプロイ仮想マシン160のプログラム、及び、サーバ負荷監視部170のプログラムが含まれる。
起点サーバ装置101が備えるCPU(Central Processing Unit、中央処理装置)が、デプロイイメージ記憶部121から第一オペレーティングシステム140のプログラムとVM管理部150のプログラムとを読み出して実行することで、第一オペレーティングシステム140とVM管理部150が構成される。これにより、仮想マシンの構築及び実行が可能になる。そして、VM管理部150は、デプロイ仮想マシン160のプログラムをデプロイイメージ記憶部121から読み出して実行することで、デプロイ仮想マシン160を構築する。また、起点サーバ装置101が備えるCPUが、デプロイイメージ記憶部121からサーバ負荷監視部170のプログラムを読み出して実行することでサーバ負荷監視部170が構成される。以下、サーバ装置100が備えるCPUをサーバ装置100のCPUと称する。例えば、起点サーバ装置101が備えるCPUを起点サーバ装置101のCPUと称する。
なお、機能部がプログラムを読み出して実行するとは、具体的には当該機能部の機能を実行するハードウェアが、プログラムを読み出して実行することである。例えば、VM管理部150による、デプロイ仮想マシン160のプログラムの読み出し及び実行は、具体的には起点サーバ装置101のCPUによって行われる。このCPUは、VM管理部150の機能の1つとして、デプロイ仮想マシン160のプログラムをデプロイイメージ記憶部121から読み出して実行する。
上述した起点サーバ装置101の各部の構成が自動的に行われるようにしてもよい。例えば、ユーザがDVDドライブ120にDVDを挿入すると、起点サーバ装置101のCPUが自動的にDVDからプログラムを読み出して実行することで、上述したように各部を構成する。
サーバイメージ記憶部122は、デプロイ先のサーバ装置100(デプロイされるサーバ装置100)に送信されるデータであるサーバイメージを記憶する記憶領域である。図4の例では、サーバイメージ記憶部122はサーバイメージを予め記憶している。例えば、サーバイメージはディスクイメージであり、デプロイ先のサーバ装置100は、受信したサーバイメージをそのままディスクにコピーして用いる。特に、このサーバイメージにはOSのプログラム及びOSを動作させるための情報が含まれている。このサーバイメージにより、デプロイ先のサーバ装置100にOSがインストールされる。
但し、起点サーバ装置101がデプロイイメージ及びサーバイメージを取得する方法は、DVDドライブ120を用いる方法に限らない。例えば、起点サーバ装置101が、デプロイイメージ及びサーバイメージを記憶している外部接続用のハードディスクの接続を受け、このハードディスクからデプロイイメージ及びサーバイメージを取得するようにしてもよい。あるいは、起点サーバ装置101が、他の機器からデプロイイメージ及びサーバイメージを受信してハードディスク等の記憶デバイスに記憶するようにしてもよい。
起点サーバ装置101がDVDドライブ120を用いる方法以外の方法でデプロイイメージ及びサーバイメージを取得する場合、起点サーバ装置101がDVDドライブ120を備えていなくてもよい。
ディスク130はサーバ装置100(図4では起点サーバ装置101)が備えるハードディスクであり、各種情報を記憶する。
デプロイ情報記憶部131は、デプロイ情報を記憶する。ここでいうデプロイ情報は、デプロイ仮想マシン160(OSデプロイ処理部161)が他のサーバ装置100にデプロイしたOSに関する情報を記憶する。デプロイ情報記憶部131は、例えば、デプロイ先のサーバ装置100のIP(Internet Protocol)アドレス及びMAC(Media Access Control)アドレスなど、デプロイ先のサーバ装置100でOSが動作するために必要な情報を含むデプロイ情報を記憶する。
システム構成情報記憶部132は、システム構成情報を記憶する。ここでいうシステム構成情報は、デプロイ仮想マシン160(システム構成デプロイ処理部163)が他のサーバ装置100にデプロイしたシステムプログラムに関する情報である。ここでいうシステムプログラムは、OSよりも上位のプログラム(OS上で動作するプログラム)である。システムプログラムは、例えばWebサービスの提供など目的の機能をコンピュータシステム1に実行させるためのアプリケーションプログラムを含んでいる。
システム構成情報記憶部132は、例えば、デプロイ先のサーバ装置100のシステムプログラムのコンフィグレーション(Configuration)を含むシステム構成情報を記憶する。
いずれかのサーバ装置100がデプロイ情報及びシステム構成情報を記憶しておくことで、このサーバ装置100は、コンピュータシステム1の構成を管理する管理サーバ装置として機能する。
なお、起点サーバ装置101がデプロイ情報及びシステム構成情報を記憶する態様は、ディスク130を用いる態様に限らない。例えば、起点サーバ装置101が大容量の半導体メモリデバイスを備え、この半導体メモリデバイスにてデプロイ情報及びシステム構成情報を記憶するようにしてもよい。
第一オペレーティングシステム140は、起点サーバ装置101の各部を管理し動作させる。特に第一オペレーティングシステム140は、各部にハードウェア資源及びソフトウェア資源を割り当てるスケジューリングを行う。
VM管理部150は、OS上の仮想マシン基盤(ハイパーバイザ)として機能する。特に、VM管理部150は、仮想マシンを構築して動作させ、また、仮想マシンの動作及び終了(消滅)を管理する。
また、VM管理部150は、デプロイ仮想マシン160が目的プログラムをデプロイしたサーバ装置100のうちいずれかにデプロイ仮想マシン160をライブマイグレーションする。デプロイ仮想マシン160のライブマイグレーションはデプロイ仮想マシン160の移動の例に該当し、VM管理部150はマイグレーション部の例に該当する。
デプロイ仮想マシン160は、デプロイサーバとして機能する仮想マシンである。具体的には、デプロイ仮想マシン160は、他のサーバ装置100(デプロイ先のサーバ装置100)に目的プログラムをデプロイする。このデプロイにより、デプロイ仮想マシン160は、デプロイ先のサーバ装置100が目的プログラムを実行可能な状態にする。目的プログラムは所定のプログラムの例に該当し、デプロイ仮想マシン160は仮想マシンの例に該当する。
OSデプロイ処理部161は、他のサーバ装置100にOSをデプロイする。
デプロイ情報管理部162は、OSデプロイ処理部161が他のサーバ装置100にデプロイしたOSに関してデプロイ情報をデプロイ情報記憶部131に記憶させて管理する。
システム構成デプロイ処理部163は、他のサーバ装置100にシステムプログラムをデプロイする。
システム構成デプロイ処理部163が他のサーバ装置100にデプロイするプログラムには、VM管理部150を実現するプログラムも含まれている。すなわち、システム構成デプロイ処理部163は、VM管理部150を他のサーバ装置100にデプロイする。
また、システム構成デプロイ処理部163が他のサーバ装置100にデプロイするプログラムには、サーバ負荷監視部170を実現するプログラムも含まれている。すなわち、システム構成デプロイ処理部163は、サーバ負荷監視部170を他のサーバ装置100にデプロイする。
システム構成情報管理部164は、システム構成デプロイ処理部163が他のサーバ装置100にデプロイしたシステムプログラムに関してシステム構成情報をシステム構成情報記憶部132に記憶させて管理する。
サーバ負荷監視部170は、サーバ負荷監視部170自らを含むサーバ装置100の負荷を監視する。
図5は、起点サーバ装置101が対象サーバ装置102に目的ブログラムをデプロイした段階での起点サーバ装置101及び対象サーバ装置102の機能構成例を示す概略ブロック図である。図5における起点サーバ装置101の構成は、図4の場合と同様であり、各部に同一の符号(101、110、120〜122、130〜132、140、150、160〜164、170)を付して説明を省略する。また、図5における対象サーバ装置102は、NIC110と、ディスク130と、第二オペレーティングシステム240と、VM管理部150と、システムプログラム機能部282とを備える。ディスク130は、サーバイメージ記憶部122と、システムプログラム情報記憶部281とを備える。システムプログラム機能部282は、サーバ負荷監視部170を備える。
対象サーバ装置102のNIC110は、起点サーバ装置101のNIC110と同様である。
対象サーバ装置102のディスク130は、起点サーバ装置101のディスク130と同様である。但し、図5で対象サーバ装置102のディスク130が記憶している情報は、起点サーバ装置101のディスク130が記憶している情報と異なる。対象サーバ装置102のディスク130は、サーバイメージ記憶部122にサーバイメージを記憶し、システム構成情報記憶部132にシステム構成情報を記憶している。
起点サーバ装置101のOSデプロイ処理部161が、サーバイメージ記憶部122からサーバイメージを読み出し、NIC110を介して対象サーバ装置102に送信する。対象サーバ装置102のCPUは、起点サーバ装置101から送信されたサーバイメージをディスク130に記憶させる。これにより、対象サーバ装置102のディスク130にサーバイメージ記憶部122が構成される。
また、起点サーバ装置101のシステム構成デプロイ処理部163が対象サーバ装置102にシステムプログラムをデプロイする際、対象サーバ装置102のCPUが、デプロイされたシステムプログラムに関する情報をディスク130に記憶させる。これにより、対象サーバ装置102のディスク130にシステムプログラム情報記憶部281が構成される。以下、システムプログラム情報記憶部281が記憶する情報(デプロイされたシステムプログラムに関する情報)をシステムプログラム情報と称する。システムプログラム情報は、例えばデプロイされたシステムプログラムのコンフィグレーションを含む。
第二オペレーティングシステム240は、第一オペレーティングシステム140と同様、サーバ装置100(図5の例では対象サーバ装置102)の各部を管理し動作させる。但し、第一オペレーティングシステム140が一時的に用いられるのに対して、第二オペレーティングシステム240は継続的に用いられる点で第一オペレーティングシステム140と異なる。具体的には、起点サーバ装置101は、DVDドライブ120のDVDからデータを読み出して第一オペレーティングシステム140を構成しており、第一オペレーティングシステム140はこのDVDが取り出される(Ejectされる)までの一時的なOSである。これに対し、サーバ装置100(図5の例では対象サーバ装置102)は、ディスク130からデータを読み出して第二オペレーティングシステム240を構成する。このサーバ装置100は、OSの再インストール等の処理が行われるまで継続的に第二オペレーティングシステム240を用いる。ここで、上述したように、ディスク130がサーバイメージ記憶部122に記憶しているサーバイメージに第二オペレーティングシステム240に関する情報が含まれている。これにより、このサーバ装置100は、ブート時に第二オペレーティングシステム240を構成して起動する。
対象サーバ装置102のVM管理部150及びシステムプログラム機能部282は、いずれもデプロイによって構成される。対象サーバ装置102がVM管理部150を備えることで、デプロイ仮想マシン160のマイグレーションを受けることができる。また、対象サーバ装置102がシステムプログラム機能部282を備えることで、上述したように対象サーバ装置102は所定の機能(例えばWebサービスの提供)を実行する。
図6は、起点サーバ装置101が対象サーバ装置102にデプロイ仮想マシン160をライブマイグレーションする前処理の段階での起点サーバ装置101及び対象サーバ装置102の機能構成例を示す概略ブロック図である。図6における起点サーバ装置101の構成は、図5の場合と同様であり、各部に同一の符号(101、110、120〜122、130〜132、140、150、160〜164、170)を付して説明を省略する。また、図6における対象サーバ装置102の各部のうち図5における対象サーバ装置102の各部に対応して同様の機能を有する部分には同一の符号(110、122、130、150、170、240、281、282)を付して説明を省略する。図6における対象サーバ装置102は、図5に示す対象サーバ装置102の各部に加えて、ディスク130が更に仮想マシンディスク230を備える。仮想マシンディスク230は、デプロイ情報記憶部131とシステム構成情報記憶部132とを備える。
仮想マシンディスク230は、起点サーバ装置101のディスク130からデプロイ仮想マシン160を実行するための情報をコピーした仮想的なディスクである。仮想マシンディスク230のデプロイ情報記憶部131、システム構成情報記憶部132は、それぞれ起点サーバ装置101のディスク130のデプロイ情報記憶部131、システム構成情報記憶部132のデータのコピーにて構成される。仮想マシンディスク230は、対象サーバ装置102がデプロイ仮想マシン160を実行する際のデータ参照先となる。
このように、対象サーバ装置102がデプロイ仮想マシン160を実行するためのデータ参照先を対象サーバ装置102内に設けておくことで、デプロイ仮想マシン160のライブマイグレーション完了後のデータ参照先の切替を円滑に行うことができる。
図7は、デプロイ仮想マシン160を実行するためのデータ参照先を対象サーバ装置102内に設ける処理手順の例を示すフローチャートである。
同図の処理にて、起点サーバ装置101のVM管理部150及び対象サーバ装置102のVM管理部150は、起点サーバ装置101のデプロイ情報記憶部131のデータ及びシステム構成情報記憶部132のデータを、対象サーバ装置102の仮想マシンディスク230のコピーする(ステップS201)。
具体的には、起点サーバ装置101のVM管理部150が、起点サーバ装置101のデプロイ情報記憶部131及びシステム構成情報記憶部132からデータを読み出し、起点サーバ装置101のNIC110を介して対象サーバ装置102へ送信する。対象サーバ装置102のVM管理部150は、起点サーバ装置101からのデプロイ情報記憶部131及びシステム構成情報記憶部132データを仮想マシンディスク230に記憶させる(書き込む)。ステップS201の処理により、仮想マシンディスク230にデプロイ情報記憶部131及びシステム構成情報記憶部132が構成される。
このように、デプロイ仮想マシン160のライブマイグレーションに際し、VM管理部150は、デプロイ仮想マシン160の実行に用いるデータを、デプロイ仮想マシン160の移動元のサーバ装置100からデプロイ仮想マシン160の移動先のサーバ装置100へコピーする。VM管理部150はデータコピー部の例に該当する。
次に、対象サーバ装置102のVM管理部150は、仮想マシンディスク230を起点サーバ装置101にエクスポート(Export)する(ステップS202)。
そして、起点サーバ装置101のVM管理部150は、起点サーバ装置101が実行中のデプロイ仮想マシン160のデータ参照先を起点サーバ装置101のディスク130から対象サーバ装置102の仮想マシンディスク230に切り替える(ステップS203)。これにより、起点サーバ装置101が実行中のデプロイ仮想マシン160の動作に伴って、仮想マシンディスク230のデータが更新されるようになる。
このように、VM管理部150は、デプロイ仮想マシン160の実行に用いるデータの参照先を、デプロイ仮想マシン160の移動元のサーバ装置100が記憶しているデータから、デプロイ仮想マシン160の移動先のサーバ装置100にコピーしたデータに切り替える。VM管理部150は、参照先切替部の例に該当する。
ステップS203の後、図7の処理を終了する。
なお、起点サーバ装置101のデプロイ情報記憶部131及びシステム構成情報記憶部132と対象サーバ装置102のデプロイ情報記憶部131及びシステム構成情報記憶部132とのデータの整合性を取るために、起点サーバ装置101のVM管理部150は、一時的にデプロイ仮想マシン160の動作を停止させる。
起点サーバ装置101のVM管理部150が、ステップS201の処理開始時からステップS203の処理終了まで、デプロイ仮想マシン160の動作を停止させるようにしてもよい。
あるいは、ステップS201の処理開始後、起点サーバ装置101のVM管理部150が、起点サーバ装置101のデプロイ情報記憶部131及びシステム構成情報記憶部132で更新されたデータを示す差分情報を、NIC110を介して対象サーバ装置102へ送信するようにしてもよい。この場合、対象サーバ装置102のVM管理部150は、起点サーバ装置101からの差分情報を対象サーバ装置102のデプロイ情報記憶部131及びシステム構成情報記憶部132に反映させる。
この差分情報の送信及び反映を繰り返して、起点サーバ装置101のデプロイ情報記憶部131及びシステム構成情報記憶部132と対象サーバ装置102のデプロイ情報記憶部131及びシステム構成情報記憶部132とのデータの差分が小さくなった後、起点サーバ装置101のVM管理部150が、デプロイ仮想マシン160の動作を停止させる。デプロイ仮想マシン160の動作停止後、起点サーバ装置101のVM管理部150及び対象サーバ装置102のVM管理部150は、さらに差分情報の送信及び反映を行う。これにより、起点サーバ装置101のデプロイ情報記憶部131及びシステム構成情報記憶部132のデータと対象サーバ装置102のデプロイ情報記憶部131及びシステム構成情報記憶部132のデータとが一致する。
そして、起点サーバ装置101のVM管理部150は、ステップS203の処理終了後、デプロイ仮想マシン160の動作を再開させる。
これにより、デプロイ仮想マシン160の停止時間を比較的短くすることができる。
図8は、起点サーバ装置101が対象サーバ装置102にデプロイ仮想マシン160をライブマイグレーションした段階での起点サーバ装置101及び対象サーバ装置102の機能構成例を示す概略ブロック図である。図8における起点サーバ装置101の構成は、図6の場合と同様であり、各部に同一の符号(101、110、120〜122、130〜132、140、150、160〜164、170)を付して説明を省略する。また、図8における対象サーバ装置102の各部のうち図6における対象サーバ装置102の各部に対応して同様の機能を有する部分には同一の符号(110、122、130、131、132、150、170、230、240、281、282)を付して説明を省略する。図8における対象サーバ装置102は、図6に示す対象サーバ装置102の各部に加えてデプロイ仮想マシン160をさらに備えている。
対象サーバ装置102のデプロイ仮想マシン160は、起点サーバ装置101からのライブマイグレーションにて構成される。
なお、図8の状態の後、起点サーバ装置101はシャットダウンする。これにより、起点サーバ装置101のデプロイ仮想マシン160は終了(消滅)し、コンピュータシステム1にデプロイ仮想マシン160が1つのみ存在する状態となる。但し、上述したように、コンピュータシステム1が複数のデプロイ仮想マシン160を備えるようにしてもよい。
図9は、デプロイ仮想マシン160を起点サーバ装置101から対象サーバ装置102へ切り替える際の処理手順の例を示すフローチャートである。
図9の処理完了後、起点サーバ装置101のVM管理部150及び対象サーバ装置102のVM管理部150は、デプロイ仮想マシン160を起点サーバ装置101から対象サーバ装置102へ移動させる(ステップS211)。具体的には、起点サーバ装置101のVM管理部150が、起点サーバ装置101のデプロイ仮想マシン160を停止させる。そして、対象サーバ装置102のVM管理部150が、対象サーバ装置102のデプロイ仮想マシン160を動作させる。この時点では、デプロイ仮想マシン160を実行するためのデータの参照先は、対象サーバ装置102がエクスポートしている仮想マシンディスク230である。
次に、対象サーバ装置102のVM管理部150は、デプロイ仮想マシン160を実行するためのデータの参照先を、対象サーバ装置102がエクスポートしている仮想マシンディスク230から、対象サーバ装置102ローカルの仮想マシンディスク230に切り替える(ステップS212)。
ステップS212の後、図9の処理を終了する。
図10は、対象サーバ装置102が起点サーバ装置101に目的プログラムをデプロイした段階での起点サーバ装置101及び対象サーバ装置102の機能構成例を示す概略ブロック図である。図10における対象サーバ装置102の構成は、図8の場合と同様であり、各部に同一の符号(110、122、130、131、132、150、160、170、230、240、281、282)を付して説明を省略する。なお、図10では、デプロイ仮想マシン160が備えるOSデプロイ処理部161と、デプロイ情報管理部162と、システム構成デプロイ処理部163と、システム構成情報管理部164とが示されている。これは、図4の場合と同様に構成を詳細に示したものであり、図8の場合の対象サーバ装置102の構成との相違を示すものではない。
また、図10における起点サーバ装置101は、NIC110と、DVDドライブ120と、ディスク130と、第二オペレーティングシステム240と、VM管理部150と、システムプログラム機能部282とを備える。ディスク130は、サーバイメージ記憶部122と、システムプログラム情報記憶部281とを備える。システムプログラム機能部282は、サーバ負荷監視部170を備える。
図10における起点サーバ装置101のNIC110及びDVDドライブ120は、図4の場合と同様である。但し、DVDドライブ120は起点サーバ装置101のシャットダウンの際にDVDを排出(Eject)しており、DVDドライブ120はDVDを挿入されていない状態になっている。
図10における起点サーバ装置101のディスク130と、サーバイメージ記憶部122と、システムプログラム情報記憶部281と、第二オペレーティングシステム240と、VM管理部150と、システムプログラム機能部282と、サーバ負荷監視部170とは図5の起点サーバ装置101における各部と同様である。
対象サーバ装置102のデプロイ仮想マシン160が起点サーバ装置101に対して目的プログラムをデプロイすることで、起点サーバ装置101は、図5の対象サーバ装置102が有する各機能を有している。これにより、起点サーバ装置101は、所定の機能(例えばWebサービスの提供)を実行する。
図11は、対象サーバ装置102から他の対象サーバ装置102への目的プログラムをデプロイした段階での対象サーバ装置102の機能構成例を示す概略ブロック図である。図11におけるデプロイ元の対象サーバ装置102の構成は、図10の場合と同様であり、各部に同一の符号(110、122、130、131、132、150、160〜164、170、230、240、281、282)を付して説明を省略する。また、図11におけるデプロイ先の対象サーバ装置102の構成は、図5の場合と同様であり、各部に同一の符号(110、122、130、150、170、240、281、282)を付して説明を省略する。
対象サーバ装置102のデプロイ仮想マシン160が他の対象サーバ装置102に対して目的プログラムをデプロイすることで、デプロイ先の対象サーバ装置102は、図5の対象サーバ装置102と同様の機能を有している。これにより、デプロイ先の対象サーバ装置102は、所定の機能(例えばWebサービスの提供)を実行する。
このように、起点サーバ装置101及びデプロイ仮想マシン160のマイグレーションを受けた対象サーバ装置102は、コンピュータシステム1が備える全てのサーバ装置100に対して目的プログラムをデプロイする。これにより、コンピュータシステム1は、デプロイのサーバ装置100を設ける必要無しに、必要なサーバ装置100全てに目的プログラムをデプロイすることができる。
以上のように、デプロイ仮想マシン160は、他のサーバ装置100のうち少なくとも1つに対して目的プログラムをデプロイする。また、VM管理部150は、他のサーバ装置100のうちいずれかにデプロイ仮想マシン160を移動させる。また、デプロイ仮想マシン160は、元のサーバ装置100から他のサーバ装置100への移動の後、元のサーバ装置100に対して目的プログラムのデプロイを少なくとも1回行う。
例えば、起点サーバ装置101のデプロイ仮想マシン160は、対象サーバ装置102のうち少なくとも1つに対して目的プログラムをデプロイする。また、起点サーバ装置101のVM管理部150は、対象サーバ装置102のうちいずれかにデプロイ仮想マシン160を移動させる。また、デプロイ仮想マシン160は、起点サーバ装置101から対象サーバ装置102に移動した後、起点サーバ装置101に対して目的プログラムのデプロイを少なくとも1回行う。
これにより、コンピュータシステム1では、デプロイ専用のサーバ装置を設ける必要無しに、コンピュータシステム1が備える全てのサーバ装置100に目的プログラムをデプロイすることができる。この点で、コンピュータシステム1によれば、複数のサーバ装置100に対してデプロイを行う場合に、必要なサーバ装置100の数を低減させることができる。
ここで、デプロイ仮想マシン160が、OSを含む所定のプログラムをデプロイするようにしてもよい。すなわち、目的プログラムにOSのプログラムが含まれていてもよい。
このようにOSをデプロイする場合、デプロイ仮想マシン160を備えているサーバ装置100が、このサーバ装置100自らに目的プログラムをデプロイすることはできない。この場合でも、上記のようにサーバ装置100が他のサーバ装置100へデプロイ仮想マシン160を移転させることで、コンピュータシステム1が備える全てのサーバ装置100に目的プログラムをデプロイすることができる。
具体的には、起点サーバ装置101に対しては、起点サーバ装置101が他のサーバ装置102へデプロイ仮想マシンを移転した後に、目的プログラムをデプロイすることができる。また、他のサーバ装置100からデプロイ仮想マシン160の移転を受けるサーバ装置100に対しては、このサーバ装置100が他のサーバ装置100からデプロイ仮想マシンの移転を受ける前に、又は、他のサーバ装置100へデプロイ仮想マシンを移転した後に、目的プログラムをデプロイすることができる。
また、VM管理部150が、デプロイ仮想マシン160が目的プログラムをデプロイした対象サーバ装置102のうちいずれかにデプロイ仮想マシン160を移動させるようにしてもよい。
この場合、デプロイ仮想マシン160の移転を受けた対象サーバ装置102は、既に目的プログラムをデプロイ済みなので、デプロイ仮想マシン160の移転を受けた後に目的プログラムのデプロイを受ける必要がない。
従って、目的プログラムにOSが含まれる場合など、デプロイ仮想マシン160を備えるサーバ装置100自らに対して目的プログラムをデプロイできない場合でも、デプロイ仮想マシン160をさらに他のサーバ装置100へ移動させる必要がない。この点で、コンピュータシステム1が備える全てのサーバ装置100に目的プログラムをデプロイする処理が比較的簡単になる。
また、起点サーバ装置101のVM管理部150は、デプロイ仮想マシン160の実行に用いるデータを、デプロイ仮想マシン160の移動先の対象サーバ装置102にコピーする。そして、起点サーバ装置101のVM管理部150は、デプロイ仮想マシン160の実行に用いるデータの参照先を、デプロイ仮想マシン160の移動先の対象サーバ装置102にコピーされたデータに切り替える。
このように、デプロイ仮想マシン160を実行するためのデータ参照先をデプロイ仮想マシン160の移動先の対象サーバ装置102内に設けておくことで、デプロイ仮想マシン160のライブマイグレーション完了後のデータ参照先の切替を円滑に行うことができる。
なお、デプロイ仮想マシン160を実行するサーバ装置100の負荷が高い場合、このサーバ装置100が他のサーバ装置100にデプロイ仮想マシン160を移動させるようにしもよい。
図12は、デプロイ仮想マシン160を実行するサーバ装置100が負荷に応じて他のサーバ装置100にデプロイ仮想マシン160を移動させている段階での、これらサーバ装置100の機能構成例を示す概略ブロック図である。図12におけるデプロイ元の対象サーバ装置102の構成は、図11の場合と同様であり、各部に同一の符号(110、122、130、131、132、150、160〜164、170、230、240、281、282)を付して説明を省略する。
また、図12におけるデプロイ先の対象サーバ装置102の構成は、同図におけるデプロイ元の対象サーバ装置102の構成と同様であり、各部に同一の符号(110、130、150、160、170、230、240、282)を付して説明を省略する。なお、図12では、デプロイ先の対象サーバ装置102のディスク130、デプロイ仮想マシン160及び仮想マシンディスク230の構成の記載を省略している。これら各部の構成は、図12におけるデプロイ元の対象サーバ装置102に示す構成と同様である。
デプロイ仮想マシン160を実行するサーバ装置100のサーバ負荷監視部170は、当該サーバ装置100の負荷を測定する。但し、サーバ負荷監視部170が測定するデータは、サーバ装置100の負荷に限らず、サーバ装置100の負荷の大きさに関連する情報であればよい。例えば、サーバ負荷監視部170が、サーバ装置100が実行している仮想マシンの数を検出するようにしてもよい。サーバ負荷監視部170は、負荷関連情報取得部の例に該当する。
以下では、サーバ装置100の負荷の大きさに関連する情報を負荷情報と称する。負荷情報は、数値で示される情報(従って、定量的な情報)であってもよいし、例えばON/OFF情報など定性的な情報であってもよい。
また、デプロイ仮想マシン160を実行するサーバ装置100のサーバ負荷監視部170は、負荷が所定の閾値以上であると判定すると、自らのサーバ装置100(当該サーバ負荷監視部170を備えるサーバ装置100)の負荷と、他のサーバ装置100における負荷とを比較する。他のサーバ装置100における負荷は、他のサーバ装置100の各々が備えるサーバ負荷監視部170が測定し、デプロイ仮想マシン160を実行するサーバ装置100へNIC110を介して送信する。
デプロイ仮想マシン160を実行するサーバ装置100のサーバ負荷監視部170が、自らのサーバ装置100の負荷よりも負荷が小さいサーバ装置100を検出(選択)した場合、デプロイ仮想マシン160を実行するサーバ装置100のVM管理部150は、サーバ負荷監視部170が検出したサーバ装置100へデプロイ仮想マシン160をマイグレーションする。サーバ負荷監視部170は、サーバ装置選択部の例に該当する。
以上のように、コンピュータシステム1が備えるサーバ装置100の各々のサーバ負荷監視部170は、サーバ装置100自らの負荷の大きさに関連する負荷情報を取得する。
そして、サーバ負荷監視部170は、当該サーバ負荷監視部170を備えるサーバ装置100の負荷情報が、負荷が所定の条件以上に大きいことを示す場合、他のサーバ装置100の負荷情報に基づいていずれかのサーバ装置100を選択する。そして、デプロイ仮想マシン160を実行しているサーバ装置100のVM管理部150は、サーバ負荷監視部170が選択したサーバ装置100にデプロイ仮想マシン160を移動させる。
このように、負荷が大きいサーバ装置100から負荷が比較的小さいサーバ装置100へデプロイ仮想マシン160を移動させることで、特定のサーバ装置100への負荷の集中を緩和させることができる。この点で、過負荷のサーバ装置100が発生する可能性を軽減させることができる。
なお、デプロイ仮想マシン160(特に、システム構成情報管理部164及びシステム構成デプロイ処理部163)が、目的プログラムのデプロイ時のみでなく、デプロイ完了後(コンピュータシステム1が所定の機能を実行する動作中)も、システムプログラム及びそのコンフィグレーションを管理するようにしてもよい。
例えば、ユーザがシステムプログラムのコンフィグレーションなどのシステム情報を作成してシステム構成情報記憶部132に記憶させた場合、システム構成情報管理部164は、作成されたシステム情報をシステム構成情報記憶部132から読み出す。そして、システム構成デプロイ処理部163は、システム構成情報管理部164が読み出したシステム情報は他のサーバ装置100にデプロイする。
このように、デプロイ仮想マシン160がシステム情報を他のサーバ装置100にデプロイすることで、システムプログラム及びそのコンフィグレーション等を管理することができる。
なお、この場合、コンピュータシステム1がデプロイ仮想マシン160を備えることが1つのみ備えることが好ましい。これにより、システムプログラム及びコンフィグレーション等のバージョン管理が比較的容易になる。
次に、図13及び図14を参照して、本発明の最小構成について説明する。
図13は、本発明に係るサーバシステムの最小構成を示す概略ブロック図である。同図に示すサーバシステム2は、第一サーバ装置11と、少なくとも1つの第二サーバ装置14とを備える。第一サーバ装置11は、仮想マシン12と、マイグレーション部13とを備える。
かかる構成にて、仮想マシン12は、第二サーバ装置14のうち少なくとも1つに対して当該第二サーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を行う。そして、マイグレーション部13は、第二サーバ装置14のうちいずれかに仮想マシン12を移動させる。仮想マシン12は、第一サーバ装置11から第二サーバ装置14に移動した後、第一サーバ装置11に対して第一サーバ装置11が所定のプログラムを実行可能な状態にする実行可能化処理を少なくとも1回行う。
これにより、サーバシステム2では、実行可能化処理専用のサーバ装置を設ける必要無しに、サーバシステム2が備える全てのサーバ装置に対して実行可能化処理を行うことができる。この点で、サーバシステム2によれば、複数のサーバ装置に対して実行可能化処理を行う場合に、必要なサーバ装置の数を低減させることができる。
図14は、本発明に係るサーバ装置の最小構成を示す概略ブロック図である。同図に示すサーバ装置21は、仮想マシン22と、マイグレーション部23とを備える。
かかる構成にて、仮想マシン22は、他のサーバ装置のうち少なくとも1つに対して当該他のサーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を行う。そして、マイグレーション部23は、他のサーバ装置のうちいずれかに仮想マシン22を移動させる。仮想マシン22は、元のサーバ装置から他のサーバ装置への移動の後、元のサーバ装置に対して当該元のサーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を少なくとも1回行う。
これにより、サーバ装置21を含むシステムは、実行可能化処理専用のサーバ装置を設ける必要無しに、当該システムが備える全てのサーバ装置に対して実行可能化処理を行うことができる。この点で、サーバ装置21によれば、複数のサーバ装置に対して実行可能化処理を行う場合に、必要なサーバ装置の数を低減させることができる。
なお、上述したDVDのように、起点サーバ装置101の機能の全部または一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
1、2 コンピュータシステム
11 第一サーバ装置
12、22 仮想マシン
13、23 マイグレーション部
14 第二サーバ装置
21、100 サーバ装置
101 起点サーバ装置
110 NIC
120 DVDドライブ
121 デプロイイメージ記憶部
122 サーバイメージ記憶部
130 ディスク
131 デプロイ情報記憶部
132 システム構成情報記憶部
140 第一オペレーティングシステム
150 VM管理部
160 デプロイ仮想マシン
161 OSデプロイ処理部
162 デプロイ情報管理部
163 システム構成デプロイ処理部
164 システム構成情報管理部
170 サーバ負荷監視部
102 対象サーバ装置
230 仮想マシンディスク
240 第二オペレーティングシステム
281 システムプログラム情報記憶部
282 システムプログラム機能部
300 スイッチ

Claims (8)

  1. 第一サーバ装置と少なくとも1つの第二サーバ装置とを備え、
    前記第一サーバ装置は、
    前記第二サーバ装置のうち少なくとも1つに対して当該第二サーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を行う仮想マシンと、
    前記第二サーバ装置のうちいずれかに前記仮想マシンを移動させるマイグレーション部と、
    を備え、
    前記仮想マシンは、前記第一サーバ装置から前記第二サーバ装置に移動した後、前記第一サーバ装置に対して当該第一サーバ装置が所定のプログラムを実行可能な状態にする前記実行可能化処理を少なくとも1回行う、
    サーバシステム。
  2. 前記仮想マシンは、OSを含む所定のプログラムを実行可能な状態にする前記実行可能化処理を行う、請求項1に記載のサーバシステム。
  3. 前記マイグレーション部は、前記仮想マシンが前記実行可能化処理を行った前記第二サーバ装置のうちいずれかに前記仮想マシンを移動させる、請求項1または請求項2に記載のサーバシステム。
  4. 前記第一サーバ装置は、
    前記仮想マシンの実行に用いるデータを前記第二サーバ装置にコピーするデータコピー部と、
    前記仮想マシンの実行に用いるデータの参照先を前記第二サーバ装置にコピーされたデータに切り替える参照先切替部と、
    を備える請求項1から3のいずれか一項に記載のサーバシステム。
  5. 前記サーバシステムが備えるサーバ装置の各々は、
    サーバ装置自らの負荷の大きさに関連する負荷情報を取得する負荷関連情報取得部と、
    サーバ装置自らの前記負荷情報が、負荷が所定の条件以上に大きいことを示す場合、他のサーバ装置の前記負荷情報に基づいていずれかのサーバ装置を選択するサーバ装置選択部と、
    前記マイグレーション部と、
    を備え、
    前記マイグレーション部は、前記サーバ装置選択部が選択したサーバ装置に前記仮想マシンを移動させる、
    請求項1から4のいずれか一項に記載のサーバシステム。
  6. 他のサーバ装置のうち少なくとも1つに対して当該他のサーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を行う仮想マシンと、
    前記他のサーバ装置のうちいずれかに前記仮想マシンを移動させるマイグレーション部と、
    を備え、
    前記仮想マシンは、元のサーバ装置から前記他のサーバ装置への前記移動の後、前記元のサーバ装置に対して当該元のサーバ装置が所定のプログラムを実行可能な状態にする前記実行可能化処理を少なくとも1回行う、
    サーバ装置。
  7. 第一サーバ装置で実行されている仮想マシンが、第二サーバ装置のうち少なくとも1つに対して当該第二サーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を行い、
    前記第一サーバ装置が備えるマイグレーション部が、前記第二サーバ装置のうちいずれかに前記仮想マシンを移動させ、
    前記仮想マシンが、前記第二サーバ装置に移動した後、前記第一サーバ装置に対して当該第一サーバ装置が所定のプログラムを実行可能な状態にする前記実行可能化処理を少なくとも1回行う、
    プログラム実行可能化処理方法。
  8. サーバ装置に、
    他のサーバ装置のうち少なくとも1つに対して当該他のサーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を行う仮想マシンであって、元のサーバ装置から前記他のサーバ装置のうちいずれかへの移動の後、前記元のサーバ装置に対して当該元のサーバ装置が所定のプログラムを実行可能な状態にする前記実行可能化処理を少なくとも1回行う仮想マシンを動作させ、
    前記仮想マシンが前記実行可能化処理を行った前記他のサーバ装置のうちいずれかに前記仮想マシンを移動させるための
    プログラム。
JP2016043432A 2016-03-07 2016-03-07 サーバシステム、サーバ装置、プログラム実行可能化処理方法及びプログラム Active JP6372505B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016043432A JP6372505B2 (ja) 2016-03-07 2016-03-07 サーバシステム、サーバ装置、プログラム実行可能化処理方法及びプログラム
US15/448,940 US10467047B2 (en) 2016-03-07 2017-03-03 Server system and execution-facilitating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016043432A JP6372505B2 (ja) 2016-03-07 2016-03-07 サーバシステム、サーバ装置、プログラム実行可能化処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2017161988A true JP2017161988A (ja) 2017-09-14
JP6372505B2 JP6372505B2 (ja) 2018-08-15

Family

ID=59722225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016043432A Active JP6372505B2 (ja) 2016-03-07 2016-03-07 サーバシステム、サーバ装置、プログラム実行可能化処理方法及びプログラム

Country Status (2)

Country Link
US (1) US10467047B2 (ja)
JP (1) JP6372505B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023032105A1 (ja) * 2021-09-01 2023-03-09 楽天モバイル株式会社 ジョブ制御システム及びその制御方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11010084B2 (en) * 2019-05-03 2021-05-18 Dell Products L.P. Virtual machine migration system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009122963A (ja) * 2007-11-15 2009-06-04 Hitachi Ltd デプロイ方法およびシステム
JP2011159249A (ja) * 2010-02-04 2011-08-18 Nec Corp コンピュータシステム、仮想マシン管理方法、及び仮想マシン管理プログラム
JP2014041414A (ja) * 2012-08-21 2014-03-06 Nippon Telegr & Teleph Corp <Ntt> 仮想マシンのマイグレーションシステム、制御装置およびマイグレーション方法
JP2015008365A (ja) * 2013-06-24 2015-01-15 日本電信電話株式会社 管理装置、通信システム、管理方法、および、管理プログラム
JP2016004509A (ja) * 2014-06-19 2016-01-12 富士通株式会社 システム、復元方法、コンピュータ及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761573B2 (en) * 2005-12-07 2010-07-20 Avaya Inc. Seamless live migration of virtual machines across optical networks
ATE451780T1 (de) 2007-09-28 2009-12-15 Zimory Gmbh Verfahren und system zur automatischen remote- bereitstellung eines servers über virtuelle geräteanwendungen
JP2011076370A (ja) 2009-09-30 2011-04-14 Hitachi Solutions Ltd デプロイシステム
US20120173653A1 (en) 2010-12-30 2012-07-05 International Business Machines Corporation Virtual machine migration in fabric attached memory
US10310878B2 (en) * 2011-12-16 2019-06-04 Vmware, Inc. Execution of an application in a runtime environment installed in a virtual appliance
JP2014142720A (ja) 2013-01-22 2014-08-07 Fujitsu Ltd 仮想マシン移動方法、情報処理装置及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009122963A (ja) * 2007-11-15 2009-06-04 Hitachi Ltd デプロイ方法およびシステム
JP2011159249A (ja) * 2010-02-04 2011-08-18 Nec Corp コンピュータシステム、仮想マシン管理方法、及び仮想マシン管理プログラム
JP2014041414A (ja) * 2012-08-21 2014-03-06 Nippon Telegr & Teleph Corp <Ntt> 仮想マシンのマイグレーションシステム、制御装置およびマイグレーション方法
JP2015008365A (ja) * 2013-06-24 2015-01-15 日本電信電話株式会社 管理装置、通信システム、管理方法、および、管理プログラム
JP2016004509A (ja) * 2014-06-19 2016-01-12 富士通株式会社 システム、復元方法、コンピュータ及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023032105A1 (ja) * 2021-09-01 2023-03-09 楽天モバイル株式会社 ジョブ制御システム及びその制御方法

Also Published As

Publication number Publication date
US20170255487A1 (en) 2017-09-07
US10467047B2 (en) 2019-11-05
JP6372505B2 (ja) 2018-08-15

Similar Documents

Publication Publication Date Title
JP7391862B2 (ja) 自動的に配備される情報技術(it)システム及び方法
US10474508B2 (en) Replication management for hyper-converged infrastructures
CN107247619B (zh) 虚拟机热迁移方法、装置、系统、存储介质及设备
US9912535B2 (en) System and method of performing high availability configuration and validation of virtual desktop infrastructure (VDI)
JP2015062282A (ja) 仮想ネットワークアプライアンス不良の検知及びハンドリング
JP2009116859A (ja) 1つ以上の仮想マシンをマイグレートするシステムおよび方法
JP2013544417A (ja) 異種移動環境用の仮想マシンモーフィング
CN106068626B (zh) 分布网络管理架构中的负载均衡
US10860375B1 (en) Singleton coordination in an actor-based system
JP2011060035A (ja) アプリケーションデプロイシステム、アプリケーションデプロイ方法及びプログラム
KR102524540B1 (ko) 멀티 클라우드 서비스 플랫폼 장치 및 방법
JP2019101866A (ja) アプリケーションの更新方法およびプログラム
US10613893B2 (en) System and method for reducing downtime during hypervisor conversion
US10536518B1 (en) Resource configuration discovery and replication system for applications deployed in a distributed computing environment
US20220171650A1 (en) Network system, management method and apparatus thereof, and server
JP6372505B2 (ja) サーバシステム、サーバ装置、プログラム実行可能化処理方法及びプログラム
US20190342172A1 (en) Sending predefined configuration information from a first computer to a second computer in a management network group
US9183092B1 (en) Avoidance of dependency issues in network-based service startup workflows
CN112084007A (zh) 基于虚拟机技术的nas存储升级方法和装置
JP5941442B2 (ja) 仮想ホストのライブマイグレーション方法およびネットワーク装置
CN111506388B (zh) 容器性能探测方法、容器管理平台及计算机存储介质
US9348672B1 (en) Singleton coordination in an actor-based system
US11571618B1 (en) Multi-region game server fleets
JP5391152B2 (ja) サーバシステム、及び、仮想サーバの移行方式を選択する方法
US9405605B1 (en) Correction of dependency issues in network-based service remedial workflows

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180702

R150 Certificate of patent or registration of utility model

Ref document number: 6372505

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150