Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND APPARATUS FOR FLOW CONTROL
Document Type and Number:
WIPO Patent Application WO/2016/160007
Kind Code:
A1
Abstract:
A method includes running an application on a device, the device having a processor and a memory; creating, at a controller, a time pattern control logic configured for implementation on the device, the logic including at least one time pattern control parameter; sending, from the controller, a modify flow message to a switch, the modify flow message including at least one updated time pattern control parameter; receiving, at the switch, the modify flow message; and modifying, at the switch, flow control behavior based on the modify flow message.

Inventors:
YE YINGHUA (US)
LIN MU RONG (US)
Application Number:
PCT/US2015/023821
Publication Date:
October 06, 2016
Filing Date:
April 01, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
NOKIA SOLUTIONS & NETWORKS OY (FI)
YE YINGHUA (US)
LIN MU RONG (US)
International Classes:
G01R31/08
Domestic Patent References:
WO2014144628A22014-09-18
Foreign References:
US20130054761A12013-02-28
US20140362686A12014-12-11
US20150023161A12015-01-22
US20130329601A12013-12-12
Attorney, Agent or Firm:
GOLDHUSH, Douglas, H. et al. (8000 Towers Crescent Dr. 14th Floo, Vienna VA, US)
Download PDF:
Claims:
2 0 150 0 031

WO 2016/160007 PCT/US2015/023821

13

CLAIMS:

1 . A method, comprising:

running an application on a device, the device having a processor and a memory; creating, at a controller, a time pattern control logic configured for implementation on the device, the logic including at least one time pattern control parameter;

sending, from the controller, a modify flow message to a switch, the modify flow message including at least one updated time pattern control parameter;

receiving, at the switch, the modify flow message; and

modifying, at the switch, flow control behavior based on the modify flow message.

2. The method of claim 1 wherein the time pattern control logic is a time-based flow table.

3. The method of claim 1 wherein the controller is an SDN Controller.

4. The method of claim 1 wherein the switch is an SDN Switch.

5. The method of claim 1 wherein creating a time pattern control logic includes defining the at least one time pattern control parameter, the time pattern control parameter including at least one of a Time Window Identifier, a Time Window Percentage, a Time Window Size, a Time Window Unit, and a Time Window Counter.

6. The method of claim 5 wherein sending the modify flow message includes sending at least one of an updated Time Window Percentage and Time Window Size.

7. The method of claim 6 wherein modifying the flow control behavior includes, based on the at least one updated Time Window Percentage and Time Window Size, at least one of allowing traffic to flow through the switch, and blocking traffic through the switch.

8. The method of claim 1 wherein modifying flow control behavior includes allowing traffic to flow through the switch.

9. The method of claim 1 wherein modifying flow control behavior includes blocking traffic from flowing through the switch.

10. The method of claim 9 wherein blocking traffic from flowing through the switch includes blocking 100% of the traffic from flowing through the switch.

1 1 . The method of claim 1 wherein modifying flow control behavior includes at least one of allowing traffic to flow through the switch and blocking traffic from flowing through the switch, the modifying continuing until a further modify flow message is received from the controller. 2 0 150 0 031

WO 2016/160007 PCT/US2015/023821

14

12. A system comprising:

an application running on a device, the device having a memory and a processor; a controller, the controller having a memory and a processor and being configured to define a time pattern control logic having at least one time pattern control parameter, and to send a modify flow message based on the at least one time pattern control parameter;

a switch configured for receiving the modify flow message from the controller and for modifying traffic flow processing behavior based on the modify flow message.

13. The system of claim 12 wherein the controller is an SDN controller.

14. The system of claim 12 wherein the switch is an SDN switch.

15. The system of claim 12 wherein the controller is further configured to install the at least one time pattern control parameter at the switch.

16. The system of claim 12 wherein the switch is further configured to modify the traffic flow processing behavior until receipt of an updated modify flow message from the controller, the updated modify flow message including at least one updated time pattern control parameter.

17. The system of claim 12 wherein, based on the modify flow message, the switch is configured to allow traffic to flow through the switch and to block traffic from flowing through the switch.

