ADAPTIVE NETWORK WITH AUTOMATIC SCALING
A method for automatic scaling the processing capacity and bandwidth capacity of a network includes providing a network comprising a plurality of traffic processing units and a plurality of network links. Next, providing monitoring means for monitoring processing capacity demand and bandwidth capacity demand of the network. Next, providing managing means for adding traffic processing units to the network, removing traffic processing units from the network, connecting links to the network and disconnecting links from the network. Next, monitoring processing capacity demand and bandwidth capacity demand of the network via the monitoring means and then dynamically adjusting processing capacity of the network by selectively adding or removing traffic processing units in the network via the managing means upon observation of processing capacity demand increase or processing capacity demand decrease, respectively. The method also includes dynamically adjusting bandwidth capacity of the network by selectively connecting or disconnecting links in the network via the managing means upon observation of bandwidth capacity demand increase or bandwidth capacity decrease, respectively.
1 . A method for automatic scaling of processing capacity and bandwidth capacity of a network comprising:
providing a network comprising a plurality of traffic processing units and a plurality of network links;
providing monitoring means for monitoring processing capacity demand and bandwidth capacity demand of said network;
providing managing means for adding traffic processing units to said network, removing traffic processing units from said network, connecting links to said network and disconnecting links from said network;
monitoring processing capacity demand and bandwidth capacity demand of said network via said monitoring means;
dynamically adjusting processing capacity of said network by selectively adding or removing traffic processing units in said network via said managing means upon observation of processing capacity demand increase or processing capacity demand decrease, respectively;
dynamically adjusting bandwidth capacity of said network by selectively connecting or disconnecting links in said network via said managing means upon observation of bandwidth capacity demand increase or bandwidth capacity decrease, respectively.
2 . The method of claim 1 , wherein said traffic processing units comprise virtual machines.
3 . The method of claim 2 , wherein said virtual machines comprise virtual computing instances provided by commercial cloud computing providers.
4 . The method of claim 1 , wherein said traffic processing units comprise physical machines.
5 . The method of claim 1 , wherein said network comprises an overlay network superimposed over an underlying network.
6 . The method of claim 5 , wherein said network links comprise network links of said underlying network.
7 . The method of claim 5 , wherein said underlying network comprises one of the Internet, WAN, wireless Network or a private network.
8 . The method of claim 1 , wherein said traffic processing units are distributed at different geographic locations.
9 . The method of claim 1 , wherein said traffic processing units are added or removed via an Application Programming Interface (API).
10 . The method of claim 1 wherein said traffic processing units comprise specially designed traffic processing hardware and general purpose computers running specially designed traffic processing software and wherein said traffic processing hardware comprise at least one of router, switch, or hub.
11 . A system for automatic scaling of processing capacity and bandwidth capacity of a network comprising:
a network comprising a plurality of traffic processing units and a plurality of network links;
monitoring means for monitoring processing capacity demand and bandwidth capacity demand of said network;
managing means for adding traffic processing units to said network, removing traffic processing units from said network, connecting links to said network and disconnecting links from said network;
wherein said monitoring means monitor processing capacity demand and bandwidth capacity demand of said network and provide processing capacity demand information and bandwidth capacity demand information to said managing means;
wherein said managing means dynamically adjust said processing capacity of said network by selectively adding or removing traffic processing units in said network upon receiving information of processing capacity demand increase or processing capacity demand decrease, respectively; and
wherein said managing means dynamically adjust bandwidth capacity of said network by selectively connecting or disconnecting links in said network upon receiving information of bandwidth capacity demand increase or bandwidth capacity decrease, respectively.
12 . The system of claim 11 , wherein said traffic processing units comprise virtual machines.
13 . The system of claim 11 , wherein said virtual machines comprise virtual computing instances provided by commercial cloud computing providers.
14 . The system of claim 11 , wherein said traffic processing units comprise physical machines.
15 . The system of claim 11 , wherein said network comprises an overlay network superimposed over an underlying network.
16 . The system of claim 15 , wherein said network links comprise network links of said underlying network.
17 . The system of claim 15 , wherein said underlying network comprises one of the Internet, WAN, wireless Network or a private network.
18 . The system of claim 11 , wherein said traffic processing units are distributed at different geographic locations.
19 . The system of claim 11 , wherein said traffic processing units are added or removed via an Application Programming Interface (API).
20 . The system of claim 11 , wherein said traffic processing units comprise specially designed traffic processing hardware and general purpose computers running specially designed traffic processing software and wherein said traffic processing hardware comprise at least one of router, switch, or hub.