IP Library Granted Patent US 10,833,987
Granted Patent B2
US 10,833,987 · App. 16/260,820 · Granted Nov 10, 2020

Supporting asynchronous packet operations in a deterministic network

Inventors: Patrick Wetterwald (Mouans Sartoux, FR); Eric Levy-Abegnoli (Valbonne, FR); Pascal Thubert (La Colle sur Loup, FR)
Assignee: Cisco Technology, Inc.
H04L45/74H04L45/34H04L45/44H04L47/17H04L47/32H04L47/34H04L47/6275
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,833,987
App. No.
16/260,820
Granted
Nov 10, 2020
Kind
B2
Abstract

In one embodiment, a particular device along a path in a deterministic network receives a first packet sent from a source towards a destination via the path. The particular device sends the first packet to a next hop device along the path, according to a deterministic schedule associated with the first packet. The particular device determines, after sending the first packet, an action to be performed on the first packet. The particular device then sends a second packet to the next hop device indicative of the determined action. The second packet causes another device along the path to perform the action on the first packet.

Claims (39)

1. A method, comprising:

receiving, at a particular device located along a path in a deterministic network, a first packet sent from a source towards a destination via the path;

sending, by the particular device, the first packet to a next hop device along the path, according to a deterministic schedule associated with the first packet;

determining, by the particular device and after sending the first packet, an action to be performed on the first packet, wherein the action comprises dropping the first packet; and

sending, by the particular device, a second packet to the next hop device indicative of the determined action, wherein the second packet causes another device along the path to perform the determined action on the first packet.

2. The method as in claim 1 , wherein the determined action further comprises an adjustment to a header or field of the first packet.

3. The method as in claim 1 , wherein sending the second packet to the next hop device indicative of the determined action comprises:

sending the second packet indicative of the determined action with a higher priority than that of the first packet, to catch up with the first packet during transmission along the path and prior to delivery to the destination.

4. The method as in claim 1 , wherein sending the second packet to the next hop device indicative of the determined action comprises:

including a flow identifier and sequence number from the first packet in the second packet.

5. The method as in claim 1 , wherein the particular device is a firewall.

6. The method as in claim 1 , wherein the other device along the path performs the determined action on the first packet in part by determining that the first packet is in one of its transmit queues based on the second packet.

7. The method as in claim 1 , wherein the next hop device prioritizes the second packet by assigning the second packet to a specific transmit queue of the next hop device with an associated schedule that prioritizes sending of the second packet along the path.

8. The method as in claim 1 , wherein the next hop device along the path is the other device along the path that performs the action on the first packet.

9. The method as in claim 1 , wherein the deterministic schedule associated with the first packet causes the next hop device to hold the first packet for a longer time than that of the particular device.

10. An apparatus, comprising:

one or more network interfaces to communicate with a deterministic network;

a processor coupled to the one or more network interfaces and adapted to execute one or more processes; and

a memory configured to store a process executable by the processor, the process when executed configured to:

receive a first packet sent from a source towards a destination via a path;

send the first packet to a next hop along the path, according to a deterministic schedule associated with the first packet;

determine, after sending the first packet, an action to be performed on the first packet, wherein the action comprises dropping the first packet; and

send a second packet to the next hop indicative of the determined action, wherein the second packet causes a device along the path to perform the action on the first packet.

11. The apparatus as in claim 10 , wherein the determined action further comprises an adjustment to a header or field of the first packet.

12. The apparatus as in claim 10 , wherein the apparatus sends the second packet to the next hop indicative of the determined action by:

sending the second packet indicative of the determined action with a higher priority than that of the first packet, to catch up with the first packet during transmission along the path and prior to delivery to the destination.

13. The apparatus as in claim 10 , wherein the apparatus sends the second packet to the next hop indicative of the determined action by:

including a flow identifier and sequence number from the first packet in the second packet.

14. The apparatus as in claim 10 , wherein the apparatus is a firewall-.

15. The apparatus as in claim 10 , wherein the device along the path performs the determined action on the first packet in part by determining that the first packet is in one of its transmit queues based on the second packet.

16. The apparatus as in claim 10 , wherein the next hop prioritizes the second packet by assigning the second packet to a specific transmit queue of the next hop device with an associated schedule that prioritizes sending of the second packet along the path.

17. The apparatus as in claim 10 , wherein the next hop along the path is the other device along the path that performs the action on the first packet.

18. The apparatus as in claim 10 , wherein the deterministic schedule associated with the first packet causes the next hop to hold the first packet for a longer time than that of the apparatus.

19. A tangible, non-transitory, computer-readable medium storing program instructions that cause a particular device located along a path in a deterministic network to execute a process, the process comprising:

receiving, at the particular device, a first packet sent from a source towards a destination via the path;

sending, by the particular device, the first packet to a next hop device along the path, according to a deterministic schedule associated with the first packet;

determining, by the particular device and after sending the first packet, an action to be performed on the first packet, wherein the action comprises dropping the first packet; and

sending, by the particular device, a second packet to the next hop device indicative of the determined action, wherein the second packet causes another device along the path to perform the determined action on the first packet.

20. The computer-readable medium as in claim 19 , wherein the determined action further comprises at least one of: adjusting a header of the first packet or, adjusting a field of the first packet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2019
From: WETTERWALD, PATRICK; LEVY-ABEGNOLI, ERIC M.; THUBERT, PASCAL
To: CISCO TECHNOLOGY, INC.
Reel/Frame 048168/0124 →
Continuity (1)
Related Publication 20200244576A1 · Jul 30, 2020