Giter Site home page Giter Site logo

robustgsensing's Introduction

RobustGSensing

Resource-Efficient Opportunistic Stream Reasoning using Proactive Edge Computing for the Internet-of-Things.


The aim of this project is to develop a lightweight middleware (with programming interface) for efficient data stream processing and reasoning with large volumes of streaming data emerging from the network of devices carried by and worn by a user (which we call the Personal Network of Devices).

This work develops and demonstrates a novel prototype of a new middleware in line with the serverless computing theme where from the perspective of developers, code is written and uploaded and jobs processed without worrying about where the resources are situated, be in at edge devices or on remote clouds or a combination thereof.

We have employed a peer-to-peer (P2P) model, with a super-peer playing the role of the coordinator. The super-peer will normally be a more resource-rich device and different devices can take up this role at different times. Devices can connect with each other via the super-peer. Any of the peers can be emitting data streams depending on their capabilities. From the perspective of the programmer, we will develop a tool where functions/jobs are created and the system takes care of resource scaling and management, fault tolerance, deployment, and operations. The architecture of the proposed middleware is illustrated in

Alt text


Packages

This framework consists of three main packages as can be seen in the follwoing image:

  • GroupSense:

GroupSense recognizes physical activities of a group using wearable sensors.

  • HoneyBee:

HoneyBee is an opportunistic offloading model for mobile edge crowds for forming device clouds on the fly. In the Honeybee model, mobile devices can share work using p2p connectivity.

  • Robustness :

Robustness handles a robust P2P connections between devices.

caption="dddd"


GronustSense-Sim (Simulator)

In order to run our scenario in larger scale scenarios and in a more realistic manner, a sensor data simulator called GroupSense-Sim was built to generate the required sensor data based on real data which was collected beforehand. The simulator is able to generate accelerometer data for a range of atomic activities (such as walking, running, standing, cycling and jogging) from two sources: a smartphone and a smartwatch. The simulator can generate random coordinates for individuals with a given starting point and route path for a certain period of time for a given activity. For example, by defining an expression and passing arguments: an activity (for instance walking), start time, end time, route path and individual/group, the simulator generates the GPS data.

gpsModelList = new ArrayList<GPSSimModel>();

Route waypoints = new Route(new Location("Waypoint 1", -37.7000688,
145.0462786));

Location initLocation = new Location("initLoc", -37.7024212, 145.044288);

GPSSimModel gpsModel = new GPSSimModel(initLocation, waypoints, p3,
Activity.ActivityName.walking, "2016-04-20 19:20:10",
"2016-04-20 19:20:30");

gpsModelList.add(gpsModel);

Used Dataset

https://sites.google.com/site/groupsense2018/datasets

https://archive.ics.uci.edu/ml/machine-learning-databases/00240/UCI HAR Dataset.zip


Technology Stack

  • Android SDK (minSdkVersion 22, targetSdkVersion 29)
  • Wear OS
  • Java (for Simulator)
  • FireBase
  • GCE (Google Cloud Engine)
  • WiFi-Direct and Bluetooth Android API
  • WeakAPI
  • TensorFlow

Prototype Implementation Screenshots

Here is a screenshot of our framework running in four connected device using WiFi Direct:

Alt text

Also, we used Temi robot in our prototype implementation as edge node which have adds more sensing power and movement capability to our framework for more complex scenarios.

Alt text

robustgsensing's People

Contributors

abkenar avatar

Stargazers

AJH avatar

Watchers

 avatar

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.