I sat in on that presentation (and am on the NANOG mailing list). I agree that it *can* work, but you can't rely on simple geographic diversity for route stability with a platform the size of Akamai's. Not enough knobs to twist when things break (although it seems to be working great for CacheFly).
You can anycast DNS with UDP and the client never knows the difference since it's handled with BGP and IP. HTTP redirects would be much more difficult to do from a reliability and scalability standpoint. Also, when it fails, it would be much less graceful.
If HTTP was used instead of DNS, Akamai would have to have a redundant HTTP redirect cluster to manage the redirections. But you can't have one cluster, you need several for redundancy and speed, spread across the world. Also, you can't use anycast with TCP like you can with DNS, because it's TCP based, which means you lose load balancing and redundancy at the IP protocol layer.
DNS was and still somewhat is easier. No one really envisioned Google doing DNS and it taking off I think.
More info on my above point. If Akamai were to use HTTP instead of DNS for load balancing, complexity would increase in having to manage redirect clusters, as you couldn't anycast them over UDP like you can with DNS.
RFC 1546 - Host Anycasting Service
How UDP and TCP Use Anycasting
It is important to remember that anycasting is a stateless service.
An internetwork has no obligation to deliver two successive packets
sent to the same anycast address to the same host.
Because UDP is stateless and anycasting is a stateless service, UDP
can treat anycast addresses like regular IP addresses. A UDP
datagram sent to an anycast address is just like a unicast UDP
datagram from the perspective of UDP and its application. A UDP
datagram from an anycast address is like a datagram from a unicast
address. Furthermore, a datagram from an anycast address to an
anycast address can be treated by UDP as just like a unicast datagram
(although the application semantics of such a datagram are a bit
unclear).
TCP's use of anycasting is less straightforward because TCP is
stateful. It is hard to envision how one would maintain TCP state
with an anycast peer when two successive TCP segments sent to the
anycast peer might be delivered to completely different hosts.
The solution to this problem is to only permit anycast addresses as
the remote address of a TCP SYN segment (without the ACK bit set). A
TCP can then initiate a connection to an anycast address. When the
SYN-ACK is sent back by the host that received the anycast segment,
the initiating TCP should replace the anycast address of its peer,
with the address of the host returning the SYN-ACK. (The initiating
TCP can recognize the connection for which the SYN-ACK is destined by
treating the anycast address as a wildcard address, which matches any
incoming SYN-ACK segment with the correct destination port and
address and source port, provided the SYN-ACK's full address,
including source address, does not match another connection and the
sequence numbers in the SYN-ACK are correct.) This approach ensures
that a TCP, after receiving the SYN-ACK is always communicating with
only one host.
Most of Akamai's caching platform is based around DNS for location awareness. This is because DNS (in most cases) can be easily anycasted (since it's stateless when all done over UDP) vs trying to anycast tcp connections done with HTTP.
The problem is Akamai is using DNS to determine location, when it should be determining the geolocation of the client IP and throwing an HTTP redirect to the proper server. You can't rely on a client using the "proper" geographically-located DNS server.
This is exactly how Dropbox operates (4MB chunks are hashed and stored in Amazon S3, for deduping purposes), so it's not like it wouldn't be possible with PS3 horsepower.
This is why I'm partial to Toyota's "Synergy Drive." It seems like they put more thought into engineering the drivetrain, whereas Honda (who is *awesome* at building efficient, reliable engines) bolted an electric motor (dynamo) on as an afterthought.
I understand R&D is expensive, but Honda should just pony up and license the Toyota tech like GM and Nissan did.
Disclaimer: I own large amounts of both Toyota and Tesla Motors stock, so I'm biased.
Check on Amazon for a small solar panel with a car adapter on the end. Leave the solar planel on your dash during the day so it can trickle charge the battery.
If $70 is too much, they have smaller versions for $30-40. If that's not to your liking, and you have an outlet readily available near your vehicle at home, I'd suggest a battery tender mounted under the hood and a block heater in the engine, both strung together so you can use one extension cord to run them. They'll keep the engine warm *and* keep the battery charged. You can also find electrical blankets to wrap around the battery if you'd like to keep it warm as well.
I was looking at retrofitting Toyota's electric compressor on my 2008 Tundra, but at $900 (for the compressor alone), the retrofit is only for some use cases.
The heater in our Camry Hybrid and our Prius is from the engine coolant, while the AC is from an electric compressor so as to be able to run while the engine is off. My Tesla is electric for both heater and AC, and seems to get a respectable ~260 miles to a charge.
If the starter is sized properly, it doesn't burn out from frequent starts. Also, the engine wouldn't have enough time for the oil to sink back to the sump between stops and starts, so lubrication isn't an issue. Most hybrids handle it just fine (but then again, they use one of the electric motors as a starter to turn the crankshaft, such as MG1 in the Prius/Camry Hybrid/Highlander Hybrid).
Because it's viewed as more secure than network connectivity when it shouldn't be? Build a better heuristics scanner, and someone will build a more obscure/innocent-looking binary.
And the solution to less reproduction is to industrialize as fast as possible. First world women have *way* fewer children than third world women.
So, how do we industrialize the rest of the non-first world countries as quickly as possible while generating as little pollution and waste as possible?
What you want is for me (and almost everybody else) to abandon whatever reasons I used to choose my car and get a car that you think will be better for me, or actually, it won't be better for me, but maybe better for the environment. I guess that you also want me to pay for it too.
Even if gasoline and LPG are $10/gal (equivalent)? What is your breaking point when you say "Fark it, fuel is too expensive"?
To be fare, he didn't rape San Francisco of $80 million. He simply highlighted their incompetence.
I believe Google operates exclusively out of Ireland (wrt the EU) and the UK. They don't have any servers or offices in Italy that I'm aware of.
I sat in on that presentation (and am on the NANOG mailing list). I agree that it *can* work, but you can't rely on simple geographic diversity for route stability with a platform the size of Akamai's. Not enough knobs to twist when things break (although it seems to be working great for CacheFly).
Excellent presentation, btw.
Going to be at NANOG51?
You can anycast DNS with UDP and the client never knows the difference since it's handled with BGP and IP. HTTP redirects would be much more difficult to do from a reliability and scalability standpoint. Also, when it fails, it would be much less graceful.
If HTTP was used instead of DNS, Akamai would have to have a redundant HTTP redirect cluster to manage the redirections. But you can't have one cluster, you need several for redundancy and speed, spread across the world. Also, you can't use anycast with TCP like you can with DNS, because it's TCP based, which means you lose load balancing and redundancy at the IP protocol layer.
DNS was and still somewhat is easier. No one really envisioned Google doing DNS and it taking off I think.
More info on my above point. If Akamai were to use HTTP instead of DNS for load balancing, complexity would increase in having to manage redirect clusters, as you couldn't anycast them over UDP like you can with DNS.
RFC 1546 - Host Anycasting Service
How UDP and TCP Use Anycasting
It is important to remember that anycasting is a stateless service.
An internetwork has no obligation to deliver two successive packets
sent to the same anycast address to the same host.
Because UDP is stateless and anycasting is a stateless service, UDP
can treat anycast addresses like regular IP addresses. A UDP
datagram sent to an anycast address is just like a unicast UDP
datagram from the perspective of UDP and its application. A UDP
datagram from an anycast address is like a datagram from a unicast
address. Furthermore, a datagram from an anycast address to an
anycast address can be treated by UDP as just like a unicast datagram
(although the application semantics of such a datagram are a bit
unclear).
TCP's use of anycasting is less straightforward because TCP is
stateful. It is hard to envision how one would maintain TCP state
with an anycast peer when two successive TCP segments sent to the
anycast peer might be delivered to completely different hosts.
The solution to this problem is to only permit anycast addresses as
the remote address of a TCP SYN segment (without the ACK bit set). A
TCP can then initiate a connection to an anycast address. When the
SYN-ACK is sent back by the host that received the anycast segment,
the initiating TCP should replace the anycast address of its peer,
with the address of the host returning the SYN-ACK. (The initiating
TCP can recognize the connection for which the SYN-ACK is destined by
treating the anycast address as a wildcard address, which matches any
incoming SYN-ACK segment with the correct destination port and
address and source port, provided the SYN-ACK's full address,
including source address, does not match another connection and the
sequence numbers in the SYN-ACK are correct.) This approach ensures
that a TCP, after receiving the SYN-ACK is always communicating with
only one host.
Emphasis mine.
Most of Akamai's caching platform is based around DNS for location awareness. This is because DNS (in most cases) can be easily anycasted (since it's stateless when all done over UDP) vs trying to anycast tcp connections done with HTTP.
The problem is Akamai is using DNS to determine location, when it should be determining the geolocation of the client IP and throwing an HTTP redirect to the proper server. You can't rely on a client using the "proper" geographically-located DNS server.
This is exactly how Dropbox operates (4MB chunks are hashed and stored in Amazon S3, for deduping purposes), so it's not like it wouldn't be possible with PS3 horsepower.
Give me enough EC2 cycles (or donated, via BOINC), and you can find those collisions. It just takes some time.
This is why I'm partial to Toyota's "Synergy Drive." It seems like they put more thought into engineering the drivetrain, whereas Honda (who is *awesome* at building efficient, reliable engines) bolted an electric motor (dynamo) on as an afterthought.
I understand R&D is expensive, but Honda should just pony up and license the Toyota tech like GM and Nissan did.
Disclaimer: I own large amounts of both Toyota and Tesla Motors stock, so I'm biased.
As long as the oil pump is electric, and not belt driven, this should pose no problem as you can maintain oil pressure without the engine running.
Odd. We have a 2008 Camry Hybrid and a 2010 Prius, and both shutdown the engine in the cold.
Check on Amazon for a small solar panel with a car adapter on the end. Leave the solar planel on your dash during the day so it can trickle charge the battery.
Hell, I'll do the work for you:
http://www.amazon.com/Sunforce-50032-Solar-Battery-Charger/dp/B0006JO0X8/ref=sr_1_3?ie=UTF8&qid=1293506933&sr=8-3
If $70 is too much, they have smaller versions for $30-40. If that's not to your liking, and you have an outlet readily available near your vehicle at home, I'd suggest a battery tender mounted under the hood and a block heater in the engine, both strung together so you can use one extension cord to run them. They'll keep the engine warm *and* keep the battery charged. You can also find electrical blankets to wrap around the battery if you'd like to keep it warm as well.
I was looking at retrofitting Toyota's electric compressor on my 2008 Tundra, but at $900 (for the compressor alone), the retrofit is only for some use cases.
Correct. The smaller electric motor, MG1, serves as the starter in the Toyota hybrid systems.
Also, I agree. Belts fucking suck.
The heater in our Camry Hybrid and our Prius is from the engine coolant, while the AC is from an electric compressor so as to be able to run while the engine is off. My Tesla is electric for both heater and AC, and seems to get a respectable ~260 miles to a charge.
If the starter is sized properly, it doesn't burn out from frequent starts. Also, the engine wouldn't have enough time for the oil to sink back to the sump between stops and starts, so lubrication isn't an issue. Most hybrids handle it just fine (but then again, they use one of the electric motors as a starter to turn the crankshaft, such as MG1 in the Prius/Camry Hybrid/Highlander Hybrid).
It will be a cold, cold day in hell before I buy anything other than a) a toyota, b) a honda, or c) a Tesla.
Fool me once and all that.
(Fark you American car companies, you had your chance)
*sigh* More intelligent use of the radio frequency spectrum.
Damn pedantics =)
More intelligent use of the spectrum is the solution, not light.
Because it's viewed as more secure than network connectivity when it shouldn't be? Build a better heuristics scanner, and someone will build a more obscure/innocent-looking binary.
Apparently, the "virus" was not spread via network connectivity, but via payloads that piggybacked on removable media (USB sticks).
And the solution to less reproduction is to industrialize as fast as possible. First world women have *way* fewer children than third world women.
So, how do we industrialize the rest of the non-first world countries as quickly as possible while generating as little pollution and waste as possible?
What you want is for me (and almost everybody else) to abandon whatever reasons I used to choose my car and get a car that you think will be better for me, or actually, it won't be better for me, but maybe better for the environment. I guess that you also want me to pay for it too.
Even if gasoline and LPG are $10/gal (equivalent)? What is your breaking point when you say "Fark it, fuel is too expensive"?