Вы находитесь на странице: 1из 10

En este documento solo estn algunas las tcticas que ms se emplean

para crear un sistema de informacin de calidad, el link del libro en donde


estn las dems tcticas esta al final del documento.

CAPITULO 5: LOGRANDO CALIDAD


5.2 Tcticas de disponibilidad:
Conjunto de tcticas para evitar que una falla o fallas interrumpan el
funcionamiento de un sistema o bien tratar de limitar los efectos de las
fallas para as repararlas. (Disponibilidad)
La disponibilidad est enfocado en redundancia, algn tipo de
monitorizacin para detectar fallas, y algn tipo de recuperacin cuando la
falla es detectada. (Monitorizacin y recuperacin puede ser automtica o
manual)
Figura 5.2. Objetivo de tcticas disponibilidad

DETECCION DE FALLOS
-

Ping/echo:
Un componente enva un ping y espera recibir un eco, en un tiempo
predefinido desde el comienzo bajo escrutinio.
Si son organizados en jerarqua, un detector de bajo nivel enva un
ping al proceso de software con el cual comparte un procesador y los
detectores de fallo de alto nivel les hacen ping a los de menor nivel.
(Menos ancho de banda comunicaciones)

Heartbeat (temporizador hombre muerto): Un componente emite un


mensaje de latido peridicamente y otro componente escucha este.
Si falla el emisor este notifica a un componente de correccin de fallo.
(pueden transmitir datos)

Excepciones: Saltan cuando una de las clases de falla es reconocida.

Ping/echo y heartbeat operan en distintos procesos. La tctica de


excepciones opera dentro de un solo proceso, tambin realiza una
transformacin semntica de la falla en una forma en que pueda ser
procesada.
RECUPERACIN DE FALLO
Consiste en la preparacin para la recuperacin y la reparacin del sistema,
usando estas tcticas:

Votacin:
De cada entrada de los procesos que se ejecutan en procesadores
redundantes, se calcula un valor de salida simple que se enva a un
votante.
Si el elector detecta un comportamiento desviado desde un nico
procesador, este falla. Los Algoritmos de votacin pueden ser reglas
de mayora o componente perifricos entre otros.
Este mtodo se utiliza para corregir algoritmos y fallas de procesador,
mayormente usado en sistemas de control.
Redundancia Activa (hot restart) :
Todos los componentes redundantes responden a los eventos en
paralelo, que estn en el mismo estado. La respuesta de un solo
componente se utiliza generalmente es el primero en responder.
El tiempo de inactividad es de milisegundos al detectarse una falla
desde la copia de seguridad actual y el nico tiempo para
recuperarse es el tiempo de conmutacin.
Generalmente se usa en una configuracin cliente servidor.

Redundancia pasiva: (reinicio en caliente/ redundancia dual/ triple


redundancia).
El componente (primario) responde a los eventos e informa a los otros
componentes (en espera) del estado que las actualizaciones deben
tomar. Cuando se produce un fallo, el sistema primer verifica si la
copia de seguridad es lo suficientemente reciente antes de reanudar
los servicios.

Repuesto:
Una plataforma de computacin en espera de respuesta est
configurado para reemplazar muchos componentes fallidos. Se debe
reiniciar a la configuracin del software apropiada cuando ocurre una
falla haciendo peridicamente un punto de control del estado del
sistema, tiempo de respuesta es en minutos.
Operacin Sombra:
Un componente que fallo previamente se puede ejecutar en modo
sombra durante un corto tiempo para asegurarse que imita el
comportamiento de los componentes de trabajo antes de restaurar el
servicio.
Estado de re sincronizacin:
Las tcticas de redundancia pasiva y activa requieren que el
componente que est siendo restaurado a su estado mejorado antes
que retorne a servicio.
El enfoque de actualizacin depender del tiempo de inactividad que
puede ser sostenido, tamao de la actualizacin y numero de
mensajes requeridos para ello.
Checkpoint/rollback:
Un punto de control es una grabacin de un estado consistente
creado peridicamente o en respuesta a eventos especficos. Cuando
falla es sistema se puede restaurar usando el checkpoint previo al
fallo.

