A method for uplink scheduling over a communication channel in a communication network including a plurality of User Equipment and an eNodeB, the method comprising: determining, by at least one of the plurality of User Equipment, whether the at least one of the plurality of User Equipment is associated with at least one of Guaranteed Bit Rate bearers and non-Guaranteed Bit Rate bearers; computing, by the at least one of the plurality of User Equipment, a demand for resource blocks for establishing an uplink communication for each of the Guaranteed Bit Rate-bearers and the non-Guaranteed Bit Rate bearers, wherein the demands are computed based on physical layer characteristics and transport layer characteristics associated with the communication channel; wherein the physical layer characteristics comprise a maximum reported rate of the at least one of the plurality of User Equipment; wherein the transport layer characteristics comprise one of Round Trip Time, congestion window and throughput, and wherein the computing of the demand can be based on the Round Trip Time and the congestion window when evaluating the demand of the Transmission Control Protocol, and the computing of the demand can be based on the throughput when evaluating the demand of the User Datagram Protocol; determining, by the at least one of the plurality of User Equipment, a Quality of service Class Indicator; communicating, the demand for Guaranteed Bit Rate Bearers, the demand for non-guaranteed Bit Rate bearers, and the QCI as a request message from the at least one of the plurality of User Equipment to the eNodeB; computing a number of the resource blocks to be allocated for the at least one of the plurality of User Equipment based on the demands for resource blocks received from the at least one of the plurality of User Equipment, using the eNodeB; allocating resource blocks for Guaranteed Bit Rate bearers from a total number of resource blocks by the eNodeB; determining, by the eNodeB, remaining resource blocks from the total number of resource blocks; allocating, by the eNodeB, remaining resource blocks to non-guaranteed Bit Rate bearers based on a Packet Delay Budget and a priority associated with the at least one of the plurality of User Equipment which are included in the QCI; assigning, by the eNodeB, the resource blocks to the at least one of the plurality of User Equipment for scheduling uplink communication, based on the allocating; and receiving, by the at least one of the plurality of User Equipment an allocation of resource blocks for uplink scheduling from the eNodeB. determining, by at least one of the plurality of User Equipment, whether the at least one of the plurality of User Equipment is associated with at least one of Guaranteed Bit Rate bearers and non-Guaranteed Bit Rate bearers; computing, by the at least one of the plurality of User Equipment, a demand for resource blocks for establishing an uplink communication for each of the Guaranteed Bit Rate-bearers and the non-Guaranteed Bit Rate bearers, wherein the demands are computed based on physical layer characteristics and transport layer characteristics associated with the communication channel; wherein the physical layer characteristics comprise a maximum reported rate of the at least one of the plurality of User Equipment; wherein the transport layer characteristics comprise one of Round Trip Time, congestion window and throughput, and wherein the computing of the demand can be based on the Round Trip Time and the congestion window when evaluating the demand of the Transmission Control Protocol, and the computing of the demand can be based on the throughput when evaluating the demand of the User Datagram Protocol; determining, by the at least one of the plurality of User Equipment, a Quality of service Class Indicator; communicating, the demand for Guaranteed Bit Rate Bearers, the demand for non-guaranteed Bit Rate bearers, and the QCI as a request message from the at least one of the plurality of User Equipment to the eNodeB; computing a number of the resource blocks to be allocated for the at least one of the plurality of User Equipment based on the demands for resource blocks received from the at least one of the plurality of User Equipment, using the eNodeB; allocating resource blocks for Guaranteed Bit Rate bearers from a total number of resource blocks by the eNodeB; determining, by the eNodeB, remaining resource blocks from the total number of resource blocks; allocating, by the eNodeB, remaining resource blocks to non-guaranteed Bit Rate bearers based on a Packet Delay Budget and a priority associated with the at least one of the plurality of User Equipment which are included in the QCI; assigning, by the eNodeB, the resource blocks to the at least one of the plurality of User Equipment for scheduling uplink communication, based on the allocating; and receiving, by the at least one of the plurality of User Equipment an allocation of resource blocks for uplink scheduling from the eNodeB.