WO2001039000A1 - A user device and system for traffic management and content distribution over a world wide area network - Google Patents

A user device and system for traffic management and content distribution over a world wide area network Download PDF

Info

Publication number
WO2001039000A1
WO2001039000A1 PCT/US2000/032306 US0032306W WO0139000A1 WO 2001039000 A1 WO2001039000 A1 WO 2001039000A1 US 0032306 W US0032306 W US 0032306W WO 0139000 A1 WO0139000 A1 WO 0139000A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
content
traffic management
user
content distribution
Prior art date
Application number
PCT/US2000/032306
Other languages
French (fr)
Inventor
Eric Sven-Johan Swildens
Richard David Day
Ajit Gupta
Original Assignee
Speedera Networks, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/641,746 external-priority patent/US6484143B1/en
Application filed by Speedera Networks, Inc. filed Critical Speedera Networks, Inc.
Priority to AU18007/01A priority Critical patent/AU1800701A/en
Publication of WO2001039000A1 publication Critical patent/WO2001039000A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5029Service quality level-based billing, e.g. dependent on measured service level customer is charged more or less
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5061Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the interaction between service providers and their network customers, e.g. customer relationship management
    • H04L41/5064Customer relationship management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/509Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to media content delivery, e.g. audio, video or TV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4541Directories for service discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1006Server selection for load balancing with static server selection, e.g. the same server being selected for a specific client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1027Persistence of sessions during load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data

