Giter Club home page Giter Club logo

fogframe's Introduction

fogframe

This repository embodies a set of microservices developed in Java together forming a researched fog computing framework. The project consists of the cloud-fog middleware, fog control node, fog cell, hostmonitor, and the fog data.

  • Cloud-fog middleware (CFM): Cloud middleware that handles the service deployment in the cloud and the data propagation to cloud services.
  • Fog control node (FCN): Control node that orchestrates subjacent fog colonies consisting of other fog control nodes and fog cells.
  • Fog cell (FC): Node connected to fog control nodes and IoT devices to execute services and propagate data to a parent fog control node.
  • Fog data: Models and Util classes shared amongst the other components.
  • Hostmonitor: Monitoring applicatoin that monitors the host and sends the data to a corresponding Redis database for further processing.

Software Specs

Tested with the following software versions:

  • Docker 1.12.2
  • Java 8
  • Apache Maven 3.2.3
  • OpenStack Cloud (Keystone v2.0, Nova)
  • Hypriot OS (preinstalled on the Raspberry Pis)

Hardware Specs

Tested with the following hardware:

  • Macbook Pro 13", Early 2011 (8GB RAM, Intel Core i5)
  • 1x Linksys Access Point
  • 6x Raspberry Pis
  • 2x Groove Pis with humidity and temperature sensors

Install

To get the framework up and running, all Raspberrys need to be connected to the same WiFi and the different projects need to be built using mvn install. After that, the resulting JAR files and the corresponding run scripts in the folder run_scripts can be transferred to the Raspberry Pi. If both required JAR files (component and hostmonitor), the Dockerfile, and the run.sh script are transferred successfully, the components can be started.

In case of cloud usage, the cloud-fog middleware needs to be set up on a computer in the same network as the other fog devices. In order to get CFM running, a Redis database needs to be started using the startDB.sh script. After the db is online, the project can be started.

Usage

To start the different components the run.sh script needs to be executed.

$ sh run.sh

When all devices are paired successfully, the task requests can be sent to the fog control nodes. The required API endpoints can be checked in the code or in the online version of the thesis.

License

Apache 2.0 © Kevin Bachmann

Sources

Cloud graphic by Yannick from Flaticon is licensed under CC BY 3.0. Made with Logo Maker

fogframe's People

Contributors

kbaxx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

fogframe's Issues

Cloud Integration

I am trying to use the AWS cloud into this version of fogframe using the files provided in fogframe 2.0. I am facing an issue while integrating the cloud. The steps I am trying are given below:

  • Created an AWS instance (CoreOS) with an elastic public IP created a security group and opened all the necessary ports required.

  • Copied the cloud-fog-middleware folder with necessary changes to the instance directory.

  • Started the cloud-fog-middleware on the instance.

  • Created fogcontrolnode and tried to connect to the cloud-fog-middleware.

But the fogcontrolnode is not able to connect to the cloud-fog-middleware. If I deploy the cloud-fog-middleware in my local system. fogcontrolnode connects to it, but on the cloud it does not connect. Am I trying something wrong, if so please help.

Cloud Setup

Hi, I am using your fogframe implementation for a project. I have successfully deployed the fog environment and am able to send fog tasks to the raspberry pis. I would like to know how to set up the OpenStack cloud with the fogframe, is there any tutorials available that would prove to be helpful for the same. Any help would be appreciated.

Thanks

error encountered when execute "mvn install"

when I clone this project and excute 'mvn install' first(as indicated in the redeme.md), I encountered some error. could you tell me where the mistake is? please help. thanks!
erro message:

[INFO] fogframe ........................................... SUCCESS [ 0.175 s]
[INFO] fogdata ............................................ SUCCESS [ 1.617 s]
[INFO] fogcontrolnode ..................................... FAILURE [ 14.074 s]
[INFO] fogcell ............................................ SKIPPED
[INFO] cloud-fogmiddleware ................................ SKIPPED
[INFO] hostmonitor ........................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.1.8.RELEASE:repackage (default) on project fogcontrolnode: Execution default of goal org.springframework.boot:spring-boot-maven-plugin:2.1.8.RELEASE:repackage failed: Plugin org.springframework.boot:spring-boot-maven-plugin:2.1.8.RELEASE or one of its dependencies could not be resolved: Could not transfer artifact org.springframework:spring-core:jar:5.1.9.RELEASE from/to central (https://repo.maven.apache.org/maven2): GET request of: org/springframework/spring-core/5.1.9.RELEASE/spring-core-5.1.9.RELEASE.jar from central failed: Premature end of Content-Length delimited message body (expected: 1293311; received: 1168865 -> [Help 1]

question

Hello, I am looking at the fog recently. Do you have a document to refer to?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.