Carbon Commute: Difference between revisions

From C-Aware Project Wiki
Jump to navigationJump to search
Line 4: Line 4:


The Carbon Commute system has 3 main parts; a mobile phone application, one or more installs of the “locker” personal container software, and applications that run within locker. In our implementation we used an iPhone for the mobile platform, and ran lockers on servers hosted by the university computer service.
The Carbon Commute system has 3 main parts; a mobile phone application, one or more installs of the “locker” personal container software, and applications that run within locker. In our implementation we used an iPhone for the mobile platform, and ran lockers on servers hosted by the university computer service.
===What is a Locker===
To produce accurate reports on personal energy use, it is necessary to track a users location, for example to calculate their energy use whilst commuting, at work, as well as at home. This requires personal data, and it is important:
To allow only reputable parties to use this information, and only for the applications the user allows.
To provide an environment in which third party applications can run but only provide output back to the user.
In this case, we want to allow (e.g.)the university to calculate the carbon footprint of our commute as accurately as possible, yet deny data that the university does not require, and ensure the university is only using this data for this application.
Our solution is to use a 'personal container' architecture where personal data is stored in user-specific containers, through which the university requests access to a subset of that data which users can accept or deny, and identify exactly what is being accessed.
These containers protect user data from unauthorised access- the goal is not necessarily to share less data with 3rd parties, but to make sure the user is aware of all data accesses that occur, and that they are happy to authorise them.
We have used an implementation of a Personal Container called Locker and use this to store information gathered from the Carbon Commute app, include information from many other sources, and run apps within itself to process the data and output results. Thus the University can know the travel to work carbon footprint of an individual without knowing where the individual has been.
For more information see the [http://www.cl.cam.ac.uk/research/srg/netos/c-aware/arch.html C-Aware Architecture] page.


== iPhone App ==
== iPhone App ==

Revision as of 14:48, 21 January 2013

Introduction to system

Carbon Commute is a system to record and estimate a user’s carbon footprint during their travel to work, whilst respecting their privacy and giving them increased control over the data recording from this activity. It involves an mobile phone application that records a users’ location data and uploads it to a server application. Each user is assigned their own Personal Container, isolated and controlled by themselves, which runs applications within itself and allows user control of the access to their data.

The Carbon Commute system has 3 main parts; a mobile phone application, one or more installs of the “locker” personal container software, and applications that run within locker. In our implementation we used an iPhone for the mobile platform, and ran lockers on servers hosted by the university computer service.

What is a Locker

To produce accurate reports on personal energy use, it is necessary to track a users location, for example to calculate their energy use whilst commuting, at work, as well as at home. This requires personal data, and it is important:

To allow only reputable parties to use this information, and only for the applications the user allows. To provide an environment in which third party applications can run but only provide output back to the user. In this case, we want to allow (e.g.)the university to calculate the carbon footprint of our commute as accurately as possible, yet deny data that the university does not require, and ensure the university is only using this data for this application.

Our solution is to use a 'personal container' architecture where personal data is stored in user-specific containers, through which the university requests access to a subset of that data which users can accept or deny, and identify exactly what is being accessed.

These containers protect user data from unauthorised access- the goal is not necessarily to share less data with 3rd parties, but to make sure the user is aware of all data accesses that occur, and that they are happy to authorise them.

We have used an implementation of a Personal Container called Locker and use this to store information gathered from the Carbon Commute app, include information from many other sources, and run apps within itself to process the data and output results. Thus the University can know the travel to work carbon footprint of an individual without knowing where the individual has been.

For more information see the C-Aware Architecture page.

iPhone App

The mobile application is responsible for collecting location data when the user is commuting to or from their workplace. It allows the user to set their work and home locations' and then monitors and records the users location when travelling between these points. Once a GPS path has been recorded, it is uploaded to a remote server, running the users locker, where it is used to calculate the carbon footprint of the user.

The application records the most accurate GPS updates it can during the commute, and calculates speed and headings at the same time. The timestamp of the start and end of the commute is also recorded. This is then packaged into a JSON object and uploaded to the users locker.

iPhone App Internals

 * description of app classes, data flow through app etc.
 * requirements to install and run app, instructions to do so, using Test Flight etc

Downloading and running the iPhone Application

  • Link to code on Github

Locker

  • Introduction
  • Overview of what locker provides, history
  • link to original locker code
  • Info on locker install in the lab, how to create, destroy, start, stop lockers etc.
 * setup of VMs at computing service
 * DNS setup, location of relevant files etc
 * Web Server front end setup, etc
 * LXC Container setup
 * Locker install with containers

Locker App

  • Introduction
  • How a locker app works within locker
  • locker end-point for data info
  • data used by app, overview of UI.