IP Library Granted Patent US 10,135,948
Granted Patent B2
US 10,135,948 · App. 15/339,116 · Granted Nov 20, 2018

System and method for process migration in a content centric network

Inventor: Marc E. Mosko (Santa Cruz, CA)
Assignee: Cisco Technology, Inc.
H04L67/34H04L67/06H04L67/10H04L67/42
View Patent ↗
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 10,135,948
App. No.
15/339,116
Granted
Nov 20, 2018
Kind
B2
Abstract

One embodiment provides a system that facilitates a migration of a data model from a source device to a target device. During operation, the system generates, by a target device, a first interest for a first manifest which represents a version of the data model, wherein a manifest indicates a phase of the migration and a plurality of resources with corresponding names. The system transmits a first plurality of interests for the resources indicated in the first manifest based on a corresponding name. The system receives a second manifest, wherein the migration phase indicated in the second manifest is a stop-and-copy phase. The system transmits a second plurality of interests for the resources indicated in the second manifest based on a corresponding name. The system starts the data model on the system based on content objects retrieved in response to the first and second plurality of interests.

Claims (75)

1. A computer system for facilitating a migration of a data model indicating resources, the system comprising:

a processor; and

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

generating a first interest for a first manifest which represents a version of the data model, wherein a manifest indicates a phase of the migration and a plurality of resources with corresponding names;

in response to receiving the first manifest, transmitting a first plurality of interests for the resources indicated in the first manifest based on a name for a respective resource indicated in the first manifest;

receiving a second manifest, wherein the migration phase indicated in the second manifest is a stop-and-copy phase;

transmitting a second plurality of interests for the resources indicated in the second manifest based on a name for a respective resource indicated in the second manifest; and

starting the data model on the system based on content objects retrieved in response to the first and second plurality of interests,

thereby facilitating the migration of the data model over a content centric network from a source device to the system.

2. The computer system of claim 1 , wherein generating the first interest, receiving the first manifest, and transmitting the first plurality of interests are in response to determining a pre-copy method for the migration of the data model, and

wherein receiving the second manifest is in response to retrieving content indicated in the first manifest and one or more checkpoint manifests.

3. The computer system of claim 2 , wherein a respective checkpoint manifest indicates a unique version identifier for the data model,

wherein the migration phase indicated in the first manifest and a respective checkpoint manifest is a push phase, and

wherein the second manifest represents a hot version of the data model.

4. The computer system of claim 1 , wherein the data model comprises an architecture for a virtual machine, and wherein the resources are resources of the virtual machine.

5. The computer system of claim 1 , wherein a name is a hierarchically structured variable length identifier that includes contiguous name components ordered from a most general level to a most specific level,

wherein the name for a respective resource indicated in a manifest is a hash-based name which includes a hash value for data representing the respective resource, and

wherein the hash-based name for the respective resource allows the system to obtain the respective resource from any device that stores a content object with a hash value that matches the hash value included in the hash-based name,

thereby facilitating de-duplication of data in the data model.

6. The computer system of claim 1 , wherein receiving the second manifest is further in response to the source device determining that a predetermined marginal threshold is reached and freezing the data model on the source device.

7. The computer system of claim 1 , wherein the method further comprises:

receiving a third manifest which represents a final version of the data model, wherein the migration phase indicated in the third manifest is a pull phase; and

transmitting a third plurality of interests for the resources indicated in the third manifest based on a name for a respective resource indicated in the third manifest, wherein transmitting the third plurality of interests is based on a policy of the system.

8. The computer system of claim 1 , wherein the method further comprises:

transmitting a first interest which is a close checkpoint message with a name that indicates a respective manifest;

in response to receiving an acknowledgment of the first interest, transmitting a second interest which is a confirm checkpoint close message with a name that indicates the respective manifest; and

receiving an acknowledgment of the second interest, wherein the source device releases the resources indicated in the respective manifest.

9. A computer system for facilitating a migration of a data model indicating resources, the system comprising:

a processor; and

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

generating a first manifest which represents a version of the data model, wherein a manifest indicates a phase of the migration and a plurality of resources with corresponding names;

in response to receiving a first plurality of interests for the resources indicated in the first manifest based on a name for a respective resource indicated in the first manifest, transmitting a first plurality of corresponding content objects;

in response to reaching a predetermined threshold:

freezing the data model on the system; and

generating a second manifest, wherein the migration phase indicated in the second manifest is a stop-and-copy phase; and

