US Patent No. 9,407,355

OPPORTUNISTIC CONTENT DELIVERY USING DELTA CODING


Patent No. 9,407,355
Issue Date August 02, 2016
Title Opportunistic Content Delivery Using Delta Coding
Inventorship David Lerner, Carlsbad, CA (US)
Assignee VIASAT INC., Carlsbad, CA (US)

Claim of US Patent No. 9,407,355

1. A method for communicating content data from a server optimizer to client optimizers over a communications network, the
method comprising: determining, by the server optimizer, to communicate content data to a client optimizer; chunking the content
data into a first content block and a set of subsequent content blocks; computing server fingerprints of each of the first
content block and the set of subsequent content blocks; communicating a first fingerprint corresponding to the first content
block from the server optimizer to the client optimizer; receiving a response package at the server optimizer from the client
optimizer, the response package comprising a sequence of client fingerprints, wherein the response package is generated by
the client optimizer only when the client optimizer determines that it is one of the first set of client optimizers in relation
to the content data and in response to determining that a client fingerprint of the first locally stored content block matches
the received first fingerprint, the first locally stored content block having been received and stored by the client optimizer
prior to receiving the first server fingerprint from the server optimizer, the first locally stored content block being associated
with the sequence of client fingerprints representing a set of next content blocks that were received and stored by the client
optimizer directly after receipt of the first locally stored content block in sequence; determining, for each of the set of
subsequent content blocks, whether the corresponding server fingerprint indicates equivalence to one of the locally stored
content blocks according to its respective client fingerprint received as part of the response package; and communicating
a subset of the set of subsequent content blocks from the server optimizer to the client optimizer according to the determination
by the server optimizer to communicate the content data to the client optimizer, such that the corresponding server fingerprint
of each communicated subsequent content block indicates no equivalence to one of the locally stored content blocks according
to its respective client fingerprint.