Patent ID: 8370314

Claim:
A computer-implemented method for storing media files, the method comprising: storing, at a server system, a master media file, the master media file containing first content at a first quality level; accessing, by the server system, data that indicate characteristics of multiple media files that are stored for a user on a first user device; determining, by the server system, that at least one of the multiple media files is a matching media file that includes second content matching the first content contained in the master media file; determining, by the server system, that the second content contained in the matching media file is of a second quality level that is higher than the first quality level of the first content contained in the master media file; in response to determining that the second content contained in the matching media file is of the second quality level that is higher than the first quality level, storing, at the server system, the matching media file in place of the master media file; receiving, by the server system and as having been uploaded by a second user device that is associated with a second user: (i) third content that matches the second content and that is of a third quality level that is less than the second quality level, or (ii) information that identifies that the third content that matches the second content and that is of the third quality level is stored by the second user device; storing, at the server system, quality parameters indicating that the second user is allowed to access the second content at the third quality level; receiving, at the server system and after the server system received the third content or the information, a request from the second user device for content that matches the second content in the stored matching media file; accessing, at the server system, the quality parameters that indicate indicating that the second user is allowed to access the second content at the third quality level; generating, based on the stored matching media file and the accessed quality parameters, a media file that contains the requested content at the third quality level; and sending the generated media file to the second user device.