Enhanced server fault-tolerance techniques for improved user experience

User applications, such as email, calendar, maps, are migrating from local desktop machines to data centers due to the many advantages offered by such a computing paradigm. Furthermore, this trend is creating a marked increase in the deployment of servers at data centers. To ride the price/performance curves for CPU, memory and other HW, inexpensive commodity machines—although having low availability numbers—are the most cost effective choices for a data center. However, increased server failures cause service outages and degrade user experience which in turn results in lost revenue for businesses. Also, emerging web applications put additional demands on server fault-tolerance. For example, if a user is browsing a map service like Google, Yahoo or MSN maps, a server failure leading to an outage of more than a few seconds is detectable by a user and hence degrades user experience. In this thesis, I propose three novel techniques aimed at improving server fault-tolerance: (1) ST-TCP, which is an extension of TCP to tolerate server failures. This is done by using an active-backup which replicates the state of a primary and seamlessly takes over a TCP connection on primary server failure; (2) CRAFT, where the TCP splicing mechanism is enhanced to make it both fault-tolerant and more scalable; this then forms the basis of a scalable and fault-tolerant web server architecture that specifically addresses server fault-tolerance issues for highly interactive or real time applications; and, (3) Call-preserving failover, which is an efficient and scalable fault-tolerance mechanism for migrating IP telephony calls to an alternate call controller.

[1]  Lorenzo Alvisi,et al.  Wrapping server-side TCP to mask connection failures , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[2]  Liviu Iftode,et al.  Remote repair of operating system state using Backdoors , 2004 .

[3]  Athina Markopoulou,et al.  Assessment of VoIP quality over Internet backbones , 2002, Proceedings.Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies.

[4]  Harrick M. Vin,et al.  Half-pipe anchoring: an efficient technique for multiple connection handoff , 2002, 10th IEEE International Conference on Network Protocols, 2002. Proceedings..

[5]  Christof Fetzer,et al.  Enforcing perfect failure detection , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[6]  Shivakant Mishra,et al.  Consul: a communication substrate for fault-tolerant distributed programs , 1993, Distributed Syst. Eng..

[7]  David A. Maltz,et al.  TCP Splice for application layer proxy performance , 1999, J. High Speed Networks.

[8]  Parameshwaran Krishnan,et al.  VoIP network failure detection and user notification , 2003, Proceedings. 12th International Conference on Computer Communications and Networks (IEEE Cat. No.03EX712).

[9]  Archana Ganapathi,et al.  Why Do Internet Services Fail, and What Can Be Done About It? , 2002, USENIX Symposium on Internet Technologies and Systems.

[10]  Louise E. Moser,et al.  The Totem single-ring ordering and membership protocol , 1995, TOCS.

[11]  Hovav Shacham,et al.  Fast-Track Session Establishment for TLS , 2002, NDSS.

[12]  Daniela Rosu,et al.  Kernel Support for Faster Web Proxies , 2003, USENIX ATC, General Track.

[13]  James Aweya,et al.  An adaptive load balancing scheme for web servers , 2002, Int. J. Netw. Manag..

[14]  Keith Marzullo,et al.  Highly-available services using the primary-backup approach , 1992, [1992 Proceedings] Second Workshop on the Management of Replicated Data.

[15]  Liviu Iftode,et al.  Migratory TCP: connection migration for service continuity in the Internet , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[16]  Nir Shavit,et al.  Software transactional memory , 1995, PODC '95.

[17]  Liviu Iftode,et al.  Nonintrusive Remote Healing Using Backdoors , 2003 .

[18]  H. T. Kung,et al.  Video over TCP with receiver-based delay control , 2003, NOSSDAV '01.

[19]  Sampath Rangarajan,et al.  On the Performance of TCP Splicing for URL-Aware Redirection , 1999, USENIX Symposium on Internet Technologies and Systems.

[20]  David E. Culler,et al.  Operating Systems Support for Planetary-Scale Network Services , 2004, NSDI.

[21]  David M. Kristol,et al.  HTTP State Management Mechanism , 2000, RFC.

[22]  Flaviu Cristian,et al.  The Timewheel Group Communication System , 2002, IEEE Trans. Computers.

