Booster

a Peer-to-Peer Network Interface Balancer

Daniel Morandini

Supervisor: Andrea Janes

Topics

This is how we will spend our time

Problem Statement

Solution

Evaluation & Conclusion

Time

First Section

Problem Statement

Why someone should care about Booster?

Second Section

Solution

Collecting and forwarding network requests

problem #1

chain of forward proxies

Interesting fact

Idea

A forward proxy for each Internet access point

Proxies with adapted dialer

A forward proxy to collect and distribute network requests

Deciding how to distribute the workload

problem #2

Concept of Node

inside a Booster network

Communication performed using the Booster Protocol

  1. Nodes are connected in a peer-to-peer fashion
  2. Nodes inform their peers about their current workload in real-time
  3. Workload is forwarded to the least-busy node

Fault tolerance

problem #3

Third Section

Evaluation & Conclusion

How to test such an application?

Speedtest


[
	{
		"id": "smart data",
		"urls": [
			"https://smart.inf.unibz.it/media/test_01MB_1.dat",
			"https://smart.inf.unibz.it/media/test_01MB_10.dat",
			"https://smart.inf.unibz.it/media/test_01MB_2.dat",
			"https://smart.inf.unibz.it/media/test_01MB_3.dat",
			...
			"https://smart.inf.unibz.it/media/test_20MB_7.dat",
			"https://smart.inf.unibz.it/media/test_20MB_8.dat",
			"https://smart.inf.unibz.it/media/test_20MB_9.dat"
		],
		"sync": false
	}
]

Job example

Monitoring


~ $ booster help monitor
monitor monitors the activity of a booster node.

Usage:
  booster monitor [command]

Available Commands:
  net         net will monitor network stats.
  node        node will monitor node updates.

Flags:
  -h, --help            help for monitor
  -t, --target string   address to monitor (default "localhost:4884")

Global Flags:
  -v, --verbose   verbose output

Use "booster monitor [command] --help" for more information about a command.

Manual for monitor command

Three types of experiments

  • Computer
  • Computer and Raspberry Pi
  • Computer and phone (Nexus 5X)

Computer with Raspberry Pi

# open connections over time

# open connections over time

Computer with phone

Conclusion

Thesis Defence

By Daniel Morandini

Thesis Defence

  • 943