A non-transitory computer readable medium storing a program causing a computer to execute a method controlling relay in a group communication, the method comprising:
- transmitting, by a originating mobile computing device (OUE) to a set of recipient mobile computing devices (RUE˜, . . . RUEn) that are members of a communication group, a communication message including an identifier of the originating mobile computing device (OUE);
- receiving the communication message by at least some of said recipient mobile computing devices that individually send an acknowledge message to the rest of the mobile computing device members of the communication group, wherein each acknowledge message includes the identifier of the originating mobile computing device (OUE) and an own identifier corresponding to each mobile computing device sending the acknowledge message;
- receiving, by one of the recipient mobile computing devices (RUEi) which has not received the communication message from the originating mobile computing device (OUE) but has received at least two acknowledge messages from potential relaying mobile computing devices, a first parameter from each of the corresponding potential relaying mobile computing devices indicative of the link quality between the originating mobile computing device (OUE) and the corresponding potential relaying mobile computing device;
- applying, by the recipient mobile computing device (RUEi), an algorithm that takes into account said first parameter to select which of said potential relaying mobile computing devices should relay the communications initiated by the originating mobile computing device (OUE),
- characterized in that:
- said recipient mobile computing devices (RUEi) in said step c) further receives from each of the potential relaying mobile computing devices:
- a second parameter indicative of the number of hops the communication has performed from the originating mobile device (OUE) to the corresponding potential relaying mobile computing devices, and
- a third parameter indicative of the number of other mobile computing devices members of the communication group to which the corresponding potential relaying mobile computing devices is relaying communications from the originating mobile computing device (OUE);
- said recipient mobile computing device (RUEi) calculates the link quality between the originating mobile computing device (OUE) and itself by the different routes going through each of the potential relaying mobile computing devices, by taking into account the link quality sent by the corresponding potential relaying mobile computing device and the link quality between the corresponding potential relaying mobile computing device and the recipient mobile computing device (RUEi);
- and
- said selection in step d) of the mobile computing device that is going to relay the communications from the originating mobile computing device (OUE) to the recipient mobile computing device (RUEi), is dynamically performed by means of said algorithm further comparing the calculated link quality of the routes through each one of said at least two potential relaying mobile computing devices with a given threshold and by further considering each one of said second and third received parameters.