18. A method comprising:

creating, at an application installed in a network, time pattern-based insights and intelligence from at least one processor;

sending, to a controller in the network, the time pattern-based insights and intelligence;

creating, at the controller, at least one time pattern control parameter based on the time pattern-based insights and intelligence;

sending, to a switch in communication with the controller, the at least one time pattern control parameter;

modifying, at the switch and based on the at least one time pattern control parameter, at least one camera in communication with the network;

sending, from the at least one camera, camera data to the insights and intelligence application;

processing, at the application, the received camera data; and

determining, at the application, at least one updated time pattern control parameter based on the received camera data. 201500031

WO 2016/160007 PCT/US2015/023821

15

19. The method of claim 18 wherein modifying at least one camera includes modifying a time-based pattern flow control behavior of the camera based on the at least one time pattern control parameter.

20. The method of claim 18 further including the step of further modifying the at least one camera based on the at least one updated time pattern control parameter.

Description:
DESCRIPTION

TITLE

METHOD AND APPARATUS FOR FLOW CONTROL

FIELD OF TECHNOLOGY [0001] This disclosure relates generally to the field of software defined networking

(hereinafter referred to as "SDN"), and more specifically, to flow control in SDN.

BACKGROUND

[0002] Software Defined Networking, or SDN, is generally known in the field of telecommunications. In SDN, the control plane is decoupled from the forwarding plane, enabling network control to be programmable. One advantage of SDN is that such a decoupling increases network agility.

[0003] OpenFlow is a known network protocol that manages and directs traffic, and is considered to enable SDN. Specifically, OpenFlow enables SDN by providing access to the forwarding plane of the Network switch/router. One advantage of OpenFlow is that it can improve traffic management by enabling traffic to be allowed/blocked based on certain factors or rules.

[0004] In current OpenFlow, implementing repetitive flow control can be an inefficient process, as it typically requires an SDN Controller to frequently install new rules when the time to allow traffic flow arrives, and to delete/remove the rules when the time to block traffic flow arrives. Such a method is inefficient and time consuming, as it requires the controller to continuously install/trigger traffic flow rules and to delete those rules upon expiry of the rule. Other existing traffic flow management methods provide rate limitations generally based on throughput per second or packets per second.

SUMMARY [0005] A method includes running an application on a device, the device having a processor and a memory; creating, at a controller, a time pattern control logic configured for implementation on the device, the logic including at least one time pattern control parameter; sending, from the controller, a modify flow message to a switch, the modify flow message including at least one updated time pattern control parameter; receiving, at the switch, the modify flow message; and modifying, at the switch, flow control behavior based on the modify flow message. [0006] In addition, a system is provided and includes an application running on a device, the device having a memory and a processor; a controller, the controller having a memory and a processor and being configured to define a time pattern control logic having at least one time pattern control parameter, and to send a modify flow message based on the at least one time pattern control parameter; and a switch receiving the modify flow message from the controller and for modifying traffic flow processing behavior based on the modify flow message.

[0007] In one embodiment of the present disclosure, a method is provided and includes creating, at an application installed in a network, time pattern-based insights and intelligence from at least one processor; sending, to a controller in the network, the time pattern-based insights and intelligence; creating, at the controller, at least one time pattern control parameter based on the time pattern-based insights and intelligence; sending, to a switch in communication with the controller, the at least one time pattern control parameter; modifying, at the switch and based on the at least one time pattern control parameter, at least one camera in communication with the network; sending, from the at least one camera, camera data to the insights and intelligence application; processing, at the application, the received camera data; and determining, at the application, at least one updated time pattern control parameter based on the received camera data.

DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS [0008] To aid in the proper understanding of the present disclosure, reference should be made to the accompanying drawings, wherein:

[0009] Figure 1 is a diagram of a flow control system and apparatus in accordance with the present disclosure;

[0010] Figure 2 is a flow chart of a method in accordance with the present disclosure;

[0011 ] Figure 3 is an example Time Window Table in accordance with an embodiment of the present disclosure;