Prevencin de fallos:
-

Separacin del servicio:


Elimina un componente del sistema de operacin para someterse a
algunas de las actividades para evitar fallos esperados.
Transacciones: Una transaccin es la agrupacin de varios pasos
secuenciales de tal modo que toda la agrupacin se pueda deshacer
de una vez. Las transacciones de utilizan para evitar que los datos se
vean afectados si un paso en el proceso falla y tambin para prevenir
colisiones entre varios hilos simultneos accediendo a los mismos
datos.
Proceso de monitor: Una vez que un fallo en un proceso es detectado
el proceso de seguimiento puede eliminar el proceso no ejecutado y
crear una instancia del mismo inicializndolo a un estado apropiado
como en la tctica de repuesto.

5.3 Tcnicas de modificabilidad


Las tcticas para controlar la modificabilidad tienen como objetivo controlar
el tiempo y costo de implementar, probar e implementar cambios. La figura
5.4 muestra esta relacin.
Organizamos las tcticas para modificabilidad en grupos de acuerdo a sus
objetivos. Un conjunto tiene como objetivo reducir el nmero de mdulos
que son directamente afectados por un cambio. Llamamos a este conjunto
modificaciones localizadas. Un segundo conjunto tiene como objetivo
limitar las modificaciones a los mdulos localizados. Usamos este conjunto
de tcticas para prevenir el efecto domino.
MODIFICACIONES LOCALIZADAS
El objetivo de la tctica en este punto es asignar responsabilidades a los
mdulos durante el diseo de tal manera que los cambios previstos estarn
limitados en el alcance. Identificamos estas tcticas.

Mantener la coherencia semntica: La coherencia semntica se


refiere a las relaciones entre las responsabilidades en un mdulo. El
objetivo es garantizar que todas estas responsabilidades trabajen
juntas sin excesiva dependencia de otros mdulos.
Anticipar los cambios previstos: La tctica de anticipar los cambios
previstos no se ocupa con la coherencia de las responsabilidades de
un mdulo sino ms bien de minimizar los efectos de los cambios.
Generalizar el mdulo: Haciendo un mdulo ms general permite
calcular un amplio rango de funciones basadas en entrada, como la
definicin de un idioma para el modulo, haciendo parmetros de
entrada constantes o implementar un mdulo como un intrprete y
haciendo los parmetros de entrada un programa en el lenguaje del
intrprete.
Limitar las posibles opciones: Las modificaciones, especialmente
dentro de una lnea de producto pueden ser de largo alcance por lo
tanto afectar a muchos mdulos. Restringiendo las posibles opciones
reducir el efecto de estas modificaciones.

PREVENIR LOS EFECTOS DOMINO


Un efecto domino de una modificacin es la necesidad de hacer cambios a
los mdulos que no estn directamente afectadas por el mismo.
Identificamos ocho tipos:
1. Sintaxis de:
o Data. Para compilar B (o ejecutarlo) correctamente, el tipo (o
formato) de los datos que es producido por A y consumido por
B debe ser consistente con el tipo (o formato) de los datos
asumidos por B.
o Servicio. Para compilar y ejecutar correctamente B, la firma por
los servicios prestados por A e invocadas por B deben ser
consistentes con los supuestos de B.
2. Semntica de:
o Data: Para ejecutarse correctamente B, la semntica de los
datos producidos por A y consumidos por B deben ser
consistentes con los supuestos de B.
o Servicicio: Para ejecutar correctamente B, la semntica de los
servicios producidos por A y usados por B deben ser
consistentes con los supuestos de B.
3. Secuencia de:
o Data: Para ejecutar correctamente B, debe recibir los datos
producidos por A en una secuencia fija. Por ejemplo, la
cabecera de un paquete de datos debe preceder a su cuerpo
con el fin de recepcin (opuesto a los protocolos que tienen el
nmero de secuencia incorporada en los datos).
o Control: Para ejecutar correctamente B, A debe ser ejecutado
previamente dentro de ciertas limitaciones de tiempo. Por
ejemplo, A debe ser ejecutado no ms de 5 ms antes de que se
ejecute B.
4. Identidad de una interface de A:

5.

6.

7.

8.

A puede tener mltiples interfaces. Para que B se compile y


ejecute correctamente, la identidad (nombre o handle) de la
interface debe ser consistente con los supuestos de B.
Localizacin de A (tiempo de ejecucin) :
Para ejecutar correctamente B, la localizacin del tiempo de
ejecucin de A debe ser consistente con los supuestos de B. por
ejemplo B puede asumir que A esta localizado en un proceso
diferente en el mismo procesador.
Calidad de servicio/ data provedos por A:
Para que B se ejecute correctamente, alguna propiedad que
implique la calidad de los datos o servicios proporcionados por A
debe ser consistente con los supuestos de B. Por ejemplo, los
datos proporcionados por un sensor en particular deben tener una
cierta precisin para que los algoritmos de B funcionen
correctamente.
Existencia de A:
Para que B se ejecute correctamente, A debe existir. Por ejemplo,
si B esta solicitando un servicio de un objeto A, y A no existe y no
puede ser dinmicamente creado, entonces B no se ejecutara
correctamente.
Comportamiento de recursos de A:
Para que B se ejecute correctamente, el comportamiento de los
recursos de A debe ser consistente con los supuestos de B. Esto
puede ser el uso de recursos de A (A usa la misma memoria que
B) o recursos propios (B reserva un recurso que A cree que posee).

Las tcticas disponibles al arquitecto para prevenir el efecto domino para


cierto tipo:
- Hide information: El ocultamiento de informacin es la
descomposicin de las responsabilidades para una identidad (un
sistema o alguna descomposicin de un sistema) en pequeas piezas
y escogiendo que informacin hacer privada y cual hacer pblica.
- Manteniendo interfaces existentes: Si B depende del nombre y la
firma de un interfaz de A, el mantenimiento de esta interfaz y su
sintaxis permite que B permanezca sin cambios.
o

Los patrones que implementan esta tctica incluye.


Aadir interfaces: Nuevos servicios o datos visibles
pueden estar disponibles a travs de nuevas interfaces.
Aadiendo Adaptador: Aadir un adaptador a A que
envuelva A y ofrece la firma de A originales.
Proveer el resguardo de A: Si la modificacin exige la
eliminacin de A, entonces proveer el resguardo de A
permitir que B permanezca sin cambios si B depende
solo de la firma de A.

Restringir las rutas de comunicacin: Restringir los mdulos con los


cuales un mdulo dado comparte datos.
Uso de un intermediario: Si B tiene cualquier tipo de dependencia de
A aparte de la semntica, es posible insertar un intermediario entre B

y A que gestione las actividades asociadas a la dependencia.


teniendo como intermediarios:
o Data: Actan como intermediarios entre el productor y el
consumidor de los datos.
o Servicios: Los patrones de fachada, puente, mediador,
estrategia, proxy y fbrica todos ofrecen los intermediarios que
convierten la sintaxis de un servicio de una forma a otra.
o Identidad de interface de A: Un patrn intermediario puede ser
usado para enmascarar los cambios en la identidad de una
interfaz.
o Localizacin de A (runtime): Un servidor de nombres permite
que la localizacin de A sea cambiada sin afectar B.
o El comportamiento de recursos de A o recursos controlados por
A: Un gestor de recursos es un intermediario que es
responsable de la asignacin de recursos.
o Existencia de A: El patrn de fbrica tiene la habilidad para
crear instancias segn sean necesarias, por lo tanto la
dependencia de B en la existencia de A es satisfecho por las
acciones de la fbrica.
APLAZAR EL TIEMPO DE ENLACE
Enlazndose en tiempo de ejecucin significa que el sistema se ha
preparado para esa unin y que todos los pasos de testeo y distribucin han
sido completados. Aplazar el tiempo de unin tambin soporta permitir al
usuario final o administrador del sistema hacer ajustes o proveer entradas q
afecte el comportamiento.
Muchas tcticas estn intencionadas a tener un impacto en el tiempo de
carga o ejecucin como la siguiente
-

