CET2176C Lecture #1 - Definition of the Server

Materials:
Lecture Only
Objectives:
The student will become familiar with:
The definition of the server,
The basic categories or roles of the server,
Network paradigm/architecture based roles,
Network scope/scalability based roles,
Network services based roles,
Economics based roles,
The Server framework.
Competency:
The student will become familiar with the basic definition of the server including the basic categories as well as the mission specific roles based on network paradigm, type, scope, architecture, intended services and economic influences on the design and implementation of servers and server frameworks.
Lecture
  1. Since the first PC's there has been a desire to network them together. In fact, the very first PC-like machines created at the Xerox Palo Alto Research Center were designed to be network workstations, not standalone personal computers at all. The server itself is then an integral component of a network, but not just any network. Server's fulfill specific roles in specific kinds of networks performing specific tasks within the network and are therefore designed and implemented to fulfill specific needs of networks.

    Definition:
     Server - Provide clients access to its shared resource(s)
              and/or network service(s) over the network connection.
    
  2. Servers, then, are by definition specialized nodes within networks and in the absence of a network a server is essentially not "serving" anything and is therefore not really a server. Servers by definition "serve" their client nodes by either providing them access to some local resource attached directly to the server and made available to the client over the network connection or they provide some network related functional service to the clients machines also over the network. This access to shared resources and/or network services over the network connection is specific and relevant to the definition. Two machines sharing a single hard drive attached to a single internal ribbon cable that attaches to both machines internal SCSI controllers, for example, does not in any way constitute the relationship of client-server between the two machines. The share of the resource has to happen over the network connection and the system sharing the resource (the server) in particular must be "aware" that this is what it is doing.

  3. The very existence of a server on the network will be determined by the specific network paradigm; or kind of network, being implemented. In a Peer-to-Peer network, for example, a server is neither required or even desired in many cases. The four basic network paradigms and how they influence the existence of one or more systems acting as a server on the network are:

    Peer-to-Peer: In this kind of network, each machine functions both as a client and as a server. Each machine can both share its resources and make them accessible to any or all of the others and can access the shared resources of the others. In such a network a "true" server is neither needed nor desired.

    Client/Server: In this kind of network, most of the machines are intended to be clients that will access the shared resources of one or more machines that will be designed and implemented specifically for the sole purpose of sharing their resources with the other machines. In such a network at least one machine must be a server providing its shared resources to the others.

    Centralized Processing: The original IBM mainframes were the centralized processors to which potentially hundreds even thousands of "dumb terminals" were directly attached. These dumb terminals had no computing power of their own and were no more than a monitor/keyboard pair wired all the way back to the mainframe itself. All actual processing occurred on the mainframe and it could support hundreds even thousands of users simultaneously running their individual programs and displaying their results on their individual screens. The modern implementation of such a system in which the client machine actually runs an application on the server and the client software only carries keystrokes to the server and returns screen updates to the client from its own personal "virtual desktop" running on the server is called a terminal server.

    Distributed Centralized Processing: In this type of network, there is no actual single physical machine to which one can point and say "that is the server." Nevertheless there is a server in this network. Instead of being a single physical machine, it is a virtual server in which more than one machine is running the special software it requires and they, acting together, manifest this entity on the network. There are several variations of this basic concept. Microsoft has an implementation in which two or more dedicated machines become a single physical entity on the network called the cluster server.

  4. So Peer-to-Peer networks require no server at all, while Client/Server networks predicate the existence of at least one node undertaking the role of the server. The other two paradigms are certainly not as common as the first two, but they do indeed exist and as the processing power of the PC continues to skyrocket, they will be seen more and more especially in enterprise-level solutions. The Centralized Processing paradigm has already been implemented by Citrix product for Microsoft's Windows NT 4.0 Server called Citrix MetaFrame. This software allows clients to run programs entirely in the RAM of the server which receives users mouse movements and keystrokes transmitted in raw form from the MetaFrame workstation software to the "virtual desktop" running on the server. Images from this virtual desktop are sent back in raw (although cached and compressed) bitmap form back to the client PC's software again. So it is a graphical user interface version of the old IBM mainframe method of scheduled jobs running entirely on the mainframe to which "dumb terminals" have been attached. In this case, because of the huge processing requirements of a GUI, the "dumb terminals" are PC's capable of executing all of the code required to maintain the fully functional GUI on screen. Distributed Centralized Processing Paradigm has also been implemented by Microsoft starting with Windows 2000 Advanced Server in its service called the "Cluster Server." By installing this on two independent PC's with at least one locally installed and shared hard drive, the two physical PC's can become a single server entity on the network: the cluster server. This entity will continue to function even if one of the physical PC's crashes, or physically powers off for any reason. Certain distributions of Linux support setups that allow each node to participate in the execution of a single parallel computing application, a process called grid computing. A grid computing installation running a virtual cluster server application would then form a true cluster server in which each client node on the LAN can devote a processing time slice to participating in the cluster server. The first such projects for Linux were called "Beowulf Clusters." These experiments started at NASA who later released them to the public.2

  5. In the most general definition, the server shares one or more resources with other machines called clients over the network. The network paradigm or implied relationship between the network nodes dictates whether a server is needed or not. The network architecture or arrangement of the nodes can also dictate the need for additional support role servers as can the scope or size of the network, the network's scalability, and any specific network services that the design and implementation of the network plans to offer to the clients (machines and human users). Despite all of these parameters for determining specific server roles, there are some basic kinds of server that exist regardless of what network specific roles or missions they are designed to fulfill. Furthermore, these terms themselves should be clarified first:

    Definition:
     Server Role - One specific service that servers provide to
                   clients over the network connection.
    
     Server Mission - The complete set of roles that the server
                   will provide to the clients and the importance
                   of this set of services to the network.
    
  6. Having clarified this, the various roles of the server can be organized into four basic general categories of services:

    The Four Basic Categories of Server Roles

    Local Hardware Share: This is the fundamental form of server; one in which the server shares one or more locally installed pieces of hardware including but certainly not limited to the hard drive(s), printer(s), scanner(s), etc.

    Local Data Share: This is also a fundamental form of server; one in which the server shares information stored on it with the clients. While sharing a hard drive could be equivalent, it is not. Clients can access files on the hardware share but not in an organized way. A software or data share would, for example, allow multiple users to access the same database file and even allow any one user to modify the record that they are accessing while preventing others from accessing it at that time. An example of this is an SQL server.

    Communication Share: This is another fundamental form of server; one in which the server shares its ability to communicate with some other form of network with the machines that are attached to it by another communication method. For example, local area network connected clients that can access the Internet through the server's DSL connection.

    Service Provider: This is another fundamental form of server; one in which the server provides a specific service to the network which can include: user management, traffic monitoring, etc.

  7. Within these four basic categories of server role, several common implementations of these categories have become so common that they are considered the foundational basic categories of server roles.

    Common Basic Categories of Servers Based on Their Role

    Storage server: This is one of the original and most prolific types of server. In fact this role goes all the way back to the first production mainframes: the sharing of its permanent high capacity storage capabilities. This is one of the "Local Hardware Share" types of server. The modern PC implementation is called the file server.

    Print Server: This is another one of the original and most prolific types of server. Due to the expense of purchasing an individual printer for every single employee servers have long fulfilled the role or sharing their printer(s) with some or all of the clients on the network. The modern PC implementation is called the print server. This another one of the "Local Hardware Share" types of server. Since these types of server both share locally installed hardware components and have been so common in networks they are often bundled into the single entity called a file and print server.


    The node on the left must actively participate in sharing the printer and
    allowing the node on the right to print; it is providing print services.

    Communication Services: Another foundational type of server whose role is again much older than the PC itself. Communications servers provide their connection and therefore access to other communication networks to their clients. A common modern communication server is the one that can be dialed by an employees modem equipped client machine from anywhere and begin accessing the local area network resources. This is called a remote access server or dial-up server and it bridges the LAN with the Public Switched Telephone Network.

    Mail Services: Although this is by definition a "communication share" type of server it involves more than just providing a gateway to another physical/protocol set of network devices. In fact, mail servers do not have to provide physical/protocol gateway functions at all. This is another foundational type of server whose role is again much older than the PC itself. The mail server provides the centralized point for clients to access it directly in order to create and send email messages as well as to retrieve such messages sent by others to them.

    Internet Services: Although this is also technically a "communication share" type of server, the Internet is a special and unique kind of network amongst all other networks in that it is "an infinitely scalable, internetwork of networks" (hence the name). Because it is a unique entity amongst all other networks, servers that provide the Internet and its technologies to clients are also a unique class of servers. One such server is the one machine that is actually attached to the Internet and browses it on behalf of the requests made to it by clients behind it on the LAN, such a server is called a proxy server.

    Management Services: Technically such servers are "Service Provider" types of servers. The network provides a solution to the problem of sharing limited resources with potentially unlimited clients, but introduces new problems including: traffic (scope and scale of the network), security (who has the right to share any given resource(s) and who does not have that right), architecture (certain areas must implement different hardware and related protocols which form a barrier which must be overcome and managed) to name a few. Management servers then fulfill these roles. In the modern Client/Server paradigm, the server that verifies a user's identity by checking the user's password and then issues that users rights to access the various resources on the network is called the authentication server.

    Application Server: Technically these are also "Data Share" types of servers. Application servers allow users to execute applications on the server rather than have the application installed on the local client machine. This offloads the majority of the storage requirements of large applications to a central location where it can be installed once rather than over and over on each client and allows for some or all of the application to actually run on the server rather than the workstation, offloading the RAM and processing requirements to the server as well. The modern implementation in which the application resides on and executes entirely in the server's hard drives and RAM is called the terminal server.

  8. The class of a server can be categorized by the number and types of individual specific roles that it fulfills for the network, this combination of roles is then the first part of the definition of the server's mission. Basic server missions based on the assignment of essential network server roles are:

    Categories of Server based on Role Aggregation

    Primary standalone: Such a server provides all essential server related services to the network by itself.

    Primary member: Such a server provides one or more, but not all, essential server related services to the network. In the event that it fails, the network will not be fully functional. Large networks often split the essential server related services for the network amid more than one server to reduce the burdens on them. In such a network a primary standalone server would most likely fail because it could not handle the network load placed upon it.

    Primary standalone backup: Such a server provides all essential server related services to the network in a backup capacity. There are two approaches to implementing such a backup server: active primary standalone backup also called a load balancing server: these servers work side-by-side with the primary standalone or primary members handling any tasks that the primary server(s) could respond to and coordinate their efforts with the primary server(s), passive primary standalone backup also called a fail-over server: these servers normally do not respond to client requests unless they detect that the primary server(s) are not responding, and then they take over primary functions until the primary server(s) begin responding again.

    Primary member backup: Such a server provides one or more, but not all, essential server related services to the network in a backup capacity. Just like the case of a primary standalone backup server, there are two approaches to implementing such a backup server: active primary member backup also called a load balancing server: these servers work side-by-side with the primary standalone or primary members handling any tasks that the primary server(s) could respond to and coordinate their efforts with the primary server(s), passive primary member backup also called a fail-over server: these servers normally do not respond to client requests unless they detect that the primary server(s) are not responding, and then they take over primary functions until the primary server(s) begin responding again.

    Auxiliary/Support Services server: Such a server provides one, some or all, nonessential server related services to the network. In the event that such a server fails, the network will remain functional, but it will lose the service(s) provided by this server also known as a special role server or a mission specific server. In many cases the special role server's services are vital to the operation of the organization. While the actual network remains fully functional meaning only that the clients can communicate and access resources, the actual shared resource(s) of the special role server are the reason for the network in the first place. An example would be a standalone SQL server holding the database that 1-800 operators use to fill orders with customers. With this server down, the organization cannot do business.

    Auxiliary/Support Services backup server: Such a server provides one, some or all, nonessential server related services to the network in a backup capacity. Because the special role server services may be vital to the operation of the organization, backup special role server(s) may be established so that the organization can continue to function at full capacity when the special role servers are down. Just like with primary role servers, backup special role servers can either be an: active backup special role server or passive backup special role server.

  9. Because a large number of the world's network servers are PC's, it therefore makes sense to speak of the organization's network or the components of it as its integral components including but not limited to its PC's functioning as servers and its PC's functioning as workstations. And it is important to determine what level(s) of availability of the network as a whole and of these individual PC nodes are required by the organization. Then it can be determined how to design and implement this availability throughout the network. The scope of the discussion of network availability falls outside the scope of the Server+ subject matter whose primary concentration is on the design, construction, maintenance, upgrade and repair of PC based servers. Nevertheless as Server+ professionals you will be expected to understand how to evaluate the PC based server's role including its importance which translates directly into its "availability" and therefore its design and implementation.

      Definition:
        Availability: The time that the system is accessible to clients
                      expressed as a percentage taken over the expected
                      lifespan of the system.
    
  10. The level of availability required for the system must be established. Then the design of the system can proceed. All computers have a level of availability including end-users' home computers. If the user cannot tolerate another day with the system incapable of booting and is willing to cart it to the store where it was bought in order to have it fixed immediately, then they have reached the limit of that system's state of being unavailable. Likewise the organization has a limit of how long and how often they can tolerate any given network system being off-line or unavailable including the server(s); and based on this tolerance or lack of it, the designer of the server is responsible for finding the most efficient implementation that will adhere as closely as possible to the organization's needs regarding this matter.

    Categories of Availability

    Availability Level: "Same Day" Repair: Such systems have no true availability rating or an availability rating of 0 which means that the system can go down and should be repaired in the same day. Example - The receptionist's PC whose primary job is to answer phones.

    Availability Level: "Priority" Repair: Such systems have no true availability rating or an availability rating of 0.5 which means that they can go down, but must be repaired and up and running again quickly. Example - The PC of the receptionist whose job is to schedule appointments. Without the system she would need a printout of the current schedule and have to find open dates/times by hand and write them in by hand until the system is working again if this could be done at all (depending on the number of clients and providers, say doctors, she must work with.)

    Availability Level: "ASAP" Repair: Such systems have no true availability rating or an availability rating of 0.99 which means that they can go down, but must be repaired and up and running again ASAP - As Soon As Possible. Example - Graphic designer. All of this employee's productivity is realized in the graphics she creates on the system.

    Availability Level: "Available": Such systems have a true availability rating or an availability rating of 99% which means that such systems can not go down. However, this is the lowest rating meaning that the level of investment in the system will be minimal at best. Example - low-end server. Productivity of all of this server's attached employee's will be reduced but not come to a complete halt if the server goes down.

    Availability Level: "High Availability": Such systems have a true availability rating or an availability rating of 99.9% which means that such systems can not go down. This is an intermediate availability rating that expects the system to be fairly robust and resistant to failure under adverse conditions. Example - high-end server. Productivity of some or all of this server's attached employee's will come to a complete halt if the server goes down.

    Availability Level: "Mission Critical": Such systems have a true availability rating or an availability rating of 99.99% which means that such systems can not go down. This is the highest availability rating and expects the system to be extremely robust and resistant to failure under adverse conditions. Example - high-end server. Productivity of some or all of this server's attached employee's will come to a complete halt if the server goes down.

  11. Within the terms "Available" and "High Availability" mentioned above there is also another way to classify these terms based on a "scale of availability" as follows:

    The System Availability Scale

    Availability Level 0: Replaceable: Such systems have no true availability rating or an availability rating of 0 which means that the system can go down and should be repaired in the same day. If it cannot be repaired then it can be replaced.

    Availability Level 0.5 - 0.99: Restorable: Such systems have no true availability rating or an availability rating of 0.5 ("priority" repair) to 0.99 ("ASAP" repair) which means that the system can go down and should be repaired in the same day. If it cannot be repaired then it can be replaced.

    Availability Level 99%: Available: Such systems have a true availability rating or an availability rating of 99% which means that the system cannot go down and the organization is willing to expend resources on the system to keep it up and running as consistently and reliably as possible. In general such a system can tolerate short term power loss and has some form of software RAID in effect.

    Availability Level 99.9%: High Availability: Such systems have a true availability rating or an availability rating of 99.9% which means that the system cannot go down and the organization is willing to expend resources on the system to keep it up and running as consistently and reliably as possible. In general such a system has implemented various backup, fault tolerance and redundancy technologies and cannot afford to be unavailable for any appreciable length of time.

    Availability Level 99.99%: Mission Critical: Such systems have a true availability rating or an availability rating of 99.99% which means that the system cannot go down and the organization is willing to expend resources on the system to keep it up and running as consistently and reliably as possible. In general such a system has implemented various backup, fault tolerance and redundancy technologies and cannot afford to be unavailable for any appreciable length of time.

  12. Mission critical servers are referred to as 99.99% available. The difference between 99.99% and 99.9% (and 99%) is enormous in terms of design, preparation and investment. This difference means that for a 99.9% available server; it would be down in theory for no more than one hour out of every 1,000. A week is 168 hours so this is roughly one hour every six weeks. However, a 99.99% available server would be down for one hour out of every 10,000 hours. Or in other words it would be down in theory for no more than one hour every 60 weeks. Obviously the only way to implement a true mission critical server then would be to have a backup power generator on which to run the system. This is because the system cannot rely on the public power utility to provide this level of availability. Areas of Florida affected by the hurricanes of 2004 can clearly attest to this fact. Backup power generators are less expensive than large collections of UPS's and if the company can implement the generator which involves placing it in the building in accordance with the landlord's permission and local building code ordinances then this is a cost effective solution for mission critical systems such as the central database of an interstate bank, for example.

  13. The importance of the server and its continuing to function under adverse conditions leads to the categorization of servers based on the importance of their mission and consequently their level of availability as follows:

    Categories of Mission based on Availability in Servers

    Non-critical mission: Such a server will have no special hardware or software provisions for keeping it up and running at all times. In fact it may not even have to run at all times, only at certain times while it performs its tasks. A storage server holding archives that employees can retrieve only on rare occasions when they need such information is an example of a non-critical mission server. These servers have availability ratings of 0 to 0.99

    Essential mission: Such a server provides essential services to the network and must function most or all of the time, but does not hold valuable information. As such it is quickly and easily restored or replaced in the event of a failure. At the discretion of the organization special hardware or software considerations may not be made for such a server. A DHCP server is an example of an essential mission server. It needs to be running but it can be replaced quickly by any server that can perform this function. These servers have availability ratings of 0, 0.5, 0.99 (unavailable), or 99% (available) depending on the economical impact of their failure.

    High-Availability mission: Such a server provides essential services to the network and must function all of the time, and it does hold valuable information. As such the organization will consider investing in special hardware and/or software considerations for it so that it will be reliable and remain operational. A web server for an ecommerce business is an example of a high-availability mission server that needs to stay up and running at all times. These servers have availability ratings of 99.9

    Mission Critical: This is the highest classification of importance in the role of the server. The mission critical server can never go down, which is an impossibility. Therefore every effort and expense is paid to the server to ensure its "very high-availability" rating of 99.99% even under the most adverse and extreme conditions. Government agencies like FEMA would require very high-availability mission critical servers, although many large companies spend the same money and effort to keep their mission critical systems operational as well.

  14. The architecture of the network can dictate the need for specific servers or nodes that provide server-type functions. Some common servers that must be provided based on network architectural situations include:

    Homogenous Networks: In this kind of network, there is only one hardware/protocol form of node-to-node connectivity such as a network in which all systems are using the same Ethernet hardware and protocols. In this scenario there exists no need for any additional support servers or network devices other than the normally expected standard hubs or switches in the case of 10/100/1000BaseT.

    Heterogeneous Networks: In this kind of network, there is more than one hardware/protocol form of node-to-node connectivity such as a network containing an Ethernet segment and an IBM Token Ring segment. There do exist, in some cases, dedicated internetwork connectivity devices that can link the dissimilar segments but, it may be necessary under specific circumstances to link the segments with a dedicated server. Such a server would fall under the general classification of a "communication share" type of server and be fulfilling the role of a layer 2 gateway.

    Tiered/Hierarchical Networks: In this kind of network, there are more than one network interconnected by different hardware/protocol form of network-to-network connectivity. Ethernet based LAN's interconnected between buildings using an FDDI (Fiber Distributed Data Interface) nodes linked by FDDI fiber optic lines. There do exist, in some cases, dedicated internetwork connectivity devices that can link the dissimilar segments but, it may be necessary under specific circumstances to link the segments with a dedicated server. Such a server would fall under the general classification of a "communication share" type of server and be fulfilling the role of a layer 2 gateway.

    Wide Area Networks: In this kind of network, multiple LAN's are interconnected through special hardware/protocols across large distances and distant resources often have to appear to be local resources. In any WAN aside from the special dedicated interconnectivity devices, one or more servers providing primary essential network services will have to be established at each site and be able to coordinate their activities with each other across the WAN links.

  15. The scope of a network including its size, behavior and traffic can also dictate the need for mission specific servers as can the scalability of the network. The number and size of the server(s) will be affected by the scope of the network. For large numbers, such as thousands, of workstations, there will definitely be many servers of the same role each one serving a subset or subdomain of the total population of clients. The scalability of the network affects the number and size of the server(s) as well. If the network is to be large-scale scalable, then a framework of servers must already be in place from the beginning to facilitate this capability. Conversely, the number and size of the servers on any network determine its scalability. Lacking a large and robust framework of servers, especially when scalability was not a consideration during their design and implementation will severely curtail the network's scalability.

      Definition:
        Network Scope: Size of the network both in physical dimensions
                      (distance between the two farthest nodes), total
                       population of nodes and in logical proportions
                       including populations per subdomain, inclusion
                       of Internet access, etc.
    
        Network Scalability: The ability of the network to grow without
                       having to make fundamental architectural changes.
    
  16. A scalable network means that it is designed from the very beginning to be able to expand quickly and easily so that it can accommodate much larger numbers of nodes including the addition of whole segments and even whole new collision domains (LAN's) to it. All of these factors including the current and the future size of the network have implications on the number and capabilities of the servers being designed and implemented for this network from the projects planning stages:

    Network Scope Factors that Influence the Number and Capacity of the Server(s)

    Single segment small "Collision Domain" LAN: In this kind of network, there is one low population LAN segment. These are often called a SOHO - Small Office/Home Office type of network. In such networks where all machines are using a single hardware/protocol form of networking, and there are low and usually fixed numbers of clients, it is often possible to provide all essential server services from a single server. This server would then be fulfilling the role of the "."

    Multiple segment "Collision Domain" LAN: In this kind of network, there are more than one populated LAN segments. These medium sized networks often have too many clients for a primary standalone server to handle efficiently. In such networks it may be necessary to divide the primary services amongst multiple servers and it may be wise to isolate high traffic groups of clients to reduce the traffic burdens that have to cross from one segment to another.

    Large Multiple Collision Domain LAN: In this kind of network, there are two or more complete and independent Ethernet LAN's forming one large LAN. Because Ethernet collision domains have a maximum diameter, for large LAN's it may be necessary to divide the Ethernet collision domain into multiple collision domains and then provide some other network technology to bridge them together. While this is begin done it might also be necessary to isolate sections of the network from other sections. While dedicated internetworking devices do exist to facilitate the implementation of such a network, a LAN featuring fully physically isolated regions will almost certainly need primary services to be provided by one or more servers on each component network.

    Network Scalability Factors that Influence the Number and Capacity of the Server(s)

    No Scalability: In this kind of network, the potential for large-scale growth is for the most part ignored. As such the scalability of the network plays no part in the design and implementation of the servers.

    Limited Scalability: In this kind of network, the potential for large-scale growth is for the most part ignored. However, modest growth is anticipated and as such may affect the number of servers and their performance capabilities.

    High Scalability: In this kind of network, the potential for large-scale growth is planned for from the beginning. As such the scalability of the network plays a large part in the number of as well as the design and implementation of the server framework(s).

  17. Often networks are implemented in such a way that they intend to provide certain specific special services to one or more specific classes of user. Public access services introduce a whole new category of services that changes the scope, scalability, specific services, availability, and even architecture. As such these special roles should be listed in all of these categories which would be confusing, so they have been set aside here. The choice to provide public access services raises many issues, not just security, and influences the number and size of the servers involved in the project.

    Public Special Role Services

    Public Access Segment: In this kind of network, there exists at least one or often an entire segment of client machines intended for public visitors to use. The network also has one or more machines and services which are not open to the public. An example would be a public library providing workstations that the public visitors can use to search the book collection. Such a network will need additional services in the area of authentication and separation of the public access domain segment of the network from the private domain segment(s).

    Public/Remote Access Domain: In this kind of network, there exists at least one service open for access through the existing public domain network(s) including the PSTN - public Switched Telephone Network and the Internet. Such a network will have to set up special provisions to ensure that the remote access clients are properly authenticated and their access restricted to the intended public and/or private shared resources. There do exist, in some cases, dedicated internetwork connectivity devices that can link the dissimilar systems but, it may be necessary under specific circumstances to link these systems with one or more dedicated servers offering "service provider" as well as "communication share" and be fulfilling the roles of layer 2 gateway and authentication server. If the entity has a web presence (a website) one or more servers will also have to function as a web server and possibly other roles.

  18. Economic limitations can certainly affect the implementation of servers within the network usually making the designers make choices concerning the number of them, roles each must fulfill, and mission availability of each server. Since economics was involved as the primary factor in implementing networks in the first place (sharing limited resources with multiple users) it is no surprise that it will also profoundly affect the design and implementation of the servers on the network as well. Economic considerations can affect the design and implementation of servers on the network usually in two ways: limited resources (money and manpower) and unlimited resources. However, resource allocation falls into two categories as well: initial resources and ongoing project support resources. The ability of the organization to allocate sufficient initial and ongoing project funds affects the overall network project and the implementation of the servers on it.

    Limited Resources: The organization cannot expend the proper amount of money, and manpower needed to implement their needs. Because of this network design and server design will have to make hard choices on what corners to cut and still be reasonably functional and reliable.

    Limited Initial Resources: The organization cannot expend the proper amount of money, and manpower needed to implement their needs. But they anticipate ample resources to allocate toward subsequent maintenance of the project.

    Limited Subsequent Resources: The organization can expend the proper amount of money, time, and manpower needed to implement their needs. But anticipates limited ability to provide funds and manpower to the subsequent support of the project.

    Unlimited Resources: The organization can expend the proper amount of money, and manpower needed to implement and provide subsequent support of their needs and see this as an essential and profitable expenditure if done wisely. Because of this network design and server design will have to make highly efficient choices so that undue and unjustified expenses will be minimized.

  19. Here are a few examples of initial and ongoing project resource allocation economic factors that can be considered during the design and implementation of servers in the modern networking environment:

    Economic Factors that Can Influence Server Design and Implementation

    Hardware vs. Software Solutions: Many technologies begin as software solutions or simply put; programs that can perform certain tasks. Because of their popularity, these programs often get embedded into hardware devices in the form of the device running a ROM BIOS chip implementation of the program or network service. More often than not, a hardware level solution will be faster and far more reliable than a software implementation of the same solution. Economics can affect this choice as well, since buying a separate device to do what the server could do increases the overall cost of the project.

    Availability vs. Recoverability Solutions: Especially when faced with limited economic resources, the design and implementation of the server(s) will have to weigh the options of making the servers highly available versus highly recoverable which means should the organization invest more in the server's ability to stay online or should they invest more in the server's enhancements toward disaster prevention and recovery. With unlimited resources and the organizations desire for mission critical servers, the organization would invest sufficient resources into both strategies for all mission critical systems.

  20. In general then the factors that determine the very existence, numbers, and categories of server on the network can be summarized as follows:

    General Factors Determining Number and Categories of Server on the Network

    Network Paradigm:

    • Peer-to-Peer: does not require a server.
    • Client/Server: requires at least one server.
    • Centralized Processing: requires at least one powerful server.
    • Distributed Centralized Processing: requires more than one system and specialized software to implement the server.

    Network Scope and Scalability:

    • Small single segment LAN: may require only one primary standalone server.
    • Medium multiple segment LAN: may require multiple primary member servers.
    • Large multiple "collision domain" LAN: will require at least one primary standalone server per collision domain and possibly a centralized server to coordinate them.
    • No scalability: The scalability of the network is not a concern and therefore has no effect on the size and/or number of servers.
    • Moderate scalability: the network must be capable of easily implementing some limited expansion in scope (either or both physical size and number of nodes), this may require design and implementation considerations with the server(s).
    • Upward scalability: the network must be capable of easily implementing considerable expansion in scope (either or both physical size and number of nodes), this will require design and implementation considerations with the server framework.

    Network Architecture:

    • Homogenous Network: Since all systems use the same interconnectivity technology, such a network exerts no influence on the size and/or number of servers needed.
    • Heterogeneous Network: may require only one primary standalone server, but due to the interconnectivity of unrelated network hardware and protocols may need a communication server.
    • Tiered/Hierarchical Network: most likely will require at least multiple primary standalone servers for each network within it.
    • WAN - Wide Area Network: will require at least one primary standalone server per collision domain and possibly a centralized server to coordinate them.

    Intended Services:

    • Local Hardware Share: may require only one such server, but depending on the scope/architecture of the network could require more. A common local hardware share service is the file and print server.
    • Local Data Share: Again depends on the scope and architecture of the network as well as the number of specific services being offered. Common local data share services include: application servers and database servers
    • Communication Share: Some networks such as a small single segment LAN may not require one at all, while other networks may require many, some offering a single communication share function, other offering many such functions. Common communication servers include: remote access servers which fulfill the role of a layer 2 gateway.
    • Service Providers: Some networks such as a small single segment LAN may be able to incorporate all network services into a single primary standalone server while larger, more complex and scalable networks will have to design and implement a specific strategy for allocating service provider servers. Common service providers for networks include: DHCP - Dynamic Host Configuration Protocol server, DNS - Domain Name Services server, and Domain Controller (authentication server).
    • Special Role server: Some networks such as a small single segment LAN may be able to incorporate any intended special role into the primary standalone server while larger, more complex and scalable networks will have to design and implement a specific strategy for allocating special role servers. Common special role servers provide public access segment services and public/remote access services.

    Mission Availability:

    • Non-critical Server: may not be necessary, its functions could be implemented as a secondary role within an existing server. Even if implemented they usually have no special hardware or software considerations.
    • Essential Server: Depends on the importance of the role(s) as to whether special considerations in hardware and software will be invested in this server.
    • High-Availability Server: Because of the nature of its role(s) and data it holds, special considerations as to its hardware and software will be made in order to ensure its high reliability.
    • Mission Critical Server: Due to the importance of the service(s) and data this server holds, every expense will be undertaken to ensure its reliability.

    Role Aggregation:

    • Primary Standalone Server: If practical, all essential roles are combined into a single server.
    • Primary Member Server: When it is impractical to combine all essential roles into a single server, the duties are split into two or more servers working together.
    • Backup Primary Standalone Server: often implemented as part of a high-availability solution, one backup primary standalone server could be implemented on a network that employs multiple primary member servers as an economical effort to keep the network functioning at a reduced capacity even under extraordinary circumstances. The two categories are "active backup primary standalone" or load balancing primary standalone and "passive backup primary standalone" or fail-over primary standalone server.
    • Backup Primary Member Server: often implemented as part of a high-availability solution, backup primary member servers could be implemented on a network that employs multiple primary member servers as an effort to keep the network functioning at full capacity even under extraordinary circumstances. The two categories are "active backup primary member" or load balancing primary backup and "passive backup primary member" or fail-over primary member server.
    • Auxiliary/Support Services Server: The special role server design and implementation will be dictated by many factors including the mission importance, network scope/scalability/architecture, to name a few.
    • Backup Auxiliary/Support Services Server: The backup special role server design and implementation will be dictated mainly by the mission importance of their service(s) and are considered at least a high-availability solution if not mission critical servers.

    Economics:

    • Limited Resources: may include available initial funds, limited time/manpower/man-hours that can be invested on the project, and/or limited subsequent funds and/or manpower that can be invested in the long-range support of the project.
    • Unlimited Initial Resources: The organization may have ample funds and manpower to invest in setting up the project but limited funds and/or manpower to expend on the long-range support of the project. Such a scenario dictates that the project be designed and implemented with this in mind or else the entire project could ultimately fail making the large initial investment a total waste to the organization.
    • Unlimited Subsequent Resources: The organization may have limited initial funds and/or manpower to design and implement the project but will have ample funds and manpower to expend on long-range support of the project. This is an usual case it should be noted.
    • Unlimited Resources: The organization has ample funds and manpower to design and implement the project and ample funds and manpower to expend on long-range support of the project. This scenario is almost as bad as having limited funds and manpower. It is very easy for the IT department of such an organization to over spend funds and invest extensive manpower when far more efficient solutions are possible.

  21. One of the principle objectives in designing and implementing servers on any network that requires them is to determine using the criteria above: how many servers will efficiently provide for the client systems requirements, how to efficiently divide the services being provided by the servers (if there is more than one), how to efficiently allocate the initial expenditure of building the servers, how to efficiently allocate the budget of regular maintenance of the servers (and consequently their network), determine the availability requirements of the servers, and how to plan for and recover from disasters on the servers (and consequently their network). In the case where there will be more than one server, all of these factors are going into the design and implementation of the server framework.

      Definition:
        Server Framework: The collection of servers each fulfilling 
                          separate yet essential roles and their
                          physical and logical relationships with
                          each other and their attachment to the
                          rest of the network.
    
  22. Server frameworks are divided into two classes: virtual or logical server frameworks and physical server frameworks. The logical server framework is also known as the network infrastructure; that is, how are the servers organized and how to do they cooperatively share their duties and roles on the network. A logical server framework or infrastructure can exist in any network with more than one server regardless of whether or not any special physical server framework is in place. A physical server framework implies that there are special server node-to-server node connectivity implementations in place. Generally speaking, when there is a physical server framework, there is also a logical server framework in place.

       
     

    Even a network with a single server can implement a physical
    server framework. In this case, the primary standalone server
    is attached to the switch through a special 1000BASESX Fiber
    Optic Gigabit Interface Converter (GBIC) port. All of the clients
    attach to it with less expensive conventional 100BASETX ports.

     
  23. There certainly do exist extremely loose and ill-defined server frameworks mostly in small to medium networks (single segment/multiple segment single collision domain LAN's, for example) but in large enterprises with large tiered/hierarchical LAN's/MAN's/WAN's, the servers framework design and implementation is critical not only to the performance of the network but to its very ability to function at all.

    Factors Affecting the Server Framework

    Server Node Interoperability: Servers fulfilling various and specific roles should be fully compatible and fully aware of each other and the roles that they are responsible for.

    Server Node Authority: Amid the servers, the authority hierarchy and logical infrastructural relationship between them should be clearly defined and well designed and implemented.

    Server Node Administration and Maintenance: The assignments and responsibilities of all employees concerning the administration and maintenance of the servers should be clearly defined and well managed.

    Server Node Interconnectivity and Communications: Amid the servers within a server framework it should be noted that server node-to-server node communications differs from server node-to-client node communications both in content and priority. In certain situations it may be not only wise but necessary to isolate this traffic.

    Physical and Logical Network Segmentation: In designing the server framework attention should be paid to the physical segmentation of the network and the responsibilities of the servers for these segments which relates to their locations and connections to each other, the rest of the server framework and their clients. Similar design considerations affect the server framework concerning logical segmentation of client populations (by type, numbers, etc. of clients.)

    Mission Availability: Is a primary consideration in the design and implementation of the server framework. The physical locations and interconnectivity between server nodes will affect the overall availability and reliability of essential services throughout the network.

    Security and Network Management: One of the primary factors affecting modern networks is network security, it will influence the location, design and implementation of the servers, their roles, and what role(s) they will play in the management of the network as a whole.

    Economics: Initial and subsequent resource allocation will certainly affect the overall design and functionality of the server framework just as it affects the design and implementation of the individual servers themselves.

Review Questions
  1. Define server:


  2. List and define the four basic categories of server:











  3. List and define the seven most common representatives of the basic categories of server:




















  4. List and define the four basic network paradigms and how they influence the number of servers and nodes required to create the server(s) on them:











  5. List and define the six network scopes and scalability levels and how they influence the number and capabilities of the server(s):

















  6. List and describe the four economic influences on the number and capabilities of the server(s):








  7. List and describe the six levels of availability that can influence the design and implementation of the server(s):

















  8. List and describe the four levels of server based on their levels of availability that can influence the design and implementation of the server(s):

















  9. List and describe two public access special services:





  10. List and describe the seven primary factors that determine the number and category of servers on the network:




















  11. List and describe two additional economic factors that directly influence the design and implementation of the servers based on weighing the cost of one solution vs. an alternative:





  12. Define server role:


  13. Define server mission:


  14. Describe and contrast load balancing server vs. fail-over server:





  15. Define server framework:


  16. List and describe the two types of server framework:





  17. List and describe the primary factors that influence the design and implementation of the server framework:























Copyright©2000-2008 Brian Robinson ALL RIGHTS RESERVED