An Architecture For Federated Cloud Computing