stringtranslate.com

Protocolo de federación Google Wave

El Protocolo de federación Wave (anteriormente Protocolo de federación Google Wave ) es un protocolo abierto , una extensión del Protocolo de mensajería y presencia extensible (XMPP) que se utiliza en Apache Wave . Está diseñado para la comunicación casi en tiempo real entre servidores de trabajo cooperativo con soporte informático .

Descripción general

El Protocolo Wave Federation, que todavía se encuentra en desarrollo, es un protocolo abierto que pretende ser paralelo a la apertura del protocolo de correo electrónico, de modo que Waves pueda suceder al correo electrónico como la forma dominante de comunicación en Internet. [1] [2] [3] [4] [5]

Disponibilidad

Dado que el protocolo es abierto, cualquiera puede convertirse en un proveedor de Wave y compartir Waves con otros. Al igual que el correo electrónico , la comunicación es posible independientemente del proveedor. Por ejemplo, las organizaciones pueden operar como proveedores de Wave para sus miembros, un individuo puede ejecutar un servidor Wave privado para un solo usuario o miembros de la familia, y un proveedor de servicios de Internet puede ejecutar un servicio Wave como otro servicio de Internet para sus usuarios como complemento al correo electrónico, mensajería instantánea , FTP , etc. En este modelo, Google Wave es uno de los muchos proveedores de Wave. [4] [5]

El código fuente de Java para el "Servidor Prototipo de Federación Google Wave" se publicó en un repositorio Mercurial en julio de 2009 bajo la Licencia Apache 2.0. [6] [7]

Estructura

Algunas características del Protocolo de Presencia y Mensajería Extensible heredadas por el protocolo de federación wave son el descubrimiento de direcciones IP y números de puerto, utilizando registros SRV del Sistema de nombres de dominio (DNS) , y la autenticación TLS y el cifrado de conexiones. El transporte XMPP cifra las operaciones a nivel de transporte. Por lo tanto, solo proporciona seguridad criptográfica entre servidores conectados directamente entre sí. Una capa adicional de criptografía proporciona autenticación de extremo a extremo entre proveedores wave mediante firmas criptográficas y certificados, lo que permite que todos los proveedores wavelet verifiquen las propiedades de la operación. Por lo tanto, un proveedor wave descendente puede verificar que el proveedor wavelet no esté falsificando operaciones wavelet. No debería poder afirmar falsamente que una operación wavelet se originó a partir de un usuario en otro proveedor wavelet o que se originó en un contexto diferente. Esto aborda la situación en la que dos usuarios de diferentes proveedores wave confiables son participantes de un wavelet que está alojado en un proveedor malicioso. El protocolo requiere que cada participante firme las operaciones de su usuario con su propio certificado. Las firmas de todas las operaciones reenviadas por el host serán evaluadas por los participantes. Esto es para evitar que los hosts maliciosos alteren o falsifiquen el contenido de los mensajes de los usuarios de otros servicios. Todas las firmas y verificaciones las realizan los proveedores de ondas, no el software cliente de los usuarios finales. [4] [5]

Todas las ondas y wavelets (ondas secundarias) se identifican mediante un identificador de onda único a nivel global, que es un nombre de dominio y una cadena de identificación. El nombre de dominio identifica al proveedor de ondas donde se originó la onda. Las ondas y wavelets están alojadas por el proveedor de ondas del creador. Las wavelets en la misma onda pueden estar alojadas por diferentes proveedores de ondas. Sin embargo, los datos de usuario no están federados; es decir, no se comparten con otros proveedores de ondas. También son posibles las wavelets de respuesta privada, de las cuales otros participantes no tienen conocimiento ni acceso. Si se envía una wavelet privada entre usuarios en el mismo proveedor de ondas, no está federada independientemente de dónde esté alojada la onda principal. [4] [5]

Federación concurrente

Un proveedor de ondas opera un servicio de ondas en uno o más servidores en red. Las partes centrales del servicio de ondas son el almacén de ondas, que almacena las operaciones de wavelet, y el servidor de ondas, que resuelve las operaciones de wavelet mediante la transformación operacional y escribe y lee las operaciones de wavelet hacia y desde el almacén de ondas. Normalmente, el servicio de ondas sirve ondas a los usuarios del proveedor de ondas que se conectan al frontend del servicio de ondas. Para el propósito de la federación, el servicio de ondas comparte ondas con participantes de otros proveedores comunicándose con los servidores de estos proveedores de ondas. Las copias de wavelets se distribuyen a todos los proveedores de ondas que tienen participantes en un wavelet determinado. Las copias de un wavelet en un proveedor en particular pueden ser locales o remotas. Usamos el término para referirnos a estos dos tipos de copias de wavelet (en ambos casos, nos referimos a la copia de wavelet, y no al wavelet). Una vista de ondas puede contener copias de wavelet tanto locales como remotas simultáneamente. [4] [5]

El servidor de ondas de origen es responsable del alojamiento y el procesamiento de las operaciones wavelet enviadas por los participantes locales y por los participantes remotos de otros proveedores de ondas. El servidor de ondas realiza el control de concurrencia ordenando las operaciones wavelet enviadas entre sí mediante una transformación operacional. También valida las operaciones antes de aplicarlas a una wavelet local. [4] [5]

Los wavelets remotos son hospedados por otros proveedores, almacenados en caché y actualizados con operaciones wavelet que el proveedor local obtiene del host remoto. Cuando un participante local envía una operación wavelet a un wavelet remoto, el servidor wave reenvía la operación al servidor wave del proveedor de hospedaje. Luego, la operación transformada y aplicada se refleja y se aplica a la copia en caché. [4] [5]

Los servicios Wave utilizan puertas de enlace de federación y componentes de proxy de federación para comunicarse y compartir ondas con otros proveedores de ondas. Las puertas de enlace de federación comunican operaciones wavelet locales, envían nuevas operaciones wavelet locales a los proveedores de ondas remotos de cualquier otro participante, cumplen solicitudes de operaciones wavelet antiguas y procesan solicitudes de envío de operaciones wavelet. Un proxy de federación comunica operaciones wavelet remotas y es el componente de un proveedor de ondas que se comunica con la puerta de enlace de federación de proveedores remotos. Recibe nuevas operaciones wavelet que le envían otros proveedores, solicita operaciones wavelet antiguas y envía operaciones wavelet a otros proveedores. [4] [5]

Véase también

Referencias

  1. ^ Vídeo en YouTube
  2. ^ "Protocolo de federación Google Wave". Archivado desde el original el 30 de mayo de 2009. Consultado el 29 de mayo de 2009 .
  3. ^ Hachman, Mark (28 de mayo de 2009). "Google reinventa el correo electrónico y los documentos con Google Wave". www.pcmag.com . Consultado el 2 de junio de 2009 .
  4. ^ abcdefgh "Arquitectura de federación de Google Wave - Protocolo de federación de Google Wave". Archivado desde el original el 2013-03-30 . Consultado el 2009-06-05 .
  5. ^ abcdefgh «Protocolo cliente-servidor de Google Wave: Protocolo de federación de Google Wave». Archivado desde el original el 30 de marzo de 2013. Consultado el 5 de junio de 2009 .
  6. ^ "Protocolo de federación Google Wave y actualizaciones de código abierto".
  7. ^ "Archivo de código de Google: almacenamiento a largo plazo para alojamiento de proyectos de código de Google".

Enlaces externos