p2p-next_7th_fp7_concertation_meeting_fmn_cluster

Download Report

Transcript p2p-next_7th_fp7_concertation_meeting_fmn_cluster

swift
Turning the net into a single data cloud
J
Jari Ahola
VTT Technical Research Centre of Finland
7th Networked Media Systems Concertation Meeting, FMN Cluster, April 14th, 2011,Trento, Italy
Background
•
Current internet protocols were designed for 1:1 client-server communication
•
Internet is increasingly a video network
•
TCP is a complex protocol (60k lines of code)
•
BitTorrent is even more complex (90k lines of code) running at application level
swift – the multiparty transport protocol
•
swift’s mission is to disseminate content among a swarm of peers.
•
swift expands the TCP/IP protocol suite with swarming.
•
Designed to be capable of integration into browsers or operating systems and is
able to serve 95% of current Internet traffic.
•
It might be understood as BitTorrent at the transport layer.
swift - design
•
Entirely drops TCP's abstraction of sequential reliable data stream delivery: for
swift this is redundant.
•
Being implemented over UDP, the protocol does its best to make every datagram
self-contained.
•
Pruning of unneeded functions and aggressive layer collapsing greatly simplifies
the protocol.
•
The protocol was built around the abstraction of atomic datagrams: once
received, a datagram is either immediately discarded or permanently accepted,
ready to be forwarded to other peers.
•
To avoid a multilayered request/acknowledgement system, where every layer
basically does the same but for bigger chunks of data, swift employs a scaleindependent acknowledgement/request system, where data is measured by
aligned power-of-2 intervals (so called bins).
•
swift builds Merkle hash trees down to every single packet (1KB of data).
LEDBAT – congestion control
•
swift yields to TCP
swift – Wikipedia integration
•
Distribution of Wikipedia video content
swift – Wikipedia integration
•
Browser integration
swift – available now
•
4,000 lines of cross-platform C++ code
•
The libswift library is licensed under LGPL; it runs on Mac OS X, Windows and a
variety of Unices
•
https://datatracker.ietf.org/doc/draft-grishchenko-ppsp-swift/
•
http://www.libswift.org/
•
Created by the P2P-Next project under grant 216217 in FP7