IP Library Granted Patent US 9,986,034
Granted Patent B2
US 9,986,034 · App. 14/816,743 · Granted May 29, 2018

Transferring state in content centric network stacks

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 9,986,034
App. No.
14/816,743
Granted
May 29, 2018
Kind
B2
Abstract

One embodiment of the present invention provides a system that facilitates the transfer of the state of a stack in a content centric network. During operation, the system receives, by a communication component from a coordinating entity, a command message to store a current state of the component, wherein the communication component is used in processing messages based on a name, and wherein a name is a hierarchically structured variable length identifier (HSVLI) which comprises contiguous name components ordered from a most general level to a most specific level. The system determines a current state for the communication component. Subsequently, the system stores the current state for the communication component in a data structure.

Claims (60)

1. A computer system for forwarding packets, 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:

receiving, by a first communication component from a coordinating entity, a command message to store a current state of the first communication component wherein the first communication component is used in processing messages based on a name, and wherein a name is a hierarchically structured variable length identifier (HSVLI) which comprises contiguous name components ordered from a most general level to a most specific level, wherein the first communication component is a component of a stack of communication modules;

determining a current state for the first communication component;

when the current state of the first communication component depends on a current operational state of a second communication component of the stack of communication modules, waiting, at the first communication component, for an indicator of a ready state from the second communication component;

storing the current state for the first communication component in a data structure, and

transmitting the data structure to the coordinating entity for transferring the data structure to another location.

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

receiving a first packet that corresponds to an interest message, wherein the interest message indicates a request for the data structure and includes a name for the data structure.

3. The computer system of claim 2 , wherein the first packet is received from one or more of:

a manager component of a stack of communication modules, wherein a manager component is used in processing messages between the coordinating entity and the communication modules, wherein a stack does not require a respective communication module to communicate only with a layer above or below thereof; and

the coordinating entity, which is one or more of:

an entity or a service external to the stack; and

an application associated with the stack.

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

generating a second packet that corresponds to a content object message, wherein the content object message includes the data structure and a name for the data structure.

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

generating a notification message indicating that the current state is stored in the data structure, wherein the notification message includes a name for the data structure.

6. The computer system of claim 1 , wherein the data structure indicates one or more interest or content object messages stored by the first communication component in processing the messages.

7. The computer system of claim 1 , wherein the data structure is a manifest, wherein a manifest indicates a set of content objects and their corresponding digests, wherein a respective content object is a data object or another manifest, and wherein a manifest and a content object each indicate a name.

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

responsive to receiving a request for the current state, transmitting the current state.

9. The computer system of claim 1 , wherein the stack does not require a respective communication module to communicate only with a layer above or below thereof.

10. The computer system of claim 9 , wherein determining the current state further comprises:

determining a current state for one or more other communication components of the stack;

responsive to determining that the current state for the other communication components is a pending state, waiting for an indicator of a ready state for the other communication components.

11. The computer system of claim 9 , wherein the coordinating entity is one or more of:

an entity or a service external to the stack; and

an application associated with the stack.

12. The computer system of claim 9 , wherein the command message is received from the coordinating entity via a manager component of the stack, wherein a manager component is used in processing messages between the coordinating entity and the communication modules.

13. A computer-implemented method, comprising:

receiving, by a first communication component from a coordinating entity, a command message to store a current state of the first communication component, wherein the first communication component is used in processing messages based on a name, and wherein a name is a hierarchically structured variable length identifier (HSVLI) which comprises contiguous name components ordered from a most general level to a most specific level, wherein the first communication component is a component of a stack of communication modules;

determining a current state for the first communication component;

when the current state of the first communication component depends on a current operational state of a second communication component of the stack of communication modules, waiting, at the first communication component, for an indicator of a ready state from the second communication component;

storing the current state for the first communication component in a data structure; and

transmitting the data structure to the coordinating entity for transferring the data structure to another location.

14. The method of claim 13 , further comprising:

receiving a first packet that corresponds to an interest message, wherein the interest message indicates a request for the data structure and includes a name for the data structure.

15. The method of claim 14 , wherein the first packet is received from one or more of:

a manager component of a stack of communication modules, wherein a manager component is used in processing messages between the coordinating entity and the communication modules, wherein a stack does not require a respective communication module to communicate only with a layer above or below thereof; and

the coordinating entity, which is one or more of:

an entity or a service external to the stack; and

an application associated with the stack.

16. The method of claim 13 , further comprising:

generating a second packet that corresponds to a content object message, wherein the content object message includes the data structure and a name for the data structure.

17. The method of claim 13 , further comprising:

generating a notification message indicating that the current state is stored in the data structure, wherein the notification message includes a name for the data structure.

18. The method of claim 13 , wherein the data structure indicates one or more interest or content object messages stored by the first communication component in processing the messages.

19. The method of claim 13 , wherein the data structure is a manifest, wherein a manifest indicates a set of content objects and their corresponding digests, wherein a respective content object is a data object or another manifest, and wherein a manifest and a content object each indicate a name.

20. The method of claim 13 , further comprising:

responsive to receiving a request for the current state, transmitting the current state.

21. The method of claim 13 , wherein the stack does not require a respective communication module to communicate only with a layer above or below thereof.

22. The method of claim 21 , wherein determining the current state further comprises:

determining a current state for one or more other communication components of the stack;

responsive to determining that the current state for the other communication components is a pending state, waiting for an indicator of a ready state for the other communication components.

23. The method of claim 21 , wherein the coordinating entity is one or more of:

an entity or a service external to the stack; and

an application associated with the stack.

24. The method of claim 21 , wherein the command message is received from the coordinating entity via a manager component of the stack, wherein a manager component is used in processing messages between the coordinating entity and the communication modules.

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 Aug 7, 2015
From: SOLIS, IGNACIO
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 036280/0761 →