Edge and fog computing have grown popular as IoT deployments become wide-spread. While application composition and scheduling on such resources are being explored, there exists a gap in a distributed data storage service on the edge and fog layer, instead depending solely on the cloud for data persistence. Such a service should reliably store and manage data on fog and edge devices, even in the presence of failures, and offer transparent discovery and access to data for use by edge computing applications. Here, we present Elfstore, a first-of-its-kind edge-local federated store for streams of data blocks. It uses reliable fog devices as a super-peer overlay to monitor the edge resources, offers federated metadata indexing using Bloom filters, locates data within 2-hops, and maintains approximate global statistics about the reliability and storage capacity of edges. Edges host the actual data blocks, and we use a unique differential replication scheme to select edges on which to replicate blocks, to guarantee a minimum reliability and to balance storage utilization. Our experiments on two IoT virtual deployments with 20 and 272 devices show that ElfStore has low overheads, is bound only by the network bandwidth, has scalable performance, and offers tunable resilience.
@cite_14 proposes a distributed key-value store on fog resources with replication and differential consistency. Our focus is on reliably storing a stream of blocks of a much larger size, where resilience and capacity constraints are met. Others @cite_25 propose repositories hosted on stable fogs (referred to as edges'') that are populated by data from transient edges ( mobile devices''), and act as a reverse-Content Distribution Network (CDN) to serve requests from the cloud too. Reliability is a non-goal in their design and no experiments are presented. @cite_17 supports context-aware placement of data on fog and cloud resources, with mobile devices generating and consuming these data. It uses a rules engine to place and locate data based on its context metadata, but ignores reliability as edge devices do not store data.
@cite_14 @cite_25 @cite_17
2964228733 2885461866 2785267797
Stateful applications and virtualized network functions (VNFs) can benefit from state externalization to increase their reliability, scalability, and inter-operability. To keep and share the externalized state, distributed data stores (DDSs) are a powerful tool allowing for the management of classical trade-offs in consistency, availability and partitioning tolerance. With the advent of Fog and Edge Computing, stateful applications and VNFs are pushed from the data centers toward the network edge. This poses new challenges on DDSs that are tailored to a deployment in Cloud data centers. In this paper, we propose two novel design goals for DDSs that are tailored to Fog Computing: (1) Fog-aware replica placement, and (2) context-sensitive differential consistency. To realize those design goals on top of existing DDSs, we propose the FogStore system. FogStore manages the needed adaptations in replica placement and consistency management transparently, so that existing DDSs can be plugged into the system. To show the benefits of FogStore, we perform a set of evaluations using the Yahoo Cloud Serving Benchmark. In a future IoT-dominated environment the majority of data will be produced at the edge, which may be moved to the network core. We argue that this reverses today’s “core-to-edge” data flow to an “edge-to-core” model and puts severe stress on edge access cellular links. In this paper, we propose a data-centric communication approach which treats storage and wire the same as far as their ability to supply the requested data is concerned. Given that storage is cheaper to provide and scales better than wires, we argue for enhancing network connectivity with local storage services (e.g., in WiFi Access Points, or similar) at the edge of the network. Such local storage services can be used to buffer IoT and user-generated data at the edge, prior to data-cloud synchronization. The way mobile users store and share their data today is completely decoupled from their current usage context and actual intentions. Furthermore, the paradigm of cloud computing, where all data is placed in distant cloud data centers is seldom questioned. As a result, we are faced with congested networks and high latencies when retrieving data stored at distant locations. The emergence of edge computing provides an opportunity to overcome this issue. In this paper, we present vStore, a framework that provides the capabilities for context-aware micro-storage. The framework is targeted at mobile users and leverages small-scale, decentralized storage nodes at the extreme edge of the network. The decision where to store data is made based on rules that can either be pushed globally to the framework or created individually by users. We motivate our approach with different use cases, one of which is the sharing of data at events where cellular networks tend to be congested. To demonstrate the feasibility of our approach, we implement a demo application on the Android platform, leveraging storage nodes placed at different locations in a major city. By conducting a field trial, we demonstrate the key functionalities of vStore and report on first usage insights.