Roaming Communication Model - Explained

Roaming Communication Model - Explained

Now let us understand how using the proxy, the problem of roaming communication is solved.

As you can see in cell A , X wants to speak to Y which has a cell number 9999999999.

In this case cell is the address space boundary.

While both are in the same cell if X wants to speaks to Y , X dials Y’s number and the communication works out.

Now the moment Y moves from cell A which is his local network to cell B which is the foreign network, a remote proxy gets created within the local network.

What should be the properties of this Remote Proxies?

It should have the same interface as that of the hiding object and it should know the fully qualified address of the hiding object.

So in this case the generated proxy object has the same number ie 999999999999 and can intercept the call and respond to any communication which was meant for B who is not present in the same cell. So the first prerequisite is satisfied but how about the second prerequisite that the proxy should keep a reference to the fully qualified address.

Figure- Figure

But how does the generated proxy get a reference to the fully qualified address because B keeps changing his position continuously and hence it in nearly impossible to know about the fully qualified address.

So how is this problem solved ?

As you can notice in the previous figure.

As and when B keeps entering into different cells or address spaces he keeps on binding his latest fully qualified address along with his number in a Naming Service like repository.

Note - Naming service is a repository for storing key value pairs wherein the keys are unique. Clients can query the naming service for a key and get the corresponding value. The DNS Server of your internet infrastructure is an excellent example of a Naming Server where in the key is the “URL” and the value is the IP Address.

Also there are lots of Naming Servers arranged in a hierarchical manner interconnected with each other. Several groups of cells are associated with a Naming Server.

So while A makes a call to B, and B is not there in the same cell or address space, the call will be intercepted by the Generated Proxy B which will now do a lookup on the local Naming Server N1 for a key 99999999999. If the N1 can find a value for this key its Ok, else the request keeps on getting propagated along the chain of Naming Servers.

Figure- Figure

If it is able to find the value ie the fully qualified address , then the Proxy gets a reference of the fully qualified address of the latest location of B and then proxy instantiates a connection and the communication happens.

If it is not able to find the fully qualified address, then the Proxy play message that the “Cell Phone your trying to reach is not available”.

Hemant Jha
Founder - VPlanSolutions
Researcher, Trainer