Propagation mechanisms

The propagation mechanism selects the people in the network who shall receive each separate information piece. RELISON provides the following propagation mechanisms:

All neighbors

This mechanism sends the information pieces to all the neighbors of the user.

Parameters

  • orientation: the neighborhood to consider.

    • IN: it considers the incoming neighborhood of the target user.

    • OUT: it considers the outgoing neighborhood of the target user.

    • UND: it considers the all the possible neighbors of the target users (\(\Gamma_{out}(u) \cup \Gamma_{in}(u)\))

    • MUTUAL: it considers as neighbors those who share a reciprocal link with the target user (\(\Gamma_{out}(u) \cap \Gamma_{in}(u)\))

Configuration file

propagation:
  name: All neighbors
  params:
    orientation:
      type: orientation
      value: IN/OUT/UND/MUTUAL

Pull

In this mechanism, each user selects one of his/her neighbors. Then, the selected neighbor sends him/her the information. After a neighbor is selected, some time needs to pass before it can be selected again.

Parameters

  • orientation: the neighborhood to consider.

    • IN: it considers the incoming neighborhood of the target user.

    • OUT: it considers the outgoing neighborhood of the target user.

    • UND: it considers the all the possible neighbors of the target users (\(\Gamma_{out}(u) \cup \Gamma_{in}(u)\))

    • MUTUAL: it considers as neighbors those who share a reciprocal link with the target user (\(\Gamma_{out}(u) \cap \Gamma_{in}(u)\))

  • waitTime: the amount of time that needs to pass before a neighbor can be selected again.

Configuration file

expiration:
  name: Pull
  params:
    orientation:
      type: orientation
      value: IN/OUT/UND/MUTUAL
    waitTime:
      type: int
      value: num_iter

Pull-push

In this mechanism, we combine the Push and the Pull mechanisms: here, each user selects a neighbor. Then, he/she sends the information pieces to that neighbor, and the neighbor sends the information to him/her. After a neighbor is selected, some time needs to pass before it can be selected again.

Parameters

  • orientation: the neighborhood to consider.

    • IN: it considers the incoming neighborhood of the target user.

    • OUT: it considers the outgoing neighborhood of the target user.

    • UND: it considers the all the possible neighbors of the target users (\(\Gamma_{out}(u) \cup \Gamma_{in}(u)\))

    • MUTUAL: it considers as neighbors those who share a reciprocal link with the target user (\(\Gamma_{out}(u) \cap \Gamma_{in}(u)\))

  • waitTime: the amount of time that needs to pass before a neighbor can be selected again.

Configuration file

expiration:
  name: Push-pull
  params:
    orientation:
      type: orientation
      value: IN/OUT/UND/MUTUAL
    waitTime:
      type: int
      value: num_iter

Push

In this mechanism, each user selects one of his/her neighbors. Then, he/she sends all the information pieces to that neighbor. After a neighbor is selected, some time needs to pass before it can be selected again.

Parameters

  • orientation: the neighborhood to consider.

    • IN: it considers the incoming neighborhood of the target user.

    • OUT: it considers the outgoing neighborhood of the target user.

    • UND: it considers the all the possible neighbors of the target users (\(\Gamma_{out}(u) \cup \Gamma_{in}(u)\))

    • MUTUAL: it considers as neighbors those who share a reciprocal link with the target user (\(\Gamma_{out}(u) \cap \Gamma_{in}(u)\))

  • waitTime: the amount of time that needs to pass before a neighbor can be selected again.

Configuration file

propagation:
  name: Push
  params:
    orientation:
      type: orientation
      value: IN/OUT/UND/MUTUAL
    waitTime:
      type: int
      value: num_iter