inspiriert von der unglaublichen Ineffizienz der autom. Uploadpriorität, als ich bis gestern mein aktuelles Release verteilte, habe ich mir heute im ÖPNV ein paar Gedanken gemacht, wie man das alternativ lösen könnte... spontan kam mir dabei ein neues "unique feature" in den Sinn, das ich erst mal vorstellen wollte, bevor ich's umsetze...
Ich nenne es "Spread Priority", da die Priorität anhand der vollständigen Quellen (eMule hat ja eine ungefähre Abschätzung dieses Wertes pro Datei in petto) geregelt wird.
Voraussetzung: Priorität der Datei ist nicht auf "Auto" (wär ja widersinnig) und kein Partfile (wär unklug).
Grundlegende geplante Funktionsweise:
Bei jeder Anfrage der Datei wird überprüft, wie viele vollständige Quellen die Datei hat, und mithilfe einer (einstellbaren) Aktivierungsgrenze entsprechend die Priorität angepasst. Diese Grenze legt das Intervall der Quellen fest, in dem die Priorität gesenkt werden soll; wird sie unterschritten, wird die Priorität auf die höchste Stufe gesetzt (daher Spread *g*). Das Zeitintervall zwischen zwei automatischen Prioritätsänderungen wird auf zwei Minuten gesetzt, um unnötige Last zu vermeiden.
(Unterscheiden wird zudem zwischen Powershare und nicht Powershare.)
Doof formuliert?
Rechenbeispiele:
- Eine Datei mit 11 vollständigen Quellen, Priorität "Hoch", Aktivierungsgrenze global auf 2 Clients gesetzt.
Spread Priority würde die Priorität also um floor(11/2) = 5 Stufen senken (und wäre effektiv bei "Sehr niedrig"). - Eine Datei ist auf "Powershare - Sehr niedrig", hat aber nur eine vollständige Quelle bei einem Aktivierungslimit von 3 Clients.
Die Priorität würde auf "Powershare - Release" gesetzt werden, bis es mindestens drei vollständige Quellen gibt, und dann wieder schrittweise gesenkt.
So, und jetzt könnt ihr mir sagen, wo mein Denkfehler liegt, bevor ich's umsetze und wieder alle meckern.