[0012] Figure 4 is an example Time Pattern diagram in accordance with an embodiment of the present disclosure; [0013] Figure 5a is an example Time Window Table Entry in accordance with an embodiment of the present disclosure; [0014] Figure 5b is an example Time Pattern diagram corresponding to the Time Window Table Entry of Figure 5a and in accordance with an embodiment of the present disclosure;

[0015] Figure 6a is an example modified Time Window Table Entry in accordance with an embodiment of the present disclosure;

[0016] Figure 6b is an example Time Pattern diagram corresponding to the modified Time Window Table Entry of Figure 6a and in accordance with an embodiment of the present disclosure;

[0017] Figure 7 is a diagram of a flow control system in accordance with another embodiment of the present disclosure;

[0018] Figure 8 is a flow chart of a method corresponding to the system illustrated in Figure 7;

[0019] Figure 9 is an example Time Pattern diagram illustrating a normal operating situation and in accordance with the embodiment illustrated in Figures 7 and 8; [0020] Figure 10 is an example modified Time Pattern diagram illustrating an emergency situation in accordance with the embodiment illustrated in Figures 7-9;

[0021 ] Figure 1 1 is a diagram illustrating traffic flow a normal network operating situation and in accordance with a further embodiment of the present disclosure;

[0022] Figure 12 is a diagram illustrating traffic flow in an outage situation and in accordance with the further embodiment of the present disclosure; and

[0023] Figure 13 illustrates an apparatus in accordance with the present disclosure.

DETAILED DESCRIPTION

[0024] The present disclosure includes a system and method for providing a time pattern window based flow control mechanism that allows a switch to control traffic based on a recursive time pattern. Turning first to Figure 1 , a system 100 is provided and includes an application 102 running on a device 104. Among other things, the device 104 has a memory 106 and a processor 108. The system 100 further includes a controller 1 10, which also includes a memory 1 12 and a processor 1 14. As will be described in further detail below, the controller 1 10 is configured to define a time pattern control logic having at least one time pattern control parameter, and to send a modify flow message based on the at least one time pattern control parameter. In addition, the system 100 includes a switch 1 16 configured for receiving the modify flow message from the controller 1 10 and for modifying traffic flow processing behavior based on the modify flow message. Specifically, the controller 1 10 is configured for installing the at least one time pattern control parameter at the switch 1 16.

[0025] In the present disclosure, the application 102, device 104 and controller 1 10 are located within an operator network 1 18, such as a telecommunications network, for example. However, the architecture of the present system 100 is not limited in this sense. The controller 1 10 can be an SDN controller, and the switch 1 16 can be an SDN switch. As described above, SDN (or software defined networks) are generally known and are configured, among other things, for decoupling control plane packets from forwarding plane packets, allowing network control to be programmable.

[0026] As will be described in further detail below, in the system 100, upon installation of the time pattern control parameter and receipt of the modify flow message from the controller 1 10, the switch 1 16 is further configured to modify the traffic flow processing behavior until receipt of an updated modify flow message from the controller 1 10. The updated modify flow message is configured to include at least one updated time pattern control parameter. Based on the modify flow message, the switch 1 16 is configured to allow traffic to flow through the switch and to block traffic from flowing through the switch.

[0027] Referring now to Figure 2, a method 200 is provided and is performed within the system 100. The method 200 includes, at 202, running the application on the device (the device having the processor and the memory). At 204, a time pattern control logic is created at the controller, which in accordance with the present embodiment, is an

SDN Controller. As will be described in further detail below, the time pattern control logic is configured for implementation on the device, the logic including at least one time pattern control parameter. At 206, the modify flow message is sent from the controller to the switch, which, in accordance with the present embodiment, is an SDN switch. The modify flow message can include at least one updated time pattern control parameter, which will be described in further detail below. The switch receives the modify flow message at 208. At 210, the switch modifies flow control behavior based on the modify flow message. Specifically, the switch 1 16 can modify flow control behavior by allowing traffic to flow through the switch, or by blocking traffic from flowing through the switch. In the present disclosure, when the switch 1 16 blocks the traffic from flowing through the switch, the traffic is 100% blocked (i.e., no traffic can flow through the switch). The switch 1 16 continues to modify flow control based on the modify flow message until or unless an updated modify flow message is received from the controller (at 212). The updated modify flow message can include a further updated time pattern control parameter. Upon receipt of the updated modify flow message, the method returns back to step 210, where the switch modifies the flow control behavior based on the updated modify flow message.

