Multicast moduleThe multicast module allows Tribler nodes (Next-share nodes) to automatically discover nodes and communicate on the local network. Both IPv4 and IPv6 as well as dual-stack operation is supported. Why?The idea is to allow a group of nodes collaborate on a local network to provide the users with a better experience. For example a user with several computers on his home network would like that all his computers collaborate. This could be as simple as bulk-data transfers throttling themselves while he watches a live stream. The nodes should of course also be able to gossip more often if locally available, and should make available files for each other (say stream a video directly). What?Allow nodes to send anonymized information about what they are doing (say 'bulk data transfer' or 'live streaming', possibly with some bandwidth estimations or something). Recipient nodes can then base their own throttling and operations based also on other local nodes. It would also be possible to make some simple local search, e.g. "what's streaming locally", search for a file (allow direct streaming/download). Notice that privacy is not going to be implemented in the multicast package for now. How?The current implementation has a few main functions:
Multiple callback functions can be registered to handle local multicast communication. The node discovery is performed automatically if allowed by the configuration, or a node discovery callback function can be registered to handle multicast node announcements. Usage?To mature and expand this code we need a clear and simple application. First stage could be to simply expose to the user if other local running instances of Tribler/Next-Share are found and allow 1-click friends making. Next step could be:
This would be fully in line with P2P-Next task 4.2.1 Network-awareness modeling, probing, and reasoning. Current state
PatchesAs I (Njaal) don't want to check in these patches yet, I've simply attached it here... Also check out the multicast module from svn (listed above) and put it under "Tribler/Core". Attachments
|