Brief Overview of.NET Remoting.NET Remoting is a Java RMI-like remote method invocation mechanism Infrastructure of.NET Remoting is highly customizable.

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

COM vs. CORBA.
 2002 Prentice Hall. All rights reserved. Chapter 9: Servlets Outline 9.1 Introduction 9.2 Servlet Overview and Architecture Interface Servlet and.
Simple PEer to peER File System (SPEERFS) Done by: Assaf WaksmanBenny Pano Supervised by: Uri Schonfeld On Spring 2005.
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
.NET Remoting. .Net Remoting Replaces DCOM (Distributed Component Object Model – a proprietary Microsoft technology for communication among software components.
Remote Method Invocation
Broker Pattern Pattern-Oriented Software Architecture (POSA 1)
Architectural Pattern: Broker
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
後卓越子計畫報告 PLLAB 李政崑教授. Component Remoting Technology Map.
Persistent State Service 1 Performance, Scalability and Management  Topic  Refining the object model  Threading models  Distributed callbacks  Iterators.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
Streaming Support for.NET Remoting over Peer-to-Peer Environments.
Previous and Ongoing Research. Component Remoting Technology Map.
Middleware Technologies compiled by: Thomas M. Cosley.
Understanding Networked Applications: A First Course Chapter 12 by David G. Messerschmitt.
Performance Management 1 Performance, Scalability and Management  Topic  Refining the object model  Threading models  Distributed callbacks  Iterators.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved L22 (Chapter 25) Networking.
Client-Server Communication Sockets Remote Procedure Calls Remote Method Invocation (Java)
TENA Test and Training Enabling Architecture. TENA TENA is used in range environments, often in the L portion of LVC Slightly different emphasis; small.
Distributed Systems Tutorial 3 -.NET Remoting – Crossing Application Boundaries.
.NET Mobile Application Development Remote Procedure Call.
Boris Tshibangu. What is a proxy server? A proxy server is a server (a computer system or an application) that acts as an intermediary for requests from.
A Framework for Smart Proxies and Interceptors in RMI Nuno Santos P. Marques, L. Silva CISUC, University of Coimbra, Portugal
DEMIGUISE STORAGE An Anonymous File Storage System VIJAY KUMAR RAVI PRAGATHI SEGIREDDY COMP 512.
Introduction to Ice Copyright © ZeroC, Inc. Ice Programming with Java 1. Introduction to Ice.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 12 Communicating over.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Software Architecture Framework for Ubiquitous Computing Divya ChanneGowda Athrey Joshi.
Enterprise Java Bean Matt. 2 J2EE 3 J2EE Overview.
Cli/Serv.: rmiCORBA/131 Client/Server Distributed Systems v Objectives –introduce rmi and CORBA , Semester 1, RMI and CORBA.
How computer’s are linked together.
Data Oriented Network Architecture (DONA) Andrey Ermolinskiy Mohit Chawla CS 262 A Project Poster December 14.
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
1 Chapter 28 Networking. 2 Objectives F To comprehend socket-based communication in Java (§28.2). F To understand client/server computing (§28.2). F To.
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.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 43 Remote Method Invocation.
Transparent Mobility of Distributed Objects using.NET Cristóbal Costa, Nour Ali, Carlos Millan, Jose A. Carsí 4th International Conference in Central Europe.
Eric Tryon Brian Clark Christopher McKeowen. System Architecture The architecture can be broken down to three different basic layers Stub/skeleton layer.
Copyright © Genetic Computer School 2008 Computer Systems Architecture SA Lesson 12 The TCP/IP Protocol Suite.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
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.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
1 Distributed Systems Distributed Object-Based Systems Chapter 10.
© 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.
Message Framework Topic subscribe for javascript/flex client.
Project Title: Establishing communication between the server and Envirobat using TCP/IP Presented by Apourva.P.
Java Networking I IS Outline  Quiz #3  Network architecture  Protocols  Sockets  Server Sockets  Multi-threaded Servers.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
The process of establishing a connection between a client and a server is called as Client – Server communication.
Computer Science Lecture 4, page 1 CS677: Distributed OS Last Class: RPCs RPCs make distributed computations look like local computations Issues: –Parameter.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed Web Systems Distributed Objects and Remote Method Invocation Lecturer Department University.
Remote execution of long-running CGIs
03 – Remote invoaction Request-reply RPC RMI Coulouris 5
Chapter 3 Internet Applications and Network Programming
Remote Method Invocation
DISTRIBUTED COMPUTING
Architectures of distributed systems Fundamental Models
Could Jiro™ Extend the Jini™ Pattern Lanuguage?
Architectures of distributed systems Fundamental Models
Presentation transcript:

Brief Overview of.NET Remoting.NET Remoting is a Java RMI-like remote method invocation mechanism Infrastructure of.NET Remoting is highly customizable The ability of.NET Remoting can be easily extended by customization

Streaming.NET Remoting Extend.NET Remoting to provide network streaming ability –Keep the object-oriented characteristic of.NET Remoting –Hide network communication details –Provide the ability to communicate simultaneously with multiple supplying peers

Streaming.NET Remoting Pushing –Push streaming data from server to client automatically Forwarding –Each client can forward streaming data to other client to reduce server load Aggregation –Clients aggregate data from different servers to make it meaningful S C C S S C

Pushing Mechanism Ordinary.NET Remoting –Client need to actively pull data from server –There is a round-trip latency caused by each pull

Pushing Mechanism Pushing from server to Client –Client passively receive data from its buffer –With pushing, we can reduce times of request –Client need only to send 1 request containing the schedule a the beginning of the streaming session

Aggregation Clients schedule what and how servers should send at the beginning of a streaming session Clients should be capable of how to aggregate data from different servers S C S S C

Forwarding Mechanism When a client request for a specific stream in the network, other subscribers of the stream can forward to it Server load can be reduced C S C C C S C C

Our Implementation

Components Custom Proxy –Inherits from RealProxy of.NET Remoting –Intercepts method invocations from upper level and pass them to Streaming Controller –Has the ability to create more than one Remoting connections

Components Streaming Controller –Receive Remoting messages intercepted by Custom Proxy –Distribute method invocation messages to many servers in the network –Schedule how servers should partition or process their data before sending –Responsible for aggregation of data from lower layer

Components Continuous Buffer –Buffer data from upper layer –Automatically push data from server-side to client-side –Client retrieve data without make method calls every time

Components Push Manager –Push manager understands the schedule plan from the client –Periodically loads streaming data by calling the remote object instance –It will write data to continuous buffer to wait to be sent

Progress What is done –Basic prototype of Streaming.NET Remoting –Pushing mechanism is supported TODO –Aggregation –Forwarding