1 / 17

Migratory TCP: Connection Migration for Service Continuity in the Internet*

Migratory TCP: Connection Migration for Service Continuity in the Internet*. Florin Sultan, Kiran Srinivasan, Deepa Iyer, Liviu Iftode Department of Computer Science Rutgers University. *Work supported in part by the NSF under grant CCR-0133366 . Today: TCP-based Internet Services.

louie
Download Presentation

Migratory TCP: Connection Migration for Service Continuity in the Internet*

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Migratory TCP:Connection Migration for Service Continuity in the Internet* Florin Sultan, Kiran Srinivasan, Deepa Iyer, Liviu Iftode Department of Computer Science Rutgers University *Work supported in part by the NSF under grant CCR-0133366

  2. Today: TCP-based Internet Services TCP : reliable byte-stream Internet Client Server

  3. The Problem with TCP • Adverse conditions • internetwork congestion or failure • server overloaded, failed or under DoS attack • TCP response • network delays => packet loss => retransmission • TCP limitations • addressing: implicitly binds the service to a server • error recovery: limited to one server

  4. Highly Available Server? Not Enough! • To a TCP client:connect() will succeed most of the time • To an end-user: may not help beyond connect() • connectivity failures, server overload, etc. • Servicecontinuity = uninterrupted end-to-end delivery of a service • as important to end-user as the high availability of the server!

  5. Our Solution: Cooperative Service Model Logically equivalent servers cooperate in sustaining the service by migration of live connections Server 1 Client congestion Server 2

  6. Migratory TCP (M-TCP) • A client connection transparently migrates to different servers during its lifetime • server applications cooperate to support the handoff • client application does not change • servers can be geographically distributed • Designed and implemented as a TCP extension • Mechanism decoupled from migration policy • policies are not the focus of this talk

  7. Per-connection State Server 1 Server 2 Application Application Application state Protocol state M-TCP M-TCP

  8. Application - M-TCPService Contract • Application • Define fine-grained per-connection application state • Export a per-connection application state snapshot to the protocol • Import per-connection state after migration and resume service • M-TCP • Transfer per-connection state • Synchronize application state with protocol state

  9. Server Migration API • export_state(conn, state_buff) • origin server, periodically during service on connection • import_state(conn, state_buff) • destination server, after accepting connection origin destination Application Application export() import() M-TCP M-TCP

  10. Connection Migration Mechanism Server 1 C Client < State Reply> (3) < State Request> (2) C’ <SYN + MIGRATE C > (1) <SYN/ACK> (4) Server 2

  11. Prototype Implementation • Modified TCP/IP stack in the FreeBSD kernel • Real applications • Icecast audio streaming server • migrate audio stream • PostgreSQL transactional DB server front-end • migrate sequence of transactions with ACID semantics • Apache web server • migrate transfer of static files, dynamic content

  12. Experimental Setup 10.10.10.10 10.10.10.11 Control interface S1 S2 Service interface 128.6.171.162 128.6.171.161 Hub C

  13. Streaming Server Experiment Effective throughput close to average rate seen before server performance degrades

  14. Related Work • HTTP server fail-over by connection migration [Snoeren ‘00] • soft TCP and HTTP state maintained at back-up servers • application-specific: relies on HTTP features • Fault-tolerant TCP [Alvisi ‘00] • persistent connections across server crashes • failures masked using TCP wrappers • Stream Control Transmission Protocol [RFC 2960] • multi-homing preserves connectivity if network fails

  15. Conclusions • Transport layer protocol that supports service continuity • dynamic, light-weight, transparent connection migration • Migration API for server applications • Working prototype for FreeBSD & real applications

  16. Future Work • Multi-process state migration • application state spans multiple processes that communicate via IPC channels • Non-intrusive state transfer by remote memory access (VIA, InfiniBand) • A distribution of the M-TCP software for FreeBSD will be available this fall

  17. Thank you! http://discolab.rutgers.edu/mtcp Google: Migratory TCP or M-TCP

More Related