server architecture cathy weisse mj parker tony denizard march 27, 2002 blah blah blah

59
Server Server Architecture Architecture Cathy Cathy Weisse Weisse MJ Parke r MJ Parke r Tony Tony Denizard Denizard March 27, March 27, 2002 2002 Blah Blah Blah Blah Blah Blah

Upload: james-plimpton

Post on 29-Mar-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

March 27, 2002March 27, 2002

Blah Blah BlahBlah Blah Blah

Page 2: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah
Page 3: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Presented ByPresented By

Blah Blah BlahBlah Blah Blah

Page 4: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Blah Blah BlahBlah Blah Blah

Page 5: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah
Page 6: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

What is a server?What is a server?A server is a computer or device on a network that A server is a computer or device on a network that manages network resources. Most servers are dedicated. manages network resources. Most servers are dedicated. This means that they perform only one task rather than This means that they perform only one task rather than multiple tasks. On multiprocessing operating systems, multiple tasks. On multiprocessing operating systems, however, a single computer can execute several programs however, a single computer can execute several programs at once. A server in this case could refer to the program at once. A server in this case could refer to the program that is managing resources rather than the entire that is managing resources rather than the entire computer. computer.

Blah Blah BlahBlah Blah Blah

Page 7: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

What is a server?What is a server?Examples :Examples :

• a a file serverfile server is a computer and storage device dedicated to is a computer and storage device dedicated to storing files. Any user on the network can store files on storing files. Any user on the network can store files on the server. the server.

• A A print serverprint server is a computer that manages one or more is a computer that manages one or more printersprinters

• a a networknetwork serverserver is a computer that manages network is a computer that manages network traffic. traffic.

• A database A database serverserver is a computer system that processes is a computer system that processes database queries. database queries.

Blah Blah BlahBlah Blah Blah

Page 8: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

What is architecture?What is architecture?•A design.A design.

•The term The term architecturearchitecture can refer to either hardware or can refer to either hardware or software, or to a combination of hardware and software, or to a combination of hardware and software. The architecture of a system always defines software. The architecture of a system always defines its broad outlines, and may define precise mechanisms its broad outlines, and may define precise mechanisms as well. as well.

Blah Blah BlahBlah Blah Blah

Page 9: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

What is server architecture?What is server architecture?•Server architecture is the design and layout of a Server architecture is the design and layout of a computer on a network that manages network computer on a network that manages network resources. resources.

Blah Blah BlahBlah Blah Blah

Page 10: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Major server components:Major server components:• Storage Storage

• Processing powerProcessing power

• MemoryMemory

• CacheCache

• I/O speed (busing)I/O speed (busing)

• Router (Multi servers)Router (Multi servers)

• BandwidthBandwidth

• Operating System SoftwareOperating System Software

• Administrative interfacesAdministrative interfaces

• Capabilities of the clients Capabilities of the clients and/or networkand/or network

Blah Blah BlahBlah Blah Blah

Page 11: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

A basic server:A basic server: Blah Blah BlahBlah Blah Blah

Page 12: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Architectural Requirements:Architectural Requirements:•Large scale specific servers are built using preexistingLarge scale specific servers are built using preexistingsystem components such as storage devices, processors, system components such as storage devices, processors, and so on.and so on.

•A basic server design is modeled from a home PC.A basic server design is modeled from a home PC.•ProcessorProcessor•StorageStorage•I/O devicesI/O devices•MemoryMemory•PeripheralsPeripherals

Blah Blah BlahBlah Blah Blah

Page 13: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Architectural Requirements:Architectural Requirements:•The characteristics of these already existing components The characteristics of these already existing components strongly influence the structure of specific servers and the strongly influence the structure of specific servers and the optimization policies used to address cost performance.optimization policies used to address cost performance.

•For specific server types, higher performance and more For specific server types, higher performance and more storage space would be required than would a basic storage space would be required than would a basic mips machine.mips machine.

•Faster singular or 2 or more processors.Faster singular or 2 or more processors.•Larger storage capacityLarger storage capacity•Increased memoryIncreased memory

Blah Blah BlahBlah Blah Blah

Page 14: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Architectural Requirements:Architectural Requirements:•Most servers can achieve the level of service they desire ifMost servers can achieve the level of service they desire if they base their architecture in terms of standard logical they base their architecture in terms of standard logical subcomponents. subcomponents.

