IP Library Granted Patent US 8,976,708
Granted Patent B1
US 8,976,708 · App. 13/776,026 · Granted Mar 10, 2015

Parameterized device models for openflow

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 8,976,708
App. No.
13/776,026
Granted
Mar 10, 2015
Kind
B1
Abstract

A controller in a communication network may be responsible for generating a device model that defines intended forwarding behavior of a network. The device model may be generated using a target-independent universal language of network primitives. The controller may assign a first set of parameters to the device model to generate a first parameterized device model. The controller may assign a second set of parameters to the device model to generate a second parameterized device model. The controller may send the first parameterized device model or the second parameterized device model to a target device. The target device may statically or dynamically translate the received parameterized device model(s) to implementation. The controller is not required to generate a new device model for each modification made to the network: the controller may parameterized a generic device model to reflect the modifications.

Claims (59)

1. A non-transitory electronic device readable storage medium holding instructions that, when executed, cause one or more processors to:

generate, for a target device, a device model in a target-independent format, the device model describing an intended forwarding behavior for the target device, wherein the device model includes a plurality of model branches;

associate a first set of parameters with one or more elements of the device model to generate a first parameterized device model, wherein:

the first set of parameters include one or more parameters,

the first set of parameters disable at least one model branch, and

the first set of parameters identifies a first forwarding configuration associated with the device model; and

send the first parameterized device model to a target device for configuring the target device to perform the intended forwarding behavior described in the device model, wherein the target device has a forwarding capability.

2. The medium of claim 1 , wherein the one or more parameters include at least one mandatory parameter that must be implemented by the target device.

3. The medium of claim 1 , wherein the one or more parameters include at least one optional parameter that may be refused for implementation by the target device.

4. The medium of claim 1 , wherein the one or more parameters include one or more flags.

5. The medium of claim 1 , wherein the one or more parameters include one or more values.

6. The medium of claim 1 , further holding instructions that, when executed, cause one or more processors to:

associate a second set of parameters with the one or more elements of the device model to generate a second parameterized device model, wherein:

the second set of parameters include one or more parameters, and

the second set of parameters identifies a second forwarding configuration associated with the device model;

the second forwarding configuration is different than the first forwarding configuration; and

send the second parameterized device model to the target device for implementation.

7. The medium of claim 6 , wherein the one or more parameters include one or more a flag or a value.

8. A non-transitory electronic device readable storage medium holding instructions that, when executed, cause one or more processors to:

receive a first parameterized device model generated from a device model in association with a first set of parameters, the device model describing an intended forwarding behavior for a target device in a target-independent format, wherein:

the first set of parameters include one or more parameters,

the first parameterized device model includes a plurality of model branches at least one of which is disabled using one or more parameters, and

the first set of parameters identifies a first forwarding configuration associated with the device model;

determine one or more elements of the first parameterized device model that can be implemented based on capabilities of the target device; and

configure the target device according to the first forwarding configuration described by the determined one or more elements of the first parameterized device model, wherein the target device has a forwarding capability.

9. The medium of claim 8 , further holding instructions that, when executed, cause one or more processors to:

receive one or more input packets;

forward the one or more input packets to one or more elements of the network based on the first forwarding configuration.

10. The medium of claim 8 , wherein the first parameterized device model includes at least one mandatory parameter that must be implemented by the target device.

11. The medium of claim 8 , wherein the first parameterized device model includes at least one optional parameter that may be refused for implementation by the target device.

12. The medium of claim 8 , wherein the first parameterized device model includes one or more flags.

13. The medium of claim 8 , wherein the first parameterized device model includes one or more values.

14. The medium of claim 8 , further holding instructions that, when executed, cause one or more processors to:

receive a second parameterized device model generated from the device model in association with a second set of parameters, wherein:

the second set of parameters include one or more parameters, and

the second set of parameters identifies a second forwarding configuration associated with the device mode;

determine one or more elements of the second parameterized device model that implemented based on the capabilities of the target device;

receive one or more input packets; and

forward the one or more input packets to one or more elements of the network based on the second forwarding configuration.

15. A system comprising:

a routing controller configured to generate at least a first parameterized device model described in a target-independent format or a second parameterized device model described in the target independent format;

a target device configured to:

receive at least the first parameterized device model or the second parameterized device model, wherein:

the target device has a forwarding or switching capability,

the first parameterized device model includes a plurality of model branches at least one of which is disabled using one or more parameters,

the second parameterized device model includes a plurality of model branches at least one of which is disabled using one or more parameters,

the first parameterized device model describes a first forwarding configuration for the target device, and

the second parameterized device model describes a second forwarding configuration for the target device;

determining one or more elements of at least the first parameterized device model or the second parameterized device model that can be implemented based on capabilities of the target device; and

configuring the target device according to at least the first forwarding configuration or the second forwarding configuration.

16. The system of claim 15 , wherein the first parameterized device model is generated by associating a first set of parameters with one or more elements of a device model, wherein:

the first set of parameters include one or more parameters, and

the first set of parameters identifies a first forwarding configuration associated with the device model.

17. The system of claim 15 , wherein the second parameterized device model is generated by associating a second set of parameters with one or more elements of a device model, wherein:

the second set of parameters include one or more parameters, and

the second set of parameters identifies a second forwarding configuration associated with the device model.

18. The system of claim 17 wherein the target device is configured to:

receive one or more input packets, and

forward the one or more input packets to one or more elements of the network based on at least the first forwarding configuration or the second forwarding configuration.

Assignments (1)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →