-
Notifications
You must be signed in to change notification settings - Fork 111
Light nodes and light mode of operation - meta + timeline #458
Comments
After discussing Task4 with @justelad, we identified some subtasks that are need to be done:
We were also thinking to create a unified struct for storing One question remains if we do this: right now there is a What do you think of these approaches of the problem? |
i dont think a uniffied struct is a good idea
|
https://hackmd.io/s/ry1kbJZfm
In order to be useful on mobile phones and other light hardware (storage and bandwidth impaired) swarm must support a "light mode".
Light on storage:
A swarm node without redundant local storage should be able to advertise to the network that it does not intend to store any chunks. Such a node will not be synced-to by the other nodes.
The node will count as a regular peer in the ordinary Kademlia routing as far as retrieval requests are concerned. It will receive, forward and process retrieval requests (and it may chose to cache the chunks).
However, it will not count towards any node's MostProxBin. This is because this bin is used for redundant storage and the light node will not be storing.
Light on storage and bandwidth:
A node should also be able to advertise that in addition to having no storage, it is also limited in bandwidth (eg a phone not on wifi). When a node indicates that it is in a bandwidth impaired state, its peers will no longer forward retrieval requests to the node. In practice the node is using its peers as swarm gateways.
The node does not qualify as a regular peer in either the MostProxBin nor any other Kademlia bin.
Perhaps it is wise to allow various swarm components to be modular, to be enabled/disabled by nodes at will. This could be part of the initial handshake, or they could also change their status later (such as when a phone connects to wifi, it might start forwarding requests)
So nodes would advertise services:
syncing: on/off (off means non-storing node)
forwarding: on/off (off means bandwidth impaired)
receipting: on/off (on means node is SWEAR registered and will issue storage receipts)
etc.
https://github.com/ethersphere/swarm/wiki/Light-mode-of-operation
see the 3rd network paper http://swarm-guide.readthedocs.io/en/latest/introduction.html#orange-papers
network depends on #628
Swarm client - light mode
Light mode refers to a special mode of operation necessitated by clients need to low resources or balanced services in the network.
Connectivity related issues
How services are launched differently
Light nodes should not be counted regarding proximity
Types of resource constraints
Phases
acceptance criteria for all phases:
Phase 0
Goal: able to start a light node
Task 0 - DONE
Task 1 - DONE
NotifyPeer
(see TASK 4 discovery part)Task 2 - DONE
Task 3
Task 4
NotifyPeer
SubPeerMessage
Phase 1
goal: Able to switch light/normal node operation on the fly
If we don't change the connectivity strategy for light nodes to fill the kademlia, then even pss message receival can work.
Notes
How others, like mobile bittorrent clients solved this?
Meeting Notes
Resources:
https://github.com/ethersphere/swarm/wiki/Light-mode-of-operation
#458
use cases
The text was updated successfully, but these errors were encountered: