In-Network Computing (INC) has found many applications for performance boosts
or cost reduction. However, given heterogeneous devices, diverse applications,
and multi-path network typologies, it is cumbersome and error-prone for
application developers to effectively utilize the available network resources
and gain predictable benefits without impeding normal network functions.
Previous work is oriented to network operators more than application
developers. We develop ClickINC to streamline the INC programming and
deployment using a unified and automated workflow. ClickINC provides INC
developers a modular programming abstractions, without concerning to the states
of the devices and the network topology. We describe the ClickINC framework,
model, language, workflow, and corresponding algorithms. Experiments on both an
emulator and a prototype system demonstrate its feasibility and benefits