In the last decades the Internet traffic has greatly evolved. The advent of new Internet services and applications has, in fact, led to a significant growth of the amount of data transmitted, as well as to a transformation of the data type. As a matter of fact, nowadays, the largest amount of traffic share consists of multimedia data, which do not represent classical Internet data. Due to the increasing amount of traffic, the network resources might be scarce, and in such cases it becomes extremely important to optimize network transmission in order to provide a satisfying service to the users. Although methods for maximizing the network utility in scenarios with limited resources have been studied extensively, the evolution of the Internet services poses continuously new challenges that require novel solution methods to meet the transmission requirements. In this thesis we propose novel solutions methods to network utility maximization problems that arise in the context of nowadays network communications. In particular we analyze problems related to delay-sensitive Internet applications and rate allocation in unknown network settings. In the first problem we study how to effectively allocate the transmission rates in a multiparty videoconference system. The main contribution of this chapter is an approximate fast rate rate allocation method that is able to adapt quickly to changes in the videoconference conditions. This fast adaptation cannot be achieved with classical network utility maximization solving methods, as they are usually based on iterative approaches. In this case we leverage the particular structure of the problem to design a novel distributed solving method which proves to be very effective when compared to baseline solutions. The next problem that we address is the design of a congestion control algorithm for delay-sensitive applications. One of the main problems of existing delay-based congestion control algorithms is that they tend to achieve an extremely low throughput when competing against loss-based algorithms. In order to overcome this difficulty we propose a novel adaptive controller based on a bandit problem approach. The adaptive controller tries to infer how the network responds, in terms of rate-delay pair at equilibrium, when changing the delay sensitivity of an underlying delay-based congestion control. Once the network response is inferred, the controller selects the sensitivity that leads to the best trade-off between the transmitting rate and the experienced delay. In the final problem, we analyze the design of an overlay rate allocation systems to be used when: the amount of available network resources is not known, and the user congestion feedback cannot be used as valid signal to reach the optimal rate allocation. Such a scenario appears when an Internet application wants to maximize a certain utility metric, but, at the same time, it must operate using a specific congestion control algorithm that is completely unaware of the application utility. To solve this problem we design a distributed system that coordinates the users in order to perform active learning on the amount of network resource. Adopting such a method reveals to be the key to an effective maximization of the long term application utility for the entire system.