 Hi, welcome back. I am Saurav Srivastava. I am a PhD scholar at IIT Kanpur. This is a lecture. It is actually a two-part lecture on location management. We have already had a lecture on identity management. In this part, we will have a look at the devices and techniques that are used in location management. In the next part, we will have a look at how identity of an entity can actually be mapped in some cases to its location. So, let us start. So, we start with a brief recap of what we did in the identity management lecture. So, in short, consider systems to be computers we interact with in routine life. And we gave examples of mobile service providers and we took examples of the email service provider. We took examples of railways, the IRCTC. So, entities are those which interacts with systems. So, basically human beings, devices, these are all entities. And the systems are like servers and telephone exchanges. These are servers. We saw some examples. We discussed some very specific way in which systems recognize people. So, this is what we did in the previous lecture. So, now we come on entity's location information. So, in some cases, identifying an entity may be enough. So, for example, the IRCTC does not really care if you are booking your ticket from, say, Kanpur or Beijing, right, because all they need to know is who is booking the ticket. And as long as you are logged in, they really do not care where from you are booking your ticket. In some cases, knowing the location may not really be necessary for the operation of the system, but it may actually be useful. For example, an e-commerce website, well, they can show the currency of their items either in, you know, US dollars by default or they can choose to change the currency with respect to the location of the user. So, for example, if you are logging in from India, they can probably show currencies in rupees whereas, you know, US dollars otherwise. In some other cases, the location of the entity is actually at most essential for the system to work. You know, for example, you build a system which alerts ambulances to go to the location of accidents. In that cases, you know, knowing the location of the entity is extremely important. How else will the ambulance be directed? Not just this, basically, you can also use a location of an entity to figure out, you know, what time you have to show. For example, the server time may be, say, in GMT, but you want to show the time to the user in ISD if the user is from India. You can also apply geographic restriction on content. You may have seen the message unavailable content on YouTube a number of times, right, because that particular video is not available for your geographic location. So, this kind of filtering can also be done if you actually are aware of the user's location. The location information we saw in the identity management lectures, that this can actually be used for figuring out some kind of malicious activity, also, right. We talked about how if a person is logging in from Kanpur every day, you know, the same person logs in from Beijing, all of a sudden, then the system can get suspicious of this and, you know, they can probably take some further actions trying to figure out what is happening. Then there are some services which are actually based on location itself. You know, for example, the map services and the navigation apps. These are services which actually require your location. They are actually built on the phenomena that your location is available to the system. Then there are apps which can give you alerts of traffic, you know, where traffic is there. You know, you do not go via those routes where there is too much of traffic. Then there can be, you know, other applications like finding hotels, shopping malls that are just nearby your current location. So basically there are a number of ways in which the entity of a user can actually be used by a system. So we now know that entity of the user is actually something that the system may want. Sometimes the system may actually rely on it, but there has to be some ways by which these kind of information can actually be acquired by the system. So in this lecture what we will have a look is, look at is devices and techniques which can enable a system to figure out a particular entity's location. So that in order to report your location, a device must be capable of calculating and reporting its location, right? That's the fundamental thing. It must be able to report its location and there has to be some way by which the location can be computed locally on the device. Now location of wired devices is relatively easily known, you know, because the location of a computer for example connected to a LAN cable is relatively, you know, fixed with respect to the LAN socket to which the computer is connected. It is because wired devices cannot really be moved around, you know, beyond certain distances. So since the Ethernet sockets are generally non-moveable, a device connected to that will be fairly close to the socket, right? You can actually name devices on the basis of these restrictions, right? For example, you can call a computer to be the library computer or say workstation 10 in the ground floor lab. All these things are possible because the location of these systems are fairly restricted, you know, they cannot really move beyond a certain level. So of course, yeah, we are assuming that figuring out where the library is or where the ground floor lab is is significantly easier, right? So that is what we are assuming here. The problem becomes much more complex when the entity is free to move, okay? So basically the entity is actually a wireless device because wireless devices can actually move well anywhere, you know, they can be present anywhere. Figuring out their location is a little more tricky, okay? So we'll have a look at how these devices generally compute their location and send it to the servers. So the most common way is via GPS. So GPS-enabled mobile devices can calculate its location via GPS. GPS basically is a global positioning system. Any compatible entity can communicate with satellites and with the help of these satellites, the entity can actually figure out where it is right now on the earth. Some mobile devices also have a feature called AGPS which is called actually assisted GPS. So the reason that assisted GPS is actually a technique which is very common is because the initial computation required to fix the location of the device for the first time, you know, it is not very easy. It requires locking of satellites and, you know, solving some very cryptic equations. So the initial time, the first time when you try to get your location via GPS may actually increase even beyond 10 minutes, okay? So some mobile service providers assist the mobile devices in calculating their locations for the first time and this is mostly done via these data packets. You may have used GPRS for this stuff. So some mobile service providers provide assistance to mobile devices in order to be able to calculate their location. Now this was using satellites and, you know, with the help of a mobile service provider. The mobile service provider itself can calculate the location of a particular device via a technique called multilateration, okay? So multilateration is based on this phenomena. If a device is getting signals from more than three cell towers and it just records all the signals and send it to the mobile service provider, the mobile service provider can actually calculate the location of the mobile device based on the fact that the farther a cell tower is, the weaker would be its signal at the mobile device. So if I have, say, three or more devices, by the way, are minimum, you won't be able to fix the location in less than three cell tower locations. But yeah, if you've got three or more, then you can fix the position of a mobile device using something called triangulation. Basically, this involves solving some trigonometric equations and all that stuff, okay? So the next thing, we are going to have a look at some addresses, okay? So we actually considered the example of wired devices. We said that if a computer is, say, connected to a socket in library, we can tell its location with the help of that particular socket itself, right? So a device connected to the library socket is, say, a library device, right? But how do we know which socket is connecting to the network from the library, right? So there has to be some way to figure out what that particular socket is, okay? So each computer or, say, in our case, we are talking about sockets right now, they should be uniquely identifiable on the network, okay? So what if we all have some unique addresses with the help of which the system can actually identify a particular device? Again, we are talking about wired devices right now. So when we are saying, being able to identify a device, we are basically saying being able to identify a, say, LAN socket. So the address should act in some ways which is similar to what we called identity in our previous lecture, right? So human beings have identities, you know, with the help of the identity, you can be recognized. So now what we are talking about is identity for systems, okay? We now want to have identities for systems with the help of which devices can be identified on the network, okay? So we talked about systems-generated identities in the identity management lecture where we talked about username and password and OTPs. So we now need to find out something like this for a machine. Earlier it was a human being, now we need to find out identity for a machine. So we will just see how, in some cases, this identity can actually be mapped to device's location. Yes, in some cases, we can map the identity to location, okay? So we will discuss these things next. But before going doing that, we will discuss two types of addresses, okay? So these addresses are going to be the identities we are going to associate with the device and after discussing these addresses, we will have a look about how this can be mapped to a location, okay? So the first thing is we will talk about MAC addresses. So MAC addresses are something that are built in a particular device, okay? They are built in by the manufacturer of the device. So for example, if you are having a laptop, it may have a network interface card and that network interface card was built by some manufacturer, okay? That particular manufacturer encoded some information in the hardware itself. That particular information is the MAC address, okay? So the hardware comes with an address assigned to it by the manufacturer. This is called MAC address. The address is generally unique. Let me just point out that I do not think so there are any legal issues with it. So if a manufacturer actually sends out devices with duplicate MAC addresses, I do not think so there is any kind of legal obligations. But yeah, in general you will find all the MAC addresses to be unique. The problem though is that even though by convention at the hardware level, it is unique, it can be easily spoofed at the software level. This is the problem. So even if the manufacturer is good, even if the manufacturer is actually producing devices which are having unique MAC addresses, it can actually be spoofed at the software level. So well anyhow, nevertheless on a network, the chances that two devices will have the same MAC address is generally low and thus we can actually consider MAC address to be an identity of a device. Another more interesting address that we will talk about are the IP addresses, okay? So since MAC addresses are easily changeable while communicating, relying only on them may not really be a sensible idea. We are trying to identify a device and if it is possible that two devices can have the same identity, then well it may not be a good idea to just rely on them. So the network assigns every device that is connecting to it a unique address. Now this address is assigned by the system. So currently we are assuming that our system is the whole network, all the software, all the hardware, servers, everything, we are calling it as a system. So a particular device is connecting itself to the network means that it is now connecting itself to the system. This address is called IP address. Basically it is called internet protocol address. We will not go in detail of what internet protocol is, but just for the understanding IP addresses are unique. So if two or more devices acquire the same IP address on a network, well there will be an IP address conflict. Now we saw that it is possible that two devices can have the same MAC address. So similarly it is possible that at software level someone spoofed someone else's IP address, but the problem is that in such a case most probably all devices involved in the conflict, well sometimes the system may actually leave the first device to acquire that IP address, but it is possible that it actually punishes all of them who are trying to portray the same IP address. And so the system will actually kick them out and they will be rendered useless on the network. So this is a uniqueness about IP addresses that the system takes care of the fact that no two devices with the same IP address will be present on the network simultaneously. So this is the end to our first part. We will have a look at the second part of the lecture now. In that part what we will have a look at is how these identities can actually be mapped to locations. Thanks.