•For example, if the storage component of a certain server For example, if the storage component of a certain server is architectured as a file system (it provides a file systemis architectured as a file system (it provides a file systeminterface), it can be backed up by standard backupinterface), it can be backed up by standard backupprograms.programs.

Blah Blah BlahBlah Blah Blah

Page 15: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Data Data ServerServerStorage Storage

SubsystemSubsystem

Control Control ServerServer

Application Application ServerServer

NetworkNetwork

SubsystemSubsystem

Data flowData flowControl flowControl flow

To ClientTo Client

Typical architecture:Typical architecture: Blah Blah BlahBlah Blah Blah

Page 16: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Data Data ServerServer

Storage Storage SubsystemSubsystem

Control Control ServerServer

Application ServerApplication Server

NetworkNetwork

SubsystemSubsystem

Data flowData flow

Control flowControl flow

To To ClienClientt

Architecture of a simple serverArchitecture of a simple serverServer ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Typical architecture:Typical architecture:•The storage subsystem stores data. The storage subsystem stores data. •It may contain devices of different types (disks, It may contain devices of different types (disks, CDs) with different characteristics.CDs) with different characteristics.

•An efficient and cost effective server design exploits An efficient and cost effective server design exploits the differences in device characteristics as well as the differences in device characteristics as well as in costs.in costs.

•The design process considers alternative network The design process considers alternative network subsystems that can be used for the transmission of subsystems that can be used for the transmission of data to the clients.data to the clients.

Page 17: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Data Data ServerServer

Storage Storage SubsystemSubsystem

Control Control ServerServer

Application ServerApplication Server

NetworkNetwork

SubsystemSubsystem

Data flowData flow

Control flowControl flow

To To ClienClientt

Architecture of a simple serverArchitecture of a simple serverServer ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Typical architecture:Typical architecture:

•The software processes executing in the processor The software processes executing in the processor subsystem are responsible for the management and subsystem are responsible for the management and operation of the server.operation of the server.

Page 18: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Data Data ServerServer

Storage Storage SubsystemSubsystem

Control Control ServerServer

Application ServerApplication Server

NetworkNetwork

SubsystemSubsystem

Data flowData flow

Control flowControl flow

To To ClienClientt

Architecture of a simple serverArchitecture of a simple serverServer ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Typical architecture:Typical architecture:•The application server receives application The application server receives application commands from the client.commands from the client.

•Applications can be quite diverse.Applications can be quite diverse.•They may range from:They may range from:

•interactive applications that retrieve many interactive applications that retrieve many small multimedia objects.small multimedia objects.

•shopping or medical applications.shopping or medical applications.•videoconferencing applications involving videoconferencing applications involving many geographically distributed users.many geographically distributed users.

Page 19: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Data Data ServerServer

Storage Storage SubsystemSubsystem

Control Control ServerServer

Application ServerApplication Server

NetworkNetwork

SubsystemSubsystem

Data flowData flow

Control flowControl flow

To To ClienClientt

Architecture of a simple serverArchitecture of a simple serverServer ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Typical architecture:Typical architecture:

•Generally, there will be one application server per Generally, there will be one application server per application therefore, application commands rely on application therefore, application commands rely on application specific server.application specific server.

Page 20: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Data Data ServerServer

Storage Storage SubsystemSubsystem

Control Control ServerServer

Application ServerApplication Server

NetworkNetwork

SubsystemSubsystem

Data flowData flow

Control flowControl flow

To To ClienClientt

Architecture of a simple serverArchitecture of a simple serverServer ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Typical architecture:Typical architecture:•Control server has three major functions.Control server has three major functions.

•Many control decisions that need to be made Many control decisions that need to be made before the data can flow.before the data can flow.

•Function of the control server is to perform Function of the control server is to perform various optimizations that increase overall various optimizations that increase overall server efficiency.server efficiency.

•The data server is responsible for the actual The data server is responsible for the actual retrieval and delivery of the data.retrieval and delivery of the data.

Page 21: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Data Data ServerServer

Storage Storage SubsystemSubsystem

Control Control ServerServer

Application ServerApplication Server

NetworkNetwork

SubsystemSubsystem

Data flowData flow

Control flowControl flow

To To ClienClientt

