(19)
(11)EP 2 800 386 B1

(12)EUROPEAN PATENT SPECIFICATION

(45)Mention of the grant of the patent:
12.10.2016 Bulletin 2016/41

(21)Application number: 13789150.3

(22)Date of filing:  07.08.2013
(51)International Patent Classification (IPC): 
H04N 21/2183(2011.01)
H04N 21/231(2011.01)
H04N 21/643(2011.01)
H04N 21/24(2011.01)
H04N 21/845(2011.01)
(86)International application number:
PCT/CN2013/080996
(87)International publication number:
WO 2014/114074 (31.07.2014 Gazette  2014/31)

(54)

CHILD NODE, FATHER NODE AND BUFFER METHOD AND SYSTEM FOR MULTI-LAYER VIDEO NETWORK

UNTERGEORDNETER KNOTEN, ÜBERGEORDNETER KNOTEN SOWIE PUFFERVERFAHREN UND -SYSTEM FÜR EIN MEHRSCHICHTIGES VIDEONETZWERK

N UD ENFANT, NOEUD PÈRE ET PROCÉDÉ ET SYSTÈME DE TAMPON DE RÉSEAU VIDÉO À COUCHES MULTIPLES


(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

(30)Priority: 25.01.2013 CN 201310030160

(43)Date of publication of application:
05.11.2014 Bulletin 2014/45

(73)Proprietor: Huawei Technologies Co., Ltd.
Longgang District Shenzhen, Guangdong 518129 (CN)

(72)Inventors:
  • LI, Bo
    Shenzhen City, Guangdong 518129 (CN)
  • LIU, Yi Jun
    Shenzhen City, Guangdong 518129 (CN)

(74)Representative: Isarpatent 
Patent- und Rechtsanwälte Behnisch Barth Charles Hassa Peckmann & Partner mbB Friedrichstrasse 31
80801 München
80801 München (DE)


(56)References cited: : 
EP-A1- 2 515 478
CN-A- 102 067 617
US-A1- 2011 122 137
WO-A2-98/53410
US-A1- 2009 316 715
  
  • ALAN T S IP ET AL: "COPACC: An Architecture of Cooperative Proxy-Client Caching System for On-Demand Media Streaming", IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, vol. 18, no. 1, 1 January 2007 (2007-01-01), pages 70-83, XP011151538, ISSN: 1045-9219, DOI: 10.1109/TPDS.2007.253282
  • QIAN, BIWEI ET AL.: 'OXVoD: A video-on-demand system based on P2P delamination structure' COMPUTER ENGINEERING AND APPLICATIONS vol. 46, no. 7, March 2010, pages 203 - 207, XP008172028
  • DO, T.T. ET AL.: 'P2VoD: Providing Fault Tolerant Video-on-Demand Streaming in Peer-to-Peer Environment' IEEE COMMUNICATIONS SOCIETY vol. 3, 2004, pages 1467 - 1472, XP010710129
  
Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


Description

TECHNICAL FIELD



[0001] The present invention relates to the field of network communications technologies, and in particular, to a child node, a parent node, and a caching method and system for a multi-layer video network.

BACKGROUND



[0002] With the rapid development of computer network technologies and infrastructure construction, multimedia network services provided by multimedia service providers, for example, high-resolution video-on-demand services, are growing gradually. These services generally use bandwidth and storage resources in a caching system to provide a high-quality and uninterruptible video stream to an end user. However, the ever-increasing number of users as well as higher and higher requirements on service quality also imposes much pressure on the service providers. The overall bandwidth and storage resources of a video-on-demand system are limited. As a result, the service providers have to increase investment on infrastructure construction, so as to satisfy user's increasing requirements. In such a context, how to efficiently use the bandwidth resources and storage resources of the caching system to satisfy user's requirements in a better way becomes a problem requiring serious consideration. However, when the problem is considered for a caching system in a distributed environment, heterogeneity of system resources and user access behaviors makes a more complex policy for the caching system, where it is difficult to implement high-efficiency coordination among nodes. As a result, how to use an existing infrastructure architecture to implement coordination among cache nodes as much as possible in a heterogeneous network environment to satisfy user's requirements on services is a major content of study in the distributed field.

[0003] In an existing layered caching system, a user request is transferred in an upstream path in a multi-layer video network. The request is satisfied once a related content is stored on a server. Meanwhile, the system generally determines a caching policy by using a minimum packet path length as an optimization target. Firstly, an overall topology structure of the system, storage capacity information of nodes, and user access modes are obtained; then, a caching policy problem is formulated into an optimization problem. An optimization target is to minimize an access path length of a request. However, this conventional policy has several serious defects. Firstly, static request routing can implement caching coordination only between different layers, but can hardly implement caching coordination between nodes at the same layer, which affects resource sharing among distributed cache servers. Secondly, a video system consumes much network bandwidth at present, and the optimization target using only the request packet path length does not comply with actual requirements of the system. Thirdly, in order to simplify the problem, a conventional optimized caching policy generally assumes that there is a homogeneous system resource configuration, which does not comply with the actual condition of the system.

[0004] In the prior art, a distributed caching method for an Internet Protocol Television(IPTV) system is further proposed. This method raises a problem of using a minimized content transmission cost as a target. In subsequent system verification, the content transmission cost is measured by using a basic criterion of a transmission distance from a source node returning a content to a user. This method assumes that a system has limited resources and is homogeneous on the whole, that is, nodes at the same layer have the same storage capacity, and user requests on the nodes have the same structure. On this basis, the method proposes a distributed caching policy as follows:
  1. 1. a content attracting the highest attention is stored on all bottom-layer nodes;
  2. 2. a content attracting higher attention is stored only on partial bottom-layer nodes; and
  3. 3. other contents attracting relatively low attention is stored only on a certain bottom-layer node.


[0005] This method further simplifies the policy into a greedy method based on content utility. A content attracting relatively high attention has a relatively high degree of utility, and a content attracting relatively low attention has a relatively low degree of utility in cases where it is stored by another node.

[0006] The method in the prior art has the defect that the method assumes that the overall system resources are homogeneous. However, in an actual large-scale video system, generally servers are heterogeneous in terms of capacity, and content requests of users in different areas usually have different modes. This method fails to reflect the bandwidth consumption feature in the existing video system. In caching policy designing for a high-definition video system, instead of using only the path length as a criterion for measuring system performance, the problem of limited bandwidth resources also needs to be considered.

[0007] ALAN T.S.IP ET AL ("COPACC: An Architecture of Cooperative Proxy- Client Caching System for On-Demand Media Streaming", IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, vol. 18, no. 1, 1 January 2007 (2007-01-01), pages 70-83, ISSN: 1045-9219, DOI: 10.1109/TPDS.2007.253282) relates to a cooperative proxy- and-client caching system which combines the advantages of both proxy caching and peer-to-peer client communications. WO 98/53410 A2 realtes to a technique for automatic, transparent, distributed, scalable and robust caching, prefetching, and replication in a computer network that request messages for a particular document follow paths from the clients to a home server that form a routing graph.

SUMMARY



[0008] The main technical problem to be solved by the present application is to provide a caching method and system implementation manner for a multi-layer video network, which can save network bandwidth as much as possible and implement coordination among cache nodes, and is compatible with a heterogeneous network resource environment.

[0009] In a first aspect, a caching method for a multi-layer video network is provided, where the multi-layer video network includes at least one parent node and multiple child nodes connected to the parent node, and the method includes: collecting a user request arrival rate of each child node with respect to each content in a content set; and determining an optimal storage policy and an optimal upload bandwidth allocation policy of each child node with respect to each content based on the user request arrival rate, storage capacity and upload bandwidth of each child node, and a size of each content, wherein the step of determining the optimal storage policy and the optimal upload bandwidth allocation policy of each child node with respect to each content based on the user request arrival rate, the storage capacity and the upload bandwidth of each child node, and the size of each content includes: calculating, by each child node, a current storage policy

of each child node with respect to each content k by using the user request arrival rate

of each child node, the storage capacity Bij, the size of each content Sk, and an iteration coefficient

with respect to each content k , and sending the current storage policy

to the parent node, wherein:

where

i and j are non-zero positive integers; h is a positive number; when

the child node stores the content k; when

the child node does not store the content k , and t is the number of iterations of the iteration coefficient

calculating, by the parent node, a current total content demand Qk(t) according to the current storage policy

of the multiple child nodes, the user request arrival rate

and the size of each content Sk, and transferring the current total content demand Qk(t) to each child node, wherein the current total content demand Qk(t) is obtained according to the following equation:

J is non-zero positive integers; calculating, by each child node, an upload bandwidth allocation policy

according to the current total content demand Qk(t) and the upload bandwidth Uji of each child node, and transferring to the parent node, wherein the upload bandwidth allocation policy

is calculated according to the following equation:

wherein

and updating, by the parent node, the iteration coefficient

according to the upload bandwidth allocation policy

the upload bandwidth U ji, and the current total content demand Qk(t), and returning to the step of determining the current storage policy until the current storage policy

and the upload bandwidth allocation policy

converge at the optimal storage policy and the optimal upload bandwidth allocation policy, wherein the iteration coefficient

is updated according to the following equation:

wherein

is the iteration coefficient after the updating; a function

is a function positively related to

θ(t) = 1/t is a step length in an iteration process.

[0010] In a second aspect, a child node is provided, where the child node includes a collecting unit (30), configured to collect a user request arrival rate

of the child node with respect to each content k in a content set K, where the value of the user request arrival rate

indicates the number of access requests for the content k arriving at each child node within unit time; and a current storage policy obtaining unit (401), configured to calculate a current storage policy

of the child node with respect to each content k by using the user request arrival rate

in the child node, storage capacity Bij, a size of each content Sk, and an iteration coefficient

with respect to each content k, and send the current storage policy

to a parent node, wherein:

where

i and j are non-zero positive integers; h is a positive number; when

the child node stores each content k; when

the child node does not store the content k, and t is the number of iterations of the iteration coefficient

an upload bandwidth allocation, policy obtaining unit (403), configured to calculate a upload bandwidth allocation policy

according to a current total content demand Qk(t) obtained from the parent node and upload bandwidth U ji of each child node, and transfer the upload bandwidth allocation policy

to the parent node, wherein the upload bandwidth allocation policy

is calculated according to the following equation:

wherein



[0011] In a third aspect, a parent node is provided, including: a current total content demand obtaining unit (402), configured to calculate a current total content demand Qk (t) according to current storage policies

obtained respectively from multiple child nodes, a user request arrival rate

and a size of each content Sk, and transfer the current content demand Qk(t) to each child node, wherein the current total content demand Qk(t) is obtained according to the following equation:

wherein i, j and J are non-zero positive integers; and an iteration coefficient updating unit (404), configured to update an iteration coefficient

according to upload bandwidth allocation policies

obtained respectively from the multiple child nodes, upload bandwidth U ji, and the current total content demand Qk(t), and return the updated iteration coefficient to each child node until each child node determines that the current storage policy

and the upload bandwidth allocation policy

converge at an optimal storage policy and an optimal upload bandwidth allocation policy, wherein the iteration coefficient

is updated according to the following equation:



is the iteration coefficient after the updating; a function

is a function positively related to

θ(t) = 1/t is a step length in an iteration process.

[0012] In a fourth aspect, a multi-layer video network is provided, wherein the multi-layer video network comprises at least one parent node with reference to the implementation manner of the third aspect and multiple child nodes with reference to the implementation manner of the second aspect, wherein the multiple child nodes are connected to the parent node.

[0013] Unlike the prior art, in the embodiments of the present invention, parameters such as the user request arrival rate, the storage capacity and upload bandwidth of each child node, and the size of each content are fully considered, and these parameters are used to optimize the optimal storage policy and the optimal upload bandwidth allocation policy of each child node with respect to each content, which can save network bandwidth as much as possible and implement coordination among cache nodes, and is compatible with a heterogeneous network resource environment.

BRIEF DESCRIPTION OF DRAWINGS



[0014] 

FIG. 1 is a schematic structural diagram of a network topology of a multi-layer video network according to an exemplary embodiment of the present invention;

FIG. 2 is a schematic structural diagram of a network topology of a sub-processing area of a multi-layer video network according to an exemplary embodiment of the present invention;

FIG. 3 is a flowchart of a caching method for a multi-layer video network according to a first embodiment of the present invention;

FIG. 4 is a flowchart of a caching method for a multi-layer video network according to a second embodiment of the present invention;

FIG. 5 is a schematic structural diagram of a caching system for a multi-layer video network according to a third embodiment of the present invention;

FIG. 6 is a schematic system structural diagram of a caching system for a multi-layer video network according to a fourth embodiment of the present invention;

FIG. 7 is a schematic structural diagram of hardware of a child node in a caching system for a multi-layer video network according to a fifth embodiment of the present invention; and

FIG. 8 is a schematic structural diagram of hardware of a parent node in a caching system for a multi-layer video network according to a fifth embodiment of the present invention.


DESCRIPTION OF EMBODIMENTS



[0015] An object of the present invention is to, with respect to the characteristics of a distributed caching system and the defect of the conventional caching mechanism in the prior art, provide a caching method and system for a multi-layer video network, so as to ensure full use of existing network resources according to actual system requirements.

[0016] The present invention is intended for a caching system for a multi-layer video network. The system, by using a system topology structure, heterogeneous user request modes, storage resources of nodes, and bandwidth resources on layers as input, and with the optimization target of maximizing the number of supportable requests, proposes a storage policy and a dynamic request routing policy for each cache node.

[0017] FIG. 1 is a schematic structural diagram of a network topology of a multi-layer video network according to an exemplary embodiment of the present invention. As shown in FIG. 1, a top-layer node C0 is a root node of an entire video system and stores all video resources in the system. A set of video contents is referred to as a content set K. A sub-layer node Ci is an ith child node of the top-layer node. A bottom-layer node Cij is a jth child node of the sub-layer node Ci. When the system is in operation, a user initiates a content request to a bottom-layer node connected thereto, so as to obtain a specific content k in the content set K. This multi-layer topology structure may be expanded to have more layers according to a system scale and actual system deployment.

[0018] It is defined that each parent node and all child nodes thereof form a sub-processing area. Referring to FIG. 2, FIG. 2 is a schematic structural diagram of a network topology of a sub-processing area in a multi-layer video network according to an exemplary embodiment of the present invention. As shown in FIG. 2, the sub-layer node Ci is a parent node, and the sub-layer node Ci and all child nodes Cij thereof form a sub-processing area. Each child node Cij has a known user request arrival rate

where the value indicates the number of access requests for the content k arriving at the child node Cij within unit time.

[0019] Referring to FIG. 3, FIG. 3 is a flowchart of a caching method for a multi-layer video network according to a first embodiment of the present invention. As shown in FIG. 3, in the embodiment, the caching method for the multi-layer video network includes the following steps:

Step 101: Collect a user request arrival rate of each child node with respect to each content in a content set.

Step 102: Determine an optimal storage policy and an optimal upload bandwidth allocation policy of each child node with respect to each content based on the user request arrival rate, storage capacity and upload bandwidth of each child node, and a size of each content. Parameters such as the user request arrival rate, the storage capacity and upload bandwidth of each child node, and the size of each content are fully considered, and these parameters are used to optimize the optimal storage policy and the optimal upload bandwidth allocation policy of each child node with respect to each content, which can save network bandwidth as much as possible and implement coordination among cache nodes, and is compatible with a heterogeneous network resource environment.



[0020] Referring to FIG. 4, FIG. 4 is a flowchart of a caching method for a multi-layer video network according to a second embodiment of the present invention. As shown in FIG. 4, in the embodiment, the node Ci is used to represent a parent node, and the node Cij is used to represent each child node. The caching method for the multi-layer video network according to the present invention includes the following steps:

Step 201: Collect a user request arrival rate of each child node Cij with respect to each content in a content set.
In step 201, the Cij is used to represent each child node, K is used to represent a content set, k is used to represent each content in the content set, ∀kK, and

is used to represent a user request arrival rate of each content k.

Step 202: Each child node Cij calculates a current storage policy

of each child node Cij with respect to each content k by using the user request arrival rate

of each child node, storage capacity Bij, a size Sk of each content k, and an iteration coefficient

with respect to each content k, and sends the current storage policy

to the parent node Ci.



[0021] In step 202, the storage policy

is:

where,



[0022] The equation (1) may be obtained according to the following relationship: subject to

and

kK , maximize



[0023] In the storage policy

when

the child node Cij stores the content k; and when

the child node Cij does not store the content k.

[0024] The following further describes the foregoing relationship equation. In the relationship equation disclosed above, the storage capacity of the child node Cij is defined as Bij. Upload bandwidth from each child node Cij to the parent node Ci is defined as U ji. A rate of the upload bandwidth of the child node Cij that is used to serve the request for the content k is defined as

A size of the content k is defined as Sk. In an actual network environment, a video content generally is segmented according to a fixed size; therefore, each content k has a fixed size

is defined as the storage policy of the child node. If

the child node stores the content k. If

the child node does not store the content k. The problem of optimizing the storage policy of the sub-processing area (which includes the node Ci and the node Cij as described above) is defined as follows: subject to relationships such as



kK,

jJ ,

jJ, kK , and

jJ, kK , maximize



[0025] The optimization target is to maximize the number of requests that the system can support, and optimization parameters are the storage policy

and the upload bandwidth allocation policy

The present invention uses an approximation method based on the Lagrange relaxation method to obtain a distributed solution. The Lagrange multiplier is defined as

where

reflects an intention of each child node Cij to store the content k and an intention of each child node to share the content with its neighboring child nodes .

is used as an iteration coefficient. The storage policy optimization problem corresponding to each child node Cij is defined as: subject to

where

kK, maximize



[0026] Therefore, an optimal storage policy corresponding to the optimization problem is:

where the content set K is sorted in a descending order according to an index

and

This result represents an optimized storage policy of the child node in a tth iteration process. Each child node Cij calculates the result of

by using local information of each child node in a distributed way, and sends the result to the parent node Ci.

[0027] Step 203: The parent node Ci calculates a current total content demand Qk(t) according to the current storage policy

of multiple child nodes Cij, the user request arrival rate

and the size Sk of each content k, and transfers the current total content demand Qk(t) to each child node Cij.

[0028] In step 203, the current total content demand Qk(t) is obtained from the following equation:



[0029] Step 204: Each child node Cij calculates an upload bandwidth allocation policy

according to the current total content demand Qk(t) and the upload bandwidth U ji of each child node, and transfers the upload bandwidth allocation policy

to the parent node Ci.

[0030] In step 204, the upload bandwidth allocation policy

is obtained from the following equation:





[0031] The equation (3) may be obtained according to the following relationship: subject to



and

maximize



[0032] The content set K is sorted in a descending order according to an index

and

This result represents an upload bandwidth allocation policy of the child node Cij in a tth iteration process.

[0033] Step 205: The parent node Ci updates the iteration coefficient

according to the upload bandwidth allocation policy

the upload bandwidth U ji, and the current total content demand Qk(t), and return to step 202 of determining the current storage policy

until the current storage policy

and the upload bandwidth allocation policy

converge at the optimal storage policy

and the optimal upload bandwidth allocation policy



[0034] In step 205, the iteration coefficient

is updated according to the following equation:

where a function

is a function positively related to

and θ(t) = 1/t is a step length in the iteration process, which ensures rapid convergence in the entire iteration process.

[0035] When upload bandwidth for a request for the content k is insufficient, an iteration value of the Lagrange multiplier

decreases, thereby encouraging the child node to store and share the content to a larger extent in a next iteration process. Correspondingly, when upload bandwidth for a request for the content k is surplus, an iteration value of the Lagrange multiplier increases, thereby encouraging the child node to suppress the storage and sharing of the content in the next iteration process.

[0036] The function

is any function positively related to

and θ(t) = 1/t is a step length in the iteration process, which ensures rapid convergence in the entire iteration process.

[0037] The result of the sub-processing area optimization method obtained in step 202 may determine a policy for request routing in the sub-processing area. With respect to each request arriving at the child node Cij, if

equals 1, that is, the node Cij has stored corresponding content, the content k is directly returned; if

equals 0, that is, the node does not store the corresponding content, the request is sent to the parent node Ci.

[0038] If the parent node Ci stores the corresponding content, the corresponding content is returned, where a caching policy of the parent node Ci is determined according to a rule to be disclosed as follows. Otherwise, the parent node Ci determines, according to

in step 205, to dynamically send the request to a certain child node Cij, so as to implement caching coordination. A probability of forwarding the request for the content k to the child node Cij is:



[0039] A remaining request that is not satisfied is further sent to an upper-layer node of the parent node, and request routing processing is performed again.

[0040] A storage allocation and request routing policy of the sub-processing area is an iteration process. Therefore, the embodiment of the present invention is suitable for a topology with more layers. When values of

and

of nodes at a certain layer converge at optimal values

and

the sub-processing area illustrated in FIG. 4 moves upwards. That is, the parent node in the original problem is converted into a child node in a new problem.

[0041] The request arrival rate of each child node Ci is:



[0042] The solution of the subsequent storage allocation and request routing policy problem is similar to the description above.

[0043] Referring to FIG. 5, FIG. 5 is a schematic system structural diagram of a caching system for a multi-layer video network according to a third embodiment of the present invention. As shown in FIG. 5, in the third embodiment of the present invention, the multi-layer video network includes at least one parent node and multiple child nodes connected to the parent node, and a caching system for the multi-layer video network includes a collecting unit 30 and a policy determining unit 40.

[0044] The collecting unit 30 is configured to collect a user request arrival rate of each child node with respect to each content in a content set. The policy determining unit 40 is configured to determine an optimal storage policy and an optimal upload bandwidth allocation policy of each child node with respect to each content based on the user request arrival rate, storage capacity and upload bandwidth of each child node, and a size of each content.

[0045] Referring to FIG. 6, FIG. 6 is a schematic system structural diagram of a caching system for a multi-layer video network according to a fourth embodiment of the present invention. As shown in FIG. 6, in the fourth embodiment of the present invention, a caching system for the multi-layer video network includes a collecting unit 30 and a policy determining unit 40, where the policy determining unit 40 includes a current storage policy obtaining unit 401, a current total content demand obtaining unit 402, an upload bandwidth allocation policy obtaining unit 403, and an iteration coefficient updating unit 404.

[0046] The current storage policy obtaining unit 401 is set in each child node, and is configured to calculate a current storage policy of each child node with respect to each content by using the user request arrival rate in each child node, the storage capacity, the size of each content, and an iteration coefficient with respect to each content, and send the current storage policy to the parent node.

[0047] The current total content demand obtaining unit 402 is set in the parent node, and is configured to calculate a current total content demand according to the current storage policy of multiple child nodes, the user request arrival rate, and the size of each content, and transfer the current total content demand to each child node.

[0048] The upload bandwidth allocation policy obtaining unit 403 is set in each child node, and is configured to calculate the upload bandwidth allocation policy according to the current total content demand and upload bandwidth of each child node, and transfer the upload bandwidth allocation policy to the parent node.

[0049] The iteration coefficient updating unit 404 is set in the parent node, and is configured to update the iteration coefficient according to the upload bandwidth allocation policy, the upload bandwidth, and the current total content demand, and return the updated iteration coefficient to the current storage policy obtaining unit 401 until the current storage policy obtaining unit 401 determines that the current storage policy and the upload bandwidth allocation policy converge at an optimal storage policy and an optimal upload bandwidth allocation policy.

[0050] Specific operation modes of the collecting unit 30, the current storage policy obtaining unit 401, the current total content demand obtaining unit 402, the upload bandwidth allocation policy obtaining unit 403, and the iteration coefficient updating unit 404 have been described in detail in the foregoing embodiments, and are not described repeatedly herein.

[0051] Referring to FIG. 7, IG. 7 is a schematic structural diagram of hardware of a child node in a caching system for a multi-layer video network according to a fifth embodiment of the present invention.

[0052] As shown in FIG. 7, a child node includes a processor 701, a program memory 702, a network adapter 703, and a bus 704, where the processor 701, the program memory 702, and the network adapter 703 are coupled by using the bus 704.

[0053] The program memory 702 stores:

a first instruction for controlling the network adapter 703 to collect a user request arrival rate of the child node with respect to each content in a content set;

a second instruction for calculating a current storage policy of each child node with respect to each content by using the user request arrival rate in the child node, storage capacity, a size of each content, and an iteration coefficient with respect to each content;

a third instruction for controlling the network adapter 703 to send the current storage policy to the parent node;

a fourth instruction for controlling the network adapter 703 to calculate an upload bandwidth allocation policy according to a current total content demand obtained from the parent node and upload bandwidth of each child node, and transfer the upload bandwidth allocation policy to the parent node;

a fifth instruction for calculating the upload bandwidth allocation policy according to the current total content demand and the upload bandwidth of each child node; and

a sixth instruction for controlling the network adapter 703 to transfer the upload bandwidth allocation policy to the parent node.



[0054] The processor 701 executes the first to sixth instructions.

[0055] In the second instruction, the current storage policy is defined as:

where

is the current storage policy;

K is a content set; k is each content in the content set K; Sk is a size of each content k ; Bij is storage capacity; i and j are non-zero positive integers; h is a positive number; when

the content k is stored; when

the content k is not stored; and t is the number of iterations of the iteration coefficient.

[0056] In the fifth instruction, the processor 701 calculates the upload bandwidth allocation policy according to the following equation:

where

is the upload bandwidth allocation policy; Qk(t) is the current total content demand;

is the current storage policy;

is the user request arrival rate; Uji is the upload bandwidth of the child node;

K is a content set; k is each content in the content set K ; sk is a size of each content k ; Bij is the storage capacity of the child node; i and j are non-zero positive integers; h is a positive integer; and t is the number of iterations of the iteration coefficient.

[0057] Referring to FIG. 8, FIG. 8 is a schematic structural diagram of hardware of a parent node in a caching system for a multi-layer video network according to a fifth embodiment of the present invention.

[0058] As shown in FIG. 8, a parent node includes a processor 801, a program memory 802, a network adapter 803, and a bus 804, where the processor 801, the program memory 802, and the network adapter 803 are coupled by using the bus 804.

[0059] The program memory 802 stores:

a seventh instruction for calculating a current total content demand according to current storage policies obtained respectively from multiple child nodes, a user request arrival rate, and a size of each content;

an eighth instruction for controlling the network adapter 803 to transfer the current content demand to each child node;

a ninth instruction for updating an iteration coefficient according to upload bandwidth allocation policies obtained respectively from multiple child nodes, upload bandwidth, and the current total content demand; and

a tenth instruction for controlling the network adapter 803 to return the updated iteration coefficient to each child node until each child node determines that the current storage policy and the upload bandwidth allocation policy converge at an optimal storage policy and an optimal upload bandwidth allocation policy.



[0060] The processor 801 executes the seventh to tenth instructions.

[0061] In the seventh instruction, the current total content demand is obtained according to the following equation:

where Qk(t) is the current total content demand;

is the current storage policy;

is the user request arrival rate; K is a content set; k is each content in the content set K; sk is a size of each content k ; i, j, and J are non-zero positive integers; h is a positive number; and t is the number of iterations of the iteration coefficient.

[0062] In the tenth instruction, the iteration coefficient is updated according to the following equation:

where

is the iteration coefficient after the updating;

is the iteration coefficient before the updating; Uji is the upload bandwidth of each child node; Qk(t) is the current total content demand;

is the current storage policy;

is the user request arrival rate; K is a content set; k is each content in the content set K; sk is a size of each content k ; i and j are non-zero positive integers; a function

is a function positively related to

θ(t) = 1/t is a step length in an iteration process; and t is the number of iterations of the iteration coefficient.

[0063] According to the content disclosed above, the present invention has the following system features: a caching policy is intended for an existing high-definition video system having a feature of high bandwidth consumption, and a dynamic request routing policy can implement coordination among distributed cache nodes in a better way, which can solve the caching policy optimization problem in a heterogeneous resource environment.

[0064] In the present invention, the caching optimization policy intended for a network system having the feature of high bandwidth consumption is proposed, which is especially suitable for being applied in a network video system. The present invention designs a distributed caching policy for the high-definition video system by using limited bandwidth resources among nodes as a key factor, which is more practical.

[0065] In addition, the present invention proposes the caching optimization policy intended for a large-scale network system with heterogeneous system structures and heterogeneous user requests. The present invention uses operation parameters of a heterogeneous system as input, and obtains an optimized distributed caching policy by using an approximation method based on the Lagrange relaxation method.

[0066] Moreover, the present invention proposes a dynamic request routing policy intended for terminal user requests. By using the caching optimization policy based on a current system condition, the system can implement dynamic routing for user requests in the system, so as to implement coordination among distributed cache servers at different layers, thereby improving utilization ratio of system resources.

[0067] The present invention may be intended for a caching system for a multi-layer video network, and may bring the following benefits:
  1. (1) by using a distributed approximation method based on the Lagrange relaxation method, a distributed policy for large-scale cache servers can be implemented, so as to reduce temporal complexity in finding a high-efficiency caching policy and improve system efficiency;
  2. (2) a bandwidth limit that is common in actual video systems is considered, so as to improve applicability of a distributed caching policy;
  3. (3) a dynamic routing policy for user requests is proposed, which can implement resource sharing among cache servers at the same layer, so as to improve an overall utilization ratio of the system resources; and
  4. (4) the heterogeneity of system storage resources, bandwidth resources, and user request modes is considered in the optimization problem and the corresponding distributed optimization solution, which complies with the features of an actual distributed caching system in a better way, so as to satisfy design requirements of the actual system.


[0068] The present invention solves the caching policy problem in high-definition network video systems represented by an IPTV system, which includes two problems, namely, the storage policy problem of distributed cache servers and the dynamic routing policy problem of users' content requests. The present invention is intended to maximize the number of user requests that may be supported by an existing system infrastructure, divides the caching policy problem into a multi-layer optimization problem, and determines the technical solution for the caching system in a bottom-up manner.

[0069] The foregoing descriptions are merely embodiments of the present invention, and are not intended to limit the scope of the present invention. Any equivalent structure or equivalent process alternation made by using the content of the specification and drawings of the present invention, or directly or indirectly applying the content of the specification and drawings of the present invention to other related technical fields, shall fall within the protection scope of the present invention.


Claims

1. A caching method for a multi-layer video network, wherein the multi-layer video network comprises at least one parent node and multiple child nodes connected to the parent node, comprising:

collecting a user request arrival rate

of each child node with respect to each content k in a content set K, where the value of the user request arrival rate

indicates the number of access requests for the content k arriving at each child node within unit time;

determining an optimal storage policy and an optimal upload bandwidth allocation policy of each child node with respect to each content k based on the user request arrival rate

storage capacity Bij and upload bandwidth U ji of each child node, and a size of each content Sk, comprising:

calculating, by each child node, a current storage policy

of each child node with respect to each content k by using the user request arrival rate

of each child node, the storage capacity Bij, the size of each content sk, and an iteration coefficient

with respect to each content k, and sending the current storage policy

to the parent node, wherein:

where

i and j are non-zero positive integers; h, is a positive number; when

the child node stores the content k ; when

the child node does not store the content k, and t is the number of iterations of the iteration coefficient

calculating, by the parent node, a current total content demand Qk(t) according to the current storage policy

of the multiple child nodes, the user request arrival rate

and the size of each content sk, and transferring the current total content demand Qk(t) to each child node, wherein the current total content demand Qk(t) is obtained according to the following equation:

wherein J is non-zero positive integers;

calculating, by each child node, an upload bandwidth allocation policy

according to the current total content demand Qk(t) and the upload bandwidth U of each child node, and transferring to the parent node, wherein the upload bandwidth allocation policy

is calculated according to the following equation:

wherein

and

updating, by the parent node, the iteration coefficient

according to the upload bandwidth allocation policy

the upload bandwidth U ji, and the current total content demand Qk(t), and returning to the step of determining the current storage policy until the current storage policy

and the upload bandwidth allocation policy

converge at the optimal storage policy and the optimal upload bandwidth allocation policy, wherein the iteration coefficient

is updated according to the following equation:

wherein

is the iteration coefficient after the updating; a function

is a function positively related to

θ(t) = 1/t is a step length in an iteration process.


 
2. A child node, comprising:

a collecting unit (30), configured to collect a user request arrival rate

of the child node with respect to each content k in a content set K, where the value of the user request arrival rate

indicates the number of access requests for the content k arriving at each child node within unit time; and

a current storage policy obtaining unit (401), configured to calculate a current storage policy

of the child node with respect to each content k by using the user request arrival rate

in the child node, storage capacity Bij a size of each content sk, and an iteration coefficient

with respect to each content k, and send the current storage policy

to a parent node, wherein:

where

i and j are non-zero positive integers; h is a positive number; when

the child node stores each content k ; when

the child node does not store the content k, and t is the number of iterations of the iteration coefficient

an upload bandwidth allocation policy obtaining unit (403), configured to calculate a upload bandwidth allocation policy

according to a current total content demand Qk(t) obtained from the parent node and upload bandwidth U ji of each child node, and transfer the upload bandwidth allocation policy

to the parent node, wherein the upload bandwidth allocation policy

is calculated according to the following equation:

wherein


 
3. A parent node, comprising:

a current total content demand obtaining unit (402), configured to calculate a current total content demand Qk(t) according to current storage policies

obtained respectively from multiple child nodes, a user request arrival rate

and a size of each content Sk, and transfer the current content demand Qk(t) to each child node, wherein the current total content demand Qk(t) is obtained according to the following equation:

wherein i, j and J are non-zero positive integers; and

an iteration coefficient updating unit (404), configured to update an iteration coefficient

according to upload bandwidth allocation policies

obtained respectively from the multiple child nodes, upload bandwidth U ji, and the current total content demand Qk(t), and return the updated iteration coefficient to each child node until each child node determines that the current storage policy

and the upload bandwidth allocation policy

converge at an optimal storage policy and an optimal upload bandwidth allocation policy, wherein the iteration coefficient

is updated according to the following equation:

wherein

is the iteration coefficient after the updating; a function

is a function positively related to

θ(t) = 1/t is a step length in an iteration process.


 
4. A multi-layer video network, wherein the multi-layer video network comprises at least one parent node according to claim 3 and multiple child nodes according to claim 2, wherein the multiple child nodes are connected to the parent node.
 


Ansprüche

1. Zwischenspeicherverfahren für ein mehrschichtiges Videonetzwerk, wobei das mehrschichtige Videonetzwerk mindestens einen übergeordneten Knoten und mehrere untergeordnete Knoten umfasst, die mit dem übergeordneten Knoten verbunden sind, umfassend:

Erfassen einer Benutzeranforderungsankunftsrate

jedes untergeordneten Knotens in Bezug auf jeden Inhalt k in einer Inhaltsmenge K, wobei der Wert der Benutzeranforderungsankunftsrate

die Anzahl von Zugriffsanforderungen für den Inhalt k anzeigt, die an jedem untergeordneten Knoten innerhalb einer Einheitszeit ankommen;

Bestimmen einer optimalen Speicherrichtlinie und einer optimalen Hochladebandbreitenzuweisungsrichtlinie jedes untergeordneten Knotens in Bezug auf jeden Inhalt k basierend auf der Benutzeranforderungsankunftsrate

einer Speicherkapazität Bij und einer Hochladebandbreite Uji jedes untergeordneten Knotens und einer Größe jedes Inhalts Sk, umfassend:

Berechnen durch jeden untergeordneten Knoten einer aktuellen Speicherrichtlinie

jedes untergeordneten Knotens in Bezug auf jeden Inhalt k durch Verwenden der Benutzeranforderungsankunftsrate

jedes untergeordneten Knotens, der Speicherkapazität Bij, der Größe jedes Inhalts sk und eines Iterationskoeffizienten

in Bezug auf jeden Inhalt k, und Senden der aktuellen Speicherrichtlinie

an den übergeordneten Knoten, wobei:

wobei

i und j von null verschiedene, positive ganze Zahlen sind;

h eine positive Zahl ist; wenn

der untergeordnete Knoten den Inhalt k speichert; wenn

der untergeordnete Knoten den Inhalt k nicht speichert, und t die Anzahl von Iterationen des Iterationskoeffizienten

ist;

Berechnen durch den übergeordneten Knoten einer aktuellen Gesamtinhaltsnachfrage Qk(t) gemäß der aktuellen Speicherrichtlinie

der mehreren untergeordneten Knoten, der Benutzeranforderungsankunftsrate

und der Größe jedes Inhalts sk, und

Senden der aktuellen Gesamtinhaltsnachfrage Qk(t) an jeden untergeordneten Knoten, wobei die aktuelle Gesamtinhaltsnachfrage Qk(t) gemäß der folgenden Gleichung erhalten wird:

wobei es sich bei J um von null verschiedene, positive ganze Zahlen handelt;

Berechnen durch jeden untergeordneten Knoten einer Hochladebandbreitenzuweisungsrichtlinie

gemäß der aktuellen Gesamtinhaltsnachfrage Qk(t) und der Hochladebandbreite Uji jedes untergeordneten Knotens und Senden an den übergeordneten Knoten, wobei die Hochladebandbreitenzuweisungsrichtlinie

gemäß der folgenden Gleichung berechnet wird:

wobei

und

Aktualisieren durch den übergeordneten Knoten des Iterationskoeffizienten

gemäß der Hochladebandbreitenzuweisungsrichtlinie

der Hochladebandbreite Uji und der aktuellen Gesamtinhaltsnachfrage Qk(t), und Zurückkehren zum Schritt des Bestimmens der aktuellen Speicherrichtlinie, bis die aktuelle Speicherrichtlinie

und die Hochladebandbreitenzuweisungsrichtlinie

bei der optimalen Speicherrichtlinie und der optimalen Hochladebandbreitenzuweisungsrichtlinie konvergieren,

wobei der Iterationskoeffizient

gemäß der folgenden Gleichung aktualisiert wird:

wobei

der Iterationskoeffizient nach dem Aktualisieren ist; eine Funktion

eine Funktion ist, die mit

positiv in Beziehung steht; θ(t) = 1/t eine Schrittlänge in einem Iterationsprozess ist.


 
2. Untergeordneter Knoten, umfassend:

eine Erfassungseinheit (30), die so konfiguriert ist, dass sie eine Benutzeranforderungsankunftsrate

des untergeordneten Knotens in Bezug auf jeden Inhalt k in einer Inhaltsmenge K erfasst, wobei der Wert der Benutzeranforderungsankunftsrate

die Anzahl von Zugriffsanforderungen für den Inhalt k anzeigt, die an jedem untergeordneten Knoten innerhalb einer Einheitszeit ankommen; und

eine Einheit (401) zum Erhalten einer aktuellen Speicherrichtlinie, die so konfiguriert ist, dass sie eine aktuelle Speicherrichtlinie

des untergeordneten Knotens in Bezug auf jeden Inhalt k durch Verwenden der Benutzeranforderungsankunftsrate

im untergeordneten Knoten, der Speicherkapazität Bij, einer Größe jedes Inhalts Sk und eines Iterationskoeffizienten

in Bezug auf jeden Inhalt k berechnet und die aktuelle Speicherrichtlinie

an einen übergeordneten Knoten sendet, wobei:

wobei

i und j von null verschiedene, positive ganze Zahlen sind; h eine positive Zahl ist; wenn

der untergeordnete Knoten jeden Inhalt k speichert; wenn

der untergeordnete Knoten den Inhalt k nicht speichert,

und t die Anzahl von Iterationen des Iterationskoeffizienten

ist;

eine Hochladebandbreitenzuweisungsrichtlinien-Erhaltungseinheit (403), die so konfiguriert ist, dass sie eine Hochladebandbreitenzuweisungsrichtlinie

gemäß einer vom übergeordneten Knoten erhaltenen, aktuellen Gesamtinhaltsnachfrage Qk(t) und der Hochladebandbreite Uji jedes untergeordneten Knotens berechnet und die Hochladebandbreitenzuweisungsrichtlinie

an den übergeordneten Knoten sendet, wobei die Hochladebandbreitenzuweisungsrichtlinie

gemäß der folgenden Gleichung berechnet wird:

wobei


 
3. Übergeordneter Knoten, umfassend:

eine Einheit (402) zum Erhalten einer aktuellen Gesamtinhaltsnachfrage, die so konfiguriert ist, dass sie eine aktuelle Gesamtinhaltsnachfrage Qk(t) gemäß aktuellen Speicherrichtlinien

die jeweils von mehreren untergeordneten Knoten erhalten werden, einer Benutzeranforderungsankunftsrate

und einer Größe jedes Inhalts sk berechnet und die aktuelle Gesamtinhaltsnachfrage Qk(t) an jeden untergeordneten Knoten sendet, wobei die aktuelle Gesamtinhaltsnachfrage Qk(t) gemäß der folgenden Gleichung erhalten wird:



wobei i, j und J von null verschiedene, positive ganze Zahlen sind; und

eine Iterationskoeffizienten-Aktualisierungseinheit (404), die so konfiguriert ist, dass sie einen Iterationskoeffizienten

gemäß Hochladebandbreitenzuweisungsrichtlinien

die jeweils von den mehreren untergeordneten Knoten erhalten werden, der Hochladebandbreite Uji und der aktuellen Gesamtinhaltsnachfrage Qk(t) aktualisiert und den aktualisierten Iterationskoeffizienten an jeden untergeordneten Knoten zurücksendet, bis jeder untergeordnete Knoten bestimmt, dass die aktuelle Speicherrichtlinie

und die Hochladebandbreitenzuweisungsrichtlinie

bei einer optimalen Speicherrichtlinie und einer optimalen Hochladebandbreitenzuweisungsrichtlinie konvergieren, wobei der Iterationskoeffizient

gemäß der folgenden Gleichung aktualisiert wird:

wobei

der Iterationskoeffizient nach dem Aktualisieren ist; eine Funktion



eine Funktion ist, die mit

positiv in Beziehung steht; θ(t) = 1/t eine Schrittlänge in einem Iterationsprozess ist.


 
4. Mehrschichtiges Videonetzwerk, wobei das mehrschichtige Videonetzwerk mindestens einen übergeordneten Knoten nach Anspruch 3 und mehrere untergeordnete Knoten nach Anspruch 2 umfasst, wobei die mehreren untergeordneten Knoten mit dem übergeordneten Knoten verbunden sind.
 


Revendications

1. Procédé d'utilisation d'une antémémoire pour un réseau vidéo à couches multiples, le réseau vidéo à couches multiples comprenant au moins un noeud parent et de multiples noeuds enfants reliés au noeud parent, comprenant :

le recueil d'un taux d'arrivées de demandes utilisateur

de chaque noeud enfant par rapport à chaque contenu k dans un ensemble de contenus K, où la valeur du taux d'arrivées de demandes utilisateur

indique le nombre de demandes d'accès pour le contenu k arrivant à chaque noeud enfant par unité de temps,

la détermination d'une politique optimale de stockage et d'une politique optimale d'allocation de bande passante de liaison montante de chaque noeud enfant par rapport à chaque contenu k sur la base du taux d'arrivées de demandes utilisateur

de la capacité de stockage Bij et de la bande passante de liaison montante Uji de chaque noeud enfant, et la taille de chaque contenu sk, ce qui comprend :

le calcul, par chaque noeud enfant, d'une politique courante de stockage

de chaque noeud enfant par rapport à chaque contenu k en utilisant le taux d'arrivées de demandes utilisateur

de chaque noeud enfant, la capacité de stockage Bij, la taille de chaque contenu Sk et un coefficient d'itération

par rapport à chaque contenu k ;

ainsi que l'envoi de la politique courante de stockage

au noeud parent, dans lequel :



i et j sont des nombres entiers positifs non nuls ; h est un nombre positif ; le noeud enfant stocke le contenu k ; lorsque

le noeud enfant ne stocke pas le contenu k lorsque

et t représente le nombre d'itérations du coefficient d'itération

le calcul, par le noeud parent, d'une demande courante de contenu total Qk(t) en fonction de la politique courante de stockage

des multiples noeuds enfants, du taux d'arrivées de demandes utilisateur

et de la taille de chaque contenu Sk ; et le transfert de la demande courante de contenu total Qk(t) vers chaque noeud enfant, la demande courante de contenu total Qk(t) étant obtenue en fonction de l'équation suivante :

où J est un nombre entier positif non nul, le calcul, par chaque noeud enfant, d'une politique d'allocation de bande passante de liaison montante

en fonction de la demande courante de contenu total Qk(t) et de la bande passante de liaison montante Uji de chaque noeud enfant, ainsi que le transfert vers le noeud parent, la politique d'allocation de bande passante de liaison montante

étant calculée conformément à l'équation suivante :



et

la mise à jour, par le noeud parent, du coefficient d'itération

en fonction de la politique d'allocation de bande passante de liaison montante

de la bande passante de liaison montante Uji et de la demande courante de contenu total Qk(t), ainsi que le retour à l'étape de détermination de la politique courante de stockage jusqu'à ce que la politique courante de stockage

et la politique d'allocation de bande passante de liaison montante

convergent au niveau de la politique optimale de stockage et la politique optimale d'allocation de bande passante de liaison montante, le coefficient d'itération

étant mis à jour conformément à l'équation suivante :



représente le coefficient d'itération après la mise à jour ; la fonction

représentant une fonction se rapportant positivement à



θ(t) = 1/t représentant la longueur de pas dans un traitement d'itération.


 
2. Noeud enfant comprenant :

une unité de collecte (30) configurée pour recueillir un taux d'arrivées de demandes utilisateur

du noeud enfant par rapport à chaque contenu k dans un ensemble de contenus K, où la valeur du taux d'arrivées de demandes utilisateur

indique le nombre de demandes d'accès pour le contenu k arrivant à chaque noeud enfant par unité de temps, et

une unité de récupération de politique courante de stockage configurée pour calculer la politique courante de stockage

du noeud enfant par rapport à chaque contenu k en utilisant le taux d'arrivées de demandes utilisateur

dans le noeud enfant, la capacité de stockage Bij, la taille de chaque contenu Sk et un coefficient d'itération

par rapport à chaque contenu k ; ainsi que pour envoyer la politique courante de stockage

au noeud parent, dans lequel :





i et j sont des nombres entiers positifs non nuls ; h est un nombre positif ; le noeud enfant stocke chaque contenu k lorsque

le noeud enfant ne stocke pas le contenu k lorsque

et t représente le nombre d'itérations du coefficient d'itération

une unité de récupération de politique d'allocation de bande passante de liaison montante (403) configurée pour calculer une politique d'allocation de bande passante de liaison montante

en fonction de la demande courante de contenu total Qk(t) récupérée à partir du noeud parent et de la bande passante de liaison montante Uji de chaque noeud enfant, ainsi que pour transférer vers le noeud parent la politique d'allocation de bande passante de liaison montante

la politique d'allocation de bande passante de liaison montante

étant calculée conformément à l'équation suivante :




 
3. Noeud parent comprenant :

une unité de récupération de demande courante de contenu total (402) configurée pour calculer une demande courante de contenu total Qk(t) en fonction de politiques courantes de stockage

obtenues respectivement auprès de multiples noeuds enfants,

d'un taux d'arrivées de demandes utilisateur

et de la taille de chaque contenu Sk, et

pour transférer la demande courante de contenu Qk(t) vers chaque noeud enfant, la demande courante de contenu total Qk(t) étant obtenue conformément à l'équation suivante :

où i, j et J sont des nombres entiers positifs non nuls, et

une unité de mise à jour de coefficient d'itération (404) configurée pour mettre à jour un coefficient d'itération

en fonction de politiques d'allocation de bande passante de liaison montante

obtenues respectivement auprès des multiples noeuds enfants, de la bande passante de liaison montante Uji et de la demande courante de contenu total Qk(t), et pour renvoyer le coefficient d'itération mis à jour à chaque noeud enfant jusqu'à ce que chaque noeud enfant détermine que la politique courante de stockage

et la politique d'allocation de bande passante de liaison montante

convergent au niveau d'une politique optimale de stockage et une politique optimale d'allocation de bande passante de liaison montante, le coefficient d'itération

étant mis à jour conformément à l'équation suivante :



représente le coefficient d'itération après la mise à jour ; la fonction

représentant une fonction se rapportant positivement à

θ(t) = 1/t représentant la longueur de pas dans un traitement d'itération.


 
4. Réseau vidéo à couches multiples, ledit réseau vidéo à couches multiples comprenant au moins un noeud parent selon la revendication 3 et de multiples noeuds enfants selon la revendication 2, les multiples noeuds enfants étant reliés au noeud parent.
 




Drawing

















Cited references

REFERENCES CITED IN THE DESCRIPTION



This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

Patent documents cited in the description




Non-patent literature cited in the description