Presentation is loading. Please wait.

Presentation is loading. Please wait.

Diamon/Laser Design proposal Marek Misiowiec BE/CO/AP May 2010.

Similar presentations


Presentation on theme: "Diamon/Laser Design proposal Marek Misiowiec BE/CO/AP May 2010."— Presentation transcript:

1 Diamon/Laser Design proposal Marek Misiowiec BE/CO/AP May 2010

2 Core Overview Multi-tier, distributed, fail-safe system processing diagnostic data collected repeatedly from a variety of sources. Raw data of different shapes is transformed into unified formats and further analyzed on a middle layer according to well-defined rules. analyzed on a middle layer according to well-defined rules. Actions may be taken, in form of alarms or monitoring information delivered to clients. Processed data is made available as JAPC parameters or for dedicated GUIs. It is stored in long term archive too. Downward communication with the source devices is possible. 2 devs apps DAQ raw data unified data SRV clients client view

3 Core Overview Diamon/Laser core responsibilities: Diamon/Laser core responsibilities: data acquisition for various sources – push & pull modesdata acquisition for various sources – push & pull modes communication through layers, publishingcommunication through layers, publishing data transformation, processing, analysis, conditioningdata transformation, processing, analysis, conditioning failover, database separation, scalingfailover, database separation, scaling complementary functionalities: complementary functionalities: rules enginerules engine logging, archiving, configuration updateslogging, archiving, configuration updates non-core: non-core: definitions & rules, data provider’s workflowdefinitions & rules, data provider’s workflow GUIs, dedicated client applicationsGUIs, dedicated client applications 3

4 Importance of a change Nowadays: upgrades mess upgrades mess stale sources, legacy constraints, dusty componentsstale sources, legacy constraints, dusty components meeting only part of the requirements meeting only part of the requirements partial data, simplistic thresholds, no conditioningpartial data, simplistic thresholds, no conditioning monitoring based on alarms - Diamon on Laser monitoring based on alarms - Diamon on Laser misuse of the system, overheadmisuse of the system, overhead mediocre scalingmediocre scaling badly-behaving sources/clients cannot be detached/isolatedbadly-behaving sources/clients cannot be detached/isolated legacy solutions hiding in Laser world legacy solutions hiding in Laser world SonicMQ, OC4J, EJBs, Hibernate, SleepycatSonicMQ, OC4J, EJBs, Hibernate, Sleepycat...and no standard CO components in place...and no standard CO components in place 4

5 Importance of a change We would like to: widely use CO solutions and help to establish others worth it widely use CO solutions and help to establish others worth it better drive interactions with the bottom and upper tiers better drive interactions with the bottom and upper tiers consolidate logics in system core consolidate logics in system core be able to draw more conclusions on collected data be able to draw more conclusions on collected data sustain upgrades, updates, dependency changes sustain upgrades, updates, dependency changes 5

6 Transition 6

7 Transition 7

8 Transition 8

9 Transition 9

10 Transition 10

11 Technical outcome Then: unified view of complete data unified view of complete data sound construction on CO materials sound construction on CO materials OC4J -> Spring, Hibernate -> JDBC Templates, EJBs -> POJOs SonicMQ -> ActiveMQ, multitude of data formats -> JAPC in-house database -> CCDB + LoggingOC4J -> Spring, Hibernate -> JDBC Templates, EJBs -> POJOs SonicMQ -> ActiveMQ, multitude of data formats -> JAPC in-house database -> CCDB + Logging wider choice of middleware: CMW, YAMI, JMSwider choice of middleware: CMW, YAMI, JMS focusing logics in one place focusing logics in one place rules, thresholds, alarm generationrules, thresholds, alarm generation conditioning: machine mode, working hours, state of subsystemsconditioning: machine mode, working hours, state of subsystems driving the whole process driving the whole process detachable sources, clientsdetachable sources, clients less restart/reboot downtimeless restart/reboot downtime convergence with similar effortsconvergence with similar efforts 11

12 information exchange 12 japc-ext-yamijapc-ext-cmwjapc-ext-snmpjms-to-japc proxyjapc-ext-? Core Services rules thresholds alarm generator externals conditions publisher w-flow consoles client middleware: JMS client inter actions other apps JAPC provider Config DB archiver Archive DB Core DAQ [1] DAQ [2]DAQ [n] tackle problematic sources Clic agents CMW srcs Laser Wie, Twi ? other sources source middleware protocols

