Question
In a system that adopts the Client-Server architecture, the Load Balancer is in charge of distributing Client requests among various Server processes running on different
In a system that adopts the Client-Server architecture, the Load Balancer is in charge of distributing Client requests among various Server processes running on different machines (see Figure 1).
Consider a Web System that receives HTTP Requests from Clients. On the Web System, the Load Balancer receives the Clients HTTP Request and forwards it to one of three Server processes.
The Message Sequence Chart (MSC) of Figure 2 shows a representative scenario of the interaction between the Client and Web System. In the MSC, the LoadBalancer receives an httpRequest message (CHARSTRING) that represents the content of the request. The LoadBalancer forwards the request to one of three possible Server processes along with the Client ID (PID) of the Client that initially sent the request. The Server process, after processing the request, sends an httpResponse to the Client whose PID it received from the LoadBalancer. Note the function calls, as they will be needed for your solution.
The LoadBalancer decides on the Server to which it will forward the Client HTTP Request through a simple round robin scheme. That means that it forwards the first request to Server1, second request to Server 2, third request to Server3, fourth request to Server1, and so forth.
You must complete the model of the LoadBalancer to show how to deliver the messages received by the LoadBalancer to the Servers as described above. You don't need to implement the processing of the messages, just show how to properly balance requests between each server. Your solution can involve editing the Umple code, and/ or editing the state machine and/or adding an Activity Diagram.
HINT: You can use the modulo (mod) operation to cycle through the elements of an array. For example, 2 mod 3 returns 2 while 3 mod 3 returns 0. You can ad other variables (like an integer) as needed.
Server 1 Load Balancer Server 2 Internet Client Server 3 Load Balancing Cluster Web System Client Server 1 Server2 Server2 LoadBalancer httpRequest(CHARSTRING) forwardHttpRequest(CHARSTRING, PID) httpResponse(CHARSTRING) FIGURE 2 - MSC DU SYSTME WEBStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started