Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Created By : Dani Shaket Ran Zeller Supervisor : Alexander Shraer."— Presentation transcript:

1

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

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

4 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.

5 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.

6 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.

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

8 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

9 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

10 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

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

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

13 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

14 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

15 *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

16 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

17 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

18 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

19 John’s View

20 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

21 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

22 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

23 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

24 Quality and Cost calculation Min Quality = 0, Max Quality = 1000. Ping-Pong time (echo time) is measured in miliSec. Each client has a specific Cost ( from 1-1000) 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

25 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

26 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

27 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

28 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

29 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

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

31 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

32 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

33 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 sip:Deleg$0@132.68.60.75:5075 : DRAW;PEN;3;13;29 335 28 335 30 335 38 336 50 337 62 337 77 337 92 340 108 342 120 343 131 343 145 343 156 344 168 344 181 344 189 344 197 344 204 344 213 342 226 337 235 335 244 333 254 329 264 327 272 326 277 326 279 326 284 326 293 326 301 326 ; 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.

34 Drawing Pad

35 Design and implementation - Server

36 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

37 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.

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

39 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.

40 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.

41 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 )

42 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.

43 Questions ???


Download ppt "Created By : Dani Shaket Ran Zeller Supervisor : Alexander Shraer."

Similar presentations


Ads by Google