IP Library Granted Patent US 9,847,951
Granted Patent B2
US 9,847,951 · App. 14/071,224 · Granted Dec 19, 2017

Dynamic bandwidth allocation systems and methods using content identification in a software-defined networking controlled multi-layer network

Inventors: Aung Htay (Alpharetta, GA); Paul Hudgins (Roswell, GA); Mallikarjunappa Kore (Alpharetta, GA)
Assignee: Ciena Corporation
H04L47/70H04L43/0876H04L47/10H04L65/60
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,847,951
App. No.
14/071,224
Granted
Dec 19, 2017
Kind
B2
Abstract

A method, a Software-Defined Networking (SDN) controller, and a network include operation of a multi-layer SDN network and uniquely identifying streaming content on higher layers relative to the multi-layer SDN network through deep packet inspection; associating the streaming content to a multi-layer service on the SDN network; and monitoring the streaming content on the SDN network over the multi-layer service. This can include dynamically adjusting bandwidth of the multi-layer service utilizing OpenFlow on the SDN network based on the monitoring. The deep packet inspection can utilize a Bloom filter embedded in a resource identifier of the streaming content by the content provider, wherein the embedded Bloom filter is transparent to content players and does not require changes to storage on associated web servers for the streaming content.

Claims (56)

1. A method, comprising:

operating a multi-layer Software-Defined Networking (SDN) network, wherein the multi-layer SDN network operates at any of Layers 0 , 1 , and 2 , Layer 0 being wavelengths, Layer 1 being Time Division Multiplexing, and Layer 2 being packets;

uniquely identifying streaming content at Layer 7 over the multi-layer SDN network through deep packet inspection by an SDN application that utilizes a Bloom filter embedded in a resource identifier in the streaming content that is transparent to streaming content clients and that is hidden while the streaming content is hosted on a server via resource identifier rewriting;

associating the streaming content at Layer 7 to a multi-layer service on the SDN network at any of Layers 0 , 1 , and 2 based on the uniquely identifying and the Bloom filter embedded in the resource identifier;

monitoring the streaming content on the SDN network over the multi-layer service using the Bloom filter embedded in the resource identifier; and

dynamically adjusting bandwidth of the multi-layer service that is currently provisioned on the SDN network at any of Layers 0 , 1 , and 2 based on the monitoring, wherein the bandwidth comprises one or more of wavelength connectivity and Time Division Multiplexing connectivity, wherein the one or more of the wavelength connectivity and the Time Division Multiplexing connectivity are adjusted based on the monitoring at the higher layers.

2. The method of claim 1 , further comprising:

dynamically adjusting the bandwidth of the multi-layer service utilizing Open Flow on the SDN network.

3. The method of claim 1 , wherein the streaming content comprises Hypertext Transfer Protocol (HTTP) adaptive streaming.

4. The method of claim 1 , wherein the uniquely identifying, the associating, and the monitoring is performed by an SDN controller.

5. The method of claim 1 , further comprising:

receiving the streaming content from a content provider with the embedded Bloom filter in the resource identifier; and

tracking the streaming content associated with the content provider over the SDN network.

6. The method of claim 1 , further comprising:

prior to the uniquely identifying and at a content provider, initializing a master N-bit Bloom filter with k different hash functions associated with the Bloom filter; and

repeating each of the following steps for each media segment comprising segment data produced by the content provider:

initializing an M-bit Bloom filter with L different hash functions associated with the filter;

as each segment is produced, taking a first set of bytes of the segment data and performing an M-bit Bloom filter addition by feeding the segment data through each of the L hash function and setting the corresponding M-bit Bloom filter bits;

performing a master N-bit Bloom filter addition by feeding the data through each of the K hash function and setting the corresponding Bloom filter bits; and

creating a Uniform Resource Indicator (URI) for every media segment that enables its clients to obtain the segment data.

7. The method of claim 6 , further comprising:

embedding the Bloom filter in the URI of every media segment file for the uniquely identifying.

8. A Software-Defined Networking (SDN) controller, comprising:

a network interface communicatively coupled to one or more network devices in a multi-layer Software-Defined Networking (SDN) network, wherein the multi-layer SDN network operates at any of Layers 0 , 1 , and 2 , Layer 0 being wavelengths, Layer 1 being Time Division Multiplexing, and Layer 2 being packets;

a processor communicatively coupled to the network interface; and

memory storing instructions that, when executed, cause the processor to:

uniquely identify streaming content on higher layers relative to the multi-layer SDN network through deep packet inspection by an SDN application that utilizes a Bloom filter embedded in a resource identifier in the streaming content that is transparent to streaming content clients and that is hidden while the streaming content is hosted on a server via resource identifier rewriting;

associate the streaming content at Layer 7 to a multi-layer service on the SDN network at any of Layers 0 , 1 , and 2 based on the uniquely identifying and the Bloom filter embedded in the resource identifier;

