Patent ID: 7343413

Claim:
An apparatus for directing communications among a plurality of resources, comprising: one or more switch components configured to: analyze each of a plurality of data flows; and determine if each of the data flows is associated with a requested resource and: when the data flow is associated with the requested resource, direct the data flow to the requested resource; and when the data flow is not associated with a requested resource, request instructions from a control component; one or more control components each configured to: receive instruction requests from the one or more switch components for instructions on handling the data flow when the data flow is not associated with a requested resource, wherein if a failed control component is unable to process instruction requests, one or more other control components process the instruction requests to provide fault tolerance for the failed control component; and provide instructions to the switch component for handling the unassociated data flow for one of: handling of subsequent data flows not associated with a requested resource to achieve load balancing between the one or more resources; and delete a data flow that has timed out, wherein a capacity of each of the one or more switch components and a capacity of the one or more of control components is independently scalable by one or more of: changing the capacity of one or more of the switch components and one or more of the control components; and changing one or more of a number of the switch components and control components.