<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>M2M Weblog &#187; Ping</title>
	<atom:link href="http://m2m-blog.de/tag/ping/feed/" rel="self" type="application/rss+xml" />
	<link>http://m2m-blog.de</link>
	<description>M2M, Telemetrie und Fernwirktechnik mit GPRS, EDGE, UMTS, HSPA, LTE ...</description>
	<lastBuildDate>Mon, 21 May 2012 16:13:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>M2M mit OpenVPN &#8211; Betrachtung von Overhead und Datenvolumen</title>
		<link>http://m2m-blog.de/2008/10/30/m2m-mit-openvpn-betrachtung-von-overhead-und-datenvolumen/</link>
		<comments>http://m2m-blog.de/2008/10/30/m2m-mit-openvpn-betrachtung-von-overhead-und-datenvolumen/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 12:07:59 +0000</pubDate>
		<dc:creator>michael</dc:creator>
				<category><![CDATA[Know-How]]></category>
		<category><![CDATA[Erreichbarkeit]]></category>
		<category><![CDATA[OpenVPN]]></category>
		<category><![CDATA[Ping]]></category>
		<category><![CDATA[Sicherheit]]></category>

		<guid isPermaLink="false">http://m2m-blog.de/?p=208</guid>
		<description><![CDATA[<p class="MsoNormal">Der Einsatz von <strong>VPNs</strong>(<a href="http://de.wikipedia.org/wiki/Virtual_Private_Network" target="_blank">Virtual Private Network</a>) erfreut sich steigender Beliebtheit bei M2M-Kommunikation.</p>
<p class="MsoNormal">Die <strong>Vorteile beim Einsatz eines VPN</strong> sind zahlreich, z.B.</p>
<ul>
<li>die <strong>Erreichbarkeit</strong> von über GPRS angebundenen Geräten („Provider-Firewall“)</li>
<li>die <strong>Kommunikationskosten können gesenkt werden</strong>, weil Internetanbindungen meist günstiger als Direktverbindungen sind (siehe auch: <a href="http://m2m-blog.de/2008/04/14/m2m-mit-openvpn-zum-ortstarif-um-die-ganze-welt/">M2M mit OpenVPN: </a></li>&#160;[...]</ul>]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal">Der Einsatz von <strong>VPNs</strong>(<a href="http://de.wikipedia.org/wiki/Virtual_Private_Network" target="_blank">Virtual Private Network</a>) erfreut sich steigender Beliebtheit bei M2M-Kommunikation.</p>
<p class="MsoNormal">Die <strong>Vorteile beim Einsatz eines VPN</strong> sind zahlreich, z.B.</p>
<ul>
<li>die <strong>Erreichbarkeit</strong> von über GPRS angebundenen Geräten („Provider-Firewall“)</li>
<li>die <strong>Kommunikationskosten können gesenkt werden</strong>, weil Internetanbindungen meist günstiger als Direktverbindungen sind (siehe auch: <a href="http://m2m-blog.de/2008/04/14/m2m-mit-openvpn-zum-ortstarif-um-die-ganze-welt/">M2M mit OpenVPN: Zum Ortstarif um die ganze Welt</a>)</li>
<li>die <strong>Vertraulichkeit</strong> der Daten wird gesichert: Schutz vor Manipulation, Aufzeichnung, Ausspähen, etc.</li>
<li>administrativ und logistisch ergeben sich durch die <strong>zusätzliche Authentifizierung</strong> der VPN-Teilnehmer neue Möglichkeiten</li>
<li><strong>Verringerung der Latenzzeiten</strong> bei Start einer Datenverbindung</li>
</ul>
<p class="MsoNormal">Dazu kommen <strong>spezielle</strong> <strong>Vorteile von <a href="http://de.wikipedia.org/wiki/Openvpn" target="_blank">OpenVPN</a></strong>:</p>
<blockquote><p>OpenVPN ist durch seine <strong>Flexibilität, Einfachheit und Robustheit</strong> geradezu ideal, um Ordnung in die Vielzahl von unterschiedlichen Anbindungsszenarien von Maschinen und deren Fernwartung zu bringen.</p></blockquote>
<blockquote><p>Im Gegensatz zu anderen VPN-Implementierungen setzt OpenVPN nicht auf eigene Protokolle auf und kann deshalb <strong>Verbindungen in Konstellationen erzeugen, in denen andere Implementierungen chancenlos sind</strong>.</p></blockquote>
<p class="MsoNormal">Wie jede Medaille hat auch der Einsatz von VPN zwei Seiten. Schon allein die Tatsache, dass man sich mit einer zusätzlichen Technologie befassen muss, stellt einen solchen Nachteil dar. Ein weiterer Nachteil von VPN ist, dass zusätzlicher Datenverkehr erzeugt wird. Dieser kann bei der M2M-Kommunikation für unerwartete und schwierig zu kalkulierende Kosten sorgen. Denn bei GPRS, EDGE und UMTS wird – im Gegensatz zu anderen Diensten – nicht nach Verbindungszeit sondern nach übertragenem Datenvolumen (Traffic) abgerechnet.</p>
<p class="MsoNormal">Im Folgenden soll der Overhead von OpenVPN betrachtet und eingeschätzt werden:</p>
<h3>Funktionsweise von OpenVPN</h3>
<p class="MsoNormal">Bei OpenVPN wird ein virtuelles Netzwerk erzeugt, indem der Client zunächst eine Datenverbindung zum Server herstellt und diese Verbindung aufrecht erhält. Durch diese Verbindung (auch Tunnel genannt) werden die eigentlichen Datenpakete gesendet. Die ursprünglichen Datenpakete müssen also in die Pakete eingebettet werden, die den Tunnel darstellen. Das bedeutet, dass insgesamt mehr Informationen übertragen werden müssen &#8211; ein zusätzlicher <a href="http://de.wikipedia.org/wiki/Overhead_(EDV)" target="_blank">Overhead</a> entsteht:</p>
<h3>Betrachtung des Overhead</h3>
<p>Dieser Overhead ist von Fall zu Fall unterschiedlich zu quantifizieren. Er hängt u.a. davon ab:</p>
<ul>
<li>wie das VPN konfiguriert ist und</li>
<li>welche Daten übertragen werden.</li>
</ul>
<p class="MsoNormal">OpenVPN kann Daten auf <a href="http://de.wikipedia.org/wiki/OSI-Modell" target="_blank">Level</a> 2 (<strong>Bridging</strong>) oder auf Level 3 (<strong>Routing</strong>) tunneln:</p>
<p class="MsoNormal">Beim Bridging werden die zu tunnelnden Daten in neue Ethernet-Pakete gepackt, beim Routing in neue IP-Pakete. Daher führt Bridging zu weniger Overhead, da für die neuen Ethernet-Pakete etwas weniger zusätzliche Informationen übertragen werden müssen als für die neuen IP-Pakete beim Routing.</p>
<p class="MsoNormal">Bridging erscheint somit im ersten Moment sehr attraktiv, zumal sich als zusätzlicher Vorteil die einfache Vergrößerung des Netzes ergibt. In der Praxis ist Bridging aus Sicht der Netzwerkplanung allerdings nicht einsetzbar, denn der administrative Aufwand im zentralen Netz zur Berücksichtigung der Teilnehmer des erweiterten Netzes steigt. Aus diesem Grund ist <strong>Routing </strong>in den meisten Fällen<strong> die bevorzugte Variante</strong>.</p>
<p class="MsoNormal">Tunnel mit Hilfe von <a href="http://de.wikipedia.org/wiki/Virtual_Private_Network" target="_blank">UDP</a>-Paketen erzeugen wiederum weniger Overhead, als Tunnel mit <a href="http://de.wikipedia.org/wiki/Transmission_Control_Protocol" target="_blank">TCP</a>-Paketen. Per Default wird eine <strong>UDP-Verbindung bevorzugt</strong>. Dies ist nicht nur im geringeren Overhead begründet, sondern auch darin, dass die <a href="http://de.wikipedia.org/wiki/Latenzzeit" target="_blank">Latenzzeiten</a> bei einem UDP-Tunnel geringer sind, als bei einem TCP-Tunnel. OpenVPN muss bei beiden Tunnelarten dafür sorgen, dass die Pakete an der Gegenstelle wieder ordentlich ausgepackt und zusammengesetzt werden. Beim bereits verbindungsgesicherten TCP tritt damit unnötige Redundanz auf.</p>
<blockquote>
<p class="MsoNormal">TCP-Tunnel sollten nur eingesetzt werden, wenn sich UDP-Tunnel aus anderen Gründen, z.B. Firewall-Einstellungen nicht realisieren lassen.</p>
</blockquote>
<h3>Verschlüsselung der Daten vor der Übertragung</h3>
<p class="MsoNormal">Mit OpenVPN ist es möglich, die zu tunnelnden Daten vor der Übertragung zu verschlüsseln und damit zusätzlich zu sichern. Dies ergibt zusätzlichen Overhead.</p>
<p class="MsoNormal">Hier ein <strong>Beispiel</strong> für den entstehenden Overhead bei einem verschlüsselten UDP-Tunnel mit Default-Einstellung:</p>
<table style="height: 175px; width: 473px;" border="0">
<tbody>
<tr>
<td style="width: 30px;" scope="col"></td>
<td style="text-align: right; width: 70px;" scope="col">20 Byte</td>
<td style="width: 20px;" scope="col">:</td>
<td>zusätzlicher IP-Header</td>
</tr>
<tr>
<td></td>
<td style="text-align: right;">8 Byte</td>
<td>:</td>
<td>zusätzlicher UDP-Header</td>
</tr>
<tr>
<td></td>
<td style="text-align: right;"></td>
<td></td>
<td>optionale Verschlüsselung:</td>
</tr>
<tr>
<td></td>
<td style="text-align: right;">20 Byte</td>
<td>:</td>
<td>HMAC-SHA1 Signatur</td>
</tr>
<tr>
<td></td>
<td style="text-align: right;">16 Byte</td>
<td>:</td>
<td>Initialisierungsvektor</td>
</tr>
<tr>
<td></td>
<td style="text-align: right;">4 Byte</td>
<td>:</td>
<td>Sequenznummer</td>
</tr>
<tr>
<td></td>
<td style="text-align: right;">1 Byte</td>
<td></td>
<td>Include Paket Tag</td>
</tr>
<tr>
<td></td>
<td colspan="3">——————————————————————</td>
</tr>
<tr>
<td></td>
<td style="text-align: right;">69 Byte</td>
<td>:</td>
<td>Gesamt</td>
</tr>
</tbody>
</table>
<p class="MsoNormal">Beim Tunneln von sehr kleinen Datenpaketen wiegt dieser Overhead schwerer als bei großen Datenpaketen. Da aber einerseits das Übertragen von sehr kleinen Datenpaketen auch ohne Tunnel bereits äußerst ineffizient ist und andererseits die 69 Byte bei großen Datenpaketen (theoretisch bis 1500 Byte) auch nicht überproportional viel mehr Traffic ausmachen, sollte der Overhead in den meisten Fällen gerechtfertigt sein.</p>
<h3>Komprimierung</h3>
<p class="MsoNormal">OpenVPN kann die zu tunnelnden Daten vor der Übertragung komprimieren. Zum Einsatz kommt hier der LZO-Algorithmus (<a href="http://de.wikipedia.org/wiki/Lempel-Ziv-Oberhumer" target="_blank">Lempel-Ziv-Oberhumer</a>). Dieser erreicht zwar nicht ganz die Komprimierungsgrade wie sie z.B. bei ZIP der Fall sind, dafür punktet LZO damit, dass sich die Daten nahezu in Echtzeit ver- und entpacken lassen.</p>
<p class="MsoNormal">LZO ist eine verlustlose Komprimierung, deshalb gibt es hier Grenzen. Ferner hängt der Komprimierungsgrad stark davon ab, welche Daten übertragen werden. Bereits komprimierte Daten wie z.B. gezippte Dateien oder komprimierte Bilder wie .jpg können nicht viel weiter komprimiert werden. Sehr gut komprimierbar sind Texte wie z.B. HTML, XML oder auch Bilder in Rohdatenformaten wie z.B. Bitmaps. Beim Surfen ergeben sich z.B. Komprimierungsgrade von weit über 60%.</p>
<p class="MsoNormal">Die per Grundeinstellung adaptive Kompression ist ein weiteres Feature von OpenVPN, um Rechenaufwand einzusparen und die Performance zu erhöhen. Dazu wird der Komprimierungsgrad überwacht. Sinkt der Komprimierungsgrad aufgrund der Datenbeschaffenheit unter einen festgelegten Wert, wird die Kompression so lange deaktiviert bis wieder komprimierbareres Datenmaterial zu versenden ist. Auf diese Weise wird zusätzlich Rechenleistung eingespart.</p>
<h3>Weitere Aspekte</h3>
<p class="MsoBodyText">Abgesehen von dem Overhead der Tunnelpakete tritt noch zusätzlicher Traffic für das künstliche Netzwerk des VPNs auf. Einige Ursachen sind:</p>
<ul>
<li>Abhängig von der Art der Authentifizierung werden zur Authentifizierung Datenpakete übertragen noch bevor ein Tunnel aufgebaut ist.</li>
<li>Verbindungsüberprüfung: Ein bestehender Tunnel sollte regelmäßig geprüft werden, ob er noch existiert.</li>
<li>Es sollten in regelmäßigen Abständen Daten durch den Tunnel gesendet werden, damit die für den Tunnel benutzten Ports nicht von Routern geschlossen werden, die die beiden Tunnelenden verbinden (stateful Firwall).</li>
<li>Vereinbarte Parameter für die Verschlüsselung der Datenpakete sollten regelmäßig erneuert werden.</li>
</ul>
<h3 class="MsoBodyText">Eine Beispielanwendung</h3>
<p class="MsoBodyText">Ein Feldgerät ist über einen GPRS/EDGE/UMTS-Router mit dem Internet verbunden. Der Router erstellt nach dem Verbindungsaufbau selbständig einen OpenVPN-Tunnel zu einer Leitstelle, in der ein OpenVPN Server läuft. Die Authentifizierung erfolgt über X.509 Zertifikate. Das Feldgerät erzeugt Daten (2000 Byte), die einmal pro Minuteper HTTP von der Leitstelle aus abgerufen werden sollen.</p>
<p class="MsoBodyText">Für die einzelnen Vorgänge wird folgendes angenommen:</p>
<ul>
<li>Einwahl ins Internet und anschließender Tunnelaufbau: 13.000 Byte</li>
<li>Erneutes Aushandeln der Verschlüsselung: 10.000 Byte</li>
<li>Einmalige Verbindungsüberprüfung (Internetverbindung): 1000 Byte</li>
<li>Einmalige Verbindungsüberprüfung (VPN-Tunnel): 81 Byte</li>
<li>Abruf der eigentlichen Daten per HTTP: 3125 Byte</li>
</ul>
<p class="MsoBodyText">
<p class="MsoBodyText">Die 3125 Byte für die eigentlichen Daten wurden empirisch ermittelt und stellen sich zusammen aus</p>
<ul>
<li>2000 Byte Textdatei</li>
<li><span lang="EN-US">1021 Byte TCP-Header, HTTP-Header und HTML-Code </span></li>
<li>104 Byte reiner OpenVPN Overhead</li>
</ul>
<p class="MsoBodyText">Das <strong>tägliche Datenaufkommen</strong> stellt sich wie folgt zusammen:</p>
<table style="height: 137px; width: 578px;" border="0">
<tbody>
<tr>
<td style="width: 30px;" scope="col"></td>
<td style="text-align: right;">4.500.000 Byte</td>
<td style="width: 20px;" scope="col">:</td>
<td>3125 Byte Nutzdaten pro Minute x 1440 Minuten pro Tag</td>
</tr>
<tr>
<td></td>
<td style="text-align: right;">26.000 Byte</td>
<td>:</td>
<td>2 x Verbindungsaufbau pro Tag</td>
</tr>
<tr>
<td></td>
<td style="text-align: right;">22.152 Byte</td>
<td>:</td>
<td>24 x stündliche Verbindungskontrolle per DNS-Anfrage</td>
</tr>
<tr>
<td></td>
<td style="text-align: right;">·240.000 Byte</td>
<td>:</td>
<td>24 x stündliche Key-Renegotiation</td>
</tr>
<tr>
<td></td>
<td style="text-align: right;">0 Byte</td>
<td>:</td>
<td>2880 x OpenVPN-Ping (1 Ping pro Minute aus- und eingehend)</td>
</tr>
<tr>
<td></td>
<td colspan="3">———————————————————————————————————————————</td>
</tr>
<tr>
<td></td>
<td style="text-align: right;">4.788.152 Byte</td>
<td>:</td>
<td>(ca 5 MByte) Gesamt-Datenaufkommen pro Tag.</td>
</tr>
</tbody>
</table>
<p class="MsoBodyText">Ungefähr <strong>10% des Datenaufkommens</strong> sind in diesem Beispiel <strong>für die Bereitstellung der Datenverbindung</strong> inklusive Tunnel notwendig. Der OpenVPN-Ping wird in diesem Fall nicht ausgeführt, denn auf die Tunnelüberprüfung wird verzichtet, wenn anderweitig Datenaufkommen existiert.</p>
<h3>Verkürzung der Latenzzeiten</h3>
<p class="MsoBodyText">Ein großer Nachteil bei der Anbindung von Feldgeräten via <strong>GPRS</strong> kann die hohe Latenzzeit sein. Vor allem <strong>für das erste Paket</strong> nach einer längeren Übertragungspause können <strong>1000 ms bis 2000 ms</strong> verstreichen. Mit einem OpenVPN-Tunnel und dessen Fähigkeit, mit „OpenVPN-Pings“ künstlich Datenverkehr zu erzeugen, kann man diese langen Latenzzeiten am Anfang einer Socketverbindung auf die Zeiten verringern, die sich im Laufe einer längeren Datenübertragung typischerweise einspielen. Dadurch erhöht sich zwar das Datenaufkommen, allerdings kann man auf diese Weise zeitkritische Anwendungen entschärfen, die über GPRS normalerweise nur mit Schwierigkeiten nutzbar wären und nur mit anderen Technologien wie z.B. EDGE oder UMTS funktionieren würden.</p>
<p class="MsoBodyText">Ohne jeglichen Nutz-Datenverkehr und einem</p>
<ul>
<li>Ping-Intervall von 15 Sekunden vom Feldgerät zur Leitstelle und einem</li>
<li>Ping-Intervall von 2 Minuten von der Leitstelle zum Feldgerät</li>
</ul>
<p class="MsoBodyText">ergibt sich aus {(4 x 60 x 24 x 81 Byte) + (30 x 24 x 81 Byte)}ein tägliches Datenaufkommen von 524.880 Byte.</p>
<p class="MsoBodyText">Dieser „Dauerping“ kostet im Monat also ungefähr 12 MByte. Je nach Mobilfunkvertrag ist das mehr oder weniger akzeptabel und sollte sorgfältig überlegtwerden.</p>
<h3>Fazit</h3>
<p class="MsoNormal">Je höher das Datenvolumen ist, desto geringer wird der Anteil, der für den OpenVPN-Overhead und dessen Infrastruktur notwendig ist. Bei einem VPN mit OpenVPN kann durch die Komprimierung sogar der Effekt eintreten, dass weniger Datenaufkommen anfällt.</p>
<p class="MsoNormal">Resourcen zu OpenVPN im Internet:</p>
<ul>
<li><a title="OpenVPN Homepage" href="http://www.openvpn.net" target="_blank">OpenVPN Homepage</a></li>
<li><a title="Deutsches OpenVPN Portal" href="http://www.openvpn-forum.de" target="_blank">Deutsches OpenVPN Portal</a> mit Forum und Wiki</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://m2m-blog.de/2008/10/30/m2m-mit-openvpn-betrachtung-von-overhead-und-datenvolumen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Praxistest: Geschwindigkeit von EDGE</title>
		<link>http://m2m-blog.de/2008/04/22/geschwindigkeit-von-edge/</link>
		<comments>http://m2m-blog.de/2008/04/22/geschwindigkeit-von-edge/#comments</comments>
		<pubDate>Tue, 22 Apr 2008 21:08:29 +0000</pubDate>
		<dc:creator>werner</dc:creator>
				<category><![CDATA[Know-How]]></category>
		<category><![CDATA[EDGE]]></category>
		<category><![CDATA[GPRS]]></category>
		<category><![CDATA[Ping]]></category>
		<category><![CDATA[Router]]></category>

		<guid isPermaLink="false">http://m2m-blog.de/2008/04/22/geschwindigkeit-von-edge/</guid>
		<description><![CDATA[<p><strong><a href="http://m2m-blog.de/2008/04/07/edge-sinn-oder-unsinn-fur-m2m-anwendungen/">EDGE</a> ist der &#8220;Turbo&#8221; für das GSM/GPRS-Netz</strong> &#8211; gleiche Frequenzen und Basisstationen mit etwas höherer Geschwindigkeit und kürzeren Delays. Da sowohl die Netze als auch die Geräte jetzt auf dem Markt sind, können alle bisherigen GPRS-Anwendungen mit höheren Anforderungen nahtlos umgestellt werden. Bei den Netzen bleibt T-Mobile Vorreiter und rüstet &#160;[...]</p>]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://m2m-blog.de/2008/04/07/edge-sinn-oder-unsinn-fur-m2m-anwendungen/">EDGE</a> ist der &#8220;Turbo&#8221; für das GSM/GPRS-Netz</strong> &#8211; gleiche Frequenzen und Basisstationen mit etwas höherer Geschwindigkeit und kürzeren Delays. Da sowohl die Netze als auch die Geräte jetzt auf dem Markt sind, können alle bisherigen GPRS-Anwendungen mit höheren Anforderungen nahtlos umgestellt werden. Bei den Netzen bleibt T-Mobile Vorreiter und rüstet sein gesamtes Netz auf EDGE hoch, auch parallel zu UMTS.</p>
<p>Wie schnell ist EDGE nun wirklich in der <strong>Praxis</strong>? Wir haben während <strong>zwei Wochen stündlich 4 Pings</strong> abgesetzt und waren positiv überrascht:</p>
<ul>
<li>15% unter 250 ms</li>
<li>72% bis 300 ms</li>
<li>89% bis 350 ms</li>
<li>96% bis 500 ms</li>
<li>99,8% bis 1000 ms</li>
<li>einsamer Ausreisser (1 von 1400 Messpunkten) bei 1300 ms</li>
</ul>
<p>Der Test zeigt also <strong>sehr kurze Reaktionszeiten</strong> mit einer extrem ausgeprägten Häufung <strong>zwischen 250 und 300 ms</strong>.</p>
<p>Getestet haben wir mit dem Router <a href="http://www.insys-tec.de/moros-gprs/">INSYS EDGE Ethernet</a> im Netz von T-Mobile (<a title="interaktive Karte von T-Mobile" href="http://www.t-mobile.de/funkversorgung/inland">Karte</a>). Das Gerät unterstützt GPRS/EDGE Class 12 (bis 230 kbps).<br />
<strong><br />
</strong><br />
In diesem Zusammenhang vielleicht auch interessant:<br />
<a title="Permanenter Link: EDGE - Sinn oder Unsinn für M2M-Anwendungen?" href="../2008/04/07/edge-sinn-oder-unsinn-fur-m2m-anwendungen/" rel="bookmark">EDGE &#8211; Sinn oder Unsinn für M2M-Anwendungen?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://m2m-blog.de/2008/04/22/geschwindigkeit-von-edge/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  m2m-blog.de/tag/ping/feed/ ) in 0.33940 seconds, on May 21st, 2012 at 5:08 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on May 21st, 2012 at 6:08 pm UTC -->
