Human detection in a scene is very useful in applications where the control of people flow or surveillance is required. Herein we propose a solution for person detection by counting pairs of legs using a simulation of a LIDAR from a Kinect laser scanner, and a particular instance of YOLO neural net architecture. We employed both geometrical and machine learning approaches for 2D and 3D images. We managed to achieve real-time detection of multiple people from 2D and 3D information. Our miss-rate for 3D images was as low as 3.2% and a false positive per image of 0.06 at 78 FPS.
Pervasive mobility and an exponential increase in the number of connected devices are adding to IT complexity. Users are bypassing traditional IT to access cloud-based services. Boundaries between computing systems, people, and things are disappearing. New approaches are required to manage today's and tomorrow's increasingly connected and heterogeneous ecosystems of people, computing processes, and things. We envision future elastic systems driven by business requirements, integrating computing, people, and things in open dynamic ecosystems in which all entities collaborate towards common goals. We introduce elasticity as a means of integrating computing processes, people, and things. We identify the core computing fields enabling future elastic systems: (i) hardware and software reusability, (ii) smart things, (iv) adaptation, and (v) human-based computing. We look at the development of these fields, and identify fundamental properties for building future elastic systems. We further envision a new field of research: Elastic Computing. We identify and discuss challenges to be addressed by this field towards realizing future elastic systems: Are existing programming languages and models sufficient for designing and managing future elastic systems? How important are the interactions between people, computers, and things? Can people and things be monitored and controlled like computing resources?
Cyber-physical Systems (CPS) have components deployed both in the physical world, and in computing environments, such as smart buildings or factories. Elastic Cyber-physical Systems (eCPS) are adaptable CPS capable of aligning their resources, cost, and quality to varying demand. However, failures can appear at run-time in the physical or software resources used by the eCPS. Failures can have different origins, from hardware failure, to management operations, software bugs, or resource congestion. While static verification methods can determine failure sources, they are less applicable to eCPS with complex hardware and software stacks. To this end, in this paper we introduce an approach and supporting platform for verifying at run-time eCPS health, and evaluate it on an eCPS for analysis of streaming data from smart environments.
Abstract Advancements in the areas of Cloud Computing, Internet of Things (IoT), and hybrid Human-Computer systems have made feasible the creation of a highly integrated human-machine world. The concept of elasticity plays a crucial role in fulfilling this vision, enabling systems to address various requirements reflecting performance, security, and business concerns. However, elastic systems are still in their inception, and numerous challenges need to be addressed in their development and management. In this article we present an overview of our experience on elastic systems, with a focus on elastic cloud systems. In the quest for designing and managing elastic systems, several challenges need to be addressed, such as: (i) enabling the systems to fulfill different requirements from multiple involved stakeholders, (ii) designing elastic systems considering various degrees of elasticity capabilities provided by different technologies and environments, (iii) understanding behavioral relationships in elastic systems, and their effects on stakeholder requirements, (iv) monitoring costs and analyzing cost efficiency of elastic systems, (v) controlling the elasticity of such systems at runtime in order to fulfill stakeholders' requirements, and (vi) supporting system elasticity through operations management. We present the techniques we have adopted in order to tackle the above challenges. We introduce our solution for creating elastic systems, following their complete lifecycle, from design-time to operations management.
Cloud applications can benefit from the on-demand capacity of cloud infrastructures, which offer computing and data resources with diverse capabilities, pricing, and quality models. However, state-of-the-art tools mainly enable the user to specify “if-then-else” policies concerning resource usage and size, resulting in a cumbersome specification process that lacks expressiveness for enabling the control of complex multilevel elasticity requirements. In this article, first we propose SYBL, a novel language for specifying elasticity requirements at multiple levels of abstraction. Second, we design and develop the rSYBL framework for controlling cloud services at multiple levels of abstractions. To enforce user-specified requirements, we develop a multilevel elasticity control mechanism enhanced with conflict resolution. rSYBL supports different cloud providers and is highly extensible, allowing service providers or developers to define their own connectors to the desired infrastructures or tools. We validate it through experiments with two distinct services, evaluating rSYBL over two distinct cloud infrastructures, and showing the importance of multilevel elasticity control.
Developing IoT cloud platforms is very challenging, as IoT cloud platforms consist of a mix of cloud services and IoT elements, e.g., for sensor management, near-realtime events handling, and data analytics. Developers need several tools for deployment, control, governance and analytics actions to test and evaluate designs of software components and optimize the operation of different design configurations. In this paper, we describe requirements and our techniques on supporting the development and testing of IoT cloud platforms. We present our choices of tools and engineering actions that help the developer to design, test and evaluate IoT cloud platforms in multi-cloud environments.
Today's complex cloud applications are composed of multiple components executed in multi-cloud environments. For such applications, the possibility to manage and control their cost, quality, and resource elasticity is of paramount importance. However, given that the cost of different services offered by cloud providers can vary a lot with their quality/performance, elasticity controllers must consider not only complex, multi-dimensional preferences and provisioning capabilities from stakeholders but also various runtime information regarding cloud applications and their execution environments. In this chapter, the authors present the elasticity control approach of the EU CELAR Project, which deals with multi-dimensional elasticity requirements and ensures multi-level elasticity control for fulfilling user requirements. They show the elasticity control mechanisms of the CELAR project, from application description to multi-level elasticity control. The authors highlight the usefulness of CELAR's mechanisms for users, who can use an intuitive, user-friendly interface to describe and then to follow their application elasticity behavior controlled by CELAR.
Scalable applications deployed in public clouds can be built from a combination of custom software components and public cloud services. To meet performance and/or cost requirements, such applications can scale-out/in their components during run-time. When higher performance is required, new component instances can be deployed on newly allocated cloud services (e.g., virtual machines). When the instances are no longer needed, their services can be deallocated to decrease cost. However, public cloud services are usually billed over predefined time and/or usage intervals, e.g., per hour, per GB of I/O. Thus, it might not be cost efficient to scale-in public cloud applications at any moment in time, without considering their billing cycles. In this work we aid developers of scalable applications for public clouds to monitor their costs, and develop cost-aware scalability controllers. We introduce a model for capturing the pricing schemes of cloud services. Based on the model we determine and evaluate the application's costs depending on its used cloud services and their billing cycles. We further evaluate cost efficiency of cloud applications, analyzing which application component is cost efficient to deallocate and when. We evaluate our approach on a scalable platform for IoT, deployed in Flexiant, one of the leading European public cloud providers. We show that cost-aware scalability can achieve higher application stability and performance, while reducing its operation costs.
While cloud computing has enabled applications to be designed as elastic cloud services, there is a lack of tools and techniques for monitoring and analysing their elasticity at multiple levels, from the service level to the underlying virtual infrastructure. In this paper, we focus on monitoring and evaluating elasticity of cloud services, crucial for supporting users and automatic elasticity controllers, to understand the services’ behaviour, and to develop smarter mechanisms for controlling their elasticity. We define novel concepts, namely elasticity space for describing the elastic behaviour of cloud services, and elasticity pathway for characterising the service’s evolution through the elasticity space. We introduce techniques for enriching monitoring information and determining the elasticity space and pathway. Based on the above, we introduce MELA, an elasticity analytics as a service, providing features for monitoring and analysing the elasticity of cloud services in multi-cloud environments. To ...
The Data-as-a-Service (DaaS) model enables data analytics providers to provision and offer data assets to their consumers. To achieve quality of results for the data assets, we need to enable DaaS elasticity by trading off quality and cost of resource usage. However, most of the current work on DaaS is focused on infrastructure elasticity, such as scaling in/out data nodes and virtual machines based on performance and usage, without considering the data assets' quality of results. In this paper, we introduce an elastic data asset model for provisioning data enriched with quality of results. Based on this model, we present techniques to generate and operate data elasticity management process that is used to monitor, evaluate and enforce expected quality of results. We develop a runtime system to guarantee the quality of resulting data assets provisioned on-demand. We present several experiments to demonstrate the usefulness of our proposed techniques.
To optimize the cost and performance of complex cloud services under dynamic requirements, workflows and diverse cloud offerings, we rely on different elasticity control processes. An elasticity control process, when being enforced, produces effects in different parts of the cloud service. These effects normally evolve in time and depend on workload characteristics, and on the actions within the elasticity control process enforced. Therefore, understanding the effects on the behavior of the cloud service is of utter importance for runtime decision-making process, when controlling cloud service elasticity. In this paper, we present a novel methodology and a framework for estimating and evaluating cloud service elasticity behaviors. To estimate the elasticity behavior, we collect information concerning service structure, deployment, service runtime, control processes, and cloud infrastructure. Based on this information, we utilize clustering techniques to identify cloud service elasticity behavior, in time, and for different parts of the service. Knowledge about such behavior is utilized within a cloud service elasticity controller to substantially improve the selection and execution of elasticity control processes. These elasticity behavior estimations are successfully being used by our elasticity controller, in order to improve runtime decision quality. We evaluate our framework with three real-world cloud services in different application domains. Experiments show that we are able to estimate the behavior in 89.5% of the cases. Moreover, we have observed improvements in our elasticity controller, which takes better control decisions, and does not exhibit control oscillations.
Developing and operating IoT cloud systems require novel features for deploying, controlling, monitoring and testing both IoT units and cloud services in an integrated environment spanning different infrastructures. In this paper, we demonstrate iCOMOT -- a novel toolset offering these features. Using iCOMOT we can perform various activities, such as dynamically reconfiguration of sensors, communication protocols, and cloud services in an elastic manner, suitable for testing and assuring quality of IoT cloud systems configurations. We will demonstrate our iCOMOT with a real-world predictive maintenance case study.
Various complex cloud services have to be deployed in multiple heterogeneous clouds, due to the service requirements for particular functionalities from specific clouds. In order to control these cloud services, we need to monitor and control the various units deployed across multiple clouds, dealing with cloud-specific protocols to support an end-to-end cloud service perspective. In this paper we present an approach for multi-cloud control, which evaluates relationships among different units deployed across heterogeneous clouds, and generates action plans necessary for controlling service elasticity. We show experiments of the end-to-end control and sensitivity analysis for a service deployed across two different types of clouds.
Platform-as-a-Service (PaaS) should support the design, deployment, execution, test and monitoring of native elastic systems constructed from elastic service units based on multi-dimensional elasticity requirements. In this paper, we discuss fundamental building blocks for enabling multi-dimensional elasticity programming of software-defined elastic systems. We describe CoMoT, a novel PaaS for elasticity in the cloud that is developed based on these fundamental building blocks.
Complex cloud services rely on different elasticity control processes to deal with dynamic requirement changes and workloads. However, enforcing an elasticity control process to a cloud service does not always lead to an optimal gain in terms of quality or cost, due to the complexity of service structures, deployment strategies, and underlying infrastructure dynamics. Therefore, being able, a priori, to estimate and evaluate the relation between cloud service elasticity behavior and elasticity control processes is crucial for runtime choices of appropriate elasticity control processes. In this paper we present ADVISE, a framework for estimating and evaluating cloud service elasticity behavior. ADVISE gathers service structure, deployment, service runtime, control processes, and cloud infrastructure information. Based on this information, ADVISE utilizes clustering techniques to identify cloud elasticity behavior produced by elasticity control. Our experiments show that ADVISE can estimate the expected elasticity behavior, in time, for different cloud services thus being a useful tool to elasticity controllers for improving the quality of runtime elasticity control decisions.
With the increasing cloud popularity, substantial effort has been paid for the development of emerging elastic cloud services, consisting of different units distributed among virtual machines/containers in different clouds. Due to the software stack and deployment complexity in single and multi-cloud scenarios, developing and managing such services is impeded by a lack of tools and techniques for understanding the elasticity relationships among individual service units, which influence the service's overall elasticity. In this paper we characterize the elasticity relationships, and develop mechanisms for analyzing them, based on service monitoring information and elasticity requirements. From collected monitoring information we abstract the elasticity behavior of the whole cloud service and individual units, over which we design a customizable algorithm for relationships analysis. We illustrate our approach via several experiments with an elastic data service for M2M platforms, highlighting the importance of determining elasticity relationships for the development and operation of elastic services.
A large number of cloud providers offer diverse types of cloud services for constructing complex ”cloud-native” software. However, there is a lack of supporting tools and mechanisms for accelerating the development of cloud-native software-defined elastic systems (SESs) based on elasticity capabilities of cloud services. In this paper we introduce QUELLE – a framework for evaluating and recommending SES deployment configurations. QUELLE presents models for describing the elasticity capabilities of cloud services and capturing elasticity requirements of SESs. Based on that QUELLE introduces novel functions and algorithms for quantifying the elasticity capabilities of cloud services. QUELLE’s algorithms can recommend SES deployment configurations from cloud services that both provide the required elasticity, and fulfill cost, quality, and resource requirements, and thus can be incorporated into different phases of the development of SESs. We present several experiments based on real-world cloud services for the development of an elastic machine-to-machine data-as-a-service system.
Elasticity in cloud computing is a complex problem, regarding not only resource elasticity but also quality and cost elasticity, and most importantly, the relations among the three. Therefore, existing support for controlling elasticity in complex applications, focusing solely on resource scaling, is not adequate. In this paper we present SYBL - a novel language for controlling elasticity in cloud applications - and its runtime system. SYBL allows specifying in detail elasticity monitoring, constraints, and strategies at different levels of cloud applications, including the whole application, application component, and within application component code. Based on simple SYBL elasticity directives, our runtime system will perform complex elasticity controls for the client, by leveraging underlying cloud monitoring and resource management APIs. We also present a prototype implementation and experiments illustrating how SYBL can be used in real-world scenarios.