Fault-Recovery and Coherence in Internet of Things Choreographies

Facilitating the creation of applications for the Internet of Things IoT is a major concern to increase its development. D-LITe, our previous work, introduces genericity by providing a universal programming interface. Objects are dynamically configured to have their own behaviour, and their actions/reactions are considered as part of a whole application. D-LITeful Objects describe their capabilities, receives the application logic to be executed, and interacts with other. The application is seen as a choreography of behaviours. But the main issue of choreographies is the loss of coherence. Because of their unreliability, some networks used in IoT may introduce de-synchronization, leading to interactions errors. We propose to reintroduce coherence in order to keep the advantages of choreography while dealing with this main issue. An overlay of logical check-points defines the dependence between the coherent states of objects and triggers re-synchronizations. This paper ends with a discussion on the trade-off between the checking cost and the reliability improvement.

[1]  Johannes Behl,et al.  Providing fault-tolerant execution of web-service-based workflows within clouds , 2012, CloudCP '12.

[2]  IEEE World Forum on Internet of Things, WF-IoT 2014, Seoul, South Korea, March 6-8, 2014 , 2014, World Forum on Internet of Things.

[3]  Eric A. Brewer,et al.  Towards robust distributed systems (abstract) , 2000, PODC '00.

[4]  Lei Zhou,et al.  Automatically Testing Web Services Choreography with Assertions , 2010, ICFEM.

[5]  Bran Selic,et al.  A survey of fault tolerance mechanisms and checkpoint/restart implementations for high performance computing systems , 2013, The Journal of Supercomputing.

[6]  Mukesh Singhal,et al.  An Optimality Proof for Asynchronous Recovery Algorithms in Distributed Systems , 1995, Inf. Process. Lett..

[7]  Klaus Wehrle,et al.  KleeNet: discovering insidious interaction bugs in wireless sensor networks before deployment , 2010, IPSN '10.

[8]  Raymond A. Paul,et al.  Automated model checking and testing for composite Web services , 2005, Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'05).

[9]  Gerardo Canfora,et al.  Service-Oriented Architectures Testing: A Survey , 2009, ISSSE.

[10]  Jane Yung-jen Hsu,et al.  Decentralized fault tolerance mechanism for intelligent IoT/M2M middleware , 2014, 2014 IEEE World Forum on Internet of Things (WF-IoT).

[11]  Adam Dunkels,et al.  Contiki - a lightweight and flexible operating system for tiny networked sensors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[12]  Yacine Ghamri-Doudane,et al.  SALT: A simple application logic description using transducers for Internet of Things , 2013, 2013 IEEE International Conference on Communications (ICC).

[13]  Yacine Ghamri-Doudane,et al.  D-LITe: Distributed Logic for Internet of Things Services , 2011, 2011 International Conference on Internet of Things and 4th International Conference on Cyber, Physical and Social Computing.

[14]  Yacine Ghamri-Doudane,et al.  Services collaboration in Wireless Sensor and Actuator Networks: Orchestration versus Choreography , 2012, 2012 IEEE Symposium on Computers and Communications (ISCC).

[15]  David S. Rosenblum A Practical Approach to Programming With Assertions , 1995, IEEE Trans. Software Eng..

[16]  Yacine Ghamri-Doudane,et al.  The “Object-as-a-Service” paradigm , 2014, 2014 Global Information Infrastructure and Networking Symposium (GIIS).

[17]  Nancy A. Lynch,et al.  Perspectives on the CAP Theorem , 2012, Computer.