01:14 am - Infocartography (IP Borders, part 2)
Allocation of the first 25 Ambit| 2 | |
| 3 | |
| 4 | | UNITED STATES | 100.00% | | BERMUDA | 0.00% |
|
| 5 | |
| 6 | |
| 7 | | UNITED STATES | 100.00% | | ITALY | 0.00% |
|
| 8 | |
| 9 | | UNITED STATES | 99.80% | | UNITED KINGDOM | 0.20% |
|
| 11 | |
| 12 | | UNITED STATES | 99.97% | | CANADA | 0.00% | | PUERTO RICO | 0.01% | | INDIA | 0.00% | | BOLIVIA | 0.01% | | NETHERLANDS | 0.00% |
|
| 13 | |
| 14 | |
| 15 | | UNITED STATES | 99.37% | | UNITED KINGDOM | 0.17% | | GERMANY | 0.32% | | SWITZERLAND | 0.15% |
|
| 16 | |
| 17 | | UNITED STATES | 100.00% | | ITALY | 0.00% |
|
| 18 | |
| 19 | | UNITED STATES | 100.00% | | FRANCE | 0.00% | | ISRAEL | 0.00% |
|
| 20 | |
| 21 | | UNITED STATES | 100.00% | | ITALY | 0.00% | | SPAIN | 0.00% |
|
| 22 | |
| 23 | |
| 24 | | UNITED STATES | 60.76% | | CANADA | 15.32% | | NETHERLANDS | 0.39% | | CHILE | 0.20% | | BAHAMAS | 0.14% | | ARGENTINA | 0.39% | | DOMINICA | 0.00% |
|
| 25 | |
I continue in my mad scheme to
take over the world make a map of the interweb.
What constitutes a 'border' in IP space? Strictly speaking, the vast span of IP addresses (4 billion + ) is a single straight line. Two countries would be 'adjacent' only if they were immediately before or after one another in that line. Borders would also have no 'width,' because lines have no width.
That scenario is really, really boring from a computing standpoint, I wanted something more interesting. Since this project involves attempting to map a 1-dimensional object onto a 2-dimensional surface, artistic license comes into play rather heavily.
the names for the bytes of an IPv4 address
(which I just made up)
| 255 | . |
255 | . |
255 | . |
255 |
| Ambit | |
Windward | |
Dative | |
Squib |
| <--General |
Specific--> |
I decided that the Ambit, the first byte of the IP address, representing 18 million addresses, was a significant unit. This is balderdash of course. IP addresses are a continuous line, the Ambit is a completely arbitrary unit from a purely technical standpoint.
But from a human standpoint...? The Ambit block is clearly a significant unit. Whole Ambit are assigned to countries. Humans think of Ambit as the 'top' of the hierarchy, representing all the values 'below' them, as though the entire internet was a 16x16 grid which had been divided up.
but the 16x16 grid, laid onto a map, would create relationships that don't exist. (Block 1 would appear to be 'adjacent' to block 17, for example.) That won't do at all! Having decided the Ambit was a significant unit because of the human grid metaphor, I then abolished that metaphor. In fact- i went further and abolished the straight-line technical reality as well. Ambit 1 and Ambit 2 are no more related than Ambit 1 and Ambit 17 are.
Continuity is also a problem because the political unit "China" has its people broken up into chunks all over the spectrum up UP addresses (In more than 30 Ambit, IIRC.) In the final map, China will be a solid landmass just like it is in the real world-- mostly because I want the map to have some sort of identifiable relationship to the real world. So the real question is- what relationship does China, scattered in bits and pieces all around the Ambit, have to another country, also scattered in pieces?
Mitchell Resnik's book
Turtles, Termites, and Traffic Jams contained many examples of complex interactions of simple rules- he used computer simulations to study emergent behavior- large patterns that seem to emerge among lots of individuals.
One of his case-studies involved self-segregation of neighborhoods by race- the nutchell version is as follows: If each resident of a neighborhood wanted at least 30% of their neighbors to be the same 'type' as them, and moved when that need was not met, the eventual result was that 85% of their neighbors were the same type. (He used frogs and turtles on a pond for his example, it was much less inflammatory.)
I decided that each Ambit represented an apartment block. (with 18 million apartments, I know I know...) Some of those apartment block residents are members of the political entity called 'China.' Because others residents are members of 'Finland,' 'Belarus,' 'Italy' and 'Vatican City'- China has some association with those other political entities, weighted to how big the overlap is. If 3% of China 'lives' in Ambit 6 and 4% lives in Ambit 5, and Finlanders live in both those blocks, then 7% of China considers Finland a 'friendly associate.' (I might have weighted that to reflect how much of Finland lived there too... I forget.)
Basically, the distributed political entity called China has a relationship to 228 other nations or political entities. Some, who live in the same locales as its own citizens, it considers friendly acquaintances to one degree or another. Others are strangers- but it has an opinion about strangers too- it asked its friends what THEY thought about all the countries that it didn't know, and added up
their friendship scores (after all, the friend of my friend is a friend, right?) So South Georgia and the South Sandwich Islands are probably good people, all China's friends rave about them! On the other hand, their endorsement of Suriname was
lukewarm at best, maybe China won't trust Suriname...
Essentially, each country has a relationship to each other country, as a neighbor or a stranger, ans a degree (weighted for % of landmass and overall importance) to which they want to either be close to, or stay away from them. (That's 32,000+ plus weighted relationship effectors, if you were wondering.)
I'm going to people a map with countries like free-floating islands whose size and mass is determined by their overall 'footprint' on the IP landscape (I estimate ~143 Ambit's worth of IP space is actually 'in use' once you subtract block-allocations,) write some collision-detection, and I'm going to iterate through a couple hundred generations of those relationship effectors 'pulling' on the continents until they reach equilibrium. The entities 'closest' to one another will butt up together, the ones further apart will end up in opposite hemispheres.
Here's the first version of the map- with the continents distributed randomly. (A 'start state' for the simulation.) Actual final size of the 'islands' will change. (31% of the image area will be covered by islands, reflecting the ratio of surface area on Earth.)

Does it sound like I have a lot of work remaining? ...because I really don't. I already have those 32,000 relationship effects calculated. My setup script, with it's gloriously complicated object-oriented modules loads my original datafile of 72,000 IP assignments, makes several million interdependent Ambit-based relationship calculations about them, then loads 229 'countries' and 32,000 weighted effectors into the database my iteration script will use... in about 16 seconds.
See you next time with (hopefully) an image of how things smush together!
Current Mood: ![[mood icon]](http://p-stat.livejournal.com/img/mood/classic/smile.gif)
amused