**2CV2 Equipo 6:**
~ AGUILAR PACHECO KEVIN DAVID
CARMONA HINOJOSA DAVID
GÓMEZ RODRÍGUEZ ENYA QUETZALLI
RODRÍGUEZ ROMO LUIS DANIEL
VILLENA SANTIAGO CARLOS DANIEL
---
# Investigación Documental
Durante esta investigación documental, analizaremos los servicios de videoconferencias, ¿Qué son?, ¿Qué hacen?, ¿Cómo funcionan? y ¿Qué alternativas tenemos?. Finalmente, hablaremos de los servidores de videoconfencias en los que se ofrece el servicio de videoconferencias.
## ¿Qué son?
Las videollamadas son un modo de videoconferencia que involucra a dos o más usuarios que pueden verse y escucharse al mismo tiempo sin necesidad de estar en el mismo lugar físico. Durante una videollamada los usuarios pueden (o no) compartir archivos y otro contenido multimedia, por ejemplo, compartir su escritorio, intercambiar mensajes de texto y usar herramientas de colaboración proporcionadas por su solución de videoconferencia [1].
Para hacer videollamadas se requiere un software de videoconferencia o un módulo de hardware separado. Actualmente, las videollamadas se utilizan en casi cualquier lugar, en salas de reuniones, mensajería instantánea, cajeros automáticos, soluciones de telemedicina, sistemas de control de acceso, etcetera [1].
## ¿Qué hacen?
Las videoconfencias, tradicionalemente transfieren información de video y audio de un cliente dentro del internet a otro cliente dentro del internet y viceversa. Con frecuencia esta acción se realiza no solo entre un par de personas sino entre $n$ cantidad de personas. En ocasiones, los servicios de videoconferencias pueden transmitir otro tipo de datos añadidos al audio y video como lo son pizarrones colaborativos, editores de texto colaborativos, funciones de compartido de pantalla, chat, archivo y demás.
Tambien suelen autenticar a los usuarios, permitirles personalizar su nombre visible, pedir un turno de hablar, entre otras muchas características que se suelen encontrar en estos servicios.
## ¿Cómo lo hacen?
Principalmente existeten 4 arquitecturas de videoconferencias que hacen variar la forma en la que cada servicio de videoconferencias logra su cometido:
- **Punto a Punto**
Este tipo de arquitectura sólo es conveniente cuando es una videoconferencia entre 2 persona.