monitor the streaming content on the SDN network over the multi-layer service using the Bloom filter embedded in the resource identifier; and

dynamically adjust bandwidth of the multi-layer service that is currently provisioned on the SDN network at any of Layers 0 , 1 , and 2 based on the monitoring, wherein the bandwidth comprises one or more of wavelength connectivity and Time Division Multiplexing connectivity, wherein the one or more of the wavelength connectivity and the Time Division Multiplexing connectivity are adjusted based on the monitoring at the higher layers.

9. The SDN controller of claim 8 , wherein the instructions, when executed, further cause the processor to:

dynamically adjust the bandwidth of the multi-layer service utilizing OpenFlow on the SDN network.

10. The SDN controller of claim 8 , wherein the streaming content comprises Hypertext Transfer Protocol (HTTP) adaptive streaming.

11. The SDN controller of claim 8 , wherein the instructions, when executed, further cause the processor to:

perform the deep packet inspection utilizing the Bloom filter embedded in the resource identifier of the streaming content, wherein the embedded Bloom filter is transparent to content players and does not require changes to storage on associated web servers for the streaming content.

12. The SDN controller of claim 8 , wherein the instructions, when executed, further cause the processor to:

receive the streaming content from a content provider with the embedded Bloom filter in the resource identifier; and

track the streaming content associated with the content provider over the SDN network.

13. A network, comprising:

a multi-layer Software-Defined Networking (SDN) network, wherein the multi-layer SDN network operates at any of Layers 0 , 1 , and 2 , Layer 0 being wavelengths, Layer 1 being Time Division Multiplexing, and Layer 2 being packets;

a content provider comprising at least one web server communicatively coupled to the SDN network; and

an SDN controller communicatively coupled to the SDN network comprising a processor and memory storing instructions that, when executed, cause the processor to:

uniquely identify streaming content at Layer 7 from the content provider over the multi-layer SDN network through deep packet inspection by an SDN application that utilizes a Bloom filter embedded in a resource identifier in the streaming content that is transparent to streaming content clients and that is hidden while the streaming content is hosted on a server via resource identifier rewriting;

associate the streaming content at Layer 7 to a multi-layer service on the SDN network at any of Layers 0 , 1 , and 2 based on the uniquely identifying and the Bloom filter embedded in the resource identifier;

monitor the streaming content on the SDN network over the multi-layer service using the Bloom filter embedded in the resource identifier; and

dynamically adjust bandwidth at any of Layers 0 , 1 , and 2 of the multi-layer service that is currently provisioned on the SDN network utilizing OpenFlow based on the monitoring, wherein the bandwidth comprises one or more of wavelength connectivity and Time Division Multiplexing connectivity, wherein the one or more of the wavelength connectivity and the Time Division Multiplexing connectivity are adjusted based on the monitoring at the higher layers.

14. The network of claim 13 , wherein the streaming content comprises Hypertext Transfer Protocol (HTTP) adaptive streaming.

15. The network of claim 13 , wherein the SDN controller is configured to:

perform the deep packet inspection utilizing the Bloom filter embedded in the resource identifier of the streaming content by the content provider, wherein the embedded Bloom filter is transparent to content players and does not require changes to storage on associated web servers for the streaming content.

16. The network of claim 13 , wherein the content provider comprises a server configured to:

prior to the uniquely identifying, initialize a master N-bit Bloom filter with k different hash functions associated with the Bloom filter; and

repeat each of the following steps for each media segment comprising segment data produced by the content provider:

initialize an M-bit Bloom filter with L different hash functions associated with the filter;

as each segment is produced, take a first set of bytes of the segment data and performing an M-bit Bloom filter addition by feeding the segment data through each of the L hash function and setting the corresponding M-bit Bloom filter bits;

perform a master N-bit Bloom filter addition by feeding the data through each of the K hash function and setting the corresponding Bloom filter bits; and

create a Uniform Resource Indicator (URI) for every media segment that enables its clients to obtain the segment data.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2023
From: BANK OF AMERICA, N.A.
To: CIENA CORPORATION
Reel/Frame 065630/0232 →
PATENT SECURITY AGREEMENT Recorded Nov 8, 2019
From: CIENA CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 050969/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 30, 2019
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: CIENA CORPORATION
Reel/Frame 050938/0389 →
PATENT SECURITY AGREEMENT Recorded Jul 16, 2014
From: CIENA CORPORATION
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033347/0260 →
SECURITY INTEREST Recorded Jul 15, 2014
From: CIENA CORPORATION
To: DEUTSCHE BANK AG NEW YORK BRANCH
Reel/Frame 033329/0417 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2013
From: HTAY, AUNG; HUDGINS, PAUL; KORE, MALLIKARJUNAPPA
To: CIENA CORPORATION
Reel/Frame 031539/0618 →
Continuity (1)
Related Publication 20150127805A1 · May 7, 2015