Qos Architectural Patterns for Self-Architecting Software Systems

Total Page:16

File Type:pdf, Size:1020Kb

Qos Architectural Patterns for Self-Architecting Software Systems QoS Architectural Patterns for Self-Architecting Software Systems Daniel A. Menascé, João P. Sousa, Sam Malek, and Hassan Gomaa Department of Computer Science George Mason University Fairfax, VA 22030, USA {menasce,jpsousa,smalek,hgomaa}@gmu.edu ABSTRACT systems, where the architectural decisions made to optimize This paper discusses the automated application of architec- certain features may cause adverse effects in other parts of tural patterns for tuning the quality of service of service- the system. oriented software. The paper first presents an overview of Situated systems present an additional challenge since both prior work in self-architecting, SASSY, and a motivating the specific quality goals and the available means, such as example in the emergency response domain. After sum- service providers, may only become known on the spot, when marizing the heuristic used for self-architecting, the paper the system is needed to address a specific situation. For ex- discusses a number of architectural patterns and the cor- ample, in the emergency response domain, different means responding quantitative models for two concrete aspects of may be employed or given different priorities, e.g., to fight quality of service: availability and response time. A case a threat vs. to evacuate the affected area, depending on the study illustrates the role of patterns in the application of kind of threat and on the number of potential victims. the self-architecting heuristic to the motivating example. Automation is a promising approach to help architects address such challenges. In service-oriented systems, auto- matic service discovery brings scalability and effectiveness Categories and Subject Descriptors to the process of selecting the set of service providers that C.4 [Modeling Techniques]: Experimentation; D.2.11 [Soft- will deliver the preferred Quality of Service (QoS) to the sys- ware Architectures]: Patterns; D.4.8 [Performance]: Sto- tem. Furthermore, once service discovery is automated, it chastic analysis; G.1.6 [Optimization]: Global optimiza- can be supported by a run-time infrastructure thus making tion self-healing and self-adaptation possible [1, 9, 25]. Further improvements to QoS may be achieved by leveraging the automatic generation of service coordinators based on high- General Terms level descriptions of service flow. For example, JOpera au- Performance, Experimentation tomatically tunes coordination parameters, such as thread replication, taking into account system characteristics and Keywords load [23]. Although steps in the right direction, the mechanisms Service-Oriented Architecture, software architectures, auto- above fall short of providing the kinds of QoS improvements nomic computing, quality of service, software optimization, that expert application of architectural patterns can deliver. architecture patterns Work on architectural patterns is well-know in the art [8]. However, this paper is about automated techniques for ap- 1. INTRODUCTION plying QoS architectural patterns. Tuning the architecture of software systems is hard. Once Recent work in self-architecting attempts to bridge that an application’s logic is defined, an architect is concerned gap by automating the application of architectural patterns [5, with choosing architectural styles and patterns that promote 18]. This paper extends prior work in SASSY (Self-Archi- desired system qualities. Unfortunately, choosing a pattern tecting Software SYstems), where the automatic applica- that promotes certain aspects of quality normally has a neg- tion of patterns is informed by QoS goals defined by system ative effect on some other aspects of quality [4, 14]. The task stakeholders [18]. SASSY uses efficient and scalable search of an architect is to make tradeoffs that reflect the priorities heuristics to identify the optimal patterns, making it possi- of stakeholders. This task is especially complex for large ble to perform self-architecting both at system deployment and at run time for purposes of self-adaptation [20]. The contributions of this paper are, first, the analysis of a number of patterns suitable for self-architecting, and second, Permission to make digital or hard copies of all or part of this work for quantitative models to derive the overall QoS of a system personal or classroom use is granted without fee provided that copies are after the application of several such patterns. not made or distributed for profit or commercial advantage and that copies In the remainder of this paper, Sections 2 and 3 respec- bear this notice and the full citation on the first page. To copy otherwise, to tively present an overview of SASSY and a motivating ex- republish, to post on servers or to redistribute to lists, requires prior specific ample in the emergency response domain. Section 4 summa- permission and/or a fee. ICAC’10, June 7–11, 2010, Washington, DC, USA. rizes the self-architecting heuristic, and Section 5 presents Copyright 2010 ACM 978-1-4503-0074-2/10/06 ...$10.00. 195 the patterns currently supported in SASSY and their cor- ity functions and their composition are defined by domain responding QoS models. Section 5 also illustrates the ap- experts in consultation with the system stakeholders. plication of such patterns with a case study, and Section 6 SASSY uses analytical models to derive the end-to-end compares with related work. Finally, Section 7 summarizes QoS attributes, and hence the utility of the system, as func- the main points of this paper. tions expressed in terms of the QoS provided by each service along each SSS (more in Section 5.6). These analytical mod- 2. OVERVIEW OF SASSY els play a key role in the self-architecting process. The self-architecting and re-architecting component auto- SASSY takes optimization of QoS to a level beyond the matically generates a near-optimal System Service Architec- optimal selection of service providers by automatically gen- ture, and maintains that optimality in the face of changes erating a number of candidate architectural patterns to re- detected by the Monitoring Support—self-healing and adap- place each service and searching for the pattern that best tation—and in the face of changes made by users in the SAS serves user-defined QoS goals. and SSS—system evolution. For that, it focuses on a set Broadly, SASSY provides a framework and infrastructure of SSS with greater room for improving their contribution for self-adaptation, self-healing, self-optimization and evolu- to the overall utility. Then it generates variations to the tion of service-oriented software systems. system architecture by replacing each service along an SSS Figure 1 shows the relationships between the top-level with candidate architectural patterns that are functionally components and models used in the SASSY framework. This equivalent but improve some aspect of QoS. Prior work has framework is consistent with the classical monitoring and evaluated the effectiveness and scalability of several heuris- feedback control loop for software self-management (e.g., [17]) tics for generating candidate replacements and searching for and builds on prior work by the authors and others [13, 19]. the optimal architecture [20]. Specifically, starting at the bottom left, the Monitoring Sup- This paper describes the progress made to further improve port component leverages probes on the SOA implementa- the self-architecting process by leveraging knowledge about tion stack and transforms those observations into measures which architectural patterns promote or detract which QoS of QoS at system level via monitoring and gage services. attributes. Observations of service failure and QoS are reflected on the System Service Architecture, at the center, thus keeping the latter consistent with the status of the running system. The Adaptation Support component, at the bottom right, 3. MOTIVATING EXAMPLE manages the operational aspects of effecting changes to the For illustrating our research, we rely on an emergency re- running system based on architectural descriptions of those sponse system intended for use by government agencies to changes. automatically detect, respond, and manage various crises. What is distinctive about SASSY is the self-architecting The system targets SOA enabled smart spaces, which are and re-architecting component and associated models, at the comprised of various types of sensors, such as smoke detec- top of the figure. Service Activity Schemas (SAS) describe tors, fire sprinklers, and cameras. Each sensor exposes its the features and logic of the application and are written by functionality via a discoverable web service, which complies domain experts in a graphical notation similar to Business to the specification of the service type from the domain on- Process Modeling Notation (BPMN) [2] (more in Section 3). tology. The emergency response crew is also equipped with BPMN is too loosely defined and does not have the tight a variety of SOA enabled devices (e.g., PDAs) and plat- semantics and the QoS annotation capabilities as SAS [7]. forms (e.g., fire engines), which allow the crew to communi- In contrast to BPMN, SAS can be annotated with QoS cate their status, coordinate activities, and operate remote goals expressed in the form of utility functions. Utility func- sensors. A system such as this is innately dynamic and in- tions originate in economics and have been extensively used tended to deal with a variety of emergency scenarios. The in autonomic computing to assign a value to the usefulness SAS language provides a suitable method of specifying the of a system based on its attributes (e.g., [1, 25]). For exam- system’s requirements under different emergency conditions ple, a utility function associated with system availability, a (e.g., fire, earthquake, hurricane). SASSY in turn selects might be: the appropriate SAS model based on the situation at hand. Below we describe a SAS model constructed for a fire emer- 0 a < 0.9 gency at a smart building, which is further used in this paper 8 to illustrate self-architecting and QoS analysis in SASSY. UAvailability(a) = < 0.5 0.9 ≤ a < 0.95 (1) 1 0.95 ≤ a < 1 Figure 2a shows a subset of the modeling constructs avail- : able in the SAS language.
Recommended publications
  • Patterns Senior Member of Technical Staff and Pattern Languages Knowledge Systems Corp
    Kyle Brown An Introduction to Patterns Senior Member of Technical Staff and Pattern Languages Knowledge Systems Corp. 4001 Weston Parkway CSC591O Cary, North Carolina 27513-2303 April 7-9, 1997 919-481-4000 Raleigh, NC [email protected] http://www.ksccary.com Copyright (C) 1996, Kyle Brown, Bobby Woolf, and 1 2 Knowledge Systems Corp. All rights reserved. Overview Bobby Woolf Senior Member of Technical Staff O Patterns Knowledge Systems Corp. O Software Patterns 4001 Weston Parkway O Design Patterns Cary, North Carolina 27513-2303 O Architectural Patterns 919-481-4000 O Pattern Catalogs [email protected] O Pattern Languages http://www.ksccary.com 3 4 Patterns -- Why? Patterns -- Why? !@#$ O Learning software development is hard » Lots of new concepts O Must be some way to » Hard to distinguish good communicate better ideas from bad ones » Allow us to concentrate O Languages and on the problem frameworks are very O Patterns can provide the complex answer » Too much to explain » Much of their structure is incidental to our problem 5 6 Patterns -- What? Patterns -- Parts O Patterns are made up of four main parts O What is a pattern? » Title -- the name of the pattern » A solution to a problem in a context » Problem -- a statement of what the pattern solves » A structured way of representing design » Context -- a discussion of the constraints and information in prose and diagrams forces on the problem »A way of communicating design information from an expert to a novice » Solution -- a description of how to solve the problem » Generative:
    [Show full text]
  • Capturing Interactions in Architectural Patterns
    Capturing Interactions in Architectural Patterns Dharmendra K Yadav Rushikesh K Joshi Department of Computer Science and Engineering Department of Computer Science and Engineering Indian Institute of Technology Bombay Indian Institute of Technology Bombay Powai, Mumbai 400076, India Powai, Mumbai 400076, India Email: [email protected] Email: [email protected] TABLE I Abstract—Patterns of software architecture help in describing ASUMMARY OF CCS COMBINATORS structural and functional properties of the system in terms of smaller components. The emphasis of this work is on capturing P rimitives & Descriptions Architectural the aspects of pattern descriptions and the properties of inter- Examples Significance component interactions including non-deterministic behavior. Prefix (.) Action sequence intra-component Through these descriptions we capture structural and behavioral p1.p2 sequential flow specifications as well as properties against which the specifications Summation (+) Nondeterminism choice within a component are verified. The patterns covered in this paper are variants of A1 + A2 Proxy, Chain, MVC, Acceptor-Connector, Publisher-Subscriber Composition (|) Connect matching multiple connected and Dinning Philosopher patterns. While the machines are CCS- A1 | A2 i/o ports in assembly components based, the properties have been described in Modal µ-Calculus. Restriction (\) Hiding ports from Internal The approach serves as a framework for precise architectural A\{p1, k1, ..} further composition features descriptions. Relabeling ([]) Renaming of ports syntactic renaming A[new/old, ..] I. INTRODUCTION In component/connector based architectural descriptions [6], [13], components are primary entities having identities in the represents interface points as ports uses a subset of CSP for system and connectors provide the means for communication it’s formal semantics.
    [Show full text]
  • Wiki As Pattern Language
    Wiki as Pattern Language Ward Cunningham Cunningham and Cunningham, Inc.1 Sustasis Foundation Portland, Oregon Michael W. Mehaffy Faculty of Architecture Delft University of Technology2 Sustasis Foundation Portland, Oregon Abstract We describe the origin of wiki technology, which has become widely influential, and its relationship to the development of pattern languages in software. We show here how the relationship is deeper than previously understood, opening up the possibility of expanded capability for wikis, including a new generation of “federated” wiki. [NOTE TO REVIEWERS: This paper is part first-person history and part theory. The history is given by one of the participants, an original developer of wiki and co-developer of pattern language. The theory points toward future potential of pattern language within a federated, peer-to-peer framework.] 1. Introduction Wiki is today widely established as a kind of website that allows users to quickly and easily share, modify and improve information collaboratively (Leuf and Cunningham, 2001). It is described on Wikipedia – perhaps its best known example – as “a website which allows its users to add, modify, or delete its content via a web browser usually using a simplified markup language or a rich-text editor” (Wikipedia, 2013). Wiki is so well established, in fact, that a Google search engine result for the term displays approximately 1.25 billion page “hits”, or pages on the World Wide Web that include this term somewhere within their text (Google, 2013a). Along with this growth, the definition of what constitutes a “wiki” has broadened since its introduction in 1995. Consider the example of WikiLeaks, where editable content would defeat the purpose of the site.
    [Show full text]
  • Enterprise Integration Patterns Introduction
    Enterprise Integration Patterns Gregor Hohpe Sr. Architect, ThoughtWorks [email protected] July 23, 2002 Introduction Integration of applications and business processes is a top priority for many enterprises today. Requirements for improved customer service or self-service, rapidly changing business environments and support for mergers and acquisitions are major drivers for increased integration between existing “stovepipe” systems. Very few new business applications are being developed or deployed without a major focus on integration, essentially making integratability a defining quality of enterprise applications. Many different tools and technologies are available in the marketplace to address the inevitable complexities of integrating disparate systems. Enterprise Application Integration (EAI) tool suites offer proprietary messaging mechanisms, enriched with powerful tools for metadata management, visual editing of data transformations and a series of adapters for various popular business applications. Newer technologies such as the JMS specification and Web Services standards have intensified the focus on integration technologies and best practices. Architecting an integration solution is a complex task. There are many conflicting drivers and even more possible ‘right’ solutions. Whether the architecture was in fact a good choice usually is not known until many months or even years later, when inevitable changes and additions put the original architecture to test. There is no cookbook for enterprise integration solutions. Most integration vendors provide methodologies and best practices, but these instructions tend to be very much geared towards the vendor-provided tool set and often lack treatment of the bigger picture, including underlying guidelines and principles. As a result, successful enterprise integration architects tend to be few and far in between and have usually acquired their knowledge the hard way.
    [Show full text]
  • A Survey of Architectural Styles.V4
    Survey of Architectural Styles Alexander Bird, Bianca Esguerra, Jack Li Liu, Vergil Marana, Jack Kha Nguyen, Neil Oluwagbeminiyi Okikiolu, Navid Pourmantaz Department of Software Engineering University of Calgary Calgary, Canada Abstract— In software engineering, an architectural style is a and implementation; the capabilities and experience of highest-level description of an accepted solution to a common developers; and the infrastructure and organizational software problem. This paper describes and compares a selection constraints [30]. These styles are not presented as out-of-the- of nine accepted architectural styles selected by the authors and box solutions, but rather a framework within which a specific applicable in various domains. Each pattern is presented in a software design may be made. If one were to say “that cannot general sense and with a domain example, and then evaluated in be called a layered architecture because the such and such a terms of benefits and drawbacks. Then, the styles are compared layer must communicate with an object other than the layer in a condensed table of advantages and disadvantages which is above and below it” then one would have missed the point of useful both as a summary of the architectural styles as well as a architectural styles and design patterns. They are not intended tool for selecting a style to apply to a particular project. The to be definitive and final, but rather suggestive and a starting paper is written to accomplish the following purposes: (1) to give readers a general sense of several architectural styles and when point, not to be used as a rule book but rather a source of and when not to apply them, (2) to facilitate software system inspiration.
    [Show full text]
  • Pattern Languages in HCI: a Critical Review
    HUMAN–COMPUTER INTERACTION, 2006, Volume 21, pp. 49–102 Copyright © 2006, Lawrence Erlbaum Associates, Inc. Pattern Languages in HCI: A Critical Review Andy Dearden Sheffield Hallam University Janet Finlay Leeds Metropolitan University ABSTRACT This article presents a critical review of patterns and pattern languages in hu- man–computer interaction (HCI). In recent years, patterns and pattern languages have received considerable attention in HCI for their potential as a means for de- veloping and communicating information and knowledge to support good de- sign. This review examines the background to patterns and pattern languages in HCI, and seeks to locate pattern languages in relation to other approaches to in- teraction design. The review explores four key issues: What is a pattern? What is a pattern language? How are patterns and pattern languages used? and How are values reflected in the pattern-based approach to design? Following on from the review, a future research agenda is proposed for patterns and pattern languages in HCI. Andy Dearden is an interaction designer with an interest in knowledge sharing and communication in software development. He is a senior lecturer in the Com- munication and Computing Research Centre at Sheffield Hallam University. Janet Finlay is a usability researcher with an interest in design communication and systems evaluation. She is Professor of Interactive Systems in Innovation North at Leeds Metropolitan University. 50 DEARDEN AND FINLAY CONTENTS 1. INTRODUCTION 2. THE SCOPE OF THIS REVIEW 2.1. General Software Design Patterns 2.2. Interface Software Design Patterns 2.3. Interaction Design Patterns 3. A SHORT HISTORY OF PATTERNS 3.1.
    [Show full text]
  • The Origins of Pattern Theory the Future of the Theory, and the Generation of a Living World
    THE ORIGINS OF PATTERN THEORY THE FUTURE OF THE THEORY, AND THE GENERATION OF A LIVING WORLD Christopher Alexander Introduction by James O. Coplien nce in a great while, a great idea makes it across the boundary of one discipline to take root in another. The adoption of Christopher O Alexander’s patterns by the software community is one such event. Alexander both commands respect and inspires controversy in his own discipline; he is the author of several books with long-running publication records, the first recipient of the AIA Gold Medal for Research, a member of the Swedish Royal Academy since 1980, a member of the American Academy of Arts and Sciences, recipient of dozens of awards and honors including the Best Building in Japan award in 1985, and the American Association of Collegiate Schools of Architecture Distinguished Professor Award. It is odd that his ideas should have found a home in software, a discipline that deals not with timbers and tiles but with pure thought stuff, and with ephemeral and weightless products called programs. The software community embraced the pattern vision for its relevance to problems that had long plagued software design in general and object-oriented design in particular. September/October 1999 IEEE Software 71 Focusing on objects had caused us to lose the pattern discipline that the software community has system perspective. Preoccupation with design yet scarcely touched: the moral imperative to build method had caused us to lose the human perspec- whole systems that contribute powerfully to the tive. The curious parallels between Alexander’s quality of life, as we recognize and rise to the re- world of buildings and our world of software con- sponsibility that accompanies our position of influ- struction helped the ideas to take root and thrive in ence in the world.
    [Show full text]
  • Understanding Architectural Assets
    ® IBM Software Group Understanding Architectural Assets Peter Eeles [email protected] © 2008 IBM Corporation IBM Software Group | Rational software Agenda Introduction Sources of architecture Types of architectural asset Characterizing architectural assets Automating asset reuse Conclusion 2 IBM Software Group | Rational software Inputs into this Presentation Working IEEE/IFIP Conference on Software Architecture (WICSA) 2008 18 – 22 February 2008, Vancouver, BC, Canada Working session: Architectural Knowledge IBM Asset Architecture Board Reusable Asset Specification Rational Asset Manager RUP for Asset-based Development © 2006 Tourism Vancouver 3 IBM Software Group | Rational software Agenda Introduction Sources of architecture Types of architectural asset Characterizing architectural assets Automating asset reuse Conclusion 4 IBM Software Group | Rational software Sources of Architecture Theft From a previous system or from technical literature Method An approach to deriving the architecture from the requirements Intuition The experience of the architect From “Mommy, Where Do Software Architectures Come From?”, Philippe Kruchten 1st International Workshop on Architectures for Software Systems, Seattle, 1995 5 IBM Software Group | Rational software Agenda Introduction Sources of architecture Types of architectural asset Characterizing architectural assets Automating asset reuse Conclusion 6 IBM Software Group | Rational software What Types of Architectural Asset are there? Reference Design Architecture
    [Show full text]
  • Patterns-Of-Enterprise-Application-Architecture-Book.Pdf
    Patterns Of Enterprise Application Architecture Book incorrigiblyNoe foxtrots and slantwise metricised as illaudable her worts. Allen Microporous revivify her and jennets tierced lowe Bishop conscientiously. committed her Torrance bulgur overexposes often wons antiseptically smash or uncanonizing when hydroptic thereby, Odell is misspokeSly synodal? Can be done, domain of architecture patterns of enterprise application mentioned in order We use a very useful not to enterprise application development time you will. Kami melawan kejahatan cybee, many architectural style house is done on what constitutes the enterprises use. Recipient email address and how oop and active record. Please enter with different password. How to pee whether two groups of sequences are holding in cycles? Patterns of Enterprise Application Architecture Addison-Wesley Signature Series Fowler English Edition eBook Martin Fowler Amazonde Kindle Store. Patterns of Enterprise Application Architecture Buy Patterns of. You need to patterns book if so that pattern covered by flipkart store? In possible new book noted software engineering expert Martin Fowler turns his bullshit to enterprise application development He helps professionals understand the. Enterprise application architectures application architecture martin fowler presents the books is a new avenues of the majority of new to. What constitutes the patterns of the actual ha surgido un centro de que quien esté detras del computador sea una calificación general books. This site uses Akismet to reduce spam. Product architecture book takes the application architectures application controller is mainly about topping up the patterns are done only storage facilities, uber and shipped by handing it. Exclusive store state in this book is to delete this time and receive notifications of volunteers worked and system that you have the application.
    [Show full text]
  • The Patterns of Architecture/T3xture
    THE PATTERNS OF ARCHITECTURE NIKOS A. SALINGAROS Published in Lynda Burke, Randy Sovich, and Craig Purcell, Editors: T3XTURE No. 3, CreateSpace Independent Publishing Platform, 2016, pages 7-24. EDITORS’ INTRODUCTION Pattern theory has not as yet transformed architectural practice—despite the acclaim for A Pattern Language, 1 Christopher Alexander’s book, which introduced and substantiated the theory. However, it has generated a great amount of far-ranging, supportive scholarship. In this essay Nikos Salingaros expands the scope of the pattern types under consideration, and explicates some of the mathematical, scientific and humanistic justification for the pattern approach. The author also argues for the manifest superiority of the pattern approach to design over Modernist and contemporary theories of the last one hundred years. To a great extent Dr. Salingaros’s conviction rests on the process and goals of the pattern language method which have as their basis the fundamental realities of the natural world: the mathematics of nature (many that have been studied since the beginning of human history); the process of organic development; and the ideal structural environment for human activity. For Salingaros, Alexander, et al. aesthetics in Architecture derive from these principles rather than from notions of style or artistic inspiration. AUTHOR’S INTRODUCTION — KEY PATTERN CONCEPTS Pattern. A pattern is a discovered organization of space, and also a coherent merging of geometry with human actions. In common usage “pattern” has an expansive definition. In Architecture “pattern” often equates with “solution”. In any discussion of architectural pattern theory the word “pattern” itself is used repeatedly, often with reference to somewhat different concepts.
    [Show full text]
  • Software Architectural Support for Tangible User Interfaces In
    Louisiana State University LSU Digital Commons LSU Doctoral Dissertations Graduate School 2012 Software architectural support for tangible user interfaces in distributed, heterogeneous computing environments Cornelius Toole Louisiana State University and Agricultural and Mechanical College, [email protected] Follow this and additional works at: https://digitalcommons.lsu.edu/gradschool_dissertations Part of the Computer Sciences Commons Recommended Citation Toole, Cornelius, "Software architectural support for tangible user interfaces in distributed, heterogeneous computing environments" (2012). LSU Doctoral Dissertations. 932. https://digitalcommons.lsu.edu/gradschool_dissertations/932 This Dissertation is brought to you for free and open access by the Graduate School at LSU Digital Commons. It has been accepted for inclusion in LSU Doctoral Dissertations by an authorized graduate school editor of LSU Digital Commons. For more information, please [email protected]. SOFTWARE ARCHITECTURAL SUPPORT FOR TANGIBLE USER INTERFACES IN DISTRIBUTED, HETEROGENEOUS COMPUTING ENVIRONMENTS A Dissertation Submitted to the Graduate Faculty of the Louisiana State University and Agricultural and Mechanical College in partial fulfillment of the requirements for the degree of Doctor of Philosophy in The Department of Computer Science by Cornelius Toole, Jr. B.S. Computer Science, Jackson State University, 2003 M.S. Computer Science, Jackson State University, 2005 August 2012 Acknowledgments Despite the solitary nature of doctoral studies, this dissertation would not have been possible without the support of my advisor, family, friends and colleagues. Thanks to my committee, Professors Brygg Ullmer, Gabrielle Allen and Bijaya Karki for advising me throughout this process. A special thanks goes to my advisor, Professor Brygg Ullmer, for supporting my research at Louisiana State University. He was very instrumental in my coming to the University for doctoral studies and has shown remarkable zeal in supporting my research interests.
    [Show full text]
  • Peer: an Architectural Pattern∗
    Peer: an Architectural Pattern∗ M. Amoretti, M. Reggiani, F. Zanichelli, G. Conte Distributed Systems Group Dipartimento di Ingegneria dell’Informazione Parco Area delle Scienze, 181A, I-43100, Parma, Italy {amoretti, reggiani, mczane, conte}@ce.unipr.it Abstract Virtual Organizations (VOs) are transitory communities made of individuals and insti- tutions coupled together by advanced communications technologies. Today’s VOs are more and more demanding in terms of efficiency and flexibility of the technological infrastructure. Envisioning VOs in which all participants are both resource providers and consumers, in a peer-to-peer fashion, seems to be an appropriate solution. This paper proposes a structure for programmed elements, i.e. Peers, sharing resources through a peer-to-peer network. Publishing and discovery of resource provision services are managed by the routing and communication modules. The first one creates publication/query messages and computes their destination, which is then used by the communication service to transport the message to the destination Peer. Intent The Peer pattern enables Virtual Organizations whose participants collaborate to deploy, pub- lish, discover, and consume heterogeneous resources (CPU, storage, bandwidth, applications). Example Community support systems is gaining more and more attention in application areas ranging from leisure and customer support to knowledge management. ICT, in particular, is becoming of paramount importance for the so-called Informal Learning, which includes all the activities taking place outside classes and course that aim at understanding, creation of knowledge, and skills acquisition. Several universities around the world have already deployed or are experimenting solutions for course content distribution over their TCP/IP wired/wireless networks and the Internet.
    [Show full text]