[0028] Accordingly, the switch 1 16 is configured such that it executes the time pattern control parameter received from the controller 1 10, and is configured to repeat this execution until a further, updated time control parameter is received from the controller (in the form of a modified flow message from the controller). In addition, in the present system 100 and method 200, the SDN controller 1 10 is not required to continuously interact with the SDN switch after the modify flow message is sent. In other words, after the modify flow message is sent to the SDN switch, the switch will continue to modify the flow behavior based on the received time control parameter. The SDN controller 1 10 will only interact with the SDN switch if and when an updated modify flow message is sent to the SDN switch.

[0029] Both of these features are in contrast to existing solutions in SDN and using Open Flow. Specifically, current traffic/flow solutions are not time-based. For example, the current concept of a Meter Table for flow control is known, and includes a rate limitation concept based on throughput per second or packets per second. In addition, the current Flow Table concept includes flow table entries that are deleted by the SDN switch upon completion. In other words, the SDN switch does not repeat the flow control behavior after expiration of a determined time period. Rather, after the expiry of the determined time period, the SDN switch can delete that particular flow table entry and then await a further modify flow message from the SDN controller. Such a method is inefficient and requires continuous interaction between the SDN switch and the SDN controller.

[0030] The time pattern control logic created at the controller can be a time-based flow table or time window table 300, as shown in Figure 3. The time window table 300 includes a plurality of time window entries, each of which will be described in further detail below. In the present disclosure, the time window works as a time pattern-based throttle, which allows traffic to pass through the SDN switch during a certain percentage of a defined time period, and which completely blocks traffic from passing through the SDN switch during a "rest" from that time period. The defined parameters of the time pattern control logic or time window table 300 are repeated for each defined time period, until a modified flow message (with an updated time pattern control parameter) is received at the SDN switch, as described above with respect to the method 200. [0031 ] As seen in Figure 3, creating a time pattern control logic or time window table 300 includes defining at least one time pattern control parameter. In accordance with the present embodiment, the time pattern control parameter can include, for example, a Time Window Identifier 302, a Time Window Percentage 304, a Time Window Size 306, a Time Window Unit 308, and a Time Window Counter 310. It is to be understood that the time window table 300 is not limited these parameters, and that additional parameters, while not disclosed herein, may be appropriate. The Time Window Identifier 302 can be a 32 bit unsigned integer that is uniquely configured to identify the time window. The Time Window Percentage 304 is defined as the time window percentage during which the SDN switch 1 16 allows traffic to pass through the switch. The Time Window Size 306 defines the size of the time window, and the Time Window Unit 308 defines the unit of the time window (i.e., second, minute, hour, day, month). The Time Window Counter 310 is updated when packets are processed by the time window. Upon receipt of the modify flow message from the SDN controller 1 10, the SDN switch 1 16 is configured to modify traffic flow based on the values identified in the time pattern control parameters. For example, if the Time Window Percentage 304 and Time Window Size 306 identified in the modify flow message have been updated, the SDN switch will either allow or block traffic based on these modified values. This behavior will continue in a consistent manner (i.e., in accordance with the updated Time Window Percentage 304 and updated Time Window Size 306) until an updated modify flow message is received from the SDN controller 1 10. [0032] After the above values are defined, the SDN controller 1 10 can calculate the time duration for the SDN switch to allow traffic, and the time duration for the SDN switch to block traffic. For example, in accordance with the present embodiment, these values can be calculated as follows:

Time duration to allow traffic = Time Window Percentage x Size x Unit Time duration to block traffic = (1 - Time Window Percentage) x Size x Unit

