A method for controlling messages between movable communicating entities (MO1, M02, M03), said communicating entities, 'CE', comprising computing devices, wherein said method is performed in a memory available to a computing device, and wherein each CE sends messages (π k) to other neighboring CE with a communicating entity-dependent message rate, 'CEMR' (r k), and with an communicating entity-dependent transmission power, and wherein said messages (π k) are transmitted via one or more channels, said channels together having a maximum channel capacity, and wherein the CEMR are between a minimum and maximum rate defining a rate interval and being determined within said rate interval by a) Using a utility function for each CE (MO1, M02, M03) being at least dependent on the CEMR and at least one parameter including a fairness parameter, said fairness parameter being directed to reflect balancing between different demands and their allocated resources, b) Assigning an initial price (π o) for each CE (MO1, M02, M03), wherein said price (π o)is calculated as a difference between said maximum channel capacity and the number of messages received by each CE per time unit, c) Adjusting the CEMR of each CE (MO1, M02, M03) taking into account received prices (π k) of said other CE (MO1, M02, M03), wherein each CE (MO1, M02, M03) adjusts its own CEMR (r k), such that the difference between the own utility function for the CEMR (r k)and the sum of received prices (π k) weighted with the own rate (r k) is maximized, d) Computing a new price (π k+1) for each CE(MO1, M02, M03) based on difference between the initial price (π o) and available channel load, wherein said available channel load is estimated or determined based at least on the channel busy time, and may be further based on at least one of correctly received messages, provided actual rates of CE (MO1, M02, M03) by the CE (MO1, M02, M03) and is proportionally amended using a constant, said constant parameter being multiplied with the sign of the available channel load for the respective CE (MO1, M02, M03), e) Check a termination condition for said difference and if not fulfilled, use said new price (π k+1) as initial price (π o) and perform steps c)-e) again until said termination condition is fulfilled. a) Using a utility function for each CE (MO1, M02, M03) being at least dependent on the CEMR and at least one parameter including a fairness parameter, said fairness parameter being directed to reflect balancing between different demands and their allocated resources, b) Assigning an initial price (π o) for each CE (MO1, M02, M03), wherein said price (π o)is calculated as a difference between said maximum channel capacity and the number of messages received by each CE per time unit, c) Adjusting the CEMR of each CE (MO1, M02, M03) taking into account received prices (π k) of said other CE (MO1, M02, M03), wherein each CE (MO1, M02, M03) adjusts its own CEMR (r k), such that the difference between the own utility function for the CEMR (r k)and the sum of received prices (π k) weighted with the own rate (r k) is maximized, d) Computing a new price (π k+1) for each CE(MO1, M02, M03) based on difference between the initial price (π o) and available channel load, wherein said available channel load is estimated or determined based at least on the channel busy time, and may be further based on at least one of correctly received messages, provided actual rates of CE (MO1, M02, M03) by the CE (MO1, M02, M03) and is proportionally amended using a constant, said constant parameter being multiplied with the sign of the available channel load for the respective CE (MO1, M02, M03), e) Check a termination condition for said difference and if not fulfilled, use said new price (π k+1) as initial price (π o) and perform steps c)-e) again until said termination condition is fulfilled.