En los sistemas distribuidos, la transparencia se define como el enmascaramiento del usuario y del programador de la aplicación con respecto a la separación de los componentes, de modo que todo el sistema parezca una sola entidad en lugar de componentes individuales.
Objetivo de la Transparencia:
El principal objetivo de Transparency es hacer que ciertas características de la distribución sean opacas para los programadores de aplicaciones, de modo que puedan concentrarse en el diseño de su actividad específica.
Tipos de Transparencia en Sistemas Distribuidos:
Los siguientes son los diversos tipos de transparencia que existen en los sistemas distribuidos:
- Transparencia de acceso
- Transparencia de ubicación
- Transparencia de concurrencia
- Transparencia de replicación
- Transparencia de fallas
- Transparencia Movilidad
- Transparencia de desempeño
- Transparencia de escala
- Transparencia de paralelismo
1. Transparencia de acceso: La transparencia de acceso permite utilizar las mismas operaciones para acceder a recursos locales y remotos. La distribución de archivos debe ocultarse a los clientes. El almacenamiento de datos en servidores separados que están separados físicamente, y un conjunto común de acciones debe estar disponible para acceder a archivos locales y remotos. Las aplicaciones para archivos locales deben diseñarse de manera que también puedan ejecutarse en archivos remotos.
Ejemplos: el sistema de archivos en Network File System (NFS), las consultas SQL y la navegación web exhiben la función de transparencia de acceso.
2. Transparencia de ubicación: la transparencia de ubicación permite el acceso a los recursos independientemente de su ubicación física o de red. Debe haber una vista de un espacio de nombres de archivo coherente para los clientes. Debe poseer la función de mover archivos de manera que sus nombres de ruta no se vean afectados. No hay información sobre la ubicación física del objeto en el caso de un nombre transparente de ubicación. Es una característica bastante vital y crítica para facilitar el movimiento de recursos y la disponibilidad de servicios. La ubicación y la transparencia de acceso juntas hacen que la red sea transparente.
Ejemplos: sistema de archivos NFS y las páginas de la web.
3. Transparencia de concurrencia: la transparencia de concurrencia permite que muchos procesos se ejecuten en paralelo utilizando recursos compartidos sin interferir entre sí. Como sabemos, los sistemas distribuidos exhiben entornos concurrentes, por lo que se accede a todos los elementos compartibles al mismo tiempo. Es difícil controlar la concurrencia y la implementación.
Ejemplo: red de cajeros automáticos (ATM).
4. Transparencia de replicación: la transparencia de replicación garantiza la existencia de numerosas instancias de recursos para mejorar la confiabilidad y el rendimiento sin tener que saber acerca de la replicación para el usuario. En otras palabras, este tipo de transparencia debe aplicarse principalmente a los sistemas de archivos distribuidos, donde existe la replicación de datos en dos o más sitios para aumentar la confiabilidad. La existencia de una copia reflejada de los datos debe ser desconocida para el cliente.
Ejemplo: DBMS distribuido (Sistema de gestión de base de datos).
5. Transparencia de fallas: la transparencia de fallas permite la abstracción de fallas en segundo plano, lo que permite que los usuarios y los programas de aplicación ejecuten tareas incluso cuando fallan los componentes de hardware y software. La propiedad de tolerancia a fallas es exhibida por los procedimientos que se ocupan de la transparencia de acceso. La principal preocupación en el sistema distribuido es que son más propensos a fallar ya que cualquiera de los componentes podría fallar, lo que daría como resultado un servicio degradado o inexistente/no disponible. Es bastante difícil diferenciar entre una operación fallida y una de ejecución lenta, ya que las complejidades están ocultas.
Ejemplos: sistemas de gestión de bases de datos (DBMS).
6. Transparencia de movilidad (migración): la transparencia de movilidad permite que un sistema o recursos se muevan sin interrumpir los procesos de usuario o software. También refuerza el equilibrio de carga de cualquier cliente que pueda estar sobrecargado.
Ejemplos: Sistema de archivos de red (NFS) y páginas web.
7. Transparencia de rendimiento: la transparencia de rendimiento permite la reconfiguración del sistema para aumentar o mejorar el rendimiento.
8. Transparencia de escalado (tamaño): La transparencia de escalado permite que los sistemas y las aplicaciones se amplíen sin necesidad de cambios en la arquitectura del sistema ni en las técnicas de la aplicación. Los recursos que no tienen ninguna relevancia para el usuario están ocultos para el usuario y los programadores de aplicaciones. El buen desarrollo y la evolución con este tipo de transparencia son fundamentales para la mayoría de las empresas. Un sistema debe poder reducirse a un entorno pequeño cuando sea necesario, así como ser eficiente en cuanto a espacio y/o tiempo cuando sea necesario.
Ejemplo: World Wide Web (WWW)
9. Transparencia de paralelismo: La transparencia de paralelismo permite que se ejecuten actividades paralelas sin que los usuarios sepan cómo, dónde y cuándo los sistemas lo hacen posible.
Nota: La transparencia de acceso y ubicación son los dos tipos de transparencia más significativos; su presencia o ausencia tiene el mayor impacto en cómo se utilizan los recursos distribuidos.
Grado de Transparencia:
- Normalmente es preferible, pero no siempre es la mejor opción.
- No es una buena idea mantener un recurso físico como una impresora oculto a sus usuarios.
- Se requiere un equilibrio entre un alto nivel de transparencia y el rendimiento de un sistema.
Publicación traducida automáticamente
Artículo escrito por annieahujaweb2020 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA