Machine-to-machine (M2M) systems enable machines or devices to collect data, exchange information, and act on the environment without direct human intervention. A device in an M2M system not only collects data for its own usage, but also shares the data with other devices automatically to achieve certain goals. Therefore, emerging M2M systems for civil transportation, electric power grid, medical treatment, industrial automation and etc., can be set up based on the networking of devices. In this survey paper, we first introduce the general architecture and communication networks for M2M systems. Then, we categorize emerging M2M systems according to the types of M2M context, M2M task and M2M objective. We further survey recent solutions for M2M systems from both academia and industry with the insights of the M2M system categorization. Finally, we summarize challenges in developing M2M system solutions.Index Terms-M2M systems, M2M context, M2M task, M2M objective, categorization.