Menu

Pay models

Alex Libov

Pay models

The pay model determines how the payment for the impression will be divided among the nodes that participated in the dissemination. After each model, there is an XML element representation for the [experiment description XML].

Equal Share

The amount is divided equally among all participating nodes.

<paymodel model = "EqualSharePayModel"  scheme="MaxProfitImpression" />

The different schemes will be detailed below.

Equal Referral Share

The last (serving) node gets half of the amount, and the rest is divided equally between
the referring nodes

<paymodel model = "EqualShareReferralPayModel"  scheme="FirstImression" />
Balloon challenge

the last (serving) node gets half of the amount, and each node before it on the
dissemination path gets half of what the next node got.

<paymodel model = "BaloonChallangePayModel" base="2" scheme="AllImpressions" />

The base attribute sets the division base (2 means each node before on the
dissemination path gets half of what the next node got. 3 means third etc.)

Bounded share

An upper bound N is passed as a parameter.
amount/N is paid to the first N-1 nodes on the dissemination
path. The rest of the amount goes to the last node.

<paymodel model = "EqualPayBoundedModel" bound="15" scheme="AllImpressions" />

Payment schemes

For each of these payment models we can invoke different payment schemes:

Pay for all

Participating nodes are paid for every impression.

<paymodel model = "BaloonChallangePayModel" base="2" scheme="AllImpressions" />
Pay per useful neighbor - A useful neighbor of a node is a neighbor that received

an ADM that eventually produced an impression (either by its own
client or by disseminating the ADM further). For each
advertisement, every node is paid only once per useful neighbor.
The serving node is still paid for every impression. The amount paid for a useful
neighbor is according to the first impression that this
neighbor has produced.

<paymodel model = "EqualShareReferralPayModel"  scheme="FirstImression" />
Pay max revenue per useful neighbor

This scheme is similar to the last one,
but if another impression would have paid more for the same
neighbor, then the node gets paid for the difference. In this
scheme, each node gets paid for one impression per neighbor - the one with the
maximal revenue.

<paymodel model = "EqualSharePayModel"  scheme="MaxProfitImpression" />

Related

Wiki: experiment description XML