Layered internet of things (IoT) architectures have been proposed over the last years as they facilitate understanding the roles of different networking, hardware, and software components of smart applications. These are inherently distributed, spanning from devices installed in the field up to a cloud datacenter and further to a user smartphone, passing by intermediary stages at different levels of fog computing infrastructure. However, IoT architectures provide almost no hints on where components should be deployed. IoT Software Platforms derived from the layered architectures are expected to adapt to scenarios with different characteristics, requirements, and constraints from stakeholders and applications. In such a complex environment, a one-size-fits-all approach does not adapt well to varying demands and may hinder the adoption of IoT Smart Applications. In this paper, we propose a 5-layer IoT Architecture and a 5-stage IoT Computing Continuum, as well as provide insights on the mapping of software components of the former into physical locations of the latter. Also, we conduct a performance analysis study with six configurations where components are deployed into different stages. Our results show that different deployment configurations of layered components into staged locations generate bottlenecks that affect system performance and scalability. Based on that, policies for static deployment and dynamic migration of layered components into staged locations can be identified.
6 July 2022 in IEEE Transactions on Network and Service Management
Virtualization and softwarization have driven the widespread adoption of the cloud computing paradigm, with savings in CAPEX, OPEX, and environmental footprint, by transferring to and sharing computational resources in datacenters. Represented by some leading technologies -as Software Defined Networks, Network Function Virtualization, and Service Function Chaining -they bring new network and service management challenges. The autonomous resource elasticity that demands new techniques to detect overloaded functions, also known as bottlenecks, is a challenge. Most research efforts in this area have focused on traditional hardware metrics like CPU, memory, throughput, and tailored application metrics. These approaches may be imprecise and hard to transfer between different scenarios. This paper presents the Network Queue Assessment (NQA) technique for detecting bottlenecks in Service Function Chaining based on network queue occupation, which requires no end-user feedback or knowledge about its internal architecture, and no definition of thresholds. Our results confirm the accuracy of NQA for bottleneck detection in a testbed evaluation with virtualized versions of five network functions: Intrusion Detection System (IDS), Network Address Translation (NAT), Virtual Private Network (VPN), Proxy-cache, and Firewall. Also, we combine the previously evaluated functions in four more complex scenarios to confirm our conclusions.
30 January 2022 in Journal of Network and Systems Management
Software Defined Networking (SDN) represents a paradigm shift in network architecture, offering unprecedented control and flexibility by decoupling the control and data planes. A critical component of this evolution is the emergence of P4, a programming language designed for the data plane, enabling precise control over packet processing. Despite its potential, the use of P4 is hampered by its complexity and the steep learning curve associated with its programming model. Addressing this challenge, this paper introduces P4P4Docker, a Docker-based P4 switch container named P4Docker, aimed at simplifying the design, management, and debugging of P4 switch test beds. P4Docker also offers an intuitive GUI platform to engage with P4 programming, reducing entry barriers and fostering innovation in network design and experimentation. By providing an intuitive interface, P4Docker enables a more accessible and efficient engagement with P4 programming, offering comprehensive access to logs and system metrics. Ultimately, P4Docker represents a significant step toward making sophisticated network programming more accessible, potentially accelerating the adoption and innovation of SDN and data plane programmability.
With the increasing adoption of cloud computing, microservice architecture, and network function virtualization (NFV), addressing scalability and elasticity management becomes essential. The high demand for these services challenges the research community to create new automated management techniques, from which an essential part is the detection of bottlenecks in infrastructures and application boxes. The traditional approach based on hardware resource metrics (CPU and RAM) is the most straightforward strategy, providing independence from particular applications but may not capture the application's behavior in terms of workload variations. On the other hand, using an application-oriented approach provides a significant correlation with the end-user quality of experience but needs to be tailored for each case. We propose the Network Queuing Assessment (NQA) that breaks away with this tradeoff, capturing the application's workload variations and providing a significant correlation with the end-user quality of experience. Also, similarly to CPU and RAM, it is independent of particular applications. Our performance analysis results for CPU, RAM, and NQA metrics using virtualized applications and network functions in a cloud environment confirm this approach's usefulness.