Site Communication Optimisation: | Translation with Google : |
WinPCS is programmed to handle the succinct needs of multi site and user environments. This document discusses the various methods and recommendations of communication and data storage. The decision as to which method is used in a project can be made at any stage as all are proven methods from various WinPCS projects.
Our new WinPCS 32/64 bit true client-server application is optimised for high speed through TCP/IP (from any remote location) and from inside any corporate networks using SSL (Secured Socket Layer - same as Internet Banking). This will eliminate the cost and use of Terminal Clients/Server applications or VPN. WinPCS communicates with a high compression factor along with additional cryptic algorithm over a SSL connection. No other compression should be used that may introduce further Latency in the network. Requests to the server are small and returns or answers from the server are optimized to complete packages - This minimizes the traffic down to bare bone minimum.In a one site set-up, WinPCS will run as the Client / Server where all users will access the same server holding both the databases and the program application (WinPCS Executable). This is the most common configuration and the recommended setup (but it can be installed as separate installation at each multi-Site location and then eventually merged into one system for the final Hook-Up and Commissioning).
Network Critical Communication
Latency (the silent network killer)
What's network latency? When you send a packet or signal to a remote machine over the network then it is not received instantly. There are delays introduced in the cable, switches and every electronic equipment where the signal has to pass through. This delay involved in sending the packet back and forth can add up to the amount which for some applications can be quite annoying to the user. i.e. VoIP phones, Database applications and applications that needs real time communication. In a local area network latency is very low (or insignificant) but the further you move the sender and receiver apart the more latency will be introduced and at one stage latency may become the killer in your application even though you have perfect high bandwidth all the way through.
Take the worst case scenario, a satellite link - a geostationary satellite 36,000km up in the sky - where the signal will travel at the speed of light up to the Satellite and then back down to Earth. Because of the distance it will introduce a delay of 1/4 second or a latency of about 250ms and any additional electronic equipment or cables will worsen the latency and you can easily end up with an extra 1/10 second or 100ms.
With nearly 350ms latency it can be stressful for certain applications and some may even become useless under such conditions. Imagine talking over an VoIP phone where you have nearly 1/3 second delay. The worst part - you can't do anything about it other than trying to minimise the amount of hardware or even better move the location of the hardware to a point close to the Satellite link. (balancing your network)
In recent years several solutions has focused to overcome Bandwidth issues, boxes that will compress your signal and increase your throughput (moving more data at one time). Improvements of up to 600% may be achieved. Yes, it seems to be a formidable benefit to all but the reality is: it tells more about the inefficiency of software applications on your PC more than anything else and bare in mind these boxes will certainly not improve your latency.
Moving data across a network without being compressed?
This belongs to the very early computer history where compressing of signals simply took more time than just moving data out of the box. With today's high powered PC's where the processor(s) are relatively doing nothing. They just sit there and wait most of the time. Compression and uncompressing can be done within milliseconds or even microseconds on all communication.
Latency follows the law of nature and application providers must focus on other solutions to overcome this or at least give the user a feeling that the application has small delays. This can be achieved by pre-storing or per-fetching information that will be used all the time (Static information) so that only dynamic information will be transported over the network. Multi processing - or threads (do something else whilst waiting) are also a technique that will give the user a good feeling about your application. These are things we have built into WinPCS and we hope to improve and make it even better.
Optional
One Project Server with Terminal Server (no longer recommended unless special requirements and only used in the above set-up)
1. Terminal Server allows multiple, concurrent users to log on and run applications in separate, protected Windows sessions on the server. It is like running Windows but it is all happening on one Server. As a result, a single-processor server will meet the business application needs of dozens of simultaneous users, with good performance. The client users see and work with the application's interface, with nearly 100% of the application executed on the server. Client application sends only keystrokes, mouse clicks and return screen updates. Applications consume as little as one-tenth of their normal network bandwidth. (Presuming good bandwidth like Cable/ADSL to the Internet - tunnelling over the Internet can be used).
Printing will however still require larger bandwidth. The printing being a Word document has to be produced and formatted on the server itself - then by different coding or compression be sent back to a printer in you local environment - this may be a heavy burden on your network bandwidth and may be another factor to take into consideration. (Unlike the preffered network which stores the documents on a machine in the local Site network - or as HTM pages somewhere in the Internet community)
Fig.1 The terminal server concept
VPN (Virtual Private Network) A VPN can be defined as an on-demand connection between two computers in different locations. It consists of the two computers, with one computer at each end of the connection, and a route, or tunnel, over a public or private network. To enhance the privacy and security of your communication, data transmitted between the two computers is encrypted by the Point-to-Point Tunnelling Protocol (PPTP). More information See Microsoft's webpage: Understanding PPTP & TCP/IP.