Architecture of a simple serverArchitecture of a simple serverServer ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Typical architecture:Typical architecture:•Many control decisions that need to be made Many control decisions that need to be made before the data can flow.before the data can flow.

•For example, sufficient system and network For example, sufficient system and network resources need to be reserved for this request resources need to be reserved for this request to be served.to be served.

•If there sources are not reserved already for If there sources are not reserved already for this application instance, or enough resources this application instance, or enough resources are not available at present, the current are not available at present, the current request has to wait. This is referred to as request has to wait. This is referred to as admission control admission control policy.policy.

Page 22: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Data Data ServerServer

Storage Storage SubsystemSubsystem

Control Control ServerServer

Application ServerApplication Server

NetworkNetwork

SubsystemSubsystem

Data flowData flow

Control flowControl flow

To To ClienClientt

Architecture of a simple serverArchitecture of a simple serverServer ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Typical architecture:Typical architecture:•Many control decisions that need to be made Many control decisions that need to be made before the data can flow.before the data can flow.

•During the process of reserving these During the process of reserving these resources, it may be necessary to decide which resources, it may be necessary to decide which of several network adapters to use for of several network adapters to use for delivering the data to the client.delivering the data to the client.

•Or it may be necessary to decide whether to Or it may be necessary to decide whether to deliver the data from cache or disk.deliver the data from cache or disk.

Page 23: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Data Data ServerServer

Storage Storage SubsystemSubsystem

Control Control ServerServer

Application ServerApplication Server

NetworkNetwork

SubsystemSubsystem

Data flowData flow

Control flowControl flow

To To ClienClientt

Architecture of a simple serverArchitecture of a simple serverServer ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Typical architecture:Typical architecture:•Many control decisions that need to be made Many control decisions that need to be made before the data can flow.before the data can flow.

•Because these control decisions are all Because these control decisions are all interrelated, it is preferable to make them in a interrelated, it is preferable to make them in a unified framework.unified framework.

•Many of these decisions are actually Many of these decisions are actually optimizations that have an important impact optimizations that have an important impact on the overall efficiency of the server. For on the overall efficiency of the server. For example, before delivering the data from example, before delivering the data from cache, it is necessary to decide which files to cache, it is necessary to decide which files to cache.cache.

Page 24: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Data Data ServerServer

Storage Storage SubsystemSubsystem

Control Control ServerServer

Application ServerApplication Server

NetworkNetwork

SubsystemSubsystem

Data flowData flow

Control flowControl flow

To To ClienClientt

Architecture of a simple serverArchitecture of a simple serverServer ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Typical architecture:Typical architecture:•Function of the control server is to perform Function of the control server is to perform various optimizations that increase overall server various optimizations that increase overall server efficiency.efficiency.

•The control server, in more complex The control server, in more complex configurations, must hide the complexity of configurations, must hide the complexity of the configuration from the application server.the configuration from the application server.

Page 25: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Data Data ServerServer

Storage Storage SubsystemSubsystem

Control Control ServerServer

Application ServerApplication Server

NetworkNetwork

SubsystemSubsystem

Data flowData flow

Control flowControl flow

To To ClienClientt

Architecture of a simple serverArchitecture of a simple serverServer ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Typical architecture:Typical architecture:•Function of the control server is to perform Function of the control server is to perform various optimizations that increase overall server various optimizations that increase overall server efficiency.efficiency.

•For example, there may be multiple data For example, there may be multiple data servers, each with a specific set of files. In this servers, each with a specific set of files. In this case, after receiving the file server command, case, after receiving the file server command, the control server picks an appropriate data the control server picks an appropriate data server. This relieves the application server of server. This relieves the application server of the burden of keeping track of the data servers the burden of keeping track of the data servers and which data is on which data server.and which data is on which data server.

Page 26: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Data Data ServerServer

Storage Storage SubsystemSubsystem

Control Control ServerServer

Application ServerApplication Server

NetworkNetwork

SubsystemSubsystem

Data flowData flow

Control flowControl flow

To To ClienClientt

Architecture of a simple serverArchitecture of a simple serverServer ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Typical architecture:Typical architecture:•The data server is responsible for the actual The data server is responsible for the actual retrieval and delivery of the data.retrieval and delivery of the data.

