A method for optimizing bandwidth allocation of carrying a data stream that is associated with a required bandwidth allocation and is associated with a bandwidth sharing definition that defines the bandwidth sharing of the data stream with allocated bandwidths over segments in a ring network, the method comprising: defining a first path in a clockwise., CW, direction from a first node (A, 24) to a second node (E, 24) in the ring network, the first path comprises at least a first (25, A-B) segment that is associated with a first allocated bandwidths; defining a second path a counterclockwise., CCW, direction from the first node to the second node in the network, the second path comprises at least a second (25, A-D) segment that is associated with a second allocated bandwidths; characterized in that the method further comprising: calculating a first additional allocation bandwidth required for carrying the data stream over the first segment based on the first allocated bandwidth according to the bandwidth sharing definition; calculating a second additional allocation bandwidth required for carrying the data stream over the second segment based on the second allocated bandwidth according to the bandwidth sharing definition; selecting the first or second path in response to comparing the first additional allocation bandwidth to the second additional allocation bandwidth; and transporting the data stream (40, 48) over the selected path. defining a first path in a clockwise., CW, direction from a first node (A, 24) to a second node (E, 24) in the ring network, the first path comprises at least a first (25, A-B) segment that is associated with a first allocated bandwidths; defining a second path a counterclockwise., CCW, direction from the first node to the second node in the network, the second path comprises at least a second (25, A-D) segment that is associated with a second allocated bandwidths; characterized in that the method further comprising: calculating a first additional allocation bandwidth required for carrying the data stream over the first segment based on the first allocated bandwidth according to the bandwidth sharing definition; calculating a second additional allocation bandwidth required for carrying the data stream over the second segment based on the second allocated bandwidth according to the bandwidth sharing definition; selecting the first or second path in response to comparing the first additional allocation bandwidth to the second additional allocation bandwidth; and transporting the data stream (40, 48) over the selected path. calculating a first additional allocation bandwidth required for carrying the data stream over the first segment based on the first allocated bandwidth according to the bandwidth sharing definition; calculating a second additional allocation bandwidth required for carrying the data stream over the second segment based on the second allocated bandwidth according to the bandwidth sharing definition; selecting the first or second path in response to comparing the first additional allocation bandwidth to the second additional allocation bandwidth; and transporting the data stream (40, 48) over the selected path.