The number of connected devices and services available across the Internet of Things (IoT) is rapidly expanding. In this paper, we present a novel mechanism that improves the ability of mobile clients to dynamically discover potentially unknown IoT services across the IoT's increasingly fragmented protocol landscape. Our approach leverages the detected usage patterns of crowds of mobile users interacting with various IoT services in-situ. We model these usage patterns as a contextual bandit problem that incorporates arbitrarily complex contextual cues, such as device settings, users, environment, activities, etc. We present a modified LinUCB-hybrid algorithm that regulates the exploitation of known services based on contextual cues and makes use of exploration at appropriate times to discover contextually relevant IoT services for mobile users who may not have sufficient prior knowledge. These recommended services can then be used by other middleware platforms, plug-ins or apps to compose new services. We present the overall approach, an operational prototype system and a validation of the system, obtained using two experimental scenarios, which demonstrates promising initial results.
['Nirandika Wanigasekara', 'Jenny Schmalfuss', 'Darren Carlson', 'David S. Rosenblum']
A Bandit Approach for Intelligent IoT Service Composition across Heterogeneous Smart Spaces