Wednesday, April 30, 2008

open-cgf release 0.1

Well open-cgf doesn't get much attention, which is not that surprising given it's limited market appeal - you really have to own an SGSN or GGSN.

For those that are interested I have created a release tarball v0.1, which you can download from here.

Comments welcome. I need users who can run it against their hardware and report faults (and/or success!).

Wednesday, April 23, 2008

Hosting close to your customers

In pre-industrial times, flour mills were placed close to the points of wheat production and consumption. It was hard and expensive to transport the wheat and resulting flour too far. The technology was hard, but not impossible, to replicate.

In industrial revolution times, factories were placed close to the point of raw material sourcing, canning factories beside farms, since transportation wasn't fast enough to transport the material before it went bad. However once processed it could be sent to warehouses anywhere, using economic shipping methods, for later distribution.

Skipping forward, now we're in Web 2.0 land. Our customers are everywhere, but really we will have geographical hotspots. At least if I split the world into broad geographical areas you'll probably have North American, Asia, and European customers (these being the general areas of Internet user concentration presently).

Connectivity


See this map?


See all those cables in the Northern Hemisphere? Abundant connectivity, short direct routes.

So why would you host content that required traffic to route all the way to, for example, New Zealand? Isn't this the equivalent of shipping logs to Japan for processing into paper, something that is possible but inefficient? Akamai know this, and have provided simple content hosting for yonks.

Fast international connectivity is useful to provide access for a broad base of consumers and to provide content providers a way to distribute their content. However I posit that distributing the content means to get it from the point of production to servers close to the point of consumption. It does not mean you need to host it in the content producer's back yard.

If I had content application with a worldwide focus, then I'd host my test and pre-deployment servers next to my company; but the production servers would be designed to be geographically distributed and my first one would be in the USA. The reason is that the USA gets free international bandwidth (pdf) and this flows into hosting deals you simply can't say no to. 2TB a month for US$29 in my case.

Once the US base, with cheap reliable hosting, was covered I would then target the geographical hotspots. The reason for doing this is not cost since the cost is likely to be higher, but latency.

Latency


Latency hurts Web 2.0 content. We have moved beyond simple pages with a few graphics. Applications now have many many server to client roundtrips, a lot of them sequential.

With a simple page loading some images that allows a browser to use multiple parallel connections and pipelining will get content served very quickly.

A SaaS application that uses multiple XML request/responses, for example a search-as-you-type application, can not use any of these. Latency becomes very noticable.

A local example, from my home computer, gives about ~2oms latency to local content. US content is ~200ms. Ten times slower. Human perception of delays starts kicking in at under 400ms (cf. telephony G.114 standard), and at 200ms per roundtrip without any server processing delay that will be exceeded very quickly.

The result is that a locally hosted SaaS application will "pop" onto your screen and should seem as responsive as a thick client. A distantly hosted application will have noticable (and inconsistent: jitter) delays. Your customers will notice this and regard your product as inferior.

Faster Pipes and Servers Don't Matter

Laying more fibre to your centralised data centre will not solve the latency issue. There are some limited benefits you can obtain by organising more direct peering into other hot spots, but there are things as fundamental as the speed of electrons/light working against it. You can't control the rest of the internet routing.

Faster servers can reduce the latency due to processing the request, but these delays are independent of the geographic location of the user and therefore should already be addressed by local performance testing.

What is next?

PaaS providers, like Google, will probably do geographic hosting automatically for you. I've not had a chance to look closer at App Engine yet, but it is rumoured to auto-spread the load through the cloud. Auto-spreading across geography is the next logical step.

Saturday, April 19, 2008

Emails from the closet

I was pretty amazed, and then horrified, by the recent recovery of an Infocomm shared drive backup.

Very interesting reading, especially if you played any of the Infocoom games (Zork, HHGTTG etc). However I know I wouldn't want my corporate emails dug up and displayed nearly 20 years after the event. This is not because they are machiavellian and/or nasty, but just because what I said in private to one person 20 years ago was meant to stay, well, private and 20 years ago.

The original author's have turned up in the comments and are unimpressed.

This sort of stuff is far more dangerous than newsgroup ranting/posting, embarrassing facebook photos, or weird blog postings from your emo/goth/etc phase. That stuff you intended to be public, even if you didn't intend it to be public, backed up, and then displayed as a corporate screensaver 20 years later.

PS No, not that closet. The orange one on the left.
Edit: "not" added. FFS.

Monday, February 18, 2008

Latest Project: open-cgf - a Charging Gateway Function

This post is heavily 3GPP GPRS core network focussed. You may want to stop reading now.

I was annoyed that it is impossible to even test the CDR logging of GGSN/SGSNs without having a very expensive Charging Gateway Function server in your network. They are all expensive and yet all I wanted was something to terminate the stream of CDRs and write them to disk.

