illustrate push federation

activitypubconf
Trolli Schmittlauch 2019-08-29 15:41:02 +02:00
parent 4f53d71fa1
commit e6e3686fab
3 changed files with 311 additions and 10 deletions

BIN
figures/push_federation.pdf (Stored with Git LFS) Normal file

Binary file not shown.

291
figures/push_federation.svg Normal file
View File

@ -0,0 +1,291 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="101.30367mm"
height="74.982018mm"
viewBox="0 0 101.30367 74.982018"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="push_federation.svg">
<defs
id="defs2">
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="marker5225"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path5223"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker5175"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lend"
inkscape:collect="always">
<path
transform="matrix(-0.8,0,0,-0.8,-10,0)"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path5173"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4889"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lend">
<path
transform="matrix(-0.8,0,0,-0.8,-10,0)"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path4887"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path4600"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4142136"
inkscape:cx="169.86424"
inkscape:cy="161.40974"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1001"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(274.14414,4.1129682)">
<text
xml:space="preserve"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:125%;font-family:'Source Sans Pro';-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;display:inline;overflow:visible;visibility:visible;fill:#0b2817;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;enable-background:accumulate"
x="-238.125"
y="-1.6011904"
id="text4524"><tspan
sodipodi:role="line"
id="tspan4522"
x="-238.125"
y="-1.6011904"
style="stroke-width:0.26458332px">https://<tspan
style="font-style:normal;font-variant:normal;font-weight:900;font-stretch:normal;font-family:'Source Sans Pro';-inkscape-font-specification:'Source Sans Pro Heavy'"
id="tspan4526">cyber.space</tspan>/@alice</tspan></text>
<g
id="g4593"
transform="translate(-21.889375,-5.7997488)">
<circle
r="12.934596"
cy="29.891872"
cx="-223.07024"
id="path4520"
style="opacity:1;fill:none;fill-opacity:0.8956522;fill-rule:nonzero;stroke:#000000;stroke-width:0.06754079;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
id="text4532"
y="30.639055"
x="-232.0007"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:125%;font-family:'Source Sans Pro';-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;display:inline;overflow:visible;visibility:visible;fill:#0b2817;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;enable-background:accumulate"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:900;font-stretch:normal;font-family:'Source Sans Pro';-inkscape-font-specification:'Source Sans Pro Heavy';stroke-width:0.26458332px"
y="30.639055"
x="-232.0007"
id="tspan4530"
sodipodi:role="line">cyber.space</tspan></text>
</g>
<g
id="g4578"
transform="translate(-47.146345,7.8577241)">
<circle
r="12.934596"
cy="17.489529"
cx="-147.42587"
id="path4520-0"
style="opacity:1;fill:none;fill-opacity:0.8956522;fill-rule:nonzero;stroke:#000000;stroke-width:0.06754079;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
id="text4532-4"
y="18.236712"
x="-158.47298"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:125%;font-family:'Source Sans Pro';-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;display:inline;overflow:visible;visibility:visible;fill:#0b2817;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;enable-background:accumulate"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:900;font-stretch:normal;font-family:'Source Sans Pro';-inkscape-font-specification:'Source Sans Pro Heavy';stroke-width:0.26458332px"
y="18.236712"
x="-158.47298"
id="tspan4530-4"
sodipodi:role="line">example.com</tspan></text>
</g>
<g
id="g4583"
transform="translate(-40.598241,-1.8708867)">
<circle
r="12.934596"
cy="59.771568"
cx="-174.17955"
id="path4520-4"
style="opacity:1;fill:none;fill-opacity:0.8956522;fill-rule:nonzero;stroke:#000000;stroke-width:0.06754079;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
id="text4532-47"
y="60.518749"
x="-181.52254"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:125%;font-family:'Source Sans Pro';-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;display:inline;overflow:visible;visibility:visible;fill:#0b2817;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;enable-background:accumulate"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:900;font-stretch:normal;font-family:'Source Sans Pro';-inkscape-font-specification:'Source Sans Pro Heavy';stroke-width:0.26458332px"
y="60.518749"
x="-181.52254"
id="tspan4530-6"
sodipodi:role="line">foo.social</tspan></text>
</g>
<g
id="g4588"
transform="translate(2.245064,-25.444059)">
<circle
r="12.934596"
cy="80.538406"
cx="-263.42084"
id="path4520-3"
style="opacity:1;fill:none;fill-opacity:0.8956522;fill-rule:nonzero;stroke:#000000;stroke-width:0.06754079;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
id="text4532-1"
y="81.285591"
x="-269.70544"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:125%;font-family:'Source Sans Pro';-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;display:inline;overflow:visible;visibility:visible;fill:#0b2817;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;enable-background:accumulate"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:900;font-stretch:normal;font-family:'Source Sans Pro';-inkscape-font-specification:'Source Sans Pro Heavy';stroke-width:0.26458332px"
y="81.285591"
x="-269.70544"
id="tspan4530-7"
sodipodi:role="line">soci.org</tspan></text>
</g>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
d="M -186.15322,15.057375 -197.56563,-0.65807274"
id="path4595"
inkscape:connector-curvature="0" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4889)"
d="M -220.57754,0.65154793 -238.53805,11.876868"
id="path4879"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:125%;font-family:'Source Sans Pro';-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;display:inline;overflow:visible;visibility:visible;fill:#0b2817;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;enable-background:accumulate"
x="-226.93855"
y="8.8192501"
id="text5157"><tspan
sodipodi:role="line"
id="tspan5155"
x="-226.93855"
y="8.8192501"
style="stroke-width:0.26458332px">1.</tspan></text>
<text
xml:space="preserve"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:125%;font-family:'Source Sans Pro';-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;display:inline;overflow:visible;visibility:visible;fill:#0b2817;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;enable-background:accumulate"
x="-190.26918"
y="3.8320553"
id="text5161"><tspan
sodipodi:role="line"
id="tspan5159"
x="-190.26918"
y="3.8320553"
style="stroke-width:0.26458332px">1. subscribe</tspan><tspan
sodipodi:role="line"
x="-190.26918"
y="8.36481"
style="stroke-width:0.26458332px"
id="tspan5163">to user</tspan></text>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5175)"
d="m -231.61577,23.476365 23.94735,1.870887"
id="path5165"
inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:125%;font-family:'Source Sans Pro';-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;display:inline;overflow:visible;visibility:visible;fill:#0b2817;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;enable-background:accumulate"
x="-229.93198"
y="18.237883"
id="text5209"><tspan
sodipodi:role="line"
id="tspan5207"
x="-229.93198"
y="18.237883"
style="stroke-width:0.26458332px">2. publish</tspan></text>
<text
xml:space="preserve"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:125%;font-family:'Source Sans Pro';-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;display:inline;overflow:visible;visibility:visible;fill:#0b2817;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;enable-background:accumulate"
x="-215.85831"
y="40.805912"
id="text5213"><tspan
sodipodi:role="line"
id="tspan5211"
x="-215.85831"
y="40.805912"
style="stroke-width:0.26458332px">3. boost</tspan></text>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5225)"
d="m -197.37854,37.882192 -8.98026,9.541523"
id="path5215"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -48,12 +48,12 @@
\usepackage{ifluatex}
\ifluatex
%\usepackage{fontspec}
%\setmainfont{TeX Gyre Pagella}
%\RequirePackage{unicode-math}
% \setmathfont{XITS Math}
% \setmainfont{Open Sans}
% \setsansfont{Open Sans}
\usepackage{fontspec}
\setmainfont{TeX Gyre Pagella}
\RequirePackage{unicode-math}
\setmathfont{XITS Math}
\setmainfont{Open Sans}
\setsansfont{Open Sans}
\else
\usepackage[T1]{fontenc}
@ -243,17 +243,24 @@ Hashtags are used for marking posts about certain topics or events:
\item fragmented view on hashtag posts depending on user's instance
\item hashtag search only on locally known posts
\item Result: incentive to cluster on large nodes \(\Leftarrow\) centralisation
\item test \(\sum a + \beta \rightarrow \Rightarrow\)
\end{itemize}
\end{frame}
\begin{frame}{Reason}{Push-Federation}
\begin{columns}
\begin{column}{0.55\textwidth}
\includegraphics[height=0.6\paperheight]{figures/push_federation.pdf}
\end{column}
\begin{column}{0.45\textwidth}
\begin{itemize}
\item subscription to \texttt{@alice@example.com} by contacting instance \texttt{example.com}
\item all future posts by alice are
\only<1>{\item subscription to \texttt{@alice@cyber.space} by contacting instance \texttt{cyber.space}}
\only<2>{\item all future posts by alice are delivered to instances of subscribers, but \textit{not} instances without any subscriber}
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\begin{frame}{Current Solutions}