SWE 622 Exchange Project Team 1 Design Review Spring 2009 Yanyan Zhu Virat Kadaru Koji Hashimoto Stephanie Buchner.

Slides:



Advertisements
Similar presentations
How to use TinyOS Jason Hill Rob Szewczyk Alec Woo David Culler An event based execution environment for Networked Sensors.
Advertisements

Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
CCNA2 Module 4. Discovering and Connecting to Neighbors Enable and disable CDP Use the show cdp neighbors command Determine which neighboring devices.
Impala: A Middleware System for Managing Autonomic, Parallel Sensor Systems Ting Liu and Margaret Martonosi Princeton University.
Computer Science 425 Distributed Systems CS 425 / ECE 428  2013, I. Gupta, K. Nahrtstedt, S. Mitra, N. Vaidya, M. T. Harandi, J. Hou.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Time and Synchronization Steve Ko Computer Sciences and Engineering University at Buffalo.
SWE 622 Final Project Presentation – Team 1 Yanyan Zhu Virat Kadaru Koji Hashimoto Stephanie Buchner.
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.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
1 CCNA 2 v3.1 Module 4. 2 CCNA 2 Module 4 Learning about Devices.
CS415 Minithreads Project 4 Overview Adrian Bozdog (Adi)
Team 2: The House Party Blackjack Mohammad Ahmad Jun Han Joohoon Lee Paul Cheong Suk Chan Kang.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 4 – Consensus and reliable.
1 Programming systems for distributed applications Seif Haridi KTH/SICS.
P2P Project Mark Kurman Nir Zur Danny Avigdor. Introduction ► Motivation:  Firewalls may allow TCP or UDP connections on several specific ports and block.
Lecture 2-1 CS 425/ECE 428 Distributed Systems Lecture 2 Time & Synchronization Reading: Klara Nahrstedt.
CCNA Introduction to Networking 5.0 Rick Graziani Cabrillo College
Guide to TCP/IP, Third Edition
Socket Lab Info. Computer Network. Requirement Use TCP socket to implement a pair of programs, containing a server and a client. The server program shall.
ICMP : Internet Control Message Protocol. Introduction ICMP is often considered part of the IP layer. It communicates error messages and other conditions.
M. Menelaou CCNA2 DYNAMIC ROUTING. M. Menelaou DYNAMIC ROUTING Dynamic routing protocols can help simplify the life of a network administrator Routing.
Oracle10g RAC Service Architecture Overview of Real Application Cluster Ready Services, Nodeapps, and User Defined Services.
1. There are different assistant software tools and methods that help in managing the network in different things such as: 1. Special management programs.
Dream Report: Secure and Reliable Reporting Renee Sikes Applications Engineer Dream Report Brand Manager.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 2 Module 8 TCP/IP Suite Error and Control Messages.
© 2002, Cisco Systems, Inc. All rights reserved..
Module 12: Routing Fundamentals. Routing Overview Configuring Routing and Remote Access as a Router Quality of Service.
20411B 8: Installing, Configuring, and Troubleshooting the Network Policy Server Role Presentation: 60 minutes Lab: 60 minutes After completing this module,
A Survey of Rollback-Recovery Protocols in Message-Passing Systems.
ARMADA Middleware and Communication Services T. ABDELZAHER, M. BJORKLUND, S. DAWSON, W.-C. FENG, F. JAHANIAN, S. JOHNSON, P. MARRON, A. MEHRA, T. MITTON,
1 CMPT 471 Networking II IGMP (IPv4) and MLD (IPv6) © Janice Regan,
Introduction GOALS:  To improve the Quality of Service (QoS) for the JBI platform and endpoints  E.g., latency, fault tolerance, scalability, graceful.
MACCE and Real-Time Schedulers Steve Roberts EEL 6897.
Module 7: Resolving NetBIOS Names by Using Windows Internet Name Service (WINS)
Rudra Dutta CSC , Fall, 2012 A Simple Sensing Program Structure.
Association Rule Mining in Peer-to-Peer Systems Ran Wolff Assaf Shcuster Department of Computer Science Technion I.I.T. Haifa 32000,Isreal.
Module 7: Managing Message Transport. Overview Introduction to Message Transport Implementing Message Transport.
Developing TCP/IP-based Server Applications using Indy Components  Christian Wilkerson.
802.11n Sniffer Design Overview Vladislav Mordohovich Igor Shtarev Luba Brouk.
Distributed Trading SWE 622 Spring Group Members  Dave Johnson  Akhil Pathania  Sohrab Rezvan  Nick Ton.
Error and Control An IP datagram travels from node to node on the way to its destination Each router operates autonomously Failures or problems may occur.
Distributed Trading System SWE 622 Charles Beach James Wolfe Scott Jones Sharita Green.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
Multi-Group Network Game Project A Project By: Erez Gazit and Sagi Katz.
Client/Server Socket Programming Project
SWE 622- Distributed Systems Project Phase I Eric Barnes, David Chang, David Nelson Fisayo Oluwadiya, Xiang Shen.
Network Troubleshooting
Information-Centric Networks10b-1 Week 10 / Paper 2 Hermes: a distributed event-based middleware architecture –P.R. Pietzuch, J.M. Bacon –ICDCS 2002 Workshops.
CCNP 3: Chapter 3 Implementing Spanning Tree. Overview Basics of implementing STP Election of Root Bridge and Backup Enhancing STP RSTP MSTP EtherChannels.
ICMPv6 Error Message Types Informational Message Types.
Best Practices for Implementing Unicenter NSM r11.1 in an HA MSCS Environment Part I -Last Revision April 24, 2006.
Allocating IP Addressing by Using Dynamic Host Configuration Protocol.
Computer Communication: An example What happens when I click on
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
Firewalls A brief introduction to firewalls. What does a Firewall do? Firewalls are essential tools in managing and controlling network traffic Firewalls.
By Nitin Bahadur Gokul Nadathur Department of Computer Sciences University of Wisconsin-Madison Spring 2000.
Relying on Safe Distance to Achieve Strong Partitionable Group Membership in Ad Hoc Networks Authors: Q. Huang, C. Julien, G. Roman Presented By: Jeff.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
Distributed Systems Lecture 5 Time and synchronization 1.
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
Introduction to Omnet++ By: Mahsa Soheil Shamaee.
CCNA 2 Router and Routing Basics Module 8 TCP/IP Suite Error and Control Messages.
Module Overview Installing and Configuring a Network Policy Server
MCA – 405 Elective –I (A) Java Programming & Technology
Northbound API Dan Shmidt | January 2017
Distributed Trading System SWE 622
Distributed Trading SWE 622 Spring 2009.
A Simple Sensing Program Structure
Overview Multimedia: The Role of WINS in the Network Infrastructure
Thread per client and Java NIO
Presentation transcript:

