Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Q1- SDL In a system that adopts the Client-Server architecture, the Load Balancer is in charge of distributing Client requests among various Server processes running
Q1- SDL 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 as shown in figure 1. Server 1 Load Balancer Server 2 Internet Client Server 3 Load Balancing Cluster Web System Figure 1: load balancing system On the Web System, the Load Balancer receives the Client's HTTP Request and forwards it to one of three Server processes. We want to model the system using SDL. Obviously such system would contain at least five processes. LoadBalancer. ServerI, Server2, Server3, and at least one Client (possibly many Client processes) The Message Sequence Chart (MSC) of the system is shown in Figure 2 below. It shows a representative scenario of the interaction between the Client and Web Svstem. The LoadBalancer receives an httpRequest signal carrying a Character String (CHARSTRING) that represents the content of the request. The LoadBalancer forwards the request to one of three possible Server processes along with the Process 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. Client LoadBalancer Server1 Server2 Server2 httpRequest(CHARSTRING) forwardHtt pRequest(CHARSTRING, PID) httpResponselCHARSINNG) Figure 2: Message Sequence Chart (MSC) of the system Since all Server processes have identical behavior, they can be instantiated from a single process definition. Hence, the LoadBalancer will instantiate all Server processes. Figure 3 below shows the incomplete LoadBalancer state machine showing the initialization of the 3 servers Your task is to complete the state machine for the LoadBalancer, showing what will happen when a client request is received. Note that that you can add your variable declarations in the empty space of the existing SDL Text Symbol. (Hint. what should happen when the LoadBalancer receives a client request?) newType SERVERARRAY Array(INTEGER, PID) endnewType; index := DCL index INTEGER := 0 servers SERVERARRAY: . Loop ndex
Step 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