The bandwidth aggregation capabilities of the CVG enable it to utilize all available network interfaces, including mobile, Wi-Fi, and each VehicleLink device, to speed up data transfer between the car and the cloud. In many situations, the capacity of each link can be summed, yielding 1 + 1 + 1 = 3. Effectively aggregating bandwidth depends on intelligently managing the different characteristics of each available network, such as packet loss, jitter and latency, as well as intelligently scheduling the outbound data packets to avoid invoking TCP congestion control.
There are multiple ways to achieve bandwidth aggregation – for a CVG with multiple connected devices generating a lot of traffic; flow-based aggregation is an effective way to increase the aggregate throughput available to the device with minimal scheduling complexity. An example of flow-based scheduling can be seen below. In this situation, a single flow will not experience speeds faster than the link it is assigned to, however the system as a whole will experience a performance improvement because each flow will be able to efficiently maximize the use of all available links.
If only a few data-heavy application flows are present, it is more effective to aggregate network traffic on a per-packet basis, shown below. This approach is able to provide a single flow with a throughput which is greater than the throughput of any single link. This approach, however, is more processor and memory intensive than performing flow-based scheduling.
In order to make better use of the mobile network, the CVG is able to combine multiple small packets together to reduce the amount of overhead introduced by sending many small packets with the same (or similar) header information.