<?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>aiCache Web Application Acceleration Blog</title>
	<atom:link href="http://aicache.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://aicache.com/blog</link>
	<description>Get your life back...</description>
	<lastBuildDate>Thu, 02 Sep 2010 23:14:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Last man standing; CNBC soars with aiCache &amp; Dyn on the largest financial news day ever.</title>
		<link>http://aicache.com/blog/last-man-standing-cnbc-soars-on-aicache-dyn/</link>
		<comments>http://aicache.com/blog/last-man-standing-cnbc-soars-on-aicache-dyn/#comments</comments>
		<pubDate>Fri, 07 May 2010 17:35:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=138</guid>
		<description><![CDATA[In the last 12 months CNBC.COM deployed aiCache for their main financial and mobile websites.  In December  they moved the to our Dynamic Cloud Cache (DCC&#8217;s), a solution based on aiCache instances with  geo-routing by Dyn.com.
Details
On the 6th of May the financial market moved over 1000 points and drove the highest financial news traffic day in history. [...]]]></description>
			<content:encoded><![CDATA[<p>In the last 12 months CNBC.COM deployed aiCache for their main financial and mobile websites.  In December  they moved the to our Dynamic Cloud Cache (<a href="http://aicache.com/dcc.html">DCC</a>&#8217;s), a solution based on aiCache instances with  geo-routing by Dyn.com.</p>
<p><a href="http://highscalability.com/blog/2010/2/6/geo-aware-traffic-load-balancing-and-caching-at-cnbccom.html">Details</a></p>
<p>On the 6th of May the financial market moved over 1000 points and drove the highest financial news traffic day in history.  Details of the event as reported by the New York times are <a href="http://mediadecoder.blogs.nytimes.com/2010/05/06/on-a-dramatic-afternoon-for-dow-a-scramble-to-cover-the-story/">here:</a></p>
<p><a style="color: #004276; text-decoration: underline;" href="http://techcrunch.com/2010/05/06/stock-market-crash-web">TechCrunch said </a>that at the peak of the sell-off, Web sites were “failing left and right.” The TechCrunch blogger MG Siegler wrote, “Google Finance keeps bringing up an error message to ‘please try again in 30 seconds.’ Yahoo Finance, meanwhile is completely down. Trying to look for the news via Twitter, meanwhile, yields mixed results. At one point when the Dow was down about 1,000, plenty of people were still tweeting that it was down 400. Others were saying it was down 600, etc. The problem is that the ‘realtime’ web wasn’t even fast enough for how fast things were crashing.”</p>
<p>During this unprecedented peak period CNBC.COM and its Mobile site had the highest traffic day ever:  While the rest of the industry was unable to keep up with the demand of the market for information, CNBC performed flawlessly without missing a single page view using the aiCache and Dyn.com solution.</p>
<p><a href="http://www.mediabistro.com/webnewser/cnbccom/record_hour_for_cnbccom_and_cnbc_mobile_160782.asp  ">Press Release CNBC</a></p>
<p>aiCache is proud of the hard work done by the engineering team at CNBC and superb quality of its partner <a href="http://dyn.com/dynamic-cloud-caches">Dyn.com</a>. We look forward to continuing support as their important mission of serving the financial community continues.</p>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/last-man-standing-cnbc-soars-on-aicache-dyn/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bending the TTL&#8217;s. Dynamic traffic adaptation by aiCache</title>
		<link>http://aicache.com/blog/bending-the-ttls-dynamic-traffic-adaptation-by-aicache/</link>
		<comments>http://aicache.com/blog/bending-the-ttls-dynamic-traffic-adaptation-by-aicache/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 17:07:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=135</guid>
		<description><![CDATA[aiCache implements dynamic web traffic management by factoring the time content is cached in response to load levels.]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The secret of caching is controlling the freshness of content.  This is managed using  (TTL&#8217;s) Time To Live settings.  These settings balance the speed of delivery with the freshness of content by controlling how frequently content is generated.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Website admins struggle to balance content freshness and speed of delivery.  The challenge is that  settings that work well for normal traffic can be ineffective during peak periods.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">aiCache solves this issue by allowing the TTL&#8217;s to make dynamic adjustments during peak periods, returning to normal setting when the load diminishes.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Under normal load aiCache obeys the caching TTL&#8217;s. When load increases in response to viral content, being featured in a web consolidator such as Digg, Drudgereport etc., aiCache allows you to bend the TTL&#8217;s.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">aiCache implements this &#8220;bending&#8221; by allowing you to factor an increase in the TTL for a specified period.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">You can tell aiCache that under peak load it should bend the TTL&#8217;s by a certain factor, for example 5, for a particular length of time.  Content that would have ordinarily refreshed in 30 seconds will now be served from aiCache for 150 seconds, when load reaches a defined threshold.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">With aiCache capable of producing content at thousands of times the speed of the normal environment, this simple factoring of the TTL will allow the site to manage all additional traffic quickly, for as long as it remains under load.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">aiCache analyzes response times every few seconds and reports on both the scale factor and the normalization.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The end result? With a simple one line configuration you receive the best of both worlds,  optimally fresh content for users and high speed reliable serving under peak loads.</div>
<p>The secret of caching is controlling the freshness of content.  This is managed using (TTL&#8217;s) Time To Live settings.  These settings balance the speed of delivery with the freshness of content by controlling how frequently content is generated.</p>
<p>Website admins struggle to balance content freshness and speed of delivery.  The challenge is that  settings that work well for normal traffic can be ineffective during peak periods.</p>
<p>aiCache solves this issue by allowing the TTL&#8217;s to make dynamic adjustments during peak periods, returning to normal setting when the load diminishes.</p>
<p>Under normal load aiCache obeys the caching TTL&#8217;s. When load increases in response to viral content, being featured in a web consolidator such as Digg, Drudgereport etc., aiCache allows you to bend the TTL&#8217;s.</p>
<p>aiCache implements this &#8220;bending&#8221; by allowing you to factor an increase in the TTL for a specified period.</p>
<p>You can tell aiCache that under peak load it should bend the TTL&#8217;s by a certain factor, for example 5, for a particular length of time.  Content that would have ordinarily refreshed in 30 seconds will now be served from aiCache for 150 seconds, when load reaches a defined threshold.</p>
<p>With aiCache capable of producing content at thousands of times the speed of the normal environment, this simple factoring of the TTL will allow the site to manage all additional traffic quickly, for as long as it remains under load.</p>
<p>aiCache analyzes response times every few seconds and reports on both the scale factor and the normalization.</p>
<p>The end result? With a simple one line configuration you receive the best of both worlds,  optimally fresh content for users and high speed reliable serving under peak loads.</p>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/bending-the-ttls-dynamic-traffic-adaptation-by-aicache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using aiCache to facilitate website transition</title>
		<link>http://aicache.com/blog/using-aicache-to-facilitate-website-transition/</link>
		<comments>http://aicache.com/blog/using-aicache-to-facilitate-website-transition/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 21:58:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=131</guid>
		<description><![CDATA[aiCache&#8217;s pattern and origin server tagging (os_tag directive) is ideally suited for easing  the typical chores of website transitions.
Many an IT professional shiver at the mere mentioning of this two words: website transition. It doesn&#8217;t have to be painful. Let&#8217;s imagine that Acme Inc has its current website of news.acme.com hosted with a legacy [...]]]></description>
			<content:encoded><![CDATA[<p>aiCache&#8217;s pattern and origin server tagging (os_tag directive) is ideally suited for easing  the typical chores of website transitions.</p>
<p>Many an IT professional shiver at the mere mentioning of this two words: website transition. It doesn&#8217;t have to be painful. Let&#8217;s imagine that Acme Inc has its current website of news.acme.com hosted with a legacy provider, FlyByNite WebHosting Inc.</p>
<p>The site was developed a while back and is running a custom written CMS that is, quite frankly, growing long in the tooth. It is rather slow, lacking in features, hard to maintain and especially hard to modify. It can go down without much of  a warning and doesn&#8217;t have much of monitoring in place &#8211; which results in fair bit of frustration at Acme, as helpless Acme web site crew observes, in horror, another meltdown, unable to do anything to help the situation.</p>
<p>Not content with status quo, Acme leadership team decides to embark onto a difficult journey &#8211; a complete redo of the site&#8217;s CMS, this time going not with a home-grown solution, but adopting one of more popular Open Source CMS.</p>
<p>Such endeavors are typically very labor intensive and error prone all-or-nothing approaches. In other words, after spending much time and money, you&#8217;d throw the proverbial switch and send traffic from old environment to the new one and hope it all works out.</p>
<p>With aiCache in the mix it doesn&#8217;t have to be such a monolithic effort. Instead, you can transition your site section by section, without any impact on your users, having complete control and confidence every step of the way.</p>
<p>Acme starts by placing aiCache in front of news.acme.com domain. They can now cache some content, reducing the load on the frail legacy environment, observe traffic and it&#8217;s vital statistics in real time, alert when things go sour, still keep the site up in case of complete hosting meltdowns, that are growing more frequent at FlyByNite WebHosting Inc&#8217;s datacenter.</p>
<p>The situation is instantly improves and there&#8217;s now some breathing room for the transition. Next, Acme sets up their own CMS instance (with most CMS, 2-3 web servers and a DB, ideally in a highly available setup). Now Acme chooses a section that they want to improve first &#8211; typically one that gets most traffic. Let&#8217;s say it is US News and it lives under news.acme.com/us_news .</p>
<p>Having setup the section on the new CMS, now we can tell aiCache to fill the requests for news.acme.com/us_news not from legacy, but from the new CMS &#8211; by tagging the relevant pattern and adding the new CMS web servers to the configuration.</p>
<p>With a simple, instantaneous aiCache configuration change, Acme can introduce the new CMS into the traffic path in an incremental, controlled, measurable and fail-safe way.</p>
<p>As more and more sections are developed in the new CMS, they too, are configured to be served from the new CMS. Incrementally, section by section, Acme takes over the control and hosting of news.acme.com and after a while the FlyByNite WebHosting Inc is out of the picture.</p>
<p>The picture below depicts the setup, with legacy CMS on the left and the new CMS on the right. You can see basic flows of traffic coming to Acme&#8217;s hosting environment and aiCache deciding where to fill the content from. A very straightforward setup indeed. We also attach a small snippet of aiCache configuration file that shows basics of using os_tag settings to accomplish the desired effect.</p>
<p><img src="http://aicache.com/Site_transition.jpg"/>
<p>&#8230;&#8230;<br />
website<br />
hostname news.acme.com</p>
<p>pattern /us_news simple 1m # Cache for 60 seconds<br />
os_tag 2                   # Fill from the new CMS by specifying os_tag of 2</p>
<p>pattern &#8230;..              # Patterns for content to be served from old CMS<br />
pattern &#8230;..</p>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/using-aicache-to-facilitate-website-transition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using aiCache to address AJAX cross-domain limitations</title>
		<link>http://aicache.com/blog/using-aicache-to-address-ajax-cross-domain-limitations/</link>
		<comments>http://aicache.com/blog/using-aicache-to-address-ajax-cross-domain-limitations/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 02:42:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=129</guid>
		<description><![CDATA[aiCache&#8217;s pattern and origin server tagging (os_tag directive) is ideally suited for addressing the well known limitation of AJAX cross-domain scripting. 
As you may well be aware, the XMLHttpRequest object (aka XMLHTTP object in Internet Explorer) is the centerpiece of today&#8217;s AJAX-driven web applications.  Many a popular site owes its rich functionality and responsive [...]]]></description>
			<content:encoded><![CDATA[<p>aiCache&#8217;s pattern and origin server tagging (os_tag directive) is ideally suited for addressing the well known limitation of AJAX cross-domain scripting. </p>
<p>As you may well be aware, the XMLHttpRequest object (aka XMLHTTP object in Internet Explorer) is the centerpiece of today&#8217;s AJAX-driven web applications.  Many a popular site owes its rich functionality and responsive interface to the use of AJAX.</p>
<p>AJAX has one significant  security constraint; one cannot create an AJAX request to a domain different from the one from which the Javascript itself was downloaded. For example, if one has AJAX functionality embedded in news.acme.com/ajax.js, the AJAX calls from the said JS file can only address URLs at news.acme.com and not any other domain, or even a subdomain of acme.com. You shall see that this limitation can be easily addressed by using aiCache os_tag setting. </p>
<p>Let&#8217;s imagine that news.acme.com has &#8220;newsmaker&#8221; page &#8211; a mash-up of data about celebrity of the day. The page displays the editorial content about the person, along with user-submitted comments and may be latest RSS-driven news about the celebrity.<br />
We also display the search results  so that users can see prior content that was published by Acme. The comments, the search results and  the latest RSS data are embedded into the page client-side, using AJAX. So as new comments are posted and RSS feeds are updates, the page refreshes itself without user having to reload it.</p>
<p>To obtain this functionality, there&#8217;s some JS code, downloaded from news.acme.com that needs to access URLs at comments.acme.com, search.acme.com and rss.acme.com. The three subdomains we mentioned could be hosted in different environments and/or datacenters. Some could be .Net-based, some PHP-based and some developed in Java.<br />
Some environments could be white-labeled from an external provider. No matter the technology, you can see that accessing three different subdomains presents a problem. It won&#8217;t work unless one of the two different technologies is deployed to address it:<br />
a client side Flash proxy<br />
(see http://blog.monstuff.com/archives/000294.html)<br />
a server-side proxy solution<br />
Flash proxy solution requires Flash support in the user browser. </p>
<p>While almost ubiquitous these days, such  Flash support is not present  in quite a number of mobile devices, including Android-based ones and the latest product from Apple, the iPad.  From the looks of it, we can take as a given that this Flash-deficiency is not likely to get rectified any time soon.</p>
<p>Server-side proxy solution doesn&#8217;t suffer from such limitations and is completely browser and client-agnostic (although, clearly, for any of AJAX to work, client browser must support AJAX). Instead of trying to access the required functionality directly on the three different sub-domains, we instead request the functionality from news.acme.com and have aiCache servers to direct (relay) the requests to proper sub-domains. </p>
<p>So let&#8217;s provide a configuration file snippet showing how one can configure aiCache servers that accelerate news.acme.com, to transparently forward requests, based on the request URLs, to different origin servers.<br />
We will assume that requests sent to news.acme.com/search.php?anything  should be sent to search origin servers.<br />
Likewise requests to news.acme.com/comments.do?anything should be sent to comments origin servers. Lastly, requests sent to news.acme.com/rss.apsx?anything  should be sent to rss origin servers. In all three cases, we will rewrite the Host header to match the origin farm we choose.</p>
<p>&#8230;.<br />
website<br />
hostname news.acme.com</p>
<p>pattern /search.php simple 1m # Cache for 1 minute<br />
os_tag 2 # Send it to search servers<br />
sub_hostname search.acme.com</p>
<p>pattern /comments.do simple 1m # Cache for 1 minute<br />
os_tag 3 # Send it to comments servers<br />
sub_hostname comments.acme.com</p>
<p>pattern /rss.aspx simple 1m # Cache for 1 minute<br />
os_tag 4 # Send it to RSS servers<br />
sub_hostname rss.acme.com</p>
<p>&#8230;.<br />
origin 1.1.1.1 80 # Regular origin servers for news.acme.com, no os_tag !<br />
origin 1.1.1.2 80 # Regular origin servers for news.acme.com, no os_tag !</p>
<p>origin 2.2.2.2 80 2 # origin servers for search.acme.com, note os_tag of 2 !</p>
<p>origin 3.3.3.3 80 3 # origin servers for comments.acme.com, note os_tag of 3 !</p>
<p>origin 4.4.4.4 80 4 # origin servers for rss.acme.com, note os_tag of 4 !</p>
<p>As you can see, with a very straightforward and easy-to-manage configuration setup, we can now joggle, on the fly and completely transparently to the end users, requests amongst 4 different subdomains. All while caching responses, having real-time view of the traffic statistics, along with ability to shield end-users from any issues at the said sub-sites.<br />
Please note that such request relaying happens completely transparently to end users, in a sense that it is aiCache that obtains the actual response, no HTTP redirects are sent to the requesting browsers (and even if they were sent, such redirect still won&#8217;t work).</p>
<p>When any of the sub-sites are hosted by external providers, we don&#8217;t require any involvement from them, to accomplish such setups. Also, with such hosted-API arrangements, where charges are based on volume of requests, we can save significant amount of money by caching responses.</p>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/using-aicache-to-address-ajax-cross-domain-limitations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aiCache Content-driven Caching Control</title>
		<link>http://aicache.com/blog/aicache-content-driven-caching-control/</link>
		<comments>http://aicache.com/blog/aicache-content-driven-caching-control/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 14:30:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=127</guid>
		<description><![CDATA[aiCache makes it possible to control whether or not a web page is cacheable, based on page's (response) content]]></description>
			<content:encoded><![CDATA[<p>aiCache makes it possible to control whether or not a web page is cacheable, based on page&#8217;s (response) content. For example, www.acmenews.com/breakingnews.aspx  web page is normally cached for 10 seconds, unless editorial team decides to publish a survey (poll) on that page, in which case you cannot cache the page for as long as the poll is active. As soon as poll is removed from the page, you can restore the caching back to 10 second.</p>
<p>aiCache offers support for this kind of scenarios via so called &#8220;Content Driven Caching&#8221; or CDC for short. Here&#8217;s how it works.</p>
<p>First, you define a cacheable pattern, just as usual. Then you add one or more of cdc_pattern pattern-level settings under the matching pattern, specifying regular expression match strings. With these specified, aiCache will analyze response bodies, looking to match the response body to a defined cdc_pattern.</p>
<p>Should a match be found, aiCache temporarily overrides TTL for the matching response  and sets it to 0. Effectively, the matching web page is declared non-cacheable. Periodically, aiCache will attempt to match the page&#8217;s content again and should no match be found, the page will have its TTL restored back to the one specified by the pattern. You can control how frequently such-rechecking is done by setting cdc_interval pattern level setting, it defaults to 5 seconds.</p>
<p> website www.acmenews.com<br />
&#8230;<br />
pattern breakingnews simple 10<br />
cdc_pattern acme\spoll<br />
cdc_pattern acme\ssurvey</p>
<p>In the example above, we match response&#8217;s body (content) to see if contains &#8220;acme poll&#8221; or &#8220;acme survey&#8221; in it. Should a match be found, aiCache will declare the page non-cacheable and no longer  serve it out of cache. Sometimes, you might find it easier to match for  auxiliary content URLs instead. For example, you might know that every time a poll is published on a page, the poll&#8217;s Javascript is included into the page so you can look for that Javascript URL instead. For example:</p>
<p>cdc_pattern userpoll.js<br />
cdc_pattern usercomment.js<br />
Matching for such JS &#8220;includes&#8221; might be less resource intensive, as they are often located at the very beginning of the page&#8217;s HTML, so aiCache can find the match faster.</p>
<p>Let&#8217;s consider another situation. Acmenews&#8217;s editorial team might decide to publish polls or enable comments, in any of the following pages: usnews.jsp, worlnews.jsp, marketnews.asp and cenews.asp. As you can see, all of these URLs have a common &#8220;news.jsp&#8221; component to them , so you can create a single pattern to cover all of them:</p>
<p>website www.acmenews.com<br />
&#8230;<br />
pattern news.jsp simple 10<br />
cdc_pattern userpoll.js<br />
cdc_pattern usercomment.js</p>
<p>Now all of the mentioned pages will have their content analyzed for CDC-overrides, independently of each other. In other words, usnews.jsp might end up in CDC-override state, while worldnews.jsp is still served from cache.</p>
<p>The handling of page with the CDC-overridden TTL is no different from the way 0TTL requests are normally handled by aicache. Specifically, all of the cookies are sent both to OS and back to the requesting client.</p>
<p>When page is in &#8220;regular&#8221;, cacheable state, aiCache only attempts to match the response body against the CDC patterns when the page is refreshed, so we recommend you keep TTL for such pages low enough, so aiCache can detect the change in the page&#8217;s content quickly enough. As mentioned earlier, when in &#8220;CDC-override&#8221; state, the matches are performed every cdc_interval seconds &#8211; every 5 seconds by default.</p>
<p>When aiCache needs to perform content matching for CDC patterns, it requests the response in plain, non-compressed form. This way no CPU cycles need to be spent by OS to compress the response and by aiCache to uncompress it, before matching could be performed. The response will be compressed by aiCache, in accordance with on-the-fly compression settings and client browser indicating support for compression</p>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/aicache-content-driven-caching-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aiCache releases Industry first software-based SSL Acceleration</title>
		<link>http://aicache.com/blog/aicache-releases-industry-first-software-based-ssl-acceleration/</link>
		<comments>http://aicache.com/blog/aicache-releases-industry-first-software-based-ssl-acceleration/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 14:27:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=125</guid>
		<description><![CDATA[aiCache software delivers tens of thousands of SSL sessions per second, allowing customers to replace expensive hardware with software running in their own servers. aiCache fully supports virtualization bringing SSL termination to the cloud.]]></description>
			<content:encoded><![CDATA[<p> aiCache brings a new level of Web Acceleration to the market with the release of Version Six of its flagship product, aiCache Web Application Accelerator.  With an architecture supporting and linearly scaling up to unlimited number of CPU cores, it provides virtually unlimited scalability for HTTP and HTTPS traffic.   </p>
<p>aiCache solves the industry issue of slow SSL speeds and the need for expensive dedicated hardware, by bringing high speed SSL termination to the Cloud and Data Centers, on common hardware. </p>
<p>This is a special benefit for users of cloud and virtualization technology. Virtualization solutions such as Amazon Web Services do not allow dedicated hardware. Cloud customers have been without options for handling large scale SSL implementations until now.  aiCache removes the SSL barrier by running in virtualized instances, providing dedicated hardware level performance. </p>
<p>Version Six supports over 250,000 transactions per second for non-encrypted content and over 30,000 RSA1024 SSL sessions per second, all running on a single server. </p>
<p>aiCache manages HTTPS and HTTP traffic, relieving web servers from the overhead of encryption,, while providing a superior customer experience and delivering full complement of industry-leading aiCache Web Application Acceleration features. </p>
<p>The new release fully supports earlier configuration file syntax, allowing existing customers to simply drop-in a replacement binary. </p>
<p>Customers in the Cloud, with Amazon Web Services and Rightscale, will have the Version Six capabilities available at no additional cost. </p>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/aicache-releases-industry-first-software-based-ssl-acceleration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aiCache Enables The Industries First Acceleration Of Sites Requiring Registration And Login</title>
		<link>http://aicache.com/blog/aicache-enables-the-industries-first-acceleration-of-sites-requiring-registration-and-login/</link>
		<comments>http://aicache.com/blog/aicache-enables-the-industries-first-acceleration-of-sites-requiring-registration-and-login/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 15:24:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=121</guid>
		<description><![CDATA[New technology allows sites that require user registration to accelerate content delivery while securing page views from non-logged in users.]]></description>
			<content:encoded><![CDATA[<p><a title="aiCache Web Application Acceleration" href="http://aicache.com">aiCache</a> allows you to cache a site&#8217;s content and enforce the registration/login policy. Users that are not logged in or registered, will not be allowed to view cached content and will be subject to normal handling; i.e. “asked to register and sign in to view the content.”</p>
<div>
Let take an example news website &#8220;www.acmetimes.com&#8221;. The site allows users to read a short synopsis of  articles before requiring registration.   The user login is enforced by a session variables or user cookie, which validates each subsequent request after registration.<br />
Without this validation any cached content would be available to non-logged in users.</p>
<p>During peak news periods the site must generate thousands of requests a second.  It is unable to use caching, because of the validation, and must scale by adding more web, application and database servers.</p>
<p>With aiCache front-ending the site, session-driven content caching can be enabled. This capability offloads session validation to aiCache and allows you to enforce the registration while enabling the content to be accelerated. This is accomplished without changing the architecture of the existing site and is available for data-center and cloud applications.</p>
<p>aiCache now off-loads request processing from the Web, Application and Database servers, reducing the required amount of servers, space, power, cooling and the complexity of code your site requires to sustain high volumes of traffic.</p>
<p>aiCache accomplish this by intercepting and responding to client requests from a RAM-based cached-response engine. Using a unique architecture, optimized for speed and low resource utilization, aiCache delivers in excess of 45,000 HTTP Requests Per Second while managing hundreds of thousands of connected clients. This is accomplished on your own hardware running any common 64 bit Linux distribution.</p>
<p>With the implementation of  aiCache session-driven content caching, sites that previously where unable to use caching and acceleration technologies can now obtain the same benefits of low cost, secure scaling, previously available only to public sites.</p></div>
<div></div>
<div>Specific technical reference can be found in the <a title="Admin Guide" href="http://aicache.com/pdf/adminguide.pdf">Admin Guide</a> under session-driven content caching.</div>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/aicache-enables-the-industries-first-acceleration-of-sites-requiring-registration-and-login/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>aiCache for no-overhead error reporting</title>
		<link>http://aicache.com/blog/using-aicache-for-zero-overhead-error-reporting-logging-and-alerting/</link>
		<comments>http://aicache.com/blog/using-aicache-for-zero-overhead-error-reporting-logging-and-alerting/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 21:24:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=116</guid>
		<description><![CDATA[aiCache web acceleration is now available on the Amazon Web Services. Companies looking to reduce cost, scale their web applications and bring stability to their environment can now front-end their websites using aiCache technology in the cloud.]]></description>
			<content:encoded><![CDATA[<p>You might  need a method to allow reporting of assorted error conditions. For example, your web site might offer videos, breaking news and other APIs that are invoked by AJAX or some other form of client-side Javascript. When these APIs fail to respond, you would like to have some way to report the error condition so that it can be recognized, logged and acted upon.</p>
<p>Normally, accomplishing this requires writing custom server-side code that would receive the error notification and execute some form of reporting, logging and alerting function. However, outside of having to write such code, you might face another danger when following down this path: when in error state, your site will be receiving large number of error message and that in itself, can cause further deterioration of service which would result in even more of error conditions being reported. In just few quick seconds you whole site just might melt down.</p>
<p>aiCache offers an easy way to accomplish the required functionality, without requiring any custom code to be written or any code to be executed by your web, application or database servers. It is aiCache that receives, logs and alerts on error condition, without ever forwarding any of the traffic to the rest of your infrastructure.</p>
<p><strong>Reporting using a dedicated error reporting website.</strong></p>
<p>To accomplish this, setup a dummy website in aiCache, for example error.acmenews.com . Identify the site as dummy website via dummy_website website-level configuration directive. You don&#8217;t need to specify any origin server for websites defined as dummy, as no requests ever are sent to origin servers for such websites.</p>
<p>Setup the site to alert on when number of requests exceed the desired threshold &#8211; for example set alert_req_sec_max to alert when this website receives more than 2 requests per second.</p>
<p>Setup the client side code to execute a simple HTTP GET against this website, passing arbitrary URL and parameters, as part of the request. For example, to report a problem with your News API, you might request http://error.acme.com/app=newsapi&amp;errorcode=123&amp;client=premier . It is up to you just what parameters you want to pass via such a request.</p>
<p>Now, when an error condition is detected, a request is made to the specified URL. aiCache receives the request and logs it. When number of such requests exceed the configurable threshold, an alert is sent out. So there you have it: without writing any of the server side logic and without placing any extra load on your infrastructure, you now can receive, log and alert on error conditions &#8211; all courtesy of aiCache.</p>
<p>It doesn&#8217;t have to be only the client-side logic that sends such error-reporting requests. You can use method of your choosing to execute such requests &#8211; including server-side code, custom script etc. You can also redirect clients to the error-reporting URL in case of a problem that you discover when executing some logic. Again, you&#8217;re only limited by your imagination in how this functionality can be deployed.</p>
<p>You can train your personnel to look at the aiCache log file for such error reporting web sites, when the error condition is reported and alerted by aiCache, to see the additional information that is embedded inside of the error reporting URLs (such as application, error code and client information in the example above).</p>
<p>To assist in rapidly detecting the error condition, aiCache lights up the respective web site name in red, in its self-refreshing web monitor screen, when it detect that RPS for a dummy website exceeds the set limit. This is in addition to regular email alerting on the error condition &#8211; which should be configured as per instructions in Automated Alerting and Monitoring section of this manual. Specifically, you must provide the email address to send the alert to, at either or both global and website levels.</p>
<p><strong>Reporting using pattern attribute.</strong></p>
<p>You can set a bad_response pattern flag. When aiCache matches a request to such pattern, the response is reported as bad response (same as say 5xx response code) &#8211; so you can monitor for such bad responses, log and alert on them.</p>
<p>Here&#8217;s an example explaining how you can use this feature. Some sites have dedicated pages setup for common errors &#8211; such as PNF (page-not-found) and similar. So let&#8217;s imagine there is such a dedicated error page called 404error.html . The page is requested/redirected to in response to assorted error conditions, as detected by assorted server and client side code.</p>
<p>By setting bad_response flag for matching pattern, you will configure aiCache to report and optionally, alert on, whenever this page is requested, providing for 0-cost monitoring and alerting of this error condition.</p>
<p>Please note that setting of bad_response flag doesn&#8217;t affect anything else in terms of request/response handling logic, its sole purpose is for reporting and optional alerting of matching traffic.</p>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/using-aicache-for-zero-overhead-error-reporting-logging-and-alerting/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>aiCache scales advertiser supported sites with pre-fetch technology</title>
		<link>http://aicache.com/blog/aicache-scales-advertiser-supported-sites-with-pre-fetch-technology/</link>
		<comments>http://aicache.com/blog/aicache-scales-advertiser-supported-sites-with-pre-fetch-technology/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 14:06:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=114</guid>
		<description><![CDATA[aiCache pre-fetch technology allows ad-revenue supported sites to insulate performance from slow API's.]]></description>
			<content:encoded><![CDATA[<div class="content">Websites depend on ads served by third party consolidators to generate revenue.  These consolidators API&#8217;s to enable the correct advertisement to be shown and analytics collected.  These API&#8217;s support multiple customer sites and are subject to wide variations in performance.  Site using these services suffer under heavy traffic conditions based on poor response time from the ad URL.</p>
<p>aiCache provides an elegant solution to this with pre-fetch technology.</p>
<p>aiCache allows you to configure a set of slower URLs to pre-load. It then pre-fetches and actively maintain a queue of fresh responses When these are requested, aiCache instantly serves the pre-fetched response.</p>
<p>By tailoring pre-fetch settings you can optimize the site so all responses are pre-fetched. aiCache collects and reports on pre-fetch statistics simplifying this task.</p>
<p>Each second, aiCache analyzes the queues of the advertising URL&#8217;s. When a queue contains too few responses, aiCache requests additional ads to maintain the optimum number.  When a request comes for any advertising URL, aiCache removes a response from appropriate queue and sends it to the browser. The result is the website never waits for an advertising response.</p>
<p>aiCache provides a few seconds of queuing, ensuring an accurate set of statistics for served ads allowing accurate fast serving of content that scales independent of the performance of the advertising API.</p></div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/aicache-scales-advertiser-supported-sites-with-pre-fetch-technology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aiCache Mobile Client Caching Support</title>
		<link>http://aicache.com/blog/aicache-mobile-client-caching-support/</link>
		<comments>http://aicache.com/blog/aicache-mobile-client-caching-support/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 17:20:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=101</guid>
		<description><![CDATA[aiCache uses the hostname  and URL of request  as  a signature of  cached responses. Some sites require different cacheable content in response to requests for the same URLs,  depending on a value of a User Agent HTTP header present in the request.  User Agent HTTP header identifies browser&#8217;s make and model.
A site [...]]]></description>
			<content:encoded><![CDATA[<p><a title="aicache web application acceleration" href="http://aicache.com/">aiCache</a> uses the hostname  and URL of request  as  a signature of  cached responses. Some sites require different cacheable content in response to requests for the same URLs,  depending on a value of a User Agent HTTP header present in the request.  User Agent HTTP header identifies browser&#8217;s make and model.</p>
<p>A site serving mobile clients might serve responses whose formatting depends on exact mobile device/browser. To accommodate for such clients, while allowing for caching of responses, we must use User Agent information as part of cached response signature.</p>
<p>When a URL named &#8220;news.html&#8221; is accessed by 3 different mobile devices, we shall have 3 different responses cached &#8211; each containing mobile device&#8217;s User Agent string.</p>
<p>Using this feature has the potential to significantly increase the size  of response cache (as multiple versions of same URLs are now cached). To solve this problem aiCache provides:</p>
<p><strong>Using reduced/rewritten  User Agent string in signature of  cacheable responses.</strong><br />
<span style="font-family: mceinline;"><span style="font-family: mceinline;"><em><span style="font-family: mceinline;"> This feature is only available in mobile-enabled edition of aiCache.</span></em></span></span></p>
<p><span style="font-family: mceinline;"><span style="font-family: mceinline;"><em></em></span></span><br />
Related to the previous feature, this allows you to rewrite/reduce User-Agent strings to a smaller subset and use the rewritten/reduced values as part of cacheable response signature.</p>
<p>The problem this feature addresses has to do with a great variety of mobile devices  currently available. Every firmware revision, different mobile providers/carriers/market all result in a different User-Agent strings sent by mobile device, making it a challenge to accommodate for all of these devices.</p>
<p>The great majority of mobile devices on the market can be reduced to about a dozen distinctly different devices (device families). So Blackberries can be grouped into may be 2 different sets, Iphones&#8217;s into its own set and so on, based on capabilities, support for Javascript  and available screen sizes.</p>
<p>aiCache allows you to accomplish just that. You specify rewrite rules for User-Agent strings. The rewritten/reduced User-Agent strings are then used as part of signature of cached responses.</p>
<p>The same &#8220;compressed&#8221; User-Agent string is also forwarded as X-UA-Rewrite header in requests sent to origin servers. The origin servers (server-side code) can then programmatically access and act on this header value, with a goal of modifying responses to accommodate for  mobile device differences.</p>
<p>-For example resorting to Javascript-free versions of content for devices that don&#8217;t support Javascript, resizing the images to accommodate for different screen sizes.</p>
<p>The server-side code can also tailor the responses based on the actual value of User-Agent string (aiCache never modifies it, it is forwarded verbatim from requesting device to the origin servers) &#8211; but then the server-side code has to accommodate for a much larger variety of devices.</p>
<p>Reducing the large number of different User-Agent strings to a much smaller subset also has a positive impact on caching of responses &#8211; allowing to achieve much higher cache hit ratios and to proportionally reduce the traffic and demands on origin server infrastructure (Web Servers, DB servers etc).</p>
<p>It also allows to greatly simplify the logic required to handle the variety of mobile devices available on the market today.</p>
<p>It is most desirable to accommodate for different mobile devices in a fashion that doesn&#8217;t require changing the URLs &#8211; so that no matter what mobile device is being used, News page is always accessed as /news.html, Sports section is always /sports.html.</p>
<p>The normal solution where URLs change, say by prefixing every URL with a device type, to accommodate for the device type is confusing to the customer.</p>
<p>aiCache provides a manageable elegant solution to these issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/aicache-mobile-client-caching-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
