US20130046664A1 - End-to-End Content Delivery Network Incorporating Independently Operated Transparent Caches and Proxy Caches - Google Patents

End-to-End Content Delivery Network Incorporating Independently Operated Transparent Caches and Proxy Caches Download PDF

Info

Publication number
US20130046664A1
US20130046664A1 US13/401,721 US201213401721A US2013046664A1 US 20130046664 A1 US20130046664 A1 US 20130046664A1 US 201213401721 A US201213401721 A US 201213401721A US 2013046664 A1 US2013046664 A1 US 2013046664A1
Authority
US
United States
Prior art keywords
cdn
caching server
content
transparent caching
operator
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US13/401,721
Inventor
Alexander A. Kazerani
James Segil
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Edgecast Inc
Original Assignee
Edgecast 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
Application filed by Edgecast Networks Inc filed Critical Edgecast Networks Inc
Priority to US13/401,721 priority Critical patent/US20130046664A1/en
Assigned to EDGECAST NETWORKS, INC. reassignment EDGECAST NETWORKS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KAZERANI, ALEXANDER A., SEGIL, JAMES
Priority to US13/541,605 priority patent/US9747592B2/en
Publication of US20130046664A1 publication Critical patent/US20130046664A1/en
Assigned to VERIZON DIGITAL MEDIA SERVICES INC. reassignment VERIZON DIGITAL MEDIA SERVICES INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: EDGECAST NETWORKS, INC
Priority to US15/682,249 priority patent/US11157885B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0605Supply or demand aggregation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/08Auctions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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
    • 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/535Tracking the activity of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery

Definitions

  • the present invention relates to content caching and content delivery networks.
  • CDNs Content delivery networks
  • CDN caching servers or edge servers strategically locates surrogate origin servers, also referred to as CDN caching servers or edge servers, at various points-of-presence (PoPs) that are geographically proximate to large numbers of end users.
  • CDN customers are content providers that offload their content to the CDN caching servers.
  • the CDN caching servers cache the offloaded content and deliver the content on behalf of the CDN customers or content providers.
  • the CDN caching servers serve the cached content to end users in a manner that is more efficient than if the content providers were to serve the content themselves.
  • the CDN uses a traffic management system to route requests for the cached content to the CDN caching server that can optimally deliver the requested content to the requesting end user.
  • optimal delivery of content refers to the most efficient available means by which content can be delivered from a server to an end user machine over a data network. Optimal delivery of content may be quantified in terms of latency, jitter, packet loss, distance, and overall end user experience.
  • Determination of the optimal CDN caching server may be based on geographic proximity to the requesting end user as well as other factors such as load, capacity, and responsiveness of the CDN caching servers.
  • the optimal CDN caching server delivers the requested content to the requesting end user in a manner that is more efficient than when origin servers of the content provider (CDN customer) deliver the requested content or when other CDN caching servers at different PoPs of the CDN deliver the content.
  • a CDN operator may deploy CDN caching servers to form PoPs in Los Angeles, Dallas, and New York. These caching servers may cache content that is published by a particular content provider customer who has an origin server in Miami.
  • the CDN When a requesting end user in San Francisco submits a request for the content of the particular content provider customer, the CDN will deliver the content from a CDN caching server at the Los Angeles PoP on behalf of the particular content provider customer, as opposed to the much greater distance that would be required when delivering the content from the particular content provider customer's origin server in Miami. In this manner, the CDN reduces the latency, jitter, and amount of buffering that is experienced by the requesting end user.
  • CDN Another advantage of the CDN is that it allows content provider customers to offload infrastructure costs, configuration management, and maintenance to the CDN.
  • the CDN operator deploys and manages the infrastructure for the delivery network and the CDN operator allocates as much resources as needed to a particular content provider customer at a given time, with the ability for the particular content provider customer to rapidly scale resources as needed.
  • Content provider customers only pay the CDN operator for the resources (e.g., bandwidth) that are used to serve the content provider customer's content from any of the CDN's PoPs to whichever end users request that content.
  • Content provider customers can therefore devote more time to the creation of content and less time to the creation of an infrastructure that delivers the content to end users.
  • Edgecast, Akamai, Limelight, and CDNetworks are some examples of currently operating CDNs.
  • a problem confronting any CDN operator is the inability to provide a true end-to-end content delivery solution. This is because the CDN operator does not control all links in the delivery chain over which content is delivered from one of its CDN caching servers to an end user. Specifically, the CDN operator does not have control over one or more of the final links in the delivery chain. This discontinuity in the delivery chain is primarily a result of the Telcos that are positioned between the CDN and the end users.
  • a Telco means and refers to a wireless or mobile service provider, broadband service provider, or any internet service provider (ISP). Telcos may be regional or national service providers and may include service providers such as AT&T®, Verizon® and Charter Communications®. A Telco provides one or more end users connectivity to data networks, including the Internet.
  • Such connectivity enables the communication between the CDN caching servers and the end users.
  • the Telco fully controls the components and the network that enable such connectivity.
  • a CDN operator is typically unable to locate its caching servers inside the Telco network, when the Telco wishes to maintain full control of its network.
  • End users that are customers of a particular Telco, pay the Telco for access to the data network. Payment may be in the form of monthly subscription fees or pay-per-increment of bandwidth usage. This payment in turn pays for the cost of connecting the Telco network to other data networks, thereby providing end users of the Telco access to the Internet.
  • a Telco interrupts the end-to-end delivery capability of the CDN when it deploys one or more transparent caching servers or proxy servers within the Telco-controlled network.
  • the Telco deploys such servers at gateway locations, whereby content passing between the Telco network and an external data network flows at some point through the transparent caching server or proxy server.
  • transparent caching server will be used hereafter to refer to the functionality of either a transparent caching server or a proxy server.
  • a transparent caching server is functionally different and is operated independent of the CDN caching servers.
  • a transparent caching server can be configured by the Telco to specify certain content that the Telco wishes to designate as hot (i.e., popular) content, whereas the CDN caching servers are configured to cache content based on rules configured by the CDN operator or rules provided by their content provider customers.
  • a transparent caching server monitors content passing between a source (e.g., the external data network) and a destination (e.g., end-user customers of the Telco). The monitoring is performed to determine what content to cache.
  • the monitoring is also performed in order to intercept requests for content that the transparent caching server has cached, wherein intercepting a request prevents the request from reaching a source that ordinarily serves the requested content (e.g., a content provider server or a CDN caching server).
  • a source that ordinarily serves the requested content
  • the transparent caching server can serve the content requested in the request from cache back to the requestor, with the request reaching its intended destination and without the source being aware that the content was requested or was served by another (i.e., the transparent caching server).
  • CDN caching servers typically perform no such monitoring and interception.
  • CDN caching servers typically respond to a request when the request is routed to a particular CDN caching server usually as a result of some redirection, wherein the redirection may include DNS redirection, aliasing and URL rewriting as some examples.
  • the Telco By deploying one or more transparent caching servers within a Telco network, the Telco, in a sense, can create and operate its own local CDN independent of the external CDNs operated, for example, by Edgecast or Akamai. This further accelerates the delivery of content to the Telco's end users as the Telco is often the final link in the delivery chain to the end users. Telcos benefit from the deployment of transparent caching servers because such servers reduce the amount of transit traffic outside the Telco network, thereby reducing bandwidth costs for the Telco.
  • some of the end user requested content can be served from the local cache of the transparent caching server that is internal to the Telco network instead of having to use external data network bandwidth when serving the requested content from CDN caching servers, origin servers of a content provider, or other servers that are located in the data network that is external to the data network operated by the Telco.
  • This interruption in the end-to-end delivery capability of the CDN prevents requests for certain content from reaching the CDN and from being serviced by the CDN.
  • the revenue stream of the CDN is impacted as less content is served by the CDN on behalf of the CDN's content provider customers.
  • the metrics computed by the CDN for measuring the demand for content provider customer content and for measuring the performance in delivering such content are impacted.
  • the measurements are inaccurate because the CDN no longer delivers all content on behalf of its content provider customers. For example, there may be a thousand distinct requests for a particular content provider customer's content that the CDN is to deliver on behalf of the particular such content provider customer.
  • the CDN will report to the particular content provider customer that its content was requested only seven hundred times, when in actuality the content was requested one thousand times.
  • the performance measurements and other metrics related to the delivery of the particular content provider customer's content and that are reported by the CDN to the particular content provider customer will only take into account the content delivered in response to the seven hundred requests serviced by the CDN while omitting performance measurements and other metrics related to three hundred requests that were intercepted and serviced by the transparent caching servers.
  • the CDN underreports the demand for the particular content provider customer's content and any other metrics are inaccurate.
  • the interruption in the CDN's end-to-end delivery capability also raises intellectual property rights issues. Based on the contract that the content provider customer establishes with the CDN, it may be that only the CDN is authorized to cache, host, distribute, or otherwise serve content of the content provider customer and any transparent caching of the content provider customer's content violates the terms governing who is authorized to cache, host, distribute, or otherwise serve such content.
  • CDN Content Delivery Network
  • some embodiments provide an end-to-end federated CDN solution that assimilates existing independently-operated components and resources of a third-party intermediary with those of a CDN. More specifically, some embodiments provide systems and methods for assimilating one or more transparent caching servers that are operated by one or more transparent caching server operators (e.g., Telcos) into a CDN, wherein the CDN operates a set of CDN caching servers independent of the transparent caching servers that are operated by the transparent caching server operators.
  • transparent caching server operators e.g., Telcos
  • the systems and methods for performing such assimilation establish a relationship that is mutually beneficial to the transparent caching server operators as well as the CDN operator. From this relationship, a transparent caching server operator receives compensation (typically monetary) from a CDN operator in return for providing the CDN operator access to the logs of the transparent caching servers that are operated by the transparent caching server operator.
  • compensation typically monetary
  • the CDN operator benefits from the gained access to the transparent caching server logs because such access allows the CDN operator (1) to more accurately and comprehensively track and report metrics related to the delivery of content for the CDN's content provider customers, (2) to monetize the end-to-end delivery for CDN content provider customer content including the ability to monetize on the CDN content provider customer content that is delivered by the transparent caching servers, whereas prior to such assimilation, the transparent caching servers could intercept and serve such content without the CDN's knowledge and without the CDN logging such usage.
  • the assimilation of the transparent caching servers also improves the overall content delivery capabilities of the CDN as the transparent caching servers can deliver content on behalf of the CDN's content provider customers to some end users with less latency than the CDN caching servers; and the CDN operator can account for the delivery performance of the transparent caching servers as a result of having access to their logs. Furthermore, the assimilation of the transparent caching into the CDN can be performed with little to no change on the part of the transparent caching server operator and with little additional overhead to the CDN operator.
  • the systems and methods for creating the federated CDN in which transparent caching servers are assimilated with CDN caching servers involve establishing a sharing relationship between the transparent caching server operator and the CDN operator.
  • the sharing relationship sets the conditions upon which the transparent caching server operator provides the CDN operator access to the logs of the transparent caching servers.
  • the sharing relationship further sets the compensation (e.g., fixed or variable) that the CDN operator provides to the transparent caching server operator in return for the access and also the access credentials with which the CDN operator can remotely access the transparent caching servers in order to aggregate the logs from the transparent caching servers.
  • the systems and methods for creating the federated CDN involve configuring a log processing server (i.e., administrative server) of the CDN to periodically aggregate the one or more logs from each assimilated transparent caching server through a remote connection.
  • the remote connection may be established using the HyperText Transfer Protocol (HTTP), File Transfer Protocol (FTP), Secure Shell (SSH) protocol, Spanning Tree Protocol (STP), or other networking protocol.
  • HTTP HyperText Transfer Protocol
  • FTP File Transfer Protocol
  • SSH Secure Shell
  • STP Spanning Tree Protocol
  • the log processing server may periodically pull the logs from the transparent caching servers that have been assimilated into the CDN.
  • the assimilated transparent caching servers may periodically push the logs to the log processing server using the remote connection.
  • the log processing server processes each log in conjunction with an association table.
  • the association table includes entries for relating network usage that is entered into the aggregated logs back to a CDN content provider customer who originates or otherwise authorizes dissemination of the content by the CDN (i.e., a content provider that has contracted the CDN to deliver content on its behalf).
  • the association table can be used to identify network usage for content provider customers of other CDNs, so as to provide the identified network usage to those CDNs in return for compensation. Accordingly, the processing of a particular transparent caching server log in conjunction with the association table identifies, for each entry of network usage that is entered to the particular log, whether the network usage relates to content that is delivered for a content provider customer of a CDN or not.
  • the network usage from the aggregated transparent caching server logs that is identified for a CDN's content provider customer is used to report on the delivery of the content provider customer's content.
  • the log processing server derives metrics that quantify performance, demand, and other parameters relating to the delivery of the content provider customer's content.
  • the network usage identified from the transparent caching server logs is combined with network usage for the same content provider customer as identified in logs that are aggregated from the CDN caching servers. In so doing, the CDN derives comprehensive and accurate performance metrics that account for CDN-controlled components as well as components controlled by third parties, both of which are nevertheless used to deliver content of the content provider customer.
  • the network usage from the aggregated transparent caching server logs that is identified for a CDN's content provider customer is used to bill the content provider customer for that network usage.
  • the content provider customer is assessed a fee for the network usage that is associated with the content that has been delivered on behalf of the content provider customer by the transparent caching server that is now assimilated into the CDN. This fee may be computed using the same algorithms and criteria that would have been used if the content was delivered from a caching server of the CDN instead of the transparent caching server.
  • the assessed fee is a fee that is derived based on the network usage that is associated with the content delivery identified in the logs aggregated from the transparent caching servers and also the network usage that identified in the logs aggregated from caching servers of the CDN.
  • FIG. 1 presents an exemplary framework for the end-to-end CDN solution in accordance with some embodiments.
  • FIG. 2 presents a process for assimilating transparent caching servers into a CDN in accordance with some embodiments.
  • FIG. 3 presents a process for utilizing assimilated transparent caching server logs to provide an end-to-end CDN solution in accordance with some embodiments.
  • FIG. 4 illustrates processing transparent caching server logs in accordance with some embodiments.
  • FIG. 5 conceptually illustrates generating comprehensive and detailed reports for the combined network usage of different content provider customers of the CDN in accordance with some embodiments.
  • FIG. 6 illustrates the links in the delivery chain that content typically traverses when passing from a CDN to an end user.
  • FIG. 7 illustrates how a first CDN operator can further monetize a transparent caching server log by redistributing the transparent caching server log to second and third CDN operators in accordance with some embodiments.
  • FIG. 8 presents a process performed by a broker acting as a reseller of transparent caching server logs in accordance with some embodiments.
  • FIG. 9 illustrates a fully federated CDN wherein a first CDN operator assimilates resources of a transparent caching server operator and resources of a second CDN operator in accordance with some embodiments.
  • FIG. 10 illustrates a computer system or server with which some embodiments are implemented.
  • FIG. 1 presents an exemplary framework for the end-to-end CDN solution in accordance with some embodiments.
  • the end-to-end CDN solution is the result of assimilating two transparent caching servers 110 and 120 that are independently operated by different Telcos 130 and 140 with CDN caching servers 160 of a CDN 150 .
  • the end-to-end CDN solution allows the CDN 150 to expand its reach by leveraging already deployed resources of the Telcos 130 and 140 (i.e., the transparent caching server 110 and 120 ). In so doing, the CDN 150 improves its content delivery performance, provides more comprehensive reporting, and lowers overall cost of content delivery.
  • Each transparent caching server 110 and 120 may be representative of a fully integrated machine having the software and hardware necessary to perform transparent caching or proxy caching. Each transparent caching server 110 and 120 may alternatively be representative of a machine that is integrated with the necessary software or hardware to perform transparent caching or proxy caching in conjunction with other functionality. Furthermore, each transparent caching server 110 and 120 may be representative of one or more physical machines or virtual machines that run on one or more physical machines to perform transparent caching or proxy caching. Transparent caching and proxy caching is defined in conformance with the well understood industry definition. Accordingly, the terms are intended to generally include any machine that performs a monitoring and/or intercepting function as part of a caching function.
  • the monitoring and caching function is illustrated by the transparent caching server 110 while the intercepting and caching function is illustrated by the transparent caching server 120 .
  • the transparent caching server 110 is positioned between the end user subscribers of the Telco 130 and a gateway from which the end user subscribers request and obtain content from an external data network such as the Internet.
  • the transparent caching server 110 monitors content passing between a source (e.g., the external data network) and a destination (e.g., an end user subscriber of the Telco 130 ). The monitoring is performed to analyze end user subscriber submitted requests for content in order to determine whether the transparent caching server 110 has the requested content cached.
  • the transparent caching server 110 receives a request from an end user subscriber of Telco 130 , analyzes the request, and determines that the requested content is not cached.
  • the transparent caching server 110 does not intercept the request and allows the request to pass into the external data network for routing to the appropriate source.
  • the request is routed to a CDN caching server of the CDN 150 that serves the content back to the requesting end user subscriber of Telco 130 .
  • the served content passes through the transparent caching server 110 .
  • the transparent caching server 110 monitors the content and identifies the content being sent in response to the request and so the transparent caching server 110 caches the content.
  • any subsequent requests for the same content by an end user subscriber of the Telco 130 can be intercepted and the content can be served from the transparent caching server 110 instead of the more remote CDN caching server or more remote content provider server that may also host the requested content.
  • the transparent caching server 120 is positioned between the end user subscribers of the Telco 140 and the external data network (i.e., Internet).
  • the transparent caching server 120 monitors requests that are issued by the end user subscribers of the Telco 140 .
  • the transparent caching server 120 identifies a request for content that the transparent caching server 120 has cached. Accordingly, the transparent caching server 120 intercepts the request thereby preventing the request from being forwarded to the external data network and, in turn, preventing the request from being received by a CDN caching server of the CDN 150 or content provider server that hosts the requested content.
  • the transparent caching server 120 then satisfies the intercepted request by passing the requested content from its cache to the requesting end user subscriber of Telco 140 .
  • the transparent caching server 110 is independently operated by the Telco 130 and the transparent caching server 120 is independently operated by the Telco 140 such that access to the transparent caching server is ordinarily restricted to the operating entity.
  • Each transparent caching server 110 and 120 is assigned a network address (i.e., an Internet Protocol (IP) address) such that it may be accessed using a remote connection.
  • IP Internet Protocol
  • the remote connection may be established using the HyperText Transfer Protocol (HTTP), File Transfer Protocol (FTP), Secure Shell (SSH) protocol, Spanning Tree Protocol (STP), Transmission Control Protocol (TCP), or other networking protocol.
  • HTTP HyperText Transfer Protocol
  • FTP File Transfer Protocol
  • SSH Secure Shell
  • STP Spanning Tree Protocol
  • TCP Transmission Control Protocol
  • the remote connection can be used to manage the transparent caching server by configuring the rules for how the transparent caching server determines what content to cache and when to cache the content.
  • the remote connection can also be used to retrieve and view the logs of the transparent caching servers 110 and 120 .
  • the log for the transparent caching server 110 tracks the content that was delivered by the transparent caching server 110 .
  • the parameters tracked to the log typically include at least one identifier for identifying the content that was delivered and bandwidth utilization that is associated with delivering the content.
  • the identifier for identifying the content may include an IP address, Uniform Resource Identifier (URI), or string representing the content name.
  • URI Uniform Resource Identifier
  • the bandwidth utilization may be quantified by a file size or Kilobyte/Megabyte per second with an associated amount of time needed to deliver the content. It should be apparent to one of ordinary skill in the art that the log may include additional parameters for identifying the content that is delivered by the transparent caching server and for identifying the source entity and/or destination entity for the delivered content.
  • the Telcos 130 and 140 are service providers that provide one or more end user subscribers connectivity to data networks, including the Internet.
  • the Telcos 130 and 140 are the initial point of entry for the end users to these data networks.
  • the Telcos 130 and 140 are the final link in the delivery chain (or path) for content that is delivered from the data networks to the end user subscribers.
  • the other components besides the transparent caching servers of the Telcos 130 and 140 are abstracted and not shown. Though Telcos 130 and 140 are presented in FIG.
  • the Telcos 130 and 140 may be substituted by any operator of one or more transparent caching servers that operates the transparent caching servers independent of the CDN 150 and also locates the transparent caching servers at some point along the delivery path in which content is passed from the CDN 150 or from any external data network to one or more end users.
  • the operation of the transparent caching servers 110 and 120 need not be confined to the illustrated Telcos ( 130 and 140 ), but that the transparent caching servers 110 and 120 can operate at any intermediary location between a source and a destination irrespective of whether the intermediary location is at a location in a Telco or some other network or service provider (e.g., any ISP).
  • the transparent caching servers 110 and 120 can operate at any intermediary location between a source and a destination irrespective of whether the intermediary location is at a location in a Telco or some other network or service provider (e.g., any ISP).
  • Some appliance manufacturers for the transparent caching servers 110 and 120 and more generally, for the transparent caching servers envisioned for the federated end-to-end CDN solution are those manufactured by PeerApp Ltd. and Blue Coat Systems Inc. It is irrelevant whether the transparent caching servers that are assimilated to create the end-to-end solution and that are shown in the exemplary framework of FIG. 1 are identical or different machines from the same manufacturer or different manufacturers.
  • the CDN 150 is conceptually illustrated with a distributed set of CDN caching servers 160 , traffic management servers 170 , and a log processing server 180 .
  • the figure also illustrates the interactions that CDN customers, including content provider customers, have with the CDN 150 and interactions that content consumers or end users have with the CDN 150 .
  • Each CDN caching server of the set of CDN caching servers 160 may represent a single physical machine or a cluster of machines that serves content on behalf of different CDN content provider customers to end users of the illustrated Telcos 130 and 140 and to any other content consumer that requests content that the CDN 150 has been contracted to serve on behalf of the CDN content provider customers.
  • One set of CDN caching servers 160 may represent a server farm for a geographically proximate set of physically separate machines or a set of virtual machines that execute over partitioned sets of resources of one or more physically separate machines.
  • the set of CDN caching servers 160 are distributed across different edge regions of a data network (i.e., the Internet) to facilitate accelerated delivery of content. Specifically, the set of CDN caching servers 160 are distributed to form different points-of-presence (PoPs) at these different edge regions.
  • PoPs points-of-presence
  • the CDN 150 uses the traffic management servers 170 to route an end user that requests content of a content provider customer to the closest PoP in order to optimally serve the requested content to the requesting end user. Stated differently, the traffic management servers 170 resolve requests for content that is hosted by the CDN 150 to the CDN caching server that optimally serves that content back to the end user, wherein optimally serving the content is quantified in terms of latency, jitter, packet loss, time to buffer, and other such measureable metrics. Different CDN implementations use different traffic management schemes to achieve such routing to the optimal PoPs or CDN caching servers.
  • the traffic management servers 170 perform Anycast routing to identify a CDN caching server from the set of CDN caching servers 160 that can optimally serve requested content to a particular end user requesting the content. It should be apparent that the traffic management servers 170 can include different combinations of Domain Name System (DNS) servers, load balancers, and routers performing Anycast or Border Gateway Protocol (BGP) routing.
  • DNS Domain Name System
  • BGP Border Gateway Protocol
  • the log processing server 180 may include a central server of the CDN 150 or a distributed set of interoperating servers that perform the configuration control, reporting, and billing functionality for the CDN 150 .
  • Content providers register with the CDN 150 in order to access services and functionality of the CDN 150 . Accordingly, content providers are also referred to as customers of the CDN 150 . Once registered, CDN content provider customers can interface with the log processing server 180 to specify a configuration, upload content, and view performance reports.
  • the log processing server 180 also aggregates statistical and performance data from each server of the set of CDN caching servers 160 .
  • the log processing server 180 processes the aggregated data to produce usage and performance reports.
  • the log processing server 180 also processes the aggregated data to bill the CDN's content provider customers for the network usage that is related to the delivery of the content provider customers' content by the CDN caching servers 160 .
  • Network usage generally refers to an amount of bandwidth consumed when delivering content from a source to a destination. Network usage may be quantified as a bits/bytes consumed over some duration (e.g., 10 KB/s for 10 seconds) or as the file size for content that is delivered from a source to a destination.
  • the CDN 150 is able to expand its reach by leveraging already deployed resources of third parties. In so doing, the overall content delivery performance of the CDN 150 is improved. This is a result of the closer geographic proximity that the transparent caching servers 110 and 120 have to the end user subscribers of the Telcos 130 and 140 relative to the CDN caching servers 160 and because the CDN 150 can factor, as a result of the assimilation, the content delivery performance of the transparent caching servers 110 and 120 with the content delivery performance of its own CDN caching servers 160 when determining overall content delivery performance for the CDN content provider customers.
  • the content delivery performance of the transparent caching servers 110 and 120 Prior to the end-to-end CDN solution and the assimilation of the transparent caching servers 110 and 120 into the CDN 150 , the content delivery performance of the transparent caching servers 110 and 120 would be unaccounted for by the CDN 150 when the CDN 150 reported content delivery performance to its content provider customers and when some content of those content provider customers was actually being served by the transparent caching servers 110 and 120 .
  • the end-to-end solution resolves these issues and enables the CDN 150 to produce comprehensive and accurate reporting that not only accounts for the content delivery performance of the CDN caching servers 160 , but that also accounts for the content delivery performance of the transparent caching servers 110 and 120 that are located at the final link in the delivery chain between end users and the CDN 150 .
  • the transparent caching servers 110 and 120 grows the CDN 150 footprint and the content delivery capabilities of the CDN 150 . In so doing, the overall cost for content delivery is lowered.
  • the traditional CDN model has each CDN compete with other CDNs, Telcos, etc. In competing with one another, CDNs are in a continual struggle to expand their capacity and capabilities. This expansion results in each CDN incurring the same or similar infrastructure costs related to the deployment of caching servers to designated high traffic areas. This further results in redundant deployment of resources, whereby multiple CDNs operate in the same regions with excess capacity as a result of cannibalizing content delivery from one another. The cost for this redundant deployment of resources is incurred by the CDNs.
  • the CDNs propagate this cost to their content provider customers in the form of higher fees being charged for the bandwidth that is consumed for delivering the content of the content provider customers.
  • the content provider customers then propagate the increased cost to the end users that consume the content in the form of higher subscription fees, content access fees, or other fees.
  • FIGS. 2 and 3 present processes for implementing the end-to-end CDN solution through the assimilation of transparent caching servers with a CDN in accordance with some embodiments.
  • FIG. 2 presents a process 200 for assimilating transparent caching servers into a CDN in accordance with some embodiments.
  • This process 200 describes a reciprocal bilateral agreement between two independent parties.
  • the first party to the bilateral agreement is a transparent caching server operator that operates a transparent caching server independent of the second party.
  • the transparent caching server operator can include a Telco, ISP, or any other entity that operates one or more transparent caching servers.
  • the second party to the bilateral agreement is a CDN operator that operates a CDN and a distributed set of CDN caching servers. Edgecast, Akamai and LimeLight are examples of different CDN operators.
  • the CDN operator receives (at 210 ) access to the logs of the transparent caching servers that are operated by the transparent caching server operator. In return, the CDN operator compensates (at 220 ) the transparent caching server operator for such log access.
  • the terms and conditions for the bilateral agreement are memorialized to detail the bilateral agreement between the transparent caching server operator and the CDN operator.
  • the CDN operator can then assimilate (at 230 ) the transparent caching servers of the transparent caching server operator into its CDN in the manner described with reference to FIG. 3 below.
  • the reciprocal bilateral agreement entered into between the transparent caching server operator and the CDN operator is one that can be exclusive in nature or one that is non-exclusive in nature.
  • An exclusive bilateral agreement is one in which only the CDN operator (that is a party to the agreement) receives or is provided any form of access to the logs of the transparent caching servers.
  • the transparent caching server operator is contractually prevented from distributing or otherwise providing other CDN operators or other entities that are not a party to the bilateral agreement access to the transparent caching server logs.
  • a non-exclusive bilateral agreement is one that does not contractually restrict the transparent caching server operator from providing other entities access to the logs of the transparent caching servers.
  • the bilateral agreement and, by extension, the process 200 may be initiated by either the CDN operator or the transparent caching server operator.
  • the CDN operator may receive the logs of the transparent caching servers via different pull or push mechanisms. For some such push or pull mechanisms, the transparent caching server operator provides the CDN operator with remote access to the transparent caching servers.
  • a transparent caching server has a network interface with which the transparent caching server can be remotely accessed using a network communication protocol.
  • the remote access to a transparent caching server is established using the HTTP, FTP, SSH, STP, or other network protocol. This remote access may be restricted to authorized users.
  • the transparent caching server operator configures the transparent caching servers with username and password combinations that can be used to identify the authorized users.
  • the transparent caching server operator may provide the CDN operator with the secure access credentials (e.g., username and password) that the CDN operator can use to remotely access the transparent caching servers in order to obtain the logs from those servers.
  • the transparent caching servers are configured by the transparent caching server operator to periodically push the logs to the CDN operator.
  • the transparent caching server operator may also provide the CDN operator access to the logs without providing the CDN operator remote access to the transparent caching servers.
  • the transparent caching server operator agrees to periodically (e.g., weekly or monthly) aggregate the logs from its transparent caching servers and then pass the aggregated logs to the CDN operator, such that the transparent caching server operator maintains full control over its transparent caching servers.
  • This latter method of providing transparent caching server logs may be preferred when the transparent caching server operator provides the CDN operator only partial access to the logs.
  • the transparent caching server operator may not want the CDN operator to know all the content that is being served from its transparent caching servers. Therefore, the transparent caching server operator can filter the logs before providing the CDN operator access to the logs.
  • the filtering can be performed to remove usage entries that identify content that is originated or sourced by a content provider that is not a customer of the CDN.
  • the CDN operator may provide the transparent caching server operator identifiers for identifying the content providers that are the CDN's customers and whose usage should not be filtered from the transparent caching server logs when filtering is to be performed.
  • the CDN operator compensates (at 220 ) the transparent caching server operator for the transparent caching server log access.
  • the CDN operator provides fixed compensation to the transparent caching server operator for access to each transparent caching server log.
  • the compensation may be monetary.
  • the CDN pays the transparent caching server operator ten dollars for each log that the CDN gains access to.
  • the compensation may also be recurring, such that the CDN operator pays the transparent caching server operator ten dollars every month for monthly access to the logs of a particular transparent caching server.
  • the compensation may also be an exchange of services.
  • the transparent caching server operator provides the CDN operator free access to the transparent caching server logs when the CDN operator agrees to deliver content on behalf of the transparent caching server operator to end users that are outside the network controlled by the transparent caching server operator.
  • the compensation may be provided with other means in which some economic value is imparted to the transparent caching server operator for providing the CDN operator access to the transparent caching server logs.
  • the CDN operator provides variable compensation to the transparent caching server operator.
  • the variable compensation may be based on a specified set of conditions. As a specific example, the variable compensation may be based on a percentage of monetization that the CDN operator realizes from the log.
  • variable compensation may be ten percent of the fee collected by the CDN, which, in this example, amounts to ten dollars of compensation that the CDN operator provides back to the transparent caching server operator.
  • the bilateral agreement is a reciprocal agreement in which the CDN operator gains access to the logs of the transparent caching servers and the transparent caching server operator is compensated by the CDN operator for such access.
  • This reciprocity provides incentive to both parties to enter into the bilateral agreement, as the bilateral agreement is one that both the transparent caching server operator and the CDN operator benefit from.
  • the CDN operator gains access to the logs of the transparent caching servers.
  • the CDN operator Before assimilation of the transparent caching servers, the CDN operator could only reliably track network usage to the level of the Telco or to the level of where a transparent caching server existed in the delivery chain in which content is passed from a CDN caching server to an end user. After assimilation of the transparent caching servers, the CDN operator can reliably track end-to-end network usage all the way down to the end user level. This allows the CDN operator to produce more comprehensive and detailed reports, performance measurements, and other metrics relating to the delivery of the CDN's content provider customers' content to the end users.
  • the CDN operator is able to accurately bill its content provider customers for network usage relating to delivering the content provider customers' content to each end user.
  • a transparent caching server at an intermediary position in the delivery chain would cache content the first time it is passed from a CDN caching server to a requesting end user.
  • a subsequent request for the same content by an end user at the end of the same delivery chain would not reach the CDN and would instead be intercepted and served from the transparent caching server cache without the CDN's knowledge.
  • content provider customers had their content partially delivered free of charge.
  • the content provider customers are billed for all network usage that is related to delivering their content to end users, even if such delivery is accelerated by one or more transparent caching servers.
  • the transparent caching server operator also benefits from this reciprocal bilateral agreement because the transparent caching server operator would previously receive no compensation for delivering the CDN's content provider customers' content, even though bandwidth was consumed when delivering such content from the transparent caching server's cache to the end users.
  • the CDN operator indirectly compensates the transparent caching server operator for such network usage by directly compensating the transparent caching server operator for access to the logs that are then used to pass the network usage fees to the CDN's appropriate content provider customer.
  • FIG. 3 presents a process 300 for utilizing assimilated transparent caching server logs to provide an end-to-end CDN solution in accordance with some embodiments.
  • the process 300 commences once a bilateral agreement has been formalized with one or more transparent caching server operators.
  • the process 300 is performed by a CDN operator. More specifically, the process 300 is a machine-implemented process that is performed by a particular machine under control of the CDN operator. In some embodiments, the process 300 is performed by any server of the CDN operator that is responsible for billing in the CDN, such as the log processing server described with reference to FIG. 1 above.
  • the machine-implemented process is embodied as a program that is stored to a non-transitory computer-readable storage medium and the program is executed by a microprocessor to automatedly perform the steps recited below.
  • the process 300 begins by aggregating (at 310 ) logs from the transparent caching servers to which the CDN operator has been provided access, pursuant to one or more bilateral agreements.
  • the logs may be aggregated from transparent caching servers that are operated by different operators (e.g., a first transparent caching server that is operated by a first Telco and a second transparent caching server that is operated by a second Telco).
  • the logs may be aggregated by (1) remotely accessing the transparent caching servers and pulling the logs from the remotely accessed servers, (2) configuring the transparent caching servers to periodically push the logs to the CDN operator, or (3) obtaining the logs from the transparent caching server operator.
  • aggregation may involve downloading the logs from the servers, retrieving copies of the logs from the servers, or having the logs pushed from the servers via a file transfer mechanism such as FTP.
  • the process also aggregates (at 315 ) logs from CDN caching servers that are operated by the CDN operator.
  • the process may aggregate logs from CDN caching servers that are operated by a first CDN operator and logs from CDN caching servers that are operated by a second CDN operator, wherein the first and second CDN operators participate in the federated CDN.
  • the CDN log processing server may aggregate the CDN caching server logs using a pull mechanism, whereby the log processing server remotely accesses each of the CDN caching servers and downloads the logs from the CDN caching servers.
  • the CDN caching servers may periodically push their logs to the log processing server.
  • the process processes (at 320 ) the aggregated logs of the transparent caching servers.
  • the processing is performed to identify network usage that is related to the delivery of content for content providers that are customers of the CDN.
  • the processing performed at step 320 involves filtering the aggregated logs to remove network usage that is related to delivering content for content providers that are not customers of the CDN operator.
  • the processing performed at step 320 involves filtering the network usage that is related to delivering content for content providers that are customers of the CDN operator and storing the filtered usage to a different filtered log.
  • the processing performed at step 320 involves processing the aggregated logs in conjunction with an association table.
  • the association table aids in identifying network usage in the logs that is related to delivering content for different content providers that are customers of the CDN operator.
  • the association table contains a list of identifiers that identify the CDN's content provider customers based on IP addresses, URIs, DNS records (e.g., CNAMEs), etc.
  • the CDN operator is provided these identifiers when a content provider registers as a customer of the CDN operator in order to have the CDN operator serve the content provider customers' content on behalf of the content provider customers.
  • FIG. 4 illustrates processing transparent caching server logs to identify network usage that is related to the delivery of content for content providers that are customers of the CDN in accordance with some embodiments.
  • the processing illustrated in FIG. 4 may be performed by a log processing server of the CDN.
  • the figure illustrates log 410 that is aggregated from a transparent caching server, an association table 420 used by the log processing server in processing the log 410 , and the log after it has been processed 430 (i.e., the post-processed log 430 ).
  • the transparent caching server log 410 tracks various network usage metrics related to content that is delivered from the transparent caching server that produced the log. Though simplified for explanatory purposes, the log 410 records one or more addressing identifiers 440 , content identifiers 450 , and network usage identifiers 460 for each item of content that is delivered by the transparent caching server. Different transparent caching servers record different identifiers, parameters, or metrics in the logs. Also, the logs aggregated from different transparent caching servers may present the recorded identifiers, parameters, or metrics in different formats.
  • the log processing server performs a pre-processing routine on the aggregated transparent caching server log to remove extraneous identifiers, parameters, or metrics and to format the remaining identifiers, parameters, or metrics according to a common format that includes some common baseline set of identifiers, parameters, or metrics.
  • the addressing identifiers 440 identify the source and/or destination associated with the delivered content.
  • the source and destination are typically addressed with different Internet Protocol (IP) addresses, although it should be apparent to one of ordinary skill that any addressing scheme may be used to identify the source and destination.
  • IP Internet Protocol
  • the source addressing identifier identifies the source from which the delivered content is originally requested. Because a transparent caching server intercepts requests before they reach the content source, the source will typically identify a content provider that originates or is the source for the content being delivered. However, DNS resolution may cause the source addressing identifier to instead identify an address for a CDN caching server that delivers content on behalf of a particular content provider customer.
  • the destination addressing identifier identifies the end user who requested and received the delivered content.
  • the addressing identifiers 440 can be extracted from the header of the content request that is intercepted by the transparent caching server.
  • the addressing identifiers 440 may include a source IP address and a destination IP address that are extracted from the header of an IP packet that encapsulates the content request.
  • the domain name specified in the header of an HTTP GET request packet can be used to identify the source for the requested content.
  • the extracted addressing identifiers 440 can then be entered in the log in association with the network usage that is required to deliver the requested content from the transparent caching server to the requesting end user.
  • the content identifiers 450 identify the delivered content.
  • the content identifiers 450 include the Uniform Resource Identifier (URI) that is used to request the content.
  • the content identifiers 450 may include an object or file name.
  • the content identifiers 450 are typically extracted from the header of the content request that was intercepted by the transparent caching server.
  • the URI can be extracted from the header of an HTTP GET request packet.
  • the extracted content identifiers 450 may be entered into the transparent caching server log in association with addressing identifiers 440 and the network usage that is required to deliver the content identified in the URI from the transparent caching server to the requesting end user.
  • the network usage identifiers 460 identify the network usage related to delivering the content from the transparent caching server to the requesting end user.
  • Network usage is generally quantified as an amount of bandwidth that is consumed to serve the requested content from the transparent caching server to the requesting end user.
  • the bandwidth may be represented as a file size for the content that is delivered from the transparent caching server to the requesting end user.
  • the bandwidth may be represented as a duration and an average amount of bandwidth used over the duration (e.g., 10 Kbps for 10 seconds). It should be apparent to one of ordinary skill in the art that the network usage identifiers 460 may include any identifiers that quantify a rate or amount of data transfer from the transparent caching server to the requesting end user.
  • the association table 420 includes a list of identifiers for identifying the content provider customers of the CDN operator.
  • the list of identifiers includes IP addresses for the origin servers of the content provider customers, wherein an origin server is a server that is operated by a content provider customer and that hosts content of the content provider customer.
  • the list of identifiers includes URIs, object names, or file names identifying the content for the CDN's content provider customers. As was noted above, this information is acquired by the CDN operator when the content providers register with the CDN operator to have their content delivered by the CDN operator.
  • the processing involves matching identifiers from the log 410 to identifiers in the association table 420 in order to identify network usage from the transparent caching server logs that relate to delivered content for the CDN's content provider customers.
  • identifiers from the association table 420 match to one or more identifiers associated with an entry in the transparent caching server log 410 , that entry is entered to the post-processed log 430 .
  • the post-processed log 430 records network usage from the transparent caching server log 410 that relates to the delivery of content for the CDN's content provider customers.
  • two entries 470 and 480 from the log 410 identify network usage that is related to content that is delivered for the CDN's content provider customers.
  • the URI associated with entry 470 identifies a domain name for a CDN content provider customer and the source IP address associated with entry 480 identifies an IP address for an origin server of a CDN content provider customer.
  • the other entries from log 410 may be omitted from the post-processed log 430 or otherwise denoted in the post-processed log 430 as not pertaining to the CDN's content provider customers.
  • the post-processed transparent caching server log (e.g., log 430 ) is integrated (at 330 ) for report generation.
  • integrating (at 330 ) the post-processed transparent caching server log for report generation involves identifying the network usage for each content provider customer of the CDN that is recorded to the post-processed transparent caching server logs and the aggregated CDN caching server logs and producing a comprehensive and detailed report for the combined network usage.
  • FIG. 5 conceptually illustrates generating comprehensive and detailed reports for the combined network usage of different content provider customers of the CDN in accordance with some embodiments.
  • This figure illustrates post-processed transparent caching server log 510 , post-processed transparent caching server log 520 , CDN caching server log 530 , and CDN caching server log 540 .
  • the figure also illustrates two comprehensive reports 550 and 560 that are generated for two content provider customers of the CDN as a result of assimilating the post-processed transparent caching server logs 510 and 520 and combining the network usage therein with the network usage identified in the CDN caching servers logs 530 and 540 .
  • the post-processed log 510 may be aggregated from a transparent caching server that is operated by a first Telco and the post-processed log 520 may be aggregated from a transparent caching server that is operated by the first Telco or a second Telco.
  • the detailed reports 550 and 560 may be generated by a log processing server of the CDN.
  • the log processing server identifies the network usage in each of the logs 510 - 540 that is related to delivering the first content provider customer's content. This identification can be made using an association table such as the one described above with reference to FIG. 4 , wherein various identifiers are provided to identify content and associated network usage that belongs to the first content provider customer and the second content provider customer of the CDN.
  • the association table may include one or more IP addresses, URIs, DNS records that individually or in combination identify the first content provider customer of the CDN.
  • the log processing server identifies entry 570 from log 510 , entry 575 from log 520 , and entry 580 from log 540 as entries that identify network usage that is related to the delivery of the first content provider customer's content. These entries 570 - 580 are then grouped to produce the report 550 . In producing the report 550 , the log processing server may format the entries 570 - 580 such that the resulting report 550 is uniformly formatted. In producing the report 550 , the log processing server may analyze the entries 570 - 580 to identify trends or produce statistical data from the resulting aggregated set of data.
  • the analysis of the collective set of entries 570 - 580 can yield the total network usage for delivering a particular item of content of the first content provider customer of the CDN to any number of end users or the total network usage that is associated with delivering all of the first content provider customer's content.
  • entry 570 identifies 10 megabytes (MB) of network usage for delivering first content of the first content provider customer
  • entry 575 identifies 1 MB of network usage for delivering second content of the first content provider customer
  • entry 580 identifies 10 MB of network usage for delivering the first content of the first content provider customer.
  • the total network usage for delivering all content of the first content provider customer over the specified duration is 21 MB and the total network usage for delivering the first content of the first content provider customer is 20 MB.
  • the log processing server identifies entry 585 from transparent caching server log 520 and entry 590 from CDN caching server log 530 as entries that identify network usage that is related to the delivery of the second content provider customer's content. As above, these entries 585 - 590 are grouped to produce the report 560 wherein producing the report 560 may include formatting and/or analyzing the entries 585 - 590 .
  • the reports 550 and 560 may be viewable through a graphical or interactive interface provided by the CDN.
  • the reports 550 and 560 may also be sent to the customers on a periodic basis via email, traditional mail, or some other delivery means.
  • the reports 550 and 560 generated as a result of the assimilation of transparent caching server logs 510 and 520 with the CDN caching server logs 530 and 540 serve at least one of two purposes.
  • the CDN operator may use the reports to provide comprehensive reporting for the content delivery that is associated with content of each of the CDN's content provider customers. In the prior art, it is typical for the CDN operator to provide its content provider customers with performance metrics, network usage metrics, distribution analysis, trends, histograms, etc.
  • this reporting deficiency is resolved by the assimilation of the transparent caching server logs with the CDN caching server logs.
  • the CDN operator can now provide an end-to-end solution that accurately reports and accounts for all links in the delivery chain by which content is delivered from the CDN to end users.
  • This deficiency, and how it is overcome by the end-to-end solution of the embodiments described herein, is presented in FIG. 6 .
  • FIG. 6 illustrates the links in the delivery chain that content typically traverses when passing from a CDN to an end user.
  • the first link in the delivery chain is the end user 610 .
  • the end user 610 operates a network enabled device that requests and receives content from a data network, such as the Internet.
  • the network enabled device can include any computer, smartphone, tablet, personal hotspot, etc.
  • the second link in the delivery chain is at least one transparent caching server 620 that is located in and operated by a Telco, wherein the Telco provides the end user 610 with access to the data network.
  • the third link in the delivery chain is a CDN caching server 630 .
  • the fourth link in the displayed delivery chain is the content provider customer 640 .
  • the figure illustrates a log processing server 635 of the CDN that performs log aggregation, log processing, and performance reporting for the CDN.
  • the figure also illustrates two scenarios 650 and 660 for how content is served to the end user 610 in response to the end user 610 requesting the same content at different times.
  • the delivery chain being presented in FIG. 6 omits, for purposes of simplicity, other non-caching links in the delivery chain, such as traffic management servers (e.g., DNS servers).
  • the delivery chain may include multiple transparent caching servers and other caching servers, but these servers have been omitted for purposes of simplicity.
  • the content provider customer 640 has exclusively contracted with the CDN to have the CDN deliver the content of the content provider customer 640 on behalf of the content provider customer 640 . Accordingly, the content of the content provider customer 640 is cached to the CDN caching server 630 .
  • the end user 610 issues a first request for content of the content provider customer 640 at 650 .
  • the request passes through the Telco before passing to the external data network in which the CDN caching server 630 is located.
  • the transparent caching server 620 analyzes the request from the end user 610 and determines whether the request should be intercepted based on whether the transparent caching server 620 has already cached the requested content.
  • the end user 610 request is the first request for the content of the content provider customer 640 that the transparent caching server 620 receives. Therefore, the content is not cached at the transparent caching server 620 and the request is permitted to pass through the Telco to the external data network, where it is routed to the CDN caching server 630 .
  • the CDN caching server 630 responds to the request by serving the requested content to the end user 610 and the CDN caching server 630 logs the network usage associated with serving the content.
  • the content served from the CDN caching server 630 passes back through the Telco to reach the end user 610 . In so doing, the content passes through the transparent caching server 620 , which caches the content so that it may serve the content upon the next request for that content.
  • the end user 610 again requests the content of the content provider customer 640 .
  • the transparent caching server 620 monitors the request as it passes through the Telco and the transparent caching server 620 determines that it has the requested content cached, because this is now the second such request for the content.
  • the transparent caching server 620 intercepts the request. As a result, the request is not routed to the CDN caching server 630 and the CDN operator has no knowledge that the content was requested a second time.
  • the transparent caching server 620 responds to the intercepted request by serving the content of the content provider customer 640 from cache and the transparent caching server 620 logs the network usage associated with serving the content.
  • the log processing server 635 In the prior art in which the transparent caching server 620 is not assimilated with the CDN, the log processing server 635 generates a report solely based on logs of the CDN caching servers (CDN caching server 630 ). Such a report notifies the content provider customer 640 that its content was requested once and the CDN details the network usage associated with responding to that one request.
  • the log processing server 635 In the federated end-to-end CDN solution of some embodiments in which the transparent caching server 620 is assimilated with the caching servers of the CDN, the log processing server 635 generates a report based on logs that are aggregated from the transparent caching server 620 and the CDN caching server 630 . Such a report notifies the content provider customer 640 that its content was requested twice and the CDN is able to detail the network usage associated with responding to both requests for the content provider customer's 640 content. Moreover, the end-to-end solution improves the performance metrics reported by the CDN because of the greater efficiency with which the transparent caching server 620 can respond to end user requests relative to the CDN caching server 630 .
  • the metrics reported based on the end-to-end CDN solution will show improved performance relative to the solution that does not assimilate the transparent caching server performance with the performance of the CDN caching servers.
  • the delay to serve content from the CDN caching server 630 to the end user 610 is 20 milliseconds (ms) and assume that the delay to serve content from the transparent caching server 620 to the end user 610 is 10 ms.
  • the average delay to serve the content of the content provider customer 640 is 20 ms.
  • the CDN can accurately and correctly report an average delay of 15 ms when the content of the content provider 640 was requested and served twice with the CDN caching server 630 responding to the first request and the transparent caching server 620 responding to the second request.
  • the deficiency in the prior art implementation relative to the federated end-to-end solution presented herein is magnified when content is requested thousands of times and a significant percentage (e.g., greater than 5%) of those requests are intercepted and responded to by various transparent caching servers along the delivery chain.
  • the process integrates (at 340 ) the post-processed transparent caching server log for billing.
  • This integration involves combining the usage identified in the post-processed log with usage that is identified from logs of the caching servers of the CDN, to produce a comprehensive tally of the network usage that is related to the delivery of content of a particular content provider customer of the CDN.
  • the process then bills (at 350 ) the particular content provider customer for all such network usage.
  • the log processing server 635 only accounts for the network usage that is associated with serving the content from the CDN caching server 630 to the end user 610 when billing the content provider customer 640 for the network usage that is associated with delivering the content provider customer's content 640 .
  • the log processing server 635 is unaware of the network usage that the transparent caching server 620 consumes to serve the content provider customer's content in response to the second request issued by the end user 610 . For instance in FIG. 6 , it is presumed that one megabyte of network usage is consumed to the serve the content of the content provider customer 640 .
  • the log processing server 635 bills the content provider customer 640 for the one megabyte of network usage that the CDN caching server 630 consumed to serve the content at 650 .
  • the content provider customer is not charged for the additional one megabyte that is consumed by the transparent caching server 620 to serve the content at 660 .
  • the log processing server 635 is aware of the second megabyte of network usage based on assimilation and processing of the transparent caching server 620 log. The log processing server 635 can then bill the content provider customer 640 for two megabytes of network usage instead of only one in the prior art scenario.
  • the CDN is therefore compensated for all network usage that is related to the delivery of the content provider customer's content.
  • the transparent caching server operator is also compensated, either by receiving fixed compensation or variable compensation for providing the CDN access to the transparent caching server log, wherein the fixed compensation is a onetime or recurring fee that is paid to the transparent caching server operator for each log access irrespective of the network usage identified in the log, and wherein the variable compensation is a fee that is paid to the transparent caching server operator based on the network usage that is identified in the accessed log and a percentage of the fee that the CDN operator collects from the content provider customer for the identified network usage in the log.
  • the assimilation of the transparent caching servers with the CDN caching servers and the resulting assimilation of the transparent caching server logs with the CDN caching server logs enable the CDN operator to bill its content provider customers for end-to-end delivery of their content, whereas prior to such assimilation, the CDN operator may have been restricted to billing the content provider customers for delivery of their content downstream to a transparent caching server, instead of all the way to the end users.
  • the transparent caching servers could cache content that is passed from the CDN caching servers, intercept subsequent requests for the content before the subsequent requests reach the CDN caching servers, and respond to the subsequent requests without the CDN caching servers logging the network usage that is associated with responding to the requests.
  • the process may involve optionally redistributing (at 360 ) the aggregated transparent caching server logs to other CDN operators.
  • redistributing the aggregated transparent caching server logs involves the CDN operator that has (exclusive or non-exclusive) access to the transparent caching server logs passing the logs to other CDN operators.
  • the other CDN operators then independently process the logs to identify network usage that is related to content of their own content provider customers. These other CDN operators can then bill their content provider customers for the identified network usage. In return, the other CDN operators pay the CDN operator that redistributes the transparent caching server logs a fee for such access.
  • redistributing the aggregated transparent caching server logs involves the CDN operator that has (exclusive or non-exclusive) access to the transparent caching server logs processing the logs on behalf of other CDN operators.
  • the actual logs remain in the possession of a single CDN operator. That single CDN operator then identifies network usage that is related to content provider customers of other CDN operators and reports such network usage to the other CDN operators.
  • the other CDN operators provide a list of identifiers (i.e., an association table) that identify their content provider customers to the CDN operator that has access to the transparent caching server logs, so that the CDN operator can perform the processing of the logs on behalf of the other CDN operators.
  • the other CDN operators can then compensate the CDN operator for performing the processing. For these reasons, it is envisioned that exclusivity in the bilateral agreements established with the transparent caching server operators is valuable to the CDN operator.
  • FIG. 7 illustrates how a first CDN operator can further monetize a transparent caching server log by redistributing the transparent caching server log to second and third CDN operators in accordance with some embodiments.
  • the figure depicts a transparent caching server operator 710 that operates a transparent caching server 715 , a transparent caching server log 720 with entries 730 , 735 , 740 , 745 , and 750 , a first CDN operator 760 with content provider customer 765 , a second CDN operator 770 with content provider customer 775 , and a third CDN operator 780 with content provider customer 785 .
  • the first CDN operator 760 enters into a bilateral agreement with the transparent caching server operator 710 .
  • the bilateral agreement contains an exclusivity clause that provides the first CDN operator 760 exclusive access to the log 720 of the transparent caching server 715 while preventing the second CDN operator 770 and the third CDN operator 780 from obtaining access to the log 720 from the transparent caching server 715 or the transparent caching server operator 710 .
  • the first CDN operator 760 aggregates the log 720 from the transparent caching server 715 .
  • the first CDN operator 760 processes the log 720 in accordance with the above described processes and identifies that entries 735 and 750 track network usage that is related to delivering content for the content provider customer 765 of the first CDN operator 760 .
  • the first CDN operator 760 bills the content provider customer 765 for such network usage and collects payment from the content provider customer 765 .
  • the first CDN operator 760 may bill the content provider customer 765 solely for the network usage that is identified in the log 720 or may bill the content provider customer 765 for the network usage that is identified in the log 720 and the network usage that is identified in the logs that are aggregated from the caching servers that are operated by the first CDN operator 760 .
  • the first CDN operator 760 compensates the transparent caching server operator 715 for granting exclusive access to the log 720 .
  • the compensation may include a fixed fee or may be dependent on the payment that the first CDN operator 760 collects from the content provider customer 765 for the network usage that is identified in the log 720 .
  • the first CDN operator 760 then distributes the log 720 to the second CDN operator 770 .
  • the second CDN operator 770 processes the log 720 in accordance with the above-described processes. As part of the processing, the second CDN operator 770 identifies that entry 740 in the log 720 tracks network usage that is related to delivering content for the content provider customer 775 of the second CDN operator 770 .
  • the second CDN operator 770 incorporates the network usage associated with entry 740 into its performance and statistics reports, wherein the reports can be viewed by the content provider customer 775 to determine demand, various performance metrics, and overall network usage for delivery of the content provider customer's 775 content.
  • the second CDN operator 770 uses the identified network usage to bill the content provider customer 775 for the network usage in entry 740 and collects payment from the content provider customer 775 .
  • the second CDN operator 770 compensates the first CDN operator 760 for the access to the log 720 .
  • the compensation can be a fixed compensation or a variable compensation.
  • a separate bilateral agreement between the first CDN operator 760 and the second CDN operator 770 may set forth the terms and conditions with which the first CDN operator 760 provides the second CDN operator 770 access to the log 720 . As part of this agreement, the form and amount of compensation are detailed. Also as part of the agreement, the first CDN operator 760 can prevent the second CDN operator 770 from redistributing the log 720 to any other entity.
  • the first CDN operator 760 then distributes the log 720 to the third CDN operator 780 .
  • the third CDN operator 780 processes the log 720 in accordance with the above-described processes.
  • the third CDN operator 780 identifies that no entries track network usage that is related to delivering content for the content provider customer 785 of the third CDN operator 780 .
  • the third CDN operator 780 is thus unable to bill the content provider customer 785 for any network usage in the log 720 , but may nevertheless be obligated to pay the first CDN operator 760 a fee for being provided access to the log 720 .
  • each CDN operator is able to maintain autonomy and privacy while still obtaining access to the transparent caching server log 720 .
  • CDN operators can keep content provider customer lists and content provider customer identifiers internal and not expose them to other CDN operators.
  • each receiving CDN operator can independently process the log 720 to identify the network usage for its content provider customers. Unidentified network usage will be of no value to the CDN operator.
  • the first CDN operator with exclusive access to the log 720 can redistribute the network usage in the log 720 without providing other CDN operators access to the log 720 .
  • the first CDN operator then processes the log to identify network usage that relates to its own content provider customers while also identifying network usage that relates to content provider customers of the second CDN operator.
  • the first CDN operator then passes the identified network usage for the content provider customers of the second CDN operator to the second CDN operator.
  • the second CDN operator can incorporate the identified network usage into its reports and can use the identified network usage to bill the corresponding content provider customers for the network usage. In this manner, the second CDN operator is never provided access to the transparent caching server logs, but is still able to benefit from the logs by having the first CDN operator identify the network usage for content provider customers of the second CDN operator on behalf of the second CDN operator.
  • the end-to-end solution has been described relative to an implementation model that involves a CDN operator and a transparent caching server operator.
  • some embodiments of the end-to-end CDN solution may be implemented by an alternative model that involves a CDN operator, a broker, and one or more transparent caching server operators.
  • transparent caching server operators enter into a bilateral agreement with the broker instead of a CDN operator.
  • the broker secures (exclusive or non-exclusive) access to transparent caching server logs of one or more transparent caching server operators.
  • the broker then acts as a reseller that sells access to the transparent caching server logs on behalf of the transparent caching server operators.
  • Such a scenario may be preferred when a transparent caching server operator is small in scope.
  • a transparent caching server operator when a transparent caching server operator operates only one or a few transparent caching servers, the transparent caching server operator will have little value to offer a CDN operator. In other words, one or a few transparent caching server logs may not provide the CDN operator enough value to compensate the transparent caching server access to those few logs.
  • a broker can first enter into bilateral agreements with several transparent caching server operators. When the broker has access to a large bundle of transparent caching server logs (e.g., more than fifty), the broker can negotiate terms with one or more CDN operators to sell access to the entire bundle of transparent caching server logs.
  • FIG. 8 presents a process 800 performed by a broker acting as a reseller of transparent caching server logs in accordance with some embodiments.
  • the process 800 commences with the broker entering (at 810 ) into a first set of (exclusive or non-exclusive) bilateral agreements with one or more transparent caching server operators that collectively operate a large number of transparent caching servers.
  • the broker may enter into a first bilateral agreement with a first transparent caching server operator that operates two transparent caching servers and a second bilateral agreement with a second transparent caching server operator that operates fifteen transparent caching servers.
  • the broker agrees to compensate each transparent caching server operator that is a party to a bilateral agreement with the broker in return for providing the broker access to the logs of the transparent caching servers that are under the control of the operator.
  • the compensation may vary per transparent caching server operator based on the overall contribution to the entire bundle of transparent caching server logs by a particular operator.
  • the process continues with the broker entering (at 820 ) into a second set of bilateral agreements with one or more CDN operators.
  • the broker agrees to provide the CDN operators that are parties to the second set of bilateral agreements access to the full set or substantial set of transparent caching server logs that the broker has obtained access to as a result of the first set of bilateral agreements.
  • the CDN operators agree to compensate the broker for such access.
  • the process aggregates (at 830 ) the transparent caching server logs from the transparent caching servers of each operator that is a party to the first set of bilateral agreements.
  • the broker may optionally format the aggregated logs to produce a unified format for the logs. Also, the broker may optionally combine the entries from each of the aggregated logs into a single log.
  • the process then distributes (at 840 ) the aggregated transparent caching server logs to the CDN operators that are parties to the second set of bilateral agreements.
  • the CDN operators can process the logs to identify network usage for their content provider customers.
  • the process receives (at 850 ) compensation from the CDN operators for access to the aggregated set of transparent caching server logs.
  • the process distributes (at 860 ) some or all of the received compensation amongst the transparent caching server operators.
  • the compensation may be distributed based on each transparent caching server's contribution to the bundle of aggregated logs. For example, an operator that provides access to ten transparent caching server logs may be compensated ten times as much as an operator that provides access to a single transparent caching server log.
  • the compensation is more granular.
  • the transparent caching server operators are compensated based on the number of total entries from the logs aggregated from servers of the operators. Consequently, operators of transparent caching servers that serve large amounts of cached content are compensated greater than operators of transparent caching servers that serve lesser amount of content from cache.
  • the broker does not distribute the aggregated logs to the CDN operators.
  • the CDN operators provide identifiers (i.e., association tables) for their content provider customers to the broker.
  • the broker then processes the aggregated logs on behalf of the CDN operators.
  • the network usage that is identified for content provider customers of a particular CDN operator as a result of the processing is then passed to that particular CDN operator in return for some amount of compensation.
  • the broker can charge the CDN operators a variable fee for the network usage that is identified in the aggregate set of logs, while also compensating each transparent caching server operator a variable fee for the total amount of network usage that is related to delivering content for content provider customers of various CDN operators.
  • the end-to-end CDN solution described thus far promotes a federated CDN in which one CDN operator is able to leverage resources of third parties in order to improve its content delivery capabilities.
  • the preceding description and figures describe a federation CDN wherein the third parties participating in the federation include transparent caching server operators.
  • the participants to the federation may additionally include other CDN operators, such that a first CDN operator can use resources of a second CDN operator and a transparent caching server operator to perform improved content delivery.
  • FIG. 9 illustrates a fully federated CDN, wherein a first CDN operator assimilates resources of a transparent caching server operator and resources of a second CDN operator in accordance with some embodiments.
  • the first CDN operator 910 independently operates a set of caching servers 920 , traffic management server 925 , and a log processing server 927 .
  • the transparent caching server operator 930 independently operates transparent caching server 935 .
  • the second CDN operator 940 independently operates a set of caching servers 950 , traffic management server 955 , and a log processing server 960 .
  • the first CDN operator 910 is permitted to leverage the content delivery capabilities of the transparent caching server 935 and the set of caching servers 950 of the second CDN operator 940 in order to deliver content for content provider customers of the first CDN operator 910 .
  • a first bilateral agreement is established between the first CDN operator 910 and the transparent caching server operator 930 in the manner described above and a second bilateral agreement is established between the first CDN operator 910 and the second CDN operator 940 .
  • the second bilateral agreement is one that permits the first CDN operator 910 to place content for one or more of its content provider customers on one or more of the set of servers 950 that is operated by the second CDN operator 940 , so that such content is served from the set of servers 950 in addition to or instead of being served from the set of servers 920 .
  • the first CDN operator 910 purchases unused bandwidth from the second CDN operator 940 for its own usage.
  • the second CDN operator 940 reports network usage and other performance metrics back to the first CDN operator 910 , so that the first CDN operator 910 can bill its content provider customers accordingly.
  • Further description for federating two or more CDNs is provided in the U.S. provisional patent application with Ser. No. 61/524,294 entitled “Open Content Delivery Network Platform with Capacity Exchange”.
  • the log processing server 927 of the first CDN operator 910 aggregates logs from the set of caching servers 920 that is operated by the first CDN operator 910 , the transparent caching server 935 , and the set of caching servers 950 that is operated by the second CDN operator 940 .
  • the log processing server 927 aggregates the logs of the set of caching servers 950 from the log processing server 960 of the second CDN operator 940 .
  • the log processing server 927 processes the aggregated logs to identify total network usage by a content provider customer of the first CDN operator 910 .
  • the total network usage can account for content of the content provider customer that is delivered by the one or more of the set of caching servers 920 , the transparent caching server 935 , and the set of servers 950 .
  • the first CDN operator 910 compensates each of the transparent caching server operator 930 and the second CDN operator 940 for providing access to the logs.
  • Non-transitory computer readable storage medium also referred to as computer readable medium.
  • these instructions are executed by one or more computational element(s) (such as processors or other computational elements like ASICs and FPGAs), they cause the computational element(s) to perform the actions indicated in the instructions.
  • Server, computer, and computing machine are meant in their broadest sense and may include any electronic device with a processor that executes instructions stored on computer readable media or that are obtained remotely over a network connection. Examples of computer readable media include, but are not limited to, CD-ROMs, flash drives, RAM chips, hard drives, EPROMs, etc.
  • a server is identified as a component of the embodied invention, it is understood that the server may be a single physical machine, or a cluster of multiple physical machines performing related functions, or virtualized servers co-resident on a single physical machine, or various combinations of the above.
  • FIG. 10 illustrates a computer system or server with which some embodiments are implemented.
  • a computer system includes various types of computer readable mediums and interfaces for various other types of computer-readable mediums that implement the processes for the end-to-end CDN solution described above (e.g., the transparent caching server, CDN caching server, and log processing server).
  • Computer system 1000 includes a bus 1005 , a processor 1010 , a system memory 1015 , a read-only memory 1020 , a permanent storage device 1025 , input devices 1030 , and output devices 1035 .
  • the bus 1005 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the computer system 1000 .
  • the bus 1005 communicatively connects the processor 1010 with the read-only memory 1020 , the system memory 1015 , and the permanent storage device 1025 . From these various memory units, the processor 1010 retrieves instructions to execute and data to process in order to execute the processes of the invention.
  • the processor 1010 is a processing device such as a central processing unit, integrated circuit, graphical processing unit, etc.
  • the read-only-memory (ROM) 1020 stores static data and instructions that are needed by the processor 1010 and other modules of the computer system.
  • the permanent storage device 1025 is a read-and-write memory device. This device is a non-volatile memory unit that stores instructions and data even when the computer system 1000 is off. Some embodiments of the invention use a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) as the permanent storage device 1025 .
  • the system memory 1015 is a read-and-write memory device. However, unlike the storage device 1025 , the system memory is a volatile read-and-write memory, such as random access memory (RAM).
  • RAM random access memory
  • the system memory stores some of the instructions and data that the processor needs at runtime. In some embodiments, the processes are stored in the system memory 1015 , the permanent storage device 1025 , and/or the read-only memory 1020 .
  • the bus 1005 also connects to the input and output devices 1030 and 1035 .
  • the input devices enable the user to communicate information and select commands to the computer system.
  • the input devices 1030 include, but are not limited to, alphanumeric keypads (including physical keyboards and touchscreen keyboards) and pointing devices (also called “cursor control devices”).
  • the input devices 1030 also include audio input devices (e.g., microphones, MIDI musical instruments, etc.).
  • the output devices 1035 display images generated by the computer system.
  • the output devices include, but are not limited to, printers and display devices, such as cathode ray tubes (CRT) or liquid crystal displays (LCD).
  • CTR cathode ray tubes
  • LCD liquid crystal displays
  • bus 1005 also couples computer 1000 to a network 1065 through a network adapter (not shown).
  • the computer can be a part of a network of computers (such as a local area network (“LAN”), a wide area network (“WAN”), or an Intranet, or a network of networks, such as the Internet.
  • LAN local area network
  • WAN wide area network
  • Intranet an Intranet
  • the computer system 1000 may include one or more of a variety of different computer-readable media.
  • Some examples of such computer-readable media include RAM, ROM, read-only compact discs (CD-ROM), recordable compact discs (CD-R), rewritable compact discs (CD-RW), read-only digital versatile discs (e.g., DVD-ROM, dual-layer DVD-ROM), a variety of recordable/rewritable DVDs (e.g., DVD-RAM, DVD-RW, DVD+RW, etc.), flash memory (e.g., SD cards, mini-SD cards, micro-SD cards, etc.), magnetic and/or solid state hard drives, ZIP® disks, read-only and recordable blu-ray discs, any other optical or magnetic media, and floppy disks.
  • RAM random access memory
  • ROM read-only compact discs
  • CD-R recordable compact discs
  • CD-RW rewritable compact discs
  • CD-RW read-only digital versatile discs

Abstract

Some embodiments provide an end-to-end federated CDN solution that assimilates a transparent caching server that is operated by a transparent caching server operator into a CDN that independently operates CDN caching servers. Specifically, the logs from the transparent caching server are assimilated into the CDN by aggregating the logs from the transparent caching server and processing the transparent caching server logs to identify network usage for content of a CDN content provider customer that is delivered by the transparent caching server. The network usage is then combined with the network usage that tracked by the CDN caching servers in order to provide comprehensive report metrics for the content provider customer and to bill the content provider customer for all network usage related to delivering the content provider customer's content irrespective of whether the content was delivered by a transparent caching server or a CDN caching server.

Description

    CLAIM OF BENEFIT TO RELATED APPLICATIONS
  • This application claims the benefit of U.S. provisional application 61/524,294, entitled “Open Content Delivery Network Platform with Capacity Exchange”, filed Aug. 16, 2011. The contents of Provisional Application 61/524,294 are hereby incorporated by reference.
  • TECHNICAL FIELD
  • The present invention relates to content caching and content delivery networks.
  • BACKGROUND ART
  • Content delivery networks (CDNs) have greatly improved the transfer of content across data networks such as the Internet. One way that a CDN improves the transfer of content is to reduce the distance that content travels in order to reach a destination. To do so, the CDN operator strategically locates surrogate origin servers, also referred to as CDN caching servers or edge servers, at various points-of-presence (PoPs) that are geographically proximate to large numbers of end users. CDN customers are content providers that offload their content to the CDN caching servers. The CDN caching servers cache the offloaded content and deliver the content on behalf of the CDN customers or content providers. More particularly, from the geographically proximate locations of the CDN caching servers to the end users, the CDN caching servers serve the cached content to end users in a manner that is more efficient than if the content providers were to serve the content themselves. The CDN uses a traffic management system to route requests for the cached content to the CDN caching server that can optimally deliver the requested content to the requesting end user. As used hereafter, optimal delivery of content refers to the most efficient available means by which content can be delivered from a server to an end user machine over a data network. Optimal delivery of content may be quantified in terms of latency, jitter, packet loss, distance, and overall end user experience.
  • Determination of the optimal CDN caching server may be based on geographic proximity to the requesting end user as well as other factors such as load, capacity, and responsiveness of the CDN caching servers. The optimal CDN caching server delivers the requested content to the requesting end user in a manner that is more efficient than when origin servers of the content provider (CDN customer) deliver the requested content or when other CDN caching servers at different PoPs of the CDN deliver the content. For example, a CDN operator may deploy CDN caching servers to form PoPs in Los Angeles, Dallas, and New York. These caching servers may cache content that is published by a particular content provider customer who has an origin server in Miami. When a requesting end user in San Francisco submits a request for the content of the particular content provider customer, the CDN will deliver the content from a CDN caching server at the Los Angeles PoP on behalf of the particular content provider customer, as opposed to the much greater distance that would be required when delivering the content from the particular content provider customer's origin server in Miami. In this manner, the CDN reduces the latency, jitter, and amount of buffering that is experienced by the requesting end user.
  • Another advantage of the CDN is that it allows content provider customers to offload infrastructure costs, configuration management, and maintenance to the CDN. The CDN operator deploys and manages the infrastructure for the delivery network and the CDN operator allocates as much resources as needed to a particular content provider customer at a given time, with the ability for the particular content provider customer to rapidly scale resources as needed. Content provider customers only pay the CDN operator for the resources (e.g., bandwidth) that are used to serve the content provider customer's content from any of the CDN's PoPs to whichever end users request that content. Content provider customers can therefore devote more time to the creation of content and less time to the creation of an infrastructure that delivers the content to end users. As a result of these and other benefits, many CDNs are in operation today. Edgecast, Akamai, Limelight, and CDNetworks are some examples of currently operating CDNs.
  • A problem confronting any CDN operator is the inability to provide a true end-to-end content delivery solution. This is because the CDN operator does not control all links in the delivery chain over which content is delivered from one of its CDN caching servers to an end user. Specifically, the CDN operator does not have control over one or more of the final links in the delivery chain. This discontinuity in the delivery chain is primarily a result of the Telcos that are positioned between the CDN and the end users. A Telco means and refers to a wireless or mobile service provider, broadband service provider, or any internet service provider (ISP). Telcos may be regional or national service providers and may include service providers such as AT&T®, Verizon® and Charter Communications®. A Telco provides one or more end users connectivity to data networks, including the Internet. Such connectivity enables the communication between the CDN caching servers and the end users. The Telco fully controls the components and the network that enable such connectivity. As a result, a CDN operator is typically unable to locate its caching servers inside the Telco network, when the Telco wishes to maintain full control of its network. End users that are customers of a particular Telco, pay the Telco for access to the data network. Payment may be in the form of monthly subscription fees or pay-per-increment of bandwidth usage. This payment in turn pays for the cost of connecting the Telco network to other data networks, thereby providing end users of the Telco access to the Internet.
  • A Telco interrupts the end-to-end delivery capability of the CDN when it deploys one or more transparent caching servers or proxy servers within the Telco-controlled network. Typically, the Telco deploys such servers at gateway locations, whereby content passing between the Telco network and an external data network flows at some point through the transparent caching server or proxy server. The terms transparent caching server will be used hereafter to refer to the functionality of either a transparent caching server or a proxy server. As is known to one of ordinary skill in the art, a transparent caching server is functionally different and is operated independent of the CDN caching servers. A transparent caching server can be configured by the Telco to specify certain content that the Telco wishes to designate as hot (i.e., popular) content, whereas the CDN caching servers are configured to cache content based on rules configured by the CDN operator or rules provided by their content provider customers. In further contrast to the CDN caching servers, a transparent caching server monitors content passing between a source (e.g., the external data network) and a destination (e.g., end-user customers of the Telco). The monitoring is performed to determine what content to cache. The monitoring is also performed in order to intercept requests for content that the transparent caching server has cached, wherein intercepting a request prevents the request from reaching a source that ordinarily serves the requested content (e.g., a content provider server or a CDN caching server). Upon intercepting a request, the transparent caching server can serve the content requested in the request from cache back to the requestor, with the request reaching its intended destination and without the source being aware that the content was requested or was served by another (i.e., the transparent caching server). CDN caching servers typically perform no such monitoring and interception. Instead, CDN caching servers typically respond to a request when the request is routed to a particular CDN caching server usually as a result of some redirection, wherein the redirection may include DNS redirection, aliasing and URL rewriting as some examples.
  • By deploying one or more transparent caching servers within a Telco network, the Telco, in a sense, can create and operate its own local CDN independent of the external CDNs operated, for example, by Edgecast or Akamai. This further accelerates the delivery of content to the Telco's end users as the Telco is often the final link in the delivery chain to the end users. Telcos benefit from the deployment of transparent caching servers because such servers reduce the amount of transit traffic outside the Telco network, thereby reducing bandwidth costs for the Telco. Stated differently, some of the end user requested content can be served from the local cache of the transparent caching server that is internal to the Telco network instead of having to use external data network bandwidth when serving the requested content from CDN caching servers, origin servers of a content provider, or other servers that are located in the data network that is external to the data network operated by the Telco.
  • This interruption in the end-to-end delivery capability of the CDN prevents requests for certain content from reaching the CDN and from being serviced by the CDN. As a result, the revenue stream of the CDN is impacted as less content is served by the CDN on behalf of the CDN's content provider customers. Also, the metrics computed by the CDN for measuring the demand for content provider customer content and for measuring the performance in delivering such content are impacted. Specifically, the measurements are inaccurate because the CDN no longer delivers all content on behalf of its content provider customers. For example, there may be a thousand distinct requests for a particular content provider customer's content that the CDN is to deliver on behalf of the particular such content provider customer. However, it may be that only seven hundred of those requests are serviced by the CDN's caching servers and the other three hundred requests are intercepted before reaching the CDN's caching servers and are instead serviced by transparent caching servers operated by one or more Telcos. In this scenario, the CDN will report to the particular content provider customer that its content was requested only seven hundred times, when in actuality the content was requested one thousand times. In other words, the performance measurements and other metrics related to the delivery of the particular content provider customer's content and that are reported by the CDN to the particular content provider customer will only take into account the content delivered in response to the seven hundred requests serviced by the CDN while omitting performance measurements and other metrics related to three hundred requests that were intercepted and serviced by the transparent caching servers. As a result, the CDN underreports the demand for the particular content provider customer's content and any other metrics are inaccurate.
  • The interruption in the CDN's end-to-end delivery capability also raises intellectual property rights issues. Based on the contract that the content provider customer establishes with the CDN, it may be that only the CDN is authorized to cache, host, distribute, or otherwise serve content of the content provider customer and any transparent caching of the content provider customer's content violates the terms governing who is authorized to cache, host, distribute, or otherwise serve such content.
  • Accordingly, there is a need for a true end-to-end CDN solution. There is a need for such an end-to-end CDN solution to leverage and account for components in the delivery chain that are both operated by the CDN and not operated by the CDN (i.e., operated by a third party such as a Telco). There is a need for such an end-to-end CDN solution to more accurately determine metrics associated with delivering content provider customer content, to ensure authorized distribution of such content and to compensate the CDN for delivering all of such content.
  • SUMMARY OF THE INVENTION
  • It is an objective of the embodiments described herein to provide an end-to-end Content Delivery Network (CDN) solution. To do so, it is an objective to assimilate components and existing resources of one or more third-party intermediaries with those of a CDN, in order to create a federated CDN that has access to each link in the delivery chain over which content is delivered from a server of the federated CDN to end users.
  • To achieve these and other objectives, some embodiments provide an end-to-end federated CDN solution that assimilates existing independently-operated components and resources of a third-party intermediary with those of a CDN. More specifically, some embodiments provide systems and methods for assimilating one or more transparent caching servers that are operated by one or more transparent caching server operators (e.g., Telcos) into a CDN, wherein the CDN operates a set of CDN caching servers independent of the transparent caching servers that are operated by the transparent caching server operators.
  • The systems and methods for performing such assimilation establish a relationship that is mutually beneficial to the transparent caching server operators as well as the CDN operator. From this relationship, a transparent caching server operator receives compensation (typically monetary) from a CDN operator in return for providing the CDN operator access to the logs of the transparent caching servers that are operated by the transparent caching server operator. The CDN operator benefits from the gained access to the transparent caching server logs because such access allows the CDN operator (1) to more accurately and comprehensively track and report metrics related to the delivery of content for the CDN's content provider customers, (2) to monetize the end-to-end delivery for CDN content provider customer content including the ability to monetize on the CDN content provider customer content that is delivered by the transparent caching servers, whereas prior to such assimilation, the transparent caching servers could intercept and serve such content without the CDN's knowledge and without the CDN logging such usage. The assimilation of the transparent caching servers also improves the overall content delivery capabilities of the CDN as the transparent caching servers can deliver content on behalf of the CDN's content provider customers to some end users with less latency than the CDN caching servers; and the CDN operator can account for the delivery performance of the transparent caching servers as a result of having access to their logs. Furthermore, the assimilation of the transparent caching into the CDN can be performed with little to no change on the part of the transparent caching server operator and with little additional overhead to the CDN operator.
  • In some embodiments, the systems and methods for creating the federated CDN in which transparent caching servers are assimilated with CDN caching servers involve establishing a sharing relationship between the transparent caching server operator and the CDN operator. The sharing relationship sets the conditions upon which the transparent caching server operator provides the CDN operator access to the logs of the transparent caching servers. The sharing relationship further sets the compensation (e.g., fixed or variable) that the CDN operator provides to the transparent caching server operator in return for the access and also the access credentials with which the CDN operator can remotely access the transparent caching servers in order to aggregate the logs from the transparent caching servers.
  • In some embodiments, the systems and methods for creating the federated CDN involve configuring a log processing server (i.e., administrative server) of the CDN to periodically aggregate the one or more logs from each assimilated transparent caching server through a remote connection. The remote connection may be established using the HyperText Transfer Protocol (HTTP), File Transfer Protocol (FTP), Secure Shell (SSH) protocol, Spanning Tree Protocol (STP), or other networking protocol. Using the remote connection, the log processing server may periodically pull the logs from the transparent caching servers that have been assimilated into the CDN. Alternatively, the assimilated transparent caching servers may periodically push the logs to the log processing server using the remote connection.
  • The log processing server processes each log in conjunction with an association table. The association table includes entries for relating network usage that is entered into the aggregated logs back to a CDN content provider customer who originates or otherwise authorizes dissemination of the content by the CDN (i.e., a content provider that has contracted the CDN to deliver content on its behalf). In some embodiments, the association table can be used to identify network usage for content provider customers of other CDNs, so as to provide the identified network usage to those CDNs in return for compensation. Accordingly, the processing of a particular transparent caching server log in conjunction with the association table identifies, for each entry of network usage that is entered to the particular log, whether the network usage relates to content that is delivered for a content provider customer of a CDN or not.
  • In some embodiments, the network usage from the aggregated transparent caching server logs that is identified for a CDN's content provider customer is used to report on the delivery of the content provider customer's content. From the identified network usage, the log processing server derives metrics that quantify performance, demand, and other parameters relating to the delivery of the content provider customer's content. In some such embodiments, the network usage identified from the transparent caching server logs is combined with network usage for the same content provider customer as identified in logs that are aggregated from the CDN caching servers. In so doing, the CDN derives comprehensive and accurate performance metrics that account for CDN-controlled components as well as components controlled by third parties, both of which are nevertheless used to deliver content of the content provider customer.
  • In some embodiments, the network usage from the aggregated transparent caching server logs that is identified for a CDN's content provider customer is used to bill the content provider customer for that network usage. Specifically, the content provider customer is assessed a fee for the network usage that is associated with the content that has been delivered on behalf of the content provider customer by the transparent caching server that is now assimilated into the CDN. This fee may be computed using the same algorithms and criteria that would have been used if the content was delivered from a caching server of the CDN instead of the transparent caching server. In some embodiments, the assessed fee is a fee that is derived based on the network usage that is associated with the content delivery identified in the logs aggregated from the transparent caching servers and also the network usage that identified in the logs aggregated from caching servers of the CDN.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • In order to achieve a better understanding of the nature of the present invention, preferred embodiments for the end-to-end CDN solution will now be described, by way of example only, with reference to the accompanying drawings in which:
  • FIG. 1 presents an exemplary framework for the end-to-end CDN solution in accordance with some embodiments.
  • FIG. 2 presents a process for assimilating transparent caching servers into a CDN in accordance with some embodiments.
  • FIG. 3 presents a process for utilizing assimilated transparent caching server logs to provide an end-to-end CDN solution in accordance with some embodiments.
  • FIG. 4 illustrates processing transparent caching server logs in accordance with some embodiments.
  • FIG. 5 conceptually illustrates generating comprehensive and detailed reports for the combined network usage of different content provider customers of the CDN in accordance with some embodiments.
  • FIG. 6 illustrates the links in the delivery chain that content typically traverses when passing from a CDN to an end user.
  • FIG. 7 illustrates how a first CDN operator can further monetize a transparent caching server log by redistributing the transparent caching server log to second and third CDN operators in accordance with some embodiments.
  • FIG. 8 presents a process performed by a broker acting as a reseller of transparent caching server logs in accordance with some embodiments.
  • FIG. 9 illustrates a fully federated CDN wherein a first CDN operator assimilates resources of a transparent caching server operator and resources of a second CDN operator in accordance with some embodiments.
  • FIG. 10 illustrates a computer system or server with which some embodiments are implemented.
  • DETAILED DESCRIPTION
  • In the following detailed description, numerous details, examples, and embodiments for systems and methods for the end-to-end Content Delivery Network (CDN) solution are set forth and described. As one skilled in the art would understand in light of the present description, these systems and methods are not limited to the embodiments set forth, and these systems and methods may be practiced without some of the specific details and examples discussed. Also, reference is made to the accompanying figures, which illustrate specific embodiments in which the systems and methods can be practiced. It is to be understood that other embodiments can be used and structural changes can be made without departing from the scope of the embodiments herein described.
  • I. Framework
  • FIG. 1 presents an exemplary framework for the end-to-end CDN solution in accordance with some embodiments. The end-to-end CDN solution is the result of assimilating two transparent caching servers 110 and 120 that are independently operated by different Telcos 130 and 140 with CDN caching servers 160 of a CDN 150. The end-to-end CDN solution, allows the CDN 150 to expand its reach by leveraging already deployed resources of the Telcos 130 and 140 (i.e., the transparent caching server 110 and 120). In so doing, the CDN 150 improves its content delivery performance, provides more comprehensive reporting, and lowers overall cost of content delivery.
  • Each transparent caching server 110 and 120 may be representative of a fully integrated machine having the software and hardware necessary to perform transparent caching or proxy caching. Each transparent caching server 110 and 120 may alternatively be representative of a machine that is integrated with the necessary software or hardware to perform transparent caching or proxy caching in conjunction with other functionality. Furthermore, each transparent caching server 110 and 120 may be representative of one or more physical machines or virtual machines that run on one or more physical machines to perform transparent caching or proxy caching. Transparent caching and proxy caching is defined in conformance with the well understood industry definition. Accordingly, the terms are intended to generally include any machine that performs a monitoring and/or intercepting function as part of a caching function.
  • The monitoring and caching function is illustrated by the transparent caching server 110 while the intercepting and caching function is illustrated by the transparent caching server 120. The transparent caching server 110 is positioned between the end user subscribers of the Telco 130 and a gateway from which the end user subscribers request and obtain content from an external data network such as the Internet. The transparent caching server 110 monitors content passing between a source (e.g., the external data network) and a destination (e.g., an end user subscriber of the Telco 130). The monitoring is performed to analyze end user subscriber submitted requests for content in order to determine whether the transparent caching server 110 has the requested content cached. In this example, the transparent caching server 110 receives a request from an end user subscriber of Telco 130, analyzes the request, and determines that the requested content is not cached. The transparent caching server 110 does not intercept the request and allows the request to pass into the external data network for routing to the appropriate source. As shown, the request is routed to a CDN caching server of the CDN 150 that serves the content back to the requesting end user subscriber of Telco 130. The served content passes through the transparent caching server 110. The transparent caching server 110 monitors the content and identifies the content being sent in response to the request and so the transparent caching server 110 caches the content. In so doing, any subsequent requests for the same content by an end user subscriber of the Telco 130 can be intercepted and the content can be served from the transparent caching server 110 instead of the more remote CDN caching server or more remote content provider server that may also host the requested content.
  • Similar to the positioning of the transparent caching server 110, the transparent caching server 120 is positioned between the end user subscribers of the Telco 140 and the external data network (i.e., Internet). The transparent caching server 120 monitors requests that are issued by the end user subscribers of the Telco 140. In the illustrated example, the transparent caching server 120 identifies a request for content that the transparent caching server 120 has cached. Accordingly, the transparent caching server 120 intercepts the request thereby preventing the request from being forwarded to the external data network and, in turn, preventing the request from being received by a CDN caching server of the CDN 150 or content provider server that hosts the requested content. The transparent caching server 120 then satisfies the intercepted request by passing the requested content from its cache to the requesting end user subscriber of Telco 140.
  • The transparent caching server 110 is independently operated by the Telco 130 and the transparent caching server 120 is independently operated by the Telco 140 such that access to the transparent caching server is ordinarily restricted to the operating entity. Each transparent caching server 110 and 120 is assigned a network address (i.e., an Internet Protocol (IP) address) such that it may be accessed using a remote connection. The remote connection may be established using the HyperText Transfer Protocol (HTTP), File Transfer Protocol (FTP), Secure Shell (SSH) protocol, Spanning Tree Protocol (STP), Transmission Control Protocol (TCP), or other networking protocol. The remote connection can be used to manage the transparent caching server by configuring the rules for how the transparent caching server determines what content to cache and when to cache the content. The remote connection can also be used to retrieve and view the logs of the transparent caching servers 110 and 120. The log for the transparent caching server 110 tracks the content that was delivered by the transparent caching server 110. The parameters tracked to the log typically include at least one identifier for identifying the content that was delivered and bandwidth utilization that is associated with delivering the content. The identifier for identifying the content may include an IP address, Uniform Resource Identifier (URI), or string representing the content name. The bandwidth utilization may be quantified by a file size or Kilobyte/Megabyte per second with an associated amount of time needed to deliver the content. It should be apparent to one of ordinary skill in the art that the log may include additional parameters for identifying the content that is delivered by the transparent caching server and for identifying the source entity and/or destination entity for the delivered content.
  • As noted above, the Telcos 130 and 140 are service providers that provide one or more end user subscribers connectivity to data networks, including the Internet. The Telcos 130 and 140 are the initial point of entry for the end users to these data networks. Also, the Telcos 130 and 140 are the final link in the delivery chain (or path) for content that is delivered from the data networks to the end user subscribers. For purposes of simplicity, the other components besides the transparent caching servers of the Telcos 130 and 140 are abstracted and not shown. Though Telcos 130 and 140 are presented in FIG. 1, it should be apparent to one of ordinary skill in the art that the Telcos 130 and 140 may be substituted by any operator of one or more transparent caching servers that operates the transparent caching servers independent of the CDN 150 and also locates the transparent caching servers at some point along the delivery path in which content is passed from the CDN 150 or from any external data network to one or more end users. Therefore, it should be apparent to one of ordinary skill in the art that the operation of the transparent caching servers 110 and 120 need not be confined to the illustrated Telcos (130 and 140), but that the transparent caching servers 110 and 120 can operate at any intermediary location between a source and a destination irrespective of whether the intermediary location is at a location in a Telco or some other network or service provider (e.g., any ISP).
  • Some appliance manufacturers for the transparent caching servers 110 and 120, and more generally, for the transparent caching servers envisioned for the federated end-to-end CDN solution are those manufactured by PeerApp Ltd. and Blue Coat Systems Inc. It is irrelevant whether the transparent caching servers that are assimilated to create the end-to-end solution and that are shown in the exemplary framework of FIG. 1 are identical or different machines from the same manufacturer or different manufacturers.
  • The CDN 150 is conceptually illustrated with a distributed set of CDN caching servers 160, traffic management servers 170, and a log processing server 180. The figure also illustrates the interactions that CDN customers, including content provider customers, have with the CDN 150 and interactions that content consumers or end users have with the CDN 150.
  • Each CDN caching server of the set of CDN caching servers 160 may represent a single physical machine or a cluster of machines that serves content on behalf of different CDN content provider customers to end users of the illustrated Telcos 130 and 140 and to any other content consumer that requests content that the CDN 150 has been contracted to serve on behalf of the CDN content provider customers. One set of CDN caching servers 160 may represent a server farm for a geographically proximate set of physically separate machines or a set of virtual machines that execute over partitioned sets of resources of one or more physically separate machines. The set of CDN caching servers 160 are distributed across different edge regions of a data network (i.e., the Internet) to facilitate accelerated delivery of content. Specifically, the set of CDN caching servers 160 are distributed to form different points-of-presence (PoPs) at these different edge regions.
  • The CDN 150 uses the traffic management servers 170 to route an end user that requests content of a content provider customer to the closest PoP in order to optimally serve the requested content to the requesting end user. Stated differently, the traffic management servers 170 resolve requests for content that is hosted by the CDN 150 to the CDN caching server that optimally serves that content back to the end user, wherein optimally serving the content is quantified in terms of latency, jitter, packet loss, time to buffer, and other such measureable metrics. Different CDN implementations use different traffic management schemes to achieve such routing to the optimal PoPs or CDN caching servers. As one example, the traffic management servers 170 perform Anycast routing to identify a CDN caching server from the set of CDN caching servers 160 that can optimally serve requested content to a particular end user requesting the content. It should be apparent that the traffic management servers 170 can include different combinations of Domain Name System (DNS) servers, load balancers, and routers performing Anycast or Border Gateway Protocol (BGP) routing.
  • The log processing server 180 may include a central server of the CDN 150 or a distributed set of interoperating servers that perform the configuration control, reporting, and billing functionality for the CDN 150. Content providers register with the CDN 150 in order to access services and functionality of the CDN 150. Accordingly, content providers are also referred to as customers of the CDN 150. Once registered, CDN content provider customers can interface with the log processing server 180 to specify a configuration, upload content, and view performance reports. The log processing server 180 also aggregates statistical and performance data from each server of the set of CDN caching servers 160. The log processing server 180 processes the aggregated data to produce usage and performance reports. From these reports, CDN content provider customers can better understand the demand for their content, the performance provided by the CDN 150 in delivering their content, and the need for capacity reallocation, among other uses. The log processing server 180 also processes the aggregated data to bill the CDN's content provider customers for the network usage that is related to the delivery of the content provider customers' content by the CDN caching servers 160. Network usage generally refers to an amount of bandwidth consumed when delivering content from a source to a destination. Network usage may be quantified as a bits/bytes consumed over some duration (e.g., 10 KB/s for 10 seconds) or as the file size for content that is delivered from a source to a destination.
  • By assimilating the transparent caching servers 110 and 120 with the caching servers 160 of the CDN 150, the CDN 150 is able to expand its reach by leveraging already deployed resources of third parties. In so doing, the overall content delivery performance of the CDN 150 is improved. This is a result of the closer geographic proximity that the transparent caching servers 110 and 120 have to the end user subscribers of the Telcos 130 and 140 relative to the CDN caching servers 160 and because the CDN 150 can factor, as a result of the assimilation, the content delivery performance of the transparent caching servers 110 and 120 with the content delivery performance of its own CDN caching servers 160 when determining overall content delivery performance for the CDN content provider customers. Prior to the end-to-end CDN solution and the assimilation of the transparent caching servers 110 and 120 into the CDN 150, the content delivery performance of the transparent caching servers 110 and 120 would be unaccounted for by the CDN 150 when the CDN 150 reported content delivery performance to its content provider customers and when some content of those content provider customers was actually being served by the transparent caching servers 110 and 120. However, the end-to-end solution resolves these issues and enables the CDN 150 to produce comprehensive and accurate reporting that not only accounts for the content delivery performance of the CDN caching servers 160, but that also accounts for the content delivery performance of the transparent caching servers 110 and 120 that are located at the final link in the delivery chain between end users and the CDN 150. Also, assimilating the transparent caching servers 110 and 120 grows the CDN 150 footprint and the content delivery capabilities of the CDN 150. In so doing, the overall cost for content delivery is lowered. Specifically, the traditional CDN model has each CDN compete with other CDNs, Telcos, etc. In competing with one another, CDNs are in a continual struggle to expand their capacity and capabilities. This expansion results in each CDN incurring the same or similar infrastructure costs related to the deployment of caching servers to designated high traffic areas. This further results in redundant deployment of resources, whereby multiple CDNs operate in the same regions with excess capacity as a result of cannibalizing content delivery from one another. The cost for this redundant deployment of resources is incurred by the CDNs. The CDNs propagate this cost to their content provider customers in the form of higher fees being charged for the bandwidth that is consumed for delivering the content of the content provider customers. The content provider customers then propagate the increased cost to the end users that consume the content in the form of higher subscription fees, content access fees, or other fees.
  • II. End-to-End CDN Solution
  • FIGS. 2 and 3 present processes for implementing the end-to-end CDN solution through the assimilation of transparent caching servers with a CDN in accordance with some embodiments. FIG. 2 presents a process 200 for assimilating transparent caching servers into a CDN in accordance with some embodiments. This process 200 describes a reciprocal bilateral agreement between two independent parties. The first party to the bilateral agreement is a transparent caching server operator that operates a transparent caching server independent of the second party. The transparent caching server operator can include a Telco, ISP, or any other entity that operates one or more transparent caching servers. The second party to the bilateral agreement is a CDN operator that operates a CDN and a distributed set of CDN caching servers. Edgecast, Akamai and LimeLight are examples of different CDN operators.
  • As part of the bilateral agreement, the CDN operator receives (at 210) access to the logs of the transparent caching servers that are operated by the transparent caching server operator. In return, the CDN operator compensates (at 220) the transparent caching server operator for such log access. The terms and conditions for the bilateral agreement are memorialized to detail the bilateral agreement between the transparent caching server operator and the CDN operator. The CDN operator can then assimilate (at 230) the transparent caching servers of the transparent caching server operator into its CDN in the manner described with reference to FIG. 3 below.
  • The reciprocal bilateral agreement entered into between the transparent caching server operator and the CDN operator is one that can be exclusive in nature or one that is non-exclusive in nature. An exclusive bilateral agreement is one in which only the CDN operator (that is a party to the agreement) receives or is provided any form of access to the logs of the transparent caching servers. Stated differently, the transparent caching server operator is contractually prevented from distributing or otherwise providing other CDN operators or other entities that are not a party to the bilateral agreement access to the transparent caching server logs. A non-exclusive bilateral agreement is one that does not contractually restrict the transparent caching server operator from providing other entities access to the logs of the transparent caching servers. The bilateral agreement and, by extension, the process 200 may be initiated by either the CDN operator or the transparent caching server operator.
  • The CDN operator may receive the logs of the transparent caching servers via different pull or push mechanisms. For some such push or pull mechanisms, the transparent caching server operator provides the CDN operator with remote access to the transparent caching servers. Typically, a transparent caching server has a network interface with which the transparent caching server can be remotely accessed using a network communication protocol. In some embodiments, the remote access to a transparent caching server is established using the HTTP, FTP, SSH, STP, or other network protocol. This remote access may be restricted to authorized users. In some embodiments, the transparent caching server operator configures the transparent caching servers with username and password combinations that can be used to identify the authorized users. Therefore as part of the bilateral agreement entered in between the CDN operator and the transparent caching server operator, the transparent caching server operator may provide the CDN operator with the secure access credentials (e.g., username and password) that the CDN operator can use to remotely access the transparent caching servers in order to obtain the logs from those servers. In some embodiments, the transparent caching servers are configured by the transparent caching server operator to periodically push the logs to the CDN operator. In some embodiments, the transparent caching server operator may also provide the CDN operator access to the logs without providing the CDN operator remote access to the transparent caching servers. For instance, as part of the bilateral agreement, the transparent caching server operator agrees to periodically (e.g., weekly or monthly) aggregate the logs from its transparent caching servers and then pass the aggregated logs to the CDN operator, such that the transparent caching server operator maintains full control over its transparent caching servers. This latter method of providing transparent caching server logs may be preferred when the transparent caching server operator provides the CDN operator only partial access to the logs. For example, the transparent caching server operator may not want the CDN operator to know all the content that is being served from its transparent caching servers. Therefore, the transparent caching server operator can filter the logs before providing the CDN operator access to the logs. The filtering can be performed to remove usage entries that identify content that is originated or sourced by a content provider that is not a customer of the CDN. The CDN operator may provide the transparent caching server operator identifiers for identifying the content providers that are the CDN's customers and whose usage should not be filtered from the transparent caching server logs when filtering is to be performed.
  • As noted above, the CDN operator compensates (at 220) the transparent caching server operator for the transparent caching server log access. In some embodiments, the CDN operator provides fixed compensation to the transparent caching server operator for access to each transparent caching server log. The compensation may be monetary. For example, the CDN pays the transparent caching server operator ten dollars for each log that the CDN gains access to. The compensation may also be recurring, such that the CDN operator pays the transparent caching server operator ten dollars every month for monthly access to the logs of a particular transparent caching server. The compensation may also be an exchange of services. For instance, the transparent caching server operator provides the CDN operator free access to the transparent caching server logs when the CDN operator agrees to deliver content on behalf of the transparent caching server operator to end users that are outside the network controlled by the transparent caching server operator. It should be apparent to one of ordinary skill in the art that the compensation may be provided with other means in which some economic value is imparted to the transparent caching server operator for providing the CDN operator access to the transparent caching server logs. In some embodiments, the CDN operator provides variable compensation to the transparent caching server operator. The variable compensation may be based on a specified set of conditions. As a specific example, the variable compensation may be based on a percentage of monetization that the CDN operator realizes from the log. Continuing with the example, if the log identifies usage for the CDN's content provider customers and the CDN operator is able to charge the content provider customers one hundred dollars for such usage, the variable compensation may be ten percent of the fee collected by the CDN, which, in this example, amounts to ten dollars of compensation that the CDN operator provides back to the transparent caching server operator.
  • Accordingly, the bilateral agreement is a reciprocal agreement in which the CDN operator gains access to the logs of the transparent caching servers and the transparent caching server operator is compensated by the CDN operator for such access. This reciprocity provides incentive to both parties to enter into the bilateral agreement, as the bilateral agreement is one that both the transparent caching server operator and the CDN operator benefit from. Specifically, the CDN operator gains access to the logs of the transparent caching servers. These logs enable the CDN to more comprehensively track network usage for the CDN's content provider customers. Before assimilation of the transparent caching servers, the CDN operator could only reliably track network usage to the level of the Telco or to the level of where a transparent caching server existed in the delivery chain in which content is passed from a CDN caching server to an end user. After assimilation of the transparent caching servers, the CDN operator can reliably track end-to-end network usage all the way down to the end user level. This allows the CDN operator to produce more comprehensive and detailed reports, performance measurements, and other metrics relating to the delivery of the CDN's content provider customers' content to the end users. Also, by gaining access to each link in the delivery chain to the end user, the CDN operator is able to accurately bill its content provider customers for network usage relating to delivering the content provider customers' content to each end user. Before such assimilation, it was likely that a transparent caching server at an intermediary position in the delivery chain would cache content the first time it is passed from a CDN caching server to a requesting end user. Then, a subsequent request for the same content by an end user at the end of the same delivery chain would not reach the CDN and would instead be intercepted and served from the transparent caching server cache without the CDN's knowledge. As a result, content provider customers had their content partially delivered free of charge. After assimilation of the transparent caching servers into the CDN, the content provider customers are billed for all network usage that is related to delivering their content to end users, even if such delivery is accelerated by one or more transparent caching servers. The transparent caching server operator also benefits from this reciprocal bilateral agreement because the transparent caching server operator would previously receive no compensation for delivering the CDN's content provider customers' content, even though bandwidth was consumed when delivering such content from the transparent caching server's cache to the end users. By entering into the reciprocal bilateral agreement with the CDN operator, the CDN operator indirectly compensates the transparent caching server operator for such network usage by directly compensating the transparent caching server operator for access to the logs that are then used to pass the network usage fees to the CDN's appropriate content provider customer.
  • FIG. 3 presents a process 300 for utilizing assimilated transparent caching server logs to provide an end-to-end CDN solution in accordance with some embodiments. The process 300 commences once a bilateral agreement has been formalized with one or more transparent caching server operators. The process 300 is performed by a CDN operator. More specifically, the process 300 is a machine-implemented process that is performed by a particular machine under control of the CDN operator. In some embodiments, the process 300 is performed by any server of the CDN operator that is responsible for billing in the CDN, such as the log processing server described with reference to FIG. 1 above. The machine-implemented process is embodied as a program that is stored to a non-transitory computer-readable storage medium and the program is executed by a microprocessor to automatedly perform the steps recited below.
  • The process 300 begins by aggregating (at 310) logs from the transparent caching servers to which the CDN operator has been provided access, pursuant to one or more bilateral agreements. The logs may be aggregated from transparent caching servers that are operated by different operators (e.g., a first transparent caching server that is operated by a first Telco and a second transparent caching server that is operated by a second Telco). As noted above, the logs may be aggregated by (1) remotely accessing the transparent caching servers and pulling the logs from the remotely accessed servers, (2) configuring the transparent caching servers to periodically push the logs to the CDN operator, or (3) obtaining the logs from the transparent caching server operator. Accordingly, aggregation may involve downloading the logs from the servers, retrieving copies of the logs from the servers, or having the logs pushed from the servers via a file transfer mechanism such as FTP.
  • The process also aggregates (at 315) logs from CDN caching servers that are operated by the CDN operator. In embodiments involving a federated CDN, the process may aggregate logs from CDN caching servers that are operated by a first CDN operator and logs from CDN caching servers that are operated by a second CDN operator, wherein the first and second CDN operators participate in the federated CDN. The CDN log processing server may aggregate the CDN caching server logs using a pull mechanism, whereby the log processing server remotely accesses each of the CDN caching servers and downloads the logs from the CDN caching servers. Alternatively, the CDN caching servers may periodically push their logs to the log processing server.
  • The process processes (at 320) the aggregated logs of the transparent caching servers. The processing is performed to identify network usage that is related to the delivery of content for content providers that are customers of the CDN. In some embodiments, the processing performed at step 320 involves filtering the aggregated logs to remove network usage that is related to delivering content for content providers that are not customers of the CDN operator. In some embodiments, the processing performed at step 320 involves filtering the network usage that is related to delivering content for content providers that are customers of the CDN operator and storing the filtered usage to a different filtered log. In some embodiments, the processing performed at step 320 involves processing the aggregated logs in conjunction with an association table. The association table aids in identifying network usage in the logs that is related to delivering content for different content providers that are customers of the CDN operator. In some embodiments, the association table contains a list of identifiers that identify the CDN's content provider customers based on IP addresses, URIs, DNS records (e.g., CNAMEs), etc. The CDN operator is provided these identifiers when a content provider registers as a customer of the CDN operator in order to have the CDN operator serve the content provider customers' content on behalf of the content provider customers.
  • FIG. 4 illustrates processing transparent caching server logs to identify network usage that is related to the delivery of content for content providers that are customers of the CDN in accordance with some embodiments. As with the process 300 of FIG. 3 above, the processing illustrated in FIG. 4 may be performed by a log processing server of the CDN. The figure illustrates log 410 that is aggregated from a transparent caching server, an association table 420 used by the log processing server in processing the log 410, and the log after it has been processed 430 (i.e., the post-processed log 430).
  • The transparent caching server log 410 tracks various network usage metrics related to content that is delivered from the transparent caching server that produced the log. Though simplified for explanatory purposes, the log 410 records one or more addressing identifiers 440, content identifiers 450, and network usage identifiers 460 for each item of content that is delivered by the transparent caching server. Different transparent caching servers record different identifiers, parameters, or metrics in the logs. Also, the logs aggregated from different transparent caching servers may present the recorded identifiers, parameters, or metrics in different formats. In some embodiments, the log processing server performs a pre-processing routine on the aggregated transparent caching server log to remove extraneous identifiers, parameters, or metrics and to format the remaining identifiers, parameters, or metrics according to a common format that includes some common baseline set of identifiers, parameters, or metrics.
  • In some embodiments, the addressing identifiers 440 identify the source and/or destination associated with the delivered content. The source and destination are typically addressed with different Internet Protocol (IP) addresses, although it should be apparent to one of ordinary skill that any addressing scheme may be used to identify the source and destination. The source addressing identifier identifies the source from which the delivered content is originally requested. Because a transparent caching server intercepts requests before they reach the content source, the source will typically identify a content provider that originates or is the source for the content being delivered. However, DNS resolution may cause the source addressing identifier to instead identify an address for a CDN caching server that delivers content on behalf of a particular content provider customer. The destination addressing identifier identifies the end user who requested and received the delivered content. The addressing identifiers 440 can be extracted from the header of the content request that is intercepted by the transparent caching server. For instance, the addressing identifiers 440 may include a source IP address and a destination IP address that are extracted from the header of an IP packet that encapsulates the content request. Alternatively, the domain name specified in the header of an HTTP GET request packet can be used to identify the source for the requested content. The extracted addressing identifiers 440 can then be entered in the log in association with the network usage that is required to deliver the requested content from the transparent caching server to the requesting end user.
  • The content identifiers 450 identify the delivered content. In some embodiments, the content identifiers 450 include the Uniform Resource Identifier (URI) that is used to request the content. Alternatively, the content identifiers 450 may include an object or file name. The content identifiers 450 are typically extracted from the header of the content request that was intercepted by the transparent caching server. For instance, the URI can be extracted from the header of an HTTP GET request packet. The extracted content identifiers 450 may be entered into the transparent caching server log in association with addressing identifiers 440 and the network usage that is required to deliver the content identified in the URI from the transparent caching server to the requesting end user.
  • The network usage identifiers 460 identify the network usage related to delivering the content from the transparent caching server to the requesting end user. Network usage is generally quantified as an amount of bandwidth that is consumed to serve the requested content from the transparent caching server to the requesting end user. The bandwidth may be represented as a file size for the content that is delivered from the transparent caching server to the requesting end user. Alternatively, the bandwidth may be represented as a duration and an average amount of bandwidth used over the duration (e.g., 10 Kbps for 10 seconds). It should be apparent to one of ordinary skill in the art that the network usage identifiers 460 may include any identifiers that quantify a rate or amount of data transfer from the transparent caching server to the requesting end user.
  • The association table 420 includes a list of identifiers for identifying the content provider customers of the CDN operator. In some embodiments, the list of identifiers includes IP addresses for the origin servers of the content provider customers, wherein an origin server is a server that is operated by a content provider customer and that hosts content of the content provider customer. In some embodiments the list of identifiers includes URIs, object names, or file names identifying the content for the CDN's content provider customers. As was noted above, this information is acquired by the CDN operator when the content providers register with the CDN operator to have their content delivered by the CDN operator.
  • The processing involves matching identifiers from the log 410 to identifiers in the association table 420 in order to identify network usage from the transparent caching server logs that relate to delivered content for the CDN's content provider customers. When one or more identifiers from the association table 420 match to one or more identifiers associated with an entry in the transparent caching server log 410, that entry is entered to the post-processed log 430. In this manner, the post-processed log 430 records network usage from the transparent caching server log 410 that relates to the delivery of content for the CDN's content provider customers. As shown, two entries 470 and 480 from the log 410 identify network usage that is related to content that is delivered for the CDN's content provider customers. Specifically, the URI associated with entry 470 identifies a domain name for a CDN content provider customer and the source IP address associated with entry 480 identifies an IP address for an origin server of a CDN content provider customer. The other entries from log 410 may be omitted from the post-processed log 430 or otherwise denoted in the post-processed log 430 as not pertaining to the CDN's content provider customers.
  • With reference back to FIG. 3, the post-processed transparent caching server log (e.g., log 430) is integrated (at 330) for report generation. In some embodiments, integrating (at 330) the post-processed transparent caching server log for report generation involves identifying the network usage for each content provider customer of the CDN that is recorded to the post-processed transparent caching server logs and the aggregated CDN caching server logs and producing a comprehensive and detailed report for the combined network usage.
  • FIG. 5 conceptually illustrates generating comprehensive and detailed reports for the combined network usage of different content provider customers of the CDN in accordance with some embodiments. This figure illustrates post-processed transparent caching server log 510, post-processed transparent caching server log 520, CDN caching server log 530, and CDN caching server log 540. The figure also illustrates two comprehensive reports 550 and 560 that are generated for two content provider customers of the CDN as a result of assimilating the post-processed transparent caching server logs 510 and 520 and combining the network usage therein with the network usage identified in the CDN caching servers logs 530 and 540. The post-processed log 510 may be aggregated from a transparent caching server that is operated by a first Telco and the post-processed log 520 may be aggregated from a transparent caching server that is operated by the first Telco or a second Telco. The detailed reports 550 and 560 may be generated by a log processing server of the CDN.
  • To generate the report 550 for the first content provider customer of the CDN, the log processing server identifies the network usage in each of the logs 510-540 that is related to delivering the first content provider customer's content. This identification can be made using an association table such as the one described above with reference to FIG. 4, wherein various identifiers are provided to identify content and associated network usage that belongs to the first content provider customer and the second content provider customer of the CDN. For instance, the association table may include one or more IP addresses, URIs, DNS records that individually or in combination identify the first content provider customer of the CDN. As shown, the log processing server identifies entry 570 from log 510, entry 575 from log 520, and entry 580 from log 540 as entries that identify network usage that is related to the delivery of the first content provider customer's content. These entries 570-580 are then grouped to produce the report 550. In producing the report 550, the log processing server may format the entries 570-580 such that the resulting report 550 is uniformly formatted. In producing the report 550, the log processing server may analyze the entries 570-580 to identify trends or produce statistical data from the resulting aggregated set of data. For instance, the analysis of the collective set of entries 570-580 can yield the total network usage for delivering a particular item of content of the first content provider customer of the CDN to any number of end users or the total network usage that is associated with delivering all of the first content provider customer's content. Assuming that each log 510-540 tracks network usage over the same specified duration, entry 570 identifies 10 megabytes (MB) of network usage for delivering first content of the first content provider customer, entry 575 identifies 1 MB of network usage for delivering second content of the first content provider customer, and entry 580 identifies 10 MB of network usage for delivering the first content of the first content provider customer. Accordingly, the total network usage for delivering all content of the first content provider customer over the specified duration is 21 MB and the total network usage for delivering the first content of the first content provider customer is 20 MB.
  • To generate the report 560, the log processing server identifies entry 585 from transparent caching server log 520 and entry 590 from CDN caching server log 530 as entries that identify network usage that is related to the delivery of the second content provider customer's content. As above, these entries 585-590 are grouped to produce the report 560 wherein producing the report 560 may include formatting and/or analyzing the entries 585-590.
  • The reports 550 and 560 may be viewable through a graphical or interactive interface provided by the CDN. The reports 550 and 560 may also be sent to the customers on a periodic basis via email, traditional mail, or some other delivery means. In some embodiments, the reports 550 and 560 generated as a result of the assimilation of transparent caching server logs 510 and 520 with the CDN caching server logs 530 and 540 serve at least one of two purposes. Firstly, the CDN operator may use the reports to provide comprehensive reporting for the content delivery that is associated with content of each of the CDN's content provider customers. In the prior art, it is typical for the CDN operator to provide its content provider customers with performance metrics, network usage metrics, distribution analysis, trends, histograms, etc. in order for the content provider customers to understand and appreciate the demand for their content, who is consuming their content, where their content is being distributed to, as well as which content is in demand. However, such prior art reporting is deficient and incomplete in many respects because without assimilating transparent caching logs into the reporting, the reporting is based solely on the network usage that is tracked to the logs of the CDN caching servers and does not account for the network usage provided by the transparent caching servers that are located along the delivery path from the CDN to the end users. Consequently, this deficiency skews the metrics and numbers that are reported to the content provider customers, thereby providing the content provider customers a false and inaccurate representation of the reported performance metrics, network usage metrics, distribution analysis, trends, histograms, etc. In the embodiments described herein, this reporting deficiency is resolved by the assimilation of the transparent caching server logs with the CDN caching server logs. Specifically, by means of the assimilation, the CDN operator can now provide an end-to-end solution that accurately reports and accounts for all links in the delivery chain by which content is delivered from the CDN to end users. This deficiency, and how it is overcome by the end-to-end solution of the embodiments described herein, is presented in FIG. 6.
  • FIG. 6 illustrates the links in the delivery chain that content typically traverses when passing from a CDN to an end user. The first link in the delivery chain is the end user 610. The end user 610 operates a network enabled device that requests and receives content from a data network, such as the Internet. The network enabled device can include any computer, smartphone, tablet, personal hotspot, etc. Often, the second link in the delivery chain is at least one transparent caching server 620 that is located in and operated by a Telco, wherein the Telco provides the end user 610 with access to the data network. In this figure, the third link in the delivery chain is a CDN caching server 630. The fourth link in the displayed delivery chain is the content provider customer 640. The figure illustrates a log processing server 635 of the CDN that performs log aggregation, log processing, and performance reporting for the CDN. The figure also illustrates two scenarios 650 and 660 for how content is served to the end user 610 in response to the end user 610 requesting the same content at different times. It should be apparent to one of ordinary skill in the art that the delivery chain being presented in FIG. 6 omits, for purposes of simplicity, other non-caching links in the delivery chain, such as traffic management servers (e.g., DNS servers). Also, the delivery chain may include multiple transparent caching servers and other caching servers, but these servers have been omitted for purposes of simplicity.
  • In this figure, it is presumed that the content provider customer 640 has exclusively contracted with the CDN to have the CDN deliver the content of the content provider customer 640 on behalf of the content provider customer 640. Accordingly, the content of the content provider customer 640 is cached to the CDN caching server 630.
  • The end user 610 issues a first request for content of the content provider customer 640 at 650. The request passes through the Telco before passing to the external data network in which the CDN caching server 630 is located. When passing through the Telco, the transparent caching server 620 analyzes the request from the end user 610 and determines whether the request should be intercepted based on whether the transparent caching server 620 has already cached the requested content. At 650, the end user 610 request is the first request for the content of the content provider customer 640 that the transparent caching server 620 receives. Therefore, the content is not cached at the transparent caching server 620 and the request is permitted to pass through the Telco to the external data network, where it is routed to the CDN caching server 630. The CDN caching server 630 responds to the request by serving the requested content to the end user 610 and the CDN caching server 630 logs the network usage associated with serving the content. The content served from the CDN caching server 630 passes back through the Telco to reach the end user 610. In so doing, the content passes through the transparent caching server 620, which caches the content so that it may serve the content upon the next request for that content.
  • At 660, the end user 610 again requests the content of the content provider customer 640. The transparent caching server 620 monitors the request as it passes through the Telco and the transparent caching server 620 determines that it has the requested content cached, because this is now the second such request for the content. The transparent caching server 620 intercepts the request. As a result, the request is not routed to the CDN caching server 630 and the CDN operator has no knowledge that the content was requested a second time. The transparent caching server 620 responds to the intercepted request by serving the content of the content provider customer 640 from cache and the transparent caching server 620 logs the network usage associated with serving the content.
  • In the prior art in which the transparent caching server 620 is not assimilated with the CDN, the log processing server 635 generates a report solely based on logs of the CDN caching servers (CDN caching server 630). Such a report notifies the content provider customer 640 that its content was requested once and the CDN details the network usage associated with responding to that one request.
  • In the federated end-to-end CDN solution of some embodiments in which the transparent caching server 620 is assimilated with the caching servers of the CDN, the log processing server 635 generates a report based on logs that are aggregated from the transparent caching server 620 and the CDN caching server 630. Such a report notifies the content provider customer 640 that its content was requested twice and the CDN is able to detail the network usage associated with responding to both requests for the content provider customer's 640 content. Moreover, the end-to-end solution improves the performance metrics reported by the CDN because of the greater efficiency with which the transparent caching server 620 can respond to end user requests relative to the CDN caching server 630. Consequently, the metrics reported based on the end-to-end CDN solution will show improved performance relative to the solution that does not assimilate the transparent caching server performance with the performance of the CDN caching servers. For example, assume that the delay to serve content from the CDN caching server 630 to the end user 610 is 20 milliseconds (ms) and assume that the delay to serve content from the transparent caching server 620 to the end user 610 is 10 ms. In the prior art implementation in which the transparent caching server 620 is not assimilated with the CDN, the average delay to serve the content of the content provider customer 640 is 20 ms. However in the end-to-end solution of some embodiments in which the transparent caching server 620 is assimilated, the CDN can accurately and correctly report an average delay of 15 ms when the content of the content provider 640 was requested and served twice with the CDN caching server 630 responding to the first request and the transparent caching server 620 responding to the second request. The deficiency in the prior art implementation relative to the federated end-to-end solution presented herein is magnified when content is requested thousands of times and a significant percentage (e.g., greater than 5%) of those requests are intercepted and responded to by various transparent caching servers along the delivery chain.
  • This deficiency in reporting also presents the secondary purpose for the assimilation of transparent caching servers with the CDN caching servers. This secondary purpose is to use the assimilated transparent caching logs to allow the CDN operator to bill the content provider customer for the end-to-end delivery of the content provider customer's content and the network usage associated with such delivery. Accordingly and with reference back to FIG. 3, the process integrates (at 340) the post-processed transparent caching server log for billing. This integration involves combining the usage identified in the post-processed log with usage that is identified from logs of the caching servers of the CDN, to produce a comprehensive tally of the network usage that is related to the delivery of content of a particular content provider customer of the CDN. The process then bills (at 350) the particular content provider customer for all such network usage.
  • This secondary purpose is illustrated with reference back to FIG. 6. In the prior art in which the transparent caching server 620 is not assimilated with the CDN, the log processing server 635 only accounts for the network usage that is associated with serving the content from the CDN caching server 630 to the end user 610 when billing the content provider customer 640 for the network usage that is associated with delivering the content provider customer's content 640. The log processing server 635 is unaware of the network usage that the transparent caching server 620 consumes to serve the content provider customer's content in response to the second request issued by the end user 610. For instance in FIG. 6, it is presumed that one megabyte of network usage is consumed to the serve the content of the content provider customer 640. In the prior art scenario, the log processing server 635 bills the content provider customer 640 for the one megabyte of network usage that the CDN caching server 630 consumed to serve the content at 650. However, the content provider customer is not charged for the additional one megabyte that is consumed by the transparent caching server 620 to serve the content at 660. In the end-to-end solution in which the transparent caching server 620 is assimilated with the CDN, the log processing server 635 is aware of the second megabyte of network usage based on assimilation and processing of the transparent caching server 620 log. The log processing server 635 can then bill the content provider customer 640 for two megabytes of network usage instead of only one in the prior art scenario. The CDN is therefore compensated for all network usage that is related to the delivery of the content provider customer's content. As discussed above, the transparent caching server operator is also compensated, either by receiving fixed compensation or variable compensation for providing the CDN access to the transparent caching server log, wherein the fixed compensation is a onetime or recurring fee that is paid to the transparent caching server operator for each log access irrespective of the network usage identified in the log, and wherein the variable compensation is a fee that is paid to the transparent caching server operator based on the network usage that is identified in the accessed log and a percentage of the fee that the CDN operator collects from the content provider customer for the identified network usage in the log.
  • In summary, the assimilation of the transparent caching servers with the CDN caching servers and the resulting assimilation of the transparent caching server logs with the CDN caching server logs enable the CDN operator to bill its content provider customers for end-to-end delivery of their content, whereas prior to such assimilation, the CDN operator may have been restricted to billing the content provider customers for delivery of their content downstream to a transparent caching server, instead of all the way to the end users. Specifically, prior to the transparent caching server assimilation, the transparent caching servers could cache content that is passed from the CDN caching servers, intercept subsequent requests for the content before the subsequent requests reach the CDN caching servers, and respond to the subsequent requests without the CDN caching servers logging the network usage that is associated with responding to the requests.
  • To further monetize the network usage that is logged to the transparent caching server log, the process may involve optionally redistributing (at 360) the aggregated transparent caching server logs to other CDN operators. In some embodiments, redistributing the aggregated transparent caching server logs involves the CDN operator that has (exclusive or non-exclusive) access to the transparent caching server logs passing the logs to other CDN operators. The other CDN operators then independently process the logs to identify network usage that is related to content of their own content provider customers. These other CDN operators can then bill their content provider customers for the identified network usage. In return, the other CDN operators pay the CDN operator that redistributes the transparent caching server logs a fee for such access. In some embodiments, redistributing the aggregated transparent caching server logs involves the CDN operator that has (exclusive or non-exclusive) access to the transparent caching server logs processing the logs on behalf of other CDN operators. In this manner of redistributing the logs, the actual logs remain in the possession of a single CDN operator. That single CDN operator then identifies network usage that is related to content provider customers of other CDN operators and reports such network usage to the other CDN operators. To do so, the other CDN operators provide a list of identifiers (i.e., an association table) that identify their content provider customers to the CDN operator that has access to the transparent caching server logs, so that the CDN operator can perform the processing of the logs on behalf of the other CDN operators. The other CDN operators can then compensate the CDN operator for performing the processing. For these reasons, it is envisioned that exclusivity in the bilateral agreements established with the transparent caching server operators is valuable to the CDN operator.
  • FIG. 7 illustrates how a first CDN operator can further monetize a transparent caching server log by redistributing the transparent caching server log to second and third CDN operators in accordance with some embodiments. The figure depicts a transparent caching server operator 710 that operates a transparent caching server 715, a transparent caching server log 720 with entries 730, 735, 740, 745, and 750, a first CDN operator 760 with content provider customer 765, a second CDN operator 770 with content provider customer 775, and a third CDN operator 780 with content provider customer 785.
  • The first CDN operator 760 enters into a bilateral agreement with the transparent caching server operator 710. For the purposes of FIG. 7, it is assumed that the bilateral agreement contains an exclusivity clause that provides the first CDN operator 760 exclusive access to the log 720 of the transparent caching server 715 while preventing the second CDN operator 770 and the third CDN operator 780 from obtaining access to the log 720 from the transparent caching server 715 or the transparent caching server operator 710.
  • The first CDN operator 760 aggregates the log 720 from the transparent caching server 715. The first CDN operator 760 processes the log 720 in accordance with the above described processes and identifies that entries 735 and 750 track network usage that is related to delivering content for the content provider customer 765 of the first CDN operator 760. The first CDN operator 760 bills the content provider customer 765 for such network usage and collects payment from the content provider customer 765. The first CDN operator 760 may bill the content provider customer 765 solely for the network usage that is identified in the log 720 or may bill the content provider customer 765 for the network usage that is identified in the log 720 and the network usage that is identified in the logs that are aggregated from the caching servers that are operated by the first CDN operator 760.
  • The first CDN operator 760 compensates the transparent caching server operator 715 for granting exclusive access to the log 720. The compensation may include a fixed fee or may be dependent on the payment that the first CDN operator 760 collects from the content provider customer 765 for the network usage that is identified in the log 720.
  • The first CDN operator 760 then distributes the log 720 to the second CDN operator 770. The second CDN operator 770 processes the log 720 in accordance with the above-described processes. As part of the processing, the second CDN operator 770 identifies that entry 740 in the log 720 tracks network usage that is related to delivering content for the content provider customer 775 of the second CDN operator 770. The second CDN operator 770 incorporates the network usage associated with entry 740 into its performance and statistics reports, wherein the reports can be viewed by the content provider customer 775 to determine demand, various performance metrics, and overall network usage for delivery of the content provider customer's 775 content. Additionally, the second CDN operator 770 uses the identified network usage to bill the content provider customer 775 for the network usage in entry 740 and collects payment from the content provider customer 775. The second CDN operator 770 compensates the first CDN operator 760 for the access to the log 720. The compensation can be a fixed compensation or a variable compensation. A separate bilateral agreement between the first CDN operator 760 and the second CDN operator 770 may set forth the terms and conditions with which the first CDN operator 760 provides the second CDN operator 770 access to the log 720. As part of this agreement, the form and amount of compensation are detailed. Also as part of the agreement, the first CDN operator 760 can prevent the second CDN operator 770 from redistributing the log 720 to any other entity.
  • The first CDN operator 760 then distributes the log 720 to the third CDN operator 780. The third CDN operator 780 processes the log 720 in accordance with the above-described processes. The third CDN operator 780 identifies that no entries track network usage that is related to delivering content for the content provider customer 785 of the third CDN operator 780. The third CDN operator 780 is thus unable to bill the content provider customer 785 for any network usage in the log 720, but may nevertheless be obligated to pay the first CDN operator 760 a fee for being provided access to the log 720.
  • In the manner of transparent caching server log redistribution presented in FIG. 7, each CDN operator is able to maintain autonomy and privacy while still obtaining access to the transparent caching server log 720. Specifically, CDN operators can keep content provider customer lists and content provider customer identifiers internal and not expose them to other CDN operators. By redistributing the log to different CDN operators, each receiving CDN operator can independently process the log 720 to identify the network usage for its content provider customers. Unidentified network usage will be of no value to the CDN operator.
  • As noted above and in accordance with some embodiments, the first CDN operator with exclusive access to the log 720 can redistribute the network usage in the log 720 without providing other CDN operators access to the log 720. This is accomplished by entering into a bilateral agreement with a second CDN operator, whereby the second CDN operator agrees to provide the first CDN operator an association table with various identifiers for content provider customers of the second CDN operator. The first CDN operator then processes the log to identify network usage that relates to its own content provider customers while also identifying network usage that relates to content provider customers of the second CDN operator. The first CDN operator then passes the identified network usage for the content provider customers of the second CDN operator to the second CDN operator. The second CDN operator can incorporate the identified network usage into its reports and can use the identified network usage to bill the corresponding content provider customers for the network usage. In this manner, the second CDN operator is never provided access to the transparent caching server logs, but is still able to benefit from the logs by having the first CDN operator identify the network usage for content provider customers of the second CDN operator on behalf of the second CDN operator.
  • Thusfar, the end-to-end solution has been described relative to an implementation model that involves a CDN operator and a transparent caching server operator. However, some embodiments of the end-to-end CDN solution may be implemented by an alternative model that involves a CDN operator, a broker, and one or more transparent caching server operators. In some embodiments, transparent caching server operators enter into a bilateral agreement with the broker instead of a CDN operator. The broker secures (exclusive or non-exclusive) access to transparent caching server logs of one or more transparent caching server operators. The broker then acts as a reseller that sells access to the transparent caching server logs on behalf of the transparent caching server operators. Such a scenario may be preferred when a transparent caching server operator is small in scope. Specifically, when a transparent caching server operator operates only one or a few transparent caching servers, the transparent caching server operator will have little value to offer a CDN operator. In other words, one or a few transparent caching server logs may not provide the CDN operator enough value to compensate the transparent caching server access to those few logs. However, a broker can first enter into bilateral agreements with several transparent caching server operators. When the broker has access to a large bundle of transparent caching server logs (e.g., more than fifty), the broker can negotiate terms with one or more CDN operators to sell access to the entire bundle of transparent caching server logs.
  • FIG. 8 presents a process 800 performed by a broker acting as a reseller of transparent caching server logs in accordance with some embodiments. The process 800 commences with the broker entering (at 810) into a first set of (exclusive or non-exclusive) bilateral agreements with one or more transparent caching server operators that collectively operate a large number of transparent caching servers. For instance, the broker may enter into a first bilateral agreement with a first transparent caching server operator that operates two transparent caching servers and a second bilateral agreement with a second transparent caching server operator that operates fifteen transparent caching servers. As part of the bilateral agreements entered into at 810, the broker agrees to compensate each transparent caching server operator that is a party to a bilateral agreement with the broker in return for providing the broker access to the logs of the transparent caching servers that are under the control of the operator. The compensation may vary per transparent caching server operator based on the overall contribution to the entire bundle of transparent caching server logs by a particular operator.
  • The process continues with the broker entering (at 820) into a second set of bilateral agreements with one or more CDN operators. As part of the second set of bilateral agreements entered into at 820, the broker agrees to provide the CDN operators that are parties to the second set of bilateral agreements access to the full set or substantial set of transparent caching server logs that the broker has obtained access to as a result of the first set of bilateral agreements. In return, the CDN operators agree to compensate the broker for such access.
  • The process aggregates (at 830) the transparent caching server logs from the transparent caching servers of each operator that is a party to the first set of bilateral agreements. The broker may optionally format the aggregated logs to produce a unified format for the logs. Also, the broker may optionally combine the entries from each of the aggregated logs into a single log. The process then distributes (at 840) the aggregated transparent caching server logs to the CDN operators that are parties to the second set of bilateral agreements. The CDN operators can process the logs to identify network usage for their content provider customers. The process receives (at 850) compensation from the CDN operators for access to the aggregated set of transparent caching server logs. The process distributes (at 860) some or all of the received compensation amongst the transparent caching server operators. The compensation may be distributed based on each transparent caching server's contribution to the bundle of aggregated logs. For example, an operator that provides access to ten transparent caching server logs may be compensated ten times as much as an operator that provides access to a single transparent caching server log. In some embodiments, the compensation is more granular. For example, the transparent caching server operators are compensated based on the number of total entries from the logs aggregated from servers of the operators. Consequently, operators of transparent caching servers that serve large amounts of cached content are compensated greater than operators of transparent caching servers that serve lesser amount of content from cache.
  • In some embodiments, the broker does not distribute the aggregated logs to the CDN operators. Instead as part of the second set of bilateral agreements, the CDN operators provide identifiers (i.e., association tables) for their content provider customers to the broker. The broker then processes the aggregated logs on behalf of the CDN operators. The network usage that is identified for content provider customers of a particular CDN operator as a result of the processing is then passed to that particular CDN operator in return for some amount of compensation. In this manner, the broker can charge the CDN operators a variable fee for the network usage that is identified in the aggregate set of logs, while also compensating each transparent caching server operator a variable fee for the total amount of network usage that is related to delivering content for content provider customers of various CDN operators.
  • The end-to-end CDN solution described thus far promotes a federated CDN in which one CDN operator is able to leverage resources of third parties in order to improve its content delivery capabilities. The preceding description and figures describe a federation CDN wherein the third parties participating in the federation include transparent caching server operators. In some embodiments, the participants to the federation may additionally include other CDN operators, such that a first CDN operator can use resources of a second CDN operator and a transparent caching server operator to perform improved content delivery.
  • FIG. 9 illustrates a fully federated CDN, wherein a first CDN operator assimilates resources of a transparent caching server operator and resources of a second CDN operator in accordance with some embodiments. The first CDN operator 910 independently operates a set of caching servers 920, traffic management server 925, and a log processing server 927. The transparent caching server operator 930 independently operates transparent caching server 935. The second CDN operator 940 independently operates a set of caching servers 950, traffic management server 955, and a log processing server 960.
  • As part of the federation, the first CDN operator 910 is permitted to leverage the content delivery capabilities of the transparent caching server 935 and the set of caching servers 950 of the second CDN operator 940 in order to deliver content for content provider customers of the first CDN operator 910. To do so, a first bilateral agreement is established between the first CDN operator 910 and the transparent caching server operator 930 in the manner described above and a second bilateral agreement is established between the first CDN operator 910 and the second CDN operator 940. The second bilateral agreement is one that permits the first CDN operator 910 to place content for one or more of its content provider customers on one or more of the set of servers 950 that is operated by the second CDN operator 940, so that such content is served from the set of servers 950 in addition to or instead of being served from the set of servers 920. Specifically, the first CDN operator 910 purchases unused bandwidth from the second CDN operator 940 for its own usage. The second CDN operator 940 then reports network usage and other performance metrics back to the first CDN operator 910, so that the first CDN operator 910 can bill its content provider customers accordingly. Further description for federating two or more CDNs is provided in the U.S. provisional patent application with Ser. No. 61/524,294 entitled “Open Content Delivery Network Platform with Capacity Exchange”.
  • As shown, the log processing server 927 of the first CDN operator 910 aggregates logs from the set of caching servers 920 that is operated by the first CDN operator 910, the transparent caching server 935, and the set of caching servers 950 that is operated by the second CDN operator 940. In some embodiments, the log processing server 927 aggregates the logs of the set of caching servers 950 from the log processing server 960 of the second CDN operator 940.
  • The log processing server 927 processes the aggregated logs to identify total network usage by a content provider customer of the first CDN operator 910. In this federated CDN, the total network usage can account for content of the content provider customer that is delivered by the one or more of the set of caching servers 920, the transparent caching server 935, and the set of servers 950. The first CDN operator 910 compensates each of the transparent caching server operator 930 and the second CDN operator 940 for providing access to the logs.
  • III. Server System
  • Many of the above-described processes and components are implemented as software processes that are specified as a set of instructions recorded on non-transitory computer readable storage medium (also referred to as computer readable medium). When these instructions are executed by one or more computational element(s) (such as processors or other computational elements like ASICs and FPGAs), they cause the computational element(s) to perform the actions indicated in the instructions. Server, computer, and computing machine are meant in their broadest sense and may include any electronic device with a processor that executes instructions stored on computer readable media or that are obtained remotely over a network connection. Examples of computer readable media include, but are not limited to, CD-ROMs, flash drives, RAM chips, hard drives, EPROMs, etc. Further, wherever a server is identified as a component of the embodied invention, it is understood that the server may be a single physical machine, or a cluster of multiple physical machines performing related functions, or virtualized servers co-resident on a single physical machine, or various combinations of the above.
  • FIG. 10 illustrates a computer system or server with which some embodiments are implemented. Such a computer system includes various types of computer readable mediums and interfaces for various other types of computer-readable mediums that implement the processes for the end-to-end CDN solution described above (e.g., the transparent caching server, CDN caching server, and log processing server). Computer system 1000 includes a bus 1005, a processor 1010, a system memory 1015, a read-only memory 1020, a permanent storage device 1025, input devices 1030, and output devices 1035.
  • The bus 1005 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the computer system 1000. For instance, the bus 1005 communicatively connects the processor 1010 with the read-only memory 1020, the system memory 1015, and the permanent storage device 1025. From these various memory units, the processor 1010 retrieves instructions to execute and data to process in order to execute the processes of the invention. The processor 1010 is a processing device such as a central processing unit, integrated circuit, graphical processing unit, etc.
  • The read-only-memory (ROM) 1020 stores static data and instructions that are needed by the processor 1010 and other modules of the computer system. The permanent storage device 1025, on the other hand, is a read-and-write memory device. This device is a non-volatile memory unit that stores instructions and data even when the computer system 1000 is off. Some embodiments of the invention use a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) as the permanent storage device 1025.
  • Other embodiments use a removable storage device (such as a flash drive) as the permanent storage device Like the permanent storage device 1025, the system memory 1015 is a read-and-write memory device. However, unlike the storage device 1025, the system memory is a volatile read-and-write memory, such as random access memory (RAM). The system memory stores some of the instructions and data that the processor needs at runtime. In some embodiments, the processes are stored in the system memory 1015, the permanent storage device 1025, and/or the read-only memory 1020.
  • The bus 1005 also connects to the input and output devices 1030 and 1035. The input devices enable the user to communicate information and select commands to the computer system. The input devices 1030 include, but are not limited to, alphanumeric keypads (including physical keyboards and touchscreen keyboards) and pointing devices (also called “cursor control devices”). The input devices 1030 also include audio input devices (e.g., microphones, MIDI musical instruments, etc.). The output devices 1035 display images generated by the computer system. The output devices include, but are not limited to, printers and display devices, such as cathode ray tubes (CRT) or liquid crystal displays (LCD).
  • Finally, as shown in FIG. 10, bus 1005 also couples computer 1000 to a network 1065 through a network adapter (not shown). In this manner, the computer can be a part of a network of computers (such as a local area network (“LAN”), a wide area network (“WAN”), or an Intranet, or a network of networks, such as the Internet.
  • As mentioned above, the computer system 1000 may include one or more of a variety of different computer-readable media. Some examples of such computer-readable media include RAM, ROM, read-only compact discs (CD-ROM), recordable compact discs (CD-R), rewritable compact discs (CD-RW), read-only digital versatile discs (e.g., DVD-ROM, dual-layer DVD-ROM), a variety of recordable/rewritable DVDs (e.g., DVD-RAM, DVD-RW, DVD+RW, etc.), flash memory (e.g., SD cards, mini-SD cards, micro-SD cards, etc.), magnetic and/or solid state hard drives, ZIP® disks, read-only and recordable blu-ray discs, any other optical or magnetic media, and floppy disks.
  • While the invention has been described with reference to numerous specific details, one of ordinary skill in the art will recognize that the invention can be embodied in other specific forms without departing from the spirit of the invention. Thus, one of ordinary skill in the art would understand that the invention is not to be limited by the foregoing illustrative details, but rather is to be defined by the appended claims.

Claims (26)

1. A computer-implemented method for implementing an end-to-end content delivery network (CDN) to account for content delivery performed by a transparent caching server that is operated by a transparent caching server operator independent of a CDN caching server that is operated by an operator of a CDN, the computer-implemented method comprising:
aggregating a log from the transparent caching server, the transparent caching server log comprising a first plurality of entries tracking network usage for a plurality of content that the transparent caching server delivers on behalf of a first set of content providers that are customers of the CDN and a second set of content providers that are not customers of the CDN to at least one end user, wherein the transparent caching server delivers the plurality of content in response to a plurality of requests for the plurality of content submitted by the at least one end user, and wherein each request of the plurality of requests is addressed to an intended server other than the transparent caching server and said request is intercepted by the transparent caching server when en route to the intended server;
aggregating a log from the CDN caching server, the CDN caching server log comprising a second plurality of entries tracking network usage for a plurality of content that the CDN caching server delivers on behalf of the first set of content providers to at least one end user;
filtering the log from the transparent caching server, said filtering preserving a first set of entries from the first plurality of entries that track network usage for content that the transparent caching server delivers on behalf of the first set of content providers that are CDN customers while excluding a second set of entries from the first plurality of entries that track network usage for content that the transparent caching server delivers on behalf of the second set of content providers that are not CDN customers;
identifying from the first set of entries of the log from the transparent caching server and the second plurality of entries of the log from the CDN caching server combined network usage for content of a particular customer of the CDN that is delivered from any of the transparent caching server and the CDN caching server; and
billing the particular customer of the CDN for the combined network usage.
2. The computer-implemented method of claim 1, wherein the transparent caching server is configured i) to monitor content requests passing from a set of end users to an external data network in which the CDN caching server operates, ii) to intercept a content request for content that the transparent caching server has cached, and iii) to log network usage associated with serving content from cache in response to a request that is intercepted by the transparent caching server.
3. The computer-implemented method of claim 1 further comprising compensating the transparent caching server operator for permitting aggregation of the log from the transparent caching server.
4. The computer-implemented method of claim 3, wherein compensating the transparent caching server operator comprises providing a fixed fee to the transparent caching server operator for permitting aggregation of the log from the transparent caching server.
5. The computer-implemented method of claim 3, wherein compensating the transparent caching server operator comprises providing a variable fee to the transparent caching server operator based on an amount of network usage for content of the particular customer of the CDN that is delivered from the transparent caching server and that is identified from the transparent caching server log.
6. The computer-implemented method of claim 1 further comprising redistributing the transparent caching server log to a different CDN operator for processing by the different CDN operator, wherein the different CDN operator processes the log, said processing by the different CDN operation identifying network usage for content that the transparent caching server delivers for a customer of the different CDN operator.
7. The computer-implemented method of claim 6 further comprising receiving compensation from the different CDN operator for the redistribution of the transparent caching server log to the different CDN operator.
8. The computer-implemented method of claim 1 further comprising generating content delivery performance statistics for content of the particular customer based on the combined network usage identified from the aggregated logs of the transparent caching server and the CDN caching server, and presenting said content delivery performance statistics to the particular customer through a graphical user interface.
9. The computer-implemented method of claim 1, wherein the CDN that operates the CDN caching server is a first CDN operator and the particular customer is a first customer that is a customer of the first CDN operator, the method further comprising processing the transparent caching server log, said processing identifying network usage for content that the transparent caching server delivers to a second customer, wherein the second customer is a customer of a second CDN operator that does not operate either the transparent caching server or the CDN caching server.
10. The computer-implemented method of claim 9 further comprising providing the network usage for content that the transparent caching server delivers to the second customer to the second CDN operator and receiving compensation from the second CDN operator for providing the identified network usage to the second CDN operator.
11. The computer-implemented method of claim 1 further comprising entering into a bilateral agreement with the transparent caching server operator to obtain access to the transparent caching server log in order to aggregate the transparent caching server log.
12. The computer-implemented method of claim 1, wherein the bilateral agreement contains an exclusivity provision whereby only the CDN is permitted access to the transparent caching server log at the exclusion of other CDN operators.
13. The computer-implemented method of claim 1, wherein the CDN contracts with the particular customer to deliver content of the particular customer on behalf of the particular customer from the CDN caching server.
14. A method for accounting for content delivery performed by a transparent caching server that is operated by a transparent caching server operator independent of a CDN that is operated by an operator of the CDN, the method comprising:
receiving from the transparent caching server operator authorization permitting the CDN operator access to a log of the transparent caching server, wherein the log comprises a plurality of entries tracking network usage associated with a plurality of content that is delivered from a cache of the transparent caching server to a plurality of end users;
aggregating the log from the transparent caching server using said authorization;
identifying a set of entries from the plurality of entries of the log that track network usage for content of at least one content provider customer of the CDN that is delivered from the cache of the transparent caching server, wherein said identifying is performed by matching at least one identifier that the CDN operator uses to identify the at least one content provider customer with an identifier that is associated with each entry of the set of entries; and
assessing a network usage fee by the CDN operator on the content provider customer of the CDN for the aggregate network usage identified from the set of entries of the transparent caching server log.
15. The method of claim 14 further comprising providing compensation to the transparent caching server for authorizing the CDN operator access to said log.
16. The method of claim 14 further comprising aggregating a log from a caching server that is operated by the CDN operator, wherein the CDN caching server log comprises a plurality of entries tracking network usage associated with a plurality of content that is delivered from the CDN caching server to a plurality of end users.
17. The method of claim 16 further comprising identifying a set of entries from the plurality of entries of the CDN caching server log that track network usage for content of the content provider customer of the CDN that is delivered from the CDN caching server.
18. The method of claim 17, wherein assessing a network usage fee comprises assessing a network usage fee for the aggregate network usage that is identified from the set of entries of the transparent caching server log and the set of entries of the CDN caching server log.
19. The method of claim 17 further comprising generating content delivery performance statistics based on the identified set of entries of the transparent caching server log and the set of entries of the CDN caching server log and presenting said content delivery performance statistics to the content provider customer through a graphical user interface.
20. The method of claim 14, wherein the transparent caching server comprises a proxy caching server.
21. A federated end-to-end CDN comprising:
a transparent caching server comprising cache storage, the transparent caching server (i) monitoring content and requests for content passing between a plurality of end users and a data network, (ii) intercepting a request for content that is stored to the cache storage, and (iii) serving content from cache storage in response to a request that is intercepted;
a distributed set of CDN caching servers located in the data network, each CDN caching server of the set of CDN caching servers comprising a cache storage, each CDN caching server operating as a surrogate origin for at least one customer of the CDN by serving content of the at least one customer when a request for said content is routed from an end user of the plurality of end users to the caching server; and
a log processing server (i) aggregating a plurality of logs from the transparent caching server and the distributed set of CDN caching servers, (ii) processing the logs to determine aggregate network usage related to content of a particular CDN customer being delivered from any of the transparent caching server and the distributed set of CDN caching servers, and (iii) billing the particular CDN customer for the aggregate network usage.
22. The federated end-to-end CDN of claim 21, wherein the CDN is a first CDN and the distributed set of CDN caching servers is a first set of CDN caching servers that is operated by a first CDN operator, the federated end-to-end CDN further comprising a second set of distributed CDN caching servers that is operated by a second CDN operator, each CDN caching server of the second set of distributed CDN caching servers operating as a surrogate origin for at least one customer of the second CDN operator by serving content of the at least one customer of the second CDN operator when a request for said content is routed from an end user of the plurality of end users to the caching server.
23. The federated end-to-end CDN of claim 22, wherein the log processing server further aggregates a log from at least one server of the second set of distributed CDN caching servers, wherein processing the logs comprises processing the logs aggregated from the transparent caching server, the first set of CDN caching servers, and the at least one server of the second set of distributed CDN caching servers to determine aggregate network usage related to content of the particular CDN customer being delivered from any of the transparent caching server, the first set of CDN caching servers, and the second set of CDN caching servers.
24. A non-transitory computer-readable storage medium with a computer program stored thereon to provide an end-to-end content delivery network (CDN) solution that accounts for content delivery performed by a transparent caching server that is operated by a transparent caching server operator independent of a CDN caching server that is operated by an operator of a CDN, said computer program directing a microprocessor in:
aggregating a log from the transparent caching server, the transparent caching server log comprising a first plurality of entries tracking network usage for a plurality of content that the transparent caching server delivers on behalf of a first set of content providers that are customers of the CDN and a second set of content providers that are not customers of the CDN to at least one end user, wherein the transparent caching server delivers the plurality of content in response to a plurality of requests for the plurality of content submitted by the at least one end user, and wherein each request of the plurality of requests is addressed to an intended server other than the transparent caching server and said request is intercepted by the transparent caching server when en route to the intended server;
aggregating a log from the CDN caching server, the CDN caching server log comprising a second plurality of entries tracking network usage for a plurality of content that the CDN caching server delivers on behalf of the first set of content providers to at least one end user;
filtering the log from the transparent caching server, said filtering preserving a first set of entries from the first plurality of entries that track network usage for content that the transparent caching server delivers on behalf of the first set of content providers that are CDN customers while excluding a second set of entries from the first plurality of entries that track network usage for content that the transparent caching server delivers on behalf of the second set of content providers that are not CDN customers;
identifying from the first set of entries of the log from the transparent caching server and the second plurality of entries of the log from the CDN caching server combined network usage for content of a particular customer of the CDN that is delivered from any of the transparent caching server and the CDN caching server; and
billing the particular customer of the CDN for the combined network usage.
25. The non-transitory computer-readable storage medium of claim 24, wherein the computer program further directs the microprocessor in establishing a remote connection with the transparent caching server through which to aggregate the log from the transparent caching server.
26. The non-transitory computer-readable storage medium of claim 24, wherein the computer program further directs the microprocessor in generating content delivery performance statistics for content of the particular customer based on the combined network usage identified from the aggregated logs of the transparent caching server and the CDN caching server, and presenting said content delivery performance statistics to the particular customer through a graphical user interface.
US13/401,721 2011-08-16 2012-02-21 End-to-End Content Delivery Network Incorporating Independently Operated Transparent Caches and Proxy Caches Abandoned US20130046664A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/401,721 US20130046664A1 (en) 2011-08-16 2012-02-21 End-to-End Content Delivery Network Incorporating Independently Operated Transparent Caches and Proxy Caches
US13/541,605 US9747592B2 (en) 2011-08-16 2012-07-03 End-to-end content delivery network incorporating independently operated transparent caches and proxy caches
US15/682,249 US11157885B2 (en) 2011-08-16 2017-08-21 End-to-end content delivery network incorporating independently operated transparent caches and proxy caches

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161524294P 2011-08-16 2011-08-16
US13/401,721 US20130046664A1 (en) 2011-08-16 2012-02-21 End-to-End Content Delivery Network Incorporating Independently Operated Transparent Caches and Proxy Caches

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/541,605 Continuation-In-Part US9747592B2 (en) 2011-08-16 2012-07-03 End-to-end content delivery network incorporating independently operated transparent caches and proxy caches

Publications (1)

Publication Number Publication Date
US20130046664A1 true US20130046664A1 (en) 2013-02-21

Family

ID=45561587

Family Applications (16)

Application Number Title Priority Date Filing Date
US13/217,924 Active 2031-11-17 US8510807B1 (en) 2011-08-16 2011-08-25 Real-time granular statistical reporting for distributed platforms
US13/222,619 Active 2032-04-01 US8868701B1 (en) 2011-08-16 2011-08-31 Configuration management repository for a federation of distributed platforms
US13/223,001 Active 2034-01-27 US9420050B1 (en) 2011-08-16 2011-08-31 Log reporting for a federated platform
US13/222,598 Active 2032-04-21 US8583769B1 (en) 2011-08-16 2011-08-31 Configuration management repository for a distributed platform
US13/226,261 Active 2032-07-16 US9438444B1 (en) 2011-08-16 2011-09-06 Capacity sharing in a federation of distributed platforms
US13/226,273 Active 2032-06-16 US8914814B1 (en) 2011-08-16 2011-09-06 Intercommunication in the open content delivery network federation
US13/234,015 Active 2032-03-08 US8683043B1 (en) 2011-08-16 2011-09-15 Systems and methods to uniquely identify assets in a federation
US13/246,762 Expired - Fee Related US8117276B1 (en) 2011-08-16 2011-09-27 Systems and methods for invoking commands across a federation
US13/248,552 Active US8166108B1 (en) 2011-08-16 2011-09-29 Systems and methods to uniquely identify assets in a federation
US13/336,592 Active US8190702B1 (en) 2011-08-16 2011-12-23 Systems and methods for invoking commands across a federation
US13/401,721 Abandoned US20130046664A1 (en) 2011-08-16 2012-02-21 End-to-End Content Delivery Network Incorporating Independently Operated Transparent Caches and Proxy Caches
US13/427,183 Active US8244915B1 (en) 2011-08-16 2012-03-22 Systems and methods to uniquely identify assets in a federation
US13/449,183 Active US8275851B1 (en) 2011-08-16 2012-04-17 Systems and methods for invoking commands across a federation
US13/595,176 Active US8504642B2 (en) 2011-08-16 2012-08-27 Systems and methods for invoking commands across a federation
US14/058,586 Active US9009277B2 (en) 2011-08-16 2013-10-21 Configuration management repository for a distributed platform
US14/462,477 Active 2035-02-03 US10373219B2 (en) 2011-08-16 2014-08-18 Capacity exchange for the open content delivery network

