Presentation is loading. Please wait.

Presentation is loading. Please wait.

NODES NETWORK OVERLAY: DISTRIBUTED & EXTENSIBLE SERVICES COMP 410, SPRING 2015.

Similar presentations


Presentation on theme: "NODES NETWORK OVERLAY: DISTRIBUTED & EXTENSIBLE SERVICES COMP 410, SPRING 2015."— Presentation transcript:

1 NODES NETWORK OVERLAY: DISTRIBUTED & EXTENSIBLE SERVICES COMP 410, SPRING 2015

2 So What’s Going on Here? Goal: Type-safe network that supports arbitrary functionality and message types o Nodes can send, receive, or do both. o Node operation is completely undefined o Receivers make sure they are able to receive all of the sender’s data types Potential uses for this kind of network: o Data Pipeline o Multiplexing/Demultiplexing o Parallel Computation Engine o And so much more!

3 Example Use Case Temperature Sensor Is the temperature too high? > 100 °F Is the temperature too high? > 100 °F If yes, SOUND THE ALARM!

4 Example Use Case Temperature Sensor Is the temperature too low? < -10 °F Is the temperature too low? < -10 °F If yes, SOUND THE ALARM!

5 How is the System Used?

6 Design Phase ◦The Network Team ◦Developed underlying technology for node connection ◦The Node API Team ◦Decided what a node could access within the network ◦The Message Team ◦Created messages to send data and commands over the network ◦Focus was implementation specific to demonstrate our technology

7 Implementation Phase ◦The Shared Library Team ◦Coded the API + network backbone ◦The Message Library Team ◦Standardized serialization/deserialization mechanism ◦The Expert Implementation Team ◦ Implemented more complicated node behaviors for the demo ◦The Demo & Presentation Team ◦Planned the demo network ◦Created the presentation of network capabilities

8 How the Components Fit Together

9 The Three Types of Nodes Temperature Sensor Is the temperature too high? If yes, SOUND THE ALARM! SourceRelayDisplay

10 The Three Types of Nodes Sender Is the temperature too high? Receiver SourceRelayDisplay SenderReceiver

11 Sender Sender(Set outgoingTypes) void Sender#connectTo(String host, int port) void Sender#send(String type, Byte[] serializedMessageBody) void Sender#disconnectFromAll()

12 Receiver Receiver(Map > handlers) void Receiver#listen(int port) void Receiver#stopListening()

13 Motivation for the Network Library Our Goal: ◦Provide reliable and convenient data transfer mechanism Our Solution ◦Used tcp/ip C# socket ◦Alternatives: WCF. Added unneeded complexity ◦Network library is decoupled

14

15 Motivation for the Message Library Our Goal: ◦Handle new, arbitrary data types in both information and commands Our Solution ◦Shared Message Library with packaging/serialization tools that can be expanded for any information type/command.

16 A Shared Extendable Message Library Commands, information types, all treated similarly ◦Information/command stored in a message object ◦Message is JSON-serialized and then sent. The string is arbitrary, so the message types can be extended arbitrarily

17

18 Data Types Data types/commands we implemented: ◦IntDataCmd, FloatDataCmd, StringDataCmd, ArrayDataCmd, FileDataCmd ◦ShutdownCmd, ConnectToChildCmd, BroadcastCmd, JavaScriptCmd, ResetStateCmd

19


Download ppt "NODES NETWORK OVERLAY: DISTRIBUTED & EXTENSIBLE SERVICES COMP 410, SPRING 2015."

Similar presentations


Ads by Google