A method for multicasting data to a plurality of receivers of a system, the system comprising a sender, a proxy and the plurality of receivers, the method comprising: a.) sending, by the sender, data to each receiver, assigned to a first group of receivers of the plurality of receivers, at a first rate; b.) monitoring, by the sender, a reception speed of the data of each receiver in the first group; c.) determining, by the sender whether a first receiver among the receivers in the first group is a slower receiver based on the reception speed of each receiver in the first group, wherein the reception speed of the slower receiver is below a threshold; d.) in case of yes in step c.), assigning, by the sender, the first receiver to a second group of receivers of the plurality of receivers, sending, by the sender, a message to the proxy and the first receiver indicating that the first receiver is to join the second group; e.) receiving, by the proxy, the message indicating that the first receiver is to join the second group, f.) after step e.), forwarding, by the sender, further data at the first rate to the proxy, sending, by the proxy, the further data at a second rate lower than the first rate to each receiver in the second group and monitoring, by the proxy, the reception speed of each receiver in the second group; g.) determining, by the proxy, whether the reception speed of a second receiver in the second group is above the threshold based on the monitoring of the reception speed of each receiver in the second group; h.)in case of yes in step g.), sending, by the proxy, a message to the sender and the second receiver indicating that the second receiver is no longer a receiver having a reception speed below the threshold; i.) assigning by the sender, the second receiver to the first group. a.) sending, by the sender, data to each receiver, assigned to a first group of receivers of the plurality of receivers, at a first rate; b.) monitoring, by the sender, a reception speed of the data of each receiver in the first group; c.) determining, by the sender whether a first receiver among the receivers in the first group is a slower receiver based on the reception speed of each receiver in the first group, wherein the reception speed of the slower receiver is below a threshold; d.) in case of yes in step c.), assigning, by the sender, the first receiver to a second group of receivers of the plurality of receivers, sending, by the sender, a message to the proxy and the first receiver indicating that the first receiver is to join the second group; e.) receiving, by the proxy, the message indicating that the first receiver is to join the second group, f.) after step e.), forwarding, by the sender, further data at the first rate to the proxy, sending, by the proxy, the further data at a second rate lower than the first rate to each receiver in the second group and monitoring, by the proxy, the reception speed of each receiver in the second group; g.) determining, by the proxy, whether the reception speed of a second receiver in the second group is above the threshold based on the monitoring of the reception speed of each receiver in the second group; h.)in case of yes in step g.), sending, by the proxy, a message to the sender and the second receiver indicating that the second receiver is no longer a receiver having a reception speed below the threshold; i.) assigning by the sender, the second receiver to the first group.