Hyperpeer
Una soluzione semplice ma potente per l'implementazione di comunicazioni multimediali peer-to-peer in tempo reale tra browser, desktop e cloud.
Referente
Contesto
Lo scambio in tempo reale di flussi multimediali è fondamentale per le applicazioni Web e cloud che prevedono l'interazione di utenti con agenti remoti per ricevere supporto, consigli, esperienza personalizzata o semplici interazioni sociali. Al giorno d'oggi le migliori tecnologie per fornire tale capacità i browser sono quelle riunite insieme con il nome di Web Real-Time Communication (WebRTC). Tuttavia, mentre WebRTC fornisce una potente API che consente agli sviluppatori Web di non preoccuparsi di gestire complessi algoritmi di elaborazione video/audio e protocolli di rete, espone ancora una buona dose di complessità, non fornisce una soluzione per lo scambio dei dati di negoziazione iniziale della connessione tra pari (un processo noto come signaling) e, sebbene attualmente supportato nella maggior parte dei browser e sistemi operativi mobili moderni, non è supportato (in modo nativo) dai sistemi operativi desktop/server.
Ci sono alcune librerie open-source che semplificano l'API WebRTC e altre che includono soluzioni di signaling ma tutte sono focalizzate sul browser, tralasciando un supporto desktop/server che consente di creare applicazioni che non coinvolgono solo l'utente umano dietro i browser o dispositivi mobili ma anche agenti di intelligenza artificiale in esecuzione su server, workstation o ambienti cloud.
Descrizione
Hyperpeer è un insieme di librerie che fornisce una soluzione semplice ma potente basata su WebRTC per l'implementazione di comunicazioni multimediali peer-to-peer in tempo reale tra applicazioni eseguite su browser, sistemi operativi desktop o ambienti cloud.
La soluzione Hyperpeer è composta da tre diversi moduli che avvolgono e semplificano la complessità dell'API WebRTC e il suo scambio di signaling. Questi moduli sono:
- hyperpeer-node: modulo Node.js per l'implementazione del "signaling server", ovvero il server a cui tutti i peer si connettono per conoscere la disponibilità degli altri peer e per scambiare i dati di signaling WebRTC tra pari fino a che il collegamento peer-to-peer viene stabilito;
- hyperpeer-js:modulo Javascript per l'implementazione di peer di browser;
- hyperpeer-py: modulo Python per l'implementazione di desktop e cloud peer.
Tratti Innovativi
- Soluzione basata sullo standard WebRTC che permette lo scambio multimediale direttamente nel browser senza plugin;
- Permette di integrare sistemi di real-time computer vision in workstation, server, o nel cloud con applicazioni web;
- Streaming sicuro e in tempo reale di video, audio e dati con latenze dell’ordine di 200ms.
Potenziali utenti
Sviluppatori di sistemi di:
- Telemedicina
- Teleconsulto e telepresenza
- Realtà aumentata
- Presentazione di contenuti personalizzati
- Telemonitoraggio e videosorveglianza
Settori d'impatto
Servizi biomedici, sicurezza, ambienti intelligenti, marketing, intrattenimento.