{'fraction_non_alphanumeric': 0.013740458015267175, 'fraction_numerical': 0.0, 'mean_word_length': 5.154929577464789, '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}}
Restructuring Distributed Algorithms for Mobile Computing Environment

We present a formalization of a subclass of distributed algorithms (which are used more often in a mobile computing environment) and give principles or thumb rules which must be followed so that the distributed algorithm executes well in the mobile computing environment. In this report we first start with the classification of standard distributed algorithms that are most frequently used in distributed systems and look at how the two-tier principle discussed in B.R. Badrinath and Arup Acharya’s paper on restructuring distributed algorithms, ports to these situations, and what modifications need to be made. Then we discuss the pros and cons of completely generic restructuring (without requiring to modify the algorithm itself) to mobile-aware solutions where the algorithm has to explicitly handle the efects of mobility. We then stress on the importance of design abstraction of resources in a mobile environment so that a greater amount of concurrency can be handled in the resource. To that effect we propose a method to evaluate a ’concurrency load’ for any abstraction and use it to tell which of the abstractions would be better in the mobile situation and in this relation we enumerate two principles which must be followed.