Tunable Client-Server Application Support
Original Publication Date: 1999-Dec-01
Included in the Prior Art Database: 2003-Jun-20
Disclosed is a method for decreasing the average start-up time for the client side of a client-server application. This method is useful in cases where there is a significant start-up time associated with the server portion of a client-server application. The operating characteristics can be modified by the administrator of the application. A large start-up time for a software program can be unacceptable to users. When a user develops an impression of an application as slow the user will typically avoid using the application. In client-server applications it can be the case that the server-side portion of the application has a significant start-up time. The client-side of the application must wait for some exchange of data with the server-side of the application before the application can start. There are two basic means of supporting a client-server application. In both, the client-side of the application sends a signal to the server requesting server-side application support. At this point, the server does one of the following: 1. Starts a process to provide server application support to the client. 2. Provide the client the server application support from a fixed number of processes already running to provide such support. Each of these mechanisms has its disadvantages. The first mechanism requires that the client process wait until the server process is running and is ready to exchange data. If the start-up time is significant it can adversely effect user's impression of the application. The second mechanism suffers from the problem that the fixed number of processes chosen is rarely the optimal value. Choosing too large a number of processes dedicated to providing server support will mean that many of the processes will be idle much of the time. This is a waste of resource. Choosing too small a number of processes dedicated to providing server support will mean that the client portion of the application will have to wait until another client completes the need for server support.