5,981 research outputs found

    Protocol composition frameworks and modular group communication:models, algorithms and architectures

    Get PDF
    It is noticeable that our society is increasingly relying on computer systems. Nowadays, computer networks can be found at places where it would have been unthinkable a few decades ago, supporting in some cases critical applications on which human lives may depend. Although this growing reliance on networked systems is generally perceived as technological progress, one should bear in mind that such systems are constantly growing in size and complexity, to such an extent that assuring their correct operation is sometimes a challenging task. Hence, dependability of distributed systems has become a crucial issue, and is responsible for an important body of research over the last years. No matter how much effort we put on ensuring our distributed system's correctness, we will be unable to prevent crashes. Therefore, designing distributed systems to tolerate rather than prevent such crashes is a reasonable approach. This is the purpose of fault-tolerance. Among all techniques that provide fault tolerance, replication is the only one that allows the system to mask process crashes. The intuition behind replication is simple: instead of having one instance of a service, we run several of them. If one of the replicas crashes, the rest can take over so that the crash does not prevent the system from delivering the expected service. A replicated service needs to keep all its replicas consistent, and group communication protocols provide abstractions to preserve such consistency. Group communication toolkits have been present since the late 80s. At the beginning, they were monolithic and later on they became modular. Modular group communication toolkits are composed of a set of off-the-shelf protocol modules that can be tailored to the application's needs. Composing protocols requires to set up basic rules that define how modules are composed and interact. Sometimes, these rules are devised exclusively for a particular protocol suite, but it is more sensible to agree on a carefully chosen set of rules and reuse them: this is the essence of protocol composition frameworks. There is a great diversity of protocol composition frameworks at present, and none is commonly considered the best. Furthermore, any attempt to defend a framework as being the best finds strong opposition with plenty of arguments pointing out its drawbacks. Given the complexity of current group communication toolkits and their configurability requirements, we believe that research on modular group communication and protocol composition frameworks must go hand-in-hand. The main goal of this thesis is to advance the state of the art in these two fields jointly and demonstrate how protocols can benefit from frameworks, as well as frameworks can benefit from protocols. The thesis is structured in three parts. Part I focuses on issues related to protocol composition frameworks. Part II is devoted to modular group communication. Finally, Part III presents our modular group communication prototype: Fortika. Part III combines the results of the two previous parts, thereby acting as the convergence point. At the beginning of Part I, we propose four perspectives to describe and compare frameworks on which we base our research on protocol frameworks. These perspectives are: composition model (how the composition looks like), interaction model (how the components interact), concurrency model (how concurrency is managed within the framework), and interaction with the environment (how the framework communicates with the outside world). We compare Appia and Cactus, two relevant protocol composition frameworks with a very different design. Overall, we cannot tell which framework is better. However, a thorough comparison using the four perspectives mentioned above showed that Appia is better in certain aspects, while Cactus is better in other aspects. Concurrency control to avoid race conditions and deadlocks should be ensured by the protocol framework. However this is not always the case. We survey the concurrency model of eight protocol composition frameworks and propose new features to improve concurrency management. Events are the basic mechanism that protocol modules use to communicate with each other. Most protocol composition frameworks include events at the core of their interaction model. However, events are seemingly not as good as one may expect. We point out the drawbacks of events and propose an alternative interaction scheme that uses message headers instead of events: the header-driven model. Part II starts by discussing common features of traditional group communication toolkits and the problems they entail. Then, a new modular group communication architecture is presented. It is less complex, more powerful, and more responsive to failures than traditional architectures. Crash-recovery is a model where crashed processes can be restarted and continue where they were executing just before they crashed. This requires to log the state to disk periodically. We argue that current specifications of atomic broadcast (an important group communication primitive) are not satisfactory. We propose a novel specification that intends to overcome the problems we spotted in existing specifications. Additionally, we come up with two implementations of our atomic broadcast specification and compare their performance. Fortika is the main prototype of the thesis, and the subject of Part III. Fortika is a group communication toolkit written in Java that can use third-party frameworks like Cactus or Appia for composition. Fortika was the testbed for architectures, models and algorithms proposed in the thesis. Finally, we performed software-based fault injection on Fortika to assess its fault-tolerance. The results were valuable to improve the design of Fortika

    A framework for understanding and predicting the take up and use of social networking tools in a collaborative envionment

    Get PDF
    Online collaborative environments, such as social networking environments, enable users to work together to create, modify, and share media collaboratively. However, as users can be autonomous in their actions the ability to create and form a shared understanding of the people, purpose, and process of the collaborative effort can be complex. This complexity is compounded by the natural implicit social and collaborative structure of these environments, a structure that can be modified by users dynamically and asynchronously. Some have tried to make this implicitness explicit through data mining, and allocation of user roles. However such methods can fail to adapt to the changing nature of an environment's structure relating to habits of users and their social connectedness. As a result, existing methods generally provide only a snapshot of the environment at a point in time. In addition, existing methods focus on whole user bases and the underlying social context of the environment. This makes them unsuitable for situations where the context of collaboration can change rapidly, for example the tools and widgets available for collaborative action and the users available for collaborative interactions. There is a pre-existing model for understanding the dynamic structure of these environments called the “Group Socialisation Model". This model has been used to understand how social group roles form and change over time as they go through a life cycle. This model also contains a concept of characteristic behaviours or descriptors of behaviour that an individual can use to make judgement about another individual and to create an understanding of a role or social norm that may or may not be explicit. Although studies have used components of this model to provide a means of role identification or role composition within online collaborative environments, they have not managed to provide a higher level method or framework that can replicate the entire life cycle continuously over time within these environments. Using the constructive research methodology this thesis presents a research construct in the form of a framework for replicating the social group role life cycle within online collaborative environments. The framework uses an artificial neural network with a unique capability of taking snapshots of its network structure. In conjunction with fuzzy logic inference, collaborative role signatures composed of characteristic behaviours can then be determined. In this work, three characteristic behaviours were identified from the literature for characterisation of stereotypical online behaviour to be used within a role signature: these were publisher, annotator, and lurker. The use of the framework was demonstrated on three case studies. Two of the case studies were custom built mobile applications specifically for this study, and one was the Walk 2.0 website from a National Health and Medical Research Council project. All three case studies allowed for collaborative actions where users could interact with each other to create an dynamic and diverse environment. For the use of these case studies, ethics was approved by the Western Sydney University Human Research Ethic Committee and consistent strategies for recruitment were carried out. The framework was thereby demonstrated to be capable of successfully determining role signatures composed of the above characteristic behaviours, for a range of contexts and individual users. Also, comparison of participant usage of case studies was carried out and it was established that the role signatures determined by the framework matched usage. In addition, the top contributors within the case studies were analysed to demonstrate the framework's capability of handling the dynamic and continual changing structure of an online collaborative environment. The major contribution of this thesis is a framework construct developed to propose and demonstrate a new framework approach to successfully automate and carry out the social group role model life cycle within online collaborative environments. This is a significant component of foundational work towards providing designers of online collaborative environments with the capacity of understanding the various implicit roles and their characteristic behaviours for individual users. Such a capability could enable more specific individual personalisation or resource allocation, which could in turn improve the suitability of environments developed for collaboration online

    The CORBA object group service:a service approach to object groups in CORBA

    Get PDF
    Distributed computing is one of the major trends in the computer industry. As systems become more distributed, they also become more complex and have to deal with new kinds of problems, such as partial crashes and link failures. To answer the growing demand in distributed technologies, several middleware environments have emerged during the last few years. These environments however lack support for "one-to-many" communication primitives; such primitives greatly simplify the development of several types of applications that have requirements for high availability, fault tolerance, parallel processing, or collaborative work. One-to-many interactions can be provided by group communication. It manages groups of objects and provides primitives for sending messages to all members of a group, with various reliability and ordering guarantees. A group constitutes a logical addressing facility: messages can be issued to a group without having to know the number, identity, or location of individual members. The notion of group has proven to be very useful for providing high availability through replication: a set of replicas constitutes a group, but are viewed by clients as a single entity in the system. This thesis aims at studying and proposing solutions to the problem of object group support in object-based middleware environments. It surveys and evaluates different approaches to this problem. Based on this evaluation, we propose a system model and an open architecture to add support for object groups to the CORBA middle- ware environment. In doing so, we provide the application developer with powerful group primitives in the context of a standard object-based environment. This thesis contributes to ongoing standardization efforts that aim to support fault tolerance in CORBA, using entity redundancy. The group architecture proposed in this thesis — the Object Group Service (OGS) — is based on the concept of component integration. It consists of several distinct components that provide various facilities for reliable distributed computing and that are reusable in isolation. Group support is ultimately provided by combining these components. OGS defines an object-oriented framework of CORBA components for reliable distributed systems. The OGS components include a group membership service, which keeps track of the composition of object groups, a group multicast service, which provides delivery of messages to all group members, a consensus service, which allows several CORBA objects to resolve distributed agreement problems, and a monitoring service, which provides distributed failure detection mechanisms. OGS includes support for dynamic group membership and for group multicast with various reliability and ordering guarantees. It defines interfaces for active and primary-backup replication. In addition, OGS proposes several execution styles and various levels of transparency. A prototype implementation of OGS has been realized in the context of this thesis. This implementation is available for two commercial ORBs (Orbix and VisiBroker). It relies solely on the CORBA specification, and is thus portable to any compliant ORB. Although the main theme of this thesis deals with system architecture, we have developed some original algorithms to implement group support in OGS. We analyze these algorithms and implementation choices in this dissertation, and we evaluate them in terms of efficiency. We also illustrate the use of OGS through example applications

    GUISET: A CONCEPTUAL DESIGN OF A GRID-ENABLED PORTAL FOR E-COMMERCE ON-DEMAND SERVICES

    Get PDF
    Conventional grid-enabled portal designs have been largely influenced by the usual functional requirements such as security requirements, grid resource requirements and job management requirements. However, the pay-as-you-use service provisioning model of utility computing platforms mean that additional requirements must be considered in order to realize effective grid-enabled portals design for such platforms. This work investigates those relevant additional requirements that must be considered for the design of grid-enabled portals for utility computing contexts. Based on a thorough review of literature, we identified a number of those relevant additional requirements, and developed a grid-enabled portal prototype for the Grid-based Utility Infrastructure for SMME-enabling Technology (GUISET) initiative – a utility computing platform. The GUISET portal was designed to cater for both the traditional grid requirements and some of the relevant additional requirements for utility computing contexts. The result of the evaluation of the GUISET portal prototype using a set of benchmark requirements (standards) revealed that it fulfilled the minimum requirements to be suitable for the utility context

    Proof-of-Concept Application - Annual Report Year 1

    Get PDF
    In this document the Cat-COVITE Application for use in the CATNETS Project is introduced and motivated. Furthermore an introduction to the catallactic middleware and Web Services Agreement (WS-Agreement) concepts is given as a basis for the future work. Requirements for the application of Cat-COVITE with in catallactic systems are analysed. Finally the integration of the Cat-COVITE application and the catallactic middleware is described. --Grid Computing

    JMSGroups:JMS compliant group communication

    Get PDF
    Nowadays, computers are the indispensable part of our life. They evolve rapidly and are more and more versatile. Computer networks made the remote corners of the world just a click away. But unavoidably, any software and hardware component is subject to failure. Distributed systems spread on tens or hundreds of machines are particularly vulnerable to failures. Consequently, high availability and fault tolerance became a "must have" feature for such systems. Software fault tolerance is achieved through the technique called replication. In replication several software replicas are executed at the same time. If one or several of them fail, other still provide the service. Software replication is often implemented using group communication, which provides communication primitives with various semantics and greatly simplifies the development of highly available and fault tolerant services. However, despite tremendous advances in research and numerous prototypes, group communication stays confined to small niches and academic prototypes. In contrast, other technology, called messageoriented middleware such as the Java Message Service (JMS) is widely used in distributed systems, and has become a de-facto standard. We believe that the lack of a well-defined and easily understandable standard is the reason that hinders the deployment of group communication systems. Since JMS is a well-established technology, we propose to extend JMS adding group communication primitives to it. Foremost, this requires to extend the traditional semantics of group communication in order to take into account various features of JMS, e.g., durable/non-durable subscriptions and persistent/non-persistent messages. The resulting new group communication specification, together with the corresponding API, defines group communication primitives compatible with JMS, that we call JMSGroups. To validate the specification and API we provide a prototype implementation of JMSGroups. As such, we believe it facilitates the acceptance of group communication by a larger community and provides a powerful environment for building fault-tolerant applications

    Decision-making Processes in Community-based Free/Libre Open Source Software-development Teams with Internal Governance: An Extension to Decision-making Theory

    Get PDF
    Community-based free/libre open source software (FLOSS) teams with internal governance constitute an extreme example of distributed teams, prominent in software development. At the core of distributed team success lies team decision making and execution. However, in FLOSS teams, one might expect the lack of formal organizational structures to guide practices and reliance on asynchronous communication to make decision making problematic. Despite these challenges, many effective FLOSS teams exist. We lack research on how organizations make IS development decisions in general and on FLOSS decision-making models in particular. The decision-making literature on FLOSS teams has focused on the distribution of decision-making power. Therefore, it remains unclear which decision-making theories fit the FLOSS context best or whether we require novel decision-making models. We adopted a process-based perspective to analyze decision making in five community-based FLOSS teams. We identified five different decision-making processes, which indicates that FLOSS teams use multiple processes when making decisions. Decision-making behaviors remained stable across projects even though they required different types of knowledge. We help fill the literature gap about which FLOSS decision mechanisms one can explain using classical decision-making theories. Practically, community and company leaders can use knowledge of these decision processes to develop infrastructure that fits FLOSS decision-making processes

    Negotiating a transcultural place in an English as a lingua franca telecollaboration exchange: a mixed methods approach to the analysis of intercultural communicative competence and third space in an online Community of Practice

    Get PDF
    The study presented in this thesis was designed so as to explore the impact of an ELF (English as a lingua franca) telecollaboration exchange on its participants’ intercultural learning and negotiation of shared spaces and subject positions (Kramsch 2009a). After describing the two groups of students involved in the project - one from the University of Padova (Italy), and one from the University of Innsbruck (Austria) - as well as the tasks, topics and tools that were used to prompt discussion on issues related to culture, identity and representation, the study adopted a mixed methods approach to respond to two research questions. The first of these (RQ1) aimed at searching for evidence of intercultural communicative competence (Byram 1997) in the personal texts that the Italian students had produced over the course of the project: in particular, the primary source of data for this investigation were the participants’ weekly diaries, seen as a valuable and uncontaminated source of information about the students’ feelings and experiences (Pavlenko 2007). The second research question (RQ2) explored the emergence of a transcultural “third space” (Kramsch 1993) among the two groups of participants, as well as the construction of fluid and hybrid subject positions within it. For the purposes of this investigation, all the students’ reflective diaries were taken into account together with their posts to online forums and comments to the exchange activities. Overall, the study presented in this thesis offers a new lens through which to look at the nature of intercultural communicative competence, and provides insights into its strict relationship with third space as it emerges in an online Community of Practice (Lave and Wenger 1991). Furthermore, the study highlights the complexity and variety of subject positions that are activated in online intercultural encounters, and which mirror the transnational and transcultural essence of third space. Finally, the study also suggests the utility of combining qualitative and quantitative research approaches so as to gain deeper and more comprehensive understanding of intercultural learning and negotiating processes
    • 

    corecore