(5) Algoritmos Desarrollados - LuisDiego1010/Proyecto-III_TEC_FILE_SYSTEM GitHub Wiki
Algoritmos desarrollados en TECFS:
Parity Checking:
El parity check es la adición de un número adicional que indica la paridad del byte, o del stream de datos. Existen dos tipos de paridad:
● Paridad par: si la cantidad de 1 es impar se agrega un 1, si es par se agrega un 0
● Paridad impar si la cantidad de 1 es par se agrega un 1, si es impar se agrega un 0
Una forma fácil de verlo es que se busca que la cantidad de unos sea igual a la de la paridad, en la par que hayan par cantidad de 1, en la impar que hayan impar cantidad de 1.El bit de paridad se agrega al momento de llegar el mensaje, y se recalcula al momento de mandar el archivo, si este difiere del calculado al llegar, sabemos que se ha dado un error.
En TEC FILE SYSTEM, este algorimo es utilizado para poder detectar errores en el archivo que se requiere visualizar en el ceSEARCH.
Data Stripping
Es una técnica de dividir datos lógicamente secuenciales, en TEC FILE SYSTEM dicho algoritmo es utilizado por Controller Node para gestionar la distribución de los libros dentro del RAID.
Rebuild de Lost Disk with XOR
Esta técnica consiste en aplicar la compuerta lógica XOR para recuperar una parte del archivo que se ha pérdido cuando un disco es inhabilitado, para esto primero se hace uso del Parity Checking que detecta el error e informa, posteriormente se aplica XOR sobre los otros strippings para recuperar la parte que presenta error desde el Controller Node.
Algoritmo de Huffman:
Este es un algorimo para la compresión y descompresión de los datos, este utiliza una tabla de códigos de longitud variable para codificar un determinado símbolo donde la tabla ha sido rellenada de una manera específica basándose en la probabilidad estimada de aparición de cada posible valor de dicho símbolo. Este algoritmo genera un árbol binario, que es utilizado posteriormente para el cifrado y la descompresión de los datos.
Huffman es utilizado en TEC FILE SYSTEM para realizar las comunicación entre TECFS-DISK, ControllerNode, ceROBOT y ceSEARCH.