Download presentation
Presentation is loading. Please wait.
Published byMelvyn Stone Modified over 9 years ago
1
SmartSockets for DIP? LDIWG 18 November 2002
2
Overview SmartSockets, the sales brochure SmartSockets for the TDS SmartSockets for DIP
3
Was Talarian, now TIBCO TIBCO SmartSockets Multicast TIBCO SmartMQ TIBCO SmartSockets for JMS TIBCO SmartSockets Cache TIBCO SmartSockets Gateway TIBCO SmartSockets LiveDB TIBCO SmartSockets LiveWeb TIBCO SmartSockets SSL TIBCO SmartSockets Monitor
4
SmartSockets components –Application Programming Interface C, C++, Java –RTserver –RTmonitor GUI for monitoring, adm, debug –Standard message types Custom types can be defined –Sample code (C, C++, Java) –Documentation (on-line + paper)
5
SmartSocket communication Publish / subscribe through servers Peer to peer between clients (no server) Multicast –Sequential to all clients OR –Reliable Multicast Protocol (RMP) Asynchronous (with callbacks) Synchronous (sort of RPC) Thread safe
6
Availability and Reliability Redundancy –Cloud of redundant servers Quality of Service –Guaranteed Message Delivery (GMD) Messages saved to disk until received by clients Dynamic Message Routing –Routing tables in RTservers updated in real time –Messages sent through virtual network using shortest path algorithm
7
Monitoring, Administration On-line monitoring of –Traffic –Message buffering –Memory usage –CPU usage –Subjects –Client options –…
8
Monitoring cont. Monitoring using –RTmonitor (standard GUI) –Home made tools using SS API Synchronous (polling information) Asynchronous (watching) Message logging to files available as standard option
9
SmartSocket platforms Automatic data translation between platforms Server support –Unix (Solaris, HPUX, DEC, Compaq True 64, Irix, linux) –Windows NT, 2000 –VxWorks –IBM OS/390
10
SmartSocket platforms Client support –All the server platforms PLUS –Windows 95, 98, Me –MacIntosh –Java
11
Message handling Automatic message buffering and flow control Prioritized messages Re-usable and extensible messages types Load balancing
12
Scalability Hiearchical name space with wildcards –Ex. /cern/sps/ba2/magnets/* Unlimited number of levels Routing –Dynamic –Open Shortest Path First (OSPM) Automatic switch between servers in case of failure
13
Send.c #include int main(int argc, char **argv) { TipcSrvMsgWrite("/tutorial/lesson1", TipcMtLookupByNum(T_MT_INFO), TRUE, T_IPC_FT_STR, "Hello World!", NULL); /* This call is necessary to ensure the message is sent immediately */ TipcSrvFlush(); TipcSrvDestroy(T_IPC_SRV_CONN_NONE); } /* main */
14
Receive.c #include int main(int argc, char **argv) { T_IPC_MSG msg; T_STR msg_text; TipcSrvSubjectSetSubscribe("/tutorial/lesson1", TRUE); msg = TipcSrvMsgNext(T_TIMEOUT_FOREVER); TipcMsgSetCurrent(msg, 0); TipcMsgNextStr(msg, &msg_text); TutOut("Text from INFO message = %s\n", msg_text); TipcSrvDestroy(T_IPC_SRV_CONN_NONE); } /* main */
15
Technical Data Server SmartSocket application in operation since 1996 Today 20000+ tags defined Delivering data to TCR, SCR and PCR 2 redundant servers –Used for load balancing in normal conditions 81 simultaneous data publishers ~50 different data clients
16
TDS architecture rtserver PLC 60 PLCs SCADA 20 SCADA Dalm CASELS logDB PVSS UMMI 30 UMMI Rtmon aliv pong tagcli listcli
17
TDS architecture (cont.) rtserver DcdmDutmDsup
18
TDS subjects Flat structure Three main types –/ddaq_dg_alarm_dataCAS alarms –/f_w_ba2 (sys_subs_func)Other clients –/dcdm, /I_coolba2, …System subjects NB: Several clients may publish to same subject! (although that is not very common)
19
License costs RT Server 01.01.02-31.12.02CHF 15799
20
Can SS do DIP? URRequirementSmartSockets 1The same protocol shall be used to communicate data with all the different external entities OK 2For technical services in TCR and some parts of cryogenics, basic service will be scheduled to run 24h/day, 365days/year Use redundant servers and make clients reliable 3Unscheduled loss of service should not exceed 5 minutes. Redundancy and stable clients
21
Can SS do DIP? URRequirementSmartSockets 4Consumers must be made aware if a data source does not update its information to the outside Add-on Dutm 5The data provider must ensure that consumers are informed if the data source is not working Quality stamp [UR vague] 6Time stamping of the data with millisecond resolution is needed Time stamped messages
22
Can SS do DIP? URRequirementSmartSockets 7Acceptable delay 1sOK 8Handle peak traffic of 250 KBytes/s and 100 messages/s without loss of data OK (TDS tests showed avalanche latency, no loss) 9subscribe without static configuration change at the producer level OK all dynamic 10Commonly used ind. StandardOK.
23
Can SS do DIP? URRequirementSmartSockets 11multiple platformsOK 12‘on-change’ communicationOK 13Grouping multiple changesOK 14Only ‘current’ valuesIn client or use Smart Cache? 15browse published data itemsOutside SS scope Config DB? 16Naming scheme should be uniform OK (SS won’t stop us)
24
Can SS do DIP? URRequirementSmartSockets 17Consumer message rate will not exceed 10 messages/second Client’s responsibility 18Latency no better than 0.5N/A 19Neither producer nor consumer should block the system Producer, consumer problem 20Terminate ill-mannered clientSpecial msg 21SecuritySSL + client authentication
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.