Architecture Client 1 Client 2 • • • Client 3 Secondary Site (cluster) Primary Site www.eScent.com (cluster) Secondary Site (cluster) Communicati on 1. HTTP(TPC): www.eScent.com IP: xxx.xxx.xxx.xxx Primary Cluster 4. HTTP(TCP): <frameset...eScent_y.com...> Secondary Cluster x Secondary Cluster y Secondary Cluster z 2. UDP: Request from IP xxx.xxx.xxx.xxx 2. UDP: Request from IP xxx.xxx.xxx.xxx 2. UDP: Request from IP xxx.xxx.xxx.xxx 3. UDP: Ping = x 3. UDP: Ping = y 3. UDP: Ping = z 5. HTTP(TCP): eScent_y.com ping ping ping A typical sequence of events: 1. The client requests a connection to www.eScent.com (which points to the primary cluster R) 2. R notifies all secondary clusters about the request via UDP (also possible by TPC, GMS, but not necessary) 3. Secondary clusters ping the client and calculate round-trip latencies, sending them back to R. 4. R chooses between the first several responses and directs the client to one of the secondary clusters. Advantages: 1. Multicasting client requests through UDP proves to be fast, efficient and with very small overhead (Reliability). Also helps for updating the distributed database (no need to close sites!). 2. Framesets ensure that even in case of secondary cluster failure, the client will be connected to another one with minimum losses, like shopping bag information (Availability). Powered by: BEA Weblogic 6.0 MS SQL Server 2000 Implementation State-of-the-art Tech no Motion-enabled starting page! W3C DOM 2 Web standard! DHTML exploited to full extend! Weblogic 6.0 JSP 1.1 server-side scripting Cutting-edge To ols BEA Weblogic 6.0 Beta Microsoft SQL Server Borland JBuilder 4.0 Allaire Homesite 4.51 Macromedia Ultradev 1.0 Macromedia Flash 5.0 Adobe Photoshop 5.5 Xara Webstyle 1.2 Designed and developed by Kamen Yotov Department of Computer Science Cornell University