Se establece una conexión estricta en la que todo el flujo de datos solo pasa por los 2 unicos integrantes de la videollamada.
*Un ejemplo de este tipo de servicios es [GNOME Empathy](https://en.wikipedia.org/wiki/Empathy_(software))*
- **Centralizado**
Cuando se requiren más de una sola persona en una videollamada, la arquitectura de punto a punto deja de ser conveniente puesto que cada dispositivo dentro de la video llamada tiene que mantener conexiones activas con todos los miembros de la llamda:

Dicha carga de trabajo es muy alta para los dispositivos, por lo que una arquitectura centralizada permite que un servidor de alto rendimiento realice el trabajo pesado y retransmite todo el contenido mediante una única conexión:

Esta solía ser la arquitectura más utilizada por servicios de videoconferencias, hoy en día [Jitsi](https://jitsi.org) es regularmente configurado con esta arquitectura a pesar que de soprta una arquitectura descentralizada.
- **Descentralizado**
El problema de la arquitectura centralizada, es cuando un solo servidor tiene que atender demasiados usarios. No necesariamente en la misma videoconferencia, sino entre múltiples videoconferencias ya que los recursos utilizados siguen siendo los mismos. Por ello, la mayoría de los servicios de videoconferencias utilizan el modelo descentralizado:

En este modelo, las videollamadas se reparten entre una red de servidores con balanceado de carga, que reparten a los usuarios de forma tal que la carga máxima soportada por un servidor nunca se vea sobrepasada. En ocasiones, servicios que permiten más de 100 personas conectadas al mismo tiempo, pueden incluso distribuir la carga de una sola conferencia entre los servidores disponibles.
Servicios como *Zoom, Teams, Meets, WeBex, Whatsapp, Facebook, Skype y BlueJeans* utilizan este tipo de arquitectura.
- **Distribuido**
El modelo distribuido es probablemente el menos ocupado de todos debido a que requiere una alta demanda de usuarios y representa un gran reto ofrecer las mismas características y servicios que ofrece un sistema descentralizado:

A diferencia de un sistema p2p en este modelo cada disposivo no recibe la carga de todas las personas conectadas en la videollamada, sino una carga distribuida que se reparte entre toda la capacidad de procesamiento de todo el conjunto de dispositivos.
El beneficio de este tipo de modelos es que no es necesario el uso de un servidor intermediario, sino de únicamente clientes, esto permite que este tipo de servicios no puedan "caerse", son sumamente confiables siempre que utilicen cifrado de por medio. Además no requiren de "internet" estrictamente, pueden funcionar en redes LAN, o WAN o incluso en redes privadas sin ningún tipo de problema.
El principal conflicto de estos servicios es que al no tener un servidor central, tampoco hay ninguna entidad que arbitre eventos causados por sus beneficios. Por ejemplo, que un grupo de chat de 8 personas se encuentre dividido entre 2 redes diferences y posteriormente al unirse las redes se mezclen los historiales, etc.
*Uno de los pocos servicios que ofrecen esta arquitectura es [GNU Jami](https://jami.net)*
## ¿Qué alternativas tenemos?
| Nombre | Empresa | Arquitectura | Licencia | Oferta | Autohospedada |
| - | - | - | - | - | - |
| [Zoom](https://zoom.us) | Zoom Meeting | Descentralizada | Cerrada | Gratis limitada o Premium de paga | No |
| [Teams](https://www.microsoft.com/es-mx/microsoft-teams/group-chat-software) | Microsoft | Descentralizada | Cerrada | Gratis Limitada, Corporativa de Paga | No |
| [Meet](https://meet.google.com) | Google | Descentralizada | Cerrada | Gratis Limitada, Corporativa de Paga| No |
| [Skype](https://www.skype.com/es/) | Microsoft | Descentralizada | Cerrada | Gratis Limitada, Premium de Paga | No |
| [Webex](https://www.webex.com/es/index.html) | Cisco | Centralizada o Descentralizada | Cerrada | Corporativa de Paga | Si |
| [BlueJeans](https://www.bluejeans.com/products/meetings) | Verizon | Descentralizada | Cerrada | Corportativa de Paga | No |
| [Empathy](https://wiki.gnome.org/action/show/Attic/Empathy?) | GNU Gnome | Punto a Punto | Free Software | N/A | N/A |
| [Jami](https://jami.net) | GNU | Distribuida | Free Software | N/A | N/A |
| [Jitsi](https://github.com/jitsi/jitsi-meet) | N/A | Centralizada o Descentralizada | Free Software | Opcional: Servicios de hospedaje premium | Si |
| [Talk](https://github.com/nextcloud/spreed) | Netxcloud | Centralizada o Descentralizada | Free Software | Opcional: Servicios de hospedaje premium | Si |
| [Element](https://github.com/vector-im) | New Vector | Centralizada o Descentralizada | Free Software | Opcional: Servicios de hospedaje premium | Si |
## Tecnologías que utilizaremos
Utilizaremos la plataforma **Jitsi** debido a que es la que cuenta con mayor cantidad de comunidad apoyandola, tiene un gran base de conocimiento, soporte y desarrollos para extender su capacidad como plugins. Además, es Free Software y permite opciones de hospedaje propio, motivo por el cual es una opción sumamente conveniente en el ámbito de seguridad.
### HTTP
HTTP (Hypertext Transfer Protocol por sus siglas en inglés) es el nombre de un protocolo el cual nos permite realizar una petición de datos y recursos, como pueden ser documentos HTML. Es la base de cualquier intercambio de datos en la web, y un protocolo de estructura cliente-servidor, esto quiere decir que una petición de datos es iniciada por el elemento que recibirá los datos (el cliente), normalmente un navegador web. Así, una página web completa resulta de la unión de distintos sub-documentos recibidos, como, por ejemplo, un documento que especifique el estilo de maquetación de la página web (CSS), el texto, las imágenes, videos, scripts, etcetera [2].
### HTTPS
HTTPS (HyperText Transfer Protocol Secure, Protocolo de transferencia de hipertexto) es un protocolo de comunicación de Internet que protege la integridad y la confidencialidad de los datos de los usuarios entre sus ordenadores y el sitio web. Como los usuarios, esperan que su experiencia online sea segura y privada, es recomendable que adoptes HTTPS para proteger sus conexiones con tu sitio web, independientemente de lo que este contenga [3].
### Azure
Azure es una nube pública de pago por uso que te permite compilar, implementar y administrar rápidamente aplicaciones en una red global de datacenters (centros de datos) de Microsoft.Pero atención, “nube pública” no quiere decir que cualquiera pueda acceder a la información de un negocio, sino que cualquiera con conexión a Internet puede hacer uso de esta nube y que, solo en caso de disponer de las credenciales oportunas, podrá acceder a tu portal de Azure, donde se generan y administran todos los servicios [4].
### Jitsi
Jitsi Meet es un software gratuito de videoconferencia encriptada. Jitsi Meet es de código abierto y utiliza cifrado de extremo a servidor/tránsito, mediante el cual la comunicación se cifra antes de salir de su dispositivo, y luego se descifra en el servidor, se procesa, y se vuelve a cifrar antes de ser enviada a las personas destinatarias [5].
### Certificados SSL
SSL (Secure Sockets Layer o capa de conexión segura) es un estándar de seguridad global que permite la transferencia de datos cifrados entre un navegador y un servidor web. Es utilizado por millones de empresas e individuos en línea a fin de disminuir el riesgo de robo y manipulación de información confidencial (como números de tarjetas de crédito, nombres de usuario, contraseñas, correos electrónicos, etc.) por parte de hackers y ladrones de identidades. Básicamente, la capa SSL permite que dos partes tengan una "conversación" privada [6].
### Linux
Linux es un sistema operativo (SO) open source. Originalmente, fue concebido y creado como un pasatiempo por Linus Torvalds en 1991. Mientras estaba en la universidad, Linus intentó crear una versión de open source, alternativa y gratuita, del sistema operativo MINIX, que se basaba en los principios y el diseño de Unix. Desde entonces, ese pasatiempo se ha convertido en el SO con la base más grande de usuarios, en el SO más usado en servidores de Internet disponibles públicamente y en el único SO usado en las 500 principales supercomputadoras más rápidas [7].
## Referencias.
[1]"Qué es una videollamada", Trueconf. [Online]. Available: https://trueconf.com/es/video-llamada.html#1. [Accessed: 22- May- 2021].
[2]"Generalidades del protocolo HTTP", Developer.mozilla.org, 2021. [Online]. Available: https://developer.mozilla.org/es/docs/Web/HTTP/Overview. [Accessed: 22- May- 2021].
[3]"Proteger sitios con el protocolo HTTPS | Centro de la Búsqueda de Google", Google Developers, 2021. [Online]. Available: https://developers.google.com/search/docs/advanced/security/https?hl=es. [Accessed: 22- May- 2021].
[4]Tecon.es, 2021. [Online]. Available: https://www.tecon.es/que-es-microsoft-azure-como-funciona/. [Accessed: 22- May- 2021].
[5]"JITSI MEET - PLATAFORMA SENCILLA Y SEGURA PARA VIDEOCONFERENCIAS", Front Line Defenders, 2021. [Online]. Available: https://www.frontlinedefenders.org/es/resource-publication/infographic-jitsi-meet. [Accessed: 22- May- 2021].
[6]"Todo lo que debe saber sobre certificados SSL", verisign, 2021. [Online]. Available: https://www.verisign.com/es_LA/website-presence/online/ssl-certificates/index.xhtml. [Accessed: 22- May- 2021].
[7]"El concepto de Linux", Red Hat, 2021. [Online]. Available: https://www.redhat.com/es/topics/linux. [Accessed: 22- May- 2021].