Definitions

  • the present invention relates to world wide area networking. More particularly, the invention provides a technique including a user interface device and system for using a global traffic management system coupled to a plurality of content servers for a service fee. But it would be recognized that the invention has a much broader range of applicability. For example, the invention can also be applied to other types of networks, and the like.
  • the Internet is a world wide "super-network" which connects together millions of individual computer networks and computers.
  • the Internet is generally not a single entity. It is an extremely diffuse and complex system over where no single entity has complete authority or control.
  • the Internet is widely know for one of its ways of presenting information through the World Wide Web (herein "Web"), there are many other services currently available based upon the general Internet protocols and infrastructure.
  • Web World Wide Web
  • the Web is often easy to use for people inexperienced with computers.
  • Information on the Web often is presented on "pages" of graphics and text that contain "links" to other pages either within the same set of data files (i.e., Web site) or within data files located on other computer networks.
  • Users often access information on the Web using a "browser” program such as one made by Netscape Communications Corporation (now America Online, Inc.) of Mountain View, California or ExplorerTM from Microsoft Corporation of Redmond, Washington.
  • Browser programs can process information from Web sites and display the information using graphics, text, sound, and animation. Accordingly, the Web has become a popular medium for advertising goods and services directly to consumers.
  • Traffic generally refers to the transfer of information from a Web site at a server computer to a user at a client computer.
  • the traffic generally travels through the world wide network of computers using a packetized communication protocol, such as TCP/IP. Tiny packets of information travel from the server computer through the network to the client computer.
  • TCP/IP packetized communication protocol
  • Tiny packets of information travel from the server computer through the network to the client computer.
  • the tiny packets of information traveling through the Internet become congested.
  • traffic jams which cause a delay in the information from the server to the client occur during high usage hours on the Internet.
  • These traffic jams lead to long wait times at the client location.
  • a user of the client computer may wait for a long time for a graphical object to load onto his/her computer.
  • a technique including a user interface device and system for global traffic management and content distribution is provided.
  • the method is applied to a world wide network of computers, such as the Internet or an internet.
  • the invention provides a service based system for traffic management and content distribution for a plurality of users over a world wide network of computers.
  • the system includes a global traffic management device coupled to a world wide area network.
  • the global traffic management device being provided to load balance across multiple origin sites.
  • the system also has a content delivery network coupled to the global traffic management device.
  • the content delivery network provides support content distribution and delivery of streaming media.
  • the system also has a computing device including a computer memory coupled to the global traffic management device.
  • the system also has an accounting module coupled to the computing device.
  • the accounting module tracks a usage of the global traffic management device and the content delivery network for a customer of the global traffic management device and the content delivery network to determine a service fee for the usage based upon a period time frequency.
  • the present invention can be implemented using conventional hardware and software in an easy manner in some embodiments.
  • the invention can also be applied to conventional Web hosting sites.
  • the invention provides an easy way for a Web site to using a content distribution network without spending capital costs. Depending upon the embodiment, one or more of these benefits may be achieved.
  • FIG. 1 is a simplified diagram of a system according to an embodiment of the present invention
  • Fig. 2 is a more detailed diagram of probes used in the system according to an embodiment of the present invention
  • Fig. 3 is a more detailed diagram of a caching sequence used in the system according to an embodiment of the present invention.
  • Fig. 4 is a simplified flow diagrams of methods according to embodiments of the present invention.
  • Fig. 4 A is a simplified system diagram according to an embodiment of the present invention.
  • Figs. 5 A to 5H are simplified diagrams of content delivery network according to an embodiment of the present invention
  • Figs. 6A to 6E are simplified diagrams of global traffic management system according to an embodiment of the present invention DESCRIPTION OF THE SPECIFIC EMBODIMENTS
  • a technique including a user interface device and system for global traffic management and content distribution is provided.
  • the method is applied to a world wide network of computers, such as the Internet or an internet.
  • the invention provides a user interface device and system for providing a shared GTM and CDN (collectively Universal Distribution Network) for a service fee, where the customer or user does not need to purchase significant hardware and/or software features.
  • the present interface device and system allows a customer to scale up its Web site, without a need for expensive and difficult to use hardware and/or software.
  • the customer merely pays for a service fee, which can be fixed, variable, lump some, or based upon a subscription model using the present system.
  • the present device and system are preferably implemented on a system including a novel combination of global traffic management and content distribution.
  • the system 100 includes a variety of features to defined the Universal Delivery Network (UDN).
  • the UDN has a combined content delivery network 103 and 104 and a global traffic management network 105, which are coupled to each other. This eliminates the need for independent CDN and GTM solutions.
  • the UDN can be implemented as a single outsourced solution or service to a customer. When deployed across the WAN, it creates a unified network that provides a universal solution for content routing and high availability delivery.
  • the network can also incorporate customer origin sites 107, 109 that will then benefit from shared load balancing and traffic management.
  • Customers with generated content such as search engines, auctions and shopping carts, can use the latter feature to add their own content servers to the network.
  • the system typically requires no software or hardware to be installed or run at a customer site.
  • a web interface is available for display of the network's current status as well as historical statistics on a per customer basis.
  • the system functions by mapping hostnames, such as www . customer. com to a customers origin servers 107 and 109..
  • the local DNS 113 queries the traffic management system 105 for name resolution of the customers web site and receives a response specifying the server best suited to handle the request, either customer origin servers 107 or servers 103 located in the UDN.
  • tags within the HTML direct the imbedded static content to the network of cache servers 103 and 104.
  • the static content may be tagged with a domain name like customer.speedera.com.
  • Each local DNS in the example is directed to a different resource for each hostname based on several factors, such as proximity to the resource, network congestion, and server load.
  • www.customer.com is mapped to the customer origin servers represented by customer origin Sites 1 109 and 2 107.
  • Customer.speedera.net is mapped to a collection of delivery nodes represented by point of presence servers, i.e., POPs 103, 104.
  • POPs 103, 104 point of presence servers
  • the client 111 requests a customer home page: www.customer.com from a local DNS 113.
  • the local DNS 113 queries the traffic management system 105 for name and address resolution and receives a reply 125, 127 indicating the optimal customer origin site to retrieve the homepage 131. In this step, the traffic management system still looks at many if not all factors; network health, server health, packet loss, cost, etc. to determine the optimal customer origin site.
  • the client connects to the site and retrieves the home page (solid blue line) 123, 121.
  • the local DNS queries the traffic management system for name and address resolution.
  • the traffic management system looks 129, 131 at factors such as network performance and server load and returns the address of the POP best suited to serve the requested content.
  • the client then retrieves the content from the specified delivery node 117, 119.
  • This sequence of steps is merely illustrative. The steps can be performed using computer software or hardware or a combination of hardware and software. Any of the above steps can also be separated or be combined, depending upon the embodiment. In some cases, the steps can also be changed in order without limiting the scope of the invention claimed herein.
  • One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. Details of each of the features noted above are more fully described below.
  • the DNS server can be thought of as the traffic director of the system. It contains a mapping of where resources (grouped by hostnames) have been allocated as well as the current state of each resource and their availability to each client. It receives the static information (the mappings) from the configuration file and the dynamic information (resource availability) from the probes. The configuration file also instructs the DNS server how to weight the various criteria available when making its decisions.
  • the DNS is a fully functional DNS server and is compatible with current versions of BIND. Decision criteria cover such areas as resource availability, resource load, latency, static mapping configuration, persistence requirements, fail over logic, weighting parameters, and others, each of which can be alone or combined.
  • DNS servers are deployed to provided high availability.
  • the DNS servers are spread throughout the network to avoid single points of failure.
  • the DNS server was designed from the beginning with the ability to proxy requests. This proxy ability combined with algorithms to divide client latency and persistence information across a group of DNS servers greatly reduces the problems associated with WAN replication and synchronization.
  • the DNS can proxy the request to any number of servers to find an authoritative answer.
  • the DNS server logs both request and operational data to the database for subsequent viewing. Both real-time and historical views are available.
  • the request data allows the administrator and customer to see to the number of requests directed to each POP on a per hostname basis.
  • the operational data provides statistics about the DNS server and would typically only be viewed by the administrator.
  • the present system also uses one or more probes to detect information about certain criteria from the network.
  • probes including a NetProbes, a ServiceProbe and a LatencyProbe.
  • ServiceProbes test local server resources while LatencyProbes conduct network round trip tests to clients.
  • Each POP in the network is assigned a ServiceProbe and a LatencyProbe - these can be separate machines but in most cases, the same machine will perform both types of probe.
  • the NetProbes are responsible for providing the traffic management system with service and latency metrics.
  • the metrics are reported to the DNS server and LogServers.
  • Fig. 2 is a simplified diagram 200 of these probes according to embodiments of the present invention. This diagram is merely an example which should not limit the scope of the claims herein. One of ordinary skill in the art would recognize many variations, alternatives, and modifications.
  • the diagram 200 includes a POP 201, which includes a NetProbes server. Service probes monitor the POP servers to test the availability and load of the services they support. The latency probe tests the round trip time between the POP and the DNS servers.
  • a ServiceProbe determines service metric information for servers in the UDN and reports them to the DNS server.
  • Service metrics are one of the decision criteria used by the DNS to make its routing determinations.
  • Each server in the UDN supports one or more services - a web server provides HTTP service, a FTP server provides FTP service.
  • the service probe uses various approaches for gathering data - a service test and statistical monitoring. The value of a service metric is dependent on the metric type and it's implementation.
  • the HTTP service is an example of the service test approach. Rather then try to test the individual characteristics of a server that may have an impact on performance, the service itself is evaluated as a user would experience it, in order to determine its response time and validity.
  • LOADP a process running on each server, is implemented as a statistical monitor and is used as a generic service for testing purposes. LOADP provides direct measurement of many system parameters including CPU load, memory usage, swap and disk status, and is used in load balancing decisions.
  • Hostnames in the system are mapped to service types. This allows a given server to support multiple services and be evaluated independently for each of them.
  • the service associated with that hostname is compared on each of the machines to find the best-suited server.
  • the data from the probes are sent to both the DNS as well as the database. By sending the data to the database, it allows the performance of the network to be viewed in real time as well as over a period of time.
  • Every server in the UDN is housed in a POP and each POP has a Latency Probe assigned to it, as shown.
  • the Latency Probes determine the latency from their location to other locations on the Internet (specifically to client DNS' requesting name resolution).
  • the DNS' use this information in determining the best-suited server for a particular request.
  • the list of locations that are used in order to determine the latency is driven by the DNS. When it is determined by a DNS server that its current information regarding latency between "x" number of POPs and a client's local DNS has become stale, it will instruct the probe for that particular POP to recalculate the latency.
  • the probes utilize a collection of methods to determine the latency based on cost.
  • the probe uses the least expensive method first and moves on to more expensive methods if no results are determined.
  • the probe is designed so new methods can be plugged in as they are developed.
  • the methods can be either active or passive and are prioritized based on accuracy. Active methods may take the form of ping or traceroute but are typically more sophisticated. Passive methods could reference local BGP tables to determine cost metrics.
  • the individual latency data is sent to the DNS servers while operational data of each method, their success rates, etc are sent to the database. This allows the current and new methods to be monitored and managed.
  • LatencyProbes perform latency tests to the local client DNS (LDNS).
  • the LatencyProbes build a table of LDNS' to test over time, receiving the list of which DNS client IP addresses to probe from the DNS Servers in the network.
  • the delivery nodes are the edge delivery servers of the network.
  • the invention can support any types of IP based delivery servers including but not limited to HTTP, SSL, FTP, Streaming, NNTP, and DNS servers.
  • the invention uses an HTTP server and SSL cache server.
  • the HTTP and SSL servers are identical with the exception of the encryption used on the data to and from the SSL cache in some embodiments. These servers have a proxy component that allows them to fill their cache by making requests to an origin site if a requested object is not in the cache.
  • a method according to the invention can be briefly described as follows in reference to the simplified diagram 300 of Fig. 3:
  • An initial user makes a request to the cache for an object http://customer.speedera.net www.cutomer.com/images/test.gif (Step 1 );
  • the cache discovering that it does not have the object, will find the name of the origin site in the URL (www.customer.com) and make a request to the origin site for /images/test.gif (Step 2); 3.
  • the cache receives the object it is saved on disk and memory and returned to the initial user. Subsequent users who make requests for the same object will be satisfied by the cache directly (Step 3).
  • the system also has a user interface.
  • engineering staff as well as customers can login to monitor and administer the network access from nearly any Internet connected web browser (with proper authentication).
  • the user interface includes tables and graphs from the database. Data arrives at the user interface through the
  • Logging System This system has two parts: Log Distributor daemons and Log Collector daemons. This daemon monitors a defined directory for completed log files. Log files are defined as complete when they reach a defined size or age. A logging API which all resources share controls the definitions of size and age. When the Log Distributor finds completed log files it is able to send them back to one of many Log Collector daemons for insertion in the database.
  • the present network has many advantages.
  • the network has as comprehensive, extensible, multi-faceted global traffic management system as its core, which is coupled to a content delivery network. Further details of the present content delivery network and global traffic management device are provided below.
  • a method for providing service to customers is provided. Details of such service are provided below.
  • Fig. 4 is a simplified flow diagram of a novel service method 400 according to an embodiment of the present invention.
  • the diagram is merely an example, which should not unduly limit the scope of the claims herein.
  • the method connects (step 403) a client to a server location through a world wide network of computers.
  • the world wide network of computers can include an internet, the Internet, and others.
  • the connection occurs via a common protocol such as TCP/IP.
  • the client location is coupled to a server, which is for a specific user.
  • the user can be any web site or the like that distributes content over the network.
  • the user can be a portal such as Yahoo! Inc.
  • the user can be an electronic commerce site such as Amazon.com and others. Further, the user can be a health site. Information sites include the U.S. Patent Office web site, educational sites, financial sites, adult entertainment sites, service sites, business to business commerce sites, etc. There are many other types of users that desire to have content distributed in an efficient manner.
  • the user registers its site on the server, which is coupled to a content distribution server coupled to a global traffic management server.
  • the user registers to select (step 407) a service from the server.
  • the service can be either a traffic management service (step 414) or a traffic management service and content distribution service (step 411).
  • the user can select either one and does not need to purchase the capital equipment required for either service.
  • the user merely registers for the service and pays a service fee.
  • the service fee can be based upon a periodic time frequency or other parameter, such as performance, etc.
  • the method processes (step 423) the user's request and allows the user to use the content distribution network and/or global traffic management network, where the user's web pages are archives and distributed through the content distribution network in the manner indicated herein.
  • the user's web site should become more efficient from the use of such networks.
  • the invoicing step can deduct monetary consideration through an electronic card, e.g., debit card, credit card.
  • an electronic card e.g., debit card, credit card.
  • This sequence of steps is merely illustrative. The steps can be performed using computer software or hardware or a combination of hardware and software. Any of the above steps can also be separated or be combined, depending upon the embodiment. In some cases, the steps can also be changed in order without limiting the scope of the invention claimed herein.
  • One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. It is also understood that the examples and embodiments described herein are for illustrative purposes only and that various modifications or changes in light thereof will be suggested to persons skilled in the art and are to be included within the spirit and purview of this application and scope of the appended claims.
  • Fig. 4A is a simplified diagram of a computing system 430 according to an embodiment of the present invention. This diagram is merely an example which should not unduly limit the scope of the claims herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. Like reference numerals are used in this Fig., as the previous Fig. for cross-referencing purposes only.
  • the computing system 430 carries out certain functionality that is integrated into the method above as well as others.
  • the computing system includes an accounting module 429, which carries out certain accounting functions.
  • the accounting module interfaces with mass memory storage 431, a microprocessing device 433, and a network interface device 435, which couples to local and/or wide area networks.
  • the module oversees an invoicing step 417 and transfer step 427, as shown.
  • the accounting module is a task master for the service based method for using the content delivery network and/or global traffic management network.
  • the method connects (step 403) a client to a server location through a world wide network of computers.
  • the world wide network of computers can include an internet, the Internet, and others.
  • the connection occurs via a common protocol such as TCP/IP.
  • the client location is coupled to a server, which is for a specific user.
  • the user can be any web site or the like that distributes content over the network.
  • the user can be a portal such as Yahoo! Inc.
  • the user can be an electronic commerce site such as Amazon.com and others.
  • the user can be a health site.
  • Information sites include the U.S. Patent Office web site, educational sites, financial sites, adult entertainment sites, service sites, business to business commerce sites, etc. There are many other types of users that desire to have content distributed in an efficient manner.
  • the user registers its site on the server, which is coupled to a content distribution server coupled to a global traffic management server.
  • the user registers to select (step 407) a service from the server.
  • the service can be either a traffic management service (step 414) or a traffic management service and content distribution service (step 411).
  • the user can select either one and does not need to purchase the capital equipment required for either service.
  • the user merely registers for the service and pays a service fee.
  • the service fee can be based upon a periodic time frequency or other parameter, such as performance, etc.
  • the user enters information such as the user's domain name, physical address, contact name, billing and invoicing instructions, and the like.
  • the method processes (step 423) the user's request and allows the user to use the content distribution network and/or global traffic management network, where the user's web pages are archives and distributed through the content distribution network in the manner indicated herein.
  • the user's web site should become more efficient from the use of such networks.
  • the method goes to an invoicing step, step 417.
  • the method accesses the accounting module, which can retrieve registration information about the user, service terms, invoices, accounts receivables, and other information, but is not limited to this information.
  • the accounting module determines the service terms for the user, which has already registered. Once the service terms have been uncovered from memory, the module determines the way the user would like its invoice.
  • the accounting module directs an invoicing step, which sends (step 427) an invoice to the user.
  • the process continues until the periodic time frequency for the designated service lapses via line 422.
  • the invoice can be sent via U.S. mail, electronic mail, or the like.
  • the method stops, step 425.
  • the invoicing step can deduct monetary consideration through an electronic card, e.g., debit card, credit card.
  • an electronic mail message can be sent to the user, which is logged in memory of the accounting module.
  • the invention provides a content distribution network.
  • the following description contains information on how to use a graphical user interface to monitor activity, control cache, and perform checks.
  • the invention also provides a way for customer feedback to improve the service.
  • the present network is substantially always available in preferred embodiments.
  • the network includes a Network Operations Center (NOC), which is dedicated to maintaining the highest possible network availability and performance.
  • NOC Network Operations Center
  • the network is supported and staffed by specially trained service engineers, the 24-hour, 7 day NOC provides consultation, troubleshooting, and solutions for every issue.
  • the staff can be reached through telephone, email, fax, or online. The staff generally connects you to engineers and solutions, not to answering machines.
  • the network service can be used as long as the user has certain desires.
  • the user has content that needs to be delivered to end-users.
  • This content can be delivered through HTTP, HTTPS, Streaming Media, or FTP, and the like.
  • the server is for hosting the content on the Internet.
  • the present network is comprised of clusters of servers at points of presence located on many different backbone networks around the world.
  • the servers provide global traffic management and distribution services for content of many kinds, including support for HTTP, HTTPS, FTP, and multiple varieties of streaming media.
  • the present network includes one or more services.
  • the network may offer services, including:
  • Global Traffic Management Provides global load balancing across multiple origin sites, along with intelligent failover and other advanced capabilities such as persistence and static mapping.
  • CDN Content Delivery Network
  • Streaming - Supports distribution and delivery of streaming media in many formats, such as Real Media, Windows Media, QuickTime and others.
  • the present CDN service has some advantages.
  • the CDN service helps increase the performance of any conventional Web site or other Internet services. It also helps reduce latency problems and packet loss, and it provides for content synchronization and replication.
  • the network also reduces latency problems and packet loss. Latency problems result when the user's request travels beyond a certain distance or makes a number of network hops.
  • the requests are routed through the Internet to the server. If, as is true for many companies, the servers are located at only one site or a small number of sites, they will not be close to most of the users. Therefore, the users' request for content might traverse many networks to communicate with the desired servers.
  • Latency problems are often aggravated by packet loss.
  • Packet loss common on the Internet, tends to worsen at "peering points," locations where different networks connect.
  • One way to reduce packet loss and latency is to install content servers closer to users and ensure that when a user requests data, the request is routed to the closest available server.
  • the present network has deployed web caches, streaming, and FTP servers throughout the Internet, on many networks close to end users.
  • the network uses a Global Traffic Manager that routes traffic to the closest, most available and least loaded server.
  • the network often synchronizes the content on the customer's origin site with the Web cache servers on the network.
  • new content When new content is placed on an origin site and when users make requests for that content, it is automatically replicated to Web cache servers in the network.
  • new content When new content is published on the origin site with a new name, it is generally immediately available from all caches in the present network. For example, the network user might add an object to the site where a similar object exists:
  • the cache in the network determines that it does not have a copy of "picture2.jpg, and the cache will request a copy from the origin site.
  • the caches periodically check the content they have cached against the copy of the content in the origin site. For Web content, this is accomplished by periodically performing an "If-modified-since" request back to the origin site to see if the content has changed. This causes content changed on the origin site to be refreshed on the caches at a predefined interval. This interval can be configured depending upon ones needs.
  • the periodic checking is a common feature of caches but if a piece of content is updated, the old content may be invalidated and the new content published to all the caches in the network.
  • the present CDN service makes this purging possible with a cache control utility that allows you to invalidate a single object, a content directory, or an entire site contained in the caches.
  • cache control is available as part of the service - a service provided to all customers.
  • the present service method provides a comprehensive set of monitoring and administration capabilities for management of the web site.
  • the present service method runs on a secure server on the Internet and can be accessed only through a web browser that supports secure connections (SSL).
  • SSL secure connections
  • a username and password are often assigned to a user or customer when signed up for the service.
  • the customer only need to make minor changes to the web pages in order to direct user requests to the present Web caches instead of to the origin site.
  • the method is as simple as changing the pointers in the HTML.
  • a cache gets a request for content, it will return the requested object if it exists in the cache. If the content does not exist, it will retrieve the content from the origin site and return it to the user, as well as cache the content so that subsequent requests for that object are instantly available.
  • the customer can either: (1) changing the URL; or (2) set up virtual hosting.
  • the site can be modified for redirecting a user requests by changing the URL in the HTML.
  • a request for a picture shows the original html and the revised html.
  • the original homepage contains the following URL: http://www. customer, com/page, html
  • the URL contains the following HTML: ⁇ html> ⁇ body>
  • the cache does not hold the requested object in memory or on disk, it makes a request to the origin site and caches it.
  • the method can set up virtual hosting so that the user's request for content is directed to the present CDN instead of to the origin site.
  • the customer can change the DNS setup to cause the domain name to resolve to the present network cache servers instead of to the original Web server.
  • the domain name may be changed, for example, change the domain name from www.customer.com to wwx.customer.com.
  • the present caches in the network can be configured in a way such that when they get a request for www.customer.com content they have not cached, they can make a request to the wwx.customer.com origin site to get the content.
  • the URLs in the Web pages may not need to be changed.
  • the user could use the present service to invalidate the old content, as follows:
  • the present method allows the user to monitor the operation of the Content Delivery Network service.
  • the present method shows how much content is being delivered and where it is being delivered.
  • the start section of the user interface contains a table that shows the present domains and associated origin domains your account is set up to use, as shown in Fig. 5B.
  • the method includes monitoring recent activity, as shown in Fig. 5C.
  • the user can view the current and last 24 hours of content delivery traffic for a given domain:
  • the first shows the amount of traffic served by the content delivery network for that domain over the last 24 hours.
  • the current traffic is shown on the far right.
  • a dotted vertical line separates data from yesterday on the left and data from today on the right.
  • a second graph on the same page shows the number of hits per second over the last 24 hours. The total number of hits over the last 24-hour period is shown in the title bar of the graph.
  • the method includes monitoring activity by location
  • the user views the last 24 hours of content delivery traffic by location for a given domain:
  • a world map appears (see Fig. 5D) that shows all the locations that served traffic for the domain.
  • a bar graph (see Fig. 5E) that shows the amount of traffic served from each individual location over the last 24 hours for a given domain name. This graph is useful for many purposes, such as for determining the optimal location for a second origin site - typically, at the location serving the most traffic, where there is not currently an origin site and when that location is on a different network than the existing origin site.
  • selected tests can be performed to check performance, as follows:
  • a "page check” test can be performed. This test allows the user to check the performance of a Web page from multiple locations. To use the page check program, do the following:
  • the first table (see Fig. 5F) is the overall performance table. It appears at the top of the results.
  • the page took an average of 500 milliseconds (half a second) to download from the first three locations (rows) and 1317 milliseconds (1.3 seconds) from the last location.
  • a server name, physical location, and network location identify each location.
  • the last location in Fig. 5G is labeled as "server- 4/sterling/exodus.” This label identifies a server on the Exodus network located in Sterling, Virginia, USA.
  • Fig. 5H shows a table containing the details for the location "server- 14, dc, cw, a server located on the Cable & Wireless Network in Washington D.C., USA.
  • the IP address of the actual server is shown in the heading of the table so you can perform additional tests, if needed, (traceroute and so on) on the actual server performing the test.
  • the Location table in Fig. 5H shows data for the www.speedera.com Web site.
  • the graph shows the performance for downloading specific components of the page. This table shows that the majority of the time spent in the download was spent downloading the home page itself.
  • the remainder of the content (all the gifs on the subsequent lines) has been cached and is delivered from the closest and least loaded available server within the CDN, in a fraction of the time.
  • These cached items have a domain name ofwww.speedera.net.
  • the colors in the graph show the different components of the download including the DNS lookup time, connect time, and so on.
  • the first time a page is checked the DNS times will likely be very high. This high reading results from the way DNS works in the Internet. If a domain name is not accessed within a specific amount of time (the timeout period), the information will expire out of the DNS caches. The first request will again need to walk through the Internet's hierarchical system of DNS servers to determine which one is authoritative for a given domain name.
  • a page can be hit twice, where the results from the second hit are used. This will give a more accurate representation of what the performance is like when the page is being hit on a regular basis.
  • the graph is followed by the actual raw data that makes up the graph. Each row displays the following elements:
  • IP Address The IP address of the server contacted to get the data
  • DST Data start time when first packet is downloaded FNT. Final time when download is complete
  • the present invention provides a global traffic manager.
  • the global traffic manager is coupled to the content delivery network.
  • the following provides a description of the global traffic manager. The description is merely an illustration, which should not unduly limit the claims herein. One of ordinary skill would recognize many other variations, alternatives, and modifications. 1. Procedures
  • the domain name can be delegated for which the users are authoritative so that the present servers are contacted to resolve the domain name to an IP address, or addresses.
  • we can create a domain name for you. That name will end with speedera.net, such as customer.speedera.net.
  • Global Traffic Management service Provides better service for clusters of servers on a single network. If each computer has a different IP address, the Global Traffic Management service can be used to load-balance between individual computers.
  • the Global Traffic Management can route around network failures by testing each of the network connections and by routing user requests to the closest working connection.
  • the present network is comprised of clusters of servers at points of presence located on many different backbone networks around the world.
  • the servers provide global traffic management and distribution services for content of many kinds, including support for HTTP, HTTPS, FTP, and multiple varieties of streaming media.
  • the services include: Global Traffic
  • CDN Content Delivery Network
  • Streaming Supports distribution and delivery of streaming media in many formats, such as Real Media, Windows Media, QuickTime and others.
  • the present Global Traffic Management service routes user requests to the closest available and least-loaded server.
  • the service also tests the servers it manages for service performance and availability, using actual application-level sessions. When a service test fails, the system reroutes the traffic to other available servers.
  • the Global Traffic Management service is based on Domain Name Service (DNS).
  • DNS Domain Name Service
  • the Internet uses the DNS to allow users to identify a service with which they want to connect. For example, www.speedera.com identifies the Web service (www) from speedera.com.
  • users request a service on the Internet they request it by its DNS name. DNS names were created to make it easier for users to identify computers and services on the Internet. However, computers on the Internet do not communicate with each other by their DNS names Therefore, when a user enters a domain name, domain name servers on the Internet are contacted to determine the IP addresses associated with that name.
  • the Network includes specialized domain name servers that use advanced mechanisms to determine the IP addresses associated with a given domain name and service. These servers work seamlessly with the Internet DNS system. To determine the best IP address, or addresses, to return when a user requests a service on the Internet, the DNS system does the following:
  • the server location and provide the following information: The domain name of the service you want the system to manage; The IP addresses associated with that service; A description of the service and how it should be tested for performance and availability; The interval after which tests should be performed; What the service check should look for, such as specific information in a returned Web page. Whether the user would like traffic weighted so that more traffic is sent to one IP address over another.
  • the system can also be set up for security purposes.
  • the system can contain hidden IP addresses that are only given out in the case of failure of other IP addresses. The user might want to use this feature to prevent a denial of service attack. If one IP address is attacked and becomes unavailable, another will then appear and traffic will be routed to it. This can make attacking a Web server more difficult since the IP address is not published until the failure occurs.
  • the method allows the user to monitor the operation of the Global Traffic Management service for domain names.
  • the method outputs information on a Web-based, user-interface that runs on a secure server on the Internet that can be accessed only through a web browser that supports secure connections (SSL).
  • SSL secure connections
  • a start section of the user interface contains a table that shows all the domains and associated origin domains your account is set up to use. See Fig. 6A.
  • the main graph in the page shows how traffic was routed over the last 24 hours.
  • a dotted vertical line separates yesterday on the left from today on the right.
  • the lines in the graph show how many times each IP address was given out. See the example in Fig. 6B.
  • the present Global Traffic Management system made 198120 traffic routing decisions over a 24-hour period.
  • the lower decision line in the graph represents an IP address for "Delhi, India.”
  • the upper decision line represents an IP address for "Santa Clara, California; United States.”
  • the Y axis represents the activity levels.
  • the X axis represents the Santa Clara time: N for noon, P for p.m., and A for a.m. At 6:00 a.m. in Santa Clara, one line dropped to the bottom of the graph and the other spiked upward. This happened because the system routed around a failure at a data center.
  • the Global Traffic Management system routed traffic to the "Santa Clara” IP address.
  • the example also shows that the "Delhi" IP address is more active at night
  • a world map and a bar chart appear. They show where the traffic manager routed traffic (geographic and network locations) over the last 24 hours for a given domain name. See the example in Fig. 6C.
  • the bar-chart example shows the number of times each location was chosen to serve traffic over the last 24 hours.
  • the traffic manager chose the "UUNET/sclara" (Santa Clara, California; United States) location to serve most of the traffic.
  • the method includes performing tests.
  • the interface also contains a utility that allows the user to check a Web page from multiple locations. If an HTTP service is used, a quick status check can be executed as follows:
  • the page- performance results are shown in the form of tables and graphs.
  • the first table (see Fig. 6D) is the overall performance table. It appears at the top of the results.
  • the page took an average of 500 milliseconds (half a second) to download from the first three locations (rows) and 1200 milliseconds (1.2 seconds) from the last location.
  • a server name, physical location, and network location identify each location.
  • the last location in Fig. 6D is labeled as "server-
  • Fig. 5 shows a table containing the details for the location "server- 14, dc, cw, a server located on the Cable & Wireless Network in Washington D.C., USA.
  • the IP address of the actual server is shown in the heading of the table so you can perform additional tests, if needed, (traceroute and so on) on the actual server performing the test.
  • the Location table in Fig. 6E shows data for the www.speedera.com Web site.
  • the graph in Fig. 6E shows the performance for downloading specific components of the page. This table shows that the majority of the time spent in the download was spent downloading the home page itself.
  • the colors in the graph show the different components of the download including the DNS lookup time, connect time, and so on.
  • the first time you check a page the DNS times will likely be very high. This high reading results from the way DNS works in the Internet. If a domain name is not accessed within a specific amount of time (the timeout period), the information will expire from the DNS caches. The first request will again need to walk through the Internet's hierarchical system of DNS servers to determine which one is authoritative for a given domain name.
  • the URL component downloaded IP Address.
  • the error code (where 0 is no error) HRC.
  • the HTTP response code (where 200 is OK) LEN.
  • DST Data start time when first packet is downloaded FNT. Final time when download is complete
  • the Global Traffic Management system automatically routes around failures to services on the IP addresses it manages.
  • the system can also be: Adding or removing a domain name from the system; Adding or removing IP addresses from the system; and Changing the way a service is monitored.

Abstract

A user interface and system (100) for providing a shared GTM (105) and CDN (103, 104) (collectively Universal Distribution Network) for a service fee, where the customer does need to purchase significant hardware and/or software features. The present interface device and system (100) allows a customer (107, 109) to scale up its Web site, without a need for expensive hardware and/or software. In a preferred embodiment, the customer merely pays for a service, which can be fixed, variable, lump sum, or based upon a subscription model using the present system. The present device and system are preferably implemented including a novel combination of global traffic management (100) and content distribution.

Description

A USER DEVICE AND SYSTEM FOR TRAFFIC MANAGEMENT AND CONTENT DISTRIBUTION OVER A WORLD WIDE AREA
NETWORK
CROSS-REFERENCES TO RELATED APPLICATIONS
The present application claims priority to U.S. Provisional Application No.60/166,906 filed November 22, 1999 (Attorney Docket No. 22119-04581); U.S. Patent Application No. 09/641,746 filed August 18, 2000 (Attorney Docket No. 20533- 000250US); and U.S. Patent Application No. 09/640,886 filed August 18, 2000(Attorney Docket No. 20533-000260US), commonly owned, and hereby incorporated by reference for all purposes.
BACKGROUND OF THE INVENTION The present invention relates to world wide area networking. More particularly, the invention provides a technique including a user interface device and system for using a global traffic management system coupled to a plurality of content servers for a service fee. But it would be recognized that the invention has a much broader range of applicability. For example, the invention can also be applied to other types of networks, and the like. The Internet is a world wide "super-network" which connects together millions of individual computer networks and computers. The Internet is generally not a single entity. It is an extremely diffuse and complex system over where no single entity has complete authority or control. Although the Internet is widely know for one of its ways of presenting information through the World Wide Web (herein "Web"), there are many other services currently available based upon the general Internet protocols and infrastructure.
The Web is often easy to use for people inexperienced with computers. Information on the Web often is presented on "pages" of graphics and text that contain "links" to other pages either within the same set of data files (i.e., Web site) or within data files located on other computer networks. Users often access information on the Web using a "browser" program such as one made by Netscape Communications Corporation (now America Online, Inc.) of Mountain View, California or Explorer™ from Microsoft Corporation of Redmond, Washington. Browser programs can process information from Web sites and display the information using graphics, text, sound, and animation. Accordingly, the Web has become a popular medium for advertising goods and services directly to consumers.
As time progressed, usage of the Internet has exploded. There are literally millions of users on the Internet. Usage of the Internet is increasing daily and will eventually be in the billions of users. As usage increases so does traffic on the Internet. Traffic generally refers to the transfer of information from a Web site at a server computer to a user at a client computer. The traffic generally travels through the world wide network of computers using a packetized communication protocol, such as TCP/IP. Tiny packets of information travel from the server computer through the network to the client computer. Like automobiles during "rush hour" on Highway 101 in Silicon Nalley, the tiny packets of information traveling through the Internet become congested. Here, traffic jams which cause a delay in the information from the server to the client occur during high usage hours on the Internet. These traffic jams lead to long wait times at the client location. Here, a user of the client computer may wait for a long time for a graphical object to load onto his/her computer.
From the above, it is seen that an improved way to transfer information over a network is highly desirable.
SUMMARY OF THE INVENTION
According to the present invention, a technique including a user interface device and system for global traffic management and content distribution is provided. In an exemplary embodiment, the method is applied to a world wide network of computers, such as the Internet or an internet. In a specific embodiment, the invention provides a service based system for traffic management and content distribution for a plurality of users over a world wide network of computers. The system includes a global traffic management device coupled to a world wide area network. The global traffic management device being provided to load balance across multiple origin sites. The system also has a content delivery network coupled to the global traffic management device. The content delivery network provides support content distribution and delivery of streaming media. The system also has a computing device including a computer memory coupled to the global traffic management device. The system also has an accounting module coupled to the computing device. The accounting module tracks a usage of the global traffic management device and the content delivery network for a customer of the global traffic management device and the content delivery network to determine a service fee for the usage based upon a period time frequency.
Many benefits are achieved by way of the present invention over conventional techniques. For example, the present invention can be implemented using conventional hardware and software in an easy manner in some embodiments. The invention can also be applied to conventional Web hosting sites. In other aspects, the invention provides an easy way for a Web site to using a content distribution network without spending capital costs. Depending upon the embodiment, one or more of these benefits may be achieved. These and other benefits will be described in more throughout the present specification and more particularly below.
Various additional objects, features and advantages of the present invention can be more fully appreciated with reference to the detailed description and accompanying drawings that follow.
BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a simplified diagram of a system according to an embodiment of the present invention; Fig. 2 is a more detailed diagram of probes used in the system according to an embodiment of the present invention;
Fig. 3 is a more detailed diagram of a caching sequence used in the system according to an embodiment of the present invention;
Fig. 4 is a simplified flow diagrams of methods according to embodiments of the present invention;
Fig. 4 A is a simplified system diagram according to an embodiment of the present invention;
Figs. 5 A to 5H are simplified diagrams of content delivery network according to an embodiment of the present invention; and Figs. 6A to 6E are simplified diagrams of global traffic management system according to an embodiment of the present invention DESCRIPTION OF THE SPECIFIC EMBODIMENTS According to the present invention, a technique including a user interface device and system for global traffic management and content distribution is provided. In an exemplary embodiment, the method is applied to a world wide network of computers, such as the Internet or an internet.
In a specific embodiment, the invention provides a user interface device and system for providing a shared GTM and CDN (collectively Universal Distribution Network) for a service fee, where the customer or user does not need to purchase significant hardware and/or software features. The present interface device and system allows a customer to scale up its Web site, without a need for expensive and difficult to use hardware and/or software. In a preferred embodiment, the customer merely pays for a service fee, which can be fixed, variable, lump some, or based upon a subscription model using the present system. The present device and system are preferably implemented on a system including a novel combination of global traffic management and content distribution.
An overall system diagram 100 is illustrated in Fig. 1. The diagram is merely an example, which should not unduly limit the scope of the claims herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. As shown, the system 100 includes a variety of features to defined the Universal Delivery Network (UDN). The UDN has a combined content delivery network 103 and 104 and a global traffic management network 105, which are coupled to each other. This eliminates the need for independent CDN and GTM solutions. The UDN can be implemented as a single outsourced solution or service to a customer. When deployed across the WAN, it creates a unified network that provides a universal solution for content routing and high availability delivery.
Customers can leverage the size, scope, and location of the UDN to store content such as HTML, images, video, sound and software for fast and highly available access by clients. The network can also incorporate customer origin sites 107, 109 that will then benefit from shared load balancing and traffic management. Customers with generated content, such as search engines, auctions and shopping carts, can use the latter feature to add their own content servers to the network. In some embodiments, the system typically requires no software or hardware to be installed or run at a customer site. A web interface is available for display of the network's current status as well as historical statistics on a per customer basis. The system functions by mapping hostnames, such as www . customer. com to a customers origin servers 107 and 109.. The local DNS 113 queries the traffic management system 105 for name resolution of the customers web site and receives a response specifying the server best suited to handle the request, either customer origin servers 107 or servers 103 located in the UDN. When the client 111 requests a customer homepage, tags within the HTML direct the imbedded static content to the network of cache servers 103 and 104. In this example the static content may be tagged with a domain name like customer.speedera.com. Each local DNS in the example is directed to a different resource for each hostname based on several factors, such as proximity to the resource, network congestion, and server load.
In this example, www.customer.com is mapped to the customer origin servers represented by customer origin Sites 1 109 and 2 107. Customer.speedera.net is mapped to a collection of delivery nodes represented by point of presence servers, i.e., POPs 103, 104. As merely an example, a method for using such a UDN is provided below.
1. The client 111 requests a customer home page: www.customer.com from a local DNS 113.
2. The local DNS 113 queries the traffic management system 105 for name and address resolution and receives a reply 125, 127 indicating the optimal customer origin site to retrieve the homepage 131. In this step, the traffic management system still looks at many if not all factors; network health, server health, packet loss, cost, etc. to determine the optimal customer origin site.
3. The client connects to the site and retrieves the home page (solid blue line) 123, 121. 4. An object with the image tag specifying http://customer.speedera.net/www.customer.com/hello.gifis found in the HTML of the homepage.
5. The local DNS queries the traffic management system for name and address resolution. 6. The traffic management system looks 129, 131 at factors such as network performance and server load and returns the address of the POP best suited to serve the requested content.
7. The client then retrieves the content from the specified delivery node 117, 119. This sequence of steps is merely illustrative. The steps can be performed using computer software or hardware or a combination of hardware and software. Any of the above steps can also be separated or be combined, depending upon the embodiment. In some cases, the steps can also be changed in order without limiting the scope of the invention claimed herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. Details of each of the features noted above are more fully described below.
The DNS server (DNS) can be thought of as the traffic director of the system. It contains a mapping of where resources (grouped by hostnames) have been allocated as well as the current state of each resource and their availability to each client. It receives the static information (the mappings) from the configuration file and the dynamic information (resource availability) from the probes. The configuration file also instructs the DNS server how to weight the various criteria available when making its decisions. The DNS is a fully functional DNS server and is compatible with current versions of BIND. Decision criteria cover such areas as resource availability, resource load, latency, static mapping configuration, persistence requirements, fail over logic, weighting parameters, and others, each of which can be alone or combined.
Multiple DNS servers are deployed to provided high availability. The DNS servers are spread throughout the network to avoid single points of failure. The DNS server was designed from the beginning with the ability to proxy requests. This proxy ability combined with algorithms to divide client latency and persistence information across a group of DNS servers greatly reduces the problems associated with WAN replication and synchronization. In the event a request arrives at a DNS server that is not authoritative for this client, the DNS can proxy the request to any number of servers to find an authoritative answer.
The DNS server logs both request and operational data to the database for subsequent viewing. Both real-time and historical views are available. The request data allows the administrator and customer to see to the number of requests directed to each POP on a per hostname basis. The operational data provides statistics about the DNS server and would typically only be viewed by the administrator.
The present system also uses one or more probes to detect information about certain criteria from the network. There are probes including a NetProbes, a ServiceProbe and a LatencyProbe. ServiceProbes test local server resources while LatencyProbes conduct network round trip tests to clients. Each POP in the network is assigned a ServiceProbe and a LatencyProbe - these can be separate machines but in most cases, the same machine will perform both types of probe.
The NetProbes are responsible for providing the traffic management system with service and latency metrics. The metrics are reported to the DNS server and LogServers. Fig. 2 is a simplified diagram 200 of these probes according to embodiments of the present invention. This diagram is merely an example which should not limit the scope of the claims herein. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. The diagram 200 includes a POP 201, which includes a NetProbes server. Service probes monitor the POP servers to test the availability and load of the services they support. The latency probe tests the round trip time between the POP and the DNS servers.
A ServiceProbe determines service metric information for servers in the UDN and reports them to the DNS server. Service metrics are one of the decision criteria used by the DNS to make its routing determinations. Each server in the UDN supports one or more services - a web server provides HTTP service, a FTP server provides FTP service. The service probe uses various approaches for gathering data - a service test and statistical monitoring. The value of a service metric is dependent on the metric type and it's implementation.
The HTTP service is an example of the service test approach. Rather then try to test the individual characteristics of a server that may have an impact on performance, the service itself is evaluated as a user would experience it, in order to determine its response time and validity. LOADP, a process running on each server, is implemented as a statistical monitor and is used as a generic service for testing purposes. LOADP provides direct measurement of many system parameters including CPU load, memory usage, swap and disk status, and is used in load balancing decisions.
Hostnames in the system are mapped to service types. This allows a given server to support multiple services and be evaluated independently for each of them. When a request for a particular hostname arrives at a DNS, the service associated with that hostname is compared on each of the machines to find the best-suited server. The data from the probes are sent to both the DNS as well as the database. By sending the data to the database, it allows the performance of the network to be viewed in real time as well as over a period of time.
Every server in the UDN is housed in a POP and each POP has a Latency Probe assigned to it, as shown. The Latency Probes determine the latency from their location to other locations on the Internet (specifically to client DNS' requesting name resolution). The DNS' use this information in determining the best-suited server for a particular request. The list of locations that are used in order to determine the latency is driven by the DNS. When it is determined by a DNS server that its current information regarding latency between "x" number of POPs and a client's local DNS has become stale, it will instruct the probe for that particular POP to recalculate the latency.
The probes utilize a collection of methods to determine the latency based on cost. The probe uses the least expensive method first and moves on to more expensive methods if no results are determined. The probe is designed so new methods can be plugged in as they are developed. The methods can be either active or passive and are prioritized based on accuracy. Active methods may take the form of ping or traceroute but are typically more sophisticated. Passive methods could reference local BGP tables to determine cost metrics.
The individual latency data is sent to the DNS servers while operational data of each method, their success rates, etc are sent to the database. This allows the current and new methods to be monitored and managed. LatencyProbes perform latency tests to the local client DNS (LDNS). The LatencyProbes build a table of LDNS' to test over time, receiving the list of which DNS client IP addresses to probe from the DNS Servers in the network. In a specific embodiment, the delivery nodes are the edge delivery servers of the network. The invention can support any types of IP based delivery servers including but not limited to HTTP, SSL, FTP, Streaming, NNTP, and DNS servers. In preferred embodiments, the invention uses an HTTP server and SSL cache server. The HTTP and SSL servers are identical with the exception of the encryption used on the data to and from the SSL cache in some embodiments. These servers have a proxy component that allows them to fill their cache by making requests to an origin site if a requested object is not in the cache. A method according to the invention can be briefly described as follows in reference to the simplified diagram 300 of Fig. 3:
1. An initial user makes a request to the cache for an object http://customer.speedera.net www.cutomer.com/images/test.gif (Step 1 );
2. The cache, discovering that it does not have the object, will find the name of the origin site in the URL (www.customer.com) and make a request to the origin site for /images/test.gif (Step 2); 3. When the cache receives the object it is saved on disk and memory and returned to the initial user. Subsequent users who make requests for the same object will be satisfied by the cache directly (Step 3).
This sequence of steps is merely illustrative. The steps can be performed using computer software or hardware or a combination of hardware and software. Any of the above steps can also be separated or be combined, depending upon the embodiment. In some cases, the steps can also be changed in order without limiting the scope of the invention claimed herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. Other protocols will work in a similar fashion unless there is a time concern with loading the first request. An example of this is a live streaming event or large file downloads (patches or video on demand). In these cases the caches may be pre- filled with the data that they need to serve. This pre-filling may take place over terrestrial lines or via satellite in some cases. Statistics about data delivered from the delivery nodes are reported through the logging system to the database for subsequent viewing and analysis.
The system also has a user interface. Here, engineering staff as well as customers can login to monitor and administer the network access from nearly any Internet connected web browser (with proper authentication). The user interface includes tables and graphs from the database. Data arrives at the user interface through the
Logging System. This system has two parts: Log Distributor daemons and Log Collector daemons. This daemon monitors a defined directory for completed log files. Log files are defined as complete when they reach a defined size or age. A logging API which all resources share controls the definitions of size and age. When the Log Distributor finds completed log files it is able to send them back to one of many Log Collector daemons for insertion in the database.
As noted, the present network has many advantages. The network has as comprehensive, extensible, multi-faceted global traffic management system as its core, which is coupled to a content delivery network. Further details of the present content delivery network and global traffic management device are provided below. According to the present invention, a method for providing service to customers is provided. Details of such service are provided below.
Fig. 4 is a simplified flow diagram of a novel service method 400 according to an embodiment of the present invention. The diagram is merely an example, which should not unduly limit the scope of the claims herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. As shown, the method begins at start, step 401. The method connects (step 403) a client to a server location through a world wide network of computers. The world wide network of computers can include an internet, the Internet, and others. The connection occurs via a common protocol such as TCP/IP. The client location is coupled to a server, which is for a specific user. The user can be any web site or the like that distributes content over the network. As merely an example, the user can be a portal such as Yahoo! Inc. Alternatively, the user can be an electronic commerce site such as Amazon.com and others. Further, the user can be a health site. Information sites include the U.S. Patent Office web site, educational sites, financial sites, adult entertainment sites, service sites, business to business commerce sites, etc. There are many other types of users that desire to have content distributed in an efficient manner.
In a specific embodiment, the user registers its site on the server, which is coupled to a content distribution server coupled to a global traffic management server.
The user registers to select (step 407) a service from the server. The service can be either a traffic management service (step 414) or a traffic management service and content distribution service (step 411). Depending upon the embodiment, the user can select either one and does not need to purchase the capital equipment required for either service. Here, the user merely registers for the service and pays a service fee. The service fee can be based upon a periodic time frequency or other parameter, such as performance, etc. Once the service has been requested, the user performs some of the steps noted herein to use the service.
Next, the method processes (step 423) the user's request and allows the user to use the content distribution network and/or global traffic management network, where the user's web pages are archives and distributed through the content distribution network in the manner indicated herein. The user's web site should become more efficient from the use of such networks. Once a periodic time frequency or other frequency has lapsed (step 419), the method goes to an invoicing step, step 417. The invoicing step sends (step 427) an invoice to the user. Alternatively, the process continues until the periodic time frequency for the designated service lapses via line 422. The invoice can be sent via U.S. mail, electronic mail, or the like. The method stops, step 425. Alternatively, the invoicing step can deduct monetary consideration through an electronic card, e.g., debit card, credit card. This sequence of steps is merely illustrative. The steps can be performed using computer software or hardware or a combination of hardware and software. Any of the above steps can also be separated or be combined, depending upon the embodiment. In some cases, the steps can also be changed in order without limiting the scope of the invention claimed herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. It is also understood that the examples and embodiments described herein are for illustrative purposes only and that various modifications or changes in light thereof will be suggested to persons skilled in the art and are to be included within the spirit and purview of this application and scope of the appended claims.
Fig. 4A is a simplified diagram of a computing system 430 according to an embodiment of the present invention. This diagram is merely an example which should not unduly limit the scope of the claims herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. Like reference numerals are used in this Fig., as the previous Fig. for cross-referencing purposes only. As shown, the computing system 430 carries out certain functionality that is integrated into the method above as well as others. The computing system includes an accounting module 429, which carries out certain accounting functions. The accounting module interfaces with mass memory storage 431, a microprocessing device 433, and a network interface device 435, which couples to local and/or wide area networks. The module oversees an invoicing step 417 and transfer step 427, as shown. Here, the accounting module is a task master for the service based method for using the content delivery network and/or global traffic management network.
Before discussing the accounting module in detail, we begin an overall method at start, step 401. The method connects (step 403) a client to a server location through a world wide network of computers. The world wide network of computers can include an internet, the Internet, and others. The connection occurs via a common protocol such as TCP/IP. The client location is coupled to a server, which is for a specific user. The user can be any web site or the like that distributes content over the network. As merely an example, the user can be a portal such as Yahoo! Inc. Alternatively, the user can be an electronic commerce site such as Amazon.com and others. Further, the user can be a health site. Information sites include the U.S. Patent Office web site, educational sites, financial sites, adult entertainment sites, service sites, business to business commerce sites, etc. There are many other types of users that desire to have content distributed in an efficient manner.
In a specific embodiment, the user registers its site on the server, which is coupled to a content distribution server coupled to a global traffic management server. The user registers to select (step 407) a service from the server. The service can be either a traffic management service (step 414) or a traffic management service and content distribution service (step 411). Depending upon the embodiment, the user can select either one and does not need to purchase the capital equipment required for either service. Here, the user merely registers for the service and pays a service fee. The service fee can be based upon a periodic time frequency or other parameter, such as performance, etc. Additionally, the user enters information such as the user's domain name, physical address, contact name, billing and invoicing instructions, and the like. Once the service has been requested, the user performs some of the steps noted herein to use the service. Next, the method processes (step 423) the user's request and allows the user to use the content distribution network and/or global traffic management network, where the user's web pages are archives and distributed through the content distribution network in the manner indicated herein. The user's web site should become more efficient from the use of such networks. Once a periodic time frequency or other frequency has lapsed (step 419), the method goes to an invoicing step, step 417. Here, the method accesses the accounting module, which can retrieve registration information about the user, service terms, invoices, accounts receivables, and other information, but is not limited to this information. The accounting module determines the service terms for the user, which has already registered. Once the service terms have been uncovered from memory, the module determines the way the user would like its invoice. The accounting module directs an invoicing step, which sends (step 427) an invoice to the user.
Alternatively, the process continues until the periodic time frequency for the designated service lapses via line 422. The invoice can be sent via U.S. mail, electronic mail, or the like. The method stops, step 425. Alternatively, the invoicing step can deduct monetary consideration through an electronic card, e.g., debit card, credit card. To finalize the transaction, an electronic mail message can be sent to the user, which is logged in memory of the accounting module.
This sequence of steps is merely illustrative. The steps can be performed using computer software or hardware or a combination of hardware and software. Any of the above steps can also be separated or be combined, depending upon the embodiment. In some cases, the steps can also be changed in order without limiting the scope of the invention claimed herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. It is also understood that the examples and embodiments described herein are for illustrative purposes only and that various modifications or changes in light thereof will be suggested to persons skilled in the art and are to be included within the spirit and purview of this application and scope of the appended claims.
Example: To prove the principle and operation of the present invention, we have provided examples of a user's experience using the present invention. These examples are merely for illustration and should not unduly limit the scope of the claims herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. For easy reading, we have provided a description for a user's experience of a content delivery network and a user's experience of a global traffic management service, which is coupled to such content delivery network.
Content Delivery Network 1. Overview In a specific embodiment, the invention provides a content distribution network. The following description contains information on how to use a graphical user interface to monitor activity, control cache, and perform checks. In some embodiments, the invention also provides a way for customer feedback to improve the service. The present network is substantially always available in preferred embodiments. The network includes a Network Operations Center (NOC), which is dedicated to maintaining the highest possible network availability and performance. In most cases, the network is supported and staffed by specially trained service engineers, the 24-hour, 7 day NOC provides consultation, troubleshooting, and solutions for every issue. The staff can be reached through telephone, email, fax, or online. The staff generally connects you to engineers and solutions, not to answering machines.
In a specific embodiment, the network service can be used as long as the user has certain desires. For example, the user has content that needs to be delivered to end-users. This content can be delivered through HTTP, HTTPS, Streaming Media, or FTP, and the like. The server is for hosting the content on the Internet. For standard web content, we implemented a caching system to distribute web content from an origin server to a cache server that is close to a user. This means an origin server needs to exist that contains a master copy of the content. If the user has an existing Web site, the existing Web site will be the origin site. In one embodiment, the present network is comprised of clusters of servers at points of presence located on many different backbone networks around the world. The servers provide global traffic management and distribution services for content of many kinds, including support for HTTP, HTTPS, FTP, and multiple varieties of streaming media. In a specific embodiment, the present network includes one or more services. Here, the network may offer services, including:
1. Global Traffic Management - Provides global load balancing across multiple origin sites, along with intelligent failover and other advanced capabilities such as persistence and static mapping. 2. Content Delivery Network (CDN) - Supports content distribution and delivery for HTTP, HTTPS and FTP.
3. Streaming - Supports distribution and delivery of streaming media in many formats, such as Real Media, Windows Media, QuickTime and others.
The present CDN service has some advantages. For example, the CDN service helps increase the performance of any conventional Web site or other Internet services. It also helps reduce latency problems and packet loss, and it provides for content synchronization and replication. The network also reduces latency problems and packet loss. Latency problems result when the user's request travels beyond a certain distance or makes a number of network hops. When users request content from the web or FTP sites, the requests are routed through the Internet to the server. If, as is true for many companies, the servers are located at only one site or a small number of sites, they will not be close to most of the users. Therefore, the users' request for content might traverse many networks to communicate with the desired servers.
Latency problems are often aggravated by packet loss. Packet loss, common on the Internet, tends to worsen at "peering points," locations where different networks connect. One way to reduce packet loss and latency is to install content servers closer to users and ensure that when a user requests data, the request is routed to the closest available server. The present network has deployed web caches, streaming, and FTP servers throughout the Internet, on many networks close to end users. In addition, the network uses a Global Traffic Manager that routes traffic to the closest, most available and least loaded server.
The network often synchronizes the content on the customer's origin site with the Web cache servers on the network. When new content is placed on an origin site and when users make requests for that content, it is automatically replicated to Web cache servers in the network. When new content is published on the origin site with a new name, it is generally immediately available from all caches in the present network. For example, the network user might add an object to the site where a similar object exists:
Add "www.customer.com/images/picture2.jpg" to the same site as
"www.customer.com images/picture.jpg."
When a request for "picture2.jpg" arrives at a cache the first time, the cache in the network determines that it does not have a copy of "picture2.jpg, and the cache will request a copy from the origin site. To keep in synchronization with the origin site, the caches periodically check the content they have cached against the copy of the content in the origin site. For Web content, this is accomplished by periodically performing an "If-modified-since" request back to the origin site to see if the content has changed. This causes content changed on the origin site to be refreshed on the caches at a predefined interval. This interval can be configured depending upon ones needs.
The periodic checking is a common feature of caches but if a piece of content is updated, the old content may be invalidated and the new content published to all the caches in the network. The present CDN service makes this purging possible with a cache control utility that allows you to invalidate a single object, a content directory, or an entire site contained in the caches. In a specific embodiment, cache control is available as part of the service - a service provided to all customers. The present service method provides a comprehensive set of monitoring and administration capabilities for management of the web site.
In a specific embodiment, the present service method runs on a secure server on the Internet and can be accessed only through a web browser that supports secure connections (SSL). A username and password are often assigned to a user or customer when signed up for the service.
One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. The above example is merely an illustration, which should not unduly limit the scope of the claims herein. It is also understood that the examples and embodiments described herein are for illustrative purposes only and that various modifications or changes in light thereof will be suggested to persons skilled in the art and are to be included within the spirit and purview of this application and scope of the appended claims.
2. Procedures
We now describe the procedures that can perform to set up the present CDN service and to monitor the performance of the Web site:
A. Implementing the CDN;
B. Invalidating content by controlling cache;
C. Monitoring activity; and
D. Performing tests.
Details of each of these procedures are provided below.
A. Implementing the CDN
To implement the CDN, the customer only need to make minor changes to the web pages in order to direct user requests to the present Web caches instead of to the origin site. In a specific embodiment, the method is as simple as changing the pointers in the HTML. When a cache gets a request for content, it will return the requested object if it exists in the cache. If the content does not exist, it will retrieve the content from the origin site and return it to the user, as well as cache the content so that subsequent requests for that object are instantly available.
To modify the site, the customer can either: (1) changing the URL; or (2) set up virtual hosting. In a specific embodiment, the site can be modified for redirecting a user requests by changing the URL in the HTML. The following example, a request for a picture, shows the original html and the revised html.
Original homepage
The original homepage contains the following URL: http://www. customer, com/page, html The URL contains the following HTML: <html><body>
Here is a picture:
<img src= "images/picture. jpg ">
</body></html>
Revised homepage
The "img src" tag has been revised: <html><body>
Here is a picture: <img src = "http: //customer, speeder a. net/www. customer, com/images/picture. jpg "> </body></html>
With the original configuration, a user's browser requests the picture from the customer.com Web servers: page.html from www.customer.com images/picture.jpg from www.customer.com
With the revised configuration, a user's browser requests the picture from the customer.speedera.net Web servers:
page.html from www.customer.com www.customer.com images/picture.jpg from customer.speedera.net
Note: If the cache does not hold the requested object in memory or on disk, it makes a request to the origin site and caches it.
In an alternative embodiment, the method can set up virtual hosting so that the user's request for content is directed to the present CDN instead of to the origin site. Here, the customer can change the DNS setup to cause the domain name to resolve to the present network cache servers instead of to the original Web server. The domain name may be changed, for example, change the domain name from www.customer.com to wwx.customer.com. The present caches in the network can be configured in a way such that when they get a request for www.customer.com content they have not cached, they can make a request to the wwx.customer.com origin site to get the content. Here, the URLs in the Web pages may not need to be changed.
B. Invalidating Content by Controlling Cache
To invalidate the content contained in the caches, do the following:
1. Access the user interface at: https://speedeye. speeder a. com
2. Find the Cache Control page (see Fig. 5A) in the Content Delivery section of the interface. 3. Enter the URL in the text field.
4. Click Submit. For example, if an image: www. customer, com/images/picture.jpg
and the user changed the image without changing the name and the user wanted the change to be immediately reflected in all caches in the network, the user could use the present service to invalidate the old content, as follows:
Enter "http://www.customer.com/images/picture.jpg" to invalidate the individual picture, or "http://www.customer.com/images/" to invalidate all content in the images directory, or "http://www.customer.com" to invalidate all content in the domain. Note: Invalidating any of the above causes the change to "picture.jpg" to immediately be reflected in all the caches.
C. Monitoring Activity In a specific embodiment, the present method allows the user to monitor the operation of the Content Delivery Network service. The present method shows how much content is being delivered and where it is being delivered. The start section of the user interface contains a table that shows the present domains and associated origin domains your account is set up to use, as shown in Fig. 5B. In a specific embodiment, the method includes monitoring recent activity, as shown in Fig. 5C. Here, the user can view the current and last 24 hours of content delivery traffic for a given domain:
1) Access the user interface at: https://speedeye.speedera.com
2) Find the Recent Activity page in the Content Delivery section of the interface.
As shown, the has more than one graphs. The first shows the amount of traffic served by the content delivery network for that domain over the last 24 hours. The current traffic is shown on the far right. A dotted vertical line separates data from yesterday on the left and data from today on the right. A second graph on the same page (see Fig. 4) shows the number of hits per second over the last 24 hours. The total number of hits over the last 24-hour period is shown in the title bar of the graph.
In an alternative embodiment, the method includes monitoring activity by location Here, the user views the last 24 hours of content delivery traffic by location for a given domain:
1. Access the user interface at: https://speedeye.speedera.com
2. Find the By Location page in the Content Delivery section of the user interface.
A world map appears (see Fig. 5D) that shows all the locations that served traffic for the domain.
Below the world map is a bar graph (see Fig. 5E) that shows the amount of traffic served from each individual location over the last 24 hours for a given domain name. This graph is useful for many purposes, such as for determining the optimal location for a second origin site - typically, at the location serving the most traffic, where there is not currently an origin site and when that location is on a different network than the existing origin site.
D. Performing Tests
According to the present invention, selected tests can be performed to check performance, as follows:
1) Access the user interface at: https://speedeye.spedera.com 2) Locate the Tests section.
3) Select the test you want to perform.
A "page check" test can be performed. This test allows the user to check the performance of a Web page from multiple locations. To use the page check program, do the following:
1) In the text field, enter the URL to test.
2) Select the locations from which the user wants to check the page. 3) Click Check.
At that point, servers at the location(s) selected will be contacted to hit the Web page associated with the URL entered and time how long it takes to download the page and all its components. When the servers have completed downloading the page, the results are shown in the form of tables and graphs. The first table (see Fig. 5F) is the overall performance table. It appears at the top of the results.
In this example, the page took an average of 500 milliseconds (half a second) to download from the first three locations (rows) and 1317 milliseconds (1.3 seconds) from the last location. A server name, physical location, and network location identify each location. For example, the last location in Fig. 5G is labeled as "server- 4/sterling/exodus." This label identifies a server on the Exodus network located in Sterling, Virginia, USA.
After the overall timetable, details for each location are presented in individual tables. Fig. 5H shows a table containing the details for the location "server- 14, dc, cw, a server located on the Cable & Wireless Network in Washington D.C., USA. The IP address of the actual server is shown in the heading of the table so you can perform additional tests, if needed, (traceroute and so on) on the actual server performing the test. The Location table in Fig. 5H shows data for the www.speedera.com Web site. The graph shows the performance for downloading specific components of the page. This table shows that the majority of the time spent in the download was spent downloading the home page itself. The remainder of the content (all the gifs on the subsequent lines) has been cached and is delivered from the closest and least loaded available server within the CDN, in a fraction of the time. These cached items have a domain name ofwww.speedera.net. In a specific embodiment, the colors in the graph show the different components of the download including the DNS lookup time, connect time, and so on. The first time a page is checked, the DNS times will likely be very high. This high reading results from the way DNS works in the Internet. If a domain name is not accessed within a specific amount of time (the timeout period), the information will expire out of the DNS caches. The first request will again need to walk through the Internet's hierarchical system of DNS servers to determine which one is authoritative for a given domain name.
To get even more accurate results, a page can be hit twice, where the results from the second hit are used. This will give a more accurate representation of what the performance is like when the page is being hit on a regular basis. The graph is followed by the actual raw data that makes up the graph. Each row displays the following elements:
URL. The URL component downloaded
IP Address. The IP address of the server contacted to get the data
ERR. The error code (where 0 is no error)
HRC. The HTTP response code (where 200 is OK)
LEN. The length of the data downloaded CHK. A checksum of the data
STT. The timing in milliseconds for the start time
DRT. DNS response time in milliseconds
COT. Connection Time - Syn/SynAck/Ack Time
DST. Data start time when first packet is downloaded FNT. Final time when download is complete
END. The total millisecond timings for portions of the connection
Global Traffic Manager
The present invention provides a global traffic manager. The global traffic manager is coupled to the content delivery network. The following provides a description of the global traffic manager. The description is merely an illustration, which should not unduly limit the claims herein. One of ordinary skill would recognize many other variations, alternatives, and modifications. 1. Procedures
To use the Global Traffic Management service, the following will be used:
A. Domain name representing a service.
The domain name can be delegated for which the users are authoritative so that the present servers are contacted to resolve the domain name to an IP address, or addresses. Alternatively, we can create a domain name for you. That name will end with speedera.net, such as customer.speedera.net.
B. More that one IP address associated with that service. Obtaining more that one IP address for a given service provides the following benefits from the Global Traffic Management service:
Provides better service for clusters of servers on multiple networks. If a location within a cluster fails, or the network associated with that location fails, the system can route traffic to another available network because there is more than one IP address. The system also provides better performance by sending user requests to the closest cluster of servers. These routing options are not available if a local load balancer is used to manage the cluster, since a local load balancer requires that each cluster of servers use a single IP address.
Provides better service for clusters of servers on a single network. If each computer has a different IP address, the Global Traffic Management service can be used to load-balance between individual computers.
Reduces latency for a single cluster of servers that is attached to multiple network feeds. In this configuration, the Global Traffic Management can route around network failures by testing each of the network connections and by routing user requests to the closest working connection.
In a specific embodiment, the present network is comprised of clusters of servers at points of presence located on many different backbone networks around the world. The servers provide global traffic management and distribution services for content of many kinds, including support for HTTP, HTTPS, FTP, and multiple varieties of streaming media. As previously noted, the services include: Global Traffic
Management - Provides global load balancing across multiple origin sites, along with intelligent failover and other advanced capabilities such as persistence and static mapping; Content Delivery Network (CDN) - Supports content distribution and delivery for HTTP, HTTPS and FTP; and Streaming - Supports distribution and delivery of streaming media in many formats, such as Real Media, Windows Media, QuickTime and others.
The present Global Traffic Management service routes user requests to the closest available and least-loaded server. The service also tests the servers it manages for service performance and availability, using actual application-level sessions. When a service test fails, the system reroutes the traffic to other available servers. The Global Traffic Management service is based on Domain Name Service (DNS). The Internet uses the DNS to allow users to identify a service with which they want to connect. For example, www.speedera.com identifies the Web service (www) from speedera.com. When users request a service on the Internet, they request it by its DNS name. DNS names were created to make it easier for users to identify computers and services on the Internet. However, computers on the Internet do not communicate with each other by their DNS names Therefore, when a user enters a domain name, domain name servers on the Internet are contacted to determine the IP addresses associated with that name.
The Network includes specialized domain name servers that use advanced mechanisms to determine the IP addresses associated with a given domain name and service. These servers work seamlessly with the Internet DNS system. To determine the best IP address, or addresses, to return when a user requests a service on the Internet, the DNS system does the following:
1. Uses IP addresses to monitor the performance of a service on individual computers or clusters of computers
2. Determines latency and load metrics between users and servers on the Internet 3. Performs tests on the Internet to determine the quality of service a user would receive when connecting to a specific computer or cluster of computers
Procedures
This section describes the procedures you can perform to implement and then monitor the performance of the Global Traffic Management service. To implement the Global Traffic Management service, the customer or user does the following:
1. Sign up for the service.
2. Contact the server location and provide the following information: The domain name of the service you want the system to manage; The IP addresses associated with that service; A description of the service and how it should be tested for performance and availability; The interval after which tests should be performed; What the service check should look for, such as specific information in a returned Web page. Whether the user would like traffic weighted so that more traffic is sent to one IP address over another. In addition to the normal routing around failures to the closest server, the system can also be set up for security purposes. The system can contain hidden IP addresses that are only given out in the case of failure of other IP addresses. The user might want to use this feature to prevent a denial of service attack. If one IP address is attacked and becomes unavailable, another will then appear and traffic will be routed to it. This can make attacking a Web server more difficult since the IP address is not published until the failure occurs.
In a specific embodiment, the method allows the user to monitor the operation of the Global Traffic Management service for domain names. Preferably, the method outputs information on a Web-based, user-interface that runs on a secure server on the Internet that can be accessed only through a web browser that supports secure connections (SSL). Here, a start section of the user interface contains a table that shows all the domains and associated origin domains your account is set up to use. See Fig. 6A. In an alternative embodiment, we can also view the last 24 hours of traffic management activity for a given domain: 1) Access the user interface at: https://speedeye.speedera.com
2) Find the Recent Activity page in the Traffic Management section of the interface.
The main graph in the page shows how traffic was routed over the last 24 hours. A dotted vertical line separates yesterday on the left from today on the right. The lines in the graph show how many times each IP address was given out. See the example in Fig. 6B.
In the example, the present Global Traffic Management system made 198120 traffic routing decisions over a 24-hour period. The lower decision line in the graph represents an IP address for "Delhi, India." The upper decision line represents an IP address for "Santa Clara, California; United States." The Y axis represents the activity levels. The X axis represents the Santa Clara time: N for noon, P for p.m., and A for a.m. At 6:00 a.m. in Santa Clara, one line dropped to the bottom of the graph and the other spiked upward. This happened because the system routed around a failure at a data center. When the "Delhi" IP address failed its service test, the Global Traffic Management system routed traffic to the "Santa Clara" IP address. The example also shows that the "Delhi" IP address is more active at night
(Santa Clara time), and the "Santa Clara" IP address is more active in the daytime. The difference in activity results from the changes in time zones. When people in India are active, the traffic manager routes their requests to the closest available server with the best service response time. For users in India, when it is their daylight and their peak time, the best IP address is often the site in Delhi. For users in the U.S., when it is their peak time, the best IP address is the site in Santa Clara.
In still an alternative embodiment, we can view the last 24 hours of traffic management activity by location for a given domain:
1. Access the user interface at: https://speedeye.speedera.com
2. Find the By Location page in the Content Delivery section of the user interface.
Here, a world map and a bar chart appear. They show where the traffic manager routed traffic (geographic and network locations) over the last 24 hours for a given domain name. See the example in Fig. 6C. The bar-chart example shows the number of times each location was chosen to serve traffic over the last 24 hours. In the example, the traffic manager chose the "UUNET/sclara" (Santa Clara, California; United States) location to serve most of the traffic.
In other aspects, the method includes performing tests. Here, the interface also contains a utility that allows the user to check a Web page from multiple locations. If an HTTP service is used, a quick status check can be executed as follows:
1) Access the user interface at: https://speedeye.spedera.com
2) In the text entry field, enter the URL for the page you want to check. 3) Select the locations from which you want to check the page.
4) Press the Check button. This causes servers at the location, or locations, selected to download the Web page associated with the URL you entered in Step 2.
When the servers have completed downloading the page, the page- performance results are shown in the form of tables and graphs. The first table (see Fig. 6D) is the overall performance table. It appears at the top of the results. In this example, the page took an average of 500 milliseconds (half a second) to download from the first three locations (rows) and 1200 milliseconds (1.2 seconds) from the last location.
A server name, physical location, and network location identify each location. For example, the last location in Fig. 6D is labeled as "server-
4/sterling/exodus." This label identifies a server on the Exodus network located in Sterling, Virginia, USA.
After the overall timetable, details for each location are presented in individual tables. Fig. 5 shows a table containing the details for the location "server- 14, dc, cw, a server located on the Cable & Wireless Network in Washington D.C., USA. The IP address of the actual server is shown in the heading of the table so you can perform additional tests, if needed, (traceroute and so on) on the actual server performing the test. The Location table in Fig. 6E shows data for the www.speedera.com Web site. The graph in Fig. 6E shows the performance for downloading specific components of the page. This table shows that the majority of the time spent in the download was spent downloading the home page itself.
The colors in the graph show the different components of the download including the DNS lookup time, connect time, and so on. The first time you check a page, the DNS times will likely be very high. This high reading results from the way DNS works in the Internet. If a domain name is not accessed within a specific amount of time (the timeout period), the information will expire from the DNS caches. The first request will again need to walk through the Internet's hierarchical system of DNS servers to determine which one is authoritative for a given domain name.
To get more accurate results, a page can be hit twice and the results from the second hit can be used. This will give you a more accurate representation of what the performance is like when the page is being hit on a regular basis. In the Location Table, the graph is followed by the actual raw data that makes up the graph. Each row displays the following elements:
URL. The URL component downloaded IP Address. The IP address of the server contacted to get the data
ERR. The error code (where 0 is no error) HRC. The HTTP response code (where 200 is OK) LEN. The length of the data downloaded CHK. A checksum of the data STT. The timing in milliseconds for the start time
DRT. DNS response time in milliseconds
COT. Connection Time - Syn/SynAck/Ack Time
DST. Data start time when first packet is downloaded FNT. Final time when download is complete
END. The total millisecond timings for portions of the connection
In a specific embodiment, the Global Traffic Management system automatically routes around failures to services on the IP addresses it manages. Here, the system can also be: Adding or removing a domain name from the system; Adding or removing IP addresses from the system; and Changing the way a service is monitored.
It is also understood that the examples and embodiments described herein are for illustrative purposes only and that various modifications or changes in light thereof will be suggested to persons skilled in the art and are to be included within the spirit and purview of this application and scope of the appended claims. All publications, patents, and patent applications cited herein are hereby incorporated by reference for all purposes in their entirety.

