Delta encoding using canonical reference files
First Claim
1. A method for distributing content, the method comprising:
- generating a canonical reference file representing at least a portion of the content;
during a period in which the current state of the content differs from the canonical reference file, transmitting the canonical reference file to a client;
generating a delta file that represents a difference between the canonical reference file and the current state of the content; and
transmitting the delta file to the client to allow the client to construct the current state of the content based on the delta file and the canonical reference file.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are provided for implementing delta encoding for distribution of content. In one aspect, a canonical reference file that is common to a server and to each client to which the server distributes content, and which represents a portion of particular content, is generated and transmitted to the associated clients. A delta file, which represents the difference between the current state of the content and the canonical reference file, is transmitted to the requesting client so that it can be applied to the canonical reference file to construct the current state of the content. A client can receive the canonical reference file during a period in which the current state of the content differs from the reference file. Furthermore, the canonical reference file can be transmitted during a period in which the current state of the content changes.
97 Citations
39 Claims
-
1. A method for distributing content, the method comprising:
-
generating a canonical reference file representing at least a portion of the content;
during a period in which the current state of the content differs from the canonical reference file, transmitting the canonical reference file to a client;
generating a delta file that represents a difference between the canonical reference file and the current state of the content; and
transmitting the delta file to the client to allow the client to construct the current state of the content based on the delta file and the canonical reference file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 27, 28, 30, 31, 32, 33)
-
-
19. A method for distributing content, the method comprising:
-
generating a canonical reference file representing at least a portion of the content;
transmitting the canonical reference file to a plurality of clients, including the steps of transmitting the canonical reference file to a first client when the content is in a first state;
transmitting the canonical reference file to a second client when the content is in a second state that is different from the first state;
when any client of the plurality of clients requests the content, transmitting to the client a delta file that represents a difference between the canonical reference file and a current state of the content.
-
-
24. A method for receiving content, the method comprising:
-
receiving a canonical reference file representing at least a portion of the content, during a period of time in which the current state of the content differs from the canonical reference file;
receiving a delta file that represents a difference between the canonical reference file and the current state of the content; and
constructing the current state of the content based on the delta file and the canonical reference file.
-
-
29. A system for implementing delta encoding for distribution of content, comprising:
-
at least one server, configured to generate a canonical reference file representing at least a portion of the content;
during a period in which the current state of the content differs from the canonical reference file, transmit the canonical reference file to a client computer;
generate a delta file that represents a difference between the canonical reference file and the current state of the content; and
transmit the delta file to the client computer; and
a client program, configured on the client computer to receive the canonical reference file;
receive the delta file; and
construct the current state of the content based on the delta file and the canonical reference file.
-
-
34. A computer-readable medium carrying one or more sequences of instructions for distributing content, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
generating a canonical reference file representing at least a portion of the content;
during a period in which the current state of the content differs from the canonical reference file, transmitting the canonical reference file to a client;
generating a delta file that represents a difference between the canonical reference file and the current state of the content; and
transmitting the delta file to the client to allow the client to construct the current state of the content based on the delta file and the canonical reference file.
-
-
35. A computer-readable medium carrying one or more sequences of instructions for distributing content, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
generating a canonical reference file representing at least a portion of the content;
transmitting the canonical reference file to a plurality of clients, including the steps of transmitting the canonical reference file to a first client when the content is in a first state;
transmitting the canonical reference file to a second client when the content is in a second state that is different from the first state;
when any client of the plurality of clients requests the content, transmitting to the client a delta file that represents a difference between the canonical reference file and a current state of the content.
-
-
36. A computer-readable medium carrying one or more sequences of instructions for receiving content, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
receiving a canonical reference file representing at least a portion of the content, during a period of time in which the current state of the content differs from the canonical reference file;
receiving a delta file that represents a difference between the canonical reference file and the current state of the content; and
constructing the current state of the content based on the delta file and the canonical reference file.
-
-
37. A computer apparatus comprising:
-
a memory;
a network interface; and
one or more processors coupled to the memory and the network interface and configured to execute one or more sequence of instructions for distributing content, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of;
generating a canonical reference file representing at least a portion of the content;
during a period in which the current state of the content differs from the canonical reference file, transmitting the canonical reference file to a client;
generating a delta file that represents a difference between the canonical reference file and the current state of the content; and
transmitting the delta file to the client to allow the client to construct the current state of the content based on the delta file and the canonical reference file.
-
-
38. A computer apparatus comprising:
-
a memory;
a network interface; and
one or more processors coupled to the memory and the network interface and configured to execute one or more sequence of instructions for distributing content, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of;
generating a canonical reference file representing at least a portion of the content;
transmitting the canonical reference file to a plurality of clients, including the steps of transmitting the canonical reference file to a first client when the content is in a first state;
transmitting the canonical reference file to a second client when the content is in a second state that is different from the first state;
when any client of the plurality of clients requests the content, transmitting to the client a delta file that represents a difference between the canonical reference file and a current state of the content.
-
-
39. A computer apparatus comprising:
-
a memory;
a network interface; and
one or more processors coupled to the memory and the network interface and configured to execute one or more sequence of instructions for receiving content, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of;
receiving a canonical reference file representing at least a portion of the content, during a period of time in which the current state of the content differs from the canonical reference file;
receiving a delta file that represents a difference between the canonical reference file and the current state of the content; and
constructing the current state of the content based on the delta file and the canonical reference file.
-
Specification