in response to receiving a second plurality of interests for the resources indicated in the second manifest based on a name for a respective resource indicated in the second manifest, transmitting a second plurality of corresponding content objects,

thereby facilitating the migration of the data model over a content centric network from the system to a target device.

10. The computer system of claim 9 , wherein generating the first manifest, receiving the first plurality of interests, and transmitting the first plurality of content objects are in response to determining a pre-copy method for the migration of the data model, and

wherein the migration phase indicated in the first manifest is a push phase.

11. The computer system of claim 9 , wherein the data model comprises an architecture for a virtual machine, and wherein the resources are resources of the virtual machine.

12. The computer system of claim 9 , wherein a name is a hierarchically structured variable length identifier that includes contiguous name components ordered from a most general level to a most specific level,

wherein the name for a respective resource indicated in a manifest is a hash-based name which includes a hash value for data representing the respective resource, and

wherein the hash-based name for the respective resource allows the target device to obtain the respective resource from any device that stores a content object with a hash value that matches the hash value included in the hash-based name,

thereby facilitating de-duplication of data in the data model.

13. The computer system of claim 9 , wherein the method further comprises:

generating one or more checkpoint manifests, wherein a respective checkpoint manifest indicates a unique version identifier for the data model, wherein the migration phase indicated in the respective checkpoint manifest is a push phase, and

wherein the second manifest represents a hot version of the data model.

14. The computer system of claim 9 , wherein the method further comprises:

generating a third manifest which represents a final version of the data model, wherein the migration phase of the third manifest indicates a pull phase; and

in response to receiving a third plurality of interests for the resources indicated in the third manifest based on a name for a respective resource indicated in the third manifest, transmitting a third plurality of corresponding content objects.

15. The computer system of claim 9 , wherein the method further comprises:

in response to receiving a first interest which is a close checkpoint message with a name that indicates a respective manifest, transmitting an acknowledgment of the first interest; and

in response to receiving a second interest which is a confirm checkpoint close message with a name that indicates the respective manifest:

transmitting an acknowledgment of the second interest; and

releasing the resources indicated in the respective manifest.

16. A computer-implemented method for facilitating a migration of a data model indicating resources, the method comprising:

generating, by a target device, a first interest for a first manifest which represents a version of the data model, wherein a manifest indicates a phase of the migration and a plurality of resources with corresponding names;

in response to receiving the first manifest, transmitting a first plurality of interests for the resources indicated in the first manifest based on a name for a respective resource indicated in the first manifest;

receiving a second manifest, wherein the migration phase indicated in the second manifest is a stop-and-copy phase;

transmitting a second plurality of interests for the resources indicated in the second manifest based on a name for a respective resource indicated in the second manifest; and

starting the data model on the system based on content objects retrieved in response to the first and second plurality of interests,

thereby facilitating the migration of the data model over a content centric network from a source device to the target device.

17. The method of claim 16 , wherein generating the first interest, receiving the first manifest, and transmitting the first plurality of interests are in response to determining a pre-copy method for the migration of the data model,

wherein the migration phase indicated in the first manifest is a push phase,

wherein receiving the second manifest is in response to retrieving content indicated in one or more checkpoint manifests,

wherein a respective checkpoint manifest indicates a unique version identifier for the data model, wherein the migration phase indicated in the respective checkpoint manifest is a push phase, and

wherein the second manifest represents a hot version of the data model.

18. The method of claim 16 , wherein the data model comprises an architecture for a virtual machine, and wherein the resources are resources of the virtual machine.

19. The method of claim 16 , wherein a name is a hierarchically structured variable length identifier that includes contiguous name components ordered from a most general level to a most specific level,

wherein the name for a respective resource indicated in a manifest is a hash-based name which includes a hash value for data representing the respective resource, and

wherein the hash-based name for the respective resource allows the system to obtain the respective resource from any device that stores a content object with a hash value that matches the hash value included in the hash-based name,

thereby facilitating de-duplication of data in the data model.

20. The method of claim 16 , further comprising:

receiving a third manifest which represents a final version of the data model, wherein the migration phase indicated in the third manifest is a pull phase; and

transmitting a third plurality of interests for the resources indicated in the third manifest based on a name for a respective resource indicated in the third manifest, wherein transmitting the third plurality of interests is based on a policy of the target device.

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 Oct 31, 2016
From: MOSKO, MARC E.
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 040178/0597 →
Continuity (1)
Related Publication 20180124210A1 · May 3, 2018