IP Library Granted Patent US 9,917,775
Granted Patent B2
US 9,917,775 · App. 14/978,604 · Granted Mar 13, 2018

Intelligent devices in a software-defined network

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,917,775
App. No.
14/978,604
Granted
Mar 13, 2018
Kind
B2
Abstract

There is disclosed a network device having a network interface; and one or more logic elements comprising a flow table engine operable to: receive a network packet via the network interface; perform a logging action to make the network packet traceable; and notify a software-defined networking (SDN) controller of the logging action via the network interface. There is also disclosed an SDN controller having a network interface; first one or more logic elements comprising a software-defined networking (SDN) controller engine to provide SDN controller services; and second one or more logic elements comprising a route tracing engine, operable to: receive a logging action for a network packet from a network device via the network interface; and update a logging table from the logging action. There is further disclosed a method of providing the foregoing, and computer-readable mediums for providing the foregoing.

Claims (63)

1. A computing apparatus, comprising:

a network interface;

first one or more logic elements comprising a network function engine to provide a network function; and

second one or more logic elements comprising a flow table engine operable to:

receive a network packet via the network interface;

perform a logging action to make the network packet traceable, the logging action comprising:

inspecting a role tag of the packet, and determining that the network function has a role selected from a source device, an intermediate device, or a destination device based at least in part on the role tag; and

notify a software-defined networking (SDN) controller of the role via the network interface.

2. The computing apparatus of claim 1 , wherein:

determining that the network function has a role as a source device comprises determining that the role tag is not set; and

the logging action comprises setting the role tag.

3. The computing apparatus of claim 2 , wherein the role tag is a one-bit tag.

4. The computing apparatus of claim 1 , wherein:

the flow table engine is further configured to inspect a source flow key; and

notifying the SDN controller of the role comprises adding the source flow key to a flow path table.

5. The computing apparatus of claim 4 , wherein the source flow key comprises an internet protocol (IP) address or a media access control (MAC) address.

6. The computing apparatus of claim 1 , wherein determining that the network function has a role as an intermediate device comprises determining that the role tag is set, and that the network function is not a destination of the network packet.

7. The computing apparatus of claim 1 , wherein determining that the network function has a role as a destination device comprises determining that the role tag is set, and that the network function is a destination for the packet, and wherein the flow table engine is further to unset the role tag.

8. A computing apparatus, comprising:

a network interface;

first one or more logic elements comprising a software-defined networking (SDN) controller engine to provide SDN controller services; and

second one or more logic elements comprising a route tracing engine, operable to:

receive a logging action for a network packet from a network function via the network interface, wherein the logging action comprises a notification from the network function that the network function is one of a source device, an intermediate device, or a destination device; and

update a logging table from the logging action.

9. The computing apparatus of claim 8 , wherein the route tracing engine is further operable to receive a route tracing request for the network packet, and to generate a route for the network packet.

10. The computing apparatus of claim 9 , wherein the logging table comprises a flow path table, and wherein generating a route for the network packet comprises looking up a flow key tuple for the packet, and retrieving a network device list.

11. The computing apparatus of claim 10 , wherein the flow key tuple is hashed.

12. The computing apparatus of claim 8 , wherein the logging table comprises a flow path table, and wherein populating the flow path table comprises:

populating a source field of a device chain;

receiving a notification of an intermediate device;

adding the intermediate device to the device chain;

determining that a terminal device matches a destination of the network packet; and

terminating the device chain.

13. The computing apparatus of claim 12 , wherein terminating the device chain comprises populating a destination field of the device chain.

14. One or more tangible, non-transitory computer-readable storage mediums having stored thereon executable instructions to instruct a processor to:

receive a network packet via a network interface;

perform a logging action to make the network packet traceable, the logging action comprising:

inspecting a role tag of the packet, and determining that the network function has a role selected from a source device, an intermediate device, or a destination device based at least in part on the role tag; and

notify a software-defined networking (SDN) controller of the role via the network interface.

15. The one or more tangible, non-transitory computer-readable mediums of claim 14 , wherein the instructions are further to instruct the processor to provide a network function.

16. The one or more tangible, non-transitory computer-readable mediums of claim 15 , wherein:

determining that the network function has a role as a source device comprises determining that the role tag is not set; and

the logging action comprises setting the role tag.

17. The one or more tangible, non-transitory computer-readable mediums of claim 16 , wherein the role tag is a one-bit tag.

18. The one or more tangible, non-transitory computer-readable mediums of claim 14 , wherein:

the flow table engine is further configured to inspect a source flow key; and

notifying the SDN controller of the role comprises adding the source flow key to a flow path table.

19. The one or more tangible, non-transitory computer-readable mediums of claim 18 , wherein the source flow key comprises an internet protocol (IP) address or a media access control (MAC) address.

20. The one or more tangible non-transitory computer-readable mediums of claim 19 , wherein the logging table comprises a flow path table, and wherein populating the flow path table comprises:

populating a source field of a device chain;

receiving a notification of an intermediate device;

adding the intermediate device to the device chain;

determining that a terminal device matches a destination of the network packet; and

terminating the device chain.

21. The one or more tangible non-transitory computer-readable mediums of claim 20 , wherein terminating the device chain comprises populating a destination field of the device chain.

22. One or more tangible, non-transitory computer-readable storage mediums having stored thereon executable instructions to instruct a processor to:

provide SDN controller services;

receive a logging action for a network packet from a network device via a network interface, the logging action comprising:

inspecting a role tag of the packet, and determining that the network function has a role selected from a source device, an intermediate device, or a destination device based at least in part on the role tag; and

update a logging table from the logging action.

23. The one or more tangible non-transitory computer-readable mediums of claim 22 , wherein the instructions are further operable to receive a route tracing request for the network packet, and to generate a route for the network packet.

24. The one or more tangible non-transitory computer-readable mediums of claim 23 , wherein the logging table comprises a flow path table, and wherein generating a route for the network packet comprises looking up a flow key tuple for the packet, and retrieving a network device list.

25. The one or more tangible non-transitory computer-readable mediums of claim 23 , wherein the flow key tuple is hashed.

Assignments (21)
RELEASE OF SECURITY INTEREST Recorded Aug 16, 2024
From: STG PARTNERS, LLC
To: MUSARUBRA US LLC; SKYHIGH SECURITY LLC
Reel/Frame 068671/0435 →
TERMINATION AND RELEASE OF FIRST LIEN SECURITY INTEREST IN CERTAIN PATENTS RECORDED AT REEL 057453, FRAME 0053 Recorded Aug 15, 2024
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: MUSARUBRA US LLC
Reel/Frame 068655/0413 →
TERMINATION AND RELEASE OF SECOND LIEN SECURITY INTEREST IN CERTAIN PATENTS RECORDED AT REEL 056990, FRAME 0960 Recorded Aug 15, 2024
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: MUSARUBRA US LLC
Reel/Frame 068655/0430 →
INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT Recorded Aug 15, 2024
From: MUSARUBRA US LLC
To: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
Reel/Frame 068656/0098 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Aug 15, 2024
From: MAGENTA SECURITY HOLDINGS LLC; SKYHIGH SECURITY LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 068657/0666 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2024
From: MUSARUBRA US LLC
To: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
Reel/Frame 068657/0764 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2024
From: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
To: MAGENTA SECURITY HOLDINGS LLC
Reel/Frame 068657/0843 →
INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT Recorded Aug 15, 2024
From: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
To: MAGENTA SECURITY HOLDINGS LLC
Reel/Frame 068656/0920 →
SECURITY INTEREST Recorded Aug 1, 2024
From: MUSARUBRA US LLC; SKYHIGH SECURITY LLC
To: STG PARTNERS, LLC
Reel/Frame 068324/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2022
From: MCAFEE, LLC
To: MUSARUBRA US LLC
Reel/Frame 061007/0124 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 057315 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 11, 2022
From: MCAFEE, LLC
To: MUSARUBRA US LLC
Reel/Frame 060878/0126 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 27, 2021
From: MUSARUBRA US LLC; SKYHIGH NETWORKS, LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 056990/0960 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jul 27, 2021
From: MUSARUBRA US LLC; SKYHIGH NETWORKS, LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 057453/0053 →
RELEASE OF SECURITY INTEREST Recorded Jul 26, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MCAFEE, LLC; SKYHIGH NETWORKS, LLC
Reel/Frame 057620/0102 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2016
From: MULKA, SHIVAKRISHNA ANANDAM; NAIR, JAYAKRISHNAN
To: MCAFEE, INC.
Reel/Frame 037606/0620 →