Skip to content
@Venice-D2D

Venice

Enabling device-to-device communication.

Venice

This GitHub organisation aims at studying how to enable device-to-device communication between smartphones and desktop computers.

Each one of its repositories hosts a communication channel, leveraging a D2D technology such as Bluetooth; you'll also find an example application allowing file exchange between devices using channels of your choice.

Context

There are lots of device-to-device technologies out there, ready to be used, such as Wi-Fi, NFC, Bluetooth etc; there are also lots of use-cases that could leverage those technologies, but we feel like something is missing in between.

A link layer abstraction is missing between D2D tech and opportunistic networks.

To solve that problem, we propose the Venice framework, an abstraction layer that allows applications to manipulate communication technologies through the use of channels.

Some vocabulary

A channel is an object that encapsulates a device-to-device physical communication technology (Bluetooth or Wi-Fi, for instance), to send data from user A to user B.

This framework makes use of two different channel types, bootstrap channels and data channels. Bootstrap channels transmit metadata about communication exchanges and data channels (e.g. authentication data required to open a Wi-Fi connection); Data channels do have a greater throughput than bootstrap channels, and are typically intented to carry payload data between nodes.

Implementation

List of communication channels

Bootstrap channels
Data channels

Demo app

This organization includes a demonstration app that showcases all mentioned channels; it's located here: https://github.com/Venice-D2D/venice_demo_app.

Here is a video showing how channels can be leveraged to exchange data between two phones:

demo.mp4

Pinned Loading

  1. delta_scheduler delta_scheduler Public

    Dart 2 2

  2. venice_demo_app venice_demo_app Public

    An example application to test communication channels.

    Dart 1 2

Repositories

Showing 10 of 11 repositories

Top languages

Loading…

Most used topics

Loading…