Top Banner
Brief Overview of .NET Rem oting .NET Remoting is a Java RMI-like remo te method invocati on mechanism Infrastructure of . NET Remoting is hi ghly customizable The ability of .NE T Remoting can be easily extended by customization
13

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

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Brief Overview of.NET Remoting.NET Remoting is a Java RMI-like remote method invocation mechanism Infrastructure of.NET Remoting is highly customizable.

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

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

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

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

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

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

Pushing Mechanism

• Ordinary .NET Remoting– Client need to actively pull

data from server– There is a round-trip latenc

y caused by each pull

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

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 schedulea the beginning of thestreaming session

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

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

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

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

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

Our Implementation

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

Components

• Custom Proxy– Inherits from RealProxy of

.NET Remoting– Intercepts method invocati

ons from upper level and pass them to Streaming Controller

– Has the ability to create more than one Remoting connections

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

Components

• Streaming Controller– Receive Remoting messages in

tercepted by Custom Proxy– Distribute method invocation m

essages 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

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

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

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

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

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

Progress

• What is done– Basic prototype of Streaming .NET Remoting– Pushing mechanism is supported

• TODO– Aggregation– Forwarding