CN103455439B - 本地缓存装置以及用于提供内容缓存服务的系统和方法 - Google Patents
本地缓存装置以及用于提供内容缓存服务的系统和方法 Download PDFInfo
- Publication number
- CN103455439B CN103455439B CN201310195067.0A CN201310195067A CN103455439B CN 103455439 B CN103455439 B CN 103455439B CN 201310195067 A CN201310195067 A CN 201310195067A CN 103455439 B CN103455439 B CN 103455439B
- Authority
- CN
- China
- Prior art keywords
- content
- local cache
- stored
- cache device
- address information
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004891 communication Methods 0.000 claims description 21
- 230000005540 biological transmission Effects 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 17
- 238000007689 inspection Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000010295 mobile communication Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及本地缓存装置以及用于提供内容缓存服务的系统和方法。所述本地缓存装置检查地址信息与包括在内容请求消息中的内容地址信息对应的内容是否被存储在存储单元中。当与内容地址信息对应的内容未被存储在所述存储单元中时,所述本地缓存装置接收响应于所述内容请求消息从内容提供装置发送来的内容,然后检查与所接收到的内容的至少一部分对应的内容是否被存储在所述存储单元中。
Description
技术领域
本公开涉及本地缓存装置以及用于提供内容缓存服务以防止网络上的冗余内容传输的系统和方法。
背景技术
本部分的内容仅提供与本公开有关的背景信息,可能不构成现有技术。
随着性能改进的智能电话的普及以及由智能电话的普及带来的内容提供商的数量的激增,移动通信网络的业务增加,导致服务质量由于诸如视频、音频、图像、应用等的内容的下载速度和传输速率的降低而变差。
随着内容传输技术的发展,在提供诸如VOD(视频点播)、直播流媒体(livestreaming)等的在线视频服务,或者执行音乐流媒体、文件上传和下载等时,可以实现大容量文件传输,进而提供用于分发(deliver)大容量内容的各种服务。
然而,这些内容提供服务通常向相同的域或相同的无线电覆盖范围中的用户分发冗余内容,尽管内容分发频率取决于内容的流行程度,但是随着越来越多地使用内容提供服务,传输的内容开始表示越来越多的网络业务共享。
在通信网络的业务由于大容量内容的传输而激增的情况下,本发明人体验到冗余内容的传输进一步增加了通信网络的业务负载。
鉴于此,CDN(内容分发网络)服务稳定地向用户分发各种类型的内容,包括诸如电影、音乐视频等的运动图像。CDN服务以这样的方式实现:内容被存储在分布在网络中的多个本地缓存装置中,通过诸如GLB(全球负载平衡)服务器的负载平衡器从多个缓存服务器中选择最合适的缓存服务器,通过所选择的缓存服务器将请求的内容分发给用户设备。
CDN基于互联网来实现,以便解决包括数据丢失、瓶颈、传输速率减小、诸如不连续数据传输的不稳定性等在内的问题。
内容缓存是在CDN服务中将内容选择性地缓存在分布在网络中的多个本地缓存装置中的技术。考虑本地缓存装置的存储空间的大小来执行内容缓存。另外,本发明人注意到,有必要考虑确定缓存的内容是否包括与用户请求的内容对应的内容所需的时间以及与用户请求的内容对应于缓存的内容的比率对应的缓存命中率。
发明内容
根据一些实施方式,一种本地缓存装置包括存储单元、通信接口和控制器。所述存储单元被构造为存储由至少一个内容提供装置提供给至少一个用户设备的内容中的一些或全部内容。所述通信接口被构造为在所述至少一个内容提供装置与所述至少一个用户设备之间发送和接收数据。所述控制器被构造为当由所述至少一个用户设备请求的内容未被存储在所述存储单元中时,请求所述至少一个内容提供装置发送所请求的内容,从所述至少一个内容提供装置接收向所述至少一个内容提供装置请求的所请求的内容,并且检查与所接收到的内容的至少一部分对应的内容是否被存储在所述存储单元中。
根据一些实施方式,所述本地缓存装置被构造为执行一种用于提供内容缓存服务的方法。所述本地缓存装置被构造为从自用户设备发送来的内容请求消息提取内容地址信息;当地址信息与所提取的内容地址信息对应的内容未被存储在所述本地缓存装置中时,请求内容提供装置提供所述内容,以接收所述内容;检查存储在所述本地缓存装置中的内容是否与从所述内容提供装置接收到的内容的至少一部分对应。
根据一些实施方式,一种用于提供内容缓存服务的系统包括至少一个内容提供装置和本地缓存装置。所述至少一个内容提供装置被构造为当接收到发送内容的请求时,发送由至少一个用户设备请求的内容。所述本地缓存装置被构造为存储由至少一个内容提供装置提供给至少一个用户设备的内容中的一些或全部内容,在所述至少一个内容提供装置与所述至少一个用户设备之间发送和接收数据,当由所述至少一个用户设备请求的内容未被存储在所述存储单元中时,请求所述至少一个内容提供装置发送所请求的内容,从所述至少一个内容提供装置接收所请求的内容,并且检查与所接收到的内容的至少一部分对应的内容是否被存储在所述存储单元中。
附图说明
图1是根据至少一个实施方式的内容缓存服务系统的示意性框图。
图2是根据至少一个实施方式的内容缓存服务系统中的本地缓存装置分布结构的示意性框图。
图3是根据至少一个实施方式的本地缓存装置的构造的示意性框图。
图4是根据至少一个实施方式的由本地缓存装置管理的示例性内容地址管理表的示意图。
图5是根据至少一个实施方式的提供内容缓存服务的方法的流程图。
具体实施方式
在以下描述中阐述了许多具体细节。然而,应该理解,本公开的各种实施方式可在没有这些具体细节的情况下实践。在其它情况下,未详细示出公知的功能或构造,以避免使对本说明的理解变得不清楚。贯穿此说明书,将使用相同的标号来指代相同或相似的部件。
为了帮助理解本公开,以下描述中使用的术语定义如下。
“内容地址信息”是指内容在网络中的位置,例如,可以是URL(统一资源定位符),包括协议类型、内容提供装置的域名或IP地址以及内容的文件路径名称。
“内容标识信息”是用于标识存储在本地缓存装置中的内容的信息。具体地讲,内容标识信息是指通过从内容请求消息提取内容的至少一部分或者对所述内容的至少一部分进行处理(如,散列)而生成的值。即,基于内容的至少一部分来生成内容标识信息。例如,内容标识信息包括具有预定长度的前缀信息、通过利用预定散列函数对所述前缀信息进行处理而获得的散列值以及内容的元数据中的至少一个。
“内容”可由例如文本消息、网络内容、视频、音频、图像、应用等构成。“内容”可以按照流媒体或下载方式提供。“内容”可按照预定分割单位分成一个或更多个部分,并存储在至少一个本地缓存装置、至少一个用户设备和/或至少一个内容提供装置的单个或多个存储器中。
图1是根据至少一个实施方式的内容缓存服务系统的示意性框图。
参照图1,内容缓存服务系统包括通过网络400连接的至少一个用户设备100(图1中为了方便仅示出为单个用户设备)、至少一个本地缓存装置200(图1中为了方便仅示出为单个本地缓存装置)以及至少一个内容提供装置300(图1中为了方便仅示出为单个内容提供装置)。
用户设备100是连接到网络400以使用通过网络400提供的内容的设备。用户设备100请求内容提供装置300提供特定内容,并接收应用户设备100的请求从内容提供装置300或本地缓存装置200发送来的请求内容或其它内容。例如,用户设备100可以是具有通信功能的任何电子/信息通信装置,例如台式PC、笔记本计算机、平板PC、智能电话、PDA(个人数字助理)、互联网TV(智能TV)等。
本地缓存装置200位于网络400中或者通过有线或无线方式连接到网络400,将内容提供装置300所提供的内容暂时存储或存储预定时间,并且当用户设备100请求内容时,代替内容提供装置300将所存储的内容提供给用户设备100。为此,本地缓存装置200执行复制由内容提供装置300提供给用户设备100的内容中的一些或全部内容,并利用各种缓存方案存储所复制的内容的缓存操作。另外,当用户设备100请求内容时,本地缓存装置200利用所请求的内容的地址信息和/或利用所述内容的至少一部分来检查是否缓存有与由用户设备100请求的内容对应(或匹配)的内容。更具体地讲,本地缓存装置200接收网络400上从用户设备100发送给内容提供装置300的内容请求消息,并且首次检查是否存储有地址信息与包括在内容请求消息中的内容地址信息对应的内容。即,本地缓存装置200以这样的方式检查本地缓存装置200是否存储有与由用户设备100请求的内容(即,请求的内容)等同或匹配的内容(即,能够被缓存的内容):将包括在内容请求消息中的内容地址信息与存储在本地缓存装置200中的所有内容的各个内容地址信息进行比较。当与所请求的内容匹配的内容未被存储在本地缓存装置200中时,本地缓存装置200将内容请求消息发送给内容提供装置300,接收响应于用户设备100的内容请求消息从内容提供装置300发送来的内容(即,通过内容请求消息请求的内容),并且第二次检查本地缓存装置200中是否存储有与所接收到的内容的至少一部分对应的内容。当在第一次或第二次检查处理中确定存储有对应的内容时,本地缓存装置200代替内容提供装置300将所存储的内容(即,与所请求的内容匹配的内容)发送给用户设备100。尽管图1中示出单个本地缓存装置200,但是本公开不限于此,在至少一个实施方式中,一个或更多个本地缓存装置200分布在网络400中。
将参照图3和图4详细描述本地缓存装置200的构造和操作。
内容提供装置300是以流媒体或下载方式通过网络400提供各种类型的内容(例如,视频文件、音频文件、网页等)的服务提供装置。内容提供装置300是通过互联网等提供视频共享网站(通过其上传、观看或共享付费或免费的视频)、应用商店(通过其交易移动内容)、IPTV广播服务的服务器(如,计算机系统)。
通过网络400在用户设备100、本地缓存装置200和内容提供装置300之间传输内容,该网络400包括当前使用或者预期未来将使用的通信网络以及与通信网络的组合对应的融合网络。具体地讲,网络400可以包括基于IP的有线/无线通信网络,例如互联网。另外,网络400不仅可包括诸如LTE(长期演进)网络和WCDMA网络的移动通信网络,而且包括诸如Wi-Fi网络的各种无线网络以及与其组合对应的移动网络。在这种情况下,本地缓存装置200可用于减少移动网络中的冗余内容传输和业务。
图2是根据至少一个实施方式的内容缓存服务系统中的本地缓存装置200的分布结构的示意性框图。
如上所述,本地缓存装置200分布在包括有线网络和无线网络中的至少一个的网络400中。
参照图2,网络400包括连接有用户设备100的一个或更多个无线或有线接入网络410和420以及连接无线或有线接入网络410和420的核心网络430。
无线接入网络410是指能够以各种无线通信方式向/从用户设备100发送/接收数据的订户网络,并且可以包括移动通信网络和Wi-Fi网络。有线接入网络420是指以有线方式连接至用户设备100以向/从用户设备100发送/接收数据的订户网络,并且可以包括FTTH。
本地缓存装置200(200a和200b)分布在网络400的边缘节点。具体地讲,本地缓存装置200a和200b连接至与核心网络100的无线/有线接入网络410和420链接的交换机(如,路由器等)431a、431b和431c,并向连接至无线/有线接入网络410和420的用户设备100提供内容缓存服务。
具体地讲,当根据本公开的内容缓存服务被应用于诸如移动通信网络的移动网络时,本地缓存装置200可分布在移动网络中的包括多个基站(例如,收发机站(BTS)、nodeB、eNodeB等)和基站控制器(例如,无线电网络控制器(RNC))的各个无线接入网络中。在这种情况下,本地缓存装置200可连接至与各个无线接入网络连接的移动通信系统的边缘节点(如,交换机),以支持向连接至各个无线接入网络的用户设备的内容传输。
将参照图3和图4描述根据本公开的至少一个实施方式的本地缓存装置200的构造和操作。
图3是根据至少一个实施方式的本地缓存装置200(200a和200b)的构造的框图,图4是根据至少一个实施方式的由本地缓存装置管理的示例性内容地址管理表的示意图。
参照图3,本地缓存装置200包括通信接口210、控制器220和存储单元230。
通信接口210连接至网络400以通过网络400发送/接收数据。根据本公开的至少一个实施方式,通信接口210可连接至用来在至少一个内容提供装置300与至少一个用户设备100之间传输数据的网络400,并通过网络400向/从至少一个内容提供装置300和至少一个用户设备100发送/接收数据。通信接口210包括根据网络400的类型以有线或无线方式处理发送和接收的一个或更多个通信模块。通信接口210还可以彼此进行通信以及与包括(但不限于)蜂窝、Wi-Fi、LAN、WAN、CDMA、WCDMA、GSM、LTE和EPC网络以及云计算网络的各种网络进行通信。
控制器220控制本地缓存装置200的总体缓存服务操作。当通过通信接口210从用户设备100接收到内容请求消息时,控制器220将包括在内容请求消息中的内容地址信息和内容的至少一部分与缓存的内容进行比较,以确定用户设备100所请求的内容是否被缓存在本地缓存装置200中,并且当所述内容被缓存时,控制本地缓存装置200代替内容提供装置300将所缓存的内容发送给用户设备100。
存储单元230存储由至少一个内容提供装置300提供给至少一个用户设备100的内容中的一些或全部内容。
更具体地讲,控制器220通过通信接口210接收从用户设备100发送给内容提供装置300的内容请求消息,检查缓存在存储单元230中的内容是否包括(或匹配)地址信息与包括在内容请求消息中的内容地址信息对应的内容。如果存储单元230中不存在地址信息与内容地址信息对应的内容,则控制器220将内容请求消息发送给内容提供装置300以接收用户设备所请求的内容的至少一部分。控制器220接收响应于内容请求消息从内容提供装置300发送来的内容(即,请求的内容)的至少一部分,检查(或确定)存储单元230中缓存的内容是否包括与从内容提供装置300接收的内容的所述至少一部分对应的内容。
当在第一检查处理或第二检查处理中确定存储单元230中缓存的内容包括用户设备100所请求的内容时,控制器220控制本地缓存装置200代替内容提供装置300将存储单元230中存储的对应内容发送给用户设备100。
另外,当存储单元230中缓存的内容包括与从内容提供装置300接收的内容的至少一部分对应的内容时,本地缓存装置200可以向内容提供装置300发送请求内容提供装置300中断内容的传输的消息,使得内容提供装置300不再发送内容。这里,请求内容传输中断的消息是HTTPRST(重置)消息,选择性地执行内容传输中断请求。
另外,控制器220包括用于管理分别与存储单元230中存储的内容匹配的一个或更多个地址的内容地址管理表221,以便执行上述第一检查处理和第二检查处理。控制器220参照内容地址管理表221来检查存储单元230中缓存的内容是否包括与用户设备100所请求的内容对应的内容。即,控制器220检查存储单元中是否存储有与用户设备100所请求的内容匹配的对应内容。
参照图4,内容地址管理表221包括:第一字段221a,其中记录有用于标识存储单元230中存储的内容的内容标识信息;以及第二字段221b,其中记录有分别与内容标识信息所对应的内容匹配的一个或更多个不同的地址。
通过提取对应内容的至少一部分或对所述内容的至少一部分进行处理(如,散列)来生成内容标识信息。内容标识信息包括对应内容中的具有预定长度(如,128KB、1MB等)的前缀信息、通过利用预定散列函数对所述前缀信息进行处理而获得的散列值以及诸如内容长度的元数据中的至少一个。
控制器220利用内容地址管理表221来确定存储单元230中缓存的内容是否包括与用户设备100所请求的内容对应的内容。即,在第一检查处理中,控制器220在内容地址管理表221中搜索地址信息与包括在从用户设备100发送来的内容请求消息中的内容地址信息对应的内容。在第二检查处理中,控制器220将从内容提供装置300接收到的内容的至少一部分与内容地址管理表221的内容标识信息进行比较,以检查存储单元230中是否存在与用户设备100所请求的内容匹配的对应内容。当散列值被用作内容标识信息时,对从内容提供装置300接收到的内容的至少一部分另外执行散列操作。
另外,当在第二检查处理中,存储单元230中缓存的内容包括与从内容提供装置300接收到的内容的至少一部分对应的内容时,控制器220可将包括在内容请求消息中的内容地址信息添加(或更新)到内容地址管理表221的第二字段221b作为对应内容的新的地址信息(即,另一地址信息)。因此,当生成使用新添加的地址信息的内容请求时,控制器220可仅通过将内容地址信息与缓存的内容的地址信息进行比较的第一检查处理,来从存储单元230提取缓存的内容并将所提取的内容提供给用户设备100。
当在第二检查处理中,存储单元230中缓存的内容不包括与从内容提供装置300接收到的内容的至少一部分对应的内容时,控制器220控制本地缓存装置200将从内容提供装置300接收到的内容发送给用户设备100,同时复制所接收到的内容并将所复制的内容存储在存储单元230中。
另外,控制器220生成关于存储单元230中缓存的内容的内容标识信息,将该内容标识信息新注册在内容地址管理表221的第一字段221a中,将关于缓存的内容的内容地址信息记录在第二字段221b中。以这样的方式新注册的内容标识信息和内容地址信息可用于针对相同的内容提取用户设备100所请求的内容。本地缓存装置200的其它组件(例如,通信接口210和控制器220)由一个或更多个处理器和/或专用集成电路(ASIC)来实现。
将参照图5描述根据本公开的内容缓存服务处理。
图5是根据至少一个实施方式的提供内容缓存服务的方法的流程图。
将假设根据至少一个实施方式的本地缓存装置200在控制器220中包括内容地址管理表221,并通过内容地址管理表221管理与存储单元230中缓存的内容对应的内容标识信息以及一个或更多个内容地址,来参照图5描述内容缓存服务处理。另外,假设用户设备100与内容提供装置300之间发送/接收的所有数据通过本地缓存装置200来分发。为此,使用各种方案。
参照图5,本地缓存装置200接收从用户设备100发送给内容提供装置300的内容请求消息。例如,内容请求消息是HTTPGET消息。当接收到内容请求消息时,本地缓存装置200提取包括在内容请求消息中的内容地址信息(S105)。
本地缓存装置200检查存储单元230中缓存的内容是否包括地址信息与所提取的内容地址信息对应的内容(S110)。即,本地缓存装置200利用所提取的内容地址信息确定存储在存储单元230中并且能够缓存在存储单元230中的所有内容当中,是否存在与用户设备100所请求的内容匹配的相同或等同的内容。这里,使用内容地址管理表221。具体地讲,本地缓存装置200可在内容地址管理表221的第二字段221b中搜索与所提取的内容地址信息对应的地址信息。当内容地址管理表221包括与所提取的内容地址信息对应的地址信息时,本地缓存装置200确定存储单元230中缓存的内容包括地址信息与所提取的内容地址信息对应的内容,即,存储单元230中缓存或存储的所有内容当中存在与地址信息与所提取的内容地址信息对应的、用户设备100所请求的内容匹配的相同或等同的内容。相反,当内容地址管理表221不包括与所提取的内容地址信息对应的地址信息时,可认为存储单元230中存储并能够缓存的多个内容当中不存在与地址信息与所提取的内容地址信息对应的内容(即,用户设备100所请求的内容)匹配的相同或等同的内容。
因此,当确定存储单元230中缓存的所有内容当中不存在与地址信息与所提取的内容地址信息对应的内容匹配的内容时,本地缓存装置200从内容提供装置300接收用户设备100所请求的内容(S115)。该处理以这样的方式执行:本地缓存装置200将所接收到的内容请求消息发送给内容提供装置300,并且在内容提供装置300开始响应于该内容请求消息发送对应的内容时,接收对应的内容(即,用户设备100所请求的内容)。
本地缓存装置200使用从内容提供装置300接收到的内容的至少一部分作为关键字检查存储单元230中缓存的所有内容当中是否存在与从内容提供装置300接收到的内容匹配的对应内容(S125)。这里,内容的至少一部分包括内容的前缀信息、通过利用预定散列函数对所述前缀信息进行处理而获得的散列值以及包括内容长度的元数据中的至少一个。前缀长度是预定的。在本公开的至少一个实施方式中,本地缓存装置200从存储单元230中缓存的所有内容中提取具有预定长度的前缀信息,通过对前缀信息进行散列处理来生成内容标识信息,并且将内容标识信息注册在内容地址管理表221中(步骤S125)。在步骤S125中,本地缓存装置200对包括在从内容提供装置300接收到的内容中的具有预定长度的前缀信息进行散列处理以生成散列值,并检查内容地址管理表221的第一字段221a是否包括与该散列值对应的值。当内容地址管理表221的第一字段221a中存在值与所述散列值相同的内容标识信息时,本地缓存装置200确定存储单元230中缓存有与用户设备100所请求的内容对应的内容。
因此,当在步骤S125中确定存储单元230中缓存的所有内容中的一个内容中包括与从内容提供装置300接收到的内容的至少一部分对应的内容时,本地缓存装置200另外将从内容提供装置300接收到的内容的地址信息记录在内容地址管理表221中,作为与内容的内容标识信息匹配的新的内容地址信息(即,要记录的另一内容地址信息)(S130),并代替内容提供装置将存储单元230中缓存的对应内容发送给用户设备100(S135)。可另选地改变步骤S130和S135。即,将存储单元230中缓存的内容发送给用户设备100的处理与将新的内容地址信息记录在内容地址管理表221中的处理同时执行。或者,将存储单元230中缓存的内容发送给用户设备100的处理先于将新的内容地址信息记录在内容地址管理表221中的处理。
在本公开的至少一个实施方式中,本地缓存装置200向内容提供装置300选择性地发送请求内容提供装置200中断内容传输的消息(图5中未示出)。因此,内容提供装置300不再发送内容。
当在步骤S110中确定存储单元230中缓存的所有内容中存在与地址信息与用户设备100所请求的内容的地址信息对应的内容匹配的对应内容时,本地缓存装置200直接执行步骤S135,以将存储单元230中缓存的对应内容发送给用户设备100。
在步骤S125中在存储单元230中缓存的所有内容中不存在与从内容提供装置300接收到的内容的至少一部分所对应的内容匹配的对应内容的情况下,本地缓存装置200连续地从内容提供装置300接收对应内容并将所接收到的内容分发给用户设备100(S140)。
本地缓存装置200将所接收到的内容缓存在存储单元230中,将利用从内容提供装置300接收到的内容的至少一部分构造的内容标识信息新注册在内容地址管理表221的第一字段221a中,并将所接收到的内容的地址信息记录在与新注册的内容标识信息匹配的第二字段221b中(S145)(与步骤S140同时或者在步骤S140之前或之后)。
如上所述,本公开的各种实施方式适用于针对有线或无线网络的CDN。本公开的各种实施方式通过分布在网络中的本地缓存装置来缓存由内容提供装置提供的内容中的一些或全部内容,并且当用户设备请求与缓存的内容对应的内容时,通过本地缓存装置而不是内容提供装置将缓存的内容提供给用户设备。具体地讲,本公开的各种实施方式仅利用请求的内容的地址信息来检查是否缓存有地址信息与用户设备所请求的内容的地址信息对应的内容,当未缓存所述内容时,请求内容提供装置提供对应内容以接收所述内容的一部分,并基于所接收到的内容检查是否缓存有所述内容,以在确保检查是否存在相同内容所需的时间的同时增加针对不同的地址提供相同的内容时的缓存命中率。
另外,当缓存的内容不包括地址信息与请求的内容的地址信息对应的内容时,本公开基于所述内容重新检查是否缓存有与请求内容对应的内容。因此,可防止具有不同地址的相同内容被冗余地存储,并防止浪费存储空间。另外,通过整合提供相同内容的各种地址并管理所整合的地址,可防止通过各种地址提供的内容的冗余传输。
根据本公开的至少一个实施方式的提供内容缓存服务的方法被实现为程序命令,该程序命令可由各种计算机系统执行并记录在任何非瞬时性介质中,并且写到计算机可读记录介质中。计算机可读记录介质包括单独的或组合的程序、数据文件、数据结构等。写到介质中的程序命令专门为本公开而设计或构造,或者是计算机软件技术人员公知的。计算机可读记录介质的示例包括:磁介质,例如硬盘、软盘和磁带;光学介质,例如CD-ROM和DVD;磁光介质,例如光磁盘;以及专门为存储和执行程序命令而构造的硬件装置,例如ROM、RAM和闪存。程序命令的示例包括可由计算机利用解释器执行的高级语言代码以及通过编译器生成的机器语言代码。硬件装置被构造为作为一个或更多个软件模块操作以实现本公开,反之亦然。在一些实施方式中,本文描述的一个或更多个处理或功能由专门构造的硬件(如,由一个或更多个专用集成电路或ASIC)执行。一些实施方式在单个ASIC中包含一个以上所描述的处理。在一些实施方式中,本文所述的一个或更多个处理或功能由针对执行这些处理或功能而编程的至少一个处理器执行。
已经详细描述了本公开的优选实施方式,以使得本领域技术人员能够实现和实践本公开。尽管已经参照各种实施方式描述了本公开,但是本领域技术人员将理解,在不脱离本公开的主题、精神和范围的情况下,可对本公开进行各种修改和变型。本公开和附图中使用的具体术语是为了示例性目的而使用的,不应被认为是对本公开的限制。
相关申请的交叉引用
本申请要求2012年6月1日在韩国提交的专利申请No.10-2012-0059291的优先权和权益,通过引用将其全部内容并入本文。
Claims (20)
1.一种本地缓存装置,该本地缓存装置包括:
存储单元,其被构造为存储由至少一个内容提供装置提供给至少一个用户设备的一些或全部内容;
通信接口,其被构造为在所述至少一个内容提供装置与所述至少一个用户设备之间发送和接收数据;以及
控制器,其被构造为,
从自所述至少一个用户设备发送来的内容请求消息提取内容地址信息,
检查地址信息与所提取的内容地址信息对应的内容是否被存储在所述存储单元中,
当所述存储单元中未存储所述地址信息与所提取的内容地址信息对应的内容时,请求所述至少一个内容提供装置发送由所述至少一个用户设备请求的内容,
从所述至少一个内容提供装置接收所请求的内容,并且
检查所述存储单元中是否存储有与所接收到的内容的至少一部分对应的内容。
2.根据权利要求1所述的本地缓存装置,其中,所述控制器被构造为通过所述通信接口请求所述至少一个内容提供装置,其中,由所述至少一个用户设备请求的内容是地址信息与包括在从所述至少一个用户设备发送来以接收所述内容的内容请求消息中的内容地址信息对应的内容。
3.根据权利要求1所述的本地缓存装置,其中,所述控制器被构造为包括内容地址管理表,其中,所述内容地址管理表包括:
第一字段,其中记录有利用存储在所述存储单元中的内容的至少一部分生成的内容标识信息,以及
第二字段,其中记录有与所述内容标识信息对应的内容的一个或更多个地址。
4.根据权利要求3所述的本地缓存装置,其中,所述控制器被构造为,
生成关于存储在所述存储单元中的内容的所述内容标识信息,
将所述内容标识信息注册在所述内容地址管理表的所述第一字段中,并且
将关于所存储的内容的一个或更多个内容地址信息记录在所述第二字段中。
5.根据权利要求3所述的本地缓存装置,其中,所述内容标识信息包括具有预定长度的前缀信息、通过利用预定散列函数对所述前缀信息进行处理而生成的散列值以及对应内容的元数据中的至少一个。
6.根据权利要求1所述的本地缓存装置,其中,所述控制器被构造为当所请求的内容被存储在所述存储单元中时,进行控制,以将存储在所述存储单元中的所请求的内容发送给所述至少一个用户设备。
7.根据权利要求3所述的本地缓存装置,其中,所述控制器被构造为当与所接收到的内容的所述至少一部分对应的内容被存储在所述存储单元中时,将所述至少一个用户设备所请求的内容的内容地址信息添加到所述内容地址管理表,作为所述内容的另一地址。
8.根据权利要求1所述的本地缓存装置,其中,所述控制器被构造为当与所接收到的内容的所述至少一部分对应的内容未被存储在所述存储单元中时,在将所接收到的内容存储在所述存储单元中的同时或之前,将从所述内容提供装置接收到的内容发送给所述至少一个用户设备。
9.根据权利要求1所述的本地缓存装置,其中,所述控制器被构造为当所请求的内容被存储在所述存储单元中时,向所述内容提供装置发送请求所述内容提供装置中断内容传输的消息。
10.根据权利要求1所述的本地缓存装置,其中,所述控制器被构造为在从所述至少一个用户设备接收到内容请求消息时,
从所述内容请求消息提取内容地址信息,
将所提取的内容地址信息或从所述内容提供装置接收到的内容的至少一部分与存储在所述存储单元中的内容进行比较,并且
确定是否存储有由所述至少一个用户设备请求的内容。
11.根据权利要求3所述的本地缓存装置,其中,所述控制器被构造为,通过在所述内容地址管理表中搜索地址与所述内容标识信息对应的内容来检查所请求的内容是否被存储在所述存储单元中。
12.根据权利要求3所述的本地缓存装置,其中,所述控制器被构造为,将从所述至少一个内容提供装置接收到的内容的至少一部分与所述内容地址管理表的所述内容标识信息进行比较,以检查与所接收到的内容的所述至少一部分对应的内容是否被存储在所述存储单元中。
13.一种用于提供内容缓存服务的方法,该方法由本地缓存装置执行,并包括以下步骤:
从自用户设备发送来的内容请求消息提取内容地址信息;
检查地址信息与所提取的内容地址信息对应的内容是否被存储在所述本地缓存装置中;
当地址信息与所提取的内容地址信息对应的内容未被存储在所述本地缓存装置中时,请求内容提供装置提供所述内容;以及
检查存储在所述本地缓存装置中的内容是否与从所述内容提供装置接收到的内容的至少一部分对应。
14.根据权利要求13所述的方法,该方法还包括以下步骤:
参照内容地址管理表检查地址信息与所提取的内容地址信息对应的内容是否被存储在所述本地缓存装置中,其中,所述内容地址管理表包括:
第一字段,其中记录有利用所存储的内容的至少一部分生成的内容标识信息,以及
第二字段,其中记录有与所述内容标识信息匹配的内容的一个或更多个地址。
15.根据权利要求13所述的方法,该方法还包括以下步骤:
参照内容地址管理表检查与从所述内容提供装置接收到的内容的所述至少一部分对应的内容是否被存储在所述本地缓存装置中,其中,所述内容地址管理表包括:
第一字段,其中记录有利用所存储的内容的至少一部分生成的内容标识信息,以及
第二字段,其中记录有与所述内容标识信息匹配的内容所对应的一个或更多个内容地址。
16.根据权利要求13所述的方法,该方法还包括以下步骤:
当与所接收到的内容的所述至少一部分对应的内容被存储在所述本地缓存装置中时,存储所提取的内容地址信息作为所接收到的内容的另一地址。
17.根据权利要求13所述的方法,该方法还包括以下步骤:当与所接收到的内容的所述至少一部分对应的内容未被存储在所述本地缓存装置中时,
将从所述内容提供装置接收到的内容分发给所述用户设备;以及
存储所接收到的内容。
18.根据权利要求13所述的方法,该方法还包括以下步骤:
当与所接收到的内容的所述至少一部分对应的内容被存储在所述本地缓存装置中时,请求所述内容提供装置中断内容传输。
19.根据权利要求13所述的方法,该方法还包括以下步骤:
当存储在所述本地缓存装置中的内容与所接收到的内容的所述至少一部分对应时,将所接收到的内容发送给所述用户设备。
20.一种用于提供内容缓存服务的系统,该系统包括:
至少一个内容提供装置,其被构造为当接收到发送内容的请求时,发送由至少一个用户设备请求的内容;以及
本地缓存装置,其被构造为
存储由至少一个内容提供装置提供给至少一个用户设备的一些或全部内容,
在所述至少一个内容提供装置与所述至少一个用户设备之间发送和接收数据,
从自所述至少一个用户设备发送来的内容请求消息提取内容地址信息,
检查地址信息与所提取的内容地址信息对应的内容是否被存储在所述本地缓存装置中,
当所述本地缓存装置中未存储地址信息与所提取的内容地址信息对应的内容时,请求所述至少一个内容提供装置发送由所述至少一个用户设备请求的内容,
从所述至少一个内容提供装置接收所请求的内容,并且
检查所述本地缓存装置中是否存储有与所接收到的内容的至少一部分对应的内容。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2012-0059291 | 2012-06-01 | ||
KR1020120059291A KR101436049B1 (ko) | 2012-06-01 | 2012-06-01 | 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103455439A CN103455439A (zh) | 2013-12-18 |
CN103455439B true CN103455439B (zh) | 2016-06-22 |
Family
ID=49671675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310195067.0A Active CN103455439B (zh) | 2012-06-01 | 2013-05-21 | 本地缓存装置以及用于提供内容缓存服务的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9386099B2 (zh) |
KR (1) | KR101436049B1 (zh) |
CN (1) | CN103455439B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6302597B2 (ja) * | 2014-04-18 | 2018-03-28 | エスケーテレコム カンパニー リミテッドSk Telecom Co., Ltd. | リアルタイム放送コンテンツ伝送方法及びそのための装置 |
CN104461943B (zh) * | 2014-12-29 | 2017-10-27 | 成都致云科技有限公司 | 数据读取方法、装置以及系统 |
CN106170967B (zh) * | 2014-12-30 | 2019-10-18 | 华为技术有限公司 | 一种媒体资源传输设备及方法 |
KR102169717B1 (ko) * | 2015-03-17 | 2020-10-23 | 에스케이텔레콤 주식회사 | 컨텐츠 캐싱 방법 및 이를 위한 캐시 장치 |
CN106155925A (zh) * | 2015-04-09 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种获取数据的方法及装置 |
CN106488504B (zh) * | 2015-08-28 | 2019-12-24 | 华为技术有限公司 | 网络系统和网络通信的方法 |
KR101969869B1 (ko) | 2017-07-31 | 2019-04-17 | 경상대학교 산학협력단 | 개인형 캐싱 네트워크 시스템 및 개인형 캐싱 서비스 제공 방법 |
US11615254B2 (en) * | 2019-11-19 | 2023-03-28 | International Business Machines Corporation | Content sharing using address generation |
KR102249697B1 (ko) * | 2019-11-25 | 2021-05-11 | 동국대학교 산학협력단 | 복합적인 네트워크 환경 하에서 컨텐츠 전송 네트워크 및 엣지 컴퓨팅 기법을 이용한 통신 시스템 및 방법 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3707854B2 (ja) * | 1996-03-01 | 2005-10-19 | 株式会社東芝 | キャッシュ機能を有するコンピュータ及びキャッシュメモリ制御方法 |
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 |
JP2004070860A (ja) * | 2002-08-09 | 2004-03-04 | Hitachi Ltd | ストリームコンテンツ配送システムおよびプロキシサーバ |
JP3953950B2 (ja) * | 2002-12-20 | 2007-08-08 | 富士通株式会社 | ローカルアドレスを用いたサーバシステム |
US7624126B2 (en) * | 2003-06-25 | 2009-11-24 | Microsoft Corporation | Registering for and retrieving database table change information that can be used to invalidate cache entries |
EP1872270A1 (en) * | 2005-04-22 | 2008-01-02 | Thomson Licensing | Network caching for hierarchical content |
JP2007066161A (ja) * | 2005-09-01 | 2007-03-15 | Hitachi Ltd | キャッシュシステム |
KR101301004B1 (ko) * | 2008-11-25 | 2013-08-29 | 에스케이플래닛 주식회사 | 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법 |
KR101169041B1 (ko) * | 2009-08-03 | 2012-07-26 | (주)에임투지 | 캐시서버 및 멀티미디어 컨텐츠 제공 방법 |
JP5336403B2 (ja) * | 2010-02-24 | 2013-11-06 | 富士通株式会社 | ノード装置およびコンピュータプログラム |
US8429169B2 (en) * | 2010-07-30 | 2013-04-23 | Bytemobile, Inc. | Systems and methods for video cache indexing |
US8645702B2 (en) * | 2010-12-28 | 2014-02-04 | Futurewei Technologies, Inc. | Method and apparatus to use identity information for digital signing and encrypting content integrity and authenticity in content oriented networks |
EP2659401B1 (en) * | 2010-12-30 | 2019-06-26 | Peerapp, Ltd. | Methods and systems for caching data communications over computer networks |
US8892680B2 (en) * | 2011-01-25 | 2014-11-18 | Openwave Mobility, Inc. | System and method for caching content elements with dynamic URLs |
KR101904482B1 (ko) * | 2011-12-26 | 2018-10-08 | 에스케이텔레콤 주식회사 | 콘텐트 전송 시스템, 그 시스템에서의 네트워크 중복 전송 트래픽 최적화 방법, 중앙 제어 장치 및 로컬 캐싱 장치 |
-
2012
- 2012-06-01 KR KR1020120059291A patent/KR101436049B1/ko active IP Right Grant
-
2013
- 2013-05-21 CN CN201310195067.0A patent/CN103455439B/zh active Active
- 2013-05-28 US US13/903,245 patent/US9386099B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN103455439A (zh) | 2013-12-18 |
KR20130135585A (ko) | 2013-12-11 |
KR101436049B1 (ko) | 2014-09-01 |
US20130326026A1 (en) | 2013-12-05 |
US9386099B2 (en) | 2016-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103455439B (zh) | 本地缓存装置以及用于提供内容缓存服务的系统和方法 | |
US10798203B2 (en) | Method and apparatus for reducing network resource transmission size using delta compression | |
KR101330052B1 (ko) | 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 | |
US11044335B2 (en) | Method and apparatus for reducing network resource transmission size using delta compression | |
US10033818B2 (en) | Using listen ranges to deliver content to electronic devices from local caching servers | |
US9430441B2 (en) | Methods, circuits, devices, systems and associated computer executable code for distributed content caching and delivery | |
US20140082135A1 (en) | Apparatus and method for providing content, and system for providing content with the said apparatus | |
US20120096116A1 (en) | Content distribution network using a web browser and locally stored content to directly exchange content between users | |
KR20130088774A (ko) | 분할 콘텐트 전달 시스템 및 방법 | |
US20150201033A1 (en) | Content specific router caching | |
JP6601784B2 (ja) | 情報指向ネットワークにおいてコンテキスト認識型コンテンツ要求をサポートするための方法、ネットワークコンポーネント、およびプログラム | |
CN110493350A (zh) | 文件上传方法和装置、电子设备和计算机可读介质 | |
CN102739717A (zh) | 下载方法、下载代理服务器和网络系统 | |
CN108134811B (zh) | 目标文件分发或下载的方法、装置和系统 | |
CN109873855A (zh) | 一种基于区块链网络的资源获取方法和系统 | |
CN106657039B (zh) | Portal页面获取方法、无线AP及Portal服务器 | |
KR20150011087A (ko) | 컨텐츠 전송 서비스를 위한 분산 캐싱 관리 방법 및 이를 위한 중앙 관리 장치 | |
KR101888982B1 (ko) | 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 | |
KR101971595B1 (ko) | 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 | |
KR20190012953A (ko) | 개인형 캐싱 네트워크 시스템 및 개인형 캐싱 서비스 제공 방법 | |
KR101565137B1 (ko) | 무선 스트리밍 서비스 제공 방법 및 장치 | |
KR101272693B1 (ko) | 웹가속 시스템에서의 웹가속 방법 | |
JP2008293281A (ja) | キャッシュ装置、サーバ、キャッシュシステム、キャッシュ方法、及びプログラム | |
KR20150010415A (ko) | 분산 캐싱을 위한 컨텐츠 전송 서비스 방법 및 중계 장치 |
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 |