13 Available technologies Building blocks: CO standard components eg. JAPC CO standard components eg. JAPC CO less standard, but demanded eg. japc-ext-yami CO less standard, but demanded eg. japc-ext-yami Laser dev code base, ready to reuse eg. caching, distribution Laser dev code base, ready to reuse eg. caching, distribution TIM being refurbished and struggling with similar future TIM being refurbished and struggling with similar future other CO projects: INCA other CO projects: INCA 13

14 Lessons learned from Laser eradication of legacy concepts & technologies pays off eradication of legacy concepts & technologies pays off to scale well, we need to distribute processing power to scale well, we need to distribute processing power a supervisor over multiple workersa supervisor over multiple workers dividing is difficultdividing is difficult separation of concerns separation of concerns single processing unit as a set of loosely coupled actions single processing unit as a set of loosely coupled actions patterns: chain of responsibilities, observablepatterns: chain of responsibilities, observable upward flow: source input -> processing -> publishingupward flow: source input -> processing -> publishing cater for database outages through local caching cater for database outages through local caching JMS+RMI as a middleware for all parties involved JMS+RMI as a middleware for all parties involved more advanced features of JMS channel helpmore advanced features of JMS channel help...but no JAPC concepts were introduced at all...but no JAPC concepts were introduced at all 14

15 Device/property model to clarify the current incoherent view to clarify the current incoherent view strong incentives: strong incentives: speak one languagespeak one language let everyone fit (Logging)let everyone fit (Logging) common tools, well-established in CO worldcommon tools, well-established in CO world migration of legacy sources migration of legacy sources expose propertiesexpose properties eradicate laser-source as it iseradicate laser-source as it is interaction with devices through JAPC calls interaction with devices through JAPC calls domain entities: domain entities: Alarm, Alarms, Diagnostic,...Alarm, Alarms, Diagnostic,... 15

16 JAPC extensions to unify view on a variety of devices/applications to unify view on a variety of devices/applications available now: available now: CMW (japc-ext-cmwrda) and JMS (remote) as most popularCMW (japc-ext-cmwrda) and JMS (remote) as most popular we need some more: we need some more: YAMI through japc-ext-yami is already available, used in new Clic agentYAMI through japc-ext-yami is already available, used in new Clic agent SNMP through japc-ext-snmp under developmentSNMP through japc-ext-snmp under development 16

17 Bottom tier Experience gained in: current Diamon and Laser current Diamon and Laser eg. CMW Alarm Monitor as a huge data acquisition processeg. CMW Alarm Monitor as a huge data acquisition process LHC Concentrators, similar problems LHC Concentrators, similar problems INCA data acqusition layer INCA data acqusition layerProgress: 17 source typecurrentplanned/done Clic AgentsJMS, YAMIjapc-ext-yami CMW Alarm MonitorLaser gatewayJAPC device Laser sourcesC/Java laser-sourceLaser-to-JAPC proxy Wiener, TwidoSNMP central agentsjapc-ext-snmp Pingcentral agentJAPC device

18 Already developed JAPC extensions JAPC extensions current version of YAMI meets our requirements current version of YAMI meets our requirements Diamon Clic agent Diamon Clic agent fully YAMI-based, JAPC valuesfully YAMI-based, JAPC values CMW Alarm Monitor refurbished CMW Alarm Monitor refurbished 6000 subscriptions to GM and FESA devices6000 subscriptions to GM and FESA devices will be incorporated into new corewill be incorporated into new core proxy between Laser production alarms and JAPC values proxy between Laser production alarms and JAPC values for the legacy sourcesfor the legacy sources 18

19 Open questions Still to think over: best components and collaborations to choose best components and collaborations to choose level of distribution and scaling level of distribution and scaling shared memory, distributed cache shared memory, distributed cache storage: short-term, long-term, Logging DB storage: short-term, long-term, Logging DB rules handling: homemade, proprietary rules handling: homemade, proprietary...and many others...and many others 19


Download ppt "Diamon/Laser Design proposal Marek Misiowiec BE/CO/AP May 2010."

Similar presentations


Ads by Google