Defining Cloud Computing Models