Controller based network resource management
According to embodiments of the disclosure, methods, apparatuses, and computer products for controller based network resource management are disclosed. The method may include receiving a flow at a network controller, determining a flow parameter for the flow, and determining, via the network controller, an idle timeout for a flow rule, corresponding to the flow based on the flow parameter. Determining a previous idle timeout for the flow in response to determining that the flow has been received before, and determining an activity factor for the flow rule in response to the previous idle timeout being greater than or equal to the second value. The apparatus may be a network controller including a processor, and a memory configured to receive a flow, determine a flow parameter for the flow, and determine an idle timeout for the flow rule based on the flow parameter.
Continue reading »A System and Method for Holistic Load Balancing and Auto Scaling in the Cloud Using Software Defined Networking
This article describes Haven – a system for holistic load balancing and auto scaling in a multi-tenant cloud environment. It takes into account the utilization levels of different resources as part of its load balancing and auto scaling algorithms. Haven is able to provide performance at par with a hardware load balancer while still providing the flexibility and customizability of a software load balancer.
Continue reading »Interconnecting data centers for migration of virtual machines
Methods and arrangements for facilitating virtual machine migration across data centers. A virtual machine is designated for migration from a first data center to a second data center, the virtual machine including a real identifier. A pseudo identifier is assigned to the virtual machine, and the pseudo identifier is mapped to the real identifier at a controller of the first data center. The real identifier is replaced in a data packet with the pseudo identifier for a routing task. Communication is maintained between the controller of the first data center and a controller of the second data center, and the controllers are synchronized to update a correct location of the virtual machine. The virtual machine is migrated from the first data center to the second data center.
Continue reading »Systems and methods for fast detection and diagnosis of system outages
Methods and arrangements for detecting and diagnosing system outages. A system outage is ascertained and aberrant user activities are categorized, as possible contributors to the system outage, based on system impact. User activities and system impact are learned, and user activities and system impact are compared against predetermined rules. A system outage alert is generated, and a user activity responsible for the system outage is displayed.
Continue reading »Emulating a data center network on a single physical host with support for virtual machine mobility
Methods and arrangements for emulating a data center network. A first end host and a second end host are provided. A base hypervisor is associated with each of the first and second end hosts, and the first and second end hosts are interconnected. A virtual hypervisor is associated with at least one virtual machine running on at least one of the base hypervisors, and virtual hypervisors are interconnected within one of the first and second end hosts. A virtual machine is nested within the virtual hypervisor, and the virtual machine is migrated from one virtual hypervisor to a destination virtual hypervisor to further be nested within the destination virtual hypervisor.
Continue reading »Providing replication and fail-over as a network service in data centers
Techniques for providing session level replication and fail-over as a network service include generating a replication rule that replicates network traffic destined for a primary server from an originating server to a network controller and installing said rule in a switch component, identifying flows from the originating server to the primary server, replicating each incoming data packet intended for the primary server to the network controller for replication and forwarding to replica servers, determining said primary server to be in a failed state based on a number of retransmissions of a packet, to selecting one of the replica servers as a fail-over target, and performing a connection level fail-over by installing a redirection flow in the switch component that redirects all packets destined to the primary server to the network controller, which forwards the packets to the replica server and forwards each response from the replica server to said originating server.
Continue reading »Enabling co-existence of hosts or virtual machines with identical addresses
A method for enabling co-existence of multiple machines with identical addresses within a single data center network. The method includes assigning a unique pseudo identifier to each machine in the network that can be used for routing a packet to a destination machine, replacing a sender media access control address on an address resolution protocol request with a pseudo identifier of the sender at an edge network switch, retrieving a private network identifier from a mapping table based on the sender pseudo identifier and returning a pseudo identifier for the destination address based on the private network identifier, and replacing the pseudo identifier of the destination address with an actual identifier at a destination edge network switch for routing the packet to the destination machine.
Continue reading »Method and Appratus to trace the execution control flow of Java method
Applications comprise of methods which further comprise of control blocks (if else, while, switch etc.) that are taken or not taken at runtime depending on the runtime conditions. More often than not, while tracking specific entities like a structure variable or an Object instance, it becomes imperative to understand the following : 1) Methods which create and use the variable/instance 2) the actual Control Blocks within these methods that were traversed for creation or use of the object/variable. The above information is important to understand the specifics of what path was traversed to create and use the instance/variable - so that the debugging/diagnostics/profiling could concentrate on only those paths and narrow down the scope of analysis,thereby expediting the same.
Continue reading »