RETURN-LINK OPTIMIZATION FOR FILE-SHARING TRAFFIC
First Claim
1. A method for managing return-link resource usage in a communications system, the method comprising:
- receiving a first content data block at a client-side device from a server-side device, the server-side device being communicatively coupled with a server dictionary and the client-side device being communicatively coupled with a server dictionary model, the server dictionary model configured to store identifiers associated with data blocks stored on the server dictionary, each identifier having a substantially smaller file size than its associated data block;
calculating a first identifier from the first content data block;
storing the first identifier in the server dictionary model at the client-side device;
removing the first content data block from the client-side device;
subsequent to storing the first identifier, receiving a second content data block at the client-side device for upload to the server-side device;
calculating a second identifier from the second content data block;
determining whether the second identifier matches the first identifier stored in the server dictionary model; and
when the second identifier matches the first identifier, using the first identifier or the second identifier to compress the second content data block into compressed content.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, apparatuses, and systems for return-link optimization are provided. Embodiments identify upload-after-download content (e.g., file sharing content) upon download, and generate one or more identifiers characterizing the content (e.g., a digest). The identifiers are stored in a client-side server dictionary model reflecting a presumption that the content is stored in a server-side dictionary. When content is later uploaded, the server dictionary model is used to identify when the upload content matches previously downloaded content. When a match is detected, the stored identifiers are used to generate a highly compressed version of the upload content, which is then uploaded to the server instead of uploading the full content data. In some embodiments, similar techniques are used to optimize return link bandwidth usage for upload-after-upload transactions.
146 Citations
24 Claims
-
1. A method for managing return-link resource usage in a communications system, the method comprising:
-
receiving a first content data block at a client-side device from a server-side device, the server-side device being communicatively coupled with a server dictionary and the client-side device being communicatively coupled with a server dictionary model, the server dictionary model configured to store identifiers associated with data blocks stored on the server dictionary, each identifier having a substantially smaller file size than its associated data block; calculating a first identifier from the first content data block; storing the first identifier in the server dictionary model at the client-side device; removing the first content data block from the client-side device; subsequent to storing the first identifier, receiving a second content data block at the client-side device for upload to the server-side device; calculating a second identifier from the second content data block; determining whether the second identifier matches the first identifier stored in the server dictionary model; and when the second identifier matches the first identifier, using the first identifier or the second identifier to compress the second content data block into compressed content. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for managing return-link resource usage in a communications system, the method comprising:
-
receiving a first content data block at a client-side device from a server-side device, the server-side device being communicatively coupled with a server dictionary and the client-side device being communicatively coupled with a server dictionary model; calculating a first identifier from the first content data block, such that the first identifier has a substantially smaller file size than the first content data block; storing the first identifier in the server dictionary model at the client-side device; determining whether the first content data block comprises file sharing content; removing the first content data block from the client-side device when the first content data block comprises file sharing content; subsequent to storing the first identifier, receiving a second content data block at the client-side device for upload to the server-side device; calculating a second identifier from the second content data block; determining whether the second identifier matches the first identifier stored in the server dictionary model; and when the second identifier matches the first identifier, using the first identifier or the second identifier to compress the second content data block into compressed content. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A system for managing return-link resource usage in a communications system, the system comprising:
-
a local dictionary model configured to store identifiers associated with data blocks stored on a remote dictionary, the remote dictionary located at a remote node of the communications system; a download processor module, configured to; receive a first content data block from a remote device associated with the remote dictionary; store the first content data block in a local store; calculate a first identifier from the first content data block; store the first identifier in the local dictionary model; and remove the first content data block from the local store; and an upload processor module, configured to; receive a second content data block for upload to the remote device; calculate a second identifier from the second content data block; determine whether the second identifier matches the first identifier stored in the local dictionary model; and when the second identifier matches the first identifier, use the first identifier or the second identifier to compress the second content data block into compressed content. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
Specification