The core idea of a Software Defined Network (SDN) is to separate control logic of the communication network from the data plane of switches and links to support communications services. An SDN typically consists of multiple network domains, each of which has a single controller responsible for managing switches and links within the domain. Switches and communication links are connected across the domains to form a data plane for transfer of user data, while domain controllers are also interconnected to form a control plane for exchanging information for network control purposes. Since the software implementation of control logic residing within controllers can be readily re-programmed and changed, such software-defined capability enables centralized management, rapid configuration and adjustment of communication resources to achieve higher-level goals.
SDC applies the similar concept of separation of control logic from the data plane as in the SDN. As an illustrative example in the following figure, an SDC is composed of multiple domains, where each domain represents a connected sub-network of a coalition partner. Each domain contains one domain controller and domain controllers are connected through the control plane for the exchange of control information. It is important to note that the SDC is a logical architecture. That is, multiple SDCs can actually be running and supported by the same set of physical resources owned by coalition partners and each of such SDCs is referred to as an SDC slice. The example shown in the figure has two SDC slices denoted as slice 1 and 2. Each SDC slice has a slice controller, which connects with all domain controllers associated with the slice. These domain and slice controllers, which form a hierarchical control structure, coordinate to utilize all infrastructure resources to support services for achieving mission objectives and satisfying coalition policies for the given SDCs.
Figure 1. SDC for coalition forces.
Despite the potential advantages of SDC, major challenges need to be addressed before the SDC capability can be realized in tactical environments. SDC does not consider only switches and links, but other resources such as computational servers, storage, databases, sensors and other form of resources must also be considered. Given such diversified set of resources, the control logic for maintaining and sharing resources across domains are more complicated than those for SDN. The infrastructure and service dynamicity in the tactical environments further complicate algorithms and techniques required to support the SDC capability. To address these challenges, we have made significant technical advancements in several key areas over the past couple of years:
Z. Zhang, L. Ma, K. Poularakis, K.K. Leung and L. Wu, “DQ Scheduler: Deep Reinforcement Learning Based Controller Synchronization in Distributed SDN,” presented and received the Best Paper Award at IEEE ICC 2019.
K. Poularakis, Q. Qin, L. Ma, S. Kompella, K.K. Leung, and L. Tassiulas, “Learning the Optimal Synchronization Rates in Distributed SDN Control Architectures,” IEEE Infocom 2019.
Q. Xiang, J. Zhang, Y.-S. Lim, F. Le, G. Li and Y.R. Yang, "Toward Optimal Software-Defined Interdomain Routing," IEEE INFOCOM 2020.
Team members at Yale investigated how to integrate SDC functions into an SDN programming framework, and proposed Trident, a novel unified SDC programming framework. Trident extends algorithmic SDN programming with new primitives (e.g., stream attribute, live variable and route algebra) to reduce complexities of integrating changing states of SDC functions into SDN. Evaluations show that Trident causes very little overhead for integrating existing network management tools and SDC functions, and can handle up to O(10^5) routing requests per second with O(100) milliseconds latency.
K. Gao, T. Nojima and Y.R. Yang, "Trident: Toward Distributed Reactive SDN Programming with Consistent Updates," IEEE JSAC.
On allocation and sharing of SDC resources, team members at Imperial, UMass, BBN and ARL devised a framework using Cooperative Game Theory to share resources among mobile edge clouds (e.g., owned by coalition partners). For a monotonic, non-decreasing utility function, the game is proven to be canonical and convex. We have proposed two efficient algorithms that provide Pareto optimal resource allocations to meet service demands, and maintain stability of the grand coalition. Experimental results validate our proposed framework.
F. Zafari, K.K. Leung, D. Towsley, P. Basu, A. Swami and J. Li, “Let’s share: A Game-Theoretic Framework for Resource Sharing in Mobile Edge Clouds.”
Researchers from UMass, BBN, ARL and Imperial have developed optimal resource-assignment methods for one-dimensional and two-dimensional distributed service networks. Specifically for the two-dimensional scenarios, we have developed a heuristic algorithm, which leverages the optimal dynamic-programming scheme for one-dimensional inputs to obtain approximate solutions for the two-dimensional scenario, to empirically yield request distances within a constant factor of the optimal solution. We obtain closed-form expressions for evaluating the expected communication cost. We also compare performance of various allocation policies in terms of the variance of request distance.
N.K. Panigrahy, P. Basu, P. Nain, D. Towsley, A. Swami, K.S. Chan and K.K. Leung, “Resource Allocation in One-dimensional Distributed Service Networks and its Applications,” submitted to Performance Evaluation.
During the 2020-2021 research phase, the team will tackle the following remaining issue for the SDC capability. The issue is about SDC infrastructure fragmentation and re-joining. Infrastructure can be fragmented due to natural causes (e.g., mobility, link or component failures) and man-made reasons to achieve tactical purposes. During the fragmentation time period, fragmented components are expected to operate separately. If fragmented components are re-connected again, support for the coalition missions will resume as a single connected SDC infrastructure. Issues related to SDC fragmentation and re-joining will be investigated from the perspective of supporting distributed learning as a generic service or application.