IP Library Granted Patent US 9,781,042
Granted Patent B2
US 9,781,042 · App. 14/905,837 · Granted Oct 3, 2017

Network controller security monitor

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,781,042
App. No.
14/905,837
Granted
Oct 3, 2017
Kind
B2
Abstract

Technologies are generally described for systems, devices and methods effective to compare network element instructions and network control instructions. In some examples, first instructions may be identified and may be related to flow of network traffic. The first instructions may be stored in a data structure of a memory of a network element. The network element may generate a first network instruction signature based on the first instructions. A network controller device may identify second instructions. In some examples, the second instructions may be related to control of the network traffic, and may be stored in a memory of the network controller device. The network controller device may generate a second network instruction signature based on the second instructions. The network controller device may compare the first network instruction signature to the second network instruction signature to produce a comparison between the first instructions and the second instructions.

Claims (74)

1. A network element, comprising:

a processor, wherein the processor includes hardware; and

a memory configured to be in communication with the processor, wherein the processor is configured to:

store a flow table, wherein the flow table includes information related to routing of network traffic from the network element;

calculate a network instruction signature based on the information stored in the flow table, wherein to calculate the network instruction signature, the processor is configured to concatenate strings of data stored in a match field and an instruction field of the flow table to produce the network instruction signature; and

provide the network instruction signature to a first network controller device, a second network controller device, and a third network controller device, wherein a selection of a master controller is based on a first identifier, a second identifier, and a third identifier generated, based on the network instruction signature, by the first network controller device, the second network controller device, and the third network controller device, respectively.

2. The network element of claim 1 , wherein the network element is a router, and wherein the network element is arranged in a software defined network.

3. The network element of claim 1 , wherein the strings of data stored in the match field identify packets received by the network element.

4. The network element of claim 1 , wherein the processor is further configured to:

receive the first identifier from the first network controller device, wherein the first identifier is calculated based on a first application configured to be executed on the first network controller device;

receive the second identifier from the second network controller device, wherein the second identifier is calculated based on a second application configured to be executed on the second network controller device;

receive the third identifier from the third network controller device, wherein the third identifier is calculated based on a third application configured to be executed on the third network controller device; identify a mode among the first identifier, the second identifier, and the third identifier; and

select the master controller from among the first network controller device, the second network controller device, and the third network controller device based on the identified mode.

5. The network element of claim 4 , wherein the processor is configured to select the first network controller device as the master controller based on the mode being equal to the first identifier.

6. A system comprising:

a first network controller device with hardware, a second network controller device with hardware, and a third network controller device with hardware; and

a network element with hardware configured to be in communication with at least one of the first network controller device, the second network controller device, and the third network controller device, wherein:

the first network controller device is configured to:

provide a first instruction to the network element, wherein the first instruction is related to control of network traffic;

the network element is configured to:

store the first instruction in a data structure,

control a flow of the network traffic from the network element based on the first instruction, and

calculate a first network instruction signature based on the first instruction stored in the data structure;

the first network controller device, the second network controller device, and the third network controller device are configured to request the first network instruction signature from the network element;

the network element is further configured to, in response to the requests, provide the first network instruction signature to the first network controller device, the second network controller device, and the third network controller device; and

the first network controller device, the second network controller device and the third network controller device are configured to generate, based on the first network instruction signature, a first identifier, a second identifier and a third identifier, respectively, wherein a master controller is selected based on the first identifier, the second identifier and the third identifier.

7. The system of claim 6 , wherein:

the first network controller device is further configured to:

calculate a second network instruction signature based on first network flow instructions of the first network controller device; and

compare the second network instruction signature to the first network instruction signature to produce a first comparison;

the second network controller device is configured to:

calculate a third network instruction signature based on second network flow instructions of the second network controller device; and

compare the third network instruction signature to the first network instruction signature to produce a second comparison; and

the third network controller device is configured to:

calculate a fourth network instruction signature based on third network flow instructions of the third network controller device; and

compare the fourth network instruction signature to the first network instruction signature to produce a third comparison.

