● Upload/Download: The user should be able to upload and download files and folders
● Share file access: The user should be able to share files with other users
● Synchronization: After updating a file on one device it should get synchronized on all other devices
● Low Latency
● High Availability
● High reliability (No data loss, No data corruption)