Family Applications Before (10)

Application Number Title Priority Date Filing Date
US13/217,924 Active 2031-11-17 US8510807B1 (en) 2011-08-16 2011-08-25 Real-time granular statistical reporting for distributed platforms
US13/222,619 Active 2032-04-01 US8868701B1 (en) 2011-08-16 2011-08-31 Configuration management repository for a federation of distributed platforms
US13/223,001 Active 2034-01-27 US9420050B1 (en) 2011-08-16 2011-08-31 Log reporting for a federated platform
US13/222,598 Active 2032-04-21 US8583769B1 (en) 2011-08-16 2011-08-31 Configuration management repository for a distributed platform
US13/226,261 Active 2032-07-16 US9438444B1 (en) 2011-08-16 2011-09-06 Capacity sharing in a federation of distributed platforms
US13/226,273 Active 2032-06-16 US8914814B1 (en) 2011-08-16 2011-09-06 Intercommunication in the open content delivery network federation
US13/234,015 Active 2032-03-08 US8683043B1 (en) 2011-08-16 2011-09-15 Systems and methods to uniquely identify assets in a federation
US13/246,762 Expired - Fee Related US8117276B1 (en) 2011-08-16 2011-09-27 Systems and methods for invoking commands across a federation
US13/248,552 Active US8166108B1 (en) 2011-08-16 2011-09-29 Systems and methods to uniquely identify assets in a federation
US13/336,592 Active US8190702B1 (en) 2011-08-16 2011-12-23 Systems and methods for invoking commands across a federation