8. The system of claim 7 , wherein:

the first network controller device is configured to provide the first identifier to the network element, wherein the first identifier includes at least a first portion of the second network instruction signature;

the second network controller device is configured to provide the second identifier to the network element, wherein the second identifier includes at least a second portion of the third network instruction signature; and

the third network controller device is configured to provide the third identifier to the network element, Wherein the third identifier includes at least a third portion of the fourth network instruction signature.

9. The system of claim 8 , wherein the network element is further configured to, responsive to a determination that the network element receives less than all of the first identifier, the second identifer, and the third identifier, request that new identifiers be sent by each of the first network controller device, the second network controller device and the third network controller device.

10. The system of claim 8 , wherein the network element is further configured to:

identify a mode among the first identifier, the second identifier, and the third identifier; and select the master controller from among the first network controller device, the second network controller device, and the third network controller device based on the identified mode.

11. The system of claim 10 , wherein the network element is configured to select the second network controller device as the master controller based on the mode being equal to the second identifier.

12. The system of claim 6 , wherein the first network controller device, the second network controller device, and the third network controller device are configured to execute an application, and

wherein the first instruction is based on the application.

13. The system of claim 6 , wherein:

the network element is a router;

the network element is arranged in a software defined network; and

the first network controller device is a master controller.

14. The system of claim 6 , wherein to calculate the first network instruction signature, the network element is configured to concatenate strings of data stored in a match field and an instruction field of the data structure to produce the first network instruction signature.

15. A method to compare network element instructions and network control instructions, the method comprising:

identifying first instructions, wherein the first instructions are related to flow of network traffic, and wherein the first instructions are stored in a data structure of a memory of a network element;

generating, by the network element, a first network instruction signature based on the first instructions;

identifying, by a network controller device, second instructions, wherein the second instructions are related to control of the network traffic, and wherein the second instructions are stored in a memory of the network controller device;

generating, by the network controller device, a second network instruction signature based on the second instructions;

comparing, by the network controller device, the first network instruction signature to the second network instruction signature to produce a comparison between the first instructions and the second instructions;

based on the comparison, generating, by the network controller device, an election identifier based on the second network instruction signature;

selecting, by the network element, a master controller based at least, in part, on the election identifier; and

providing, by the master controller, instructions to populate a flow table of the network element, wherein the flow table includes strings of data stored in a match field and an instruction field.

16. The method of claim 15 , further comprising:

providing, by the network element, third network instruction signatures to the master controller, wherein the third network instruction signatures comprise concatenations of the strings of data stored in the flow table.

17. The method of claim 15 , further comprising:

generating an alert, by the network controller device, in response to the comparison; and

storing the alert in the memory associated with the network controller device.

18. A network controller device, comprising:

a processor, wherein the processor includes hardware; and

a memory configured to be in communication with the processor, wherein

the processor is configured to:

calculate a first network instruction signature based on an application related to control of network traffic;

receive a second network instruction signature related to the control of the network traffic from a network element, wherein the second network instruction signature is generated based on a concatenation of strings of data stored in a match field and an instruction field of a flow table, and wherein the flow table includes information related to routing of the network traffic from the network element;

compare the first network instruction signature to the second network instruction signature to produce a comparison; and

generate an election identifier based on the comparison, wherein the election identifier is used to select a master controller.

19. The network controller device of claim 18 , wherein the processor is further configured to provide the election identifier to the network element.

Assignments (3)
SECURITY INTEREST Recorded Jan 29, 2019
From: EMPIRE TECHNOLOGY DEVELOPMENT LLC
To: CRESTLINE DIRECT FINANCE, L.P.
Reel/Frame 048373/0217 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2016
From: YAO, GUANG; XU, SHIJIE; LI, QI; SONG, XUEFENG
To: OCEAN OF PEACE SCIENTIFIC CO., LTD.
Reel/Frame 037508/0676 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2016
From: OCEAN OF PEACE SCIENTIFIC CO., LTD.
To: EMPIRE TECHNOLOGY DEVELOPMENT LLC
Reel/Frame 037508/0795 →