From 27a912a9974ee73553b12f31e6edd494d4b8253a Mon Sep 17 00:00:00 2001 From: norangebit Date: Thu, 16 Jul 2020 16:57:21 +0200 Subject: [PATCH 1/2] Add mqtt --- bib.bib | 7 +++++++ documentazione.md | 13 ++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/bib.bib b/bib.bib index 7d10555..2e8ed2c 100644 --- a/bib.bib +++ b/bib.bib @@ -63,6 +63,13 @@ organization = {{cryptography-cafe}} } +@online{EclipsePahoMQTT, + title = {Eclipse {{Paho}} - {{MQTT}} and {{MQTT}}-{{SN}} Software}, + url = {https://www.eclipse.org/paho/}, + urldate = {2020-07-16}, + file = {/home/norangebit/Zotero/storage/BC7DTMJT/paho.html} +} + @online{InstallationBetterBibTeX, title = {Installation :: {{Better BibTeX}} for {{Zotero}}}, url = {https://retorque.re/zotero-better-bibtex/installation/}, diff --git a/documentazione.md b/documentazione.md index 9e5fab8..64ec210 100644 --- a/documentazione.md +++ b/documentazione.md @@ -45,7 +45,7 @@ dove `H_tcn` è una funzione di Hash con 128 bit di output che utilizza come sep Dalla chiave rak è possibile generare la chiave rvk e la chiave tck_0, dalle quali è possibile generare le successive tck e quindi tutti i successivi tcn. -### Report +### Report {#sec:report} Quando viene richiesto di caricare i dati dell'utente, è possibile eseguire l'upload di un report compatto. Infatti grazie alla derivazione deterministica, è possibile inviare tutti gli identificativi utilizzati nel periodo `j1` e `j2`, caricando unicamente la rvk, tck_{j-1}, e i due indici `j1` e `j2`. Di seguito è illustrato come costruire il report: @@ -366,6 +366,17 @@ interface TCNDataDao { ## Rete +La comunicazione con il server avviene mediante un brocker MQTT fornito da un altro gruppo di studenti. +Come implementazione del client MQTT si è scelto di utilizzare *Paho* [@EclipsePahoMQTT], un client realizzata da Eclipse. +Questa libreria oltre a fornire un client MQTT per la JVM fornisce anche un servizio per Android che permette di sollevare lo sviluppatore da alcuni dettagli implementativi. +L'applicazione, all'interno dell'architettura, svolge il ruolo di *publisher* e si occupa della pubblicazione di due tipologie di messaggi: + +- ***Messaggi di contatto*** + utilizzati sia nella modalità *A* che nella *B*, permettono di notificare al server un contatto tra due utenti. + Nel caso della modalità *A* viene svolto un l'invio in *real-time*, mentre nella configurazione *B* l'invio avviene solo in seguito ad un *upload*. +- ***Messaggi di report*** + utilizzati esclusivamente nella modalità *C*. + Questi messaggi trasportano come *payload* il report TCN discusso nella @sec:report e vengono inviati solo quando l'*upload* è richiesto dall'utente. # Riferimenti From 8648e993702655b836ca822ba01576d8dd151ab8 Mon Sep 17 00:00:00 2001 From: noemi3 Date: Thu, 16 Jul 2020 19:03:50 +0200 Subject: [PATCH 2/2] Add correction --- documentazione.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/documentazione.md b/documentazione.md index 64ec210..15a64dd 100644 --- a/documentazione.md +++ b/documentazione.md @@ -367,15 +367,15 @@ interface TCNDataDao { ## Rete La comunicazione con il server avviene mediante un brocker MQTT fornito da un altro gruppo di studenti. -Come implementazione del client MQTT si è scelto di utilizzare *Paho* [@EclipsePahoMQTT], un client realizzata da Eclipse. -Questa libreria oltre a fornire un client MQTT per la JVM fornisce anche un servizio per Android che permette di sollevare lo sviluppatore da alcuni dettagli implementativi. +Come implementazione del client MQTT si è scelto di utilizzare *Paho* [@EclipsePahoMQTT], un client realizzato da Eclipse. +Questa libreria oltre a fornire un client MQTT per la JVM fornisce anche un *service* per Android che permette di sollevare lo sviluppatore da alcuni dettagli implementativi. L'applicazione, all'interno dell'architettura, svolge il ruolo di *publisher* e si occupa della pubblicazione di due tipologie di messaggi: -- ***Messaggi di contatto*** +- ***Messaggi di contatto***: utilizzati sia nella modalità *A* che nella *B*, permettono di notificare al server un contatto tra due utenti. - Nel caso della modalità *A* viene svolto un l'invio in *real-time*, mentre nella configurazione *B* l'invio avviene solo in seguito ad un *upload*. -- ***Messaggi di report*** + Nel caso della modalità *A* viene svolto un invio in *real-time*, mentre nella configurazione *B* l'invio avviene solo dopo aver eseguito l'*upload*. +- ***Messaggi di report***: utilizzati esclusivamente nella modalità *C*. Questi messaggi trasportano come *payload* il report TCN discusso nella @sec:report e vengono inviati solo quando l'*upload* è richiesto dall'utente.