Family Applications After (5)

Application Number Title Priority Date Filing Date
US13/427,183 Active US8244915B1 (en) 2011-08-16 2012-03-22 Systems and methods to uniquely identify assets in a federation
US13/449,183 Active US8275851B1 (en) 2011-08-16 2012-04-17 Systems and methods for invoking commands across a federation
US13/595,176 Active US8504642B2 (en) 2011-08-16 2012-08-27 Systems and methods for invoking commands across a federation
US14/058,586 Active US9009277B2 (en) 2011-08-16 2013-10-21 Configuration management repository for a distributed platform
US14/462,477 Active 2035-02-03 US10373219B2 (en) 2011-08-16 2014-08-18 Capacity exchange for the open content delivery network

Country Status (1)

Country Link
US (16) US8510807B1 (en)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130111042A1 (en) * 2011-10-31 2013-05-02 Avaya Inc. Route lookup resolution
US20140122725A1 (en) * 2012-11-01 2014-05-01 Microsoft Corporation Cdn load balancing in the cloud
US20140223017A1 (en) * 2012-12-13 2014-08-07 Level 3 Communications, Llc Content Delivery Framework Having Autonomous CDN Partitioned into Multiple Virtual CDNs to Implement CDN Interconnection, Delegation, and Federation
JP2014204176A (en) * 2013-04-01 2014-10-27 エヌ・ティ・ティ・コミュニケーションズ株式会社 Cache evaluation device, cache evaluation method, and program
US20140372588A1 (en) 2011-12-14 2014-12-18 Level 3 Communications, Llc Request-Response Processing in a Content Delivery Network
US20150142882A1 (en) * 2012-06-20 2015-05-21 Huawei Technologies Co., Ltd. Content processing method and network side device
US20150172149A1 (en) * 2013-12-17 2015-06-18 Limelight Networks, Inc. Shared delivery using a terminal-network cache in cooperative delivery systems
US20150356534A1 (en) * 2014-06-05 2015-12-10 Verizon Patent And Licensing Inc. Content provider charged gateway
CN106027272A (en) * 2016-04-26 2016-10-12 乐视控股(北京)有限公司 CDN (Content Delivery Network) node server traffic time deduction method and system
US9544183B2 (en) 2008-01-14 2017-01-10 Akamai Technologies, Inc. Methods and apparatus for providing content delivery instructions to a content server
US9634918B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Invalidation sequencing in a content delivery framework
US20170366576A1 (en) * 2016-06-16 2017-12-21 Level 3 Communications, Llc Systems and methods for preventing denial of service attacks utilizing a proxy server
US9979657B2 (en) 2012-11-01 2018-05-22 Microsoft Technology Licensing, Llc Offloading traffic to edge data centers in a content delivery network
US10536372B2 (en) * 2014-02-04 2020-01-14 Fastly Inc. Communication path selection for content delivery
US10652087B2 (en) 2012-12-13 2020-05-12 Level 3 Communications, Llc Content delivery framework having fill services
US10701149B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having origin services
US10701148B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having storage services
US10791050B2 (en) 2012-12-13 2020-09-29 Level 3 Communications, Llc Geographic location determination in a content delivery framework
US10977747B2 (en) 2010-06-18 2021-04-13 Akamai Technologies, Inc. Extending a content delivery network (CDN) into a mobile or wireline network
US11122046B2 (en) * 2017-03-06 2021-09-14 International Business Machines Corporation Technology for generating a multi-user response in a network
US11368548B2 (en) 2012-12-13 2022-06-21 Level 3 Communications, Llc Beacon services in a content delivery framework
US11481825B1 (en) * 2019-03-29 2022-10-25 Amazon Technologies, Inc. Transaction processing at edge servers in a content distribution network
WO2023014448A1 (en) * 2021-08-05 2023-02-09 Microsoft Technology Licensing, Llc Automated interoperational tracking in computing systems
US11595398B1 (en) * 2015-09-29 2023-02-28 Verisign, Inc. Access control for named domain networking
US20230336452A1 (en) * 2022-04-19 2023-10-19 Sap Se Data center selection for cloud application deployment