For example, and referring now to Figure 4, if the Time Window Percentage 304 is defined as 30%, with the Time Window Unit 308 being defined in seconds, then based on the above-identified algorithm, the SDN switch 1 16 would allow traffic to pass through the switch every 18 seconds, and for the remaining 42 seconds of each minute, the SDN switch 1 16 would block traffic from passing through the switch. Figure 4 illustrates the behavior of the SDN switch 1 16 based on this time pattern control logic 400.

[0033] Referring next to Figures 5 and 6, an example scenario is described in accordance with the present disclosure. Figures 5a and 5b illustrate a current time window table 500 and corresponding SDN switch behavior diagram 510, respectively. As shown in the current time pattern control logic or time window table 500, a Time Window Identifier 502 is indicated as "Id 1 ", a Time Window Percentage 504 is defined as "10%", a Time Window Size 506 is defined as "60", and a Time Window Unit 508 is defined as "seconds". In other words, and as illustrated in Figure 5b, the SDN switch 1 16 is configured to allow traffic to pass through the switch every 6 seconds, and for the remaining 54 seconds, is configured to block the traffic from passing through the switch.

[0034] The SDN controller 1 10 then sends a modify flow message (identified also as a "flowmod" message) including updated time control pattern parameters as shown in Figure 6a. Specifically, new time window table 600 defines a Time Window Identifier 602 as "Id 1 ", a Time Window Percentage 604 as "80%", a Time Window Size 506 as "60", and a Time Window Unit 608 as "seconds". Accordingly, and as shown in Figure 6b, the SDN switch 1 16 modifies its behavior to correspond with the updated time control pattern parameters received by the SDN controller 1 10. Specifically, the SDN switch modifies its behavior such that it allows traffic to pass through the switch every 48 seconds, and for the remaining 12 seconds, it blocks the traffic from flowing through the switch. The SDN switch 1 16 will repeat this behavior until another updated modify flow message or flowmod message is received from the SDN controller.

[0035] Specific use case examples will now be described in accordance with the present disclosure and referring to Figures 7-12. It is to be understood that these use case scenarios are exemplary and are not limiting with respect to the potential uses of the present disclosure.

[0036] Figures 7-10 illustrate a video surveillance scenario that utilizes the features disclosed herein. Specifically, in Figure 7, a video surveillance system 700 is provided and includes an applications server 702, a controller 704 in communication with the applications server, and a camera 706 in communication with the controller. The system 700 further includes a network insights server 708, and an image intelligence server 710. The applications server 702 can be an SDN application server that, among other things, is configured to implement a 3D model to control cameras located in the network or in an OSS/NFV, for example. The controller 704 can be an SDN controller that is configured to control the camera 706, which, as known in the art, can also be in communication with camera applications 712, a modem 714, and the Internet 716, for example. A switch 718 is located in close proximity to the camera 706, and in accordance with the present disclosure, can be an SDN switch. The network insights server 708 can be located in the network, and is configured to analyze and provide data to the applications server 702, such as data relating to cell load/congestion, the number of subscribers in a cell, and the value of the cell. The image intelligence server 710 can be a third party server that is located either in the network or in the Cloud, for example. Among other things, the image intelligence server is configured to provide information to the applications server 702 regarding still/motion detection, human detection, and face recognition.

[0037] Figure 8 describes a method 800 performed by the system 700. At 802, the controller 1 10 initializes the method 800, and at 804 determines whether the camera 706 is configured for dedicated resource (i.e., traditional monitoring) or time pattern-based control. If the camera 706 is configured for time pattern-based control, the method proceeds to step 806, where the controller 704 pre-defines a "normal" or conventional time pattern control logic or time window table. Concurrently, the SDN application 702, at 808, creates, time pattern-based insights and intelligence from at least one processor. As described above, these insights and intelligence can be based on information received from the network insights server 708 and the image intelligence server 710. For example, the network insights server 708 and the image intelligence server 710 can perform realtime analysis, and if they determine that a time-based feature of the camera needs to be changed (i.e., face recognition for a target individual is indicated), then the servers 708 and 710 can send an update to the SDN application 702, requesting that the application initiate a request to the SDN controller 704.

