| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | 
							- @startuml Message Retransmission
 
- header Message Retransmission / Service Library
 
-   
 
- component "Publisher"{
 
-     [OBS_Pub] 
 
-     [MRS_Pub1] 
 
- }
 
- component "Consumer"{
 
-     [MRS_Con1] 
 
-     [OBS_Sub]
 
- }
 
-  
 
- component "Content Delivery Management Server(Pub)" as CDMS_Pub{
 
-     "DataController" as [DataController1]
 
-     [MRS_Pub2]
 
- }
 
- component "Content Delivery Management Server(Con)" as CDMS_Con{
 
-     "DataController" as [DataController2]
 
-     [MRS_Sub2]
 
- }
 
- database "Database" as Database_Pub {
 
-     folder "This is log Location 1" {
 
-         [Messages]
 
-     }
 
- }
 
- database "Database" as Database_Con {
 
-     folder "This is log Location 2" {
 
-         [Messages2]
 
-     }
 
- }
 
- [MRS_Pub1] -- [MRS_Con1]  : Basic Synchronization
 
- [MRS_Pub1] - [OBS_Pub]
 
- [MRS_Con1]  - [OBS_Sub]
 
-   
 
- [OBS_Pub] .> CDMS_Pub
 
- [MRS_Pub2] - [DataController1] 
 
- [DataController1] .> Database_Pub:Write Data  
 
- [OBS_Sub] .> CDMS_Con 
 
- [MRS_Sub2] - [DataController2]  
 
- [DataController2] <. Database_Con:Read Data
 
- [MRS_Pub2] -- [MRS_Sub2]
 
- ' CDMS_Pub - CDMS_Con : Synchronization over MRS library 
 
- @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.
 
- ' Rearrage the position
 
- ' use MR_S_Pub1 MR_S_Con1 MR_S_Pub2 MR_S_Con2 
 
 
  |