Created By : Dani Shaket Ran Zeller Supervisor : Alexander Shraer.

Slides:



Advertisements
Similar presentations
CCNA – Network Fundamentals
Advertisements

ELearning Solutions eLearning Solutions The business of education is learning.
Solutions link-systems international student success WorldWideWhiteboard™ Software Developer’s Kit May 3, 2015.
Multi-Model Digital Video Library Professor: Michael Lyu Member: Jacky Ma Joan Chung Multi-Model Digital Video Library LYU9904 Multi-Model Digital Video.
Developers: Alexey Rastvortsev, Ilya Kolchinsky Supervisors: Roy Friedman, Alex Kogan.
Apr 2, 2002Mårten Trolin1 Previous lecture On the assignment Certificates and key management –Obtaining a certificate –Verifying a certificate –Certificate.
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Final Presentation Liat Ben-Ami Yonathan Perez Instructor: Roy Mitrany.
The Museum Project The Museum Project Yoav Gvili & Asaf Stein Supervisor : Alexander Arlievsky.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Electrical Engineering Department Software Systems Lab TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY Persistent chat room Authors: Hazanovitch Evgeny Hazanovitch.
Electrical Engineering Department Software Systems Lab TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY Meeting recorder Application based on Software Agents.
Group Communication using Ensemble Part II. 2 Introduction From previous tutorial: Ensemble’s application interface: Concepts of Group Membership, View,
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
P2P to 2D-space GUI and Application Layer Lab Chief Engineer: Dr. Ilana David Instructor: Uri Schonfeld Lily Itkin & Inna Gelfer.
Software Metrics Testing MINIX 3. Introduction What is Metrics Analysis? Metrics Analysis is a field of Static Analysis. Show us structural attributes.
FYP0002 Wireless Cyber Campus Supervisor: Prof. Michael R. Lyu Student:Jang Kim Fung Tang Ho Man.
OSI Model 7 Layers 7. Application Layer 6. Presentation Layer
1 A Framework for Highly Available Services Based on Group Communication Alan Fekete Idit Keidar University of Sidney MIT.
Final (Part A) Presentation 31/10/04 Virtual Traffic Signal Presented by: Ron Herman Ofir Shentzer Instructor: Mr. Mony Orbach Technion – Israel Institute.
Picture Users Making Art Chat An interactive communication tool.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Communicating over the Network Network Fundamentals – Chapter 2.
TCP/IP Tools Lesson 5. Objectives Skills/ConceptsObjective Domain Description Objective Domain Number Using basic TCP/IP commands Understanding TCP/IP3.6.
Scalable Server Load Balancing Inside Data Centers Dana Butnariu Princeton University Computer Science Department July – September 2010 Joint work with.
Network Layer (Part IV). Overview A router is a type of internetworking device that passes data packets between networks based on Layer 3 addresses. A.
Automatic Software Testing Tool for Computer Networks ARD Presentation Adi Shachar Yaniv Cohen Dudi Patimer
Lab 1 Bulletin Board System Farnaz Moradi Based on slides by Andreas Larsson 2012.
Presented by: Alvaro Llanos E.  Motivation and Overview  Frangipani Architecture overview  Similar DFS  PETAL: Distributed virtual disks ◦ Overview.
VPresent Collaborative Presentation System on Mobile Devices.
Working with Applications Lesson 7. Objectives Administer Internet Explorer Secure Internet Explorer Configure Application Compatibility Configure Application.
In association with Technion and Qualcomm. Project supervisor: Tatyana Finkel. Technion Israel Institute of Technology.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Module 8: Managing Client Configuration and Connectivity.
D-RATS Dan Smith - KK7DS SeaPac Outline What is D-STAR? What is D-RATS? Goal Messaging Files and Images Positional Awareness Network Connectivity.
Protocol Layering Chapter 10. Looked at: Architectural foundations of internetworking Architectural foundations of internetworking Forwarding of datagrams.
Jaringan Komputer Dasar OSI Transport Layer Aurelio Rahmadian.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking.
ACM 511 Chapter 2. Communication Communicating the Messages The best approach is to divide the data into smaller, more manageable pieces to send over.
7/26/ Design and Implementation of a Simple Totally-Ordered Reliable Multicast Protocol in Java.
Geneva, Switzerland, 11 June 2012 Switching and routing in Future Network John Grant Nine Tiles
Farnaz Moradi Based on slides by Andreas Larsson 2013.
1 IRI-h a Java-based Distance Education System Department of Computer Science Old Dominion University Norfolk, VA 23529, USA.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
OSI Reference Model. Open Systems Interconnection (OSI) Model International standard organization (ISO) established a committee in 1977 to develop an.
Proposal of DIS Project Net Meeting System. Project Participants R 高茂原R 高茂原 R 饒訓豪R 饒訓豪 R 李建興R 李建興 R
© 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ.
OSI Model. Open Systems Interconnection (OSI) is a set of internationally recognized, non proprietary standards for networking and for operating system.
Computer Network Architecture Lecture 6: OSI Model Layers Examples 1 20/12/2012.
FlowLevel Client, server & elements monitoring and controlling system Message Include End Dial Start.
By Nitin Bahadur Gokul Nadathur Department of Computer Sciences University of Wisconsin-Madison Spring 2000.
#16 Application Measurement Presentation by Bobin John.
Created by : Dani Shaket, Ran Zeller Supervisor : Alexander Shraer.
Network Models. The OSI Model Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO). Model for understanding.
/16 Final Project Report By Facializer Team Final Project Report Eagle, Leo, Bessie, Five, Evan Dan, Kyle, Ben, Caleb.
OSI Model OSI MODEL. Communication Architecture Strategy for connecting host computers and other communicating equipment. Defines necessary elements for.
OSI Model OSI MODEL.
Architecture Review 10/11/2004
Chapter 9: Transport Layer
Instructor Materials Chapter 9: Transport Layer
Hands-On Microsoft Windows Server 2008
Network Load Balancing
Peer-to-peer networking
Working at a Small-to-Medium Business or ISP – Chapter 7
Working at a Small-to-Medium Business or ISP – Chapter 7
Communication Networks NETW 501 Tutorial 3
Working at a Small-to-Medium Business or ISP – Chapter 7
OSI Model OSI MODEL.
OSI Reference Model Unit II
OSI Model 7 Layers 7. Application Layer 6. Presentation Layer
Presentation transcript:

Created By : Dani Shaket Ran Zeller Supervisor : Alexander Shraer

Presentation outlines General Project goals System description Design and implementation Summary and conclusions Example

General Online applications today, often suffer from low stability and performances. These problems can be moderate using smart resource sharing. Our solution, is a system where each service provider (server) “knows” all the other servers and together they can provide a better solution for online applications. In this project we apply this solution to create a virtual class-room, which provides three multi-user applications :Text Chat, Drawing Pad and Media Streaming.

General – cont. The SiBS is composed out of two main programs, the Server and the Client. The Client application provides the user with easy-to- use Graphic Interface that enables the user to Create, join and participate sessions. The Server application provides multi-session management, extremely high stability and survivability, ensuring continuity, disaster recovery and maximizing Quality/Cost Ratio by joining resources. The Server can run in stand-alone mode, or as a servers-group member.

Project Goals implement a multi-threaded application in the java. Learn and use the ensemble group-communication package. Learn and use the JMF (Java Media Framework) package. Learn and use the SIP (Session Initiation Protocol) and the Jain-Sip Package. Design a system using the OOP methodology. implement User Graphic Interface. explore some characteristics of performance & Quality measures and timing issues.

System Description Server Session 1 Server Session 2 Session 4 Client Servers Group Client Manager Client Manager Client Session 3 Client Manager Client Manager

System Description - Algorithms Servers Start-up Client Log-in Session creation User Join Session Action – Stream Auction Session resumption / recovery Session Management delegation Drawing Pad algorithm

