Can anyone please tell why was there a need to add both SR and BSR from a terminal perspective to receive a grant from eNB? In my opinion only of them can serve the purpose. And, we could save some overhead.
Was BSR added by 3GPP purely for logical channel prioritization? So that, QoS could be respected from the Network side? By calculation priority delay for each bearer in access side.
Or, do you know if there was another intention from 3GPP to add both of these concepts together? Since I am still not familiar with 5G NR, can anyone also please tell if both of these concepts, exist in 5G NR also?
In my opinion, SR is requested only to take grant resources fo data that ue have in it’s buffer but in BSR report ue tells network that this much i have data to send for that i need resources to get these resources network do scheduling of resources
BSR is letting enb know the data available in UE buffer. BSR is sent through PUSCH, To use PUSCH we need grant, so UE will send SR request on PUCCH then ENB will grant , after getting grant UE will send BSR
SR and BSR are both used for RRC-connected users.
SR is like: UE- I want to send data, please schedule RBs for me to send. First UL transmission, enb/gnb dont know how much data UE has to send, 1st TTI just allocate few RB.
BSR is like: UE send some data on scheduled RB, also say I still have xx bytes of data in my buffer needed to send. So next TTI, enb/gnb can allocate enough RB.
But, do not you think that in that case BSR alone is sufficient for UE to let network know both - first, I have this much data to send you, second, first implicitly means that I have some data to send you. So, network can judge and give sufficient grant and allocate resources for this UE to send its data.
I still feel SR is redundant behavior.
Okay, but if you think deeply UE do not have PUSCH means it do not have any data to send. For sending BSR, which is a MAC CE, if UE ask for grant by sending SR then network may allocate PUSCH (resource) for UE but UE will just send BSR and rest of the data will be filled with padding only. This is inefficient utilization of network resources. Is not it? Rather only one of them should be sufficient for UE to indicate network that it has data to send.
SR is like: UE- I want to send data, please schedule RBs for me to send. First UL transmission, enb/gnb dont know how much data UE has to send, 1st TTI just allocate few RB.
In this case it will be inefficient utilization of network resources. Is not it? UE will get the grant and send on BSR (MAC CE) data, rest of the octets will be filled with padding only.
SR and BSR serve different purposes and are transmitted on different channels. SR
SR is sent on PUCCH (PUCCH resource is configured at connection setup). It is used to request an uplink grant because there is UL data to be sent. SR cannot indicate the amount of outstanding data and eNB has no clue the optimal size of the PRBs in the UL grant. Typically UL grant size is fixed small value and configured by a parameter. BSR
BSR is sent on PUSCH (requires UL grant). BSR informs eNB about the amount of bytes sitting in UE buffer allowing the eNB to have visibility of buffer status and accordingly allocates suitable amount of PRBs until UE delivers all data in buffer. There is no way to get UL grant to transmit BSR after a packet enters enters empty buffer other than SR or RACH
SR (Scheduling request) is use to notify the eNB that there is data to transmit at the UE RLC/PDCP. So eNB grant some minimum resources to UE.
With these resources UE start transmitting UL data, where MAC header consist of MAC CE , indicating BSR. By reading BSR then eNB keep giving grant to UE as long as there is BSR.
So in short, BSR cannot be sent in uplink unless UE have some UL grant. And to get UE UL grant, UE has to send SR.
If UE is uplink synchronized and there is some incoming data from UE upper layer that ue need to send to nw, for this UE need the grant so UE request this grant via SR request.