•These may include delivery bandwidth These may include delivery bandwidth guarantees as well as bounds on delay.guarantees as well as bounds on delay.

•Providing data delivery while satisfying the Providing data delivery while satisfying the Quality of Service (QoS) requirements is Quality of Service (QoS) requirements is perhaps the most important function of the perhaps the most important function of the data server.data server.

Page 27: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Server Capabilities:Server Capabilities:

Can be:Can be:

Blah Blah BlahBlah Blah Blah

Page 28: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Client, network & media server Client, network & media server capabilities:capabilities:•For more complex applications that require retrieval, For more complex applications that require retrieval, composition, and display of composite or multiple media composition, and display of composite or multiple media segments, desired client capabilities may include:segments, desired client capabilities may include:

•supporting complex user interfacessupporting complex user interfaces•computing capabilities for dynamic composition of computing capabilities for dynamic composition of presentationpresentation

•complex data retrieval protocolscomplex data retrieval protocols•attached local storage for dealing with variable attached local storage for dealing with variable bandwidthbandwidth

Page 29: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Client, network & media server Client, network & media server capabilities:capabilities:•Similarly, the networks need to support:Similarly, the networks need to support:

•complex data retrieval protocols (dynamic bandwidth complex data retrieval protocols (dynamic bandwidth allocation)allocation)

•command and data channelscommand and data channels

Page 30: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Client, network & media server Client, network & media server capabilities:capabilities:•The server capabilities include in response to client The server capabilities include in response to client requests:requests:

•identification.identification.•retrieval of various media segments from a retrieval of various media segments from a database on time.database on time.

•composition of presentation.composition of presentation.•streaming of these media segments via one or streaming of these media segments via one or multiple retrieval streams.multiple retrieval streams.

Page 31: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Client, network & media server Client, network & media server capabilities:capabilities:In the real world, the load placed on a multimedia service In the real world, the load placed on a multimedia service may be unpredictable. Therefore, from the point of view of may be unpredictable. Therefore, from the point of view of an operator of a multimedia service, the server should an operator of a multimedia service, the server should operate well under varying conditions. The service may operate well under varying conditions. The service may serve a large or a relatively small number of users, and the serve a large or a relatively small number of users, and the demand for service may be rapidly changing. For a large-demand for service may be rapidly changing. For a large-scale service, interruptions may be expensive.scale service, interruptions may be expensive.

Page 32: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Storage Device Device

Interface

Control

Processor

Storage Device

Shows the typical hardware components of a simple server. Shows the typical hardware components of a simple server.

Page 33: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Basic Server Needs:Basic Server Needs:•Cost PerformanceCost Performance•Quality of Service (QoS)Quality of Service (QoS)•Open interfacesOpen interfaces•Storage ManagerStorage Manager•Buffers & CachesBuffers & Caches•Client SessionClient Session

ServerServer

Blah Blah BlahBlah Blah Blah

Page 34: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Cost Performance:Cost Performance:•Large scale servers:Large scale servers:

•small increases in efficiency may lead to large small increases in efficiency may lead to large reductions in server costs.reductions in server costs.

•For example:For example:•caching popular files in memory may reduce disk caching popular files in memory may reduce disk storage costs.storage costs.

•With network bandwidth being a significant bottleneck, With network bandwidth being a significant bottleneck, caching and prefetching in the network may be important.caching and prefetching in the network may be important.

Blah Blah BlahBlah Blah Blah

Page 35: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Quality of Service (QoS):Quality of Service (QoS):•Satisfying QoS requirements entails setting policies for Satisfying QoS requirements entails setting policies for efficient scheduling of disks, memory buffers, and other efficient scheduling of disks, memory buffers, and other system resources.system resources.

•Some applications may require the delivery of multiple Some applications may require the delivery of multiple data streams, which means the delivery of the various data streams, which means the delivery of the various streams must be synchronized.streams must be synchronized.

•Collaborative applications may require low latency Collaborative applications may require low latency delivery.delivery.

Blah Blah BlahBlah Blah Blah

Page 36: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Quality of Service (QoS):Quality of Service (QoS):•ScalabilityScalability

•ReliabilityReliability

•Dynamic adaptation to workloadDynamic adaptation to workload

Blah Blah BlahBlah Blah Blah

Page 37: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Quality of Service (QoS):Quality of Service (QoS):•ScalabilityScalability

