Super-seeding
Encyclopedia
Super-seeding is a feature of some BitTorrent clients
Client (computing)
A client is an application or system that accesses a service made available by a server. The server is often on another computer system, in which case the client accesses the service by way of a network....

 that attempts to minimize the amount of data which must be uploaded by the original seed until the first completion of a downloading peer. The feature was conceived by John Hoffman and first implemented in the BitTornado
BitTornado
BitTornado is a free BitTorrent client for transfer of computer files over networks, including the Internet. It is developed by John Hoffman, who also created its predecessor, Shad0w's Experimental Client...

 client in 2003. This feature is intended to be used when there is only one seed
Terminology of BitTorrent
This list explains terms used when discussing BitTorrent clients, and in particular the BitTorrent protocol used by these clients.-Availability: The number of full copies of a file directly available to the client. Each seed adds 1.0 to this number, as they have one complete copy of the file...

.

Super seeding is a change in the behavior of seeds
Terminology of BitTorrent
This list explains terms used when discussing BitTorrent clients, and in particular the BitTorrent protocol used by these clients.-Availability: The number of full copies of a file directly available to the client. Each seed adds 1.0 to this number, as they have one complete copy of the file...

 and may be implemented without violating the BitTorrent protocol. Super-seeding is specified in BEP 16.

Operation

Rather than claiming to have every piece from the outset, the seeder claims to have no pieces. As peers connect, the seed will inform a peer that it has received a new piece, one that has not yet been sent to any other peers. The seed then unchokes the peer and allows it to download the piece. The seed will not upload another piece to the same peer until the seed receives confirmation from other peers that the piece has been uploaded again.

Effects

The intent of strictly limiting the uploading of duplicate pieces is that a super seeder will upload fewer bits than a standard seeder would before peers begin to complete, though it does not necessarily mean that the initial seed will complete in less time. Duration until the first completion of a downloader during a super seed is limited by the upload rate of the peers connected to the super seeder. Additionally, the seed does not have global information about piece distribution, and may not be informed of a piece being uploaded if the piece is uploaded to a peer not connected to the seed (which often occurs when the seed cannot accept incoming connections). If many seeds on a mature torrent are using super seed mode, the performance of the torrent will be limited.

Super seed mode is most useful for seeds that pay for upload bandwidth by the byte. In that case, super seeding makes sense as it minimizes the costs required to seed a torrent. Additionally, when one has a low upload speed super seed is very efficient. In other cases, the benefits of super seeding are not so clear. The configuration of peers and their individual upload capacities over the spectrum of individual torrents varies widely.

Testing by one group found that super seeding can help save an upload ratio of around 20%. It works best when the upload speed of the seed is greater than that of individual peers.

The overall positive effect is not reserved only for the initial seeder, however, because the method creates multiple seeds in a more efficient manner than "average" seeding in a limited number of cases (one seeder, multiple incomplete peers). In theory, once the initial seeder uploads one complete copy of the file, multiple new seeds should emerge in a matter of minutes, thus boosting the overall uploading speed of the swarm
Terminology of BitTorrent
This list explains terms used when discussing BitTorrent clients, and in particular the BitTorrent protocol used by these clients.-Availability: The number of full copies of a file directly available to the client. Each seed adds 1.0 to this number, as they have one complete copy of the file...

. In practice, the results may vary for various reasons.

Stalling problem

Super seeding transfers stall when there is only one downloading client. The seeders will not send more data until a second client receives the data. To avoid this, rTorrent
RTorrent
rTorrent is a text-based ncurses BitTorrent client written in C++, based on the libTorrent libraries for Unix, whose author's goal is “a focus on high performance and good code”...

 continues to offer more pieces to the peers without waiting for confirmation, until it is uploading at its configured capacity. This improves the upload speed until enough peers have joined the swarm, at the cost of not being able to detect cheating peers. Vuze
Vuze
Vuze is a BitTorrent client used to transfer files via the BitTorrent protocol. Vuze is written in Java, and uses the Azureus Engine. In addition to downloading data linked to by .torrent files, Azureus allows users to view, publish and share original DVD and HD quality video content...

 uses an unknown method to prevent stalling, but it still limits upload speed. It is not known if any other implementations use a timeout or other solution. When uploading to a single client, it's recommended to disable super-seeding.

Supporting clients

  • ABC (Yet Another BitTorrent Client)
    ABC (Yet Another BitTorrent Client)
    ABC is a free software, open source BitTorrent client based on BitTornado. It supports a queueing system with priority, global and local preference setting for downloading torrent , 3 upload options to do with completed file, and a system named Upload Rate Manager to force torrents out of queue...

  • BitComet
    BitComet
    BitComet is a cross-protocol BitTorrent, HTTP and FTP client written in C++ for Microsoft Windows and available in 52 different languages. Its first public release was version 0.28...

     (Feature added in v.1.16. Renamed to Initial-Seeding in v.1.17.)
  • BitSpirit
    BitSpirit
    BitSpirit is a freeware, closed source BitTorrent client by ByteLinker Inc. It is available for Microsoft Windows and written in C++.According to TorrentFreak, 1.996% of BitTorrent users are using BitSpirit.-External links:* *...

  • BitTornado
    BitTornado
    BitTornado is a free BitTorrent client for transfer of computer files over networks, including the Internet. It is developed by John Hoffman, who also created its predecessor, Shad0w's Experimental Client...

  • BitTorrent version 6.0
  • KTorrent
    KTorrent
    KTorrent is a BitTorrent client written in C++ for KDE using the Qt user interface toolkit. It is maintained in the KDE Extragear.- Features :*Upload and download speed capping / throttling & scheduling...

     4.1
  • qBittorrent
    Qbittorrent
    qBittorrent is a free software cross-platform BitTorrent client GUI written with Qt4. The program uses libtorrent-rasterbar C++ library for the torrent back-end functionality. It is developed by Christophe Dumez, from the University of Technology of Belfort-Montbeliard in France...

  • rTorrent
    RTorrent
    rTorrent is a text-based ncurses BitTorrent client written in C++, based on the libTorrent libraries for Unix, whose author's goal is “a focus on high performance and good code”...

     version 0.8.2
  • Tixati since version 1.34
  • µTorrent (Named "Initial Seeding".)
  • Vuze
    Vuze
    Vuze is a BitTorrent client used to transfer files via the BitTorrent protocol. Vuze is written in Java, and uses the Azureus Engine. In addition to downloading data linked to by .torrent files, Azureus allows users to view, publish and share original DVD and HD quality video content...

    (formerly Azureus)

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK