LRVC Protocols. L R V C P r o t o c o l s P a g e 1. Revision History: Date Version Author Changes. 1/28/2012 v0.1 Matthew Wickesberg Initial draft.

Size: px
Start display at page:

Download "LRVC Protocols. L R V C P r o t o c o l s P a g e 1. Revision History: Date Version Author Changes. 1/28/2012 v0.1 Matthew Wickesberg Initial draft."

Transcription

1 L R V C P r o t o c o l s P a g e 1 v0.2 Revision History: Date Version Author Changes 1/28/2012 v0.1 Matthew Wickesberg Initial draft. 2/9/2012 V0.2 Matthew Wickesberg Revised draft.

2 L R V C P r o t o c o l s P a g e 2 Contents 1. Introduction The LRVC Protocol Intended Audience Background: LRVC Project Description Common Definitions/Acronyms LRVC Protocol Overview Extension of the Protocol Protocol Phase Description The LRVC Network LRVC Protocol Details The Connection Phase - Overview The Connection Phase The Details AccessDenied Message Structure: AccessGranted Message Structure: GetKnownVehicles Message Structure: NoKnownVehicle Message Structure: KnownVehicle Message Structure: LastKnownVehicle Message Structure: VehiclesReceived Message Structure: The Configuration Phase - Overview The Configuration Phase The Details GetObjects Message Structure: NoKnownObjects Message Structure: KnownObject Message Structure: LastKnownObject Message Structure: ControllerConfigured Message Structure: The Control Phase Overview The Control Phase The Details Control Message Structure: Status Message Structure: VideoStreamDisabled Message Structure: VideoStreamEnabled Message Structure:... 20

3 L R V C P r o t o c o l s P a g e 3 4. LRVC Server Design The LRV Embedded System Interface (Recommended) The LRV Command Message (Recommended) The LRV Status Message (Recommended)... 22

4 L R V C P r o t o c o l s P a g e 4 1. Introduction 1.1 The LRVC Protocol The LRVC Protocol is the communication protocol used to in the communication between LRVC Servers, Virtual Controllers, and LRVs. This document aims to give the reader a brief introduction into the LRVC project and serve as the standard for the LRVC Protocol. The LRVC Protocol can be described as a network technology, a software system, and a recommended LRV embedded interface. With that, the rest of the document is broken down into a few main sections The LRVC Network Structure and Protocol (Sections 2 and 3) The LRVC Server Design (Section 4) A Recommended LRV Embedded System Interface (Section 5) 1.2 Intended Audience This document is intended for anyone who is interested in creating, extending, understanding, or designing the command and control system for LRVs, LRVC Servers, or Virtual Controllers. 1.3 Background: LRVC Project Description The Long Range Vehicle Control (LRVC) project is a collaborative effort to design a system of communication and control of a wide variety of vehicles from anywhere in the world. It is being driven as a joint venture of Purdue University and Hong Kong University of Science and Technology (HKUST). Our aims are simple; to develop something that is easy to use, interesting in technical aspects, and demonstrates a level of knowledge that merits the issuance of a degree in ECE. The project is comprehensive in the sense that it contains the following components LRVC Server software creation The LRVC Server is a Java based server that mediates the communication of multiple Virtual Controllers and vehicles. The server will communicate via the LRVC Protocol with Virtual Controllers and custom communication protocols with vehicles. This part is created once for the project. Virtual Controller creation This is an Android application that configures itself to communicate for a specific vehicle. The application communicates solely via the LRVC Protocol. This part is created once for the project. Long Range Vehicle (LRV) hardware platform development This will consist of creating a remote controlled special utility vehicle that can communicate and be controlled by an LRVC Server. This includes design and creation of a PCB integrating various sensory equipment, PandaBoard setup, Wireless communication setup, and USB camera integration. This part is created in a per team basis. Long Range Vehicle (LRV) embedded system creation - This is the embedded software that allows a vehicle to communicate and be controlled by the LRVC Server. Additionally, most teams will create embedded software to integrate sensory information and add special functionality to a vehicle. This part is created in a per team basis. The LRVC project s fledgling vehicles will be the following; A tank platform, called Super Tank, being developed by the Purdue team and a?? platform being developed by HKUST.

5 L R V C P r o t o c o l s P a g e Common Definitions/Acronyms Term/Acronym LRVC Project LRV LRVC Protocol LRVC Server Virtual Controller User Definition Long Range Vehicle Control Project - The focus of the Purdue and HKUST team s Senior Design projects. Long Range Vehicle The vehicle that is controlled by a Virtual Controller via the LRVC Protocol. Long Range Vehicle Control Protocol The method/specification of communication between a Virtual Controller and an LRV. Long Range Vehicle Control Server The intermediary that understands both the LRVC Protocol and an LRV s embedded interface. Additionally, it facilitates the communication between multiple Virtual Controllers and LRVs concurrently. An android app that allows a User to control an LRV. Its termed virtual because the controller is implemented in software rather than hardware. The person that is controlling an LRV via a Virtual Controller. HKUST Super Tank MAC Address Authentication Port Control Port Video Port Hong Kong University of Science and Technology. The LRV platform that is being developed by the Purdue team. Media Access Control Address A unique identifier for a communication systems network interface hardware. A port on the LRVC Server that facilitates Virtual Controller connection and authentication. This is always TCP Port 9999 on the LRVC Server. A port on the LRVC Server that facilitates non-video command and control between a Virtual Controller and an LRV. This is always an even port and is TCP Port on the LRVC Server. A port on the LRVC Server that facilitates video feedback from an LRV to a Virtual Controller. This is always an odd UDP port and is 1 greater than the Virtual Controller s TCP control port on the LRVC Server. 2. LRVC Protocol Overview The LRVC Protocol provides a framework for communications between a Virtual Controller and an LRV. The LRVC Protocol has been designed to be flexible enough to accommodate a diverse set of functionalities in an LRV yet structured enough to yield a fair amount of code re-use between LRV implementations. Specifically, it has been designed and constructed to achieve the following properties; Property Android Compatible Extendable Robust UI Support Streams Video Efficiently Handles Multiple Controllers Concurrently Secure Reason/Implementation The protocol exposes a set of services that are its public interface. This service set interface can then be interfaced with an Android application. The protocol allows for extension of communication through plug-and-play construction of GUI components with specific data bindings on an Android App. More on this explained following this chart. The protocol provides an interface that supports robust interactive GUI components for the Virtual Controller. The protocol is designed to use RTP (Real Time Protocol). RTP is a commercial quality, relatively simple protocol used in many audio visual applications for streaming data. The Connection Phase allocates the Control port for a Visual Controller connection. This allocation is decided at runtime and can be dynamically allocated. The Connection Phase relays all connections through a known Authentication Port. This port runs a service that actively checks the MAC address of a device and compares it with a known

6 L R V C P r o t o c o l s P a g e 6 Property set of trusted MAC addresses. Reason/Implementation 2.1 Extension of the Protocol The basic idea is that the protocol allows extension and custom implementation through creating custom GUI objects (Java objects that contain a known CustomLRVCObjects interface), serializing them through the standard Java library, and interfacing them through the controllers GUI. Thus, the custom implementation is achieved not by modifying the LRVC Protocol but by adjusting the bindings of these GUI components. A team that would like to create their own implementation of the protocol to run their own LRV would execute the following steps: Design a Virtual Controller with the desired functionality that extends the base Virtual Controller layout as depicted in Figure XX. Designate unique opcodes that all of your non-standard GUI components will output on your Virtual Controller when they are activated. Designate an input interface to provide feedback for every one of your on-standard GUI components. Wrap your above design into a set of unique Java classes that implement the CustomLRVCObject interface and extend JPanel. Compile these objects and upload them into the LRVC Server s GUI Object Repository. Write a set of KnownObject messages that will serve to download your non-standard GUI objects onto a Virtual Controller. Upload this into the LRVC Server s Controller Layouts Repository. Add the vehicle s MAC address to the knownmacs.txt list on the LRVC Server. Add your android device s MAC address to the knownmacs.txt list on the LRVC Server. Create your LRV s embedded system to handle the buffered opcode stream being sent to your LRV or create a thin translator class that converts the buffered opcode stream to a communication of your choice. Create a new unique Vehicle UID and add it to the LRVC Server s VehicleToUIDMapping class. Upload a picture and description of your LRV and upload it to the LRVC Server s Vehicle Description Repository. The picture must be a bitmap format (.bmp) and be named ###.bmp where ### is your Vehicle s UID. The description is ###.txt where ### is your Vehicle s UID. 2.2 Protocol Phase Description The LRVC Protocol operates in three distinct phases for a given Virtual Controller. Each of the phases are mutually exclusive with each other and utilize 1 or more TCP/IP connections for command and control of the LRV. The first phase is the Connection Phase - This phase is responsible for the security and resource allocation of the LRVC Server along with providing services for the Virtual Controller to provide a User with a selection screen of LRV options. The second is the Configuration Phase This phase is responsible for the configuration of a Virtual Controller. It populates the Virtual Controller with a standard interface of

7 L R V C P r o t o c o l s P a g e 7 Standard Objects and a unique set of custom objects called Non-Standard Objects. These objects all have a known interface. Their input is a generic byte[] which is operable by the object and their output is a 8 bit opcode. These inputs and outputs create a set of data bindings that allow the protocol to by dynamic and facilitate communication to numerous unique LRVs. The third is the Control Phase This phase is responsible for synchronously distributing opcodes (aka commands) to an LRV at the rate of 10Hz. Additionally, it wraps and transports the LRV s feedback as Status Messages back to the Virtual Controller at a rate of 10Hz. Lastly, it facilitates a video feed from the LRV back to the Virtual Controller at a target rate of 20Hz. 2.3 The LRVC Network The LRVC Network is created by the following layout of Virtual Controllers, LRVC Server, and LRVs. In this topology, the LRVC Server is simply a central communication hub between controllers and vehicles. Figure 1 - An LRVC Network

8 L R V C P r o t o c o l s P a g e 8 Specifically, the LRVC Network has a connection topology of the following. Figure 2 - LRVC Network Port Mappings The diagram pictorially represents the ranges of mutually exclusive TCP and UDP ports that can be used in an LRVC network. The sequence for a normal communication session of a Virtual Controller with the LRVC Server is the following. The first connection that takes place is a controller attempting to gain access to command and control services of the LRVC service. This is done by a controller initiated connection with the LRVC Server s Authentication Port. The Authentication Port is outlined in blue and is always TCP Once the controller has been deemed trusted the LRVC Server then responds with the location of an allocated Control Port that the Virtual Controller may use. After it has been signaled that the message has been received the LRVC Server severs the Authentication Port connection leaving room for a new Virtual Controller to connect and get authenticated.

9 L R V C P r o t o c o l s P a g e 9 The Virtual Controller then proceeds to connect to its assigned Control Port (outlined in green). A series of communications occur that present the user with a selection guide of vehicles to choose from. Once the user has chosen a vehicle the LRVC Server attempts to establish a connection with the LRV. The LRVC does these connections through the TCP ports outlined in orange. Commands are now able to be communicated from the controller to the vehicle and feedback is able to be relayed back to the controller. After this the LRVC Server tells the user if a video stream may be obtained. If it can the Controller connects to the LRVC Server s UDP Video Port (outlined in orange) and the LRVC Server connects with the vehicle s Video Port. After valid connections the video is streamed from the vehicle to the Virtual Controller via RTP or pixel dump screen captures.

10 L R V C P r o t o c o l s P a g e LRVC Protocol Details 3.1 The Connection Phase - Overview Here s a look at a typical connection communication: Figure 3 - Authenticating, Connecting, and Obtaining Known Vehicles From the LRVC Server Explanation: The connection phase will be facilitated by an initial controller request to the LRVC Server. The very first action will be an attempt to connect on the Authentication port of This Authentication port will serve as a security gateway to get into the LRVC Server. There a few responses that can happen after an authentication connection attempt. First, the port may not be open as it may be in use by another controller that is trying to authenticate. This will result in a connection error by the TCP/IP stack. If the authentication port is available a connection of the controller to TCP 9999 will occur. Once the connection occurs, the LRVC Server will compare the controller s MAC address to a list of trusted MACs. If the controller is secure and its MAC is trucsted the Server will respond with an AccessGranted message that contains information as to which port the controller should connect to next. If the controller is not trusted (i.e. MAC is not in the trusted MAC list) the LRVC Server will respond with an AccessDenied message and sever the connection.

11 L R V C P r o t o c o l s P a g e 11 Once the LRVC Server deems it is dealing with a trusted device it will map the trusted device to a unique Control port that the device may use. This control port is the port that the controller was supplied with in the AccessGranted message. The Server will then wait for the controller to connect to its Control port while serving other controllers concurrently. Once the controller establishes a connection with its Control Port the controller will issue a GetKnownVehicles message to the Server. The Server will then check to see how many vehicles it has registered to it and will It will respond with the appropriate NoKnownVehicle, KnownVehicle, and LastKnownVehicle response messages. This will serve to populate the controller with a list of vehicles that it can select to control. Upon a LastKnownVehicle response the controller will configure its Android application to show the user a list of selectable vehicles. After that has been successfully completed the controller issues a VehiclesReceived response message. 3.2 The Connection Phase The Details First, heres a complete reference to the possible messages used during the Connection Phase. Message AccessDenied AccessGranted GetKnownVehicles NoKnownVehicle KnownVehicle LastKnownVehicle VehiclesReceived Dir. S->C S->C C->S S->C S->C S->C C->S Description Response message that tells the Controller that it has been denied access. After this message the communication is terminated. Response message that tells the Controller that it is trusted and it can proceed. In this response message there is a Control Port field that tells the Controller which TCP port has been allocated as its Control Port. A request by the Controller that can only be facilitated on the Controller s own Control port. It initiates a sequence of responses that tell the Controller which vehicles are active and controllable. A response to a GetKnownVehicles request that tells the Controller that there are no controllable vehicles at this time. A response that contains information about a vehicle that is controllable. The response contains a small bitmap picture of the vehicle and a description of its functions that can be displayed to the User. Also, the response implicitly implies that there are additional vehicles that are controllable and additional KnownVehicle and LastKnownVehicle responses are coming. A response that contains information about a vehicle that is controllable. The response contains a small bitmap picture of the vehicle and a description of its functions that can be displayed to the User. Also, the response implicitly implies that this is the last vehicle that is controllable. A response from the Controller to the Server dictating that all of the KnownVehicle and LastKnownVehicle requests have been received properly AccessDenied Message Structure: x"00 Denial Message N [2:End] A sequence of ASCII characters that give some information as to why access has been denied.

12 L R V C P r o t o c o l s P a g e AccessGranted Message Structure: x"01 Acceptance Message N [2:End] A sequence of ASCII characters that give some information as to why access has been granted GetKnownVehicles Message Structure: x" NoKnownVehicle Message Structure: x" KnownVehicle Message Structure: Vehicle UID Image Size Vehicle Picture Vehicle Description x"04 4 [2:5] An unsigned integer that uniquely maps to a vehicle. This mapping is maintained in the LRVC Server. 4 [6:9] An unsigned integer that has the size of the bitmap file (.bmp) that follows. N [10:9+N] The picture of the vehicle. Bitmap format (bmp). M [10+N:End] A string of ASCII characters that give a brief description of the vehicle LastKnownVehicle Message Structure: x"05

13 L R V C P r o t o c o l s P a g e 13 Vehicle UID Image Size Vehicle Picture Vehicle Description 4 [2:5] An unsigned integer that uniquely maps to a vehicle. This mapping is maintained in the LRVC Server. 4 [6:9] An unsigned integer that has the size of the bitmap file (.bmp) that follows. N [10:9+N] The picture of the vehicle. Bitmap format (bmp). M [10+N:End] A string of ASCII characters that give a brief description of the vehicle VehiclesReceived Message Structure: x" The Configuration Phase - Overview Once a Controller has finished the Connection Phase and the User has selected a vehicle the Configuration Phase begins. This phase is responsible for setting up the Virtual Controller correctly and has a system for creating proper controller bindings. Below is a typical Configuration Phase. Figure 4 - Typical Configuration Phase Communications Explanation: We are now operating exclusively on the Control Port that has been ascribed for the controller. At the beginning of this phase the Controller now displays a scrollable list of vehicle selections that the

14 L R V C P r o t o c o l s P a g e 14 user can choose to control. Once the user selects a vehicle the Controller issues a GetObjects request to get the controller objects that are associated with the selected vehicle. The Server then goes on to send a sequence of KnownObject and LastKnownObject messages that contains all of the information that is required to configure the Controller s GUI and its objects bindings. One of the first things to note is that every Controller GUI can be broken up into 2 different distinct categories; (1) Standard Objects, objects that every controller explicitly contains. These include a directional pad, fire button, a status message area, and a video display amoungst others. (2) Non- Standard Objects, objects that are specific to a particular vehicle. These include special functions and feature GUI elements such as, turret movement, radar display, etc Each of the KnownObject and LastKnownObject messages correspond to a Non-Standard Object that can be placed on the Virtual Controller s GUI. The messages contain information regarding the layout, the type, the characteristics, and the interface into the object. The interface can be broken down into 2 parts. (1) Outputs This is the opcode that is sent out by the controller when the particular object is activated. (2) Inputs These are status messages that are represented as byte arrays. These input byte arrays allow custom objects to display fairly interesting behavior such as a radar that can display blips where obstacles have been found. Finally, once all these objects have been received the Controller finishes the Configuration Phase by sending a ControllerConfigured message to the LRVC Server. 3.4 The Configuration Phase The Details First, heres a complete reference to the possible messages used during the Configuration Phase. Message GetObjects NoKnownObjects KnownObject LastKnownObject ControllerConfigured Dir. C->S S->C S->C S->C C->S Description This message is issued by the Controller after a user has selected a vehicle to control. It requests any non-standard objects that need to be placed on the Virtual Controller. A response to a GetObjects request that tells the Controller that there are no non-standard objects that need to be added to the virtual controller. A response that contains information about a non-standard component that will be on the Virtual Controller. The response contains various details as to how the object will be placed on the controller and how the object will be interfaced to (a.k.a. its bindings). The bindings include what opcodes that the object can issue and what bytes can be received by the object. Also, the response implicitly implies that there are additional non-standard objects that are going to be placed and additional KnownObject and LastKnownObject responses are coming. A response that contains information about a non-standard component that will be on the Virtual Controller. The response contains various details as to how the object will be placed on the controller and how the object will be interfaced to (a.k.a. its bindings). The bindings include what opcodes that the object can issue and what bytes can be received by the object. Also, the response implicitly implies that there are additional non-standard objects that are going to be placed and additional KnownObject and LastKnownObject responses are coming. Also, the response implicitly implies that this is the last non-standard object to be placed. A response from the Controller to the Server dictating that all of the NoKnownObject, KnownObject and LastKnownObject requests have been received properly. It signals that the Virtual Controller has finished being configured.

15 L R V C P r o t o c o l s P a g e GetObjects Message Structure: Requested Vehicle UID x 07 4 [2:5] The vehicle UID that appeared in the Controller s received KnownVehicle and LastKnownVehicle messages. This is the UID of the vehicle that the User selected to control NoKnownObjects Message Structure: x" KnownObject Message Structure: Object Props Object Label Size Object Label Object Background Color Object Text Color Object UID x"09 1 [2:2] Bit 0 (0) = Is a Java Object, (1) = Is an Custom Object (Implements the CustomLRVCObject interface) Bit 1 (0) = Java Object is a Rectangle, (1) = The Java Object is a Circle Bit 2 (0) = Java Object does not have a label, (1) = It does have label. Bit 3 (0) = Java Object is not colored, (1) = Java Object is colored. Bit 4 (0) = Java Object is a not a TextBox, (1) = It is a TextBox Bit 5 (0) = Not Implemented Yet Bit 6 (0) = Not Implemented Yet Bit 7 (0) = Not Implemented Yet 1 [3:3] Number of ASCII characters that comprise the label. Only exists if the object satisfies the following requirements: - It is a Java Object (ObjectProps[0] = 0 ) - It is an object with a label (ObjectProps[2] = 1 ) N [4:3+N] The label that will be written on the object. This is encoded in single byte ASCII. Only exists if the object satisfies the following requirements: - It is a Java Object (ObjectProps[0] = 0 ) - It is an object with a label (ObjectProps[2] = 1 ) 4 Varies The background color of the object represented as a 4 byte alpha RGB value. Only exists if the object satisfies the following requirements: - It is a Java Object (ObjectProps[0] = 0 ) - It is a colored object (ObjectProps[3] = 1 ) 4 Varies The text color of the object represented as a 4 byte alpha RGB value. Only exists if the object satisfies the following requirements: - It is a Java Object (ObjectProps[0] = 0 ) - It is a colored object (ObjectProps[3] = 1 ) 4 Varies An unsigned integer that uniquely maps to an object on a controller. This mapping is maintained in the LRVC Server for each controller. NOTE: Can t be a standard object, hence can t start with a 0 bit.

16 L R V C P r o t o c o l s P a g e 16 CustomLRVCObject Size CustomLRVCObject Panel Selection Row Number Column Number Opcode 4 [3:6] An unsigned integer that has the size of the serialized class that will follow in the message. Only exists if the object satisfies the following requirements: - It is a Custom Object (ObjectProps[0] = 1 ) M [7:6+M] A serialized compiled object file that will be layed out onto the Virtual Controller. Only exists if the object satisfies the following requirements: - It is a Custom Object (ObjectProps[0] = 1 ) 1 Varies Which panel should the object be placed into (1 or 2). Values may be x 01 or x Varies Which Row of the selected panel should the object be placed in. Possible values are Varies Which Column of the selected panel should the object be placed in. Possible Values are Varies Opcode that has been mapped to the object. This is the unique byte that is communicated every time this object is Activated or Active. NOTE: This may not be a known Opcode that is one of the standard opcodes LastKnownObject Message Structure: Object Props Object Label Size Object Label Object Background Color Object Text Color Object UID CustomLRVCObject Size x"09 1 [2:2] Bit 0 (0) = Is a Java Object, (1) = Is an Custom Object (Implements the CustomLRVCObject interface) Bit 1 (0) = Java Object is a Rectangle, (1) = The Java Object is a Circle Bit 2 (0) = Java Object does not have a label, (1) = It does have label. Bit 3 (0) = Java Object is not colored, (1) = Java Object is colored. Bit 4 (0) = Java Object is a not a TextBox, (1) = It is a TextBox Bit 5 (0) = Not Implemented Yet Bit 6 (0) = Not Implemented Yet Bit 7 (0) = Not Implemented Yet 1 [3:3] Number of ASCII characters that comprise the label. Only exists if the object satisfies the following requirements: - It is a Java Object (ObjectProps[0] = 0 ) - It is an object with a label (ObjectProps[2] = 1 ) N [4:3+N] The label that will be written on the object. This is encoded in single byte ASCII. Only exists if the object satisfies the following requirements: - It is a Java Object (ObjectProps[0] = 0 ) - It is an object with a label (ObjectProps[2] = 1 ) 4 Varies The background color of the object represented as a 4 byte alpha RGB value. Only exists if the object satisfies the following requirements: - It is a Java Object (ObjectProps[0] = 0 ) - It is a colored object (ObjectProps[3] = 1 ) 4 Varies The text color of the object represented as a 4 byte alpha RGB value. Only exists if the object satisfies the following requirements: - It is a Java Object (ObjectProps[0] = 0 ) - It is a colored object (ObjectProps[3] = 1 ) 4 Varies An unsigned integer that uniquely maps to an object on a controller. This mapping is maintained in the LRVC Server for each controller. NOTE: Can t be a standard object, hence can t start with a 0 bit. 4 [3:6] An unsigned integer that has the size of the serialized class that will follow in the message. Only exists if the object satisfies the following requirements: - It is a Custom Object (ObjectProps[0] = 1 )

17 L R V C P r o t o c o l s P a g e 17 CustomLRVCObject Panel Selection Row Number Column Number Opcode M [7:6+M] A serialized compiled object file that will be layed out onto the Virtual Controller. Only exists if the object satisfies the following requirements: - It is a Custom Object (ObjectProps[0] = 1 ) 1 Varies Which panel should the object be placed into (1 or 2). Values may be x 01 or x Varies Which Row of the selected panel should the object be placed in. Possible values are Varies Which Column of the selected panel should the object be placed in. Possible Values are Varies Opcode that has been mapped to the object. This is the unique byte that is communicated every time this object is Activated or Active. NOTE: This may not be a known Opcode that is one of the standard opcodes ControllerConfigured Message Structure: x"0b

18 L R V C P r o t o c o l s P a g e The Control Phase Overview Once a Controller has finished the Configuration Phase and the User is now in control of the vehicle. This is called the Control Phase. Below is a typical Control Phase. Figure 5 - Controlling Communications Explanation: The Control Phase is comprised of 2 concurrent processes, 1 that is required, and 1 that is optional. The required process is the Control Process (Process #1). This process synchronously sends control information from the Controller to the LRVC Server in the form of Control Messages through the main Control Port at 10 Hz. These Control Messages contain a buffered list of activated GUI component opcodes. Each Control Message is responded to, in kind, by Status Messages. These Status Messages contain a list of statuses and byte stream responses for various GUI components on the Controller. The optional process is the Video Stream Process (Process #2). This process will stream video via the Real Time Protocol (RTP) on a UDP port. The port number for this UDP port is always 1 more

19 L R V C P r o t o c o l s P a g e 19 than the Control Port number, we ll call this the Video Port. This stream can be initiated by a connection attempt by the Controller on the Video Port. The Server then analyzes if its possible to stream video to the controller and responds with an appropriate VideoStreamDisabled or VideoStreamEnabled message. If the video is enabled then the RTP Video Snippets stream to the Controller at 20Hz. 3.6 The Control Phase The Details First, heres a complete reference to the possible messages used during the Control Phase. Message Control Status VideoStreamDisabled VideoStreamEnabled Dir. C->S S->C S->C S->C Description This message is issued by the Controller every 10Hz indicating all of the opcodes that were active in the last 100 ms. A response to every Control message that has been received. This message also buffers various events and feedback as Status instances and includes them as a list. The Status Instance contains a target GUI Component on the controller and a byte-stream that will be processed by the GUI component. NOTE: Only CustomLRVCObjects may or certain special Standard Objects may process these byte streams. A simple response message indicating that a video stream can not be sent to the Controller. This allows the Controller to disable all Video Streaming software gracefully. A simple response message indicating that a video stream is ready to send to the Controller. This allows the Controller to enable all Video Streaming software and handle RTP Video Snippets at a 20 Hz rate. RTP Video Snippets S->C A section of video that uses UDP wrapped implementation of the Real Time Protocol, RTP Control Message Structure: Num Of Opcodes List Of Opcodes x"0c 2 [2:3] An unsigned short that contains the numbe of following Opcodes that will be set interpreted as Active by the LRVC Server. N [4:3+N] The active opcodes Status Message Structure: Num Of Statuses List of Status Events x"0d 2 [2:3] An unsigned short that contains the numbe of following Status/Feedback events that will be communicated back to the Controller. N [4:3+N] The structure of every status/feedback event to be communicated is the following: 4 Byte ObjectUID The UID of the Controller s GUI Object that will receive the status update/feedback. 1 Byte Event Type Simple Event with no byte stream response

20 L R V C P r o t o c o l s P a g e 20 X"01 Event with a byte stream response 1 Byte Simple Response x FF Successful response to Control request. Unsuccessful response to Control request (Exists if the Event is of not simple and is of type x 01 ) 4 Byte Response An unsigned integer M Bytes The byte stream response that will be sent to the object indicated by the ObjectUID field VideoStreamDisabled Message Structure: Denial Message x"0e N [2:End] A sequence of ASCII characters that give some information as to why the Video Stream has been denied VideoStreamEnabled Message Structure: Acceptance Message x"0f N [2:End] A sequence of ASCII characters that give some information as to why access has been granted. 4. LRVC Server Design The LRVC Server will be designed in such a way to easily facilitate a synchronous stream of opcodes to the vehicle. These opcodes will serve as the vehicles unique commands. It will be structured in such a way that it will contain and operate on the following files; A repository of compiled java classes (.class files) This will serve as the repository of unique non-standard objects that may be placed on a Virtual Controller. A repository of Virtual Controller Layout files These will dictate the order of sending the non-standard GUI objects to a controller and their placement. The LRVC Server will operate on these and wrap the objects in KnownMessage responses to send to the Virtual Controller. Each vehicle will have a Virtual Controller Layout file. These layout files will also contain the Vehicle UIDs. A repository of known vehicle images (bmp files) and descriptions (txt files) A trusted MAC list. Possibly some adapter classes to tailor the LRVC to vehicle communication scheme to better fit a vehicle s embedded system. (This is Not recommended)

21 L R V C P r o t o c o l s P a g e The LRV Embedded System Interface (Recommended) The easiest way to connect your vehicle to the LRVC Server is through a buffered serial stream of characters as such; Figure 6- LRV's Embedded System - Communication Sub-System Design As you can see, the embedded system s communication sub-system is quite simple in its design. It consists of a Wifi receiver continuously receiving command requests and sending status responses. Since communicating these messages through the internet through TCP breaks the guarantee of synchronousity of the stream we have to have an additional mechanism for synching the status responses back to the Virtual Controller. This is done through a buffer in SRAM that handles asynchronous requests through a USART port. Then, the embedded system launches synchronously timed flushes of the command buffer, executing everything inside of it. This guarantees that a single, all inclusive, status response is communicated back to the LRVC Server every 100 ms. One major thing to note is that the structure of these command and status messages are not that of the ones communicated to and from the Virtual Controller. These messages are specific to communicating with your LRV and are simpler to handle. For instance, the command messages are simply a sequence of bytes with each byte containing an opcode that was generated by the Virtual Controllers gui. These bytes are then interpreted by the command and control system on the LRV accordingly. This property of all commands being fixed length makes making the command and control system much easier to design.

22 L R V C P r o t o c o l s P a g e 22 Lastly, the status messages are structured as a sequence of component feedbacks. The complete structure is documented in the table below. 5.1 The LRV Command Message (Recommended) Opcodes N [0:N-1] A sequence of 8 bit opcodes. Each opcode specifies a specific command (some of which may be nop) for the LRV to execute. Additionally, the LRVC Server structures these messages in such a way that no opcodes repeat, hence all are unique. 5.2 The LRV Status Message (Recommended) # Feedback Frames 4 [0:3] An integer containing the number of feedback frames that will follow. - - Each Feedback Frame contains the following; Feedback Frame Opcode to feedback to. 1 Byte of feedback stream in bytes 4 Bytes The feedback stream to send to the Virtual Controller s component. Specified by the opcode. N Bytes

Session Capabilities in OBEX

Session Capabilities in OBEX Session Capabilities in OBEX Version 0.14 July 16, 2002 Authors: David Suvak Contributors: Kevin Hendrix Extended Systems Extended Systems Revision History Revision Date Comments 0.1 30-May-01 Initial

More information

telnet Client User Interface for Accessing MX7cK s push buttons and LEDs. Template for P1.3

telnet Client User Interface for Accessing MX7cK s push buttons and LEDs. Template for P1.3 telnet Client User Interface for Accessing MX7cK s push buttons and LEDs. Template for P1.3 1 Motivation for Using telnet We have written a ToUpper server that uses TCP and runs on the TCP/IP stack of

More information

Switching on our smartphone and sending an to a friend living 5000 km from our home is something that we take for granted, but that involves a

Switching on our smartphone and sending an  to a friend living 5000 km from our home is something that we take for granted, but that involves a Switching on our smartphone and sending an email to a friend living 5000 km from our home is something that we take for granted, but that involves a lot of very complex processes and has to take into account

More information

1. What are the key components of Android Architecture? 2. What are the advantages of having an emulator within the Android environment?

1. What are the key components of Android Architecture? 2. What are the advantages of having an emulator within the Android environment? 1. What are the key components of Android Architecture? Android Architecture consists of 4 key components: - Linux Kernel - Libraries - Android Framework - Android Applications 2. What are the advantages

More information

User Documentation. Studywiz Learning Environment. Student's Guide

User Documentation. Studywiz Learning Environment. Student's Guide User Documentation Studywiz Learning Environment Student's Guide Studywiz Learning Environment Student's Guide Contents 1 Introduction 4 1.1 Studywiz 4 1.2 The Studywiz Student s Guide 4 2 What s New

More information

[MS-TURNBWM]: Traversal using Relay NAT (TURN) Bandwidth Management Extensions

[MS-TURNBWM]: Traversal using Relay NAT (TURN) Bandwidth Management Extensions [MS-TURNBWM]: Traversal using Relay NAT (TURN) Bandwidth Management Extensions Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open

More information

Orientation to Collaborate 11 Farnoush Zadeh, Instructional Designer

Orientation to Collaborate 11 Farnoush Zadeh, Instructional Designer Orientation to Collaborate 11 Farnoush Zadeh, Instructional Designer Continuing & Distance Education St. Francis Xavier University ! Provide a brief introduction to the Collaborate platform How to get

More information

Introduction to computer networking

Introduction to computer networking Introduction to computer networking First part of the assignment Academic year 2017-2018 Abstract In this assignment, students will have to implement a client-server application using Java Sockets. The

More information

SAINT2. System Analysis Interface Tool 2. Emulation User Guide. Version 2.5. May 27, Copyright Delphi Automotive Systems Corporation 2009, 2010

SAINT2. System Analysis Interface Tool 2. Emulation User Guide. Version 2.5. May 27, Copyright Delphi Automotive Systems Corporation 2009, 2010 SAINT2 System Analysis Interface Tool 2 Emulation User Guide Version 2.5 May 27, 2010 Copyright Delphi Automotive Systems Corporation 2009, 2010 Maintained by: SAINT2 Team Delphi www.saint2support.com

More information

A Plexos International Network Operating Technology May 2006

A Plexos International Network Operating Technology May 2006 A Plexos International Network Operating Technology May 2006 BY 4664 Jamestown Ave, Suite 325 Baton Rouge, LA 70808 225.218.8002 1.0 Introduction. is a software environment comprised of proven technologies

More information

[MS-TURNBWM]: Traversal using Relay NAT (TURN) Bandwidth Management Extensions

[MS-TURNBWM]: Traversal using Relay NAT (TURN) Bandwidth Management Extensions [MS-TURNBWM]: Traversal using Relay NAT (TURN) Bandwidth Management Extensions Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open

More information

ETH044-4 SSR (230VAC) and 4 Digital IO

ETH044-4 SSR (230VAC) and 4 Digital IO ETH044-4 SSR (230VAC) and 4 Digital IO Technical Documentation WARNING Mains Voltages can be Lethal. If you are not confident with using these voltages, please use a qualified electrician to wire this

More information

Android System Architecture. Android Application Fundamentals. Applications in Android. Apps in the Android OS. Program Model 8/31/2015

Android System Architecture. Android Application Fundamentals. Applications in Android. Apps in the Android OS. Program Model 8/31/2015 Android System Architecture Android Application Fundamentals Applications in Android All source code, resources, and data are compiled into a single archive file. The file uses the.apk suffix and is used

More information

argusoft A66, Sector 25, GIDC Electronic Estate, Gandhinagar, Gujarat , India Dumbarton Court, Newark, CA 94560, USA

argusoft A66, Sector 25, GIDC Electronic Estate, Gandhinagar, Gujarat , India Dumbarton Court, Newark, CA 94560, USA ROOBROO DESKTOP COLLABORATION PLATFORM ARCHITECTURAL OVERVIEW AND CONFIGURATION HIGHLIGHTS PRESENTED BY: argusoft A66, Sector 25, GIDC Electronic Estate, Gandhinagar, Gujarat 382016, India 35463 Dumbarton

More information

Updated August 7 th, 2017 introduction

Updated August 7 th, 2017 introduction Solstice User Guide Updated August 7 th, 2017 introduction The Solstice User Reference Guide provides a summary of how Solstice works for users, including an overview of a Solstice system and steps for

More information

Orientation to Collaborate 11 Farnoush Zadeh, Instructional Designer

Orientation to Collaborate 11 Farnoush Zadeh, Instructional Designer Orientation to Collaborate 11 Farnoush Zadeh, Instructional Designer Continuing & Distance Education St. Francis Xavier University ! Provide a brief introduction to the Collaborate platform How to get

More information

About 1. Chapter 1: Getting started with odata 2. Remarks 2. Examples 2. Installation or Setup 2. Odata- The Best way to Rest 2

About 1. Chapter 1: Getting started with odata 2. Remarks 2. Examples 2. Installation or Setup 2. Odata- The Best way to Rest 2 odata #odata Table of Contents About 1 Chapter 1: Getting started with odata 2 Remarks 2 Examples 2 Installation or Setup 2 Odata- The Best way to Rest 2 Chapter 2: Azure AD authentication for Node.js

More information

Architectural Support for A More Secure Operating System

Architectural Support for A More Secure Operating System Architectural Support for A More Secure Operating System Edward L. Bosworth, Ph.D. TSYS Department of Computer Science Columbus State University Columbus, GA A Few Comments The term Secure Operating System

More information

L1/L2 NETWORK PROTOCOL TESTING

L1/L2 NETWORK PROTOCOL TESTING L1/L2 NETWORK PROTOCOL TESTING MODULE 1 : BASIC OF NETWORKING OSI Model TCP/IP Layers Service data unit & protocol data unit Protocols and standards Network What is network & Internet Network core circuit

More information

Communicating over the Network

Communicating over the Network Communicating over the Network Network Fundamentals Chapter 2 Version 4.0 1 Network Structure The elements of communication 3 common elements of communication Message source people/electronic devices need

More information

Getting Started with Soonr

Getting Started with Soonr WWW.SOONR.COM Getting Started with Soonr A Quick Start Guide for New Users Soonr Inc. 12/19/2012 Revision 1.1 Copyright 2012, Soonr Inc., all rights reserved. Table of Contents 1 How Soonr Workplace Works...

More information

blu2i Obex Push Client Host - Module Protocol Specification

blu2i Obex Push Client Host - Module Protocol Specification blu2i ObexPush Client - Doc No: SDS_BT003_1v0 Issue No : 1.0 Date : 13 Nov 2006 Page 1 of 16 blu2i Obex Push Client Host - Module Protocol 2006 COPYRIGHT Ezurio Ltd This document is issued by Ezurio Limited

More information

Table of Contents. Revision History. 1. Introduction Purpose Document Conventions Intended Audience and Reading Suggestions4

Table of Contents. Revision History. 1. Introduction Purpose Document Conventions Intended Audience and Reading Suggestions4 Software Requirements Specification for Python Checker Version 1.0 approved Prepared by Matthew Arnold, Seong, Ian Computer Science Team 4 February 4th 2015 Table of Contents Table of Contents Revision

More information

[MS-RDPECLIP]: Remote Desktop Protocol: Clipboard Virtual Channel Extension

[MS-RDPECLIP]: Remote Desktop Protocol: Clipboard Virtual Channel Extension [MS-RDPECLIP]: Remote Desktop Protocol: Clipboard Virtual Channel Extension Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications

More information

Form into function. Getting prepared. Tutorial. Paul Jasper

Form into function. Getting prepared. Tutorial. Paul Jasper Tutorial Paul Jasper TABLE OF CONTENTS 1 Getting prepared 2 Adding a button to the form design 2 Making the button add tasks 3 Sending the XML data 4 Tidying up 5 Next time In the first episode, I showed

More information

STARCOUNTER. Technical Overview

STARCOUNTER. Technical Overview STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation

More information

SwinDeW-G (Swinburne Decentralised Workflow for Grid) System Architecture. Authors: SwinDeW-G Team Contact: {yyang,

SwinDeW-G (Swinburne Decentralised Workflow for Grid) System Architecture. Authors: SwinDeW-G Team Contact: {yyang, SwinDeW-G (Swinburne Decentralised Workflow for Grid) System Architecture Authors: SwinDeW-G Team Contact: {yyang, jchen}@swin.edu.au Date: 05/08/08 1. Introduction SwinDeW-G is a scientific workflow management

More information

Spark Quick Reference Guide

Spark Quick Reference Guide Spark Quick Reference Guide Making Teamwork Simpler Spark simplifies teamwork by making communication seamless. Send messages, share files, and meet with different teams, all in one place. Easily pull

More information

NC STATE UNIVERSITY. Advanced Diagnosis Automation and Control (ADAC) Lab. Raleigh, NC 27695

NC STATE UNIVERSITY. Advanced Diagnosis Automation and Control (ADAC) Lab. Raleigh, NC 27695 Intelligent Space (ispace) 2011 Mo-Yuen Chow Advanced Diagnosis Automation and Control (ADAC) Lab North Carolina State University Raleigh, NC 27695 USA Outline ispace Introduction ispace at ADAC Architecture

More information

BIG-IP Access Policy Manager : Application Access. Version 13.0

BIG-IP Access Policy Manager : Application Access. Version 13.0 BIG-IP Access Policy Manager : Application Access Version 13.0 Table of Contents Table of Contents Configuring App Tunnel Access... 5 What are app tunnels?...5 About ACLs to control access from app tunnels...

More information

Wide Area Network Device Presence Protocol (WAN DPP)

Wide Area Network Device Presence Protocol (WAN DPP) [MS-GRVWDPP]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,

More information

Mach4 CNC Controller Screen Editing Guide Version 1.0

Mach4 CNC Controller Screen Editing Guide Version 1.0 Mach4 CNC Controller Screen Editing Guide Version 1.0 1 Copyright 2014 Newfangled Solutions, Artsoft USA, All Rights Reserved The following are registered trademarks of Microsoft Corporation: Microsoft,

More information

Liferay Fundamentals Course Overview

Liferay Fundamentals Course Overview Liferay Fundamentals Course Overview LIFERAY Training Liferay Fundamentals Course Overview Liferay Fundamentals is recommended for all audiences before taking any other training course. Target Audience

More information

Lecture 2: Internet Architecture

Lecture 2: Internet Architecture CS 3700 Networks and Distributed Systems Lecture 2: Internet Architecture Revised 1/6/14 Organizing Network Functionality 2 Organizing Network Functionality 2 Networks are built from many components! Networking

More information

US Options Complex Multicast TOP Specification

US Options Complex Multicast TOP Specification US Options Complex Multicast TOP Specification Version 1.0.12 March 23, 2018 Contents 1 Introduction... 5 1.1 Overview... 5 1.2 Feed Connectivity Requirements... 5 1.3 Symbol Ranges, Units, and Sequence

More information

Tag4M Getting Started

Tag4M Getting Started 1 Tag4M Datasheet Cores Electronic LLC 9806 Llano Estacado Lane Austin, TX, 78759 Tel: +1 (512) 905 0181 info@tag4m.com www.tag4m.com Tag4M Getting Started Introduction Thank you for your purchase of Tag4M

More information

Chapter 3: Operating-System Structures

Chapter 3: Operating-System Structures Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1

More information

MODBUS APPLICATION PROTOCOL SPECIFICATION V1.1a CONTENTS

MODBUS APPLICATION PROTOCOL SPECIFICATION V1.1a CONTENTS MODBUS APPLICATION PROTOCOL SPECIFICATION V11a CONTENTS 1 Introduction 2 11 Scope of this document 2 2 Abbreviations 2 3 Context 3 4 General description 3 41 Protocol description 3 42 Data Encoding 6 43

More information

Technical Specification. Third Party Control Protocol. AV Revolution

Technical Specification. Third Party Control Protocol. AV Revolution Technical Specification Third Party Control Protocol AV Revolution Document AM-TS-120308 Version 1.0 Page 1 of 31 DOCUMENT DETAILS Document Title: Technical Specification, Third Party Control Protocol,

More information

Networking interview questions

Networking interview questions Networking interview questions What is LAN? LAN is a computer network that spans a relatively small area. Most LANs are confined to a single building or group of buildings. However, one LAN can be connected

More information

The world of BAOS. Easy connectivity for KNX with Bus Access and Object Server. Overview and applications

The world of BAOS. Easy connectivity for KNX with Bus Access and Object Server. Overview and applications The world of BAOS Easy connectivity for KNX with Bus Access and Object Server Overview and applications WEINZIERL ENGINEERING GmbH Achatz 3 DE-84508 Burgkirchen / Alz Germany Phone : +49 (0)8677 / 91 636

More information

Stream Control Transmission Protocol (SCTP)

Stream Control Transmission Protocol (SCTP) Stream Control Transmission Protocol (SCTP) Definition Stream control transmission protocol (SCTP) is an end-to-end, connectionoriented protocol that transports data in independent sequenced streams. SCTP

More information

Internetworking Basics

Internetworking Basics Assignment 1: Case Study Part 1 Deadline: 3/01/06 Student Name Date handed in: Grading Criteria It is possible to achieve credits for the following from this assignment. Grading Criteria Tick Date KS M1.design

More information

[MS-RDPNSC]: Remote Desktop Protocol: NSCodec Extension

[MS-RDPNSC]: Remote Desktop Protocol: NSCodec Extension [MS-RDPNSC]: Remote Desktop Protocol: NSCodec Extension Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation

More information

nstream Version 3.1 DICOM Conformance Statement

nstream Version 3.1 DICOM Conformance Statement Image Stream Medical nstream Version 3.1 DICOM Conformance Statement Revision History: Revision Date Author Notes A 03/02/2006 TMT/EP Initial Control A 03/05/2006 TMT Minor cosmetic changes A 03/07/2006

More information

MODBUS APPLICATION PROTOCOL SPECIFICATION V1.1b3 CONTENTS

MODBUS APPLICATION PROTOCOL SPECIFICATION V1.1b3 CONTENTS MODBUS APPLICATION PROTOCOL SPECIFICATION V1.1b3 CONTENTS 1 Introduction... 2 1.1 Scope of this document... 2 2 Abbreviations... 2 3 Context... 3 4 General description... 3 4.1 Protocol description...

More information

Microsoft Windows SharePoint Services

Microsoft Windows SharePoint Services Microsoft Windows SharePoint Services SITE ADMIN USER TRAINING 1 Introduction What is Microsoft Windows SharePoint Services? Windows SharePoint Services (referred to generically as SharePoint) is a tool

More information

Michigan State University

Michigan State University Michigan State University Team Meijer Mobile Customer Satisfaction Application Project Plan Spring 2014 Meijer Staff: Jim Becher Chris Laske Michigan State University Capstone Members: Noor Hanan Ahmad

More information

[MS-RDPNSC]: Remote Desktop Protocol: NSCodec Extension. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-RDPNSC]: Remote Desktop Protocol: NSCodec Extension. Intellectual Property Rights Notice for Open Specifications Documentation [MS-RDPNSC]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation ( this documentation ) for protocols,

More information

AN408. A Web-Configurable LabVIEW Virtual Instrument for a BL2600 and RN1100

AN408. A Web-Configurable LabVIEW Virtual Instrument for a BL2600 and RN1100 AN408 A Web-Configurable LabVIEW Virtual Instrument for a BL2600 and RN1100 This application note (AN408) expands on Application Note 407 (AN407) to describe a more advanced BL2600 application to interface

More information

User Manual Portable Laptop Console Crash Cart Adapter

User Manual Portable Laptop Console Crash Cart Adapter User Manual Portable Laptop Console Crash Cart Adapter GUC211V PART NO. M1458 www.iogear.com 2017 IOGEAR. All Rights Reserved. Part No. M1458. IOGEAR, the IOGEAR logo is trademarks of IOGEAR. Microsoft

More information

Amcrest 650 TVL DVR Quick Start Guide

Amcrest 650 TVL DVR Quick Start Guide Amcrest 650 TVL DVR Quick Start Guide Version 1.0.2 Revised May 9 th, 2016 Welcome Thank you for purchasing our Amcrest 650 TVL DVR! This quick start guide will help you become familiar with our DVR in

More information

DisPlay: Mitigating Heavy-duty Networking Latency and Error through Cross-platform Multithreaded Channel Coding and Media Compression

DisPlay: Mitigating Heavy-duty Networking Latency and Error through Cross-platform Multithreaded Channel Coding and Media Compression Hong Kong University of Science & Technology DisPlay: Mitigating Heavy-duty Networking Latency and Error through Cross-platform Multithreaded Channel Coding and Media Compression 25th Anniversary Project

More information

MODBUS APPLICATION PROTOCOL SPECIFICATION V1.1b3 CONTENTS

MODBUS APPLICATION PROTOCOL SPECIFICATION V1.1b3 CONTENTS MODBUS APPLICATION PROTOCOL SPECIFICATION V1.1b3 CONTENTS 1 Introduction... 2 1.1 Scope of this document... 2 2 Abbreviations... 2 3 Context... 3 4 General description... 3 4.1 Protocol description...

More information

Amcrest 960H DVR Quick Start Guide

Amcrest 960H DVR Quick Start Guide Amcrest 960H DVR Quick Start Guide Version 2.0.2 Revised July 22, 2015 Welcome Thank you for purchasing our Amcrest 960H DVR! This quick start guide will help you become familiar with our DVR in a very

More information

Intel Unite Standalone Setup Guide

Intel Unite Standalone Setup Guide Intel Unite Standalone Setup Guide Intel Unite Standalone Setup Guide V1.6 1 of 32 Legal Disclaimers & Copyrights All information provided here is subject to change without notice. Contact your Intel representative

More information

Network Working Group

Network Working Group Network Working Group Request for Comments: 3320 Category: Standards Track R. Price Siemens/Roke Manor C. Bormann TZI/Uni Bremen J. Christoffersson H. Hannu Ericsson Z. Liu Nokia J. Rosenberg dynamicsoft

More information

SimCards Ethernet UDP Protocol

SimCards Ethernet UDP Protocol SimCards Ethernet UDP Protocol Datasheet ELEC-DSH-SCE-E-10-0001 2005-2017, Sismo Soluciones All rights reserved Rev. 04 Flight Simulation LOG Rev. Date Description 01 April 2010 First Edition 02 February

More information

Adam Hodges CPSC481/CyberTiger Project Proposal 1/31/12. Motivations

Adam Hodges CPSC481/CyberTiger Project Proposal 1/31/12. Motivations Adam Hodges CPSC481/CyberTiger Project Proposal 1/31/12 Motivations It is my goal to continue my work from the summer and fall semesters in order to learn more about wireless networks and their characteristics

More information

Lecture-4. TCP/IP-Overview:

Lecture-4. TCP/IP-Overview: Lecture-4 TCP/IP-Overview: The history goes back to ARPANET a research network sponsored by DoD US Govt. It eventually connected hundreds of universities and govt installations, using leased telephone

More information

SHWETANK KUMAR GUPTA Only For Education Purpose

SHWETANK KUMAR GUPTA Only For Education Purpose Introduction Android: INTERVIEW QUESTION AND ANSWER Android is an operating system for mobile devices that includes middleware and key applications, and uses a modified version of the Linux kernel. It

More information

Getting Started Guide. for SimStore Super Users. Updated 9/28/11 OP EA 1

Getting Started Guide. for SimStore Super Users. Updated 9/28/11 OP EA 1 Getting Started Guide for SimStore Super Users Updated 9/28/11 OP-002.2-EA 1 Contents Welcome... 3 What is SimStore?... 3 The Purpose of This Guide... 3 SimCenter Technical Specifications... 4 SimStore

More information

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR 603203 DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS QUESTION BANK (2017-2018) Course / Branch : M.Sc.,CST Semester / Year : EVEN / III Subject Name

More information

Department of Computer Science and Engineering The University of Texas at Arlington. Team: Door Keepers. Project: Smart Garage

Department of Computer Science and Engineering The University of Texas at Arlington. Team: Door Keepers. Project: Smart Garage Department of Computer Science and Engineering The University of Texas at Arlington Team: Door Keepers Project: Team Members: Anup Patel Santosh Shrestha Wasyhun Tesfaye Adrian Echavarria Last Updated:

More information

IS-DEV KIT-9 User Manual

IS-DEV KIT-9 User Manual IS-DEV KIT-9 User Manual Revision C Firmware Version 1.0 NKK SWITCHES 7850 E. Gelding Drive Scottsdale, AZ 85260 Toll Free 1-877-2BUYNKK (877-228-9655) Phone 480-991-0942 Fax 480-998-1435 e-mail

More information

IEEE 802.1x, RADIUS AND DYNAMIC VLAN ASSIGNMENT

IEEE 802.1x, RADIUS AND DYNAMIC VLAN ASSIGNMENT IEEE 802.1x, RADIUS AND DYNAMIC VLAN ASSIGNMENT Hüseyin ÇOTUK Information Technologies hcotuk@etu.edu.tr Ahmet ÖMERCİOĞLU Information Technologies omercioglu@etu.edu.tr Nurettin ERGİNÖZ Master Student

More information

User Manual. MDWorkflow. Web Application from Midrange Dynamics

User Manual. MDWorkflow. Web Application from Midrange Dynamics User Manual MDWorkflow Web Application from Midrange Dynamics (Version 7.0) Tel. +41 (41) 710 27 77, Fax +41 (41) 710 95 87, www.midrangedynamics.com 1 / 31 MDWorkflow - Table of Contents 1 INTRODUCTION...

More information

VK1100. ATEN Control System - Compact Control Box

VK1100. ATEN Control System - Compact Control Box VK1100 ATEN Control System - Compact Control Box The ATEN Control System, incorporating the ATEN Control Box (VK1100 or VK2100), the ATEN Configurator (VK6000) and the ATEN Control System App, is a standard

More information

Network Security and Cryptography. 2 September Marking Scheme

Network Security and Cryptography. 2 September Marking Scheme Network Security and Cryptography 2 September 2015 Marking Scheme This marking scheme has been prepared as a guide only to markers. This is not a set of model answers, or the exclusive answers to the questions,

More information

Utilizing Linux Kernel Components in K42 K42 Team modified October 2001

Utilizing Linux Kernel Components in K42 K42 Team modified October 2001 K42 Team modified October 2001 This paper discusses how K42 uses Linux-kernel components to support a wide range of hardware, a full-featured TCP/IP stack and Linux file-systems. An examination of the

More information

BIG-IP Access Policy Manager : Portal Access. Version 13.0

BIG-IP Access Policy Manager : Portal Access. Version 13.0 BIG-IP Access Policy Manager : Portal Access Version 13.0 Table of Contents Table of Contents Overview of Portal Access...7 Overview: What is portal access?...7 About portal access configuration elements...

More information

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc. Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Java platform. Applets and applications. Java programming language: facilities and foundation. Memory management

More information

20-CS Cyber Defense Overview Fall, Network Basics

20-CS Cyber Defense Overview Fall, Network Basics 20-CS-5155 6055 Cyber Defense Overview Fall, 2017 Network Basics Who Are The Attackers? Hackers: do it for fun or to alert a sysadmin Criminals: do it for monetary gain Malicious insiders: ignores perimeter

More information

Dynamic Routing and Network Monitoring for the Polywog Protocol

Dynamic Routing and Network Monitoring for the Polywog Protocol Dynamic Routing and Network Monitoring for the Polywog Protocol A Senior Project presented to the Faculty of the Computer Science Department California Polytechnic State University, San Luis Obispo In

More information

User Manual. MDWorkflow. Web Application from Midrange Dynamics

User Manual. MDWorkflow. Web Application from Midrange Dynamics User Manual MDWorkflow Web Application from Midrange Dynamics (Version 7.1) Tel. +41 (41) 710 27 77, Fax +41 (41) 710 95 87, www.midrangedynamics.com 1 / 36 MDWorkflow - Table of Contents 1 INTRODUCTION...

More information

Solstice Pod Admin Guide

Solstice Pod Admin Guide Pod Admin Guide Solstice Pod Admin Guide Updated November 30 th, 2017 The Solstice Pod connects to a meeting-room display and leverages existing WiFi/Ethernet networks to facilitate wireless content sharing

More information

Version. Table of Contents

Version. Table of Contents NAP Protocol 1.0 Version Version Date By Comment v1.0 24.01.2011 JP Release version of NAP documentation. Table of Contents 1 Basic concepts...3 1.1 Usage info...3 1.2 Length byte...3 1.3 Literal characters...4

More information

ATUC-50 Digital Discussion System. Hear and be heard.

ATUC-50 Digital Discussion System. Hear and be heard. ATUC-50 Digital Discussion System Hear and be heard. Simplicity No matter the scale or complexity of your communication needs, the ATUC-50 Digital Discussion System gives you reliable, crystal-clear speech

More information

CT ac2-1n-10g LANforge WiFIRE a/b/g/n/ac 4x4 MU-MIMO 3 radio WiFi Traffic

CT ac2-1n-10g LANforge WiFIRE a/b/g/n/ac 4x4 MU-MIMO 3 radio WiFi Traffic Network Testing and Emulation Solutions http://www.candelatech.com sales@candelatech.com +1 360 380 1618 [PST, GMT -8] CT524-328-2ac2-1n-10g LANforge WiFIRE 802.11a/b/g/n/ac 4x4 MU-MIMO 3 radio WiFi Traffic

More information

Distributed Systems 8. Remote Procedure Calls

Distributed Systems 8. Remote Procedure Calls Distributed Systems 8. Remote Procedure Calls Paul Krzyzanowski pxk@cs.rutgers.edu 10/1/2012 1 Problems with the sockets API The sockets interface forces a read/write mechanism Programming is often easier

More information

OS and Computer Architecture. Chapter 3: Operating-System Structures. Common System Components. Process Management

OS and Computer Architecture. Chapter 3: Operating-System Structures. Common System Components. Process Management Last class: OS and Architecture OS and Computer Architecture OS Service Protection Interrupts System Calls IO Scheduling Synchronization Virtual Memory Hardware Support Kernel/User Mode Protected Instructions

More information

iminicam 1080p Wireless Spy Camera User Manual

iminicam 1080p Wireless Spy Camera User Manual iminicam 1080p Wireless Spy Camera User Manual imini Spy Camera User Manual Introduction Thank you for choosing the imini Spy Camera. Experience cutting edge technology and enjoy the security that the

More information

PLENA matrix API Table of contents en 3

PLENA matrix API Table of contents en 3 PLENA matrix API en PLENA matrix API Table of contents en 3 Table of contents 1 PLENA Matrix Network API 4 1.1 Protocol Information 4 1.2 Network Discovery 5 1.3 Connection Initiation 5 1.4 Parameter

More information

Legal Notice. Page 2. Copyright MMB Research Inc. 2014

Legal Notice. Page 2. Copyright MMB Research Inc. 2014 Legal Notice THIS DOCUMENT ( DOCUMENTATION ) CONTAINS HIGHLY SENSITIVE, CONFIDENTIAL, AND PROPRIETARY INFORMATION OF MMB RESEARCH INC. ( MMB ) AND MAY BE THE SUBJECT OF PATENT APPLICATIONS. THE DOCUMENTATION

More information

Operating Systems Design Exam 3 Review: Spring 2011

Operating Systems Design Exam 3 Review: Spring 2011 Operating Systems Design Exam 3 Review: Spring 2011 Paul Krzyzanowski pxk@cs.rutgers.edu 1 1. Why does an IP driver need to use ARP, the address resolution protocol? IP is a logical network. An IP address

More information

eth1000_large.jpg Using ICC ETH-1000 EtherNet/IP Interface with Mitsubishi iq PLC

eth1000_large.jpg Using ICC ETH-1000 EtherNet/IP Interface with Mitsubishi iq PLC eth000_large.jpg Using ICC EtherNet/IP Interface with Mitsubishi iq PLC Contents Contents... i FURTHER READING REFERENCE LIST... ii Chapter Chapter Chapter... -... -... -. Changing the IP Address of the

More information

Internet Engineering Task Force (IETF) Request for Comments: November 2010

Internet Engineering Task Force (IETF) Request for Comments: November 2010 Internet Engineering Task Force (IETF) Request for Comments: 6062 Category: Standards Track ISSN: 2070-1721 S. Perreault, Ed. Viagenie J. Rosenberg jdrosen.net November 2010 Traversal Using Relays around

More information

Transport protocols Introduction

Transport protocols Introduction Transport protocols 12.1 Introduction All protocol suites have one or more transport protocols to mask the corresponding application protocols from the service provided by the different types of network

More information

Chapter 1 INTRODUCTION SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC.

Chapter 1 INTRODUCTION SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC. hapter 1 INTRODUTION SYS-ED/ OMPUTER EDUATION TEHNIQUES, IN. Objectives You will learn: Java features. Java and its associated components. Features of a Java application and applet. Java data types. Java

More information

Voyant Connect User Guide

Voyant Connect User Guide Voyant Connect User Guide WELCOME TO VOYANT CONNECT 3 INSTALLING VOYANT CONNECT 3 MAC INSTALLATION 3 WINDOWS INSTALLATION 4 LOGGING IN 4 WINDOWS FIRST LOGIN 6 MAKING YOUR CLIENT USEFUL 6 ADDING CONTACTS

More information

Grocery List: An Android Application

Grocery List: An Android Application The University of Akron IdeaExchange@UAkron Honors Research Projects The Dr. Gary B. and Pamela S. Williams Honors College Spring 2018 Grocery List: An Android Application Daniel McFadden djm188@zips.uakron.edu

More information

CSE 410 Final Exam 6/09/09. Suppose we have a memory and a direct-mapped cache with the following characteristics.

CSE 410 Final Exam 6/09/09. Suppose we have a memory and a direct-mapped cache with the following characteristics. Question 1. (10 points) (Caches) Suppose we have a memory and a direct-mapped cache with the following characteristics. Memory is byte addressable Memory addresses are 16 bits (i.e., the total memory size

More information

BLM6196 COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS

BLM6196 COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS BLM6196 COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS Prof. Dr. Hasan Hüseyin BALIK (2 nd Week) 2. Protocol Architecture, TCP/IP, and Internet-Based Applications 2.Outline The Need for a Protocol Architecture

More information

Lab Exercise UDP. Objective. Requirements. Step 1: Capture a Trace

Lab Exercise UDP. Objective. Requirements. Step 1: Capture a Trace Lab Exercise UDP Objective To look at the details of UDP (User Datagram Protocol). UDP is a transport protocol used throughout the Internet as an alternative to TCP when reliability is not required. It

More information

UNIT 5 - UML STATE DIAGRAMS AND MODELING

UNIT 5 - UML STATE DIAGRAMS AND MODELING UNIT 5 - UML STATE DIAGRAMS AND MODELING UML state diagrams and modeling - Operation contracts- Mapping design to code UML deployment and component diagrams UML state diagrams: State diagrams are used

More information

Datavideo DVIP Control Operation Guide

Datavideo DVIP Control Operation Guide 1 Physical Layer 1.1 Control Interface : Ethernet 1.2 Communication Speed : 10/100Mbps 1.3 Control Protocol : TCP/IP 2 General Connection Information 2.1 By default the DVIP is configured to operate at

More information

Networking Embedded Systems Michael Bizub

Networking Embedded Systems Michael Bizub Networking Embedded Systems Michael Bizub Draft #3 3/31/2014 COP 4908 Independent Study Instructor: Dr. Janusz Zalewski Computer Science & Software Engineering Programs Florida Gulf Coast University Ft.

More information

CpSc 101, Fall 2015 Lab7: Image File Creation

CpSc 101, Fall 2015 Lab7: Image File Creation CpSc 101, Fall 2015 Lab7: Image File Creation Goals Construct a C language program that will produce images of the flags of Poland, Netherland, and Italy. Image files Images (e.g. digital photos) consist

More information

19 CP Remove description of retired Big Endian Transfer syntax

19 CP Remove description of retired Big Endian Transfer syntax 19 CP-19 - Remove description of retired Big Endian Transfer syntax Page 1 1 Status Letter Ballot Date of Last Update 016/0/18 Person Assigned David Clunie mailto:dclunie@dclunie.com Submitter Name David

More information

CS4700/5700: Network fundamentals

CS4700/5700: Network fundamentals Cristina Nita-Rotaru CS4700/5700: Network fundamentals. 1: Organizing network functionality } Networks are built from many components } Networking technologies } Ethernet, Wifi, Bluetooth, Fiber Optic,

More information