Group Members: Shane Mallia & Alex McAusland Project Supervisor: John Crawford. Dropped multiple code branches for different platforms Dropped use of UDP.

Slides:



Advertisements
Similar presentations
NetServ Dynamic in-network service deployment Henning Schulzrinne (Columbia University) Srinivasan Seetharaman (Georgia Tech) Volker Hilt (Bell Labs)
Advertisements

Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
Enabling IPv6 in Corporate Intranet Networks
Clayton Sullivan PEER-TO-PEER NETWORKS. INTRODUCTION What is a Peer-To-Peer Network A Peer Application Overlay Network Network Architecture and System.
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
Connect. Communicate. Collaborate Click to edit Master title style MODULE 1: perfSONAR TECHNICAL OVERVIEW.
Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
1 Principles of Reliable Distributed Systems Tutorial 12: Frangipani Spring 2009 Alex Shraer.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Object-Oriented Enterprise Application Development J2EE Blueprints.
The Team Team consisted of 5 members. Max Annear – Henderson Conrad Orange Mike Debney Anton Slooten Luke Stanford.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,
5205 – IT Service Delivery and Support
Host Identity Protocol
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
A Cloud is a type of parallel and distributed system consisting of a collection of inter- connected and virtualized computers that are dynamically provisioned.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Appendix B Planning a Virtualization Strategy for Exchange Server 2010.
DAT602 Database Application Development Lecture 12 C/S Model Database Application.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
VirtualBox What you need to know to build a Virtual Machine.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 2 ARCHITECTURES.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
April 2000Dr Milan Simic1 Network Operating Systems Windows NT.
OOI CI LCA REVIEW August 2010 Ocean Observatories Initiative OOI Cyberinfrastructure Architecture Overview Michael Meisinger Life Cycle Architecture Review.
Management for IP-based Applications Mike Fisher BTexaCT Research
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Windows NT Operating System. Windows NT Models Layered Model Client/Server Model Object Model Symmetric Multiprocessing.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
CENTRALISED AND CLIENT / SERVER DBMS. Topics To Be Discussed………………………. (A) Centralized DBMS (i) IntroductionIntroduction (ii) AdvantagesAdvantages (ii)
Scott Ferguson Section 1
Operating Systems Structure what is the organizational principle?
Desktop Virtualization
Information Technology Division Executive Office for Administration and Finance Service Oriented Architecture An Enterprise Approach to Enabling the Business.
Jini Architecture Introduction System Overview An Example.
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Workforce Scheduling Release 5.0 for Windows Implementation Overview OWS Development Team.
1.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Lecture 2: OS Structures (Chapter 2.7)
Examples of Operating Systems.
ADVANCED OPERATING SYSTEMS STRUCTURED NAMING BY KANNA KARRI.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Service Pack 2 System Center Configuration Manager 2007.
Alex Chee Daniel LaBare Mike Oster John Spann Bryan Unbangluang Collaborative Document Sharing In Conjunction With.
CLIENT SERVER COMPUTING. We have 2 types of n/w architectures – client server and peer to peer. In P2P, each system has equal capabilities and responsibilities.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Oracle Database Native Sharding: a customer perspective ©2016 PayPal Inc. Confidential and proprietary. John Kanagaraj, Sr. Member of Technical Staff,
Computer System Structures
Computer System Structures
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Operating System Structures
Noah Treuhaft UC Berkeley ROC Group ROC Retreat, January 2002
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Building Applications with Windows Azure and SQL Azure
CHAPTER 3 Architectures for Distributed Systems
MCU cluster Cristian Alexe 18 October 2010.
Chapter 3: Windows7 Part 1.
Virtual Private Servers – Types of Virtualization platforms Virtual Private ServersVirtual Private Servers, popularly known as VPS is considered one of.
Peer-to-Peer Protocol (P2PP)
Chapter 2: System Structures
Business transformation and GDPR compliance platform
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Outline Chapter 2 (cont) OS Design OS structure
Outline Operating System Organization Operating System Examples
Chapter 2 Operating System Overview
Presentation transcript:

Group Members: Shane Mallia & Alex McAusland Project Supervisor: John Crawford. Dropped multiple code branches for different platforms Dropped use of UDP as a IPC mechanism Refactoring involved removal of old memory management strategy Our DHT architecture is based upon a modular design consisting of several layers. The idea was to separate the implementation of each layer, dividing them by using clearly defined interfaces of functionality. This was driven by a requirement of cross platform compatibility. Some code is necessarily platform specific, and we wished to isolate it to simplify a port at a later date. The networking layer has been restricted as the only layer that has platform dependent code, as all other layers only make use of the standard C++ library. A demonstration Windows networking layer will be released with the API. An application uses the API much like a conventional Hash Table for familiarity and ease of integration, with some additional functionality for initialisation, given the distributed nature of the DHT. IPC between processes on a single machine Single Hash Table process Multiple user processes Removed the limitations of story 1 Accomplished by altering our IPC mechanism to use TCP IPC between processes on different machines Multiple Clients and a single storage Hash Table Distributed storage across two machines Hash Table key space partitioned between participants Shared storage burden With the growth in demand for services much load is placed on centralised infrastructure. It is the goal of this project to provide a platform for developers to create distributed services to share this load. A Distributed Hash Table provides the storage and retrieval of data based on some sequence of key data. However, it is distributed in that responsibility for this storage and retrieval is shared amongst a series of one or more participating machines or ‘nodes’. We chose Extreme Programming (XP) as a methodology. An agile approach seemed appropriate for such a small group tackling a not well known problem with requirements subject to change. Core principles in the management of our project have been small frequent releases (‘stories’) incorporating new functionality and feedback, rigorous unit testing and practises such as mandatory code reviews and peer programming. Process 1 DHT Logic Process 2 (test rig) DHT Logic in a central host mode IPC Layer (using UDP) Process 1 DHT Logic Process 2 (test rig) DHT Logic in a central host mode IPC Layer (using TCP) Process 3 (test rig) DHT Logic in a central host mode Networking Layer (using TCP) Process 1 DHT Logic Networking Layer (using TCP) Process 2 DHT Logic Process 1 DHT Logic in a distributed mode Process 2 (test rig) DHT Logic in a distributed mode Networking Layer (using TCP) Process 1 DHT Logic Networking Layer (using TCP) Process 2 DHT Logic Networking Layer (using TCP) Process 3 DHT Logic Networking Layer (using TCP) Process 4 DHT Logic Distributed storage amongst an arbitrary number of machines Logarithmic lookup times Redundancy in data storage