# A Virtual Learning Architecture Enhanced by Fog Computing and Big Data Streams
## 3 Big Data Streams and Fog Computing
### Fog Computing
Overall, the cloud remains an important player in the global architecture, mainly thanks to its ability to concentrate powerful data centers, as well as to provide a global view of the whole architecture. Moreover, the cloud can also be changed into a consumer of big data streams, coming from the fog layers, in a sort of hierarchy that could encompass more than one fog tier, as well as intra-layer and inter-layer communications. Both the cloud and the fog could be a part of the communication with the final users, providing different, but complementary services in a sort of continuous cooperation. The former could be in charge of historical and large datasets and of deep and long analyses of big data, whereas the latter could focus on shorter response times, localization information and flow control, by enabling fog gateways with computing capabilities. This can foster throughput increase, energy savings and consolidation of the available resources in turn [34]. Moreover, the fog could be employed in the case of disasters or failures of the cloud, as a distributed backup of that information being stored and maintained within the cloud itself. Furthermore, and more importantly, using fog computing reduces the amount of data transferred to the cloud, lessening the amount of needed bandwidth and fostering the security of the data themselves, by refraining from transferring those pieces of information that may result in being risky in terms of privacy and legal regulations. However, fog nodes present also some drawbacks, compared to the cloud, that should be carefully considered:  
* they cannot be regarded as reliable or trusted as cloud servers; furthermore, identifying and repairing a fog node is not trivial;
* they are not able to guarantee lasting network connectivity;
* scheduling tasks are complicated, and there still is not 100% security for where to perform operations such as workload balancing [35], system monitoring, and the like;
* their heterogeneity may lead to sharp differences in resources among nodes and thus hinder cooperation;
* mobility may interrupt running processes on fog nodes, and some other ways to provide it in a seamless way must then be enacted;  
Figure 1: A cloud and fog-based architecture. The LANs are composed by general purpose smart objects (filled circles), smartphones, tablets, wearables, and so on. * security and privacy are a concern for low-powered and small-resourced nodes that may contain sensitive data and could be easily assailable or that can support different and non-interoperable cryptographic standards;
* data management and service discovery are challenging, as well as is choosing the best algorithms in order to shuffle data among devices;
* data consistency and redundancy may be problematic to manage, even if the final outcome could be better than using the cloud exclusively. Nevertheless, as some recent outages [36] confirm, the cloud seems no more adequate in keeping up with the ongoing Internet evolution and the need for new architectures based on smart access networks, and fluidity in distributing in-network functions is compelling, even in those scenarios involving distance learning. That is why in the following, we present our proposal for a fog-based VLE architecture, enriched with big data stream capabilities, that tries to overcome the drawbacks of cloud-based learning environments.