Skip to content

Commit 9ed1231

Browse files
hcadaviddsmits
authored andcommitted
integrating chapter4's first part, concept map and descriptions simplified/refined
1 parent c8dce8e commit 9ed1231

File tree

8 files changed

+280
-3
lines changed

8 files changed

+280
-3
lines changed

episodes/chapter3.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,65 @@ exercises: 3
2121

2222
::::::::::::::::::::::::::::::::::::::::::::::::
2323

24+
## Vantage6 user interface basics
25+
26+
27+
To navigate vantage6's UI seamlessly, it's essential to grasp the platform's fundamental concepts and their interconnections, as the UI design reflects these relationships. The following is a simplified model of vantage6 concepts, where a `1-n` relationship means that the entity on the left side of the relationship is related to one or more entities on the right side. For instance, a **collaboration** involves one or more **nodes**, but each **node** can only be linked to exactly one **collaboration**. An `n-n` relationship is a many-to-many relationship: for instance, a **collaboration** can involve multiple **organizations**, and at the same time, each **organization** can participate in multiple **collaborations**.
28+
29+
![vantage6 relations between entities](fig/chapter3/v6_entitites_simplified.png)
30+
31+
Given the above, the following are the most important concepts to be considered for this episode:
32+
33+
- **Organization**: a group of users that share a common goal or interest (e.g., a consortium, an institute, etc.).
34+
- An organization has zero or more **users** who can perform certain actions.
35+
- An organization can have multiple **nodes**, one for each **collaboration** it is part of.
36+
37+
- **Collaboration**: a collection of one or more **organizations** working together towards a shared objective.
38+
- In a specific **collaboration**, each participating **organization** needs one **node** to compute **tasks**; In another **collaboration**, the same **organization** must have a separate **node** for this **collaboration**.
39+
40+
- **Node**: the component with access to the organization data, which also executes algorithms on it. It represents the individual organizations' contributions to the network.
41+
42+
- **Task**: a request, created by **users** (with a given set of **roles**) for the execution of a given **algorithm** on one or more organizations within a collaboration. These execution requests are handled by the corresponding organizations' **node**.
43+
44+
- **User**: a person who can perform certain actions in vantage6.
45+
- A user can only belong to one **organization**.
46+
- A user can have multiple **roles** and can be assigned with extra permissions not covered by the roles.
47+
- A user can create **tasks** for one or more **organizations** within a **collaboration**.
48+
49+
- **Role**: a collection of rules that define the permissions of a user (it will be further explored on Chapter 4).
50+
- **Result**: the output generated by the execution of an **algorithm** as part of a **task**.
51+
- **Algorithm**: computational models or processes that are executed on data. Compatible algorithms are those that adhere to the Vantage6 framework, enabling them to be securely distributed to **nodes** for execution.
52+
53+
### Where are the concepts in the UI?
54+
55+
After logging in to the vantage6 UI, you will see the start page.
56+
57+
![vantage6 UI start page](fig/chapter3/ui_start_page.png)
58+
59+
There are some collbarations displayed on the start page. Clicking one of the collaborations will show the tasks of that collaboration.
60+
61+
![vantage6 UI tasks page](fig/chapter3/ui_task_page.png)
62+
63+
The start page also contains a button `Administration` in the top right corner. Clicking on this button will redirect you to the administration page.
64+
65+
In the administration page, you can manage the entities of vantage6. The entities are divided into tabs: `Organizations`, `Collaborations`, `Roles`, `Users`, and `Nodes`. You can click on an entity to see more details or to edit the entity. We will get back to this later in more detail.
66+
67+
![vantage6 UI administration page](fig/chapter3/ui_admin_page.png)
68+
69+
::::::::::::::::::::::::::::::::::::: challenge
70+
71+
## Challenge 1: Get familiar with the vantage6 UI
72+
73+
Log in to the vantage6 UI and navigate to the `Administration` page. Familiarize yourself with the entities in the administration page.
74+
75+
Can you find the `Organizations`, `Collaborations`, `Roles`, `Users`, and `Nodes` tabs?
76+
77+
::::::::::::::::::::::::::::::::::::::::::::::::
78+
79+
80+
81+
82+
2483
## A hypothetical case study using vantage6 collaborations
2584

2685
In the context of vantage6, a collaboration refers to an agreement between two or more parties to participate in a study or to answer a research question together. This concept is central to the Privacy Enhancing Technologies (PETs) that vantage6 supports. Each party involved in a collaboration remains autonomous, meaning they retain control over their data and can decide how much of their data to contribute to the collaboration's global model and which algorithms are allowed for execution.
278 KB
Loading
103 KB
Loading
158 KB
Loading

episodes/fig/chapter3/v6_entities.png

48.1 KB
Loading
Loading

schematics/.$diagrams.drawio.bkp

