Message-Passing Communication Analyzer By Poonam Bijlani CSE 775- Distributed Objects Prof. Jim Fawcett.

Slides:



Advertisements
Similar presentations
Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.
Advertisements

Oct, 26 th, 2010 OGF 30, NSI-WG: Network Service Interface working group Web Services Overview Web Services for NSI protocol implementation
Categories of I/O Devices
COST724 Server Inter Process Communication on different machines implemented in PHP...
Middleware Support for RDMA-based Data Transfer in Cloud Computing Yufei Ren, Tan Li, Dantong Yu, Shudong Jin, Thomas Robertazzi Department of Electrical.
RPC Robert Grimm New York University Remote Procedure Calls.
.NET Remoting. .Net Remoting Replaces DCOM (Distributed Component Object Model – a proprietary Microsoft technology for communication among software components.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Scuola Superiore Sant’Anna Project Assignments Operating Systems.
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
.NET Remoting Architecture. Slide 2 CITE 4420.NET Remoting Topics Remoting Boundaries Crossing the Boundaries Distributed Applications Marshalling Channels.
.Net Remoting. 2 Distributed Computing under.Net In.Net, there are three levels of access to distributed computing machinery: In.Net, there are three.
Distributed Communication via ASP.Net Web Services and.Net Remoting By Richard King.
Client Call Back Client Call Back is useful for multiple clients to keep up to date about changes on the server Example: One auction server and several.
ECI – electronic Commerce Infrastructure “ An application to the Shares Market ” Demetris Zeinalipour ( Melinos Kyriacou
Intel Research & Development ETA: Experience with an IA processor as a Packet Processing Engine HP Labs Computer Systems Colloquium August 2003 Greg Regnier.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
FlowLevel Client, server & elements monitoring and controlling system Message Include End Dial Start.
Technical lssues for the Knowledge Engineering Competition Stefan Edelkamp Jeremy Frank.
DCS230 Centralized or Decentralized Data Transfer Prof. Nalini Venkatasubramanian -Myung Guk Lee -YunHo Huh -Abhinav.
Distributed Web Systems Distributed Objects and Remote Method Invocation Lecturer Department University.
SOCKET PROGRAMMING Presented By : Divya Sharma.
Jim Fawcett CSE775 – Distributed Objects Spring 2003
Review of Last Year’s Midterm
Module 12: I/O Systems I/O hardware Application I/O Interface
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
RSA Client and Executor B-Spec
Web Development Web Servers.
.NET Remoting Priyanka Bharatula.
Apartments and COM Threading Models
Architecture Concept Documents
Jim Fawcett CSE791 – Distributed Objects Spring 2001
CS533 Concepts of Operating Systems
MCA – 405 Elective –I (A) Java Programming & Technology
Chapter 2: System Structures
Out-of-Process Components
File Transfer and access
Chapter 3: Windows7 Part 4.
Programming Models for Distributed Application
Viney Sindhu Dr. Yanqing Zhang
CSE 451: Operating Systems Winter 2006 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Ch 15 –part 3 -design evaluation
Operating System Concepts
13: I/O Systems I/O hardwared Application I/O Interface
CS703 - Advanced Operating Systems
Time Gathering Systems Secure Data Collection for IBM System i Server
The Islamia University Bahawalpur
CSE 451: Operating Systems Winter 2004 Module 19 Remote Procedure Call (RPC) Ed Lazowska Allen Center
A Component-based Architecture for Mobile Information Access
CSE 451: Operating Systems Spring 2012 Module 22 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Remote Procedure Call Hank Levy 1.
Student: Popa Andrei-Sebastian
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Out-of-Process Components
Remote Procedure Call Hank Levy 1.
Chapter 5 멀티스레드 u-Network Design Lab 4.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Chapter 13: I/O Systems.
Lecture 7 ATL and Out-of-Process Components
Remote Procedure Call Hank Levy 1.
Jim Fawcett CSE791 – Distributed Objects Spring 2002
Message Passing Systems Version 2
Jim Fawcett CSE681 – Software Modeling & Analysis Fall 2008
CSE 451: Operating Systems Messaging and Remote Procedure Call (RPC)
Module 12: I/O Systems I/O hardwared Application I/O Interface
Jim Fawcett CSE681 – Software Modeling & Analysis Fall 2008
Software Architecture Taxonomy
Jim Fawcett CSE681 – Software Modeling & Analysis Fall 2008
Multi-Threaded Systems with Queues
Message Passing Systems
Presentation transcript:

Message-Passing Communication Analyzer By Poonam Bijlani CSE 775- Distributed Objects Prof. Jim Fawcett

Project Overview The message passing Communication Analyzer is implemented as a two way communication subsystem using .NET Remoting. Xml Messages are passed between the client and server. The system can be configured in any of the following activation modes: Singleton – one object for all clients Single Call – one object created for each call to the server Client Activated – one object for each client Configuration files are used to establish any of the activation modes

Project Overview..contd Sponsors are implemented to prevent the communication object from timing out if it is implemented as singleton or client activated. Average time to service a message is found by sending a stream of continuous messages between client and server.

Context Diagram Communication using .Net Remoting Xml Messages I/P User Interface Marshal ByRef Input and Client Proxy Server Output O/P Object Errors Errors Errors Errors

GUI

Client Classes

Server Classes

Configuration files, Controls and Interfaces Configuration Files used to set the remoting infrastructure between client and server. Also used to set the activation model. Controls XML Generator: Generates XML messages of required size HiRes Timer: Calculates the time, in microseconds, to send and receive a message from the client to the server and back. Interfaces ILease and ISponsor: Used for Lifetime management of Client Activated and Singleton Objects

Sponsors .NET Remoting uses a lease-based form of distributed garbage collection to manage the lifetime of remote objects. MyClientSponsor Class on the client side is used to renew the lease for Singleton and Client Activated objects after they have expired The sponsor implements the ISponsor interface and registers the Sponsor using the Register( ) method of the ILease interface. The Lease Manager calls the renewal( ) method to renew the lifetime of the objects. I have used a time span of 20 seconds which means that the Lease Manager renews the objects lease time by 20 seconds each time it calls the renewal ( ) method.

Client- Thread and Queues Send Queue Receive Queue Threads Main Thread- Handles GUI and queues request for server Communication Thread: Takes care of communication Receive Thread: De-queues messages posted by the communication thread and populates GUI

Server – Threads and Queues Send Queue Receive Queue Blocking Queues implemented on both client and server to avoid wasting CPU cycles Threads Communication Thread- Takes care of communication Worker Thread- Responsible for serving the Client’s requests

Communication Subsystem SERVER Communication Communication CLIENT Thread Thread RECIEVE Q Child Thread SEND Q dequeues, processes request enqueues Main Thread response XML MESSAGES RECIEVE Q Main Thread enqueues server Receiver requests/ Thread notifications SEND Q Singleton/ SingleCall/ ClientActivated Remotable Object

Client Activity Diagram

Server Activity

Event Trace Diagram

Singleton – 1 Client

Single Call – 1 Client

Client Activated – 1 Client

Comparative Graph- 1 Client

Singleton – Multi Client

Single Call – Multi Client

Client Activated – Multi Client

Comparative Graph- Multi Client

Uses Calculate performance of distributed applications using messages up to 100Kb eg. Chat Applications Can be modified by using PassByReference file transfer to measure the performance of distributed file systems, eg. FTP Can be used to compare speeds of different networks eg. Dial-up, Broadband etc.

Conclusion A message passing communication analyzer was successfully built and implemented using .NET remoting Further, it was operated in three modes: Singleton, Single Call and Client Activated A HiRes Timer was used to analyze the performance of the system with increasing message sizes for a single client and up to 8 clients for a single message size. Tests indicated that distributed applications where state preservation is not required, a client activated object should be preferred over Single Call. Further choice of activation mode depends on the specific requirements of the application under consideration.

Thank You Questions?