U.S.S.

In eMule normalmente non è possibile togliere il limite dall'upload, altrimenti si satura tutta la capacità della propria linea con i dati da dare agli altri utenti e, di conseguenza, non riuscireste più a spedire velocemente i pacchetti di conferma ricezione a coloro che vi stanno facendo scaricare. La vostra velocità di download quindi calerà vistosamente.
Da alcune versioni è stato introdotto un sistema automatico detto USS, cioè UploadSpeedSense, ideato da ZZ e detto anche Upload Dinamico. Esso consente al vostro eMule di arrangiarsi da solo nel trovare la migliore velocità di upload, senza bloccare la linea, senza rallentare la navigazione internet  adattandosi automaticamente alle vostre esigenze, come per esempio navigazione internet o altro traffico sulla linea (non adatto a 56K/ISDN/GPRS/UMTS).
In questo modo potrete incrementare al massimo i crediti che vi vengono riconosciuti dagli altri utenti, e quindi scaricherete più velocemente i vostri files.
 
ATTENZIONE: Se dopo averlo attivato, nel Registro Eventi (visibile in basso nella finestra Server) vi compare il messaggio "UploadSpeedSense: Traceroute fallito troppe volte. Upload SpeedSense disattivato", vuol dire che eMule non riesce ad attivare l'Upload Dinamico.
Controllate quindi il vostro firewall perchè i pacchetti ICMP (le regole ICMP Echo Reply e ICMP Echo Request) e i Ping in ingresso e uscita non devono essere bloccati.
Le impostazioni che si sono rivelate più adatte alle linee italiane sono un pò diverse dalle impostazioni standard, perciò ecco come poterlo usare al meglio.
 
