The present invention relates to a communication system and a migration method.
In recent years, service function chaining in which packet processing is executed in a determined order for a traffic flow is getting popular. The packet processing is executed by a software-implemented virtual network function (VNF) instance. A traffic flow is transferred between the VNF instances using a tunneling technique. A set of transfer tunnel paths connecting the VNF instances to each other is referred to as a service chain.
The VNF instances are relocated to optimize network resource. In this context, a VNF instance can be migrated to and run on another server using a technique known as live migration. To implement the live migration, the VNF instance needs to be stopped for a time period with a length in a unit of milliseconds. During the time period, packet flow transfer stops and thus flow interruption occurs.
A plurality of VNF instances forming the service chain are located in the identical server so that packets are transferred between the VNF instances via a shared memory enabling high speed transfer. When the migration timings of these VNF instances do not match, a VNF instance migrated earlier and a VNF instance being migrated run on different servers. Thus, the packet flow transferred between them is transferred over the network. Such a flow results in a link resource in the network being consumed more than necessary. In view of this, a time consumed by the later migration of the VNF instance is required to be shortened.
The VNF instances running on the identical server share the band of the output link, and involve a large amount of data to be updated. Thus, it is difficult to migrate all the VNF instances at once in parallel. This leads to the scenario where one VNF instance is transmitted and then the next VNF instance is transmitted.
The flow interruption occurs within time periods including: a time period in which the VNF instance is stopped for transmitting data updated frequently; a time period in which preparation is performed for executing the packet processing on a migration destination; and a time period in which transfer path information in a data network is updated so that the traffic flow can reach the migration destination server. In the last two time periods, the data transmission has been already completed for the VNF instance migrated earlier. Thus, a band can be used for migrating the next VNF instance, and thus the migration starts. Thus, the flow interruption occurs until the earlier VNF instance starts processing packets, after the migration for the next VNF instance has started.
While the flow interruption is occurring due to the migration of the VNF instance, no packet reaches the VNF instance on the downstream side of the VNF instance being migrated. The VNF instance executes the packet processing while being migrated. The VNF instance updates data such as local variables during the packet processing. In live migration, data in the VNF instance is entirely synchronized between the migration destination server and the migration source server. The processing by the VNF instance resumes on the migration destination server after the synchronization is completed. Thus, the updated data is synchronized.
The flow interruption leads to reduction of the amount of reaching packets. As a result, the amount of data to be updated also decreases. Thus, the migration of the downstream side VNF instance results in a smaller amount of data synchronized by live migration. Thus, migration time for the VNF instance can be shortened.
Packets continue to reach the VNF instance on the upstream side of the VNF instance being migrated. The packet processing is executed, and thus data is updated. Thus, when such a VNF instance is migrated, a large amount of data needs to be synchronized. This results in a longer time required for migrating the VNF instance. There is a method for migrating such a VNF instance (see, for example, Non Patent Literature 1).
Non Patent Literature 1: Jie Zheng and T. S. Eugene Ng and Kunwadee Sripanidkulchai and Zhaolei Liu, “COMMA: Coordinating the Migration of Multi-tier Applications”, Proc. ACM SIGPLAN/SIGOP Int. Conf. on Virtual Execution Environments (VEE 2014), March 2014, pp. 1 to 12
However, the known technique has a problem of involving along migration time for the VNF instance, leading to the traffic flowing into the network for a long period of time, resulting in a large amount of resource consumed in the network. For example, in the method of migrating a VNF instance described above, the order in which the VNF instances are migrated is not specifically defined. This leads to a scenario where one VNF instance is transferred and then a VNF instance on the upstream side is migrated. In such a scenario, when the packet processing is executed on the upstream side, migration time becomes long, leading to the traffic flowing into the network for a long period of time, resulting in a large amount of resource consumed in the network.
To solve the problem described above and achieve the object, a communication system of the present invention includes a determination unit configured to determine based on software pieces through which a traffic flow passes, the software pieces running on a predetermined server, and on an order of the software pieces through which the traffic flow passes, a migration order of the software pieces to be migrated, and a migration control unit configured to perform control so that the software pieces are migrated to another server based on the migration order of the software pieces determined by the determination unit.
A migration method performed by a communication system according to the present invention includes determining, based on software pieces through which a traffic flow passes, the software pieces running on a predetermined server, and on an order of the software pieces through which the traffic flow passes, a migration order of the software pieces to be migrated, and performing control so that the software pieces are migrated to another server based on the determined migration order of the software pieces to be migrated according to the determining.
With the present invention, the time during which traffic flow into the network is shortened so that an effect of reducing the amount of network resource consumed can be obtained.
Embodiments of a communication system and a migration method according to the present application will be described below in detail on the basis of the drawings. Note that the communication system and the migration method according to the present disclosure are not limited by the embodiments.
In the following embodiment, the configuration of a communication system according to a first embodiment and a processing flow in the communication system will be described in this order, and finally, the effects according to the first embodiment will be described.
Configuration of Communication System
First of all, a configuration of a communication system according to a first embodiment will be described with reference to
The instance running device 10 is a device on which a VNF instance (software) runs. The instance running device 10 includes an input/output interface 11, a server resource 12, a flow table 13, a determination unit 14, and a migration control unit 15. The input/output interface 11 controls communications related to various types of information, and transmits and receives data to and from the instance management device 20, for example. The server resource 12 is, for example, a physical resource such as a CPU or a memory, and is a resource for operating a VNF instance.
The flow table 13 is a table storing VNF instances through which a traffic flow passes. Specifically, the flow table 13 stores migration target VNF instances and a traffic flow that passes through the VNF instances that are the migration targets received from the instance management device 20.
For example, the flow table 13 stores “FLOW” indicating the identifier for uniquely identifying the traffic flow, “INSTANCE” indicating the VNF instances through which the traffic flow passes, and “PRIORITY” indicating the priority of the traffic flow in association with each other, as in the example illustrated in
Referring to the specific example illustrated in
The determination unit 14 determines the order of VNF instances to be migrated on the basis of the VNF instances though which the traffic flow passes, the VNF instances running on the instance running device 10, and of the order of the VNF instances through which the traffic flow passes.
For example, in a case where the traffic flow is a one-way flow, the determination unit 14 determines a migration schedule so that the VNF instances are migrated in order from the upstream side. Referring now to
The determination unit 14 thus determining the VNF instances to be migrated from the upstream side results in no traffic flow reaching the VNF instance on the downstream side. Thus, the amount of data that needs to be synchronized due to the packet processing decreases, whereby the time required for migrating the VNF instances can be shortened. Note that in the example of
Now an amount of overwritten data in the VNF instances on the upstream and downstream sides in a possible case where the migration starts from the intermediate VNF instance will be described with reference to an example illustrated in
As illustrated in
For example, in a case where the traffic flow is a bidirectional flow, the determination unit 14 determines the order so that the VNF instance at one of upstream and downstream ends is first migrated, and then the VNF instance on the other end is migrated. Referring now to
As illustrated in
When the determination unit 14 processes the bidirectional flow through the VNF instances in this manner, migration of the VNF instances “V4” and “V6” at ends in both directions of the flow results in the packet of the flow in both directions discarded in the VNF instances “V4” and “V6”. Thus, no packet reaches the VNF instance “V5” in between, whereby the amount of packets processed by this VNF instance is also reduced. As a result, the time required for migrating the VNF instance in between can be shortened because there is not data that needs to be synchronized.
For example, when there area plurality of traffic flows, the determination unit 14 determines the order so that the VNF instance through which a traffic flow with high priority set in advance passes is migrated earlier than the VNF instance through which a traffic flow with a low priority passes. Referring now to
As illustrated in
In such a case, the determination unit 14 determines the order of the VNF instances through which the high-priority traffic flow “F1” passes, so that the VNF instance “V1” on the upstream side is migrated first, the VNF instance “V2” is migrated second, and the VNF instance “V3” is migrated third and final. Then, the determination unit 14 determines the order of the remaining VNF instances through which the low-priority traffic flow “F2” passes, so that the VNF instance “V7” is migrated fourth, and the VNF instance “V8” is migrated fifth and final.
Referring back to
The instance management device 20 manages the migration of the VNF instances to optimize the network resources. For example, the instance management device 20 manages the VNF instances running on the instance running device 10 and the traffic flow that passes the VNF instances, and designates the VNF instances as the migration targets and the traffic flow that passes through the VNF instances on the basis of the relationship between the traffic flow and the instances.
The instance management device 20 includes an input/output interface 21, a server resource 22, a calculation unit 23, and a notification unit 24. The calculation unit 23 calculates VNF instances that migrate in a predetermined way when the VNF instances need to be migrated, and a traffic flow that passes through the VNF instances.
The notification unit 24 notifies the instance running device 10 of the result of the calculation by the calculation unit 23. For example, the notification unit 24 give notice of the migration target VNF instances and the traffic flow that passes through the VNF instance that are the migration targets.
Flow of Processing by Communication System
Next, a flow of processing by the instance running device 10 according to the first embodiment will be described with reference to
As illustrated in
For example, in a case where the traffic flow is a one-way flow, the determination unit 14 determines a migration schedule so that the VNF instances are migrated in order from the upstream side. For example, in a case where the traffic flow is a bidirectional flow, the determination unit 14 determines the order so that the VNF instance at one of upstream and downstream ends is first migrated, and then the VNF instance on the other end is migrated.
Then, the migration control unit 15 performs control so that the VNF instances are migrated to another instance running device on the basis of the migration schedule determined by the determination unit 14 (step S103).
As described above, the instance running device 10 of the communication system according to the first embodiment determines the order of VNF instances to be migrated on the basis of the VNF instances though which the traffic flow passes and the order of the VNF instances through which the VNF instances pass. Furthermore, the instance running device 10 performs control so that the VNF instances are migrated to another instance running device 10 on the basis of the VNF instance migration order determined. Thus, with the instance running device 10 according to the first embodiment, the migration time of the VNF instances is shortened, so that the time during which the traffic flows into the network is shortened, whereby the amount of network resources consumed can be reduced.
For example, the instance running device 10 thus determining the VNF instances to be migrated from the upstream side results in no traffic flow reaching the VNF instance on the downstream side. Thus, the amount of data that needs to be synchronized due to the packet processing decreases, whereby the time required for migrating the VNF instances can be shortened.
System Configuration and the Like
Each element of each apparatus illustrated is a functional concept and does not necessarily need to be physically configured as illustrated. That is, the specific form of distribution and integration of the apparatus is not limited to the illustrated form, and the entirety or a portion of the form can be configured by being functionally or physically distributed and integrated in any unit, depending on various loads, usage conditions, and the like. Further, all or any part of each processing function to be performed in each apparatus can be realized by the CPU and a program being analyzed and executed by the CPU, or can be realized as hardware by wired logic.
In addition, among processing described in the embodiments, all or some of processes described as being performed automatically can be manually performed, or all or some of processes described as being performed manually can be performed automatically by well-known methods. In addition, information including the processing procedures, the control procedures, the specific names, and various data and parameters described in the above-described document and drawings can be changed except for the case of special description.
Program
A program in which the processing executed by the devices described in the aforementioned embodiments is described in a computer-executable language can also be created. For example, a program in which the process that is executed by the devices in the communication system according to the embodiments has been described in a computer-executable language can be created. In such a case, the effect that is the identical as that in the embodiment described above can be obtained with the computer executing the program. Hereinafter, one example of the computer that executes the program will be described.
The memory 1010 includes a read only memory (ROM) 1011 and a RAM 1012. The ROM 1011 stores a boot program, such as Basic Input Output System (BIOS), for example. The hard disk drive interface 1030 is connected to a hard disk drive 1090. The disk drive interface 1040 is connected to a disk drive 1100. A detachable storage medium such as a magnetic disk or an optical disc is inserted into the disk drive 1100. The serial port interface 1050 is connected to, for example, a mouse 1051 and a keyboard 1052. A video adapter 1060 is connected to, for example, a display 1061.
Here, the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. Tat is, a program defining each of processes of the devices is implemented as the program module 1093 in which computer-executable code has been described. The program module 1093 is stored in, for example, the hard disk drive 1090. For example, the program module 1093 for executing processing similar to the functional configuration in the device is stored in hard disk drive 1090. Note that the hard disk drive 1090 may be replaced with a solid state drive (SSD).
In addition, data used in the processing of the above-described embodiment is stored in, for example, the memory 1010 or the hard disk drive 1090, as the program data 1094. In addition, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 and executes them as necessary.
Note that the program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090, and may be stored, for example, in a removable storage medium, and read by the CPU 1020 via a disk drive 1100 or its equivalent. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected through a network or a WAN. In addition, the program module 1093 and the program data 1094 may be read by the CPU 1020 from another computer through the network interface 1070.
Number | Date | Country | Kind |
---|---|---|---|
2018-153008 | Aug 2018 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2019/031757 | 8/9/2019 | WO | 00 |