Resource allocation calculation apparatus and resource allocation calculation method to enhance fairness and efficiency in allocation of resources among multiple virtual networks within a physical network
11665109 · 2023-05-30
Assignee
Inventors
Cpc classification
H04L47/828
ELECTRICITY
International classification
Abstract
A resource allocation calculation device includes: a demand prediction unit that for each of a plurality of virtual networks sharing a physical network, predicts demands in units of communications sharing common origin and destination nodes; and an allocation calculation unit that based on the demands predicted by the demand prediction unit, observed past demands in the units of communications and past allocated bandwidths in the units of communications, calculates allocated bandwidths and allocated routes at a current time for the respective units of communications in such a manner that fairness between utilities of the respective virtual networks is maximized, which enhances fairness and efficiency of allocation of resources to a plurality of virtual networks sharing resources of a physical network.
Claims
1. A resource allocation calculation device comprising: a processor; and a memory storing program instructions that cause the processor to predict demands in units of communications sharing common origin and destination nodes for each of a plurality of virtual networks sharing a physical network; calculate currently allocated bandwidths and allocated routes to maximize fairness between utilities of the respective virtual networks for the respective units of communications based on the predicted demands, observed past demands, and past allocated bandwidths in the units of communications of the communications sharing common origin and destination nodes; and cause exponential decay of the utilities of the virtual networks at respective times according to differences of the respective times from a current time, wherein the demands in the units of communications sharing common origin and destination nodes are categorized according to each virtual network of the plurality of virtual networks to which the units of communications belong, such that the units of communications sharing common origin and destination nodes, but belonging to different virtual networks, are categorized as different units of communications.
2. The resource allocation calculation device according to claim 1, wherein the program instructions further cause the processor to: calculate the allocated bandwidths and the allocated route at the current time, with weights provided to the utilities of the respective virtual networks.
3. A resource allocation calculation method comprising: predicting demands in units of communications sharing common origin and destination nodes for each of a plurality of virtual networks sharing a physical network; calculating currently allocated bandwidths and allocated routes to maximize fairness between utilities of the respective virtual networks for the respective units of communications based on the demands predicted by the demand prediction unit, observed past demands, and past allocated bandwidths in the units of communications of the communications sharing common origin and destination nodes; and causing exponential decay of the utilities of the virtual networks at respective times according to differences of the respective times from a current time, wherein the demands in the units of communications sharing common origin and destination nodes are categorized according to each virtual network of the plurality of virtual networks to which the units of communications belong, such that the units of communications sharing common origin and destination nodes, but belonging to different virtual networks, are categorized as different units of communications.
4. The resource allocation calculation method according to claim 3, wherein the calculating of the allocated bandwidths further comprises: calculating the allocated bandwidths and the allocated route at the current time, with weights provided to the utilities of the respective virtual networks.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
DESCRIPTION OF EMBODIMENTS
(5) Embodiments of the present invention will be described below with reference to the drawings.
(6) A virtual network refers to a bandwidth and a route allocated to a service or the like provided using a resource of the physical network N1.
(7) The physical network N1 has a configuration of a general network, and includes a plurality of nodes n1 to n4 (hereinafter referred to as “nodes n” where the plurality of nodes n1 to n4 are not distinguished from one another) and links connecting the respective nodes n. Each of the nodes n can be a point of departure or a point of arrival, or a via node of an OD flow.
(8)
(9) The demand observation device 20 includes one or more computers that with a total time of use of all the virtual networks k set as ΔT [seconds], observes the respective virtual networks k on the physical network N1 every Δ [seconds]. Therefore, each observation time t is a discrete time (t=1, . . . , T). The total time of use of all the virtual networks k refers to a period of time during which resources of the physical network N1 are allocated to at least one virtual network k. For example, a time t=1 is a start time of use of a virtual network k, the start time of use of the virtual network k being earliest, and a time T is an ending time of use of a virtual network k, the ending time of use of the virtual network k being latest. The demand observation device 20 observes and stores necessary bandwidths (demanded amounts for communication bandwidths) for the respective OD flows f on each of the virtual networks k at a constant frequency of Δ seconds, notifies the resource allocation calculation device 10 of the demanded amounts observed every Δ seconds (hereinafter referred to as “observed demands”) or provide the observed demands in response to an observed demand request provided every Δ seconds from the resource allocation calculation device 10. Note that a general traffic observation device may be used as the demand observation device 20.
(10) The resource allocation calculation device 10 includes one or more computers that calculate an allocated bandwidth and an allocated route for each of the OD flows f on each of the virtual networks k based on results of observation by the demand observation device 20. An allocated bandwidth refers to a bandwidth allocated to an OD flow f for each of links relating to an allocated route of the OD flow f. An allocated route refers to a route (combination of links) allocated to each OD flow f on the physical network N1.
(11) The control device 30 includes one or more computers that perform control (allocation of resources to the respective OD flows f) based on results of calculation by the resource allocation calculation device 10, for the physical network N1. For example, a general network control device such as an SDN (software-defined network) controller may be used as the control device 30.
(12)
(13) A program for implementing processing in the resource allocation calculation device 10 is provided by a recording medium 101 such as a CD-ROM. Upon the recording medium 101 with the program stored therein being set in the drive device 100, the program is installed into the auxiliary storage device 102 from the recording medium 101 via the drive device 100. However, the program does not necessarily need to be installed from the recording medium 101 but may be downloaded from another computer via a network. The auxiliary storage device 102 stores the installed program and also stores necessary files, data and the like.
(14) The memory device 103 reads the program from the auxiliary storage device 102 and stores the program if an instruction for starting the program is provided. The CPU 104 executes functions relating to the resource allocation calculation device 10 according to the program stored in the memory device 103. The interface device 105 is used as an interface for connection to a network.
(15)
(16) In the calculation result storage unit 14, results of past calculations (allocated bandwidths and allocated routes for the respective OD flows f on each of the virtual networks k) by the resource allocation calculation device 10 (allocation calculation unit 12) are stored by past time t.
(17) A processing procedure performed by the resource allocation calculation device 10 will be described.
(18) In step S101, the demand prediction unit 11 acquires observed demands for the respective OD flows f on each of the virtual network k at times {1 . . . t.sub.now−1} from the demand observation device 20. Here, t.sub.now is a current time. Therefore, observed demands at the respective past times t up to Δ[seconds] before the current time. Acquisition of the observed demands may be performed in response to a request from the demand prediction unit 11 to the demand observation device 20 or may be performed in response to notification from the demand observation device 20.
(19) Subsequently, the demand prediction unit 11 predicts (calculates) predicted values of demands d (k, t, f) (future demands) for the respective OD flows f on each of the virtual networks k at each of current and future times t=t.sub.now, . . . T, from the acquired observed demand by means of a proper chronological prediction method, for example, ARIMA modeling or Kalman filtering (S102). Alternatively, the demand prediction unit 11 may predict the future demands using external information other than the observed demands, for example, the number of users of each virtual network k.
(20) Subsequently, for the OD flows f on each of the virtual networks k, the allocation calculation unit 12 calculates allocated bandwidths and allocated routes that achieve fairness among the OD flows f and efficiency (S103). Here, an allocated bandwidth for an OD flow f at a time t on a virtual network k is denoted as x(k, t, f). Also, a matrix indicating an allocated route of each OD flow f at the time t on the virtual network k is denoted as A(k, t). In other words, where R is a set of all the links on the network N1, #R is the number of elements of R, F is a set of all the OD flows f (the OD flows f11 to f13 and the OD flows f21 to f23 in
(21) Based on the observed past demands d(k, t, f), t=1 . . . t.sub.now−1 acquired from the demand observation device 20, the past allocated bandwidths x(k, t, f), t=1 . . . t.sub.now−1 stored in the calculation result storage unit 14 and the future demand d(k, t, f), t=t.sub.now . . . T predicted by the demand prediction unit 11, the allocation calculation unit 12 calculates x(k, t.sub.now, f) and A(k, t.sub.now) in such a manner that fairness and efficiency are achieved. An example method of the calculation can be a method in which x(k, t, f) and A(k, t) are calculated as a solution of the below optimization problem.
(22)
Here, K is a set of virtual networks k, C.sub.r is a capacity of the link r. Also, U.sub.k is a utility of a virtual network k and is calculated based on demands d(k, t, f) and allocated bandwidths x(k, t, f) at respective times t∈{1, . . . T} for the respective OD flows f∈F. In other words, an utility of a virtual network k is an index that becomes larger as the allocated bandwidths x(k, t, f) are larger relative to the demands d(k, t, f).
(23) An example of a method of calculation of U.sub.k can be a method in which U.sub.k is obtained as a sum of the utilities calculated at the respective times t for the each of the OD flows f according to the below formula.
(24)
Here, U.sub.k(x, d) is a function indicating a utility of a virtual network k where x is an allocated bandwidth relative to a demand d. Various functions can be assumed as the utility function, and an example of the utility function can be the below function having a logistic function shape.
U.sub.k(x,d)=1−exp(1−ax/d) [Formula 3]
Here, a is a parameter for calculating a shape of a logistic curve. Also, FI(U.sub.k) is a function indicating fairness where U.sub.k is the utility of each virtual network k. There are also various functions known as fairness functions and an example of the fairness functions can be the below function that maximizes the product of the utilities.
(25)
This is a fairness function taking advantage of, under the condition that the sum of a plurality of variables is constant, the product becoming larger as a difference between the variables is smaller.
(26) Note that the allocation calculation unit 12 makes the allocated bandwidths x(k, t.sub.now, f) and the allocated routes A(k, t.sub.now) at the current time for the respective OD flows on each of the virtual networks k, which are results of the calculation, be stored in the calculation result storage unit 14.
(27) Subsequently, the calculation result notification unit 13 notifies the control device 30 of the allocated bandwidths x (k, t.sub.now, f) and the allocated routes A (k, t.sub.now) at the current time for the respective OD flows on each of the virtual networks k, which are results of the calculation by the allocation calculation unit 12 (S104). Upon being notified of the calculation results, the control device 30 controls the network N1 so that the allocated bandwidths x (k, t.sub.now, f) and the allocated routes A (k, t.sub.now) are allocated to the respective virtual networks.
(28) As described above, according to the first embodiment, where a plurality of virtual networks share resources of a same physical network, it is possible to calculate not only resource allocation amounts (allocated bandwidths) but also routes of the respective OD flows simultaneously in view of all OD flows forming demands for the virtual networks and a total time of use of the virtual networks. Also, in that calculation, fairness between utilities of the virtual networks is taken into consideration. Therefore, fairness and efficiency of resource allocation to the plurality of virtual networks sharing resources of the physical network can be enhanced.
(29) Next, a second embodiment will be described. In the second embodiment, differences from the first embodiment will be described. The second embodiment may be similar to the first embodiment in terms of points not specifically mentioned.
(30) Although in the first embodiment, the utilities of the virtual networks k are treated fairly, in the second embodiment, weights are provided to utilities of virtual networks k in view of, e.g., degrees of importance or charged amounts for the virtual networks k. For a method of providing weights, e.g., a method in which in a fairness function FI, as in the below formula, a weight w.sub.k is given to a utility U.sub.k of each virtual network k (different weights are provided to utilities U.sub.k of the respective virtual networks k) is conceivable. In other words, an allocation calculation unit 12 calculates a fairness FI based on the following formula and calculates x(k, t, f) and A(k, t) based on the fairness FI.
(31)
Here, use of a minimum value of U.sub.k for normalization is intended to make a utility of each of all the virtual networks k have a value that is no less than 1, and for enhancement in fairness, it is necessary to make a utility U.sub.k of a virtual network k larger as the weight w.sub.k of the virtual network k is larger, by multiplying the normalized utility by 1/w.sub.k.
(32) Next, a third embodiment will be described. In the third embodiment, differences from the first or second embodiment will be described. The third embodiment may be similar to the first or second embodiment in terms of points not specifically mentioned.
(33) Although in the first embodiment, a time of use of all the virtual networks k are considered as being limited (up to the time T) and the entire limited time is treated equally, the third embodiment relates to a case where a use time is unlimited. In this case, finding the sum of utilities of a virtual network k at all times causes divergence, and thus, as in the below formula, a utility of a virtual network k of each of times that are far from a current time is subjected to a conversion that causes exponential decay of the utility according to a difference in time from the current time.
(34)
(35) In other words, the allocation calculation unit 12 calculates U.sub.k based on the above formula and calculates x(k, t, f) and A(k, t) based on the U.sub.k.
(36) Although embodiments of the present invention have been described in detail above, the present invention is not limited to such particular embodiments and various alternations and changes are possible within the scope of the spirit of the present invention stated in the claims.
REFERENCE SIGNS LIST
(37) 10 resource allocation calculation device 11 demand prediction unit 12 allocation calculation unit 13 calculation result notification unit 14 calculation result storage unit 20 demand observation device 30 control device 100 drive device 101 recording medium 102 auxiliary storage device 103 memory device 104 CPU 105 interface device B bus