Sistemas distribuidos tolerantes a fallos por diseño