Per attivarlo dovete:
1. Andate su Opzioni -> Connessione e impostate i valori delle capacità ed i limiti come mostrato nella guida delle connessioni, facendo però attenzione a impostare il limite di Upload pari alla capacità di Upload (quindi rispetto alle configurazioni mostrate nelle figure, l' UNICO accorgimento è spostare completamente verso destra il cursore che imposta il limite di upload, per stare al sicuro potete fermarlo qualche KB/s in meno rispetto alla capacità di upload).
2. Andate su Opzioni -> Opzioni Avanzate
3. Cliccate mettendo il segno di spunta su "Trova automaticamente il miglior limite di Upload" in basso dove iniziano le impostazioni dell' Upload Dinamico.
4. Inserite in "Velocità minima di upload consentita" un valore pari a circa la metà della vostra capacità di Upload. In questo modo eviterete che per errore eMule scenda sotto questo valore.
5. Inserite "Tolleranza Ping (% rispetto al Ping inferiore)" = 400 , consentite cioè che il ping (il tempo andata-ritorno dei pacchetti dati) sia circa 4 volte quello che avete con la linea vuota senza alcun upload. Alzare questo valore alza la velocità di upload, ma tende a intasare maggiormente la linea.
6. Premete OK
N.B. Se in Opzioni -> Connessione impostate la Capacità -> Upload a 0 l' U.S.S. si attiverà in automatico.
 
 

Riportiamo qui a titolo di esempio un paio di configurazioni delle schermate Opzioni -> Connessione e Opzioni Avanzate. Per le altre basta seguire la stessa logica e la procedura appena descritta.
ADSL con upload a 256kbit
 
  

ADSL con upload a 384 kbit
 
 

Dopo qualche minuto necessario a far partire l'U.S.S., in basso a destra nella finestra di eMule vedrete comparire tre numeri in questo modo:
 

essi indicano rispettivamente:
1. Il limite di upload che viene utilizzato in ogni istante (come vedrete varia leggermente per adattarsi alla linea, il minimo è ovviamente il valore di "Velocità minima di upload consentita")
2. Il Ping attuale in millisecondi (varia in modo molto marcato, ma eMule fa una media su vari secondi)
3. La percentuale del ping attuale rispetto a quello misurato da eMule con l'upload a zero (ovviamente è maggiore del 100%, perchè è quasi impossibile che trasferendo dati si vada più veloci rispetto alla linea vuota). Se vedete 375% potete interpretarlo ovviamente come 3,75 volte. Se non vedete questo valore vuol dire che avete scelto Metodo di Tolleranza Ping = ms.
La configurazione è finita.
 
Altri parametri di configurazione (per esperti)
E' consigliabile non modificare nulla delle opzioni seguenti a meno di controllare le conseguenze con programmi tipo DuMeter  che vi mostrano con un grafico velocità di upload, download ed eventuali picchi. Tutti questi settaggi si possono trovare in Opzioni --> Opzioni Avanzate
1. "Tolleranza Ping (ms)": invece che indicare un valore di ping massimo relativo al valore a linea vuota, si fissa un valore assoluto. E' inattivo a meno di non modificare il parametro seguente.
2. "Metodo di tolleranza ping": lasciate percentuale. E' sconsigliato usare Millisecondi perchè ogni adsl ha un suo valore, che dipende anche dall'operatore telefonico, dall'orario durante la giornata, dal numero di utenti attivi su quel determinato nodo telefonico.
3. "Aumento Velocità" e "Diminuzione velocità": questo parametro serve a cambiare il tempo su cui eMule fa la media delle misurazioni del ping e serve per non avere un limite di upload troppo variabile (picchi). 1000 Sembra dare buoni risultati, 800 se volete che il sistema sia più veloce a rispondere alle variazioni. Più è basso più il sistema è veloce a reagire (instabile), più è alto e più il sistema è lento a reagire ai cambiamenti.
4. "Numero massimo di ping per la media": ping effettuati al secondo. 1 va bene. 2 spesso non funziona oltre ad essere inutile.

 
Quando attivate l'USS accadono le seguenti cose:
1. In basso nella finestra di eMule vedrete la scritta "Preparazione..."
2. La vostra velocità di upload scende a zero per qualche secondo per poter effettuare la misurazione del ping con la linea vuota (nessun utente perde lo slot perchè è una pausa di pochi secondi)
3. eMule torna a funzionare normalmente e cerca automaticamente la miglior velocità di upload.
Sembra tutto semplice ma se avete attivato il Verbose Log (che compare in basso nella finestra Server, dopo aver abilitato Opzioni --> Opzioni avanzate --> Registro Approfondito --> Attivo), vedrete tutto ciò che accade in quel breve intervallo:
UploadSpeedSense: Try #1. Collecting hosts...:
UploadSpeedSense: Got enough hosts. Listing the hosts that will be tracerouted
Indica che eMule è riuscito a trovare 10 ip a caso tra gli utenti che avete contattato.
B.
UploadSpeedSense: Starting traceroutes to find last common host.
UploadSpeedSense: Pinging for TTL 1...
......
Reply (ICMP-pinger) from 192.168.102.1: bytes=0 time=48.46ms (48.46ms 50ms) TTL=1
Indica che eMule inizia a pingare tutti e 10 gli ip inserendo nel pacchetto di ping un TTL=1 (Time to live).
In internet infatti ogni volta che un pacchetto attraversa un router, cioè fa un salto da un punto di smistamento ad un altro (hop), il suo TTL viene diminuito di una unità, in modo da evitare che, a causa di errati instradamenti, nella rete si formino degli anelli involontari in cui i pacchetti girano in eterno.
Quando TTL=0 il pacchetto viene cancellato e il router invia un pacchetto ICMP al mittente, con l'informazione dell'errore avvenuto.
L'USS sfrutta questa caratteristica per determinare il router più lontano da noi attraverso il quale passano TUTTI i dati. Questo significa che esso è anche il primo router a indirizzare i pacchetti verso strade diverse qualora i destinatari siano diversi.
Viene scelto questo router per avere un'effettiva idea dell'intasamento della rete nel suo complesso da voi agli utenti destinatari e per scoprire il suo ip eMule prima pinga ip diversi con TTL=1.
eMule quindi inizia a pingare con TTL=1 incrementando poi il valore di vita del pacchetto fintanto che la risposta è restituita da un solo IP.
C.
UploadSpeedSense: Host at TTL 1: 192.168.102.1
Normalmente accade che il primo router sarà lo stesso per tutti i dati (la centrale telefonica più vicina a noi). Come al solito esegue per tutti i pacchetti l'operazione TTL=1-1=0 e di conseguenza li scarta tutti mandandovi di ritorno 10 messaggi di errore che provengono tutti dall' IP dello stesso router (in questo caso 192.168.100.1).
D.
UploadSpeedSense: Pinging for TTL 2...
.........
Reply (ICMP-pinger) from 80.18.115.142: bytes=0 time=49.62ms (49.62ms 50ms) TTL=2
Reply (ICMP-pinger) from 80.18.115.26: bytes=0 time=48.50ms (48.50ms 40ms) TTL=2
UploadSpeedSense: Found differing host at TTL 2: 82.56.83.xxx. This will be the host to ping.
UploadSpeedSense: Done tracerouting. Evaluating results.
UploadSpeedSense: Found last common host. LastCommonHost: 192.168.102.1 @ TTL: 1
UploadSpeedSense: Found last common host. HostToPing: 82.56.83.xxx
Attraverso il primo router passano tutti i dati, ma non potete sapere se sia quello più lontano da voi che non li separa.
Si effettua di nuovo la medesima operazione pingando gli stessi 10 ip di prima con TTL=2.
In questo caso si supera agevolmente il primo router, che abbassa il TTL a 1, ma il secondo router ovviamente deve scartare i pacchetti e mandare il messaggio di errore.
Il fatto che ricevete questo errore da due router con ip diversi significa che i dati hanno già seguito strade diverse, e quindi il router precedente li ha già separati.
Viene scelto dei 10 quale ip pingare da adesso in poi (82.56.83.xxx), ed è il primo utente eMule con il quale vi siete accorti del percorso diverso dei dati.
Si deduce che il primo router è quello che smista dati in direzioni diverse fra loro (@TTL=1).
E.
UploadSpeedSense: Finding a start value for lowest ping...
Reply (ICMP-pinger) from 192.168.102.1: bytes=0 time=49.59ms (49.59ms 50ms) TTL=1
.......
Reply (ICMP-pinger) from 192.168.102.1: bytes=0 time=53.88ms (53.88ms 50ms) TTL=1
UploadSpeedSense: Lowest ping: 47 ms
UploadSpeedSense: Preparazione completata. Avvio del controllo della velocità di Upload. (Nei primi 60 secondi sarà nella modalità di reazione veloce))
Mentre l'upload è già stato momentaneamente azzerato, si effettua la misura del ping minimo che diventa il riferimento iniziale per il 400% delle impostazioni precedenti e si comincia a regolare l'upload in modo da non superare il limite.
L'upload viene alzato nuovamente e il lavoro di inizializzazione è terminato.
Durante il funzionamento se si rileva un ping più basso di quello di inizializzazione, esso viene preso come riferimento (potevano esserci altri upload diversi da eMule che hanno falsato la lettura iniziale).
Qualcuno potrebbe obiettare che il sistema intasi la rete o soffra di un problema di sicurezza, perchè i 10 utenti pingati rileverebbero il vostro IP, ma così non è perchè l'aver impostato il TTL ad un valore molto basso vi assicura che si verificherà sempre un errore, e la richiesta non raggiungerà mai il destinatario del ping, bensì un router.
 
===========================================
Problemi con l' U.S.S.
L'USS purtroppo presenta alcuni problemi, oltre alla difficoltà di trovare una corretta configurazione per la propria connessione, appena attivato dalle Opzioni Avanzate potrebbe infatti non “partire” come dovrebbe.
Ve ne accorgete o perché la scritta in basso a destra resta sempre su Preparazione…, o in Registro Eventi (visibile in basso nella finestra Server) leggete questo avviso: ”UploadSpeedSense: Traceroute fallito troppe volte. Upload SpeedSense disattivato”.
eMule non riesce ad attivare l'Upload Dinamico e la causa è quasi sempre un firewall sul PC o nel router. Controllate il vostro Firewall perché i pacchetti ICMP (le regole ICMP Echo Reply e ICMP Echo Request) e i Ping in ingresso e uscita non devono essere bloccati.
 
Se l'upload dinamico non vi funziona, spegnetelo. E' una funzione accessoria che se funzionante porta a dei vantaggi, ma non è indispensabile. Limitate comunque il vostro upload seguendo le figure nella guida delle Connessioni.