User interface language: English | Español

Date May 2019 Marks available 12 Reference code 19M.3.HL.TZ0.4
Level HL Paper 3 Time zone no time zone
Command term Evaluate Question number 4 Adapted from N/A

Question

Refer to the Paper 3 Case study: a new computer aided dispatch system for Bangbai, available under the "Your tests" tab > supplemental materials.

Rahul has suggested that the use of the citizen reporting function of the app might be much higher than initially requested and this could affect the emergency assistance function if they share the same server.

As a result of this, Rahul has decided to put citizen report on a separate cluster of servers and use a load balancing algorithm to manage the workload of the server.

Evaluate the appropriateness of the following load balancing algorithms for use in the Bangbai EMIS:

Markscheme

The answer could include the following:

Definitions:
The source IP hash combines the source and destination IP address to generate a hash key, which is then assigned to a specific server. The benefit of this approach is that a client who experiences a dropped connection can be returned to their session with the same server.
The client-side random load balancing algorithm delivers a list of server IPs to the client, which then selects a server IP at random.

Security
As Client Side Random allows control of the choice of server to be made by the client it would leave the system much more vulnerable to DOS/DDOS attacks.

Persistence
If disconnected, Client Side Random may allocate a new server to the client as it will choose randomly from the list. However, if the IP is the same, then Client-side Hash will pair the client with the previous server. This may mean that the work being done before is not lost (e.g. Client continues from where she left of seamlessly).

Distinguishing between users
Client-Side Hash is affected when a single IP address is used by many users (e.g. proxy servers sharing a connection, VPNs etc.). A single user might also disconnect and re-connect with a different IP address due to DHCP so would be seen as a “different” person.

Cost Client Side Random is a cheaper solution as it doesn’t require any expensive hardware on the server side (i.e. the hardware load balancers etc.).

Single Point of Failure (SPOF)
Client Side Random eliminates the SPOF as all requests do not depend on one device (i.e. the hardware load balancer provided by the system). Similarly, it avoids bottlenecks if the load balancer is overloaded.

Control
When using client side random, Bangbai Government is essentially losing control over the load balancing process. If for some reason they suddenly want to re-direct all queries away from certain servers (e.g. It’s been compromised, or the data centre has a fire etc.) they can’t, as they cannot easily/quickly change the algorithm on each of the client devices.

Intelligence/Adaptiveness/Flexibility
Client Side Random may not take into consideration privileged information about the servers, which it does not have access to. Therefore, it cannot decide which of the servers is *currently* best suited to handle a specific type Such information may include:

Additional Research
Caching can affect a lot of load balancing algorithms as they use DNS to allocate the next server. This can skew the allocation of servers, but because Client-side Random uses a randomly generated server from a simple list, it avoids this problem.
The HTTP/2 specification, which is now supported by every major browser, has built in support for Client-Side Load Balancing. The citizen reporting app can benefit from this as it uses HTTP for the REST API.

Overall comparison/evaluation
The main issue with the source IP hash load balancing algorithm is that each change can redirect EVERYBODY to a different server, which again lags the time of response for a citizen call in Bangbai.
That is why some good load-balancers have implemented a consistent hashing method to ensure that if a server fails, for example, only the client connected to this server are redirected and not all.
The counterpart of consistent hashing is that it doesn’t provide a perfect hash, and so, in a farm of 3 servers, some may receive more clients than others and this can take a toll on the time of response to citizen calls.
When a failed server comes back, its users (determined by the hashing done on the Source IP) will be redirected to it again.
There is no overhead in terms of CPU or memory when using such an algorithm.

Conclusion
A final measured conclusion that links together the various points and recommends one or both of the algorithms as appropriate for the needs of Bangbai.

Examiners report

[N/A]

View options