Cirris' Introduction to Servers
Server BasicsA server in its most simple form is just a PC running software that is responsible for coordinating some form of communication between nodes on a network. There are four requirements for a server:
Types of Servers
There are many types of servers that provide services to affect every aspect of your life in our digital world. Here are a few of them:
When you want to look at a web site on the internet, you type in an address and the requested site is displayed on your screen. This is possible because there is a computer out on the internet that is running a program that is watching for web site requests and when it sees one it understands, it retrieves the necessary files and forwards them to your browser.
Have you ever wondered how the email you just sent to some strange xxx @gmail.com address knows how to get to the desired destination? This is also done with a server. A mail server specializes in taking the email address, translating it to a set of network directions, and locating a destination computer that will receive the email. Once the route has been determined the message can be packaged up and sent on its way.
A proxy server is responsible for the behind the scenes details that are required to make a network function. Often, networks become so complex it is difficult to keep track of all the nodes that are connected. A proxy server keeps track of the nodes near it in the network and passes that information to other servers looking for specific computers. This makes it possible for us to retrieve a document from a history department computer in the basement of a building on the campus of Moscow State University without ever knowing where the document came from.
This brings us to a server that makes networking your easy-wire software possible. A database server is a program that listens for requests to retrieve data from, or store data to, a particular database. This allows one central file to contain information that can be used in several locations eliminating duplication and improving efficiency.
Example drawing of a Database server
Multiple servers hardwired together
Real time data collection & reporting can provide helpful information for production evaluations.
Why do I want Easy-Wire on a Server?
Cirris easy-wire software has the ability to be networked to a server. We do this by storing the data needed to run all of your test equipment in one central file called easywire.fdb. Using one file allows any easy-wire client station to centrally manage the test programs, security settings/logins, and data collection/reports from any computer on the network with easy-wire installed on it. The Cirris Server is responsible for collecting all of this data and handing it out to all of the stations who request it. The Cirris server software is always listening for requests from the easy-wire stations. When it receives a request, it is processed by an application called Firebird and the response is then generated and given back to the end user or station. If the request is for a specific set of test data, then Firebird will retrieve the data and send it back for display at the requesting station. If the request is to save a test program, the server will gather the test data and place it in the proper locations within the database file.
Using a database server is a great way to share data between machines, but a central database can also pose some potential liabilities that must be understood as you design your test solution. As more and more stations are connected to the server, the amount of data that is passed back and forth between the stations and the server can quickly grow. Requests for data from every station need to be processed by the single Firebird server running on one machine, so that one machine must have the necessary "horsepower" to handle all of these requests. The operating system, disk access, and the data speed that your network is capable of all come into play. If you are connecting one or two Cirris test stations, the server machine may just be a desktop PC capable of storing a couple of megabytes of data. If your needs grow to twenty or thirty stations this solution will soon become overworked and unable to keep up with the demand of all thirty stations requesting data at the same time. For example, a test program that is storing measured values on a 500 point device-under-test can be expected to send between 3000 and 5000 bytes of data for each completed test. If this is happening on each station in a 25 station network, surges of network traffic could reach 125,000 bytes of data at a time. To process this amount of data the server hardware should be optimized for serving data. The computer hardware needs to be capable of these loads. It should have disk storage that can handle files that are several hundred megabytes in size and have quick disk access times. The operating system also needs to be designed for this type of work. We recommend Microsoft Windows 2003 server or newer. You may also benefit from upgrading from PC hardware to server hardware which is designed for continual use under heavy loads. The connections between the test stations on the network will also need to be considered. If your network is connected with cables that are only capable of 10 megabit data speeds, it is probably not going to be able to handle these data loads without long delays (i.e. end user frustrations). Perhaps you have noticed long pauses when you are running easy-wire during a busy production day. This may be caused by an overload somewhere in your network setup. It may be the server hardware, the operating system, or it may be the connections between the stations on the network.
As your testing needs continue to grow, it may become necessary to break your easy-wire network into smaller groups. For example all of your build stations could be placed in one group, while your final test stations can be placed in another. It may make sense to divide things by product lines or customers. By breaking things up into smaller groups you can spread the network load issues discussed above into manageable groups giving you the benefits of the network while alleviating some of the scaling issues.
At Cirris we are always looking to make our testing solutions faster, more efficient, and scalable to better serve your testing needs. We also want to improve data backup and maintain the integrity of very large databases. It is our goal to use technology to make your job easier, and your data safer.