Basically a network overlay is a network built upon another network. It uses the underlying network as a support infrastructure without changing it and defines its own protocols to communicate between nodes. This adds additional capabilities to the underlying network. Many peer-to-peer networks are built in this way.
The nodes in the peer-to-peer network are defined logically, change dynamically, have their own protocols for discovering nodes and transferring data and utilize internet protocols. They are overlays on the internet.
Overlays create the potential for creating new and disruptive network and service architectures. They are easily deployed on existing host machines connected to the internet. It can provide a mechanism for services to migrate across the internet, perform dynamic discovery of remote services and become adaptive to handle failures and distributed load. These capabilities could be available across any and all computers connected to the internet.
There are a handful of network overlay software packages available as open source today. They provide features beyond what the internet offers. Some of the packages include:
- RON – to improve the availability and reliability of data packet routing
- Chord – used to build scalable distributed peer-to-peer systems
- Bamboo – implementation of a DHT algorithm for use in peer-to-peer architectures
If the following can be combined:
- a good DHT algorithm to manage mappings of host across the internet which dynamically join and leave
- software that discovers and host services at each node in the network
This would create a very powerful implementation of an architecture supporting many different kinds of dynamic services and social networks that execute not just in the isolation of data centers but across any and all computers wishing to join the network.