Method, apparatus, and system for implementing a content switch
First Claim
1. A method of implementing a distributed content switch that is implemented by a plurality of content switches executing on a plurality of physical host computers along with a plurality of content servers, the distributed content switch forwarding different content requests to different groups of content servers that process different types of content, the method comprising:
- defining data that identifies first and second groups of content servers and first and second types of content processed by the first and second groups of content servers respectively, the first and second groups of content servers associated with a shared network address; and
distributing the defined data to the plurality of content switches, the plurality of content switches (1) executing on the plurality of host computers, (2) associated with the first and second groups of content servers, and (3) deployed in the ingress datapaths of the plurality of content servers,said distributed data configuring a first content switch executing on a first host computer to make a determination (i) to forward a first request that is associated with the shared network address and that is for a first-type content to a first-group content server when the first-group content server executes on the first host computer, and (ii) to forward a second request that is associated with the shared network address and that is for a second-type content to a second host computer when a second-group content server executes on the second host computer by modifying a destination network address of the second request from a first address associated with a content server executing on the first host computer to a second address associated with the second-group content server executing on the second host computer, wherein a network element forwards the first and second requests to the first host computer based on the shared network address.
1 Assignment
0 Petitions
Accused Products
Abstract
Some embodiments provide a novel content switching method that distributes requests for different types of content to different sets of content servers. In some embodiments, the method deploys a content switch in the ingress data path of a first content server that is part of a first set of servers that processes requests for a first type of content. This content switch receives each content request that is directed to the first content server, and determines whether the received request is for the first content type that is processed by the first content server. If so, the content switch directs the request to the first content server. On the other hand, if the request is for a second type of content that is processed by a second set of servers, the content switch identifies a second content server in the second set and forwards the request to the second content server. When the second set of servers includes two or more servers, the content switch in some embodiments performs a load balancing operation to distribute the load amongst the servers in the second set. For each request, the load balancing operation in some embodiments selects one server from the second server set based on a set of load balancing criteria that specifies one manner for distributing the requests among the servers of the second set, and then forwards the request to the selected server.
358 Citations
22 Claims
-
1. A method of implementing a distributed content switch that is implemented by a plurality of content switches executing on a plurality of physical host computers along with a plurality of content servers, the distributed content switch forwarding different content requests to different groups of content servers that process different types of content, the method comprising:
-
defining data that identifies first and second groups of content servers and first and second types of content processed by the first and second groups of content servers respectively, the first and second groups of content servers associated with a shared network address; and distributing the defined data to the plurality of content switches, the plurality of content switches (1) executing on the plurality of host computers, (2) associated with the first and second groups of content servers, and (3) deployed in the ingress datapaths of the plurality of content servers, said distributed data configuring a first content switch executing on a first host computer to make a determination (i) to forward a first request that is associated with the shared network address and that is for a first-type content to a first-group content server when the first-group content server executes on the first host computer, and (ii) to forward a second request that is associated with the shared network address and that is for a second-type content to a second host computer when a second-group content server executes on the second host computer by modifying a destination network address of the second request from a first address associated with a content server executing on the first host computer to a second address associated with the second-group content server executing on the second host computer, wherein a network element forwards the first and second requests to the first host computer based on the shared network address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory machine readable medium storing a program for defining a distributed content switch that is implemented by a plurality of content switches executing on a plurality of physical host computers along with a plurality of content servers, the distributed content switch forwarding different content requests to different groups of servers that process different types of content, the program comprising sets of instructions for:
-
defining data that identifies first and second groups of content servers and first and second types of content processed by the first and second groups of content servers respectively, the first and second groups of content servers associated with a shared network address; and distributing the defined data to the plurality of content switches, the plurality of content switches (1) executing on the plurality of host computers, (2) associated with the first and second groups of content servers, and (3) deployed in the ingress datapaths of the plurality of content servers, said distributed data configuring a first content switch executing on a first host computer to make a determination (i) to forward a first request that is associated with the shared network address and that is for a first-type content to a first-group content server when the first-group content server executes on the first host computer, and (ii) to forward a second request that is associated with the shared network address and that is for a second-type content to a second host computer when a second-group content server executes on the second host computer by modifying a destination network address of the second request from a first address associated with a content server executing on the first host computer to a second address associated with the second-group content server executing on the second host computer, wherein a network element forwards the first and second requests to the first host computer based on the shared network address. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
Specification