SWE 622 Exchange Project Team 1 Design Review Spring 2009 Yanyan Zhu Virat Kadaru Koji Hashimoto Stephanie Buchner

Project Design Overview Design Issues/Questions Planned Experiments Implementation Plan Agenda

Design Modules: Middleware Only job is to connect, send and receive messages. Does not care about type of message being sent. Has threads for sending, receiving, detecting connection failure etc. Notifies trader/exchange of connection or delivery failure Trader Each Trader is an Independent process Has a reference to its own Middleware instance. Maintains a list of Order echo’s received. Exchange Each Exchange is an Independent process. Has a reference to its own Middleware instance. Maintains a list of Goods currently sold being sold and previous orders processed. Messages Many types of messages (order, echo, offset, etc) Contains a super class ‘Message’ which acts as a header Each message type (order, echo, etc) is a sub class of Message Project Design Overview

Exchange List of GoodsList of Traders Project Design Overview RMI Send (async.) Receive (callback) List of OrdersList of Exchanges Sending Thread Connection Thread Trader Middleware PToP Heartbeat Thread Processing Thread Receiving Thread Connection Failed (callback) : rmi/p2p : msg

OrderGenerator Generates orders automatically at a desired frequency Can be stopped or started at anytime Configuration Contains information about the exchanges Type of communication (RMI/PToP) Other information like IP and port of RMI registry etc. Project Design Overview

Design Issues/Solutions Absence of global clock Order of echos/late echos

Design Issues/Solutions Absence of global clock – Which one has the correct time or which one to follow? – All nodes do not communicate with each other Solution – Each trader maintains an offset relative to each exchange that it is connected to – Actual communication begins only after the offset is applied Other issues – How many samples of the offset should be taken? – Should they be averaged? – What about max and min values?

Trader’s List of Order Echoes – Verify Requirement: Display all order echoes in the order they were processed. Some echoes may be outstanding (late) and may not appear on the list. (A later order may appear, an earlier order is not on the list yet.) When a late echo appears, place in correct order. Mark as stale if > 10 seconds late. Design Issue

Tools used in evaluation - AspectJ - Systems will communicate over a VPN Dependent variable -Change configuration files at client side Performance Evaluation

Measure the latency between issuing an order and the last trader receiving its echo -Conduct this evaluation at client application level -Assumption: Trader T i issues an order to Exchange E y -Get T i ’s time t(T i ) before issuing order -Get last Offset value (O xy ) between T x (Trader x) and E y (Exchange y) before t(T i ) with (1<=x<=n), n:=trader number -Get each T x ’s time t(T x ) after receiving echo for T i ’s order A -The latency := Max( t(T x ) - O xy ) Performance Evaluation Issue 1 1<=x<=n

Measure the latency between trader’s failure and the last exchange stopping order echoes -Conduct this evaluation at client application level -Both Trader and Exchange applications register listeners to the Middleware, and middleware heartbeat each other -Assumption: Trader T i goes down -Get last Offset value (O iy ) between T i and E y with(1<=y<=m), m:= exchange number -Manually record T i ’s failure time ft(T i ) -Get the time st(E y ) when E y decides to stop echoing to T i -The latency := Max(st(E y )-O iy ) Performance Evaluation Issue 2 1<=y<=m

Calculate Clock Skew -Not using Global Network Protocol. -Trader and Exchange send offset messages periodically -Get all Offset values (O xy τ ) between T x and E y at τ time unit -Average Clock skew := AVG (O xy τ – O xy τ +1 ) -Maximum Clock skew := MAX (O xy τ – O xy τ +1 ) -The frequency of calculation is not decided yet. Performance Evaluation Issue 3

Roles and Responsibilities Trader – Virat and Stephanie Exchange – Koji Middleware – Koji, all Experiments – Yanyan, all Implementation Plan 3/223/294/54/124/194/264/30 Coding Testing Coding Experiment Presentation Prj2 Prj3 Development Timeline Prototype Implementation Evaluation Experiment