The protocol they use is GTP' (gtp prime), a bastardised version of the GPRS Tunnelling Protocol (GTP) in use between the RNCs, SGSNs and GGSNs. I use the bastardised in italics with good cause; it has all the hallmarks of a "I'll have a hack at it" protocol design, with multiple fixups and legacy mistakes. More later on that, perhaps, if I feel the need to vent.

Anyway, if you need a CGF to log your CDRs to disk, check out open-cgf. It is feature complete and implements all the functionality (up to Release 8) of a CGF. There are a few minor bugs and feature enhancements outstanding that I'm getting to slowly.

It needs some integration testing, and I need to exercise it with a better test framework, but it has served it's purpose as a small project that I can get to completion stage. I'm on call for support, just raise an issue on the site.

It is currently being tested by a 3rd party against a Cisco ITP. Who knew they could log CDRs. Not me, but when in SMSC-bypass mode they can, and must, log them. Via GTP'.

Next stop is the return to the parsing of ASN.1 CDRs, and opencdf, a similar type of server for IMS networks -- this time carried over Diameter.

Saturday, December 15, 2007

NZ Passports now the worlds most expensive?

Finally someone noticed and wrote in the MSM about the Kiwi passport ripoff.

I'm surprised that there are 14,000 fewer passport renewals this year since travel must be on the increase, although I'm not sure if they're considering people who beat the new system and thereby possibly caused a peak last year. I got my 10 year passport just in time, although my son has a nice new 5 year one. Getting a 10 year passport expiry date will be moot however if the US starts to mandate only RFID'd passports for entry though, as they did for machine-readable ones. Only a matter of time I suspect.

The bare fact is that the price of passports quadrupled, since they halved the lifetime of the password while doubling the price. No other country felt the need to quadruple the price to pay for this technology either.

I can actually agree with the concept of refreshing passport technology for security reasons but what they fail to realise is that a passport effectively has a lifetime less than it's expiry date -- most countries want at least 6 months, and thats 6 months past the length of your intended stay. So you're left with a passport that works for ~4 years, minus the time you get it in advance of your first trip on it. What a bloody hassle.

While I'm ranting about the price of these passports, I also have to add that they're rigid and don't feel like they'll take a lot of riding in back pockets. My old one has come out U-shaped on occasion from that. Considering this is one document you like to keep with you (in some countries) they've gone from something that is reasonably robust -- it attracts interest but still works if you soak it in water -- to something that feels like it will break quite easily. Apparently a working RFID chip isn't required for entry as faults are normal and expected; I would assume that you'll get more scrutiny if it does fail though otherwise certain people would just microwave theirs.

Wednesday, December 5, 2007

Eureka Clothing, part 2


As posted last, Eureka Clothing, a Wellington-based boys clothing company. They just opened a shop in Vivian Street, and my wife got a chance to visit them last week during their opening celebrations.

I have returned from France to find my two boys clad in a lot of hardwearing Eureka gear. It is good stuff, and the addition of the repair kit really rounds out their story.

I wish them every success.

Wednesday, November 14, 2007

Holding people to account



I've recently been thinking of the concept of patronage and satire. The Romans had it right; we should have a crowd of satirists around that we can hire to make fun of individuals in cartoon, verse, or in some other form. It should be their job to make fun of people, they should compete to do it best. My old flatmate Stephen Jenkins introduced me to Catullus a long time ago, he certainly had a way with words. I'm sure a Web 2.0 version of this system would be a hit :-)

There has been a general culture of shirking of responsibility in New Zealand over the past years; "I didn't know", "I don't remember that conversation", and other weak responses are in use from the top of society to the bottom. They are not excuses.

Those at the bottom of society are pretty well held to account for their actions, except when excused on the grounds that society made them do it. I can never see this as an excuse; mitigation for small acts perhaps but we of free will and always make decisions and we should have to live with the consequence of those decisions.

I am more annoyed to see the lack of accountability at the top end of our society. Our figureheads should be more accountable than the average bean, but it seems our politicians (HC, DBP, Trev), bureaucrats (Mr Logan) and some of our business people (Fay/Richwhite) are getting away with a continuous series of responses that would be ignored or ridiculed if any person in the street said them.

I'm thinking that the best way to hold these powerful and sometimes untouchable people to account is to make fun of them. It holds them in the public eye where they feel most uncomfortable, shows our contempt, and is amusing to boot. I still remember the foldup Muldoon poster my brother had from the Christchurch Magic Shop; I don't see anything of that ilk any more. Except perhaps the self-produced Helen Clark poster...

Anyway, who's with me on increasing the satirical content in New Zealand? It should be a NCEA-endorsed career choice...