[0038] At 810, the SDN application 702 sends the time pattern-based insights and intelligence to the SDN controller 704. Specifically, the SDN application 702 will initialize the time pattern parameters at the SDN switch (which is located close to the camera 706), and send them to the controller 706. At 812, the controller 704 creates at least one time pattern control parameter based on the time pattern-based insights and intelligence. The controller 706 then sends the at least one time pattern control parameter to the switch (at 814), in the form of a modified time window table with modified time pattern control parameters. At 816, the switch modifies the at least one camera 706, based on the at least one time pattern control parameter. For example, the switch 718 can modify a time- based pattern flow control behavior of the camera 706, such as the bandwidth, resolution, and time window of the camera. In addition, using the time pattern control parameter(s) in the modified time window table, the switch can allow/block traffic flow from the camera based on its proximity to an emergency situation, for example, as will be described in detail below.

[0039] Upon completion of the modifying behavior, the camera 706 can send camera data to image intelligence server 710, which can process the received camera data. Based on this processed data and additional data from the network insights server 708 and image intelligence server 710, the SDN application 702 can determine an updated time pattern control parameter. If such an updated time pattern control parameter is required, the SDN application 702 would send the updated time pattern control parameter to the SDN controller 704, at 818, and steps 814-816 would be repeated until a further updated time pattern control parameter is received by the controller 704.

[0040] Figures 9-10 illustrate an example video surveillance use case using the system 700 and method 800 in the present disclosure. Figure 9 illustrates wireless video surveillance system 900, where the time window table operates in a normal capacity. In this example, "X" number of cameras (camera 1 , camera 2, camera 3, and camera "X") are in operation within the network. In this normal operating scenario, video surveillance cameras 1 -X are deployed at high density, and the switch 718 (not shown) allows/blocks traffic based on the "normal" time window table". In Figure 10, however, an emergency situation has arisen, and modified flow message(s) with time pattern window parameters have been sent to each of the switches closest to a corresponding one of the cameras 1 - X. Each switch can then modify the behavior of its camera based on the modified time pattern window. For example, the switch associated with the camera located closest to the emergency situation can modify the camera (based on the received modified time pattern window parameters) by allowing more traffic to pass through the camera. Similarly, the switch(es) associated with the camera(s) furthest away from the emergency situation can modify the camera behavior (based on the received modified time pattern window parameters) by blocking more traffic (i.e., reducing the "allow" traffic window size"). As seen in Figure 10, camera 3 is located closest to the emergency situation, and therefore its behavior is modified such that more traffic is allowed to pass through the switch. [0041 ] The present system 700 and method 800 are such that the control plane and data plane are decoupled from each other. In addition, the present system 700 and method 800 provide centralized control, realized at the SDN switch 718. The SDN switch 718 is deployed in close proximity to the camera 706, and can control time-based features of the camera, such as bandwidth, resolution, and time window. Unlike current video surveillance systems, the present system 700 and method 800 can increase radio resource efficiency and allow bandwidth to be dynamically reallocated to critical locations. This is not easily implemented in current video surveillance systems, in which the camera typically competes with mobile phones for radio resources, the network has limited control, and the camera is always "on".

[0042] Figures 1 1 -12 illustrate an additional use case of the present disclosure. Specifically, in Figure 1 1 , a normal network monitoring situation 1 100 is provided, in which each network element (i.e., eNB1 , eNB2, eNBx) has a limited time window in which to transmit data. In Figure 12, however, an outage situation 1200 has occurred. The outage can be determined based on, for example, an alarm, KPI, or algorithm, for example. In this case, the OSS, for example, can update SDN controller 1202 to send a modify flow message (having a modified time pattern window parameters) to the SDN switch 1204 associated with the particular affected network element, in this case, eNB1 1206. The SDN switch 1204 can then modify the flow behavior of the affected network element based on the modified time window table, for example by allowing it more time to transmit its data. Once the outage is recovered, the SDN controller can send an updated modify flow message to the particular SDN switch, alerting it to modify its flow behavior back to the "normal" standard for that particular element.

