[[PageOutline(2)]] = Diario di SoujaK = = ''Anno 2008'' = == Gennaio 2008 == === 4 Gennaio === __1800-1930__[[BR]] Lavori sul ticket #6: [41] === 6 Gennaio === __1600-1930__[[BR]] Lavori sul ticket #6: [42] === 7 Gennaio === __1140-1300__[[BR]] Videoconferenza con Gnappo. __1525-1825__[[BR]] Ideazione algoritmo di analisi del flusso per l'individuazione delle epoche. Progettazione struttura dati per la memorizzazione delle informazioni sulle epoche di un flusso. === 8 Gennaio === __1350-1445__[[BR]] Considerazioni su un possibile algoritmo di inserimento della stazione associanda in grado di sfruttare la struttura dati creata dall'algoritmo di analisi. __1550-1800__[[BR]] Con gnappo: * Condivisione di conoscenze riguardo all'algoritmo di inserimento della stazione associanda. * Considerazioni sulla possibilità di ripescare trasmissioni successive al tempo d'analisi e precedenti al tempo di simulazione. Il ripescaggio appare come una necessità, in linea con la tesi di equità, ma solo assumendo indipendenza fra le trasmissioni. L'eventualità degli errori compiuti nel riarrangiamento temporale fa pensare alla possibilità di limitare il ripescaggio (non anticipare una trasmissione prima dell'ultima trasmissione a lei diretta). La complessità di gestione della struttura dati durante i ripescaggi è ancora tutta da analizzare. === 9 Gennaio === __1415-1440__[[BR]] Aggiornamento del diario. __1500-1620__[[BR]] Esposizione non rigorosa dell'algoritmo di individuazione delle epoche di un flusso. __1650-1810__[[BR]] Revisione teorema di saturazione della stazione e del flusso. Ampliamento della tesi di equità del flusso (rinominabile). __1845-1927__ __1944-[[BR]] Videoconferenza con gnappo: * Condivisione progressi dei lavori di SoujaK della giornata. * Considerazioni sulla modellazione delle trasmissioni AP -> STA. === 10 Gennaio === Aggiornamento del modello teorico, al fine di renderlo capace di descrivere anche le assunzioni riguardanti le politiche di ripartizione delle trasmissioni dell'AP. ---- == Aprile, Maggio e Giugno 2008 == === Obiettivi === Il punto di partenza per la revisione degli studi finora condotti è uno sguardo più ampio con il quale analizzare il flusso trasmissivo. Le assunzioni di equità nel locale, benché non abbiano manifestato la loro fallacia nell'analisi semplificata in condizioni di saturazione, sono da dimenticare assieme al concetto di epoca sul quale si fondavano. L'imperativo è guardare al globale: le variazioni locali di cui si vorrà tener conto saranno colte con osservazioni che tengono in maggior conto i periodi più recenti. L'analisi reale si proponeva però di fornire una valutazione del carico ed una conseguente stima delle prestazioni ottenibili dalla stazione associanda che tengano conto di una ampia serie di dettagli. Si faceva riferimento alle diversità fra stazioni nel datarate, nella lunghezza dei frame o nel throughput. === Modello teorico === ''Durata dell'accesso [d=w/r]'' Si consideri, fra le caratteristiche delle stazioni la frequenza d'accesso [a], espressa in 1/s. DCF assicura a stazioni con pari desideri trasmissivi una tendenza all'equità nel numero di accessi. Calcolando la frequenza d'accesso per un insieme di stazioni con pari desideri trasmissivi si otterranno valori che tendono ad avvicinarsi. Il parametro [a] può quindi essere utilizzato come chiave per la ripartizione degli accessi durante una simulazione di presenza della stazione associanda. ''Tasso d'accesso [a] (hz)'' Il grado di partecipazione di una stazione è il numero puro equivalente al prodotto fra la durata dell'accesso e il tasso d'accesso, ed e` indicato con p. Vale, ovviamente che 0<=p<=1. La somma dei gradi di partecipazione delle stazioni è uguale al vecchio "tasso d'occupazione del mezzo trasmissivo". ''Grado di partecipazione [p=d*a] (n) '' === Inserimento della stazione associanda === Un punto fermo di questa sezione della modellazione è che la stazione associanda, che si assume essere caratterizzata come satura, riempirà ogni silenzio rilevato sul canale portando il tasso d'occupazione del mezzo trasmissivo ad 1. Nell'effettiva formalizzazione dell'idea di equità e nel come essa si concretizzi nel ripartire le possibilità trasmissive alle varie stazioni nella simulazione di presenza della stazione associanda le cose si fanno più complesse. Una semplice modalità di procedere è quella di tenere invariate le proporzioni fra i tassi d'accesso delle varie stazioni. Così facendo il modello non terrebbe conto dell'effettiva diversa ripartizione dell'impatto dell'entrata della stazione associanda. Anzitutto alla stazione associanda sarà garantito un tasso d'accesso maggiore o uguale ai tassi d'accesso delle stazioni associate. Qualora i silenzi siano lunghi a sufficienza i tassi d'accesso delle stazioni associate non vengono diminuiti dal simulato ingresso della stazione associanda. Per verificare questa condizione basta dividere il tasso di partecipazione nullo (ovvero il tasso di non-occupazione del mezzo, 1-"tasso d'occupazione del mezzo) per la durata dell'accesso della stazione associanda. Così facendo si ricaverà il tasso d'accesso (a'_x) della stazione associanda. Se esso è maggiore o uguale di ognuno dei tassi d'accesso delle stazione associate, esse non verranno penalizzate dall'entrata dalla stazione associanda. === Algoritmo per la ripartizione degli accessi === ==== Versione semplificata ==== Ipotizzando che la durata degli accessi sia d, costante fra le stazioni, si propone il seguente algoritmo. {{{ 1 i=|S| // contatore delle stazioni da computare 2 a_x = 0 3 a = 1/d // accessi al secondo ancora effettuabili 4 while (i>0) 5 s = indice della stazione tale che a_s e` minimo 6 if (a_s > a/i) 7 a'_s = a_s 8 else 9 a'_s = a/i 10 a -= a'_s 11 i-- 12 a_x+=a // ad x tutti gli accessi restanti }}} Il costo dell'algoritmo è `O(n^2)` se si ricerca il minimo con una scansione semplice della lista. ==== Versione completa ==== Considerare la possibilità che gli accessi possano avere durata variabile da stazione a stazione significa appesantire la computazione di adeguate normalizzazioni rispetto ai d_s delle varie stazioni s. {{{ 1 i=|S| // contatore delle stazioni da computare 2 a_x = 0 3 d = somma(d_s per ogni s)/i // durata di un accesso medio fra le sta 4 a = 1/d // accessi al secondo ancora effettuabili 5 while (i>0) 6 s = indice della stazione tale che a_s è minimo 7 if (a_s > a/i) 8 a'_s = a_s 9 else 10 a'_s = a/i 11 d=(d*i-d_s)/i-1 // aggiornamento della durata dell'accesso medio 12 a = 1/d 13 i-- 14 a'_x+=a // ad x tutti gli accessi restanti }}} Il costo dell'algoritmo resta `O(n^2)` nel caso di ricerca il minimo con semplice scansione della lista non ordinata. Il concetto di frequenza di diritto è ben utilizzato dalla versione semplificata, ma la versione completa non e` in grado di normalizzarlo rispetto alla variabilita` nella durata degli accessi. Nel caso in cui d sia costante fra le stazioni (quando i loro accessi hanno durata uguale fra loro) è facile calcolare la frequenza d'accesso di diritto come una suddivisione in parti uguali fra le stazioni della frequenza massima possibile. Quando i d variano per calcolare la frequenza di diritto e` necessario ... == Luglio 2008 == === 13 Luglio === Il concetto di equità precedentemente perseguito resta fondamento della prosecuzione degli studi: esso si esprime in una tendenza alla parità nel tasso d'accesso di stazioni con identiche esigenze trasmissive. Il più grande errore commesso era appunto il tentativo di imporre equità locale, quando essa è tutt'altro che presente. Nel simulare la presenza della stazione associanda il tasso d'accesso diventa coerentemente il metro con cui misurare i diritti delle stazioni associate. Gli algoritmi elaborati a questo fine a metà di Maggio non erano però in grado di simulare una ripartizione degli accessi in grado di non ignorare le diversità delle stazioni nella durata degli accessi (cfr v1 e v2). L'idea di fondo non è nuova: si tratta di una rivisitazione di un algoritmo ripartitore che comincia ad assegnare accessi dalle stazioni meno esigenti, passando via via alle più "golose". Questa volta non si ripartiscono accessi di una misteriosa epoca, ma si concedono tassi d'accesso via via più altri, fino alla saturazione del tempo del canale. === 14 Luglio === ==== Algoritmo di ripartizione degli accessi - v4 ==== {{{ 1 a'_s <= 0 // inizializzazione per ogni s in S 2 finché (S nequal \empty) // insieme delle STA insoddifatte non vuoto 3 d <= \sum^S d_s // durata trasmissione di ognuna 4 a_{MAX} <= 1/d // concessione massima attuale 5 s_{cur} <= s \in S | min(a_{MAX} - a'_s) // STA meno insoddisfatta 6 a_{cur} <= min (a_MAX, a_{s_{cur}} - a'_{s_{cur}}) // concessione attuale 7 perogni (s \in S) 8 a'_{s} += a_{cur} // soddisfacimento per tutti 9 S <= S/s_{cur} // eliminazione STA di tara }}} === 15 Luglio === Nell'algoritmo v4 l'aggiornamento della concessione massima del periodo in analisi in ogni giro avviene implicitamente, mediante la rimozione (r7) della stazione meno soddisfatta sulla quale si è tarata la concessione del periodo (r6). Questo aggiornamento è errato e va modificato, eventualmente considerando il numero di stazioni o normalizzando rispetto alla durata degli accessi delle stazioni servite. === 16 Luglio === Riprogettato da capo l'algoritmo, tentando di sistemare il problema di aggiornamento del numero di accessi ancora disponibili. ==== Algoritmo di ripartizione degli accessi - v5 ==== {{{ 1 a_M <= 1/(\sum^S_i d_i) // tasso d'accesso inizialmente disponibile 2 s <= i \in S : min(a_i-a'_s) // STA meno insoddisfatta 3 SE (a_M > a_s - a'_s) // s e` soddisfacibile 4 a'_S += a_s - a'_s // assegno ad ogni STA cio` che mancava a s 5 d <= (1 - \sum^S_i d_i * (a_s - a'_s) ) // <------------ 6 SE (d>0) // tassi d'accesso ancora incrementabili 7 a_M <= 1/d // aggiornamento tasso d'accesso disponibile 8 GOTO 2 // cicla 9 ALTRIMENTI // s e` insoddisfacibile 10 a'_S += a_M // assegno ad ogi STA il tasso d'accesso disponibile }}} === 21 Luglio === Digitalizzazione della versione 5 dell'algoritmo. La forma spaghettosa con l'uso del GOTO è frutto di una riprogettazione da zero ancora non raffinata. È stato chiarito nel flusso di esecuzione il diverso comportamento a seconda della condizione in riga 3 cambiando, in questo modo, la condizione di chiusura del flusso (r9). Se la stazione meno soddisfatta non è soddisfacibile non lo è nessun'altra e la ripartizione non puo` che concludersi immediatamente concedendo ad ogni stazione il medesimo tasso d'accesso. La riga 5 è da rivedere. Al termine dell'esecuzione dell'algoritmo di ripartizione degli accessi devono verificarsi alcune condizioni che possono essere utilizzate come parziale prova di correttezza. {{{ 1. \sum^S_i p'_i = 1 (p'_i = a'_i * d_i) }}} Il tasso di occupazione del mezzo, dato dalla somma di tutti i tassi di partecipazione delle stazioni deve raggiungere il massimo, vale a dire uno, il valore di saturazione. {{{ 2. \forall i \in S: a_s > a'_s }}} Ogni stazione ottiene un tasso d'accesso minore o uguale a quello ottenuto in assenza della stazione associanda simulata. {{{ 3. \forall i,j \in S: a_i >= a_j => a'_i >= a'_j }}} Prese a caso due stazioni distinte se la prima aveva trasmesso più della seconda, dopo l'entrata della stazione associanda la seconda non trasmette piu` della prima. In effetti l'entrata di una nuova stazione si crede che tenda a ridurre la partecipazione delle stazioni che partecipano maggiormente, coerentemente con la tendenza all'equità. == Ottobre 2008 == === 23 Ottobre === Il problema della modellazione della ripartizione degli accessi dopo l'entrata della stazione associanda dipende da due fattori: la tendenza all'equità nella spartizione degli accessi (DCF) e le esigenze trasmissive delle stazioni. Elaborare una soluzione diretta al problema sembra simile alla risoluzione di un sistema di N equazioni differenziali e deve essere scartato. === 24 Ottobre === La via che invece verrà utilizzata è quella di rinunciare ad un po' di precisione aumentando la realizzabilità della soluzione: si lavorerà con le frequenze d'accesso. Prima di realizzare una soluzione, però, è importante chiarire i legami fra l'equità della quale DCF è garanzia e le frequenze d'accesso. Soltanto palesando questa relazione si potrà motivare rigorosamente questa scelta. La soluzione algoritmica elaborata a maggio segue questo principio, ma sembra cadere negli stessi problemi emersi nei tentativi di soluzione tramite porzioni di accesso. Rinunciare ad adeguamenti precisi nelle proporzioni delle possibilità di accesso al mezzo semplifica notevolmente il problema e consente, rispetto agli approcci precedentemente utilizzati, di eliminare l'assunzione di indipendenza reciproca delle trasmissioni. Si tratta di tenere invariate le proporzioni delle possibilità trasmissive delle stazioni associate. {{{ #a_x = d_0 / d_x \\ numero di accessi che x prende nel silenzio p'_i = #a_i / (#a_S + #a_x) \\ probabilita` di trasmissione di ogni i if (p'_x \get p'_i) \\ se x ha una prob >= alle altre sta fine \\ quella prob e` corretta else \\ altrimenti p_x = max(p_i) \\ x ha diritto come il massimo p'_i = p_i / p \\ normalizzazione i tutti i p'_i }}} La gestione della presenza dei silenzi nel flusso d'ascolto sarebbe in realtà migliorabile, quella presentata potrebbe essere una buona approssimazione. Resta da verificare la correttezza del ramo else e se il silenzio sia mangiato nella sua totalità. === 27 Ottobre === L'algoritmo del 24 Ottobre sembra rappresentare correttamente l'intuizione di come i ''p '' vengano ripartiti, anche nel caso in cui i silenzi disponibili non siano sufficienti (ramo `else`). Infatti: p > 1 => p'_i < p_i. L'affidabilità delle intuizioni saranno messe alla prova nelle sperimentazioni future. === 28 Ottobre === Il carico deve rappresentare l'impossibità di fruizione del mezzo, il grado di congestione della rete, quindi, intuitivamente, una rete con carico minore consentirà prestazioni maggiori. Il primo tentativo di definizione operativa definisce il carico della stazione ''i''-esima come il prodotto della sua probabilità trasmissiva (''p_i'') e della durata della trasmissione (''d_i''). In questo modo il carico di un BSS ''S'' è pari alla somma dei carichi unitari delle stazioni ad esso associate: {{{ \sum_i^S p'_i d_i }}} Ma questa definizione è in gran parte debole; infatti la sequenza trasmissiva (1,1,1,2) avrebbe lo stesso carico della (1,2,1,2), vale a dire 1. === 30 Ottobre === La presenza del parametro ''p'' appare non corretta o non sufficiente, benché contenga un senso d'efficacia. === 31 Ottobre === Il problema delle definizioni di carico ideate ieri ed oggi (non riportate) sono tutte errate perché il parametro ''p'' non riesce a quantificare quanti e quali accessi siano presenti in ogni giro. È necessario quantificare la presenza di ogni stazione relazionandone l'attività con quella massima ottenuta dalle altre STA. Formalmente il carico unitario della stazione ''i''-esima è dato dal prodotto della durata del suo accesso (''d,,i,,'') e del suo peso (''w,,i,,''); formalmente: {{{ l_i = w_i d_i w_i = \frac{a_i}{M(a_i)} }}} == Novembre 2008 == === 4 Novembre === Il carico del canale dipende in maniera lineare dal carico delle stazioni che lo utilizzano ed è inversamente proporzionale al silenzio in esso presente. Formalmente il carico del canale è esprimibile nel seguente modo: {{{ (1) L_i = \sum_i{l_i} o_S (2) o_S = (\sum t_i) / t_S (3) t_i = a_i * d_i }}} === 5 Novembre === L'obiettivo di modellazione delle prestazioni ottenute o ottenibili dalle stazioni comporta un'analisi più accurata delle '''trasmissioni'''. La banda ricettiva (''download'') è infatti generata dalle trasmissioni provenienti dall'AP e dirette alle STA. Il carico prodotto dalle trasmissioni dall'AP è quantificato nel carico dell'AP, calcolato come ogni altro carico unitario. In particolare come durata della trasmissione si usa la durata media delle trasmissioni AP -> STA. In questo modo si tiene conto non solo della durata media delle ricezioni di ogni stazione, ma si considera anche la reale influenza delle ricezioni di ogni STA, infatti: {{{ d_i = \sum_i {a_di * d_di / a_d} = \sum_i {a_di * d_di} / a_d = \sum_i {t_d / a_d} }}} Anche l'algoritmo di inserimento della stazione associanda deve essere ampliato per adeguare le trasmissioni che l'AP effettua verso di essa. Ecco una versione parziale che getta le intuizioni alla base della soluzione. {{{ t_s silenzio a_ui a_di a_d = sum a_di a_x=0 1 a'_ux = a_d 2 t_s -= a'_ux * d_ux 3 se t_s > 0 4 a'_dx = t_s / (d_ux + d_dx) 5 a'_d = a_d + a'_dx 6 a'_ux += a'_dx 7 se a'_ux <= M(a_ui) 8 a'_d = a'_ux = M(a_ui) 9 \\ normalizzazione 10 else 11 else 12 a'_d = a'_ux = M(a_ui) 13 \\ normalizzazione 14 \\ ripartizione ricezioni }}} === 7 Novembre === Ampliamenti e miglioramenti all'algoritmo di ripartizione delle trasmissioni e delle ricezioni (ora anche commentato): {{{ t_s: durata totale dei silenzi a_ui, a_di: numero di accessi in invio e in ricezione della i-esima STA a_d = sum a_di a_dx = a_ux = 0 01 se t_us >= d_ux * a_d [ se x puo` usare silenzio per trasmettere come AP ] 02 t_us -= d_ux * a_d 03 a_'ux = a_d [ x trasmette come AP ] 04 se t_us >= 0 [ se avanza silenzio ] 05 a'_dx = t_us / (d_ux + d_dx) [ meta` silenzio per ricezioni di x ] 06 a'_d = a_d + a'_dx 07 a'_ux += a'_dx [ meta` silenzio per trasmissioni di x] 08 se a'_ux <= M(a_ui) [ se x non trasmette al massimo ] 09 a'_d = a'_ux = M(a_ui) [ ripartizione grezza trasmissioni ] 10 ... [ normalizzazione trasmissioni ] 11 a'_dx = M(a_di) [ ripartizione grezza ricezioni ] 12 ... [ normalizzazione ricezioni ] 13 alrimenti [ x trasmette al massimo ] 14 se a'_dx <= M(a_di) [ se x non riceve al massimo ] 15 a'_dx = M(a_di) [ ripartizione grezza ricezioni ] 16 ... [ normalizzazione degli a'_d ] 17 altrimenti [ se non avanza silenzio ] 18 a'_d = a'_ux = M(a_ui) [ ripartizione grezza trasmissioni ] 19 ... [ normalizzazione trasmissioni ] 20 a'_dx = M(a_di) [ ripartizione grezza ricezioni ] 21 ... [ normalizzazione degli a'_d ] }}} === 10 e 11 Novembre === L'algoritmo di inserimento della stazione associanda ha un errore concettuale. Nella sezione di riga 13-16 si fa infatti affidamento sull'avvenuto adeguamento delle possibilità trasmissive della stazione associanda e dell'AP, ma questa assunzione non e` sempre assicurata dalla sezione di righe 1-3. Corretta la notazione del tempo dei silenzi e alcuni commenti. {{{ t_s: durata totale dei silenzi a_ui, a_di: numero di accessi in invio e in ricezione della i-esima STA a_d = sum a_di a_dx = a_ux = 0 1 se t_s >= d_ux * a_d [ se x puo` usare silenzio per trasmettere come AP ] 2 t_s -= d_ux * a_d 3 a_'ux = a_d [ x trasmette come AP ] 4 se t_s >= 0 [ se avanza silenzio ] 5 a'_dx = t_s / (d_ux + d_dx) [ meta` silenzio per ricezioni di x ] 6 a'_d = a_d + a'_dx 7 a'_ux += a'_dx [ meta` silenzio per trasmissioni di x] 8 se a'_ux <= M(a_ui) [ se x non trasmette al massimo ] 9 a'_d = a'_ux = M(a_ui) [ ripartizione grezza trasmissioni ] 10 ... [ normalizzazione trasmissioni ] 11 a'_dx = M(a_di) [ ripartizione grezza ricezioni ] 12 ... [ normalizzazione ricezioni ] 13 altrimenti [ x trasmette al massimo ] 14 se a'_dx <= M(a_di) [ se x non riceve al massimo ] 15 a'_dx = M(a_di) [ ripartizione grezza ricezioni ] 16 ... [ normalizzazione delle ricezioni ] 17 altrimenti [ se non avanza silenzio ] 18 a'_d = a'_ux = M(a_ui) [ ripartizione grezza trasmissioni ] 19 ... [ normalizzazione trasmissioni ] 20 a'_dx = M(a_di) [ ripartizione grezza ricezioni ] 21 ... [ normalizzazione delle ricezioni ] }}} === 12 Novembre === Il problema precedentemente rilevato nell'algoritmo consiste, in definitiva, nella mancata massimizzazione delle possibilità trasmissive dell'AP sfruttabili da parte della stazione associanda. Questo adeguamento dovrebbe essere eseguito prima dell'uscita dal flusso nel blocco delle righe 13-16. === 13 Novembre === Il problema evidenziato il 12 Novembre è stato risolto tramite una totale riscrittura dell'algoritmo. La riprogettazione ha reso lo pseudocodice più snello, leggibile ed organico. Sono state inoltre completamente eliminate i riferimenti alle normalizzazioni. Questa operazione era legata al fatto che si lavorasse, nelle recenti versioni dell'algoritmo, con le porzioni d'accesso delle stazioni. Ora che, invece, si interviene direttamente sul numero di trasmissioni o ricezioni la normalizzazione è superflua o insensata. Ecco la nuova proposta. {{{ t_s: durata totale dei silenzi a_ui, a_di: numero di accessi in invio e in ricezione della i-esima STA a_d = sum a_di a_dx = a'_ux = 0 1 se (t_s >= 0) e (t_s >= d_ux * a_d) [ se con silenzio X e AP trasmetterebbero alla pari ] 2 t_s -= d_ux * a_d [ riduzione silenzio ] 3 a_'ux = a_d [ X trasmette come AP ] 4 a'_dx = t_s / (d_ux + d_dx) [ meta` silenzio per ricezioni di X ] 5 a'_d = a_d + a'_dx 6 a'_ux += a'_dx [ meta` silenzio per trasmissioni di X] 7 t'_s = 0 8 se a'_ux <= M(a_ui) [ se x e ap non trasmet al massimo ] 9 a'_d = a'_ux = M(a_ui) [ ripartizione trasmissioni ] 10 a'_dx = M(a_di) [ ripartizione ricezioni ] }}} === 17 Novembre === Il carico prodotto dalle trasmissioni AP -> STA era stato aggregato nel carico unitario della stazione "Access-Point", dove il parametro d_i è calcolato come media grezza delle durate (#9). Riguardo la modellazione delle stime delle prestazioni ottenibili (#12) il throughput è facilmente stimato nel seguente modo, che peraltro risulta coerente con lo scenerio di saturazione preso in esame nella Tesi di Andrea Rappini. Ecco le stime del throughput in invio e in ricezione: {{{ T_u = a_ui * b_ui / t T_d = a_di * b_di / t }}} Al fine di fornire una stima della latenza ricettiva si intuisce la necessità di una valutazione che sappia considerare le esigenze ricettive delle varie stazioni. === 18 Novembre === Riguardo #12, l'intuizione sulla latenza in trasmissione (`Lat_ui = L - d_ui + d_ui0`) aveva bisogno di una modifica. Riflettendo sul significato profondo del parametro w_ui in ambito probabilistico esso risulta essere la previsione dell'evento trasmissivo. Pertanto il carico unitario è leggibile come previsione temporale della partecipazione trasmissiva. La versione definitiva è la seguente: {{{ Lat_ui = L - (w_ui * d_ui) + (w_ui0 * d_ui0) = (\sum_{j!=i} w_uj * d_uj) + w_ui0 * d_ui0 d_ui0 = durata di una trasmissione minimale (s) w_ui0 = 1 = peso (probabilita`) della trasmissione minimale }}} Seguendo il medesimo approccio, la latenza in ricezione potrebbe essere espressa nel seguente modo: {{{ Lat_di = (L - (w_ui * d_ui)) / w_di + (d_di0 * w_di0) }}} === 19 Novembre === La recente lettura probabilistica del parametro `w_u` ha permesso l'ideazione della stima di latenza in ricezione. Questo tempo (è utile ricordarlo) rappresenta l'attesa dovuta ad altre trasmissioni. Queste sono già analizzate probabilisticamente dal `w_u` fornendo, per dirlo informalmente, una previsione del giro di attività. L'attesa per la ricezione è quindi costituita da "giri" di incidenza dipendente dalle probabilità ricettive. Il nuovo parametro w_di consente la quantificazione necessaria al calcolo espresso di seguito. {{{ w_di = a_di / M(a_di) Lat_di = (\sum_{j!=i} w_dj) * (\sum_{j!=i} w_uj * d_uj) }}} === 20 Novembre === Emergono dubbi sull'eccesso di stima della latenza. L'attesa di trasmissione ad esempio non dovrebbe essere costituita dall'interezza di un giro di trasmissioni, come se il giro iniziasse sempre dopo di essa. Forse l'idea di dimezzare questa quantità (usata nelle trascorse stime di latenza) va ripresa i considerazione. === 25 Novembre === La latenza è costituita dal tempo di attesa e dal tempo effettivamente necessario alla comunicaizone. Il tempo di attesa precedentemente formalizzato deve essere dimezzato, in modo da rappresentare la previsione della posizione della comunicazione della stazione all'interno del tempo di attesa. Ecco come la latenza in trasmissione e in ricezione sono pertanto riformulate: {{{ Lat_ui = (\sum_{j!=i} w_uj * d_uj)/2 + w_ui0 * d_ui0 Lat_di = (\sum_{j!=i} w_dj)/2 * (\sum_{j!=i} w_uj * d_uj) }}} === 26 e 27 Novembre === [113]: Creazione di uno scheletro di documento LaTeX, pronto per accogliere i contenuti man mano che saranno stesi in forma organica (#15). Inserimento e formattazione di tutti i risultati nell'analisi finora formalizzata (#11). [114]: Piccole manuntenzioni sul deposito SVN. === 28 Novembre === Se il parametro `w_di` ha una reale valenza nella stima della latenza, forse esso andrebbe usato anche nel calcolo del carico, come peso con il quale ponderare le durate delle varie ricezioni. == Dicembre 2008 == === 1 e 2 Dicembre === Il calcolo del carico è in effetti da rivedere, proprio perché la semplice media grezza delle durate delle ricezioni non rappresenta adeguatamente il grado di congestione dell'AP, poiché il grado di partecipazione ricettiva non è sufficientemente espressa. Ecco la riformulazione proposta (#9): {{{ l_d = w_{uAP} * \sum_{i!=AP} l_di l_di = w_{di} * d_{di} / n_{STA} }}} Grazie ad ulteriori riflessioni, la versione del carico in ricezione precedentemente proposta si è rivelata errata. Ecco la nuova versione: {{{ l_{di} = w_{dj} \left( d_{dj} + p_u \sum_i{l_{ui}} \right) }}} === 3 Dicembre === Ho inserito gli ultimi risultati nella tesi, eseguendo alcuni aggiustamenti volti al miglioramento dell'organicità del modello, nella mappa concettuale come nell'esposizione. === 4 Dicembre === Completamento delle operazioni di aggiornamento sulla mappa e sulla tesi [124]. Riguardo la quantificazione della presenza dell'AP all'interno del carico del canale si è presa in considerazione la possibilità di utilizzare una misurazione basata sulle probabilità ricettive delle stazioni, (con i parametri `w_di` ). Nonostante ci sia definitivamente convinti dell'interdipendenza fra il carico del canale (o trasmissivo) e quello dell'AP (o ricettivo), l'ipotesi è stata scartata. Infatti la misura della partecipazione dell'AP deve essere unicamente basata sulla previsione di durata del suo accesso, senza doverne quantificare il grado di congestione. === 5 Dicembre === [128] Miglioramento nell'esposizione del carico del canale, specificando i dettagli sulle ultime decisioni. Formattazione dell'algoritmo di inserimento della stazione associanda (l'esposizione resta migliorabile). Piccoli aggiustamenti sulla mappa concettuale. === 8 Dicembre === [128] Iniziata la stesura del modello di rete (#18) che si rivela, rispetto all'ultima versione, riducibile di parecchi dettagli diventati inutili. ---- == Ticket == === Assegnati === [[TicketQuery(status=assigned,order=priority,owner=soujak)]] === Nuovi === [[TicketQuery(status=new|reopened,order=priority,group=type)]] ---- == Collegamenti == === Articoli === * 00 [http://www.usenix.org/events/imc05/tech/full_papers/vasudevan/vasudevan.pdf Facilitating Access Point Selection in IEEE 802.11 Wireless Networks] [https://www.xt3.it/tirocinio07/doc-sjk/sjk00.pdf] * 01 [http://www.cs.unt.edu/~rakl/AP05.pdf Optimal Access Point Selection and Traffic Allocation in IEEE 802.11 Networks] [https://www.xt3.it/tirocinio07/doc-sjk/sjk01.pdf] * 02 [http://www.imconf.net/imc-2006/papers/p25-sundaresan.pdf The Need for Cross-Layer Information in Access Point Selection Algorithms] [https://www.xt3.it/tirocinio07/doc-sjk/sjk02.pdf] * 03 [http://www.cs.umd.edu/users/slee/pubs/cs-tr-4504.pdf The Case for a Multi-hop Wireless Local Area Network] [https://www.xt3.it/tirocinio07/doc-sjk/sjk03.pdf] * 04 [http://www.caida.org/workshops/isma/0312/abstracts/shah.pdf Available Bandwidth Estimation in IEEE 802.11-based Wireless Networks] [https://www.xt3.it/tirocinio07/doc-sjk/sjk04.pdf] * 05 [http://doi.acm.org/10.1145/1143549.1143694 A novel association algorithm for congestion relief in IEEE 802.11 WLANs] [https://www.xt3.it/tirocinio07/doc-sjk/sjk05.pdf] * 06 [http://doi.acm.org/10.1145/1023720.1023751 Fairness and Load Balancing in Wireless LANs Using Association Control] [https://www.xt3.it/tirocinio07/doc-sjk/sjk06.pdf] * 07 [http://ece.iisc.ernet.in/~anurag/papers/anurag/kumar-kumar05association.pdf Optimal Association of Stations and APs in an IEEE 802.11 WLAN] [https://www.xt3.it/tirocinio07/doc-sjk/sjk07.pdf] * 08 [http://www2.tku.edu.tw/~tkjse/2-1/2-1-6.pdf Dynamic Load Balance Algorithm (DLBA) for IEEE 802.11 Wireless LAN] [https://www.xt3.it/tirocinio07/doc-sjk/sjk08.pdf] * 09 [http://ieeexplore.ieee.org/iel5/9179/29132/01313270.pdf?tp=&isnumber=&arnumber=1313270 Load Balancing in Overlapping Wireless LAN Cells] [https://www.xt3.it/tirocinio07/doc-sjk/sjk09.pdf] * 10 [http://dcg.ethz.ch/members/pascal/refs/mac_2000_bianchi.pdf Performance Analysis of the IEEE 802.11 Distributed Coordination Function] [https://www.xt3.it/tirocinio07/doc-sjk/sjk10.pdf] * 11 [http://ieeexplore.ieee.org/iel5/7828/21515/00996984.pdf Improving Load Balancing mechanisms in Wireless Packet Networks] [https://www.xt3.it/tirocinio07/doc-sjk/sjk11.pdf] * 12 [http://www.ieee-infocom.org/2003/papers/21_02.PDF Kalman Filter Estimation of the Number of Competing Terminals in an IEEE 802.11 network] [https://www.xt3.it/tirocinio07/doc-sjk/sjk12.pdf] === Documenti da Ghini === * 00 [https://www.xt3.it/tirocinio07/doc-ghini/TesiBenattiBorsari.pdf Benatti, Borsari, ''Politiche di selezione di Access Point da parte del client mobile''] * 01 [https://www.xt3.it/tirocinio07/doc-ghini/MEW.bozza.pdf V. Ghini, G. Lodi, F. Panzieri, ''Mobile E-Witness''] * 02 [https://www.xt3.it/tirocinio07/doc-ghini/EnhancingMEWWithAPSelectionPolicies.pdf Enhancing MEW with AP Selection Policies] === Vari === * [http://portal.acm.org/portal.cfm?coll=GUIDE&dl=GUIDE&CFID=25283952&CFTOKEN=64874456 Portale ACM] * [http://portal.acm.org/citation.cfm?id=1024744 Network Selection and Discovery of Service Information in Public WLAN Hotspots]: roaming