
Google Docs High-Level System design Multiple users work on the same copy of the document. The document could be text, rich text, painting, drawing. Let multiple users collaborate on the same copy of the document. Functional Requirement Users can change a document at the same time without any conflict Users can give permission(view, editor) for a document Users can make import and export a document A user can add a comment to the document Could be a notification (Email, GCM notification) Design Constraint Concurrency : A lot of people are working on the same document Latency : People are working in different places and they connect throughout the internet, so there is a latency between each and every know clients or users when they are sharing the same document. 200M User, Daily active % 10 = 20M User Average 1 MB usage ~ 1MB x 20M user = 20 BP per day usage Google Docs users get a lot of storage space with their accounts, but it's not unlimited. Each account can ha...