Service chain designing device, service chain designing method, and service chain designing program
11258551 · 2022-02-22
Assignee
Inventors
Cpc classification
H04L41/0895
ELECTRICITY
G06F2009/4557
PHYSICS
G06F2009/45595
PHYSICS
H04L41/40
ELECTRICITY
H04L41/0663
ELECTRICITY
International classification
G06F15/16
PHYSICS
G06F9/455
PHYSICS
Abstract
Implementations are directed to designing a redundant configuration for a virtualized network function with cost efficiency while improving reliability of entire service chain. A service chain design apparatus includes a redundancy target VNF determining unit that defines, as importance of each VNF, at least one of the number of service chains using the VNF or the number of accommodated users in the service chains using the VNF, and determines a VNF having high importance as a redundancy target VNF, and a redundancy determining unit that determines, when importance of the redundancy target VNF determined by the redundancy target VNF determining unit exceeds a predetermined threshold, the redundancy target VNF having the importance exceeding the predetermined threshold as a redundancy execution VNF.
Claims
1. A service chain design apparatus comprising: a first determining unit, including one or more processors, configured to define, as importance of each of Virtualized Network Functions (VNFs), based on at least one of a number of service chains using the VNF or a number of accommodated users in the service chains using the VNF, and a position of the VNF in a service chain, and determine a VNF having high importance as a redundancy target VNF, wherein a position located more rearward in a route of the service chain indicates higher importance; a second determining unit, including one or more processors, configured to determine, when importance of the redundancy target VNF determined by the first determining unit exceeds a predetermined threshold, the redundancy target VNF having the importance exceeding the predetermined threshold as a redundancy execution VNF; and a redundancy level calculation unit, including one or more processors, configured to calculate, for the redundancy execution VNF determined by the second determining unit, a number of new redundancy execution VNFs to be generated serving as load distribution destinations for a service chain using the redundancy execution VNF, so that the importance of the redundancy execution VNF determined by the second determining unit becomes lower than the predetermined threshold.
2. The service chain design apparatus according to claim 1, wherein the first determining unit is configured to define, as the importance of each VNF, in addition to the number of service chains and the number of accommodated users, based on at least one of: a first weight that is set based on the position of the VNF is the service chain, so that the first weight indicates higher importance as the position of the VNF in a service chain is located more rearward in a route, or a second weight that is set based on resources consumed by the VNF, so that the second weight indicates higher importance as the VNF consumes more resources in a preceding stage in a service chain.
3. The service chain design apparatus according to claim 2, wherein the first determining unit is configured to calculate the importance of each VNF based on, in addition to the number of service chains and the number of accommodated users, at least one of weight of service contents provided by the VNF or weight of users accommodated in a service chain.
4. The service chain design apparatus according to claim 1, wherein the second determining unit is configured to determine whether the importance of the redundancy target VNF exceeds the predetermined threshold, based on measurement data of a performance value of the VNF.
5. The service chain design apparatus according to claim 1, further comprising: a placement deciding unit including one or more processors; and a redundant route deciding unit including one or more processors, wherein the placement deciding unit is configured to decide placement destinations for the new redundancy execution VNFs, a number of the placement destinations corresponding to a number of the new redundancy execution VNFs to be generated calculated by the redundancy level calculation unit, the placement destinations for a plurality of the redundancy execution VNFs being set to be on different physical servers, and the redundant route deciding unit is configured to decide redundant routes each passing through each of the placement destinations decided by the placement deciding unit so that an overlapping path between the redundant routes in each of the service chains is minimized.
6. The service chain design apparatus according to claim 1 further comprising: a placement deciding unit including one or more processors; and a redundant route deciding unit including one or more processors, wherein the placement deciding unit is configured to decide placement destinations for the new redundancy execution VNFs, a number of the placement destinations corresponding to a number of the new redundancy execution VNFs to be generated calculated by the redundancy level calculation unit, the placement destinations for a plurality of the redundancy execution VNFs being set to be on different physical servers, and the redundant route deciding unit configured to place a load balancer in a redundant route immediately before the placement destination of the redundancy execution VNF decided by the placement deciding unit, and decide a redundant route that passes through each of the plurality of redundancy execution VNFs via the load balancer.
7. A service chain design method for a service chain design apparatus including a first determining unit, a second determining unit, and a redundancy level calculation unit, the method comprising: defining, by the first determining unit including one or more processors, as importance of each of Virtualized Network Functions (VNFs), based on at least one of a number of service chains using the VNF or a number of accommodated users in the service chains using the VNF, and a position of the VNF in a service chain, and determining a VNF having high importance as a redundancy target VNF, wherein a position located more rearward in a route of the service chain indicates higher importance; determining, by the second determining unit including one or more processors, when importance of the redundancy target VNF determined by the first determining unit exceeds a predetermined threshold, the redundancy target VNF having the importance exceeding the predetermined threshold as a redundancy execution VNF; and calculating, by the redundancy level calculation unit including one or more processors, for the redundancy execution VNF determined by the second determining unit, a number of new redundancy execution VNFs to be generated serving as load distribution destinations for a service chain using the redundancy execution VNF, so that the importance of the redundancy execution VNF determined by the second determining unit becomes lower than the predetermined threshold.
8. The service chain design method according to claim 7, wherein the first determining unit defines, as the importance of each VNF, in addition to the number of service chains and the number of accommodated users, at least one of: a first weight that is set based on the position of the VNF is the service chain, so that the first weight indicates higher importance as the position of the VNF in a service chain is located more rearward in a route, or a second weight that is set based on resources consumed by the VNF, so that the second weight indicates higher importance as the VNF consumes more resources in a preceding stage in a service chain.
9. The service chain design method according to claim 7, wherein the first determining unit calculates the importance of each VNF based on, in addition to the number of service chains and the number of accommodated users, at least one of weight of service contents provided by the VNF or weight of users accommodated in a service chain.
10. The service chain design method according to claim 7, wherein the second determining unit determines whether the importance of the redundancy target VNF exceeds the predetermined threshold, based on measurement data of a performance value of the VNF.
11. The service chain design method according to claim 7, further comprising: deciding, by a placement deciding unit including one or more processors, placement destinations for the new redundancy execution VNFs, a number of the placement destinations corresponding to a number of the new redundancy execution VNFs to be generated calculated by the redundancy level calculation unit, the placement destinations for a plurality of the redundancy execution VNFs being set to be on different physical servers, and deciding, by a redundant route deciding unit including one or more processors, redundant routes each passing through each of the placement destinations decided by the placement deciding unit so that an overlapping path between the redundant routes in each of the service chains is minimized.
12. The service chain design method according to claim 7, further comprising: deciding, by a placement deciding unit including one or more processors, placement destinations for the new redundancy execution VNFs, a number of the placement destinations corresponding to a number of the new redundancy execution VNFs to be generated calculated by the redundancy level calculation unit, the placement destinations for a plurality of the redundancy execution VNFs being set to be on different physical servers, and placing, by a redundant route deciding unit including one or more processors, a load balancer in a redundant route immediately before the placement destination of the redundancy execution VNF decided by the placement deciding unit, and decide a redundant route that passes through each of the plurality of redundancy execution VNFs via the load balancer.
13. A non-transitory computer readable medium storing one or more instructions causing a computer to execute: defining, by a first determining unit including one or more processors, as importance of each of Virtualized Network Functions (VNFs), based on at least one of a number of service chains using the VNF or a number of accommodated users in the service chains using the VNF, and a position of the VNF in a service chain, and determining a VNF having high importance as a redundancy target VNF, wherein a position located more rearward in a route of the service chain indicates higher importance; determining, by a second determining unit including one or more processors, when importance of the redundancy target VNF determined by the first determining unit exceeds a predetermined threshold, the redundancy target VNF having the importance exceeding the predetermined threshold as a redundancy execution VNF; and calculating, by a redundancy level calculation unit including one or more processors, for the redundancy execution VNF determined by the second determining unit, a number of new redundancy execution VNFs to be generated serving as load distribution destinations for a service chain using the redundancy execution VNF, so that the importance of the redundancy execution VNF determined by the second determining unit becomes lower than the predetermined threshold.
14. The non-transitory computer readable medium according to claim 13, wherein the first determining unit defines, as the importance of each VNF, in addition to the number of service chains and the number of accommodated users, at least one of: a first weight that is set based on the position of the VNF is the service chain, so that the first weight indicates higher importance as the position of the VNF in a service chain is located more rearward in a route, or a second weight that is set based on resources consumed by the VNF, so that the second weight indicates higher importance as the VNF consumes more resources in a preceding stage in a service chain.
15. The non-transitory computer readable medium according to claim 13, wherein the first determining unit calculates the importance of each VNF based on, in addition to the number of service chains and the number of accommodated users, at least one of weight of service contents provided by the VNF or weight of users accommodated in a service chain.
16. The non-transitory computer readable medium according to claim 8, wherein the second determining unit determines whether the importance of the redundancy target VNF exceeds the predetermined threshold, based on measurement data of a performance value of the VNF.
17. The non-transitory computer readable medium according to claim 13, wherein the one or more instructions further cause the computer to execute: deciding, by a placement deciding unit including one or more processors, placement destinations for the new redundancy execution VNFs, a number of the placement destinations corresponding to a number of the new redundancy execution VNFs to be generated calculated by the redundancy level calculation unit, the placement destinations for a plurality of the redundancy execution VNFs being set to be on different physical servers, and deciding, by a redundant route deciding unit including one or more processors, redundant routes each passing through each of the placement destinations decided by the placement deciding unit so that an overlapping path between the redundant routes in each of the service chains is minimized.
18. The non-transitory computer readable medium according to claim 13 wherein the one or more instructions further cause the computer to execute: deciding, by a placement deciding unit including one or more processors, placement destinations for the new redundancy execution VNFs, a number of the placement destinations corresponding to a number of the new redundancy execution VNFs to be generated calculated by the redundancy level calculation unit, the placement destinations for a plurality of the redundancy execution VNFs being set to be on different physical servers, and placing, by a redundant route deciding unit including one or more processors, a load balancer in a redundant route immediately before the placement destination of the redundancy execution VNF decided by the placement deciding unit, and decide a redundant route that passes through each of the plurality of redundancy execution VNFs via the load balancer.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
DESCRIPTION OF EMBODIMENTS
(9) An embodiment of the present invention will be described in detail below with reference to the drawings.
(10)
(11) The service chain design apparatus 1 is a computer that includes a Central Processing Unit (CPU), a memory, storage means (storage unit) such as a hard disk, and a network interface.
(12) The CPU executes a program (also referred to as an application or an app, which is an abbreviation therefor) read into the memory, and thus, the computer operates a control unit (control means) including various processing units.
(13) A VNF included in a service chain handled by the service chain design apparatus 1 is defined as follows:
(14) First, the service chain design apparatus 1 specifies, of all VNFs operating on a physical network system, an important VNF that affects many users at the time of failure as a “redundancy target VNF.” For example, a VNF “F3” in
(15) Next, the service chain design apparatus 1 decides, when the “redundancy target VNF” satisfies a predetermined criterion, the redundancy target VNF as a VNF to be actually redundantly generated (hereinafter referred to as “redundancy execution VNF”). That is, the VNF to be actually redundantly generated is decided through steps of “all VNFs->redundancy target VNF->redundancy execution VNF.” In other words, it has not been decided whether the VNF is to be actually redundantly generated when just being elected as the redundancy target VNF.
(16) The service chain design apparatus 1 includes, as a database storing various data, a policy/threshold management DB 21, a service chain configuration information DB 22, an accommodation information management DB 23, a performance value collection DB 24, and a redundancy target VNF management DB 25.
(17) The service chain design apparatus 1 includes, as a processing unit that elects a “redundancy target VNF,” a service chain generation request accepting unit 11, a service chain generation request decomposing unit 12, a redundancy target VNF determining unit (first determining unit) 13, and a redundancy target VNF deciding unit 14.
(18) The service chain design apparatus 1 includes, as a processing unit that decides an elected “redundancy target VNF” as a “redundancy execution VNF,” a redundancy determining unit (second determining unit) 31, a redundancy deciding unit 32, a redundancy level calculation unit 33, a redundancy level deciding unit 34, a VNF placement deciding unit 35, a redundant route calculation unit 36, and a redundant route deciding unit 37.
(19) Furthermore, the redundant route deciding unit 37 is connected to a service chain controller request accepting unit 38 external to the service chain design apparatus 1, to actually redundantly generate a decided “redundancy execution VNF”.
(20) These components of the service chain design apparatus 1 will be described below based on specific examples of
(21)
(22) In a reference sign 101, a service chain D is newly added to the service chains A to C of the reference sign 109 in
(23) A table T00 shows, as with a table 209a in
(24) As with a table 209b in
(25) Such tables T00, T10, T20, and T30 show a result obtained by decomposing, by the service chain generation request decomposing unit 12, each of service chain generation orders accepted by the service chain generation request accepting unit 11.
(26) As a result of determining, by the redundancy target VNF determining unit 13, a VNF having the largest number of services T21 based on the contents in the tables T00, T10, T20, and T30, the highlighted VNF “F3” is decided as the “redundancy target VNF” by the redundancy target VNF deciding unit 14.
(27)
(28) A reference sign 102 indicates, as with the reference sign 101 in
(29) When the reference sign 101 and the reference sign 102 are compared, in the service chain B indicated by the reference sign 102, the second VNF “F3” on a bypass from a starting point node N1, “N3->N7->N11->VM6->N11->N7->N3->N->N2->N4->N8”, is redundantly generated.
(30) In tables T11 and T40 (the number of services T41, the number of users T42, performance value T43), a threshold, which is used by the redundancy determining unit 31 to determine whether to define a “redundancy target VNF” as a “redundancy execution VNF,” is associated for each VNF ID T11. For example, the number of services T41 of “≥5 (5 or more)” indicates that a “redundancy target VNF” is to be defined as a “redundancy execution VNF” when the number of services T21 in
(31) That is, the number of services T21 is 3 in
(32) Tables T11 and T50 (the number of services T51, the number of users T52, performance value T53) are referenced for specific calculation by the redundancy level calculation unit 33 for redundantly generating the redundancy execution VNFs “F3”. For example, the highlighted number of services T51 of “2≤(2 or less)” indicates that, as a result of redundantly generating the redundancy execution VNFs “F3”, at each point of the VNF “F3”, the number of service chains using F3 at that point becomes 2 or less.
(33) Thus, although the single VNF “F3” has accommodated “5” service chains before applying design with redundancy, the redundancy level deciding unit 34 decides that the redundancy level is 3 so that two VNFs “F3” are newly generated to make the VNF “F3” be present at three points in total. In other words, to satisfy the condition of the number of services T51 of “2≤(2 or less),” the five service chains may be distributed to make the numbers of accommodated services of VNFs “F3” be “1, 2, and 2”.
(34) That is, a threshold T50 immediately after applying design with redundancy is set to be lower than a redundancy deciding threshold T40, which allows a margin so that a determination of redundancy decision is not made for the second time immediately after applying design with redundancy for the first time.
(35) The VNF placement deciding unit 35 decides the placement of the two newly generated VNFs “F3.” Here, it is desirable that the total of three VNFs “F3,” including new and old ones, be placed on different physical servers.
(36) The redundant route calculation unit 36 and a route (path) of a service chain passing through the two newly generated VNFs “F3” are also newly generated. For example, as indicated by the reference sign 102, in the service chain B, the redundant route calculation unit 36 newly calculates a route that branches from a starting point node N3 that is present before the VNF “F3,” passes through the VM6 on a node N11 where the VNF “F3” is present, and merges with a node N8 on an ending point side of the service chain B.
(37) Here, in the example of the reference sign 102, it is desirable that the redundant route calculation unit 36 design each of the new paths not to overlap as much as possible, except that only the starting point side (N1) and the ending point side (N8) overlap before and after the branch.
(38) The redundant route deciding unit 37 receives a calculation result of the redundant route calculation unit 36 and instructs the service chain controller request accepting unit 38 to set a new path.
(39) Each of the processing units of the service chain design apparatus 1 has been described above by using specific examples with reference to
(40) In the following, a general description will be given for each of the processing units and contents of each database of the service chain design apparatus 1. First, data contents stored in each of the databases indicated by the reference signs 21 to 25 will be described with reference to the tables T00 to T50 described in
(41) The policy/threshold management DB 21 stores the redundancy deciding threshold T40 for each VNF ID T11 and the threshold T50 immediately after applying design with redundancy for each VNF ID T11. Here, a “policy” is preset information, which is not directly stored in the DB, such as “use the number of services T41 for the determination by the redundancy determining unit 31” or “use a combination of the number of users T42 and the performance value T43 for the determination by the redundancy determining unit 31.”
(42) The service chain configuration information DB 22 stores components of each of the service chains for each service chain ID T01, as indicated by the reference sign 101 in
(43) The accommodation information management DB 23 stores, as accommodation information for each service chain ID T01, the number of accommodated users T02, the VNF ID T11 accommodated in the service chain, and the accommodation number T20.
(44) The performance value collection DB 24 stores, as the performance value T30 measured and collected for each VNF ID T11, the CPU usage illustrated in
(45) The redundancy target VNF management DB 25 stores the VNF ID T11 to be a redundancy target (F3 in
(46) Next, operations of each of the processing units will be described by using the databases indicated by the reference signs 21 to 25.
(47) The service chain generation request accepting unit 11 accepts an order of generation of a new service chain.
(48) The service chain generation request decomposing unit 12 performs decomposition processing on order contents accepted by the service chain generation request accepting unit 11, and writes the result of the decomposition processing to the service chain configuration information DB 22 and the accommodation information management DB 23.
(49) As described below, the redundancy target VNF determining unit 13 refers to each of the databases to acquire data necessary for selecting a redundancy target VNF from among all VNFs.
(50) Acquire VNF information for configuring a service chain, from the service chain configuration information DB 22.
(51) Acquire policy information for deciding a redundancy target VNF, from the policy/threshold management DB 21.
(52) Acquire the number of users, the number of services, and the like accommodated in each of the service chains, from the accommodation information management DB 23.
(53) Acquire performance value information of a VNF included in each of the service chains, from the performance value collection DB 24.
(54) Then, the redundancy target VNF determining unit 13 selects a candidate for the redundancy target VNF by using any of the techniques listed below. Which technique is to be used is specified by the acquired policy information.
(55) (Technique 11) Allow a VNF, of which the number of accommodated service chains (=importance) is largest, to be defined as the redundancy target VNF.
(56) (Technique 12) Allow a VNF, of which the number of accommodated users (=importance) is largest, to be defined as the redundancy target VNF.
(57) (Technique 13) Allow a VNF, which provides a particularly important function as a service (for example, a VNF providing emergency handling service), to be defined as the redundancy target VNF.
(58) (Technique 14) Allow a VNF, which accommodates an important user, to be defined as the redundancy target VNF.
(59) (Technique 15) Allow a VNF, which is present at an important position in a service chain, to be defined as the redundancy target VNF (details will be described later in
(60) (Technique 16) Allow a VNF, which consumes more resources in a preceding stage, to be defined as the redundancy target VNF (details will be described later in
(61) The redundancy target VNF deciding unit 14 decides a redundancy target VNF by using one or more of results calculated by using (Technique 11) to (Technique 16) in the redundancy target VNF determining unit 13 (details will be described later in
(62) It is noted that parameters, such as the number of accommodated service chains and the number of accommodated users, are parameters of the importance for deciding a redundancy target VNF.
(63) The redundancy determining unit 31 determines whether to define the redundancy target VNF decided by the redundancy target VNF deciding unit 14 as a redundancy execution VNF. This determination processing is processing of comparing each of thresholds of determination criteria to determine whether a current value (actual measurement value) exceeds the threshold, by referring to the policy/threshold management DB 21, the accommodation information management DB 23, and the performance value collection DB 24. The determination criteria are listed below.
(64) (Criterion 21) If the number of accommodated service chains (=importance) exceeds any threshold, it is allowed to be defined as the redundancy execution VNF.
(65) (Criterion 22) If the number of accommodated users (=importance) exceeds any threshold, it is allowed to be defined as the redundancy execution VNF.
(66) (Criterion 23) If the performance value (=importance) exceeds any threshold, it is allowed to be defined as the redundancy execution VNF.
(67) The redundancy deciding unit 32 uses the result of the redundancy determining unit 31 (whether one or more thresholds have been exceeded) to decide whether to finally define the redundancy target VNF as the redundancy execution VNF. The redundancy deciding unit 32 decides to perform design with redundancy if, for example, both of the thresholds of (Criterion 21) and (Criterion 22) have been exceeded.
(68) The redundancy level calculation unit 33 divides the parameters for redundancy determination (the number of accommodated service chains, the number of accommodated users, the performance value) so that each parameter becomes less than or equal to any threshold, and newly generates a VNF corresponding to the number of divisions. For this reason, the redundancy level calculation unit 33 refers to the policy/threshold management DB 21, the accommodation information management DB 23, and the performance value collection DB 24. The redundancy level deciding unit 34 uses the result of the redundancy level calculation unit 33 (one or more redundancy levels) to decide the number of new generations of the target VNF. For example, a case is assumed that in focusing on the number of accommodated service chains, the number of new generations of the target VNF becomes 2, and in focusing on the performance value, the number of new generations becomes 3. The redundancy level deciding unit 34 employs the largest number out of the number of new generations of 2 and 3, and finally decides the number of new generations of the VNF as 3.
(69) The VNF placement deciding unit 35 decides the placement of the newly generated VNFs to make each of the redundancy execution VNFs be placed on different physical servers as much as possible, by referring to the service chain configuration information DB 22 and the performance value collection DB 24. As a result, even when one physical server fails, if other physical servers are survived, the redundancy execution VNF in any one of the survived servers continues functioning, and thus, the reliability can be improved.
(70) The redundant route calculation unit 36 refers to the service chain configuration information DB 22 and the performance value collection DB 24 to calculate a redundant route based on the placement of each of the newly generated VNFs decided by the VNF placement deciding unit 35. A method of calculating a redundant route is listed below. The redundant route calculation unit 36 uses at least one of (Technique 31) to (Technique 33) to calculate a redundant route.
(71) (Technique 31) Calculate, for each service chain, a new path between a server (or a starting point/ending point node) where a VNF placed immediately before/after the VNF to be a redundancy target is present and a server where a new VNF is present, by using the Dijkstra's algorithm or the like.
(72) (Technique 32) In a plurality of the same type of VNFs that have been redundantly generated, exclude a path that has already been allocated from the target of the calculation. Alternatively, select a path that has been less shared. In this way, not generating path overlapping can prevent the occurrence of service interruption due to failure of both the active system and the standby system.
(73) (Technique 33) Place a load balancer, such as a virtual Load Balancer (vLB), immediately before the VNF to be a redundancy target. A redundant route may be generated that passes through each of a plurality of redundancy execution VNFs (existing VNF and new VNF) via the load balancer. However, in this case, even though virtual paths are separated from each other, physical paths are not necessarily separated.
(74) The redundant route deciding unit 37 uses the result of the redundant route calculation unit 36 (one or more redundant routes) to decide a redundant route for the newly generated VNF. The decided redundant route is added to the service chain configuration information DB 22. The service chain controller request accepting unit 38 accepts the following configuration information from the redundant route deciding unit 37, and reflects the configuration information in the physical network.
(75) VNF ID of redundancy execution VNF
(76) Number of generations of redundancy execution VNF
(77) Physical server ID to which redundancy execution VNF is placed
(78) Information of new redundant route passing through redundancy execution VNF
(79) The details of the components of the service chain design apparatus 1 have been described above with reference to
(80)
(81) In (Technique 15), the redundancy target VNF determining unit 13 determines to define a VNF that is present at an important position in a service chain as the redundancy target VNF. Here, the “VNF that is present at an important position” refers to the following two VNFs:
(82) (A) VNF located at the end of the service chain is the VNF that is present at an important position. In the example of the reference sign 103, “F3” on the service chain A and “F2” on the service chain C are each located at the end.
(83) (B) When weighting is performed depending on the position of VNF in the service chain (the weight as the importance is set higher as located more rearward in the chain), the VNF with the highest weight is the VNF that is present at an important position. In the example of the reference sign 103, “F3” on the service chain A is located more rearward than “F2” on the same service chain A, and thus, the weight is set to 1.0 that is higher than 0.5 of “F2” located forward. Then, as shown in a table 203, a total value of weights with respect to all the service chains is calculated for each VNF, and “F3” having the largest value of 1.66 is defined as the VNF that is present at an important position.
(84) It is noted that the reason for setting the weights as in (A) and (B) is as follows: The service chain is processed by the VNFs in an order (sequentially) from the starting point of the route. For example, if the last VNF on the chain fails, the processing must be restarted from the beginning. In other words, processing performed in a preceding stage of the route is wasted, resulting in redoing all the processing. Thus, the VNF is set as important (redundancy target) as the VNF is located more rearward in the chain.
(85)
(86) In (Technique 16), the redundancy target VNF determining unit 13 determines to define a VNF consuming more resources in a preceding stage as the redundancy target VNF. The VNF consuming more resources in a preceding stage, which is the VNF with the highest weight, can be obtained as a result of performing weighting, for each VNF, based on the ratio of resource used in a preceding stage, for example.
(87) In the example of
(88) In the example of a reference sign 104, referring to the table 204, “F2” on the service chain A has the resource usage rate of 0.7. Then, the redundancy target VNF determining unit 13 obtains the weight of each VNF according to the calculation of the cumulative sum of (weight of own VNF)=(resource usage rate in preceding stage in service chain)+(own resource usage rate). That is, as with (Technique 15) in
(89) The weight of “F2” on the service chain A is: (own resource usage rate=0.7), and
(90) the weight of “F3” on the service chain A is: (resource usage rate of preceding stage=0.7)+(own resource usage rate=0.8)=1.5.
(91) Similarly, the redundancy target VNF determining unit 13 also obtains the weights of F3 and F1 on the service chain B.
(92) Then, the redundancy target VNF determining unit 13 defines F1 having the highest weight value of 1.6 as the redundancy target VNF.
(93) Furthermore, as described in (Technique 15) in
(94) Total value of weight of “F1” is 1.6
(95) Total value of weight of “F2” is 0.7
(96) Total value of weight of “F3” is 2.3 (=1.5+0.8)
(97) Thus, “F3” having the largest total value of weight is defined as the redundancy target VNF.
(98)
(99) The redundancy target VNF deciding unit 14 may decide a redundancy target VNF by using a combination of two or more of the results calculated by (Technique 11) to (Technique 16) of the redundancy target VNF determining unit 13. A specific example of the decision will be described below.
(100) A table 205 shows, for each VNF, the number of users (that is, the number of users T22 in the accommodation number T20 shown in
(101) First, as described in
(102) Next, the product of the weight in (Technique 16) and the number of users in (Technique 12) is calculated for each VNF. For example, the product of F3 on the service chain A is: (weight 1.5)×(number of users 180)=270. This product is the largest among the products of any other VNFs (i.e., the importance is the highest), and thus, the redundancy target VNF deciding unit 14 decides F3 as the redundancy target VNF.
(103) The present embodiment described above describes a method of dynamically designing, by using the service chain design apparatus 1, a service chain with high reliability by redundantly generating VNFs used in the service chain.
(104) It is noted that, as a comparative example, an operation method is assumed in which a plurality of service chains that provide a set of the same VNFs are prepared, and if a problem occurs in any one of the service chains, switching to another service chain is performed. However, in this comparative example, if a VNF shared by a plurality of service chains fails, many services or users will be affected in a process of switching from the failed VNF to another VNF.
(105) For example, in a case where a certain VNF is shared by 100 service chains, if the certain VNF fails, 100 chains are switched to a backup system at the same time. As a result, 100 types of service impact and many users accommodated in the service chains will be affected.
(106) On the other hand, in the present embodiment, the service chain design apparatus 1 individually performs redundant generation of the redundancy target VNF being a particularly important VNF which may have impact on many users, and thus the reliability of the entire service chain can be improved. Furthermore, higher reliability can be ensured by using a combination of designing with redundancy in a service chain unit as in the comparative example and designing with redundancy in an important VNF unit as in the present embodiment.
(107) Furthermore, in the present embodiment, a configuration is described in which the redundancy target VNF determining unit 13, the redundancy target VNF deciding unit 14, the redundancy determining unit 31, and the redundancy deciding unit 32 are each provided as an individual function unit, allowing the design with redundancy to be performed by first deciding a VNF to be a redundancy target, then observing various thresholds for the target VNF. Alternatively, the redundancy target VNF determining unit 13, the redundancy target VNF deciding unit 14, the redundancy determining unit 31, and the redundancy deciding unit 32 may be implemented in the service chain design apparatus 1 as one function unit. In this case, the service chain design apparatus 1 operates to decide a redundancy target VNF while observing various thresholds for all VNFs during operation, and perform designing with redundancy at the same time.
(108) Although it has been described in the present embodiment that the service chain design apparatus 1 according to the present invention handles four types of service chains A to D as illustrated in
REFERENCE SIGNS LIST
(109) 1 Service chain design apparatus 11 Service chain generation request accepting unit 12 Service chain generation request decomposing unit 13 Redundancy target VNF determining unit (first determining unit) 14 Redundancy target VNF deciding unit 21 Policy/threshold management DB 22 Service chain configuration information DB 23 Accommodation information management DB 24 Performance value collection DB 25 Redundancy target VNF management DB 31 Redundancy determining unit (second determining unit) 32 Redundancy deciding unit 33 Redundancy level calculation unit 34 Redundancy level deciding unit 35 VNF placement deciding unit (placement deciding unit) 36 Redundant route calculation unit 37 Redundant route deciding unit 38 Service chain controller request accepting unit