brief overview of.net remoting.net remoting is a java rmi-like remote method invocation mechanism...
Post on 21-Dec-2015
217 views
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](https://reader030.vdocument.in/reader030/viewer/2022033106/56649d595503460f94a39758/html5/thumbnails/1.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022033106/56649d595503460f94a39758/html5/thumbnails/2.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022033106/56649d595503460f94a39758/html5/thumbnails/3.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022033106/56649d595503460f94a39758/html5/thumbnails/4.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022033106/56649d595503460f94a39758/html5/thumbnails/5.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022033106/56649d595503460f94a39758/html5/thumbnails/6.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022033106/56649d595503460f94a39758/html5/thumbnails/7.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022033106/56649d595503460f94a39758/html5/thumbnails/8.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022033106/56649d595503460f94a39758/html5/thumbnails/9.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022033106/56649d595503460f94a39758/html5/thumbnails/10.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022033106/56649d595503460f94a39758/html5/thumbnails/11.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022033106/56649d595503460f94a39758/html5/thumbnails/12.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022033106/56649d595503460f94a39758/html5/thumbnails/13.jpg)
Progress
• What is done– Basic prototype of Streaming .NET Remoting– Pushing mechanism is supported
• TODO– Aggregation– Forwarding