CN113348658B - 延迟约束下的缓存集群的高效灵活的负载均衡 - Google Patents

延迟约束下的缓存集群的高效灵活的负载均衡 Download PDF

Info

Publication number
CN113348658B
CN113348658B CN202080010878.7A CN202080010878A CN113348658B CN 113348658 B CN113348658 B CN 113348658B CN 202080010878 A CN202080010878 A CN 202080010878A CN 113348658 B CN113348658 B CN 113348658B
Authority
CN
China
Prior art keywords
cache
content
response
present
meta
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.)
Active
Application number
CN202080010878.7A
Other languages
English (en)
Other versions
CN113348658A (zh
Inventor
马塞尔·保罗·索斯泰内·恩盖哈德
尤安·德斯穆索
皮埃尔·菲斯特
威廉·马克·汤斯雷
艾瑞克·万柯克
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology 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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN113348658A publication Critical patent/CN113348658A/zh
Application granted granted Critical
Publication of CN113348658B publication Critical patent/CN113348658B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • 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
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/251Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/464Multimedia object, e.g. image, video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Graphics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本技术提供了一种用于基于内容流行度的多级评估在多个缓存服务器之间引导内容请求的系统、方法和计算机可读介质。在一些实施例中,可以确定三个级别的流行度,包括针对所查询的内容的流行指定、半流行指定和不流行指定。查询的处理和所请求的内容的递送取决于前述流行度级别指定,并且包括在查询最初被定向到的边缘缓存服务器处接受查询、拒绝查询并重定向到第二边缘缓存服务器或将查询重定向到原始服务器,从而递送所请求的内容。所提出的技术通过将对半流行内容的请求引导到一个或多个另外的缓存服务器而将对不流行内容的请求转发到原始服务器,来实现边缘缓存集群的较高命中率。

Description

延迟约束下的缓存集群的高效灵活的负载均衡
相关申请的交叉引用
本申请要求于2019年01月29日提交的标题为“EFFICIENT AND FLEXIBLE LOAD-BALANCING FOR CLUSTERS OF CACHES UNDER LATENCY CONSTRAINT(延迟约束下的缓存集群的高效灵活的负载均衡)”的美国非临时专利申请第16/261,462号的权益和优先权,其内容通过引用整体明确地并入本文。
技术领域
本技术涉及用于实现网络内缓存系统的系统和方法。更具体地,它旨在通过增加网络内缓存集群的命中率来减少内容递送网络中的延迟和网络负载。
背景技术
到2021年,与视频点播(Vedio-on-Demand,VoD)和线性视频流送服务相关的互联网流量预计将达到74TB/s,占总互联网流量的82%。因此,已部署内容递送网络(ContentDelivery Networks,CDN)以促进网络扩展,同时为客户提供更好的体验质量。然而,视频流量的庞大规模和对体验质量的不断提高的期望给内容递送网络带来了严峻的工程挑战。在此种情况下,由于传统的内容递送网络(CDN)难以满足需求,因此网络可扩展性成为视频递送的关键问题。在这些挑战中,一个关键的挑战涉及提高相关资源(网络、存储和计算)的利用效率。这是一项重要改进,因为在许多情况下,简单地扩大处理硬件以响应不断增加的网络负载不足以满足内容用户所需的体验质量。
附图说明
为了描述可以获得本公开的上述和其他优点和特征的方式,将通过参考附图中图示的具体实施例对上面简要描述的原理进行更具体的描述。理解这些附图仅描述了本公开的示例性实施例并且因此不被认为是对其范围的限制,通过使用附图以额外的特异性和细节描述和解释了本文的原理,其中:
图1图示了根据本技术的一些实施例的包括网络定位符部分和内容标识符部分的修改的IPv6地址格式。
图2图示了根据本技术的一些实施例的具有改进的缓存服务器命中率的内容递送系统。
图3图示了根据本技术的一些实施例的具有改进的缓存服务器命中率的内容递送系统。
图4图示了根据本技术的一些实施例的用于优化内容递送网络中的内容请求的基于流行度的过滤的PI控制器。
图5示出了根据本技术的一些实施例的用于根据Yaksha派生控制器的接受概率输出来计算基于流行度的过滤标准的流程图。
图6图示了根据本技术的一些实施例的示例网络设备。
图7图示了根据本技术的一些实施例的计算设备的示例架构。
图8示出了根据本技术的一些实施例的示例内容请求过滤过程的流程图。
具体实施方式
下面详细讨论本公开的各种示例实施例。虽然讨论了具体的实现方式,但应该理解,这只是为了说明的目的。相关领域的技术人员将认识到,在不脱离本公开的精神和范围的情况下可以使用其他组件和配置。因此,以下描述和附图是说明性的并且不应被解释为限制性的。描述了许多具体细节以提供对本公开的透彻理解。然而,在某些情况下,为了避免模糊描述,未描述众所周知的或传统的细节。本公开中对一个实施例或实施例的提及可以是指同一实施例或任一实施例;并且此提及意指至少一个实施例。
提及“一个实施例”或“实施例”是指结合该实施例描述的特定特征、结构或特性被包括在本公开的至少一个实施例中。说明书中各处出现的短语“在一个实施例中”不一定都指同一实施例,也不是与其他实施例相互排斥的单独或替代的实施例。此外,描述了可以由一些实施例而不是由其他实施例展示的各种特征。
本说明书中使用的术语在本领域中、在本公开的上下文中以及在使用每个术语的特定上下文中一般具有它们的普通含义。替代语言和同义词可用于本文中讨论的任何一个或多个术语,并且在本文中是否详细阐述或讨论了术语并不特别重要。在某些情况下,提供了某些术语的同义词。一个或多个同义词的记载不排除使用其他同义词。本说明书中任何地方的示例的使用,包括本文讨论的任何术语的示例,仅是说明性的,并不旨在进一步限制本公开或任何示例术语的范围和含义。同样,本公开不限于本说明书中给出的各种实施例。
在不限制本公开范围的情况下,下面给出根据本公开实施例的仪器、装置、方法及其相关结果的示例。请注意,为了方便读者,在示例中可以使用标题或副标题,但其绝不应该限制本公开的范围。除非另有定义,本文使用的技术和科学术语具有本公开内容所属领域的普通技术人员通常理解的含义。在发生冲突的情况下,以本文件(包括定义)为准。
本公开的附加特征和优点将在随后的描述中阐述,并且部分地将是从描述中明显看出的,或者可以通过在此公开的原理的实践而获知。本公开的特征和优点可以通过所附权利要求中特别指出的手段和组合来实现和获得。本公开的这些和其他特征将从以下描述和所附权利要求中变得更加明显,或者可以通过在此阐述的原理的实践而获悉。
概述
公开了用于优化网络内缓存服务器集群的命中率性能和服务级别响应时间的系统、方法和计算机可读介质。所公开技术的方面涉及基于内容请求流量的多级流行度评估的过滤方案。在本技术的一些实施例中,控制器调谐的阈值参数用于区分流行内容和半流行内容。
在本技术的一个方面中,一种方法包括在边缘设备处指定用于将包括多个上次请求的内容标识符的元缓存划分为流行部分和半流行部分的阈值参数;使用适当的转发/路由协议,将针对元缓存的半流行部分中的内容标识符生成的第一缓存未命中请求重定向到一个或多个另外的缓存服务器;使用适当的转发/路由协议,将由一个或多个另外的缓存服务器针对元缓存的半流行部分中的内容标识符生成的第二缓存未命中请求重定向到托管所请求的内容的原始服务器。本技术的一些实施例还包括使用比例积分控制器调谐阈值参数的值以优化缓存命中率和一个或多个其他网络性能指标之间的权衡的步骤。
如此一来,本技术的实施例提供基于多级流行度的内容请求过滤,以提高内容递送网络中边缘缓存服务器的命中率。在一些实施例中,这通过维持与最近请求的内容的数量相对应的内容标识符的元缓存以及用于将元缓存条目划分为流行类别和半流行类别的阈值参数来完成。例如,标识为半流行的内容与不同的缓存未命中转发策略相关联,这与被视为流行的内容相反并且类似于被视为不流行的内容。为进一步扩展上述特征,在对元缓存的半流行部分中标识的内容的缓存未命中请求的情况下,第一接收缓存服务器可以将请求重定向到可能已经被伪随机选择的另一缓存服务器,而不是将请求直接转发到原始服务器。
在本技术的一个方面中,一种系统包括一个或多个内容请求过滤单元,该一个或多个内容请求过滤单元被通信耦合到一个或多个边缘缓存服务器,每个内容请求过滤单元还可以包括:跨阈值索引划分为流行部分和半流行部分的多个最近请求的内容标识符的元缓存,其中,仅在从半流行内容请求被顺序地引导跨过的多个缓存服务器中的每一个缓存服务器中都发生缓存未命中的情况下,针对半流行部分中的内容标识符的请求被转发到原始内容服务器。在本技术的一些实施例中,该系统还可以包括一个或多个PI控制器,该一个或多个PI控制器可操作地调谐元缓存的阈值参数,从而优化缓存命中率和一个或多个其他性能属性之间的权衡。
因此,包括最近使用的内容标识符的元缓存的内容过滤/路由单元可以基于前述内容的流行程度将不同的缓存未命中转发策略应用于针对内容的请求。在一些实施例中,本技术包括用于区分最近使用的内容标识符的元缓存中的流行内容和半流行内容的阈值参数。根据一些实施例,可以使用自调谐比例积分控制器来调谐阈值参数。例如,在遇到来自第一缓存服务器的初始缓存未命中之后,针对元缓存的半流行部分中标识的内容的请求可以被重定向到一个或多个另外的缓存服务器。因此,本技术的实施例使得能够在将内容请求重定向到原始内容服务器之前对所请求的内容执行更彻底的缓存搜索。
具体描述
多层次视频内容递送网络(CDN)架构通常包括三个主要组件:(i)请求和消费视频块的客户端,(ii)供应所请求的内容的原始服务器,以及(iii)边缘缓存,其位置更靠近客户端(即,在ISP网络中)并且存储最流行的视频块以减少原始服务器上的负载。要由内容递送网络(CDN)满足的关键特性是在最小化基础设施成本的同时以较小的延迟来供应内容。在不产生巨大基础设施成本的情况下实现低延迟内容递送的一种方法是基于将流行内容缓存为靠近用户,同时将不太流行的内容保留在更集中的服务器上。如此一来,各自合理地靠近客户端并且能够供应与单个原始服务器提供的相同的内容的缓存的网络,可以用于在边缘处缓存尽可能多的内容,并让尽可能多的不流行内容由原始服务器供应。
从选定的服务器(比如边缘缓存服务器)请求并被成功供应的内容的比率可以称为“命中率(hit rate)”。边缘缓存的命中率对诸如块下载时间之类的体验质量(Qualityof Experience,QoE)相关因素有很大影响。例如,已经表明缓存未命中将服务器延迟增加了一个数量级,这反过来又会导致客户端启动时间增加。服务器延迟劣化(degradation)的一个原因涉及在缓存服务器发生缓存未命中的情况下,将超文本传输协议(HTTP或HTTPS)连接代理(proxy)到原始服务器所产生的网络成本。因此,对于CDN架构的可扩展性,大多数内容请求都成功地由边缘缓存供应是很重要的,因为这减小了原始服务器上的负载。
然而,随着边缘缓存上负载的增加,通过简单地使用更强大的服务器或添加硬件资源来解决容量问题可能会变得非常昂贵。因此,在边缘处金次能够基于流行度的过滤可能变得必要,以便决定应该将内容缓存在何处,是否重定向请求或代理内容,以及将内容请求重定向到何处。当前的架构存在两个主要问题。即,在缓存未命中时,使用HTTP代理以便从原始处获取内容。与直接在第3层将请求重新路由到原始处相比,这具有不可忽略的性能成本。此外,现有架构不利用缓存的水平扩展来进行缓存之间的协作,反而,当存在缓存未命中时,请求通常被转发回原始处,而预先尝试另一缓存可以对半流行内容有益。
前述问题由本技术的涉及用于视频内容递送网络(CDN)的系统、方法和计算机可读介质的实施例解决,这利用块级内容寻址和多层次内容流行度评估(在部署的网络技术中)做出关于内容请求和内容递送的最佳处理的智能决定。一方面,内容相关流量的最佳处理旨在提高缓存系统的命中率,从而减少与对诸如视频之类的内容的请求的服务相关联的延迟和网络负载。因此,本公开的一些实施例旨在提高网络边缘的缓存命中率,同时还减少与缓存未命中相关的不利影响(即,延迟和网络负载)。为此,所公开技术的实施例利用网络层视频块命名来促进所请求的内容的基于流行度的多层次分类。
在一些实施例中,命名的视频块(嵌入在请求分组报头的网络地址内的内容标识符)可以在可部署在基于当前IP的网络中的系统和/或配置内的转发平面中使用。因此,每个视频片段都可以与唯一的网络标识符匹配,例如使用64比特编码来包含视频标识符、视频内片段的标识符以及潜在的附加元数据,比如片段持续时间和请求的视频比特率/质量。然后可以根据该名称构建IPv6地址。参考图1,修改的IPv6地址100的示例包括第一64比特部分104,该第一64比特部分104构成可以特定于视频制作者的路由前缀和子网标识符,并且充当网络定位符。此外,修改示例IPv6地址100还包括第二64比特部分106,该第二64比特部分106构成内容元数据并充当内容标识符。
根据本技术的一些实施例,作为内容请求分组报头的第3层地址部分的一部分的块级内容寻址可以用于在网络层提供内容感知和跟踪。在本技术的一些实施例中,上述网络级内容感知和跟踪可以与最新最近使用(Last Recently Used,LRU)的过滤策略结合使用以提供基于多级流行度的内容请求过滤。在一些实施例中,基于流行度的LRU过滤可以通过保持由最近最少使用(Least Recently Used)的替换策略驱动的标识符的“元缓存”来实现。元缓存中存在的内容标识符可以被视为流行度的指示符。然而,代替在“流行”和“不流行”内容之间分类,本技术的实施例公开了一种将内容在“流行”、“半流行”和“不流行”之间分类的三层次分类方法。因此,提高了准确性和效率,借此将不流行内容的递送卸载到原始服务器,并在缓存处供应流行内容。
根据本技术的一些实施例,块级内容寻址包括向每个视频块分配唯一且全局可路由的IPv6地址。暴露IPv6地址空间中的块和视频标识符提供了为所请求的内容提供了网络层可见性。因此,设置在客户端系统和网络缓存资源之间的内容路由/过滤服务可以用于检查以一个或多个边缘缓存服务器为目的地的内容请求分组,从而根据在内容请求分组中作为IP地址暴露的内容标识符构建最新最近使用的内容标识符的元缓存。内容路由/过滤服务然后可以基于最新最近使用的内容标识符的元缓存中的相应内容标识符的索引位置,为不同的客户端请求的内容分配特定的流行度评级(即流行或半流行度评级)。在一些实施例中,出于流行度评级的目的,可以相对于静态或动态计算的阈值水平来确定索引位置。取决于相应的内容标识符是设置在阈值水平之上还是之下,可以将内容标识为流行的或半流行的,而元缓存中未命中的内容标识符被视为对应于不流行的内容。内容路由/过滤服务然后可以基于所请求的内容的内容流行度分类做出带内内容请求转发决定。
根据本技术的一些实施例,可以在缓存服务器本地供应被视为流行的内容。相反地,对被视为不流行的内容的请求可以被定向到原始服务器并由其提供服务。对于在初始缓存服务器上不可用的半流行内容,有可能另一个(边缘)缓存具有该内容的副本。因此,在这些情况下,实施例提供通过另一个伪随机选择的边缘缓存进行绕路,而不是直接返回原始处。根据一些实施例,可以使用HTTP代理来处理在缓存未命中时重定向/绕路到第二缓存服务器和/或原始服务器。然而,在本技术的一些实施例中,可以使用分段路由负载均衡(Segment Routing Load Balancing,SRLB)方法(比如,例如,6LB负载均衡协议)来执行重定向/绕路以提高性能。例如,在所公开技术的一些实施例中,基于所请求的内容的经确定的流行度级别,利用IPv6分段路由(IPv6 Segment Routing,SRv6)来引导客户端请求通过候选服务器链。在图3中提供了SRv6实现的示例。
图2图示了根据本技术的一些实施例的示例内容递送网络(CDN)200的操作。在示例CDN网络200中,内容路由器202和204分别包括最新最近使用(LRU)过滤器组件206和208。LRU过滤器206包括具有关联的(流行度)阈值参数211的大小为C1的元缓存210,并且LRU过滤器208包括具有关联的阈值参数213的大小为C1的元缓存212。LRU过滤器206和208控制和过滤对原始服务器216和包括缓存服务器217和218的缓存服务器集群的访问。在一些实施例中,LRU过滤器功能可以并入一个或多个内容路由器中。在一些实施例中,LRU过滤器可以被实现为独立的设备、软件服务、协议或软件/硬件服务的组合。LRU过滤器可以靠近网络边缘设置,并负责控制和过滤去往和来自一个或多个相关联的缓存服务器和/或一个或多个原始内容服务器的内容请求。在一些实施例中,LRU过滤器可以被实现为通信地耦合到一个或多个内容路由器并且向对应的内容路由器提供关于如何路由针对不同内容的请求的必要信息的单元。
返回参考图2,根据一些实施例,由流线216、218和220示出了在接收到内容请求时示例CDN 200的操作。流线216对应于如下场景:其中在LRU过滤器206的元缓存210中找到了传入请求分组中的内容标识符(217),并且其相应索引值小于阈值索引值(即,其位置高于对应于元缓存210的流行部分的阈值索引211)。因此,LRU过滤器206将对应的内容标识符移动到元缓存210的顶部并且查询被对应的缓存服务器接受(即,查询由边缘服务器217服务)。在217缓存未命中的情况下,所请求的(流行)内容被从原始服务器216代理并且本地副本被保存在缓存服务器217上。
当考虑LRU缓存中元素的索引时,索引越小,该元素越早出现在缓存列表中。因此,索引越小,流行度就越高。因此,根据本技术的一些实施例,只要内容的索引小于阈值,就可以认为内容是流行的,而只要其索引大于阈值,就可以认为内容是半流行的。然而,应当注意,关于图2中的LRU缓存210和212的图示,LRU缓存图示的顶部描绘了与最近观察到的内容相对应的LRU堆的底部。因此,示例LRU缓存图示210和212对应于索引值排列的升序。
相反地,流线218对应于如下场景:其中在LRU过滤器206的元缓存210中未找到所请求的内容标识符(即,不流行的内容)。如此一来,LRU过滤器206在元缓存210的顶部添加/插入未命中的内容标识符(如果元缓存已满,则这导致删除元缓存中的最后的内容标识符),并且拒绝查询(即请求被直接转发到原始服务器216)。
如所描述的,本技术的实施例提供了介于不流行级别和流行级别之间的流行度的中级评级(半流行)。在图2的示例CDN 200中,这由对应于如下场景的流线220示出:其中嵌入在传入内容请求分组的第3层地址部分中的请求内容标识符对应于内容标识符(221),内容标识符(221)是在LRU 206的元缓存210中索引值大于阈值索引211的位置(即,其位置低于对应于元缓存210的半流行部分的阈值索引211)处找到的。针对半流行内容,在初始/第一接收缓存服务器(缓存服务器217)处的缓存未命中将导致LRU过滤器206或内容路由器202通过其关联的内容路由器204(例如通过使用分段路由负载均衡转发协议),将请求重新路由到第二伪随机选择的缓存服务器(218)。在接收到重定向的内容请求时,LRU过滤器208将相应的内容标识符(221)移动到元缓存212的顶部。如果服务第二伪随机选择的缓存服务器(218)的第二LRU过滤器(208)也没有所请求的内容(对应于内容标识符221),或者如果为第二伪随机选择的缓存服务器(218)服务的第二LRU过滤器(208)具有所请求的内容,但是是在阈值参数213之上的位置(即,在元缓存212的半流行部分中),则查询被转发到原始服务器216。如果根据第二边缘缓存服务器218的LRU过滤器212将重定向的内容视为流行的,则在第二边缘缓存服务器218上本地接受该请求,并且如果本地不可用,则从原始服务器216代理该内容。
在一些实施例中,上述缓存系统可以被实现为连接到指向列表内条目的指针的散列映射的双向链表。在本技术的一个实施例中,元缓存的大小被设置为缓存(元缓存过滤对该缓存的访问)的大小的六倍。这在轻负载的情况下提供了几乎最佳的命中率(因此阈值等于大小)。
本技术的一些实施例涉及针对半流行内容的过滤方案,该方案涉及将来自第一接收缓存服务器的缓存未命中重定向到另一个缓存服务器。该特征基于半流行内容在另一边缘缓存处可用的可能性,因此为了在返回原始处(通常在地理上更远)之前访问另一缓存而招致两个缓存之间的三角路由的转发延迟被认为是值得的。为此,根据一些实施例,在将请求重定向回原始服务器之前,可以利用IPv6分段路由(SRv6)和(一个或多个)分段路由负载均衡(SRLB)协议来访问多个伪随机选择的缓存。
图3图示了根据本技术的一些实施例的用于基于流行度过滤内容请求和响应流量的分段路由实现方式300的示例。在示例实现方式300中,可以位于客户端304附近(例如在客户端网络栈或机顶盒中)的调度器单元(302)被部署成将分段路由报头(包括分段标识符列表306)插入到内容请求分组中,以促进上游的请求过滤过程。例如,当客户端304发出新连接分组(例如TCP SYN)时,调度器302将分段标识符(SID)列表306插入到请求分组的分段路由报头中。在图3所示的示例实施例中,SID列表306包括三个条目,其中前两个条目对应于分段标识符1和3,分别标识两个伪随机选择的缓存服务器:缓存服务器1和缓存服务器3。SID列表306中最后的条目对应于原始服务器308的分段标识符。为了澄清起见,当使用IPv6转发平面实现分段路由时,SID列表可以互换地称为SRv6(使用IPv6转发的分段路由)列表。
接受服务器(其可以是缓存或原始服务器中的任何一者)在从客户端304接受新连接分组时,将其网络或分段地址作为元数据插入到返回给客户端的响应分组中。调度器(302)然后在连接的剩余生命周期中记录响应服务器的地址。因此,当客户端发出另外的分组(例如TCP ACK)到接受服务器时,调度器插入仅有一个分段标识符的分段路由报头,该一个分段标识符从SID列表306中标识的原始的三个服务器(即缓存服务器1、缓存服务器3和原始服务器)中标识接受服务器。
因此,一旦调度器接收到包含具有接受服务器的地址的元数据的响应,则与已建立的连接(到接受服务器)相关联的所有后续分组将仅包括与接受内容请求并终止连接的服务器/节点相对应的一个分段标识符(来自嵌入在初始内容请求或新连接分组中的原始分段标识符列表中指定的三个)。因此,客户端能够建立到接受服务器的直接数据连接,用于递送所请求的内容。
参考图3中的示例,LRU过滤器/内容路由器310、311和312被部署用于分别过滤对缓存服务器1、2和3的访问并管理缓存服务器1、2和3的缓存未命中响应。如此一来,每个LRU过滤器/内容路由器均被部署在它过滤访问的缓存服务器附近。根据图2和3中的示例实施例,LRU过滤器/内容路由器的过滤/管理操作取决于所请求的内容的基于阈值的流行度分类,如流行、半流行或不流行。
返回参考图3,在相应的LRU过滤器/内容路由器310处接收目的地为缓存服务器1的传入(新连接)内容请求313。如果在LRU过滤器/内容路由器310的元缓存的流行部分中找到所请求的内容标识符(从内容请求313中提取),则所请求的内容被视为“流行”。因此,内容请求在缓存服务器1(初始的接收缓存)处被接受并且相应的连接313在此处被终止。如此一来,请求分组被转发到缓存服务器1的本地栈,而无需访问其他分段。如果请求的“流行”内容在缓存服务器1上本地不可用,则请求被代理到原始服务器308并且根据缓存软件的插入策略(即,最近最少使用、最不常用、先进先出等)将内容插入到缓存服务器1中。在终止连接313之后,缓存服务器1将响应分组调遣回具有其分段标识符(1)的客户端,如图3中的标号314所表明的。
然而,如果在LRU过滤器/路由器310的元缓存的半流行部分(图2中的项目210和212)中找到所请求的内容标识符(从内容请求分组中提取),则所请求的内容被视为“半流行”。因此,LRU过滤器/路由器310触发重试,对应于图3中的连接316(图2中的连接220),并将请求转发到SRv6列表306中的下一个分段标识符条目(即,SID 3),其对应于第二伪随机选择的缓存服务器(缓存服务器3)。这将需要LRU过滤器/路由器310(与缓存服务器1相关联)将内容请求路由/转发到与缓存服务器3相关联的相应LRU过滤器/路由器312。如果所请求的“半流行”内容被LRU过滤器312视为流行,则在缓存服务器3(第二接收缓存)处接受重试/重定向的内容请求并且在此处终止相应的连接316。如此一来,请求分组被转发到缓存服务器3的本地栈,而无需访问其他分段,并且所请求的“半流行”内容直接在缓存服务器3处被供应。在终止连接316之后,接受服务器(缓存服务器3)将响应分组调遣回客户端,接受服务器在该响应分组中插入了其自身的分段标识符(3),如图3中的标记317所示。然而,如果所请求的“半流行”内容未被为缓存服务器3服务的LRU过滤器312找到或被视为流行,则拒绝连接请求316并且请求被跨连接318重定向到原始服务器308(在SRv6列表306中指定的最后分段)。原始服务器308将接受该请求并终止相应的连接318。如此一来,请求分组被转发到原始服务器308的本地栈,并且所请求的“半流行”内容直接在原始服务器308处被供应。在终止连接318之后,接受服务器(原始服务器308)将响应分组调遣回客户端,接受服务器在该响应分组中插入了其自身的分段标识符(ORIGIN),如图3中的标记319所示。
最后,如果从以初始接收缓存(缓存服务器1)为目的地的客户端请求分组中提取的所请求的内容标识符未在相应LRU过滤器/路由器310的元缓存中的任何地方(如图2中的项目210和212所示)找到,则所请求的内容被视为“不流行”。因此,如果所请求的“不流行”内容在缓存服务器1上本地不可获得,则未命中内容标识符被插入到与LRU过滤器/路由器310相关联的元缓存的顶部,并且请求被跨连接320重定向到原始服务器308。指向原始服务器308的查询被终止并被转发到本地栈。在终止连接320之后,接受服务器(原始服务器308)将响应分组调遣回客户端,接受服务器在该响应分组中插入了其自身的分段标识符(ORIGIN),如图3中的标记321所示。
因此,大概率不流行内容不是由边缘缓存供应的,而是直接卸载(在网络层)到原始服务器。卸载的连接不再需要在边缘处被代理,从而避免了不必要的HTTP终止,并且边缘代理的缓存不会被不流行的内容污染,从而增加命中率。
根据本技术的一些实施例,比例积分(PI)控制器可以用于调谐LRU滤波器的参数。例如,PI控制器可以用于调谐(流行度)阈值参数,该参数将最新最近请求的内容标识符的元缓存划分为流行部分和半流行部分,以此方式来控制和优化网络缓存服务器的缓存命中率性能和平均响应时间之间的权衡。例如,提高LRU过滤器的元缓存中的流行度阈值,会导致在相应缓存服务器处接受的请求数量增加,从而相应增加缓存服务器的响应时间。在一些实施例中,PI控制器可以与LRU过滤器结合使用以调谐LRU过滤器的流行度阈值参数(用于识别流行内容)。例如,PI控制器通过如下方式来完成该过程:将关联的缓存服务器(LRU过滤器访问的)的当前响应时间作为输入参数,并将其与对象流完成时间进行比较,以根据LRU过滤器的(流行度)阈值参数的值进行调整,直到达到所需的均衡为止。以此方式,PI控制器可以用于优化网络缓存访问。
图4图示了示例实现方式400,其中与LRU过滤器402协同工作的内容路由器401用于过滤和控制对缓存服务器403的访问。LRU过滤器402还包括大小为C1的元缓存404,用于存储内容标识符和与识别流行/半流行/不流行内容相关联的阈值参数k。内容请求的流行/半流行/不流行分类最终决定了哪些内容请求在缓存服务器处被接受,哪些内容请求被向不同的缓存服务器重试,哪些内容请求被拒绝并重定向到原始服务器。在示例实现400中,可以测量缓存服务器403的响应时间“δt”并将其作为输入提供给PI控制器406。PI控制器406基于输入响应时间,最佳地调谐LRU过滤器402的元缓存404中的阈值参数k的级别。通过这种方式,PI控制器可以用于调谐和优化LRU滤波器的操作,最终提高网络中的边缘缓存性能。
在本发明的一个实施例中,PI控制器可以使用诸如Yaksha之类的自调谐PI来实现,其通过根据接受概率过滤请求来控制网络服务器响应时间。此种自调谐PI控制器的一个优点是它可以作为缓存前面的独立模块,而无需任何集成工作。此外,自调谐功能消除了对人工输入或服务器特性的先验知识的要求。
根据一些实施例,通过将过滤标准从接受概率转换为最新最近使用的(LRU)流行度阈值,基于Yaksha的过滤可以适用于如本技术的一些实施例所规定的操作。
如果根据一些实施例,请求模式遵循泊松到达(Poisson arrival)并且流行度分布q(r)是已知的,则可以利用切比雪夫近似(Che’s approximation)来根据内容流行度阈值计算接受对内容的请求的概率。内容流行度阈值可以由等式(1.1)定义,其中k表示内容流行度阈值,而由等式(1.2)定义的p(k)表示作为内容流行度阈值k的函数的接受请求的概率。等式1.1和1.2中的参数tc对应于等式1.1的根。
然后由(1.2)定义的概率函数可以被取逆,以便计算作为由Yaksha过滤器(即,自调谐PI,被配置为根据接受概率过滤服务器请求)输出的接受概率的函数的k。这在图5中示出,其中缓存服务器502的响应时间“δt”被用作Yaksha过滤器504的输入。对应于接受概率p的Yaksha过滤器的输出506在506处被取逆,从而计算作为p的函数的内容流行度阈值参数k。然后可以使用阈值参数k来提供所请求的内容的多层次流行度评级。在一些实施例中,为了效率的目的,可以通过预先计算的反演表来执行逆运算(506)。
应当注意,所公开技术的实施例提供了直接用于流行度阈值参数k的任意自调谐PI控制器。在一些实施例中,可以对服务器端指标(metrics)(比如CPU使用率或TCP队列长度而不是流完成时间)执行调谐。此类指标可以比流完成时间更精确和即时,但可能需要接受系统和缓存服务器的更紧密耦合。
本公开现在转向图6和图7,其图示了计算网络设备的示例架构,比如客户端计算机、交换机、路由器、控制器、服务器等。
图6图示了计算系统架构600,其包括使用诸如总线之类的连接605彼此电通信的组件。系统600包括处理单元(CPU或处理器)610和系统连接605,该系统连接605将包括系统存储器615(比如只读存储器(ROM)620和随机存取存储器(RAM)625)的各种系统组件耦合到处理器610。系统600可以包括与处理器610直接连接、紧邻处理器610或集成为处理器610的一部分的高速存储器的缓存。系统600可以将数据从存储器615和/或存储设备630复制到缓存612以供处理器610快速访问。以此方式,缓存可以提供避免处理器610在等待数据时的时延的性能提升。这些和其他模块可以控制或被配置为控制处理器610执行各种动作。也可以使用其他系统存储器615。存储器615可以包括具有不同性能特性的多种不同类型的存储器。处理器610可以包括任何通用处理器,以及硬件或软件服务(比如存储在存储设备630中的服务1 632、服务2 634和服务3 636),这些硬件或软件服务被配置为控制处理器610以及其中软件指令被合并到实际处理器设计中的专用处理器。处理器610可以是完全独立的计算系统,包含多个核或处理器、总线、存储器控制器、缓存等。多核处理器可以是对称的或非对称的。
为了支持用户与计算设备600交互,输入设备645可以表示任何数量的输入机构,比如用于语音的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、运动输入、语音等。输出设备635也可以是本领域技术人员已知的多种输出机构中的一种或多种。在一些情况下,多模式系统可以使用户能够提供多种类型的输入以与计算设备600通信。通信接口640通常可以支配和管理用户输入和系统输出。对在任何特定硬件布置上的操作没有任何限制,因此随着发展,这里的基本特征可以很容易地替换为改进的硬件或固件布置。
存储设备630是非易失性存储器并且可以是硬盘或其他类型的可以存储计算机可访问的数据的计算机可读介质,比如磁带、闪存卡、固态存储器设备、数字多功能盘、盒式磁带、随机存取存储器(RAM)625、只读存储器(ROM)620及其混合。
存储设备630可以包括用于控制处理器610的服务632、634、636。设想了其他硬件或软件模块。存储设备630可以连接到系统连接605。一方面,执行特定功能的硬件模块可以包括存储在计算机可读介质中的软件组件,该软件组件与诸如处理器610、连接605、输出设备635等的必要硬件组件结合来实现该功能。
图7图示了适合于执行交换、路由、保证和其他联网操作的示例网络设备700。网络设备700包括中央处理单元(CPU)704、接口702和连接710(例如,PCI总线)。当在适当软件或固件的控制下工作时,CPU 704负责执行分组管理、错误检测和/或路由功能。CPU 704优选地在包括操作系统和任何适当应用软件的软件的控制下完成所有这些功能。CPU 704可以包括一个或多个处理器708,比如来自INTEL X106系列微处理器的处理器。在一些情况下,处理器708可以是专门设计的硬件,用于控制网络设备700的操作。在一些情况下,存储器706(例如,非易失性RAM、ROM、TCAM等)也形成CPU 704的一部分。然而,有许多不同的方式可以将存储器耦合到系统。在一些情况下,网络设备700可以包括与CPU704分离的存储器和/或存储硬件,比如TCAM。此种存储器和/或存储硬件可以经由例如连接710与网络设备700及其组件耦合。
接口702通常被提供为模块化接口卡(有时被称为“线卡”)。一般而言,它们控制通过网络发送和接收分组,并且有时支持与网络设备700一起使用的其他外围设备。可以提供的接口包括以太网接口、帧中继接口、缆线接口、DSL接口、令牌环接口等。此外,可以提供各种超高速接口,比如快速令牌环接口、无线接口、以太网接口、千兆比特以太网接口、ATM接口、HSSI接口、POS接口、FDDI接口、WIFI接口、3G/4G/5G蜂窝接口、CAN总线、LoRA等。一般而言,这些接口可以包括适合与适当媒体进行通信的端口。在一些情况下,它们还可以包括独立的处理器,在一些情况下,还包括易失性RAM。独立处理器可以控制诸如分组交换、媒体控制、信号处理、密码处理和管理之类的通信密集型任务。通过为通信密集型任务提供单独的处理器,这些接口允许主微处理器704有效地执行路由计算、网络诊断、安全功能等。
虽然图7所示的系统是本公开的一种具体网络设备,但是它绝不是可以实现本文的概念的唯一网络设备架构。例如,可以使用具有处理通信以及路由计算等的单个处理器的架构。此外,其他类型的接口和媒体也可以与网络设备700一起使用。
不管网络设备的配置如何,它都可以采用一个或多个存储器或存储器模块(包括存储器706),这一个或多个存储器或存储器模块被配置为存储用于通用网络操作的程序指令以及用于本文所述的漫游、路由优化和路由功能的机制。例如,程序指令可以控制操作系统和/或一个或多个应用的操作。一个或多个存储器还可以被配置为存储诸如移动绑定、注册和关联表之类的表。存储器706还可以保存各种软件容器和虚拟化执行环境和数据。
网络设备700还可以包括专用集成电路(ASIC),其可以被配置为执行路由、交换和/或其他操作。例如,ASIC可以经由连接710与网络设备700中的其他组件通信,以交换数据和信号并协调网络设备700的各种类型的操作,比如路由、交换和/或数据存储操作。
图8图示了基于将流行度阈值参数应用于最新最近使用的内容标识符的元缓存的基于流行度的内容请求过滤过程的示例过程流800。基于相应内容标识符的索引位置与最新最近使用的内容标识符的元缓存内的阈值索引的比较来确定所请求的内容块的流行度。例如,设置在元缓存中高于阈值索引的索引位置处的内容标识符可以被视为更流行,而设置在低于阈值索引的索引位置处的内容标识符可以被视为不太流行(半流行)。在元缓存内没有相应内容标识符的内容可以被视为不流行。流行度确定然后可以确定LRU过滤/路由服务将如何转发内容请求。参考图8,在步骤802,关于最新最近使用的内容标识符的元缓存中的条目检查嵌入在传入内容请求分组中的内容标识符。如果元缓存中不存在传入内容标识符(804),则所请求的内容被视为不流行,将未命中内容标识符插入到元缓存的顶部,并在步骤806将请求重定向到原始服务器。然而,如果传入内容标识符存在于元缓存中(808),则操作移至步骤810,在步骤810中将元缓存中的内容标识符的索引位置与阈值索引值进行比较。
如果传入内容标识符在LRU元缓存中的索引位置高于(接近顶部)阈值索引(812),则内容被视为流行,并且操作移至步骤814,在步骤814中针对所述请求内容核查关联的缓存服务器(缓存1)。如果内容存在于缓存1(816)中,则在步骤818中直接从缓存1供应该内容。如果缓存1中不存在该内容(820),则操作移至步骤822,在步骤822中所请求的内容由缓存1从原始服务器代理。然后在步骤824将内容插入到缓存1中。
然而,如果传入内容标识符在元缓存中的索引位置低于(接近底部)阈值索引(826),则相应内容被视为“半流行”并且操作移至步骤834,在步骤834中内容请求例如由服务第一缓存服务器(缓存1)的第一LRU过滤/路由服务重定向到为第二缓存服务器(缓存2)服务的第二LRU过滤/路由服务。
在一些实施例中,转发和重定向操作可以使用基于SRv6的方法来实现,其中第一缓存服务器和第二缓存服务器和原始服务器中的每一个的分段标识符作为SID列表被插入到来自客户端的内容请求分组的报头中。
返回参考图8中的示例处理流800,为第二缓存服务器(缓存2)服务的第二接收LRU过滤/路由服务在接收到来自第一LRU过滤/路由服务的重定向内容请求时,验证在本地元缓存中是否存在传入内容标识符。如果传入内容标识符存在于元缓存中,则操作移至步骤836,在步骤836中将内容标识符在元缓存中的索引位置与阈值索引值进行比较。如果传入内容标识符在LRU元缓存中的索引位置高于(接近顶部)阈值索引(838),则该内容被视为流行,并且操作移至步骤839,在步骤839中针对所述请求的内容核查关联的缓存服务器(缓存2)。如果内容存在于缓存2(840)中,则在步骤841中直接从缓存2供应该内容。如果缓存2中不存在该内容(842),则操作移至步骤843,在步骤843中所请求的内容由缓存2从原始服务器代理。然后在步骤844将内容插入到缓存2中。
然而,如果传入内容标识符在LRU元缓存中的索引位置低于(接近底部)阈值索引(845),则相应内容被视为“半流行”并且操作移至步骤846,在步骤846中内容请求例如由为第二缓存服务器(缓存2)服务的第二LRU过滤/路由服务重定向到原始服务器(846)。
在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的线缆或无线信号。然而,当提及时,非暂时性计算机可读存储介质明确排除诸如能量、载波信号、电磁波和信号本身之类的介质。
根据上述示例的方法可以使用被存储或以其他方式从计算机可读介质可用的计算机可执行指令来实现。此类指令可以包括例如使得或以其他方式配置通用计算机、专用计算机或专用处理设备来执行特定功能或功能组的指令和数据。使用的部分计算机资源可以通过网络访问。计算机可执行指令可以是例如二进制、中间格式指令,比如汇编语言、固件或源代码。可用于存储指令、所使用的信息和/或在根据所描述的示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、配设有非易失性存储器的USB设备、网络存储设备、等等。
实现根据这些公开的方法的设备可以包括硬件、固件和/或软件,并且可以采用多种形状因子中的任一种。此类形状因子的典型示例包括膝上型电脑、智能电话、小型形状因子个人计算机、个人数字助理等。本文描述的功能也可以实施在外围设备或附加卡中。作为进一步示例,此功能也可以被实现在单个设备中运行的不同进程或不同芯片中的电路板上。
指令、用于传送此类指令的介质、用于运行它们的计算资源以及用于支持此类计算资源的其他结构是用于提供在这些公开中描述的功能的手段。
尽管使用了各种示例和其他信息来解释所附权利要求范围内的方面,但不应基于此类示例中的特定特征或布置来暗示对权利要求的限制,因为普通技术人员将能够使用这些示例来推导出各种实现方式。此外,虽然一些主题可能已经以特定于结构特征和/或方法步骤的示例的语言进行了描述,但是应当理解,所附权利要求中定义的主题不一定限于这些描述的特征或动作。例如,此功能可以不同地分布在或在与本文所标识的组件不同的组件中执行。相反地,所描述的特征和步骤作为所附权利要求范围内的系统和方法的组件的示例被公开。

Claims (22)

1.一种用于优化缓存的方法,包括:
在用于元缓存的第一路由器处,接收内容请求,该内容请求包括所请求的内容的内容标识符;
响应于确定所述内容标识符没有存在于所述元缓存中,将所述内容请求重定向到原始服务器,所述元缓存包括第一缓存和第二缓存;
响应于至少所述内容标识符存在于所述第一缓存中高于第一阈值索引值的索引位置处,从所述第一缓存供应所请求的内容;
响应于至少所述内容标识符存在于所述第一缓存中低于所述第一阈值索引值的索引位置处,将所述内容请求重定向到所述第二缓存;
响应于在所述第二缓存处接收到重定向的内容请求:
响应于至少所述内容标识符存在于所述第二缓存中高于第二阈值索引值的索引位置处,直接从所述第二缓存供应所请求的内容;
响应于至少所述内容标识符存在于所述第二缓存中低于所述第二阈值索引值的索引位置处,将所述内容请求重定向到所述原始服务器。
2.根据权利要求1所述的方法,还包括使用比例积分(PI)控制器调谐所述第一阈值索引值和所述第二阈值索引值,其中,经调谐的所述第一阈值索引值和所述第二阈值索引值调整缓存命中率和一个或多个其他网络性能指标之间的权衡。
3.根据权利要求2所述的方法,其中,调谐所述第一阈值索引值的值和所述第二阈值索引值的值是通过自调谐PI控制器来执行的。
4.根据权利要求2所述的方法,其中,所述一个或多个其他网络性能指标包括以下至少一个:目标流完成时间、缓存服务器响应时间、CPU使用时间或TCP队列长度。
5.根据权利要求3所述的方法,其中,所述自调谐PI控制器是使用Yaksha控制器实现的,所述Yaksha控制器根据接受概率对请求进行过滤,其中用于划分所述第一缓存的所述第一阈值索引值和用于划分所述第二缓存的所述第二阈值索引值是根据所述Yaksha控制器的所述接受概率计算得出的。
6.根据权利要求1到5中任一项所述的方法,还包括:
响应于所请求的内容在高于所述第一阈值索引值的索引位置处并且不存在于所述第一缓存上,由所述第一缓存从所述原始服务器代理供应所请求的内容。
7.根据权利要求1到5中任一项所述的方法,还包括:响应于所请求的内容在高于所述第一阈值索引值的索引位置处并且不存在于所述第一缓存上,将所请求的内容添加到所述第一缓存。
8.根据权利要求1到5中任一项所述的方法,还包括:
响应于在所述第二缓存处接收到重定向的内容请求:
响应于所请求的内容在高于所述第二阈值索引值的索引位置处并且不存在于所述第二缓存上,由所述第二缓存从所述原始服务器代理供应所请求的内容。
9.根据权利要求1到5中任一项所述的方法,还包括:
响应于在所述第二缓存处接收到重定向的内容请求:
响应于所请求的内容在高于所述第二阈值索引值的索引位置处并且不存在于所述第二缓存上,将所请求的内容添加到所述第二缓存。
10.根据权利要求1到5中任一项所述的方法,还包括:
响应于确定所述内容标识符没有存在于所述元缓存中,将所接收的内容请求的内容标识符插入到所述元缓存的顶部。
11.一种用于优化缓存的系统,包括:
元缓存,包括第一缓存和第二缓存;
处理器;
存储器,存储有指令,所述指令被编程为与所述处理器协作以使得所述系统执行以下操作,所述操作包括:
在用于所述元缓存的路由器处,接收内容请求,该内容请求包括所请求的内容的内容标识符;
响应于确定所述内容标识符没有存在于所述元缓存中,将所述内容请求重定向到原始服务器;
响应于至少所述内容标识符存在于所述第一缓存中高于第一阈值索引值的索引位置处,从所述第一缓存供应所请求的内容;
响应于至少所述内容标识符存在于所述第一缓存中低于所述第一阈值索引值的索引位置处,将所述内容请求重定向到所述第二缓存;
响应于在所述第二缓存处接收到重定向的内容请求:
响应于至少所述内容标识符存在于所述第二缓存中高于第二阈值索引值的索引位置处,直接从所述第二缓存供应所请求的内容;
响应于至少所述内容标识符存在于所述第二缓存中低于所述第二阈值索引值的索引位置处,将所述内容请求重定向到所述原始服务器。
12.根据权利要求11所述的系统,所述操作还包括:响应于所请求的内容在高于所述第一阈值索引值的索引位置处并且不存在于所述第一缓存上,由所述第一缓存从所述原始服务器代理供应所请求的内容。
13.根据权利要求11所述的系统,所述操作还包括:响应于所请求的内容在高于所述第一阈值索引值的索引位置处并且不存在于所述第一缓存上,将所请求的内容添加到所述第一缓存。
14.根据权利要求11所述的系统,所述操作还包括:
响应于在所述第二缓存处接收到重定向的内容请求:
响应于所请求的内容在高于所述第二阈值索引值的索引位置处并且不存在于所述第二缓存上,由所述第二缓存从所述原始服务器代理供应所请求的内容。
15.根据权利要求11所述的系统,所述操作还包括:
响应于在所述第二缓存处接收到重定向的内容请求:
响应于所请求的内容在高于所述第二阈值索引值的索引位置处并且不存在于所述第二缓存上,将所请求的内容添加到所述第二缓存。
16.根据权利要求11所述的系统,所述操作还包括:
响应于确定所述内容标识符没有存在于所述元缓存中,将所接收的内容请求的内容标识符插入到所述元缓存的顶部。
17.一种计算机可读存储介质,包括存储于其上的指令,当所述指令由一个或多个处理器执行时,使得系统执行以下操作,所述操作包括:
在用于元缓存的第一路由器处,接收内容请求,该内容请求包括所请求的内容的内容标识符;
响应于确定所述内容标识符没有存在于所述元缓存中,将所述内容请求重定向到原始服务器,所述元缓存包括第一缓存和第二缓存;
响应于至少所述内容标识符存在于所述第一缓存中高于第一阈值索引值的索引位置处,从所述第一缓存供应所请求的内容;
响应于至少所述内容标识符存在于所述第一缓存中低于所述第一阈值索引值的索引位置处,将所述内容请求重定向到所述第二缓存;
响应于在所述第二缓存处接收到重定向的内容请求:
响应于至少所述内容标识符存在于所述第二缓存中高于第二阈值索引值的索引位置处,直接从所述第二缓存供应所请求的内容;
响应于至少所述内容标识符存在于所述第二缓存中低于所述第二阈值索引值的索引位置处,将所述内容请求重定向到所述原始服务器。
18.根据权利要求17所述的计算机可读存储介质,所述操作还包括:响应于所请求的内容在高于所述第一阈值索引值的索引位置处并且不存在于所述第一缓存上,由所述第一缓存从所述原始服务器代理供应所请求的内容。
19.根据权利要求17所述的计算机可读存储介质,所述操作还包括:响应于所请求的内容在高于所述第一阈值索引值的索引位置处并且不存在于所述第一缓存上,将所请求的内容添加到所述第一缓存。
20.根据权利要求17所述的计算机可读存储介质,所述操作还包括:响应于在所述第二缓存处接收到重定向的内容请求:
响应于所请求的内容在高于所述第二阈值索引值的索引位置处并且不存在于所述第二缓存上,由所述第二缓存从所述原始服务器代理供应所请求的内容。
21.根据权利要求17所述的计算机可读存储介质,所述操作还包括:响应于在所述第二缓存处接收到重定向的内容请求:
响应于所请求的内容在高于所述第二阈值索引值的索引位置处并且不存在于所述第二缓存上,将所请求的内容添加到所述第二缓存。
22.根据权利要求17所述的计算机可读存储介质,所述操作还包括:响应于确定所述内容标识符没有存在于所述元缓存中,将所接收的内容请求的内容标识符插入到所述元缓存的顶部。
CN202080010878.7A 2019-01-29 2020-01-28 延迟约束下的缓存集群的高效灵活的负载均衡 Active CN113348658B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/261,462 US11470176B2 (en) 2019-01-29 2019-01-29 Efficient and flexible load-balancing for clusters of caches under latency constraint
US16/261,462 2019-01-29
PCT/US2020/015452 WO2020160017A1 (en) 2019-01-29 2020-01-28 Efficient and flexible load-balancing for clusters of caches under latency constraint

Publications (2)

Publication Number Publication Date
CN113348658A CN113348658A (zh) 2021-09-03
CN113348658B true CN113348658B (zh) 2024-04-19

Family

ID=69740615

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080010878.7A Active CN113348658B (zh) 2019-01-29 2020-01-28 延迟约束下的缓存集群的高效灵活的负载均衡

Country Status (7)

Country Link
US (1) US11470176B2 (zh)
EP (1) EP3918777A1 (zh)
JP (1) JP7405856B2 (zh)
CN (1) CN113348658B (zh)
AU (1) AU2020214777A1 (zh)
CA (1) CA3126708C (zh)
WO (1) WO2020160017A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10992743B1 (en) * 2019-09-23 2021-04-27 Amazon Technologies, Inc. Dynamic cache fleet management
US11165691B1 (en) 2020-05-19 2021-11-02 Juniper Networks, Inc. Assignment of segment identifiers in segment routing
IT202000017023A1 (it) * 2020-07-14 2022-01-14 Mainstreaming S P A Metodo per distribuire file attraverso una content delivery network basato anche su algoritmi di intelligenza artificiale, sistema telematico e server che consentono di implementarlo
CN112003921B (zh) * 2020-08-18 2022-07-22 东北大学 一种边缘计算环境中热门数据主动缓存与替换的方法
CN112565437B (zh) * 2020-12-07 2021-11-19 浙江大学 一种面向跨界服务网络的服务缓存方法
US11647067B2 (en) * 2021-03-05 2023-05-09 Zscaler, Inc. Cached web probes for monitoring user experience
US20220398627A1 (en) * 2021-06-11 2022-12-15 Comcast Cable Communications, Llc Methods and systems for content management
CN113766037B (zh) * 2021-11-10 2022-02-11 中南大学 面向大规模边缘计算系统的任务卸载控制方法及系统
US11637807B1 (en) * 2022-05-18 2023-04-25 Arista Networks, Inc. Domain name system analysis on edge network devices
CN115866051A (zh) * 2022-11-15 2023-03-28 重庆邮电大学 一种基于内容流行度的边缘缓存方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101841553A (zh) * 2009-03-17 2010-09-22 日电(中国)有限公司 网络上请求资源的位置信息的方法、用户节点和服务器
CN102047244A (zh) * 2008-04-04 2011-05-04 第三雷沃通讯有限责任公司 在内容分发网络(cdn)中处理长尾内容
CN102685179A (zh) * 2011-03-18 2012-09-19 丛林网络公司 模块化透明代理缓存
EP2624524A1 (en) * 2012-02-02 2013-08-07 Comcast Cable Communications, LLC Content distribution network supporting popularity-based caching
US9129033B1 (en) * 2011-08-31 2015-09-08 Google Inc. Caching efficiency using a metadata cache
CN106031130A (zh) * 2014-02-19 2016-10-12 第三雷沃通讯有限责任公司 具有边缘代理的内容传送网络架构
CN107079011A (zh) * 2014-09-30 2017-08-18 第三雷沃通讯有限责任公司 处理内容传送网络中的长尾内容

Family Cites Families (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983281A (en) * 1997-04-24 1999-11-09 International Business Machines Corporation Load balancing in a multiple network environment
US6167438A (en) * 1997-05-22 2000-12-26 Trustees Of Boston University Method and system for distributed caching, prefetching and replication
US6351775B1 (en) * 1997-05-30 2002-02-26 International Business Machines Corporation Loading balancing across servers in a computer network
US6490615B1 (en) * 1998-11-20 2002-12-03 International Business Machines Corporation Scalable cache
EP1410217A4 (en) * 2001-04-02 2006-09-20 Akamai Tech Inc SCALABLE, VERY EFFICIENT AND VERY AVAILABLE DISTRIBUTED STORAGE SYSTEM FOR INTERNET CONTENT
US6986018B2 (en) * 2001-06-26 2006-01-10 Microsoft Corporation Method and apparatus for selecting cache and proxy policy
US7761594B1 (en) * 2001-10-15 2010-07-20 Netapp, Inc. Method and apparatus for forwarding requests in a cache hierarchy based on user-defined forwarding rules
US6823374B2 (en) * 2001-11-16 2004-11-23 Fineground Networks Adjusting the cacheability of web documents according to the responsiveness of its content server
US7734726B2 (en) * 2001-11-27 2010-06-08 International Business Machines Corporation System and method for dynamically allocating processing on a network amongst multiple network servers
US20030110272A1 (en) * 2001-12-11 2003-06-12 Du Castel Bertrand System and method for filtering content
US6996676B2 (en) * 2002-11-14 2006-02-07 International Business Machines Corporation System and method for implementing an adaptive replacement cache policy
US20040230753A1 (en) * 2003-05-16 2004-11-18 International Business Machines Corporation Methods and apparatus for providing service differentiation in a shared storage environment
US7664730B2 (en) * 2003-09-06 2010-02-16 Oracle International Corporation Method and system for implementing a SQL profile
US7350195B2 (en) * 2003-09-19 2008-03-25 International Business Machines Corporation Selecting a program to improve a service class by requesting the program to incrementally self-tune
US7558917B2 (en) * 2004-02-13 2009-07-07 Microsoft Corporation Inverse query engine systems with cache and methods for cache maintenance
US7454571B1 (en) * 2004-05-04 2008-11-18 Sun Microsystems, Inc. Heuristic cache tuning
US8001175B2 (en) * 2004-10-22 2011-08-16 International Business Machines Corporation Facilitating server response optimization
US20060271972A1 (en) * 2005-05-31 2006-11-30 Microsoft Corporation Popularity-based on-demand media distribution
US8612028B2 (en) * 2005-06-10 2013-12-17 Hewlett-Packard Development Company, L.P. System and method for determining correct sign of response of an adaptive controller
US7647424B2 (en) * 2005-06-15 2010-01-12 Hostway Corporation Multi-level redirection system
US20080147878A1 (en) * 2006-12-15 2008-06-19 Rajiv Kottomtharayil System and methods for granular resource management in a storage network
US7865614B2 (en) * 2007-02-12 2011-01-04 International Business Machines Corporation Method and apparatus for load balancing with server state change awareness
JP4499123B2 (ja) * 2007-02-23 2010-07-07 富士通株式会社 受付制御方法及び受付制御システム
US20080208961A1 (en) * 2007-02-23 2008-08-28 Hostway Corporation Parallel retrieval system
US20100312861A1 (en) 2007-11-30 2010-12-09 Johan Kolhi Method, network, and node for distributing electronic content in a content distribution network
US9519540B2 (en) * 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US9762692B2 (en) * 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US10924573B2 (en) * 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US9426244B2 (en) * 2008-04-09 2016-08-23 Level 3 Communications, Llc Content delivery in a network
US8151077B1 (en) * 2008-06-30 2012-04-03 Emc Corporation Application aware cache management
US8095764B1 (en) * 2008-06-30 2012-01-10 Emc Corporation Dynamic application aware storage configuration
US8250198B2 (en) * 2009-08-12 2012-08-21 Microsoft Corporation Capacity planning for data center services
US20110078312A1 (en) * 2009-09-30 2011-03-31 Alcatel-Lucent Method and system for monitoring incoming connection requests in a Peer-to-Peer network
US20110113200A1 (en) * 2009-11-10 2011-05-12 Jaideep Moses Methods and apparatuses for controlling cache occupancy rates
US8856281B2 (en) * 2010-03-22 2014-10-07 At&T Intellectual Property I, L.P. Internet protocol version 6 content routing
CN102238202B (zh) * 2010-04-23 2014-12-03 华为技术有限公司 索引信息的存储、查找方法及装置
US8209491B2 (en) * 2010-04-27 2012-06-26 Symantec Corporation Techniques for directory server integration
US9628579B2 (en) * 2010-05-13 2017-04-18 Futurewei Technologies, Inc. System, apparatus for content delivery for internet traffic and methods thereof
US8612413B2 (en) * 2010-08-12 2013-12-17 Cdnetworks Co., Ltd. Distributed data cache for on-demand application acceleration
US20120047344A1 (en) * 2010-08-17 2012-02-23 Sheaffer Gad S Methods and apparatuses for re-ordering data
US20130185038A1 (en) * 2010-09-27 2013-07-18 Telefonaktiebolaget L M Ericsson (Publ) Performance Calculation, Admission Control, and Supervisory Control for a Load Dependent Data Processing System
US8612423B2 (en) * 2010-10-29 2013-12-17 Microsoft Corporation Search cache for document search
CN102075562B (zh) * 2010-12-03 2014-08-20 华为技术有限公司 协作缓存的方法和装置
US9009406B2 (en) * 2010-12-10 2015-04-14 International Business Machines Corporation Determining server write activity levels to use to adjust write cache size
US8612550B2 (en) 2011-02-07 2013-12-17 Microsoft Corporation Proxy-based cache content distribution and affinity
US8667172B2 (en) * 2011-06-07 2014-03-04 Futurewei Technologies, Inc. Method and apparatus for content identifier based radius constrained cache flooding to enable efficient content routing
US9553924B1 (en) * 2011-06-13 2017-01-24 Arris Enterprises, Inc. Load sharing among loosely coupled or independent video servers
US8843608B2 (en) * 2011-09-22 2014-09-23 Blue Coat Systems, Inc. Methods and systems for caching popular network content
GB201116737D0 (en) * 2011-09-28 2011-11-09 Ericsson Telefon Ab L M Caching in mobile networks
US9519614B2 (en) * 2012-01-10 2016-12-13 Verizon Digital Media Services Inc. Multi-layer multi-hit caching for long tail content
US8762477B2 (en) * 2012-02-28 2014-06-24 Futurewei Technologies, Inc. Method for collaborative caching for content-oriented networks
US9049251B2 (en) * 2012-02-28 2015-06-02 Futurewei Technologies, Inc. Method and apparatus for internet protocol based content router
IN2014DN09138A (zh) * 2012-04-04 2015-05-22 Unwired Planet Inc
US8909808B2 (en) * 2012-07-19 2014-12-09 Cisco Technology, Inc. Redundancy elimination for web caching
US9350822B2 (en) * 2012-08-10 2016-05-24 Cisco Technology, Inc. Distributed web object identification for web caching
US9112922B2 (en) * 2012-08-28 2015-08-18 Vantrix Corporation Method and system for self-tuning cache management
US10261938B1 (en) * 2012-08-31 2019-04-16 Amazon Technologies, Inc. Content preloading using predictive models
US9559889B1 (en) * 2012-10-31 2017-01-31 Amazon Technologies, Inc. Cache population optimization for storage gateways
US9268652B1 (en) * 2012-10-31 2016-02-23 Amazon Technologies, Inc. Cached volumes at storage gateways
US9274956B1 (en) * 2012-10-31 2016-03-01 Amazon Technologies, Inc. Intelligent cache eviction at storage gateways
US9268651B1 (en) * 2012-10-31 2016-02-23 Amazon Technologies, Inc. Efficient recovery of storage gateway cached volumes
US9332083B2 (en) * 2012-11-21 2016-05-03 International Business Machines Corporation High performance, distributed, shared, data grid for distributed Java virtual machine runtime artifacts
JP2014160343A (ja) * 2013-02-19 2014-09-04 Nippon Telegr & Teleph Corp <Ntt> コンテンツキャッシュ制御装置およびその動作方法
US20140344379A1 (en) * 2013-05-17 2014-11-20 Futurewei Technologies, Inc. Multi-Tier Push Hybrid Service Control Architecture for Large Scale Conferencing over ICN
US9755960B2 (en) * 2013-09-30 2017-09-05 Juniper Networks, Inc. Session-aware service chaining within computer networks
US20150113166A1 (en) * 2013-10-18 2015-04-23 Palo Alto Research Center Incorporated Method and apparatus for a named network within an autonomous system
US10506282B2 (en) * 2013-10-21 2019-12-10 Synamedia Limited Generating media signature for content delivery
US9667498B2 (en) * 2013-12-20 2017-05-30 Facebook, Inc. Self-adaptive control system for dynamic capacity management of latency-sensitive application servers
US9432794B2 (en) * 2014-02-24 2016-08-30 International Business Machines Corporation Techniques for mobility-aware dynamic service placement in mobile clouds
US9626413B2 (en) * 2014-03-10 2017-04-18 Cisco Systems, Inc. System and method for ranking content popularity in a content-centric network
US9712408B2 (en) * 2014-03-17 2017-07-18 Telefonaktiebolaget L M Ericsson (Publ) Bandwidth management in a content distribution network
US9979617B1 (en) * 2014-05-15 2018-05-22 Amazon Technologies, Inc. Techniques for controlling scaling behavior of resources
KR102147246B1 (ko) * 2014-05-26 2020-08-24 삼성전자 주식회사 통신 네트워크에서 성능 개선을 위한 방법 및 장치
US10680742B2 (en) * 2014-06-27 2020-06-09 Agora Lab, Inc. Systems and methods for improved communication packet delivery over a public network
US10313415B2 (en) * 2014-07-18 2019-06-04 Cisco Technology, Inc. Using segment routing to access chunks of content
US9830269B2 (en) * 2014-07-29 2017-11-28 Netapp Inc. Methods and systems for using predictive cache statistics in a storage system
WO2016025827A1 (en) * 2014-08-15 2016-02-18 Interdigital Patent Holdings, Inc. Edge caching of https content via certificate delegation
US9871855B2 (en) * 2014-09-19 2018-01-16 Facebook, Inc. Balancing load across cache servers in a distributed data store
US9692848B2 (en) * 2014-09-24 2017-06-27 Zixcorp Systems, Inc. Preemptive loading of protected data for streaming mobile devices
US10225137B2 (en) * 2014-09-30 2019-03-05 Nicira, Inc. Service node selection by an inline service switch
US10311372B1 (en) * 2014-12-19 2019-06-04 Amazon Technologies, Inc. Machine learning based content delivery
US10225365B1 (en) * 2014-12-19 2019-03-05 Amazon Technologies, Inc. Machine learning based content delivery
US9794148B1 (en) * 2014-12-31 2017-10-17 Juniper Networks, Inc. Node protection for stacked labels
JP5888687B1 (ja) * 2015-02-20 2016-03-22 日本電信電話株式会社 配信サーバ又は配信ルート設計装置、配信サーバ又は配信ルート設計方法及びプログラム
JP2017011493A (ja) * 2015-06-22 2017-01-12 富士通株式会社 制御プログラム、制御装置、及び制御方法
US10462055B2 (en) * 2015-07-20 2019-10-29 Cisco Technology, Inc. Content distribution system cache management
US10505846B2 (en) * 2015-07-22 2019-12-10 Cisco Technology, Inc. Resilient segment routing service hunting with TCP session stickiness
US10277703B2 (en) * 2015-07-22 2019-04-30 International Business Machines Corporation Optimizing bandwidth usage and improving performance for web page caching
US10320934B1 (en) * 2015-08-25 2019-06-11 Instart Logic, Inc. One-time cache
US10165093B2 (en) * 2015-08-31 2018-12-25 Cisco Technology, Inc. Generating segment routing conduit in service provider network for routing packets
US10848582B2 (en) * 2015-09-11 2020-11-24 Amazon Technologies, Inc. Customizable event-triggered computation at edge locations
US10320936B2 (en) * 2015-10-20 2019-06-11 International Business Machines Corporation Populating a secondary cache with unmodified tracks in a primary cache when redirecting host access from a primary server to a secondary server
US20170126903A1 (en) * 2015-11-04 2017-05-04 Tone Mobile Llc Systems and methods for mobile device data accounting
CN106790324B (zh) * 2015-11-20 2020-06-16 华为技术有限公司 内容分发方法、虚拟服务器管理方法、云平台和系统
US10326854B2 (en) * 2015-12-14 2019-06-18 Huawei Technologies Co., Ltd. Method and apparatus for data caching in a communications network
US10469609B2 (en) * 2015-12-31 2019-11-05 Time Warner Cable Enterprises Llc Methods and apparatus for serving content to customer devices based on dynamic content popularity
US10057367B2 (en) * 2016-03-02 2018-08-21 Huawei Technologies Canada Co., Ltd. Systems and methods for data caching in a communications network
US10567538B2 (en) * 2016-03-08 2020-02-18 Huawei Technologies Co., Ltd Distributed hierarchical cache management system and method
GB2549549B (en) * 2016-04-19 2020-12-23 Cisco Tech Inc A mapping database system for use with content chunks
WO2017185006A1 (en) * 2016-04-22 2017-10-26 Level 3 Communications, Llc Anycast routing techniques in a network
US10013362B2 (en) * 2016-05-13 2018-07-03 Verizon Digital Media Services Inc. Deterministic multifactor cache replacement
US10356175B2 (en) * 2016-08-16 2019-07-16 Verizon Digital Media Services Inc. Request multiplexing
US10880395B2 (en) * 2016-09-27 2020-12-29 Level 3 Communications, Llc System and method for improvements to a content delivery network
US10791026B2 (en) * 2016-11-10 2020-09-29 Ciena Corporation Systems and methods for adaptive over-the-top content quality of experience optimization
WO2018103061A1 (en) * 2016-12-09 2018-06-14 Intel Corporation Technologies for cross-device shared web resource cache
US10320683B2 (en) * 2017-01-30 2019-06-11 Cisco Technology, Inc. Reliable load-balancer using segment routing and real-time application monitoring
US20190349268A1 (en) * 2017-02-13 2019-11-14 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for dynamic service chaining with segment routing for bng
US10469379B2 (en) * 2017-02-17 2019-11-05 Cisco Technology, Inc. System and method to facilitate content delivery to multiple recipients in a network environment
US10567332B2 (en) * 2017-03-24 2020-02-18 Salesforce.Com, Inc. Content delivery network optimization system
US20180302490A1 (en) * 2017-04-13 2018-10-18 Cisco Technology, Inc. Dynamic content delivery network (cdn) cache selection without request routing engineering
EP3419249A1 (en) * 2017-06-23 2018-12-26 Nokia Solutions and Networks Oy Methods of optimizing traffic in an isp network
KR102376496B1 (ko) * 2017-07-26 2022-03-18 한국전자통신연구원 서비스 스트림 분산 포워딩 시스템 및 그 방법
US10846266B2 (en) * 2017-09-14 2020-11-24 Commvault Systems, Inc. Distributed architecture for content indexing emails
CN109933279B (zh) * 2017-12-19 2021-01-22 中国科学院声学研究所 一种支持混合存储系统的内容过滤方法
US10439925B2 (en) * 2017-12-21 2019-10-08 Akamai Technologies, Inc. Sandbox environment for testing integration between a content provider origin and a content delivery network
US10719744B2 (en) * 2017-12-28 2020-07-21 Intel Corporation Automated semantic inference of visual features and scenes
US20200250003A1 (en) * 2017-12-28 2020-08-06 Intel Corporation Visual fog
US10467145B2 (en) * 2018-02-01 2019-11-05 Nutanix, Inc. Management of caching operations in a unified cache
US11652883B2 (en) * 2018-08-25 2023-05-16 Panzura, Llc Accessing a scale-out block interface in a cloud-based distributed computing environment
US10904335B2 (en) * 2018-09-04 2021-01-26 Cisco Technology, Inc. Reducing distributed storage operation latency using segment routing techniques
US10855596B2 (en) * 2018-11-20 2020-12-01 Microsoft Technology Licensing, Llc Load balancing among multiple endpoint computing systems of a domain

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102047244A (zh) * 2008-04-04 2011-05-04 第三雷沃通讯有限责任公司 在内容分发网络(cdn)中处理长尾内容
CN101841553A (zh) * 2009-03-17 2010-09-22 日电(中国)有限公司 网络上请求资源的位置信息的方法、用户节点和服务器
CN102685179A (zh) * 2011-03-18 2012-09-19 丛林网络公司 模块化透明代理缓存
US9129033B1 (en) * 2011-08-31 2015-09-08 Google Inc. Caching efficiency using a metadata cache
EP2624524A1 (en) * 2012-02-02 2013-08-07 Comcast Cable Communications, LLC Content distribution network supporting popularity-based caching
CN106031130A (zh) * 2014-02-19 2016-10-12 第三雷沃通讯有限责任公司 具有边缘代理的内容传送网络架构
CN107079011A (zh) * 2014-09-30 2017-08-18 第三雷沃通讯有限责任公司 处理内容传送网络中的长尾内容

Also Published As

Publication number Publication date
CA3126708C (en) 2024-04-30
JP2022518372A (ja) 2022-03-15
EP3918777A1 (en) 2021-12-08
CA3126708A1 (en) 2020-08-06
AU2020214777A1 (en) 2021-07-22
WO2020160017A1 (en) 2020-08-06
US11470176B2 (en) 2022-10-11
CN113348658A (zh) 2021-09-03
US20200244758A1 (en) 2020-07-30
JP7405856B2 (ja) 2023-12-26

Similar Documents

Publication Publication Date Title
CN113348658B (zh) 延迟约束下的缓存集群的高效灵活的负载均衡
US10305968B2 (en) Reputation-based strategy for forwarding and responding to interests over a content centric network
US9729662B2 (en) Probabilistic lazy-forwarding technique without validation in a content centric network
US11316946B2 (en) Processing and caching in an information-centric network
CN112640371B (zh) 在分布式存储环境上执行数据操作的方法和系统
US10157135B2 (en) Cache optimization
EP2869537B1 (en) Using interest messages with payload to configure network nodes in named data networks
US8370460B1 (en) Optimizing multi-hit caching for long tail content
US10225201B2 (en) Scalable multicast for notification-driven content delivery in information centric networks
US20180278708A1 (en) Communication control device, communication control method, and non-transitory computer readable medium
CN105791382B (zh) 使用ccn清单进行资源分配的方法、设备及存储介质
Harada et al. Data aggregation in named data networking
CN107317809B (zh) 一种信息中心网络多层次视频媒体系统及其使用方法
US10122630B1 (en) Methods for network traffic presteering and devices thereof
WO2017097092A1 (zh) 缓存集群服务的处理方法及系统
US20170317933A1 (en) Optimized in-network retransmission for information-centric networking protocols
US20090106387A1 (en) Cidr based caching at application layer

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant