# Scalable Dew Computing
## 5 Discussion  
### Use Case  
Let us analyze an example of a heart monitoring system based on a wearable ECG sensor that streams data at a rate of up to 1 KB/sec, sending it to the cloud server for further processing and information sharing. The motivation problem is to realize simultaneous real-time heart monitoring by wearable ECG sensors for thousands of patients. The solution is a typical dew computing solution, meaning that it involves all three layers of a \"thing\" (wearable ECG sensor), a smart device, such as an Android or iOS device, and a server application in a cloud. Besides the normal operation mode of communicating over the Internet for offloading data and computations to servers, the system may work totally autonomously and provide relevant information to the user, and exchange data whenever there is an Internet connection to provide information sharing to caregivers. However, a single-user system simply may not replicate and act as a distributed multi-user as one might think. If a hospital would like to integrate a system that monitors thousands of patients, we need to ensure a scalable solution. There are several issues concerning scalability:  
* _Q1: Is it feasible?_
* _Q2: Is the resource consumption linear to workload requirements?_
* _Q3: What are the limits?_  
The question Q1 means to find whether this scalability type is possible. If it is possible, how will it be achieved? Then, we find out if the growth of resources is proportional to the increase of demands, expecting it to be at most linear (answering Q2). The last question, Q3, addresses the limitations of such a system. We should analyze the problem not to just increase the hardware resources, but to organize the software to be able to cope with the increased demand. Another use-case example of vertical downwards scalability can be a future implementation of a heterogenous computing resource sharing system based on a set of cars equipped with computing devices which can be exploited while they are being charged in a parking lot [30], or maybe to include smartphones while they are idle and being charged overnight. Typical use-case examples of distributed horizontal scalability are based on offloading computations to neighboring smartphones on edge level [46], within a traffic management system [47], or between vehicles [48]. The main objective of this paper is finding out how to achieve scalability. This is a typical Big Data problem when data are coming from multiple sources in large volumes and velocities. Since our scope is not to provide a communication platform capable of accepting and collecting data from thousands of data streams, we focus on the computing infrastructure. If a single medium-sized container or virtual station can process tens of data streams simultaneously, we still need to find a solution that will scale hundreds of such computing resources. The following scenarios are possible for vertical scalability to allow computation offloading and information sharing:  
* High-performance data analytics (HPDA) platform with dedicated computing resources, activated according to the demand, thus implementing very powerful data center resources that can accept extremely large computing requests. * Serverless solution using a cloud provider that takes care of cloud instances. * Cloud solution with a specific workflow manager to take care of requirements. The HPDA option can be optimized to cope with high processing demands but it cannot scale automatically, and it is not cost-efficient. The serverless solution and the cloud solution with dedicated workflow manager are more cost-efficient but are limited in providing computing resources. In the case of an approximately permanent number of data streams, the HPDA option is recommended, while the other two options are more convenient for a fluctuating number of data streams.