migratory tcp (mtcp) - rutgers universityrmartin/teaching/fall01/cons/m-tcp.pdf · nov. 29, 2001...
TRANSCRIPT
![Page 1: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/1.jpg)
Nov. 29, 2001 CONS Light seminar 1
Migratory TCP (MTCP)Transport Layer Support for Highly
Available Network Services
DisCo LabDivision of Computer and Information Sciences
Rutgers University
![Page 2: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/2.jpg)
Nov. 29, 2001 CONS Light seminar 2
The Peoplen Deepa Iyern Fang Songn Kiran Srinivasann Florin Sultann Liviu Iftode
![Page 3: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/3.jpg)
Nov. 29, 2001 CONS Light seminar 3
Services Rather than Servers
n Client oblivious to a given server’s locationn Client interested only in content provided and QoSn Internet services
n Most services are based on TCPn Clients demand both high-availability and performance
n Cooperative service modeln Service -> set of logically equivalent serversn servers cooperate in sustaining service to a client
![Page 4: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/4.jpg)
Nov. 29, 2001 CONS Light seminar 4
TCP-based Internet Services
n Adverse conditionsn Core network congestion, overloaded servers, failed
servers or under DoS attack
n TCP responsen Network delays => packet loss => retransmission
n TCP limitationsn Creates an implicit binding of service to a server !n Clients cannot change to another server for sustained
service
![Page 5: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/5.jpg)
Nov. 29, 2001 CONS Light seminar 5
Migratory TCP
n Transport layer protocol that supports dynamic connection migration
n Extension to TCPn A client connection can transparently migrate to different
servers during its lifetimen Modified server applications cooperate to support the handoffn Client applications do not change
n Servers can be geographically distributedn Does not depend on application-specific info
![Page 6: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/6.jpg)
Nov. 29, 2001 CONS Light seminar 6
Status
n Designed a transport layer protocol that enables dynamic connection migration
n Implemented a prototype on FreeBSDn Demonstrated the utilization of our protocol in
building highly-available servicesn Conducted preliminary performance evaluation n F. Sultan, K. Srinivasan, L. Iftode - “Transport
Layer Support for Highly-Available Network Services ”, HotOS 2001
![Page 7: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/7.jpg)
Nov. 29, 2001 CONS Light seminar 7
Outline
n Motivationn Protocol Designn Prototype Implementationn Preliminary Performance Evaluationn Protocol Utilizationn Related Workn Conclusions and Future Work
![Page 8: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/8.jpg)
Nov. 29, 2001 CONS Light seminar 8
The Migration Model
Client
Server 1 - overloaded
Server 2
congestion
![Page 9: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/9.jpg)
Nov. 29, 2001 CONS Light seminar 9
Triggers and Initiators
Client
Server 1
Server 2
MIGRATE_TRIGGER
MIGRATE_TRIGGER
MIGRATE_TRIGGERMIGRATE_INITIATE
![Page 10: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/10.jpg)
Nov. 29, 2001 CONS Light seminar 10
Design Issues
n How to resume the service at the new server?n Without the involvement of the client applicationn Without full migration of the server applicationn With low overhead
n What is the state that needs to be transferred?n Protocol staten Application state
![Page 11: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/11.jpg)
Nov. 29, 2001 CONS Light seminar 11
Contract Between Server Application and MTCP
n Applicationn Define fine-grained per-connection application staten Export to the protocol a per-connection application state
snapshotn Import per-connection state after migration and resume
service
n MTCPn Transfer the per-connection staten Synchronize the application state with the protocol state
![Page 12: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/12.jpg)
Nov. 29, 2001 CONS Light seminar 12
Server Migration API
n export_state(conn, state_buff)n origin server, many times (e.g., periodically)
n import_state(conn, state_buff)n destination server, once (after accepting connection)
n Enables light-weight migration and service resumption from a well-defined state
n Decouples execution of origin server from migration (no upcalls!)
![Page 13: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/13.jpg)
Nov. 29, 2001 CONS Light seminar 13
Server Application Examples = accept(ssock)
if (import_state(s, &state)) num = state
else num = 0
for (i = num; i < NUM_MSG; i++) {recv(s, &msg)state = ++ numexport_state(s, &state)
}
![Page 14: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/14.jpg)
Nov. 29, 2001 CONS Light seminar 14
Contract Between Server Application and MTCP
n Applicationn Define fine-grained per-connection application staten Export per-connection application state snapshot
periodicallyn After migration, import per-connection state to resume
service
n MTCPn Transfer the per-connection staten Synchronize the application state with the
protocol state
![Page 15: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/15.jpg)
Nov. 29, 2001 CONS Light seminar 15
Per-connection State TransferServer 1 Server 2
Application
Protocol
Connections Connections
![Page 16: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/16.jpg)
Nov. 29, 2001 CONS Light seminar 16
State Synchronization Example (1)s = accept(ssock)
if (import_state(s, &state)) num = state
else num = 0
recv(s, &msg)state = ++ numexport_state(s, &state)recv(s, &msg)state = ++ numexport_state(s, &state)
. . .
1
13 2
Export
Application
MTCP
![Page 17: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/17.jpg)
Nov. 29, 2001 CONS Light seminar 17
State Synchronization Example (2)
s=accept(ssock)
if (import_state(s, &state)) num = state
else num = 0
recv(s, &msg)state = ++numexport_state(s, &state)recv(s, &msg)state = ++numexport_state(s, &state)
. . .
2
14 3
RE
CV
Out of Sync !
Application
MTCP
![Page 18: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/18.jpg)
Nov. 29, 2001 CONS Light seminar 18
State Synchronization Example (3)
1
13 2
RE
CV
MTCP
2
13 2
Application
MTCP
2
23 2
ApplicationApplication
EX
PO
RT
MTCP
![Page 19: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/19.jpg)
Nov. 29, 2001 CONS Light seminar 19
Log-Based State Synchronization
n Logs are maintained in the protocoln discarded at export time (state is sync’ed)
n Logs are part of the state to be transferred during migration
n Service resumes from the last state snapshot and uses logs for execution replay
![Page 20: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/20.jpg)
Nov. 29, 2001 CONS Light seminar 20
Implementation
n Modified the TCP/IP stack in FreeBSD kernel n Lazy connection migration mechanismn Evaluation on synthetic benchmarksn Target applications
n PostgreSQL front-endn Streaming server
![Page 21: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/21.jpg)
Nov. 29, 2001 CONS Light seminar 21
Lazy Connection Migration
C (0)
C’
< S
tate
Req
uest
> (
2)
< S
tate
Rep
ly>
(3
)Client
Server 1
Server 2
<SYN C,…> (1)
<SYN + ACK> (4)
![Page 22: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/22.jpg)
Nov. 29, 2001 CONS Light seminar 22
Implementation: Per-Connection State
snapApplication Write
Application
Protocol
not ack’ed
Write Buffer
To network
![Page 23: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/23.jpg)
Nov. 29, 2001 CONS Light seminar 23
Implementation: Per-Connection State
X
From network
Read pointer
Read since snap
Read before snap
ack’ed
Application
ProtocolRead Buffer
snap
![Page 24: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/24.jpg)
Nov. 29, 2001 CONS Light seminar 24
Preliminary Performance Evaluation
n Experimental setupn Two servers, one client: P II 400MHz, 128 MB RAM n Servers connected by dedicated network link
n Benchmarksn Microbenchmarkn Simple streaming server application
![Page 25: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/25.jpg)
Nov. 29, 2001 CONS Light seminar 25
Microbenchmark
• Breakdown of migration times for one-way migration averaged over 200 runs
State size [kB]
Client migration phases [us]
Server 2 state handling [us]
Server 1 state handling [us]
Initiate Wait Complete Preparerequest
Waitreply
Reinstatestate
Prepare reply
0 73 387 10 40 191 20 50 5 87 1002 7 42 784 25 89
10 90 1621 7 42 1382 27 120
![Page 26: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/26.jpg)
Nov. 29, 2001 CONS Light seminar 26
Microbenchmark
Endpoint switching time vs. state size
![Page 27: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/27.jpg)
Nov. 29, 2001 CONS Light seminar 27
Streaming Server Experiment
n Server streams data in 1 kB chunks
n Server performance degrades after sending 32 kB n emulated by pacing sends in the server
n Migration policy module inserted in the client kernel n Metric: inbound rate (smoothed estimator)n Migration trigger: rate drops under 75% of max. observed rate
![Page 28: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/28.jpg)
Nov. 29, 2001 CONS Light seminar 28
Stream Server Experiment
Effective throughput is close to the average rate seen before server performance degrades
![Page 29: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/29.jpg)
Nov. 29, 2001 CONS Light seminar 29
Protocol Utilization
n For high availabilityn applications with long-lived connectionsn critical applications (banking, e-commerce etc.)
n For performance through load balancingn migration trigger: at server side, based on load
balancing policy
n For fault tolerancen eager transfer of connection state
![Page 30: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/30.jpg)
Nov. 29, 2001 CONS Light seminar 30
Highly Available Database Service
n Access a transactional database over Internetn System architecture
n front-end hostn interfaces with clients, e.g. via HTTPn translates a service request into queries to native databasen retrieves/processes results and replies back to client
n back-end hostn manages data repository
n Problem: front-end availability
![Page 31: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/31.jpg)
Nov. 29, 2001 CONS Light seminar 31
System Architecture
Client Front-end
Back-end
![Page 32: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/32.jpg)
Nov. 29, 2001 CONS Light seminar 32
Migration-Enabled Front-Ends
Client
Front-end 1
Front-end 2
Back-endTID
TID
P
P’
![Page 33: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/33.jpg)
Nov. 29, 2001 CONS Light seminar 33
Issues for FE Migration
n Transactional DBn must preserve ACID semantics across migration
n Determinismn front-end execution has persistent side-effects (DB)n do not re-execute at FE2 transactions committed at FE1
n May need migration support in the back-endn Migration granularity
n FE discipline: when to take state snapshots?
![Page 34: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/34.jpg)
Nov. 29, 2001 CONS Light seminar 34
Granularity of Migration
n Extent of application execution that could be replayed at FE2 after migration
n Upper bound: one transactionn FE discipline: export state at least every transaction
n Lower bound: application dependentn smallest unit: one queryn tradeoff: work lost/redone vs. overhead
![Page 35: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/35.jpg)
Nov. 29, 2001 CONS Light seminar 35
Fine-grained (Query-level) Migration
n Problem: when resuming, results of past queries may be needed
n Solution 1: log results at back-endn potentially huge! E.g. SELECT * FROM tablen log management is a problem
n Solution 2: re-do past queries n requires partial rollbacks inside a transaction: DB must
support savepointsn a front-end takes a snapshot before a savepoint
![Page 36: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/36.jpg)
Nov. 29, 2001 CONS Light seminar 36
Our Implementation: PostgreSQL
n Migration granularity: transaction-leveln no support for savepoints in PostgreSQL
n FE disciplinen FE1 takes snapshots before final query in transaction
(COMMIT/ABORT) to make it atomic w.r.t. migration n snapshots include transaction ID tidn FE2 retrieves the outcome (committed/aborted) of tid
from back-end and decides how to proceed
n Changes to back-end to support FE2 reconnect
![Page 37: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/37.jpg)
Nov. 29, 2001 CONS Light seminar 37
Example: Migratory PostgreSQL FEif (import_state(conn, &tid, &last)) { // a migrated connection
reconnectDB(tid, &laststatus) send(conn, laststatus) // report outcome of last txn at FE1goto last + 1
}
N: // start of txn Ntid = txnBEGIN()last = N... do work for txn N ...
export_state(conn, tid, last) status = txnCOMMIT()send(conn, status) // report outcome of txn N to client
![Page 38: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/38.jpg)
Nov. 29, 2001 CONS Light seminar 38
Prototype: Migratory PostgreSQL
n Extended the DB API to enable migrationn Integrated a migration-aware PostgreSQL front-
end with Apache web servern Client sends service requests via HTTP
n request: execution of a sequence of transactions
n Client connection can transparently migrate to another front-endn receive results and/or continue executionn ACID preserved; no unwanted side-effects
![Page 39: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/39.jpg)
Nov. 29, 2001 CONS Light seminar 39
Related Work
n HTTP server fail-over by connection migration [Snoeren ‘00]n soft TCP and HTTP state maintained at back-up servers
n Fault-tolerant TCP [Alvisi ‘00] n failure masking using TCP wrappersn persistent connections across server crashes
n Stream Control Transmission Protocol (SCTP) - RFC 2960n multi-homing (many IP addresses / endpoint) ensures connectivity in
the face of network failure
![Page 40: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/40.jpg)
Nov. 29, 2001 CONS Light seminar 40
Related Work (cont’d)
n MSOCKS [Bhagwat `98]n proxy based “TCP splicing” for mobile clients with
multiple interfacesn Indirect TCP [Bakre ‘95]
n connection handoffs between MSRs allow mobile hosts to maintain open connections with a fixed host
![Page 41: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/41.jpg)
Nov. 29, 2001 CONS Light seminar 41
Conclusions
n Transport layer protocol that enables building highly available services n dynamic, light-weight, transparent connection migration
n Migratory API for server applicationsn Migration architecture: decouples mechanism/policiesn Working prototype in FreeBSD n Application: transactional database access over WANn http://discolab.rutgers.edu/mtcp
![Page 42: Migratory TCP (MTCP) - Rutgers Universityrmartin/teaching/fall01/cons/m-tcp.pdf · Nov. 29, 2001 CONS Light seminar 3 Services Rather than Servers n Client oblivious to a given server’s](https://reader036.vdocuments.site/reader036/viewer/2022081400/5f0cfa887e708231d438133a/html5/thumbnails/42.jpg)
Nov. 29, 2001 CONS Light seminar 42
Future (Current) Work
n More performance evaluationn Investigate migration policiesn Alternate state transfer implementationsn Recursive connection migration mechanismn Other applications