quote: Original post by Vodex
Consider eMule, a file sharing app that typical broadband users have 1000 connections to other users,
Since when? True, eMule users maintain a download queue with which other users register to wait on files, but even a client with ten thousand users on its queue surely does not have ten thousand active connections. The scheme is very much touch-and-go; querying users request to be added to the queue and check in only periodically to retrieve their current position and other information. If they don''t check in after a set amount of time, the client removes them from its queue.
quote:
dynamically reading, writing, and tracking upload & download process of hundreds or maybe thousands of shared files.
Again, a little exaggerated. eMule clients are only informed of the upload and download processes of other users when those users connect to a client to request a queue position, at the start of uploads, and other discrete events. There is no open connection designed specifically to continuously exchange progress information; even two clients on the end of an active transfer don''t do this.
quote:
Yet it has no noticeable performance hit & apparently can run alongside demanding games.
See the above reasons. At any one time, an eMule client has a number of active connections equal to the number of ongoing file transfers plus a very small fraction of the number of clients on the queue and download lists (due to checking in, etc.). An overview of eMule''s network architecture may be slightly off-topic, but I thought this had to be corrected to keep the feasibility of your original idea in check.
RapscallionGL - arriving soon.