IP Library Granted Patent US 9,823,943
Granted Patent B2
US 9,823,943 · App. 14/688,551 · Granted Nov 21, 2017

Apparatus and method for controlling virtual machine migrations based on flow information

Inventors: Hideki Mitsunobu (Kawasaki, JP); Toshihiko Kurita (Kawasaki, JP)
Assignee: FUJITSU LIMITED
G06F9/45558G06F9/4856G06F9/5088H04L67/1023G06F2009/4557G06F2009/45595
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,823,943
App. No.
14/688,551
Granted
Nov 21, 2017
Kind
B2
Abstract

An apparatus controls migration of a virtual machine between plural servers in a communication network. The apparatus acquires flow information by classifying, for each of virtual machines, pieces of data transmitted and received in each of the plural servers into flows having respective different destinations. The apparatus selects, based on the flow information, a migration target which is a virtual machine to be migrated from a first server whose number of virtual machines in operation is relatively large to a second server whose number of virtual machines in operation is relatively small, from among virtual machines in operation in the first server, by giving a higher priority to a virtual machine whose matching number of flows is larger, where the matching number of flows indicates a number of flows that are currently processed by both the virtual machine and the second server.

Claims (36)

1. A control device for controlling migration of a plurality of virtual machines between a plurality of servers in a communication network, the control device comprising:

a processor configured:

to acquire flow information that corresponds to a plurality of flows for the plurality of virtual machines, the plurality of flows comprising communications between at least one of the plurality of servers and another device other than the plurality of servers,

to select, based on the acquired flow information, a virtual machine migration target among the plurality of virtual machines to be migrated from a migration source server of the plurality of servers to a migration destination server of the plurality of servers, wherein the selecting of the virtual machine migration target is based on:

a first number of virtual machines among the plurality of virtual machines in operation on the migration source server being relatively large as compared to the other servers among the plurality of servers,

a second number of virtual machines among the plurality of virtual machines in operation on the migration destination server being relatively small as compared to the other servers among the plurality of servers,

a number of matching flows between the virtual machine migration target and the migration destination server, the number of matching flows indicating how many flows of both the virtual machine migration target and the migration destination server have a same destination address, and

minimizing, based on the acquired flow information, a resultant number of the plurality of flows between the plurality of servers and the another device other than the plurality of servers with which the plurality of servers are communicating, and

to transmit a control packet for migrating the migration target virtual machine to the migration destination server; and

a memory coupled to the processor, configured to store the flow information.

2. The control device of claim 1 , wherein,

in a case where there are a plurality of candidates for the migration destination server, the processor:

calculates, for each of the plurality of candidates, a flow-matching number with respect to each of the virtual machines in operation in the migration source server,

selects, among combinations of a virtual machine selected from the virtual machines in operation in the migration source server and a server selected from the plurality of candidates, a combination having the larger flow-matching number on a priority basis,

selects a server contained in the selected combination as the migration destination server, and

selects a virtual machine contained in the selected combination as the migration target.

3. The control device of claim 1 , wherein the processor detects that a difference in a number of virtual machines in operation between the migration source server and a server whose number of virtual machines in operation is relatively small among the plurality of servers reaches a threshold value.

4. The control device of claim 1 , wherein the processor:

receives, from a management device that manages an arrangement of virtual machines included in the plurality of servers, a request packet that includes a request for selection of the virtual machine migration target, identification information of the migration source server, and identification information of a server whose number of virtual machines in operation is smaller than that in the migration source server by a threshold value or more;

selects the virtual machine migration target by using the request packet; and

transmits the control packet to the migration source server via the management device.

5. A communication device serving as any one of a plurality of servers in a communication network, each server being configured to operate a plurality of virtual machines, the communication device comprising:

a processor configured:

to classify, for each of virtual machines in operation in the communication device as a migration source server, flow information that corresponds to a plurality of flows for the plurality of virtual machines, the plurality of flows comprising communications between at least one of the plurality of servers and another device other than the plurality of servers,

to transmit the classified results to a control device that controls migration of a virtual machine between the plurality of servers,

to receive, from the control device, a control packet containing an identifier of a migration target and an identifier of a migration destination server whose number of virtual machines in operation is smaller than that of the migration source server, the migration target being a virtual machine whose matching number of flows, of the plurality of flows, is relatively large, the matching number of flows indicating a number of flows, of the plurality of flows, that have a same destination address and are currently processed by both the virtual machine as the migration target and the migration destination server as a migration destination, the migration target having been selected to minimize a resultant number of the plurality of flows between the plurality of servers and the another device other than the plurality of servers with which the plurality of servers are communicating, and

to perform a process for migrating the migration target to the migration destination server; and

a memory coupled to the processor, configured to store the classified results.

6. A method for controlling migration of a plurality of virtual machines between a plurality of servers in a communication network, the method comprising:

acquiring flow information that corresponds to a plurality of flows for a the plurality of virtual machines, the plurality of flows comprising communications between at least one of the plurality of servers and another device other than the plurality of servers;

selecting, based on the acquired flow information, a virtual machine migration target among the plurality of virtual machines to be migrated from a migration source server of the plurality of servers to a migration destination server of the plurality of servers, wherein the selecting of the virtual machine migration target is based on:

a first number of virtual machines among the plurality of virtual machines in operation on the migration source server being relatively large as compared to the other servers among the plurality of servers,

a second number of virtual machines among the plurality of virtual machines in operation on the migration destination server being relatively small as compared to the other servers among the plurality of servers, and

a number of matching flows between the virtual machine migration target and the migration destination server, the number of matching flows indicating how many flows of both the virtual machine migration target and the migration destination server have a same destination address, and

minimizing, based on the acquired flow information, a resultant number of the plurality of flows between the plurality of servers and the another device other than the plurality of servers with which the plurality of servers are communicating; and

transmitting a control packet for migrating the migration target virtual machine to the second server.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S ZIP CODE PREVIOUSLY RECORDED AT REEL: 035447 FRAME: 0139. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 11, 2015
From: MITSUNOBU, HIDEKI; KURITA, TOSHIHIKO
To: FUJITSU LIMITED
Reel/Frame 035634/0873 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2015
From: MITSUNOBU, HIDEKI; KURITA, TOSHIHIKO
To: FUJITSU LIMITED
Reel/Frame 035447/0139 →
Priority Claims (1)
JP 2014-098872 · May 12, 2014 · national
Continuity (1)
Related Publication 20150326658A1 · Nov 12, 2015