IP Library Granted Patent US 10,079,805
Granted Patent B2
US 10,079,805 · App. 15/181,123 · Granted Sep 18, 2018

Bypassing a firewall for authorized flows using software defined networking

Inventors: David D. Jameson (Rowlett, TX); Russell DeMolay (Sachse, TX)
Assignee: FUJITSU LIMITED
H04L63/0236H04L2463/121
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,079,805
App. No.
15/181,123
Granted
Sep 18, 2018
Kind
B2
Abstract

Methods and systems for managing authorized data flows using software defined networking include receiving flow criteria sent from a firewall and extracted from a first data packet, determining whether flow criteria of the first data packet matches an entry in a master data flow list, inserting the flow criteria from the first data packet into the master data flow list on a software defined networking controller, and sending the flow criteria of the first data packet to the router. The router may forward a second data packet associated with the data flow toward a destination based on the validation of the first data packet by the firewall. The flow criteria may not match an entry in a router data flow list on the router and may include at least two of: a source IP address, a destination IP address, a destination port, and a protocol of transmission.

Claims (67)

1. A method for managing authorized data flows using a software defined networking controller, the method comprising:

receiving, at the software defined networking controller, flow criteria sent from a firewall and extracted from a first data packet associated with a data flow from a router, wherein the flow criteria does not match an entry in a router data flow list on the router and the flow criteria includes at least two of:

a source IP address;

a destination IP address;

a destination port; and

a protocol of transmission;

determining, by the software defined networking controller, whether the flow criteria from the first data packet matches an entry in a master data flow list on the software defined networking controller;

inserting the flow criteria from the first data packet into the master data flow list on the software defined networking controller based on the determination that the flow criteria does not match an entry; and

sending the flow criteria of the first data packet from the software defined networking controller to the router to forward a second data packet associated with the data flow toward a destination based on the validation of the first data packet by the firewall.

2. The method of claim 1 , wherein the step of inserting the flow criteria further comprises inserting a timestamp associated with the flow criteria into the master data flow list.

3. The method of claim 1 , further comprising determining a timeout for the flow criteria and the step of sending the flow criteria to the router further comprises sending the timeout.

4. The method of claim 1 , further comprising:

receiving at the software defined networking controller flow criteria sent from the firewall and extracted from a third data packet associated with the data flow from the router, wherein the third data packet is received by the router before the second data packet;

determining whether the flow criteria of the third data packet was sent to the router within a router wait period; and

discarding the flow criteria of the third data packet based on a determination that the flow criteria of the third data packet matches an entry in the master data flow list on the software defined networking controller and the determination that the flow criteria of the matching entry was sent to the router within the router wait period.

5. The method of claim 1 , further comprising sending the flow criteria of the first data packet from the software defined networking controller to a second router, the second router to receive the second data packet associated with the data flow and send the second data packet toward the destination.

6. The method of claim 1 , further comprising:

determining whether a bandwidth of the data flow is greater than or equal to a threshold; and

establishing an additional connection to bypass an additional network element for the data flow based on the determination that the bandwidth of the data flow is greater than or equal to a threshold.

7. The method of claim 1 , further comprising:

receiving flow criteria extracted from a third data packet associated with the data flow, wherein the flow criteria extracted from the first data packet and the third data packet use a RESTful interface;

determining whether the flow criteria from the third data packet matches an entry in the master data flow list; and

updating the entry based on the determination that the flow criteria from the third data packet matches the entry.

8. The method of claim 7 , wherein the step of updating further comprises at least one of:

updating a timestamp associated with the matching entry in the master data flow list;

increasing a timeout associated with the matching entry in the master data flow list; and

setting the destination IP address to at least one of: a wild-card value and a range of values.

9. The method of claim 7 , further comprising sending flow criteria from the updated entry to the router.

10. The method of claim 3 , wherein the step of determining a timeout for the flow criteria is based on a type of application associated with the flow criteria.

11. A network for managing authorized data flows comprising:

a router with logic to:

receive a first data packet;

extract flow criteria from the first data packet, the flow criteria comprising at least two of:

a source IP address;

a destination IP address;

a destination port; and

a protocol of transmission;

determine whether the flow criteria matches an entry in a router data flow list;

route the first data packet to a firewall based on the determination that the flow criteria does not match an entry in the router data flow list;

the firewall with logic to:

validate the first data packet;

send the first data packet toward a destination;

send the flow criteria to a software defined networking controller; and

the software defined networking controller with logic to:

determine whether the flow criteria matches an entry in a master data flow list on the software defined networking controller;

insert the flow criteria into the master data flow list on the software defined networking controller based on the determination that the flow criteria does not match an entry; and

send the flow criteria to the router to forward a second data packet associated with the data flow toward a destination based on validation of the first data packet by the firewall.

12. The network of claim 11 , wherein the logic to insert the flow criteria into the master data flow list further comprises logic to insert a timestamp associated with the flow criteria.

13. The network of claim 11 , wherein the software defined networking controller further comprises logic to determine a timeout for the flow criteria and the logic to send the flow criteria to the router further comprises logic to send the timeout.

14. The network of claim 11 , wherein the software defined networking controller further comprises logic to:

receive at the software defined networking controller flow criteria sent from the firewall and extracted from a third data packet associated with the data flow from the router;

determine whether the flow criteria of the third data packet was sent to the router within a router wait period; and

discard the flow criteria of the third data packet based on a determination that the flow criteria of the third data packet matches an entry in the master data flow list on the software defined networking controller and the determination that the flow criteria of the matching entry was sent to the router within the router wait period.

15. The network of claim 11 , wherein software defined networking controller further comprises logic to send the flow criteria of the first data packet to a second router, the second router to receive the second data packet associated with the data flow and to send the second data packet toward the destination.

16. The network of claim 11 , wherein the software defined networking controller further comprises logic to:

determine whether a bandwidth of the data flow is greater than or equal to a threshold; and

establish an additional connection to bypass an additional network element for the data flow based on the determination that the bandwidth of the data flow is greater than or equal to a threshold.

17. The network of claim 11 , wherein the software defined networking controller further comprises logic to:

receive flow criteria extracted from a third data packet associated with the data flow, wherein the logic to receive the flow criteria extracted from the first data packet and third data packet uses a RESTful interface;

determine whether the flow criteria from the third data packet matches an entry in the master data flow list; and

update the entry based on the determination that the flow criteria from the third data packet matches an entry.

18. The network of claim 17 , wherein the logic to update the flow criteria further comprises at least one of:

updating a timestamp associated with the matching entry in the master flow data list;

increasing a timeout associated with the matching entry in the master data flow list; and

setting the destination IP address to at least one of: a wild-card value and a range of values.

19. The network of claim 17 , wherein the software defined networking controller further comprises logic to send flow criteria from the updated entry to the router.

20. The network of claim 13 , wherein the logic to determine a timeout for the flow criteria is based on a type of application associated with the flow criteria.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2025
From: FUJITSU LIMITED
To: 1FINITY INC.
Reel/Frame 072432/0666 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2016
From: FUJITSU NETWORK COMMUNICATIONS, INC.
To: FUJITSU LIMITED
Reel/Frame 040147/0484 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2016
From: JAMESON, DAVID D.; DEMOLAY, RUSSELL
To: FUJITSU NETWORK COMMUNICATIONS, INC.
Reel/Frame 038900/0204 →
Continuity (1)
Related Publication 20170359310A1 · Dec 14, 2017