| digraph { |
| rankdir=LR; |
| |
| subgraph cluster_0 { |
| label="Data Center"; |
| SIM0 [shape=rect]; |
| SIM1 [shape=rect]; |
| SIM2 [shape=rect]; |
| SIM3 [shape=rect]; |
| SIM4 [shape=rect]; |
| SIM5 [shape=rect]; |
| SIM6 [shape=rect]; |
| SIM7 [shape=rect]; |
| sysmoOCTSIM [shape=rect]; |
| { |
| rank=same; |
| bankd [label="remsim-bankd"]; |
| server [label="remsim-server"]; |
| } |
| |
| SIM0 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; |
| SIM1 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; |
| SIM2 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; |
| SIM3 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; |
| SIM4 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; |
| SIM5 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; |
| SIM6 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; |
| SIM7 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; |
| |
| sysmoOCTSIM -> bankd [label="USB CCID",dir=both]; |
| |
| bankd -> server [label="RSPRO/IPA/TCP"]; |
| } |
| |
| subgraph cluster_1 { |
| label="Remote Site A"; |
| client1 [label="remsim-client"]; |
| SIMtrace1 [label="SIMtrace2\nAPP=cardem",shape=rect]; |
| Phone1 [label="Phone/Modem",shape=rect]; |
| client1 -> SIMtrace1 [label="USB",dir=both]; |
| SIMtrace1 -> Phone1 [label="ISO-7816-2/3",dir=both]; |
| bankd -> client1 [label="RSPRO/IPA/TCP/IP",dir=both]; |
| client1 -> server [label="RSPRO/IPA/TCP"]; |
| } |
| |
| subgraph cluster_2 { |
| label="Remote Site B"; |
| client2 [label="remsim-client"]; |
| SIMtrace2 [label="SIMtrace2\nAPP=cardem",shape=rect]; |
| Phone2 [label="Phone/Modem",shape=rect]; |
| client2 -> SIMtrace2 [label="USB",dir=both]; |
| SIMtrace2 -> Phone2 [label="ISO-7816-2/3",dir=both]; |
| bankd -> client2 [label="RSPRO/IPA/TCP/IP",dir=both]; |
| client2 -> server [label="RSPRO/IPA/TCP"]; |
| } |
| |
| |
| } |