[0043] An apparatus 1300 can also be provided in accordance with the present disclosure. The apparatus 1300 can be located within a network, and can include, for example, a controller 1304 having a memory and a processor, an application 1304 running on the apparatus, and a switch 1306 in communication with the controller. The apparatus 1300 can be deployed within a network and can be configured to modify flow behavior based on time control parameters determined by the controller 1304, and in accordance with the system 100 and method 200 described above. The apparatus 1300 can be a standalone piece of equipment or can be implemented within a component of the operator's network.

[0044] As stated above, there are several presumed advantages in utilizing the present method(s) and system. Specifically, once the SDN Controller installs the Time Window Table Mechanism to the SDN Switch, the switch can execute/repeat the indicated time patterns without the need of the Controller to insert/remove flow entries. In other words, the SDN Switch does not modify the time pattern unless the SDN Controller sends the modified flow message to the SDN Switch. Therefore, efficiency is increased because the SDN Controller is not continuously disturbing the traffic flow method. In addition, in the present method and system, the SDN Switch can control traffic based on a recursive time pattern that allows it to repeat traffic flow behavior without further interaction with the SDN Controller. The SDN Switch does not change its behavior unless it receives a modify flow message from the SDN Controller, thereby increasing network agility and efficiency. Further, in the present disclosure, the SDN Switch can completely block traffic flow during designated time periods. Also, the present method and system can be implemented by various SDN Switch vendors, and is not limited to a particular vendor.

[0045] The present method and system can also function with existing SDN table matching mechanisms (i.e., Flow Table and Meter Table), as described in detail above. For example, with respect to existing Flow Table mechanisms, flow table matching can first be applied to match particular IP packets or particular ports. The time pattern window table can then be applied to those packets. Similarly, with respect to existing Meter Table mechanisms, the SDN can control throughput rate together with time for some particular IP packets or ports.

[0046] Embodiments of the present invention may be implemented in software (executed by one or more processors), hardware (e.g., an application specific integrated circuit), or a combination of software and hardware. In an example embodiment, the software (e.g., application logic, an instruction set) is maintained on any one of various conventional non-transitory computer-readable media. In the context of this document, a

"non-transitory computer-readable medium" may be any media or means that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer. A non- transitory computer-readable medium may comprise a computer-readable storage medium (e.g., memory or other device) that may be any media or means that can contain or store the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer. As such, the present invention includes a computer program product comprising a computer-readable storage medium bearing computer program code embodied therein for use with a computer, the computer program code comprising code for performing any of the methods and variations thereof as previously described. Further, the present invention also includes an apparatus which comprises one or more processors, and one or more memories including computer program code, wherein the one or more memories and the computer program code are configured, with the one or more processors, to cause the apparatus to perform any of the methods and variations thereof as previously described.

[0047] If desired, the different functions discussed herein may be performed in a different order and/or concurrently with each other. Furthermore, if desired, one or more of the above-described functions may be optional or may be combined.

[0048] Although various aspects of the invention are set out in the independent claims, other aspects of the invention comprise other combinations of features from the described embodiments and/or the dependent claims with the features of the independent claims, and not solely the combinations explicitly set out in the claims.

[0049] It is also noted herein that while the above describes example embodiments of the invention, these descriptions should not be viewed in a limiting sense. Rather, there are several variations and modifications which may be made without departing from the scope of the present invention as defined in the appended claims.

[0050] One having ordinary skill in the art will readily understand that the invention as discussed above may be practiced with steps in a different order, and/or with hardware elements in configurations which are different than those which are disclosed. Therefore, although the invention has been described based upon these preferred embodiments, it would be apparent to those of skill in the art that certain modifications, variations, and alternative constructions would be apparent, while remaining within the spirit and scope of the invention. In order to determine the metes and bounds of the invention, therefore, reference should be made to the appended claims. [0051] The following abbreviations that may be found in the specification and/or the drawing figures are defined as follows: eNB Evolved Node B

OSS Operations Support System

SDN Software Defined Network

NFV Network Function Virtualization