The present invention relates to a performance monitoring device, a program, and a performance monitoring method for monitoring performance of a virtual server that provides a network service using a virtualization technology.
A network device such as a router or a switch, and a security device such as a firewall or an Intrusion Prevention System/Intrusion Detection System (IPS/IDS) are generally in the form of an appliance (dedicated hardware). There is a problem that the appliance occupies space and cannot change processing capability. On the other hand, network functions virtualization (NFV) has been studied in which functions of a network device and a security device are achieved not by an appliance but by a virtual server (virtualization server) on a general-purpose server (physical server, server). In particular, in a next-generation network such as 5G, a virtualized network function (VNF) component created on the premise that a network function is provided by a virtual server has been developed.
On the other hand, in a network such as 5G, there is also a requirement regarding a transfer delay of the network, and there is an increasing need to satisfy the requirement of the transfer delay even when a network function is configured using a VNF. A transfer delay occurs in a network and a server that implements a service. Non Patent Literature 1 proposes a measurement technology that enables specification of a location and a direction of a delay, and a delay amount by utilizing a protocol capable of flexible path control such as segment routing (SR).
Non Patent Literature 1: Takayoshi Hirasawa et al., “Study on technology of estimating occurrence position and direction of delay in network” 2020 IEICE General Conference, B-6-63, March 2020
By using the measurement technique proposed in Non Patent Literature 1, it is possible to measure a transfer delay time in a network including a switch fabric in a data center, and it is possible to specify a location and a direction of a delay and a delay amount (delay time). However, it is not possible to measure or identify the cause of a delay occurring in a server.
In general, as delay measurement (delay monitoring, performance measurement, performance monitoring) in a virtual server, physical resources such as a central processing unit (CPU) and a memory included in a physical server are monitored, and transfer performance monitoring for monitoring (measuring) a network delay is not currently available. In particular, in a case of a service passing through a plurality of network functions (virtual servers) such as a service chain, a highly accurate delay monitoring method and resource allocation are required in order to maintain constant transfer performance as a chain, and a technology for measuring delay amounts of a plurality of chains for each user is required.
The present invention has been made in view of such a background, and an object thereof is to enable performance monitoring by transfer delay monitoring of a virtual server.
In order to solve the above problem, a performance monitoring device according to the present invention is a performance monitoring device for a virtual server that operates on a physical server including a physical resource and provides a network function, the performance monitoring device including: a deployment unit that causes, in a case where the number of the virtual server is one, a measurement virtual server using the same physical resource as the physical resource of the virtual server to operate on the physical server; a path setting unit that sets the measurement virtual server to transmit a response packet to the performance monitoring device for a measurement packet; and a measurement unit that measures a first transfer time from when the measurement packet is transmitted to the measurement virtual server until the response packet is received.
According to the present invention, it is possible to enable performance monitoring by transfer delay monitoring of a virtual server.
Hereinafter, a performance monitoring device in a mode (embodiment) for carrying out the present invention will be described. In the performance monitoring device, a virtual server (measurement virtual server, measurement VNF) for measurement that uses the same resource (CPU or memory) as a resource of a virtual server (VNF) that provides a network function to be monitored. Subsequently, the performance monitoring device measures and monitors the performance by measuring a time (transfer time, transfer delay time, first transfer time) during which the measurement virtual server transfers a measurement packet.
When the network service is implemented by a plurality of virtual servers sequentially processing (chaining) data, in the performance monitoring device, measurement virtual servers corresponding to the respective virtual servers are deployed. Next, the performance monitoring device sets the plurality of measurement virtual servers such that the corresponding measurement virtual servers transfer the measurement packets in the order similar to the order of the virtual servers that sequentially process (chain) the data. The last measurement virtual server of the chain is set to transfer the measurement packet to the performance monitoring device. Subsequently, the performance monitoring device measures and monitors the performance by transmitting a measurement packet to the first measurement virtual server of the chain and measuring a time (transfer time, transfer delay time, second transfer time) during which the measurement packet returns from the last measurement virtual server of the chain. In a case where there is a problem in performance, the first transfer time is measured for each of the plurality of measurement virtual servers, and a virtual server having a problem is specified.
When there is a virtual server (performance degraded virtual server) having a performance problem, the performance monitoring device moves the virtual server to another physical server or to use another resource. When a plurality of virtual servers is chained to provide a network service, a virtual server having a problem is specified and moved. At this time, a path of the chained virtual server is also changed.
By monitoring the performance of the network function (VNF, virtual server, network service) using such a performance monitoring device, it is possible to monitor the performance with higher accuracy as compared with the case of monitoring the performance by monitoring the use state of the CPU or the memory as in the related art. By combining with the technology of measuring a transfer delay time in a network and the technology of specifying a location and a direction of the delay and a delay amount as disclosed in Non Patent Literature 1, it is possible to monitor a transfer delay in a communication path/resource similar to a user traffic consistently with a server and a switch. In addition, it is possible to configure a data center network maintaining a constant transfer delay time. By using the present technology, it is possible to provide a service with the transfer delay time as one index (a numerical value indicating service quality).
<<Overall Configuration>>
The data center 510 further includes a virtual server management device 560 (described as a VNF management device in
<<Configuration of Performance Monitoring Device>>
The control unit 110 includes a CPU, and includes a request reception unit 111, a deployment unit 112, a path acquisition unit 113, a path setting unit 114, a measurement unit 115, a determination unit 116, and an association unit 117.
The request reception unit 111 receives a performance monitoring request including a network service whose performance is to be monitored. The request reception unit 111 receives a performance monitoring request from the virtual server management device 560, for example. The performance monitoring request may include information related to a virtual server that provides a network service and the server 200 on which the virtual server operates. The request reception unit 111 may acquire information related to the virtual server or the server 200 from the virtual server management device 560.
The deployment unit 112 deploys the measurement virtual server to the server 200. Specifically, the deployment unit 112 deploys the measurement virtual server such that the resource (physical resource, CPU, or memory) used by the virtual server to be monitored is also used by the measurement virtual server.
The virtual server 221 operating in the server 201 uses a resource 231 including a CPU and a memory. The measurement virtual server 211 for the virtual server 221 is deployed to use the same resource 231 as the resource of the virtual server 221. The measurement virtual server 212 for the virtual server 222 operating in the same server 201 is deployed to use the same resource 232 as the resource of the virtual server 222.
The deployment unit 112 may request the virtual server management device 560 to deploy the measurement virtual server, or may directly request the server 200 to deploy the measurement virtual server. In a case where a plurality of virtual servers is chained, the deployment unit 112 deploys a measurement virtual server using the same resource for each virtual server. A case where a plurality of virtual servers uses the same resource will be described later as a modification.
Returning to
The path setting unit 114 sets a path for transferring the measurement packet to the measurement virtual server. Specifically, when the number of virtual servers is one, the path setting unit 114 sets the measurement virtual server corresponding to the virtual server to transmit the received measurement packet to the performance monitoring device 100 as a response packet. When a plurality of virtual servers is chained, the path setting unit 114 sets the measurement virtual server corresponding to each virtual server (using the same resource) to transfer the measurement packet along the chained path (chain path).
In the description below, the path of the chain of the virtual servers 261 to 264 and the path in which the measurement packet of the measurement virtual servers 251 to 254 is transferred may be described as being the same.
For example, it may be described that the path of the measurement virtual servers 251 to 254 is set so as to be the same path as the virtual servers 261 to 264. For the path of the chain and the path in which the measurement packet is transferred, the virtualized servers in which the paths pass through are different, that is, the virtual server and the measurement virtual server, but the virtual server and the measurement virtual server use the same resource.
Returning to
When the number of virtual servers is plural, the measurement unit 115 measures the time (second transfer time) taken for the measurement packet to be transmitted from the performance monitoring device 100 to the first measurement virtual server on the path, sequentially transferred along the path, and returned from the last measurement virtual server to the performance monitoring device 100. In the example of
The determination unit 116 determines whether or not the transfer time is within a predetermined transfer time. The predetermined transfer time may be acquired from the virtual server management device 560. Alternatively, when included in the performance monitoring request, the time may be used for the predetermined transfer time. When the transfer time of the measurement packet exceeds a predetermined transfer time, it is described that performance degradation occurs in the network service or the virtual server. When the number of virtual servers is one and the transfer time (first transfer time) of the measurement packet exceeds a predetermined transfer time, the virtual server is also described as a performance degraded virtual server.
When the network service is provided in a chain of a plurality of virtual servers, when the transfer time (second transfer time) is not within the predetermined transfer time of the network service (the plurality of virtual servers), the determination unit 116 instructs the path setting unit 114 and the measurement unit 115 to measure the round transfer time (first transfer time) with each measurement virtual server. Next, the determination unit 116 compares each transfer time (first transfer time) with a predetermined transfer time related to each virtual server, and specifies a performance degraded virtual server in which the transfer time (first transfer time) exceeds the predetermined transfer time.
The association unit 117 moves (migrates) the performance degraded virtual server to the server 200 different from the server currently in operation or to use a resource different from the resource currently used. When the performance degraded virtual server is a chained virtual server, the chain path of the virtual server after the movement is maintained to be similar to that before the movement. This movement of the virtual server may be performed by instructing the virtual server management device 560.
<<Performance Measurement Processing>>
In step S11, the request reception unit 111 receives the performance measurement request. It is assumed that the performance measurement request includes information on the virtual servers 282 to 284 and the servers 272 to 274 for operation.
In step S12, the path acquisition unit 113 acquires the chain path of the virtual servers 282 to 284. Here, the path is the order of the virtual server 282, the virtual server 283, and the virtual server 284.
In step S13, the deployment unit 112 deploys measurement virtual servers 292 to 294 (described as mV in
In step S14, the path setting unit 114 sets the measurement virtual servers 292 to 294 such that the transfer path of the measurement packet is the measurement virtual server 292, the measurement virtual server 293, and the measurement virtual server 294.
In step S15, the measurement unit 115 transmits a measurement packet (described as measurement P in
In step S16, the measurement virtual server 292 transmits the received measurement packet to the measurement virtual server 293 on the server 273.
In step S17, the measurement virtual server 293 transmits the received measurement packet to the measurement virtual server 294 on the server 274.
In step S18, the measurement virtual server 294 transmits the received measurement packet as a response packet to the performance monitoring device 100.
In step S19, the determination unit 116 determines the presence or absence of a delay of a predetermined value or more. Specifically, the measurement unit 115 measures the transfer time (transfer delay time, second transfer time) by measuring the time from the transmission of the transmission packet in step S15 to the reception of the response packet in step S18. When the transfer time is within a predetermined transfer time defined for the network service provided by the virtual servers 282 to 284, the determination unit 116 determines that there is no delay. When the transfer time (second transfer time) exceeds the predetermined transfer time, the determination unit 116 determines that a delay has occurred (performance is degraded). The determination unit 116 may make a determination by using results of a plurality of measurements instead of making a determination by one measurement. In
<<Migration Processing>>
In step S31, the determination unit 116 instructs the path setting unit 114 to set each of the measurement virtual servers 292 to 294 to transmit the measurement packet to the performance monitoring device 100 instead of transferring the measurement packet along the chain path.
In step S32, the determination unit 116 instructs the measurement unit 115 to transmit the measurement packet to each of the measurement virtual servers 292 to 294.
In step S33, the measurement virtual servers 292 to 294 receive the measurement packet, and then transmit a response packet to the performance monitoring device 100. In step S31, the measurement unit 115 measures a transfer time (first transfer time) from transmission of the measurement packet to reception of the response packet. In
In step S34, the determination unit 116 determines the presence or absence of a delay. Specifically, the determination unit 116 compares the transfer time (first transfer time) of each of the measurement virtual servers 292 to 294 with the predetermined transfer time of each of the virtual servers 282 to 284, and determines the presence or absence of a delay exceeding the predetermined transfer time for each of the virtual servers 282 to 284. In the description below, it is assumed that the transfer time of the measurement virtual server 293 exceeds a predetermined transfer time (the virtual server 283 is a performance degraded virtual server). Hereinafter, the association unit 117 performs processing of migrating the virtual server 283 from the server 273 currently in operation to another server.
In step S35, the association unit 117 instructs the deployment unit 112 and the path setting unit 114 to perform deployment and path setting of the measurement virtual server 291 to the server 271 different from the server 273. At the time of deployment, deployment is performed so that a resource having the same capacity as that of the virtual server 283 to be subjected to the migration processing is used. Since the measurement virtual server 291 has not been provided until this time point, it is indicated by a dotted frame in
In step S36, the association unit 117 instructs the measurement unit 115 to transmit the measurement packet to the measurement virtual server 291.
In step S37, the measurement virtual server 291 receives the measurement packet, and then transmits a response packet to the performance monitoring device 100.
In step S36, the measurement unit 115 measures a transfer time (first transfer time) from transmission of the measurement packet to reception of the response packet.
In step S38, the association unit 117 instructs the determination unit 116 to determine the presence or absence of a delay exceeding a predetermined transfer time of the virtual server 283. Here, the description will be continued assuming that no delay exceeding the predetermined transfer time has occurred. When there is a delay, the measurement virtual server is deployed so as to use another server or another resource. Before step S35, for example, the determination unit 116 may inquire the virtual server management device 560, acquire a server in which no delay occurs, and then instruct the deployment unit 112 to deploy the measurement virtual server to the acquired server.
In step S39, the association unit 117 instructs the server 273 to move the virtual server 283 to the server 271. At the time of the instruction, it is instructed to use the same resource as that of the measurement virtual server 291 after the movement. For example, the association unit 117 may instruct the virtual server management device 560 to move the virtual server 283. Since the virtual server 283 on the server 271 has not operated in the server 271 up to this time point, and thus is indicated by a dotted frame in
Steps S41 to S46 are similar to steps S14 to S19 illustrated in
<<Features of Performance Monitoring Device>>
The performance monitoring device 100 deploys a measurement virtual server that uses the same resource as that of the virtual server to be monitored. Next, the performance monitoring device 100 measures and monitors the performance of the virtual server by transmitting the measurement packet to the measurement virtual server and measuring a time until a response packet is returned (transfer time, transfer delay time, first transfer time). When the measured transfer time exceeds a predetermined transfer time of the virtual server, the performance monitoring device 100 determines that the virtual server is a performance degraded virtual server.
In the case where the virtual server is a plurality of virtual servers that sequentially performs processing (chains), the performance monitoring device 100 deploys a measurement virtual server using the same resource for each virtual server and performs setting so as to transfer the measurement packet similarly to the path of the virtual server. Further, the performance monitoring device 100 performs monitoring by transmitting the measurement packet to the first measurement virtual server on the path, and measuring the transfer time (second transfer time) until the measurement packet returns from the last measurement virtual server.
When the second transfer time exceeds the predetermined transfer time, the performance monitoring device 100 measures the first transfer time for each virtual server (measurement virtual server) and specifies a virtual server having the transfer time exceeding the predetermined transfer time among the individual virtual servers as a performance degraded virtual server.
The performance monitoring device 100 moves (migrates) the performance degraded virtual server to use another resource in another server or a currently operating server.
By monitoring the performance as described above, it is possible to monitor the performance with higher accuracy as compared with the case of monitoring the performance by monitoring the use state of the CPU or the memory as in the related art. By combining with the technology of measuring a transfer delay time in a network and the technology of specifying a location and a direction of the delay and a delay amount as disclosed in Non Patent Literature 1, it is possible to monitor a transfer delay in a communication path/resource similar to a user traffic consistently with a server and a switch. In addition, it is possible to configure a data center network maintaining a constant transfer delay time. By using the present technology, it is possible to provide a service with the transfer delay time as one index (a numerical value indicating service quality).
<<Modification: Case where Plurality of Virtual Servers Uses Same Resource>>
When a plurality of virtual servers shares the same resource, one measurement virtual server may be deployed instead of deploying the corresponding same number of measurement virtual servers to use the resource.
<<Other Modifications>>
Although some embodiments of the present invention have been described above, these embodiments are merely examples and do not limit the technical scope of the present invention. The present invention can take various other embodiments, and various modifications such as omissions and substitutions can be made without departing from the gist of the present invention. These embodiments and modifications thereof are included in the scope and gist of the invention described in the present specification and the like, and are included in the invention described in the claims and the equivalent scope thereof.
<<Hardware Configuration>>
The performance monitoring device 100 according to the present embodiment is achieved by, for example, a computer 900 having a configuration as illustrated in
The CPU 901 operates on the basis of a program stored in the ROM 902 or the hard disk 904, and performs control by the control unit 110 illustrated in
The CPU 901 controls the input device 910 such as a mouse and a keyboard and the output device 911 such as a display and a printer via the input and output interface 905. The CPU 901 acquires data from the input device 910 and outputs the generated data to the output device 911 via the input and output interface 905.
The hard disk 904 stores a program executed by the CPU 901, data used by the program, and the like. The communication interface 906 receives data from another device (for example, the virtual server management device 560) not illustrated via a communication network and outputs the data to the CPU 901, and transmits data generated by the CPU 901 to another device via a communication network.
The media interface 907 reads a program or data stored in the recording medium 912 and outputs the program or data to the CPU 901 via the RAM 903. The CPU 901 loads the program from the recording medium 912 onto the RAM 903 via the media interface 907, and executes the loaded program (see the program 131 described in
For example, when the computer 900 functions as the performance monitoring device 100 according to the present embodiment, the CPU 901 of the computer 900 achieves the function of the performance monitoring device 100 by executing the program 131 (see
<<Effects>>
Effects of the device will be described below.
A performance monitoring device 100 according to the present embodiment is the performance monitoring device 100 for a virtual server that operates on a physical server (server 200) including a physical resource and provides a network function, the performance monitoring device including: a deployment unit 112 that causes, in a case where the number of the virtual server is one, a measurement virtual server using the same physical resource as the physical resource of the virtual server to operate on the physical server; a path setting unit 114 that sets the measurement virtual server to transmit a response packet to the performance monitoring device 100 for a measurement packet; and a measurement unit 115 that measures a first transfer time from when the measurement packet is transmitted to the measurement virtual server until the response packet is received.
According to such a performance monitoring device 100, it is possible to monitor (measure) the performance of the virtual server with higher accuracy as compared with the case of monitoring the performance by monitoring the use state of the resource (physical resource) such as the CPU or the memory as in the related art. By combining with the technology as disclosed in Non Patent Literature 1, it is possible to monitor a transfer delay in a communication path/resource similar to a user traffic consistently with a server and a switch. In addition, it is possible to configure a data center network maintaining a constant transfer delay time. By using the present technology, it is possible to provide a service with the transfer delay time as one index.
The performance monitoring device 100 according to the present embodiment further includes a path acquisition unit 113, in which, when the virtual server is a plurality of virtual servers that sequentially processes data, the deployment unit 112 causes measurement virtual servers that use the same physical resource as a physical resource of each of the virtual servers to operate on the physical server, the path acquisition unit 113 acquires a path for sequentially processing data of the plurality of virtual servers, the path setting unit 114 sets a measurement virtual server corresponding to a virtual server different from a last virtual server among the measurement virtual servers so that the measurement virtual server sequentially transfers a measurement packet in the same order as an order of the virtual servers of the path, and sets a measurement virtual server corresponding to the last virtual server of the path so that a response packet is transmitted to the performance monitoring device 100 in response to the measurement packet, and the measurement unit 115 measures a second transfer time until the measurement packet is transmitted to the measurement virtual server corresponding to the first virtual server of the path and the response packet is received.
According to such a performance monitoring device 100, it is possible to perform performance monitoring with high accuracy even when a network service is achieved by sequentially processing a plurality of virtual servers.
The performance monitoring device 100 according to the present embodiment further includes a determination unit 116, in which, when the first transfer time is longer than a predetermined time, the determination unit 116 specifies a virtual server using the same physical resource as a physical resource of the measurement virtual server as a performance degraded virtual server, and, when the second transfer time is longer than a second predetermined time, the determination unit 116 measures the first transfer time for each of the plurality of virtual servers to specify the performance degraded virtual server.
According to such a performance monitoring device 100, not only in a case where a network service is achieved by one virtual server, but also in a case where a network service is achieved by a plurality of virtual servers sequentially performing processing, when a delay (performance degradation) exceeding a predetermined time occurs, it is possible to specify which virtual server has a problem (performance degraded virtual server).
The performance monitoring device 100 according to the present embodiment further includes an association unit 117 that moves the performance degraded virtual server to a physical server different from the physical server on which the performance degraded virtual server is operating or to use a physical resource different from the physical resource being used by the performance degraded virtual server.
According to such a performance monitoring device 100, the performance of the performance degraded virtual server can be improved by moving the performance degraded virtual server so as to change the server on which the performance degraded virtual server operates or change the physical resource to be used. In addition, performance of the network service provided by the virtual server is improved.
In the performance monitoring device 100 according to the present embodiment, when the association unit 117 moves the performance degraded virtual server to the physical server as a movement destination, the association unit 117 operates the measurement virtual server using the physical resource having the same capacity as a capacity of the performance degraded virtual server on the physical server, confirms that the first transfer time is shorter than the predetermined time, and then moves the performance degraded virtual server to use the physical source having the same capacity.
According to such a performance monitoring device 100, it is possible to move after confirming the usage status of the physical server/physical resource before moving the performance degraded virtual server, and it is possible to reliably improve the performance of the performance degraded virtual server.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2020/025656 | 6/30/2020 | WO |