Keywords

1 Introduction

Highly developed Web-service delivery possesses considerable influence on organizations that are making use of it as a means to facilitate deliverance of their content to users. Similar to web pages, downloads, one-to-one communications, digital media and electronic-commerce need the latest and advanced tactics for content delivery. Simultaneously, size and dimensions of content rising widely need to convene ease of use. QOS and scalability is a gauge of the aptitude of the application to spread out to fulfill user requirements [1]. So as to convene service excellence specification sooner or later it is needed to affix more servers to convene rising needs. Cluster computing provides an influential setting to measure Web apps. Here in Web-service settings, users are able to notice merely the service and not the infrastructure needed for service deliverance. The content-based delivery services are explicit for content. Load balancing over the web offers newer prospects and efficiency of bandwidth usage [2].

Load balancing is a technique to share out workload through one or more servers. Here, even sharing of the load on many processors should get better the entire corresponding computation recital in clusters. In support of Web apps, load unprovoked situation happens often although the workload was disseminated time after time previously. As a result, vigorously and intermittently regulating workload sharing is necessary to ensure that every executive assignment at diverse sites would end their implementation at practically the same instance, reducing the inactivating time. On the other hand, active strategies to Web-services contain numerous confines [3, 4].

For getting better so that they do not tie together manifold services, there is a shortage of holdup for active and custom-made content formation and sharing and right to use. They do not shore up laterally content deliverance. There is shortage of flexibility in furnishing QOS access and practice [5]. The option of routing has too a huge influence on sharing requests as this sort of information accessible at the Web-server is fairly dissimilar. The sender is able to direct the requests in two ways; non-content-oriented and content-oriented techniques.

In this study, we talk about our idea, the limitations, and the study aims for sustaining upcoming generation streamed, interactive, and combined elevated resolution on content-oriented Web-services. We authenticated our application via content-wise service ranking (CWSR) adaptation. Additionally, we conducted a set of experiments to demonstrate the functionality of CWSR. Finally, we evaluate the content-oriented services sustained by CWSR to existing non-content-oriented service alongside the envisaged is of CWSR [6].

2 Related Works

The research on how to apply resource distribution of web system can be traced back to an auction since the last 20 years, there has been a noteworthy study attempt in load balancing. The fundamental supposition in most of this research is that the service scopes of the different requests are administered by an exponential supply. Contrary to the above statement, on the other hand, there is pretty tough evidence that the dimension of a web text, and for that reason its service scope, is administered in its place by heavy-tail sharing [7]. This entails that, to curtail reply time in that type of multi-base station method, “small” and “extensive” tasks must be allocated to diverse queues. In extremely variable workloads, software recital perks up significantly if comprehensive data regarding the action of every backend base station is accessible to the frontend sender. Therefore, a majority of investigators have considered and repeat in mock traces the area of web references and area conscious distribution rules that use the knowledge to widen the Web service accessibility [8]. Chuang Lin and associates largely concentrate on ventures assurance to provide the accessibility of operation services utilizing the stochastic high level Petri net of Web-server-clusters. Diverse classifications of requests are allocated diverse precedences [9]. These precedence intensities are employed and used into the load balancing algorithms to adopt precedence-oriented sending, i.e., QOS-alert load balancing. They calculated accessibility making use of MTBF and MTTR by means of the HTTP server scheduling and QOS alert load balancing to guesstimate accessibility of services [8].

In order to improve the competency of service, a set of Web-servers could be configured to make available Web service in a group to clientele. Load balancing is vital for a Web-service mechanism to ensure even sharing of inward requests on the Web-servers. Many approaches are there for load balancing over shared Web servers. The classification in [10, 11] divides the approaches of load balancing into four classes, namely client-oriented, DNS-oriented, dispatcher-oriented, and server-oriented approaches [12, 13]. From the above, we are able to discover that all load balancing mechanisms for shared Web servers entail recurrent message interactions among the request dispenser (DNS server or sender) and servers or clients to identify and swap over load data. The message interactions augment the network traffic in a Web-service method. A majority of the mechanisms also reveal the issue of restricted access in the routing and rerouting of requests. Generally, these mechanisms work only on load balancing without checking further consequences. Nonetheless content-based load balancing is obviously needed these days to cater to user requests more efficiently for high bandwidth usage services such as multimedia viewing or file downloading [14, 15].

3 Content-Wise Service Ranking

