# A Virtual Learning Architecture Enhanced by Fog Computing and Big Data Streams
## 3 Big Data Streams and Fog Computing
### Fog Computing  
Big streams of data, coming from IoT devices, generate huge amounts of information, which can be subsequently processed and used to build several useful services for final users. The cloud, and its rack-mounted, warehouse-like data centers, made up the natural collection environment for big data, due to its scalability, robustness and cost-effectiveness. However, Figure 1 shows how recent architectures are moving towards a hierarchy of different levels involved in data collection, and among these, we can clearly distinguish the fog layer, usually populated with smart gateways being closer to sensors and smart devices than to cloud servers. Fog computing [31; 32] is a recently-emerging paradigm, whose aim is to extend cloud elaboration and services to the edge of the network, by relying on the proximity to end-users, the dense geographical distribution and the support for mobility that IoT devices may guarantee, even in case of network connection unavailability. Fog specifically refers to IoT gateways, and these are indeed the so-called fog nodes, while edge computing considers the intelligence to be put further down, directly to the end devices. Both scenarios consider intelligent objects or devices equipped with proper software such as Cisco IOx ([[http://developer.cisco.com/site/iox/](http://developer.cisco.com/site/iox/)]([http://developer.cisco.com/site/iox/](http://developer.cisco.com/site/iox/))), Cisco Data In Motion (DMo) ([[http://developer.cisco.com/site/data-in-motion/discover/overview/](http://developer.cisco.com/site/data-in-motion/discover/overview/)]([http://developer.cisco.com/site/data-in-motion/discover/overview/](http://developer.cisco.com/site/data-in-motion/discover/overview/))), LocalGrid ([[http://www.localgridtech.com/](http://www.localgridtech.com/)]([http://www.localgridtech.com/](http://www.localgridtech.com/))) or PrismTech Vortex ([[http://www.prismtech.com/vortex](http://www.prismtech.com/vortex)]([http://www.prismtech.com/vortex](http://www.prismtech.com/vortex))). The wide geographical distribution and the moving of intelligence and computational power to the borders of the network make the fog computing paradigm particularly suited to real-time big data stream analytics, as presented in Section 3.1, both to foster new adaptive mining techniques while promoting analyses based on time and location information. In this perspective, the fog computing architecture is not meant to completely replace the cloud, but rather to complement it and interplay with it. As a matter of fact, fog computing corroborates cloud computing, and they both share the same resources, as well as many of the same mechanisms and attributes. The following innovative features are typical of the fog paradigm and enrich cloud-based architectures:  
* the focus onto _very low and predictable latency_, e.g., for gaming, video conferencing and augmented reality that need rapid responses and a small jitter;
* the _geo-distribution and ubiquity_ of fog nodes, more diffused than centralized cloud servers, but less diffused than unintelligent sensors;
* the _awareness of location and context_, useful for those applications where information about the place plays a major role;
* the exploitation of _fast mobility_, such as is the case with smart connected vehicles;
* the _predominance of wireless_ on-demand communications and access;
* the attention to _large-scale distributed control systems_, such as smart grids, smart traffic systems, and so forth;
* the importance of _streaming and real-timeliness_, especially for continuous monitoring and early detection of events [33] or delay-sensitive applications, rather than batch elaborations;
* the _heterogeneity_ of the nodes composing the fog layer and of the environments they are deployed in;
* the possibilities of _interoperability and federation_ across different domains and the chance to seamlessly move computation from one fog node to another one.