Overview of Autonomic Computing: Origins, Evolution, Direction