  Emerging network architectures like Information-centric Networking (ICN)
offer simplicity in the data plane by addressing named data. Such flexibility
opens up the possibility to move data processing inside network elements for
high-performance computation, known as in-network processing. However, existing
ICN architectures are limited in terms of data plane programmability due to the
lack of (i) in-network processing and (ii) data plane programming abstractions.
Such architectures can benefit from Complex Event Processing (CEP), an
in-network processing paradigm to efficiently process data inside the data
plane. Yet, it is extremely challenging to integrate CEP because the current
communication model of ICN is limited to consumer-initiated interaction that
comes with significant overhead in a number of requests to process continuous
data streams. In contrast, a change to producer-initiated interaction, as
favored by CEP, imposes severe limitations for request-reply interactions. In
this paper, we propose an in-network CEP architecture, INetCEP that supports
unified interaction patterns (consumer- and producer-initiated). In addition,
we provide a CEP query language and facilitate CEP operations while increasing
the range of applications that can be supported by ICN. We provide an
open-source implementation and evaluation of INetCEP over an ICN architecture,
Named Function Networking, and two applications: energy forecasting in smart
homes and a disaster scenario.
