1. MIDDLEWARE
- Ruolo: Colmare il divario tra rete e applicazioni, offrendo astrazione e QoS.
- Funzioni:
- Servizi di sistema standardizzati
- Coordinamento applicazioni
- Gestione risorse adattiva
- Approcci: Database, Eventi, Application-driven, Macchine Virtuali, Spazio di tuple, Servizi.
- Differenze con middleware tradizionale: Leggero, context-aware, indirizzamento basato su dati.
2. ROUTING
- Single-Hop vs Multi-Hop:
- Multi-hop più efficiente energeticamente.
- Organizzazione reti:
- Mesh: auto-organizzante, dinamica.
- Cluster: gerarchica, gestione efficiente.
- Sfide: Scelta percorsi, cooperazione nodi, consumo energetico.
3. PROTOCOLLI DI COMUNICAZIONE
- Modelli:
- Richiesta/Risposta: HTTP/1.1, HTTP/2, CoAP (leggero, su UDP).
- Publish/Subscribe: MQTT, broker-based.
- Message Queueing: Code di messaggi (es. RabbitMQ).
- Tipi di sottoscrizione: Channel, Topic, Content, Type-based.
4. HTTP vs COAP
- HTTP: Usa TCP, alto overhead, non ottimale per IoT.
- CoAP: Leggero, RESTful, su UDP, supporta notifiche (Observe).
- Confronto:
- CoAP: binario, basso consumo, nativo per notifiche push.
- HTTP/2: multiplexing, server push, ma complesso.