Families Citing this family (272)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101641674B (en) 2006-10-05 2012-10-10 斯普兰克公司 Time series search engine
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
CN102136942B (en) 2010-12-31 2014-06-25 华为技术有限公司 Method and device for downloading software
US9716619B2 (en) 2011-03-31 2017-07-25 NextPlane, Inc. System and method of processing media traffic for a hub-based system federating disparate unified communications systems
US8600955B2 (en) 2011-04-18 2013-12-03 Sap Ag Method and apparatus for monitoring an in-memory computer system
US9389982B2 (en) 2011-04-18 2016-07-12 Sap Se Method and apparatus for monitoring an in-memory computer system
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US8510807B1 (en) * 2011-08-16 2013-08-13 Edgecast Networks, Inc. Real-time granular statistical reporting for distributed platforms
JP5833765B2 (en) * 2011-10-13 2015-12-16 インターデイジタル パテント ホールディングス インコーポレイテッド Method and apparatus for realizing interfacing between content networks
US9329810B2 (en) * 2011-12-22 2016-05-03 Xerox Corporation Secure federation of cloud print services
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US9710307B1 (en) 2012-05-07 2017-07-18 Amazon Technologies, Inc. Extensible workflows for processing content
US9483785B1 (en) 2012-05-07 2016-11-01 Amazon Technologies, Inc. Utilizing excess resource capacity for transcoding media
US10191954B1 (en) 2012-05-07 2019-01-29 Amazon Technologies, Inc. Prioritized transcoding of media content
US9510033B1 (en) 2012-05-07 2016-11-29 Amazon Technologies, Inc. Controlling dynamic media transcoding
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9311066B1 (en) 2012-06-25 2016-04-12 Amazon Technologies, Inc. Managing update deployment
US10528262B1 (en) * 2012-07-26 2020-01-07 EMC IP Holding Company LLC Replication-based federation of scalable data across multiple sites
US10075520B2 (en) * 2012-07-27 2018-09-11 Microsoft Technology Licensing, Llc Distributed aggregation of real-time metrics for large scale distributed systems
US8856924B2 (en) 2012-08-07 2014-10-07 Cloudflare, Inc. Mitigating a denial-of-service attack in a cloud-based proxy service
US10652318B2 (en) * 2012-08-13 2020-05-12 Verisign, Inc. Systems and methods for load balancing using predictive routing
US9992260B1 (en) * 2012-08-31 2018-06-05 Fastly Inc. Configuration change processing for content request handling in content delivery node
US9525659B1 (en) * 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US8792633B2 (en) 2012-09-07 2014-07-29 Genesys Telecommunications Laboratories, Inc. Method of distributed aggregation in a call center
US9942083B1 (en) * 2012-09-10 2018-04-10 Amazon Technologies, Inc. Capacity pool management
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US8914344B1 (en) * 2012-09-28 2014-12-16 Sprint Communications Company L.P. Service manager source code control system
US9317186B2 (en) * 2012-10-22 2016-04-19 Apple Inc. Document publishing model
US9542177B1 (en) * 2012-10-30 2017-01-10 Amazon Technologies, Inc. Peer configuration analysis and enforcement
US9900432B2 (en) 2012-11-08 2018-02-20 Genesys Telecommunications Laboratories, Inc. Scalable approach to agent-group state maintenance in a contact center
US9756184B2 (en) 2012-11-08 2017-09-05 Genesys Telecommunications Laboratories, Inc. System and method of distributed maintenance of contact center state
US9477464B2 (en) 2012-11-20 2016-10-25 Genesys Telecommunications Laboratories, Inc. Distributed aggregation for contact center agent-groups on sliding interval
US10412121B2 (en) * 2012-11-20 2019-09-10 Genesys Telecommunications Laboratories, Inc. Distributed aggregation for contact center agent-groups on growing interval
KR101480293B1 (en) * 2012-11-30 2015-01-12 주식회사 엘지씨엔에스 Distributed filesystem processing device and method, and storage media storing the same
US9471784B1 (en) * 2012-12-06 2016-10-18 Amazon Technologies, Inc. Automated firmware settings verification
US9471536B1 (en) * 2012-12-06 2016-10-18 Amazon Technologies, Inc. Automated firmware settings management
US9372731B1 (en) 2012-12-06 2016-06-21 Amazon Technologies, Inc. Automated firmware settings framework
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9864755B2 (en) * 2013-03-08 2018-01-09 Go Daddy Operating Company, LLC Systems for associating an online file folder with a uniform resource locator
US20140258346A1 (en) * 2013-03-08 2014-09-11 Go Daddy Operating Company, LLC Associating an Online File Folder with a Uniform Resource Locator
US9846721B2 (en) * 2013-03-13 2017-12-19 Genesys Telecommunications Laboratories, Inc. Log file management tool
US9043421B1 (en) * 2013-03-15 2015-05-26 Amazon Technologies, Inc. Monitoring and sharing data among server groups
US9578171B2 (en) 2013-03-26 2017-02-21 Genesys Telecommunications Laboratories, Inc. Low latency distributed aggregation for contact center agent-groups on sliding interval
FR3004609A1 (en) * 2013-04-10 2014-10-17 France Telecom CENTRALIZED ARCHITECTURE FOR THE ESTABLISHMENT OF FEDERATIONS OF CONTENT DISTRIBUTORS
US9298521B1 (en) * 2013-04-29 2016-03-29 Seagate Technology Llc Command sets and functions
US10318541B2 (en) 2013-04-30 2019-06-11 Splunk Inc. Correlating log data with performance measurements having a specified relationship to a threshold value
US10353957B2 (en) 2013-04-30 2019-07-16 Splunk Inc. Processing of performance data and raw log data from an information technology environment
US10614132B2 (en) 2013-04-30 2020-04-07 Splunk Inc. GUI-triggered processing of performance data and log data from an information technology environment
US10997191B2 (en) 2013-04-30 2021-05-04 Splunk Inc. Query-triggered processing of performance data and log data from an information technology environment
US10019496B2 (en) 2013-04-30 2018-07-10 Splunk Inc. Processing of performance data and log data from an information technology environment by using diverse data stores
US10225136B2 (en) 2013-04-30 2019-03-05 Splunk Inc. Processing of log data and performance data obtained via an application programming interface (API)
US10346357B2 (en) 2013-04-30 2019-07-09 Splunk Inc. Processing of performance data and structure data from an information technology environment
US20140359457A1 (en) * 2013-05-30 2014-12-04 NextPlane, Inc. User portal to a hub-based system federating disparate unified communications systems
US9705840B2 (en) * 2013-06-03 2017-07-11 NextPlane, Inc. Automation platform for hub-based system federating disparate unified communications systems
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9661023B1 (en) * 2013-07-12 2017-05-23 Symantec Corporation Systems and methods for automatic endpoint protection and policy management
US10063450B2 (en) 2013-07-26 2018-08-28 Opentv, Inc. Measuring response trends in a digital television network
US9276991B2 (en) * 2013-09-18 2016-03-01 Xerox Corporation Method and apparatus for providing a dynamic tool menu based upon a document
US8745221B1 (en) * 2013-09-18 2014-06-03 Limelight Networks, Inc. Dynamic request rerouting
US9413842B2 (en) * 2013-09-25 2016-08-09 Verizon Digital Media Services Inc. Instantaneous non-blocking content purging in a distributed platform
US9525638B2 (en) * 2013-10-15 2016-12-20 Internap Corporation Routing system for internet traffic
US9344515B2 (en) * 2013-12-10 2016-05-17 Cisco Technology, Inc. Social-driven precaching of accessible objects
US11087340B1 (en) * 2013-12-17 2021-08-10 EMC IP Holding Company LLC Systems and methods for configuring converged infrastructure components
US20150172354A1 (en) * 2013-12-17 2015-06-18 Limelight Networks, Inc. Content-delivery transfer for cooperative delivery systems
US11218361B2 (en) * 2013-12-18 2022-01-04 EMC IP Holding Company LLC System, method, apparatus, and computer program product for enabling management of a converged infrastructure through a user interface
US9529849B2 (en) 2013-12-31 2016-12-27 Sybase, Inc. Online hash based optimizer statistics gathering in a database
US10015049B2 (en) * 2014-02-13 2018-07-03 Sap Se Configuration of network devices in a network
US9549040B2 (en) * 2014-03-12 2017-01-17 Instart Logic, Inc. First cache purge optimization handling of unavailable nodes
US9002990B1 (en) * 2014-03-12 2015-04-07 Instart Logic, Inc. Fast cache purge in content delivery network
US20150304394A1 (en) * 2014-04-17 2015-10-22 Rovio Entertainment Ltd Distribution management
CN105227535B (en) * 2014-07-01 2019-12-06 思科技术公司 Apparatus and method for edge caching and client devices
US9792050B2 (en) * 2014-08-13 2017-10-17 PernixData, Inc. Distributed caching systems and methods
US9667491B2 (en) 2014-08-22 2017-05-30 Spectralink Corporation Distributed configuration management system and method
US20160094876A1 (en) * 2014-09-29 2016-03-31 The Nielsen Company (Us), Llc Methods and apparatus to selectively report media detections in real-time
US9853863B1 (en) 2014-10-08 2017-12-26 Servicenow, Inc. Collision detection using state management of configuration items
US10951501B1 (en) * 2014-11-14 2021-03-16 Amazon Technologies, Inc. Monitoring availability of content delivery networks
KR20160062554A (en) * 2014-11-25 2016-06-02 삼성전자주식회사 Method for providing contents delivery network service and electronic device thereof
US10142180B2 (en) * 2014-11-26 2018-11-27 Edgewater Networks, Inc. Method and system for providing unified configuration information to disparate system software components
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US9929910B1 (en) * 2014-12-18 2018-03-27 EMC IP Holding Company LLC Predictive and corrective configuration checker
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US9483477B2 (en) * 2015-01-19 2016-11-01 Sas Institute Inc. Automated data intake system
US9614853B2 (en) 2015-01-20 2017-04-04 Enzoo, Inc. Session security splitting and application profiler
WO2016128606A1 (en) * 2015-02-12 2016-08-18 Coriant Oy A method and an appliance for maintaining a configuration data structure
US9794190B2 (en) * 2015-02-16 2017-10-17 International Business Machines Corporation Managing asset deployment for a shared pool of configurable computing resources
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9923768B2 (en) 2015-04-14 2018-03-20 International Business Machines Corporation Replicating configuration between multiple geographically distributed servers using the rest layer, requiring minimal changes to existing service architecture
US10152265B1 (en) * 2015-04-28 2018-12-11 Github, Inc. Efficient repository migration and storage
CN104834722B (en) * 2015-05-12 2018-03-02 网宿科技股份有限公司 Content Management System based on CDN
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
CN106407636B (en) * 2015-07-31 2020-02-14 腾讯科技(深圳)有限公司 Integration result statistical method and device
EP4036731B1 (en) * 2015-07-31 2023-04-05 Apple Inc. Delegation of trigger execution in an automated environment
US10848582B2 (en) 2015-09-11 2020-11-24 Amazon Technologies, Inc. Customizable event-triggered computation at edge locations
US11895212B2 (en) * 2015-09-11 2024-02-06 Amazon Technologies, Inc. Read-only data store replication to edge locations
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US10177979B2 (en) * 2015-10-23 2019-01-08 International Business Machines Corporation Non-disruptively splitting a coordinated timing network
US10447532B2 (en) 2015-10-23 2019-10-15 International Business Machines Corporation Non-disruptively merging coordinated timing networks
US10938768B1 (en) 2015-10-28 2021-03-02 Reputation.Com, Inc. Local content publishing
US10270878B1 (en) * 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US11283900B2 (en) 2016-02-08 2022-03-22 Microstrategy Incorporated Enterprise performance and capacity testing
US10440153B1 (en) 2016-02-08 2019-10-08 Microstrategy Incorporated Enterprise health score and data migration
US10187255B2 (en) 2016-02-29 2019-01-22 Red Hat, Inc. Centralized configuration data in a distributed file system
US10341298B1 (en) * 2016-03-29 2019-07-02 Amazon Technologies, Inc. Security rules for application firewalls
CN106027408A (en) * 2016-04-26 2016-10-12 乐视控股(北京)有限公司 CDN (Content Delivery Network) network model node server access pressure detection method and system
USD860451S1 (en) 2016-06-02 2019-09-17 Intarcia Therapeutics, Inc. Implant removal tool
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US10698954B2 (en) * 2016-06-30 2020-06-30 Facebook, Inc. Computation platform agnostic data classification workflows
US10255138B2 (en) * 2016-08-17 2019-04-09 Bank Of America Corporation Disaster recovery tool
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10505961B2 (en) 2016-10-05 2019-12-10 Amazon Technologies, Inc. Digitally signed network address
US10462212B2 (en) * 2016-10-28 2019-10-29 At&T Intellectual Property I, L.P. Hybrid clouds
ES2943148T3 (en) 2016-11-04 2023-06-09 Google Llc Occupation of places in real time
WO2018095416A1 (en) * 2016-11-24 2018-05-31 腾讯科技(深圳)有限公司 Information processing method, device and system
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10601946B2 (en) 2017-02-23 2020-03-24 The Directv Group, Inc. Edge cache segment prefetching
US10567223B1 (en) * 2017-03-07 2020-02-18 Juniper Networks, Inc. Optimistic concurrency control for managed network devices
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
WO2018195877A1 (en) * 2017-04-27 2018-11-01 华为技术有限公司 Communication method, device and system
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
KR102333144B1 (en) * 2017-06-16 2021-11-30 삼성전자주식회사 Apparatus and method for controlling of connection in communication system
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
RU2659473C1 (en) * 2017-08-03 2018-07-02 Юрий Иванович Осипов Internet traffic transfer system between users
US10868721B2 (en) * 2017-08-17 2020-12-15 Oracle International Corporation System and method for supporting a situational configuration in an application server environment
US10911403B1 (en) * 2017-09-25 2021-02-02 Rockwell Collins, Inc. Systems and methods for secured maintenance gateway
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10902000B2 (en) * 2017-09-29 2021-01-26 Oracle International Corporation Heartbeat propagation in a distributed stream processing system
US11080110B2 (en) * 2017-10-06 2021-08-03 Experian Health, Inc. In-memory storage of aggregated data for real-time event tracking
US10496153B2 (en) 2017-10-27 2019-12-03 EMC IP Holding Company LLC Method and system for binding chassis and components
US11238518B2 (en) 2017-12-14 2022-02-01 Wells Fargo Bank, N.A. Customized predictive financial advisory for a customer
CN108234210A (en) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 The log processing method and device of a kind of content distributing network
US11023218B1 (en) 2017-12-31 2021-06-01 Wells Fargo Bank, N.A. Metadata driven product configuration management
US11075925B2 (en) 2018-01-31 2021-07-27 EMC IP Holding Company LLC System and method to enable component inventory and compliance in the platform
US10997653B2 (en) 2018-02-16 2021-05-04 Netsia, Inc. System and method for a RAN exchange
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10896240B2 (en) * 2018-03-19 2021-01-19 Fast Technologies, Inc. Data analytics via a virtual index server
US10754708B2 (en) 2018-03-28 2020-08-25 EMC IP Holding Company LLC Orchestrator and console agnostic method to deploy infrastructure through self-describing deployment templates
US10514907B2 (en) 2018-03-28 2019-12-24 EMC IP Holding Company LLC System and method for out-of-the-box solution-level management via logical architecture awareness
US10693722B2 (en) 2018-03-28 2020-06-23 Dell Products L.P. Agentless method to bring solution and cluster awareness into infrastructure and support management portals
US10795756B2 (en) 2018-04-24 2020-10-06 EMC IP Holding Company LLC System and method to predictively service and support the solution
US11086738B2 (en) 2018-04-24 2021-08-10 EMC IP Holding Company LLC System and method to automate solution level contextual support
US10249170B1 (en) 2018-04-24 2019-04-02 Dell Products L.P. Auto alert for server in rack due to abusive usage
WO2019232434A1 (en) 2018-06-01 2019-12-05 Walmart Apollo, Llc System and method for modifying capacity for new facilities
CA3101836A1 (en) 2018-06-01 2019-12-05 Walmart Apollo, Llc Automated slot adjustment tool
US11029875B2 (en) 2018-09-28 2021-06-08 Dell Products L.P. System and method for data storage in distributed system across multiple fault domains
US11516083B2 (en) * 2018-09-28 2022-11-29 Mastercard International Incorporated Systems, computer-readable media and computer-implemented methods for automated, dynamic capacity planning using HTTP response header fields
US10623265B1 (en) 2018-10-03 2020-04-14 EMC IP Holding Company LLC System and method for logical configuration of distributed systems
US10628170B1 (en) 2018-10-03 2020-04-21 Dell Products L.P. System and method for device deployment
US11599422B2 (en) 2018-10-16 2023-03-07 EMC IP Holding Company LLC System and method for device independent backup in distributed system
US10909009B2 (en) 2018-11-01 2021-02-02 Dell Products L.P. System and method to create a highly available quorum for clustered solutions
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11503027B2 (en) * 2018-11-21 2022-11-15 Hewlett Packard Enterprise Development Lp Validating configuration changes on a network device
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US10897402B2 (en) * 2019-01-08 2021-01-19 Hewlett Packard Enterprise Development Lp Statistics increment for multiple publishers
US20200241781A1 (en) 2019-01-29 2020-07-30 Dell Products L.P. Method and system for inline deduplication using erasure coding
US10911307B2 (en) 2019-01-29 2021-02-02 Dell Products L.P. System and method for out of the box solution-level configuration and diagnostic logging and reporting
US10972343B2 (en) 2019-01-29 2021-04-06 Dell Products L.P. System and method for device configuration update
US10979312B2 (en) 2019-01-29 2021-04-13 Dell Products L.P. System and method to assign, monitor, and validate solution infrastructure deployment prerequisites in a customer data center
US10901641B2 (en) 2019-01-29 2021-01-26 Dell Products L.P. Method and system for inline deduplication
US10740023B1 (en) 2019-01-29 2020-08-11 Dell Products L.P. System and method for dynamic application access-based mapping
US10764135B2 (en) 2019-01-29 2020-09-01 Dell Products L.P. Method and system for solution integration labeling
US10747522B1 (en) 2019-01-29 2020-08-18 EMC IP Holding Company LLC Method and system for non-disruptive host repurposing
US11442642B2 (en) 2019-01-29 2022-09-13 Dell Products L.P. Method and system for inline deduplication using erasure coding to minimize read and write operations
US11137996B2 (en) 2019-02-28 2021-10-05 International Business Machines Corporation Cognitive service updates via container instantiation
US10862761B2 (en) 2019-04-29 2020-12-08 EMC IP Holding Company LLC System and method for management of distributed systems
US11233706B2 (en) 2019-05-06 2022-01-25 Bank Of America Corporation System for multichannel aggregation of electronic data via a centralized integration hub
US11188525B2 (en) 2019-05-31 2021-11-30 Walmart Apollo, Llc Systems and methods of platform-agnostic metadata analysis
US11238031B2 (en) * 2019-05-31 2022-02-01 Walmart Apollo, Llc Systems and methods of metadata monitoring and analysis
US11196627B1 (en) 2019-06-26 2021-12-07 Amazon Technologies, Inc. Managed remediation of non-compliant resources
US11301557B2 (en) 2019-07-19 2022-04-12 Dell Products L.P. System and method for data processing device management
CN110401657B (en) * 2019-07-24 2020-09-25 网宿科技股份有限公司 Processing method and device for access log
US11372730B2 (en) 2019-07-31 2022-06-28 Dell Products L.P. Method and system for offloading a continuous health-check and reconstruction of data in a non-accelerator pool
US11609820B2 (en) 2019-07-31 2023-03-21 Dell Products L.P. Method and system for redundant distribution and reconstruction of storage metadata
US11328071B2 (en) 2019-07-31 2022-05-10 Dell Products L.P. Method and system for identifying actor of a fraudulent action during legal hold and litigation
US10963345B2 (en) 2019-07-31 2021-03-30 Dell Products L.P. Method and system for a proactive health check and reconstruction of data
US11775193B2 (en) 2019-08-01 2023-10-03 Dell Products L.P. System and method for indirect data classification in a storage system operations
CN110460876A (en) * 2019-08-15 2019-11-15 网易(杭州)网络有限公司 Processing method, device and the electronic equipment of log is broadcast live
US10778514B1 (en) 2019-08-23 2020-09-15 Noble Systems Corporation Universal configurations
US11645344B2 (en) 2019-08-26 2023-05-09 Experian Health, Inc. Entity mapping based on incongruent entity data
US11637748B2 (en) 2019-08-28 2023-04-25 Microstrategy Incorporated Self-optimization of computing environments
US11210189B2 (en) 2019-08-30 2021-12-28 Microstrategy Incorporated Monitoring performance of computing systems
US11757697B2 (en) * 2019-09-12 2023-09-12 RackN, Inc. System and method of distributed edge configuration management
US11354216B2 (en) 2019-09-18 2022-06-07 Microstrategy Incorporated Monitoring performance deviations
US11360881B2 (en) 2019-09-23 2022-06-14 Microstrategy Incorporated Customizing computer performance tests
US11438231B2 (en) * 2019-09-25 2022-09-06 Microstrategy Incorporated Centralized platform management for computing environments
EP4055787A4 (en) * 2019-11-04 2023-05-24 Microsoft Technology Licensing, LLC Cdn optimization platform
US10735530B1 (en) 2020-02-18 2020-08-04 Capital One Services, Llc Aggregated service status reporter
US11372871B1 (en) * 2020-02-21 2022-06-28 Rapid7, Inc. Programmable framework for distributed computation of statistical functions over time-based data
US11416357B2 (en) 2020-03-06 2022-08-16 Dell Products L.P. Method and system for managing a spare fault domain in a multi-fault domain data cluster
US11281535B2 (en) 2020-03-06 2022-03-22 Dell Products L.P. Method and system for performing a checkpoint zone operation for a spare persistent storage
US11301327B2 (en) 2020-03-06 2022-04-12 Dell Products L.P. Method and system for managing a spare persistent storage device and a spare node in a multi-node data cluster
US11119858B1 (en) 2020-03-06 2021-09-14 Dell Products L.P. Method and system for performing a proactive copy operation for a spare persistent storage
US11175842B2 (en) 2020-03-06 2021-11-16 Dell Products L.P. Method and system for performing data deduplication in a data pipeline
US11038840B1 (en) 2020-03-18 2021-06-15 Namecheap, Inc. Systems and methods for resolving conflicts in internet services
US11038839B1 (en) * 2020-03-18 2021-06-15 Namecheap, Inc. Systems and methods for detecting conflicts in internet services
US11811588B2 (en) * 2020-04-22 2023-11-07 Samsung Electronics Co., Ltd. Configuration management and analytics in cellular networks
JPWO2021234855A1 (en) * 2020-05-20 2021-11-25
US11418326B2 (en) 2020-05-21 2022-08-16 Dell Products L.P. Method and system for performing secure data transactions in a data cluster
US11816461B2 (en) * 2020-06-30 2023-11-14 Paypal, Inc. Computer model management system
EP4256428A1 (en) * 2020-12-07 2023-10-11 Level 3 Communications, LLC Updating configuration data in a content delivery network
US11329877B1 (en) * 2021-01-19 2022-05-10 Level 3 Communications, Llc Tiered updating of configuration data in a content delivery network
US20220286358A1 (en) * 2021-03-03 2022-09-08 International Business Machines Corporation Template based agentless system configuration management
US11700179B2 (en) * 2021-03-26 2023-07-11 Vmware, Inc. Configuration of logical networking entities
US11803310B2 (en) * 2021-04-28 2023-10-31 Microsoft Technology Licensing, Llc Tagging a last known good upgrade event for automatic rollback based on detected regression
US20220385552A1 (en) * 2021-05-27 2022-12-01 At&T Intellectual Property I, L.P. Record and replay network traffic
US11909574B2 (en) * 2021-06-01 2024-02-20 Ciena Corporation Grouping configuration-modifying transactions from collaborating agents
US11886913B2 (en) * 2021-06-22 2024-01-30 Microsoft Technology Licensing, Llc Decentralized data platform
US11533235B1 (en) * 2021-06-24 2022-12-20 Bank Of America Corporation Electronic system for dynamic processing of temporal upstream data and downstream data in communication networks
US20230015789A1 (en) * 2021-07-08 2023-01-19 Vmware, Inc. Aggregation of user authorizations from different providers in a hybrid cloud environment
US11727002B2 (en) * 2021-07-11 2023-08-15 Datorama Technologies Ltd. Segment trend analytics query processing using event data
US20230031380A1 (en) 2021-07-30 2023-02-02 APPDIRECT, Inc. Encryption key rotation
US20230039797A1 (en) * 2021-08-05 2023-02-09 Better Holdco, Inc. Partnership configuration engine
WO2023031650A1 (en) * 2021-09-02 2023-03-09 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatuses for selecting fault management models
US20230097332A1 (en) * 2021-09-28 2023-03-30 Rakuten Mobile, Inc. Method and system for creating server cluster on edge location
US11755317B2 (en) * 2021-10-15 2023-09-12 Salesforce, Inc. Extensible platform as a service platform for use by multiple enterprises
US11438433B1 (en) * 2021-11-04 2022-09-06 Disney Enterprises, Inc. Progressive object refreshes in content delivery networks
US11687675B1 (en) * 2022-09-08 2023-06-27 Pezo Tech Llc Method and system for improving coupling and cohesion of at least one educational program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050181796A1 (en) * 2003-12-31 2005-08-18 G.V. Kumar Real-time interconnect billing system and method of use

