  An appealing feature of Network Function Virtualization (NFV) is that in an
NFV-based network, a network function (NF) instance may be placed at any node.
On the one hand this offers great flexibility in allocation of redundant
instances, but on the other hand it makes the allocation a unique and difficult
challenge. One particular concern is that there is inherent correlation among
nodes due to the structure of the network, thus requiring special care in this
allocation. To this aim, our novel approach, called CoShare, is proposed.
Firstly, its design takes into consideration the effect of network structural
dependency, which might result in the unavailability of nodes of a network
after failure of a node. Secondly, to efficiently make use of resources,
CoShare proposes the idea of shared reservation, where multiple flows may be
allowed to share the same reserved backup capacity at an NF instance.
Furthermore, CoShare factors in the heterogeneity in nodes, NF instances and
availability requirements of flows in the design. The results from a number of
experiments conducted using realistic network topologies show that the
integration of structural dependency allows meeting availability requirements
for more flows compared to a baseline approach. Specifically, CoShare is able
to meet diverse availability requirements in a resource-efficient manner,
requiring, e.g., up to 85% in some studied cases, less resource overbuild than
the baseline approach that uses the idea of dedicated reservation commonly
adopted for redundancy allocation in NFV.
