Software-Defined Networking (SDN) is a network paradigm introduced to overcome the inherent challenges of traditional networks. Its architecture is either deployed with a single controller or multiple controllers. While the first is not suitable for large-scale networks, the latter is confronted with a controller placement problem (CPP) in a large-scale network environment. CPP involves the challenge of deploying the optimal number of controllers within a network while meeting certain performance requirements considered conflicting in nature such as reliability, load balancing, latency, energy efficiency, and computation time. A single optimal or random placement may not be feasible in CPP and careful planning is of the essence to find an appropriate trade-off among the metrics. To achieve this, several CPP approaches have been proposed, developed, and deployed over the years, each having its unique objectives, strengths, and weaknesses. Therefore, this paper performed a comprehensive review of some of the existing approaches to identify the unique solutions offered, comprehend the different strategies and the challenges that exist as well as provide researchers with future directions aimed at improving the optimum location and allocation of controllers, in particular, for SDN application in wireless sensor network (WSN). The findings revealed several existing solutions and algorithms as well as several challenges such as the need for an efficient algorithm, attack-aware, cost-aware, and energy-aware CPP schemes while achieving a good quality of service.
The teaching of computer programming is one of the greatest challenges that have remained for years in Computer Science Education. A particular case is computer programming course for the beginners. While the traditional objectivist lecture-based approaches do not actively engage students to achieve their learning outcome, we believe that integrating some cutting-edge processes and practices like agile method into the teaching approaches will be leverage. Agile software development has gained widespread popularity and acceptance in the software industry and integrating the ideas into teaching will be constructive. In the educational system, while the positive impact of agile principles has been felt on students' projects, none has been experienced on the teaching aspect. Therefore, this paper proposes the use of agile process in the teaching of first year programming courses. The goal is to help the beginners develop their programming skills, proffer a teaching technology that maximizes students' chances of engagement, improve teaching as teachers reflects on what they are teaching and what the students are learning. Additionally, beginners will be able to operate the computer, program, and improve their programming skills through active team collaboration as well as managing large classes effectively by the teacher.
Abstract:Mobile agents have engrossed substantial attention in recent years, especially in fault tolerance researches and several approaches have emerged. Fault tolerance design tends to put a stop to incomplete or complete loss of the agent in the face of failures. Despite these developments, reliability issues still remain a critical challenge. Moreover, there is no comprehensive detail bringing together, summaries of the existing efforts of researches in order to focus attention where it is needed most. Therefore, our objective in this systematic literature review (SR) is to explore and analyze the existing fault tolerance implementations in order to bring about the state-of-the-art and the challenges in mobile agent's fault tolerance approaches. We used studies from a number of relevant article sources, and our results showed the existence of twenty six articles. Our analysis indicates that the existing approaches are not generic and each focuses on a specific aspect of the problem, usually in one or two specific fault models which impacts on agent's reliability. The implication of the study is to give a clear direction to future researchers in this area for a better reliable and transparent fault tolerance in mobile agents.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.