Methods and apparatus for providing services in distributed switch
First Claim
1. A non-transitory processor-readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:
- receive, from a source peripheral processing device, a portion of a data packet having a destination address associated with a destination peripheral processing device;
identify, based at least in part on the destination address and a data traffic type, a service to be performed on the portion of the data packet, the data traffic type being one of a web traffic type or a voice traffic type;
generate a timestamp of the portion of the data packet based on a time at which the portion of the data packet was received from the source peripheral processing device;
based on the service and the timestamp, and prior to sending the portion of the data packet to any service module from a set of service modules, select a service module from the set of service modules based on at least one of (1) selecting an identifier of the service module, the identifier being selected based on a result of a hash function having the destination address as an input to the hash function, (2) a physical proximity of the service module to one of (a) the source peripheral processing device, or (b) the destination peripheral processing device, or (3) a status of the service module; and
based on the selection of the service module, send the portion of the data packet to the service module via a distributed switch fabric such that the service module performs the service on the portion of the data packet and sends the portion of the data packet to the destination peripheral processing device via the distributed switch fabric.
1 Assignment
0 Petitions
Accused Products
Abstract
In some embodiments, a non-transitory processor-readable medium stores code representing instructions to be executed by a processor. The code causes the processor to receive, from a source peripheral processing device, a portion of a data packet having a destination address associated with a destination peripheral processing device. The code causes the processor to identify, based on the destination address, a service to be performed on the portion of the data packet. The code causes the processor to select, based on the service, an identifier of a service module associated with the service. The code further causes the processor to send the portion of the data packet to the service module via a distributed switch fabric such that the service module performs the service on the portion of the data packet and sends the portion of the data packet to the destination peripheral processing device via the distributed switch fabric.
-
Citations
13 Claims
-
1. A non-transitory processor-readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:
-
receive, from a source peripheral processing device, a portion of a data packet having a destination address associated with a destination peripheral processing device; identify, based at least in part on the destination address and a data traffic type, a service to be performed on the portion of the data packet, the data traffic type being one of a web traffic type or a voice traffic type; generate a timestamp of the portion of the data packet based on a time at which the portion of the data packet was received from the source peripheral processing device; based on the service and the timestamp, and prior to sending the portion of the data packet to any service module from a set of service modules, select a service module from the set of service modules based on at least one of (1) selecting an identifier of the service module, the identifier being selected based on a result of a hash function having the destination address as an input to the hash function, (2) a physical proximity of the service module to one of (a) the source peripheral processing device, or (b) the destination peripheral processing device, or (3) a status of the service module; and based on the selection of the service module, send the portion of the data packet to the service module via a distributed switch fabric such that the service module performs the service on the portion of the data packet and sends the portion of the data packet to the destination peripheral processing device via the distributed switch fabric. - View Dependent Claims (2, 3, 12, 13)
-
-
4. An apparatus, comprising:
an edge device configured to receive, from a first peripheral processing device, data to be sent to a second peripheral processing device via a distributed switch fabric, the edge device configured to determine a service to be provided to the data based on a data traffic type associated with the data, the edge device configured to select, prior to sending the data to any service module from a set of service modules, a virtual service module from the set of service modules to perform the service on the data, the data traffic type being one of a web traffic type or a voice traffic type, the edge device configured to send the data to the virtual service module to perform the service on the data via the distributed switch fabric such that the virtual service module performs the service on the data and sends the data to the second peripheral processing device via the distributed switch fabric. - View Dependent Claims (5, 6, 7, 8)
-
9. An apparatus, comprising:
a service module implemented in an edge device associated with a distributed switch fabric, the service module configured to receive a portion of a data packet from a source edge device different from the edge device associated with the distributed switch fabric and via the distributed switch fabric based at least on a data traffic type of the data packet, the service module being selected, based at least in part on a timestamp of the data packet and before any remaining service module within the distributed switch fabric both (1) is selected to receive the portion of the data packet, and (2) receives the portion of the data packet, to receive the portion of the data packet and to perform at least one of a security service or a load balancing service on the portion of the data packet, the timestamp indicating a time at which the portion of the data packet was received from the source peripheral processing device, the service module configured to perform at least one of the security service or the load balancing service, the service module configured to send the portion of the data packet to a destination edge device via the distributed switch fabric after performing the at least one of the security service or the load balancing service on the portion of the data packet, the service module being (1) from a plurality of service modules configured to perform the at least one of the security service or the load balancing service, and (2) selected by the source edge device based at least in part on an address associated with the destination edge device. - View Dependent Claims (10, 11)
Specification