Registro en tiempo de ejecucin soporta el funcionamiento de plug


and play al costo de una sobrecarga adicional para gestionar
registro. El registro de publicacin/suscripcin por ejemplo, puede ser
implementado en tiempo de ejecucin o tiempo de carga.
Archivos de configuracin. Estn destinadas a establecer los
parmetros en el arranque.
Polimorfismo permite el enlace de llamadas a mtodos.
El reemplazo de componentes permite el tiempo vinculante de carga.
La adhesin a protocolos definidos permite la unin de procesos
independientes de tiempo de ejecucin.

5.5 Tcticas de seguridad


Se dividen en los relacionados con los ataques resistentes, aquellos
relacionados con la deteccin de ataques, y los relacionados con la
recuperacin de ataques

Figure 5.8. Objetivos de las tcticas de seguridad

RESISTIENDO ATAQUES
Identificamos el no repudio. Confidencialidad, integridad y la garanta de
que los objetivos de nuestra caracterizacin de seguridad. Las siguientes
tcticas pueden ser usadas en combinacin para lograr nuestros objetivos.

Autentificar usuarios.
Usuarios autorizados. La autorizacin es asegurar que un usuario
autenticado tiene los derechos para acceder y modificar datos o
servicios.
Mantener la confidencialidad de los datos. Los datos deben estar
protegidos contra el acceso no autorizado. La confidencialidad se
consigue normalmente mediante la aplicacin de algn tipo de
encriptacin para los datos y los enlaces de comunicacin.
Mantener la integridad. Los datos deben ser entregados segn lo
previsto. Puede tener informacin redundante codificada en el mismo,
tales como sumas de comprobacin o resultados hash, que pueden
ser encriptados, ya sea junto con o independientemente de los datos
originales.
Limite la exposicin. Los ataques por lo general dependen de la
explotacin de una sola debilidad para atacar a todos los datos y
servicios en un host.
Limite el acceso. Los cortafuegos restringen el acceso basado en
mensajes fuente o puerto de destino.

DETECTANDO ATAQUES
La deteccin de un ataque es generalmente a travs de un sistema de
deteccin de intrusos. Estos sistemas funcionan mediante la comparacin
de los patrones de trfico de red a una base de datos.
Las tcticas utilizadas en la restauracin del sistema o datos a un estado
correcto de solapamiento con los utilizados para la disponibilidad, ya que
estn relacionadas con recuperar un estado consistente de un estado
inconsistente.
RECUPERANDOSE DE LOS ATAQUES
Las tcticas involucradas en la recuperacin de un ataque pueden dividirse
en las relacionadas con la restauracin del estado y las relacionadas con la
identificacin de los atacantes (ya sea con fines preventivos o punitivos).
La tctica para identificar a un atacante es mantener un registro de
auditora. Una pista de auditora es una copia de cada operacin aplicada a
los datos en el sistema, junto con la identificacin de la informacin. La
informacin de auditora se puede utilizar para rastrear las acciones de un
atacante, apoyar el no repudio (que proporciona evidencia de que se hizo
una solicitud en particular), y la recuperacin del sistema de apoyo.

Fuente libro:

Software Architecture in Practice, Second Edition


http://www.ece.ubc.ca/~matei/EECE417/BASS/

Вам также может понравиться