qos-aware publish-subscribe service for real-time data acquisition

28
Institute of Software Chinese Academy of Sciences QoS-Aware Publish-Subscribe QoS-Aware Publish-Subscribe Service for Service for Real-Time Data Acquisition Real-Time Data Acquisition Xinjie Lv, Xin Li, Tian Yang, Zaifei Liao, Wei Liu, Hongan Wan g

Upload: idana

Post on 19-Jan-2016

72 views

Category:

Documents


0 download

DESCRIPTION

QoS-Aware Publish-Subscribe Service for Real-Time Data Acquisition. Xinjie Lv, Xin Li, Tian Yang, Zaifei Liao, Wei Liu, Hongan Wang. Outline. Expression of QoS of Pub-Sub Enforcement of QoS of Pub-Sub Case Study-A simple application with three requirements Conclusion. Related works. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

Institute of SoftwareChinese Academy of Sciences

QoS-Aware Publish-Subscribe Service for QoS-Aware Publish-Subscribe Service for Real-Time Data Acquisition Real-Time Data Acquisition

Xinjie Lv, Xin Li, Tian Yang,

Zaifei Liao, Wei Liu, Hongan Wang

Page 2: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

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

Page 3: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

3

Publish-Subscribe Service Applications:

PC Subscriber

Laptop Subscriber

Interesting

TopicPDA Subscriber

financial data

spatial data

field data

production data

medical data

Broker

Pub/Sub Service

Broker

Broker

Page 4: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

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.

Page 5: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

5

Existing Models and Systems

Models CORBA Event ServiceCORBA Notification ServiceJava Message Service (JMS)

SystemsCambridge Event Architecture (CEA)Distributed Asynchronous Collections

(DAC)Scalable Internet Event Notification

Architectures (SIENA)

Page 6: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

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

Page 7: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

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

Page 8: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

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

Page 9: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

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.

TopicPublisher Subscriber

DataWriter DataReader

Data

DomainParticipant

QoSPolicy<<interface>>

Listener*

*

1 1

*

*

*

*

1

* 0..1

DCPS conceptual model

Page 10: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

10

Expression of QoS-DDS Supported QoS of DDS

Group QoS Policy Meanings

ResourcesResource_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

... ... ...

Page 11: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

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

Page 12: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

12

Enforcement of QoS-QRTPS

QoS-aware Real-Time Publish-Subscribe (QRTPS) service based on an active real-time database named AgilorOverview of AgilorReal-time Event-Condition-Action (RECA)

Page 13: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

13

Enforcement of QoS-Agilor kernel modules and critical

services in Agilor

Transaction Scheduler

Object Manager

Storage Manager

Event Detector

Condition Evaluator

Rule Manager

true/false

Object

Admission Controller

Access Certification AccessServiceReal-Time

ServiceHistorical Service

Page 14: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

14

Enforcement of QoS-RECA Primitive events in Agilor:

system eventsmethod eventscustom events

Extension of Complicated Temporal EventsDurative event, Durative sequenceDurative conjunction, Durative disconjunctionDurative between

Page 15: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

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

Page 16: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

16

Enforcement of QoS-RECA Actions in Agilor:

database operations: deletion, updateexternal actions: publish data, signal an

alarm. deadline assigned to the action: relative

to the occurrence time of the triggering event.

Page 17: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

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 <RuleName> VALUE <Value>

WHEN <Event>

IF <Condition> CMEC [immediate|detached] CMEA [immediate|detached] THEN

<Action> WITHIN <Deadline> CMCA [immediate|detached]

CMRR [immediate|concurrent]

END RULE

Page 18: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

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

Page 19: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

19

Case Study-Overview Real-Time monitoring in a coal mine

OP1 OP2

OP3 OP4 OP5

mine

Gas

Wind Speed

Negative Pressure

carbon monoxideTemperature

Smog

Electric Current

Voltage

PowerAir

DamperQRTPS

Management Cockpit

Real-time Monitoring Application

……

Data Collector 1

Data Collector 2

Other Application

Page 20: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

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).

Page 21: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

21

Case Study-Data Structures Gas : transmitting the sensor readings GasSensorlnfo :containing meta-information to in

terpret 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;

};

Page 22: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

22

Case Study-QoS Parameters Require

mentData Entity QoS Policy of

TopicConsumerQoS Policy of TopicPro

ducer

1 GasSensorInfo,TemperatureSens

orInfo,SmogSensorInfo

HISTORY.depth = 1RELIABILITY.kind=RELIABLEDURABILITY.kind =TRANSIEN

T_LOCAL

HISTORY.depth = 1DURABILITY.kind =TRANSIENT_LOCAL

