This Season
 

How to Build a Client Server Computer

How to Build a Client Server Computerthumbnail
Client Server Computing

This article identifies client-server computing and illustrates easy ways to leverage this technology with tools already at your disposal. Though client-server computing may sound official, technical and daunting, it is the simple idea on which the Internet runs.

To be a client in this context is to ask another computer for something. To be a server is to provide something when asked. So any time you point a web browser at google.com to search for something, your computer is acting as a client and the google computer is acting as a server.

As nearly every personal computer purchased today arrives fully loaded to function as a client, this article will focus on creating a server.

Related Searches:
    Difficulty:
    Moderately Easy

    Instructions

    Things You'll Need

    • At least one computer Server software such as an FTP server or a web server A physical connection between computers A common network protocol such as TCP/IP Client software, such as Firefox or Safari
    1. Planning

      • 1
        Client-Server Communications

        Think about what you need done with client-server computing. If you will be providing iTunes movie downloads to clients across the globe, the number of requests you'll get will be large enough to take advantage of special computers optimized to work as servers. If you just need a place for Duane and Paula to share files, a special-purpose machine may not be required.

        If you are working as a developer, or are simply testing out examples of client-server technology, you might install both the client and the server software on the same system.

        This article assumes your needs are small and that nearly any machine on a network could support the physical demands of sharing, or serving, clients.

      • 2

        Consider operating system choices as well as hardware. The more often and the more intensely the server is asked for information, the greater the potential benefit in purchasing an operating system that's specialized for serving information. With Microsoft Windows, for instance, the ability to serve (or share) files with other computers exists in both the Workstation and Server products, but there are significant limits to the number of different clients that can be simultaneously served by the Workstation product. Those limits are hard-coded in the Workstation version, but removed for the Server version of the operating system.

        Operating systems such as Sun Microsystems' Solaris and Linux don't bother to differentiate between client and server versions, but the installation and management of these operating systems generally requires a greater degree of technical sophistication on the user's part. Note that Sun's Solaris operating system is available for free download, and it comes with some of the most common server programs preinstalled and without limitations.

      • 3

        Determine how the machines will be physically connected. Unless you are a developer or are testing a system, you're likely to want this server to respond to requests made by other machines. Ensuring that the physical connection for your systems is clean and error free is a very important step in client-server computing because it can be difficult to diagnose software problems if the hardware is giving you difficulties.

        What would it be like if your computer's connections were as erratic as cell phone connections? The connecting technology may or may not be important. Your cell phone might be able to transfer phone numbers and contact information to your PC, but that functionality might only be available through Bluetooth networking. Machines have to be able to communicate at a physical level before they can communicate software to software.

      • 4

        Decide what server software you will use. Client software "asks" for information, and server software "replies" with the information. There won't be any progress until the machine you have marked for a server is running "server" programs. But there are lots of types of server programs--optimized for different types of client requests. On corporate networks it's common to see clients asking servers to store or retrieve (save or open) files stored on computers over the network. These "file servers" run programs that listen for client file requests, and then (subject to security verification) they pass the information along, or accept the information, if the request is for a "Save" operation across the network.

        In 2009 the most common methods for using files across a network are Microsoft's Server Message Block (SMB) protocol and the UNIX Network File System (NFS). There is a UNIX version of Microsoft's protocol as well, called SAMBA. This open source version of SMB can be installed on UNIX machines or other network file servers in order to easily exchange files with Microsoft clients. Of course, an NFS client software can also be installed on a Microsoft machine and allow it to request files of a server running the NFS file server. The point is to understand what program will be used to provide the information, and to ensure the client machine is running a comparable program so its requests may be understood by the server.

      • 5

        Identify what network protocol you will use between your server and its clients. The Internet is based on TCP/IP, but Macintosh computers all ship with support for AppleTalk as well. The most common network protocol in use for client-server computing in 2009 is TCP/IP, but on older systems, TCP/IP might not have been installed. As you consider different protocol options, bear in mind that some services you may wish to provide are available only over a specific protocol.

        The File Transfer Protocol (FTP) for instance, requires TCP/IP. It will not function across AppleTalk, or NetBEUI. The Hyper Text Transfer Protocol (HTTP) used with web pages will also work only across TCP/IP. So clearly, the decision on what you wish to serve may constrain your protocol options.

      Implementation

      • 1
        Figure 1: Physically connected to wireless router

        Verify that the systems are all physically connected. This may be done through wireless connections or through wired Ethernet cables, or even a combination of systems wired to routers or bridges that are in turn connected to wireless systems. The method is not necessarily the issue, but ensuring each machine has a clean physical connection is an indispensable step in this process. All the other work is useless if the systems can't get their messages through the physical layer.

        Systems connected to switch ports or hub ports should see green lights on when the attached computer is on. This green light signifies that the computer is cleanly connected to the hub or switch. For systems attaching through a wireless connection, there are typically diagnostic screens associated with the wireless function that will identify if the system is connected, and to what extent the network may be functioning. Figure 1 shows a Macintosh computer that has a good connection to a wireless router but no connection at all to a hub. If the hub is the only way to communicate with its server, this wiring issue must be resolved or there will be no communications with that server.

      • 2

        Verify that your network protocols are working correctly. Just as with the physical network, ensuring that protocols like TCP/IP are working correctly on all systems is a critical step because none of the other activities will be useful until issues are ironed out at this level. The easiest test for TCP/IP between computers is the ping test. At a command line on one machine, type "ping name" (without quotes) where "name" represents the name of the machine you would like to reach. If this does not work, try to substitute the TCP/IP address of the machine for the name. If that does not work, there are significant network issues to be addressed before continuing with server software installation.

      • 3
        Figure 2: Styles of sharing for a Mac running OS X

        Install and/or activate the server software. Using Microsoft as an easy example, a computer running Windows for Workgroups back in 1993 would have just needed to click a check-box to "Share files with other computers." This simple function on a GUI in the control panel would have started the network server software that "listened" to client file requests.

        Similarly, as shown in Figure 2, a user on a Macintosh computer running Mac OS 10.5 in 2009 just needs to open the "Sharing" icon in System Preferences in order to turn on the file serving programs for Macs. Even on the workstation version of the Macintosh operating system, file sharing can be done using the Server Message Block protocol. Though the core of the Macintosh operating system is UNIX, NFS is not a default server program on the Macintosh workstation. Instead, the Macintosh still supports its own file sharing protocol (AppleTalk) and the more simplistic File Transfer Protocol (FTP).

      • 4

        Add and activate any additional server software you require. Each type of information you may want to share may have its own method of listening for requests and thereby responding to the client asking them. Web browser software running on a client asks a "web server" for information. But unless there is a web server running on that machine, the client will not get a response at all.

        Apache's web server software is open-source, commercial-grade software for serving web browser clients. Though this may be a good choice for high-volume users, it may be overkill if you just want to publish internally for your office or if you just want to experiment with the technologies at home. All Microsoft and Apple operating systems ship with web server software on them, but as you can see in Figure 1, the software is not turned on until a user explicitly asked for it to start. Also, as with file server programs for the workstation, the volume of activity the workstation versions can support is constrained on these platforms.

      • 5

        Add and activate any client software required. If you intend to serve files through the Network Flie System (NFS) protocol, for instance, you will find that Macintosh computers do support it, but starting it up can be an intensely manual process. Activating a web browser, on the other hand, is as easy as double-clicking the icon on your desktop.

    Tips & Warnings

    • Though most operating systems being sold today have the potential to be servers, if you expect the machine to be very busy working as a server, or expect it to serve a large number of users (even if it's not all that busy) you may need to investigate special sever versions of the operating system. Start small. Get some successes working at small-scale before rolling out a server to large communities of users. Do your research on tuning for server usage. Success with small numbers of users does not guarantee success with large volumes of users because performance on client-server systems is not linear. As you expand usage of a server system, expand incrementally. As each new group of users is added, collect performance information about the server and its response times in order to proactively research and eliminate developing issues before they become actual downtime for the system and the clients it serves.

    • It is not always a good idea to convert your computer into a server. Imagine that you are sharing files with your family at home, or coworkers in the office, then forget that you're "sharing" as you wait at the airport for your flight. You may accidentally create a costly information breach by offering your system's information to would-be hackers. Though it's easy to construct a client-server relationship with systems you can reach out an touch, there are some complexities involved when trying to serve your data to people across the Internet. Typical home-based Internet connections make it difficult to reliably serve information to the net. If that is your goal, you may need to invest in a business-class Internet connection that can offer you a "static IP address."

    Related Searches

    Resources

    • Photo Credit All graphics created by Paul Nelis

    Read Next:

    Comments

    You May Also Like

    Follow eHow

    Related Ads