A Distributed Agent Architecture for a Computer Virus Immune