Block Servers

In here, we separate a files into multiple blocks (objects)

[!note]
In here I prefer to call it object to avoid misconception with actual block file system. The architecture here is similar to an object storage system.

Block server can be used to handle file synchronisation and compression.

For synchronisation we want to do something like delta sync which detects the changes only in the block and only upload that blocks.

Pasted image 20230906104017.png

This is also can be used for a Resumable Upload.

The architecture of the Block Server can be as following:

Pasted image 20230906104042.png

[!note]
We can also choose to let the user upload through cloud service directly without going through a block server.

However doing this, we will loose the ability to handle encryption ourselves. And letting the client encrypt is not secured.