•The number of users supported by a server can be The number of users supported by a server can be small or potentially very large.small or potentially very large.

•The server should be capable of operating efficiently The server should be capable of operating efficiently over a large range of numbers of users.over a large range of numbers of users.

•Various sophisticated optimization policies are Various sophisticated optimization policies are feasible with a large number of users.feasible with a large number of users.

•Additionally, the number of users may grow with Additionally, the number of users may grow with time. Therefore, the server should allow for easy time. Therefore, the server should allow for easy incremental growth.incremental growth.

Blah Blah BlahBlah Blah Blah

Page 38: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Quality of Service (QoS):Quality of Service (QoS):•ReliabilityReliability

•Failure of the server can lead to large loss of revenue Failure of the server can lead to large loss of revenue and goodwill.and goodwill.

•By using redundant components as backup, servers By using redundant components as backup, servers can offer very high reliability.can offer very high reliability.

•Data blocks may be replicated to provide protection Data blocks may be replicated to provide protection against failure.against failure.

Blah Blah BlahBlah Blah Blah

Page 39: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Quality of Service (QoS):Quality of Service (QoS):•Dynamic adaptation to workloadDynamic adaptation to workload

•Workload may change unpredictably.Workload may change unpredictably.•For example, the actual demand may exceed or For example, the actual demand may exceed or undershoot the predicted demand.undershoot the predicted demand.

•It may also vary with time and have pronounced It may also vary with time and have pronounced peaks and valleys.peaks and valleys.

•Policies that allow the server to adapt to varying Policies that allow the server to adapt to varying loads may be required.loads may be required.

Blah Blah BlahBlah Blah Blah

Page 40: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Open interfaces:Open interfaces:•The delivery time requirements of applications can vary The delivery time requirements of applications can vary widely. Hence, applications need interfaces for specifying widely. Hence, applications need interfaces for specifying their particular requirements.their particular requirements.

•A number of characteristics are desirable in interfaces to A number of characteristics are desirable in interfaces to facilitate portability and networking of applications.facilitate portability and networking of applications.

Blah Blah BlahBlah Blah Blah

Page 41: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Open interfaces:Open interfaces:•Desirable characteristics are:Desirable characteristics are:

•To facilitate portability and networking of applications, To facilitate portability and networking of applications, the interfaces should be open and standard.the interfaces should be open and standard.

•For ease of development, the interfaces should hide For ease of development, the interfaces should hide details of the structure of the server.details of the structure of the server.

Blah Blah BlahBlah Blah Blah

Page 42: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Open interfaces:Open interfaces:•Desirable characteristics are:Desirable characteristics are:

•For ease of development, the interfaces should hide For ease of development, the interfaces should hide details of the structure of the server.details of the structure of the server.

•For example:For example:•The fact that a particular video is replicated and can be The fact that a particular video is replicated and can be played back from multiple servers is not relevant to played back from multiple servers is not relevant to most applications. It is important for multimedia most applications. It is important for multimedia servers to support common interfaces so that most servers to support common interfaces so that most precomposed applications can be deployed on them.precomposed applications can be deployed on them.

Blah Blah BlahBlah Blah Blah

Page 43: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

ServerServer

ClientClient ClientClient

ClientsClientsI/O SwitchI/O Switch

Storage DevicesStorage Devices

Storage Manager:Storage Manager: Blah Blah BlahBlah Blah Blah

Page 44: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

ServerServer

ClientClient ClientClient

ClientsClientsI/O SwitchI/O Switch

Storage DevicesStorage Devices

Storage Manager:Storage Manager:

•Responsible for coordinating and managing the Responsible for coordinating and managing the operations of all the storage devices.operations of all the storage devices.

•The primary functions of the storage manager are:The primary functions of the storage manager are:•Storage of dataStorage of data•Retrieval of dataRetrieval of data•Recovery from failureRecovery from failure•Storage server optimizationStorage server optimization

Page 45: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Buffers & Caches:Buffers & Caches:Cache ManagerCache Manager

Com

mu

nic

atio

nC

omm

un

icat

ion

Bu

ffer

Bu

ffer

Com

mu

nic

atio

nC

omm

un

icat

ion

Bu

ffer

Bu

fferFre

e P

ool

Fre

e P

ool

CacheCache

I/O BufferI/O Buffer

