Polling senza timestamp [chiuso]

1

Attualmente ho l'obbligo di condurre sondaggi in una rete in cui i nuovi sistemi possono accedere in qualsiasi momento.

L'idea è che chiunque entri online prima entri in mode1 mentre il secondo entra in mode2, il terzo in poi in mode3. Abbastanza semplice, ma il problema è decidere chi è arrivato per primo.

Non assumere nessuna terza parte online per prendere la decisione per te [sto prendendo il caso peggiore: ogni altro servizio esplode] e senza sincronizzazione temporale. Supponiamo inoltre che il ritardo nella trasmissione dei dati tra i nodi sia incoerente e altamente variabile, causando anche il tempo di attività non affidabile.

Poiché i commenti hanno un limite di parole, risponderò qui immagino:

gnat, davvero non capisco la condivisione della mia parte di ricerca. La maggior parte delle risorse sullo stato della rete si basano su un server per vedere cosa ha effettuato l'accesso [Nessun servizio è sempre in esecuzione, quindi non posso fare affidamento su una fonte esterna per dire chi ha effettuato il login per primo] che non è completamente possibile come ho detto Se hai una rete in cui ti colleghi, devi solo accedere al tuo nodo. Ho pensato di usare una marca temporale, ma a causa della possibilità di una brutta sincronizzazione temporale (esperienza passata) è stata abbattuta dal mio lead. Inoltre, c'è sempre la possibilità che 2 dispositivi accedano allo stesso tempo. Ho paura di cosa potrebbe comportare. Avere un controllo di addizione dopo è fattibile, ma non consigliato [larghezza di banda limitata]

    
posta Ankit 15.02.2016 - 05:57
fonte

1 risposta

2

Ricordo vagamente una cosa del genere dalla scuola di specializzazione molti anni fa. Potresti voler fare qualche ricerca su google per "reti peer" a livello hardware.

  1. Ogni nodo trasmette un messaggio "Sono qui" ogni x unità di tempo
  2. All'avvio, il nodo ascolta in silenzio per 2x unità di tempo. Se non viene ricevuto nulla, il nodo si dichiara "mode1" e lo aggiunge al messaggio. Se c'è una collisione e amp; 2 nodi dichiarano di essere in mode1, possono giocare Rock-Paper-Scissors per capirlo.
  3. Gli altri nodi all'avvio possono chiedere al nodo mode1 quale modalità sono.
  4. Se "mode1" non riesce a trasmettere per unità di tempo 2x, "mode2" si promuove a "mode1" quindi seleziona una nuova "modalità2" da tutti gli altri nodi.
risposta data 15.02.2016 - 20:39
fonte

Leggi altre domande sui tag