This essay does not describe an existing computer program, just one that should exist. This essay is about a suggested student project in Java programming. This essay gives a rough overview of how it might work. I have no source, object, specifications, file layouts or anything else useful to implementing this project. Everything I have prepared to help you is right here.
This project outline is not like the artificial, tidy little problems you are spoon-fed in school, when all the facts you need are included, nothing extraneous is mentioned, the answer is fully specified, along with hints to nudge you toward a single expected canonical solution. This project is much more like the real world of messy problems where it is up to you to fully the define the end point, or a series of ever more difficult versions of this project, and research the information yourself to solve them.
Everything I have to say to help you with this project is written below. I am not prepared to help you implement it; or give you any additional materials. I have too many other projects of my own.
Though I am a programmer by profession, I don’t do people’s homework for them. That just robs them of an education.
You have my full permission to implement this project in any way you please and to keep all the profits from your endeavour.
Please do not email me about this project without reading the disclaimer above.
This is an unusual project is that it requires more the skills of a salesman than a programmer. In fact, you could complete it successfully without any programming skills at all.
Consider the Java glossary. At the top of a each page is a Google search button (that green, red, yellow and blue jigsaw) that will search for more information about the page’s topic. The links all point into google.com even if the visitor is from France or Canada. Ideally the links should be localised to jump directly to the Google server for that visitor. The pages are currently statically generated, but if they were dynamically generated with JSP (Java Server Pages), this might be possible.
My solution has four parts:
Each of the four parts is useful in its own right. (1), (2) and (4) are primarily lobbying. Studying DNS to see precisely how the extension would be implemented would help. The features may already exist, but lie largely unused. Modifying BIND to support it on a demo network would help convince people the change was not that disruptive. You have to design it so that all still works with non-compliant routers and servers. (3) is a fairly simple programming project that requires no political finagling. It is mainly a matter of maintaining the tables of all the servers.
I think the way to approach this would be to sell the idea to a few people in various international companies such as Google, then have them lobby for the changes to DNS
You may have to get a job at a company with international servers, then seed the idea. You probably will not get far persuading on the grounds of halving acceses time or halving number of transactions that need to be processed. Most people say think to themselves. It is good enough now. Don’t change anything. It might break. There are more important priorities. You will have to sell the idea on increased reliability. Even if hackers take down the centrol server, the international network keeps on chugging.
This same idea, of putting more intelligent by-country routing out onto the net could have other applications such as load balancing. If you are going to go to all the work of modifying DNS, perhaps you need to think about other ways of distributing intelligent routing decisions to more directly route messages.
I have been told people are already using DNS to direct requests to the nearest server, and to do load balancing tricks. Oddly though, Google does not appear to use them. Similarly many sites with mirrors make you manually select the mirror. So there may still be merit is localising links to multiple servers in your JSP apps.
This page is posted
Optional Replicator mirror
|no blog for this page||Canadian
Your face IP:[220.127.116.11]
You are visitor number|