Transparent Componentisation: A hybrid approach to support the development of contemporary distributed systems
|
|
- Ilene Stafford
- 8 years ago
- Views:
Transcription
1 Transparent Componentisation: A hybrid approach to support the development of contemporary distributed systems Shen Lin School of Computing and Communications Lancaster University A thesis submitted for the degree of Doctor of Philosophy September 2010
2 Acknowledgements I wish to thank the many people who have helped and encouraged me to reach the completion of my PhD. First of all, my supervisors Dr. François Taïani and Professor Gordon Blair, who has provided advice, encouragement, insightful criticism, and proofreading throughout my PhD and in the preparation of this thesis. Secondly, the members of the Middleware Research Group, who offered me invaluable support and a friendly work environment during my time at Lancaster. I am grateful to Geoff Coulson, Paul Grace, Bholanathsingh Surajbali, Carlos Flores Cortes, Barry Porter, Rajiv Ramdhany, Vatsala Nundloll, and Nelly Bencomo for their helpful advices and guidance. Finally, I would like to thank my parents Jianyong and Hua, my uncle Qiang, and my fiancée Xiaolu, for the love and supports that I received from them.
3 Abstract Distributed computing systems are increasingly pervading all aspects of daily life. This rapid growth is characterised by the growing complexity of these systems, which unfolds in three dimensions. First, contemporary distributed systems must often cater for computation nodes with heterogeneous computing and networking capacities; second, they must deal with dynamic changes such as network churns and mobile nodes; and finally, they are often large scale and must be able to grow elastically to meet evolving expectations. This thesis investigates how the above complexity dimensions can be made easier to control by using novel software development approaches and frameworks. In particular, the proposed work seeks to develop approaches that promote three key properties in contemporary distributed systems: 1) configurability to construct customised systems that target heterogeneous operating environments; 2) dynamic adaptability to adapt to dynamic changes; and, 3) understandability and simplicity to facilitate software reuse and to hide low-level
4 programming details. To address these issues, this thesis proposes a hybrid software development approach that combines the advantages of component frameworks with that of high-level protocol specification languages. This hybrid approach, termed Transparent Componentisation, automatically maps a high-level protocol specification onto an underlying component framework. It thus allows developers to focus on the programmatic description of a distributed system s behaviour in simple and high-level terms. Meanwhile, it transparently retains the benefits of a component architecture such as component reuse, configurability, and runtime adaptability. As a proof of concept, this thesis presents the Whispers/GossipKit framework for gossip-based distributed systems, a representative subclass of contemporary distributed systems. Whispers/GossipKit is evaluated to demonstrate that it successfully retains the simplicity and understandability of a high-level protocol specification language while encouraging component reuse and supporting transparent (re)configuration thanks to its component underpinnings.
5 Contents 1 Introduction Gossip-based Systems Software Development Approaches Hypothesis and Approach Thesis Outline Associated Publications Gossip Protocols Introduction to Gossip Protocols Gossip for Disseminating Information Peer Sampling Service Convergence of Properties Gossip on Mobile Adhoc Networks Gossip Patterns Underlying Elements Key Patterns Other Contextual Issues Coexisting Gossip Protocols Types of Coexistence Example of Complex Gossip Composite Discussion Summary iv
6 CONTENTS 3 Software Development Approaches Component-based Technology Overview of Component Approaches Lightweight Component Framework Component-based Middleware Platform Event-driven Systems Domain Specific Languages Domain Specific Languages for Components High-level Protocol Specification Languages Discussion Summary The Whispers/GossipKit Programming Framework General Principle Overview of The Whispers/GossipKit Programming Framework The GossipKit Component Framework Overview of the GossipKit Framework Common Architecture of Gossip Protocols Architecture Generalisation GossipKit s Event Engine Event Sources Event Data The Event Engine Configuration Runtime Reconfiguration The Whispers Protocol Specification Language Macro-level Programming Language Primitives Key Features Mapping Between Whispers Expressions and GossipKit Componentisation Mapping Decisions Case Study v
7 CONTENTS 4.6 Implementation Concerns Summary Evaluation Experimental Approach Primary Criteria Simplicity Reusability Configurability Reconfigurability Discussion of the Primary Evaluation Performance and Overhead Component Invocation Overhead Reconfiguration Process Overhead Memory Usage Discussion of the Performance Evaluation Summary Conclusion Summary Major Results Future Work Concluding Remarks A The Structure of GossipKit s XML Configuration 196 B GossipKit s XML Configuration File for the RPS Protocol 198 C Whispers Grammar 201 D Whispers Programs 206 E Java Implementation of the Random Peer Sampling Protocol 211 References 241 vi
8 List of Figures 2.1 Compositional gossip example OpenCom Component [Grace (2004)] Control-Forward-State Architectural Pattern [Grace et al. (2004)] Event-driven Architecture [Bhatti et al. (1998)] Development process Overview of the GossipKit framework GossipKit Common Architectural Pattern Compose two different components to realise a more complex Peer Selection service Use nested events to realise push-pull gossip in GossipKit GossipKit s Event Engine Use case study: configuring the RPS protocol Per-node program of RPS Component realisation of RPS A node running the Averaging application initially holds value The node successfully estimated the system size is SCAMP uses the reactive push pattern Configuration of RPS that uses periodic push-pull Customised configurations based on periodic push-pull to realised T-Man, Averaging, and Ordered Slicing 163 vii
9 LIST OF FIGURES 5.4 Anti Entropy uses the lazy push gossip pattern for data consistency Probabilistic broadcasting protocols used in mobile adhoc networks Initial random graph maintained by RPS th rounds since 1st reconfiguration Ring constructed at the 11th round Topology at the 20th round Grid constructed at the 23rd round Number of gossip rounds used to achieve ring topology. Gossip period is every 5 seconds Time length (measured in seconds) used to achieve ring topology Number of gossip rounds used to achieve grid topology. Gossip period is every 5 seconds Time length (measured in seconds) used to achieve grid topology Local process time of 8 protocols, measured in microseconds (µs) 176 viii
10 List of Tables 2.1 Reactive Push Pattern Periodic Push Pattern Periodic Pull Pattern Periodic Push-pull Pattern Lazy Push Pattern Decision Based Broadcast Pattern Sleep Based Broadcast Pattern A categorisation of gossip protocols Three main types of interactions The Control-Forward-State Pattern captures distributed algorithms in three different application domains Fields in a GossipKit event The structure of the Data Content field in GossipKit events Summary of Whispers language primitives The implemented gossip overlays overs all the gossip patterns The numbers of lines of code to implement the eight gossip protocols by using transparent componentisation, Java, and component configuration The complexity to implement the eight gossip protocols by using transparent componentisation, Java, and component configuration Components reused in the development of 8 gossip systems The number of lines of code in the reusable components and the specific components of each gossip system ix
11 LIST OF TABLES 5.6 The time used for reconfiguration Byte code size of GossipKit components Byte code size of the eight gossip protocols. The byte code size of the four composite protocols include the size of RPS GossipKit component size measured as the byte code size of the compiled Java class files Dynamic memory usage of the eight gossip protocols. The measurements of the two gossip protocols that run on wireless adhoc networks, Gossip1 and Gossip2, do not include the Jist/SWANS simulator x
12 Chapter 1 Introduction Distributed computing is increasingly pervading all aspects of daily life, significantly affecting human communication, business processes, and the way scientific experiments are carried out. For instance, Skype allows millions of users to make video calls and share files with other Skype users anywhere in the world; Amazon and Google infrastructures provide remote computing services and capacities (e.g virtual servers, data processing, storage) to individuals and businesses; and scientific testbeds such as PlanetLab [Peterson et Roscoe (2006)] and Weevil [Wang et al. (2005)] support research experiments that require large or distributed computation resources. As a result of this continuous increase of distributed applications, the complexity of contemporary distributed systems is rapidly growing in three dimensions Feiler et al. (2006). These systems are often heterogenous, involving computation nodes with varying capacities and operating over an increasing range of network- 1
13 ing technologies (e.g. fixed networks, mobile ad hoc networks, satellite links, etc.) that differ in their bandwidth and latency. This complexity is further compounded by highly dynamic network environments: nodes may be mobile; new nodes may join the network at any time; and existing nodes may leave, either voluntarily or by failures. Finally, contemporary distributed systems often grow dynamically to a large scale, involving very large numbers of participating nodes that are deployed over large areas (e.g. Internet-based applications such as Skype and BitTorrent, large sensor systems for environmental monitoring [Sheldon et al. (2005); Popa et al. (2005); Howard et Flikkema (2008)]). Gossip-based systems have been proposed as one of a number of key techniques in handling this complexity of contemporary distributed systems. These gossip-based systems are adaptive to node and network heterogeneity, possess self-organising properties to cope with dynamic environments, and offer scalable communication in potentially large-scale networks. However, in spite of these advantages, this thesis argues that the lack of development support is one of the main reasons that prevent gossip-based systems from being widely adopted in practice. As section 1.1 will argue, existing gossip-based systems lack development support in four main aspects: 1) the development process of these systems can involve complex issues such as design choices, networking idiosyncrasies, and protocol composition; 2) most gossip-based protocols/systems have been developed in a one-off and per-protocol fashion, making them hard to reuse; 3) they 2
14 1.1 Gossip-based Systems cannot be flexibly configured to provide customised systems for specific requirements or operating environments; and finally, 4) they provide limited support on runtime reconfiguration of system behaviours, which is an essential property for long running or adaptive systems. To facilitate the development of gossip-based systems, this thesis investigates new design patterns and architectural principles that can be integrated into a common platform to simplify the programming of gossip systems, promote code reuse, and ease system configuration and reconfiguration. Towards this aim, this thesis describes the design, implementation, and evaluation of a novel programming framework that combines the strengths of a high-level protocol specification language and a component framework, based on the survey of a variety of gossip-based protocols and software mechanisms that are potentially beneficial for developing gossip-based systems. In addition to its main objective, this thesis hopes that the lessons learnt from the building of the programming framework of gossip-based systems shed light on the development support of a wider range of contemporary distributed systems in general. 1.1 Gossip-based Systems Gossip protocols (also known as epidemic protocols) [Kermarrec et van Steen (2007); Friedman et al. (2007)] have emerged as a promising approach to address some of the problems of contemporary distributed systems. In a typical gossip 3
15 1.1 Gossip-based Systems protocol each node of a network randomly communicates with a small number of their peers, causing information to rapidly spread over the network in the way a rumour is gossiped amongst a group of people or a disease epidemic spreads over a population. Compared with more traditional systems, gossip-based approaches offer several advantages: i) many gossip algorithms [Frey et al. (2009); Haas et al. (2002); Nedos et al. (2007)] are aware of node and network heterogeneities, and are able to adapt the behaviours of individual nodes to cope with these heterogeneities; ii) gossip protocols are self-organising in dynamic networks since their randomised communication allows multiple routes to be explored in case of failures and they do not require centralised coordination; and finally, iii) because each node performs a limited set of operations at a fixed rate, they provide scalable communication in large distributed systems. Because of these benefits, gossip protocols have been considered as a promising approach for a wide range of services such as ad hoc routing [Haas et al. (2002)], multimedia streaming [Liu et Zhou (2006)], replicated database consistency [Demers et al. (1987); Holliday et al. (2003)], information dissemination [Birman et al. (1999); Chandra et al. (2001); Luo et al. (2003)], data aggregation [Kempe et al. (2003); Jelasity et al. (2005); Gupta et al. (2001)], topology construction [Jelasity et Babaoglu (2005)], and peer sampling [Voulgaris et al. (2005); Jelasity et al. (2007)]. This thesis argues that developing gossip-based applications can be a complex task because of insufficient software development support and, as a result, most 4
16 1.1 Gossip-based Systems implementations so far have been focused on prototypes and preliminary deployments. The following discusses four main aspects where software development support is required to facilitate the development of gossip-based systems. Simplicity The existing development process should be simplified, providing a better understanding of the design space of gossip protocols and hiding lowlevel programming details from developers. The need of software development support arises from the wide range of gossip protocols that target a diverse set of services that operate on different networking environments that range from fixed networks to mobile adhoc networks (see examples above). These protocols differ in many aspects (communication patterns, state, network requirements and usage), making a large design space that needs to be explored by developers. Furthermore, individual gossip protocols must offer distinct APIs to a variety of applications that use them, and must grapple with the idiosyncrasies of the underlying network they rely on (APIs, churn, resilience, costs, performance, meta-information). Advanced gossip protocols are also often composite, and rely on simpler gossip protocols for part of their functionality. Reusability Most existing gossip protocols/systems have been developed in an adhoc and per-protocol fashion that does not help to capture their similarities for software reuse. As the number of gossip protocols and the community that research them have grown considerably, the lack of a unifying framework means much development effort is wasted in the implementation of gossip-based systems 5
17 1.1 Gossip-based Systems that involve duplicated communication patterns and local processing algorithms. This repeated effort also hampers the use of standardised implementation, and increases the risk to introduce programming errors into systems. Configurability Gossip-based systems provide many different services in a diverse range of environments. Thus they often need to be customised for their targeting applications and operating environments. For instance, gossip protocols that run on mobile devices often require a minimal configuration to fit the memory constraints while those running on fixed networks can include rich non-functional elements (e.g. quality of service, fault tolerance, real time requirements). This fact strongly requires flexible configuration support that allows developers of gossip-based systems to easily compose different customising features into some base gossip algorithms. However, the research community of gossipbased mechanisms has been focused on prototyping novel gossip-based algorithms and exploring a wider range of possible application domains. These prototype systems are often implemented in a single programming language and then compiled and linked to a static application, hence resulting in monolithic code that is not configurable. The lack of configurability means developers have to code different customising features in low-level programming languages for individual gossip systems, and hence wastes the implementation effort. Reconfigurability Most existing gossip-based systems are statically encapsulated in a self-contained environment, which does not allow system behaviours 6
18 1.2 Software Development Approaches to be flexibly reconfigured at runtime apart from a fixed number of parametric changes. This means that these systems are unable to modify their behaviours [Frey et al. (2009); Haas et al. (2002); Nedos et al. (2007)], for instance by actions such as adding new protocols, discarding existing protocols, or changing part of a protocol s elements. Thus, existing gossip-based systems provide limited capacities to adapt to changing conditions such as dynamic networking environments and new application requirements. In practice, this poor support of reconfigurability prevents gossip-based systems from being adopted for certain types of services such as long running systems with evolving requirements and infrastructures that are difficult or expensive to install new programs on (e.g. a sensor network with nodes scattered in a wild area). 1.2 Software Development Approaches Several existing software mechanisms are potentially exploitable to support the development of gossip-based systems and distributed systems in general (e.g. component-based technology [Heineman et Councill (2001)], model-driven architecture [Voelter et Schmidt (2006)], aspect-oriented development [Kiczales et al. (1997)], domain specific language [Mernik et al. (2005)]). These mechanisms are often integrated into a middleware framework [Emmerich et al. (2007)], providing general guidelines and tools for building specific middlewares and distributed ap- 7
19 1.2 Software Development Approaches plications. Amongst these mechanisms, component-based technology and domain specific language are particularly relevant in the context of this thesis. A component-based technology specifies a system as a set of components and their interactions. It allows these components to be developed independently and then assembled together to form a concrete software system according to some domain specific rules. A component architecture is often described in a general purpose or a domain specific architectural description language, which provides declarative expressions to formally represent component-based systems in terms of components, connectors, and composition rules. Component-based technologies provide several benefits for developing distributed systems, including those based on gossip: i) components are reusable in the composition of different systems; ii) component mechanisms ease system (re)configuration, because components can be flexibly composed to provide customised systems and advanced component frameworks often allow their architectures to be modified at runtime to adapt to environment/requirement changes [Coulson et al. (2004); Bruneton et al. (2006)]; and iii) component configurations provide high-level abstractions of software system architectures in terms of components and connections, hence facilitating exploratory design and architectural analysis. Because of these advantages, components have been successfully applied in the industry with Enterprise JavaBeans (EJB), the CORBA Component Model (CCM), and Microsoft DCOM, and have found a strong following in the research community, giving rise to a number of 8
20 1.2 Software Development Approaches lightweight component frameworks (e.g. OpenCom [Coulson et al. (2004)], Fractal [Bruneton et al. (2006)]) and their associated middleware frameworks (e.g. GridKit [Grace et al. (2004)], RAPIDWare [McKinley et al. (2001)]). In practice, coarse-grained components are relatively less flexible and reusable in the construction of component-based systems [Mehta et Heineman (2002)], comparing with fine-grained components. On the other hand, fine-grained component systems often involve a large number of components and connectors [Steppe et al. (2004); Edwards et al. (2004)], making the architectural description of component systems a tedious and error-prone task. Furthermore, because component architectural descriptions are by nature declarative and focus on structures rather than algorithms [Clements (1996)], the low-level implementation details of individual components still need to be described in a general purpose programming language such as Java or C. This in turn hampers the understandability of component systems, preventing developers who are unfamiliar with a particular framework from understanding component configurations if they do not dive into the specifics of each component. In contrast to component frameworks, protocol specification language is a specific class of domain specific languages that focuses explicitly on the algorithmic logic of distributed systems (e.g. Lotos [van Eijk et Diaz (1989)], Estelle [Amer et Çeçeli (1990)], PLAN-P [Thibault et al. (1998)], Promela++ [Basu et al. (1997)], Mace [Killian et al. (2007)]), rather than on their compositional structures. These 9
21 1.3 Hypothesis and Approach protocol specification languages provide simple and high-level expressions to capture the logical behaviours of distributed and parallel algorithms. Compared to components, protocol specification languages are less able to support dynamic adaptive systems. Because they do not explicitly expose fine-grained dependencies between different program parts, they make it more difficult to reason about and implement dynamic changes. As a result, they often require adaptive behaviours to be statically hard-wired prior to system deployment, or a complete new version to be installed to replace an existing one. 1.3 Hypothesis and Approach Contemporary distributed systems such as those based on gossiping mechanisms involve an increasing complexity in terms of heterogeneity, dynamism, and large scale. Following the rapid emergence of these complex systems, it is increasingly important to provide new software mechanisms to support their development. Based on this observation, this thesis aims to offer new design patterns and architectural principles to facilitate the development of contemporary distributed systems. To narrow down this broad scope of research problem, this work focuses on the development support for gossip-based systems a representative subclass of contemporary distributed systems. More specifically, it aims to address the existing four problems that are associated with developing gossip-based 10
22 1.3 Hypothesis and Approach systems (see section 1.1): simplifying the programming effort, promoting code reuse, supporting configurable system development, and runtime reconfiguration. Considering these four objectives and the potential software development approaches to achieve them, both component frameworks and high-level protocol specification languages seem to be highly complementary for developing contemporary distributed systems such as gossip-based systems. Component-based technology seems a promising solution to improve reusability and (re)configurability while high-level protocol specification language provides abstractions of system behaviours to simplify the programming and the understanding of distributed algorithms (see section 1.2 above). However, these two approaches are difficult to combine: bringing components to high-level protocol specification languages tend to undermine their programmatic simplicity by forcing developers to navigate back and forth between structural and behavioural concerns. This tension becomes worse with finer structural decomposition which jeopardises this approach for fine-grained adaptation. Symmetrically, adding a behavioural dimension to component assembly makes composition harder to grasp and manipulate by developers, canceling the very benefits it should bring. As a result, existing systems often choose the best one of these technologies for their development, preventing themselves from offering reusability, (re)configurability, and simplicity at the same time. This thesis describes the design and implementation of a hybrid program- 11
23 1.3 Hypothesis and Approach ming framework that combines the strengths of both techniques. More precisely, this work advocates a hybrid framework that consists of two layers: 1) a highlevel protocol specification language that allows developers to focus solely on describing the logical behaviours of gossip algorithms, and supports automatical transformation of these algorithmic descriptions into software components and their composition rules, and 2) a underlying component framework that promotes component reuse and supports (re)configuration based on the components and composition rules generated by the higher-level language layer. The main hypothesis of this thesis is that the application of this hybrid approach can facilitate the development of gossip-based systems in terms of simplicity, reusability, configurability, and reconfigurability. More specifically and in order to test this hypothesis, this thesis aims to achieve the following goals. Identify an overall architectural pattern that captures the key behaviours of gossip protocols as components and their interactions. This process is based on the study of a variety of existing gossip algorithms in the literature. Capture the commonalities and variabilities of gossip protocols in a component framework. Implement these common and variable parts as software components that can be reused in the development of different gossip protocols/systems. Seek a configuration mechanism that allows gossip-based systems to be as- 12
24 1.3 Hypothesis and Approach sembled from individual software components according to those component interactions identified in the overall architectural pattern. Furthermore, this thesis looks for a reconfiguration mechanism that can dynamically modify the behaviours of gossiping nodes across a network. This reconfiguration mechanism should be scalable and be tolerant to dynamic networking environments that involve transient node and network failures. Investigate the relationship between component configuration and high-level protocol specification language. More precisely, the components and interactions in the common architectural pattern of gossip protocols need to be mapped onto the language constructs of a high-level protocol specification language. In addition, this language should offer simple abstractions to describe programming details such as message transmissions, network interfaces, protocol composites and data structure and processes. This thesis does not address a number of important problems that are also related to gossip-based technology. First, this thesis does not aim to provide any new gossip algorithm or discover new application domains that gossip systems can be used. Second, this thesis adopts an experimental approach to system research, therefore the evaluation is based on experiments and quantitative measurements rather than formal proofs. Finally, the security issues of gossip-based systems are not investigated in this thesis. 13
25 1.4 Thesis Outline 1.4 Thesis Outline The following two chapters investigate the state of the art that is in the related areas of research to this thesis. The aim of chapter 2 is two-fold: first, it surveys gossip protocols to a wide extent, looking at their fundamental communication patterns, their key behaviours, and how they interface with their upper layer applications; and second, based on this detailed survey, it analyses the problem space that is related to software support of gossip-based systems and explains why this thesis decides to focus on the reusability, (re)configurability, and simplicity. Chapter 3 discusses the software engineering approaches and architectures that are potentially applicable for gossip programming, examining closely their strengths as well as weaknesses. Chapter 4 first discusses the general principle that is applicable to the broad research question of this work how best to provide software development support for a wide variety of contemporary distributed systems. It then presents the proposed solution of this work to achieve the specific research goals a hybrid programming framework that combines the strengths of both high-level protocol specification languages and componentisation to support the development of gossip-based systems. Chapter 5 focuses on the evaluation of the implemented framework. It describes the experimental setup and results, and analyses in detail how each of the 14
26 1.5 Associated Publications research problems identified in chapter 2 is addressed with these results. Finally, chapter 6 summaries the major results and contributions of this thesis, and suggests areas with potential for future work. 1.5 Associated Publications Subsets of my work towards this thesis have been published in international conferences and workshops as follows: Shen Lin, François Taïani, Marin Bertier, Gordon S. Blair, Anne-Marie Kermarrec, Transparent Componentisation: High-level (Re)configurable Programming for Evolving Distributed Systems, accepted by the Dependable and Adaptive Distributed Systems track of the 26th Symposium on Applied Computing, March 2011, Taichung, Taiwan. Shen Lin, François Taïani, Gordon S. Blair, Facilitating Gossip Programming with the GossipKit Framework, In Proceedings of the 8th IFIP International Conference on Distributed Applications and Interoperable Systems, pp , June 2008, Oslo, Norway. Shen Lin, François Taïani, Gordon S. Blair, GossipKit: A Framework of Gossip Protocol Family, In Proceedings of the 5th International Workshop on Middleware for Network Eccentric and Mobile Applications, 15
27 1.5 Associated Publications September 2007, Magdeburg, Germany. Finally, although not central to this thesis, the following publication demonstrates an interesting application of the middleware framework reported in the thesis. The complete publication is included in Appendix A. Shen Lin, François Taïani, Gordon S. Blair, Exploiting Synergies Between Coexisting Overlays, In Proceedings of the 9th IFIP International Conference on Distributed Applications and Interoperable Systems, pp. 1-15, 9-11 June 2009, Lisbon, Portugal. 16
28 Chapter 2 Gossip Protocols Domain analysis is often the first phase in the software development process of a specific domain [Hjørland et Albrechtsen (1995)]. A domain analysis provides several benefits for the subsequent design and implementation of a software development framework: i) it helps to better understand and model the domain; ii) it encourages systematic software reuse by identifying the recurring elements in a software domain; and iii) it captures the key elements of a software system and identifies the interactions between these elements, hence facilitating the development of (re)configuration mechanisms. In the case of this thesis, domain analysis is applied to the gossip protocols to support systematic design and implementation of a programming framework for gossip-based systems. More specifically, this chapter explores the design space of gossip-based protocols, identifying the common and the variable parts of a typical system in the gossip family. It starts with an introduction to gossip 17
29 2.1 Introduction to Gossip Protocols protocols with reference to typical examples (section 2.1). This introduction is followed by a detailed survey of gossip protocols, capturing a finite set of recurring elements, architectural patterns, and application contexts that are involved in the design of a gossip protocol (section 2.2). This survey involves the study of over 30 gossip protocols from the literature, which makes a representative sample of the gossip family. During the survey of gossip protocols, this work also notices that multiple gossip protocols can coexist on a single node in practice, running independently to provide distinct services or collaborating with each other. These coexisting gossip protocols are presented in section 2.3, together with a discussion on the potential challenges that are associated with developing gossip systems that comprise multiple coexisting gossip protocols. Finally, section 2.4 discusses the particular issues of gossip-based development that this thesis focuses on. 2.1 Introduction to Gossip Protocols Gossip-based algorithms have been applied to develop distributed systems for more than 20 years. In particular, these gossip approaches have become extremely popular in the past decade and given rise to a number of gossip protocols. In order to explore the design space of gossip protocols, the work described in this thesis has studied over 30 gossip protocols from the literature. The following discusses these gossip protocols from a historical perspective with reference to some 18
30 2.1 Introduction to Gossip Protocols representative examples. First, it discusses the early gossip protocols that were applied to propagate information, and associated the scalability of gossip communication with the underlying epidemic theory (section 2.1.1). Because there lacked a scalable membership service for these early gossip protocols to select random peers from the network group, gossip-based peer sampling protocols are developed (section 2.1.2). These peer sampling protocols illustrated the convergence property of gossiping, which opened a broader scope of distributed services that gossip protocols can be applied to (section 2.1.3). More recently, gossipbased approaches have been used to operate on mobile adhoc networks (section 2.1.4) Gossip for Disseminating Information The underlying idea of gossip dates back to the work at Xerox Research Center, which applied gossip-based communication to maintain wide-area database systems in the Clearinghouse project [Demers et al. (1987)]. In this project, a database was replicated at several hundred or thousand nodes in a fullyconnected, heterogeneous, slightly unreliable, and slowly changing network. This large and complex environment made it difficult to maintain consistent data amongst all the database replicas. To address this issue, this project required algorithms that can propagate database updates at some nodes to all the other 19
31 2.1 Introduction to Gossip Protocols nodes in an efficient and robust way as well as to scale gracefully as the number of nodes increases. The algorithm proposed by Xerox Research Center was a two-phase protocol: an efficient unreliable broadcast (e.g. UDP broadcast) is used to propagate the updates to as many nodes in the network as possible; and running in the background, an anti-entropy algorithm is used to repair the nodes that failed to receive the unreliable broadcasting messages. In this anti-entropy algorithm, every node randomly chooses another node at each fixed time interval t, and then sends its database contents to this random node to resolve the differences between the two nodes. Demers et al. (1987) showed this anti-entropy algorithm is essentially related to the mathematic theory that studies the propagation of epidemics [Pittel (1987)]. The nodes that hold new database contents are similar to the population that are infected by an epidemic disease, and anti-entropy is one of the simple epidemic behaviours that allows the epidemic to eventually spread over the entire population. The epidemic theory [Pittel (1987)] also provides the worst case scenario of anti-entropy s infection speed in the case of fully-connected topology: when starting with a single infected node, the average number of time intervals (N(t)) that are required to infect the entire population is: N(t) = log 2 (n) + ln(n) + O(1) 20
32 2.1 Introduction to Gossip Protocols for large node number n. This logarithmic infection speed makes the anti-entropy algorithm a scalable approach to disseminate information over large networks. Apart from this scalable propagation speed, the anti-entropy protocol illustrates the two key benefits of gossip protocols. First, it involves repeated communication with nodes that are randomly selected with a uniform probability, and hence allows multiple routes to be explored to avoid network failures. Second, because it consumes a fixed amount of local and network overheads on each node, this algorithm is scalable to large networks. However, Xerox s anti-entropy protocol is only tolerant to network failures, but not to node failures. Furthermore, because the Xerox work assumes database contents are updated at a low frequency (at most a few per second), it did not consider real-time applications that require continuous delivery of multimedia updates to all nodes (e.g. Internet radio, TV or conference). In spite of these limitations, Xerox s gossip-based approach opened new possibilities for implementing scalable applications, and it motivated several subsequent research works that improved on Xerox s original anti-entropy algorithm for database consistency (e.g. [Holliday et al. (2003)]) and reliable multicast (e.g. pbcast [Birman et al. (1999)], lpcast [Eugster et al. (2003)]). Amongst these works, Holliday et al. (2003) used gossip to propagate transaction records to prevent concurrent database transactions from accessing uncommitted data; pbcast [Birman et al. (1999)] proposed additional controls to tolerate node failures and higher throughput of updates 21
33 2.1 Introduction to Gossip Protocols than Xerox considered, making gossip a possible approach for multicast services that have real-time requirements; and lpcast [Eugster et al. (2003)] suggested scalable message buffering for gossip-based multicast Peer Sampling Service The above mentioned gossip algorithms assume that each node knows all other participating nodes in order to select a random subset of nodes to gossip with. This model requires a synchronised view of membership on all nodes and increasing memory capacity as the system grows, which is inherently unscalable. This problem motivated the development of scalable membership services such as SCAMP [Ganesh et al. (2001)] and RPS (random peer sampling) [Jelasity et al. (2007)] that allow gossip-based systems to operate on dynamic networks that involve churns. SCAMP allows each newly joined node to propagate a gossip message that contains its contact information to existing members. On receipt of the gossip message, every node either adds the contact information of the new node to its view or forward the message to members in its view based on some probabilistic decisions. As a result, SCAMP maintains a static graph where each node has a view that contains the contact information of log 2 (n) random nodes for group size n, and it reactively re-balances the graph every time a new node joins the group. 22
34 2.1 Introduction to Gossip Protocols However, SCAMP is less robust in dynamic systems where nodes join and leave frequently [Jelasity et al. (2007)]. To address this issue, RPS uses periodic gossip to ensure that each node maintains a fresh view of random members. In RPS, each node maintains a random sample of the node population. This sample contains the contact information of C random peers in the system, where C is a small constant number. At each gossip round, each node n selects one random peer i from its sample and sends a copy of its sample to i. On receipt of the sample from node n, i immediately replies with a copy of its sample and carries out an update process on its local sample. In this process, Node i first merges n s sample with its own to form a sample with size 2C, and then discards C random peers in the sample to obtain an updated sample with size C. Finally, on receipt of i s sample, node n also carries out the same update process on its sample. By executing the RPS algorithm, each node obtains a fresh sample that provides the contact information of C different random nodes for selection at each gossip rounds. To join the network, a node adds the contact information of itself and of an existing random node in the system to start the periodic execution of the main RPS algorithm. The periodic behaviour makes RPS more robust to churns as the experimental result in [Jelasity et al. (2007)] demonstrates, but it repeatedly generates a potentially large amount of network messages. 23
35 2.1 Introduction to Gossip Protocols Convergence of Properties The RPS algorithm illustrates the convergence feature of gossip-based approaches: unlike gossip-based dissemination algorithms (e.g. Xerox s work, pbcast) that use gossip to spread the same information to all nodes, RPS requires individual nodes to periodically exchange their local properties (in this case local views of the global membership) with some random peers, and as a result eventually brings these local views to converge to a particular global property (in this case a balanced random graph where each node contains a uniformly random sample of the membership). Jelasity et al. (2007) also provided experimental results to demonstrate that this convergence feature scales to distributed applications that involve very large number of nodes, demonstrating an average speed of O(log 2 (n)) gossip rounds to reach global convergence for large node number n. This scalable convergence feature, together with the scalable membership service provided by RPS, significantly broadens the scope of application domains that gossip-based mechanisms can be employed for. To name a few examples, T-Man [Jelasity et Babaoglu (2005)] creates and maintains various structured overlay topologies (e.g. ring, grid, cluster) from an initially random graph. The convergence feature of gossip-based communication has also been exploited to aggregate various converged global knowledge such as the maximum, minimum or average of local data [Kempe et al. (2003); Jelasity et al. (2005); Gupta et al. (2001)]. Finally, 24
36 2.1 Introduction to Gossip Protocols ordered slicing [Jelasity et Kermarrec (2006)] allows nodes in a distributed system to converge to partitioned groups that are ordered with respect to a particular measurable property (e.g. bandwidth, workload) Gossip on Mobile Adhoc Networks More recently, gossip-based approaches have also been adopted to provide scalable and efficient communication in mobile adhoc networks [Haas et al. (2002); Luo et al. (2003); Sasson et al. (2003); Hou et al. (2006, 2005)]. Mobile adhoc networks significantly differ from IP-based networks on several aspects: 1) communication in mobile adhoc networks often relies on radio broadcast, which allows a broadcast message to be received by all the nodes within the radio broadcast range (i.e. physical neighbours); 2) nodes are less robust, and often have limited resources such as memory, processing capacity, and energy power; 3) links are less reliable because of dynamic factors such as mobility, lack of collision detection, and faulty nodes; and 4) it is more expensive to establish point-to-point routes with distant nodes because of dynamic networking environments and unreliable links. Because of these differences, it is not practical to use gossip algorithms that rely on random peer selection in mobile adhoc networks [Friedman et al. (2007)]. Instead, most gossip algorithms in mobile adhoc networks focus on efficient dissemination of broadcasting message to all or almost all nodes. Traditionally, 25
37 2.1 Introduction to Gossip Protocols message dissemination in mobile adhoc networks is based on certain forms of flooding, whereby every node forwards the received broadcast message to its physical neighbours. Because a single radio broadcast can be heard by all the physical neighbours, flooding often involves many unnecessary broadcasts, and hence wastes energy and generates heavy network overhead. Instead of forwarding all the received messages, gossip-based algorithms in mobile adhoc networks only forward broadcast messages with a certain probability. For instance, one of the gossip protocols proposed in [Haas et al. (2002)] suggested that gossip probability of each node should be proportional to the number of physical neighbours; Smart Gossip [Kyasanur et al. (2006)] detects nodes that are on the critical paths of the network, and then informs these nodes to broadcast with higher probability; and the gossip-based sleep protocol (GSP) [Hou et al. (2006)] instructs individual nodes to enter sleep mode with certain probability so that they do not correspond to the incoming messages for a short period. The experiments of these probabilistic gossip algorithms have shown that they effectively reduce the number of broadcasts in a dissemination while achieving almost the same message delivery as flooding. This is because the probabilistic gossip exhibits a bimodal behaviour as predicted by the percolation theory [Meester et Roy (1996)]: as soon as the gossip probability p meets some minimum threshold, a broadcast message will be received by all or almost all nodes with a very high probability. 26
38 2.2 Gossip Patterns 2.2 Gossip Patterns This section explores the design space of gossip protocols. First, it analyses the recurring elements that are involved in gossip protocols, discussing the possible design choices for each element and their potential benefits and limitations (section 2.2.1). Based on this analysis, section presents five recurring architectural patterns that are formed by these elements. Finally and in addition to the analysis of gossip protocols internal behaviours such as their key elements and architectural patterns, section examines the contextual issues that might affect the gossip design Underlying Elements Based on the study of over 30 gossip protocols/systems, this work observes several recurring elements that are used in all the gossip algorithms: 1) a gossip message is either triggered reactively or periodically; 2) gossip communication involve three basic styles of data flows (i.e. pull, push, push-pull); and 3) all the gossip algorithms use certain forms of randomised communication, as the following discusses. Gossip Trigger Gossip protocols can execute periodically (e.g. RPS) or react to external events (e.g. SCAMP). Periodic gossip effectively avoids possible traffic congestion. This is because gossip rounds are not synchronised and many periodic 27
Programming Large-Scale Distributed Systems
Programming Large-Scale Distributed Systems Some Mechanisms, Abstractions, and Tools François Taïani Soutenance d HDR 17 Novembre 2011 Middleware Engineering Distributed Programming 2000 01 02 03 04 05
More informationDistributed Objects and Components
Distributed Objects and Components Introduction This essay will identify the differences between objects and components and what it means for a component to be distributed. It will also examine the Java
More informationScalable Membership Management and Failure Detection (Dependability) INF5360 Student Presentation by Morten Lindeberg mglindeb@ifi.uio.
Scalable Membership Management and Failure Detection (Dependability) INF5360 Student Presentation by Morten Lindeberg mglindeb@ifi.uio.no Outline! Membership Management! Gossip Based Membership Protocol
More informationInternational Journal of Scientific & Engineering Research, Volume 4, Issue 11, November-2013 349 ISSN 2229-5518
International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November-2013 349 Load Balancing Heterogeneous Request in DHT-based P2P Systems Mrs. Yogita A. Dalvi Dr. R. Shankar Mr. Atesh
More informationCHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter
More informationLBPerf: An Open Toolkit to Empirically Evaluate the Quality of Service of Middleware Load Balancing Services
LBPerf: An Open Toolkit to Empirically Evaluate the Quality of Service of Middleware Load Balancing Services Ossama Othman Jaiganesh Balasubramanian Dr. Douglas C. Schmidt {jai, ossama, schmidt}@dre.vanderbilt.edu
More informationEngineering Scale: Software and Distribution for Tomorrow's World
Journées GDR GPL Engineering Scale: Software and Distribution for Tomorrow's World François Taïani Ideal software artefact è structured, predictable, open, evolvable 2 A Distributed System Today Standards
More informationRelational Databases in the Cloud
Contact Information: February 2011 zimory scale White Paper Relational Databases in the Cloud Target audience CIO/CTOs/Architects with medium to large IT installations looking to reduce IT costs by creating
More informationQUALITY OF SERVICE METRICS FOR DATA TRANSMISSION IN MESH TOPOLOGIES
QUALITY OF SERVICE METRICS FOR DATA TRANSMISSION IN MESH TOPOLOGIES SWATHI NANDURI * ZAHOOR-UL-HUQ * Master of Technology, Associate Professor, G. Pulla Reddy Engineering College, G. Pulla Reddy Engineering
More informationSoftware Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Component-Based Software Engineering Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain that CBSE is concerned with developing standardised components
More informationA Brief Analysis on Architecture and Reliability of Cloud Based Data Storage
Volume 2, No.4, July August 2013 International Journal of Information Systems and Computer Sciences ISSN 2319 7595 Tejaswini S L Jayanthy et al., Available International Online Journal at http://warse.org/pdfs/ijiscs03242013.pdf
More informationEWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications
ECE6102 Dependable Distribute Systems, Fall2010 EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications Deepal Jayasinghe, Hyojun Kim, Mohammad M. Hossain, Ali Payani
More informationThe Data Grid: Towards an Architecture for Distributed Management and Analysis of Large Scientific Datasets
The Data Grid: Towards an Architecture for Distributed Management and Analysis of Large Scientific Datasets!! Large data collections appear in many scientific domains like climate studies.!! Users and
More informationMonitoring Large-Scale Wireless Sensor Networks
Monitoring Large-Scale Wireless Sensor Networks using Epidemic Protocols Daniela Gavidia, Spyros Voulgaris, Maarten van Steen Vrije Universiteit Amsterdam Faculty of Science Department of Computer Science
More informationComparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications White Paper Table of Contents Overview...3 Replication Types Supported...3 Set-up &
More informationDependability in Web Services
Dependability in Web Services Christian Mikalsen chrismi@ifi.uio.no INF5360, Spring 2008 1 Agenda Introduction to Web Services. Extensible Web Services Architecture for Notification in Large- Scale Systems.
More informationIntelligent Content Delivery Network (CDN) The New Generation of High-Quality Network
White paper Intelligent Content Delivery Network (CDN) The New Generation of High-Quality Network July 2001 Executive Summary Rich media content like audio and video streaming over the Internet is becoming
More informationLecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at
Lecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at distributing load b. QUESTION: What is the context? i. How
More informationPatterns in Software Engineering
Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 7 GoV Patterns Architectural Part 1 1 GoV Patterns for Software Architecture According to Buschmann et al.: A pattern for software architecture
More informationBuilding Web-based Infrastructures for Smart Meters
Building Web-based Infrastructures for Smart Meters Andreas Kamilaris 1, Vlad Trifa 2, and Dominique Guinard 2 1 University of Cyprus, Nicosia, Cyprus 2 ETH Zurich and SAP Research, Switzerland Abstract.
More informationCROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING
CHAPTER 6 CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING 6.1 INTRODUCTION The technical challenges in WMNs are load balancing, optimal routing, fairness, network auto-configuration and mobility
More informationSTUDY AND SIMULATION OF A DISTRIBUTED REAL-TIME FAULT-TOLERANCE WEB MONITORING SYSTEM
STUDY AND SIMULATION OF A DISTRIBUTED REAL-TIME FAULT-TOLERANCE WEB MONITORING SYSTEM Albert M. K. Cheng, Shaohong Fang Department of Computer Science University of Houston Houston, TX, 77204, USA http://www.cs.uh.edu
More informationHow To Create A P2P Network
Peer-to-peer systems INF 5040 autumn 2007 lecturer: Roman Vitenberg INF5040, Frank Eliassen & Roman Vitenberg 1 Motivation for peer-to-peer Inherent restrictions of the standard client/server model Centralised
More informationA REVIEW PAPER ON THE HADOOP DISTRIBUTED FILE SYSTEM
A REVIEW PAPER ON THE HADOOP DISTRIBUTED FILE SYSTEM Sneha D.Borkar 1, Prof.Chaitali S.Surtakar 2 Student of B.E., Information Technology, J.D.I.E.T, sborkar95@gmail.com Assistant Professor, Information
More informationDesign and Implementation of a P2P Cloud System
Design and Implementation of a P2P Cloud Ozalp Babaoglu, Moreno Marzolla, Michele Tamburini {babaoglu, marzolla}@cs.unibo.it, miketambu@gmail.com Our Goal Assemble a Cloud out of individual devices E.g.
More informationAnalysis and Research of Cloud Computing System to Comparison of Several Cloud Computing Platforms
Volume 1, Issue 1 ISSN: 2320-5288 International Journal of Engineering Technology & Management Research Journal homepage: www.ijetmr.org Analysis and Research of Cloud Computing System to Comparison of
More informationTowards Distributed Service Platform for Extending Enterprise Applications to Mobile Computing Domain
Towards Distributed Service Platform for Extending Enterprise Applications to Mobile Computing Domain Pakkala D., Sihvonen M., and Latvakoski J. VTT Technical Research Centre of Finland, Kaitoväylä 1,
More informationThe Optimistic Total Order Protocol
From Spontaneous Total Order to Uniform Total Order: different degrees of optimistic delivery Luís Rodrigues Universidade de Lisboa ler@di.fc.ul.pt José Mocito Universidade de Lisboa jmocito@lasige.di.fc.ul.pt
More informationFlexible Distributed Business Process Management. Vinod Muthusamy
Flexible Distributed Business Process Management by Vinod Muthusamy A thesis submitted in conformity with the requirements for the degree of Doctor of Philosophy Graduate Department of Electrical and Computer
More information8 Conclusion and Future Work
8 Conclusion and Future Work This chapter concludes this thesis and provides an outlook on future work in the area of mobile ad hoc networks and peer-to-peer overlay networks 8.1 Conclusion Due to the
More informationTowards a Load Balancing in a Three-level Cloud Computing Network
Towards a Load Balancing in a Three-level Cloud Computing Network Shu-Ching Wang, Kuo-Qin Yan * (Corresponding author), Wen-Pin Liao and Shun-Sheng Wang Chaoyang University of Technology Taiwan, R.O.C.
More informationA Scalable Network Monitoring and Bandwidth Throttling System for Cloud Computing
A Scalable Network Monitoring and Bandwidth Throttling System for Cloud Computing N.F. Huysamen and A.E. Krzesinski Department of Mathematical Sciences University of Stellenbosch 7600 Stellenbosch, South
More informationAMAZON S3: ARCHITECTING FOR RESILIENCY IN THE FACE OF FAILURES Jason McHugh
AMAZON S3: ARCHITECTING FOR RESILIENCY IN THE FACE OF FAILURES Jason McHugh CAN YOUR S ERVICE S URVIVE? CAN YOUR S ERVICE S URVIVE? CAN YOUR SERVICE SURVIVE? Datacenter loss of connectivity Flood Tornado
More information1. Comments on reviews a. Need to avoid just summarizing web page asks you for:
1. Comments on reviews a. Need to avoid just summarizing web page asks you for: i. A one or two sentence summary of the paper ii. A description of the problem they were trying to solve iii. A summary of
More informationOperating System Concepts. Operating System 資 訊 工 程 學 系 袁 賢 銘 老 師
Lecture 7: Distributed Operating Systems A Distributed System 7.2 Resource sharing Motivation sharing and printing files at remote sites processing information in a distributed database using remote specialized
More informationService-Oriented Architecture and Software Engineering
-Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based
More informationTechnology to Control Hybrid Computer Systems
INFORMATION TECHNOLOGY Hynomics (formerly HyBrithms Corporation, formerly Sagent Corporation) Technology to Control Hybrid Computer Systems Businesses and industries, both large and small, increasingly
More informationService Oriented Architecture
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence charlie.abela@um.edu.mt Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline
More informationBalancing Gossip Exchanges in Networks with Firewalls
Balancing Gossip Exchanges in Networks with Firewalls João Leitão INESC-ID/IST jleitao@gsd.inesc-id.pt Robbert van Renesse Cornell University rvr@cs.cornell.edu Luís Rodrigues INESC-ID/IST ler@ist.utl.pt
More informationChapter 14: Distributed Operating Systems
Chapter 14: Distributed Operating Systems Chapter 14: Distributed Operating Systems Motivation Types of Distributed Operating Systems Network Structure Network Topology Communication Structure Communication
More informationHow To Create A Visual Analytics Tool
W H I T E P A P E R Visual Analytics for the Masses 1 State of Visual Analytics Visual analytics, in the field of business intelligence, is the integration of data visualization and interactive visual
More informationA distributed system is defined as
A distributed system is defined as A collection of independent computers that appears to its users as a single coherent system CS550: Advanced Operating Systems 2 Resource sharing Openness Concurrency
More informationCloud Computing Architectures and Design Issues
Cloud Computing Architectures and Design Issues Ozalp Babaoglu, Stefano Ferretti, Moreno Marzolla, Fabio Panzieri {babaoglu, sferrett, marzolla, panzieri}@cs.unibo.it Outline What is Cloud Computing? A
More informationCHAPTER 8 CONCLUSION AND FUTURE ENHANCEMENTS
137 CHAPTER 8 CONCLUSION AND FUTURE ENHANCEMENTS 8.1 CONCLUSION In this thesis, efficient schemes have been designed and analyzed to control congestion and distribute the load in the routing process of
More informationDRAFT. 1 Proposed System. 1.1 Abstract
Doctoral Thesis Proposal A language-level approach to distributed computation with weak synchronization and its application to cloud and edge computing environments. Christopher Meiklejohn Université catholique
More informationCHAPTER 7 SUMMARY AND CONCLUSION
179 CHAPTER 7 SUMMARY AND CONCLUSION This chapter summarizes our research achievements and conclude this thesis with discussions and interesting avenues for future exploration. The thesis describes a novel
More informationThe Sierra Clustered Database Engine, the technology at the heart of
A New Approach: Clustrix Sierra Database Engine The Sierra Clustered Database Engine, the technology at the heart of the Clustrix solution, is a shared-nothing environment that includes the Sierra Parallel
More informationPerformance Prediction, Sizing and Capacity Planning for Distributed E-Commerce Applications
Performance Prediction, Sizing and Capacity Planning for Distributed E-Commerce Applications by Samuel D. Kounev (skounev@ito.tu-darmstadt.de) Information Technology Transfer Office Abstract Modern e-commerce
More informationFacility Usage Scenarios
Facility Usage Scenarios GDD-06-41 GENI: Global Environment for Network Innovations December 22, 2006 Status: Draft (Version 0.1) Note to the reader: this document is a work in progress and continues to
More informationModule 15: Network Structures
Module 15: Network Structures Background Topology Network Types Communication Communication Protocol Robustness Design Strategies 15.1 A Distributed System 15.2 Motivation Resource sharing sharing and
More informationHuawei Technologies ERC Position Statement: Towards a Future Internet Public Private Partnership
Huawei Technologies ERC Position Statement: Towards a Future Internet Public Private Partnership Kostas Pentikousis, Mirko Schramm, and Cornel Pampu Huawei Technologies European Research Centre Carnotstrasse
More informationMiddleware- Driven Mobile Applications
Middleware- Driven Mobile Applications A motwin White Paper When Launching New Mobile Services, Middleware Offers the Fastest, Most Flexible Development Path for Sophisticated Apps 1 Executive Summary
More informationTowards an Adaptive Distributed Multimedia Streaming Server Architecture Based on Service-oriented Components
Towards an Adaptive Distributed Multimedia Streaming Server Architecture Based on Service-oriented Components Roland Tusch Institute of Information Technology, Klagenfurt University, Austria roland@itec.uni-klu.ac.at
More informationA Peer-to-Peer Approach to Content Dissemination and Search in Collaborative Networks
A Peer-to-Peer Approach to Content Dissemination and Search in Collaborative Networks Ismail Bhana and David Johnson Advanced Computing and Emerging Technologies Centre, School of Systems Engineering,
More informationDefinition. A Historical Example
Overlay Networks This lecture contains slides created by Ion Stoica (UC Berkeley). Slides used with permission from author. All rights remain with author. Definition Network defines addressing, routing,
More informationCHAPTER 1 INTRODUCTION
1 CHAPTER 1 INTRODUCTION Internet has revolutionized the world. There seems to be no limit to the imagination of how computers can be used to help mankind. Enterprises are typically comprised of hundreds
More informationA Coordinated. Enterprise Networks Software Defined. and Application Fluent Programmable Networks
A Coordinated Virtual Infrastructure for SDN in Enterprise Networks Software Defined Networking (SDN), OpenFlow and Application Fluent Programmable Networks Strategic White Paper Increasing agility and
More informationChapter 16: Distributed Operating Systems
Module 16: Distributed ib System Structure, Silberschatz, Galvin and Gagne 2009 Chapter 16: Distributed Operating Systems Motivation Types of Network-Based Operating Systems Network Structure Network Topology
More informationAN EFFICIENT DISTRIBUTED CONTROL LAW FOR LOAD BALANCING IN CONTENT DELIVERY NETWORKS
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 3, Issue. 9, September 2014,
More informationCluster, Grid, Cloud Concepts
Cluster, Grid, Cloud Concepts Kalaiselvan.K Contents Section 1: Cluster Section 2: Grid Section 3: Cloud Cluster An Overview Need for a Cluster Cluster categorizations A computer cluster is a group of
More informationVStore++: Virtual Storage Services for Mobile Devices
VStore++: Virtual Storage Services for Mobile Devices Sudarsun Kannan, Karishma Babu, Ada Gavrilovska, and Karsten Schwan Center for Experimental Research in Computer Systems Georgia Institute of Technology
More informationSDN, a New Definition of Next-Generation Campus Network
SDN, a New Definition of Next-Generation Campus Network Contents Campus Evolution and Development Trends... 1 Three Changes to Drive the Campus Network Development... 2 Fundamental Changes in User Behaviors...2
More informationEXTENDING NETWORK KNOWLEDGE: MAKING OLSR A QUALITY OF SERVICE CONDUCIVE PROTOCOL
EXTENDING NETWORK KNOWLEDGE: MAKING OLSR A QUALITY OF SERVICE CONDUCIVE PROTOCOL by Pedro Eduardo Villanueva-Pena, Thomas Kunz Carleton University January, 2006 This report examines mechanisms to gradually
More informationDynamic Load Balancing for Cluster-based Publish/Subscribe System
Dynamic Load Balancing for Cluster-based Publish/Subscribe System Hojjat Jafarpour, Sharad Mehrotra and Nalini Venkatasubramanian Department of Computer Science University of California, Irvine {hjafarpo,
More informationSelf-Compressive Approach for Distributed System Monitoring
Self-Compressive Approach for Distributed System Monitoring Akshada T Bhondave Dr D.Y Patil COE Computer Department, Pune University, India Santoshkumar Biradar Assistant Prof. Dr D.Y Patil COE, Computer
More informationMINIMIZING STORAGE COST IN CLOUD COMPUTING ENVIRONMENT
MINIMIZING STORAGE COST IN CLOUD COMPUTING ENVIRONMENT 1 SARIKA K B, 2 S SUBASREE 1 Department of Computer Science, Nehru College of Engineering and Research Centre, Thrissur, Kerala 2 Professor and Head,
More informationAnalysis on Leveraging social networks for p2p content-based file sharing in disconnected manets
Analysis on Leveraging social networks for p2p content-based file sharing in disconnected manets # K.Deepika 1, M.Tech Computer Science Engineering, Mail: medeepusony@gmail.com # K.Meena 2, Assistant Professor
More informationMulti-Channel Clustered Web Application Servers
THE AMERICAN UNIVERSITY IN CAIRO SCHOOL OF SCIENCES AND ENGINEERING Multi-Channel Clustered Web Application Servers A Masters Thesis Department of Computer Science and Engineering Status Report Seminar
More informationContent Delivery Network (CDN) and P2P Model
A multi-agent algorithm to improve content management in CDN networks Agostino Forestiero, forestiero@icar.cnr.it Carlo Mastroianni, mastroianni@icar.cnr.it ICAR-CNR Institute for High Performance Computing
More informationChapter 7. Using Hadoop Cluster and MapReduce
Chapter 7 Using Hadoop Cluster and MapReduce Modeling and Prototyping of RMS for QoS Oriented Grid Page 152 7. Using Hadoop Cluster and MapReduce for Big Data Problems The size of the databases used in
More informationCiteSeer x in the Cloud
Published in the 2nd USENIX Workshop on Hot Topics in Cloud Computing 2010 CiteSeer x in the Cloud Pradeep B. Teregowda Pennsylvania State University C. Lee Giles Pennsylvania State University Bhuvan Urgaonkar
More informationIngegneria del Software II academic year: 2004-2005 Course Web-site: [www.di.univaq.it/ingegneria2/]
Course: Ingegneria del Software II academic year: 2004-2005 Course Web-site: [www.di.univaq.it/ingegneria2/] Middleware Technology: Middleware Applications and Distributed Systems Lecturer: Henry Muccini
More informationMulti-Datacenter Replication
www.basho.com Multi-Datacenter Replication A Technical Overview & Use Cases Table of Contents Table of Contents... 1 Introduction... 1 How It Works... 1 Default Mode...1 Advanced Mode...2 Architectural
More informationFacebook: Cassandra. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation
Facebook: Cassandra Smruti R. Sarangi Department of Computer Science Indian Institute of Technology New Delhi, India Smruti R. Sarangi Leader Election 1/24 Outline 1 2 3 Smruti R. Sarangi Leader Election
More informationThe old Internet. Software in the Network: Outline. Traditional Design. 1) Basic Caching. The Arrival of Software (in the network)
The old Software in the Network: What Happened and Where to Go Prof. Eric A. Brewer UC Berkeley Inktomi Corporation Local networks with local names and switches IP creates global namespace and links the
More informationMulti-service Load Balancing in a Heterogeneous Network with Vertical Handover
1 Multi-service Load Balancing in a Heterogeneous Network with Vertical Handover Jie Xu, Member, IEEE, Yuming Jiang, Member, IEEE, and Andrew Perkis, Member, IEEE Abstract In this paper we investigate
More informationDistribution transparency. Degree of transparency. Openness of distributed systems
Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science steen@cs.vu.nl Chapter 01: Version: August 27, 2012 1 / 28 Distributed System: Definition A distributed
More informationService and Resource Discovery in Smart Spaces Composed of Low Capacity Devices
Service and Resource Discovery in Smart Spaces Composed of Low Capacity Devices Önder Uzun, Tanır Özçelebi, Johan Lukkien, Remi Bosman System Architecture and Networking Department of Mathematics and Computer
More informationWhat SOA can do for Software Dependability. Karl M. Göschka Karl.Goeschka@tuwien.ac.at Vienna University of Technology
What SOA can do for Software Dependability Karl M. Göschka Karl.Goeschka@tuwien.ac.at Vienna University of Technology Overview Dependability challenges Control loop: Adaptivity and evolution The SOA potential
More informationProactive, Resource-Aware, Tunable Real-time Fault-tolerant Middleware
Proactive, Resource-Aware, Tunable Real-time Fault-tolerant Middleware Priya Narasimhan T. Dumitraş, A. Paulos, S. Pertet, C. Reverte, J. Slember, D. Srivastava Carnegie Mellon University Problem Description
More informationA Comparative Study of cloud and mcloud Computing
A Comparative Study of cloud and mcloud Computing Ms.S.Gowri* Ms.S.Latha* Ms.A.Nirmala Devi* * Department of Computer Science, K.S.Rangasamy College of Arts and Science, Tiruchengode. s.gowri@ksrcas.edu
More informationAn Efficient Strategy for Data Recovery in Wi-Fi Systems
International Journal of Research & Development in Science and Technology Volume 1, Issue 2, December 2014, PP 1-6 ISSN 2350-4751 (Print) & ISSN 2350-4751(Online) An Efficient Strategy for Data Recovery
More informationVirtualization Technologies (ENCS 691K Chapter 3)
Virtualization Technologies (ENCS 691K Chapter 3) Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ The Key Technologies on Which Cloud Computing
More informationDr Markus Hagenbuchner markus@uow.edu.au CSCI319. Distributed Systems
Dr Markus Hagenbuchner markus@uow.edu.au CSCI319 Distributed Systems CSCI319 Chapter 8 Page: 1 of 61 Fault Tolerance Study objectives: Understand the role of fault tolerance in Distributed Systems. Know
More informationService Component Architecture for Building Cloud Services
Service Component Architecture for Building Cloud Services by Dr. Muthu Ramachandran, Principal Lecturer in the Computing and Creative Technologies School Abstract: The emergence of cloud computing has
More informationApplying SDN to Network Management Problems. Nick Feamster University of Maryland
Applying SDN to Network Management Problems Nick Feamster University of Maryland 1 Addressing the Challenges of Network Management Challenge Approach System Frequent Changes Event-Based Network Control
More informationChapter 2 Addendum (More on Virtualization)
Chapter 2 Addendum (More on Virtualization) Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ More on Systems Virtualization Type I (bare metal)
More informationData-Aware Service Choreographies through Transparent Data Exchange
Institute of Architecture of Application Systems Data-Aware Service Choreographies through Transparent Data Exchange Michael Hahn, Dimka Karastoyanova, and Frank Leymann Institute of Architecture of Application
More informationPERFORMANCE OF MOBILE AD HOC NETWORKING ROUTING PROTOCOLS IN REALISTIC SCENARIOS
PERFORMANCE OF MOBILE AD HOC NETWORKING ROUTING PROTOCOLS IN REALISTIC SCENARIOS Julian Hsu, Sameer Bhatia, Mineo Takai, Rajive Bagrodia, Scalable Network Technologies, Inc., Culver City, CA, and Michael
More informationA Survey Study on Monitoring Service for Grid
A Survey Study on Monitoring Service for Grid Erkang You erkyou@indiana.edu ABSTRACT Grid is a distributed system that integrates heterogeneous systems into a single transparent computer, aiming to provide
More informationLightweight Service-Based Software Architecture
Lightweight Service-Based Software Architecture Mikko Polojärvi and Jukka Riekki Intelligent Systems Group and Infotech Oulu University of Oulu, Oulu, Finland {mikko.polojarvi,jukka.riekki}@ee.oulu.fi
More informationPIRR: a Methodology for Distributed Network Management in Mobile Networks
PIRR: a Methodology for Distributed Network Management in Mobile Networks FILIPPO NERI University of Piemonte Orientale Department of Science via Bellini 25/g, 13900 Alessandria ITALY filipponeri@yahoo.com
More informationAn Efficient Hybrid P2P MMOG Cloud Architecture for Dynamic Load Management. Ginhung Wang, Kuochen Wang
1 An Efficient Hybrid MMOG Cloud Architecture for Dynamic Load Management Ginhung Wang, Kuochen Wang Abstract- In recent years, massively multiplayer online games (MMOGs) become more and more popular.
More informationCONECT - Cooperative Networking for High Capacity Transport Architectures Overview. Leandros Tassiulas CERTH
CONECT - Cooperative Networking for High Capacity Transport Architectures Overview Leandros Tassiulas CERTH CONECT Partnership Part No Participant name Short Name Country 1 Center for Reasearch and Technology
More informationModular Communication Infrastructure Design with Quality of Service
Modular Communication Infrastructure Design with Quality of Service Pawel Wojciechowski and Péter Urbán Distributed Systems Laboratory School of Computer and Communication Sciences Swiss Federal Institute
More informationPortable Wireless Mesh Networks: Competitive Differentiation
Portable Wireless Mesh Networks: Competitive Differentiation Rajant Corporation s kinetic mesh networking solutions combine specialized command and control software with ruggedized, high-performance hardware.
More informationDYNAMIC LOAD BALANCING SCHEME FOR ITERATIVE APPLICATIONS
Journal homepage: www.mjret.in DYNAMIC LOAD BALANCING SCHEME FOR ITERATIVE APPLICATIONS ISSN:2348-6953 Rahul S. Wankhade, Darshan M. Marathe, Girish P. Nikam, Milind R. Jawale Department of Computer Engineering,
More informationdiversifeye Application Note
diversifeye Application Note Test Performance of IGMP based Multicast Services with emulated IPTV STBs Shenick Network Systems Test Performance of IGMP based Multicast Services with emulated IPTV STBs
More informationSystems for Fun and Profit
Department of Computing Building Internet-Scale Distributed Systems for Fun and Profit Peter Pietzuch prp@doc.ic.ac.uk Large-Scale Distributed Systems Group http://platypus.doc.ic.ac.uk Peter R. Pietzuch
More information