Registered Member
|
I've often seen similar torrents of the form:
TorrentA - FolderA/File1.ext - FolderA/File2.ext - FolderA/File3.ext TorrentB -- subset of TorrentA - FolderB/File2.ext - FolderB/File3.ext TorrentC -- superset including TorrentA - FolderC/File1.ext - FolderC/File2.ext - FolderC/File3.ext + FolderC/another_file.ext TorrentD -- subset of TorrentA + extra file(s) - FolderD/File1.ext - FolderD/File2.ext + FolderD/extra_file.ext + FolderD/additional_file.ext TorrentE -- identical to TorrentA, but without FolderA - File1.ext - File2.ext - File3.ext where each torrent has some files in common (designated with leading hyphen), albeit often in different folder hierarchies (eg FolderA vs FolderB), sometimes with different piece sizes, and very rarely with different file names. If one is interested in downloading a subset of files common to multiple torrents, it would be useful to add seeds and peers from other torrents containing those files and treating the extra files as "do not download". For example, to download all files in TorrentA, it would be useful to use peers and seeds from TorrentB, TorrentC, TorrentD, and TorrentE as well. Noting that identical torrents hosted on different trackers are combined readily enough, but there does not appear to be a way to combine/merge torrents that are subsets or supersets of each other. This would be particularly beneficial for older torrents that have limited peers and/or seeds, are particularly slow (sometimes mere Bytes/s), or a complete copy would be available if it were possible to combine/merge torrents. At the very least, I think that the pieces of the same size and that do not span multiple files could be combined/merged without too much trouble. I think differing piece sizes could be handled as well, merely by reporting completion based on the peer's or seed's torrent piece size. The local client could indicate completion based on the smallest piece size as those hashes should be made available by that torrent. For example, a piece from File2.ext could be downloaded as: Piece0 from TorrentA (4 MB pieces) [in decimal, despite ^0] 0000 kB - 0256 kB: TorrentB (256 kB pieces) peer 0256 kB - 0768 kB: TorrentC (512 kB pieces) peer 0768 kB - 1792 kB: TorrentD (1 MB pieces) seed 1792 kB - 3840 kB: TorrentE (2 MB pieces) peer 3840 kB - 4096 kB: TorrentB (256 kB pieces) seed Noting that while it may be necessary to take respective piece boundaries into consideration, the above is largely for illustrative purposes, and even with this restriction, it would still be beneficial. |
Moderator
|
Registered users: Bing [Bot], claydoh, Google [Bot], rblackwell