Hi there, FreeNet people. I am a student from a Belarusian State University and I'd like to participate in this year's Summer of Code by improving the Free Network. Generally, I wish to enhance the survivability of slow and dying connections, while boosting the broad ones. Some key points that I see after viewing Ideas page and searching the bug tracker: - providing the ability for dynamic detection of the currently available MTU size along the path to the node, making it possible to forecast nearly exact suitable packet size for the connection. (issues 0000976<https://bugs.freenetproject.org/view.php?id=976> , 0005294 <https://bugs.freenetproject.org/view.php?id=5294>) - dealing with the low-bandwidth and high-latency links by more precise control over them - splitting packets to get them through, estimating the appropriate wait-timeout, etc. (0002123<https://bugs.freenetproject.org/view.php?id=2123> and, partly 0005630 <https://bugs.freenetproject.org/view.php?id=5630>) This two could be significantly improved by tracking the connection stats (sent packets / retransmits / acks) for the nodes that we're currently connected to. Provided with such information and making some empirical assumptions we could additionally adjust estimations needed and determine the reliability of the connection. - auto-adjusting the acknowledge method for a connection based on available information (priority for poor connection is to send and receive at least something, whereas for low-latency one additional savings provided by cumulative zero-ack would be a good idea). - some more high-level control also seems feasible: e.g. mentioned idle-priority chunks can reduce the additional load on network at rush-hours.
Perhaps I got something wrong, moreover, I bet that there is much more work to do that I've already found out, so I need to know what do you think about it? -- Vlad Sterzhanov aka Quadrocube
_______________________________________________ Devl mailing list [email protected] https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
