@startuml Message Retransmission header Message Retransmission / Service Library database "Database_Pub" { folder "This is log Location 1" { [Messages] } } database "Database_Con" { folder "This is log Location 2" { [Messages2] } } component "CDMS_Pub"{ port MRS1 } component "CDMS_Con"{ port MRS2 } component "Publisher"{ port MRS_Pub [OBS1] - MRS_Pub } component "Consumer"{ port MRS_Con [OBS2] - MRS_Con } [Messages] <.. MRS1 [Messages2] <.. MRS2 CDMS_Pub <.. MRS_Pub CDMS_Con <.. MRS_Con CDMS_Pub - CDMS_Con : Synchronization over MRS library OBS1 - OBS2 : Basic Synchronization @enduml ' Square are ports. I use them to represent the Message Retransmission Service ' So, when Publisher creates messages from the relevant library, it will then ' store in to it's own designated database, and will also attempt to broadcast ' to the consumer it's relevant information. ' They can perform basic synhronization or utilzie the CDMC: Content Delivery Management Server ' to manage the message payload by leveraging the MRS library to do the synching ' MRS library will check the data loss by taking the specified data to be ' compared and then perform retransmission if needed.