Scheduling Messages with Deadlines in Multi-hop Real- time Sensor Networks Wei Song
Introduction “A cyber-physical system (CPS) integrates computing, communication and storage capabilities with monitoring and / or control of entities in the physical world, and must do so dependably, safely, securely, efficiently and in real-time.” - S. Shankar Sastry, UC Berkeley RTSS 08 specialized track: Cyber-Physical Systems RTSS 07 Architecture and Composibility for Cyber-Physical Systems NSF Workshop on Cyber-Physical Systems was held on October in Austin, Texas 2006
Two features make it different from Today’s Sensor Network control of entities real-time Y. Tan, SIGBED Review, 5(1), 2008
Application RTSS 08 Student Design Competition a simulated multi-robot rescue mission (simulated CPS system)
RTSS 08 Robot Competition (Simulated CPS System) Sensor sub system is ready to use Actuator sub system is ready to use Strategy Computation and simulated wireless communication need to design Target localization algorithm Shortest path algorithm and path planning Real time sensor request scheduling Real time wireless communication (what? How?)
Scheduling Messages with Deadlines in Multi- hop Real-time Sensor Networks* Application Background Definitions and Notations Algorithms Example Conclusion *Huan Li et al. “Proceedings of the 11th IEEE Real Time and Embedded Technology and Applications Symposium” (RTAS 05)
Application Background Consider a team of robots that collaborate to achieve a common task. Examples: searching for trapped people in a building on fire; building a map of an unknown environment The robots are equipped with sub set of numerous sensors such as camera, temperature, pressure, infrared sensors, and positioning devices. Each robot is also equipped with a wireless connectivity, communicate with others over an ad-hoc network.
Different Roles and Communication Requirements each robot in the team may be assigned one or more tasks leader-follower groups the leader robot is designed with a task of determining a “plan” a communication plan who is talking to whom a path plan where to move
Data Validity Time interval for which data value produced by sensor is valid sensor period sensors produce data periodically Effective Deadline (ed) a sensor value is produced at time t, and its validity is v time unit. δis start time of the consuming task that consumes m Latest Start time (LST) latest time by which a hop must start transmitting a message for it to reach its destination by effective deadline Definitions and Notations
m i denote the transmission of message m at the i hop pd(m i ) denote the total propagation delay and transmission time that will be incurred on the remaining hops to the destination LST(m i ) = ed(m) – pd(m i )
Problem: Input/Output Given a set of sensor messages that are generated periodically, their associated deadlines and their routes Schema of scheduling message transmissions at each hop so that end-to- end deadline violations are minimized
CSMA/CA networks RTS/CTS and false blocking all nodes in the vicinity that receive RTS messages must avoid transmission for the transmission duration, and are thus blocked. So, node 2 will be blocked when m1 is transmitted. node 4 will be blocked when m2 is transmitted.
Example Because of RTS blocking, m2 could not be transmitted concurrently with either m1 or m3
RTS Deadlock
Algorithm Channel Reuse-based Smallest LST First (global optimize vs. local optimize) Partition message transmissions into disjoint sets Messages in one set should be transmitted together Transmission in one set should complete before next one begins Once message is scheduled at hop i, it is considered for scheduling at hop i+1 The scheduler that executes such an algorithm is designed to be a centralized scheduler.
Pseudocode to build transmission set 1.Initially, S←ø; Task set T = {T1, T2, T3 …} is sorted by arrive time and in LST ascending order 2. For each Ti in T do 3. if S = ø 4. build new S1, let S = S ∪ { S1} 5. else 6. for each set Si ∈ S 7. if (Feasible(Ti, Si) ) 8. Si = Si ∪ {Ti} 9. end for 10. build new Sj = {Ti}, let S = S ∪ {Si} 11.End for Feasible (Ti, Si) 1.If arrive time of Ti >= finish time of Si Return FALSE 2.If finish time of Ti > effective deadline of Ti Return FALSE 3.If Ti interferes with any Tj, which Tj ∈ Si Return FALSE 4.If inserting Ti into Si make some messages in the subsequent Sj, i<j<=n, violate the deadline Return FALSE 5.Return TRUE
Example 1.S1 = { m1} S = {S1} 2.m2 interferes with m1 make new set S2 = {m2} 3. Check feasible(m3, S1) s(m3)= 1< f(S1)=2; f(m3) = max(s(S1),a(m3))+e(m3) = 1+2 =3 < ed(m3) = 8 no interfere extension of f(S1) = 3 doesn’t influence S2 4. S1 = {m1, m3} S2 = {m2} 1.S1 = { m1} S = {S1} 2.m2 interferes with m1 make new set S2 = {m2} 3. Check feasible(m3, S1) s(m3)= 1< f(S1)=2; f(m3) = max(s(S1),a(m3))+e(m3) = 1+2 =3 < ed(m3) = 8 no interfere extension of f(S1) = 3 influence S2 4. S1 = {m1} S2 = {m2} S3= {m3}
Conclusion Advantages Explicitly avoids collisions Exploits spatial channel reuse end-to-end effective deadlines can be met as many as possible Constraints:
Questions:
Thanks!