← Back to Patent Explorer
US6006264A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for directing a flow between a client and a server

Assignee: Cisco Technology Inc
•
Filing: 1998-03-30
•
Granted: 1999-12-21
•
Expires: 2018-03-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A content-aware flow switch intercepts a client content request in an IP network, and transparently directs the content request to a best-fit server. The best-fit server is chosen based on the type of content requested, the quality of service requirements implied by the content request, the degree of load on available servers, network congestion information, and the proximity of the client to available servers. The flow switch detects client-server flows based on the arrival of TCP SYNs and/or HTTP GETs from the client. The flow switch implicitly deduces the quality of service requirements of a flow based on the content of the flow. The flow switch also provides the functionality of multiple physical web servers on a single web server in a way that is transparent to the client, through the use of virtual web hosts and flow pipes.

Inventors

  • 👤 Steven Colby
  • 👤 John J. Krawczyk
  • 👤 Raj Krishnan Nair
  • 👤 Katherine Royce
  • 👤 Kenneth P. Siegel
  • 👤 Richard C. Stevens
  • 👤 Scott Wasson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 08:07
CPC Classifications
H; H04; H04L; H04L67/00; H04L67/01; H04L67/10; H04L67/1001; H04L67/1004; H04L67/1023; H04L47/00; H04L47/70; H04L47/72; H04L47/724; H04L47/74; H04L47/745; H04L47/80; H04L47/801; H04L47/805; H04L47/82; H04L47/822; H04L49/00; H04L49/35; H04L49/355; H04L67/1008; H04L67/101; H04L67/1012; H04L67/1014; H04L67/1021; H04L67/1031; H04L67/50; H04L67/51; H04L67/52; H04L67/10015; H04L67/1027; H04L67/1029; H04L69/00; H04L69/30; H04L69/32; H04L69/322; H04L69/329

Claims Analysis

Total Claims: 50
Claim 1
Independent Claim 170 words
In an Internet Protocol network, a method for directing a flow between a client and a best-fit server, the method comprising: receiving a client request for content via the Internet Protocol network; deriving, from the client request, content type information descriptive of the type of content requested by the content request; deriving, from the client request, quality of service information descriptive of quality of service requirements of the content requested by the client request; selecting as the best-fit server a server from among a set of candidate servers serving the content requested by the client request, based on the content type information, the quality of service information, and at least one server metric descriptive of expected qualities of service provided by the candidate servers when serving the requested content; subsequently forwarding to the best-fit 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 best-fit server which are associated with the client request for content.
Claim 2
Dependent Claim 170 words
In an Internet Protocol network, a method for directing a flow between a client and a best-fit server, the method comprising: receiving a client request for content via the Internet Protocol network; deriving, from the client request, content type information descriptive of the type of content requested by the content request; deriving, from the client request, quality of service information descriptive of quality of service requirements of the content requested by the client request; selecting as the best-fit server a server from among a set of candidate servers serving the content requested by the client request, based on the content type information, the quality of service information, and at least one server metric descriptive of expected qualities of service provided by the candidate servers when serving the requested content; subsequently forwarding to the best-fit 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 best-fit server which are associated with the client request for content.
Claim 3
Dependent Claim 63 words
The method of claim 1, wherein the combination of server metrics includes: one or more metrics selected from the following group: server load metrics descriptive of the current load and recent activity on the candidate servers, network congestion metrics descriptive of network congestion between the client and the candidate servers, and client-server proximity information descriptive of distances between the client and candidate servers.
Claim 4
Dependent Claim 28 words
The method of claim 2, 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 5
Dependent Claim 29 words
The method of claim 3, 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 6
Dependent Claim 13 words
The method of claim 4, wherein the administrative authorities are Internet Service Providers.
Claim 7
Dependent Claim 63 words
The method of claim 1, wherein the combination of server metrics includes: two or more metrics selected from the following group: server load metrics descriptive of the current load and recent activity on the candidate servers, network congestion metrics descriptive of network congestion between the client and the candidate servers, and client-server proximity information descriptive of distances between the client and candidate servers.
Claim 8
Dependent Claim 54 words
The method of claim 1, wherein the combination of server metrics includes: server load metrics descriptive of the current load and recent activity on the candidate servers, network congestion metrics descriptive of network congestion between the client and the candidate servers, and client-server proximity information descriptive of distances between the client and candidate servers.
Claim 9
Dependent Claim 25 words
The method of claim 1, wherein the step of deriving quality of service information includes deriving quality of service information from the content type information.
Claim 10
Dependent Claim 31 words
The method of claim 1, wherein the step of deriving quality of service information includes deriving quality of service information from a size of the content requested by the client request.
Claim 11
Dependent Claim 13 words
The method of claim 1, wherein the client request is an HTTP request.
Claim 12
Dependent Claim 23 words
The method of claim 10, wherein deriving content type information comprises: extracting content type information from an HTTP header of the client request.
Claim 13
Dependent Claim 13 words
The method of claim 1, wherein the client request is a TCP request.
Claim 14
Dependent Claim 37 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 step further comprises selecting the best-fit server based on the additional information.
Claim 15
Dependent Claim 16 words
The method of claim 13, wherein the additional information comprises information derived from an HTTP GET.
Claim 16
Dependent Claim 22 words
The method of claim 13, wherein the obtaining step comprises obtaining a protocol number and a source port of the client request.
Claim 17
Dependent Claim 22 words
The method of claim 13, wherein the obtaining step comprises obtaining a protocol number and a destination port of the client request.
Claim 18
Dependent Claim 18 words
The method of claim 13, wherein the obtaining step comprises obtaining a filename associated with the content request.
Claim 19
Dependent Claim 19 words
The method of claim 13, wherein the obtaining step comprises obtaining a filename extension associated with the content request.
Claim 20
Dependent Claim 17 words
The method of claim 1, wherein the server metrics are obtained by querying a content server database.
Claim 21
Dependent Claim 20 words
The method of claim 1, wherein the server metrics are obtained by periodically querying servers in the Internet Protocol network.
Claim 22
Dependent Claim 30 words
The method of claim 1, further comprising: obtaining client capability information about the client; and wherein the selecting step further comprises selecting the best-fit server based on the additional information.
Claim 23
Dependent Claim 13 words
The method of claim 1, wherein quality of service requirements comprise a bandwidth.
Claim 24
Dependent Claim 13 words
The method of claim 1, wherein quality of service requirements comprise a delay.
Claim 25
Dependent Claim 15 words
The method of claim 1, wherein quality of service requirements comprise a frame loss ratio.
Claim 26
Dependent Claim 26 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 27
Dependent Claim 37 words
The method of claim 1, wherein the expected quality 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 28
Dependent Claim 30 words
The method of claim 1, wherein the expected quality of service provided by a candidate server is descriptive of whether satisfying the client request will result in a short-term flow.
Claim 29
Dependent Claim 34 words
The method of claim 1, wherein the expected quality 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 30
Dependent Claim 31 words
The method of claim 1, wherein the expected quality of service provided by a candidate server is descriptive of whether the content requested by the client request has a high priority.
Claim 31
Dependent Claim 34 words
The method of claim 1, wherein the expected quality 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 32
Dependent Claim 28 words
The method of claim 1, wherein the expected quality of service provided by a candidate server is descriptive of whether the candidate server has responded to recent queries.
Claim 33
Dependent Claim 49 words
The method of claim 1, wherein the expected quality 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 34
Dependent Claim 25 words
The method of claim 1, wherein the expected quality of service provided by a candidate server is descriptive of whether the candidate server is reachable.
Claim 35
Dependent Claim 30 words
The method of claim 1, wherein the expected quality of service provided by a candidate server is descriptive of whether the candidate server's cache resources are below a threshold level.
Claim 36
Dependent Claim 31 words
The method of claim 1, wherein the expected quality of service provided by a candidate server is descriptive of whether the candidate server's TCP buffer resources are below a threshold level.
Claim 37
Dependent Claim 30 words
The method of claim 1, wherein the expected quality of service provided by a candidate server is descriptive of whether the candidate server's port bandwidth is below a threshold level.
Claim 38
Dependent Claim 62 words
The method of claim 1, wherein selecting as the best-fit 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 as the best-fit server.
Claim 39
Dependent Claim 20 words
The method of claim 1, further comprising determining whether an active path exists between the client and the best-fit server.
Claim 40
Dependent Claim 20 words
The method of claim 38, wherein determining whether an active path exists comprises sending a PING packet to the client.
Claim 41
Dependent Claim 21 words
The method of claim 38, wherein determining whether an active path exists comprises performing a Border Gateway Protocol route table lookup.
Claim 42
Dependent Claim 19 words
The method of claim 38, wherein the location of the client comprises a continent in which the client resides.
Claim 43
Dependent Claim 20 words
The method of claim 41, wherein the locations of the plurality of servers are continents in which the servers reside.
Claim 44
Dependent Claim 53 words
The method of claim 38, 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 45
Dependent Claim 13 words
The method of claim 43, wherein the administrative authorities are Internet Service Providers.
Claim 46
Independent Claim 206 words
A system for directing a flow between a client and a best-fit server, the system comprising: a plurality of servers; a flow switch coupled to the plurality of servers by an Internet Protocol network through one or more communication links, wherein the flow switch comprises: means for receiving a client request for content via the Internet Protocol network; means for deriving, from the client request, content type information descriptive of the type of content requested by the content request; means for deriving, from the client request, quality of service information descriptive of quality of service requirements of the content requested by the client request; means for selecting as the best-fit server a server from among a set of candidate servers serving the content requested by the client request, based on the content type information, the quality of service information, and a combination of server metrics descriptive of expected qualities of service provided by the candidate servers when serving the requested content; means for subsequently forwarding to the best-fit 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 best-fit server which are associated with the client request for content.
Claim 47
Independent Claim 206 words
A system for directing a flow between a client and a best-fit server, the system comprising: a plurality of servers; a flow switch coupled to the plurality of servers by an Internet Protocol network through one or more communication links, wherein the flow switch comprises: means for receiving a client request for content via the Internet Protocol network; means for deriving, from the client request, content type information descriptive of the type of content requested by the content request; means for deriving, from the client request, quality of service information descriptive of quality of service requirements of the content requested by the client request; means for selecting as the best-fit server a server from among a set of candidate servers serving the content requested by the client request, based on the content type information, the quality of service information, and a combination of server metrics descriptive of expected qualities of service provided by the candidate servers when serving the requested content; means for subsequently forwarding to the best-fit 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 best-fit server which are associated with the client request for content.
Claim 48
Dependent Claim 12 words
The system of claim 45, wherein: the candidate servers comprise HTTP servers.
Claim 49
Dependent Claim 170 words
A flow switch in an Internet Protocol network, comprising: means for receiving a client request for content via the Internet Protocol network; means for deriving, from the client request, content type information descriptive of the type of content requested by the content request; means for deriving, from the client request, quality of service information descriptive of quality of service requirements of the content requested by the client request; means for selecting as the best-fit server a server from among a set of candidate servers serving the content requested by the client request, based on the content type information, the quality of service information, and at least one server metric descriptive of expected qualities of service provided by the candidate servers when serving the requested content; means for subsequently forwarding to the best-fit 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 best-fit server which are associated with the client request for content.
Claim 50
Dependent Claim 170 words
A flow switch in an Internet Protocol network, comprising: means for receiving a client request for content via the Internet Protocol network; means for deriving, from the client request, content type information descriptive of the type of content requested by the content request; means for deriving, from the client request, quality of service information descriptive of quality of service requirements of the content requested by the client request; means for selecting as the best-fit server a server from among a set of candidate servers serving the content requested by the client request, based on the content type information, the quality of service information, and at least one server metric descriptive of expected qualities of service provided by the candidate servers when serving the requested content; means for subsequently forwarding to the best-fit 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 best-fit server which are associated with the client request for content.

References Cited (Backward Citations)

US5230065A Cited
US5031089A Cited
US5341477A Cited
US5475819A Cited
US5249290A Cited
US5459837A Cited
US5701465A Cited
US5475685A Cited
US5673393A Cited
US5574861A Cited
US5603029A Cited
US5774660A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-12-20 2003-06-21 2003-12-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-12-20 2007-06-21 2007-12-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-12-20 2011-06-21 2011-12-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag