Building survivable services using redundancy and adaptation | IEEE Journals & Magazine | IEEE Xplore