WO2012072049A1 - 协作缓存的方法和装置 - Google Patents

协作缓存的方法和装置 Download PDF

Info

Publication number
WO2012072049A1
WO2012072049A1 PCT/CN2011/083464 CN2011083464W WO2012072049A1 WO 2012072049 A1 WO2012072049 A1 WO 2012072049A1 CN 2011083464 W CN2011083464 W CN 2011083464W WO 2012072049 A1 WO2012072049 A1 WO 2012072049A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
video
replaced
local
cached
Prior art date
Application number
PCT/CN2011/083464
Other languages
English (en)
French (fr)
Inventor
张洪波
施广宇
严哲峰
陈双幸
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to ES11844014.8T priority Critical patent/ES2573797T3/es
Priority to EP11844014.8A priority patent/EP2640034B1/en
Publication of WO2012072049A1 publication Critical patent/WO2012072049A1/zh
Priority to US13/907,503 priority patent/US9532083B2/en

Links

Classifications

    • 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
    • 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
    • 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
    • H04N21/2225Local VOD servers
    • 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/23116Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving data replication, e.g. over plural servers
    • 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/237Communication with additional data server
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests

Definitions

  • the present invention relates to the field of network technologies, and in particular, to a method and apparatus for cooperative caching. Background technique
  • VOD Video-on-Demand
  • central servers that store all video segments of interest to the user, and some local servers with limited storage capacity are deployed in the central server.
  • these local servers are closer to the user side and can respond to user requests in a timely manner.
  • the user When a user requests a video fragment, the user first requests the content from the local server at the location where it is located. (a) If there is content on the local server that the user needs, the local server directly responds to the user's request, which is referred to herein. For local hits; (b) If there is no content on the local server that the user needs, the local server will direct the user's request to another local server or central server that holds the content, and the server will provide the content to the user. , here is called local miss.
  • the local server Because the local server has limited storage capacity, it can only cache some video fragments. When the local server's caching strategy is poor, it will cause a large number of local misses, so that users need to obtain the required video fragments from other local servers or central servers. This will generate a lot of network traffic, which will not only increase the end-to-end delay between the server and the user, but also cause network congestion. Specifically, as shown in FIG. 1, the arrow in FIG. 1 represents the flow of the current request data, and the data on the arrow represents the overlay network path label. In Figure 1, the users under server 3 need to obtain video fragments from server 2 due to local misses, which will generate traffic on network paths 1 and 2 as shown in Figure 1, resulting in additional network traffic. When a large number of local misses occur, a large amount of network traffic is generated.
  • the problem of increasing the end-to-end delay between the server and the user and causing congestion of the network due to a large amount of local traffic on the local server is caused by increasing the storage capacity of the local server.
  • the server is able to cache more video fragments. Thereby, network expansion is achieved, and the local miss rate on the local server is reduced.
  • Embodiments of the present invention provide a method and apparatus for cooperative caching to improve a local hit rate on a cornerstone that does not increase the cost of a local server.
  • An embodiment of the present invention provides a method for cooperative caching, including: synthesizing cached video fragments according to cache information in a cache table, end-to-end delay between a local server and a neighbor server, and popularity of video fragments.
  • the cache information includes a video fragment identification number and server information for storing the video fragment, the server information including a server identification number;
  • An embodiment of the present invention further provides an apparatus for cooperative caching, including:
  • a calculating unit configured to obtain, according to the cache information in the cache table, the end-to-end delay between the local server and the neighbor server, and the popularity of the video fragment, the comprehensive revenue value of the cached video segment and the video segment to be replaced a comprehensive revenue value in the local server, where the cache information includes a video fragment identification number and server information for storing the video fragment, and the server information includes a server identification number;
  • the replacement video slice is replaced with the cached video slice.
  • the method and apparatus for cooperative caching determines that the comprehensive revenue value of the cached video segment and the video segment to be replaced are obtained according to the cache information, the end-to-end delay, and the popularity. Whether the comprehensive revenue value in the local server meets the replacement condition, determines whether the video fragment to be replaced needs to replace the cached video fragment, and the comprehensive revenue value of the cached video fragment And when the comprehensive revenue value of the to-be-replaced video segment in the local server meets the replacement condition, replacing the to-be-replaced video slice with the cached video slice enables the local to be increased without increasing the local server cost. The user's local hit rate.
  • FIG. 2 is a flowchart of a method for cooperative caching provided by an embodiment of the present invention
  • FIG. 3 is a flowchart 1 of a method for cooperative caching provided by another embodiment of the present invention.
  • step 301 is a flow chart of step 301 in the method for cooperative caching shown in FIG. 3;
  • step 303 is a flowchart 1 of step 303 in the method for cooperative caching shown in FIG. 3;
  • step 303 is a second flowchart of step 303 in the method for cooperative caching shown in FIG. 3;
  • FIG. 7 is a second flowchart of a method for cooperative caching according to another embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram 1 of an apparatus for cooperative caching according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic structural diagram 1 of a replacement unit in the apparatus for cooperative caching shown in FIG. 8;
  • FIG. 10 is a second schematic structural diagram of a replacement unit in the apparatus for cooperative caching shown in FIG. 8.
  • FIG. 11 is a collaboration diagram of an embodiment of the present invention.
  • FIG. 12 is a schematic structural diagram of a creating unit in the device of the cooperative cache shown in FIG. 11;
  • FIG. 13 is a structure of a third acquiring subunit of the creating unit in the device of the cooperative cache shown in FIG. Schematic diagram
  • FIG. 14 is a schematic structural diagram 3 of an apparatus for cooperative caching according to an embodiment of the present invention. detailed description
  • embodiments of the present invention provide a method and apparatus for cooperative caching.
  • the method for collaborative caching includes:
  • Step 201 According to the cache information in the cache table, the end-to-end delay between the local server and the neighbor server, and the popularity of the video fragment, the comprehensive revenue value of the cached video fragment and the video fragment to be replaced are in the local server.
  • the cache table includes cache information, an end-to-end delay between the local server and the neighbor server, and a popularity of the video fragment, where the cache information includes a video fragment identification number and stores the Server information of the video fragment, the server information including a server identification number.
  • Step 202 Replace the video clip to be replaced with the cached video when the comprehensive revenue value of the cached video segment and the comprehensive revenue value of the to-be-replaced video segment in the local server meet the replacement condition. Fragmentation.
  • the replacement condition may be that the comprehensive revenue value of the video segment to be replaced is greater than the comprehensive revenue value of the cached video segment, and preferably, may be the video segment to be replaced.
  • the composite revenue value is added to the combined revenue value of the cached video segment by more than a preset threshold.
  • the replacement condition is not limited to the above two types, and is not described here.
  • the method for cooperative caching determines that the comprehensive revenue value of the cached video segment and the video segment to be replaced are obtained on the local server according to the cache information, the end-to-end delay, and the popularity. Whether the comprehensive revenue value in the replacement condition determines whether the video fragment to be replaced needs to replace the cached video fragment, the comprehensive revenue value of the cached video fragment and the integration of the to-be-replaced video fragment in the local server When the revenue value meets the replacement condition, replacing the video clip to be replaced with the cached video slice enables the local user's local hit rate to be increased without increasing the cost of the local server.
  • a method for collaborative caching provided by another embodiment of the present invention includes: Step 301: Create a cache table.
  • the step 301 includes:
  • Step 401 Obtain the cache information of the local server and the cache information of the neighbor server, and save the cache information of the local server and the cache information of the neighbor server in the form of server information corresponding to the video fragment identification number corresponding to the video fragment. Cache information.
  • the system when the system starts to start, the system includes a local server and a local The server's neighbor server, the local server first creates a cache table containing the cache information of the local server, and then finds the neighbor server through some common neighbor server search methods, such as: Using a distributed hash table (Distributed Hash Table) , DHT) method search, use the central server for searching or use the central server to find the peer-to-peer (P2P).
  • DHT distributed Hash Table
  • P2P peer-to-peer
  • the local server sends a request for the cache information to the neighbor server to obtain the cache information of the neighbor server and save the obtained cache information to the cache table.
  • the local server when the local server saves the cache information saved according to the cache information of the local server and the cache information of the neighbor server, when the local server exchanges information with the neighbor server, the local server can obtain the neighbor server.
  • the cache information of the neighbor server, and the neighbor server can obtain the information of the neighbor server of the local server.
  • Step 402 Obtain an end-to-end delay between the local server and the neighbor server through the network tool.
  • the step 402 is specifically: obtaining a PING value between the local server and the neighbor server by using the network tool PING.
  • the PING value is used to represent the end-to-end delay between the local server and the neighbor server.
  • the network tool is not limited to the network tool PING, but also has other network tools, such as Traceroute.
  • Step 403 Obtain the popularity of each video segment according to the statistics of the user behavior in a period of time.
  • Each server in the system has a large number of user requests.
  • the popularity of each video segment can be obtained by counting the user behavior over a period of time. The high popularity indicates that the probability that the user requests the video segmentation is greater.
  • the method for calculating the popularity of the video segment includes, but is not limited to, dividing the total number of accesses of each video segment on a certain server by the certain number of times.
  • the total number of accesses on the server is the popularity of each video segment on the server. It is worth noting that the popularity of each video segment is measured by a server, and its accuracy is not high. Further, the total number of accesses of each video segment on the collaboration area or the entire network server is divided by the total number of accesses in the collaboration area or the entire network server to obtain the popularity of each video segment.
  • the collaboration area can be obtained according to the network topology or the geographic area where the server is located.
  • the collaboration area may also be divided according to a preset division rule, which is not described here.
  • the method for calculating the popularity of the video segmentation can also be obtained by using a Zipf distribution method.
  • Step 404 Create a cache table according to the cache information saved in the form of the video fragment identification number corresponding to the server information storing the video fragment, the end-to-end delay, and the popularity of each video fragment.
  • the cache table can be shown in Table 1.
  • Table 1 The cache table created on local server A Video slice identification number Server information Popularity End-to-end delay Server A
  • the popularity statistics are in units of servers.
  • the popularity may also be performed in units of a collaboration area.
  • the end-to-end delay in Table 1 is the end-to-end delay between the local server and its neighbor servers, and can be represented by the PING value.
  • the server information includes not only the server identification number but also the utility value.
  • the utility value is that when the local server receives the video fragmentation request of the local user, the local server acquires the possibility of the video fragment saved in the server corresponding to the server identification number, and the utility value is larger, the local The greater the likelihood that the server obtains the video fragments saved in the server corresponding to the server identification number.
  • the utility value is the local server to the neighbor server that holds the video fragment requested by the local user.
  • a utility value is also saved, denoted as U ijk .
  • d ijk denote the delay that occurs when server i accesses video fragment j in server k.
  • the utility value is defined as a function of the access delay:
  • d ⁇ d(i, k), representing the end-to-end delay from server k to server i, this value can be obtained by PING between server i and server k.
  • Step 302 Obtain a comprehensive revenue value of the cached video segment and a comprehensive revenue value of the video segment to be replaced in the local server according to the cache information, the end-to-end delay, and the popularity.
  • the server i is a local server
  • the video fragment j is cached in the server i.
  • the video fragment j is a cached video fragment, and there is a video fragment t.
  • the following analysis is performed in four cases: (1) When the server i caches the video fragment j, the local user can obtain the video fragment j on the server i, so the average delay is 0.
  • the local delay from the server i to the local user is ignored.
  • users who request video fragment j to the neighbor server k of server i they may request video fragment j from server k through server k (ie, i E kj , E hj indicates the cache list of server k)
  • a set of servers holding video fragments j) may also request video fragments j from other neighbor servers of neighbor server k. Let the average delay of the video fragment j of the user at the neighbor server k be
  • V kjl slow 3 ⁇ 4/ and no cache
  • the end-to-end delay to server k this value can be obtained by PING between server k and server i.
  • the weighted average delay of the video fragment j obtained by all users at the neighbor server k that require the video fragment j is .
  • the server i caches the video fragment t (ie, the video fragment t replaces the video fragment j), for those users requesting the video fragment t from the server i, they can obtain the video fragment locally. t, so the average delay is zero.
  • the average delay is zero.
  • Video sharding t server collection It is also possible to request the video fragment t from the other neighbor servers of the server k.
  • all the users of the video fragment t at the server k obtain the weighted average delay of the video fragment t as ⁇ , and the implementation of the average delay here is The average delay of the video fragment j is the same, and is not described here.
  • Table 2 shows the weighted average delay for the local users of server i and their neighbor servers to obtain video fragments j and t, respectively, in the above four cases.
  • the server i replaces the video fragment j with the video fragment t, it is assumed that the replacement brings the benefit to the server k (ie, the reduced average delay) with ⁇ 3 ⁇ 4 ⁇ ( ' , 0 means, then Then, for the local area where the server i is the center, the server i replaces the video fragment j with the video fragment t, and the comprehensive revenue value of the video fragment is the sum of the neighbor server revenue value and the user income value.
  • the popularity of the cached video fragment j on the neighbor server k The popularity of the cached video fragment j on the neighbor server k;
  • 3 ⁇ 4 is the average delay of the cached video segmentation j for the server k
  • the server k obtains the average delay of the cached video segment j after the cached video j is replaced by the video segment t to be replaced;
  • ⁇ ' ⁇ represents the revenue value of the neighbor server k, and the server k requests the revenue value of the cached video fragment j when the cached video fragment j of the local server i is replaced;
  • 3 ⁇ 4 is the local server i obtains the average delay of the cached video segment j after the cached video j is replaced by the video segment t to be replaced;
  • 0 - ⁇ fi indicates the user's revenue value, the cached video fragment of the local user on the local server i When replaced, request the revenue value of the cached video fragment j;
  • the composite revenue value of video segmentation t is the weighted sum of the neighbor server revenue value and the user revenue value, overnight , eiiA , D k [ t - ⁇ ) + ( ⁇ 3 ⁇ 4 - ⁇ )
  • ⁇ ⁇ is the popularity of the video slice t to be replaced on the neighbor server k
  • d kt is the average delay of the video slice t to be replaced by the server k
  • the average delay of the video segment t to be replaced is obtained after the cached video j is replaced by the video segment t to be replaced;
  • a t represents the neighbor server revenue value
  • the server k requests the revenue value of the video fragment t to be replaced when the cached video fragment j of the local server i is replaced with the video fragment t to be replaced;
  • d it - 0 represents the user income value
  • the local user requests the revenue value of the cached video segment t when the cached video segment j of the local server i is replaced with the video segment t to be replaced;
  • Step 303 Replace the video clip to be replaced with the cached video when the comprehensive revenue value of the cached video segment and the comprehensive revenue value of the to-be-replaced video segment in the local server meet the replacement condition. Fragmentation.
  • the step 303 includes:
  • Step 501 Determine whether a comprehensive income value of the video segment to be replaced is greater than a comprehensive revenue value of the cached video segment.
  • Step 502 When the comprehensive revenue value of the video segment to be replaced is greater than the comprehensive revenue value of the cached video segment, the replacement condition is met, and the video segment to be replaced is replaced with the cached video segment.
  • the step 303 includes:
  • Step 601 Determine whether the combined income value of the video segment to be replaced and the comprehensive revenue value of the cached video segment are greater than a preset threshold.
  • the preset threshold may be " , preferably , "> 1 . If the neighbor server set of the server i is N t , the local area of the server i will include the server i itself and its All neighbor servers. Therefore, the average access delay of the local area A can be expressed as, where 1 3 ⁇ 4 represents all users generated by the server k service.
  • Step 602 When the comprehensive revenue value of the video segment to be replaced and the comprehensive revenue value of the cached video segment are added to a threshold greater than a preset threshold, the replacement condition is met, and the video segment to be replaced is replaced.
  • the cached video fragments are described.
  • the method for assisting the cache as shown in FIG. 7, after the step 301, further includes:
  • Step 701 Update cache information in the cache table, end-to-end delay between the local server and the neighbor server, and popularity of the video fragment.
  • the update of the cache information may be performed by periodically acquiring the cache information of the local server and the cache information of the neighbor server; the end-to-end delay between the local server and the neighbor server may be periodically obtained by using a network tool; The degree can also be selected periodically to select user behavior for a period of time for statistics.
  • the update of the cache information may also trigger an update action by using a preset update condition.
  • the cache table reaches the trigger condition, the cache table is updated.
  • the manner of updating the cache table is not limited to the foregoing manner. , no longer here - repeat.
  • the method for cooperative caching determines that the comprehensive revenue value of the cached video segment and the video segment to be replaced are obtained on the local server according to the cache information, the end-to-end delay, and the popularity. Whether the comprehensive revenue value in the replacement condition determines whether the video fragment to be replaced needs to replace the cached video fragment, the comprehensive revenue value of the cached video fragment and the integration of the to-be-replaced video fragment in the local server When the revenue value meets the replacement condition, replacing the video clip to be replaced with the cached video slice enables the local user's local hit rate to be increased without increasing the cost of the local server.
  • the apparatus for collaborative cache provided by the embodiment of the present invention includes:
  • the calculating unit 801 is configured to obtain, according to the cache information in the cache table, the end-to-end delay between the local server and the neighbor server, and the popularity of the video fragment, the comprehensive revenue value of the cached video segment and the video to be replaced.
  • the integrated revenue value of the fragment in the local server, the cache information includes a video fragment identification number and server information for storing the video fragment, and the server information includes a server identification number;
  • the description of step 201 is not repeated here.
  • a replacement unit 802 configured to calculate, by using the calculation unit, the integrated video segmentation And the benefit value and the calculated video unit of the to-be-replaced video segment in the local server meet the replacement condition, and replace the video segment to be replaced with the cached video segment.
  • a replacement unit 802 configured to calculate, by using the calculation unit, the integrated video segmentation And the benefit value and the calculated video unit of the to-be-replaced video segment in the local server meet the replacement condition, and replace the video segment to be replaced with the cached video segment.
  • the replacing unit includes:
  • the first determining sub-unit 901 is configured to determine whether the comprehensive income value of the video segment to be replaced calculated by the computing unit is greater than the comprehensive revenue value of the cached video segment obtained by the computing unit; The description is performed in step 501 shown in FIG. 5, and details are not described herein again.
  • the first replacement sub-unit 902 is configured to slice the to-be-replaced video when the first determining sub-unit determines that the comprehensive revenue value of the video segment to be replaced is greater than the comprehensive revenue value of the cached video segment. Replace the cached video shard. For the specific implementation, refer to step 502 shown in Figure 5, and details are not described herein.
  • the replacing unit includes:
  • the second judging subunit 1001 is configured to determine whether the comprehensive income value of the video segment to be replaced calculated by the calculating unit and the comprehensive income value of the cached video segment calculated by the calculating unit are greater than a preset value. For the specific implementation method, refer to step 601 shown in FIG. 6 , and details are not described herein again.
  • the second replacement subunit 1002 when the second determining subunit determines that the comprehensive revenue value of the video segment to be replaced is added to the comprehensive income value of the cached video segment by more than a preset threshold, The video clip to be replaced replaces the cached video slice.
  • the video clip to be replaced replaces the cached video slice.
  • the apparatus for assisting the cache further includes:
  • the creating unit 1101 is configured to create a cache table, where the cache table includes cache information, an end-to-end delay between the local server and the neighbor server, and a popularity of the video fragment.
  • the description of step 301 shown in FIG. 3 is not repeated here.
  • the creating unit includes:
  • the first obtaining sub-unit 1201 is configured to obtain cache information of the local server, cache information of the neighbor server, and use the cache information of the local server and the cache information of the neighbor server to segment the video and store the server information of the video fragment.
  • the form is saved as the cached information.
  • the second obtaining sub-unit 1202 is configured to obtain the end-to-end delay between the local server and the neighboring server by using the network tool.
  • the second acquiring sub-unit includes: a first acquiring module, configured to: Obtain the end-to-end delay between the local server and the neighbor server through the network tool PING.
  • a first acquiring module configured to: Obtain the end-to-end delay between the local server and the neighbor server through the network tool PING.
  • the third obtaining sub-unit 1203 is configured to obtain the popularity of each video fragment according to the statistics of the user behavior in a period of time;
  • the third acquiring subunit includes:
  • the statistics module 1301 is configured to separately divide the total number of accesses of each video segment on the collaboration area or the entire network server by the total number of accesses on the collaboration area or the entire network server to obtain the popularity of each video segment. degree.
  • the second obtaining module 1302 is configured to obtain the popularity of each video segment obtained by the statistics module.
  • the creating sub-unit 1204 is configured to save, as the cache information, the end-to-end delay obtained by the second acquiring unit, in the form of the video fragment and the server information storing the video fragment acquired by the first acquiring unit, and The popularity of each video segment obtained by the third obtaining sub-unit creates a cache table.
  • step 404 shown in FIG. 4 and details are not described herein again.
  • the device for assisting the cache further includes:
  • the updating unit 1401 is configured to update the cache information in the cache table created by the creating unit, the end-to-end delay between the local server and the neighbor server, and the popularity of the video fragment. For the specific implementation, refer to step 701 shown in Figure 7, and details are not described herein.
  • the apparatus for cooperative caching provided by the embodiment of the present invention determines that the comprehensive revenue value of the cached video fragment and the video fragment to be replaced are obtained on the local server according to the cache information, the end-to-end delay, and the popularity.
  • the comprehensive revenue value in the replacement condition determines whether the video fragment to be replaced needs to replace the cached video fragment, the comprehensive revenue value of the cached video fragment and the integration of the to-be-replaced video fragment in the local server
  • replacing the video clip to be replaced with the cached video slice enables the local user's local hit rate to be increased without increasing the cost of the local server.
  • the method and apparatus for cooperative caching provided by the embodiments of the present invention can be applied to various network topologies such as a tree topology and a full connectivity topology.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Description

协作緩存的方法和装置
技术领域
本发明涉及网络技术领域, 尤其涉及一种协作緩存的方法和装置。 背景技术
在一个视频点播( Video-on-Demand, VoD ) 系统中, 通常有一个或者多 个中心服务器存储了用户感兴趣的所有视频分片, 此外还有一些具有有限存 储容量的本地服务器部署在中心服务器的周围。 相比中心服务器, 这些本地 服务器更靠近用户侧, 可以及时响应用户的请求。 当用户请求某个视频分片 时, 用户首先向其所在位置的本地服务器请求该内容, (a )如果本地服务器 上有用户所需要的内容, 则本地服务器直接响应用户的请求, 此处称之为本 地命中; (b )如果本地服务器上没有用户所需要的内容, 则本地服务器会将 用户的请求引导到保存了该内容的其它的本地服务器或者中心服务器上, 并 由那个服务器向用户提供内容, 此处称之为本地不命中。
由于本地服务器存储容量有限, 因此它仅能緩存部分视频分片。 在各个 本地服务器的緩存策略不佳时, 会导致大量的本地不命中, 使得用户需要从 其他本地服务器或者中心服务器上获得所需的视频分片。 这样会产生大量的 网络流量, 不但会导致服务器与用户之间的端到端时延增加, 而且会导致网 络的拥塞。 具体的, 如图 1所示, 图 1 中箭头代表当前请求数据的流向, 箭 头上面的数据表示叠加网络路径标号。 在图 1 中, 服务器 3下的用户由于本 地不命中而需从服务器 2处获得视频分片, 这样会在图 1所示的网络路径 1 和 2上产生流量, 从而产生额外的网络流量, 在出现大量的本地不命中时, 就会产生大量的网络流量。
现有技术中解决由于本地服务器上大量本地不命中产生大量的网络流 量, 导致服务器与用户之间的端到端时延增加并导致网络的拥塞的问题主要 通过增加本地服务器的存储容量, 使得本地服务器能够緩存更多的视频分片, 从而实现了网络扩容, 降低了本地服务器上的本地不命中率。
但在不增加本地服务器成本的基础上如何提高本地命中率是一个急需解 决的问题。 发明内容
本发明实施例提供一种协作緩存的方法和装置, 以实现在不增加本地服 务器成本的基石出上提高本地命中率。 本发明实施例提供一种协作緩存的方法, 包括: 根据緩存表中的緩存信 息、 本地服务器与邻居服务器之间的端到端时延和视频分片的流行度得到已 緩存视频分片的综合收益值以及待替换视频分片在本地服务器中的综合收益 值, 所述緩存信息包括视频分片标识号以及存储该视频分片的服务器信息, 所述服务器信息包括服务器标识号; 在所述已緩存视频分片的综合收益值和 所述待替换视频分片在本地服务器中的综合收益值符合替换条件时 , 将所述 待替换视频分片替换所述已緩存视频分片。
本发明实施例还提供一种协作緩存的装置, 包括:
计算单元, 用于根据緩存表中的緩存信息、 本地服务器与邻居服务器之 间的端到端时延和视频分片的流行度得到已緩存视频分片的综合收益值以及 待替换视频分片在本地服务器中的综合收益值, 所述緩存信息包括视频分片 标识号以及存储该视频分片的服务器信息, 所述服务器信息包括服务器标识 号;
替换单元, 在所述计算单元计算得到的已緩存视频分片的综合收益值和 所述计算单元计算得到的待替换视频分片在本地服务器中的综合收益值符合 替换条件时, 用于将所述待替换视频分片替换所述已緩存视频分片。
本发明实施例提供的协作緩存的方法和装置, 通过判断根据所述緩存信 息、 所述端到端时延和所述流行度得到已緩存视频分片的综合收益值以及待 替换视频分片在本地服务器中的综合收益值是否符合替换条件确定待替换视 频分片是否需要替换已緩存视频分片, 在所述已緩存视频分片的综合收益值 和所述待替换视频分片在本地服务器中的综合收益值符合替换条件时 , 将所 述待替换视频分片替换所述已緩存视频分片能够使得在没有增加本地服务器 成本的基础上提高本地用户的本地命中率。 附图说明
图 1为现有技术中网络架构图;
图 2为本发明实施例提供的协作緩存的方法流程图;
图 3为本发明又一实施例提供的协作緩存的方法流程图一;
图 4为图 3所示的协作緩存的方法中步骤 301的流程图;
图 5为图 3所示的协作緩存的方法中步骤 303的流程图一;
图 6为图 3所示的协作緩存的方法中步骤 303的流程图二;
图 7为本发明又一实施例提供的协作緩存的方法流程图二;
图 8为本发明实施例提供的协作緩存的装置的结构示意图一;
图 9为图 8所示的协作緩存的装置中替换单元的结构示意图一; 图 10为图 8所示的协作緩存的装置中替换单元的结构示意图二; 图 11为本发明实施例提供的协作緩存的装置的结构示意图二; 图 12为图 11所示的协作緩存的装置中创建单元的结构示意图; 图 13为图 11所示的协作緩存的装置中创建单元的第三获取子单元的结 构示意图;
图 14为本发明实施例提供的协作緩存的装置的结构示意图三。 具体实施方式
为了实现在不增加本地服务器成本的基础上提高本地命中率, 本发明实 施例提供一种协作緩存的方法和装置。
如图 2所示, 本发明实施例提供的协作緩存的方法, 包括:
步骤 201 ,根据緩存表中的緩存信息、本地服务器与邻居服务器之间的端 到端时延和视频分片的流行度得到已緩存视频分片的综合收益值以及待替换 视频分片在本地服务器中的综合收益值。 在本实施例中, 所述緩存表包括緩存信息、 本地服务器与邻居服务器之 间的端到端时延以及所述视频分片的流行度, 所述緩存信息包括视频分片标 识号以及存储该视频分片的服务器信息, 所述服务器信息包括服务器标识号。
步骤 202,在所述已緩存视频分片的综合收益值和所述待替换视频分片在 本地服务器中的综合收益值符合替换条件时 , 将所述待替换视频分片替换所 述已緩存视频分片。
在本实施例中, 所述替换条件可以是在所述待替换视频分片的综合收益 值大于所述已緩存视频分片的综合收益值, 优选的, 可以是所述待替换视频 分片的综合收益值与所述已緩存视频分片的综合收益值相加大于预先设置的 阈值。 所述替换条件并不仅限于上述的两种, 此处不——赘述。
本发明实施例提供的协作緩存的方法, 通过判断根据所述緩存信息、 所 述端到端时延和所述流行度得到已緩存视频分片的综合收益值以及待替换视 频分片在本地服务器中的综合收益值是否符合替换条件确定待替换视频分片 是否需要替换已緩存视频分片, 在所述已緩存视频分片的综合收益值和所述 待替换视频分片在本地服务器中的综合收益值符合替换条件时 , 将所述待替 换视频分片替换所述已緩存视频分片能够使得在没有增加本地服务器成本的 基石出上提高本地用户的本地命中率。
为了使本领域技术人员更好的理解本发明实施例提供的技术方法, 对本 发明实施例提供的协作緩存的方法进行详细的说明。
如图 3所示, 本发明又一实施例提供的协作緩存的方法, 包括: 步骤 301 , 创建緩存表。
在本实施例中, 如图 4所示, 所述步骤 301包括:
步骤 401 , 获取本地服务器的緩存信息、 邻居服务器的緩存信息, 将所述 本地服务器的緩存信息和邻居服务器的緩存信息以视频分片标识号对应于存 储该视频分片的服务器信息的形式保存为緩存信息。
在本实施例中, 在系统开始启动时, 所述系统包括本地服务器以及本地 服务器的邻居服务器, 所述本地服务器首先会创建一个包含了本地服务器的 緩存信息的緩存表, 然后会通过一些常用的邻居服务器寻找方法查找邻居服 务器, 如: 采用分布式哈希表(Distributed Hash Table, DHT)法查找、 采用中 央服务器进行查找或者采用中央服务器加点对点( Peer-to-Peer, P2P )的方式 查找等。 通过上述的查找方法, 在本地服务器查找到邻居服务器时, 所述本 地服务器会发送緩存信息的请求给邻居服务器以获取邻居服务器的緩存信息 并将获取到的緩存信息保存到緩存表中。
值得说明的是, 在所述本地服务器保存有根据本地服务器的緩存信息和 邻居服务器的緩存信息保存的緩存信息时, 本地服务器与邻居服务器进行信 息交换时, 所述本地服务器能够获取到邻居服务器的邻居服务器的緩存信息, 而所述邻居服务器能够获取到所述本地服务器的邻居服务器的信息。
步骤 402, 通过网络工具获取本地服务器与邻居服务器之间的端到端时 延。
在本实施例中, 所述步骤 402具体为: 通过网络工具 PING获取本地服务 器与邻居服务器之间的 PING值。用所述 PING值表示本地服务器与邻居服务 器之间的端到端时延。
为了保证所述端到端时延的准确性, 需要定期获取本地服务器与邻居服 务器之间的 PING值。
值得说明的是, 所述网络工具并不仅限于网络工具 PING, 还可以有其他 的网络工具, 如, Traceroute。
步骤 403 , 根据一段时间内用户行为的统计获取每个视频分片的流行度。 所述系统中的每个服务器都会有大量的用户请求, 通过对一段时间内用 户行为的统计可以获得每一个视频分片的流行度, 流行度高说明用户请求该 视频分片的概率越大。
在本实施例中, 所述视频分片的流行度的计算方法包括但不限于在一段 时间内, 分别将在某一服务器上对每个视频分片的访问总次数除以所述某一 服务器上总的访问次数得到每个视频分片在所述某一服务器上的流行度, 值 得说明的是, 以某一服务器为单位统计每个视频分片的流行度, 其准确度不 高, 进一步的, 分别将在协作区域或全网服务器上对每个视频分片的访问总 次数除以所述协作区域或全网服务器上总的访问次数以得到每个视频分片的 流行度, 所述协作区域可以根据网络拓朴结构或者服务器所在的地理区域划 分得到。
所述协作区域还可以按照预先设置的划分规则划分得到, 此处不——赘述。
可选的, 所述视频分片的流行度的计算方法还可以通过齐普夫(Zipf)分 布方法得到。
步骤 404,根据所述以视频分片标识号对应于存储该视频分片的服务器信 息的形式保存的緩存信息、 所述端到端时延以及每个视频分片的流行度创建 緩存表。 在本实施例中, 所述緩存表可以入表 1所示。
表 1 : 在本地服务器 A上创建得到的緩存表 视频分片标识号 服务器信息 流行度 端到端的时延 服务器 A
视频分片 1
服务器 B λΒ\
服务器 D ^DIA
服务器 A λΑ2
视频分片 2
服务器 C C2
服务器 D 义 m ^D2A
服务器 E 义 £2
视频分片 3 服务器 B 义 B3 服务器 B
Figure imgf000009_0001
视频分片 n
服务器 F Fn ^FnA
服务器 G λΟη ^GnA
服务器 H λΗη
Figure imgf000009_0002
在所述表 1中, 所述服务器 Α上创建的緩存表中存在 n个视频分片, 以 及与所述视频分片对应的服务器信息, 在该表中, 流行度的统计是以服务器 为单位进行统计的, 根据上述流行度的统计方法, 所述流行度还可以以协作 区域为单位进行统计, 举例说明, 在以协作区域为单位进行统计时, 所述表 1 中服务器八、 服务器 B和服务器 D被划分为一个协作区域, 那么所述视频分 片 1在所述服务器 A、 服务器 B和服务器 D上的流行度应该是相同的, 即 ΑΑΙ = λΒΙ = λΒΙ ο 还有, 在所述表 1中的所述端到端的时延是本地服务器 Α到 其邻居服务器之间的端到端时延,可以使用 PING值来表示。表中端到端时延 是通过公式 ί¾· = d(k, i)表示的, 表示从服务器 i到服务器 k的端到端时延, 该值可通过服务器 k与服务器 i之间的 PING得到, 其中 j表示服务器 i需要 到服务器 k上获取的视频分片的标识号, 值得说明的是 = d(i,r) =Q。 为了使得本地用户在获取视频分片时尽量避免不必要的时延, 所述服务 器信息不仅包括服务器标识号, 还包括效用值。 所述效用值是本地服务器接 收到本地用户的视频分片请求时, 本地服务器获取与所述服务器标识号对应 的服务器中保存的视频分片的可能性, 所述效用值越大, 所述本地服务器获 取与所述服务器标识号对应的服务器中保存的视频分片的可能性越大。 具体 的,
( a )在本地服务器中不存在本地用户所请求的视频分片时, 所述效用值 是所述本地服务器到保存有所述本地用户所请求的视频分片的邻居服务器的 端到端时延的倒数; 此处, 令^表示服务器 i的緩存列表中保存的视频分片 j的服务器的集合,对于每个服务器 所述服务器信息中除了服务器的
ID值之外, 也保存了一个效用值, 表示为 Uijk。 令 dijk表示服务器 i访问服务 器 k中的视频分片 j 时产生的时延。 这里将效用值定义为访问时延的函数:
_ [l / d, k缓存 j且 i没有缓存 j
U≠ = [0, 其它
这里 d = d(i, k), 表示从服务器 k到服务器 i的端到端时延, 该值可通 过服务器 i与服务器 k之间的 PING得到。
( b )在本地服务器中存在本地用户所请求的视频分片时, 所述效用值为 无穷大。
步骤 302,根据所述緩存信息、 所述端到端时延和所述流行度得到已緩存 视频分片的综合收益值以及待替换视频分片在本地服务器中的综合收益值。
为了方便本领域技术人员的理解, 下面假定服务器 i为本地服务器,服务 器 i中緩存了视频分片 j , 此处, 视频分片 j为已緩存视频分片, 且存在一个 视频分片 t, 其是一个潜在的可能会替换掉视频分片 j的还没有緩存到服务器 i 中的视频分片, 此处视频分片 t是为待替换视频分片, 另一方面, 服务器 i 的邻居服务器 k中未緩存视频分片 j或视频分片 t,。以下分四种情况进行分析: ( 1 )当服务器 i緩存视频分片 j时,本地用户在服务器 i上就可以获得视 频分片 j , 因此平均时延为 0。 这里, 由于服务器 i与其本地用户之间的本地 连接不是一个瓶颈, 因此忽略了从服务器 i到本地用户的本地时延。 而对向服 务器 i的邻居服务器 k请求视频分片 j的用户来说, 他们有可能通过服务器 k 向服务器 i请求视频分片 j (即此时 i Ekj , Ehj表示服务器 k的緩存列表中 保存有视频分片 j的服务器的集合), 也可能向邻居服务器 k的其它邻居服务 器请求视频分片 j。 令邻居服务器 k处的用户获得视频分片 j 的平均时延为
Figure imgf000011_0001
V kjl , 缓¾/且 没有缓存
, dkji 二 d(Jc, P) , 表示从服务器 i
0, 其它
到服务器 k的端到端时延,该值可通过服务器 k与服务器 i之间的 PING得到。 考虑视频分片 j的流行度, 则邻居服务器 k处所有需要视频分片 j的用户获得 视频分片 j的加权平均时延为
Figure imgf000011_0002
( 2 )当服务器 i不緩存视频分片 j时(即视频分片 j被视频分片 t替换了), 对向服务器 i请求视频分片 j的那些用户来说, 他们只可能通过服务器 i向其 邻居服务器请求视频分片 j。 令服务器 i处的本地用户获得视频分片 j的平均 时延为 (这里 *号表示替换后), 此处, 的具体得到的方法与上述的¾ 的实现方式相同, 此处不再赘述。 考虑视频分片 j的流行度, 则服务器 i处所 有需要视频分片 j的用户获得视频分片 j的加权平均时延为入 。 而对向服 务器 i的邻居服务器 k请求视频分片 j的那些用户来说, 他们不可能通过服务 器 k向服务器 i请求视频分片 j (因为视频分片 j已被服务器 i替换掉了, 即此 时 ζ' · , 表示服务器 k的緩存列表中保存有视频分片 j 的服务器的集 合), 而只可能向服务器 k的其它邻居服务器请求视频分片 j , 此时服务器 k 处所有需要视频分片 j的用户获得视频分片 j的加权平均时延为
Figure imgf000011_0003
( 3 )当服务器 i緩存视频分片 t时(即视频分片 t替换了视频分片 j ), 对 向服务器 i请求视频分片 t的那些用户来说, 他们在本地就可以得到视频分片 t了, 因此平均时延为 0。 而对向服务器 i的邻居服务器 k请求视频分片 t的那 些用户来说, 他们有可能通过服务器 k向服务器 i请求视频分片 t (即此时 i Ekt , 表示服务器 k的緩存列表中保存的视频分片 t的服务器的集合), 也可能向服务器 k的其它邻居服务器请求视频分片 t, 此时服务器 k处所有需 要视频分片 t的用户获得视频分片 t的加权平均时延为 λ , 此处平均时延 的实现方式与上述视频分片 j的平均时延的实现方式相同, 此处不再赘述。
( 4 )当服务器 i不緩存视频分片 t时, 对向服务器 i请求视频分片 t的那 些用户来说, 他们只可能通过服务器 i向其邻居服务器请求视频分片 t, 因此 服务器 i 处所有需要视频分片 t 的用户获得视频分片 t 的加权平均时延为 iAt 。 而对向服务器 i的邻居服务器 k请求视频分片 t的那些用户来说, 他 们不可能通过服务器 k向服务器 i请求视频分片 t (因为服务器 i没有保存视 频分片 t, 即此时 ), 而只可能向服务器 k的其它邻居服务器请求分片 t, 此时服务器 k处所有需要视频分片 t的用户获得视频分片 t的加权平均时延为
Ktdkt ,此处平均时延的实现方式与上述视频分片 j的平均时延的实现方式相 同, 此处不再赘述。
表 2给出了上述四种情况下服务器 i的本地用户和其邻居服务器分别获取 视频分片 j和 t的加权平均时延。 延
Figure imgf000012_0001
对服务器 i来说, 假设用视频分片 t替换视频分片 j对本地用户带来的收 益(即减少的平均时延)用^ (Λ 表示, 贝' J
Figure imgf000013_0001
对服务器 i的邻居服务器 k来说, 当服务器 i用视频分片 t替换视频分片 j后, 假设此次替换对服务器 k带来的收益(即减少的平均时延)用 <¾^( ',0 表示, 则
Figure imgf000013_0002
那么对于以服务器 i为中心的本地区域^来说, 服务器 i用视频分片 t替 换视频分片 j, 视频分片 的综合收益值为邻居服务器收益值和用户收益值的 力口权和, 通过公式 表示, 其中
Figure imgf000013_0003
为在邻居服务器 k上已緩存视频分片 j的流行度;
¾ 为服务器 k获得已緩存视频分片 j的平均时延;
¾为服务器 k在所述已緩存视频 j被待替换视频分片 t替换后获取所述 已緩存视频分片 j的平均时延;
λ ' λ 表示邻居服务器 k收益值 ,服务器 k在本地服务器 i的已緩 存视频分片 j被替换时, 请求已緩存视频分片 j的收益值;
为在本地服务器 i上已緩存视频分片 j的流行度;
¾为本地服务器 i在所述已緩存视频 j被待替换视频分片 t替换后获取所 述已緩存视频分片 j的平均时延;
0 - ^fi表示用户收益值, 本地用户在本地服务器 i的已緩存视频分片 j 被替换时, 请求已緩存视频分片 j的收益值;
表示以本地服务器 i为中心的本地区域, 本地区域包括本地服务器 i以 及所述本地服务器 i的邻居服务器 {k};
表示服务器 k服务的所有用户产生的流媒体比特率之和;
表示本地服务器 i服务的所有用户产生的流媒体比特率之和。
视频分片 t的综合收益值为邻居服务器收益值和用户收益值的加权和,通 ∑,eiiA, Dk [ t - Ι ) + ( Υ¾ - ο)
过公式 η 表示 ' 其中,
λΜ为在邻居服务器 k上待替换视频分片 t的流行度;
dkt 为服务器 k获得待替换视频分片 t的平均时延;
¾为服务器 k在所述已緩存视频 j被待替换视频分片 t替换后获取所述 待替换视频分片 t的平均时延;
At 表示邻居服务器收益值,服务器 k在本地服务器 i的已緩存 视频分片 j被替换为待替换视频分片 t时, 请求待替换视频分片 t的收益值; 为在本地服务器 i上已緩存视频分片 t的流行度;
dit为本地服务器 i在所述已緩存视频 j被待替换视频分片 t替换前获取所 述待替换视频分片 t的平均时延;
dit - 0表示用户收益值, 本地用户在本地服务器 i的已緩存视频分片 j 被替换为待替换视频分片 t时, 请求已緩存视频分片 t的收益值;
表示以本地服务器 i为中心的本地区域, 本地区域包括本地服务器 i以 及所述本地服务器 i的邻居服务器 {k};
表示服务器 k服务的所有用户产生的流媒体比特率之和; A表示本地服务器 i服务的所有用户产生的流媒体比特率之和。 步骤 303 ,在所述已緩存视频分片的综合收益值和所述待替换视频分片在 本地服务器中的综合收益值符合替换条件时 , 将所述待替换视频分片替换所 述已緩存视频分片。
如图 5所示, 所述步骤 303包括:
步骤 501 ,判断待替换视频分片的综合收益值是否大于所述已緩存视频分 片的综合收益值;
步骤 502,在所述待替换视频分片的综合收益值大于所述已緩存视频分片 的综合收益值时, 符合替换条件, 将所述待替换视频分片替换所述已緩存视 频分片。
优选的, 如图 6所示, 为了避免由于频繁地发生替换导致网络的不稳定, 所述步骤 303包括:
步骤 601 ,判断所述待替换视频分片的综合收益值与所述已緩存视频分片 的综合收益值相加是否大于预先设置的阈值。 在本实施例中, 所述预先设置的阈值可以是" , 优选的, " > 1 , 假 设服务器 i的邻居服务器集合为 Nt, 则服务器 i的本地区域 Α·将包括服务器 i 自身以及它的所有邻居服务器 。 因此, 本地区域 A的平均访问时延可表示 为 , 其中, 这里1 ¾表示服务器 k服务的所有用户产生的
Figure imgf000015_0001
流媒体比特率之和, 单位为 bit/s。
步骤 602,在所述待替换视频分片的综合收益值与所述已緩存视频分片的 综合收益值相加大于预先设置的阈值时, 符合替换条件, 将所述待替换视频 分片替换所述已緩存视频分片。
优选的, 为了保证緩存表中保存的緩存信息、 本地服务器与邻居服务器 之间的端到端时延以及流行度的准确度, 所述协助緩存的方法, 如图 7所示, 在所述步骤 301之后, 还包括:
步骤 701 , 更新所述緩存表中的緩存信息、 本地服务器与邻居服务器之间 的端到端时延以及视频分片的流行度。
所述緩存信息的更新可以通过周期性获取本地服务器的緩存信息和邻居 服务器的緩存信息实现; 所述本地服务器与邻居服务器之间的端到端时延可 以通过网络工具定时获取; 而所述流行度也可以定时选取一段时间内的用户 行为进行统计。
所述緩存信息的更新也可以通过预先设置的更新条件触发更新动作, 在 所述緩存表到达所述触发条件时, 对緩存表进行更新, 当然更新所述緩存表 的方式并不限于上述的方式, 此处不再——赘述。
本发明实施例提供的协作緩存的方法, 通过判断根据所述緩存信息、 所 述端到端时延和所述流行度得到已緩存视频分片的综合收益值以及待替换视 频分片在本地服务器中的综合收益值是否符合替换条件确定待替换视频分片 是否需要替换已緩存视频分片, 在所述已緩存视频分片的综合收益值和所述 待替换视频分片在本地服务器中的综合收益值符合替换条件时 , 将所述待替 换视频分片替换所述已緩存视频分片能够使得在没有增加本地服务器成本的 基石出上提高本地用户的本地命中率。
如图 8所示, 本发明实施例提供的协作緩存的装置, 其包括:
计算单元 801 , 用于根据緩存表中的所述緩存信息、本地服务器与邻居服 务器之间的端到端时延和视频分片的流行度得到已緩存视频分片的综合收益 值以及待替换视频分片在本地服务器中的综合收益值, 所述緩存信息包括视 频分片标识号以及存储该视频分片的服务器信息, 所述服务器信息包括服务 器标识号; 其具体的实现方法可以参见如图 2所示的步骤 201所述, 此处不 再赘述。
替换单元 802,用于在所述计算单元计算得到的已緩存视频分片的综合收 益值和所述计算单元计算得到的待替换视频分片在本地服务器中的综合收益 值符合替换条件时, 将所述待替换视频分片替换所述已緩存视频分片。 其具 体的实现方法可以参见如图 2所示的步骤 202所述, 此处不再赘述。
在本实施例中, 如图 9所示, 所述替换单元, 包括:
第一判断子单元 901 ,用于判断计算单元计算得到的待替换视频分片的综 合收益值是否大于所述计算单元得到的已緩存视频分片的综合收益值; 其具 体的实现方法可以参见如图 5所示的步骤 501所述, 此处不再赘述。
第一替换子单元 902,在所述第一判断子单元判断得到待替换视频分片的 综合收益值大于所述已緩存视频分片的综合收益值时, 用于将所述待替换视 频分片替换所述已緩存视频分片。 其具体的实现方法可以参见如图 5 所示的 步骤 502所述, 此处不再赘述。
优选的,为了避免由于频繁地发生替换导致网络的不稳定,如图 10所示, 所述替换单元, 包括:
第二判断子单元 1001 , 用于判断所述计算单元计算得到的待替换视频分 片的综合收益值与所述计算单元计算得到的已緩存视频分片的综合收益值相 加是否大于预先设置的阈值; 其具体的实现方法可以参见如图 6所示的步骤 601所述, 此处不再赘述。
第二替换子单元 1002, 在所述第二判断子单元判断得到待替换视频分片 的综合收益值与所述已緩存视频分片的综合收益值相加大于预先设置的阈值 时, 用于将所述待替换视频分片替换所述已緩存视频分片。 其具体的实现方 法可以参见如图 6所示的步骤 602所述, 此处不再赘述。
进一步的, 如图 11所示, 所述协助緩存的装置, 还包括:
创建单元 1101 , 用于创建緩存表, 所述緩存表包括緩存信息、 本地服务 器与邻居服务器之间的端到端时延以及所述视频分片的流行度; 其具体的实 现方法可以参见如图 3所示的步骤 301所述, 此处不再赘述。
在本实施例中, 如图 12所示, 所述创建单元, 包括: 第一获取子单元 1201 , 用于获取本地服务器的緩存信息、 邻居服务器的 緩存信息, 将所述本地服务器的緩存信息和邻居服务器的緩存信息以视频分 片以及存储该视频分片的服务器信息的形式保存为緩存信息; 其具体的实现 方法可以参见如图 4所示的步骤 401所述, 此处不再赘述。
第二获取子单元 1202, 用于通过网络工具获取本地服务器与邻居服务器 之间的端到端时延; 在本实施例中, 所述第二获取子单元, 包括: 第一获取 模块,用于通过网络工具 PING获取本地服务器与邻居服务器之间的端到端时 延。 其具体的实现方法可以参见如图 4所示的步骤 402所述, 此处不再赘述。
第三获取子单元 1203 , 用于根据一段时间内用户行为的统计获取每个视 频分片的流行度;
在本实施例中, 如图 13所示, 所述第三获取子单元, 包括:
统计模块 1301 , 用于分别将在协作区域或全网服务器上对每个视频分片 的访问总次数除以所述协作区域或全网服务器上总的访问次数以得到每个视 频分片的流行度。
第二获取模块 1302, 用于获取所述统计模块统计得到的每个视频分片的 流行度。
其具体的实现方法可以参见如图 4所示的步骤 403所述, 此处不再赘述。 创建子单元 1204, 用于根据所述第一获取单元获取的以视频分片以及存 储该视频分片的服务器信息的形式保存为緩存信息、 所述第二获取单元获取 的端到端时延以及所述第三获取子单元获取的每个视频分片的流行度创建緩 存表, 其具体的实现方法可以参见如图 4所示的步骤 404所述, 此处不再赘 述。
进一步的, 如图 14所示, 所述协助緩存的装置, 还包括:
更新单元 1401 , 用于更新所述创建单元创建的緩存表中的緩存信息、 本 地服务器与邻居服务器之间的端到端时延以及视频分片的流行度。 其具体的 实现方法可以参见如图 7所示的步骤 701所述, 此处不再赘述。 本发明实施例提供的协作緩存的装置, 通过判断根据所述緩存信息、 所 述端到端时延和所述流行度得到已緩存视频分片的综合收益值以及待替换视 频分片在本地服务器中的综合收益值是否符合替换条件确定待替换视频分片 是否需要替换已緩存视频分片, 在所述已緩存视频分片的综合收益值和所述 待替换视频分片在本地服务器中的综合收益值符合替换条件时 , 将所述待替 换视频分片替换所述已緩存视频分片能够使得在没有增加本地服务器成本的 基石出上提高本地用户的本地命中率。
本发明实施例提供的协作緩存的方法和装置, 能够应用于树状拓朴、 全 连接状拓朴等各类网络拓朴。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤 是可以通过程序来指令相关的硬件完成, 所述的程序可以存储于一计算机可 读存储介质中, 如 ROM/RAM、 磁碟或光盘等。 以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易 想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护 范围应以所述权利要求的保护范围为准。

Claims

权利 要求 书
1、 一种协作緩存的方法, 其特征在于, 包括:
根据緩存表中的緩存信息、 本地服务器与邻居服务器之间的端到端时延和 视频分片的流行度得到已緩存视频分片的综合收益值以及待替换视频分片在本 地服务器中的综合收益值, 所述緩存信息包括视频分片标识号以及存储该视频 分片的服务器信息, 所述服务器信息包括服务器标识号;
在所述已緩存视频分片的综合收益值和所述待替换视频分片在本地服务器 中的综合收益值符合替换条件时, 将所述待替换视频分片替换所述已緩存视频 分片。
2、 根据权利要求 1所述的方法, 其特征在于, 所述方法还包括: 创建緩存表, 所述緩存表包括緩存信息、 本地服务器与邻居服务器之间的 端到端时延以及视频分片的流行度。
3、 根据权利要求 2所述的方法, 其特征在于, 所述创建緩存表, 包括: 获取本地服务器的緩存信息、 邻居服务器的緩存信息, 将所述本地服务器 的緩存信息和邻居服务器的緩存信息以视频分片标识号对应于存储该视频分片 的服务器信息的形式保存为緩存信息;
通过网络工具获取本地服务器与邻居服务器之间的端到端时延;
根据一段时间内用户行为的统计获取每个视频分片的流行度;
根据所述以视频分片标识号对应于存储该视频分片的服务器信息的形式保 存的緩存信息、 所述端到端时延以及每个视频分片的流行度创建緩存表。
4、 根据权利要求 3所述的方法, 其特征在于, 所述通过网络工具获取本地 服务器与邻居服务器之间的端到端时延, 包括:
通过网络工具 PING获取本地服务器与邻居服务器之间的端到端时延。
5、 根据权利要求 3所述的方法, 其特征在于, 所述根据一段时间内用户行 为的统计获取每个视频分片的流行度, 包括:
分别将在协作区域或全网服务器上对每个视频分片的访问总次数除以所述 协作区域或全网服务器上总的访问次数以得到每个视频分片的流行度。
6、 根据权利要求 2-5任一项所述的方法, 其特征在于, 还包括:
更新所述緩存表中的緩存信息、 本地服务器与邻居服务器之间的端到端时 延以及视频分片的流行度。
7、 根据权利 1或 6所述的方法, 其特征在于, 所述服务器信息还包括效用 值, 所述效用值是本地服务器接收到本地用户的视频分片请求时, 本地服务器 获取与所述服务器标识号对应的服务器中保存的视频分片的可能性。
8、 根据权利要求 7所述的方法, 其特征在于, 所述效用值根据所述本地服 务器到所述邻居服务器的端到端时延得到, 具体包括:
在本地服务器中不存在本地用户所请求的视频分片时, 所述效用值是所述 本地服务器到保存有所述本地用户所请求的视频分片的邻居服务器的端到端时 延的倒数;
在本地服务器中存在本地用户所请求的视频分片时, 所述效用值为无穷大。
9、 根据权利要求 8所述的方法, 其特征在于,
在服务器 k为本地服务器 i的邻居服务器, 本地服务器 i上存储有已緩存视 频分片 j , 并且存在待替换视频分片 t时,
所述根据所述緩存信息、 所述端到端时延和所述流行度得到已緩存视频分 片的综合收益值, 所述综合收益值为邻居服务器收益值和用户收益值的加权和,
∑ ( · - ¾· ) + (o - λ^; )
通过公式 ^ ^ 表示, 其中,
为在邻居服务器 k上已緩存视频分片 j的流行度; ¾ 为服务器 k获得已緩存视频分片 j的平均时延;
¾为服务器 k在所述已緩存视频 j被待替换视频分片 t替换后获取所述已 緩存视频分片 j的平均时延; - 表示邻居服务器 k收益值,服务器 k在本地服务器 i的已緩存 视频分片 j被替换时, 请求已緩存视频分片 j的收益值;
¾为在本地服务器 i上已緩存视频分片 j的流行度; 为本地服务器 i在所述已緩存视频 j被待替换视频分片 t替换后获取所述 已緩存视频分片 j的平均时延;
0 - 表示用户收益值,本地用户在本地服务器 i的已緩存视频分片 j被 替换时, 请求已緩存视频分片 j的收益值;
表示以本地服务器 i为中心的本地区域, 本地区域包括本地服务器 i以及 所述本地服务器 i的邻居服务器 {k};
表示服务器 k服务的所有用户产生的流媒体比特率之和; 表示本地服务器 i服务的所有用户产生的流媒体比特率之和;
所述根据所述緩存信息、 所述端到端时延和所述流行度得到待替换视频分 片的综合收益值, 所述综合收益值为邻居服务器收益值和用户收益值的加权和, 通过公式 : π 表示 ' 其中,
λΜ为在邻居服务器 k上待替换视频分片 t的流行度; ¾为服务器 k获得待替换视频分片 t的平均时延;
¾为服务器 k在所述已緩存视频 j被待替换视频分片 t替换后获取所述待 替换视频分片 t的平均时延;
Α - ^lt表示邻居服务器 k收益值,服务器 k在本地服务器 i的已緩存 视频分片 j被替换为待替换视频分片 t时, 请求待替换视频分片 t的收益值; ^为在本地服务器 i上已緩存视频分片 t的流行度; dit为本地服务器 i在所述已緩存视频 j被待替换视频分片 t替换前获取所述 待替换视频分片 t的平均时延;
0表示用户收益值, 本地用户在本地服务器 i 的已緩存视频分片 j 被替换为待替换视频分片 t时, 请求已緩存视频分片 t的收益值;
表示以本地服务器 i为中心的本地区域, 本地区域包括本地服务器 i以及 所述本地服务器 i的邻居服务器 {k};
表示服务器 k服务的所有用户产生的流媒体比特率之和;
Dt表示本地服务器 i服务的所有用户产生的流媒体比特率之和。
10、 根据权利要求 1或 6所述的方法, 其特征在于, 所述在所述已緩存视 频分片的综合收益值和所述待替换视频分片在本地服务器中的综合收益值符合 替换条件时, 将所述待替换视频分片替换所述已緩存视频分片, 包括:
判断待替换视频分片的综合收益值是否大于所述已緩存视频分片的综合收 益值;
在所述待替换视频分片的综合收益值大于所述已緩存视频分片的综合收益 值时, 符合替换条件, 将所述待替换视频分片替换所述已緩存视频分片。
11、 根据权利要求 1或 6任一项所述的方法, 其特征在于, 所述在所述已 緩存视频分片的综合收益值和所述待替换视频分片在本地服务器中的综合收益 值符合替换条件时, 将所述待替换视频分片替换所述已緩存视频分片, 包括: 判断所述待替换视频分片的综合收益值与所述已緩存视频分片的综合收益 值相加是否大于预先设置的阈值;
在所述待替换视频分片的综合收益值与所述已緩存视频分片的综合收益值 相加大于预先设置的阈值时, 符合替换条件, 将所述待替换视频分片替换所述 已緩存视频分片。
12、 一种协作緩存的装置, 其特征在于, 包括:
计算单元, 用于根据緩存表中的緩存信息、 本地服务器与邻居服务器之间 的端到端时延和视频分片的流行度得到已緩存视频分片的综合收益值以及待替 换视频分片在本地服务器中的综合收益值, 所述緩存信息包括视频分片标识号 以及存储该视频分片的服务器信息, 所述服务器信息包括服务器标识号;
替换单元, 用于在所述计算单元计算得到的已緩存视频分片的综合收益值 和所述计算单元计算得到的待替换视频分片在本地服务器中的综合收益值符合 替换条件时, 将所述待替换视频分片替换所述已緩存视频分片。
13、 根据权利要求 12所述的装置, 其特征在于, 还包括:
创建单元, 用于创建緩存表, 所述緩存表包括緩存信息、 本地服务器与邻 居服务器之间的端到端时延以及所述视频分片的流行度。
14、 根据权利要求 13所述的方法, 其特征在于, 所述创建单元, 包括: 第一获取子单元, 用于获取本地服务器的緩存信息、 邻居服务器的緩存信 息, 将所述本地服务器的緩存信息和邻居服务器的緩存信息以视频分片以及存 储该视频分片的服务器信息的形式保存为緩存信息;
第二获取子单元, 用于通过网络工具获取本地服务器与邻居服务器之间的 端到端时延;
第三获取子单元, 用于根据一段时间内用户行为的统计获取每个视频分片 的流行度;
创建子单元, 用于根据所述第一获取单元获取的以视频分片以及存储该视 频分片的服务器信息的形式保存为緩存信息、 所述第二获取单元获取的端到端 时延以及所述第三获取子单元获取的每个视频分片的流行度创建緩存表。
15、 根据权利要求 14所述的装置, 其特征在于, 所述第二获取子单元, 包 括:
第一获取模块,用于通过网络工具 PING获取本地服务器与邻居服务器之间 的端到端时延。
16、 根据权利要求 14所述的装置, 其特征在于, 所述第三获取子单元, 包 括: 统计模块, 用于分别将在协作区域或全网服务器上对每个视频分片的访问 总次数除以所述协作区域或全网服务器上总的访问次数以得到每个视频分片的 流行度;
第二获取模块, 用于获取所述统计模块统计得到的每个视频分片的流行度。
17、 根据权利要求 13-16任一项所述的装置, 其特征在于, 还包括: 更新单元, 用于更新所述创建单元创建的緩存表中的緩存信息、 本地服务 器与邻居服务器之间的端到端时延以及视频分片的流行度。
18、 根据权利要求 12或 17所述的装置, 其特征在于, 在服务器 k为本地 服务器 i的邻居服务器, 本地服务器 i上存储有已緩存视频分片 j , 并且存在待 替换视频分片 t时,
所述根据所述緩存信息、 所述端到端时延和所述流行度得到已緩存视频分 片的综合收 ∑益值, 所述综合收益值为邻居服务器收益值和用户收益值的加权和, ( - ¾ ) + (o - λ^; )
通过公式 ^ 表示, 其中, 为在邻居服务器 k上已緩存视频分片 j的流行度;
¾ 为服务器 k获得已緩存视频分片 j的平均时延;
¾为服务器 k在所述已緩存视频 j被待替换视频分片 t替换后获取所述已 緩存视频分片 j的平均时延;
_ 表示邻居服务器 k收益值,服务器 k在本地服务器 i的已緩存 视频分片 j被替换时, 请求已緩存视频分片 j的收益值; ¾为在本地服务器 i上已緩存视频分片 j的流行度; 为本地服务器 i在所述已緩存视频 j被待替换视频分片 t替换后获取所述 已緩存视频分片 j的平均时延; o - ^表示用户收益值,本地用户在本地服务器 i的已緩存视频分片 j被 替换时, 请求已緩存视频分片 j的收益值;
表示以本地服务器 i为中心的本地区域, 本地区域包括本地服务器 i以及 所述本地服务器 i的邻居服务器 {k};
^¾表示服务器 k服务的所有用户产生的流媒体比特率之和; 表示本地服务器 i服务的所有用户产生的流媒体比特率之和;
所述根据所述緩存信息、 所述端到端时延和所述流行度得到待替换视频分 片的综合收益值, 所述综合收益值为邻居服务器收益值和用户收益值的加权和, 通过公式 ,
Figure imgf000026_0001
其中,
λΜ为在邻居服务器 k上待替换视频分片 t的流行度; ¾为服务器 k获得待替换视频分片 t的平均时延;
¾为服务器 k在所述已緩存视频 j被待替换视频分片 t替换后获取所述待 替换视频分片 t的平均时延;
At - ^lt表示邻居服务器 k收益值,服务器 k在本地服务器 i的已緩存 视频分片 j被替换为待替换视频分片 t时, 请求待替换视频分片 t的收益值; ^为在本地服务器 i上已緩存视频分片 t的流行度; dit为本地服务器 i在所述已緩存视频 j被待替换视频分片 t替换前获取所述 待替换视频分片 t的平均时延;
0表示用户收益值, 本地用户在本地服务器 i 的已緩存视频分片 j 被替换为待替换视频分片 t时, 请求已緩存视频分片 t的收益值;
表示以本地服务器 i为中心的本地区域, 本地区域包括本地服务器 i以及 所述本地服务器 i的邻居服务器 {k} ;
Dk表示服务器 k服务的所有用户产生的流媒体比特率之和;
Di表示本地服务器 i服务的所有用户产生的流媒体比特率之和。
19、 根据权利要求 12或 17所述的装置, 其特征在于, 所述替换单元, 包 括:
第一判断子单元, 用于判断计算单元计算得到的待替换视频分片的综合收 益值是否大于所述计算单元得到的已緩存视频分片的综合收益值;
第一替换子单元, 在所述第一判断子单元判断得到待替换视频分片的综合 收益值大于所述已緩存视频分片的综合收益值时, 用于将所述待替换视频分片 替换所述已緩存视频分片。
20、 根据权利要求 12或 17所述的装置, 其特征在于, 所述替换单元, 包 括:
第二判断子单元, 用于判断所述计算单元计算得到的待替换视频分片的综 合收益值与所述计算单元计算得到的已緩存视频分片的综合收益值相加是否大 于预先设置的阈值;
第二替换子单元, 在所述第二判断子单元判断得到待替换视频分片的综合 收益值与所述已緩存视频分片的综合收益值相加大于预先设置的阈值时, 用于 将所述待替换视频分片替换所述已緩存视频分片。
PCT/CN2011/083464 2010-12-03 2011-12-05 协作缓存的方法和装置 WO2012072049A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
ES11844014.8T ES2573797T3 (es) 2010-12-03 2011-12-05 Método y dispositivo para memoria caché cooperante
EP11844014.8A EP2640034B1 (en) 2010-12-03 2011-12-05 Method and device for cooperating cache
US13/907,503 US9532083B2 (en) 2010-12-03 2013-05-31 Cooperative caching method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010573221.XA CN102075562B (zh) 2010-12-03 2010-12-03 协作缓存的方法和装置
CN201010573221.X 2010-12-03

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/907,503 Continuation US9532083B2 (en) 2010-12-03 2013-05-31 Cooperative caching method and apparatus

Publications (1)

Publication Number Publication Date
WO2012072049A1 true WO2012072049A1 (zh) 2012-06-07

Family

ID=44033903

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/083464 WO2012072049A1 (zh) 2010-12-03 2011-12-05 协作缓存的方法和装置

Country Status (5)

Country Link
US (1) US9532083B2 (zh)
EP (2) EP2640034B1 (zh)
CN (1) CN102075562B (zh)
ES (2) ES2573797T3 (zh)
WO (1) WO2012072049A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9385938B2 (en) 2010-06-22 2016-07-05 Blackberry Limited Information distribution in a wireless communication system
US8570962B2 (en) * 2010-06-22 2013-10-29 Blackberry Limited Information selection in a wireless communication system
CN102075562B (zh) 2010-12-03 2014-08-20 华为技术有限公司 协作缓存的方法和装置
CN102647357B (zh) * 2012-04-20 2016-04-13 中兴通讯股份有限公司 一种处理内容路由方法及装置
US20130298175A1 (en) * 2012-05-02 2013-11-07 International Business Machines Corporation Constructing a customized message in a video-on-demand service
CN103428107B (zh) * 2012-05-14 2016-08-24 中国科学院声学研究所 一种基于缓存下溢概率估计的自适应码流切换方法及系统
CN103516731B (zh) * 2012-06-15 2017-04-19 华为技术有限公司 一种缓存服务器的服务方法、缓存服务器及系统
JP5962269B2 (ja) * 2012-07-09 2016-08-03 富士通株式会社 評価装置,分散格納システム,評価方法及び評価プログラム
CN105519054B (zh) * 2013-05-23 2019-03-26 华为技术有限公司 缓存处理方法、装置及系统
CN105099944B (zh) 2014-04-22 2018-08-17 华为技术有限公司 一种缓存数据的方法及转发设备
US9769280B2 (en) 2014-06-10 2017-09-19 International Business Machines Corporation Cooperative decentralized caching
CN106559677B (zh) * 2015-09-30 2020-04-03 华为技术有限公司 终端、缓存服务器及获取视频分片的方法及装置
CN106844235A (zh) * 2016-12-23 2017-06-13 北京北大众志微系统科技有限责任公司 一种实现高速缓存替换的方法及装置
CN107889160B (zh) * 2017-11-15 2020-03-17 北京邮电大学 一种考虑用户时延的小小区网络边缘部分缓存方法
US10972761B2 (en) 2018-12-26 2021-04-06 Purdue Research Foundation Minimizing stall duration tail probability in over-the-top streaming systems
US11470176B2 (en) * 2019-01-29 2022-10-11 Cisco Technology, Inc. Efficient and flexible load-balancing for clusters of caches under latency constraint
CN114666614A (zh) * 2019-04-23 2022-06-24 华为技术有限公司 一种媒体流发送方法、装置和设备
CN110213627B (zh) * 2019-04-23 2020-09-01 武汉理工大学 一种基于多小区用户移动性的流媒体缓存分配方法
US10771524B1 (en) * 2019-07-31 2020-09-08 Theta Labs, Inc. Methods and systems for a decentralized data streaming and delivery network
WO2021072417A1 (en) * 2019-10-11 2021-04-15 Theta Labs, Inc. Methods and systems for decentralized data streaming and delivery network
CN118018796A (zh) * 2024-04-09 2024-05-10 江西软件职业技术大学 视频传输方法、系统、可读存储介质及计算机

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184021A (zh) * 2007-12-14 2008-05-21 华为技术有限公司 一种实现流媒体缓存置换的方法、设备及系统
CN101551781A (zh) * 2009-05-22 2009-10-07 中国科学院计算技术研究所 一种p2p视频点播系统中的磁盘缓存替换方法
CN101764993A (zh) * 2010-01-14 2010-06-30 中山大学 一种视频点播系统中的协作缓存方法及视频点播系统
CN102075562A (zh) * 2010-12-03 2011-05-25 华为技术有限公司 协作缓存的方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE521181C2 (sv) * 1999-07-01 2003-10-07 Telia Ab Förfarande och system för policystyrd distribution av strömmande media i ett IP-nät
US6463508B1 (en) * 1999-07-19 2002-10-08 International Business Machines Corporation Method and apparatus for caching a media stream
US6999988B2 (en) * 2000-07-13 2006-02-14 Lucent Technologies Inc. Method and system for data layout and replacement in distributed streaming caches on the Internet
US6651141B2 (en) * 2000-12-29 2003-11-18 Intel Corporation System and method for populating cache servers with popular media contents
US7549080B1 (en) * 2002-08-27 2009-06-16 At&T Corp Asymmetric data mirroring
US8856281B2 (en) * 2010-03-22 2014-10-07 At&T Intellectual Property I, L.P. Internet protocol version 6 content routing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184021A (zh) * 2007-12-14 2008-05-21 华为技术有限公司 一种实现流媒体缓存置换的方法、设备及系统
CN101551781A (zh) * 2009-05-22 2009-10-07 中国科学院计算技术研究所 一种p2p视频点播系统中的磁盘缓存替换方法
CN101764993A (zh) * 2010-01-14 2010-06-30 中山大学 一种视频点播系统中的协作缓存方法及视频点播系统
CN102075562A (zh) * 2010-12-03 2011-05-25 华为技术有限公司 协作缓存的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2640034A4 *

Also Published As

Publication number Publication date
EP2966835B1 (en) 2017-05-10
ES2573797T3 (es) 2016-06-10
EP2640034A1 (en) 2013-09-18
EP2640034B1 (en) 2016-03-09
EP2640034A4 (en) 2014-03-19
US20130263194A1 (en) 2013-10-03
CN102075562B (zh) 2014-08-20
ES2635306T3 (es) 2017-10-03
CN102075562A (zh) 2011-05-25
EP2966835A1 (en) 2016-01-13
US9532083B2 (en) 2016-12-27

Similar Documents

Publication Publication Date Title
WO2012072049A1 (zh) 协作缓存的方法和装置
Bernardini et al. MPC: Popularity-based caching strategy for content centric networks
EP2704402B1 (en) Method and node for distributing electronic content in a content distribution network
KR101330052B1 (ko) 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
US10567240B2 (en) Multimedia resource distribution method, apparatus and system
WO2011140842A1 (zh) 多媒体文件发布方法和装置
KR101104729B1 (ko) 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
WO2017125017A1 (zh) 缓存内容的调整方法、装置及系统
WO2012075970A1 (zh) 一种获取媒体内容的方法、设备及系统
WO2022206529A1 (zh) 一种资源请求处理的方法、装置、计算机设备及介质
WO2011150803A1 (zh) 缓存协作方法、装置及系统
Zhang et al. Router position-based cooperative caching for video-on-demand in information-centric networking
CN112672227B (zh) 基于边缘节点的业务处理方法、装置、节点以及存储介质
Zhu et al. A Popularity-Based Collaborative Caching Algorithm for Content-Centric Networking.
Bernardini et al. Caching strategies for information centric networking: Opportunities and challenges
JP2012113719A (ja) P2p基盤のストリーミングサービスのサーバ使用量を調整するシステムおよび方法
KR102235622B1 (ko) IoT 환경에서의 협력 에지 캐싱 방법 및 그를 위한 장치
CN109361928B (zh) 一种信息中心网络系统及视频传输方法
CN108259337B (zh) 一种基于兴趣网络分片的icn路由方法及系统
Bernardini et al. Cache management strategy for CCN based on content popularity
Noh et al. Cooperative and distributive caching system for video streaming services over the information centric networking
KR20130134911A (ko) 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
CN113965588B (zh) 一种面向内容中心网络的自治域内协同缓存方法
CN114124971B (zh) 一种基于边缘缓存的cdn-p2p网络的内容副本放置方法
Mokhtarian Content management in planet-scale video CDNs

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11844014

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2011844014

Country of ref document: EP