 So, the question is since we have this plotted system right, it is we know that the mobile node and the base station have to be in total time synchronization with each other right. If different mobile nodes think that this is slot 3 that is slot 3 then they may try to transmit at the same time creating a collision at the base station. So, that is the basic problem right how do we solve that problem. How do we ensure that everybody has the same notion of slots in the system, somebody may be very near the base station, somebody may be very far away from the base station. Still the notion of slots has to be maintained by all the nodes. So, that is the question how do we do that, how could we do that is it making sense what I am saying the question that if a node is very near the base station it will whatever it transmits will reach the base station very quickly. If the node is far away we have let us say 35 kilometers is the maximum range. So, by the time it transmits in slot 3 and the signal reaches the base station it may be slot 3 and a half. So, its data may be spread over slot 3 and a half to 4 and a half instead of slot 3 to slot 4 right how do we solve the problem. So, the basic solution here is that what is important is not for everybody to have the same idea of time, but everybody to send information so that it reaches the base station at the correct instant of time that is the key idea here. So, basically it means that if you are expecting me to transmit in slot 3 and I know that I am let us say 1 millisecond propagation delay away from you I should transmit 1 millisecond earlier so that I reach you at slot 3 because the base station is the important thing here. So, as long as the notion of time at base station is maintained by everyone things will be fine in the system right. So, the question is how to compute this time ok how do I compute. So, first thing is how do I do the transmission and the second question is how do I compute ok. So, see what is happening here. So, let us say this is the node in which you are transmitting this is the slot in which you are transmitting. So, first of all there is a one way propagation delay that happens. So, this is the one way propagation delay this is what reaches the mobile node correct. Once this reaches the mobile node what is the mobile node know it knows that my transmit slot is plus 3. So, it knows that I should transmit in this slot ok. So, it transmits in slot 4 which is actually being transmitted here ok. So, this is what the mobile node is sending here ok and that is further pushed by another propagation delay and this is when it gets received at the base station ok is it making sense. So, instead of sending it here basically already it means is there is a two way propagation delay involved. There is a one way propagation delay for that and there is a one way propagation delay for what I am sending from the mobile node to the base station correct. So, there is a two way propagation delay that is involved. So, what do I need to do in order to transmit in order to reach the base station when the base station understands it as slot 4. I have to transmit it in advance right. So, basically I have to advance it by this two way transmission delay right I have to send it. So, instead of sending it here which is where I would have originally sent now I have to send it at this point. So, this being the two way transmission delay so, I sent it send it in two way transmission delay in advance. So, that it reaches the base station exactly when the base station expects it ok. So, that is basically the idea. So, there is a one way transmission delay in this direction I know that there will be another one way transmission delay in the other direction. So, anything that I want to transmit to the base station I transmit it a two way transmission delay period earlier right. So, that is all that is there to this notion of timing advance ok. So, basically that is what the time synchronization channel is for. So, the time synchronization channel what happens is let us say this is my notion of the time synchronization channel TCH ok time synchronization channel. So, what happens here let us say this is the base station ok. So, what the base station is doing is it is transmitting a waveform in this time synchronization channel ok. Now, this has a propagation delay before it reaches the mobile node. So, let us say it reaches the mobile node here at this point this is how the waveform is going to reach the mobile node correct. So, what the mobile node does? So, there is let us say a pattern. So, the mobile node starts receiving the time synchronization information let us say to make it easier let us think of it as bits instead of as this pulse ok. So, let us say my time synchronization bits is 1010101 fine let us say I am going to transmit these bits. So, when the base station starts transmitting it knows what is the time it started transmitting the bits correct. So, the mobile is going to receive the bits this is just like a training sequence instead of I could even transmit the training sequence. It does not matter what sequence I am transmitting may be even the training sequence I transmit ok. So, the mobile is going to start receiving it at some point and as soon as it finishes receiving it transmits it back to the base station. So, let us say this training sequence is x, x is the duration of your training sequence ok. So, what is the base station know? Base station knows that the duration of the training sequence is x. So, it should be kind of t0 plus x ok. When will the when would the base station have finished transmitting the training sequence t0 plus x right. So, but now it knows that it has received it at time t1 where t1 is equal to t0 plus delta plus x plus delta correct right. So, now what is it know? What is the timing advance ok. So, it knows that I have received it here it knows that I should have received if this mobile node was standing right next to me then I would have received the signal here at this point right I would have started receiving the signal here is that making sense ok. If the if there were 0 propagation delay the base station knows that I would have started receiving the training sequence back at t0 plus x because x is the amount of time it takes for that thing to get transmitted ok. So, I would have started receiving I would have started receiving the first bit here and I would have finished receiving it at t0 plus 2x correct. So, now it knows that here is where I expect to hear this guy here is where I have heard this node correct. So, this minus this is the timing advance ok it is as straight forward as that. So, it knows that delta is equal to t1 minus t0 plus x ok. So, even though I do not know this delta ok. So, I do not know the value of the propagation delay I know what is the timing advance that I should use by just making the measurement at the base station ok. So, what it does is then it conveys this delta value to the mobile node in the timing synchronization channel ok. So, in the timing synchronization channel it will convey the delta value to the mobile node saying that advance your notion of time by so many microseconds ok. So, there is no it does not need to know what is the exact propagation delay etcetera etcetera. Those measurements are not so important it just sends a sequence of bits it waits to see when the response is come. This minus that it knows when it should have come and it knows when the actual response has come this minus that it knows advance your notion of time by so much units of time finished ok. So, that is the basic idea behind timing advance. So, if you look into the details of GSM they will mention that you know every 24th slot is reserved for time synchronization ok, every 24th slot in a logical channel not in a physical channel ok. So, here we see that the uplink and the downlink are shifted in time by 3. 3 slots correct. So, the same slot we were talking right if I receive in this slot then this is the corresponding uplink slot. So, why this 3 time slot delay sorry is because one we want to keep some time for the timing advance. Suppose, if it were the next slot what would happen? Suppose we had decided ok the question is suppose we had decided that frequency X time slot 1 is downlink and the immediate next slot is the corresponding uplink. Suppose, we had decided like that what would happen two things will happen see one is your cost of your equipment will go up why transmitter receiver switching turn around ok. So, basically what you want to do is the mobile is in the receive mode it has to finish receiving and it has to switch into the transmit mode in order to send otherwise what you have to do is you have to build both a transmitter and a receiver into your handset. Right now you are doing with a single transceiver which performs both the functions of receiving as well as transmitting, but in order for the transmitter and receiver to switch between the two functions you need some time ok. So, that is one time that you need and the second is you need to give some time in order to take into account this timing advance ok. So, both of these together bring it to three slots suppose it were two slots then what will happen let us say the transmitter receiver time can be ignored ok only the timing advance is there suppose it were two slots what will happen ok. The timing advance will be maximum one time slot which will have an impact on distance how will it have an impact on distance correct you cannot accommodate a mobile node which is far away because by the time it sends its timing advance information you know that you are going to be out of that time slot correct. So, the maximum distance so, why is JSM 35 kilometers this is the reason ok the timing advance is the reason how many bits have you allocated in order to convey the timing advance information that determines what is the range right otherwise it is just determined by power the more I scream the farther I can be heard correct, but otherwise in a slotted system I need to take into account the timing advance. So, if my timing advance is able to accommodate only three slots ok timing advance plus the receiver transmitter turn around should fit into three slots that is why I can go only up to 35 kilometers. If I had made it four slots then I could have gone farther so, if I do that then there is going to be more delay between two subsequent frames if I push it beyond the if I push it to four slots ok. So, that is why it is kept as three slots ok. So, look at what will happen otherwise to let us say a slot number 5 if you take larger numbers what will happen is your it will overflow it will eat into the next frame ok. So, three that is why is see it could have been two, two is not a unreasonable number for the spread between the uplink and the downlink ok. Two is also feasible because it would have time for doing the receiver transmitter turn around as well as to do the timing advance, but if we do two then the range will come down right. If we do four then the delay will increase ok. So, that is why it is three somebody else ask me a question in the break saying that now that we are addressing all the vice why is there this 20 megahertz separation between the uplink and the downlink 915 to 935 right. So, why is it this 20 megahertz separation between the end of the uplink and the start of the downlink 45 is from here to here there is no technical reason for why it should be 20 megahertz there is lot of such things in technology for which there is no really sound reason you know take ATM for that matter know why 63 bits sell in ATM. So, some people were saying 48 some other people were saying 75. So, they did a compromise and arrived at 63 ok. So, there are many reasons like that also which happened. So, this 20 megahertz separation is because of that you need a reasonable separation between the downlink and the uplink ok. If it is too close you know that it cannot be too close right what will happen if it is too close interference will happen because the downlink transmitter is more powerful my downlink is the base station. So, the downlink transmitter is more powerful. So, the interference will happen if it comes close ok if it goes farther what will happen I am taking a larger chunk of the band right. So, I have to find some intermediate there really is no reason why 20 is a good number ok. So, just regulations people just decided that we will have 20. So, this is what happens in your timing advance ok. So, a 6 bit number is used to convey see basically that big delta which we saw right. This big delta is conveyed by the BS to the mobile node as timing advance right advance your notion of time by this big delta number of units ok. So, for in order to convey the delta you are using a 6 bit number ok. So, 63 bit time period turns out to be 233 microseconds RTT which comes out to approximately 35 kilometers ok. All right any other questions on GSM. So, let me try to give a summary here ok we have a bunch of logical channels physical channels various types of mapping and all that ok. So, let me elaborate on VLR by doing this ok. So, let us say let us try to frame a question here. Suppose your mobile is registered in Mumbai and you are currently in Delhi what happens when your friend in Mumbai calls you how does the call get established by what happens I mean is how does the call get established what will be the steps your friend is using a PSTN line. So, I will simplify life ok. So, what will happen is so you will say PSTN ok it will go to MSC it will go to the GMSC of Mumbai correct then what will happen ok GMSC will check the HLR ok. What is the HLR contain is the home location register that is fine, but it will say that this is the mobile number and it will say currently in which BSE is not in any of the BSE is in Mumbai right. So, what will it do HLR 1 let me call it HLR 1 it will go to HLR 1 you say this mobile number is currently in which MSC I cannot say which MSC right because I am in Delhi right. So, what would have happened is when I have switched the mobile on in Delhi I would have registered in this HLR saying that currently in Delhi under MSC 2 ok is that making sense in Delhi again there will be multiple MSCs, but it will say that I am currently in Delhi when I go to Delhi I am going to register as soon as I power on what is going to happen all these actions will happen and as part of the information exchange I am also going to authenticate my roaming capabilities correct. So, what is the authentication of the roaming capability that network is going to call up my home network find out whether I pay for roaming services or not and if so, the HLR entry is updated ok. So, this HLR is simply pointing to saying currently in Delhi under MSC 2 correct then what happens this guy goes back to GMSC GMSC contacts MSC 2 then how do I know where I am in MSC 2 MSC 2 is again a large area MSC 2 is again controlling a large area correct. So, MSC 2 is going to look up which VLR 2 ok let me say VHLR Mumbai and VLR Delhi ok. It is going to look up the VLR in Delhi to find out which is the BSC to contact ok. Now can you guess why I need two different things HLR and VLR both have more or less identical information ok both are basically going to say that this is the mobile node this is the current location that is the key information which is there in both these databases, but why do I need two of them? No I could roaming charges are different let us say let us leave out the billing aspect basically it is for reducing the traffic to HLR. See if you look at it even from a technical perspective this guy the mobile node is in Delhi right. So, from Delhi if I am going to keep updating the HLR which is sitting in Mumbai ok. So, I am making calls all the time right. So, there is a lot of traffic that is going to be coming from Delhi to Mumbai just to keep track of my location right. It is the same location update problem which is now expanded to one more scale right. So, I do not want to keep sending information from Delhi to Mumbai saying that ok I am in this area I am in that area I am in that area right. So, instead of that all that I say is in Delhi I am currently under this MSC this is the MSC which is governing my movement in Delhi ok. So, under that MSC again I will have a lot of VLRs correct. So, that is why so the MSC 2 in Delhi may have a VLR a lot of sorry a lot of cells under the MSC I will have a lot of cells and that is the VLR which is going to record that information again. So, VLR basically stands for visitor location register. So, every time I am moving within Delhi what do I update ok. This is the local updates. So, the VLR is the one which carries your local location updates within Delhi this is your location that is captured by VLR. Now, suppose in Delhi itself you move from this MSC's area to another MSC's area then you will again update the HLR. See, any global update which you have to make that you do in the HLR ok maybe that is a good way of trying to understand this ok HLR is basically global updates. So, at the MSC level it basically says I am under this MSC MSC ID will be stored there. If it is in the home network then I can store BSC ID also, but if I am in a foreign network it does not make sense for me to keep updating the BSC ID in a HLR which is in another city right. So, that is why I you can think of the VLR as a local HLR all right. So, what happens when you call your friend how does the call get routed ok. So, the second question is what happens when you call a friend ok. So, let us see I have mobile node 1 which wants to call a friend in the home network. It will go through MSC of Delhi right which will go to Gateway MSC of Delhi which will go to the Gateway MSC of Mumbai right then HLR of Mumbai. What is it looking up in the HLR of Mumbai the location of your friend right. So, now if your friend is in Mumbai your job is easy if your friend is in Hyderabad then again it has to go to the Gateway of Hyderabad ok. So, that is what is happening here. So, it comes to the HLR of Mumbai and then this guy says which is the new MSC to talk to ok. So, this is again a step this step may have to actually happen twice depending upon whether this guy is in the same home network or not ok. What happens when you are calling your friend who is in the visitor network it is much easier right. So, you are calling your friend this guy looks up the HLR. So, if you are calling somebody who is in the visitor network then you just the call goes up to the MSC the MSC looks up the HLR and it is able to call back to the other node ok. Is that making sense? So, of course, now the third case to examine is that there are two of you who went from Mumbai to there and you are making a call ok. What will happen? If both are visitors VLR will come into the picture right ok that is the third case interesting case where both are from Mumbai and currently in Delhi ok. How does it work this time? So, I will go up to the HLR straight away right MS1, MSC Delhi, Gateway, Gateway MSC of Mumbai to look up HLR, Mumbai right and then this guy will contact back to MSC of Delhi this guy will look up VLR and then this guy will call MS2 right yeah I have left out all the obvious steps, but the main steps are like this. The first node first mobile node the first time you will go all the way to the HLR to find out what is your friend's location right since I am making the call first thing that will happen is it will just get routed through the MSC to the home network. So, just depending upon the number so it will go to the Gateway MSC the Gateway MSC will look at the number figure out which is the home network know whether it is Mumbai whether it is Hyderabad whether it is Bangalore it does not matter it will contact the appropriate Gateway in that city and that is where the HLR look up will happen. Now, once the HLR look up has happened then the HLR will redirect it to the current city whichever is the current location of the MSC. So, after that redirection happens that is when the VLR look up will happen. So, VLR look up is generally for the incoming part ok. You update the VLR when you are in a roaming area ok you look up the VLR for incoming calls ok you never look up the VLR for outgoing calls are there any synchronization issues when two Gateway MSCs are talking and when Gateway MSC in Delhi does not reach Gateway MSC in Mumbai what will happen call will drop ok. So, yes there are lots of issues. So, these are all called interfaces in GSM you will find that there are no UM interface some other interface these are all defined as interfaces in GSM. So, the interface definition will tell you that this part of it should be completed within so many milliseconds ok. If it does not complete within that many milliseconds the radio resource will be released and you will get some network busy or you know unreachable or some random error message you will get ok alright ok. So, that is the basic idea of GSM. Now, let us go on to talk about the next enhancement ok. So, now the question is the natural extension of going from going on from GSM. So, the thing is I want to carry data in this system ok. So, earlier I was carrying voice everything was fine everybody was happy ok. Then it turned out that people invented this thing called WAP right you heard of WAP no. So, WAP was invented saying that ok you can check your email through your phone. So, then it turned out that this WAP is very slow right WAP on a GSM network is extremely slow because GSM data rate is 9.6 kbps right. So, data rate is very slow. So, you cannot send lot of data on the network. So, now if you want to carry data what is the key difference between data and voice? One difference if you have to have exam question you can put it in your exams. So, data is bursty in nature while voice is continuous in nature right. So, how does that impact our system design? So, I have to go from circuit switching to packet switching what does that mean? So, instead of having continuous allocation or periodic allocation of slots I want to move the same system to a on demand allocation of slots right. So, instead of saying that call starts now you know even this was a problem which happened in around 99 or so with the first generation of WAP phones right. So, although no data is being transmitted you are getting build for the call duration right. So, your call is connected for however long you are connected that is the duration for which you will get build in a GSM system. It does not matter whether you are speaking or not speaking right till you disconnect the call that is the call duration for which you are going to get build right. Now that does not work for data because if there is the data transmission is very slow or if the server is not responding you do not want to pay for the call duration. So, the key reason requirement here was that I should pay for on demand services ok. So, I should get slots only when I want them not at the beginning of the call or and keep getting them periodically till the end of the call right. How do you move the system now? GSM is there huge amounts of GSM deployments have happened. Now this requirement comes saying that you want to move it to such a system how do we do that? Yeah we need to do patches we need hardware patches and software patches right. So, that is the first thing that we need to understand. So, GPRS basically radio resources are allocated only for a few packets at a time. So, GPRS when you make a voice call when you make a voice call in a GPRS system it will work like normal GSM ok because you get a periodic slot allocation you do not want to go into all these overhead of allocation of on demand packets and all that right this is only for data. So, the radio resources are allocated only for a few packets of time. So, it has all these features of volume based charging carrying SMS in data channels and so on ok. So, how will you set that up that is a question. What are the changes that you need to do in order to set up a GPRS network ok. So, this is how it looks it looks pretty much the same as GSM ok the same number of boxes are there the same number of you know red lines which meaningless notation is there, but what is the change in these boxes. So, let us take this BTS box and the MS box is there any change required in the mobile node in order to go from GSM to GPRS yes right. What is the change it has to understand the GPRS protocol right. In the GSM protocol all that it has to understand is if I am allocated frequency channel X traffic time slot Y as my traffic channel every time I just have to move three slots I have to transmit that is a GSM protocol right GPRS now it has to understand that if I have so much packets queued up then I have to make a request right for more slots to be allocated. So, I have to figure out mechanisms for slot allocation and I have to have mechanisms for sending the information ok. So, the mobile node has to change does the BTS have to change yes because mobile node and the BTS are the ones which are executing the protocol correct. How does the base station notify to the mobile who transmits when let us say there are 10 mobiles each of whom has a huge amount of data which they want to send to the base station ok. How does the base so the base station has a scheduler which decides the schedule ok. Once it has decided the schedule how does it notify the schedule to the mobile node. So, the base station has a scheduler which decides the schedule ok. Once it has decided the schedule how does it notify the schedule to the mobile node how can I do it yes one way is to send the entire schedule out on the access grant channel right. Is there a easier way? See I do not want to use too much of my resources in order to transmit control information that is the key thing that we have to remember. If I use my access grant channel to send the schedule I am kind of wasting resources not everybody needs to know the schedule right. Suppose I am the base station and you are the mobile each of you have sent me your requests. How did you send me the request? You either ask for a channel on which to transmit the request or you piggyback the request along with some ongoing data transmission ok. So, I got all the requests. Now, I have come up with a schedule that you go first you go second you go third whatever whatever right. So, I do not need to the schedule is a fairly long thing I do not need to send the entire schedule to everybody. So, what this flag basically says? So, similarly you will have slot 1 slot 2 and so on ok. So, downlink I am just going on transmitting all that I say as this flag is which mobile should use the corresponding uplink ok. Are you understanding? So, what you what I am saying here is on frequency channel X slot 1 whatever is the downlink data that I am sending. At the end of that data I will just add one identifier which is a mobile nodes ID ok. What does that mean? That means on the corresponding uplink that mobile will transmit the data ok. It has straight forward as that I do not need to transmit an entire schedule I do not need to you know give a specific access grant and none of those mechanisms are required. At the end of the data I just say who is the guy who can use this slot in the corresponding uplink which is the corresponding uplink 3 slots later you know that the same frequency number 3 slots later is the corresponding uplink. So, I just keep on putting whose ID it is everybody is receiving the information right it is a broadcast medium see that is where sometimes you have to utilize the power of the broadcast medium it is not a one to one medium although the packet. So, this data may be meant for somebody this information is meant for everybody it is just an interpretation of the framing the same normal burst ok. You are just saying that I am going to interpret the frame differently now. So, if it is a voice call then I interpret that normal burst as 57 data bits 26 training bits 57 data bits. If it is a gprs data sequence I have a header I have information I have a trailer. In the trailer I will put this information saying that who is the guy who can transmit in the corresponding uplink ok. In case you do not have anything on the downlink you just send an access grant that is not a problem right. When the system is free there is no issues and you can take any amount of time to talk to each other and figure out things it is only when 100 people are trying to talk to you you have to come up with efficient mechanisms correct. So, what is the what is the key difference now between gsm and gprs allocation see the moment you move to a mechanism like this where you say that I am just at the end of each downlink frame I am going to say who can use the corresponding uplink you are doing two things what two things you are allowing the same mobile to transmit in multiple slots right. Nothing prevents me let us say this this usf flag is let us say it is ms1 ok nothing prevents me from putting ms1 here again ok. Nothing prevents me from allocating all the eight slots to the same mobile node because I just have to put its ID and it can transmit in that slot. In the same way nothing prevents me from allocating different frequencies also to the same mobile node ok. So, now all that you are seeing is it is sort of like this this is your resource right f1 to fn are your resources the various frequencies and you have s1 to s8 as your slots right. So, all that you are saying is who transmits in which slot ok. So, how many in gsm how many slots could I get one right in gsm I can get only one slot if I get this slot then I can get it only in the next block ok. In gprs how many can I get any number I can get theoretically ok this is not practical this is theoretical. Theoretically I can get this nothing prevents me from getting this because all that the base station has to do is to put my ID in that one ok. I can get this I can get this I could get this also right I could get any of these slot allocation. So, this is my entire radio resource for the uplink right. So, out of this entire uplink radio resource I could allocate totally flexible number of slots to the mobile on demand. So, if I have a huge demand and there is no other user in the system then I can allocate everything to you ok. What happens in practice in practice you draw a line somewhere depending upon the operator you will draw a line somewhere and say that this much is for pure gsm ok. I do not want to mess around with my voice call I am not going to do any of these fancy allocation for the voice call. So, somewhere the operator will draw a line in this resource saying that this much I am going to use in pure gsm mode and only the other only the remaining I am going to use in gprs mode ok. So, even in gprs mode. So, what you have is multiple slots per frame as well as per across channels ok. So, even in the gprs mode operators will play it safe you know there are different ways of handling this you know they are called different levels. For example, look at it like this suppose I am allocating three slots contiguously to the same mobile the mobile has to be able to transmit it has to be able to process so fast ok. So, depending upon the grade of the mobile and all that different different levels of gprs exist. So, these are called gprs quality of service levels ok. We will not go into the details of that, but the pure levels in gprs the main idea there is they deal with how this multi slot allocation is handled in practice ok. In theory it is totally flexible ok. So, that is how you get that number saying that gprs can carry 100 and whatever 115 kilo bits per second while gsm can carry only 9.6 kilo bits per second that is because one of these things is just 9.6 kbps. gprs the maximum you could allocate all of it ok which is 125 into 8 kind of a thing right in theory. Is that make sense? So, that is why gprs can carry more traffic than gsm although it uses the same FTDMA system. So, gprs requires addition of new class of nodes called gprs support nodes ok, BSE requires something called the packet control unit and various other elements require upgrades ok. All the gsm are connected by an ip backbone fine. So, let us go to something interesting in this. So, all this is basically data ok what the ggsn contains, what the sgsn contains and all. So, at 5 in the evening if I make you go through this is not going to be very interesting. So, let us go to something interesting ok. So, now given that I am a gprs node what is the key function of a gprs network? It has to be able to connect to an ip network right. So, through my gprs phone I can access my email which is on a ip network correct ok. Look at this figure ok. This is a figure ignore all these dotted lines let us say the mobile node is here ok and it wants to talk to this host which is here ok. Who is going to assign the ip address? See the important thing is as far as under this ggsn all that comes under this ggsn is the same gprs network ok right. Because it is the same gprs network as far as the ip network is concerned this is just one hop ok. So, this guy will assign the ip address ggsn is the one which will assign the ip address to this mobile node when. So, again here there are questions of you know do I give it a fixed ip address? Do I give it a dynamic ip address right. So, by now we have understood even in wired networks you know through our you know dialing up from home etcetera that dynamic ip address works better than giving fixed ip address location. So, this guy is going to assign an ip address to this mobile node ok. In the gprs terminology this is called pdp context ok. So, it is written there in one of those slides we will find it mentioned ok. So, pdp context stands for what is pdp stands for packet data protocol data packet ok. Context basically says the ip address the assignment ok. So, in some way you can think of this ggsn as performing the functions of a proxy server ok. So, if you look at it from a purely ip network perspective the ggsn functionality is very similar to what a proxy servers functionality is ok. What is this proxy servers functionality? Let us say iit we have a proxy server. Now, what happens I connect from my network I have a private ip address on my machine it translates my private ip address to a public ip address. So, that I can you know send a request to Google when the response comes back it translates the response it has to keep the mapping of saying that ok I sent this request on behalf of such and such ip address such and such port number right. It translates the response back on to my local network right. So, that is the same function which the ggsn is kind of performing in a gprs network ok. So, when the mobile node wants to make a data transfer what does it do? Initiates the data transfer the request goes through the wireless part of the network to the ggsn the ggsn will allocate a ip address to it ok. Do not look at the dotted lines in this figure right then what happens? The mobile node now wants to send a packet to the fixed host ok. How does it send it? Yeah it sends it through the sgsn, but it is just a normal ip packet as far as the node now is concerned is it does not matter what network is it? Is it a LAN or is it a gprs network? It does not matter the function is going to be the same the same way it constructs a packet on a LAN the same way you construct a packet send it on the gprs network right. How does it go across the network? What we saw just previously I do the multiple slot allocation the mobile node will see how much data is there will send the appropriate request to the base station. The base station is going to allocate that many number of slots multiple slot allocation will happen. The packet will cross the wireless hop and it will go into the wired network and from there it will get routed to the end host reply will also come back in the same way correct ok. So, now another interesting question is what happens when I am roaming at this point ok when I am roaming from let us say this network to this network ok. So, that is what has happened here in this figure the mobile node was initially in this network right. So, the mobile node from network 2 is visiting network 1 ok. So, what happens here when the mobile node is visiting from network 2 to network 1 what changes IP address has to change some notion of IP address has to change it is like my taking my desktop out of this building taking it to some other building and plugging it into their subnet correct. So, totally two different subnets. So, something is got to change in order for the communication to continue to function right. So, what will change? So, what is the original IP address which this mobile will have will have the IP address of this GGSN correct. So, because it belong to this network it was originally connected from here. So, it got a IP address through this GGSN and it started talking to this host ok. So, now from here it moved on to this network what is the first thing that will happen. So, the first thing that has to happen is that the GGSN of the old one has to be informed that I am now in the new network. What is happening here this node has moved from here to here right whom do I talk to as soon as I come into the new network who is the first guy I talk to this BTS, this BSC, this SGSN ok. The moment I hit an SGSN, SGSN is equivalent to an MSC ok. So, the moment I hit this MSC this guy can help me none of these guys can help me because they do not do any IP address assignment nothing ok. So, this MSC I can notify this MSC that hey look I am coming from this network this was my IP address in that network and I have an ongoing data transfer. The moment I inform this MSC that I have an ongoing data transfer this guy can route to the other GGSN saying that such and such node which was there in your network has now arrived to my network. So, two things can happen in one case the data transfer can simply go like this both ways there is no problem it will work. So, you continue to have your old IP address this SGSN will take care of all the you know mapping issues it will forward it to the correct GGSN. So, as far as this GGSN is concerned it does not matter whether the data packet came from here or whether the data packet came from there ok. So, it will just continue to function along this mechanism ok that is one possibility. The other possibility now is now if these are far apart then what you want to do is you want to take a shortcut right. So, at that point this SGSN will also contact the GGSN of the new network get a temporary IP address for this network and then maintain the mapping ok. See again there is a lot of history CDMA does not have to deal with so much of historical baggage right. So, now even in this if you get a free slate design you can always do something very efficient very effective all those things are possible. Now, this design has happened keeping in mind that there are millions of dollars of GSM equipment which have been deployed ok. There are already millions of subscribers given all that. So, under those constraints you have to come up with the design with minimum additional cost you have to move from circuit switching to packet switching. So, that is why this is beautiful ok. If you forget if you throw away GSM you throw away GPRS you can do something like Ymax you know which is something totally which is very similar to GPRS in functionality, but which is able to do a clean slate design right ok. So, if you look at the GPRS stack so, the MA at the application layer you are talking from the mobile node to the GSM right. So, that is a conversation that is happening at the application level, but it has to come down the stack here go to the phi and then it has to cross this and then it has to come up go down and so on ok. So, that is the actual physical path which your data is going to take right. So, what happens in GPRS is it has two additional layers one is a LLC layer logical link control and another is called the RLC layer radio link control ok. So, the radio link control actually deals with packets at this level while the logical link control deals with packets at this level ok. So, what this means is at this level the radio link control has layer does the retransmission. So, I have a big packet that comes from here let us say this is the application packet that I need to send right at this level it is broken up into small small packets at the logical link control right each of the LLC packets may again be broken up into further smaller RLC packets. These packets are transmitted and here there is a ARQ mechanism is in place again here at the LLC level where I need to make sure that there are the whole entire packet has been received ok. So, here I am going to receive the small packet at the small packet level I have ARQ again at the LLC at the large packet level I have ARQ ok. So, here also I have an ARQ mechanism in order to handle packet data. So, ARQ mechanisms for packet data is basically a retransmission mechanism ARQ mechanism for packet data there are two mechanisms one is at the RLC layer and the other is at the LLC layer ok. What is the ARQ mechanism to be used? There are two different layers right stop and wait selective retransmit go back and which one? So, at the RLC layer I am going to say stop and wait right at the LLC layer I am going to say selective retransmit. At the LLC layer if you have got one packet which has come through you do not want to do any go back and right you just want to say send me that one packet which I did not get. So, that is why you are doing selective retransmit at the LLC layer ok. How does GPRS carry SMS in data channels? Actually that is it is quite what do you say not very relevant these days I mean it was very relevant up to about few years ago. So, GSM what happens is GSM carries SMS in signaling channels ok. What are the signaling channels? The dedicated control channel the associated control channel those are your signaling channels right. So, in GPRS since everything since it knows how to handle data GSM was forced to do that because it did not know how to piggyback it on the voice channel basically that is all. So, GPRS knows how to handle data. So, it just carries it as part of the normal data itself ok. See GSM some times you may find that you know because if there are too many SMS's in a system it can block your calls. Do you know that? If there are too many people trying to send SMS's at the same time it can block your call because all the control channels are flooded with SMS. If all the control channels are flooded with SMS somebody wants to make a call is not able to get a dedicated control channel right. So, sometimes that can happen. In fact, I think people have done studies on what is the upper bound on the number of SMS's that can flow and so on. SGSN is the MSE ok. Just think of the SGSN as a packet enabled MSE. So, everything that the MSE does the SGSN also has to do. MSE knows only how to handle voice that is all. See I just take the MSE I had one more small box beside it which knows how to handle packets I put both of these things in a bigger box I call it SGSN right that is it. Because MSE is the protocols that the MSE knows are meant for handling voice right. The MSE for example, does not know that I should contact another GGSN and ask for a temporary IP address that is all. See the you do not want to deal too many different entities in your system right. So, GPRS is not only for data GPRS is meant for carrying voice as well as data ok. So, when I am doing a voice call my SGSN will behave exactly like an MSE ok. When I am doing a data that is when the SGSN will not behave like a normal MSE, but it will do the additional functionality of you know trying to check is there an IP address get the IP address route the data packet. So, it is just for convenience that you put both the boxes into one box ok. So, the question is is there any limit on the number of IP addresses temporary IP addresses that the GGSN can assign. So, it is similar to what an ISP does ok. So, that is why there is this notion of PDP context. So, the IP address is not assigned to you for life it is assigned to you for a certain duration of time. So, the PDP context will say that you have this IP address for so much amount of time right. So, after a certain amount of time. So, the GPRS node. So, I had actually intended to skip all these things. So, the GPRS handset has 3 modes of operation one is the idle mode one is a ready mode and one is the active mode ok. So, when it is in the idle state it does not have any PDP context associated with it at all right. So, it does not have any IP address nothing. So, once an IP address is assigned and let us say it does a data transfer. So, it becomes active and then it goes back into what is called the standby mode. So, when it is in the standby mode it does not again the PDP context becomes deactivated ok. So, that IP address becomes available for other nodes. When this node again starts another transfer it may get a different IP address. It is just like at home when you switch on your machine and connect to your ISP you will get one IP address. When you switch it off and switch it on again you need not get the same IP address again you may get a different IP address. So, the same mechanism holds except that you do not have to switch off the GPRS handset. Even if the handset is on, but there is no data transfer that is ongoing this mechanism can happen ok. Let us take a 1 minute break