Content routing services protocol
First Claim
1. A method for making content available for users in a computer network, the content having an original location, the method including:
- forwarding the content to one or more caches distributed throughout the computer network, each of said caches coupled to a switch or router;
storing the content in each of said one or more caches;
storing a record identifying said content in each of said one or more caches, said record for any particular cache of said one or more caches having an original location field identifying the original location of said content, a distance field indicating a distance from said particular cache to the original location of said content, wherein said distance field is utilized upon receiving a request, said request including a SYN packet, domain information, and file type information, and a field indicating a version number of said content; and
transferring said request to a second cache closer to the original location of said content than a first cache as determined by the distance field in said first cache and a distance field in said second cache, if said first cache does not exist or said first cache does not have an entry in said record with the original location field identical to said original location of said content.
1 Assignment
0 Petitions
Accused Products
Abstract
Layer 7 switching may be accomplished using one or more caches placed throughout a computer network. Changes to a file on a server may be detected and propagated throughout the network. At the switch or router level, once notification of changes to a file is received, the content may be retrieved from the server and placed in a connected cache. A routing table entry may be created for the content and also placed in the cache. The routing table entry may contain an original location field identifying the original location of the content, a distance field indicating a distance from the cache to the server, and a field indicating a version number of the content. Additional fields may also be contained within the routing table entry. When a user requests a specific file, rather than forward the request directly to the server containing the original file, the request may be handled by the router closest to the user which has a connected cache containing the content. This allows a user'"'"'s request to be handled much more quickly and efficiently than prior art solutions.
86 Citations
47 Claims
-
1. A method for making content available for users in a computer network, the content having an original location, the method including:
-
forwarding the content to one or more caches distributed throughout the computer network, each of said caches coupled to a switch or router; storing the content in each of said one or more caches; storing a record identifying said content in each of said one or more caches, said record for any particular cache of said one or more caches having an original location field identifying the original location of said content, a distance field indicating a distance from said particular cache to the original location of said content, wherein said distance field is utilized upon receiving a request, said request including a SYN packet, domain information, and file type information, and a field indicating a version number of said content; and transferring said request to a second cache closer to the original location of said content than a first cache as determined by the distance field in said first cache and a distance field in said second cache, if said first cache does not exist or said first cache does not have an entry in said record with the original location field identical to said original location of said content. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for making content available for users in a computer network, the content having an original location, the method including:
-
receiving the content forwarded from the original location; storing the content in a cache coupled to a switch or router; storing a record identifying the content in said cache, said record having an original location field identifying the original location of said content, a distance field indicating a distance from said cache to the original location of said content, wherein said distance field is utilized upon receiving a request, said request including a SYN packet, domain information, and file type information, and a field indicating a version number of said content; and transferring said request to a second cache closer to the original location of said content than a first cache as determined by the distance field in said first cache and a distance field in said second cache, if said first cache does not exist or said first cache does not have an entry in said record with the original location field identical to said original location of said content. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for updating content in a computer network, the content located at a web server and having an original location, the method including:
-
creating a routing table entry for the content in a cache, said routing table entry having a record with a location field with the original location of said content, a distance field indicating the distance from said cache to the original location of said content, wherein said distance field is utilized upon receiving a request, said request including a SYN packet, domain information, and file type information, and a version number field indicating a version number of said content; forwarding said routing table entry to another of one or more caches in the computer network to allow said another of one or more caches to create a routing table entry for the content; and transferring said request to a second cache closer to the original location of said content than a first cache as determined by the distance field in said first cache and a distance field in said second cache, if said first cache does not exist or said first cache does not have an entry in said routing table entry with the location field identical to said original location of said content. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. An apparatus for updating content in a computer network, the content located at a web server and having an original location, the apparatus including:
-
a cache; a routing table entry creator coupled to said cache, wherein said routing table entry creator creates a routing table entry for the content in a cache, said routing table entry having a record with a location field with the original location of said content, a distance field indicating the distance from said cache to the original location of said content, wherein said distance field is utilized upon receiving a request, said request including a SYN packet, domain information, and file type information; a routing table entry forwarder coupled to said cache and to said routing table entry creator; and a request transferer coupled to said cache to transfer said request to a second cache closer to the original location address than a first cache as determined by a distance field in said first cache and a distance field in said second cache, if said first cache does not exist or said first cache does not have an entry in said routing table entry with the location field identical to said original location of said content. - View Dependent Claims (33, 34)
-
-
35. An apparatus for handling a request for content from a user in a computer network, including:
-
a request receiver for receiving a request, said request including a SYN packet, domain information, and file type information; a cache; an original location address examiner coupled to said request receiver and to said cache to examine an original location address in a header in the request; an original location address comparator coupled to said original location address examiner and to said cache receiving the request at a switch or router to compare said original location address with one or more entries in a table in a first cache coupled to said switch or router, if said first cache exists; a content forwarder coupled to said original location address comparator and to said cache to forward content from said first cache to said user if an entry in said table in said first cache has an original location field identical to said original location address; and a request transferer coupled to said request receiver and to said original location address comparator to transfer said request to a second cache closer to the original location address than said first cache as determined by a distance field in said first cache and a distance field in said second cache, if said first cache does not exist or said first cache does not have an entry in said table with an original location field identical to said original location address.
-
-
36. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine for making content available for users in a computer network, the content having an original location, the method including:
-
forwarding the content to one or more caches distributed throughout the computer network, each of said caches coupled to a switch or router; storing the content in each of said one or more caches; storing a record identifying said content in each of said one or more caches, said record for any particular cache of said one or more caches having an original location field identifying the original location of said content, a distance field indicating a distance from said particular cache to the original location of said content, wherein said distance field is utilized upon receiving a request, said request including a SYN packet, domain information, and file type information, and a field indicating a version number of said content; and transferring said request to a second cache closer to the original location of said content than a first cache as determined by the distance field in said first cache and a distance field in said second cache, if said first cache does not exist or said first cache does not have an entry in said record with the original location field identical to said original location of said content.
-
-
37. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine for making content available for users in a computer network, the content having an original location, the method including:
-
receiving the content forwarded from the original location; storing the content in a cache coupled to a switch or router; storing a record identifying the content in said cache, said record having an original location field identifying the original location of said content, a distance field indicating a distance from said cache to the original location of said content, wherein said distance field is utilized upon receiving a request, said request including a SYN packet, domain information, and file type information, and a field indicating a version number of said content; and transferring said request to a second cache closer to the original location of said content than a first cache as determined by the distance field in said first cache and a distance field in said second cache, if said first cache does not exist or said first cache does not have an entry in said record with the original location field identical to said original location of said content.
-
-
38. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine for updating content in a computer network, the content located at a web server and having an original location, the method including:
-
creating a routing table entry for the content in a cache, said routing table entry having a record with a location field with the original location of said content, a distance field indicating the distance from said cache to the original location of said content, wherein said distance field is utilized upon receiving a request, said request including a SYN packet, domain information, and file type information, and a version number field indicating a version number of said content; forwarding said routing table entry to another of one or more caches in the computer network; repeating said creating and forwarding for each of said one or more caches; and transferring said request to a second cache closer to the original location of said content than a first cache as determined by the distance field in said first cache and a distance field in said second cache, if said first cache does not exist or said first cache does not have an entry in said routing table entry with the location field identical to said original location of said content.
-
-
39. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine for updating content in a computer network, the content located at a web server and having an original location, the method including:
-
creating a routing table entry for the content in a cache, said routing table entry having a record with a location field with the original location of said content, a distance field indicating the distance from said cache to the original location of said content, wherein said distance field is utilized upon receiving a request, said request including a SYN packet, domain information, and file type information, and a version number field indicating a version number of said content; forwarding said routing table entry to another of one or more caches in the computer network to allow said another of one or more caches to create a routing table entry for the content; and transferring said request to a second cache closer to the original location of said content than a first cache as determined by the distance field in said first cache and a distance field in said second cache, if said first cache does not exist or said first cache does not have an entry in said routing table entry with the location field identical to said original location of said content.
-
-
40. An apparatus for making content available for users in a computer network, the content having an original location, the apparatus including:
-
a memory; a network interface coupled to said memory; a processor coupled to said memory programmed to perform the steps of; forwarding the content to one or more caches distributed throughout the computer network, each of said caches coupled to a switch or router; storing the content in each of said one or more caches; storing a record identifying said content in each of said one or more caches, said record for any particular cache of said one or more caches having an original location field identifying the original location of said content, a distance field indicating a distance from said particular cache to the original location of said content, wherein said distance field is utilized upon receiving a request, said request including a SYN packet, domain information, and file type information, and a field indicating a version number of said content; and transferring said request to a second cache closer to the original location of said content than a first cache as determined by the distance field in said first cache and a distance field in said second cache, if said first cache does not exist or said first cache does not have an entry in said record with the original location field identical to said original location of said content.
-
-
41. An apparatus for making content available for users in a computer network, the content having an original location, the apparatus including:
-
a memory; a network interface coupled to said memory; a processor coupled to said memory programmed to perform the steps of; receiving the content forwarded from the original location; storing the content in a cache coupled to a switch or router; storing a record identifying the content in said cache, said record having an original location field identifying the original location of said content, a distance field indicating a distance from said cache to the original location of said content, wherein said distance field is utilized upon receiving a request, said request including a SYN packet, domain information, and file type information, and a field indicating a version number of said content; and transferring said request to a second cache closer to the original location of said content than a first cache as determined by the distance field in said first cache and a distance field in said second cache, if said first cache does not exist or said first cache does not have an entry in said record with the original location field identical to said original location of said content.
-
-
42. An apparatus for updating content in a computer network, the content located at a web server and having an original location, the apparatus including:
-
a memory; a network interface coupled to said memory; a processor coupled to said memory programmed to perform the steps of; creating a routing table entry for the content in a cache, said routing table entry having a record with a location field with the original location of said content, a distance field indicating the distance from said cache to the original location of said content, wherein said distance field is utilized upon receiving a request, said request including a SYN packet, domain information, and file type information, and a version number field indicating a version number of said content; forwarding said routing table entry to another of one or more caches in the computer network; repeating said creating and forwarding for each of said one or more caches; and transferring said request to a second cache closer to the original location of said content than a first cache as determined by the distance field in said first cache and a distance field in said second cache, if said first cache does not exist or said first cache does not have an entry in said routing table entry with the location field identical to said original location of said content.
-
-
43. An apparatus for updating content in a computer network, the content located at a web server and having an original location, the apparatus including:
-
a memory; a network interface coupled to said memory; a processor coupled to said memory programmed to perform the steps of; creating a routing table entry for the content in a cache, said routing table entry having a record with a location field with the original location of said content, a distance field indicating the distance from said cache to the original location of said content, wherein said distance field is utilized upon receiving a request, said request including a SYN packet, domain information, and file type information, and a version number field indicating a version number of said content; forwarding said routing table entry to another of one or more caches in the computer network to allow said another of one or more caches to create a routing table entry for the content; and transferring said request to a second cache closer to the original location of said content than a first cache as determined by the distance field in said first cache and a distance field in said second cache, if said first cache does not exist or said first cache does not have an entry in said routing table entry with the location field identical to said original location of said content.
-
-
44. An apparatus for making content available for users in a computer network, the content having an original location, the apparatus including:
-
means for forwarding the content to one or more caches distributed throughout the computer network, each of said caches coupled to a switch or router; means for storing the content in each of said one or more caches; means for storing a record identifying said content in each of said one or more caches, said record for any particular cache of said one or more caches having an original location field identifying the original location of said content, a distance field indicating a distance from said particular cache to the original location of said content, wherein said distance field is utilized upon receiving a request, said request including a SYN packet, domain information, and file type information, and a field indicating a version number of said content; and means for transferring said request to a second cache closer to the original location of said content than a first cache as determined by the distance field in said first cache and a distance field in said second cache, if said first cache does not exist or said first cache does not have an entry in said record with the original location field identical to said original location of said content.
-
-
45. An apparatus for making content available for users in a computer network, the content having an original location, the apparatus including:
-
means for receiving the content forwarded from the original location;
means for storing the content in a cache coupled to a switch or router;means for storing a record identifying the content in said cache, said record having an original location field identifying the original location of said content, a distance field indicating a distance from said cache to the original location of said content, wherein said distance field is utilized upon receiving a request, said request including a SYN packet, domain information, and file type information, and a field indicating a version number of said content; and means for transferring said request to a second cache closer to the original location of said content than a first cache as determined by the distance field in said first cache and a distance field in said second cache, if said first cache does not exist or said first cache does not have an entry in said record with the original location field identical to said original location of said content.
-
-
46. An apparatus for updating content in a computer network, the content located at a web server and having an original location, the apparatus including:
-
means for creating a routing table entry for the content in a cache, said routing table entry having a record with a location field with the original location of said content, a distance field indicating the distance from said cache to the original location of said content, wherein said distance field is utilized upon receiving a request, said request including a SYN packet, domain information, and file type information, and a version number field indicating a version number of said content; means for forwarding said routing table entry to another of one or more caches in the computer network; means for repeating said creating and forwarding for each of said one or more caches; and means for transferring said request to a second cache closer to the original location of said content than a first cache as determined by the distance field in said first cache and a distance field in said second cache, if said first cache does not exist or said first cache does not have an entry in said routing table entry with the location field identical to said original location of said content.
-
-
47. An apparatus for updating content in a computer network, the content located at a web server and having an original location, the apparatus including:
-
means for creating a routing table entry for the content in a cache, said routing table entry having a record with a location field with the original location of said content, a distance field indicating the distance from said cache to the original location of said content, wherein said distance field is utilized upon receiving a request, said request including a SYN packet, domain information, and file type information, and a version number field indicating a version number of said content; means for forwarding said routing table entry to another of one or more caches in the computer network to allow said another of one or more caches to create a routing table entry for the content; and means for transferring said request to a second cache closer to the original location of said content than a first cache as determined by the distance field in said first cache and a distance field in said second cache, if said first cache does not exist or said first cache does not have an entry in said routing table entry with the location field identical to said original location of said content.
-
Specification