With the increase of streams, i.e., multimedia surveillance streams, social media streams, sensor data streams, etc., a demand for stream processing has become diverse and complicated. To meet this demand, several stream processing engines have been developed. Event-driven stream processing, which is one of the important requirements, continuously gets the incoming stream data however generates query results only on the occurrence of specified events. In the basic query execution scheme, even when no event is raised, input stream tuples are continuously processed by query operators, though they do not generate any query result. This results in increased system load and wastage of system resources. To cope with this problem, we propose a smart event-driven stream processing scheme, which makes use of smart windows to buffer the incoming stream tuples during the absence of an event. When the event is raised, the buffered tuples are flushed and processed by the downstream operators. If some of the buffered tuples in the smart window expire due to the window size before the occurrence of the event, they are deleted directly from the smart window, resulting in reduced system load and increased system throughput. Extensive experiments are performed to show the effectiveness of the proposed smart scheme. For the sake of experiments, a prototype system has been developed capable of processing JSON data and enables users to register CQL style Jaql queries.