In this article, we review the state-of-the-art techniques in mining data streams for mobile and ubiquitous environments. We start the review with a concise background of data stream processing, presenting the building blocks for mining data streams. In a wide range of applications, data streams are required to be processed on small ubiquitous devices like smartphones and sensor devices. Mobile and ubiquitous data mining target these applications with tailored techniques and approaches addressing scarcity of resources and mobility issues. Two categories can be identified for mobile and ubiquitous mining of streaming data: single-node and distributed. This survey will cover both categories. Mining mobile and ubiquitous data require algorithms with the ability to monitor and adapt the working conditions to the available computational resources. We identify the key characteristics of these algorithms and present illustrative applications. activity recognition, smart homes, and emergency or disaster management like bush fires.1,2 Thus, the key focus is on developing data stream mining algorithms that are highly scalable or computationally efficient, energy-efficient, and context or resource-aware. These features enable the continued operation of data stream mining algorithms in a highly dynamic mobile or ubiquitous environment. The typical constraints that have to be addressed in performing mobile or ubiquitous data stream mining are: (1) data streams are generated and sent in real time in a stream format with little or no potential for persistent storage, (2) resource constraints include limited computational resources such as memory, processor speed, network bandwidth, battery power, and screen real-estate, (3) temporal constraints refer to real-time information and decision-making needs that, in turn, necessitate the analysis to be online, incremental, and continuous, (4) mobility of users and devices and the connectivity issues thereof, and 116