31.05.2017 Views

Synereo Whitepaper With Cover

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

distributed architecture. Subsequently, we address both gateway and third party<br />

services. Then, we discuss deployment options. Finally, we make a few closing<br />

remarks about the nature of <strong>Synereo</strong> in the wider ecosystem of social networks.<br />

Notation<br />

Most of the notation adopted here is relatively standard for computer science.<br />

The presentation is primarily functional in the sense that the universe of discourse<br />

used is built from (structured) sets and functions. Additionally, we do<br />

avail ourselves of higher-order functions, making use of lambda terms λx.term<br />

to define anonymous functions.<br />

Out of courtesy, whenever we are defining a function we first give its type.<br />

We assume a rich ambient type theory that includes basics like tupling (with<br />

fst and snd denoting the first and second projections of a pair, respectively) as<br />

well as fancier more modern machinery like parametric polymorphism and the<br />

usual suspects of collection types like List and Tree, and assume all the standard<br />

functions for collections (map, filter, etc) are well understood computationally<br />

and as mathematical objects. Occasionally we will use expressions like node(G)<br />

as a type; this should not be taken to mean that the model presented here fundamentally<br />

requires a dependent type theory. However, dependent type theory<br />

is becoming more and more mainstream, and so we don’t feel that a more aggressive<br />

use of dependent types would actually present a serious obstacle. To<br />

the contrary, it would likely simplify the model in many places.<br />

Essentially, all of these assumptions amount to making it quite straightforward<br />

to render the model as a simulation in a functional language. Likewise, a<br />

reader with some facility in functional programming should have no difficulty<br />

parsing the presentation of our model.<br />

2.2 A dynamics for social agency<br />

In this section, we describe the network and its dynamics. We show how engagement,<br />

quality of attention, and the flow of content are related to Reo, a<br />

measure of reputation in the network, and AMPs, <strong>Synereo</strong>’s information flow<br />

currency. We’ll present the model in stages of refinement. The first step regards<br />

the network as a whole. The next step shows how the network as a whole is<br />

mapped onto concurrently running distributed compute nodes relying solely on<br />

local interaction.<br />

2.2.1 Network Model<br />

The description presented here will provide a global or “god’s eye” view of the<br />

network to illustrate the dynamics of the whole network. In subsequent sections<br />

we will show how to realize these global dynamics in terms of entirely local<br />

interactions in a distributed network of interacting processes.<br />

We’ll begin by modeling a <strong>Synereo</strong> network as a graph, G, with nodes,<br />

written node(G), representing users of <strong>Synereo</strong> (plus their system footprint)<br />

and edges, written edge(G), representing communication links through <strong>Synereo</strong>.<br />

When it’s convenient we’ll write in G (N) to denote the set of edges in G with N<br />

as the target, and similarly out G (N) to denote the set of edges in G with N as<br />

the source. More formally,<br />

19

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!