A de-verticalizing middleware for IoT systems based on information centric networking design