Cambiamento Termini di Servizio gasce.com e spiegazione

In fondo anche i Termini di Servizio sono in beta

NewsTos

Mi sono reso conto di che era necessario inserire il seguente paragrafo nei Termini di Servizio

Attendibilità dei dati
Gasce.com preleva i dati delle statistiche degli utenti connessi ai server con i mezzi messi a disposizione dai gestori di quest’ultimi, ne gasce.com ne il suo staff possono verificare la veridicità dei dati da questi forniti. Il processso di prelievo avviene ogni 10 minuti, in modo concorrente ma non contemporaneo, e il completamento dello stesso non è garantito ma dipende da vari fattori tra cui (senza voler essere esaustivi): carico dei server (compreso quello di gasce.com) saturazione della banda, e problemi tecnici; come conseguenza i dati pubblicati potrebbero non riprodurre esattamente i dati di popolazione riportati dai server monitorati.

Vorrei tuttavia tentare di chiarire cosa questo paragrafo va ad indicare.

La prima frase riguarda la veridicità del dato fornito dai server monitorati.

Innanzitutto gasce.com (come UOShards prima di lui) preleva i dati dai server direttamente (come nel caso in cui il server offra api come ConnectUO) o indirettamente (passando per la status page). Il dato che è registrato nel database di gasce.com è quindi quello fornito dal server stesso nell’istante di prelievo, e non viene in alcun modo filtrato o scartato. Questo vuol dire che gasce.com non ha alcun modo per verificare se, per qualsivoglia motivo, un server comunichi dati errati.

La seconda frase riguarda come gasce tecnicamente effettua il prelievo.

L’attività di prelievo è fatta da un job che viene lanciato ogni 10 minuti, il job è multithread (da cui concorrente) ma è impossibile che il prelievo dei dati dai vari server avvenga esattamente nello stesso istante (non contemporaneo). Vi spiego: anche se tutti i server impiegassero esattamente lo stesso tempo a rispondere all’interrogazione il server di gasce.com ha un numero di core (al momento 2) inferiore al numero di server da monitorare e quindi non potrebbe comunque processarli contemporaneamente (inoltre il server è una macchina virtuale che ospita anche db e portale).

Attualmente il processo di prelievo richiede, in media, circa 10 secondi quindi (sempre in media) potrebbero esistere due o più server i cui dati sono stati forniti ad una distanza temporale di quell’ordine di grandezza. Credo sia ragionevole supporre (ma non mi sono impegnato a verificarlo matematicamente) che tale intervallo non abbia un impatto stocasticamente rilevante sui rapporti di utenza tra i vari server.

Altro discorso è l'errore di campionamento (un campione ogni 10 minuti) questo crea una imprecisione più tangibile, non voglio dilungarmi (ci sono svariati testi matematici facilmente recuperabili su internet) ma volgio fare un semplice esempio: se un server ha un picco di giocatori di breve durata nell’intervallo tra due eventi di campionamenti questo potrebbe non venire rilevato.

Quando ho dovuto decidere il periodo di campionamento ho fatto varie valutazioni sia matematiche (dovute a di quanto mi sarei discostato dai valori effettivi) che più pratiche ovverosia quanto il server poteva reggere nel lungo periodo. Alla fine 10 minuti è risultato il miglior rapporto costo benefici e ritengo che nell’ottica di lungo termine tali valutazioni siano ancora valide.

In soldoni non è possibile essere certi che il dato ricevuto sia veritiero ed in ogni caso il tutto è comunque soggetto ad imprecisione.

Saluti

K.