2011 · 34 citations · 15 references
ComputingComputer ScienceComputer SystemsComputer NetworksDistributed SystemsMessage PassingClient-server ArchitectureDistributed ComputingHttp ProtocolInterprocess CommunicationLoad BalancingWeb ProtocolsClient InvolvementClient-server CommunicationConnection EstablishmentConnectionsOperating System ArchitectureServer Load BalancingSplittingWeb Servers
Many techniques are commonly used to increase server availability or for distributing the load among a group of servers. We propose a technique for splitting a single HTTP request that allows a TCP connection to be dynamically split between two Web servers without using a central control. For example, one server can handle connection establishment and closing, while another handles the data transfer. This approach requires no client involvement since the existing connection with the initial server continues to be maintained, and the client is completely unaware of the splitting. We demonstrate the splitting concept in a LAN environment and provide related performance results that highlight several interesting features of splitting. The splitting was done using two bare PC servers with no operating system (OS) or kernel running in the machines. Splitting also works with clients located anywhere on the Internet, although servers have to be located on the same LAN. Our implementation and results indicate the feasibility of splitting TCP connections to transparently redistribute server load without client involvement.
15
Factored operating systems (fos)
David Wentzlaff, Anant Agarwal · ACM SIGOPS Operating Systems Review · 2009 · 303 citations
Vivek S. Pai, Peter Druschel, Willy Zwaenepoel · ACM Transactions on Computer Systems · 2000 · 187 citations · Full text
Exterminate all operating system abstractions
Dawson Engler, M. Frans Kaashoek · 2002 · 116 citations