# The RVI Core Fragmentation Protocol ## Abstract The Remote Vehicle Interaction (RVI) system is a framework for secure interaction between vehicles and other devices and/or cloud services. RVI is designed to be agnostic in regard to connectivity options and intermittent connectivity. One consequence of this is that large messages may have to be partially transmitted via one type of connection, and completed on another. The fragmentation protocol described below allows for varying Message Transfer Unit (MTU) and lets the remote client request fragments as needed. ## Status of This Memo This document is not an Internet Standards Track specification; it is published for informational purposes. ## Copyright Notice Copyright (C) 2016 Jaguar Land Rover This document is licensed under Creative Commons Attribution-ShareAlike 4.0 International. ## Table of Contents 1. [Introduction](#introduction) 2. [Terminology](#terminology) 3. [System Overview](#system-overview) 4. [Notation](#notation) 5. [References](#references) ## Introduction ## Terminology Term | Meaning ----------|-------------------------------- `Client` | Sending side of the interaction `Server` | Receiving side of the interaction `MTU` | Message Transfer Unit
## System Overview The fragmentation support is intended to operate immediately on top of the transport layer. In essence, the sending side (Client) asks the fragmentation support to deliver a message. The fragmentation support determines whether fragmentation is needed. If it is, it will create a first fragment, encode it and send it to the receiving end (Server). The fragmentation support can operate over a transport using its own fragment/reassembly method (such as TCP), but does not require it, or makes any such assumptions. ## Notation The fragmentation protocol does not specify any particular encoding method. In this document, JSON notation is used. In practice, a byte-oriented JSON-like encoding, like msgpack [MSGP] would be more suitable. ## Messages