Fecha de propuesta:
16/10/2024
(Aceptada)
Descripción:
El acceso a internet no es tan universal como suele parecer. Sin embargo, dispositivos convencionales al alcance de la mayoría de la población soportan comunicarse entre ellos de manera directa, via tecnologías
estándar como Bluetooth, WiFi-Direct, u otras.
Estas tecnologías tienen casos de usos muy variados, como comunicación en situaciones de emergencia o lugares remotos, intercambio de datos de manera más privada que una conexión a internet convencional. . .
A pesar de ello, su grado de adopción no es particularmente grande, en parte por la dificultad de uso de estas tecnologías en comparación con internet.
Se desarrollará una biblioteca que abstraiga sobre diferentes tecnologías de comunicación directa, y además proporcione capacidades de agrupación, identificación, y opcionalmente enrutamiento, de más alto nivel.
Objetivos funcionales:
* La biblioteca permitirá a varios dispositivos enviar mensajes entre ellos sin necesidad de conexión a internet.
* La biblioteca proveerá una abstracción de bajo nivel sobre la tecnología física de comunicación.
* Tendrá al menos una implementación como prueba de concepto.
* Opcionalmente, la biblioteca también abstraerá diferencias entre plataformas / sistemas operativos.
* La biblioteca proveerá una abstracción de más alto nivel que permitirá: - Formación de grupos lógicos dentro de un grupo físico. Opcionalmente, se investigará la posibilidad de que un grupo lógico abarque más de un grupo físico. - Identificación (via sistema de clave pública / privada o similar), independiente de la capa física. - Opcionalmente, enrutado de mensajes via: Broadcast / Broadcast a un grupo lógico / Mensaje directo entre dos nodos lógicos (identidades).
* Se desarrollará una aplicación sencilla que demuestre las capacidades de la biblioteca.
Entornos de desarrollo y explotación:
Vim, Android, Android Studio, rr, Linux.
Kotlin, Java, C, C++, Rust, Python.
|