Buffer PoolBuffer Pool

DiskCache

Cache Cache

Remote ServerLocal ClientsLocal Clients

Blah Blah BlahBlah Blah Blah

Page 46: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Buffers & Caches:Buffers & Caches:

Cache ManagerCache Manager

Com

mu

nic

atio

nC

omm

un

icat

ion

Bu

ffer

Bu

ffer

Com

mu

nic

atio

nC

omm

un

icat

ion

Bu

ffer

Bu

fferF

ree

Poo

lF

ree

Poo

l

CacheCache

I/O BufferI/O Buffer

Buffer PoolBuffer Pool

DiskCache

Cache Cache

Remote ServerLocal ClientsLocal Clients

•Buffering is used to avoid access delay.Buffering is used to avoid access delay.•When the data blocks are prefetched on behalf of the When the data blocks are prefetched on behalf of the currently consuming data stream, this is regarded as currently consuming data stream, this is regarded as buffering.buffering.

Blah Blah BlahBlah Blah Blah

Page 47: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Buffers & Caches:Buffers & Caches:•Caching is used to avoid access overhead and/or delay.Caching is used to avoid access overhead and/or delay.

•If the data blocks retrieved on behalf of a data stream If the data blocks retrieved on behalf of a data stream are retained in the storage for future data streams, are retained in the storage for future data streams, even after they are delivered to the current stream, even after they are delivered to the current stream, the process is referred to as caching.the process is referred to as caching.

Cache ManagerCache Manager

Com

mu

nic

atio

nC

omm

un

icat

ion

Bu

ffer

Bu

ffer

Com

mu

nic

atio

nC

omm

un

icat

ion

Bu

ffer

Bu

fferF

ree

Poo

lF

ree

Poo

l

CacheCache

I/O BufferI/O Buffer

Buffer PoolBuffer Pool

DiskCache

Cache Cache

Remote ServerLocal ClientsLocal Clients

Blah Blah BlahBlah Blah Blah

Page 48: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Buffers & Caches:Buffers & Caches:•Caching objectives:Caching objectives:

•Increasing server capacityIncreasing server capacity•Reducing access latencyReducing access latency•Reducing network bandwidthReducing network bandwidth•Balancing load across storageBalancing load across storage•Supporting data migration in Supporting data migration in storagestorage

Cache ManagerCache Manager

Com

mu

nic

atio

nC

omm

un

icat

ion

Bu

ffer

Bu

ffer

Com

mu

nic

atio

nC

omm

un

icat

ion

Bu

ffer

Bu

fferF

ree

Poo

lF

ree

Poo

l

CacheCache

I/O BufferI/O Buffer

Buffer PoolBuffer Pool

DiskCache

Cache Cache

Remote ServerLocal ClientsLocal Clients

Blah Blah BlahBlah Blah Blah

Page 49: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

ServerServer

ClientClient

ClientClient

ClientClient

ClientClient

ClientsClients

Client Session:Client Session: Blah Blah BlahBlah Blah Blah

Page 50: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

ServerServer

ClientClient

ClientClient

ClientClient

ClientClient

ClientsClientsClient Session:Client Session:•Established by reserving sufficient resources and Established by reserving sufficient resources and setting up a logical channel.setting up a logical channel.

•Server resources are high, all incoming requests for Server resources are high, all incoming requests for starting a new session can be satisfied immediately.starting a new session can be satisfied immediately.

•Server resources not available:Server resources not available:•the client has to wait to be served.the client has to wait to be served.•determines when and which client request will determines when and which client request will be served.be served.

•ensures a certain fairness across clients to ensures a certain fairness across clients to achieve certain client satisfaction objectives.achieve certain client satisfaction objectives.

Page 51: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Summary:Summary: Blah Blah BlahBlah Blah Blah

Page 52: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Summary:Summary:•Although there are many types of servers, the basic concepts Although there are many types of servers, the basic concepts are built around simple principles.are built around simple principles.

•Specific server applications and environmentsSpecific server applications and environments•SchedulingScheduling•Storage subsystemStorage subsystem•Cache managementCache management

Blah Blah BlahBlah Blah Blah

Page 53: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Summary:Summary:•Although there are many types of servers, the basic concepts Although there are many types of servers, the basic concepts are built around simple principles.are built around simple principles.