Claims

WHAT IS CLAIMED IS:
1. A service based system for traffic management and content distribution for a plurality of users over a world wide network of computers, the system comprising: a global traffic management device coupled to a world wide area network, the global traffic management device being provided to load balance traffic for a customer across multiple origin sites; a content delivery network coupled to the global traffic management device, the content delivery network being provided to support content distribution and delivery of streaming media for the customer; a computing device including a computer memory coupled to the global traffic management device; and an accounting module coupled to the computing device, the accounting module being provided to track a usage of the global traffic management device and the content delivery network for the customer of the global traffic management device and the content delivery network to determine a service fee for the usage based upon a period time frequency.
2. The system of claim 1 wherein the periodic time frequency is selected from an hour, a week, a month, a quarter, or a year.
3. The system of claim 1 wherein the content distribution network comprises a plurality of content servers, each of the content servers being spatially disposed in a geographical manner.
4. The system of claim 1 wherein the content distribution and delivery is for at least HTTP, HTTPS and FTP.
5. The system of claim 1 wherein the streaming media is selected from Real Media, Windows Media, and QuickTime.
6. The system of claim 1 wherein the global traffic management system comprises a plurality of management agents being distributed throughout the content distribution network.
7. The system of claim 1 wherein the customer of the content distribution network is an Internet commerce company.
8. The system of claim 1 wherein the usage the content distribution network reduces a latency of web pages of the customer to a user.
9. The system of claim 1 wherein the global traffic management device reduces a latency of web pages of the customer.
10. The system of claim 1 wherein the service fee is a one time fee.
11. A service method for traffic management and content distribution for a plurality of users over a world wide network of computers, the method comprising: using a content distribution network coupled to a global traffic management system, the content distribution network comprising a plurality of content servers, the global traffic management system being coupled to a world wide computer network; and applying a service fee to at least one of the users of the content distribution network based upon a periodic time frequency of use of the content distribution network, the service fee being a monetary consideration.
12. The method of claim 11 wherein the periodic time period is selected from an hour, a week, a month, a quarter, or a year.
13. The method of claim 1 1 wherein the content distribution network comprises a plurality of content servers, each of the content servers being spatially disposed in a geographical manner.
14. The method of claim 11 further comprising transferring the service fee from a fee server coupled to the global traffic management system to a client device coupled to the world wide network of computers, the client device being at a location of the user.
15. The method of claim 11 wherein the using including transferring one or more web objects from a user server at a user location to at least one of a plurality of content servers in the content distribution network, the one content server being of a closest geographic proximity relative to the other content servers to a client device retrieving the one or more web objects from user server.
16. The method of claim 11 wherein the global traffic management system comprises a plurality of management agents being distributed throughout the content distribution network.
17. The method of claim 11 wherein the one user of the content distribution network is an Internet commerce company.
18. The method of claim 11 wherein the step of using the content distribution reduces a latency of web pages transmitted from a main server of the user to one of the user's customers.
19. The method of claim 11 wherein the global traffic manager reduces a latency of web pages transmitted from a main server of the user to one of the user's customers.
20. The method of claim 11 wherein the service fee is a one time fee.
PCT/US2000/032306 1999-11-22 2000-11-21 A user device and system for traffic management and content distribution over a world wide area network WO2001039000A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU18007/01A AU1800701A (en) 1999-11-22 2000-11-21 A user device and system for traffic management and content distribution over a world wide area network

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US16690699P 1999-11-22 1999-11-22
US60/166,906 1999-11-22
US64088600A 2000-08-18 2000-08-18
US09/641,746 2000-08-18
US09/641,746 US6484143B1 (en) 1999-11-22 2000-08-18 User device and system for traffic management and content distribution over a world wide area network
US09/640,886 2000-08-18

Publications (1)

Publication Number Publication Date
WO2001039000A1 true WO2001039000A1 (en) 2001-05-31

Family

ID=27389328

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/032306 WO2001039000A1 (en) 1999-11-22 2000-11-21 A user device and system for traffic management and content distribution over a world wide area network

Country Status (2)

Country Link
AU (1) AU1800701A (en)
WO (1) WO2001039000A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1331788A2 (en) * 2002-01-29 2003-07-30 Fujitsu Limited Contents delivery network service method and system
WO2005013139A1 (en) * 2003-08-01 2005-02-10 Nitgen Technologies Inc. A contents synchronization system in network environment and a method therefor
CN101794169A (en) * 2010-03-08 2010-08-04 北京航空航天大学 Method for controlling energy consumption of cluster system based on changing control mode
CN101904135A (en) * 2007-12-20 2010-12-01 雅虎公司 DNS wildcard beaconing to determine client location and resolver load for global traffic load balancing
US8195788B2 (en) 2001-11-19 2012-06-05 Telecom Italia S.P.A. Method for checking the functionality of a content delivery network related system and computer product
EP1430651B1 (en) * 2001-09-18 2013-05-15 Ericsson Inc. Adaptive node selection
CN110009464A (en) * 2018-11-23 2019-07-12 阿里巴巴集团控股有限公司 Across time zone method for processing business and server calculate equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5935249A (en) * 1997-02-26 1999-08-10 Sun Microsystems, Inc. Mechanism for embedding network based control systems in a local network interface device
US6078663A (en) * 1995-06-30 2000-06-20 Canon Kabushiki Kaisha Communication apparatus and a communication system
US6112191A (en) * 1993-02-18 2000-08-29 Every Penny Counts, Inc. Method and system to create and distribute excess funds from consumer spending transactions
US6151643A (en) * 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112191A (en) * 1993-02-18 2000-08-29 Every Penny Counts, Inc. Method and system to create and distribute excess funds from consumer spending transactions
US6078663A (en) * 1995-06-30 2000-06-20 Canon Kabushiki Kaisha Communication apparatus and a communication system
US6151643A (en) * 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US5935249A (en) * 1997-02-26 1999-08-10 Sun Microsystems, Inc. Mechanism for embedding network based control systems in a local network interface device

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1430651B1 (en) * 2001-09-18 2013-05-15 Ericsson Inc. Adaptive node selection
US8195788B2 (en) 2001-11-19 2012-06-05 Telecom Italia S.P.A. Method for checking the functionality of a content delivery network related system and computer product
EP1331788A2 (en) * 2002-01-29 2003-07-30 Fujitsu Limited Contents delivery network service method and system
EP1331788A3 (en) * 2002-01-29 2006-04-26 Fujitsu Limited Contents delivery network service method and system
WO2005013139A1 (en) * 2003-08-01 2005-02-10 Nitgen Technologies Inc. A contents synchronization system in network environment and a method therefor
CN101904135A (en) * 2007-12-20 2010-12-01 雅虎公司 DNS wildcard beaconing to determine client location and resolver load for global traffic load balancing
CN101904135B (en) * 2007-12-20 2015-06-03 飞扬管理有限公司 DNS wildcard beaconing to determine client location and resolver load for global traffic load balancing
CN101794169A (en) * 2010-03-08 2010-08-04 北京航空航天大学 Method for controlling energy consumption of cluster system based on changing control mode
CN110009464A (en) * 2018-11-23 2019-07-12 阿里巴巴集团控股有限公司 Across time zone method for processing business and server calculate equipment and storage medium
CN110009464B (en) * 2018-11-23 2023-05-12 蚂蚁金服(杭州)网络技术有限公司 Cross-time zone business processing method, server, computing device and storage medium

Also Published As

Publication number Publication date
AU1800701A (en) 2001-06-04

Similar Documents

Publication Publication Date Title
US6484143B1 (en) User device and system for traffic management and content distribution over a world wide area network
US8805965B2 (en) Methods and apparatus for image delivery
US7653706B2 (en) Dynamic image delivery system
US9026661B2 (en) Systems and methods for traffic management using load metrics reflective of a requested service
US7346676B1 (en) Load balancing service
US7979580B2 (en) Content delivery and global traffic management network system
US7155723B2 (en) Load balancing service
US8195831B2 (en) Method and apparatus for determining and using server performance metrics with domain name services
US6754699B2 (en) Content delivery and global traffic management network system
US7523181B2 (en) Method for determining metrics of a content delivery and global traffic management network
US8060581B2 (en) Dynamic image delivery system
US8341278B2 (en) Secure content delivery system
US8423672B2 (en) Domain name resolution using a distributed DNS network
US20090327489A1 (en) Global traffic management system using ip anycast routing and dynamic load-balancing
WO2001039000A1 (en) A user device and system for traffic management and content distribution over a world wide area network
WO2002007012A2 (en) Content delivery and global traffic management across a network system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase