Download presentation
Presentation is loading. Please wait.
1
Institute of Software Chinese Academy of Sciences QoS-Aware Publish-Subscribe Service for Real-Time Data Acquisition Xinjie Lv, Xin Li, Tian Yang, Zaifei Liao, Wei Liu, Hongan Wang
2
2 Outline Expression of QoS of Pub-Sub Enforcement of QoS of Pub-Sub Case Study-A simple application with three requirements Conclusion Related works
3
3 Publish-Subscribe Service Applications:
4
4 Why Publish-Subscribe Service Advantages Space decoupling do not need to know each other. Time decoupling do not need to be actively participating in the interaction at the same time. Synchronization decoupling publishers are not blocked and subscribers can get asynchronous notification.
5
5 Existing Models and Systems Models CORBA Event Service CORBA Notification Service Java Message Service (JMS) Systems Cambridge Event Architecture (CEA) Distributed Asynchronous Collections (DAC) Scalable Internet Event Notification Architectures (SIENA)
6
6 Problem Limited support for the expression of Quality of Service (QoS) parameters Limited support for the enforcement of QoS parameters Limited support for the Real-Time and active capabilities
7
7 Expression of QoS-DDS Data Distribution Service Specification from the Object Management Group (OMG) Aiming at users requiring data-centric publish-subscribe communications Enumerating and providing formal definitions for the QoS settings
8
8 Outline Related works Enforcement of QoS of Pub-Sub Case Study-A simple application with three requirements Conclusion Expression of QoS of Pub-Sub
9
9 Expression of QoS-DDS Data-Centric Publish- Subscribe (DCPS): efficient delivery of the proper information to the proper recipients. Data Local Reconstruction Layer (DLRL): integration into the application layer. DCPS conceptual model
10
10 Expression of QoS-DDS Supported QoS of DDS GroupQoS PolicyMeanings Resources Resource_Limits Controls resources used to meet requirements Time_Based_ Filter Mediates exchanges between consumers and producers Timeliness Deadline Determines rate at which periodic data is refreshed Latency_Budget Sets guidelines for acceptable end-to-end delays Reliability Durability Determines if data outlives the time when written or read Lifespan Sets time bound for “stale” data History Sets how much data is kept to be read Reliability Controls reliability of data transmission...
11
11 Outline Related works Expression of QoS of Pub-Sub Case Study-A simple application with three requirements Conclusion Enforcement of QoS of Pub-Sub
12
12 Enforcement of QoS-QRTPS QoS-aware Real-Time Publish- Subscribe (QRTPS) service based on an active real-time database named Agilor Overview of Agilor Real-time Event-Condition-Action (RECA)
13
13 Enforcement of QoS-Agilor kernel modules and critical services in Agilor
14
14 Enforcement of QoS-RECA Primitive events in Agilor: system events method events custom events Extension of Complicated Temporal Events Durative event, Durative sequence Durative conjunction, Durative disconjunction Durative between
15
15 Enforcement of QoS-RECA Primitive conditions in Agilor: Selection condition: OP.Gas>20 Aggregation condition: Max(OP.smog)>100 Join condition: OP1.Pressure= OP2.Pressure Transition condition: OP1.Gas> OP1.GetLast (Gas) Application-specific condition
16
16 Enforcement of QoS-RECA Actions in Agilor: database operations: deletion, update external actions: publish data, signal an alarm. deadline assigned to the action: relative to the occurrence time of the triggering event.
17
17 Enforcement of QoS-RECA Coupling Modes in Agilor: CMEC: Event-Condition; CMCA: Condition-Action CMEA: Event-Action; CMRR: Rule-Rule Semantic for RECA Rules Rule::=BEGIN RULE VALUE WHEN IF CMEC [immediate|detached] CMEA [immediate|detached] THEN WITHIN CMCA [immediate|detached] CMRR [immediate|concurrent] END RULE
18
18 Outline Related works Expression of QoS of Pub-Sub Enforcement of QoS of Pub-Sub Conclusion Case Study-A simple application with three requirements
19
19 Case Study-Overview Real-Time monitoring in a coal mine
20
20 Case Study-Requirements Three requirements: 1.Late-joining applications shall receive meta information about its sensors automatically; 2.Receiving gas sensor data every 500ms and temperature data every 1000ms; 3.If no data from most-trusted sensor source is received within 4000ms, temperature data shall automatically be received from another Observation Point (OP).
21
21 Case Study-Data Structures Gas : transmitting the sensor readings GasSensorlnfo :containing meta-information to interpret the sensor data correctly Class Gas{ private: long datacollector_id; long observationpoint_id; double value; }; Class GasSensorInfo{ private: long datacollector_id; long observationpoint_id; MeasuringUnit unit; double maxGas; double minGas; double sampleRate; };
22
22 Case Study-QoS Parameters Require ment Data EntityQoS Policy of TopicConsumer QoS Policy of TopicProducer 1GasSensorInfo, TemperatureSens orInfo, SmogSensorInfo HISTORY.depth = 1 RELIABILITY.kind=RELIABLE DURABILITY.kind =TRANSIENT_LOCAL HISTORY.depth = 1 DURABILITY.kind =TRANSIENT_LOCAL 2Gas Temperature TIME_BASED_FILTER =500ms TIME_BASED_FILTER =1000ms 3TemperatureOWNERSHIP.kind=EXCLUSIVE OWNERSHIP_STRENGTH.value = datacollectorid of the data collector DEADLINE.period.sec = 5 OWNERSHIP.kind =EXCLUSIVE DEADLINE.period.sec = 5
23
23 Case Study-Expressing in RECA BEGIN RULE Rule_1 // Requirement 1 VALUE 1 WHEN OnStartUp(“DataCollectorID”) IF True THEN global GasMetaInfo ggasmetainfo; ggasmetainfo.datacollector_id=1; ggasmetainfo.observationpoint_id=1; …… ggasmetainfo.sampleRate=5; WITHIN 1 END RULE BEGIN RULE Rule_2 // Requirement 2 VALUE 1 WHEN OnTimer("Timer1 ",1) IF True THEN variant currentvalue; currentvalue =TagValue(“OP1.TempSensor1”); …… WITHIN 1 END RULE
24
24 Case Study-Expressing in RECA BEGIN RULE Rule_3 //Requirement 3 VALUE 1 WHEN OnTimer("Timer2",10) IF True THEN variant currentvalue; long currenttime; long begintime; begintime = CurrentTime(); while(TagState(“TempSensor2”)) { currentvalue =TagValue(“OP1.TempSensor1”); currenttime = CurrentTime(); if((currenttime- begintime)>4) { currentvalue =TagValue(“OP2.TempSensor2”); …… break; } WITHIN 1 END RULE
25
25 Case Study-Application Screenshot
26
26 Outline Related works Expression of QoS of Pub-Sub Enforcement of QoS of Pub-Sub Case Study-A simple application with three requirements Conclusion
27
27 Conclusions Expressing QoS with DDS Enforcing QoS policy with Agilor Improving Real-time and active capabilities with RECA Evaluating QRTPS for a Real-time monitoring
28
28 Thank you
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.