stringtranslate.com

Coda (sistema de archivos)

Coda es un sistema de archivos distribuido desarrollado como un proyecto de investigación en la Universidad Carnegie Mellon desde 1987 bajo la dirección de Mahadev Satyanarayanan . Desciende directamente de una versión anterior de Andrew File System (AFS-2) y ofrece muchas características similares. El sistema de archivos InterMezzo se inspiró en Coda.

Características

Coda tiene muchas características deseables para los sistemas de archivos de red y varias características que no se encuentran en otros lugares.

  1. Operación desconectada para computación móvil.
  2. Está disponible gratuitamente bajo la licencia GPL [2]
  3. Alto rendimiento mediante almacenamiento en caché persistente del lado del cliente
  4. Replicación de servidores
  5. Modelo de seguridad para autenticación, cifrado y control de acceso
  6. Operación continua durante fallas parciales de la red en la red del servidor
  7. Adaptación del ancho de banda de la red
  8. Buena escalabilidad
  9. Semántica bien definida de compartir, incluso en presencia de fallas en la red

Coda utiliza una caché local para proporcionar acceso a los datos del servidor cuando se pierde la conexión de red. Durante el funcionamiento normal, un usuario lee y escribe en el sistema de archivos normalmente, mientras que el cliente recupera o "almacena" todos los datos que el usuario ha enumerado como importantes en caso de una desconexión de la red. Si se pierde la conexión de red, la caché local del cliente Coda proporciona datos de esta caché y registra todas las actualizaciones. Este estado operativo se denomina funcionamiento desconectado. Tras la reconexión de red, el cliente pasa al estado de reintegración; envía actualizaciones registradas a los servidores. A continuación, vuelve al funcionamiento normal en modo conectado.

También es diferente de AFS el método de replicación de datos de Coda. AFS utiliza una estrategia de replicación pesimista con sus archivos, permitiendo que solo un servidor de lectura/escritura reciba actualizaciones y todos los demás servidores actúen como réplicas de solo lectura. Coda permite que todos los servidores reciban actualizaciones, lo que permite una mayor disponibilidad de los datos del servidor en caso de particiones de red, un caso que AFS no puede manejar.

Estas características únicas introducen la posibilidad de que existan copias semánticamente divergentes de los mismos archivos o directorios, conocidas como "conflictos". Las actualizaciones locales de operaciones desconectadas pueden entrar en conflicto con las actualizaciones de otros usuarios conectados en los mismos objetos, impidiendo la reintegración. La replicación optimista puede causar actualizaciones simultáneas en diferentes servidores en el mismo objeto, impidiendo la replicación. El primer caso se denomina conflicto "local/global" y el segundo, conflicto "servidor/servidor". Coda cuenta con amplias herramientas de reparación, tanto manuales como automáticas, para manejar y reparar ambos tipos de conflictos.

Plataformas compatibles

Coda se ha desarrollado en Linux y su soporte apareció en la serie de núcleos Linux 2.1. [3] También se ha portado a FreeBSD . Posteriormente, al quedar obsoleto allí, se está intentando recuperarlo. [4] Se han hecho esfuerzos para portar Coda a Microsoft Windows , desde la era Windows 95 / Windows 98 , Windows NT [5] a Windows XP , [6] mediante proyectos de código abierto como el compilador DJGCC DOS C y Cygwin . [5]

Referencias

  1. ^ "Coda progress". 5 de julio de 2020. Consultado el 5 de agosto de 2020 .
  2. ^ "Nueva versión: 5.0.pre1". 1999-01-06 . Consultado el 2015-09-11 .
  3. ^ "Lista de correo del kernel de Linux, [PARCHE] Coda". 6 de enero de 1998.
  4. ^ "GitHub - trasz/Freebsd en coda". GitHub .
  5. ^ ab Braam, PJ; et al. (1999). "Porting the coda file system to windows". Proc. Conferencia técnica anual de USENIX . Asociación USENIX: 30. Consultado el 15 de abril de 2009 .
  6. ^ "Soporte de Coda para Windows XP" . Consultado el 15 de abril de 2009 .

Enlaces externos