The invention relates to the field of network virtualization
Network Virtualization is currently regarded as one of the most promising approaches to enable innovation in today's networks. Generally speaking, Network Virtualization can be seen as a fundamental tool for several applications:
Network Virtualization includes methods and techniques to effectively share a common physical network infrastructure, by splitting it into several logical network instances (generally referred to as “slices”) composed virtual nodes (“slivers”) and of virtual links [1,2]
Interactions between the logical network instances can be controlled by, appropriate software or hardware components. Compared to the concept of “logical routers” developed today by vendors, in network virtualization virtual nodes in a slice are fully programmable to allow the instantiation of a network instance where novel architectures or services (potentially departing from legacy IP-based architectures) can be tested in a controlled environment before putting them in production.
Currently proposed network virtualization solutions are typically tailored for wired networks composed of nodes with very large processing power and storage space (PlanetLab [3], VINI [4], G-Lab [5], etc). On the other hand, very few, studies have been performed on resource-constrained environments in general, and multi-hop wireless networks in particular. Further, they have mainly focused on how different wireless medium virtualization techniques affect the overall network slices performance in term of isolation and stability [6, 7]. Such solutions are not suitable for use by a Wireless Internet Service Provider (WISP) that wants to allow production traffic to share part of the available network resources with a variable number of slices where innovative solutions can be tested in a severely controlled yet realistic environment. In such a scenario, production traffic must be assigned on one privileged slice where network resources like channel bandwidth and node processing are guaranteed to the detriment of other slices running experimental tests. The present invention provides a solution for these needs.
a: Flow diagram illustrating the bandwidth partitioner operation principles.
b: Flow diagram illustrating the actual packet transmission procedure.
a-4d Flow diagram illustrating steps of the software router for outgoing and incoming packets.
Network virtualization in wireless networks needs to address two additional major issues:
(i) how to isolate wireless resources belonging to network slices coexisting at the same time to ensure minimal interference among them, and
(ii) how to control wireless resource utilization to ensure that a slice does not infringe the resources of another slice.
These problems are solved by the method of claim 1 and by the system of claim 12.
Several techniques have been proposed to guarantee the isolation of wireless resources among concurrent slices[14]:
While studies regarding the feasibility of each of these approaches (or combinations thereof), with their pros and cons have been already provided in literature [6, 7], they fail to address the problem of an effective isolation between concurrent slices on a multi-hop wireless network through a finer control of wireless and node resources usage in the network: the present invention provides techniques and architectures to achieve this.
In particular, the present invention achieves a level of flexibility which none of the aforementioned techniques, used in a stand-alone fashion, can provide. Further, the present invention targets the provisioning of methods for ensuring that a privileged slice (typically the one carrying the production traffic) can have guaranteed resources, while the ones devoted to experimental activities may share the remaining (possibly time-varying) network resources.
Hereafter, certain embodiments of the invention related to a novel virtualization framework specifically tailored to multi-hop wireless networks are introduced. Such networks are usually built using commodity components and are characterized by rather limited computing capabilities, in comparison to the traditional carrier-class networking equipment exploited in projects such as FEDERICA [8], AKARI [9] or GENI [10].
Most of the network virtualization architectures devised so far [8, 9, 10] aim at providing multiple isolated environments where experiments can be run in parallel over real-world networks. The present invention, on the other hand, provides wireless networks operators with a comprehensive virtualization solution where production traffic (i.e. the traffic generated by the end-users), shares part of the available network resources with a variable number of experimental slices where novel solutions, e.g. routing protocols, are being tested.
In this simplified scenario, the production slice A is assigned 80% of the resources in the network, while the two experimental slices equally share the remaining 20% of resources. The present architecture foresees a scenario where 5 to 10 slices share the overall network resources. Such limitation is mandated by the computing and storage constraints that characterized currently used wireless multi-hop networking devices, but may be enlarged in the future.
Traffic shaping is performed at each node in order to limit the amount of network resources used by each sliver. In this simplified setup the resources that each sliver can exploit are upper bounded by a fixed threshold derived from the relative performance goal given during the planning phase. As a result, slice A “sees” an 800 Kb/s bidirectional link between node 1 and node 2, while the available bandwidth between node 2 and node 3 is 1600 Kb/s. In this setup some bandwidth is voluntary left unused. However scenarios where a sliver can have full access to all the available bandwidth are also supported.
Hereafter the present invention node's architecture (see
Due to the latter limitation, one embodiment of the present invention uses a new wireless network virtualization stack in user-space, using a software router such as the Click modular router [13]. Albeit characterized by a higher overhead in comparison to pure kernel-level implementation, solutions based on a software router such as the Click modular router have the advantage of being highly customizable allowing to circumvent the flexibility limitations of typical container based solutions [14].
The software router is used both within each sliver (guest software router) and at the host operating system level (host software router). More specifically, the software router instance running within a sliver provides the guest environment with a set of virtual interfaces (ath0, ath1, . . . , athN) implemented as Linux TAP devices. A TAP device (*rates at layer 2 of the traditional ISO/OSI networking stack and simulates, an Ethernet device.
User-space process, running within a sliver, can exploit the virtual interfaces to implement their routing strategy. Communication over the virtual interfaces can be done using two different frame formats:
In either situation, outgoing traffic is encapsulated by the guest software router process and sent to the host software router process through the virtual interface eth0 provided by the virtual container. In case the user-space application is already using the radiotap header, no additional encapsulation is performed by the guest click process and the frame is delivered unchanged to the host operating system. The host software router process receives the incoming frame and dispatches it to the suitable device according to a set of policies maintained by the Link Broker and the Bandwidth Partitioner.
The Link Broker is a software module that can expose different connectivity graphs to the various slivers without requiring that the nodes must be physically separated (i.e., out, of radio range). Connectivity graphs are defined on a per-slice basis allowing us to define a different topology for each slice. This is particularly useful to test novel routing strategies on a subset of the nodes. Moreover, if wireless routers are equipped with multiple, radio interfaces, it is possible to create multiple slices (whose cardinality equals the number of radio interfaces) operating on orthogonal frequency bands, implementing therefore an FDM wireless network virtualisation solution. Hybrid solutions where only a subset of the slivers operates on orthogonal frequencies are also supported. Albeit network connectivity graphs are defined at deployment time, they can change during the network operations in order to create connectivity scenarios that simulate different operating conditions (i.e. link failures/outages).
Due to the use of a shared medium, estimating the capacity of a wireless link is not trivial. Interference coming from external sources, changes in the propagation characteristics or interference from the same signal travelling along different paths make the link's total capacity fluctuate over time. Even if we limit our attention on communications realized using the IEEE 802.11 facility of standards, an ideal estimator of the link capacity from an Access Point toward a generic Stations should take into account both the data frame SNR (measured at the receiving station) and the ACK frame SNR (measured at the access, point).
Such a level of precision is difficult to achieve without introducing additional signaling and/or modifying the standard IEEE 802.11 MAC operations.
In one embodiment the present invention uses an indirect way of assessing a link's total capacity based on the transmission rate adaptation-related functionalities already available in current IEEE 802.11 devices. In particular the algorithm collects statistics of all the packets that have been transmitted.
Soft-performance isolation between slivers is provided through a scheduler (such as Hierarchical Token Bucket (HTB) supported by the Linux kernels 2.6.x [15]) which can implement precise traffic shaping policies. HTB organizes traffic classes in a tree structure; each class is assigned an average rate (rate) and a maximum rate (ceil). Three class types exist: root, inner and leaf. A root class corresponds to a physical link; its bandwidth is the one currently available for transmission. Leaf classes, placed at the bottom of the hierarchy, correspond to a given type of traffic (e.g., TCP-controlled or VoIP etc.). Two internal token buckets are maintained for each class. Classes which have not exceeded their rate can unconditionally transmit; classes which have exceeded their allowed rate but not their upper limit (ceil) can transmit only, borrowing unused bandwidth, if available, from other classes. In order to borrow bandwidth, a request is propagated upwards in the tree. A request that would exceed the ceil limit is terminated. A request that would satisfy the allowed rate is accepted. A request that would not satisfy the allowed rate constraint but the ceil one is propagated upwards until the procedure is completed.
Due to the stochastic nature of the wireless links capacity, an HTB scheduler alone is not able to deliver performance fairness among competing traffic flows in wireless networks. In order to address this problem in the present invention a bandwidth partitioner is introduced.
This Bandwidth Partitioner component exploits local channel statistics, gathered through the Wireless Network Interface Card (WNIC) driver, to estimate the currently available link bandwidth and to partition the bandwidth among the different slivers on the basis of a set of pre-defined policies. Such information is then passed to the Resources Broker which combines them with a set of user-defined policies in order to generate a configuration template for the scheduler, i.e. the HTB scheduler. The Resource Broker can be implemented in the form of a software or hardware mining within each wireless router and periodically updates the scheduler configuration in order to reflect the actual channel capacity. The scheduler configuration is also updated if either a new slice is deployed over the network or if the policies have changed.
Hereafter the details of the various implementation of the bandwidth partitioning and rate adaptation of the present invention.
In order to demonstrate the effectiveness of this invention in preserving production traffic in challenging conditions, the following experimental scenario has been set up: two wireless nodes, each one running three slivers, shares the same wireless link. Changes in link quality are emulated by progressively moving the two nodes apart in order to simulate deteriorating channel quality conditions. A continuous UDP flow is generated among the two nodes; its rate is such that the wireless link is always saturated.
Two privileged slices (#1 and #2) are defined. Both slices have an higher transmission priority than the third slices and a minimum guaranteed outbound bandwidth set to 5 and 3 Mb/s respectively. The third slice has no guaranteed bandwidth (this simulates a WISP having slice #1 for production traffic, and the remaining slices #2 and #3 for, respectively, testing a novel video-streaming service and for network management and monitoring). The results plotted in
| Number | Date | Country | Kind |
|---|---|---|---|
| MI2010A00874 | May 2010 | IT | national |
| Filing Document | Filing Date | Country | Kind | 371c Date |
|---|---|---|---|---|
| PCT/EP2011/057795 | 5/13/2011 | WO | 00 | 6/19/2013 |
| Number | Date | Country | |
|---|---|---|---|
| 20130272216 A1 | Oct 2013 | US |