IP Library Granted Patent US 10,003,507
Granted Patent B2
US 10,003,507 · App. 15/061,974 · Granted Jun 19, 2018

Transport session state protocol

Inventors: Christopher A. Wood (San Francisco, CA); Ignacio Solis (Scotts Valley, CA)
Assignee: Cisco Technology, Inc.
H04L41/5029H04L12/146H04L45/302H04L45/308H04L45/38H04L45/7453H04L47/323H04L67/142
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,003,507
App. No.
15/061,974
Granted
Jun 19, 2018
Kind
B2
Abstract

One embodiment provides a system that facilitates an efficient transport protocol. During operation, the system receives a first interest which indicates a query for optimal transport parameters, wherein a name for an interest 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 query is based on a name prefix that includes one or more contiguous name components. The system computes the optimal parameters based on historical information associated with the name prefix. The system transmits a first response which includes the computed optimal parameters to a requesting entity, thereby facilitating a transport protocol which increases network efficiency.

Claims (98)

1. A computer system for facilitating an efficient transmission of content using a transport protocol, 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 a first interest which indicates a query for optimal transport parameters, wherein a name for an interest 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 query is based on a name prefix that includes one or more contiguous name components;

computing the optimal transport parameters based on historical information associated with the name prefix; and

transmitting a first response which includes computed optimal parameters to a requesting entity, thereby facilitating a transport protocol which increases network efficiency.

2. The computer system of claim 1 , wherein the optimal transport parameters include one or more of:

an optimal or average size of a transmission window for the name prefix;

an average round trip time for an interest and corresponding content object based on the name prefix; and

a parameter to use when initiating a new flow based on a transport protocol.

3. The computer system of claim 1 , wherein the first interest indicates one or more of:

a quality of service or a priority level;

a user identifier of the requesting entity;

authentication information of the requesting entity; and

a set of estimated optimal transport parameters which include an estimate by the requesting entity of the requested optimal transport parameters.

4. The computer system of claim 1 , wherein the first interest includes a notification flag which indicates a request for the computer system to send a notification to the requesting entity, wherein the notification indicates changes to the computed optimal parameters, and wherein the method further comprises:

generating a second response that is an interest which indicates the notification of the changes to the computed optimal parameters.

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

generating an ownership token which is a pre-image of a hash function that results in a hash value; and

including the ownership token in the first response, wherein the ownership token and the hash value are subsequently used by the requesting entity to provide to the computing system verification for migrating state from one flow to another.

6. The computer system of claim of 1 , wherein the first interest further indicates a bid or payment for available resources, and wherein the method further comprises:

in response to the first interest, determining an allocation of the resources based on the bid or based on the bid and bids indicated in interests from other requesting entities,

wherein the first response further includes a result of the resource allocation determination.

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

including in the first response a set of values for available resources and an option to pay for the resources;

in response to the first response, receiving a second interest that indicates a bid or payment for the resources;

determining an allocation of the resources based on the bid or based on the bid and bids indicated in interests from other requesting entities; and

generating for the requesting entity or entities a second response that includes a result of the resource allocation determination.

8. The computer system of claim 6 , wherein the option to pay for resources indicates payment methods based on digital currency, including one or more of:

a bitcoin;

a computing resource;

an amount of time spent by the requesting entity to perform a function on behalf of the computer system;

a virtual currency;

a cryptocurrency; and

any other digital currency.

9. The computer system of claim 1 , wherein the first interest or the name for the first interest indicates one or more of:

a flow identifier which indicates the name prefix on which the query is based;

a routable prefix which includes one or more contiguous name components beginning from the most general level;

an identifier for the computer system;

a command that indicates a function for the query and a type of transport parameter requested;

one or more parameters for the query;

a bid or payment for available resources; and

a random nonce.

10. The computer system of claim 1 , wherein the method is performed by a responding entity which resides in one or more of:

an application;

a single stack;

a shared stack;

a single forwarder;

a shared forwarder; and

any node in a network.

11. A computer system for facilitating transmission of content using a transport protocol, 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 which indicates a query for optimal transport parameters, wherein a name for an interest 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 query is based on a name prefix that includes one or more contiguous name components;

transmitting the first interest to a responding entity, which causes the responding entity to compute the optimal transport parameters based on historical information associated with the name prefix; and

in response to receiving from the responding entity a first response which includes computed optimal parameters, performing an operation that increases network efficiency based on the historical information, thereby facilitating a transport protocol which increases network efficiency.

12. The computer system of claim 11 , wherein the optimal transport parameters include one or more of:

an optimal or average size of a transmission window for the name prefix;

an average round trip time for an interest and corresponding content object based on the name prefix; and

a parameter to use when initiating a new flow based on a transport protocol.

13. The computer system of claim 11 , wherein the first interest indicates one or more of:

a quality of service or a priority level

a user identifier of the computer system;

authentication information of the computer system; and

a set of estimated optimal transport parameters which include an estimate by the computer system of the requested optimal transport parameters.

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

including in the first interest a notification flag which indicates a request for the responding entity to send a notification to the computer system, wherein the notification indicates changes to the computed optimal parameters; and

in response to the first interest, receiving a second response that is an interest which indicates the notification of the changes to the computed optimal parameters.

15. The computer system of claim 11 , wherein the first response includes an ownership token which is a pre-image of a hash function performed by the responding entity,

wherein the hash function results in a hash value, and

wherein the ownership token and the hash value are subsequently used by the computer system to provide to the responding entity verification for migrating state from one flow to another.

16. The computer system of claim of 11 , wherein the method further comprises:

indicating in the first interest a bid or payment for available resources,

wherein the first response further includes a result of a resource allocation determination by the responding entity based on the bid or based on the bid and bids indicated in interests from other requesting entities.

17. The computer system of claim 11 , wherein the first response further includes a set of values for available resources and an option to pay for the resources, wherein the method further comprises:

generating a second interest that indicates a bid or payment for the resources; and

in response to the second interest, receiving a second response that includes a result of a resource allocation determination by the responding entity based on the bid or based on the bid and bids indicated in interests from other requesting entities.

18. The computer system of claim 16 , wherein the option to pay for resources indicates payment methods based on digital currency, including one or more of:

a bitcoin;

a computing resource;

an amount of time spent by the computer system to perform a function on behalf of the responding entity;

a virtual currency;

a cryptocurrency; and

any other digital currency.

19. The computer system of claim 11 , wherein the first interest or the name for the first interest indicates one or more of:

a flow identifier which indicates the name prefix on which the query is based;

a routable prefix which includes one or more contiguous name components beginning from the most general level;

an identifier for the responding entity;

a command that indicates a function for the query and a type of transport parameter requested;

one or more parameters for the query;

a bid or payment for resources; and

a random nonce.

20. The computer system of claim 11 , wherein the method is performed by a requesting entity which is one or more of:

an application associated with a first stack, wherein the responding entity resides in or is associated with the first stack;

an application associated with a second stack that is different from the first stack;

a stack component of the first stack, wherein the stack component is different from the responding entity;

a stack component of the second stack; and

any other element or node in the network.

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 Mar 7, 2016
From: WOOD, CHRISTOPHER A.; SOLIS, IGNACIO
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 037914/0029 →
Continuity (1)
Related Publication 20170257284A1 · Sep 7, 2017