IP Library › Granted Patent US 9,948,505
Granted Patent B2
US 9,948,505 · App. 14/704,388 · Granted Apr 17, 2018

Systems and methods for integrating a device with a software-defined networking controller

Inventors: Satyendra Tiwari (Bangalore, IN); Swetha Garipally (Bangalore, IN)
Assignee: Citrix Systems, Inc.
H04L41/0806H04L29/08072H04L29/06H04L41/0843H04L45/745
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,948,505
App. No.
14/704,388
Granted
Apr 17, 2018
Kind
B2
Abstract

The disclosure is directed towards systems and methods for integrating a device with a software-defined networking (SDN) controller. A device intermediary to a plurality of clients and a plurality of servers can receive a request to establish a communicative connection between an SDN controller and the device. The request can be based on a device package including a device model, a device script configured to integrate the device with the SDN controller and including one or more function call definitions, a functional profile including a default value for at least one parameter of the device, and a plurality of device-level configuration parameters specifying values of parameters utilized by the device. The device can receive a request to configure one or more functions of the device. The request can configure the functions generated by the SDN controller based on the device package.

Claims (58)

1. A method for integrating a device with a software-defined networking (SDN) controller, comprising:

receiving, by a device intermediary to a plurality of clients and a plurality of servers, a request to establish a communicative connection between a software-defined networking (SDN) controller and the device, the request to establish the communicative connection based on a device package specific to the device including a device model, a device script configured to integrate the device with the SDN controller and including one or more function call definitions, a functional profile including a default value for at least one parameter of the device, and a plurality of device-level configuration parameters specifying values of parameters utilized by the device; and

receiving, by the device, a request to configure one or more functions of the device, the request to configure the functions of the device generated by the SDN controller via the device script of based on the device package, the request having a format specified by the device model and including values of parameters selected by the SDN controller using the device-level configuration parameters corresponding to the functions of the device to be configured, the device configuring the one or more functions responsive to receiving the request to configure the functions of the device; and

wherein the device model comprises information relating to functions provided by the device to the SDN controller and configuration parameters of the functions provided by the device to the SDN controller.

2. The method of claim 1 , further comprising:

configuring a management Internet protocol (IP) address and a management virtual local area network (VLAN) of the device; and

specifying a default gateway on the device.

3. The method of claim 1 , further comprising configuring the device for management access by the SDN controller via a user interface provided by the device.

4. The method of claim 1 , wherein the device package is configured to allow the SDN controller to configure functions of the device via a representation state transfer (REST)-based application programming interface (API).

5. The method of claim 1 , wherein receiving a request to configure a function of the device comprises receiving a request to configure at least one of the following functions associated with communications between the plurality of clients and the plurality of servers:

(a) authentication, authorization, and auditing (AAA);

(b) an application firewall;

(c) cache redirection;

(d) compression;

(e) content acceleration;

(f) content switching;

(g) DataStream;

(h) domain name service;

(i) dynamic routing;

(j) global server load balancing;

(k) integrated caching;

(l) load balancing;

(m) secure sockets layer (SSL) offload;

(n) SSL virtual private networking (VPN); and

(o) network address translation (NAT).

6. The method of claim 1 , wherein the device package is configured to allow the SDN controller to configure a function of the device via a graphical user interface (GUI).

7. The method of claim 6 , wherein the GUI includes a service graph, the service graph including a set of function nodes between the SDN controller and the device, the set of function nodes identifying a set of network service functions used by an application communicating with the SDN controller.

8. The method of claim 1 , wherein the device comprises an application delivery controller (ADC).

9. The method of claim 1 , wherein the device and the SDN controller are deployed in a datacenter network.

10. A system for integrating a device with a software-defined networking (SDN) controller, comprising:

a device intermediary to a plurality of clients, a plurality of servers, and an SDN controller, the device configured to:

receive a request to establish a communicative connection between a software-defined networking (SDN) controller and the device, the request to establish the communicative connection based on a device package specific to the device including a device model, a device script configured to integrate the device with the SDN controller and including one or more function call definitions, a functional profile including a default value for at least one parameter of the device, and a plurality of device-level configuration parameters specifying values of parameters utilized by the device; and

receive a request to configure one or more functions of the device, the request to configure the functions of the device generated by the SDN controller via the device script of based on the device package, the request having a format specified by the device model and including values of parameters selected by the SDN controller using the device-level configuration parameters corresponding to the functions of the device to be configured, the device configuring the one or more functions responsive to receiving the request to configure the functions of the device; and

wherein the device model comprises information relating to functions provided by the device to the SDN controller and configuration parameters of the functions provided by the device to the SDN controller.

11. The system of claim 10 , further comprising:

configuring a management Internet protocol (IP) address and a management virtual local area network (VLAN) of the device; and

specifying a default gateway on the device.

12. The system of claim 10 , further comprising configuring the device for management access by the SDN controller via a user interface provided by the device.

13. The system of claim 10 , wherein the device package is configured to allow the SDN controller to configure functions of the device via a representation state transfer (REST)-based application programming interface (API).

14. The system of claim 10 , wherein the request to configure a function associated with the device comprises a request to configure at least one of the following functions associated with communications between the plurality of clients and the plurality of servers:

(a) authentication, authorization, and auditing (AAA);

(b) an application firewall;

(c) cache redirection;

(d) compression;

(e) content acceleration;

(f) content switching;

(g) DataStream;

(h) domain name service;

(i) dynamic routing;

(j) global server load balancing;

(k) integrated caching;

(l) load balancing;

(m) secure sockets layer (SSL) offload;

(n) SSL virtual private networking (VPN); and (o) network address translation (NAT).

15. The system of claim 10 , wherein the device package is configured to allow the SDN controller to configure functions of the device via a graphical user interface (GUI).

16. The system of claim 15 , wherein the GUI includes a service graph, the service graph including a set of function nodes between the SDN controller and the device, the set of function nodes identifying a set of network service functions used by an application communicating with the SDN controller.

17. The system of claim 10 , wherein the device comprises an application delivery controller (ADC).

18. The system of claim 10 , wherein the device and the SDN controller are deployed in a datacenter network.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2015
From: TIWARI, SATYENDRA; GARIPALLY, SWETHA
To: CITRIX SYSTEMS, INC.
Reel/Frame 035567/0954 →
Continuity (1)
Related Publication 20160330075A1 · Nov 10, 2016