Claims Analysis
Total Claims: 60
Claim 1
Independent Claim
138 words
In a network, a method for directing packets between a client and a server, the method comprising: receiving a client request for content via the network; deriving, from the client request, content information descriptive of a plurality of characteristics of the content requested by the client request; in response to receiving the client request, selecting a server from among a set of candidate servers based on i) the derived content information; and ii) a combination of server metrics obtained after receipt of the client request from all available servers capable of servicing the client request for content; subsequently forwarding to the selected server transmissions originating from the client which are associated with the client request for content; and subsequently forwarding to the client transmissions originating from the selected server which are associated with the client request for content.
Claim 2
Dependent Claim
138 words
In a network, a method for directing packets between a client and a server, the method comprising: receiving a client request for content via the network; deriving, from the client request, content information descriptive of a plurality of characteristics of the content requested by the client request; in response to receiving the client request, selecting a server from among a set of candidate servers based on i) the derived content information; and ii) a combination of server metrics obtained after receipt of the client request from all available servers capable of servicing the client request for content; subsequently forwarding to the selected server transmissions originating from the client which are associated with the client request for content; and subsequently forwarding to the client transmissions originating from the selected server which are associated with the client request for content.
Claim 3
Dependent Claim
14 words
The method of claim 1 , wherein the client request is an HTTP request.
Claim 4
Dependent Claim
26 words
The method of claim 2 , wherein deriving content information comprises: extracting information from at least one portion of an HTTP header of the client request.
Claim 5
Dependent Claim
26 words
The method of claim 2 , wherein deriving content information comprises deriving content information based on a Universal Resource Locator (URL) included in the client request.
Claim 6
Dependent Claim
23 words
The method of claim 2 , wherein deriving content information comprises deriving content information based on a filename included in the client request.
Claim 7
Dependent Claim
23 words
The method of claim 5 , wherein deriving content information based on a filename comprises deriving content information based on the filename extension.
Claim 8
Dependent Claim
23 words
The method of claim 2 , wherein deriving content information comprises deriving content information based on a port identified in the client request.
Claim 9
Dependent Claim
23 words
The method of claim 2 , wherein deriving content information comprises deriving content information based on query parameters including in the client request.
Claim 10
Dependent Claim
24 words
The method of claim 8 , wherein the query parameters comprise Common Gateway Interface (CGI) parameters included in a URL of the client request.
Claim 11
Dependent Claim
32 words
The method of claim 2 , wherein the client request comprises one of the following: an HTTP GET message, an HTTP HEAD message, an HTTP PUT message, and an HTTP POST message.
Claim 12
Dependent Claim
20 words
The method of claim 2 , wherein deriving content information comprises extracting information from the body of the client request.
Claim 13
Dependent Claim
14 words
The method of claim 1 , wherein the client request is a TCP request.
Claim 14
Dependent Claim
34 words
The method of claim 1 , further comprising: obtaining additional information from the client about the content requested by the client request; and wherein the selecting further comprises selecting based on the additional information.
Claim 15
Dependent Claim
31 words
The method of claim 1 , further comprising: obtaining client capability information about the client; and wherein the selecting further comprises selecting the selected server based on the client capability information.
Claim 16
Dependent Claim
58 words
The method of claim 1 , wherein selecting as the server comprises: determining whether the client request requires persistent connectivity with a particular candidate server; if the client request requires persistent connectivity with a particular server, identifying a candidate server with which the client is persistently connected for service of the client request; selecting the identified candidate server.
Claim 17
Dependent Claim
21 words
The method of claim 1 , further comprising determining whether an active path exists between the client and the selected server.
Claim 18
Dependent Claim
21 words
The method of claim 16 , wherein determining whether an active path exists comprises sending a PING packet to the client.
Claim 19
Dependent Claim
22 words
The method of claim 16 , wherein determining whether an active path exists comprises performing a Border Gateway Protocol route table lookup.
Claim 20
Dependent Claim
20 words
The method of claim 16 , wherein the location of the client comprises a continent in which the client resides.
Claim 21
Dependent Claim
21 words
The method of claim 19 , wherein the locations of the plurality of servers are continents in which the servers reside.
Claim 22
Dependent Claim
54 words
The method of claim 16 , wherein identifying servers that are in the same location as the client comprises: identifying administrative authorities associated with the client; identifying, for each of the plurality of servers, administrative authorities associated with the server; and identifying servers associated with an administrative authority that is associated with the client.
Claim 23
Dependent Claim
14 words
The method of claim 21 , wherein the administrative authorities are Internet Service Providers.
Claim 24
Dependent Claim
45 words
The method of claim 1 , further comprising deriving, from the client request, quality of service information descriptive of quality of service requirements of the content requested by the client request; and wherein the selecting further comprises selecting based on the quality of service information.
Claim 25
Dependent Claim
23 words
The method of claim 1 , wherein the deriving quality of service information includes deriving quality of service information from the content information.
Claim 26
Dependent Claim
30 words
The method of claim 1 , wherein the deriving quality of service information includes deriving quality of service information from a size of the content requested by the client request.
Claim 27
Dependent Claim
14 words
The method of claim 1 , wherein quality of service requirements comprise a bandwidth.
Claim 28
Dependent Claim
14 words
The method of claim 1 , wherein quality of service requirements comprise a delay.
Claim 29
Dependent Claim
16 words
The method of claim 1 , wherein quality of service requirements comprise a frame loss ratio.
Claim 30
Dependent Claim
27 words
The method of claim 1 , wherein deriving quality of service information comprises deriving quality of service information from the MIME content type of the client request.
Claim 31
Dependent Claim
21 words
The method of claim 1 , wherein deriving information descriptive of the content comprises deriving information descriptive of the content type.
Claim 32
Dependent Claim
41 words
The method of claim 1 , wherein the selecting further comprises selecting based on at least one server metric describing at least one expected level of service provided by at least one of the candidate servers when serving the requested content.
Claim 33
Dependent Claim
138 words
The method of claim 31 , wherein the at least one server metric includes: one or more metrics selected from the following group: a metric descriptive of server availability, a metric descriptive of the current load of at least one of the candidate servers, a metric descriptive of recent activity on at least one of the candidate servers, a metric descriptive of network congestion between the client and at least one of the candidate servers, a metric descriptive of the number of active connections being maintained by at least one of the candidate servers, a metric descriptive of the response time of at least one of the candidate servers, information descriptive of one or more previous selections of candidate servers, and client-server proximity information descriptive of distances between the client and at least one of the candidate servers.
Claim 34
Dependent Claim
29 words
The method of claim 32 , wherein client-server proximity information comprises information descriptive of a continent in which the client resides and a continent in which the server resides.
Claim 35
Dependent Claim
30 words
The method of claim 33 , wherein client-server proximity information further comprises information descriptive of an administrative authority associated with the client and an administrative authority associated with the server.
Claim 36
Dependent Claim
14 words
The method of claim 34 , wherein the administrative authorities are Internet Service Providers.
Claim 37
Dependent Claim
138 words
The method of claim 31 , wherein the at least one server metric includes: two or more metrics selected from the following group: a metric descriptive of server availability, a metric descriptive of the current load of at least one of the candidate servers, a metric descriptive of recent activity on at least one of the candidate servers, a metric descriptive of network congestion between the client and at least one of the candidate servers, a metric descriptive of the number of active connections being maintained by at least one of the candidate servers, a metric descriptive of the response time of at least one of the candidate servers, information descriptive of one or more previous selections of candidate servers, and client-server proximity information descriptive of distances between the client and at least one of the candidate servers.
Claim 38
Dependent Claim
19 words
The method of claim 31 , wherein the at least one server metric is obtained by querying a database.
Claim 39
Dependent Claim
24 words
The method of claim 31 , wherein the at least one server metric is obtained by periodically querying servers in the Internet Protocol network.
Claim 40
Dependent Claim
38 words
The method of claim 31 , wherein the expected level of service provided by a candidate server is descriptive of whether the candidate server is receiving a burst of requests for the content requested by the client request.
Claim 41
Dependent Claim
31 words
The method of claim 31 , wherein the expected level of service provided by a candidate server is descriptive of whether satisfying the client request will result in a short-term flow.
Claim 42
Dependent Claim
35 words
The method of claim 31 , wherein the expected level of service provided by a candidate server is descriptive of whether the content requested by the client request has been frequently requested in the past.
Claim 43
Dependent Claim
32 words
The method of claim 31 , wherein the expected level of service provided by a candidate server is descriptive of whether the content requested by the client request has a high priority.
Claim 44
Dependent Claim
35 words
The method of claim 31 , wherein the expected level of service provided by a candidate server is descriptive of a probability that the content requested by the client request is cached by the server.
Claim 45
Dependent Claim
29 words
The method of claim 31 , wherein the expected level of service provided by a candidate server is descriptive of whether the candidate server has responded to recent queries.
Claim 46
Dependent Claim
50 words
The method of claim 31 , wherein the expected level of service provided by a candidate server is descriptive of whether the candidate server recently responded to a request for the content requested by the client request with an indication that the content is not served by the candidate server.
Claim 47
Dependent Claim
26 words
The method of claim 31 , wherein the expected level of service provided by a candidate server is descriptive of whether the candidate server is reachable.
Claim 48
Dependent Claim
31 words
The method of claim 31 , wherein the expected level of service provided by a candidate server is descriptive of whether the candidate server's cache resources are below a threshold level.
Claim 49
Dependent Claim
32 words
The method of claim 31 , wherein the expected level of service provided by a candidate server is descriptive of whether the candidate server's active network connections are below a threshold level.
Claim 50
Dependent Claim
31 words
The method of claim 31 , wherein the expected level of service provided by a candidate server is descriptive of whether the candidate server's network bandwidth is below a threshold level.
Claim 51
Independent Claim
156 words
A system for directing a stream of packets between a client and a server, the system comprising: a plurality of servers; a switch coupled to the plurality of servers by an Internet Protocol network through one or more communication links, wherein the switch comprises: means for receiving a client request for content via the Internet Protocol network; means for deriving, from the client request, content information descriptive of a plurality of characteristics of the content requested by the content request; means, responsive to the means for deriving, for selecting a server from among a set of candidate servers serving the content requested by the client request, based on the content information; means for subsequently forwarding to the selected server transmissions originating from the client which are associated with the client request for content; and means for subsequently forwarding to the client transmissions originating from the selected server which are associated with the client request for content.
Claim 52
Independent Claim
156 words
A system for directing a stream of packets between a client and a server, the system comprising: a plurality of servers; a switch coupled to the plurality of servers by an Internet Protocol network through one or more communication links, wherein the switch comprises: means for receiving a client request for content via the Internet Protocol network; means for deriving, from the client request, content information descriptive of a plurality of characteristics of the content requested by the content request; means, responsive to the means for deriving, for selecting a server from among a set of candidate servers serving the content requested by the client request, based on the content information; means for subsequently forwarding to the selected server transmissions originating from the client which are associated with the client request for content; and means for subsequently forwarding to the client transmissions originating from the selected server which are associated with the client request for content.
Claim 53
Dependent Claim
13 words
The system of claim 50 , wherein: the candidate servers comprise HTTP servers.
Claim 54
Dependent Claim
120 words
A switch in an Internet Protocol network, comprising: means for receiving a client request for content via the Internet Protocol network; means for deriving, form the client request, content information descriptive of a plurality of characteristics of the content requested by the content request; means, responsive to the means for deriving, for selecting a server from among a set of candidate servers serving the content requested by the client request, based on the content information; means for subsequently forwarding to the selected server transmissions originating from the client which are associated with the client request for content; and means for subsequently forwarding to the client transmissions originating from the selected server which are associated with the client request for content.
Claim 55
Dependent Claim
120 words
A switch in an Internet Protocol network, comprising: means for receiving a client request for content via the Internet Protocol network; means for deriving, form the client request, content information descriptive of a plurality of characteristics of the content requested by the content request; means, responsive to the means for deriving, for selecting a server from among a set of candidate servers serving the content requested by the client request, based on the content information; means for subsequently forwarding to the selected server transmissions originating from the client which are associated with the client request for content; and means for subsequently forwarding to the client transmissions originating from the selected server which are associated with the client request for content.
Claim 56
Dependent Claim
134 words
In an Internet Protocol network, a method for use in a network switch, the method directing packets between a client and a server, the method comprising: receiving an HTTP (HyperText Transfer Protocol) client request for content via the Internet Protocol network at an ingress port of the switch; determining the content requested by the client request based on a plurality of characteristics related to portions of the client request; selecting a server from among a set of candidate servers based on the determining; subsequently forwarding to the selected server packets originating from the client which are associated with the client request for content via a switch egress port; and subsequently forwarding to the client transmissions originating from the selected server which are associated with the client request for content via a switch egress port.
Claim 57
Dependent Claim
134 words
In an Internet Protocol network, a method for use in a network switch, the method directing packets between a client and a server, the method comprising: receiving an HTTP (HyperText Transfer Protocol) client request for content via the Internet Protocol network at an ingress port of the switch; determining the content requested by the client request based on a plurality of characteristics related to portions of the client request; selecting a server from among a set of candidate servers based on the determining; subsequently forwarding to the selected server packets originating from the client which are associated with the client request for content via a switch egress port; and subsequently forwarding to the client transmissions originating from the selected server which are associated with the client request for content via a switch egress port.
Claim 58
Dependent Claim
22 words
The method of claim 53 , wherein the determining comprises determining based on a URL (Universal Resource Locator) included in the request.
Claim 59
Dependent Claim
21 words
The method of claim 53 , wherein the determining comprises determining based on the requested domain name included in the request.
Claim 60
Dependent Claim
16 words
The method of claim 53 , wherein the determining comprises determining a type of content requested.