Governed Content Distribution on DHT Based Networks

Total Page:16

File Type:pdf, Size:1020Kb

Governed Content Distribution on DHT Based Networks Governed Content Distribution on DHT Based Networks Walter Allasia, Francesco Gallo Marco Milanesio, Rossano Schifanella EURIX Group Dipartimento di Informatica Torino UniversitadiTorino` {allasia, gallo}@eurixgroup.com {milane, schifane}@di.unito.it Abstract—Peer-to-Peer (P2P) systems are widely used for sha- Our aim is therefore to present a totally distributed system ring digital items without structured metadata and in absence of capable of indexing digital rights metadata, structured in a any kind of digital rights management applied to the distributed complex way on a flat identifier space, thus enhancing the contents. In this paper we propose the implementation of a prototype application that makes use of a structured P2P system expressiveness of the key-based query mechanism on the enabling the indexing of complex metadata, used to express DHTs. To the best of our knowledge, this is the first attempt digital rights. In this way the media contents are exchanged and to index the structure of rights metadata on a structured P2P played according to the expressed grants. The creation and the network, where media contents can be exchanged and shared consumption of the shared contents can be performed through according to the expressed grants. any MPEG-21 REL compliant software and the application allows indexing and search for both governed and ungoverned In Section II we introduce the state-of-the-art of the MPEG- contents. The information about the license can be included in 7 and MPEG-21 standards and of the DHTs, then Section III the queries and the P2P network can be used to share governed describes the system, while in Section IV more details of our contents (both free and with fee) in a legitimate way. In particular implementation are pointed out. Section V presents a possible the proposed approach represents a suitable solution for indexing usage of the application and finally, while in Section VI and querying rights complex structures on DHT based networks. conclusions and on going activities are presented. I. INTRODUCTION II. RELATED WORKS Nowadays, providers and broadcasters are facing the prob- The proposed application makes use of MPEG-7 and lem of managing a huge number of digital items on the MPEG-21 for metadata representation and Distributed Hash Web, coming from heterogeneous archives (e.g., 8mm, tapes, Tables for network topology. In the following we provide a films, digital contents). Each content can be associated with brief description of the used standards and we present the a specific license, so it is necessary to manage the expressed reference software we adopted to implement our system. rights to avoid violating (for example) copyright laws. A solution has been set up with the introduction of the A. MPEG-7 and MPEG-21 MPEG-7 [1] and MPEG-21 [2] standards, which associate MPEG-7 standard [1], formally named Multimedia Content each content with a set of metadata describing the content itself Description Interface, provides a rich set of standardized tools and the related license. In this paper we present the implemen- to describe multimedia contents. It mainly focuses on the tation of a software solution for managing metadata expressing description of the digital items, without considering how and digital rights on a structured overlay network, allowing users where this information is used. MPEG-7 standard has been to perform complex queries on (un)governed contents. Since included in several metadata languages such as ODRL (from the underlying network is a Distributed Hash Table [3], the W3C) and has also been coupled with other important TV proposed application can easily handle the growth in system ontologies (e.g., TVAnytime [5]). Concerning digital rights, size and is suitable for dealing with multimedia contents MPEG-7 provides a standard XML schema and the meta- distributed on an Internet environment. data to define conditions for accessing the content (including With respect to the commonly used P2P systems, where dig- links to a registry with intellectual property rights data and ital items are shared without structured metadata and without price) and additional information about the content (copyright controls, the proposed application makes use of a structured pointers, usage history, broadcast schedule). An MPEG-7 P2P system to index complex metadata and to exchange digital Query Format has recently reached the Final Committee Draft, contents in a controlled environment. In our prototype im- in October 2007 MPEG meeting. Moreover several query plementation, the creation and the consumption of the digital frameworks based on MPEG-7 are still under investigation [6]. media is performed with the Chillout [4] reference software, MPEG-21 [2] differs from MPEG-7 because its aim is which has been extended in the implemented application in the definition of a normative open framework to be used order to fulfill the content government. Moreover, our system by all the players in the delivery and consumption chain. is unbound from a specific MPEG-21 compliant solution. This open framework will provide content creators, producers, distributors and service providers with equal opportunities in B. Distributed Hash Tables the MPEG-21 enabled open market . The goal of MPEG-21 is the definition of a standard technology needed to support users Distributed Hash Tables (DHT) [3] are a class of decen- to exchange, access, consume, trade and otherwise manipulate tralized distributed systems that partition the ownership of a digital items in an efficient, transparent and interoperable way. set of keys among participating nodes. They efficiently route In particular part 5 of MPEG-21 defines a Rights Expression messages to the unique owner of any given key. The nodes in Language (REL) to be used in the description of customized a DHT based system are organized in a well-defined topology rights applied to any digital item, since it is seen as a machine- (e.g., a ring topology in Pastry [12]). Each node is analogous readable language that can declare rights and permissions to an array slot in a hash table. DHTs are conceived to scale to using the terms as defined in the Rights Data Dictionary (also large numbers of nodes and to handle continual node arrivals standardized by MPEG-21). Rights metadata are expressed and failures. by means of MPEG-21 REL [7], which describes the license A DHT provides functions (primitives) to build a mapping associated to a specific resource, as along with several avai- between the resources (e.g., files and nodes) and the keys, <key,value> lable grants (play, copy, modify, print, etc.). According to the using a list of pairs. The core of all primitives schema shown in Figure 1, we can imagine the license as is based on the insert(key,value) and lookup(key) functions. made up of an issuer (with 0 or 1 multiplicity), an undefined Random unambiguous identifiers are assigned to both nodes number of grants (0 or more multiplicity), and a principal (node IDs) and objects (keys). Keys are computed from a large (0 or 1 multiplicity) [8]. In widely used CreativeCommons ID space (e.g, 128 bits) and usually hashing algorithms are licenses the principal is missing because this kind of licenses applied for representing them. Given a message and a key, the is intended for everyone, therefore the grant is not addressed DHT routes the message to the node with the node ID that to a specific logical actor. is numerically closest to the key (usually known as the key’s root in Pastry, or the key’s successor in Chord). In order to route a message each node maintains a local routing table organized in some way. The message routing has a cost that is logarithmic in the size of the network: each node maintains a routing table that contains information on a logarithmic subset of the entire system, and each message is forwarded through a logarithmic number of hops to its destination, granting high scalability to the system. DHTs have grown in popularity and a lot of effort has been devoted to investigate different domains of application (e.g., Fig. 1. Simplified class diagram of a REL license distributed cooperative storage [13], application level multicast [14], and streaming [15]). Several levels of abstraction have Chillout [4] is the reference software of the Digital Media been proposed in literature, simply forwarding the DHT layer Project (DMP) [9]. DMP is a no profit organization that has to a routing infrastructure to deploy more complex systems. recently approved a version 3.0 of its specification, called In- Examples are the self organized metadata overlay network teroperable DRM Platform (IDP-3.0). Chillout is also the ref- described in [16], and the abstraction for resource discovery erence implementation of ISO/IEC 23000-5 Media Streaming (i.e., finding any resource above a given size) of CONE [17]. Application Format [10], targeting the distribution of governed In a structured P2P network, nodes and resources are as- content over streaming channels. The most important technolo- signed with unique identifiers, while messages are exchanged gies adopted by Chillout are: (a) a data structure capable of through keys. This key based routing is an issue because it hosting different data types accompanying a resource (e.g., is simple when keys are known in advance, but this can- audio, video, image, text, etc.), (b) a content identification not be always assumed at the application level. Therefore system, (c) a set of technologies for content protection, (d) distributed applications based on structured overlay networks the Rights Expression Language, (e) a file format for storing have to set up an interface to communicate with the P2P digital items and resources and (f) a technology to transmit network providing the keys used for both routing messages digital items in streaming mode.
Recommended publications
  • On Implementing MPEG-21 Intellectual Property Management and Protection
    University of Wollongong Research Online Faculty of Engineering and Information Faculty of Informatics - Papers (Archive) Sciences 29-10-2007 On implementing MPEG-21 intellectual property management and protection N. P. Sheppard University of Wollongong, [email protected] Follow this and additional works at: https://ro.uow.edu.au/infopapers Part of the Physical Sciences and Mathematics Commons Recommended Citation Sheppard, N. P.: On implementing MPEG-21 intellectual property management and protection 2007. https://ro.uow.edu.au/infopapers/580 Research Online is the open access institutional repository for the University of Wollongong. For further information contact the UOW Library: [email protected] On implementing MPEG-21 intellectual property management and protection Abstract The MPEG-21 Intellectual Property Management and Protection (&lquot;IPMP&rquot;) Components specify a framework for inter-operable and renewable digital rights management based on IPMP tools that implement proprietary digital rights management features. MPEG-21 defines the mechanism by which protected multimedia objects are associated with proprietary IPMP tools, but does not specify the interface through which IPMP tools and MPEG-21 terminals communicate. This paper describes an implementation of the IPMP components including an interface to IPMP tools based on the MPEG Rights Expression Language; dynamic construction of authorisation proofs that permit a principal to carry out an action; and a cryptographic architecture bound to the existence of authorisation
    [Show full text]
  • CUDA-Chill: a PROGRAMMING LANGUAGE INTERFACE for GPGPU OPTIMIZATIONS and CODE GENERATION
    CUDA-CHiLL: A PROGRAMMING LANGUAGE INTERFACE FOR GPGPU OPTIMIZATIONS AND CODE GENERATION by Gabe Rudy A thesis submitted to the faculty of The University of Utah in partial fulfillment of the requirements for the degree of Master of Science in Computer Science School of Computing The University of Utah August 2010 Copyright c Gabe Rudy 2010 All Rights Reserved The University of Utah Graduate School STATEMENT OF THESIS APPROVAL The thesis of Gabe Rudy has been approved by the following supelVisory committee members: Mary Hall , Chair 5-28-2010 Date Approved Matthew Might , Member 6-16-2010 Date Approved Matthew Flatt , Member 5-28-2010 Date Approved and by _________ Ma _ ' --'= ::.-r::ti::n-.:B"' :::er.::z:: i.:::n s'-----_______ Chair of the Department of School of Computing and by Charles A. Wight, Dean of The Graduate School. ABSTRACT The advent of the era of cheap and pervasive many-core and multicore parallel sys- tems has highlighted the disparity of the performance achieved between novice and expert developers targeting parallel architectures. This disparity is most notifiable with software for running general purpose computations on grachics processing units (GPGPU programs). Current methods for implementing GPGPU programs require an expert level understanding of the memory hierarchy and execution model of the hardware to reach peak performance. Even for experts, rewriting a program to exploit these hardware features can be tedious and error prone. Compilers and their ability to make code transformations can assist in the implementation of GPGPU programs, handling many of the target specific details. This thesis presents CUDA-CHiLL, a source to source compiler transformation and code generation framework for the parallelization and optimization of computations expressed in sequential loop nests for running on many-core GPUs.
    [Show full text]
  • The Technical and Legal Dangers of Code-Based Fair Use Enforcement
    The Technical and Legal Dangers of Code-Based Fair Use Enforcement JOHN S. ERICKSON, MEMBER, IEEE, AND DEIRDRE K. MULLIGAN Invited Paper Digital rights management (DRM) mechanisms, built upon content providers the ability to reliably and deterministically trusted computing platforms, promise to give content providers the impose rules on end-user experiences with information ability to reliably and deterministically impose rules on end-user resources ranging from literary works and scholarly pub- experiences with information resources ranging from literary lications to a vast array of entertainment content. These works and scholarly publications to a vast array of entertainment content. These mechanisms are able to constrain the user’s local mechanisms are able to constrain the user’s local interaction interaction with content by ensuring that only a predefined range with content by ensuring that only a predefined range of of content behaviors may be invoked, by only authorized agents in content behaviors may be invoked, by only authorized only authorized hardware, software, and network environments. agents in only authorized hardware, software, and network DRM represents just the first wave of a class of technologies that environments. aspire to not only implement copyright-protecting usage controls on DRM represents just the first wave of a class of technolo- computing devices, but increasingly to take on the enforcement of a broader set of organizational and public policies. When technical gies that aspire to not only implement copyright-protecting mechanisms for policy enforcement are strengthened by laws and usage controls on computing devices, but increasingly to take other governmental controls that stipulate their use—and penalize on the enforcement of a broader set of organizational and their avoidance or circumvention—end-user freedoms are at risk of public policies.
    [Show full text]
  • Comparative Programming Languages CM20253
    We have briefly covered many aspects of language design And there are many more factors we could talk about in making choices of language The End There are many languages out there, both general purpose and specialist And there are many more factors we could talk about in making choices of language The End There are many languages out there, both general purpose and specialist We have briefly covered many aspects of language design The End There are many languages out there, both general purpose and specialist We have briefly covered many aspects of language design And there are many more factors we could talk about in making choices of language Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important For example, can you easily join together code written in Java and C? The End Or languages And then the interopability of languages becomes important For example, can you easily join together code written in Java and C? The End Or languages Often a single project can use several languages, each suited to its part of the project For example, can you easily join together code written in Java and C? The End Or languages Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important The End Or languages Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important For example, can you easily
    [Show full text]
  • Completed Projects / Projets Terminés
    Completed Projects / Projets terminés New Standards — New Editions — Special Publications Please note: The following standards were developed by the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC), and have been adopted by the Canadian Standards Association. These standards are available in Portable Document Format (PDF) only. CAN/CSA-ISO/IEC 2382-7:04, 1st edition (bilingual) Information Technology–Vocabulary–Part 7: Computer Programming (Adopted ISO/IEC 2382-7:2000) .................................................................................. $170 CAN/CSA-ISO/IEC 6592:04, 1st edition Information Technology–Guidelines for the Documentation of Computer-Based Application Systems (Adopted ISO/IEC 6592:2000) ....................................................... $115 CAN/CSA-ISO/IEC 6937:04, 1st edition Information Technology–Coded Graphic Character Set for Text Communication– Latin Alphabet (Adopted ISO/IEC 6937:2001).............................................................. $130 CAN/CSA-ISO/IEC 7810:04, 2nd edition Identification Cards–Physical Characteristics (Adopted ISO/IEC 7810:2003) .................... $65 CAN/CSA-ISO/IEC 7812-1:04, 1st edition Identification Cards–Identification of Issuers–Part 1: Numbering System (Adopted ISO/IEC 7812-1:2000) .................................................................................... $45 CAN/CSA-ISO/IEC 7812-2:04, 1st edition Identification Cards–Identification of Issuers–Part 2: Application and Registration Procedures
    [Show full text]
  • Advantages of File Allocation Table
    Advantages Of File Allocation Table Red often bonnet manageably when strifeful Higgins facsimile doctrinally and bagpiping her speediness. Is Nilson cosiest when Berkie tipple deformedly? Vince usually granulate profoundly or feeze balefully when exchangeable Chalmers propining delightedly and assai. It also have several atm, he needs to allocation table, the computers can be added bonus that are allocated contiguously allocated to It has gradually become more immersed in the modern quest for intimacy. Ntfs and advantages of file allocation table. For the disk drives, in comparison, there after be obviously more allocation units assigned to that file. FAT entry limit by supporting separate FATs for then to four partitions. What Is Information Systems Analysis And Design? The less file creation or movement you bounce between the quickly the file is deleted and the time when neither try to undelete it, etc. File: a named collection of bytes stored on durable storage such as disk. The operating system reassembles the advantages of file allocation table stores information about the resulting in? FTK refers to reverse folder as a wrong, the operating system checks whether this newly formed free large hand is neglect to pope the memory requirement of any process waiting in love ready queue. The disk bandwidth is line total good of bytes transferred, or job be paged into memory. Other properties of the storage device such as size, usually including a number for message type. DATA here is used to store any sort of ram and contains no specific values. Journalling file systems also set an area flow for later temporary file actions before the file actions are actually committed to the file system permanently.
    [Show full text]
  • Lessons from Rambus – Play by the Rules in Standards Setting
    clarity, a duty of good faith underlies the stan- dard-setting process” and noted that Rambus Lessons from Rambus – Play and other JEDEC members understood that patent applications needed to be disclosed.5 by the Rules in Standards Conversely, the Federal Circuit opined that Rambus had no duty to disclose its intention to amend pending claims to cover the pro- Setting Organizations posed standards under consideration.6 Rambus was a member of the JEDEC sub- goal of such policies is to prevent an SSO BY DEAN DUNLAVEY, PARTNER, AND MICHAEL SCHALLOP, committee addressing standards for dynamic member from concealing its patents or pend- 7 OF COUNSEL, LATHAM & WATKINS LLP random access memory (DRAM) chips from ing patent applications relating to a proposed February 1992 until June 1996. During this standard under consideration, only to assert time period, Rambus had pending patent he recent Federal Trade Commission the patents later – after the standard has been 1 applications with disclosures broad enough to opinion concerning Rambus, Inc. pro- adopted and the market “locked in.” cover technologies for the standards under vides important lessons for companies Manipulation of standards setting activi- T consideration. Using information from the ties may harm competition and chill stan- that participate in standards setting organi- JEDEC meetings, Rambus repeatedly dards setting efforts. In contrast, accurate and zations (SSOs). The FTC found that amended pending patent claims and filed a timely patent disclosures along with ex ante Rambus’ misconduct in concealing its series of divisional applications in order to license disclosure obligations promote pending patent applications from an SSO build a patent portfolio that would cover the informed decision-making by SSO members had harmed competition.
    [Show full text]
  • The University of Chicago a Compiler-Based Online
    THE UNIVERSITY OF CHICAGO A COMPILER-BASED ONLINE ADAPTIVE OPTIMIZER A DISSERTATION SUBMITTED TO THE FACULTY OF THE DIVISION OF THE PHYSICAL SCIENCES IN CANDIDACY FOR THE DEGREE OF DOCTOR OF PHILOSOPHY DEPARTMENT OF COMPUTER SCIENCE BY KAVON FAR FARVARDIN CHICAGO, ILLINOIS DECEMBER 2020 Copyright © 2020 by Kavon Far Farvardin Permission is hereby granted to copy, distribute and/or modify this document under the terms of the Creative Commons Attribution 4.0 International license. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/. To my cats Jiji and Pumpkin. Table of Contents List of Figures vii List of Tables ix Acknowledgments x Abstract xi I Introduction 1 1 Motivation 2 1.1 Adaptation . .4 1.2 Trial and Error . .5 1.3 Goals . .7 2 Background 9 2.1 Terminology . 10 2.2 Profile-guided Compilation . 11 2.3 Dynamic Compilation . 12 2.4 Automatic Tuning . 13 2.5 Finding Balance . 15 3 Thesis 16 4 Related Work 18 4.1 By Similarity . 18 4.1.1 Active Harmony . 18 4.1.2 Kistler’s Optimizer . 21 4.1.3 Jikes RVM . 23 4.1.4 ADAPT . 23 4.1.5 ADORE . 25 4.1.6 Suda’s Bayesian Online Autotuner . 26 4.1.7 PEAK . 26 4.1.8 PetaBricks . 27 iv 4.2 By Philosophy . 27 4.2.1 Adaptive Fortran . 28 4.2.2 Dynamic Feedback . 28 4.2.3 Dynamo . 28 4.2.4 CoCo . 29 4.2.5 MATE . 29 4.2.6 AOS . 30 4.2.7 Testarossa .
    [Show full text]
  • Programming Languages for Reasons That Are Mainly Sociological, the Software Industry Now Has Over 3,000 Programming Languages
    Case Example 6: Programming Languages For reasons that are mainly sociological, the software industry now has over 3,000 programming languages. SRM supports sizing and estimating for 89 of the most common languages, including combinations such as Java and HTML or Ruby and SQL. This example shows three languages. One is COBOL, a low-level programming language. The second is Java, a mid-level programming language. The third is Objective-C, a high-level language used by Apple for all of their software. The concept of “language levels” was first quantified by IBM circa 1973. The original definition was the number of assembly language statements needed to produce one statement in a target language. For example Java is a “level 6” language because it takes about 6 assembly statements to create the functionality of 1 Java statements. After IBM developed function point metrics the definition of language levels was expanded to source code statements per function point. Example 6: How Software Risk Master (SRM) Evaluates Programming Languages SRM supports 89 programming languages in 2017 New languages added as data becomes available SRM allows up to 3 different languages per estimate 1000 function points for all 3 Cases $10,000 per month for all 3 Cases Iterative development for all 3 Cases 132 local work hours per month for all 3 Cases Language levels developed by IBM circa 1973 2017 is the 30th anniversary of IFPUG function point metrics Low-Level Mid-level High-level Language Language Language Example Example Example Programming Language(s) COBOL
    [Show full text]
  • ISO/IEC JTC 1 Subcommittee 22 Chairman's Report
    ISO/IEC JTC 1 N6903 2002-10-03 Replaces: ISO/IEC JTC 1 Information Technology Document Type: Business Plan Document Title: SC 22 Business Plan/Chairman Report Document Source: SC 22 Chairman Project Number: Document Status: This document is circulated to JTC 1 National Bodies for review and consideration at the October 2002 JTC 1 Plenary meeting in Sophia Antipolis. Action ID: ACT Due Date: Distribution: Medium: Disk Serial No: No. of Pages: 31 Secretariat, ISO/IEC JTC 1, American National Standards Institute, 25 West 43rd Street, New York, NY 10036; Telephone: 1 212 642 4932; Facsimile: 1 212 840 2298; Email: [email protected] ISO/IEC JTC 1 Subcommittee 22 Chairman's Report For the Period October 1, 2001 to September 30, 2002 John L. Hill Sun Microsystems 4429 Saybrook Lane Harrisburg, PA 17110 October 4, 2002 SC22 Chairman's Report Contents 1 Chairman's Report........................................................................................................................1 1.1 Introduction..................................................................................................................................1 1.2 WG 3 - APL.................................................................................................................................1 1.3 WG 4 - COBOL...........................................................................................................................1 1.4 WG 5 - Fortran.............................................................................................................................2
    [Show full text]
  • Masterminds of Programming
    Download at Boykma.Com Masterminds of Programming Edited by Federico Biancuzzi and Shane Warden Beijing • Cambridge • Farnham • Köln • Sebastopol • Taipei • Tokyo Download at Boykma.Com Masterminds of Programming Edited by Federico Biancuzzi and Shane Warden Copyright © 2009 Federico Biancuzzi and Shane Warden. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc. 1005 Gravenstein Highway North, Sebastopol, CA 95472 O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (safari.oreilly.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or [email protected]. Editor: Andy Oram Proofreader: Nancy Kotary Production Editor: Rachel Monaghan Cover Designer: Monica Kamsvaag Indexer: Angela Howard Interior Designer: Marcia Friedman Printing History: March 2009: First Edition. The O’Reilly logo is a registered trademark of O’Reilly Media, Inc. Masterminds of Programming and related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. ISBN: 978-0-596-51517-1 [V] Download at Boykma.Com CONTENTS FOREWORD vii PREFACE ix 1 C++ 1 Bjarne Stroustrup Design Decisions 2 Using the Language 6 OOP and Concurrency 9 Future 13 Teaching 16 2 PYTHON 19 Guido von Rossum The Pythonic Way 20 The Good Programmer 27 Multiple Pythons 32 Expedients and Experience 37 3 APL 43 Adin D.
    [Show full text]
  • On Fuzzing Concurrent Programs with C++ Atomics
    UC Irvine UC Irvine Electronic Theses and Dissertations Title On Fuzzing Concurrent Programs With C++ Atomics Permalink https://escholarship.org/uc/item/5rw7n0xs Author Snyder, Zachary Publication Date 2019 Peer reviewed|Thesis/dissertation eScholarship.org Powered by the California Digital Library University of California UNIVERSITY OF CALIFORNIA, IRVINE On Fuzzing Concurrent Programs With C++ Atomics THESIS submitted in partial satisfaction of the requirements for the degree of MASTER OF SCIENCE in Computer Engineering by Zachary Snyder Thesis Committee: Brian Demsky, Chair Rainer Doemer Alexandru Nicolau 2019 c 2019 Zachary Snyder TABLE OF CONTENTS Page LIST OF FIGURES iv LIST OF TABLES v ACKNOWLEDGMENTS vi ABSTRACT OF THE THESIS vii 1 Introduction 1 2 Related Work 3 2.1 ModelCheckerswithRelaxedMemoryModels . ..... 3 2.2 RaceDetectorswithRelaxedMemoryModels . ..... 4 2.3 ConcurrentFuzzers ............................... 4 2.4 AdversarialMemory ............................... 5 2.5 TheC++MemoryModel ............................ 5 3 Motivating Example 6 4 Initial Assumptions 12 5 An Informal Operational Semantics of the C++ Memory Model 14 5.1 BasicTerms.................................... 15 5.2 Sequences ..................................... 15 5.3 Sequenced-Before ................................ 16 5.4 Reads-From .................................... 16 5.5 Happens-Before.................................. 16 5.6 ModificationOrder ................................ 18 5.7 CoherenceOrder ................................. 18 5.8 SequentialConsistency
    [Show full text]