3

What sort of technology does Ubuntu One use for file syncing? I was told by my school that Ubuntu One and http://one.ubuntu.com are blocked because it is a "peer-to-peer application", while they still allow Google Drive. Is this true? Or is it some sort of misunderstanding? I'm hoping for a response from someone who understands the technical details of how Ubuntu One works.

Braiam
  • 69,112

1 Answers1

6

Short Answer:

No, is a cloud/sever based file storage.

Long Answer:

What sort of technology does Ubuntu One use for file syncing?

Excerp from Technical Details wiki:

This provides remotely accessible disk space stored on Amazon S3. Rather than using an existing protocol (eg. FTP, SFTP, NFS, Webdav) access to this remote disk space is via an invented-here communication protocol called "ubuntuone-storageprotocol" based on Google Protocol Buffers.

Excerp of the README of the ubuntu-storage-protocol package (aka ubuntuone-storageprotocol):

Protocol Overview:

Since it is not well-documented elsewhere, I'll also give a very brief outline of the protocol interactions here.

Most client/server communication is in the form of client-initiated requests. Each message from the client initiating a request is given a request ID which is intended to be unique for the lifetime of the connection.

The actual method for generating request IDs doesn't matter as long as they are even numbers (e.g. 0, 2, 4, ...) and aren't re-used by different requests on the same connection (but note that some requests may involve multiple messages). Server responses to a client request will use the client-supplied request ID, but server-originated messages will have a server-assigned ID which is odd (e.g. 1, 3, 5, ...). In effect, when the low bit of the request ID is set, it indicates a server-initiated request.

The protocol is asynchronous in that multiple requests may be "in flight" at once, their messages (if there are multiple messages in the request) arbitrarily interleaved.

[...]

When downloading the content of a node, the client and server have a brief exchange followed by a series of messages bearing data, all with the same request id. Uploads work similarly -- in both cases, the request ID identifies a particular in-progress upload or download.

Provided this, there is no way that the protocol can be seen as P2P connections. Peer-to-Peer implies several nodes/clients (but no servers holding files) where each of them can share files/connections. In this case there's only a server and several clients that send/receives data using a structured transfer protocol. It's nowhere near BitTorrent, eDonkey, nor other P2P protocols.

As to establish the difference, let's define P2P:

A peer-to-peer (P2P) network is a type of decentralized and distributed network architecture in which individual nodes in the network (called "peers") act as both suppliers and consumers of resources, in contrast to the centralized client–server model where client nodes request access to resources provided by central servers.

Braiam
  • 69,112