Upload
materia-perrin
View
25
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Advanced Internet and Web Systems. C. Edward Chow. Outline of the Talk. Syllabus Introduction to WWW Systems Survey of Web Cluster Systems Survey of Caching Techniques Server Selection and Load Balancing. Introduction to WWW Systems. Web Server Hosting web pages. Retrieving web pages - PowerPoint PPT Presentation
Citation preview
Advanced Internet and Web Advanced Internet and Web SystemsSystemsAdvanced Internet and Web Advanced Internet and Web SystemsSystems
C. Edward ChowC. Edward ChowC. Edward ChowC. Edward Chow
Advanced Internet & Web Systems
chow 2
Outline of the TalkOutline of the TalkOutline of the TalkOutline of the Talk
SyllabusSyllabus
Introduction to WWW SystemsIntroduction to WWW Systems
Survey of Web Cluster SystemsSurvey of Web Cluster Systems
Survey of Caching TechniquesSurvey of Caching Techniques
Server Selection and Load BalancingServer Selection and Load Balancing
Advanced Internet & Web Systems
chow 3
Introduction to WWW Introduction to WWW SystemsSystems
Web ClientBrowser
Web ServerHosting web pages
Web Authoring Systemcreate web pages
Publishweb pages
Retrieving web pagesusing HTTP
protocol
Internet
Web page: document written in HTML
Scanner
Video capture
Sound card
Advanced Internet & Web Systems
chow 4
What is Unique in What is Unique in WWW?WWW?
Hyperlink: Use Hypertext Markup Language Hyperlink: Use Hypertext Markup Language HTMLHTML to describe the document in ASCII text to describe the document in ASCII text (extended to iso-8859-1)(extended to iso-8859-1)
Naming scheme: Name object in the web with Naming scheme: Name object in the web with Universal Resource Locator (URL) with syntax:Universal Resource Locator (URL) with syntax:protocol://domain_name/<uri or path name>protocol://domain_name/<uri or path name>
HTTP: HyperText Transfer ProtocolHTTP: HyperText Transfer Protocola simple request-response protocol for a simple request-response protocol for transferring HTML documentstransferring HTML documents
ASCII text based (not binary, therefore easy to ASCII text based (not binary, therefore easy to debug)debug)
Advanced Internet & Web Systems
chow 5
Web Authoring SystemWeb Authoring SystemText Editor: type in HTML <tag> and contentText Editor: type in HTML <tag> and content
HTML Editor: like normal word processor, user did not HTML Editor: like normal word processor, user did not have know a lot about HTML syntax. Provide easy have know a lot about HTML syntax. Provide easy upload/download function.upload/download function.
DreamweaverDreamweaver
Netscape Page Composer, MS Front PageNetscape Page Composer, MS Front Page
Front Page takes another step by providing templates Front Page takes another step by providing templates and hyperlink management functionsand hyperlink management functions
Most desktop publishing software and word processor Most desktop publishing software and word processor have built-in converters to convert from their internal have built-in converters to convert from their internal format to HTML format. For exampleformat to HTML format. For example
FrameMaker, Office97(require special viewer)FrameMaker, Office97(require special viewer)
Advanced Internet & Web Systems
chow 6
Web Delivery SystemsWeb Delivery SystemsWeb Delivery SystemsWeb Delivery SystemsDelivery web documents efficiently and Delivery web documents efficiently and reliably to the web clients.reliably to the web clients.
Content Distribution and Content Content Distribution and Content DeliveryDelivery
Performance is decided by Performance is decided by Web server performanceWeb server performance
Network path performanceNetwork path performance
Client browser performance.Client browser performance.
Use multiple physical servers (server Use multiple physical servers (server farm), and multiple server farms in farm), and multiple server farms in wide area.wide area.
New generation of proxy New generation of proxy servers/content switches emerge.servers/content switches emerge.
Delivery web documents efficiently and Delivery web documents efficiently and reliably to the web clients.reliably to the web clients.
Content Distribution and Content Content Distribution and Content DeliveryDelivery
Performance is decided by Performance is decided by Web server performanceWeb server performance
Network path performanceNetwork path performance
Client browser performance.Client browser performance.
Use multiple physical servers (server Use multiple physical servers (server farm), and multiple server farms in farm), and multiple server farms in wide area.wide area.
New generation of proxy New generation of proxy servers/content switches emerge.servers/content switches emerge.
Advanced Internet & Web Systems
chow 7
Clients
Content Delivery Network Content Delivery Network (CDN)(CDN)Content Delivery Network Content Delivery Network (CDN)(CDN)
Host Server
MindSpring
PSINetSprint
Gloobix
QWest
@Home
UUnet
Huge Requests
Server Crash
Slow Response
Clients
Clients
Advanced Internet & Web Systems
chow 8
Content Delivery Content Delivery ProblemsProblemsContent Delivery Content Delivery ProblemsProblems
http://www.akamai.com
Advanced Internet & Web Systems
chow 9
Use Client Cache/Use Client Cache/Client Side Cache ServerClient Side Cache ServerUse Client Cache/Use Client Cache/Client Side Cache ServerClient Side Cache Server
Host Server
MindSpring
PSINetSprint
Gloobix
@Home
UUnet
Fewer Requests
Clients
Clients
Clients
ClientCache
ClientSideCacheServer
QWest
Fast Response
Advanced Internet & Web Systems
chow 10
Use Mirror SitesUse Mirror SitesUse Mirror SitesUse Mirror Sites
Host Server
MindSpring
PSINetSprint
Gloobix
QWest
@Home
UUnet
Fewer Requests
Server
Fast Response
Clients
Clients
Clients
Mirror Site
Mirror Site
Need improvement by guiding the selection of mirror servers with server load/network bandwidth measurement
Advanced Internet & Web Systems
chow 11
Edge Network Cache Edge Network Cache ServersServersEdge Network Cache Edge Network Cache ServersServers
Host Server
MindSpring
PSINetSprint
Gloobix
QWest
@Home
UUnet
Fewer Requests
Server
Fast Response
Clients
ClientsClients
ClientCache
Mirror Site
Mirror SiteEdgeNetworkCacheServer
CacheServer
CacheServer
CacheServer
CacheServer
ClientSideCacheServer
Advanced Internet & Web Systems
chow 12
Architecture solutions for Architecture solutions for scalable Web-server scalable Web-server systems (Fig. 1)systems (Fig. 1)
Architecture solutions for Architecture solutions for scalable Web-server scalable Web-server systems (Fig. 1)systems (Fig. 1)
Advanced Internet & Web Systems
chow 13
Fig. 2Fig. 2. Model architecture . Model architecture for a locally distributed for a locally distributed Web systemWeb system
Fig. 2Fig. 2. Model architecture . Model architecture for a locally distributed for a locally distributed Web systemWeb system
Advanced Internet & Web Systems
chow 14
Fig. 3Fig. 3. Architecture of a . Architecture of a cluster-based Web systemcluster-based Web systemFig. 3Fig. 3. Architecture of a . Architecture of a cluster-based Web systemcluster-based Web system
Advanced Internet & Web Systems
chow 15
Fig. 4Fig. 4. Architecture of a . Architecture of a virtual Web clustervirtual Web clusterFig. 4Fig. 4. Architecture of a . Architecture of a virtual Web clustervirtual Web cluster
Advanced Internet & Web Systems
chow 16
Fig. 5Fig. 5. Architecture of a . Architecture of a distributed Web systemdistributed Web systemFig. 5Fig. 5. Architecture of a . Architecture of a distributed Web systemdistributed Web system
Advanced Internet & Web Systems
chow 17
Content DistributionContent DistributionContent DistributionContent Distribution
Secure, automate content/application Secure, automate content/application distribution to single (multiple server)/wide distribution to single (multiple server)/wide area Internet sites.area Internet sites.
Provide replication, synchronization, staged Provide replication, synchronization, staged rollout and roll back.rollout and roll back.
With revision control, transmit only updates.With revision control, transmit only updates.
User-defined file distribution profiles/rulesUser-defined file distribution profiles/rules
Secure, automate content/application Secure, automate content/application distribution to single (multiple server)/wide distribution to single (multiple server)/wide area Internet sites.area Internet sites.
Provide replication, synchronization, staged Provide replication, synchronization, staged rollout and roll back.rollout and roll back.
With revision control, transmit only updates.With revision control, transmit only updates.
User-defined file distribution profiles/rulesUser-defined file distribution profiles/rules
Advanced Internet & Web Systems
chow 18
Content Delivery Content Delivery ProblemProblemContent Delivery Content Delivery ProblemProblem
Cache Location Problem: Cache Location Problem: Where to put cache servers?Where to put cache servers?
How many are needed?How many are needed?
When/where/how to push/delivery the When/where/how to push/delivery the content?content?
How about dynamic content?How about dynamic content?
Cache Location Problem: Cache Location Problem: Where to put cache servers?Where to put cache servers?
How many are needed?How many are needed?
When/where/how to push/delivery the When/where/how to push/delivery the content?content?
How about dynamic content?How about dynamic content?
Advanced Internet & Web Systems
chow 19
Akamai Edge Delivery Akamai Edge Delivery ServiceServiceAkamai Edge Delivery Akamai Edge Delivery ServiceService
Peering Bottleneck ProblemPeering Bottleneck Problem: : Access traffic evenly spread over 7400+ Access traffic evenly spread over 7400+ networks networks (no one over 5%; most << 1%)(no one over 5%; most << 1%) Need to put edge servers in many Need to put edge servers in many networks.networks.
11/2000, 4 billion bits/day for 2800 sites.11/2000, 4 billion bits/day for 2800 sites.
Source Http://www.akamai.comSource Http://www.akamai.com
Peering Bottleneck ProblemPeering Bottleneck Problem: : Access traffic evenly spread over 7400+ Access traffic evenly spread over 7400+ networks networks (no one over 5%; most << 1%)(no one over 5%; most << 1%) Need to put edge servers in many Need to put edge servers in many networks.networks.
11/2000, 4 billion bits/day for 2800 sites.11/2000, 4 billion bits/day for 2800 sites.
Source Http://www.akamai.comSource Http://www.akamai.com
DateDate # of # of Edge Edge ServersServers
# of # of NetworksNetworks
# of # of CountriesCountries
11/200011/2000 60006000 335335 54546/20016/2001 97009700 650650 5656
Advanced Internet & Web Systems
chow 20
F5 Web System ProductF5 Web System ProductF5 Web System ProductF5 Web System Product
BIG-IPBIG-IP
Server ArrayServer Array
WebmasterWebmaster
Site ISite I
newyork.domain.comnewyork.domain.com
Site IIISite III
tokyo.domain.comtokyo.domain.com
Site IISite II
losangeles.domain.comlosangeles.domain.com
UserUser
london.domain.comlondon.domain.com
Local DNSLocal DNS
3-DNS3-DNS
GLOBAL-SITEGLOBAL-SITE
RouterRouter
BIG-IPBIG-IP
InternetInternetInternetInternet
Advanced Internet & Web Systems
chow 21
BIG/ip - Delivers High BIG/ip - Delivers High AvailabilityAvailability BIG/ip - Delivers High BIG/ip - Delivers High AvailabilityAvailability
E-commerceE-commerce - ensures sites are not only up-and- - ensures sites are not only up-and-running, but taking ordersrunning, but taking orders
Fault-toleranceFault-tolerance - eliminates single points of failure - eliminates single points of failure
Content AvailabilityContent Availability - verifies servers are responding - verifies servers are responding with the correct contentwith the correct content
Directory & AuthenticationDirectory & Authentication - load balance multiple - load balance multiple directory and/or authentication services (LDAP, Radius, directory and/or authentication services (LDAP, Radius, and NDS)and NDS)
Portals/Search EnginesPortals/Search Engines – Using EAV administrators – Using EAV administrators perform key-word searchesperform key-word searches
Legacy SystemsLegacy Systems - Load balance services to multiple - Load balance services to multiple interactive servicesinteractive services
GatewaysGateways – Load balance gateways (SAA, SNA, etc.) – Load balance gateways (SAA, SNA, etc.)
E-mail (POP, IMAP, SendMail)E-mail (POP, IMAP, SendMail) - Balances traffic - Balances traffic across a large number of mail serversacross a large number of mail servers
E-commerceE-commerce - ensures sites are not only up-and- - ensures sites are not only up-and-running, but taking ordersrunning, but taking orders
Fault-toleranceFault-tolerance - eliminates single points of failure - eliminates single points of failure
Content AvailabilityContent Availability - verifies servers are responding - verifies servers are responding with the correct contentwith the correct content
Directory & AuthenticationDirectory & Authentication - load balance multiple - load balance multiple directory and/or authentication services (LDAP, Radius, directory and/or authentication services (LDAP, Radius, and NDS)and NDS)
Portals/Search EnginesPortals/Search Engines – Using EAV administrators – Using EAV administrators perform key-word searchesperform key-word searches
Legacy SystemsLegacy Systems - Load balance services to multiple - Load balance services to multiple interactive servicesinteractive services
GatewaysGateways – Load balance gateways (SAA, SNA, etc.) – Load balance gateways (SAA, SNA, etc.)
E-mail (POP, IMAP, SendMail)E-mail (POP, IMAP, SendMail) - Balances traffic - Balances traffic across a large number of mail serversacross a large number of mail servers
Advanced Internet & Web Systems
chow 22
3DNS Intelligent Load Balancing3DNS Intelligent Load Balancing3DNS Intelligent Load Balancing3DNS Intelligent Load Balancing
Intelligent Load BalancingIntelligent Load BalancingQoS Load BalancingQoS Load Balancing
Quality of Service load balancing is the Quality of Service load balancing is the ability to select apply different load ability to select apply different load balancing methods for different users or balancing methods for different users or request typesrequest types
Modes of Load BalancingModes of Load BalancingRound Robin Round Robin RatioRatio
Least ConnectionsLeast Connections RandomRandom
User-defined Quality-of-ServiceUser-defined Quality-of-Service Round Trip TimeRound Trip Time
Completion Rate (Packet Loss)Completion Rate (Packet Loss) BIG/ip Packet RateBIG/ip Packet Rate
Global AvailabilityGlobal Availability HOPSHOPS
Topology DistributionTopology Distribution Access ControlAccess Control
LDNS Round RobinLDNS Round Robin Dynamic RatioDynamic Ratio
E-CommerceE-Commerce
Intelligent Load BalancingIntelligent Load BalancingQoS Load BalancingQoS Load Balancing
Quality of Service load balancing is the Quality of Service load balancing is the ability to select apply different load ability to select apply different load balancing methods for different users or balancing methods for different users or request typesrequest types
Modes of Load BalancingModes of Load BalancingRound Robin Round Robin RatioRatio
Least ConnectionsLeast Connections RandomRandom
User-defined Quality-of-ServiceUser-defined Quality-of-Service Round Trip TimeRound Trip Time
Completion Rate (Packet Loss)Completion Rate (Packet Loss) BIG/ip Packet RateBIG/ip Packet Rate
Global AvailabilityGlobal Availability HOPSHOPS
Topology DistributionTopology Distribution Access ControlAccess Control
LDNS Round RobinLDNS Round Robin Dynamic RatioDynamic Ratio
E-CommerceE-Commerce
Advanced Internet & Web Systems
chow 23
GLOBAL-SITE Replicate GLOBAL-SITE Replicate Multiple Servers and Multiple Servers and SitesSites
GLOBAL-SITE Replicate GLOBAL-SITE Replicate Multiple Servers and Multiple Servers and SitesSites
File archiving engine and scheduler for automated site File archiving engine and scheduler for automated site and server replicationand server replication
BIG-IP controls server availability during replication and BIG-IP controls server availability during replication and synchronizationsynchronization
Gracefully shutdown for updateGracefully shutdown for update
update in group/scheduled mannerupdate in group/scheduled manner
FTP provides transferring files from GLOBAL-SITE to FTP provides transferring files from GLOBAL-SITE to target servers (agent free, scalable)target servers (agent free, scalable)
RCE for source controlRCE for source control
No client side softwareNo client side software
Complete, turnkey system (appliance)Complete, turnkey system (appliance)(adapt from F5 presentation)(adapt from F5 presentation)
File archiving engine and scheduler for automated site File archiving engine and scheduler for automated site and server replicationand server replication
BIG-IP controls server availability during replication and BIG-IP controls server availability during replication and synchronizationsynchronization
Gracefully shutdown for updateGracefully shutdown for update
update in group/scheduled mannerupdate in group/scheduled manner
FTP provides transferring files from GLOBAL-SITE to FTP provides transferring files from GLOBAL-SITE to target servers (agent free, scalable)target servers (agent free, scalable)
RCE for source controlRCE for source control
No client side softwareNo client side software
Complete, turnkey system (appliance)Complete, turnkey system (appliance)(adapt from F5 presentation)(adapt from F5 presentation)
Advanced Internet & Web Systems
chow 24
Intel NetStructureIntel NetStructureIntel NetStructureIntel NetStructure
Routing based on XML tag (e.g., given preferred Routing based on XML tag (e.g., given preferred treatment for buyers, large volume)treatment for buyers, large volume)
http://www.intel.com/network/solutions/xml.htmhttp://www.intel.com/network/solutions/xml.htm
Routing based on XML tag (e.g., given preferred Routing based on XML tag (e.g., given preferred treatment for buyers, large volume)treatment for buyers, large volume)
http://www.intel.com/network/solutions/xml.htmhttp://www.intel.com/network/solutions/xml.htm
Advanced Internet & Web Systems
chow 25
1. Compared to SUN E450 server
Advanced Internet & Web Systems
chow 26
Simple Web Access Simple Web Access Example: Step1Example: Step1
Someone requests a document using a browser (Web Client) on Someone requests a document using a browser (Web Client) on a computer connected to Interneta computer connected to Internet
On a browser window Type in a URL, On a browser window Type in a URL, http://http://news.netcraft.com/archives/web_server_survey.htmlnews.netcraft.com/archives/web_server_survey.html
Equivalent of %telnet www.netcraft.co.uk 80 > outEquivalent of %telnet www.netcraft.co.uk 80 > outGET /survey/ HTTP/1.0<cr>GET /survey/ HTTP/1.0<cr><cr><cr>
Here <cr> is “carriage return” entered by pressing Here <cr> is “carriage return” entered by pressing “enter”key“enter”key
The browser parses the URL, The browser parses the URL,
obtains domain name of url, www.netcraft.co.ukobtains domain name of url, www.netcraft.co.uk
asks Domain Name Server (DNS) for translating the domain asks Domain Name Server (DNS) for translating the domain name to the IP addressname to the IP address
with IP address the client computer set up a HTTP connection with IP address the client computer set up a HTTP connection to the serverto the server
Advanced Internet & Web Systems
chow 27
Computer NetworkComputer NetworkLocal Area Network (LAN): a private-owned network within a single Local Area Network (LAN): a private-owned network within a single
building or campus of up to a few kilometer in size building or campus of up to a few kilometer in size (Tanenbaum).(Tanenbaum).
Wide Area Network (WAN): a network that spans a large Wide Area Network (WAN): a network that spans a large geographical area, often a country or continent, and connects geographical area, often a country or continent, and connects LANs or MANs. It consists of transmission line (called circuits, LANs or MANs. It consists of transmission line (called circuits, channels, or trunks) and switching elements (called switching channels, or trunks) and switching elements (called switching nodes, data switching exchanges or router).nodes, data switching exchanges or router).
host router
LAN
hostrouter
LANhost
LAN
host
LANcommunication subnet
DNSweb client
web serverDNS
Advanced Internet & Web Systems
chow 28
Protocol and Protocol Protocol and Protocol LayerLayer
A set of rules for achieving a global objective A set of rules for achieving a global objective exercised by geographically distributed nodes. exercised by geographically distributed nodes. (Robert Gallager, Prof. EE MIT)(Robert Gallager, Prof. EE MIT)
Physical
Application
Presentation
Session
Transport
Network
Data Link
End-to-End
Networking
Processing
Communication
user-oriented functions
syntactic, format compatibility
value-added features to transport connection
reliable transfer between
establish connection between
reliable transfer across a link
attachment to network or comm. line
processes at different hosts
different hosts in a net
between neighboring hosts
Advanced Internet & Web Systems
chow 29
Protocol Data Protocol Data EncapsulationEncapsulation
Physical
Application
Presentation
Session
Transport
Network
Data Link
Physical
Application
Presentation
Session
Transport
Network
Data Link
Physical Transmission Medium
Data
Data
AH
DataPH
DataSH
DataTH
DataNH
DataLH LT
Message between entities consist of two parts: header and payload.Data from upper layer are put in the payload.Header contains info to allow receiving
end to deliver to the right upper layer entity.TH: Transport Layer Header
Advanced Internet & Web Systems
chow 30
Internet Protocol Layer Internet Protocol Layer InterfaceInterface
Application
Transport
IP
TCP
IP
FTP
(4) SAP’s
(3)SAP’s
Layer
Layer
Ports
NetworkLayer
SAP: Service Access Point
UDP
21 25
DNS
53
W3Server
MINSServer
WebClient1
80 2001 2002
SMTP
Advanced Internet & Web Systems
chow 31
Simple Web Access Simple Web Access Example: Step2Example: Step2Browser sends the following character string to serverBrowser sends the following character string to server
GET /survey/ HTTP/1.0GET /survey/ HTTP/1.0User-agent: Mosaic for X windows/2.4User-agent: Mosaic for X windows/2.4Accept: text/plainAccept: text/plainAccept: text/htmlAccept: text/htmlAccept: image/*Accept: image/*
httpd server httpd server
parses the request according to HTTP protocol 1.0parses the request according to HTTP protocol 1.0
interprets rest of the metainfo for browser capabilitiesinterprets rest of the metainfo for browser capabilities
Maps the /survey/ to Maps the /survey/ to c:/InetPub/wwwrootc:/InetPub/wwwroot/survey//survey/default.htmdefault.htma file path in its file system according to server configuration.a file path in its file system according to server configuration.
retrieves retrieves c:/InetPub/wwwrootc:/InetPub/wwwroot/survey//survey/default.htmdefault.htm or index.html or index.html
sends information back using HTTP/1.0 formatsends information back using HTTP/1.0 format
Advanced Internet & Web Systems
chow 32
Simple Web Access Simple Web Access Example: Step3Example: Step3
Server replies information using HTTP/1.0 formatServer replies information using HTTP/1.0 format
HTTP/1.0 200 Document followsHTTP/1.0 200 Document follows
Date: Tue, 19 Jan 1999 18:10:20 GMTDate: Tue, 19 Jan 1999 18:10:20 GMT
Server: NCSA/1.5Server: NCSA/1.5
Content-type: text/htmlContent-type: text/html
<html><html>
<head><title>Netcraft Web Server Survey</title></head><head><title>Netcraft Web Server Survey</title></head>
Server close file, set certain timeout and wait for next Server close file, set certain timeout and wait for next subsequent requests, such as images/midi files referenced subsequent requests, such as images/midi files referenced in the web page. (called keep-alive connection). When in the web page. (called keep-alive connection). When time expires, disconnect the connection.time expires, disconnect the connection.
Advanced Internet & Web Systems
chow 33
Simple Web Access Simple Web Access Example: Step3aExample: Step3a
Browser send GET /sample.htm HTTP/1.0Browser send GET /sample.htm HTTP/1.0
Server repliesServer replies
HTTP/1.0 404 Object Not FoundHTTP/1.0 404 Object Not Found
Content-Type: text/htmlContent-Type: text/html
<body><h1>HTTP/1.0 404 Object Not Found<body><h1>HTTP/1.0 404 Object Not Found
</h1></body></h1></body>
Server close file, network connection, wait Server close file, network connection, wait for next requestfor next request
Advanced Internet & Web Systems
chow 34
Simple Web Access Simple Web Access Example: Step4Example: Step4Simple Web Access Simple Web Access Example: Step4Example: Step4
Browser receives http response, a web Browser receives http response, a web document with HTML tags, from the server.document with HTML tags, from the server.
Browser parses/processes the HTML Browser parses/processes the HTML document, display the document content document, display the document content according the tags.according the tags.
When other images/audio/video data are When other images/audio/video data are referenced by <img> <object> <applet> referenced by <img> <object> <applet> tags, the browser initiates the retrieval of tags, the browser initiates the retrieval of those data. those data.
Some of them will http requests to the same Some of them will http requests to the same web servers. That is the reason why keep-web servers. That is the reason why keep-alive connection improves the web server alive connection improves the web server throughput.throughput.
A URL request may trigger many http A URL request may trigger many http requests to several web servers.requests to several web servers.
Browser receives http response, a web Browser receives http response, a web document with HTML tags, from the server.document with HTML tags, from the server.
Browser parses/processes the HTML Browser parses/processes the HTML document, display the document content document, display the document content according the tags.according the tags.
When other images/audio/video data are When other images/audio/video data are referenced by <img> <object> <applet> referenced by <img> <object> <applet> tags, the browser initiates the retrieval of tags, the browser initiates the retrieval of those data. those data.
Some of them will http requests to the same Some of them will http requests to the same web servers. That is the reason why keep-web servers. That is the reason why keep-alive connection improves the web server alive connection improves the web server throughput.throughput.
A URL request may trigger many http A URL request may trigger many http requests to several web servers.requests to several web servers.
Advanced Internet & Web Systems
chow 35
HTTPHTTPHTTP1.0/1.1HTTP1.0/1.1http://www.w3.org/Protocols/rfc2068/rfc2068http://www.w3.org/Protocols/rfc2068/rfc2068
A HTTP request consists of A HTTP request consists of method: GET, HEAD, POST, PUT, DELETE, method: GET, HEAD, POST, PUT, DELETE,
Universal Resource Identifier (URI)Universal Resource Identifier (URI)
Protocol versionProtocol version
other info to modify or supplement the requestother info to modify or supplement the requestIf-Modified-Since: (only return object if it is newer the If-Modified-Since: (only return object if it is newer the datedate
authorization: (user password or other authentication authorization: (user password or other authentication as required)as required)
accept: application/postscriptaccept: application/postscript
Advanced Internet & Web Systems
chow 36
HTTP ResponseHTTP Responseconsists of consists of
status line (success or failure)status line (success or failure)HTTP/1.1 400 Bad RequestHTTP/1.1 400 Bad Request
200 (Document Follow), 301 (Move Permanently), 200 (Document Follow), 301 (Move Permanently), 302 (Move Temporarily), 304 (Not Modified), 401 302 (Move Temporarily), 304 (Not Modified), 401 (Unauthorized), 402 (payment required), 403 (Unauthorized), 402 (payment required), 403 (Forbidden), 404 (Not Found), 500 (server error)(Forbidden), 404 (Not Found), 500 (server error)
description of the information (metaheader)description of the information (metaheader)Server, Date, Content-Length, Content-Type, Server, Date, Content-Length, Content-Type, Content-Encoded, Last ModifiedContent-Encoded, Last Modified
actual info requestedactual info requested
Advanced Internet & Web Systems
chow 37
Content-Type: MIME Content-Type: MIME TypeType
MIME Type File ExtensionMIME Type File Extensiontext/plain txt, default (most text/plain txt, default (most
server) server) text/html htm, html text/html htm, html application/postscript psapplication/postscript psapplication/ms-powerpoint pptapplication/ms-powerpoint pptapplication/x-javascript jsapplication/x-javascript jsimage/gif gifimage/gif gifimage/jpeg jpgimage/jpeg jpgaudio/midi midaudio/midi midvideo/mpeg mpgvideo/mpeg mpgx-world/x-vrml wrlx-world/x-vrml wrl
Advanced Internet & Web Systems
chow 38
Configure MIME TypesConfigure MIME TypesConfigure MIME TypesConfigure MIME TypesFor supporting new mime types, both web For supporting new mime types, both web server and web client may need to be server and web client may need to be reconfigured. reconfigured.
For web server,For web server,
Include new mime.type definition in the Include new mime.type definition in the mime.types file of the configuration directory mime.types file of the configuration directory of the web serverof the web server
By default, most servers deliver unknown By default, most servers deliver unknown type as text/plaintype as text/plainbrowser then may display them as browser then may display them as ““gibberish”gibberish”
Restart the web serverRestart the web server
For web client,For web client,
Specify external viewer associated with the Specify external viewer associated with the mime typemime type
Or, install the plug-in associate with the mime Or, install the plug-in associate with the mime typetype
For supporting new mime types, both web For supporting new mime types, both web server and web client may need to be server and web client may need to be reconfigured. reconfigured.
For web server,For web server,
Include new mime.type definition in the Include new mime.type definition in the mime.types file of the configuration directory mime.types file of the configuration directory of the web serverof the web server
By default, most servers deliver unknown By default, most servers deliver unknown type as text/plaintype as text/plainbrowser then may display them as browser then may display them as ““gibberish”gibberish”
Restart the web serverRestart the web server
For web client,For web client,
Specify external viewer associated with the Specify external viewer associated with the mime typemime type
Or, install the plug-in associate with the mime Or, install the plug-in associate with the mime typetype
Advanced Internet & Web Systems
chow 39
Brief Survey of Web Brief Survey of Web ServersServers
http://www.w3c.org/hypertext/WWW/http://www.w3c.org/hypertext/WWW/Servers.htmlServers.html
Jigsaw, http://www.w3c.org/Jigsaw/Jigsaw, http://www.w3c.org/Jigsaw/
http://java.sun.com/products/java-servers/http://java.sun.com/products/java-servers/
http://www.yahoo.com/http://www.yahoo.com/computers_and_Internet/Internet/computers_and_Internet/Internet/World_Wide_Web/HTTP/ServersWorld_Wide_Web/HTTP/Servers
http://www.netcraft.co.uk/Survey/http://www.netcraft.co.uk/Survey/
““Web Server Technologies” by Nancy J. Yeager Web Server Technologies” by Nancy J. Yeager and Robert E. McGrath, Morgan Kaufmann and Robert E. McGrath, Morgan Kaufmann 1996.1996.
Advanced Internet & Web Systems
chow 40
CGI Script ExampleCGI Script Example
Client type Client type http://owl.uccs.edu/cgi-bin/chow/uptime.plhttp://owl.uccs.edu/cgi-bin/chow/uptime.plor click on <A HREF =“http://owl.uccs.edu or click on <A HREF =“http://owl.uccs.edu /cgi-bin/chow /uptime.pl”> Show the load on /cgi-bin/chow /uptime.pl”> Show the load on owl</A> in a web page.owl</A> in a web page.uptime.pluptime.pl
#!/usr/bin/perl#!/usr/bin/perl$UPTIME = '/usr/ucb/uptime';$UPTIME = '/usr/ucb/uptime';select(STDOUT); $| =1; #make output unbufferedprint "Content-select(STDOUT); $| =1; #make output unbufferedprint "Content-
type: text/html\n\n";type: text/html\n\n";if (-x $UPTIME) { exec($UPTIME);if (-x $UPTIME) { exec($UPTIME);
} else { print "cannot find uptime command on this system.\n"; } else { print "cannot find uptime command on this system.\n"; exit(1); }exit(1); }
Advanced Internet & Web Systems
chow 41
CGI Script Example (Step CGI Script Example (Step 2)2)
Web browser sends “GET Web browser sends “GET /cgi-bin/chow/uptime.pl HTTP/1.0” to /cgi-bin/chow/uptime.pl HTTP/1.0” to owl.uccs.eduowl.uccs.edu
httpd server at owl parses the request and httpd server at owl parses the request and discovers that a perl script needs to be discovers that a perl script needs to be executed.executed.
It locates the script in the file system.It locates the script in the file system.
Create the execution environmentCreate the execution environmentstarting a process with appropriate shell environment starting a process with appropriate shell environment variable setvariable set
with STDIN from httpd programwith STDIN from httpd program
with STDOUT to httpdwith STDOUT to httpd
Advanced Internet & Web Systems
chow 42
CGI Script Example (Step CGI Script Example (Step 3)3)
uptime.pl generates uptime.pl generates Content-type: text/plainContent-type: text/plain
15:55 up 18 days, 7:15, 5 users, load average: 0.89, 0.81, 15:55 up 18 days, 7:15, 5 users, load average: 0.89, 0.81, 0.790.79
It was sent over STDOUT back to httpdIt was sent over STDOUT back to httpd
httpd add httpd add HTTP/1.0 200 OKHTTP/1.0 200 OK
Server: Netscape-Communications/1.1Server: Netscape-Communications/1.1
Date: Tuesday, 27-Jan-98 23:12:45 GMTDate: Tuesday, 27-Jan-98 23:12:45 GMT
httpd relays the text string back to the web httpd relays the text string back to the web browserbrowser
Advanced Internet & Web Systems
chow 43
What problems can What problems can occur?occur?
How to detect a script running infinite How to detect a script running infinite loop?loop?
How to detect a hung script?How to detect a hung script?
Advanced Internet & Web Systems
chow 44
Handle Multiple Handle Multiple RequestsRequests
Can’t afford sequential processing, since some Can’t afford sequential processing, since some requested documents are big. requested documents are big.
Three basic approaches:Three basic approaches:
1. Fork a new child process: Cloning a copy of httpd1. Fork a new child process: Cloning a copy of httpd
2. Use multithread (if the OS or language support it)2. Use multithread (if the OS or language support it)e.g., IIS, Java Web Server, Jigsawe.g., IIS, Java Web Server, Jigsaw
3. Spread the load among several helper programs3. Spread the load among several helper programse.g., Apachee.g., Apache
Apache allows the starting , min, max # of child web Apache allows the starting , min, max # of child web server processes to be specified in a configuration file. server processes to be specified in a configuration file. It can dynamically adjust to the load.It can dynamically adjust to the load.
Advanced Internet & Web Systems
chow 45
More than One Web Service on More than One Web Service on the Same Server Platformthe Same Server Platform
Run different/same httpd programs on different Run different/same httpd programs on different portsports
http://www.server.org/intro.html (port 80 by http://www.server.org/intro.html (port 80 by default)default)
http://www.server.org:8080/intro.html (port 8080)http://www.server.org:8080/intro.html (port 8080)
http://www.server.org:8081/intro.html (port 8081)http://www.server.org:8081/intro.html (port 8081)
They may have different document trees, They may have different document trees, content, and access control, and serve different content, and access control, and serve different user groups (customer, sales, authorized)user groups (customer, sales, authorized)
Note that running program at any port < 1024 Note that running program at any port < 1024 requires root privilege.requires root privilege.
Advanced Internet & Web Systems
chow 46
Virtual HostingVirtual HostingTo allow one server to server requests with multiple IP To allow one server to server requests with multiple IP addresses.addresses.
It is a It is a low costlow cost option for clients that want own id and option for clients that want own id and cannot afford a separate machine/connection.cannot afford a separate machine/connection.
Hosting other domain names on the same machine.Hosting other domain names on the same machine.http://www.a.com/home.htmlhttp://www.a.com/home.html
http://www.b.com/home.htmlhttp://www.b.com/home.html
Require OS with virtual host support.Require OS with virtual host support.
Assign Multiple IP numbers to the same interfaceAssign Multiple IP numbers to the same interfaceusing the using the ifconfigifconfig command in UNIX or ipconfig in NT. command in UNIX or ipconfig in NT.
Advanced Internet & Web Systems
chow 47
Assign Multiple IP Assign Multiple IP Address to the Same Address to the Same InterfaceInterface
On FreeBSD, executeOn FreeBSD, execute
ifconfig ep0 192.168.123.2ifconfig ep0 192.168.123.2
ifconfig ep0 192.168.123.3 alias netmask 0XFFFFFFFFifconfig ep0 192.168.123.3 alias netmask 0XFFFFFFFF
ifconfig ep0 192.168.124.1 aliasifconfig ep0 192.168.124.1 alias
(netmask option is used to suppress error msg)(netmask option is used to suppress error msg)
On Linux, executeOn Linux, execute
ifconfig eth0:0 192.168.123.3 192.168.124.1ifconfig eth0:0 192.168.123.3 192.168.124.1
you may addyou may add
# route add -host 192.168.123.3 dev eth0:0# route add -host 192.168.123.3 dev eth0:0
# route add -host 192.168.124.1 dev eth0:0# route add -host 192.168.124.1 dev eth0:0
Advanced Internet & Web Systems
chow 48
New Hosting TechniqueNew Hosting TechniqueNew Hosting TechniqueNew Hosting Technique
Set up virtual machines for each Set up virtual machines for each customercustomer
Related software packages:Related software packages:User mode LinuxUser mode Linux
VMWare ESX and Virtual VMWare ESX and Virtual Center/Infrastructure.Center/Infrastructure.
MS VS 2005MS VS 2005
Utility Computing (On-Demand ComputiUtility Computing (On-Demand Computing)ng)
Advanced Internet & Web Systems
chow 49
Improving WWW Improving WWW Delivery Systems Delivery Systems
Currently network is bottleneck.Currently network is bottleneck.
The retrieval of web pages can be The retrieval of web pages can be improved byimproved by
increasing network bandwidth, e.g., ADSL linkincreasing network bandwidth, e.g., ADSL link
reducing round trip, e.g., use client side reducing round trip, e.g., use client side programming to check data with Java/Javascriptprogramming to check data with Java/Javascript
caching (both at client and proxy cache server)caching (both at client and proxy cache server)
increase # and processing power of web serversincrease # and processing power of web servers
load balancing by partitioning client-server load balancing by partitioning client-server requestsrequests
Advanced Internet & Web Systems
chow 50
Large Web SitesLarge Web SitesMapping the request, e.g., ftp.netscape.com, evenly Mapping the request, e.g., ftp.netscape.com, evenly across a set of server, e.g., ftp[1-28].netscape.comacross a set of server, e.g., ftp[1-28].netscape.com
to Internet
Router/Firewall
Router/Firewall
DMZ FirewallRRDNS
WebServer1
WebServer9
InternalProxy Server
HA NFS Server HA NFS Server
WebPages
To Intranet
Advanced Internet & Web Systems
chow 51
CISCO Distributed CISCO Distributed DirectorDirector
Distributed Director Distributed Director uses, the Director uses, the Director Response Protocol Response Protocol (DRP), a UDP-based (DRP), a UDP-based application for application for querying DRP server querying DRP server agent for BGP and agent for BGP and IGP routing table IGP routing table metrics between metrics between distributed servers distributed servers and clients, and and clients, and perform load perform load distribution.distribution.
Advanced Internet & Web Systems
chow 52
Internet CachingInternet CachingHarvest/SQUID Cache: Harvest/SQUID Cache: hierarchicalhierarchical, 42% ftp bw reduction, 42% ftp bw reduction
Client/Proxy Cache. Client/Proxy Cache. Local Small, 65% bw reductionLocal Small, 65% bw reduction
Server PushServer Push Cache: Cache: Gwertzman and Seltzer (cornell)Gwertzman and Seltzer (cornell)
Distributed Internet Cache: Distributed Internet Cache: Povey and Harrison (uq) Povey and Harrison (uq) hierarchical index on tree tophierarchical index on tree top, content on the leave, content on the leave
Cachemesh: Cachemesh: Wong and Crowcroft (ucl)Wong and Crowcroft (ucl)cache routing tablecache routing table for reducing search overhead for reducing search overhead
WebWave: WebWave: Heddaya and Mirdad (bu)Heddaya and Mirdad (bu)Cache on RouteCache on Route, Tree Load Balancing &Load Diffusion, Tree Load Balancing &Load Diffusion
Adaptive Web Caching: Adaptive Web Caching: Zhang, Floyd, JacobsonZhang, Floyd, JacobsonSelf-configuration Cache Group, MulticastSelf-configuration Cache Group, Multicast..
Advanced Internet & Web Systems
chow 53
Havest/SQUID Object Havest/SQUID Object CacheCache
Hierarchical Cache: Danzig, Hall & Schwartz shows it reduces 42% of FTP traffic. Hierarchical Cache: Danzig, Hall & Schwartz shows it reduces 42% of FTP traffic. Place Place Big Big caches between regional networks and backbone. Byte*hop as metriccaches between regional networks and backbone. Byte*hop as metric
Havest Object Cache: Havest Object Cache: manual configuratedmanual configurated hierarchical cache system. Client uses hierarchical cache system. Client uses Internet Cache Protocol (ICP) to (Internet Cache Protocol (ICP) to (recursivelyrecursively) query Sibling and Parent caches) query Sibling and Parent caches
NLANR SQUID Object Cache. Internet hierarchical cache system. Problems:NLANR SQUID Object Cache. Internet hierarchical cache system. Problems:14 separate Australian branches from US14 separate Australian branches from US
CA content sources distribute content through East Coast root cache, back to CA clients.CA content sources distribute content through East Coast root cache, back to CA clients.
Advanced Internet & Web Systems
chow 54
Server Push CacheServer Push CacheAssume a network with a lot of push Assume a network with a lot of push cache servers.cache servers.
Show server initiated cache (push Show server initiated cache (push cache) can be combined with client cache) can be combined with client cache to be very effective.cache to be very effective.
Use network topology info and access Use network topology info and access history to decide which push cach history to decide which push cach server to place replica.server to place replica.
Advanced Internet & Web Systems
chow 55
Distributed Internet Distributed Internet CacheCache
Povey and Harrison (Univ. of Queenland, Povey and Harrison (Univ. of Queenland, Brisbane) Brisbane)
Address hierarchical cache problemAddress hierarchical cache problem
Hierarchical structure for data searhing only.Hierarchical structure for data searhing only.with mapping info on non-leave nodes, with mapping info on non-leave nodes, content on the leave.content on the leave.
After retrieving a new page, send advertisment After retrieving a new page, send advertisment up the tree hierarchy. Non-leave node in the up the tree hierarchy. Non-leave node in the path store the advertisement (url, cache loc.) path store the advertisement (url, cache loc.) in its table.in its table.
Disadvantages: increase load on leave caches. Disadvantages: increase load on leave caches.
Advanced Internet & Web Systems
chow 56
CachemeshCachemeshWong and Crowcroft (University College London).Wong and Crowcroft (University College London).
Client search cache routing table for cache location.Client search cache routing table for cache location.
A collection of co-operating caches use Cache A collection of co-operating caches use Cache Information Exchange Protocol (CIEP) to add/delete Information Exchange Protocol (CIEP) to add/delete entries to the cache routing table.entries to the cache routing table.
Web site as unit for cache table entriesWeb site as unit for cache table entries
Collision resolution when multiple cache servers claim Collision resolution when multiple cache servers claim responsibility (based on freq.) for a web site: use responsibility (based on freq.) for a web site: use random CIEP_ADD/DELETE sending delay.random CIEP_ADD/DELETE sending delay.
Realistic metrics to be used for selecting cache server.Realistic metrics to be used for selecting cache server.
Advanced Internet & Web Systems
chow 57
WebWaveWebWaveHeddaya and Mirdad (Boston Univ.)Heddaya and Mirdad (Boston Univ.)
No directory lookup or cache search.No directory lookup or cache search.
Cache lies along the route to the source.Cache lies along the route to the source.
Assume cache server can change filter rules Assume cache server can change filter rules in router to intercept and server the web in router to intercept and server the web requests.requests.
Define Optimal Tree Load Balancing (TLB).Define Optimal Tree Load Balancing (TLB).
Provide load diffusion algorithms that achieve Provide load diffusion algorithms that achieve TLB.TLB.
Only address single tree for now. Only address single tree for now.
Advanced Internet & Web Systems
chow 58
Adaptive Web CacheAdaptive Web CacheZhang (UCLA), Floyd, Jacobson (NRG, LBNL)Zhang (UCLA), Floyd, Jacobson (NRG, LBNL)
New DARPA-funded research project. New DARPA-funded research project.
Focus on scalability and self-configurationFocus on scalability and self-configuration..
Self-configuration Self-configuration Cache Group use Cache Cache Group use Cache Group Management Protocol (CGMP).Group Management Protocol (CGMP).
IP Multicast delivery.IP Multicast delivery.
Cache server may join multiple cache groups Cache server may join multiple cache groups (select multi-homed hosts as cache server)(select multi-homed hosts as cache server)
Ideally one cache server forward requests to Ideally one cache server forward requests to the source.the source.
Advanced Internet & Web Systems
chow 59
Dynamic Server Dynamic Server Selection One candidate Selection One candidate architecturearchitecture
WebServer2
WebServer8
WebServer1
WebServer9
client
LB Agent
Server push load status
Client proberesponse time
LB AgentLB Agent LB Agent
Advanced Internet & Web Systems
chow 60
Novel Server Selection Novel Server Selection TechniqueTechniqueFei et al (Ammar) [GIT-CC-97-Fei et al (Ammar) [GIT-CC-97-24]24]
Use application layer anycast to select the best Use application layer anycast to select the best geographically separated web servers.geographically separated web servers.
Server push (server load status) to resolver.Server push (server load status) to resolver.
Only push when load change over threshold.Only push when load change over threshold.
Client (resolver) probe (response time of the Client (resolver) probe (response time of the server)server)
Retrieve fixed size document in each server.Retrieve fixed size document in each server.
Avoid oscillation by returning one server from a Avoid oscillation by returning one server from a set of equivalent servers.set of equivalent servers.
Investigate the impact of push/probe frequency Investigate the impact of push/probe frequency on response time.on response time.
Advanced Internet & Web Systems
chow 61
Application-layer Anycast Application-layer Anycast ArchitectureArchitecture
ContentServer
PushDaemon
PerformanceUpdate
Server
ProbeClient
NameResolver
ProbeUpdate
Resolver
Probes
Anycast-wareClient
AnycastQuery/Response
client/servercomm.
Server Pushes(multicast)
Advanced Internet & Web Systems
chow 62
Experimental TopologyExperimental Topology
Advanced Internet & Web Systems
chow 63
Performance of Server Location Performance of Server Location SchemeScheme
Advanced Internet & Web Systems
chow 64
Response Time Varying Response Time Varying with Push and Probe with Push and Probe FrequencyFrequencyServer push twice/min
Client Probe once/6minvs. Server push 12 times/min
Client probe once/10min
Advanced Internet & Web Systems
chow 65
Dynamic Server Selection vs.Dynamic Server Selection vs.Load Balancing in ServersLoad Balancing in Servers
In Fei et al’s work, after every client chooses the In Fei et al’s work, after every client chooses the lightest server, it becomes the heavy loaded server.lightest server, it becomes the heavy loaded server.
Next round, every client swings to next lightest Next round, every client swings to next lightest server and results in oscillation in server selection.server and results in oscillation in server selection.
How to damp the oscillation:How to damp the oscillation:
Anycast resolvers return a set of good serversAnycast resolvers return a set of good servers
A threshold is used to add/delete good server setA threshold is used to add/delete good server set
User response timeUser response time vs. vs. System throughputSystem throughputDynamic serverDynamic server Load BalancingLoad Balancing selectionselection in Serversin Servers
Advanced Internet & Web Systems
chow 66
WAN Load Balancing WAN Load Balancing ArchitectureArchitecture
ContentServer
PushDaemon
PerformanceUpdate
LBed Server
ProbeClient
LBCoordinator
ProbeUpdate
LB Agent
Probes
LBClient
LBQuery/Responseclient/server
comm.
Server Pushes(multicast)
LBClient
LBQuery/Response
ProbeClient
LBCoordinator
ProbeUpdate
LB Agent
LBCoord.
Protocol
Advanced Internet & Web Systems
chow 67
ProbeClient
LBCoordinator
ProbeUpdate
LB Agent
WAN Load Balancing WAN Load Balancing Architecture-2Architecture-2
ContentServer
Server
ProbeClient
LBCoordinator
ProbeUpdate
LB Agent
Probes
LBClient
LBQuery/Responseclient/server
comm.
LBClient
LBQuery/Response
LBCoord.
Protocol
Advanced Internet & Web Systems
chow 68
WAN Load Balancing WAN Load Balancing Architecture-3Architecture-3
LBQuery/Response
LBClient
LBClient
ProbingModule
LBCoordinator
ProbeUpdate
LB Agent
TrafficControl
TrafficUpdate
ContentServer
Server Probes
LBClient
client/servercomm.
LBClient
LBCoord.
Protocol
Probingmodule
LBCoordinator
ProbeUpdate
LB Agent
TrafficControl
TrafficUpdate
LBQuery/Response
Control Control
Load Balancing System
Advanced Internet & Web Systems
chow 69
Functions of LB Functions of LB coordinatorcoordinator
Collect server load, network status, and traffic Collect server load, network status, and traffic status from probing and traffic control modulestatus from probing and traffic control module
Share the server and traffic status with other LB Share the server and traffic status with other LB coordinators via LB coordinating protocolcoordinators via LB coordinating protocol
Run load balancing algorithm thatRun load balancing algorithm thatdirects the client requests (macro control)directs the client requests (macro control)
dynamically regulates the client-server traffic (micro dynamically regulates the client-server traffic (micro control)control)
Control the probing frequency of probing moduleControl the probing frequency of probing module
Regulate the traffic of client-server Regulate the traffic of client-server communicationcommunication
Advanced Internet & Web Systems
chow 70
Status Collection in WLB Status Collection in WLB systemsystem
Passive traffic monitoring on client-server Passive traffic monitoring on client-server comm.comm.
Server load report from other LB coordinatorsServer load report from other LB coordinators
Active probing on server and network loads Active probing on server and network loads when there is no traffic status reportswhen there is no traffic status reports
Research issues:Research issues:traffic monitoring system designtraffic monitoring system design
efficiency, accuracy, coordination of probing efficiency, accuracy, coordination of probing systemsystem
derive server and network load from traffic dataderive server and network load from traffic data
Advanced Internet & Web Systems
chow 71
Traffic Control in WLB Traffic Control in WLB SystemSystem
Admission control (Macro level Control)Admission control (Macro level Control)Estimate the load of the requestsEstimate the load of the requests
Direct the requestsDirect the requests
Taffic grooming/shapping (Micro level Taffic grooming/shapping (Micro level control)control)
At what protocol level (TCP, IP?)At what protocol level (TCP, IP?)
At which module/interface (Router? At which module/interface (Router? Layer4/Content/Web switch)Layer4/Content/Web switch)
Advanced Internet & Web Systems
chow 72
Important Web SitesImportant Web Siteshttp://www.w3c.org/http://www.w3c.org/
http://http://developer.netscape.comdeveloper.netscape.com//
http://java.sun.com/http://java.sun.com/
http://www.microsoft.com/workshop/defauhttp://www.microsoft.com/workshop/default.asplt.asp
http://www.apache.org/http://www.apache.org/
http://http://www.netcraft.co.ukwww.netcraft.co.uk/Survey//Survey/
http://http://web.mit.edu/afs/athena/user/w/s/wsmart/web.mit.edu/afs/athena/user/w/s/wsmart/WEB/HTMLtutor.htmlWEB/HTMLtutor.html
......
Advanced Internet & Web Systems
chow 73
Useful ReferencesUseful ReferencesOreily’s Web seriesOreily’s Web series
HTML, CGI, Dynamic HTML, Programming PerlHTML, CGI, Dynamic HTML, Programming Perl
““Web Server Technologies” by Nancy J. Yeager Web Server Technologies” by Nancy J. Yeager and Robert E. McGrath, Morgan Kaufmann 1996.and Robert E. McGrath, Morgan Kaufmann 1996.HTML+CGIHTML+CGIWorld Wide Web Beyond the Basics, edit by Marc World Wide Web Beyond the Basics, edit by Marc Abrams, Prentice Hall, 1998Abrams, Prentice Hall, 1998MS Technical Support for IIS, self learning MS Technical Support for IIS, self learning manual. manual. How to setup and maintain a web sites, L. Stein.How to setup and maintain a web sites, L. Stein.Web Server TuningWeb Server Tuning……