Family Cites Families (180)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5857102A (en) 1995-03-14 1999-01-05 Sun Microsystems, Inc. System and method for determining and manipulating configuration information of servers in a distributed object environment
US6003030A (en) 1995-06-07 1999-12-14 Intervu, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
US6101497A (en) 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
US6112239A (en) 1997-06-18 2000-08-29 Intervu, Inc System and method for server-side optimization of data delivery on a distributed computer network
US6389464B1 (en) 1997-06-27 2002-05-14 Cornet Technology, Inc. Device management system for managing standards-compliant and non-compliant network elements using standard management protocols and a universal site server which is configurable from remote locations via internet browser technology
US6073172A (en) 1997-07-14 2000-06-06 Freegate Corporation Initializing and reconfiguring a secure network interface
US6385644B1 (en) * 1997-09-26 2002-05-07 Mci Worldcom, Inc. Multi-threaded web based user inbox for report management
US5943656A (en) * 1997-12-03 1999-08-24 Avista Advantage, Inc. Methods and systems for computerized bill consolidating, billing and payment authorization, computerized utility bill consolidating, utility billing access and payment and utility provider consolidated billing systems
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6560639B1 (en) 1998-02-13 2003-05-06 3565 Acquisition Corporation System for web content management based on server-side application
US6434619B1 (en) 1998-04-29 2002-08-13 Alcatel Canada Inc. Internet-enabled service management system and method
US6108703A (en) 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US6567849B2 (en) 1998-08-17 2003-05-20 International Business Machines Corporation System and method for configuring and administering multiple instances of web servers
EP1116138A1 (en) 1998-08-31 2001-07-18 Cabletron Systems, Inc. Method and apparatus for managing data for use by data applications
US6266401B1 (en) 1998-09-17 2001-07-24 Sprint Communications Company, L.P. Consolidated billing system and method for use in telephony networks
US6308205B1 (en) 1998-10-22 2001-10-23 Canon Kabushiki Kaisha Browser-based network management allowing administrators to use web browser on user's workstation to view and update configuration of network devices
US6374295B2 (en) 1998-10-29 2002-04-16 Nortel Networks Limited Active server management
US6654891B1 (en) 1998-10-29 2003-11-25 Nortel Networks Limited Trusted network binding using LDAP (lightweight directory access protocol)
US6564216B2 (en) 1998-10-29 2003-05-13 Nortel Networks Limited Server manager
US6090098A (en) 1998-12-21 2000-07-18 Kimberly-Clark Worldwide, Inc. Method for alleviating female urinary incontinence
US7310338B1 (en) * 1999-01-08 2007-12-18 Cisco Technology, Inc. Method and apparatus providing multi-service connections within a data communications device
AU2500400A (en) 1999-01-14 2000-08-01 Chase Manhattan Bank, The Electronic account data or transactions routing system
US6785704B1 (en) 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US6516349B1 (en) * 1999-09-07 2003-02-04 Sun Microsystems, Inc. System for updating a set of instantiated content providers based on changes in content provider directory without interruption of a network information services
US7590739B2 (en) * 1999-11-22 2009-09-15 Akamai Technologies, Inc. Distributed on-demand computing system
US6405252B1 (en) 1999-11-22 2002-06-11 Speedera Networks, Inc. Integrated point of presence server network
US7441045B2 (en) 1999-12-13 2008-10-21 F5 Networks, Inc. Method and system for balancing load distribution on a wide area network
AU4716101A (en) * 1999-12-13 2001-06-18 Inktomi Corporation Content collection
US6748429B1 (en) 2000-01-10 2004-06-08 Sun Microsystems, Inc. Method to dynamically change cluster or distributed system configuration
US20020116444A1 (en) 2000-02-29 2002-08-22 Imran Chaudhri Method and system for providing intelligent network content delivery
US20030237016A1 (en) * 2000-03-03 2003-12-25 Johnson Scott C. System and apparatus for accelerating content delivery throughout networks
US6725263B1 (en) 2000-03-21 2004-04-20 Level 3 Communications, Inc. Systems and methods for analyzing network traffic
US6760761B1 (en) * 2000-03-27 2004-07-06 Genuity Inc. Systems and methods for standardizing network devices
US7181766B2 (en) * 2000-04-12 2007-02-20 Corente, Inc. Methods and system for providing network services using at least one processor interfacing a base network
US7240100B1 (en) 2000-04-14 2007-07-03 Akamai Technologies, Inc. Content delivery network (CDN) content server request handling mechanism with metadata framework support
US20020177910A1 (en) 2000-04-19 2002-11-28 Quarterman John S. Performance measurement system for large computer network
US6789103B1 (en) 2000-05-05 2004-09-07 Interland, Inc. Synchronized server parameter database
US6868444B1 (en) 2000-05-05 2005-03-15 Interland, Inc. Server configuration management and tracking
US6842769B1 (en) * 2000-05-05 2005-01-11 Interland, Inc. Automatically configured network server
US7562153B2 (en) 2000-05-12 2009-07-14 AT&T Intellectual Property II, L. P. Method and apparatus for content distribution network brokering and peering
US6675212B1 (en) * 2000-06-12 2004-01-06 Gateway, Inc. Method and apparatus for efficient data browsing
WO2001099344A2 (en) 2000-06-14 2001-12-27 Williams Communications, Llc Route selection within a network with peering connections
US20030208433A1 (en) * 2000-06-26 2003-11-06 Paul Haddad Bandwidth Trading Engine
US6591266B1 (en) 2000-07-14 2003-07-08 Nec Corporation System and method for intelligent caching and refresh of dynamically generated and static web content
US7373654B1 (en) * 2000-07-20 2008-05-13 International Business Machines Corporation System, apparatus and method for updating security configurations of a plurality of servers from a centralized directory server
US6865737B1 (en) * 2000-08-23 2005-03-08 Microsoft Corporation Remote software installation and maintenance
US6795868B1 (en) 2000-08-31 2004-09-21 Data Junction Corp. System and method for event-driven data transformation
US7010578B1 (en) 2000-09-21 2006-03-07 Akamai Technologies, Inc. Internet content delivery service with third party cache interface support
US6895431B1 (en) * 2000-09-29 2005-05-17 Interland, Inc. Providing user access to dynamic updating of remote configuration information
US6976058B1 (en) * 2000-09-29 2005-12-13 Hewlett-Packard Development Company, L.P. Computer card for storing bootable images and providing remote management functions
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US7111057B1 (en) 2000-10-31 2006-09-19 Akamai Technologies, Inc. Method and system for purging content from a content delivery network
US7117262B2 (en) 2000-11-01 2006-10-03 Inktomi Corporation Cooperative management of distributed network caches
US20020069163A1 (en) 2000-12-01 2002-06-06 Gilbert Michael H. Method and system for vertical messaging, billing and payment services
US7702579B2 (en) 2000-12-19 2010-04-20 Emergis Technologies, Inc. Interactive invoicer interface
US20020091612A1 (en) * 2000-12-21 2002-07-11 International Business Machines Corporation Method, system, and business method for providing a marketplace for computing capacity in a network
US20020138437A1 (en) * 2001-01-08 2002-09-26 Lewin Daniel M. Extending an internet content delivery network into an enterprise environment by locating ICDN content servers topologically near an enterprise firewall
US20020156552A1 (en) * 2001-02-13 2002-10-24 Jon Whiting System and method for media file statistics and reporting
US6895414B2 (en) * 2001-02-15 2005-05-17 Usinternet Working, Inc. Method and apparatus for authorizing and reporting changes to device configurations
WO2002079905A2 (en) * 2001-04-02 2002-10-10 Akamai Technologies, Inc. Scalable, high performance and highly available distributed storage system for internet content
US7149797B1 (en) * 2001-04-02 2006-12-12 Akamai Technologies, Inc. Content delivery network service provider (CDNSP)-managed content delivery network (CDN) for network service provider (NSP)
US7185052B2 (en) 2001-05-16 2007-02-27 Akamai Technologies, Inc. Meta content delivery network system
KR20030004473A (en) * 2001-07-05 2003-01-15 엘지전자 주식회사 TMN Performance Management System And Method For ATM Switching System
US6961716B2 (en) 2001-07-31 2005-11-01 Hewlett-Packard Development Company, L.P. Network usage analysis system and method for determining excess usage
CN1575582A (en) * 2001-09-28 2005-02-02 塞维斯通讯公司 Configurable adaptive global traffic control and management
US7860964B2 (en) 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
US7376730B2 (en) * 2001-10-10 2008-05-20 International Business Machines Corporation Method for characterizing and directing real-time website usage
US20030093523A1 (en) 2001-11-15 2003-05-15 Cranor Charles D. Method for associating clients with domain name servers
US7617328B2 (en) * 2001-11-16 2009-11-10 At&T Mobility Ii Llc System for translation and communication of messaging protocols into a common protocol
US7107338B1 (en) * 2001-12-05 2006-09-12 Revenue Science, Inc. Parsing navigation information to identify interactions based on the times of their occurrences
US8429221B2 (en) * 2001-12-13 2013-04-23 Rockstar Consortium Us Lp Content request routing method
US9167036B2 (en) * 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
JP2003248668A (en) * 2002-02-26 2003-09-05 Hitachi Ltd Data center resource management method and operation method
US7254634B1 (en) * 2002-03-08 2007-08-07 Akamai Technologies, Inc. Managing web tier session state objects in a content delivery network (CDN)
US7231442B2 (en) 2002-04-03 2007-06-12 Tonic Software, Inc. Global network monitoring system
ITTO20020341A1 (en) 2002-04-19 2003-10-20 Telecom Italia Lab Spa PROCEDURE FOR CARRYING OUT THE INTERLAPHY BETWEEN NETWORKS OF THE CONTENT DELIVERY NETWORK -CDN- TYPE, RELATIVE NETWORK SET AND INTERFAC COMPONENT
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7289519B1 (en) 2002-05-01 2007-10-30 Cisco Technology, Inc. Methods and apparatus for processing content requests using domain name service
US7260598B1 (en) * 2002-05-03 2007-08-21 Cisco Technology, Inc. Methods and apparatus for processing client requests in a content distribution network using client lists
GB2389431A (en) * 2002-06-07 2003-12-10 Hewlett Packard Co An arrangement for delivering resources over a network in which a demand director server is aware of the content of resource servers
US7249174B2 (en) * 2002-06-12 2007-07-24 Bladelogic, Inc. Method and system for executing and undoing distributed server change operations
US7020706B2 (en) * 2002-06-17 2006-03-28 Bmc Software, Inc. Method and system for automatically updating multiple servers
US6946715B2 (en) * 2003-02-19 2005-09-20 Micron Technology, Inc. CMOS image sensor and method of fabrication
US8117328B2 (en) * 2002-06-25 2012-02-14 Microsoft Corporation System and method for automatically recovering from failed network connections in streaming media scenarios
US7464145B2 (en) * 2002-07-11 2008-12-09 Intelliden, Inc. Repository-independent system and method for asset management and reconciliation
US20040019669A1 (en) * 2002-07-25 2004-01-29 Sridatta Viswanath Event notification in an administration framework for server systems
US7233975B1 (en) 2002-08-19 2007-06-19 Juniper Networks, Inc. Private configuration of network devices
US7558835B1 (en) * 2002-08-19 2009-07-07 Juniper Networks, Inc. Application of a configuration patch to a network device
US8032412B2 (en) * 2002-08-27 2011-10-04 Unisys Corporation Collecting and paying micropayments for internet and wireless purchase of copyright material
US20030149581A1 (en) 2002-08-28 2003-08-07 Imran Chaudhri Method and system for providing intelligent network content delivery
US6975963B2 (en) * 2002-09-30 2005-12-13 Mcdata Corporation Method and system for storing and reporting network performance metrics using histograms
US7975043B2 (en) 2003-02-25 2011-07-05 Hewlett-Packard Development Company, L.P. Method and apparatus for monitoring a network
WO2004083986A2 (en) * 2003-03-19 2004-09-30 Customiser Ltd Recognition of patterns in data
US20040187159A1 (en) * 2003-03-19 2004-09-23 Concurrent Computer Corporation, A Delaware Corporation Multi-tiered content management system
US7660896B1 (en) 2003-04-15 2010-02-09 Akamai Technologies, Inc. Method of load balancing edge-enabled applications in a content delivery network (CDN)
US7373416B2 (en) 2003-04-24 2008-05-13 Akamai Technologies, Inc. Method and system for constraining server usage in a distributed network
US7307526B2 (en) 2003-05-13 2007-12-11 Savi Technology, Inc. Federated system for monitoring physical assets
US20040249939A1 (en) 2003-05-23 2004-12-09 International Business Machines Corporation Methods and apparatus for dynamic and optimal server set selection
JP4335875B2 (en) * 2003-12-01 2009-09-30 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Traffic control method
US7657622B1 (en) 2003-12-23 2010-02-02 At&T Intellectual Property Ii, L.P. Unified web hosting and content distribution system and method for assuring predetermined performance levels
US20050198269A1 (en) 2004-02-13 2005-09-08 Champagne Andrew F. Method and system for monitoring border gateway protocol (BGP) data in a distributed computer network
US7383271B2 (en) * 2004-04-06 2008-06-03 Microsoft Corporation Centralized configuration data management for distributed clients
US20060047798A1 (en) * 2004-07-13 2006-03-02 Feinleib David A System and method for automated capture, editing, replication, and deployment of server configurations
US7720941B2 (en) 2004-08-20 2010-05-18 At&T Intellectual Property I, L.P. Methods, systems and computer program products for network element information management
US7613703B2 (en) * 2004-09-30 2009-11-03 Microsoft Corporation Organizing resources into collections to facilitate more efficient and reliable resource access
US20060072556A1 (en) * 2004-10-06 2006-04-06 Garrett David L System and method for prognosticator performance verification
US8392515B2 (en) * 2004-10-22 2013-03-05 Microsoft Corporation Subfederation creation and maintenance in a federation infrastructure
GB2419703A (en) * 2004-10-29 2006-05-03 Hewlett Packard Development Co Isolated virtual overlay infrastructures each having an interface to control interaction with others
SE529379C2 (en) * 2004-11-04 2007-07-24 Teliasonera Ab Subscriber-adapted capacity utilization in shared mobile network
WO2006094136A1 (en) 2005-03-02 2006-09-08 Computer Associates Think, Inc. Method and system for managing information technology data
US7873321B2 (en) * 2005-03-29 2011-01-18 Qualcomm Incorporated Apparatus and methods for determining network access performance of a wireless device
US20080263180A1 (en) * 2007-04-19 2008-10-23 Hurst Mark B Apparatus, system, and method for resilient content acquisition
CN100403690C (en) * 2005-04-30 2008-07-16 华为技术有限公司 Method and its system for managing user stationed equipment configuration
US7464303B2 (en) * 2005-06-09 2008-12-09 International Business Machines Corporation Autonomically adjusting configuration parameters for a server when a different server fails
US7577929B1 (en) 2005-07-21 2009-08-18 Altera Corporation Early timing estimation of timing statistical properties of placement
US7835911B2 (en) * 2005-12-30 2010-11-16 Nuance Communications, Inc. Method and system for automatically building natural language understanding models
US8447837B2 (en) * 2005-12-30 2013-05-21 Akamai Technologies, Inc. Site acceleration with content prefetching enabled through customer-specific configurations
US7796545B2 (en) * 2006-01-10 2010-09-14 Qualcomm Incorporated Method and apparatus for scheduling in a wireless communication network
US9323578B2 (en) * 2006-01-19 2016-04-26 International Business Machines Corporation Analyzing wait states in a data processing system
US8924524B2 (en) * 2009-07-27 2014-12-30 Vmware, Inc. Automated network configuration of virtual machines in a virtual lab data environment
US20070266128A1 (en) 2006-05-10 2007-11-15 Bhogal Kulvir S Method and apparatus for monitoring deployment of applications and configuration changes in a network of data processing systems
US8019845B2 (en) * 2006-06-05 2011-09-13 International Business Machines Corporation Service delivery using profile based management
US9106613B2 (en) * 2006-06-19 2015-08-11 Ncr Corporation Remote self service facilities administration system
CN101513008B (en) * 2006-07-31 2012-09-19 意大利电信股份公司 System for implementing safety of telecommunication terminal
US8775402B2 (en) * 2006-08-15 2014-07-08 Georgia State University Research Foundation, Inc. Trusted query network systems and methods
US8332484B2 (en) * 2006-09-06 2012-12-11 Akamai Technologies, Inc. Hybrid content delivery network (CDN) and peer-to-peer (P2P) network
US7676586B2 (en) * 2006-10-05 2010-03-09 Microsoft Corporation Hierarchical federation metadata
US7933921B2 (en) * 2006-11-29 2011-04-26 Netapp, Inc. Referent-controlled location resolution of resources in a federated distributed system
US7925491B2 (en) * 2007-06-29 2011-04-12 International Business Machines Corporation Simulation of installation and configuration of distributed software
US20090031376A1 (en) * 2007-07-24 2009-01-29 The Directv Group, Inc. Method and system for managing content in a content processing system having multiple content delivery networks
WO2009018584A1 (en) * 2007-08-02 2009-02-05 Fugen Solutions, Inc. Method and apparatus for multi-domain identity interoperability and certification
US7664880B2 (en) * 2007-08-15 2010-02-16 Microsoft Corporation Lightweight address for widely-distributed ADHOC multicast groups
WO2009076658A1 (en) * 2007-12-13 2009-06-18 Highwinds Holdings, Inc. Content delivery network
GB2456026A (en) 2007-12-26 2009-07-01 Contendo Inc CDN balancing and sharing platform
US8396907B2 (en) * 2008-02-13 2013-03-12 Sung Guk Park Data processing system and method of grouping computer files
US20110153327A1 (en) 2008-02-22 2011-06-23 Iasso Anthony S Systems and methods for identity matching based on phonetic and edit distance matching
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US7970820B1 (en) * 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8996685B2 (en) 2008-04-01 2015-03-31 Orange Management of the distribution of contents
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US9208481B2 (en) * 2008-07-08 2015-12-08 Omnilync, Inc. Transaction data capture device and system
US8180896B2 (en) * 2008-08-06 2012-05-15 Edgecast Networks, Inc. Global load balancing on a content delivery network
US20100070603A1 (en) * 2008-09-18 2010-03-18 Eran Moss Method and Apparatus for Unifying Interfaces at Content Sources and Content Distributors
US8117306B1 (en) 2008-09-29 2012-02-14 Amazon Technologies, Inc. Optimizing content management
US7987152B1 (en) * 2008-10-03 2011-07-26 Gadir Omar M A Federation of clusters for enterprise data management
US20120209942A1 (en) * 2008-10-28 2012-08-16 Cotendo, Inc. System combining a cdn reverse proxy and an edge forward proxy with secure connections
US7962613B2 (en) * 2008-11-14 2011-06-14 At&T Intellectual Property I, Lp System and method for modifying an allocation scheme based on a resource utilization
US8122098B1 (en) * 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8705543B2 (en) 2010-06-04 2014-04-22 Broadcom Corporation Method and system for multi-transport and multi-protocol processing in a broadband gateway
US8935382B2 (en) * 2009-03-16 2015-01-13 Microsoft Corporation Flexible logging, such as for a web server
US20100262550A1 (en) * 2009-04-08 2010-10-14 Avaya Inc. Inter-corporate collaboration overlay solution for professional social networks
US8332529B1 (en) * 2009-05-29 2012-12-11 Adobe Systems Incorporated Media content including introduced code
US20130103556A1 (en) * 2009-06-25 2013-04-25 3Crowd Technologies, Inc. Crowd based content delivery
US8458324B2 (en) * 2009-08-25 2013-06-04 International Business Machines Corporation Dynamically balancing resources in a server farm
US8230478B2 (en) * 2009-08-27 2012-07-24 International Business Machines Corporation Flexibly assigning security configurations to applications
US20110060812A1 (en) 2009-09-10 2011-03-10 Level 3 Communications, Llc Cache server with extensible programming framework
US20110078230A1 (en) 2009-09-25 2011-03-31 Emilio Sepulveda Method and system for providing a cdn with granular quality of service
US20110078327A1 (en) * 2009-09-30 2011-03-31 Prime Networks (Hong Kong) Limited Content delivery utilizing multiple content delivery networks
US20110131341A1 (en) 2009-11-30 2011-06-02 Microsoft Corporation Selective content pre-caching
US9781197B2 (en) * 2009-11-30 2017-10-03 Samsung Electronics Co., Ltd. Methods and apparatus for selection of content delivery network (CDN) based on user location
US8037187B2 (en) * 2009-12-11 2011-10-11 International Business Machines Corporation Resource exchange management within a cloud computing environment
US8868617B2 (en) 2009-12-23 2014-10-21 International Business Machines Corporation Common connection definitions for database clients
US9137302B1 (en) * 2009-12-29 2015-09-15 The Directv Group, Inc. Content distribution network selector
WO2011094734A2 (en) 2010-02-01 2011-08-04 Jumptap, Inc. Integrated advertising system
US8874744B2 (en) * 2010-02-03 2014-10-28 Vmware, Inc. System and method for automatically optimizing capacity between server clusters
EP2583211B1 (en) * 2010-06-15 2020-04-15 Oracle International Corporation Virtual computing infrastructure
US8688994B2 (en) * 2010-06-25 2014-04-01 Microsoft Corporation Federation among services for supporting virtual-network overlays
US8700782B2 (en) * 2010-08-18 2014-04-15 Microsoft Corporation Directing modalities over different networks in multimodal communications
US8620774B1 (en) * 2010-09-23 2013-12-31 Amazon Technologies, Inc. Automated marketplace management service
US8719381B2 (en) * 2010-10-05 2014-05-06 Edgecast Networks, Inc. Reconfigurable download manager
US9152522B2 (en) * 2010-10-22 2015-10-06 Hewlett-Packard Development Company, L.P. Methods for configuration management using a fallback configuration
US9154387B2 (en) * 2011-01-30 2015-10-06 Blue Coat Systems, Inc. System and method for distributed data collection and heuristic refinement in a network intermediary device
US8310991B2 (en) * 2011-03-07 2012-11-13 Nokia Corporation Method, apparatus and computer program for controlling coexistence between wireless networks
US8589996B2 (en) * 2011-03-16 2013-11-19 Azuki Systems, Inc. Method and system for federated over-the-top content delivery
US9077726B2 (en) * 2011-03-31 2015-07-07 NextPlane, Inc. Hub based clearing house for interoperability of distinct unified communication systems
US8600955B2 (en) * 2011-04-18 2013-12-03 Sap Ag Method and apparatus for monitoring an in-memory computer system
US8509762B2 (en) * 2011-05-20 2013-08-13 ReVerb Networks, Inc. Methods and apparatus for underperforming cell detection and recovery in a wireless network
US9288074B2 (en) * 2011-06-30 2016-03-15 International Business Machines Corporation Resource configuration change management
US8719232B2 (en) * 2011-06-30 2014-05-06 Verisign, Inc. Systems and methods for data integrity checking
US8510807B1 (en) * 2011-08-16 2013-08-13 Edgecast Networks, Inc. Real-time granular statistical reporting for distributed platforms

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050181796A1 (en) * 2003-12-31 2005-08-18 G.V. Kumar Real-time interconnect billing system and method of use

