{'fraction_non_alphanumeric': 0.013856812933025405, 'fraction_numerical': 0.0, 'mean_word_length': 5.25, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Supporting Performance Isolation in Software as a Service Systems with Rich Clients

In a non-isolated Software as a Service (SaaS) system, different clients can freely use the resources of the SaaS. Hereby, disruptive tenants who exceed their limits can easily cause degradation of performance of the provided services for other tenants. To ensure performance demands of the multiple tenants and meet fairness criteria various performance isolation approaches have been introduced including artificial delay, round robin, blacklist, and thread pool. Unfortunately, these approaches tend to be based on and assume SaaS systems with thin clients whereby all the tasks are handled by the SaaS. In this paper we propose a framework for supporting the design and realization of performance isolated SaaS systems by also considering the usage of resources of rich clients. We discuss the impact of the implication of rich clients for each of the identified performance isolation approach. To validate our novel performance isolation approach we have adopted a SaaS environment with an industrial case. We discuss the various different scenarios based on both thin and rich client types. Our study shows a substantial impact on the result of performance isolation approaches when considering rich clients.