Through the 1980’s & 1990’s, ECLIPSE was only available in one flavor. All operations performed by ECLIPSE were performed directly. In other words, when ECLIPSE retrieved data from files, that data was transferred directly from the computer’s hard drive to local memory used by the program. If that data resided across a network, large data volumes moving back and forth between computers could negatively impact system performance.
Along with various hardware and software improvements to increase network throughput, a new software paradigm took hold as a direct response to the fact that computer connections were much slower than the computers themselves.
The new model — dubbed Client/Server — presented a different strategy whose primary goal was to decrease network traffic. This new model called for two separate applications.
The Server application resides on the same network node [computer] as the database files. The sole purpose of this application is to fulfill requests to read data from and write data to the database. These requests are made by Client applications running on remote computers within the network.
The client version of ECLIPSE sends requests for data and does not read data directly. For example, suppose you select a patient from the rolodex with 1000 account entries in her ledger. Each read operation involves:
- Check the index to see if entries exist for this patient. This operation may require several disk reads.
- Read the actual information from the data file.
- Repeat step 1 while more entries exist.
The standard versions of ECLIPSE must therefore move a great deal of data across the network to retrieve each account entry. The Client version of ECLIPSE makes one request for this data by sending a message to the server. The server then returns all the information simultaneously. This potentially decreases network traffic by over 66% (the server checks the indexes locally and only passes back data) and gives a corresponding boost in performance. Naturally, this model has problems of its own (e.g. the overhead involved in sending messages). However, on a properly designed system, it should provide many advantages when under load – especially using today’s Gigabit Ethernet technology.
Appearances can be deceiving
It’s important to realize that even though the ECLIPSE front-end (user interface) appears and operates in exactly the same manner for both the client/server and standard versions of ECLIPSE, the two programs are radically different in the back-end (data access) design. The ECLIPSE Client is unable to access data without the Faircom Server.
Who needs it?
The best candidates for Client/Server are offices that have:
- Huge data volumes (e.g. > 500,000 account entries on-line). Actually, even single user systems can benefit from ECLIPSE Client/Server setups. However, if you’re running 2 or more (ECLIPSE systems range to 250+) workstations in use simultaneously on a regular basis, Client/Server operations should free you from a variety of Windows issues that affect performance.
- Remote sites running the program.
- Offices experiencing performance issues unique to their computer system/network. (Client/Server operation can bypass some types of problems that may elude troubleshooting efforts.)
Why do some newer ECLIPSE features *require* Client/Server technology?
Are you familiar with Cox® Technic? For decades, Dr. Walters has treated patients with her own modified version of this adjusting technique. However, her version specifically requires a Lloyd McManis flexion / distraction table. Why? Some electronic features of the table allow her to adjust a patient as if she had three hands. It’s not possible to implement her technique on a manual adjusting table.
ECLIPSE is self-contained & can operate with or without Client/Server technology — as described above. However, just as Dr. Walters’ requires a specific table to utilize a particular technique, some supplemental ECLIPSE applications (e.g. to create custom statements) have specialized technology dependencies (e.g. FairCom Server) as well.
By the way, aside from the fact that Dr. Walters is a big fan of the Cox flexion-distraction technique and has attended his seminar, Dr. James M. Cox has used ECLIPSE for decades.
The Client/Server Advantage
- Data integrity. Since a single application — the FairCom Server — is in charge of all open database tables, patient related information stays much safer as potential operating system anomalies are either bypassed or avoided due to misaligned local caches or improperly applied & released record locks. This intangible & transparent advantage provides a tangible benefit. Busy offices can’t afford down time due to data corruption. Down time is expensive. Higher data integrity helps minimize down time.
- Cache performance. Since the FairCom Server is managing all the data files, huge caches can be created on the computer actually running the FairCom Server to boost performance. Performance increases of 10% to 40% can be reasonably expected depending on system load (e.g. how many users/specific operations being performed) and operating systems used. Higher performance results directly in more productive employees and saves money.
- Growth & Asset Protection. Continuous advances in computer design make systems obsolete in several years. As ECLIPSE features that take advantage of these new technologies are added, greater processing power becomes a necessity. Better performance translates directly to extended computer life in two ways:
- After several years, replacing the computer that the FairCom Server is running on with newer equipment provides performance enhancements across the network and is more cost effective as compared with replacing the entire network (i.e. each computer).
- Increased performance allows the end user to squeeze extra time/value from an existing system.
- Initial savings on a system purchase.
- Though low cost UPS (uninterruptible power supply) systems are available for under a hundred dollars each, such systems are typically designed for small home computers and provide less than 5 minutes of battery time during a power interruption. Sophisticated systems that provide 15 or 20 minutes of battery life for more powerful computers begin at much higher price points. A standard network virtually requires high capacity UPS systems at each workstation to avoid data corruption during a power outage. Client/Server operations allow the UPS cost to be more highly concentrated on the server with relatively low cost UPS systems at each workstation. This is possible because the cache is managed entirely on the server. Incomplete operations shouldn’t place the database in an unstable state. Ultimately, this relates back to  above. Ideally, savings of thousands of dollars may result.
- Concentrating the power (and cost) on the server and within the network backbone allows less expensive computers to be used as workstation nodes because less local data processing is handled on each machine. For any size network, this can save thousands of dollars on a new system purchase.
Ensuring High Server Performance in Order of Priority
- Use the fastest data drives available. Hint: Look for drives rated for live video editing.
- Use a separate drive for your ECLIPSE data.
- Get a multi-CPU computer with the fastest CPU’s available. The Server runs multiple threads and will run much faster on a multi-CPU machine.
- Maximize RAM.
- The standard version of ECLIPSE may perform better than the Client/Server version under light load conditions on very small networks. Maximum performance gains (on a given system) will increase as network load increases.
- Client/Server operation is not a band-aid for a poorly tuned network or outdated hardware.
- A FairCom Server (software) must be purchased based on the number of expected users and installed to the computer that will be used for a network server. This software is accompanied by an Install Guide that explains installation, setup, and administration of the server software.
- The computer network must be configured for TCP/IP operation.
- Client versions of ECLIPSE (ECLIPSEClient.exe) must be installed to the same directory as ECLIPSE32.exe.
- Our utility program will create an ECLIPSEPATH (Windows 10) environment variable after mapping the network data drive to a drive letter on the local machine.
- When you launch ECLIPSE Client for the first time, it will be unable to locate a database. This is normal behavior.
- A Client tab exists on the ECLIPSE Configuration dialog. The three items on this page must be accurately filled out in order to set up communications with the FairCom Server and access the database:
- Enter the name of the Faircom Server. The default name is FAIRCOMS.
- Enter the network machine name of the computer on which the Faircom Server is installed.
- Enter the drive letter that would be used locally on the Server to access data (usually C or D).
- If the license is not configured for Client/Server operation, a message will be displayed before the database is opened. It will not be opened unless the configuration parameters are set in the license. There are no overrides for this. Anyone with a license problem can use the standard version of ECLIPSE to access data until the problem is resolved.