The emergence of real-time and data-intensive applications empowered by mobile computing and IoT devices is challenging the success of centralized data centers, and fostering the adoption of the paradigm of fog/edge computing. Differently from cloud data centers, fog nodes are geographically distributed in proximity to data prosumers, taking advantage of the emerging wireless communication technologies and mobile networks. The limited resources of densely distributed fog nodes call for their efficient use by hosted applications and services. To address this challenge, and the needs of different application scenarios, this paper proposes a serverless platform for edge computing. It starts motivating the adoption of a serverless architecture. Then, it presents the services and mechanisms that are the building blocks of a Serverless Edge Platform. The paper also proposes a prototype platform and its assessment. Obtained results demonstrate the feasibility of the proposed solution for satisfying different application requirements in diverse deployment configurations of heterogeneous fog nodes.
The emergence of latency-sensitive and data-intensive applications requires that computational resources be moved closer to users on computing nodes at the edge of the network (edge computing). Since these nodes have limited resources, the collaboration among them is critical for the robustness, performance, and scalability of the system. One must allocate and provision computational resources to the different components, and these components must be placed on the nodes by considering both network latency and resource availability. Since centralized solutions could be impracticable for large-scale systems, this paper presents PAPS (Partitioning, Allocation, Placement, and Scaling), a framework that tackles the complexity of edge infrastructures by means of decentralized self-management and serverless computing. First, the large-scale edge topology is dynamically partitioned into delay-aware communities. Community leaders then provide a reference allocation of resources and tackle the intricate placement of the containers that host serverless functions. Finally, control theory is used at the node level to scale resources timely and effectively. The assessment shows both the feasibility of the approach and its ability to tackle the placement and allocation problem for large-scale edge topologies with up to 100 serverless functions and intense and unpredictable workload variations.
The exponential increase of the data generated by pervasive and mobile devices requires disrupting approaches for the realization of emerging mobile and IoT applications. Although cloud computing provides virtually unlimited computational resources, low-latency applications cannot afford the high latencies introduced by sending and retrieving data from/to the cloud. In this scenario, edge computing appears as a promising solution by bringing computation and data near to users and devices. However, the resource-finite nature of edge servers constrains the possibility of deploying full applications on them. To cope with these problems, we propose a serverless architecture at the edge, bringing a highly scalable, intelligent and cost-effective use of edge infrastructure's resources with minimal configuration and operation efforts. The feasibility of our approach is shown through an augmented reality use case for mobile devices, in which we offload computation and data intensive tasks from the devices to serverless functions at the edge, outperforming the cloud alternative up to 80% in terms of throughput and latency.
Context: Many modern software systems must deal with changes and uncertainty. Traditional dependability requirements engineering is not equipped for this since it assumes that the context in which a system operates be stable and deterministic, which often leads to failures and recurrent corrective maintenance. The Contextual Goal Model (CGM), a requirements model that proposes the idea of context dependent goal fulfillment, mitigates the problem by relating alternative strategies for achieving goals to the space of context changes. Additionally, the Runtime Goal Model (RGM) adds behavioral constraints to the fulfillment of goals that may be checked against system execution traces..Objective: This paper proposes GODA (Goal-Oriented Dependability Analysis) and its supporting framework as concrete means for reasoning about the dependability requirements of systems that operate in dynamic contexts.Method: GODA blends the power of CGM, RGM and probabilistic model checking to provide a formal requirements specification and verification solution. At design time, it can help with design and implementation decisions; at runtime it helps the system self-adapt by analyzing the different alternatives and selecting the one with the highest probability for the system to be dependable. GODA is integrated into TAO4ME, a state-of-the-art tool for goal modeling and analysis.Results: GODA has been evaluated against feasibility and scalability on Mobee: a real-life software system that allows people to share live and updated information about public transportation via mobile devices, and on larger goal models. GODA can verify, at runtime, up to two thousand leaf-tasks in less than 35ms, and requires less than 240 KB of memory.Conclusion: Presented results show GODA's design-time and runtime verification capabilities, even under limited computational resources, and the scalability of the proposed solution. (C) 2016 Elsevier B.V. All rights reserved.
The notion of Contextual Requirements refers to the interrelation between the requirements of a system, both functional and non-functional (NFRs), and the dynamic environment in which the system operates. Dependability requirements are NFRs which could also be context-dependent. The meaning and the consequence of faults affecting dependability vary in relation to the context in which a fault occurs. In this paper, we elaborate on the need to consider the contextual nature of failures and dependability. Then, we extend a contextual requirements model, the contextual goal model, to capture contextual failures and utilize that to enrich the semantic of dependability requirements. We provide techniques to analyse and reason about the effects of contexts on failures and their consequences. This analysis helps evaluate the possible alternative configurations to reach goals from dependability perspective and, hence, take adaptation decisions. Finally, we demonstrate the feasibility and applicability of our approach on a Mobile Personal Emergency Response system.
Background: In the last years, the field of service oriented computing (SOC) has received a growing interest from researchers and practitioners, particularly with respect to quality of service (QoS).Aim: This paper presents a mapping study to aggregate literature in this field in order to find trends and research opportunities regarding QoS in SOC.Method: Following well established mapping study protocol, we collected data from major digital libraries and analysed 364 papers aided by a tool developed for this purpose.Results: With respect to SOC contributions dealing with QoS properties, we were able to find out which SOC as well as which QoS facets are the focus of research. Our mapping was also able to identify those research groups that have mostly published in the context of our study. Conclusions: Most of the studies concentrate on runtime issues, such as monitoring and adaptation. Besides, an expressive amount of papers focused on metrics, computational models or languages for the context of Qos in SOC. Regarding quality attributes, a vast majority of the papers use generic models, so that the proposed solutions are independent of the particularities of a quality attribute. In spite of that, our study reveal that availability, performance and reliability were the major highlights. With respect to research type, many of the reviewed studies propose new solutions, instead of evaluating and validating existing proposals --a symptom of a field that still needs established research paradigms.