Abstract High Performance Xpath Evaluation

Total Page:16

File Type:pdf, Size:1020Kb

Abstract High Performance Xpath Evaluation ABSTRACT Title of dissertation: HIGH PERFORMANCE XPATH EVALUATION IN XML STREAMS Feng Peng, Doctor of Philosophy, 2006 Dissertation directed by: Professor Sudarshan S. Chawathe Department of Computer Science This thesis presents methods for efficiently evaluating structural queries over tree-structured data streams. A data stream usually consists of a sequence of items that arrive in an order determined by the source. An application that uses such data cannot revisit an earlier item in the stream unless it buffers the item itself. Naive buffering methods are not practical due to the high throughput and indefinite length of data streams. Compared with the flat, relational-like data model for data streams that has received recent attention, processing a tree-structured XML data stream poses additional challenges, since a data item cannot, in general, be interpreted without taking structural information into account. In this thesis, we focus on the evaluation of XPath queries on streaming XML. As a W3C standard, XPath has become a core XML technology not only as a standalone query language but also as the foundation of XQuery and XSLT. Features such as subqueries and reverse axes make XPath a powerful query language but they also complicate XPath query processing. We present our work on XSQ, a streaming XPath query engine. Our methods are based on a novel segment-based evaluation scheme. XSQ uses very little memory and is able to process unbounded and unsegmented streaming data because it does not build a DOM tree in memory. It also provides high throughput by only processing the relevant portions of the data and low response time by returning results as early as possible. XSQ is the first streaming system to support complex XPath features such as multiple predicates, closure axes, aggregations, reverse axes, and subqueries. We also describe our work on XPaSS, an XPath-based publish-subscribe sys- tem that simultaneously evaluates a large number of XPath queries over XML streams. Unlike other similar systems that filter pre-segmented documents as results, XPaSS returns only the precisely delineated data specified by a user query. It uses a segment-sharing scheme instead of prefix- and suffix-sharing that are commonly used. In our experiments, XPaSS supports up to one million XPath subscriptions using a modest PC-class server, with a throughput comparable to that of the simpler filtering systems. HIGH PERFORMANCE XPATH EVALUATION IN XML STREAMS by Feng Peng Dissertation submitted to the Faculty of the Graduate School of the University of Maryland, College Park in partial fulfillment of the requirements for the degree of Doctor of Philosophy 2006 Advisory Committee: Professor Sudarshan S. Chawathe, Chair/Advisor Professor Samrat Bhattacharjee Professor Samir Khuller Professor Nick Roussopoulos Professor Martin Dresner c Copyright by Feng Peng 2006 DEDICATION I would like to dedicate the dissertation to my family: my father, Zailiang Peng, my mother, Chunjin Liu, and my wife, Xin Lei. Without their love and support, there is no way I could have complished this. ii ACKNOWLEDGMENTS I would like to thank my advisor, Dr. Chawathe. It is really fortunate for me to have the opportunity to work with Dr. Chawathe. Looking back at the last four years, I realize how much I have learned from him. I would like to thank Dr. Samir and Dr. Bhattacharjee, for their continuous consideration and help during my study in Maryland. I would like to thank Dr. Rossopoulos, who taught my first database course here. It definitely triggered my interests in database research and led my way into the area. Last but not least, I would like to thank Dr. Dresner for taking the time to meet me and agree to be in my committee. iii TABLE OF CONTENTS List of Figures vii 1 Introduction 1 1.1 Streaming XML . 1 1.2 Streaming XPath Evaluation . 4 1.2.1 Join- and Navigation-based XPath Evaluation . 7 1.2.2 Streaming Evaluation Scenarios . 8 1.3 Challenges . 12 1.3.1 Querying Instead of Filtering . 12 1.3.2 Recursive Subqueries . 14 1.3.3 Reverse Axes . 15 1.3.4 Multiple Query Evaluation . 17 1.3.5 More Challenges . 18 1.4 Contributions . 18 2 Related Work 22 2.1 XPath filtering . 22 2.2 Streaming XML Queries . 25 2.3 XML Querying and Transformation . 28 2.4 Theoretical Researches on XPath . 30 2.5 Data Streams Management Systems . 32 2.6 Streaming Algorithms . 35 3 Preliminaries 38 3.1 Data Model for XML . 38 3.2 Data Model for XML Streams . 39 3.3 XPath . 41 3.3.1 XPath Semantics . 42 3.3.2 Predicates in XPath . 44 3.3.3 XPath Examples . 45 4 XPath Queries with Closures, Predicates, and Aggregations 47 4.1 Introduction . 47 4.2 Compiling XPath Queries . 53 4.2.1 HPDT . 53 4.2.2 Templates for BPDT . 59 4.2.3 Building HPDTs from XPath Queries . 62 4.2.4 Aggregations . 66 4.3 Runtime Engine . 67 4.3.1 Matching Records . 68 4.3.2 Buffer Operations . 72 4.3.3 Correctness . 75 4.3.4 Implementation . 78 iv 4.3.5 Complexity . 81 4.4 Experimental Evaluation . 83 4.4.1 Experimental Setup . 84 4.4.2 Throughput . 87 4.4.3 Latency . 90 4.4.4 Memory Usage . 95 4.4.5 Characterizing the XPath Processors . 98 4.4.6 Characterizing XSQ-F . 101 5 Segment-based Streaming XPath Evaluation 108 5.1 Segments . 108 5.2 XPath Query Tree . 111 5.3 Matchings . 114 6 XPath Query with Subqueries 117 6.1 Introduction . 117 6.2 Motivating Examples . 119 6.3 Evaluation Algorithm . 121 6.3.1 A Main-memory Method . 122 6.3.2 Streaming Evaluation Algorithm . 127 6.3.3 A Threaded Stack . 133 6.3.4 A Two-Flag marking Scheme . 135 6.4 A Comprehensive Example . 139 6.5 Performance Evaluation . 143 6.5.1 Experimental Setup . 143 6.5.2 Evaluating Subqueries . 148 6.5.3 Simple Queries on Main-memory Datasets . 153 6.5.4 Simple Queries on Large Datasets . 157 6.5.5 Processing Boolean Operators . 158 6.5.6 Output Latency . 162 7 XPath Queries with Reverse Axes 164 7.1 Introduction . 164 7.2 Single-step Normal Form . 167 7.3 Streaming Evaluation Algorithm . 170 7.3.1 Dependency Between Elements . 170 7.3.2 Hierarchical Index . 172 7.3.3 Create HIndex Dynamically . 176 7.4 Performance Evaluation . 178 7.4.1 Experiment Setup . 178 7.4.2 Simple Queries . 181 7.4.3 Complex Queries . 184 7.4.4 Number of Reverse Axes . 186 v 8 An XPath Subscription Server 190 8.1 Introduction . 190 8.2 Segment-based Evaluation . 196 8.2.1 Partial Information of Matching . 197 8.2.2 Data Structures . 198 8.2.3 Streaming Evaluation . 199 8.3 Segment-based Grouping . 206 8.3.1 Compile Time . 206 8.3.2 Runtime . 207 8.3.3 Complexities . 213 8.3.4 A Running Example . 214 8.3.5 Implementation . 215 8.4 Performance Evaluation . 218 8.4.1 Setup . 218 8.4.2 Scalability . 221 8.4.3 Varying Dataset . 224 8.4.4 Varying Query Features . 225 8.5 Conclusion . 231 9 Future Work 233 9.1 Schema-based Runtime Optimization . 233 9.2 Streaming XQuery Evaluation . 235 10 Conclusion 238 Bibliography 241 vi LIST OF FIGURES 1.1 Example XML data . 3 1.2 Sequence of SAX events . 3 1.3 The DOM tree for the data in Figure 1.1 . 5 1.4 An example of an RSS2.0 feed . 9 1.5 The DAG pattern specified by an XPath query . 13 1.6 Screenshot of XSQ displaying a HPDT . 19 3.1 Sample XML Stream . 39 3.2 The DOM tree for the data in Figure 3.1 . 40 4.1 Input Fragment 2 . 48 4.2 EBNF for an XPath Subset . 49 4.3 A Sample HPDT . 56 4.4 Template BPDT for: /n[@a = v] . ..
Recommended publications
  • Easy As Abc: Categorizing Open Source Licenses
    EASY AS ABC: CATEGORIZING OPEN SOURCE LICENSES Andrew T. Pham1, Matthew B. Weinstein2, Jamie L. Ryerson3 With more than 180,000 open source projects available and its more than 1400 unique licenses, the complexity of deciding how to manage open source usage within “closed-source” commercial enterprises have dramatically increased.4 Because of the complexity and risks associated with open source—where source code is made freely available for all to review, edit, and use—many closed-source commercial enterprises discourage or prohibit use of open source; a common and short-sighted practice. With a proper open source management framework, open source can be an invaluable resource, and its risks can be understood, managed and controlled. This article proposes a simple, consistent and effective open source categorization and management system to enable a peaceful coexistence between open source and closed-source codes. Free and open source software (“FOSS” or collectively “open source”) is a valuable tool, but one that must be understood to be used effectively. The litany of risks associated with use of open source include: having to release a derivative product incorporating open source under the same open source license; incorporating code that infringes a patent; violating an open source license’s attribution requirements; and a lack of warranties and indemnities. Given the extensive investment of time, money and resources that goes into product development, it comes as no This article is an edited version of the original, which dealt not only with categorizing open source licenses but also a wider array of issues associated with implementing an open source policy.
    [Show full text]
  • Going from Python to Guile Scheme a Natural Progression
    Going from Python to Guile Scheme A natural progression Arne Babenhauserheide February 28, 2015 Abstract After 6 years of intense Python-Programming, I am starting into Guile Scheme. And against all my expec- tations, I feel at home. 1 2 The title image is built on Green Tree Python from Michael Gil, licensed under the creativecommons attribution license, and Guile GNU Goatee from Martin Grabmüller, Licensed under GPLv3 or later. This book is licensed as copyleft free culture under the GPLv3 or later. Except for the title image, it is copyright (c) 2014 Arne Babenhauserheide. Contents Contents 3 I My story 7 II Python 11 1 The Strengths of Python 13 1.1 Pseudocode which runs . 13 1.2 One way to do it . 14 1.3 Hackable, but painfully . 15 1.4 Batteries and Bindings . 17 1.5 Scales up . 17 2 Limitations of Python 19 2.1 The warped mind . 19 2.2 Templates condemn a language . 20 3 4 CONTENTS 2.3 Python syntax reached its limits . 21 2.4 Time to free myself . 23 IIIGuile Scheme 25 3 But the (parens)! 29 4 Summary 33 5 Comparing Guile Scheme to the Strengths of Python 35 5.1 Pseudocode . 36 General Pseudocode . 36 Consistency . 37 Pseudocode with loops . 40 Summary . 44 5.2 One way to do it? . 44 5.3 Planned Hackablility, but hard to discover. 50 Accessing variables inside modules . 51 Runtime Self-Introspection . 51 freedom: changing the syntax is the same as reg- ular programming . 58 Discovering starting points for hacking . 60 5.4 Batteries and Bindings: FFI .
    [Show full text]
  • An Introduction to Software Licensing
    An Introduction to Software Licensing James Willenbring Software Engineering and Research Department Center for Computing Research Sandia National Laboratories David Bernholdt Oak Ridge National Laboratory Please open the Q&A Google Doc so that I can ask you Michael Heroux some questions! Sandia National Laboratories http://bit.ly/IDEAS-licensing ATPESC 2019 Q Center, St. Charles, IL (USA) (And you’re welcome to ask See slide 2 for 8 August 2019 license details me questions too) exascaleproject.org Disclaimers, license, citation, and acknowledgements Disclaimers • This is not legal advice (TINLA). Consult with true experts before making any consequential decisions • Copyright laws differ by country. Some info may be US-centric License and Citation • This work is licensed under a Creative Commons Attribution 4.0 International License (CC BY 4.0). • Requested citation: James Willenbring, David Bernholdt and Michael Heroux, An Introduction to Software Licensing, tutorial, in Argonne Training Program on Extreme-Scale Computing (ATPESC) 2019. • An earlier presentation is archived at https://ideas-productivity.org/events/hpc-best-practices-webinars/#webinar024 Acknowledgements • This work was supported by the U.S. Department of Energy Office of Science, Office of Advanced Scientific Computing Research (ASCR), and by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration. • This work was performed in part at the Oak Ridge National Laboratory, which is managed by UT-Battelle, LLC for the U.S. Department of Energy under Contract No. DE-AC05-00OR22725. • This work was performed in part at Sandia National Laboratories.
    [Show full text]
  • Accelerate Your Mobile Apps for Android On
    The Developer Summit at ARM® TechCon™ 2013 Accelerate your Mobile Apps and Games for Android™ on ARM Matthew Du Puy! Software Engineer, ARM The Developer Summit at ARM® TechCon™ 2013 Presenter Matthew Du Puy! Software Engineer, ARM! ! Matthew Du Puy is a software engineer at ARM and is currently working to ensuring mobile app performance on the latest ARM technologies. Previously a self employed embedded systems software contractor working primarily on the Linux Kernel and a mountain climber.! ! Contact Details: ! Email: [email protected] Title: Accelerate Your Mobile Apps and Games for Android on ARM Overview: Learn to perform Android application and systems level analysis on Android apps and platforms using tools from Google, ARM, AT&T and others. Find bottlenecks in both SDK and NDK activities and learn different approaches to fixing those bottlenecks and better utilize platform technologies and APIs. Problem: This is not a desktop ▪ Mobile apps require special design considerations that aren’t always clear and tools to solve increasingly complex systems are limited! ▪ Animations and games drop frames! ▪ Networking, display, real time audio and video processing eat battery! ▪ App won’t fit in memory constraints Analysis ▪ Fortunately Google, ARM and many others are developing analysis tools and solutions to these problems! ▪ Is my app … ?! ▪ CPU/GPGPU bound! ▪ I/O or memory constrained! ▪ Power efficient! ▪ What can I do to fix it?# (short of buying everyone who runs my app# a Quad-core ARM® Cortex™-A15 processor # & ARM Mali™-T604 processor or Octo phone) In emerging markets, not everyone has access to the latest and greatest devices but they still want to game, shop, socialize and learn with their mobiles.
    [Show full text]
  • Encouragez Les Framabooks !
    Encouragez les Framabooks ! You can use Unglue.it to help to thank the creators for making Histoires et cultures du Libre. Des logiciels partagés aux licences échangées free. The amount is up to you. Click here to thank the creators Sous la direction de : Camille Paloque-Berges, Christophe Masutti Histoires et cultures du Libre Des logiciels partagés aux licences échangées II Framasoft a été créé en novembre 2001 par Alexis Kauffmann. En janvier 2004 une asso- ciation éponyme a vu le jour pour soutenir le développement du réseau. Pour plus d’infor- mation sur Framasoft, consulter http://www.framasoft.org. Se démarquant de l’édition classique, les Framabooks sont dits « livres libres » parce qu’ils sont placés sous une licence qui permet au lecteur de disposer des mêmes libertés qu’un utilisateur de logiciels libres. Les Framabooks s’inscrivent dans cette culture des biens communs qui, à l’instar de Wikipédia, favorise la création, le partage, la diffusion et l’ap- propriation collective de la connaissance. Le projet Framabook est coordonné par Christophe Masutti. Pour plus d’information, consultez http://framabook.org. Copyright 2013 : Camille Paloque-Berges, Christophe Masutti, Framasoft (coll. Framabook) Histoires et cultures du Libre. Des logiciels partagés aux licences échangées est placé sous licence Creative Commons -By (3.0). Édité avec le concours de l’INRIA et Inno3. ISBN : 978-2-9539187-9-3 Prix : 25 euros Dépôt légal : mai 2013, Framasoft (impr. lulu.com, Raleigh, USA) Pingouins : LL de Mars, Licence Art Libre Couverture : création par Nadège Dauvergne, Licence CC-By Mise en page avec LATEX Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution 2.0 France.
    [Show full text]
  • The Copyleft Paradox Open Source Compatibility Issues and Legal Risks
    Central IP Service the copyleft paradox open source compatibility issues and legal risks Brussels, 30/09/2015 Stefano GENTILE EC.JRC Central IP Service contents 2 open source philosophy characteristics of copyleft compatibility between multiple copyleft licences the 'copyleft paradox' examples of incompatible licences legal risks related to the use of OSS case law: a word from US disputes enforcement instruments conclusions Central IP Service open source philosophy 3 OPEN use copyright to SOURCE use accessnot just copy to source modify code distribute essential […] for society as a whole because they promote social solidarity—that is, . (gnu.org) Central IP Service copyleft rationale 4 COPYLEFT source code method © merged c pyleftconceived licence with static link effect effects on dynamic link downstream distribution of derivativeworks Central IP Service copyleft paradox 5 COPYLEFT copyleft proliferation ☣ incompatible viral terms good code mishmash practice goneviruses respecting one licence would bad result: defeats devised to forbid restrictions to sharing the very results in creating purpose “ ” of copyleft Central IP Service examples 6 source bsd COPYLEFT lgpl OSS licence type non-copyleft source weak copyleft mixing strong copyleft lgpl copyleft flexible copyleft with your own gpl source available transfer instr. lgpl any partly copyleft gpl source eupl copyleft none lgpl gpl source eupl epl Central IP Service cross-compatibility 7 COPYLEFT note: this is just a 1vs1 licence matrix… Central IP Service legal risks 8 misappropriation (very upsetting) OPEN SOURCE source code is not made available other condition not respected (e.g. incl. copy of the licence) copyleft conflicts commonmost the result is a using open …so, what are the consequences and sourcesoftware what the remedies? Central IP Service open source disputes 9 Jacobsen v.
    [Show full text]
  • Administrative Software Procedure Explained
    Administrative Software Request __________________________________________________________ Description The following outlines the procedural steps necessary to successfully request and have client based software installed on Administrative PC’s in the college. Process 1. Requesting department identifies application need. 2. Requesting department verifies with User Services that current equipment meets minimum requirements for software install and operation. 3. Requesting department purchases software media and necessary licenses to comply with scope of request. 4. Please submit an online request form at the following location http://itservices.tri- c.edu/desktopservices/service-requests.html . 5. User Services verifies licenses and schedules installation. 6. User Services manually installs on identified systems IF Qty = 5 units or less. 7. User Services builds installation package IF Qty > 5 units. 8. User Services works will deploy as appropriate - SCCM, Login Script, etc. (If a larger percentage of clients require usage, User Services will also add to core image) 9. Patches, updates, revisions, and new versions are processed and applied based on critical urgency and by requests as appropriate. Unlicensed Software *No unlicensed software will be installed on any Administrative production client. Approvals The requesting department Supervisor, Director or next level Management approval is required to process any software installation request. Information Technology Services is final approver for all software installation requests. Page 1 of 2 Administrative Software Request __________________________________________________________ ITS User Services Notes regarding Software Licenses) The only type of software that you can use legally without a license is software you write for your own use. All others require some type of license from the author and using any of them without a valid license is illegal as well as taking a risk that you and/or the college may be sued for damages.
    [Show full text]
  • GNU Stow Manual
    Stow 2.3.1 Managing the installation of software packages Bob Glickstein, Zanshin Software, Inc. Kahlil Hodgson, RMIT University, Australia. Guillaume Morin Adam Spiers This manual describes GNU Stow version 2.3.1 (28 July 2019), a program for managing farms of symbolic links. Software and documentation is copyrighted by the following: c 1993, 1994, 1995, 1996 Bob Glickstein <[email protected]> c 2000, 2001 Guillaume Morin <[email protected]> c 2007 Kahlil (Kal) Hodgson <[email protected]> c 2011 Adam Spiers <[email protected]> Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the section enti- tled \GNU General Public License" is included with the modified manual, and provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation. i Table of Contents 1 Introduction::::::::::::::::::::::::::::::::::::: 1 2 Terminology ::::::::::::::::::::::::::::::::::::: 3 3 Invoking Stow ::::::::::::::::::::::::::::::::::: 4 4 Ignore Lists ::::::::::::::::::::::::::::::::::::: 7 4.1 Motivation
    [Show full text]
  • Embedded Operating Systems
    7 Embedded Operating Systems Claudio Scordino1, Errico Guidieri1, Bruno Morelli1, Andrea Marongiu2,3, Giuseppe Tagliavini3 and Paolo Gai1 1Evidence SRL, Italy 2Swiss Federal Institute of Technology in Zurich (ETHZ), Switzerland 3University of Bologna, Italy In this chapter, we will provide a description of existing open-source operating systems (OSs) which have been analyzed with the objective of providing a porting for the reference architecture described in Chapter 2. Among the various possibilities, the ERIKA Enterprise RTOS (Real-Time Operating System) and Linux with preemption patches have been selected. A description of the porting effort on the reference architecture has also been provided. 7.1 Introduction In the past, OSs for high-performance computing (HPC) were based on custom-tailored solutions to fully exploit all performance opportunities of supercomputers. Nowadays, instead, HPC systems are being moved away from in-house OSs to more generic OS solutions like Linux. Such a trend can be observed in the TOP500 list [1] that includes the 500 most powerful supercomputers in the world, in which Linux dominates the competition. In fact, in around 20 years, Linux has been capable of conquering all the TOP500 list from scratch (for the first time in November 2017). Each manufacturer, however, still implements specific changes to the Linux OS to better exploit specific computer hardware features. This is especially true in the case of computing nodes in which lightweight kernels are used to speed up the computation. 173 174 Embedded Operating Systems Figure 7.1 Number of Linux-based supercomputers in the TOP500 list. Linux is a full-featured OS, originally designed to be used in server or desktop environments.
    [Show full text]
  • CLE Materials
    Software Freedom Law Center Fall Conference at Columbia Law School CLE materials October 30, 2015 License Compliance Dispute Resolution Software Freedom Law Center October 30, 2015 1) Software Freedom Law Center: Guide to GPL Compliance 2nd Edition 2) Free Software Foundation: Principles for Community-Oriented GPL Enforcement 3) Terry J. Ilardi: FOSS Compliance @ IBM 15 Years (and count- ing) Software Freedom Law Center Guide to GPL Compliance 2nd Edition Eben Moglen & Mishi Choudhary October 31, 2014 Contents TheWhat,WhyandHowofGNUGPL . 3 CopyrightandCopyleft . 4 Concepts and License Mechanics of Copyleft. 6 LicenseProvisionsAnalyzed. 10 GPLv2............................... 10 GPLv3............................... 18 GPLSpecialExceptionLicenses . 31 AGPL............................... 31 LGPL ............................... 34 Understanding Your Compliance Responsibilities . 41 WhoHasComplianceObligations? . 41 HowtoMeetComplianceObligations . 43 TheKeytoComplianceisGovernance . 45 PrinciplesofPreparedCompliance . 47 HandlingComplianceInquiries . 48 Appendix1: OfferofSourceCode . 52 References................................ 56 This document presents the legal analysis of the Software Freedom Law Center and the authors. This document does not express the views, intentions, policy, or legal analysis of any SFLC clients or client organizations. This document does not constitute legal advice or opinion regarding any specific factual situation or party. Specific legal advice should always be sought from qualified legal counsel on the application
    [Show full text]
  • The Copyleft Movement: Creative Commons Licensing
    Centre for the Study of Communication and Culture Volume 26 (2007) No. 3 IN THIS ISSUE The Copyleft Movement: Creative Commons Licensing Sharee L. Broussard, MS APR Spring Hill College AQUARTERLY REVIEW OF COMMUNICATION RESEARCH ISSN: 0144-4646 Communication Research Trends Table of Contents Volume 26 (2007) Number 3 http://cscc.scu.edu The Copyleft Movement:Creative Commons Licensing Published four times a year by the Centre for the Study of Communication and Culture (CSCC), sponsored by the 1. Introduction . 3 California Province of the Society of Jesus. 2. Copyright . 3 Copyright 2007. ISSN 0144-4646 3. Protection Activity . 6 4. DRM . 7 Editor: William E. Biernatzki, S.J. 5. Copyleft . 7 Managing Editor: Paul A. Soukup, S.J. 6. Creative Commons . 8 Editorial assistant: Yocupitzia Oseguera 7. Internet Practices Encouraging Creative Commons . 11 Subscription: 8. Pros and Cons . 12 Annual subscription (Vol. 26) US$50 9. Discussion and Conclusion . 13 Payment by check, MasterCard, Visa or US$ preferred. Editor’s Afterword . 14 For payments by MasterCard or Visa, send full account number, expiration date, name on account, and signature. References . 15 Checks and/or International Money Orders (drawn on Book Reviews . 17 USA banks; for non-USA banks, add $10 for handling) should be made payable to Communication Research Journal Report . 37 Trends and sent to the managing editor Paul A. Soukup, S.J. Communication Department In Memoriam Santa Clara University Michael Traber . 41 500 El Camino Real James Halloran . 43 Santa Clara, CA 95053 USA Transfer by wire: Contact the managing editor. Add $10 for handling. Address all correspondence to the managing editor at the address shown above.
    [Show full text]
  • GNU / Linux and Free Software
    GNU / Linux and Free Software GNU / Linux and Free Software An introduction Michael Opdenacker Free Electrons http://free-electrons.com Created with OpenOffice.org 2.x GNU / Linux and Free Software © Copyright 2004-2007, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com Sep 15, 2009 1 Rights to copy Attribution ± ShareAlike 2.5 © Copyright 2004-2007 You are free Free Electrons to copy, distribute, display, and perform the work [email protected] to make derivative works to make commercial use of the work Document sources, updates and translations: Under the following conditions http://free-electrons.com/articles/freesw Attribution. You must give the original author credit. Corrections, suggestions, contributions and Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license translations are welcome! identical to this one. For any reuse or distribution, you must make clear to others the license terms of this work. Any of these conditions can be waived if you get permission from the copyright holder. Your fair use and other rights are in no way affected by the above. License text: http://creativecommons.org/licenses/by-sa/2.5/legalcode GNU / Linux and Free Software © Copyright 2004-2007, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com Sep 15, 2009 2 Contents Unix and its history Free Software licenses and legal issues Free operating systems Successful project highlights Free Software
    [Show full text]