Network controller with integrated resource management capability

US9628328B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9628328-B2
Application numberUS-201313843729-A
CountryUS
Kind codeB2
Filing dateMar 15, 2013
Priority dateMar 15, 2013
Publication dateApr 18, 2017
Grant dateApr 18, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for providing network control and resource management, the system comprising: a database to store a plurality of network resources in a memory, the plurality of network resources including a plurality of ports; a network controller that receives, by one or more hardware processors, a request for one or more ports, wherein the request is associated with a node, and wherein the network controller comprises a resource manager that: determines, based on the request, a set of available ports from the plurality of network resources; provides the set of available ports to a client, wherein the set of available ports includes at least two ports; updates the database based on providing the set of available ports to the client by providing an indication in the database that the set of ports is unavailable; associates, based on the request, at least one of the set of available ports with the node, the association being stored in the database, wherein the at least one port represents a logical port on a given network, wherein the logical port defines an internet protocol (IP) address and a media access control (MAC) address that is assigned to a set of interfaces plugged into the at least one port, and the set of interfaces of the node is attached to the at least one port, wherein after the at least one of the set of available ports is associated with the node, the node uses the at least one of the set of available ports to communicate; detects that the node has been removed from the given network; provides, based on the detection, an indication in the database that the set of ports is available; receives a second request for one or more ports, wherein the second request is associated with a second node; provides the set of available ports to a second client different from the client; and associates, based on the second request, the at least one of the set of available ports with the second node, wherein the at least one port represents a second logical port on the given network, wherein the second logical port defines a second IP address and a second MAC address that is assigned to a second set of interfaces plugged into the at least one port, and the set of interfaces of the second node is attached to the at least one port, wherein after the at least one of the set of available ports is associated with the second node, the second node uses the at least one of the set of available ports to communicate. 2. The system of claim 1 , wherein the database stores a plurality of IP addresses, and the resource manager determines, based on a request for one or more IP addresses, a set of available IP addresses from the plurality of IP addresses, provides the set of available IP addresses to the client, updates the database based on providing the set of available IP addresses, and stores an association between the set of IP addresses and the node into the database. 3. The system of claim 1 , wherein the database stores a plurality of MAC addresses, and the resource manager determines, based on a request for one or more MAC addresses, a set of available MAC addresses from the plurality of MAC addresses, provides the set of available MAC addresses to the client, updates the database based on providing the set of available MAC addresses, and stores an association between the set of MAC addresses and the node into the database. 4. 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 a request for one or more subnet IP addresses, 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. 5. The system of claim 1 , wherein the database stores data associated with a plurality of networks, and the request for one or more ports 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. 6. The system of claim 5 , wherein the network is a private network. 7. The system of claim 5 , wherein the network is a public network. 8. The system of claim 5 , wherein a port represents a virtual switch port on a network, and wherein a node is the virtual machine instance and attaches the instance's interface into the set of ports. 9. The system of claim 1 , wherein the database includes a plurality of IP addresses, plurality of MAC addresses, a plurality of subnet IP address, 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 address, the 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 address, plurality of ports, and plurality of network names. 10. The system of claim 1 , wherein the set of network resources is a set of IPv4 addresses or a set of IPv6 addresses. 11. The system of claim 1 , wherein the database stores routing tables used to forward packets to their final destination addresses, and the network controller receives an indication that the routing tables have been deleted from the database, wherein in response to the indication that the routing tables have been deleted from the database, the network controller recreates the routing tables by obtaining one or more IP addresses, determining one or more MAC addresses associated with the one or more IP addresses, determining which IP addresses and MAC addresses are allowed to receive and transmit traffic on one or more ports, and storing an indication of which IP addresses and MAC addresses are allowed to receive and transmit traffic on one or more ports. 12. A method of providing network control and resource management, the method comprising: receiving, via a network controller, a request for one or more ports, wherein the request is associated with a node; determining, based on the request, a set of available ports from a plurality of network resources stored in a database; providing, via the network controller, the set of available ports to a client; updating the database based on providing the set of available ports to the client, wherein the updating includes providing an indication in the database that the set of ports is unavailable; storing, based on the request, an association between at least one of the set of available ports and the node into the database, wherein the at least one port represents a logical port on a given network, wherein the logical port defines an internet protocol (IP) address and a media access control (MAC) address that is assigned to a set of interfaces plugged into the at least one port, and the set of interfaces of the node is attached to the at least one port, wherein after the at least one of the set of available ports is associated with the node, the node uses the at least one of the set of available ports to communicate; detecting that the node has been removed from the given network; providing, based on the detection, an indication in the database that the set of ports is available; receivin

Assignees

Inventors

Classifications

  • across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP] · CPC title

  • Electricity · mapped topic

  • Electricity · mapped topic

  • Fully automatic configuration · CPC title

  • Electricity · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9628328B2 cover?
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 re…
Who is the assignee on this patent?
Rackspace Us Inc
What technology area does this patent fall under?
Primary CPC classification H04L41/0806. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 18 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).