Los procesos reales no se conocen públicamente, sin embargo, mantienen un Blog de tecnología oficial que brinda información sobre los aspectos internos de Dropbox. Por ejemplo, su publicación en Streaming File Synchronization (julio de 2014) proporciona una descripción general de alto nivel del "Sistema de archivos de Dropbox" que dicta el manejo de todos los datos del usuario de una manera altamente eficiente y confiable.
Sistema de archivos
La publicación explica bastante bien el proceso de carga, y confirman que los archivos están fragmentados en tan pocos bloques de longitud < = 4MB como sea posible para almacenarlos en esa forma en su tienda de bloques. Se hacen un hash progresivo (SHA-256) a medida que están aislados, y los hashes se utilizan para unir bloques en el almacén de bloques de Dropbox (blockserver). Las asociaciones entre hashes persisten en el meta store (metaserver) y se sienten un poco como listados de directorios.
Loshash
actúancomometadatosparalosbloquesdearchivos(todalalongitud<=4MB)queusaDropboxparadeterminarsiesnecesarioonoqueelclientetransmitaesebloquecomounaadiciónnuevaasusservidores.SielclientenecesitaonocargarbloquesalosservidoresdebloquesdeDropboxseindicaráenunarespuestadesusmetaserverscuandoelclienteespecifiquelacomposicióndelbloquedeunarchivoenparticular.
Cargandodatos
Paratodoslosintentosypropósitosdeestarespuesta,simplementepuedeconsiderarque"Servidor" es una entidad que actúa como un metaservidor y un servidor de bloques; Ambos están bajo el control de Dropbox de todos modos. A continuación se muestra el aspecto que podría tener una carga entre un servidor y algún cliente:
Client: SET "/video.avi" [h1, h2, h3, h4] ---> Server # cmd: try set record
Server: GET [h1, h3, h4] --------------------> Client # err: need h1/h3/h4; h2 exists
Client: ADD [h1, h3, h4], [b1, b3, b4] ------> Server # cmd: add blocks h1/h3/h4
Server: ACK ---------------------------------> Client # ack: blocks stored
Client: SET "/video.avi" [h1, h3, h4] -------> Server # cmd: retry set record
Server: ACK ---------------------------------> Client # ack: record defined
Simplificado / cambiado mucho, omitió detalles no relevantes para la pregunta. Intencional. Formulario de proto real en el blog.
Detectar contenido
Los bloques de datos y sus valores meta / hash correspondientes se mantienen en almacenes separados unos de otros. Si los valores de hash se conocen de antemano (por ejemplo, dada una base de datos masiva de archivos con DMCA y sus bloques constituyentes) y solo se comparan con las entradas de metastore, supongo que podrían llevar a cabo la detección automática sin mirar sus archivos. Sería un tramo bastante obsceno del idioma inglés si eso es lo que se quería decir.
No creo que sea improbable que una parte considerable de los bloques de longitud máxima (en este caso bloques de 4MB) de datos originales y protegidos por derechos de autor permanezcan en una copia alterada del material protegido, incluso si se realizan cambios a algunas partes del archivo hasta el punto de ocultar su identidad visual y / o audible desde el punto de vista de un observador humano.
Creo que Dropbox puede manejar el video de manera diferente (lo dice en su blog, creo), pero no estoy seguro si recodifican los medios a un tipo estándar cuando se reproducen en el navegador (si es así, supongo que sí será otra oportunidad para ver accidentalmente cosas que no deben ver).