As of 29 July 2013

These are only general suggestions, come talk to me for the specifics and/or if you're interested in anything around mobility (phones), distributed systems, etc. (js573(a)cam.ac.uk)


(*) Decentralised, secure data sharing/recovery (for healthcare)

To explore how highly sensitive data can be shared in a peer-to-peer, decentralised infrastructure - with a particular focus on mobile devices.

Broadly the themes concern mobile computing, security and distributed systems networking. Some issues include:
*) 'Managing failures' - be they security related, e.g. a lost/stolen phone or compromised key, or more network based (disconnection). How do we recover prior data?;
*) 'Dynamic data types' - different 'types' of data exist, and may be defined at runtime --- sending a file (e.g. picture, video) is different to a live stream (ECG stream, accelerometer, live video).

The motivation stems from the NHS - there's the opportunity to engage with clinicians and trusts, if desired.


(*) Infrastructure for supporting behavioural change (with uMotif)

Reminders and notifications have been shown to effect real behavioural change.

This project explores how a technical infrastructure can improve health and well-being, where a person (or their care community) to be prompted when/where relevant to effect some lifestyle change.

There are many aspects to this project -- so there is some freedom to focus on areas of interest.
This could include developing a suitable (reliable, secure) messaging capability (comms), complex event processing - that is, working out when important things have happened, the best time to send a message etc (which involves combining data from various sources e.g. phone sensors with environmental data, and perhaps open datasets), how to specify policy (e.g. can we take a complex set of actions when something happens), etc.

The project is in collaboration with uMotif (a prosperous, rapidly growing medical-IT startup), and has much scope for real-world testing and deployment.


(*) Demonstrating distributed-systems using Raspberry Pis (with Sam Aaron)

The Raspberry Pi is a cheap little computer, originally developed to help introduce CS concepts to younger people.

This project concerns a platform for introducing networking (distributed systems) concepts, through a bunch of Pis.

Demonstrating networking would probably be through some "fun" A/V feedback, e.g. playing some sound(s), screen output, lights, buzzers, etc. The networking concepts demonstrated by the users (kids/teachers) composing a 'symphony', or 'art-installation', of sorts.

The challenge is making things 'work'. That is, at a lower-level, coordinating the devices, making sure they are in synch, loads are balanced (data flows, CPU, etc), dealing with failures (network variability, 'unplugging' the pi). This stuff should be seamless for users - they are non-experts! But at the same time, there needs to be feedback to illustrate network issues (e.g. failures, congestion).

Quite a few resources are available to assist (devices, scripting languages, middleware, etc.)


(*) "Big Data": Combining live streams, dynamic and static datasets(with uMotif)

Right now, big data is the buzzword. However, much work focuses on discovering trends within mainly static, datasets.

This project aims at considering a more dynamic approach.
That is, can we combine live data streams, data from databases (i.e. where data may change over time) as well as open, historical datasets.
For instance, can we combine a persons location, respiration rate and time with open traffic data, health data, etc, to aid care, treatment and diagnosis.

Things to consider include: what sort of comms would be required, are there any combination primitives that make sense, how do we deal with different data rates, how do queries over one data source affect another (e.g. should data in a stream influence future queries against a static dataset), etc.

Work aims to be general, but the application will likely concern healthcare (in collaboration with uMotif, a rapidly growing medical-IT startup, and possibly the National Cancer Registry) so we have access to much data and domain expertise.

Lots of potential here, as it is clearly applicable to the real world, and good for the CV as such skills are highly sought after...


(*) Messaging systems for cloud computing

The internals of the cloud service are often hidden and abstracted from users, providing only a limited ability to control and customise. Much of the focus is on isolating applications and/or users from each other; while management is left to the cloud service itself.

However, the ability for user/applications to communicate both with the cloud service provider, and other cloud user/applications could enable much flexibility -- particularly if this facilitates user/app customisation.

This project involves exploring, and developing messaging infrastructure to support cloud services.

The goal is to provide a common infrastructure, not only to manage communications within the cloud service, but also to facilitate user/application interactions with a) the cloud service itself, and b) other user-applications (perhaps with different owners).
The ability to customise and reconfigure the infrastructure at runtime is crucial, and could enable capabilities, such as, users deciding where their data goes (e.g. does not leave the UK).


(*) Interactive art installations

Artists are increasingly using technology to create interesting environments. Some of these are sensor based - e.g. The Rain Room, or using Kinect at concerts.

These are very cool - though tend to be one-off, custom-builds for the particular event and/or part of a closed system. This is limiting - things can happen only within a particular scope (i.e. using particular devices, in particular ways).

What would be interesting is a general-purpose middleware for enabling interactive art visualisations/installations. Such a middleware would allow a range of different devices, systems, controllers, etc, to interact. This should be dynamic, so that they can be added to interaction-mix at runtime. Things should be able to plug-in and just 'work'.

This would allow for a range of new artistic possibilities, e.g. most people have phones, could they automatically (or selectively) interact with other devices in a physical space.

The project would involve investigating a number of distributed systems/middleware concerns.
There is also the possibility to talk to, or even collaborate, with some digital artists - if that was of interest.


(*) Anything else?

If you're interested in anything around mobile data management, databases, (applied/high-level) security - get in touch.

Ghostery has found the following on this page:Statcounter