Imagine this: if you live in a city where every single person uses his own mean of transportation, this means that there is going to be cars, busses, trains, you name it, with only one person inside them - the driver. So, there is no public transportation, there is only an insane number of vehicles causing an extremely awful traffic. Inevitably, there is going to be a moment when nobody will be able to move anywhere because everyone will be stuck in an endless line of cars, for example.
Hypothetically, there is a highway on which only 5 cars can move at the same time. However, imagine that there are 15 people who have to get from point A to point B simultaneously. They couldn’t possibly reach their destination if they drive in 15 different cars. But 15 people can easily get into 3 cars, for example. This way, they would share a resource - a car - and by doing so, they will be able to reach their final goal (point B). Moreover, there will be space for two more cars on the highway.
Now, imagine this: there are 15 viewers who want to watch a 2mbit video stream simultaneously in an office with only 10mbit internet connection to a streaming server. What do they do?
In a centralized network they would need at least 30mbit connection to the CDN, otherwise no one will be able to load or watch the stream because the bandwidth would be insufficient. But this means that their bandwidth capacity must be 3 times bigger.
One can easily buy extra bandwidth capacity. But is it really necessary to get these extra 20mbit connection for a couple of hours of streaming?
Even if the people in the office need no more than the aforementioned 10mbit connection because this is more than enough for the normal workflow?
Even if these 15 people share 1gbit LAN connection?
You don’t have to think twice to notice that there is this enormous amount of resources that just lays there unused.
What if the viewers used part of the 1gbit LAN connections they share among each other as extra bandwidth capacity while watching the stream? Is it possible to offload the centralised resources with the distributed local ones?
In a centralized network, the situation is pretty much the same as the highway metaphor - the viewers can’t watch the stream because they are trying to reach it by using 15 different cars, i.e. they do not share their resources.
We realized that the solution was in finding the effective way to use the already existing resources.
If some of the viewers are downloading the stream from the CDN and they share it with the rest, we will achieve the same effective result as with getting a few people in the same car.
This is how in a decentralized network, the limited centralized resources are offloaded.
Basically, we made the network more intelligent – we added a virtual layer to its already existing infrastructure, which made all viewers equipotent and allowed them to communicate with each other (share resources) on an application level.
And, to make it more user friendly, we made it more easily applicable - no plugins, no third-party software and zero hardware.
Our solution offers a different perspective!
It has never been about the highway capacity. It has always been about finding the best way to share your resources with others.
If you want to read more and are interested in the technical details, stay tuned for the second article of the Viblast PDN series!