Lines changed: 111 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
<mxfile host="Electron" modified="2024-05-10T09:59:15.357Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.2.5 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="HnPnI8EbTr8S41EFpLo3" version="24.2.5" type="device">
1+
<mxfile host="Electron" modified="2024-06-03T10:45:36.170Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.4.13 Chrome/124.0.6367.207 Electron/30.0.6 Safari/537.36" etag="u-a-uKTsckKtoyfhNB5p" version="24.4.13" type="device" pages="2">
22
<diagram name="chapter3" id="59gGVXk7UoXCDA27lAwX">
3-
<mxGraphModel dx="1191" dy="858" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1654" pageHeight="2336" math="0" shadow="0">
3+
<mxGraphModel dx="1012" dy="729" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1654" pageHeight="2336" math="0" shadow="0">
44
<root>
55
<mxCell id="0" />
66
<mxCell id="1" parent="0" />
@@ -181,4 +181,113 @@
181181
</root>
182182
</mxGraphModel>
183183
</diagram>
184+
<diagram id="heg6qwFA0lEK_vcvyUwD" name="cmap">
185+
<mxGraphModel dx="1012" dy="729" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1654" pageHeight="2336" math="0" shadow="0">
186+
<root>
187+
<mxCell id="0" />
188+
<mxCell id="1" parent="0" />
189+
<mxCell id="6K01J14Ojch6KzXNj9BZ-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;curved=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="6K01J14Ojch6KzXNj9BZ-1" target="6K01J14Ojch6KzXNj9BZ-2">
190+
<mxGeometry relative="1" as="geometry" />
191+
</mxCell>
192+
<mxCell id="6K01J14Ojch6KzXNj9BZ-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;curved=1;" edge="1" parent="1" source="6K01J14Ojch6KzXNj9BZ-1" target="6K01J14Ojch6KzXNj9BZ-3">
193+
<mxGeometry relative="1" as="geometry" />
194+
</mxCell>
195+
<mxCell id="6K01J14Ojch6KzXNj9BZ-1" value="Collaboration" style="rounded=1;whiteSpace=wrap;html=1;shadow=1;fontSize=17;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
196+
<mxGeometry x="110" y="300" width="120" height="60" as="geometry" />
197+
</mxCell>
198+
<mxCell id="6K01J14Ojch6KzXNj9BZ-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;curved=1;" edge="1" parent="1" source="6K01J14Ojch6KzXNj9BZ-2" target="6K01J14Ojch6KzXNj9BZ-3">
199+
<mxGeometry relative="1" as="geometry" />
200+
</mxCell>
201+
<mxCell id="6K01J14Ojch6KzXNj9BZ-2" value="Node" style="rounded=1;whiteSpace=wrap;html=1;shadow=1;fontSize=17;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
202+
<mxGeometry x="300" y="120" width="120" height="60" as="geometry" />
203+
</mxCell>
204+
<mxCell id="6K01J14Ojch6KzXNj9BZ-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="6K01J14Ojch6KzXNj9BZ-3" target="6K01J14Ojch6KzXNj9BZ-25">
205+
<mxGeometry relative="1" as="geometry">
206+
<Array as="points">
207+
<mxPoint x="680" y="330" />
208+
<mxPoint x="680" y="330" />
209+
</Array>
210+
</mxGeometry>
211+
</mxCell>
212+
<mxCell id="6K01J14Ojch6KzXNj9BZ-3" value="Organization" style="rounded=1;whiteSpace=wrap;html=1;shadow=1;fontSize=17;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
213+
<mxGeometry x="510" y="300" width="120" height="60" as="geometry" />
214+
</mxCell>
215+
<mxCell id="6K01J14Ojch6KzXNj9BZ-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;curved=1;" edge="1" parent="1" source="6K01J14Ojch6KzXNj9BZ-4" target="6K01J14Ojch6KzXNj9BZ-5">
216+
<mxGeometry relative="1" as="geometry" />
217+
</mxCell>
218+
<mxCell id="6K01J14Ojch6KzXNj9BZ-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;dashed=1;" edge="1" parent="1" source="6K01J14Ojch6KzXNj9BZ-4" target="6K01J14Ojch6KzXNj9BZ-33">
219+
<mxGeometry relative="1" as="geometry" />
220+
</mxCell>
221+
<mxCell id="6K01J14Ojch6KzXNj9BZ-4" value="Task" style="rounded=1;whiteSpace=wrap;html=1;shadow=1;fontSize=17;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
222+
<mxGeometry x="330" y="480" width="120" height="60" as="geometry" />
223+
</mxCell>
224+
<mxCell id="6K01J14Ojch6KzXNj9BZ-5" value="Result" style="rounded=1;whiteSpace=wrap;html=1;shadow=1;fontSize=17;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
225+
<mxGeometry x="540" y="480" width="120" height="60" as="geometry" />
226+
</mxCell>
227+
<mxCell id="6K01J14Ojch6KzXNj9BZ-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.008;entryY=0.65;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="6K01J14Ojch6KzXNj9BZ-1" target="6K01J14Ojch6KzXNj9BZ-4">
228+
<mxGeometry relative="1" as="geometry" />
229+
</mxCell>
230+
<mxCell id="6K01J14Ojch6KzXNj9BZ-13" value="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=21;" vertex="1" parent="1">
231+
<mxGeometry x="570" y="260" width="40" height="40" as="geometry" />
232+
</mxCell>
233+
<mxCell id="6K01J14Ojch6KzXNj9BZ-14" value="N" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=21;" vertex="1" parent="1">
234+
<mxGeometry x="430" y="110" width="40" height="40" as="geometry" />
235+
</mxCell>
236+
<mxCell id="6K01J14Ojch6KzXNj9BZ-15" value="N" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=21;" vertex="1" parent="1">
237+
<mxGeometry x="260" y="110" width="40" height="40" as="geometry" />
238+
</mxCell>
239+
<mxCell id="6K01J14Ojch6KzXNj9BZ-16" value="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=21;" vertex="1" parent="1">
240+
<mxGeometry x="170" y="260" width="40" height="40" as="geometry" />
241+
</mxCell>
242+
<mxCell id="6K01J14Ojch6KzXNj9BZ-17" value="N" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=21;" vertex="1" parent="1">
243+
<mxGeometry x="470" y="290" width="40" height="40" as="geometry" />
244+
</mxCell>
245+
<mxCell id="6K01J14Ojch6KzXNj9BZ-18" value="N" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=21;" vertex="1" parent="1">
246+
<mxGeometry x="270" y="510" width="40" height="40" as="geometry" />
247+
</mxCell>
248+
<mxCell id="6K01J14Ojch6KzXNj9BZ-20" value="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=21;" vertex="1" parent="1">
249+
<mxGeometry x="170" y="360" width="40" height="40" as="geometry" />
250+
</mxCell>
251+
<mxCell id="6K01J14Ojch6KzXNj9BZ-22" value="N" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=21;" vertex="1" parent="1">
252+
<mxGeometry x="230" y="290" width="40" height="40" as="geometry" />
253+
</mxCell>
254+
<mxCell id="6K01J14Ojch6KzXNj9BZ-23" value="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=21;" vertex="1" parent="1">
255+
<mxGeometry x="444" y="510" width="40" height="40" as="geometry" />
256+
</mxCell>
257+
<mxCell id="6K01J14Ojch6KzXNj9BZ-24" value="N" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=21;" vertex="1" parent="1">
258+
<mxGeometry x="510" y="510" width="40" height="40" as="geometry" />
259+
</mxCell>
260+
<mxCell id="6K01J14Ojch6KzXNj9BZ-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" source="6K01J14Ojch6KzXNj9BZ-25" target="6K01J14Ojch6KzXNj9BZ-27">
261+
<mxGeometry relative="1" as="geometry" />
262+
</mxCell>
263+
<mxCell id="6K01J14Ojch6KzXNj9BZ-25" value="User" style="rounded=1;whiteSpace=wrap;html=1;shadow=1;fontSize=17;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
264+
<mxGeometry x="707" y="300" width="120" height="60" as="geometry" />
265+
</mxCell>
266+
<mxCell id="6K01J14Ojch6KzXNj9BZ-27" value="Role" style="rounded=1;whiteSpace=wrap;html=1;shadow=1;fontSize=17;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
267+
<mxGeometry x="707" y="150" width="120" height="60" as="geometry" />
268+
</mxCell>
269+
<mxCell id="6K01J14Ojch6KzXNj9BZ-29" value="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=21;" vertex="1" parent="1">
270+
<mxGeometry x="620" y="300" width="40" height="40" as="geometry" />
271+
</mxCell>
272+
<mxCell id="6K01J14Ojch6KzXNj9BZ-30" value="N" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=21;" vertex="1" parent="1">
273+
<mxGeometry x="670" y="300" width="40" height="40" as="geometry" />
274+
</mxCell>
275+
<mxCell id="6K01J14Ojch6KzXNj9BZ-31" value="N" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=21;" vertex="1" parent="1">
276+
<mxGeometry x="760" y="210" width="40" height="40" as="geometry" />
277+
</mxCell>
278+
<mxCell id="6K01J14Ojch6KzXNj9BZ-32" value="N" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=21;" vertex="1" parent="1">
279+
<mxGeometry x="760" y="260" width="40" height="40" as="geometry" />
280+
</mxCell>
281+
<mxCell id="6K01J14Ojch6KzXNj9BZ-33" value="Algorithm" style="rounded=1;whiteSpace=wrap;html=1;shadow=1;fontSize=17;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
282+
<mxGeometry x="330" y="640" width="120" height="60" as="geometry" />
283+
</mxCell>
284+
<mxCell id="6K01J14Ojch6KzXNj9BZ-35" value="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=21;" vertex="1" parent="1">
285+
<mxGeometry x="380" y="600" width="40" height="40" as="geometry" />
286+
</mxCell>
287+
<mxCell id="6K01J14Ojch6KzXNj9BZ-37" value="N" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=21;" vertex="1" parent="1">
288+
<mxGeometry x="386" y="530" width="40" height="40" as="geometry" />
289+
</mxCell>
290+
</root>
291+
</mxGraphModel>
292+
</diagram>
184293
</mxfile>

0 commit comments

Comments
 (0)