Cited By (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9544183B2 (en) 2008-01-14 2017-01-10 Akamai Technologies, Inc. Methods and apparatus for providing content delivery instructions to a content server
US10977747B2 (en) 2010-06-18 2021-04-13 Akamai Technologies, Inc. Extending a content delivery network (CDN) into a mobile or wireline network
US20130111042A1 (en) * 2011-10-31 2013-05-02 Avaya Inc. Route lookup resolution
US10277421B2 (en) * 2011-10-31 2019-04-30 Extreme Networks, Inc. Route lookup resolution
US11218566B2 (en) 2011-12-14 2022-01-04 Level 3 Communications, Llc Control in a content delivery network
US11838385B2 (en) 2011-12-14 2023-12-05 Level 3 Communications, Llc Control in a content delivery network
US9516136B2 (en) 2011-12-14 2016-12-06 Level 3 Communications, Llc Customer-specific request-response processing in a content delivery network
US9456053B2 (en) 2011-12-14 2016-09-27 Level 3 Communications, Llc Content delivery network
US10841398B2 (en) 2011-12-14 2020-11-17 Level 3 Communications, Llc Control in a content delivery network
US9451045B2 (en) 2011-12-14 2016-09-20 Level 3 Communications, Llc Content delivery network
US20140372588A1 (en) 2011-12-14 2014-12-18 Level 3 Communications, Llc Request-Response Processing in a Content Delivery Network
US10187491B2 (en) 2011-12-14 2019-01-22 Level 3 Communications, Llc Request-response processing an a content delivery network
US20150142882A1 (en) * 2012-06-20 2015-05-21 Huawei Technologies Co., Ltd. Content processing method and network side device
US20140122725A1 (en) * 2012-11-01 2014-05-01 Microsoft Corporation Cdn load balancing in the cloud
US9537973B2 (en) * 2012-11-01 2017-01-03 Microsoft Technology Licensing, Llc CDN load balancing in the cloud
US9979657B2 (en) 2012-11-01 2018-05-22 Microsoft Technology Licensing, Llc Offloading traffic to edge data centers in a content delivery network
US9749191B2 (en) 2012-12-13 2017-08-29 Level 3 Communications, Llc Layered request processing with redirection and delegation in a content delivery network (CDN)
US9628344B2 (en) 2012-12-13 2017-04-18 Level 3 Communications, Llc Framework supporting content delivery with reducer services network
US9628347B2 (en) 2012-12-13 2017-04-18 Level 3 Communications, Llc Layered request processing in a content delivery network (CDN)
US9628346B2 (en) 2012-12-13 2017-04-18 Level 3 Communications, Llc Devices and methods supporting content delivery with reducer services
US9634906B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Devices and methods supporting content delivery with adaptation services with feedback
US9634905B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Invalidation systems, methods, and devices
US9634907B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Devices and methods supporting content delivery with adaptation services with feedback
US9634904B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Framework supporting content delivery with hybrid content delivery services
US9634918B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Invalidation sequencing in a content delivery framework
US9641402B2 (en) 2012-12-13 2017-05-02 Level 3 Communications, Llc Configuring a content delivery network (CDN)
US9641401B2 (en) 2012-12-13 2017-05-02 Level 3 Communications, Llc Framework supporting content delivery with content delivery services
US9647901B2 (en) 2012-12-13 2017-05-09 Level 3 Communications, Llc Configuring a content delivery network (CDN)
US9647900B2 (en) 2012-12-13 2017-05-09 Level 3 Communications, Llc Devices and methods supporting content delivery with delivery services
US9647899B2 (en) 2012-12-13 2017-05-09 Level 3 Communications, Llc Framework supporting content delivery with content delivery services
US9654354B2 (en) 2012-12-13 2017-05-16 Level 3 Communications, Llc Framework supporting content delivery with delivery services network
US9654355B2 (en) 2012-12-13 2017-05-16 Level 3 Communications, Llc Framework supporting content delivery with adaptation services
US9654353B2 (en) 2012-12-13 2017-05-16 Level 3 Communications, Llc Framework supporting content delivery with rendezvous services network
US9654356B2 (en) 2012-12-13 2017-05-16 Level 3 Communications, Llc Devices and methods supporting content delivery with adaptation services
US9660876B2 (en) 2012-12-13 2017-05-23 Level 3 Communications, Llc Collector mechanisms in a content delivery network
US9661046B2 (en) 2012-12-13 2017-05-23 Level 3 Communications, Llc Devices and methods supporting content delivery with adaptation services
US9660874B2 (en) 2012-12-13 2017-05-23 Level 3 Communications, Llc Devices and methods supporting content delivery with delivery services having dynamically configurable log information
US9660875B2 (en) 2012-12-13 2017-05-23 Level 3 Communications, Llc Devices and methods supporting content delivery with rendezvous services having dynamically configurable log information
US9667506B2 (en) 2012-12-13 2017-05-30 Level 3 Communications, Llc Multi-level peering in a content delivery framework
US9686148B2 (en) 2012-12-13 2017-06-20 Level 3 Communications, Llc Responsibility-based cache peering
US9705754B2 (en) 2012-12-13 2017-07-11 Level 3 Communications, Llc Devices and methods supporting content delivery with rendezvous services
US9722884B2 (en) 2012-12-13 2017-08-01 Level 3 Communications, Llc Event stream collector systems, methods, and devices
US9722882B2 (en) 2012-12-13 2017-08-01 Level 3 Communications, Llc Devices and methods supporting content delivery with adaptation services with provisioning
US9722883B2 (en) 2012-12-13 2017-08-01 Level 3 Communications, Llc Responsibility-based peering
US9628345B2 (en) 2012-12-13 2017-04-18 Level 3 Communications, Llc Framework supporting content delivery with collector services network
US9749192B2 (en) 2012-12-13 2017-08-29 Level 3 Communications, Llc Dynamic topology transitions in a content delivery framework
US9749190B2 (en) 2012-12-13 2017-08-29 Level 3 Communications, Llc Maintaining invalidation information
US9755914B2 (en) 2012-12-13 2017-09-05 Level 3 Communications, Llc Request processing in a content delivery network
US9787551B2 (en) 2012-12-13 2017-10-10 Level 3 Communications, Llc Responsibility-based request processing
US9819554B2 (en) 2012-12-13 2017-11-14 Level 3 Communications, Llc Invalidation in a content delivery framework
US9847917B2 (en) 2012-12-13 2017-12-19 Level 3 Communications, Llc Devices and methods supporting content delivery with adaptation services with feedback
US20140223017A1 (en) * 2012-12-13 2014-08-07 Level 3 Communications, Llc Content Delivery Framework Having Autonomous CDN Partitioned into Multiple Virtual CDNs to Implement CDN Interconnection, Delegation, and Federation
US11368548B2 (en) 2012-12-13 2022-06-21 Level 3 Communications, Llc Beacon services in a content delivery framework
US9887885B2 (en) 2012-12-13 2018-02-06 Level 3 Communications, Llc Dynamic fill target selection in a content delivery framework
US9628342B2 (en) 2012-12-13 2017-04-18 Level 3 Communications, Llc Content delivery framework
US10135697B2 (en) 2012-12-13 2018-11-20 Level 3 Communications, Llc Multi-level peering in a content delivery framework
US10142191B2 (en) 2012-12-13 2018-11-27 Level 3 Communications, Llc Content delivery framework with autonomous CDN partitioned into multiple virtual CDNs
US9628343B2 (en) 2012-12-13 2017-04-18 Level 3 Communications, Llc Content delivery framework with dynamic service network topologies
US20140223002A1 (en) * 2012-12-13 2014-08-07 Level 3 Communications, Llc Verification and auditing in a content delivery framework
US11121936B2 (en) 2012-12-13 2021-09-14 Level 3 Communications, Llc Rendezvous optimization in a content delivery framework
US10992547B2 (en) 2012-12-13 2021-04-27 Level 3 Communications, Llc Rendezvous systems, methods, and devices
US10931541B2 (en) 2012-12-13 2021-02-23 Level 3 Communications, Llc Devices and methods supporting content delivery with dynamically configurable log information
US10608894B2 (en) 2012-12-13 2020-03-31 Level 3 Communications, Llc Systems, methods, and devices for gradual invalidation of resources
US10652087B2 (en) 2012-12-13 2020-05-12 Level 3 Communications, Llc Content delivery framework having fill services
US10701149B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having origin services
US10701148B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having storage services
US10700945B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Role-specific sub-networks in a content delivery framework
US10708145B2 (en) 2012-12-13 2020-07-07 Level 3 Communications, Llc Devices and methods supporting content delivery with adaptation services with feedback from health service
US10742521B2 (en) 2012-12-13 2020-08-11 Level 3 Communications, Llc Configuration and control in content delivery framework
US10791050B2 (en) 2012-12-13 2020-09-29 Level 3 Communications, Llc Geographic location determination in a content delivery framework
US10826793B2 (en) * 2012-12-13 2020-11-03 Level 3 Communications, Llc Verification and auditing in a content delivery framework
US10841177B2 (en) * 2012-12-13 2020-11-17 Level 3 Communications, Llc Content delivery framework having autonomous CDN partitioned into multiple virtual CDNs to implement CDN interconnection, delegation, and federation
US10862769B2 (en) 2012-12-13 2020-12-08 Level 3 Communications, Llc Collector mechanisms in a content delivery network
JP2014204176A (en) * 2013-04-01 2014-10-27 エヌ・ティ・ティ・コミュニケーションズ株式会社 Cache evaluation device, cache evaluation method, and program
US20150172149A1 (en) * 2013-12-17 2015-06-18 Limelight Networks, Inc. Shared delivery using a terminal-network cache in cooperative delivery systems
US10536372B2 (en) * 2014-02-04 2020-01-14 Fastly Inc. Communication path selection for content delivery
US20150356534A1 (en) * 2014-06-05 2015-12-10 Verizon Patent And Licensing Inc. Content provider charged gateway
US10296881B2 (en) * 2014-06-05 2019-05-21 Verizon Patent And Licensing Inc. Content provider charged gateway
US11595398B1 (en) * 2015-09-29 2023-02-28 Verisign, Inc. Access control for named domain networking
CN106027272A (en) * 2016-04-26 2016-10-12 乐视控股(北京)有限公司 CDN (Content Delivery Network) node server traffic time deduction method and system
US20170366576A1 (en) * 2016-06-16 2017-12-21 Level 3 Communications, Llc Systems and methods for preventing denial of service attacks utilizing a proxy server
US11165818B2 (en) 2016-06-16 2021-11-02 Level 3 Communications, Llc Systems and methods for preventing denial of service attacks utilizing a proxy server
US10581903B2 (en) * 2016-06-16 2020-03-03 Level 3 Communications, Llc Systems and methods for preventing denial of service attacks utilizing a proxy server
US11122046B2 (en) * 2017-03-06 2021-09-14 International Business Machines Corporation Technology for generating a multi-user response in a network
US11481825B1 (en) * 2019-03-29 2022-10-25 Amazon Technologies, Inc. Transaction processing at edge servers in a content distribution network
WO2023014448A1 (en) * 2021-08-05 2023-02-09 Microsoft Technology Licensing, Llc Automated interoperational tracking in computing systems
US20230040862A1 (en) * 2021-08-05 2023-02-09 Microsoft Technology Licensing, Llc Automated interoperational tracking in computing systems
US11921603B2 (en) * 2021-08-05 2024-03-05 Microsoft Technology Licensing, Llc Automated interoperational tracking in computing systems
US20230336452A1 (en) * 2022-04-19 2023-10-19 Sap Se Data center selection for cloud application deployment

Also Published As

Publication number Publication date
US8583769B1 (en) 2013-11-12
US8914814B1 (en) 2014-12-16
US10373219B2 (en) 2019-08-06
US9438444B1 (en) 2016-09-06
US20140047085A1 (en) 2014-02-13
US8510807B1 (en) 2013-08-13
US9420050B1 (en) 2016-08-16
US8868701B1 (en) 2014-10-21
US8117276B1 (en) 2012-02-14
US8683043B1 (en) 2014-03-25
US8275851B1 (en) 2012-09-25
US8244915B1 (en) 2012-08-14
US20140359092A1 (en) 2014-12-04
US8504642B2 (en) 2013-08-06
US8190702B1 (en) 2012-05-29
US20130046807A1 (en) 2013-02-21
US9009277B2 (en) 2015-04-14
US8166108B1 (en) 2012-04-24

Similar Documents

Publication Publication Date Title
US11157885B2 (en) End-to-end content delivery network incorporating independently operated transparent caches and proxy caches
US20130046664A1 (en) End-to-End Content Delivery Network Incorporating Independently Operated Transparent Caches and Proxy Caches
US20210099363A1 (en) Data Usage Analysis and Reporting
US8635128B2 (en) Systems and methods for billing content providers for designated content delivered over a data network
US9544397B2 (en) Proxy server for providing an adaptive wireless ambient service to a mobile device
US8630630B2 (en) Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US20180062943A1 (en) Service enhancement discovery for connectivity traits and virtual network functions in network services
US10863387B2 (en) System and method for orchestrating policy in a mobile environment
US9083652B2 (en) Crowd based content delivery
US9191523B1 (en) Cost allocation for derived data usage
US8862516B2 (en) Systems and methods for billing content providers for designated content delivered over a data network
US8775564B1 (en) Time based CDN traffic allocation
US20150195354A1 (en) Redirection content requests
US9712634B2 (en) Orchestrating mobile data networks in a network environment
CA2942681C (en) System and methods for enabling sponsored data access across multiple carriers
US8959203B1 (en) Dynamic bandwidth management using routing signals in networks with direct peerings
US20100131650A1 (en) Methods and Apparatus to Support Network Policy Managers
US9141947B1 (en) Differential bandwidth metering for networks with direct peerings
KR101753413B1 (en) Adaptive ambient sevices
US10791026B2 (en) Systems and methods for adaptive over-the-top content quality of experience optimization
US20150278296A1 (en) System and method for organizing received data and associated metadata in a mobile environment
Freedman et al. Prices are right: managing resources and incentives in peer-assisted content distribution.
Fiadino et al. Grasping popular applications in cellular networks with big data analytics platforms
Xiao et al. Monetizing Spare Bandwidth: The Case of Distributed VPNs
Maillé et al. A More General View of Neutrality

Legal Events

Date Code Title Description
AS Assignment

Owner name: EDGECAST NETWORKS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KAZERANI, ALEXANDER A.;SEGIL, JAMES;REEL/FRAME:027739/0427

Effective date: 20120221

AS Assignment

Owner name: VERIZON DIGITAL MEDIA SERVICES INC., CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:EDGECAST NETWORKS, INC;REEL/FRAME:038511/0045

Effective date: 20160318

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION