P2P2DSpace Project. Project in the Technion Electrical Engineering Software Lab P2P Network, Map, Background Manager Team members: Vladimir Shulman Ziv.

Slides:



Advertisements
Similar presentations
CONCEPTUAL WEB-BASED FRAMEWORK IN AN INTERACTIVE VIRTUAL ENVIRONMENT FOR DISTANCE LEARNING Amal Oraifige, Graham Oakes, Anthony Felton, David Heesom, Kevin.
Advertisements

COURSE: COMPUTER PLATFORMS
Simple PEer to peER File System (SPEERFS) Done by: Assaf WaksmanBenny Pano Supervised by: Uri Schonfeld On Spring 2005.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
1 Layers Data from IBM-Rational and Craig Larman’s text integrated into these slides. These are great references… Slides from these sources have been modified.
Lesson 1-Introducing Basic Network Concepts
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 5 Database Application Security Models.
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.
P2P Network for Very Large Virtual Environment Proceedings of the ACM symposium on virtual reality software and technology VRST '06.
Locality-Aware Request Distribution in Cluster-based Network Servers 1. Introduction and Motivation --- Why have this idea? 2. Strategies --- How to implement?
Academic Advisor: Prof. Ronen Brafman Team Members: Ran Isenberg Mirit Markovich Noa Aharon Alon Furman.
1 Chapter 7 IT Infrastructures Business-Driven Technology
P2P to 2D-space GUI and Application Layer Lab Chief Engineer: Dr. Ilana David Instructor: Uri Schonfeld Lily Itkin & Inna Gelfer.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
DISTRIBUTED CACHE SYSTEM EE SOFTWARE LAB, TECHNION By Shamil Nisimov Dror Bohrer Supervisor : Yaron Ben Shoshan Lab Engineer : David Ilana.
IACT 901 Module 9 Establishing Technology Strategy - Scope & Purpose.
Chapter 5 Database Application Security Models
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
DISTRIBUTED CACHE SYSTEM EE SOFTWARE LAB By : Shamil Nisimov & Dror Bohrer Supervisor : Yaron Ben Shoshan Lab Engineer : David Ilana.
Institute of Technology, Sligo Dept of Computing Semester 3, version Semester 3 Chapter 3 VLANs.
Software Architecture for DSD The “Uses” Relation.
Web application architecture
WP6: Grid Authorization Service Review meeting in Berlin, March 8 th 2004 Marcin Adamski Michał Chmielewski Sergiusz Fonrobert Jarek Nabrzyski Tomasz Nowocień.
Module 1 WANs and Routers.
Introduction to the Mobile Security (MD)  Chaitanya Nettem  Rawad Habib  2015.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Semester 3, v Chapter 3: Virtual LANs
Peer-to-Peer Data Integration Using Distributed Bridges Neal Arthorne B. Eng. Computer Systems (2002) Supervisor: Babak Esfandiari April 12, 2005 Candidate.
Grid Appliance – On the Design of Self-Organizing, Decentralized Grids David Wolinsky, Arjun Prakash, and Renato Figueiredo ACIS Lab at the University.
Database Application Security Models Database Application Security Models 1.
An introduction to the finite element method using MATLAB
A NAMED DATA NETWORKING FLEXIBLE FRAMEWORK FOR MANAGEMENT COMMUNICATION Authors: Daneil Corjuo and Rui L. Aguiar Ivan Vidal and Jamie Garcia-Reinoso Presented.
7-1 Management Information Systems for the Information Age Copyright 2004 The McGraw-Hill Companies, Inc. All rights reserved Chapter 7 IT Infrastructures.
CS212: OPERATING SYSTEM Lecture 6: Virtual-Memory Management 1 Computer Science Department.
Service Oriented Architectures Presentation By: Clifton Sweeney November 3 rd 2008.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Department of Computer Science & Engineering Green Client/Server Software to Save Energy in Network Devices Axel Vigo, Mentor: Miguel Jimeno, Advisor:
MobiQuitous 2007 Towards Scalable and Robust Service Discovery in Ubiquitous Computing Environments via Multi-hop Clustering Wei Gao.
By Rashid Khan Lesson 6-Building a Directory Service.
Multi-Group Network Game Project A Project By: Erez Gazit and Sagi Katz.
ICS362 – Distributed Systems Dr. Ken Cosh Week 2.
Security Vulnerabilities in A Virtual Environment
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
第 1 讲 分布式系统概述 §1.1 分布式系统的定义 §1.2 分布式系统分类 §1.3 分布式系统体系结构.
“Warehouse” Monitoring Software Infrastructure Craig Steffen, NCSA SSS Meeting June 5, Argonne, Illinois.
Oracle Business Intelligence Foundation - Commonly Used Features in Repository.
CMSC 691B Multi-Agent System A Scalable Architecture for Peer to Peer Agent by Naveen Srinivasan.
Module 1: Introduction to Windows 2000 and Networking.
Ch3 ALL ABOUT COMPUTERS Session # 2. OBJECTIVES In this Session we will discuss about  Computer Components (The Software)  The definition of Software.
1.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Lecture 1: Introduction & OS Structures (Part One, Chapters 1&2)
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Software Defined Storage
Chapter 9: Virtual Memory
Spark Presentation.
File System Implementation
Requirements Management
CHAPTER 3 Architectures for Distributed Systems
Net 323 D: Networks Protocols
Subject Name: Computer Communication Networks Subject Code: 10EC71
EE 122: Peer-to-Peer (P2P) Networks
Windows Server 2016 Software Defined Storage
Chapter 9: Virtual-Memory Management
Application layer Lecture 7.
A Scalable content-addressable network
Outline Midterm results summary Distributed file systems – continued
Chapter 9: Virtual Memory
Binary Search Trees Chapter 7 Objectives
Presentation transcript:

P2P2DSpace Project

Project in the Technion Electrical Engineering Software Lab P2P Network, Map, Background Manager Team members: Vladimir Shulman Ziv Rabizanovich Lab Chief Engineer: Dr. Ilana David Instructor: Uri Schonfeld Instructor: Uri Schonfeld

Introduction This part of a project deals with layers which provide services to the application, such as network layer, map layer (middleware) and 3 rd party service of backgrounds

Where we are…

Map middleware P2P2DSpace was designed in 3 layers. First layer application, 3rd layer network. In order to reduce complication of application layer, map layer was added as a middleware between application and network. Its role is to detach application from network implementation. All application sees is 2D map with items, coordinates and background. Map layer takes care of all communications with the network like: requesting via network from several computers (network’s functionality) their items, bringing background of the region from 3rd party server (Background Manager), transporting items from one computer to another via network. First layer application, 3rd layer network. In order to reduce complication of application layer, map layer was added as a middleware between application and network. Its role is to detach application from network implementation. All application sees is 2D map with items, coordinates and background. Map layer takes care of all communications with the network like: requesting via network from several computers (network’s functionality) their items, bringing background of the region from 3rd party server (Background Manager), transporting items from one computer to another via network.

Sparse Matrix Backbone of map layer is SparseMatrix module. It is hash map based implementation of sparse matrix, which is ideal for storing items on their 2D coordinates in a large 2D world. 2D map represented by space matrix of appropriate size and can be accessed by single coordinate or by region. SparseMatrix is used to represent a region and items contained in it (also used by application and network layer). There’s a thread safe version of SparseMatrix: SyncSparseMatrix. While SyncSparseMatrix is used as part of each module, SparseMatrix is transferable unit between application and map layers.

Backgrounds P2P2DSpace represents a very large 2D area. It would be not practical to transfer large bitmap by demand via network P2P2DSpace represents a very large 2D area. It would be not practical to transfer large bitmap by demand via network

Backgrounds (continued) Therefore a 3 rd party server is created. Therefore a 3 rd party server is created. It holds a bitmap of a world and supplies parts of it by demand, It holds a bitmap of a world and supplies parts of it by demand, as if all applications look at the word through a small peep hole as if all applications look at the word through a small peep hole