The load balancer dispatches the requests in two ways as content-based and non-content-based methods. In non-content-based the dispatcher dispatches the request to Web server without verifying the incoming request information. This method causes load imbalance and overhead on the Web servers. But in content-based method the dispatcher verifies the incoming request information, according to which a specific server providing that service is allocated. This leads to certain overhead on the dispatcher to match the requested service; to avoid this we provide ranking to the Web services. Ranks are assigned based on the highest hit rate of the service. For example, Rank1 to Multimedia Services, Rank2 to File Services, Rank3 to Text-based services, etc. Based on this, the priority of serving the requests is taken care of by the dispatcher here (Table 1).

Table 1 Notation table

3.1 Methodology for Content-Based Load Balancing in Clusters

  1. 1.

    Give rank to servers as per its service;

  2. 2.

    Create three major clusters combining similar ranking servers;

  3. 3.

    Receive URL requests from user;

  4. 4.

    Keep incoming requests in a queue;

  5. 5.

    For any request, analyze type of content requested;

  6. 6.

    Get list of clusters and search content matching ranking cluster;

  7. 7.

    Get server list within the cluster;

  8. 8.

    Find load status of each server

  9. 9.

    Locate server with minimum load;

  10. 10.

    Verify availability of the least load server

  11. 11.

    If available, then forward user request to that server;

  12. 12.

    Else except this as down server and locate server with minimum load;

  13. 13.

    Go to Step 10.

The above algorithm explains the complete mechanism involved in internal processing of dispatch action. The very first step here is to obtain a list of all available servers and keep the names in temporary storage. Then as per the specific service of systems allot ranks to them such that multimedia service server gets Rank1 and Text Service server gets Rank3. Next, combine all the same rank servers in one cluster and form multiple clusters, so that for each rank there would be individual clusters. Now, down servers list can be initialized with null and min load server with 1000, assuming maximum load would be less than 1000 on any server. All the user requests can be placed in a queue with a queue limit and would be replaced with new ones after certain intervals. Now, for each user request dispatcher has to find the type of content requested so that the appropriate rank cluster can be found. Once cluster is found, the server inside has to be checked for minimum load. If minimum load server appears to be down then it should be kept in the list of down serves and again minimum load server should be searched, except servers listed in down server list. After it is found, the user request is forwarded to the respective server.

4 Experimental Results

For the experimental results generation J Meter tool is used, which is one of the most popular tools used for testing web applications. The speciality of this tool is it can generate any number of user requests considered as load for the web application. In order to work with J Meter there are minimum prerequisites that have to be done such as settings and making decision about parameters that have to be evaluated.

4.1 Settings

Before getting the results, a few configurations need to be done which are listed below:

  1. 1.

    Install server, database, and web application in the PCs.

  2. 2.

    Set rank of PCs (for example, Rank1 for multimedia service and Rank3 for text service).

  3. 3.

    Create cluster after grouping PCs of the same rank.

  4. 4.

    Creation of test project in J Meter.

  5. 5.

    Set the URL of application and parameters.

  6. 6.

    Set the number of user threads as 300 and ramp time as 60 s.

  7. 7.

    Add listeners on HTTP request results so that test results can be recorded.

Run the test and save the result file. Tables 2 and 3 demonstrate the sample data from J Meter which shows sample time taken for each user request in content-based proposed system.

Table 2 Content-based load balancing system sample data
Table 3 Non-content-based load balancing system sample data

Tables 2 and 3 demonstrate the sample data for content-based and non-content-based systems are generated from J Meter.

Figures 1 and 2 show content-based system takes 1185 or 1.2 ms and non-content-based system takes 1117 or 1.1 ms to serve the requests.

Fig. 1
figure 1

Content-based response time

Fig. 2
figure 2

Non-content-based response time

Figure 3 indicates there is a 0.1 ms latency comparison between non-content and content-based request processing. Figure 4 shows that content-based system has 26 % additional throughput compared to non-content-based system.

Fig. 3
figure 3

Latency of content and non-content-based load balancing systems

Fig. 4
figure 4

Throughput comparison

5 Conclusion

The above comparisons of sample requests show that non-content-based dispatcher obviously takes 0.1–0.2 ms time compared to proposed content aware dispatcher. This test was done for text-based service but can be treated as generic for any kind of service as current non-content-based dispatcher cannot make differentiating while redirecting requests at the time of load balancing. The difference comes when actual service is used by user such as viewing multimedia content. Here, if proper server is not allocated there are chances that user may fail to get quality service and this may result in huge latency and bad throughput.