•Specific server applications and environmentsSpecific server applications and environments•Server environmentServer environment•Specific server architecture and its componentsSpecific server architecture and its components

Blah Blah BlahBlah Blah Blah

Page 54: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Summary:Summary:•Although there are many types of servers, the basic concepts Although there are many types of servers, the basic concepts are built around simple principles.are built around simple principles.

•SchedulingScheduling•Client session schedulingClient session scheduling•Client request schedulingClient request scheduling•Scheduling in system componentsScheduling in system components

Blah Blah BlahBlah Blah Blah

Page 55: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Summary:Summary:•Although there are many types of servers, the basic concepts Although there are many types of servers, the basic concepts are built around simple principles.are built around simple principles.

•Storage subsystemStorage subsystem•Storage managementStorage management•Single disk issuesSingle disk issues•Multiple disk organizationMultiple disk organization•Storage hierarchyStorage hierarchy

Blah Blah BlahBlah Blah Blah

Page 56: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Summary:Summary:•Although there are many types of servers, the basic concepts Although there are many types of servers, the basic concepts are built around simple principles.are built around simple principles.

•Cache managementCache management•Buffering and cachingBuffering and caching•Memory cachingMemory caching•Disk cachingDisk caching

Blah Blah BlahBlah Blah Blah

Page 57: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Summary:Summary:•Once the type of server needed has been determined, Once the type of server needed has been determined, enhancements can then be added to the basic server enhancements can then be added to the basic server architecture to deliver the specific needs of what the server architecture to deliver the specific needs of what the server will be designed for.will be designed for.

Blah Blah BlahBlah Blah Blah

Page 58: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Anthony DenizardAnthony DenizardMary Jo ParkerMary Jo Parker

Cathy WeisseCathy Weisse

Blah Blah BlahBlah Blah Blah

Page 59: Server Architecture Cathy Weisse MJ Parker Tony Denizard March 27, 2002 Blah Blah Blah

Server ArchitectureServer Architecture

Cathy Weisse

Cathy Weisse

MJ Parker

MJ Parker

Tony Denizard

Tony Denizard

Bibliography:Bibliography:•http://www.sei.cmu.edu/str/descriptions/clientserver_body.html •http://www.devcentre.org/research/webarchitecture.htm http://www.devcentre.org/research/webarchitecture.htm •http://www.uth.tmc.edu/~atonnese/clinserv.html http://www.uth.tmc.edu/~atonnese/clinserv.html •http://www.dell.com/downloads/us/pedge/idc_servermkt.doc http://www.dell.com/downloads/us/pedge/idc_servermkt.doc •http://www.softwareag.com/tamino/architecture.htm http://www.softwareag.com/tamino/architecture.htm •http://webopedia.lycos.com/TERM/C/client_server_architecture.html http://webopedia.lycos.com/TERM/C/client_server_architecture.html • http://www.sjsu.edu/faculty/ddimov/http://www.sjsu.edu/faculty/ddimov/•http://www.x.org/about_design.htmhttp://www.x.org/about_design.htm•http://www.x.org/about_xserver.htmhttp://www.x.org/about_xserver.htm•http://www.webopedia.com/TERM/S/server.html http://www.webopedia.com/TERM/S/server.html •Dinkar Sitaram, and Asit Dan, Dinkar Sitaram, and Asit Dan, Multimedia Servers.Multimedia Servers. Morgan Kaufmann Publishers, 2000Morgan Kaufmann Publishers, 2000•Feiler, Jesse. Feiler, Jesse. Application Servers: Powering the Web-Based EnterpriseApplication Servers: Powering the Web-Based Enterprise . Academic Press, New . Academic Press, New York 2000York 2000

•Orfali, Robert. Orfali, Robert. Essential Client Server Survival GuideEssential Client Server Survival Guide . J.Wiley, New York 1994.. J.Wiley, New York 1994.•Held, Gilbert. Held, Gilbert. Server ManagementServer Management. Boca Raton, Florida 2000.. Boca Raton, Florida 2000.•Vaskevitch, David. Vaskevitch, David. Client/Server Strategies: A Survival Guide for Corporate ReengineersClient/Server Strategies: A Survival Guide for Corporate Reengineers . IDG . IDG Books, California 1993Books, California 1993

Blah Blah BlahBlah Blah Blah