Network The purpose of the Network Layer is to provide a layer of p2p network for the P2P2DSpace application’s use. The Network Layer was designed to provide a scalable and easy use of p2p network as a middleware for P2P2DSpace application, while the major requirement for it, is network’s scalability.

Network overview The network represents a virtual two-dimensional space. The network represents a virtual two-dimensional space. Each peer in the network is awarded a region of responsibility in this virtual space, while the coordinate location of the peer in this space is calculated uniquely using the user name. Each peer in the network is awarded a region of responsibility in this virtual space, while the coordinate location of the peer in this space is calculated uniquely using the user name. Size of the region of responsibility depends mainly on number of peers in the network. Size of the region of responsibility depends mainly on number of peers in the network. The network itself is represented as a tree with up to 4 sons per each node (peer), when each son receives quarter of the fathers region of responsibility as its own region of responsibility. The network itself is represented as a tree with up to 4 sons per each node (peer), when each son receives quarter of the fathers region of responsibility as its own region of responsibility.

Network overview – cont. The network is able to map peer to unique virtual region. The network is able to map peer to unique virtual region. The network is able to map each coordinate of virtual region to peer who owns the region by user name only. The network is able to map each coordinate of virtual region to peer who owns the region by user name only. Each peer is able to map application's items to coordinates of virtual region that under its responsibility. Each peer is able to map application's items to coordinates of virtual region that under its responsibility.

Design decisions, principles and considerations - 1 Major issue of this project is to provide a flexible implementation of virtual 2d space and regions, while maintaining scalability of the implementation. In order to allow simple way of describing regions was decided that each region may be divided into 4 equal new regions, while they may be given to other peers who joined the network. Major issue of this project is to provide a flexible implementation of virtual 2d space and regions, while maintaining scalability of the implementation. In order to allow simple way of describing regions was decided that each region may be divided into 4 equal new regions, while they may be given to other peers who joined the network.

Design decisions, principles and considerations - 2 In order to provide network’s peers with ability to find each other in the network in a scalable way, the network was designed in a tree form, while each peer is a node in the tree. Each level in a “tree” represents a layer in a virtual world of regions of same size, some of which were divided into smaller regions (have sons) or represents a node in a tree which is responsible for navigation from above nodes to this node's sons. In order to provide network’s peers with ability to find each other in the network in a scalable way, the network was designed in a tree form, while each peer is a node in the tree. Each level in a “tree” represents a layer in a virtual world of regions of same size, some of which were divided into smaller regions (have sons) or represents a node in a tree which is responsible for navigation from above nodes to this node's sons.

Design decisions, principles and considerations - 3 Efficient disconnection of node from the network. When node connects to the network, it gets from its father region of responsibility with application items in this region. It may happen that other nodes will connect to the network through this node, and thus this node will transfer them regions of responsibility with applications items. Efficient disconnection of node from the network. When node connects to the network, it gets from its father region of responsibility with application items in this region. It may happen that other nodes will connect to the network through this node, and thus this node will transfer them regions of responsibility with applications items.

Design decisions, principles and considerations – 3 cont. For enabling efficient disconnection of this node from the network, it was decided that if there were 4 sons connected to this node, all items of this node are divided between sons and this node continue to be used only for navigation in the tree. Now, during disconnection of this node, it just needs to ask some node, which is leaf in this node’s sub-tree, to return items to leaf node’s father and replace this node. This solution also helps to keep region of responsibility with items in each node to be integral and not be broken to many small peaces (that may require unbound allocation of memory). For enabling efficient disconnection of this node from the network, it was decided that if there were 4 sons connected to this node, all items of this node are divided between sons and this node continue to be used only for navigation in the tree. Now, during disconnection of this node, it just needs to ask some node, which is leaf in this node’s sub-tree, to return items to leaf node’s father and replace this node. This solution also helps to keep region of responsibility with items in each node to be integral and not be broken to many small peaces (that may require unbound allocation of memory).