Given the advances in mobile phones, users start to consider a mobile phone a personal information processing tool. So users want to execute its various operations on the top of mobile devices. Researchers have long recognized that mobile hardware is necessarily resource poor relative to static client and server hardware. Mobile cloud computing (MCC) which combines mobile computing and cloud computing is a good solution to this problem and has become one of the industry buzz words and a major discussion topic since 2009. This paper presents a review on the background and principle of MCC, characteristics, recent research works and future research trends.