US2017257269A1PendingUtilityA1

Network controller with integrated resource management capability

Assignee: RACKSPACE US INCPriority: Mar 15, 2013Filed: Mar 20, 2017Published: Sep 7, 2017
Est. expiryMar 15, 2033(~6.6 yrs left)· nominal 20-yr term from priority
H04L 61/2061H04L 41/0886H04L 61/6022H04L 61/2038H04L 61/2007H04L 41/0806H04L 61/103H04L 41/0895H04L 61/5038H04L 61/5061H04L 2101/622H04L 61/5007
47
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system for providing network control and resource management includes a database storing a plurality of network resources. The system also includes a network controller that receives a request for a network resource. The network controller may include an resource manager that determines, based on the request, a set of available network resources from the plurality of network resources. The resource manager may provide the set of available network resources to a client and update the database based on providing the set of available network resources.

Claims

exact text as granted — not AI-modified
1 . A system providing network control and resource management, the system comprising:
 a database to store a plurality of network resources;   a network controller to receive a request for a network resource, wherein the network controller comprises an application program interface (API) and a resource manager that:
 determines, based on the request, a set of available network resources from the plurality of network resources, the network resources including a plurality of logical abstractions and backend implementations; 
 provides the set of available network resources to a client; and 
 updates the database based on providing the set of available network resources. 
   
     
     
         2 . The system of  claim 1 , wherein the request for a network resource is associated with a node, and the network controller associates one of the set of the available network resources with the node. 
     
     
         3 . The system of  claim 1 , wherein the database stores a plurality of internet protocol (IP) addresses, and the resource manager determines, based on the request, a set of available IP addresses from the plurality of IP addresses, provides the set of available IP addresses to the client, and updates the database based on providing the set of available IP addresses. 
     
     
         4 . The system of  claim 1 , wherein the database stores a plurality of media access control (MAC) addresses, and the resource manager determines, based on the request, a set of available MAC addresses from the plurality of MAC addresses, provides the set of available MAC addresses to the client, and updates the database based on providing the set of available MAC addresses. 
     
     
         5 . The system of  claim 1 , wherein the database stores a plurality of subnet IP addresses associated with one or more IP addresses, and the resource manager determines, based on the request, a set of available subnet IP addresses from the plurality of subnet IP addresses, provides the set of available subnet IP addresses to the client, and updates the database based on providing the set of available subnet IP addresses. 
     
     
         6 . The system of  claim 1 , wherein the database stores a plurality of ports, and the resource manager determines, based on the request, a set of available ports, provides the set of available ports to the client, and updates the database based on providing the set of available ports. 
     
     
         7 . The system of  claim 1 , wherein the database stores data associated with a plurality of networks, and the request for a network resource includes a virtual machine identifier associated with a virtual machine instance, wherein the network controller determines, based on the virtual machine identifier, a set of networks available to the virtual machine instance, provides a network interface that binds the virtual machine instance to the set of networks, and updates the database based on providing the network interface. 
     
     
         8 . The system of  claim 7 , wherein the network is a private network. 
     
     
         9 . The system of  claim 7 , wherein the network is a public network. 
     
     
         10 . The system of  claim 1 , wherein the database includes a plurality of IP addresses, a plurality of MAC addresses, a plurality of subnet IP addresses, a plurality of ports, a plurality of network names, a plurality of client identifiers, and a plurality of virtual machine identifiers,
 wherein each client identifier is associated with a set of virtual machine identifiers, a set of IP addresses, a set of MAC addresses, a set of subnet IP addresses, a set of ports, and a set of network names,   and the network controller rebuilds routing tables based on the plurality of client identifiers, plurality of IP addresses, plurality of MAC addresses, plurality of subnet IP addresses, plurality of ports, and plurality of network names.   
     
     
         11 . The system of  claim 1 , wherein the set of network resources is a set of IPv4 addresses. 
     
     
         12 . The system of  claim 1 , wherein the set of network resources is a set of IPv6 addresses. 
     
     
         13 . A method of providing network control and resource management, the method comprising:
 receiving, via a network controller, the network controller including an API, a request for a network resource;   determining, based on the request, a set of available network resources from a plurality of network resources stored in a database, the network resources including a plurality of logical abstractions and backend implementations;   providing, via the network controller, the set of available network resources to a client; and   updating the database based on providing the set of available network resources.   
     
     
         14 . The method of  claim 13 , further comprising:
 identifying a node associated with the request for a network resource; and   associating one of the set of available network resources with the node.   
     
     
         15 . The method of  claim 13 , wherein the database stores a plurality of internet protocol (IP) addresses, the method further comprising:
 determining, based on the request, a set of available IP addresses from the plurality of IP addresses;   providing the set of available IP addresses to the client; and   updating the database based on providing the set of available IP addresses.   
     
     
         16 . The method of  claim 13 , wherein the database stores a plurality of media access control (MAC) addresses, the method further comprising:
 determining, based on the request, a set of available MAC addresses from the plurality of MAC addresses;   providing the set of available MAC addresses to the client; and   updating the database based on providing the set of available MAC addresses.   
     
     
         17 . The method of  claim 13 , wherein the database stores a plurality of subnet IP addresses associated with one or more IP addresses, the method further comprising:
 determining, based on the request, a set of available subnet IP addresses from the plurality of subnet IP addresses;   providing the set of available subnet IP addresses to the client; and   updating the database based on providing the set of available subnet IP addresses.   
     
     
         18 . The method of  claim 13 , wherein the database stores a plurality of ports, the method further comprising:
 determining, based on the request, a set of available ports;   providing the set of available ports to the client; and   updating the database based on providing the set of available ports.   
     
     
         19 . The method of  claim 13 , wherein the database stores data associated with a plurality of networks, the method further comprising:
 identifying a virtual machine identifier in the request, the virtual machine identifier being associated with a virtual machine instance;   determining, based on the virtual machine identifier, a set of networks available to the virtual machine instance;   providing a network interface that binds the virtual machine instance to the set of networks; and   updating the database based on providing the network interface.   
     
     
         20 . The method of  claim 13 , wherein the database includes a plurality of IP addresses, a plurality of MAC addresses, a plurality of subnet IP addresses, a plurality of ports, a plurality of network names, a plurality of client identifiers, and a plurality of virtual machine identifiers, and wherein each client identifier is associated with a set of virtual machine identifiers, a set of IP addresses, a set of MAC addresses, a set of subnet IP addresses, a set of ports, and a set of network names, the method further comprising:
 rebuilding routing tables based on the plurality of client identifiers, plurality of client identifiers, plurality of IP addresses, plurality of MAC addresses, plurality of subnet IP addresses, plurality of ports, and plurality of network names.   
     
     
         21 . A non-transitory machine-readable medium comprising a plurality of machine-readable instructions that when executed by one or more processors is adapted to cause the one or more processors to perform a method comprising:
 receiving a request for a network resource via a network controller including an API;   determining, based on the request, a set of available network resources from a plurality of network resources stored in a database, the network resources including a plurality of logical abstractions and backend implementations;   providing the set of available network resources to a client;   updating the database based on providing the set of available network resources;   identifying a node associated with the request for a network resource; and   associating one of the set of available network resources with the node.

Join the waitlist — get patent alerts

Track US2017257269A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.