Computing is becoming low cost and pervasive, embedded in any node, Users’ device, everyday object and in the physical environment (sensors, actuators, etc) as well. An open and dynamic networked world will be the arena of next services and applications. Traditional control and management approaches will be ill-suited to face such environments: the question is how effectively exploiting coordination in huge ensembles of distributed autonomous entities (against strict requirements such as dynamism and complexity). Forget also traditional middleware: communication and computation costs would be too high, and solutions brittle and fragile. Feasible approaches to control and manage myriad of interacting nodes and devices are still unknown…but do we really need them? Let’s change the perspective: did Nature invent a way to control the behavior of any single neuron ? Not indeed! Part 1 of this post (drawing inspiration from neurotransmitter functioning in neuron networks) has proposed a vision of future networks where each node, device, machine, smart object (like a neuron) is capable of autonomous local self-adaptation reactions to the context (through neurons’ interconnections) and where a global harmonization is made through viral propagation of coordination and context information (as neurotransmitters do). This Part 2 is proposing a simple proof-of-concept aiming at demonstrating that this is feasible even today.
Imagine Users (cars, kiosks, lamp streets…) having a sort of communication halo around them: Edge Networks (see a previous post) will emerge spontaneously (as flocks of birds flying around) through these halos overlapping cross-interactions. Imagine each node having perception of its local context, the environment inside its halo. Each node diffuses its context information hop-by-hop accordingly to certain propagation rules. Any context can be accessed locally but at the same time it takes account of the influences of the context and coordination information propagated from other nodes (also the fixed ones). We’ll have a sort of global coordination field, injected by nodes in the network and autonomously propagating … like neutransmitters. In other words, nodes are interacting with each other and with the environment by simply generating, receiving and propagating distributed data structures abstracting context information. This field is providing nodes with a global representation of the situation of the overall network, which is immediately usable, like an object moving in a “gravitational” field. Environmental dynamics and nodes local decisions will determine changes in the field closing a feedback cycle. This is enabling a distributed the overall self-organization.
In real proof-of-concept nodes’ halos can be easily implemented with a smart phone (acting as Wi-Fi Hot Spot), one (or more) cheap, tiny PC (e.g. a Raspberry Pi for $ 25) and one (or more) microcontroller (e.g. based on Arduino). Coordination field can be made of “tuples” of data which can be injected and diffused by each node. Local reading of these “tuples of data” (e.g. through pattern matching) can trigger local self-adaptation behaviors. Plenty of open source applications are available on the web to implement nodes primitives and local autonomic behaviors. It’s simpler than expected.
Surprisingly, if we look at the network dynamics as a “many body problem” we can even define the Hamiltonian (a sort of energy function describing the state) of the network. Just following Nature.
I’ll elaborate that in a next post.