Skip to main content

Network Performance Explorer


Overview

Network Performance Explorer ensures availablity of the files of the storage client in the network. For this we follow Bee-Hive architecture. Bee-Hive Architecture is a architecture designed to watch over the storage network. It constantly monitors nodes in the network and performs maintainance tasks in the network such as shard redistributon, shard recovery, shard rebalancing and garbage collection. As the name suggests, it composites of two main entities.


Bee Hive Architecture

Bee Hive Architecture


Bees

Bees are large number of browser extensions that gathers information regarding storage nodes in the network and provide the subsequent feedback to hive. Bees communicate with each other through peer to peer network. They constantly check the information of the Node. Bees fetches the following informations of the nodes and send it to hive.

  • Node uptime/downtime
  • File upload/download speed
  • Device read/write speed
  • Information about the tempered files
  • Information about the missing files
  • Information of storage size

Multiple bees inspect single node in a smaller time frame and if majority bees send a similar information about the node then it is selected as the true information.

Bees can be furthur categorized as:

Scout

Scouts are a type of a bee that look for storage nodes and assign them to the worker nodes. A scout maintains the information about the storage nodes as well as information about other bees in the network and ping them to inspect a certain node.

Worker

Workers are a type of a bee that performs inspection on storage node assigned by a scout. A worker also maintains information on other bees and constantly broadcast it's availablity to other bees so that it can be picked up for node inspection.

Scout Election

Scout is selected based on the election algorithm. If scouts goes offline because of any reason and there are no scouts is available on the network, worker gets appointed as scout from the election. Scout and Worker ratio is always maintained though the algorithm process.


Hive

Hive is a type of a node but instead of storage data, it maintains other information about node regarding their performance and availability. It also maintains information about the metadata of the files and folders.

Hive receives information about storage nodes through bees and according to the information provided by the bees, hive perform following tasks.


Shard recovery

If the files goes missing from the node, recover it to the same node.


Shard redistribution

If the node goes down for long period of time, redistribute the shard files present in that node to different nodes


Shard rebalancing

If new nodes shows up in the region, move the shard files to new nodes.


Garbage collection

If unknown files are detected in the nodes folder, delete it to maintain storage size.