dotslash an automated web hotspot rescue system jonathan bulava csc8530 – distributed systems dr....
TRANSCRIPT
DotSlashAn Automated Web Hotspot Rescue System
Jonathan BulavaCSC8530 – Distributed SystemsDr. Paul Schragger
What is DotSlash?
An automated web hotspot rescue system.
Implementation is similar to Content Delivery Networks (CDN).
People: Weibin Zhao & Henning Schulzinne at Columbia University
Slashdot Effect
A term used when web servers cannot handle an influx of traffic due to links from more popular websites.
Bandwidth is consumed and/or the large number of requests cannot be processed.
Core Techniques
Detecting and predicting overload conditions in real time.
Discovering rescue servers in wide area networks.
Manage rescue relationships. Designing and evaluating efficient
mechanisms for replicating contents dynamically and redirecting client requests in wide area networks.
A Mutual-aid Community
Cost effective solution compared to CDN systems.
Spare capacity in the community is utilized to handle hotspots for an individual site.
Establishes a peer-to-peer communication model.
Configurations
ConfigurationBottlenecks Addressed
Used By
Dots_Apache Network and web server
Static/dynamic content web sites
Dots_Apache + Dots_PHP
Network, web server, and application server
Dynamic content web sites
Dots_Apache + Dots_PHP + Dots_MySQL
Network, web server, application server, and database server
Dynamic content web sites
The prototype uses a LAMP configuration.Only Dots_Apache is required to use DotSlash.
Dots_Apache
An Apache module that supports basic DotSlash functions. Workload monitoring Rescue server discovery Rescue relationship management Request redirection Dynamic virtual hosting Dynamic DNS update
Dots_PHP An extension for the PHP module
that supports replicating PHP scripts dynamically.
Dots_MySQL A cache-enhanced data driver that
supports caching database query results on demand.
Requires the memcached engine and libmemcache C library.
State Transitions and Restrictions
NormalSOS RescueComplete release
Initial allocation
Additional allocation
Partial release
Accept rescue request
Partial shutdown
Accept rescue request
Complete shutdown
S1 S2
S8
S7
S4
S3
S4
S6
rescuingStates are mutually exclusive
i.e. a server cannot provide a rescue server while receiving a rescue service.
HTTP Request Rescue
Clientorigin.com
DNSrescue.com
DNS
www.origin.com(1.2.3.4)
www.rescue.com(5.6.7.8)
Cache
DNS round-robin and Dynamic Virtual Hosting are implemented to manage rescue servers.
(e.g. www-vh1.rescue.com, www-vh2.rescue.com, etc.)
Rescuing Dynamic Content
Original PHP (or other server-side script) is cached on rescue servers.
File Inclusions (include, require, etc.) Customized error handler for each
script. Security Issues?
Client
www.origin.com(So)
www.rescue.com(Sr)
DB(1)
(2)
(7)
(6)(5)(4)
(3)
(8)
Effectiveness
The Database Bottleneck
Client
DatabaseServer
Query Result CacheWeb/Application
ServerData Driver
Query Result CacheWeb/Application
ServerData Driver
Original Server
Rescue Server
DatabaseServer
References
Weibin Zhao, DotSlash, <http://www1.cs.columbia.edu/~zwb/project/dotslash/>.
Weibin Zhao and Henning Schulzrinne, "Building an Adaptive Distributed Web Server System on the Fly for Handling Web Hotspots," in ACM Symposium on Principles of Distributed Computing (PODC'04) (brief announcement), St. John's, Newfoundland, Canada, July 2004.
Weibin Zhao and Henning Schulzrinne, "DotSlash: Handling Web Hotspots at Dynamic Content Web Sites," in IEEE Global Internet Symposium, Miami, Florida, March 2005.
“Slashdot effect.” Wikipedia.