[23]  Manish Marwah,et al.  Systems Architectures for Transactional Network Interface , 2007, 10th IEEE High Assurance Systems Engineering Symposium (HASE'07).

[24]  Louise E. Moser,et al.  Transparent TCP connection failover , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

[25]  Virendra J. Marathe,et al.  A Qualitative Survey of Modern Software Transactional Memory Systems , 2004 .

[26]  Manish Marwah,et al.  TPC server fault tolerance using connection migration to a backup server , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

[27]  Manish Marwah,et al.  A system demonstration of ST-TCP , 2005, 2005 International Conference on Dependable Systems and Networks (DSN'05).

[28]  Riccardo Bettati,et al.  HydraNet-FT: network support for dependable services , 2000, Proceedings 20th IEEE International Conference on Distributed Computing Systems.

[29]  Daniela Rosu,et al.  An evaluation of TCP splice benefits in web proxy servers , 2002, WWW.

[30]  André Schiper,et al.  Lightweight causal and atomic group multicast , 1991, TOCS.

[31]  Philip S. Yu,et al.  Dynamic Load Balancing on Web-Server Systems , 1999, IEEE Internet Comput..

[32]  Laxmi N. Bhuyan,et al.  Design and implementation of a content-aware switch using a network processor , 2005, 13th Symposium on High Performance Interconnects (HOTI'05).

[33]  Christof Fetzer,et al.  Tapping TCP streams , 2001, Proceedings IEEE International Symposium on Network Computing and Applications. NCA 2001.

[34]  Ludmila Cherkasova,et al.  Modular TCP Handoff Design in STREAMS-Based TCP/IP Implementation , 2001, ICN.

[35]  T. Taylor Megaco/H.248: a new standard for media gateway control , 2000 .

[36]  Erich M. Nahum,et al.  Locality-aware request distribution in cluster-based network servers , 1998, ASPLOS VIII.

[37]  Hari Balakrishnan,et al.  Fine-Grained Failover Using Connection Migration , 2001, USITS.

[38]  Keith Marzullo,et al.  Engineering fault-tolerant tcp/ip services , 2004 .

[39]  Ferranti Computer Systems Limited,et al.  THE DELTA-4 EXTRA PERFORMANCE ARCHITECTURE (XPA) , 1990 .

[40]  Eric Van Hensbergen,et al.  KNITS: switch-based connection hand-off , 2002, Proceedings.Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies.

[41]  Yuval Tamir,et al.  Implementation and evaluation of transparent fault-tolerant Web service with kernel-level support , 2002, Proceedings. Eleventh International Conference on Computer Communications and Networks.

[42]  Philip S. Yu,et al.  The state of the art in locally distributed Web-server systems , 2002, CSUR.

[43]  Anil Rijsinghani,et al.  Computation of the Internet Checksum via Incremental Update , 1994, RFC.

[44]  David A. Patterson,et al.  A Simple Way to Estimate the Cost of Downtime , 2002, LISA.

[45]  Jon Postel,et al.  Transmission Control Protocol , 1981, RFC.

[46]  Willy Zwaenepoel,et al.  Efficient Support for P-HTTP in Cluster-Based Web Servers , 1999, USENIX Annual Technical Conference, General Track.

[47]  Fred Baker,et al.  Requirements for IP Version 4 Routers , 1995, RFC.

[48]  Farnam Jahanian,et al.  Real-time primary-backup (RTPB) replication with temporal consistency guarantees , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

[49]  David A. Maltz,et al.  MSOCKS+: an architecture for transport layer mobility , 2002, Comput. Networks.

[50]  Robbert van Renesse,et al.  Horus: a flexible group communication system , 1996, CACM.

[51]  Flaviu Cristian,et al.  Understanding fault-tolerant distributed systems , 1991, CACM.

[52]  Willy Zwaenepoel,et al.  Scalable Content-aware Request Distribution in Cluster-based Network Servers , 2000, USENIX ATC, General Track.

[53]  Timothy L. Harris,et al.  Exceptions and side-effects in atomic blocks , 2005, Sci. Comput. Program..

[54]  Dimiter R. Avresky,et al.  Software Implemented Fault Tolerance in Hypercube , 1999, Euro-Par.

[55]  John H. Hartman,et al.  Optimizing TCP forwarder performance , 2000, TNET.

[56]  Brian Randell,et al.  Reliability Issues in Computing System Design , 1978, CSUR.

[57]  Yair Amir,et al.  The Spread Wide Area Group Communication System , 2007 .

[58]  Petros Mouchtaris,et al.  Voice over IP signaling: H.323 and beyond , 2000 .

[59]  Mark R. Crispin,et al.  Internet Message Access Protocol - Version 4 , 1994, RFC.

[60]  Manish Marwah,et al.  Fault-tolerant and scalable TCP splice and web server architecture , 2006, 2006 25th IEEE Symposium on Reliable Distributed Systems (SRDS'06).