System Description - StartUp First server start-up Server - Sync: View synchronization. - Heal: Partitions healing. - Migrate: process migration. - Frag: Message fragmentation re-assembly. - Switch: allow on-the-fly protocol switching - Suspect: failure detection - Flow: flow control - Total: Total order messaging

System Description - StartUp Server* Israel The Server Reads configuration files and apply setup : Server ID, Known clients, available media list etc… Try to connect to the group – no one available yet

System Description – Group *Server Israel China and USA servers starts and form a group A leader is chosen ( arbitrary ) Server China Server USA

System Description-Login *Server Israel A Client, Sends Login request to Israel Server Server China Server USA Client Avi LogIn

System Description-Login *Server Israel The Israeli server respond with Login success and empty known sessions list Server China Server USA Client Avi Login Success Session List Empty

System Description - Session Creation *Server Israel Avi requests session creation called SiBS tutorial, with some other parameters Server Australia Server USA Client Avi Create Session

*Server Israel The Server creates a session called SiBS tutorial, that sends Invite message to Avi as Session Master. The Server broadcast Session creation message to the the other servers, and the session start to sending Session State message periodically. Server China Server USA Client Avi SibS Session Created Session state Invite System Description- Session Creation

System Description - Join *Server Israel Client John, request login from USA server. The server respond with Login Success, and Sessions List, including SiBS tutorial session Server USA Client Avi SibS Client John Login Success Server China

System Description - Join *Server Israel Client John, request to Join SiBS tutorial Sesssion. The server notice that the SiBS session is not hosted by him, so he broadcast Join From User Message Server Australia Server USA Client Avi SibS Client John Join SiBS Join From User Server China

System Description - Join *Server Israel Israeli Server recognized that the session is hosted by him, and handle the join Request. The China Server Disregard the message Server Australia Server USA Client Avi SibS Client John Invite Server China

John’s View

System Description - Stream *Server Israel Client Avi request Start Streaming Media from SiBS tutorial room The SiBS tutorial room start broadcasting the requested media to Avi And John Server Australia Server USA Client Avi SibS Client John Server China Start Stream

System Description - Auction *Server Israel four enthusiastic Chinese investors, Ying, Young, Hu and Fu, Login and join The SiBS tutorial session. Server Australia Server USA Client Avi SibS Client John Server China Client Young Client Ying Client Fu Client Hu

System Description - Auction *Server Israel SiBS tutorial Session, recognize that his Quality & Cost is getting lower. The Server, decide to start an Auction Process. Server Australia Server USA Client Avi SibS Client John Server China Client Young Client Ying Client Fu Client Hu Auction On SiBS

System Description - Auction *Server Israel Each one of the server checks Ping-Pong Time for each one of the users, in addition to static Cost calculation. The servers respond calculate the “what if” Quality and Cost value. Server Australia Server USA Client Avi SibS Client John Server China Client Young Client Ying Client Fu Client Hu

Quality and Cost calculation Min Quality = 0, Max Quality = Ping-Pong time (echo time) is measured in miliSec. Each client has a specific Cost ( from ) on a each server. Example: user Fu from china will have cost = 300 on Israel server and cost = 50 on china server The calculation is : QoS = 1000 – AveragePingPongTime – Average Cost ( if QoS < 0, Qos = 0 ) Session Quality level for auction process is const = 500

System Description - Auction *Server Israel Since Israel Server is also the leader, he manages the Auction The winner of the Auction will be the China Server Server Australia Server USA Client Avi SibS Client John Server China Client Young Client Ying Client Fu Client Hu I Bid 800I Bid 400

System Description - Auction *Server Israel China Server creates a new session called SiBS$1 ( which means transfer number 1) and Invites all users to that session The clients join the new SibS$1 session and leave the old session Server Australia Server USA Client Avi SibS Client John Server China Client Young Client Ying Client Fu Client Hu Winner SibS $1

System Description – Recovery *Server Israel The China server crashes Server Australia Server USA Client Avi Client John Server China Client Young Client Ying Client Fu Client Hu SibS $1

