Claims
- 1. A process for a content delivery and global traffic management network, comprising the steps of:
providing a plurality of caching servers connected to said network; wherein said caching servers host customer content that can be cached and stored; wherein said caching servers respond to requests for said hosted customer content; providing traffic management means for load balancing network requests among customer Web servers; wherein said traffic management means directs client requests for hosted customer content to the appropriate caching server; and wherein said hosted customer content includes, but is not limited to: images, video, text, and/or software.
- 2. The process of claim 1, further comprising the steps of:
providing at least one DNS server; and wherein said traffic management means is resident on said DNS server.
- 3. The process of claim 2, wherein said DNS server returns the same IP addresses for requests from a given client if the connection is a persistent one.
- 4. The process of claim 3, wherein said DNS server maintains a table containing the IP address given out for a given hostname to a client; wherein said table is created dynamically in response to incoming requests and is synchronized across all the DNS servers responsible for a given zone; and wherein if the same client tries to resolve a given hostname against a different DNS server in the future, said different DNS server will give the same result.
- 5. The process of claim 2, wherein the entire network address space is broken up into multiple zones and each zone is assigned to a group of DNS servers.
- 6. The process of claim 5, wherein if a DNS server gets a request from a client that is not in the zone assigned to that DNS server, it forwards the request to the DNS server assigned to that zone.
- 7. The process of claim 5, wherein DNS servers need to keep latency and persistence information only for the clients that fall in the zone assigned to the DNS server.
- 8. The process of claim 7, wherein the DNS servers only need to synchronize the persistence information with the DNS servers responsible for that zone, not all the DNS servers in the network.
- 9. The process of claim 5, wherein when a DNS server has to forward the DNS request to DNS servers in another zone, it selects the server with the best (lowest) latency value thereby performing dynamic load balancing between the DNS servers in the same zone.
- 10. The process of claim 2, further comprising the step of:
providing hostname mapping means resident on a DNS server for dynamically mapping hostname entries to second tier domain names to increase the number of DNS servers in said network to more than the maximum allowed for .com domains.
- 11. The process of claim 2, wherein a customer either delegates a DNS name to said DNS server using a CNAME or by directly delegating the domain or is assigned a host domain name.
- 12. The process of claim 11, wherein some portion of the customer's Web site is associated with said assigned host domain name.
- 13. The process of claim 11, wherein when the host server for said assigned host domain name gets a hit for content it does not contain, it will hit the appropriate content on the customer's Web site to pick up and store that content, otherwise, said host server fulfills the hit from its cache.
- 14. The process of claim 1, wherein said traffic management means selects the appropriate caching server by choosing the caching server that is closest to the user, is available, and is the least loaded.
- 15. The process of claim 1, wherein said caching servers make requests back to the origin customer server site at specified intervals to check to see if the content said caching server has cached is fresh.
- 16. The process of claim 1, wherein said caching servers look at expiry headers in the HTTP content it retrieves from the origin customer server site to ensure freshness.
- 17. The process of claim 1, wherein every server in said network that needs configuration information has a copy of the appropriate current configuration file; wherein the configuration file that a server receives contains all the configuration information for the particular portion of the network; and wherein the data contained in the configuration file includes, but is not limited to: a list of servers allowed to change the configuration, a list of domains the network is responsible for, a list of services the machines in each POP supports, and/or a list of probes that perform latency checks at each POP.
- 18. The process of claim 17, wherein a system administrator can, at any time, push a new configuration file to all machines that need it.
- 19. The process of claim 1, wherein if the requested content does not exist in memory or on disk on said designated caching server, said designated cache server generates a request to a customer Web server to obtain said requested content and store it in memory or on disk.
- 20. The process of claim 1, further comprising the steps of:
providing a log server; and providing a database server.
- 21. The process of claim 20, wherein caching servers write information about any content delivered to log files; and wherein said log files that are picked up and maintained by said log server.
- 22. The process of claim 20, wherein said log server collects log files from the appropriate servers in said network; and wherein said log files are then processed by said log server and sent to said database server.
- 23. The process of claim 22, wherein said database server stores said log files generated by said log servers as tables for later extraction for purposes such as cache hit statistics, billing etc.
- 24. The process of claim 20, further comprising the step of:
providing log file distributors located on select servers within said network; wherein said log file distributors determine the log server IP address to send said log files to by querying said DNS server; wherein if multiple IP addresses are returned to said log file distributors, any random IP address will be selected from said multiple IP addresses; wherein if the connection to the selected IP address fails, then all other IP addresses in said multiple IP addresses will be tried in sequence until a connection is established or all IP addresses have been tried; and wherein upon successful connection, the log file distributor compresses the log file and sends it to said log server.
- 25. A program storage medium readable by a computer, tangibly embodying a program of instructions executable by the computer to perform method steps for a content delivery and global traffic management network, comprising the steps of:
providing a plurality of caching servers connected to said network; wherein said caching servers host customer content that can be cached and stored; wherein said caching servers respond to requests for said hosted customer content; providing traffic management means for load balancing network requests among customer Web servers; wherein said traffic management means directs client requests for hosted customer content to the appropriate caching server; and wherein said hosted customer content includes, but is not limited to: images, video, text, and/or software.
- 26. The method of claim 25, further comprising the steps of:
providing at least one DNS server; and wherein said traffic management means is resident on said DNS server.
- 27. The method of claim 26, wherein said DNS server returns the same IP addresses for requests from a given client if the connection is a persistent one.
- 28. The method of claim 27, wherein said DNS server maintains a table containing the IP address given out for a given hostname to a client; wherein said table is created dynamically in response to incoming requests and is synchronized across all the DNS servers responsible for a given zone; and wherein if the same client tries to resolve a given hostname against a different DNS server in the future, said different DNS server will give the same result.
- 29. The method of claim 26, wherein the entire network address space is broken up into multiple zones and each zone is assigned to a group of DNS servers.
- 30. The method of claim 29, wherein if a DNS server gets a request from a client that is not in the zone assigned to that DNS server, it forwards the request to the DNS server assigned to that zone.
- 31. The method of claim 29, wherein DNS servers need to keep latency and persistence information only for the clients that fall in the zone assigned to the DNS server.
- 32. The method of claim 31, wherein the DNS servers only need to synchronize the persistence information with the DNS servers responsible for that zone, not all the DNS servers in the network.
- 33. The method of claim 29, wherein when a DNS server has to forward the DNS request to DNS servers in another zone, it selects the server with the best (lowest) latency value thereby performing dynamic load balancing between the DNS servers in the same zone.
- 34. The method of claim 26, further comprising the step of:
providing hostname mapping means resident on a DNS server for dynamically mapping hostname entries to second tier domain names to increase the number of DNS servers in said network to more than the maximum allowed for .com domains.
- 35. The method of claim 26, wherein a customer either delegates a DNS name to said DNS server using a CNAME or by directly delegating the domain or is assigned a host domain name.
- 36. The method of claim 35, wherein some portion of the customer's Web site is associated with said assigned host domain name.
- 37. The method of claim 35, wherein when the host server for said assigned host domain name gets a hit for content it does not contain, it will hit the appropriate content on the customer's Web site to pick up and store that content, otherwise, said host server fulfills the hit from its cache.
- 38. The method of claim 25, wherein said traffic management means selects the appropriate caching server by choosing the caching server that is closest to the user, is available, and is the least loaded.
- 39. The method of claim 25, wherein said caching servers make requests back to the origin customer server site at specified intervals to check to see if the content said caching server has cached is fresh.
- 40. The method of claim 25, wherein said caching servers look at expiry headers in the HTTP content it retrieves from the origin customer server site to ensure freshness.
- 41. The method of claim 25, wherein every server in said network that needs configuration information has a copy of the appropriate current configuration file; wherein the configuration file that a server receives contains all the configuration information for the particular portion of the network; and wherein the data contained in the configuration file includes, but is not limited to: a list of servers allowed to change the configuration, a list of domains the network is responsible for, a list of services the machines in each POP supports, and/or a list of probes that perform latency checks at each POP.
- 42. The method of claim 41, wherein a system administrator can, at any time, push a new configuration file to all machines that need it.
- 43. The method of claim 25, wherein if the requested content does not exist in memory or on disk on said designated caching server, said designated cache server generates a request to a customer Web server to obtain said requested content and store it in memory or on disk.
- 44. The method of claim 25, further comprising the steps of:
providing a log server; and providing a database server.
- 45. The method of claim 44, wherein caching servers write information about any content delivered to log files; and wherein said log files that are picked up and maintained by said log server.
- 46. The method of claim 44, wherein said log server collects log files from the appropriate servers in said network; and wherein said log files are then processed by said log server and sent to said database server.
- 47. The method of claim 46, wherein said database server stores said log files generated by said log servers as tables for later extraction for purposes such as cache hit statistics, billing etc.
- 48. The method of claim 44, further comprising the step of:
providing log file distributors located on select servers within said network; wherein said log file distributors determine the log server IP address to send said log files to by querying said DNS server; wherein if multiple IP addresses are returned to said log file distributors, any random IP address will be selected from said multiple IP addresses; wherein if the connection to the selected IP address fails, then all other IP addresses in said multiple IP addresses will be tried in sequence until a connection is established or all IP addresses have been tried; and wherein upon successful connection, the log file distributor compresses the log file and sends it to said log server.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] The present application is a continuation in-part of U.S. patent application Ser. No. 09/641,746 filed Aug. 18, 2000, and claims priority to and incorporates by reference for all purposes, Provisional U.S. patent application Ser. Nos. 60/219,172, 60/219,166, 60/219,946, and 60/219,177 all filed on Jul. 19, 2000, and U.S. patent application Ser. No. 09/644,927 filed Aug. 23, 2000.
Provisional Applications (4)
|
Number |
Date |
Country |
|
60219172 |
Jul 2000 |
US |
|
60219166 |
Jul 2000 |
US |
|
60219946 |
Jul 2000 |
US |
|
60219177 |
Jul 2000 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
| Parent |
09641746 |
Aug 2000 |
US |
| Child |
09909651 |
Jul 2001 |
US |