SERVERS
General Design Issues Server Definition Type of server organizing Contacting to a server Iterative Concurrent Globally assign end points Daemon
Using Super server How a server can be interrupted Exit the client application Sending out-of-band data Using 2 separate port Using 1 port
Servers Stateless server Soft state Stateful server Advantage and Disadvantage of Stateful servers Improve the performance Crashing the server Distinction between session state and permanent state Choice the stateless or stateful design
Keeping a record of a client Server has history information Let the client send along additional information Cookie
Server Clusters General Organization Three tiers logical organizing
Logical switch Transport layer switches Web server Servers dedicated to application processing Data-processing servers, notably file and database servers Many servers run only a single application Software and hardware dependencies different applications are managed by different administrators Migrating services
Logical switch An important design goal is to hide the fact that there are multiple servers The switch forms the entry point for the server cluster, offering a single network address A standard way of accessing a server cluster is to set up a TCP connection Switch subsequently identifies the best server for handling that request Switch can play an important role in distributing the load among the various servers
Distributed Servers most server clusters offer a single access point Having stability and flexibility The basic idea is that clients benefit from a robust, high-performing, stable server How a stable access point can be achieved Home network The example above can be used to offer a stable address of a distributed server Bottleneck on home agent and access point Distributed server home address (HoA)home agent care-of address (CoA)
Route optimization
Managing Server Clusters A server cluster should appear to the outside world as a single computer Common Approaches Extend the traditional managing functions of a single computer provide an interface at an administration machine Large clusters need continuous repair management (including upgrades)
PlanetLab Planetlab is an unusual cluster server two important components in planetlab virtual machine monitor (VMM) Vservers
Processes from different Vservers are completely independent Slice is a set of vservers issues that make management of PlanetLab a special problem : Nodes belong to different organizations Specific combination of hardware and software is needed Programs from different slices but running on the same node should not interfere with each other
Central to managing PlanetLab resources is the node manager Keeping track of resources is done by means of a resource specification ( Rspec ) Resources are bound to slices Every slice can then be identified by a ( Principal-id, slice-Tag) pair To create a new slice, each node will run a slice creation service (SCS) Managing PlanetLab is done through intermediaries Management authorities
This organization leads to the management structure : 1.A node owner puts its node under the regime of a management authority, possibly restricting usage where appropriate. 2.A management authority provides the necessary software to add a node to PlanetLab. 3.A service provider registers itself with a management authority. trusting it to provide well-behaving nodes. 4. A service provider contacts a slice authority to create a slice on a collection of nodes.
5. The slice authority needs to authenticate the service provider. 6. A node owner provides a slice creation service for a slice authority to create slices. It essentially delegates resource management to the slice authority. 7. A management authority delegates the creation of slices to a slice authority There is 2 issues System management Monitoring In PlanetLab Every node is equipped with a collection of sensors.
Final management issue, namely the protection of programs against each other. Linux virtual servers ( vservers ) Linux virtual servers Separate the file system shared information on processes, network addresses, …