Thursday, March 31, 2011

IPX and GRX

IPX : Don't worry it is not the old IPX LAN protocol we all dreaded about, IPX is a GSMA standard for interconnecting mobile operators ( MNO). GRX was predecessor for IPX and the big difference between IPX and GRX is that GRX let only MNO to be interconnected. IPX extends this to interconnect ASP and Content providers as well. As part of this they have introduced QOS and provided guidelines as what to expect in terms of latency between endpoints.  

SO what is IPX technically for people who understand IP network ?, it is nothing more than a private IP network. It could be either a MPLS VPN from a carrier or an organizations own optical network with specific QOS and Latency requirements.

There are few IPX network operators, some of them are Syniverse, BIC's , Acision etc...

One other important restriction in IPX in it is not allowed for more than two IPX operator to daisy chain, in other words only operators having customers could connect and there cant be transit IPX providers.

reason for establishing GRX and IPX was mainly to reduce the N^2 connectivity issue between operators when they roam.


More information on IPX:

http://www.gsmworld.com/our-work/programmes-and-initiatives/ip-networking/ip_exchange.htm

GSLB and JVM

GSLB ( Global Server Load Balancer) uses DNS to load balance traffic to multiple Data centers.  One of the issue when the clients are Servers that are running Java is DNS caching. Below is an extract from Sun ( oracle ) site explaining the restriction and how to fix it.

example where one could expect the clients to be servers than web browser is when the provider is offering APIs. EX: Payment Gateways, billing are some examples ...



JVM and DNS Cache
JVM ( Java Virtual Machine) caches DNS entries both for successful and unsuccessful lookups for security and performance reasons. These parameters are part of JVM properties as below
Ref: http://download.oracle.com/javase/1.5.0/docs/guide/net/properties.html

Specified in java.security to indicate the caching policy for successful name lookups from the name service.. The value is specified as as integer to indicate the number of seconds to cache the successful lookup. A value of -1 indicates "cache forever".

Specified in java.security to indicate the caching policy for un-successful name lookups from the name service.. The value is specified as as integer to indicate the number of seconds to cache the failure for un-successful lookups. A value of 0 indicates "never cache". A value of -1 indicates "cache forever".

There are two different ways to overcome DNS caching in JVM
1.       Changing the networkaddress cache property under <JAVA_HOME>/jre/lib/security/java.security.
a.        This will change the behavior for all the java applications that uses that JVM
2.       Set the security property per application using code as follows
java.security.Security.setProperty ("networkaddress.cache.ttl" , "0");
a.       This will change the DNS caching behavior only for the application that is setting this parameter unlike the previous one which affects all applications that is using that specific JVM

LTE - high level architecture


Above is a simplified view of LTE architecture to get started. For people familiar with  GPRS technology below is the parallelism just for understanding. As expected LTE is much advanced and supports lot more functionalities
LTE                                                              GPRS/UMTS
SGW( Service Gateway)                      SGSN
PDN                                                    GGSN
EPS                                                      PDP
nodeB                                                  enodeB

LTE uses GTP-V2 for control protocol and GTP-V1 for User plane. As for as GTP-I is concerned it is of REV8. Rev 8 is the basic release from GSM that most of the operators are adhering to.