Jump to the content

On this page:

Accompanying web page for the paper "The Hidden Energy Cost of Web Advertising".

Page navigation:

Tools


The Hidden Energy Cost of Web Advertising

This is the accompanying web page for the paper "The Hidden Energy Cost of Web Advertising".

Abstract of paper

Advertising is an important source of income for many websites. To get the attention of the unsuspecting (and probably uninterested) visitors these ads tend to use elaborate animations and graphics. Displaying such ads on the visitor's screen sometimes requires a vast amount of CPU-power. Present day desktop-CPUs can consume in excess of 100W when in full use. Thus, an advertisement that consumes a lot of the computational capacity of the computer, also consumes a lot of energy. Manufacturers strive to reduce energy consumption for environmental benefits and to increase battery life of mobile devices. But using a lot of energy for displaying advertisements can be considered counterproductive.

We've investigated the power consumption of advertising on web pages while browsing the web. To do so, we used an energy meter to measure the difference in power consumption of PCs while surfing the web normally with ads enabled, and while surfing with ads blocked.

To consistently simulate normal web browsing, we've created a browser-based tool called AutoBrowse, which periodically opens an URL from a predefined list. For blocking advertisements, we used the Adblock Plus extension for Mozilla Firefox. We also used Apache HTTP server and its mod_proxy module to act as an ad-blocking proxy server, which can be used with all browsers.

The measurements on several PCs and browsers show that on average the energy consumption caused by advertisement on websites is 2.5W. This is 3.4% of the total energy consumption of the PCs while browsing the web.


This paper is published in the proceedings of the 12th TSConIT. Download the entire paper The Hidden Energy Cost of Web Advertising.

 

AutoBrowse

AutoBrowse is available at http://randysimons.nl/overige/autobrowse/. Note that the list of URLs in this example might be outdated. You can obtain a fresh list using the instructions below.

Obtaining the URLs for AutoBrowse

To get a mixed, quasi-random list of current popular websites, you can use the API of Digg:

Tip: use Firefox and the XPather extension for convenience.

Apache as URL filtering proxy

Install the Apache webserver. Alternatively, you can use a pre-configured, all-in-one package including Apache like XAMPP.

To configure Apache HTTP server as a filtering HTTP proxy server:

  • Enable modules mod_proxy, mod_proxy_http
  • add to httpd.conf:
    Listen 8080
    
    <VirtualHost *:8080>
    	CustomLog "[path to logfiles]/access.log" common env=DOES_NOT_EXIST
    	ProxyRequests On
    
    	<ProxyMatch (\.adbrite\.com/)|(\.google-analytics\.com/)|(\.googlesyndication\.com/)|
    			(adsolutions\.com/)|(googleadservices\.com/)|(serving-sys\.com/)|(webwise\.net/)|
    			(\.advertising\.com/)|(\.atdmt\.com/)|(\.doubleclick\.net/)|(\.fastclick\.net/)|
    			(\.hitbox\.net/)|(\.intellitxt\.com/)|(\.irquest\.com/)|(\.ivwbox\.de/)|
    			(\.nvero\.net/)|(\.onestat\.com/)|(\.pokerroom\.com/)|(\.sitestat\.com/)|
    			(\.speedera\.net/)|(\.testnet\.nl/)|(\.tradedoubler\.)|(\.tribalfusion\.com/)|
    			(/ads/)|(/adserver/)|(/banners/)|(/phpadsnew/)|(blogads\.com/)|
    			(ikwilbereik\.nl/)|(nedstat)|(optimost)|(projectwonderful\.com/)|(reddion\.com/)|
    			(sitemeter\.com/)|(specificclick)|(webtrends.*/)|
    			(\.msn\.com/ads/)|(a\.as-eu\.falkag\.net/)|(ad\.)|(adpower\.)|(ads\.)|(adserv)|
    			(banner)|(count)|(rcm\.amazon\.com/)|(rd\.yahoo\.com/)|
    			(www\.theregister\.co\.uk/media/)|(www3\.buienradar\.nl/shop/)|
    			(event.*\.videostrip\.)|(media.*\.videostrip\.)|(.*hottraffic\.nl/)|
    			(.*statcounter\.com)|(.*tel\.geenstijl\.nl)|(.*schoorsteen\.geenstijl\.nl)|
    			(\.videostrip\..*/ads)>
    
    		Order deny,allow
    		Deny from all
    	</ProxyMatch>
    </VirtualHost>
  • Configure your browser to use a proxy server on [IP of Apache server]:8080
Site Information