IP Library Patent Application 14334509
Patent Application
App. No. 14/334,509

DIFFERENCE BASED CONTENT NETWORKING

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
14/334,509
Abstract

One embodiment of the present invention provides a system for updating a content piece and delivering the updated content piece over a network. During operation, the system updates the content piece which corresponds to a original manifest and a set of objects referenced by the original manifest, and generates an update manifest for the updated content piece. The update manifest includes a reference to the original manifest and a reference to a set of update objects, and the set of update objects indicates differences between the content piece and the updated content piece. The system then publishes the update manifest and the set of update objects, thereby facilitating a requester for the updated content piece to retrieve the update manifest and the set of update manifest and to construct the updated content piece using the update manifest and the set of update objects.

Claims (41)

1 . A computer-executable method for updating a content piece and delivering the updated content piece over a network, comprising:

updating the content piece which corresponds to a original manifest and a set of objects referenced by the original manifest;

generating an update manifest for the updated content piece, wherein the update manifest includes a reference to the original manifest and a reference to a set of update objects, wherein the set of update objects indicates differences between the content piece and the updated content piece; and

publishing the update manifest and the set of update objects, thereby facilitating a requester for the updated content piece to retrieve the update manifest and the set of update manifest and to construct the updated content piece using the update manifest and the set of update objects.

2 . The method of claim 1 , wherein the original manifest references the set of objects by their hash-based names.

3 . The method of claim 2 , wherein the update manifest is difference encoded, indicating a difference to the original manifest, thereby facilitating construction of a newer manifest that references, by hash-based names, a set of Content Objects corresponding to the updated content piece.

4 . The method of claim 3 , wherein the original manifest is hierarchical, and wherein the difference-encoded update manifest references unmodified branches of the original manifest hierarchy.

5 . The method of claim 1 , wherein the update objects include changes made to the content piece and corresponding byte locations of the changes within the content piece.

6 . The method of claim 5 , wherein the byte locations of the changes are encoded in names of the update objects.

7 . The method of claim 1 , wherein the update objects include a set of modified objects and corresponding sequence numbers of the modified objects within the set of objects corresponding to the content piece.

8 . The method of claim 7 , wherein the sequence numbers of the modified objects are encoded in names of the modified objects.

9 . The method of claim 1 , wherein the original manifest and/or the update manifest are cryptographically signed.

10 . The method of claim 1 , wherein the network is a content-centric network (CCN), and wherein the set of objects are standard CCN Content Objects.

11 . A non-transitory computer-readable storage medium storing instructions that when executed by a computing device cause the computing device to perform a method for updating a content piece and delivering the updated content piece over a network, the method comprising:

updating the content piece which corresponds to a original manifest and a set of objects referenced by the original manifest;

generating an update manifest for the updated content piece, wherein the update manifest includes a reference to the original manifest and a reference to a set of update objects, wherein the set of update objects indicates differences between the content piece and the updated content piece; and

publishing the update manifest and the set of update objects, thereby facilitating a requester for the updated content piece to retrieve the update manifest and the set of update manifest and to construct the updated content piece using the update manifest and the set of update objects.

12 . The computer-readable storage medium of claim 11 , wherein the original manifest references the set of objects by their hash-based names.

13 . The computer-readable storage medium of claim 12 , wherein the update manifest is difference encoded, indicating a difference to the original manifest, thereby facilitating construction of a newer manifest that references, by hash-based names, a set of Content Objects corresponding to the updated content piece.

14 . The computer-readable storage medium of claim 13 , wherein the original manifest is hierarchical, and wherein the difference-encoded update manifest references unmodified branches of the original manifest hierarchy

15 . The computer-readable storage medium of claim 11 , wherein the update objects include changes made to the content piece and corresponding byte locations of the changes within the content piece.

16 . The computer-readable storage medium of claim 15 , wherein the byte locations of the changes are encoded in names of the update objects.

17 . The computer-readable storage medium of claim 11 , wherein the update objects include a set of modified objects and corresponding sequence numbers of the modified objects within the set of objects corresponding to the content piece.

18 . The computer-readable storage medium of claim 17 , wherein the sequence numbers of the modified objects are encoded in names of the modified objects.

19 . The computer-readable storage medium of claim 11 , wherein the original manifest and/or the update manifest are cryptographically signed.

20 . The computer-readable storage medium of claim 11 , wherein the network is a content-centric network (CCN), and wherein the set of objects are standard CCN Content Objects.

21 . A computer system for updating a content piece and delivering the updated content piece over a network, the system comprising:

a processor; and

a storage device coupled to the processor and storing instructions which when executed by the processor cause the processor to perform a method, the method comprising:

updating the content piece which corresponds to a original manifest and a set of objects referenced by the original manifest;

generating an update manifest for the updated content piece, wherein the update manifest includes a reference to the original manifest and a reference to a set of update objects, wherein the set of update objects indicates differences between the content piece and the updated content piece; and

publishing the update manifest and the set of update objects, thereby facilitating a requester for the updated content piece to retrieve the update manifest and the set of update manifest and to construct the updated content piece using the update manifest and the set of update objects.

22 . The system of claim 21 , wherein the original manifest references the set of objects by their hash-based names.

23 . The system of claim 22 , wherein the update manifest is difference encoded, indicating a difference to the original manifest, thereby facilitating construction of a newer manifest that references, by hash-based names, a set of Content Objects corresponding to the updated content piece.

24 . The system of claim 23 , wherein the original manifest is hierarchical, and wherein the difference-encoded update manifest references unmodified branches of the original manifest hierarchy.

25 . The system of claim 21 , wherein the update objects include changes made to the content piece and corresponding byte locations of the changes within the content piece.

26 . The system of claim 25 , wherein the byte locations of the changes are encoded in names of the update objects.

27 . The system of claim 21 , wherein the update objects include a set of modified objects and corresponding sequence numbers of the modified objects within the set of objects corresponding to the content piece.

28 . The system of claim 27 , wherein the sequence numbers of the modified objects are encoded in names of the modified objects.

29 . The system of claim 21 , wherein at least one Content Object in the single content stream includes key information, and wherein a respective Content Object includes a cryptographic signature associated with the key.

30 . The system of claim 21 , wherein the network is a content-centric network (CCN), and wherein the set of objects are standard CCN Content Objects.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2017
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: CISCO SYSTEMS, INC.
Reel/Frame 041714/0373 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2017
From: CISCO SYSTEMS, INC.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 041715/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2014
From: MOSKO, MARC E.
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 033426/0406 →