summaryrefslogtreecommitdiff
path: root/doc/flow.dot
blob: b1a8affb81d868bff1b0fb544d26e77c1062916a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
digraph messages {
	//concentrate=true;
	subgraph clusterclients {
		client1 [shape = box];
		client2 [shape = box];
		client3 [shape = box];

		style = dashed;
		label = "Clients";
	}

	subgraph clusternode1 {
		subgraph clusterc2s1 {
			c2s11;
			c2s12;
			style = invis;
		}
		subgraph clusterservices1 {
			service11;
			service12;
			service13;
			style = invis;
		}
		//subgraph clusters2s1 {
			//s2s11;
			//s2s12;
			//style = invis;
		//}
		c2s11     -> auth1;
		c2s12     -> auth1;
		auth1     -> c2s11;
		auth1     -> c2s12;
		c2s11     -> sm1;
		c2s11     -> router1;
		c2s12     -> sm1;
		c2s12     -> router1;
		router1   -> local1;
		router1   -> service11;
		router1   -> service12;
		router1   -> service13;
		router1   -> s2s11;
		router1   -> s2s12;
		service11 -> router1;
		service12 -> router1;
		service13 -> router1;
		s2s11     -> router1;
		s2s12     -> router1;
		local1    -> sm1;
		sm1       -> c2s11;
		sm1       -> c2s12;

		style = dashed;
		label = "Node1";
	}

	subgraph clusternode2 {
		c2s2      -> auth2;
		auth2     -> c2s2;
		c2s2      -> sm2;
		c2s2      -> router2;
		router2   -> local2;
		router2   -> service21;
		router2   -> s2s21;
		service21 -> router2;
		s2s21     -> router2;
		local2    -> sm2;
		sm2       -> c2s2;

		style = dashed;
		label = "Node2";
	}



	subgraph clusterservers {
		server1 [shape = box];
		server2 [shape = box];
		server3 [shape = box];

		style = dashed;
		label = "Servers";
	}


	client1 -> c2s11;
	client2 -> c2s12;
	client3 -> c2s2;
	c2s11 -> client1 [constraint=false];
	c2s12 -> client2 [constraint=false];
	c2s2  -> client3 [constraint=false];

	s2s11 -> server1 [minlen = 2];
	s2s12 -> server2 [minlen = 2];
	s2s21 -> server3 [minlen = 2];
	server1 -> s2s11 [constraint=false];
	server2 -> s2s12 [constraint=false];
	server3 -> s2s21 [constraint=false];

	router1 -> router2;
	router2 -> router1;
	sm1     -> sm2;
	sm2     -> sm1;

	label = "Data Flows";
}