The Internet of Things (IoT) will consist of billions of interconnected devices denoted as "Smart Objects:" (SOs) tiny, constrained devices which are going to be pervasively deployed in several contexts. The actors involved in IoT scenarios have extremely heterogeneous characteristics (in terms of processing and communication capabilities, energy supply and consumption, availability, and mobility), spanning from constrained SOs, to smartphones and other personal devices, Internet hosts, and the Cloud. SOs are typically equipped with sensors and/or actuators and are thus capable to perceive and act on the environment where they are deployed. By 2020, 50 billions of SOs are expected to be deployed in urban, home, industrial, and rural scenarios [3], in order to collect relevant information, which may be used to build new useful applications. In a typical IoT scenario, sensed data are collected by SOs, deployed in and populating the IoT network, and sent uplink to collection entities as the Cloud.With billions of nodes capable of gathering data and generating information, the availability of efficient and scalable mechanisms for collecting, processing, and storing data is crucial. Big Data techniques, which were developed in the last few years, address the need to process extremely large amounts of heterogeneous data for multiple purposes. These techniques have been designed mainly to deal with huge volumes of information (focusing on storage, aggregation, analysis, and provisioning of data), rather than to provide real-time processing and dispatching. One of the distinctive features of IoT systems is the deployment of a huge amount of heterogeneous data sources collecting data from the environment and sending information through the internet to collectors. The work of all data sources generate, as a whole, streams with a very high frequency. Moreover, several relevant IoT scenarios need real-time or predictable latency. The number of data sources, on one side, and the subsequent frequency of incoming data, on the other side, create a new need for Cloud architectures to handle such massive information flows. Big Data approaches typically have an intrinsic