What's in a cloud?

A cloud is notionally a fuzzy toplogy of stuff. The stuff is generally devices (i.e. the internet "cloud") but we can extend that to other "stuff". Like coffe makers - hey, those are devices, too! So, let's extend it to "media players". Now you may have 3 of those running in the same laptop - more virtual software than physical devices.

The thing about the cloud is that it has certain mechanisms that tie those things together. I.e. routing or addressing - communication; trust or friendship relationships…

The "Home" cloud

It's the stuff in your home. You have garage doors which may be open or closed. The fridge which may be running out of stuff and the TV which right now plays some YouTube videos that you can pause. These are all "things" in your home that you care about and you could control from anywhere - if you have the right setup.

The computer upstairs, the one which is always on - it can be your personal server. It can scour the web for you, reformatting information for you, scanning the web, doing backups for you etc.

There are thus two layers: the logical layer of objects and their relationships (TV, shows, garage doors) and the physical layer of the devices that control them and make the cloud possible (computers, TV, automation controller for the garage doors).

Cloud = distributed functionality

A cloud is glued together by all kinds of distributed functionality it provides. Or, rather, its members provide as a hole.

Few assertions about an agent "home" cloud:

  • you can control any agent via any other agent, remotely
  • you can also connect to an agent directly, if in the respective network
  • you can see and manage the assets on any agent, from anywhere
  • replicate information (i.e. keep a replica of your favorite links on all the agents, so you can access from anywhere.
  • distribute processing (classic meaning of cloud/swarm/grid/farm)
  • run personal services, like contacts, a blog or alike.
  • run personal tasks, like searching the web for some tags, watch a page for changes etc

Asset cloud

The basics of these clouds we're interested in is that they're asset clouds. Basically all these entities of interest, like "garage doors" and "movies" are assets that live/are managed by some computing device, which is in the cloud.

The basic agents are just hosting all these assets and services. Each agent has basic asset management functionality. Based on the "semantic web" ideas, each agent offers access to its assets as well as their descriptions (meta-information).

You can reach any asset on any machine via any other agent (entry point). Actually it's quite easy: each asset has a "home" agent and it's location is built into the asset's key. Thus, all a proxy agent has to do is just forward the commands to the "home agent" and forward the reply/presentation back.

The social aspect

The "friend cloud". Basically, your friends can run agents as well and you'd know about that. You can easily share stuff that way, trust them to browse your music library etc. Surely someone will think of a distributed social applications :) if not, I'll put my thinking cap on…

Likewise, you can belong to multiple clouds. There can be clouds based on interests (movie fans) or based on work, i.e. "work". We'll have to work out the details of what exactly belonging to one cloud or anoher really means…

Flexibility, interaction

As someone develops a plugin with some functionality (i.e. turn on/off basement lights), you find this plugin, download and install and suddenly, its assets are now avilable on your cloud.

Another, more plausible example, is someone developing a small plugin to remotely control the playstation media player. That's one you obviously want: download, install. Its metas are automatically reflected in the cloud and you can now control playstations.

There's another that's injecting some new actions on existing assets. For instance "pastelize" on a jpeg.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License