System Description – Recovery *Server Israel The Israeli server ( and the USA server ) recognize a That the Chinese server is down. The Israeli server, as the leader, select The USA server to resume the orphan session Server USA Client Avi Client John Client Young Client Ying Client Fu Client Hu SibS $1 Take Over SiBS$1 session

System Description – Recovery *Server Israel The USA server creates a new Session called SiBS$2, and invites all users to join ( same as in auction process). Server USA Client Avi Client John Client Young Client Ying Client Fu Client Hu SibS $1 Take Over SiBS$1 session SibS $2

System Description – Recovery *Server Israel The session Resumed Server USA Client Avi Client John Client Young Client Ying Client Fu Client Hu SibS $2

System Description – Management Delegation *Server Israel Client Avi is currently the Master of the session. The Management delegation can be configured as Exclusive Random Privilged Chain of command Server USA Client Avi Client John Client Young Client Ying Client Fu Client Hu SibS $2

System Description – Management Delegation *Server Israel Server USA Client John Client Young Client Ying Client Fu Client Hu SibS $2 The Session recognized that Client Avi does not respond to Ping messages and decides that Client Avi have left. The session sends a BECOME_MASTER message to the selected client ( according to setup). The session can become Master-less, meaning no master action can occur. Become-Master

System Description – Drawing Pad The Drawing pad panel, composed out of two panels : Control Panel – Select color / tool / width, clear Graphics panel – Java Graphic 2D object with the ability to present shapes. When the user want to paint an object, he select a tool ( only pen is implemented) color and a width. When the user left-click on the graphics panel, the application records 2 to 20 points until the mouse is released. When the recording is finished, a Drawing message is sent to the server, and the server forwards it to the members of the session. example : From : DRAW;PEN;3;13; ; The Client who receive this message, paint the shape on its Graphics panel. If two or more clients are drawing together, the shape which sent earlier will be in the back.

Drawing Pad

Design and implementation - Server

infraStructure Package SubManager – Messaging service, Timers Ensemble Communication channel Sip Communication channel / Sip Multiplexer JMF’s AV-Transmitter Server Package Server Manager Login Manager Session Manager QoS Manager

Server System Server Login Manager Session Manager QoS Manager Recovery Manager Sip Multiplexer Ensemble Clients * * Servers * The Server Each Square represents a Subsystem The application will be build over an infrastructure that provides Messaging between subsystems and Multithreading support.

Design and implementation - Client Client Manager Client State Communication ( SIP ) Client GUI Main Frame Login Tab Streaming Tab Chat Tab Drawing Pad Tab

Client System Client Sip Layer Server GUI Media Player JMF Data Source The Client Each Square represents a Subsystem The application will be build over an infrastructure that provides Messaging between subsystems and Multithreading support.

Summary In this project we have designed and implemented the Stable interactive Broadcasting System (SiBS) which provides three multi-user online applications: Text Chat, Drawing Pad and Media Streaming, that runs in a context of a Session. The SiBS provides extremely high stability and survivability, ensuring continuity, disaster recovery and maximizing Quality/Cost Ratio by joining resources, in order to give the Users the best possible solution. During the design and implementation we have learned to use : Java under eclipse, multithreading, Ensemble, JMF, SIP, GUI design, OOP and more.

Conclusions During the implementation we have encountered problems related to JMF and timing. Internet oriented /online applications should be as timing-independent as possible. Scalability/Stability tradeoff – enable user to select. Servers system is not scalable, but stable. Session management is scalable for users. Ensemble provides easy interface and good performances in addition to reliable communication JMF is bad ( bad design, bad API, bad compatibility, bad performances, bad documentation, bad stability )

Options for the future The SiBS can have a place in the “real world”, where stability is needed. The project is build using the OOP methodology, enable to easily change parameters, add features and applications, changing communication protocols etc.. it can be used as a base for future realistic applications. The algorithm for Auction decision can be improved in many ways – a possible subject for research : Dynamic auction limit/Panic limit Compare “what if” QoS with the real one / use statistics Geographic distance vs. Ping-Pong time – is there really a correlation ? Change metrics ? Implement group-communication ourselves – can be very interesting.

Questions ???