CN103457993B - 本地缓存装置和提供内容缓存服务的方法 - Google Patents

本地缓存装置和提供内容缓存服务的方法 Download PDF

Info

Publication number
CN103457993B
CN103457993B CN201310208422.3A CN201310208422A CN103457993B CN 103457993 B CN103457993 B CN 103457993B CN 201310208422 A CN201310208422 A CN 201310208422A CN 103457993 B CN103457993 B CN 103457993B
Authority
CN
China
Prior art keywords
content
described
information
procedure information
asked
Prior art date
Application number
CN201310208422.3A
Other languages
English (en)
Other versions
CN103457993A (zh
Inventor
李宗玟
李璟埈
权阿芿
沈宁宰
Original Assignee
Sk电信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to KR1020120059293A priority Critical patent/KR101330052B1/ko
Priority to KR10-2012-0059293 priority
Application filed by Sk电信有限公司 filed Critical Sk电信有限公司
Publication of CN103457993A publication Critical patent/CN103457993A/zh
Application granted granted Critical
Publication of CN103457993B publication Critical patent/CN103457993B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/28Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network
    • H04L67/2842Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network for storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/28Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network
    • H04L67/2842Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network for storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/2852Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network for storing data temporarily at an intermediate stage, e.g. caching involving policies or rules for updating, deleting or replacing the stored data based on network characteristics

Abstract

本公开涉及本地缓存装置和提供内容缓存服务的方法。本地缓存装置从内容提供商接收用户终端所请求的内容的至少一部分,并且接着基于接收到的请求的内容的一部分来确定是否存储有所请求的内容。如果存储有所请求的内容,则本地缓存装置在流程信息表中记录所请求的内容的流程信息。当请求了具有与所记录的流程信息相同的流程信息的内容时,本地缓存装置基于内容地址信息来确定是否存储有所请求的内容。

Description

本地缓存装置和提供内容缓存服务的方法

技术领域

[0001]本公开涉及本地缓存技术,并且更具体地涉及本地缓存装置和用于提供内容缓存服务以防止冗余内容传输并由此减少网络上的流量的方法。

背景技术

[0002]随着智能电话的迅速普及和使用智能电话的内容提供商的数量持续增长,移动通信网络的流量上存在增长的趋势。但是,由于诸如视频、音频、图像、应用等内容的传输速率的降低,流量的增长通常会导致服务质量劣化。

[0003]另外,内容传输技术的最近发展允许诸如VOD(视频点播)或实时流这样的在线视频服务、音乐流服务和文件上传和下载中的大容量文件的传输。因而,提供了用于传送大容量内容的多种服务。

[0004]通常这种内容提供服务旨在向同一个域中的或者同一无线电覆盖范围中的用户传送冗余内容,尽管内容传送的频率取决于其普及性。因此,随着内容提供服务被广泛使用,冗余内容的传输占据网络流量的越来越大的部分。

[0005]在由于大容量内容的传输而引起网络流量急剧增加的情况下,冗余内容的传输进一步增加了通信网络的流量负载。有鉴于此,使用了 CDN(内容传送网络)服务来向最终用户稳定地传送诸如电影、音乐视频等各种类型的内容。在CDN服务中,内容的副本被存储在网络上分布的多个本地缓存服务器中。负载平衡器(还称为GLB(全局负载平衡)服务器)选择本地缓存服务器中的最优缓存服务器,并且所选择的缓存服务器向用户终端传送所请求的内容。

[0006]这种CDN架构提供用于消除包括数据丢失、瓶颈、传输速率下降、诸如断续数据传输等网络不稳定在内的很多问题的方案。

[0007]在CDN服务中,使用内容缓存技术在网络上分布的多个本地缓存装置中选择性地将内容进行缓存。内容缓存应考虑本地缓存装置中的存储空间的大小、确定所请求的内容是否缓存在该本地缓存装置中所需要的时间以及指示所请求的内容被包含在该本地缓存装置中的可能性的缓存命中率。

[0008]具体地,在根据链路质量或装置性能来改变其分辨率以进行传输的自适应内容提供技术(例如,HTTP实时流(HLS))的情况下,内容被划分为多个块并且逐块传送。因此,如果基于部分内容来确定内容是否被缓存,则由于从本地缓存装置向用户终端传送的小量的数据,服务效率会降低。另外,一些自适应内容提供技术周期性地改变内容的加密密钥。如果加密密钥被改变,则尽管具有相同的URL,但是内容数据通过加密被改变,因此不能够基于URL来确定内容是否被缓存。

发明内容

[0009]根据一些实施方式,一种本地缓存装置包括存储单元、通信接口和控制器。所述存储单元被配置为存储从至少一个内容提供商提供给至少一个用户终端的一些内容或全部内容。所述通信接口被配置为在所述至少一个内容提供商和所述至少一个用户终端之间通过通信网络发送和接收数据。所述控制器被配置为从所述内容提供商接收所述至少一个用户终端中的一个终端请求的内容,如果所述存储单元存储了与接收到的内容至少部分相同的内容,则所述控制器在流程信息表中记录所请求的内容的流程信息,并且在具有与所记录的流程信息相同的流程信息的内容被请求时,所述控制器确定所述存储单元中是否存储有所请求的内容。

[0010]根据一些实施方式,一种提供内容缓存服务的方法,该方法由本地缓存装置执行。该方法包括以下步骤:从内容提供商接收用户终端请求的内容的至少一部分,并且利用所述内容的接收到的至少一部分来确定是否存储有所请求的内容。该方法还包括以下步骤:如果存储有所请求的内容,则在流程信息表中记录所请求的内容的流程信息;以及在具有与所记录的流程信息相同的流程信息的内容被请求时,基于内容地址信息确定是否存储有所请求的内容。

附图说明

[0011 ]图1是根据至少一个实施方式的内容缓存服务系统的示意框图。

[0012]图2是根据至少一个实施方式的内容缓存服务系统中的本地缓存装置分布结构的示意框图。

[0013]图3是根据至少一个实施方式的自适应型内容的结构的示意图。

[0014]图4是在根据至少一个实施方式的本地缓存装置中使用的示例性流程信息表和示例性内容地址管理表的示意图。

[0015]图5是根据至少一个实施方式的本地缓存装置的示意框图。

[0016]图6是根据至少一个实施方式的用于提供内容缓存服务的方法的流程图。

具体实施方式

[0017]在以下描述中,阐述了很多具体细节。然而,应理解,本公开的多种实施方式是在没有这些具体细节的情况下实施的。在其它实例中,为了不妨碍理解本说明书,没有详细示出已知功能或配置。在说明书中,将始终使用相同的附图标记来表示相同或类似的部件。

[0018]为了帮助理解本公开,以下的描述中使用的术语如下限定。

[0019] “流程信息”是指限定与向用户终端传输特定内容的的流程有关的流程的信息。具体地,流程信息可以被形成为源和目的地两者的IP地址信息、端口信息和协议信息的至少一种组合。在一些实施方式中,流程信息被形成为目的地的IP地址信息、目的地的端口信息以及源的IP地址信息,以标识自适应型内容的流程。

[0020] “内容地址信息”是指内容在网络中的位置,并且可以是包括例如协议类型、内容提供商的域名或IP地址以及内容的文件路径名称在内的URL(统一资源定位符)。

[0021] “内容标识信息”是用于标识在本地缓存装置中存储的内容的信息。具体地,内容标识信息是指通过从内容请求消息提取内容的至少一部分或者对内容的至少一部分的处理(例如,哈希)而产生的值。即,内容标识信息是基于内容的至少一部分而产生的。例如,内容标识信息包括具有预定长度的前缀信息、通过使用预定哈希函数对前缀信息进行处理而获得的哈希值以及内容的元数据中的至少一项。

[0022] “缓存命中(cache hit)”是指所请求的内容在任何缓存装置中的存在。在本公开中,缓存命中表示所请求的内容被包含在本地缓存装置中。

[0023]图1是根据至少一个实施方式的内容缓存服务系统的示意框图。

[0024]参照图1,内容缓存服务系统包括至少一个用户终端100(在图1中为了方便起见仅示出了单个用户终端)、至少一个本地缓存装置200(在图1中为了方便起见仅示出了单个本地缓存装置)以及至少一个内容提供商300(在图1中为了方便起见仅示出了单个内容提供商),所述至少一个用户终端100、至少一个本地缓存装置200和至少一个内容提供商300通过网络400彼此连接。

[0025]用户终端100(还称为用户设备(UE))是连接到网络400以使用通过网络400提供的内容的装置。用户终端100请求内容提供商300提供特定内容并且接收从内容提供商300或本地缓存装置200发送的所请求的内容。用户终端100可以包括台式PC、笔记本计算机、平板PC、智能电话、PDA(个人数字助理)、因特网TV(S卩,智能TV)或任何其它具有通信功能的电子

目.ο

[0026]本地缓存装置200分布在网络400中,对内容提供商300提供的内容进行临时存储或存储预定时间,并且当用户终端100请求该内容时代替内容提供商300向用户终端100提供所存储的内容。为此,本地缓存装置200基于各种缓存方案进行缓存操作,缓存操作包括复制由内容提供商300向用户终端100提供的一些内容或全部内容并存储所复制的内容。另夕卜,在接收到正在从用户终端100向内容提供商300发送的内容请求消息时,本地缓存装置200将从该内容请求消息中提取出的流程消息与先前的缓存命中的流程信息进行比较。在本公开中,先前的缓存命中的流程信息是指与通过使用内容的一部分作为键(key)而进行的缓存命中相对应的当前激活的会话的流程信息。

[0027]如果所提取的流程信息与先前的缓冲命中的流程信息相同,则本地缓存装置200基于用户终端100请求的内容的内容地址信息来确定是否存储有所请求的内容(S卩,得到缓存命中还是缓存缺失(cache miss))。或者,本地缓存装置200从内容提供商300接收所请求的内容,接着通过使用接收到的内容的至少一部分作为键来确定是否存储有所请求的内容。此外,在自适应型内容的情况下,本地缓存装置200通过使用内容的至少一部分来确定缓存命中或缓存缺失,并且在缓存命中的情况下在流程信息表中记录内容的流程信息。之后,当存在针对具有与流程信息表中记录的流程信息匹配的流程信息的内容的请求时,本地缓存装置200基于内容地址信息来简单地确定缓存命中或缓存缺失。因此,针对被划分为块并逐块发送的自适应型内容,可从本地缓存装置200向用户终端100发送的数据的量增加并且因而服务效率得到增强。

[0028]作为基于接收到的内容的至少一部分或基于内容地址信息进行确定的结果,如果未存储所请求的内容(即,缓存缺失),则本地缓存装置200从内容提供商300接收所请求的内容,并且接着向用户终端100发送所请求的内容。

[0029]作为基于接收的内容的至少一部分或基于内容地址信息进行确定的结果,如果存储有所请求的内容(即,缓存命中),则本地缓存装置200取得所存储的内容,并且接着将内容发送到用户终端100。

[0030]为了如上所述地确定缓存命中或者缓存缺失,本地缓存装置200从内容请求消息中提取出用户终端100的IP地址信息和端口信息以及内容提供商300的IP地址,并且将它们的组合作为缓存命中的流程信息进行管理。另外,本地缓存装置200将利用所请求的内容的至少一部分创建的内容标识信息与内容地址信息进行匹配,并且管理它们。在此,这种对缓存命中的流程信息、内容标识信息和内容地址信息的管理是关于在本地缓存装置200中存储的内容而进行的。

[0031 ]在内容提供商300通过自适应内容传送技术提供内容的情况下,例如,在HLS(HTTP实时流)的情况下,每一个内容由具有不同分辨率的两个或更多个内容数据组成,并且每一个内容数据被分为多个块。接着,具有与链路质量或装置性能相对应的分辨率的特定内容数据被选择并逐块地发送。另外,可以通过周期性地变更的加密密钥来对内容加密。

[0032]当任何内容首次被请求时,对应的流程信息尚未被记录在流程信息表中。因此,本地缓存装置200从内容提供商300接收所请求的内容的一部分,并且接着利用接收到的部分作为键来检查是否存储有所请求的内容。因而,考虑到加密密钥的变更与否,本地缓存装置200可以精确地确定内容是否被缓存,并且在缓存命中的情况下将所存储的内容的剩余数据视为被使用相同加密密钥加密。因此,当用户终端100请求剩余数据时,本地缓存装置200可以仅通过使用内容地址信息就可以很容易地检查所请求的内容是否缓存命中,由此增强服务效率。

[0033]稍后将详细描述本地缓存装置200的构造和操作。

[0034]尽管本地缓存装置200在图1中被示为单个装置,但是这仅是示例性的,不应被认为是限制。另选地,网络400中可以分布有多个本地缓存装置200。

[0035]内容提供商300是以流或下载方式通过网络400提供例如视频文件、音频文件、网页等多种类型的内容的服务提供装置。内容提供商300可以是提供视频共享网站的服务器,收费或免费视频通过所述服务器上传、观看或共享,可以是应用商店,移动内容所述商店出售,也可以是通过因特网的IPTV广播服务等。

[0036]内容通过网络400在用户终端100、本地缓存装置200和内容提供商300之间发送,网络400可以包括目前使用的或者预期在将来使用的各种通信网络和它们的统一网络。具体地,网络400可以包括如因特网的基于IP的有线/无线通信网络、诸如LTE(长期演进)网络和WCDMA网络的移动通信网络、诸如WIFI网络的各种无线网络以及任何其它移动网络。本地缓存装置200可以用于减少这种网络上的冗余内容传输和流量。

[0037] 具体地,在一些实施方式中,本地缓存装置200可以分布在网络400的边缘。图2示出了这种情况。

[0038]图2是根据至少一个实施方式的内容缓存服务系统中的本地缓存装置分布结构的示意框图;

[0039] 参照图1和图2,网络400包括移动终端100连接到的无线接入网410或有线接入网420,并且包括连接无线接入网410或有线接入网420的核心网430。

[0040]无线接入网410是指能够按照各种无线通信方式向用户终端100发送或从用户终端100接收数据的用户网络,并且可以包括移动通信网络和WIFI网络。有线接入网420是指以有线方式连接到用户终端100以向用户终端100发送或从用户终端100接收数据的用户网络,并且可以包括FTTH(光纤到户)。

[0041 ] 本地缓存装置200(图2中还用附图标记200a和200b表示)分布在网络400的边缘节点处。具体地,本地缓存装置200a和本地缓存装置200b连接到交换装置(例如,路由器等)431a、交换装置431b和交换装置431c,交换装置431a、交换装置431b和交换装置431c是核心网430的边缘节点并且链接到无线接入网410/有线接入网420。因此,本地缓存装置200a和本地缓存装置200b中的每一方都可以向连接到无线接入网410/有线接入网420的用户终端100提供内容缓存服务。

[0042]具体地,当内容缓存服务被应用于诸如移动通信网络这样的移动网络时,本地缓存装置200可以分布在包括多个基站(BS,还称为基站收发信台BTS、nodeB、eNodeB等)和诸如移动网络中的无线网络控制器(RNC)这样的基站控制器(BSC)的各个无线接入网中。在此情况下,本地缓存装置200可以连接到移动通信系统的与各个无线接入网相连接的边缘节点(例如,交换装置),以支持向连接到各个无线接入网的用户终端发送内容。

[0043]为了帮助理解内容缓存服务,图3在示意图中示出根据至少一个实施方式的自适应型内容的结构。

[0044]参照图3,在诸如HLS这样的自适应内容传输技术的情况下,内容10可以由用不同分辨率编码的两个或更多个内容数据11、12和13组成。在一些实施方式中,内容数据11、12和13例如具有1024K、720K和480K的分辨率。在此情况下,取决于链路质量或装置性能,内容1可以具有从1024Κ、720Κ和480Κ选出的特定分辨率。

[0045]另外,用不同分辨率编码的各个内容数据11、12和13被分为具有给定尺寸的多个块Al至Α3、Β1至Β3和Cl至C3。在视频内容的情况下,例如,单块数据的尺寸可以被设定为大约十秒。

[0046]因此,在取决于链路质量和用户终端100的性能中的至少一项而选择了具有适当分辨率的内容数据之后,具有不同分辨率的内容10逐块地发送。

[0047]如果内容不是自适应型,则GET消息通常被发送大约一次。然而,在自适应型内容的情况下,内容请求可以按块发生并且因此GET消息被发送很多次。

[0048]另外,自适应型内容10可以被加密,并且加密密钥可以被周期性地变更。内容10的全部内容数据11、12和13用同一个加密密钥加密。因此,如果加密密钥被变更变,所发送的内容数据也改变,但是内容10的内容地址信息不改变。

[0049]当自适应型内容10被请求时,本地缓存装置200响应于第一GET消息而从内容提供商300接收所请求的内容的至少一部分,通过使用接收到的部分作为键来比较内容,并且检查是否存储有所请求的内容,特别是检查是否存储有使用内容提供商300当前使用的特定加密密钥加密的任何内容。如果本地缓存装置200缓存了所请求的内容,但是如果加密密钥被改变,则当基于接收到的内容的至少一部分确定是否存储有所请求的内容时,本地缓存装置200确定未存储所请求的内容。如果加密密钥不改变,则本地缓存装置200确定存储有所请求的内容。

[0050]也就是说,作为使用内容的至少一部分作为键的确定结果,如果存储有相同内容,则确定在本地缓存装置200中存储有利用当前应用于所请求的内容的特定加密密钥加密的内容数据。因此,响应于用户终端100针对自适应型内容10的随后请求的响应,本地缓存装置200可以基于内容地址信息来确定是否存储有所请求的内容。

[0051 ]为此,本地缓存装置200存储关于先前缓存命中的内容请求的流程信息。之后,只要接收到内容请求消息,本地缓存装置200就从接收到的消息中提取出流程信息,并且检查所提取的流程信息是否与存储的先前的缓存命中的流程信息相同。如果不相同,则本地缓存装置200通过对内容的至少一部分的比较来确定是否缓存命中。如果相同,则本地缓存装置200通过仅比较内容地址信息而很容易地确定所请求的内容是否缓存命中。

[0052]另外,对于以上操作,本地缓存装置200可以具有流程信息表和内容地址管理表。流程信息表管理与缓存命中的内容请求有关的流程信息。内容地址管理表管理与本地缓存装置200中存储的各个内容有关的内容标识信息和内容地址信息。

[0053]图4中的(a)部分示出了流程信息表的示例,其中源地址信息和目的地地址信息彼此匹配作为与缓存命中的内容请求有关的流程信息。在此,源地址信息指示缓存命中的内容的源(即,内容提供商300的地址信息),并且被设定为IP地址信息(例如,服务器1_IP、月艮务器2_IP等)。目的地地址信息指示缓存命中的内容的目的地(B卩,用户终端100的地址信息),并且被设定为IP地址信息(例如,UE_IP)和端口信息(例如,UE_Port)两者。

[0054]图4中的(b)部分示出了内容地址管理表的示例。在一些实施方式中,内容地址管理表包括记录了利用本地缓存装置200中存储的内容的至少一部分创建的内容标识信息的第一字段和记录了与内容标识信息匹配的一个或更多个内容地址信息的第二字段。如上面定义的,通过提取相应的内容的至少一部分或者对内容的至少一部分的处理(例如,哈希)来创建内容标识信息。例如,内容标识信息可以包括具有预定长度的前缀信息、通过使用预定哈希函数对前缀信息进行处理而获得的哈希值以及内容的元数据中的至少一项。

[0055]下面,将参照图5详细描述本地缓存装置200的构造和操作。

[0056]图5是根据至少一个实施方式的本地缓存装置的示意框图。

[0057] 参照图5,本地缓存装置200包括通信接口 210、控制器220和存储单元230。

[0058]通信接口 210连接到网络400以通过网络400发送或接收数据。具体地,通信接口210连接到网络400,其中数据通过网络400在至少一个内容提供商300和至少一个用户终端100之间发送,并且通信接口 210通过网络向内容提供商300和用户终端100发送数据或者从内容提供商300和用户终端100接收数据。通信接口 210可以包括用于根据网络400的类型按照有线或无线方式处理发送和接收的一个或更多个通信模块。

[0059]存储单元230存储从至少一个内容提供商300向至少一个用户终端100提供的一些内容或全部内容。另外,存储单元230可以还存储流程信息表231和内容地址管理表232,流程信息表231管理关于与缓存命中相对应的当前激活的会话的流程的信息,并且内容地址管理表232管理关于在存储单元230中存储的一个或更多个内容的信息的内容地址信息。流程信息表231和内容地址管理表232可以如图4所示地构建并且被控制器220管理。

[0060]控制器220控制本地缓存装置200的整体缓存服务操作。在通过通信接口 210从用户终端100接收到内容请求消息时,控制器220检查所请求的内容是否存储在存储单元230中。如果存储在存储单元230中(S卩,缓存命中),则控制器220从存储单元230取得所请求的内容并且代替内容提供商300将所请求的内容提供给用户终端100 ο如果未存储在存储单元230中,则控制器220从内容提供商300接收所请求的内容,并且在将内容存储在存储单元230中的同时将内容传送到用户终端100。

[0061]为了以上处理,控制器220可以具有请求监测模块221和缓存控制模块222。

[0062]请求监测模块221监测正在从用户终端100向内容提供商300发送的全部内容请求消息。具体地,请求监测模块221不仅向内容提供商300传送从用户终端100接收到的全部内容请求消息,而且还提取与从用户终端100向内容提供商300发送的全部内容请求消息有关的信息(例如,源地址信息、目的地地址信息、与所请求的内容相对应的URL信息等)。

[0063]缓存控制模块222在存储单元230中存储(S卩,缓存)正在从内容提供商300向用户终端100发送的内容。具体地,作为对内容请求消息的响应,缓存控制模块222接收对从内容提供商300向用户终端100发送的特定流程的响应,并且将其存储在存储单元230中。此时,缓存控制模块222通过向请求监测模块221查询来获得与特定流程有关的信息,对作为所获得的信息中的一个并且对应于与相关内容关联的内容地址信息的URL信息加标签,并且将它们存储。

[0064]另外,按照以下进行确定是否存储有所请求的内容的处理。

[0065]当接收到从用户终端100发送到内容提供商300的内容请求消息时,控制器220接收作为对该内容请求的响应而从内容提供商300发送的内容的至少一部分,并且接着基于接收到的内容的部分来确定存储单元230中是否存储有所请求的内容数据(S卩,是否缓存命中)ο作为确定结果,如果存储单元230中存储有所请求的内容数据,则控制器220检查所存储的内容数据是否是自适应型内容的一部分。可以通过检查与内容地址信息相对应的URL中记录的文件名称是否具有特定文件名扩展(例如,ts)或者检查是否存在关于特定内容的连续内容请求发生超过给定次数的过去记录来进行。

[0066]作为检查结果,如果当前缓存命中的内容数据是自适应型内容的一部分,则控制器220提取与内容数据相对应的流程信息,并且接着在流程信息表231中将其存储为缓存命中的流程。此时,通过计数每一个流程的缓存命中或者不命中,控制器220可以在流程信息表231中仅记录超过给定次数的连续缓存命中的流程信息。

[0067]另外,对于与在流程信息表231中记录的流程有关的内容请求,控制器220改变确定是否存储有所请求的内容的方式(即,基于内容地址信息确定)。

[0068]具体地,控制器220将在内容请求消息中包含的流程信息与先前的缓存命中的流程信息进行比较。如果两者彼此相同,则控制器220基于所请求的内容的内容地址信息来确定是否存储有所请求的内容。

[0069]为此,控制器220的请求监测模块221监测来自用户终端100的内容请求消息,并且向缓存控制模块222通知具有与流程信息表231中记录的流程信息相同的流程信息的内容请求,使得缓存控制模块222基于与该请求相对应的内容地址信息来确定是否存在缓存。作为基于内容地址信息的确定的结果,如果存储单元230中存储有所请求的内容,则缓存控制模块222代替内容提供商300向用户终端100发送所请求的内容。

[0070]如果存储单元230中未存储所请求的内容,则控制器220向内容提供商300传送内容请求消息。接着,控制器220从内容提供商300接收所请求的内容,并且接着基于接收到的内容的至少一部分再次确定是否存储有所请求的内容。

[0071]如果仍然确定存储单元230中未存储所请求的内容,则控制器220继续从内容提供商300接收内容,将内容发送到用户终端100,并且将内容存储在存储单元230中。

[0072]如果基于接收到的内容的至少一部分新确定了存储单元230中存储有所请求的内容,则控制器220请求内容提供商300停止内容传输。这减少了内容提供商300和本地缓存装置200之间的部分中的流量。用于请求停止内容传输的消息例如可以是HTTP RST(重置)消息。

[0073]另外,在上述处理期间,控制器220不仅进一步在内容地址管理表232中记录所请求的内容的内容地址信息和利用从内容提供商300接收到的内容的至少一部分创建的内容标识信息中的至少一项,而且进一步在流程信息表231中记录从用户终端100的内容请求消息中提取出的流程信息。进一步记录的信息将在随后的内容请求中使用。

[0074]现在,将参照图6详细描述内容缓存服务方法。

[0075]图6是根据至少一个实施方式的用于提供内容缓存服务的方法的流程图。

[0076] 如以上讨论的,本地缓存装置200具有流程信息表231和内容地址管理表232,本地缓存装置200通过流程信息表231来管理与先前的缓存命中的内容有关的流程信息,并且通过内容地址管理表232来管理与存储单元230中存储的内容有关的内容标识信息和内容地址信息。在一些实施方式中,在流程信息表231中记录的流程信息是与自适应型内容有关的流程信息,并且可以是与当前激活的会话有关的流程信息。

[0077]在一些实施方式中,当用户终端100请求内容时,本地缓存装置200从内容提供商300接收所请求的内容的至少一部分,并且基于接收到的部分来确定是否存储有所请求的内容。如果存储有所请求的内容,则本地缓存装置200在流程信息表231中记录所请求的内容的流程信息。之后,对于具有与流程信息表231中记录的流程信息相同的流程信息的内容,本地缓存装置200基于内容地址信息而不是基于接收到的内容的部分来确定是否存储有所请求的内容。因此,本地缓存装置200可以有效地确定被划分为多个块并被按块请求和发送的自适应型内容的缓存命中与否。

[0078]针对上述描述,如图6所示,本地缓存装置200接收正在从用户终端100向内容提供商300发送的内容请求消息,并且从内容请求消息中提取出与所请求的内容有关的流程信息和内容地址消息(步骤S105)。在此,该内容请求消息例如可以是HTTP GET消息。

[0079]另外,本地缓存装置200通过比较来确定流程信息表231是否包含与所提取的流程ί目息相同的流程ί目息(步骤SI 10)。在此,在流程彳目息表231中记录的流程彳目息是与先前的缓存命中的内容有关的流程信息。例如,如图3所示的特定自适应型内容10的任何内容数据已经被请求并且被确定为缓存命中,在流程信息表231中记录了与该自适应型内容10有关的流程信息。之后,如果接收到请求自适应型内容10的其它内容数据的内容请求消息,则从该内容请求消息提取出的流程信息变为与流程信息表231中记录的流程信息相同。

[0080]因此,作为在步骤SllO的确定的结果,如果流程信息表231包含与所提取的流程信息相同的流程信息,则本地缓存装置200基于从内容请求消息中提取出的内容地址信息(例如,URL)来确定是否存储有所请求的内容(步骤S145)。

[0081 ]作为在步骤S145的确定的结果,如果存储单元230中存储有具有与所提取的内容地址信息相同的地址信息的内容,则本地缓存装置200向用户终端100发送所存储的内容(步骤 S140)。

[0082]相反,作为在步骤S145的确定的结果,如果存储单元230中未存储具有与所提取的内容地址信息相同的地址信息的内容,则本地缓存装置200从内容提供商300接收所请求的内容,将内容传送到用户终端100,并且将内容存储在存储单元230中(步骤SI 50 )。

[0083]另外,作为步骤SllO的流程信息的比较的结果,如果流程信息表231不包含与所提取出的流程信息相同的流程信息,则本地缓存装置200从内容提供商300接收所请求的内容(步骤S115),并且接着确定存储单元230是否存储有任何与接收到的内容至少部分相同的内容(步骤S120)。通过利用接收到的内容的至少一部分创建的内容标识信息来搜索内容地址管理表232,可以执行该步骤S120。

[0084]作为步骤S120的确定的结果,如果未存储相同的内容,则最终确定本地缓存装置200中未存储所请求的内容。因此,本地缓存装置200从内容提供商300接收所请求的内容,将内容传送到用户终端100,并且将内容存储在存储单元230中(SI 25)。

[0085]相反,作为步骤S120的确定的结果,如果存储单元230中存储有至少部分相同的内容,本地缓存装置200在流程信息表231中记录从内容请求消息中提取出的流程信息(步骤S130)o

[0086]在一些实施方式中,可以仅针对自适应型内容执行该步骤S130。针对此情况,本地缓存装置200可以进一步执行确定所请求的内容是否是自适应型内容的步骤,并且如果是自适应型内容,则可以执行步骤S130 ο为了确认自适应型内容,本地缓存装置200可以检查在所请求的内容的内容地址信息中记录的文件名扩展。另选地,本地缓存装置200可以分析内容请求和与流程信息有关的缓存命中。如果内容已被请求超过了给定次数并且存储在存储单元230中,则本地缓存装置200可以执行步骤S130。

[0087]在另选的实施方式中,步骤S130可以与步骤S135和S140中的一个步骤同时执行或者在之后进行。

[0088]另外,如果存储有任何与接收的内容至少部分相同的内容,则本地缓存装置200可以请求内容提供商300停止内容传输(步骤S135)。

[0089]并且,如果存储有任何与接收到的内容至少部分相同的内容,则本地缓存装置200从存储单元230取得内容并且将内容发送到用户终端100(步骤S140)。

[0090]另外,对于在步骤S125和S150中存储单元230中存储的任何内容,本地缓存装置200利用所述内容的至少一部分来创建内容标识信息,提取内容地址信息,并且将内容地址信息记录在内容地址管理表232中,使得可以在稍后确定是否请求了相同内容的过程中使用该信息。

[0091 ]在所请求的内容被作为自适应型内容缓存并且没有被改变加密密钥的情况下可以执行以上讨论的处理,并且本地缓存装置200可以利用缓存的内容来降低流量。即,本地缓存装置200首先发送接收到的内容的一部分以确定内容缓存与否。在确定缓存与否之后,本地缓存装置200从存储单元230取得随后的数据并且将数据发送到用户终端100。

[0092]如上面所讨论的,在自适应型内容被缓存在本地缓存装置200中的情况下,如果基于内容的一部分的确定的结果是缓存命中,并且如果关于自适应型内容的剩余数据的内容请求消息顺序地发生,则在步骤S120,从内容请求消息中提取出的源地址消息变为与先前的缓存命中的流程ί目息相同。

[0093] 如果请求了如图3所示的自适应型内容10的任何内容数据,则本地缓存装置200通过对内容的一部分进行比较来确定是否缓存有所请求的内容。如果缓存了所请求的内容,则本地缓存装置200在流程信息表231中记录用于标识自适应型内容10的流程信息。因此,当自适应型内容10的其它内容数据被请求时,本地缓存装置200可以仅通过内容地址信息的简单比较就确定是否存在缓存。

[0094]如上面所讨论的,当分布在网络400中的本地缓存装置200缓存了内容提供商300的一些内容或全部内容并接着响应于对相同内容的请求而代替内容提供商300向用户终端100提供缓存内容时,本地缓存装置200检查内容请求消息中包含的流程信息是否与先前的缓存命中的流程信息相同。如果相同,则本地缓存装置200基于所请求的内容的地址信息确定是否缓存有所请求的内容。如果不相同,则本地缓存装置200从内容提供商300取得所请求的内容,接着基于接收到的部分的至少一部分确定是否缓存有所请求的内容。这增强了缓存命中确定处理的效率。

[0095]具体地,针对被划分为块并且周期性地改变内容的加密密钥的自适应型内容,此处公开的技术可以减少确定相同内容的存在所需要的时间并且还实现了更有效的服务操作。

[0096]根据本公开的一些实施方式的提供内容缓存服务的方法被实现为可以由各种计算机系统执行的并且可以被非瞬时地记录、并且被写入计算机可读记录介质中的程序命令。计算机可读记录介质单独或组合地包括程序、数据文件、数据结构等。写入到介质中的程序命令是专门针对本公开设计或配置的,或者是为计算机软件领域中的技术人员已知的。计算机可读记录介质的示例包括诸如硬盘、软盘和磁带这样的磁介质、诸如CD-ROM和DVD这样的光学介质、诸如软光盘的磁光介质以及诸如R0M、RAM和闪存存储器这样的特别构建以存储和执行程序命令的硬件装置。程序命令的示例包括计算机使用解析器可执行的高级语言代码以及编译器产生的机器语言代码。硬件装置被配置为操作为一个或更多个软件模块操作,以实现本公开,或者相反。在一些实施方式中,此处描述的处理或者功能中的一个或更多个通过特定配置的硬件执行(例如,通过一个或更多个专用集成电路或ASIC)。一些实施方式将所描述的超过一个处理包括在单个ASIC中。在一些实施方式中,这些处理或功能中的一个或更多个被针对这些处理或功能而编程的至少一个处理器执行。

[0097]以上给出了对本公开的优选实施方式的详细描述以使本领域技术人员能够实现和实施本公开。尽管参照各个实施方式描述了本公开,但是本领域技术人员将理解,在不脱离主题、本公开的精神或范围的前提下可以对本公开进行各种修改和变化。在本公开和附图中使用的特定术语用于示例性的目的,而不应被认为是对本公开的限制。

[0098]相关申请的交叉引用

[0099] 本申请要求于2012年6月I日在韩国提交的韩国专利申请N0.10-2012-0059293的优先权,其全部内容通过引用并入本文中。

Claims (13)

1.一种本地缓存装置,该本地缓存装置包括: 存储单元,所述存储单元被配置为存储从至少一个内容提供商向至少一个用户终端提供的一些内容或全部内容,其中所述存储单元被配置为存储流程信息表和内容地址管理表, 其中,所述流程信息表管理与缓存命中的内容请求有关的流程信息和指示缓存命中的内容的目的地的目的地地址信息,以及 其中,所述内容地址管理表包括: 记录了利用本地缓存装置中存储的各个内容的至少一部分创建的内容标识信息的第一字段;和 记录了与所述内容标识信息匹配的一个或更多个内容地址信息的第二字段;以及 通信接口,所述通信接口被配置为通过通信网络在所述至少一个内容提供商和所述至少一个用户终端之间发送和接收数据;以及 控制器,所述控制器被配置为从所述内容提供商接收所述至少一个用户终端中的一个终端请求的内容,如果所述存储单元存储有与接收到的内容至少部分相同的内容,则所述控制器将所请求的内容的流程信息记录在流程信息表中,并且当具有与所记录的流程信息相同的流程信息的内容被请求时,所述控制器基于内容地址信息来确定所述存储单元中是否存储有所请求的内容; 其中,所述流程信息包括指示缓存命中的内容的源的源地址信息和指示缓存命中的内容的目的地的目的地地址信息,以及 其中,所述源地址信息包括所述源的IP地址信息,并且所述目的地地址信息包括所述目的地的IP地址信息和端口信息。
2.根据权利要求1所述的本地缓存装置,其中,所述控制器还被配置为使用内容地址管理表来管理利用所述存储单元中存储的内容的至少一部分创建的内容标识信息和与所述内容标识信息匹配的至少一个内容地址信息。
3.根据权利要求1所述的本地缓存装置,其中,所述控制器还被配置为确定所述内容是否是自适应型内容的一部分,并且如果所述内容是自适应型内容的一部分,则所述控制器将所述内容的流程信息记录在所述流程信息表中。
4.根据权利要求1所述的本地缓存装置,其中,所述控制器还被配置为在与所述流程信息相对应的所述内容被请求超过已设定次数并且被存储在所述存储单元中的情况下,将所述内容的所述流程信息记录在所述流程信息表中。
5.根据权利要求2所述的本地缓存装置,其中,所述内容标识信息包括具有已设定长度的前缀信息、通过使用设定的哈希函数对所述前缀信息进行处理而获得的哈希值和所述内容的元数据中的至少一项。
6.根据权利要求1所述的本地缓存装置,其中,所述控制器还被配置为在与接收到的内容至少部分相同的内容或与所述内容地址信息相对应的内容未被存储在所述存储单元中的情况下,接收来自所述内容提供商的所述内容,将接收到的内容发送到所述用户终端,并且将接收到的内容存储在所述存储单元中。
7.根据权利要求1所述的本地缓存装置,其中,所述控制器还被配置为在与接收到的内容至少部分相同的内容被存储在所述存储单元中的情况下,请求所述内容提供商停止内容传输。
8.—种提供内容缓存服务的方法,该方法由本地缓存装置执行并且包括以下步骤:从内容提供商接收用户终端请求的内容的至少一部分,并且利用所述内容的接收到的至少一部分来确定所述本地缓存装置的存储单元中是否存储有所述用户终端所请求的内容,其中所述存储单元被配置为存储流程信息表和内容地址管理表, 其中,所述流程信息表管理与缓存命中的内容请求有关的流程信息和指示缓存命中的内容的目的地的目的地地址信息,以及其中,所述内容地址管理表包括: 记录了利用本地缓存装置中存储的各个内容的至少一部分创建的内容标识信息的第一字段;和 记录了与所述内容标识信息匹配的一个或更多个内容地址信息的第二字段;以及如果存储有所请求的内容,则将所请求的内容的流程信息记录在流程信息表中;以及当具有与在所述流程信息表中记录的流程信息相同的流程信息的内容被请求时,基于内容地址信息来确定是否存储有所请求的内容; 其中,所述流程信息包括指示缓存命中的内容的源的源地址信息和指示缓存命中的内容的目的地的目的地地址信息,以及 其中,所述源地址信息包括所述源的IP地址信息,并且所述目的地地址信息包括所述目的地的IP地址信息和端口信息。
9.根据权利要求8所述的方法,其中,将所述内容的流程信息记录在流程信息表中的步骤包括:如果与所述流程信息相对应的所述内容被请求超过已设定次数并且所述内容已经被存储,则将所述流程信息记录在所述流程信息表中。
10.根据权利要求8所述的方法,其中,将所述内容的流程信息记录在流程信息表中的步骤包括:确定所述用户终端所请求的内容是否是自适应型内容的一部分,并且如果所述内容是自适应型内容的一部分,则将所述用户终端所请求的内容的流程信息记录在所述流程信息表中。
11.据权利要求8所述的方法,该方法还包括以下步骤: 基于所述内容地址信息或所述内容的至少一部分来确定是否存储有所请求的内容;以及 如果存储有所请求的内容,则向所述用户终端发送存储的内容。
12.根据权利要求8所述的方法,该方法还包括以下步骤: 基于所述内容地址信息或所述内容的至少一部分来确定是否存储有所请求的内容; 如果未存储所请求的内容,则从所述内容提供商接收所请求的内容;以及 在存储接收到的内容的同时将向所述用户终端发送接收到的内容。
13.根据权利要求8所述的方法,该方法还包括以下步骤: 针对所述存储的内容,将利用所述内容的至少一部分创建的内容标识信息与接收到的内容的内容地址信息进行匹配;以及 将匹配的信息存储在管理缓存的内容的地址信息的内容地址管理表中。
CN201310208422.3A 2012-06-01 2013-05-30 本地缓存装置和提供内容缓存服务的方法 CN103457993B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120059293A KR101330052B1 (ko) 2012-06-01 2012-06-01 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
KR10-2012-0059293 2012-06-01

Publications (2)

Publication Number Publication Date
CN103457993A CN103457993A (zh) 2013-12-18
CN103457993B true CN103457993B (zh) 2016-11-09

Family

ID=49671738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310208422.3A CN103457993B (zh) 2012-06-01 2013-05-30 本地缓存装置和提供内容缓存服务的方法

Country Status (3)

Country Link
US (1) US9390200B2 (zh)
KR (1) KR101330052B1 (zh)
CN (1) CN103457993B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348722B (zh) * 2013-07-31 2017-12-12 华为技术有限公司 确定内容获取路径、请求处理的方法、装置和系统
US9535837B2 (en) * 2013-11-19 2017-01-03 Alcatel-Lucent Usa Inc. Decentralized online cache management for digital content conveyed over shared network connections based on cache fullness and cache eviction policies
CN103685551A (zh) * 2013-12-25 2014-03-26 乐视网信息技术(北京)股份有限公司 更新cdn缓存文件的方法和装置
EP3133824B1 (en) * 2014-04-18 2019-07-10 SK Telecom Co., Ltd Method for transmitting broadcasting contents in real-time and device for same
EP3161669A4 (en) * 2014-06-26 2018-03-07 Intel Corporation Memcached systems having local caches
CN104168317B (zh) * 2014-08-12 2018-01-19 华为技术有限公司 缓存内容命中方法和通信系统
CN105516231B (zh) * 2014-10-20 2019-02-26 中国电信股份有限公司 一种基于改进一致性哈希分布式缓存的方法和系统
CN104519139B (zh) * 2014-12-31 2018-10-30 华为技术有限公司 缓存方法、缓存边缘服务器、缓存核心服务器和缓存系統
WO2016141993A1 (en) * 2015-03-12 2016-09-15 Telefonaktiebolaget Lm Ericsson (Publ) Caching secure data
US10516752B2 (en) 2015-06-05 2019-12-24 Apple Inc. Edge caching shared devices
US10425499B2 (en) * 2015-06-18 2019-09-24 Line Corporation Server and method for providing content to users
CN106488504B (zh) * 2015-08-28 2019-12-24 华为技术有限公司 网络系统和网络通信的方法
KR101889220B1 (ko) * 2017-04-07 2018-08-16 한국과학기술원 비디오 세그먼트를 이용하여 비디오 소비 정보를 수집하기 위한 방법 및 시스템

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991306A (en) * 1996-08-26 1999-11-23 Microsoft Corporation Pull based, intelligent caching system and method for delivering data over a network
US6128655A (en) * 1998-07-10 2000-10-03 International Business Machines Corporation Distribution mechanism for filtering, formatting and reuse of web based content
WO2001098904A1 (fr) 2000-06-23 2001-12-27 Hitachi, Ltd. Procede de service d'information web et serveur web
JP2004070860A (ja) * 2002-08-09 2004-03-04 Hitachi Ltd ストリームコンテンツ配送システムおよびプロキシサーバ
JP2007066161A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd キャッシュシステム
KR101091981B1 (ko) * 2008-10-20 2011-12-08 에스케이플래닛 주식회사 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템 및 방법
KR20100056934A (ko) * 2008-11-20 2010-05-28 에스케이텔레콤 주식회사 캐시서버를 이용한 컨텐츠 전송 시스템 및 방법
KR101169041B1 (ko) * 2009-08-03 2012-07-26 (주)에임투지 캐시서버 및 멀티미디어 컨텐츠 제공 방법
JP5336403B2 (ja) * 2010-02-24 2013-11-06 富士通株式会社 ノード装置およびコンピュータプログラム
EP2599295A1 (en) * 2010-07-30 2013-06-05 ByteMobile, Inc. Systems and methods for video cache indexing
US8185612B1 (en) * 2010-12-30 2012-05-22 Peerapp Ltd. Methods and systems for caching data communications over computer networks
KR101904482B1 (ko) * 2011-12-26 2018-10-08 에스케이텔레콤 주식회사 콘텐트 전송 시스템, 그 시스템에서의 네트워크 중복 전송 트래픽 최적화 방법, 중앙 제어 장치 및 로컬 캐싱 장치

Also Published As

Publication number Publication date
CN103457993A (zh) 2013-12-18
US20130326133A1 (en) 2013-12-05
KR101330052B1 (ko) 2013-11-15
US9390200B2 (en) 2016-07-12

Similar Documents

Publication Publication Date Title
Saxena et al. Named data networking: a survey
DK2852125T3 (en) Selection of server for distribution of content
CN104919758B (zh) 一种由驻留在业务域中的网络设备实施的方法和网络设备
Zhang et al. A survey of caching mechanisms in information-centric networking
KR101786573B1 (ko) 문맥화된 정보 버스
US10244023B2 (en) Active offline storage management for streaming media application used by multiple client devices
US9621620B2 (en) Apparatus and method for providing content with a distributed architecture, and system for providing content with the said apparatus
CN104618506B (zh) 一种众包的内容分发网络系统、方法与装置
US8898735B2 (en) Network apparatus based on content name, method of generating and authenticating content name
CN104854844B (zh) 在通信系统中的客户端设备的web浏览器上加载重定向的web资源
CN103477689B (zh) 用于控制平面以在以信息为中心的网络中管理基于域的安全性和移动性的方法和设备
Paschos et al. The role of caching in future communication systems and networks
US8694675B2 (en) Generalized dual-mode data forwarding plane for information-centric network
CN104137587B (zh) 一种发送、接收用户数据的方法及终端设备
CN102238226B (zh) 在以内容为中心的网络上的会话迁移
CN104756449B (zh) 从内容中心网络中的节点和内容拥有者发送包的方法
Ahlgren et al. Design considerations for a network of information
EP2294515B1 (en) Request routing using network computing components
US8392407B2 (en) Method, apparatus and system of searching and downloading mobile telephone file
Fang et al. A survey of energy-efficient caching in information-centric networking
CN100505696C (zh) 在媒体分发网络中实现视频直播的系统、方法和客户端
US10084659B2 (en) Systems and methods for enhanced discovery
CN102316127B (zh) 无线通信系统中基于分布式存储的文件传输方法
US20180145927A1 (en) Distributed computing resources in an information centric network
CN103493086B (zh) 用于在联网环境中进行高速缓存的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant