1 / 33

On Meta-Management of Spatio -Temporal Data

On Meta-Management of Spatio -Temporal Data. Goce Trajcevski DbSN Lab Dept. of EECS Northwestern University goce@eecs.northwestern.edu. Joint work with: Zachary Bischof, Oliviu Ghica, Nikoly Valtchanov, Peter Scheuermann. Pre-Motivation.

eileen
Download Presentation

On Meta-Management of Spatio -Temporal Data

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. On Meta-Management of Spatio-Temporal Data Goce Trajcevski DbSN Lab Dept. of EECS Northwestern University goce@eecs.northwestern.edu Joint work with: Zachary Bischof, Oliviu Ghica, Nikoly Valtchanov, Peter Scheuermann

  2. Pre-Motivation • Context: Any information pertaining to a given situation that can be used to characterize the entities of interest – e.g., GUIDE project • Personal (location, interests, preferred meals) • Environmental (time of day, locations of attractions Situation? time place Unpredictable (instantaneous) attributes with continuous impact predictable attributes

  3. Pre-Motivation –Combined Situational Awareness • Nurse on duty in Assisted Living Residence • Resident experiences high temperature • and manifests food poisoning • Physician is the nearest hospital is aware and • monitors • The symptoms worsen •  Physician decides to send ambulance • The number of residents with similar symptoms • dramatically increases in a short time • Not enough nurses • Not enough physician on staff in the nearest ER • Not enough many ambulances

  4. Pre-Intro: Context-Awareness in Distributed Dynamic Settings “If an object has been continuously moving towardsRIfor more than 5min., begin tracking it with at least 2 cameras when it gets closer than 100 yards. Subsequently, if thatobject is identified as human carrying a bag, maximize the focus of the closest camera, and transmit its stream to the monitor in the closest patrol vehicle”.

  5. Outline • Background • Active Databases and ECA (++) • Mobility and Evolving Reactive Behavior • (ECA)2 and Meta-Triggers • Experimental Observations • Concluding Remarks

  6. Background: Active Databases Evolution = insert; delete; update (…) Integrity Constraints (IC): -Violation? Fix it ECA = Basic Paradigm of the Reactive Behavior: Triggers (AKA Active Rules) seemingly straightforward, but incorporates an interplay of many semantic dimensions ON EVENT IF CONDITION THEN ACTION

  7. Background: Active Databases IMPORTANT:  detection occurrence of an “entity of interest” • Event = • Condition = • Action = primitive composite internal external Event Algebras: •E1  E2 (conjunction) • E1; E2 (sequence) • … typically, a query (SQL expression) (sequence of) SQL, mostly DML, statements

  8. Background – Active Databases • Why ECA? • Why not all: Event  Action? • After all: • Composite Events • Formalisms (AKA Algebras) • Detection “tools” (e.g., Petri Nets) • Interval vs. Instantaneous • ENS have been around… • Why not all: Condition  Action? • After all: • OPS-like ; • Formalisms (Temporal Logic) • Expert Systems, Deductive Databases • have been around… COST: interrupt  context-switch COST: polling  potential_waste… DBMS collaborates closely with, but is NOT the OS  events are “seen” only through the “lens” of transactions… (e.g., insert, delete)  conditionsare SQL queries (optimized)

  9. Background – Triggers in Mobile Networks (TRG) Base station handover:  2G/3G mobile phones opt for 3G connectivity  Traffic load • TRG identifies Producers and Consumer • Similar to “publishers “ and “subscribers” in ENS • Serves as a “point of reference • Ensuring a consistent enforcements of rules/policies NOTE: Same entities can be both consimers (of triggers) and producers (of events)

  10. Background – TRG • Mobility aspects: • Routing groups formation/maintenance (e.g., cluster-head selection)

  11. Background – TinyDB and Triggers ECA-triggers?(so called, actuation queries) SQL: SELECT AVG(volume) FROM sensors WHERE floor = 6 GROUP BY room HAVING AVG(volume) > threshold SAMPLE PERIOD 30S SELECT nodeid, temp FROM sensors WHERE temp > threshold OUTPUT ACTION power-on(nodeid) SAMPLE PERIOD 10s Event-Based: ON EVENT bird-detect(loc) SELECT avg(LIGHT), AVG(temp), event.loc FROM sensors AS s WHERE dist(s.loc, event.loc) < 10m SAMPLE PERIOD 2s FOR 30s

  12. (ECA)2 – Evolving and Context-Aware Event-Condition-Action •  Events Notification Systems •  Continuous Queries Processing • Triggers and Mobile Nodes • TinyDB •  Why/What else? • Active Databases • Expert Systems (OPS5) • Events Management • Postulate: •  In many dynamic settings, the • need for detecting a particular • event(s)and/or monitoring particular • conditionsarises only after: • 1. certain events have been detected • 2. certain continuous conditions (do not) hold • The perception of “event” and • “condition” can vary (especially in • distributed settings) Triggering Engine

  13. Meta-Management – Definition • Data • tuples; objects; etc. • Meta-Data • Data “about the data” • Types, Schemas, etc. • Data Management • Storage/retrieval • Efficient query processing • Meta-Management • Which queries to be processed when; • How to steer the data generation/gathering • And do it efficiently, with some QoD guarantees…

  14. Evolving Reactive Behavior WHEN an object is continuously_moving_towards the region R for more than 5 min., IF there are less then 10 jets in the base B1, then send alert_b to the armored unit A1. Air-Base B1 Also send alert_a to the infantry regiment I1, WHEN *that* object is closer than 3 miles to R, IF all the marine units are further than 5 miles from R. R To send, or not to send…

  15. A little “algorithmic-flavor”: continuously_moving_towards R for  6 min. F A 1. Generate the Voronoi diagram 2. “Shoot-a-ray take-a-walk” 3. Update the time_accumulator accordingly!!! R E B C D

  16. Triggers for that Evolving Reactive Behavior • Trigger: ON E_Moving_Towards(O,’R’,5,T) IF Jets_Count(‘B1’,X,T) and X<10 AND T1>=T AND within_event(E_Moving_Towards(O,’R’,5,T1)) THEN Alert(‘b’,’A1’) (also): Span Consumed-by-Parent = no, Consume-Parent = no ON E_Distance(O,’R’,3,T2) IF Distance(‘Marines’,’R’,Y,T2) AND T2>T AND Y>=5 THEN Alert(‘a’,’I1’) No longer Moving-Towards Event Moving-Towards Detected Distance Event Detected = CHILD OF THE ORIGINAL TRIGGER

  17. (ECA)2 – Evolving and Context-Aware Event-Condition-Action When the body network of a resident signals readings which have been continuously approaching a threshold value for longer then 3 min. If the number of on-site physicians < number of endangered residents Notify the nearest k hospitals, requesting emergency vehicles with/without physicians Subsequently, When some of the k ambulances en-route experiences heavy traffic congestion, If the delay in the expected arrival time is > 50% (with respect to the original arrival time) Notify another hospital, requesting emergency vehicle…

  18. (ECA)2 – Evolving and Context-Aware Event-Condition-Action ON E_Increase(Signal,3, patient_i, T) IF Physician_Count(T,m) AND Endangered_Patients(T,n) AND m < n AND within_validity(Signal,patient_i) THEN Alert_Nearest_Hospitals(Ha,k) Fork: Consumed-by-Parent = yes, Consume-parent = no ON Traffic_Abnormality(T1,V1) IF Expected_Arrival(V1,T2,T1) AND Expected Arrival(V1,T3,T) AND T2 – T > 1.5(T3 – T1) THEN Alert_Nearest_Hospital(Hb,1) Event “E_Increase” detected Event “E_Traffic_Abnormality”

  19. (ECA)2 – Syntax ON Ep(VEp) <priority> validity(Tpv /Epv(VEpv)) IF Cp1(VCp1) within_time(Tc1)/within_event(Ec1(VEc1)) THEN Ap1(VAp1) ELSE-IF Cp2(VCp2) within_time(Tc2)/within_event(Ec2(VEc2)) THEN Ap2(VAp2) ..... Span (child’) Consumed-by-Parent=<yes/no>, Consume-Parent=<yes/no> ON Ec1(VEc1) <priority> validity(Tc1v/Ec1v(VEc1v)) IF Cc11(VCc11) within_time(Tc11)/within_event(Ec11(VEc11)) THEN Ac11(VAc11) ELSE-IF ... Subsequently (child’’) Consume-Parent=<yes/no> ON Es1(VEs1) <priority> validity(Ts1v/Es1v(VEs1v)) IF Cs11(VCs11) within_time(Ts11)/within_event(Es11(VEs11)) THEN As11(VAs11) ELSE-IF… Further nesting of children Further nesting of children

  20. (ECA)2 and the Meta-Triggers OBSERVE: ON E_Moving_Towards(O,’R’,5,T) IF Jets_Count(‘B1,X,T) and X<10 AND T1>=T AND within_event(E_Moving_Towards(O,’R’,5,T1)) THEN Alert(‘b’,’A1’) It is very likely that Jets_Count(‘B1’,X,T) will be maintained by a remote server, for Whom a remote-request is nothing but an instantaneous query But, then the “local site” (monitoring “moving_towards”) will have to “ship” such queries upon every new detection… PLUS, it may miss some important changes at the airport in-between updates (pull-mode) REMEDY: 1. Tell the remote site to make the query continuous; 2. Tell the remote site to setup a trigger for certain values of that continuous query 3. “Remember” locally that now instead of askingthe query for the condition, you are actually expecting an arrival of an event from the airport database (push mode!!!)

  21. (ECA)2 and the Meta-Triggers ??? In general, initially we have a local TR1: ON E1 IF CRemote AND CLocal THEN A1 Meta-Trigger (input) (output) TR1’: ON E1; (E-requested-remote; E-notification-from-remote) AND CLocal THEN A1 TR1-Remote: ON E-requested-remote IF CContinuous THEN A(E-notification-to-remote)

  22. (ECA)2 and the Meta-Triggers: HOW…??? • WSN Programming Languages: • “borrow” the semantics from existing paradigms • Event-driven; SQL-based; Functional/dynamically typed • Node-Level: • NesC; TinyScript;… • Target individual sensors and, generally, same code running on individual nodes; • Mostly imperative; executable code (Flash); flow control based on events/communication • Network-Level: • TinySQL – query optimization; • TinyScript – “more accessible” programming (dynamically typed imperative language) • SDlog – declarative networking; Datalog based (“@”; “#”) Most likely, interpreted languages (Mate’; Trickle)

  23. Hypothetical Reasoning • High-Level Specification (Domain-Description) Language • Based on Action Theories (well-defined semantics) • Enables hypothetical reasoning for queries • Domain Description = effects of executing actions: • A causes F1 if Fi, Fj, …, Ek, Em,… • A induces E1 when Fl, Ft, …, Er, Es, … • Plus, the expressions which define the ramifications • F1, F2, …, E1, E2, … suffice_for F/E F = facts (i.e., tuples) E = valid events Action_Read_Radar induces Event_Location_Determined (NOTE: No Condition) Event_Location_Determined, Time_Towards_Accumulator > 5 suffice_for E_Continuously_Moving_Towards AUGMENTED WITH (ECA)2 TRIGGERS

  24. Hypothetical Reasoning • Basic “vehicles” are queries of the form: • Will the Fact/Event L hold in a state which is generated after the sequence of actions [A1, A2, …, An] is executed, starting in a state at which F1, F2, …, E1, E2, … hold? L after [A1,A2,…,An] at F1, F2, … E1, E2… • Design: experts from different domains involved • Deployment: status of the system and/or impact of modifications.

  25. Hypothetical Reasoning Will I have sufficient defense resources if 20 objects are continuously moving towards R for more than 5 minutes within half an hour, approaching from North-West, and three of them are within 3 miles. • Example: • Formally: Sufficient defense resources = More than 5 F15s in the air-base B1 and more than 17 Type A1 Marksman in the infantry unit A1 (Count(Airplanes(F15,B1)) > 5 AND (Count(Infantry(A1,Marksman)) > 17) after [ Moving_towards(X1,'R','NW',5,T1) AND Moving_towards(X2,'R','NW',5,T2) AND … Moving_towards(X20,'R','NW',5,T20) ] AND (T1<T2 … < T20)AND (T20 - T1 < 30) AND [ (Distance(Xi,'R') < 3) AND (Distance(Xj,'R') < 3) AND (Distance(Xk,'R') < 3) ]

  26. TelosB – Proof of Concept…

  27. SID-net = Tool for hypothetical reasoning 150000x150000 ft2 (500 Mica2 Motes)

  28. Simulation Observations

  29. Pre-Conclusion: The “say-so” of The Network…

  30. Concluding Remarks • Meta-Management of Spatio-Temporal Data • Contexts; • Evolution and Reactive Behavior with Pro-Active Consequences • Meta-Triggers; • Fabric vs. Thread… • Ongoing Work: • Translation to NDlog • Possible “type-extensions” • Fusion with TinyDB • Event-Base • Other popular spatio-temporal queries • Uncertainty • Distributed (meta) indexing

  31. Thank You!

  32. (ECA)2 Additional Example When a patient has been continuously moving towards the lake OR the perimeter fence for more then 5 min. If there is no nurse within 50 ft. from him Notify the security personnel Subsequently, Whenthat person has been continuously moving along the lake for more than 1 min. If there is no nurse or security within 100 ft. from the lake Notify the nurses

  33. (ECA)2 – Additional Example ON E_Moving_Towards(5, Patient, T, lake) OR E_Moving_Towards(5, Patient, T, fence) IF Distance(Nurse, Patient, T) > 50 THEN Alert(Security, T) Fork: Consumed-by-Parent = no, Consume-parent = no ON E_Moving_Along(1,Patient,T1, lake) IF Distance(Nurse,Patient,T1) > 100 AND Distance(Security,Patient,T1) > 100 THEN Alert(Nurse, T1) Event “E_Moving Towards” Event “E_Moving_Along”

More Related