{'fraction_non_alphanumeric': 0.017145505097312327, 'fraction_numerical': 0.0004633920296570899, 'mean_word_length': 5.0476190476190474, '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}}
A thin client architecture for mobile users running multiple applications (abstract)

In the thin client computing paradigm, the applications of a user are executed on a network server, instead of locally on the user’s device. User events, like keystrokes and mouse movements, are sent over a network connection to the server, that performs all calculations and renders the corresponding graphical data. The client device only decodes this graphical data and presents it to the user. Since all hardware that is not related to user input and output can be removed from the device, thin clients are lightweight and energy efficient, which makes them very attractive for mobile users. When a user strokes a key, this event is sent to the application server. The graphical results are sent back to the device for presentation. There is an inherent latency of at least one round-trip time before the effect of a user event can appear on the screen. When a user becomes mobile and moves further away from his server, the latency increases and the Quality of Experience (QoE) might degrade. Our research is oriented toward the deployment of a migration mechanism to move the application to a server nearer to the user. In current thin client deployments, the rendering of graphical data and the actual application calculations happen at the same location. Since an emerging number of applications is available on the Internet and application servers have limited processing power, it has become impossible for one service provider to offer all applications. Our architecture can solve this scalability constraint by decoupling the graphical rendering and the actual application execution. We introduce the concept of a thin client provider, acting as a single portal for the user and responsible for the cooperation between applications of different providers. Also, specific communication protocols must be developed. In this paper, we first present a general overview of our thin client architecture. We then detail our two main research challenges: the migration of applications between servers and the optimization of the communication protocols. 2 Architecture