left
The MPTCP Project
A Delay-tolerant Transport Protocol for Ad-Hoc Networks space
right
 
Saturday, 22 February 2025
Why Meeting Places?
Motivations for a big change in the communication paradigm... :)

The communication between two nodes in infrastructure-based networks is often based on point-to-point communication to implement communication models such as client-server.

This approach relies on the availability of both nodes at time of the communication and on a stable connection between the two nodes during the duration of the communication.

The typical motivation of existing level-3 protocol is to provide a reliable or unreliable way to send data between two endpoints across a network. This concept assumes that both nodes are connected at the same time, directly via a single link or as part of a bigger network.

In mobile networks all these assumption do not hold. This is especially true in mobile ad-hoc networks.

The client-server model is more difficult because of:
  • the mobility of either node,
  • unavailability of one node during migration,
  • unavailability of a route between the two nodes,
  • low or extremely variable bandwidth,
  • etc.

Our idea is to split the communication in two segments by inserting a Meeting Place node. The assumption is that mobile nodes will always be able to connect to a stable node somewhere in the network.

The key advantages of this model on a highly variable network is that a few known and relatively stable network nodes can be used to achieve point to point like communication without the otherwise necessarily persistent quality of network.

The approach is scaleable through the introduction of more message points. Four motivations motivate the design of the MPTCP as it is now:
  • Absence of contemporaneity between the Client and the Server: the two endpoints are rarely connected simultaneously.
  • Resilience to disconnections. The "connectivity assumption" can become false at any time. The two endpoints should be able to work without being affected by disconnections.
  • Minimize the processing power and transmission time of the client. Server or network throughput can be lower than the capacity of the Client. Efficiency suggests to cache the data in the network and collect it late.
  • Reduce the load of the client, in case of periodical repeated requests. Delegate the network itself to manage periodical repeating requests.

In MPTCP four different types of requests are defined, as described in this table:


The first letter in the acronyms specifies the number of requests to be carried out. A single request consists in only one request from the Client to the Server and its relative answer. Instead, with a multiple request a Client could ask to a Meeting Place to collect data from a Server many times at specified intervals.

The second letter defines the type of connection ongoing between the Client (C), the Meeting Place (MP) and the Server (S), as follows.

Direct Requests: The client delegates the MP to get the data (one time or more) from a remote server and store it. The dialogue between the 3 actors assumes the following form:

step 1.
C to MP: "Please send my payload to S"
MP to C: "Ok"
step 2.
MP to S: "This is my payload"
S to MP: "This is my data"

Later...

step 3.
C to MP: "Please send me the data waiting for me"
MP to C: "This is your data"


Reverse Requests: The client directly connects to the Server and ask to send the answer to its request to a Meeting Place. Later on, the client will get the data from the MP.

step 1.
C to S: "Please send the answer to this request to MP"
S to C: "Ok"
step 2.
S to MP: "This is data for C"
MP to C: "Ok"

Later...

step 3.
C to MP: "Please send me the data waiting for me"
MP to C: "This is your data"

In our design the size and number of fields in the header of the MPTCP protocol is not constant but can vary to adapt the protocol to each situation while keeping the overhead low.

To discover more about the protocol, you can read about its main features at this page, consider some sample scenarios, read the protocol "draft" or use our sample implementation.
Contributors:
This project has been developed as a Master Thesis for the Ubiquitous Computing course at Trinity College, Dublin.

Authors: Giacomo Bernardi, under the supervision of Stefan Weber.

SourceForge.net Logo

Valid XHTML 1.0!

Valid CSS