2 Gas

Temperature

TIME_BASED_FILTER =500ms

TIME_BASED_FILTER =1000ms

3 Temperature OWNERSHIP.kind=EXCLUSIVEOWNERSHIP_STRENGTH.value

= datacollectorid of the data collector

DEADLINE.period.sec = 5

OWNERSHIP.kind =EXCLUSIVE

DEADLINE.period.sec = 5

Page 23: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

23

Case Study-Expressing in RECA BEGIN RULE Rule_1 // Requirement 1

VALUE 1WHEN 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 1WHEN OnTimer("Timer1 ",1)IF True THEN

variant currentvalue;currentvalue =TagValue(“OP1.TempSensor1

”);……WITHIN 1

END RULE

Page 24: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

24

Case Study-Expressing in RECA BEGIN RULE Rule_3 //Requirement 3

VALUE 1WHEN 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

Page 25: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

25

Case Study-Application Screenshot300CT1

100CT2

300R02

600V004

600B001

300V09(虚拟节点)

300J02300T02

300E02A

300E0153/75吨锅炉风机透平

100E85 100E74100E89 100V29100V10 550V01脱碳 保温伴热

300E03 300E14300E15 蒸发喷射泵

保温伴热300E04

E302XX车间600E401600T403

High Stream125 bar/515°C

Middle Stream36 bar/348°C

Low Stream3.5 bar/200°C

Middle Stream22 bar/238°C

100V-7100V-21

100V29

75T快锅53T快锅

600V303

600E402600E405A/B

PV200PV252A

PV09213B

HIC09213A

100V27100E03A

PV180

PV172PV172A

PV09909

油泵

100CT3 100CT4100E51 100R1

100E35 工艺蒸汽

FC166(FI166)FC101FI199FI147V2005(100R1)V2006(100E35)

FI207FI107 FI104

FI5502FIQ602

FI177

FI178A

100E28

V2001

FIQ09005(FQ09005)

FC09004

FI664V2018

V2025(脱碳)V2026(100E85)V2027(100E74)V2028(100E89)V2029(100V29)V2030(550V01)V2031(合成保温伴热)FI108

FIQ09802

FC09704

V2020(300E03) V2021 (300E14)V2022(300E15)V2023( 蒸发喷射泵)V2024尿素保温伴热)

FI09202

FI09203

FI09204

FC09702V2043(300E02A0

V2032

300P10

FIC415FIC416

FIQ801

FR006

FIA004

FIQ303(FC302)

E902

FI907

保温伴热

FI908+FI909+0.5*24-FI907-

FIQ801

CT901CT902

FI909FI908

中压蒸汽转低压蒸汽

中压蒸汽转低压蒸汽

FIQ701

XX车间中压蒸汽

V2040

保温伴热

V2042

UJM0101C

FI20601

UC0401

FIQ10404

保温伴热

V2033

V005

V2019

V2007FI6001

V2004

FI214

PV251

100CT4注汽

FIQ09005+FC09004+FIQ09006

TV09260

FIQ703

XX车间低压蒸汽虚拟节点XX车间低压蒸汽虚拟节点2

TV245TV246

100P14

300E02B

PIC708

PIC705

P701A/B

TIC701

TIC704

PIC706

XX车间高压蒸汽损耗

V2003

XX车间高压蒸汽损耗

V2002

XX车间中压蒸汽损耗

V2008

XX车间中压蒸汽损耗

V2009

XX车间中压蒸汽损耗

V2010

XX车间中压蒸汽损耗

V2011

XX车间中压蒸汽损耗

V2012

XX车间次中压蒸汽损耗

V2013

XX车间次中压蒸汽损耗

V2014

XX车间低压蒸汽损耗

V2035

XX车间低压蒸汽损耗

V2036

XX车间低压蒸汽损耗

V2037

XX车间低压蒸汽损耗

V2038

XX车间低压蒸汽损耗

V2039

FI214

甲醇耗低压蒸汽虚拟节点

XX车间耗中压虚拟节点

FIQ701+TIC701

尿素耗中压蒸汽虚拟节点

V2007FI6001

V2004

V2041PV706+7*24-11*24FIQ801-FIC415-FIC416

FI20601

EAU002

V2015

V2016

EAU004

V2017

FI909FI908

EAU001

(PV174)

EAU003

HIC09213A

Rea

l-ti

me

Mon

itor

ing

RECA rulesconfigurationQoS parameters monitoring

Page 26: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

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

Page 27: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

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

Page 28: QoS-Aware Publish-Subscribe Service for  Real-Time Data Acquisition

28

Thank you