Content management device and program therefor
Patent Information
- Application Number
- JP2023137415
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-25
- Publication Date
- 2025-03-07
AI Technical Summary
【0014】 本発明によれば、視聴端末の取得要求見込みのコンテンツを考慮して、コンテンツの取得先および配置先を決定することができるため、キャッシュサーバを有効に活用することができる。
Smart Images

Figure 2025031289000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a content management device and a program for determining where to acquire and place content in a content distribution network. [Background technology]
[0002] Nowadays, content delivery networks (CDNs) are widely used to distribute web content such as video, still images, and audio over the Internet. CDNs distribute and place copies of content on multiple cache servers, and distribute the content from the appropriate cache server to the viewing terminal (client), thereby distributing the load on the distribution server and accelerating content distribution.
[0003] If the content requested by the viewing terminal is stored in the cache server, the cache server distributes the content to the viewing terminal. If the content requested by the viewing terminal is not stored in the cache server, the cache server obtains the content from the content server (origin server) or another cache server and distributes the content. In this way, when a cache server obtains content from a content server or another cache server, additional processing is required compared to when the requested content is stored in the cache server. Therefore, it is desirable that the content requested by the viewing terminal is stored in the requested cache server. Therefore, it is important to appropriately determine which content should be stored in which cache server.
[0004] Conventional methods for placing content include, for example, a method for determining placement based on viewing trends for each content genre (see Patent Document 1), a method for determining placement based on the system conditions and usage conditions for each cache server (see Patent Document 2), and a method for determining placement so that multiple users can access content with as little delay as possible (see Patent Document 3). [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2003-263359 A [Patent Document 2] JP 2012-247877 A [Patent Document 3] JP 2016-019153 A Summary of the Invention [Problem to be solved by the invention]
[0006] In recent years, technology (recommendation function) that presents content related to the content being viewed, content recommended by a device that recommends viewed content, etc. has become widely used, and as a result, a variety of content is being viewed in addition to the popular content requested by many viewing terminals. Therefore, with conventional methods, the requested content is not stored in the cache server, and the cache server often has to retrieve the content from a content server or another cache server, resulting in an issue where the cache server is not utilized effectively.
[0007] The present invention has been made in consideration of the problems with such conventional methods, and has an objective of providing a content management device and a program therefor that determine the source from which content is obtained and where the content is placed for a viewing terminal, taking into account content that is likely to be requested from the viewing terminal. [Means for solving the problem]
[0008] In order to solve the above problems, the content management device of the present invention is a content management device that determines the source of content for a viewing terminal in a content distribution network consisting of a content server, a name resolution server, and a cache server, and the destination of the content in the cache server, and is configured to include an information collection unit, a mathematical modeling unit, a model variable calculation unit, a placement determination unit, and an information notification unit.
[0009] In such a configuration, the content management device uses an information collection unit to collect content information including the data size of the content from the content server, network information including the capacity limit and network cost from the cache server, and client information including the content number of the content that is expected to be requested from the viewing terminal.
[0010] Then, the content management device generates a mathematical model using the mathematical modeling unit based on the content information, network information, and client information, with a first variable indicating whether or not an arbitrary cache server is to be used as the acquisition destination for the content requested by the viewing terminal, and a second variable indicating whether or not the content is to be placed in an arbitrary cache server. This mathematical model can be expressed using a quadratic form binary optimization representation (QUBO representation) or an Ising model representation. Furthermore, the content management device calculates solutions for the variables in the mathematical model as a solution to the combinatorial optimization problem by the model variable calculation unit.
[0011] Then, the content management device generates, via the placement determination unit, acquisition destination information indicating the acquisition destination of the content for the viewing terminal from the solution of the first variable calculated by the model variable calculation unit, and generates placement destination information indicating the placement destination of the content in the cache server from the solution of the second variable. Then, the content management device notifies the name resolution server of the acquisition destination information generated by the placement determination unit, and notifies the name resolution server and the corresponding cache server of the placement destination information, by the information notification unit.
[0012] This location information enables the cache server to acquire the content expected to be requested from the content server and store it in advance. The acquisition destination information enables the name resolution server to notify the acquisition destination of the content in response to a request from the viewing terminal. Even if the acquisition destination of the requested content does not exist in the acquisition destination information, the name resolution server can notify the acquisition destination of the content by the location information.
[0013] The content management device can be operated by a content management program that causes a computer to function as each of the above-mentioned functional units. Effect of the Invention
[0014] According to the present invention, the acquisition destination and arrangement destination of the content can be determined taking into consideration the content that is likely to be requested by the viewing terminal, so that the cache server can be effectively utilized. [Brief description of the drawings]
[0015] [Figure 1] 1 is a block diagram showing an example of a configuration of a content distribution system including a content management device according to an embodiment of the present invention. [Diagram 2] 1 is a block diagram showing an example of a configuration of a content management device according to an embodiment of the present invention. [Diagram 3] 3 is a block diagram showing an example of the configuration of a mathematical modeling unit in FIG. 2. [Figure 4] 4 is an explanatory diagram for explaining an example of processing by a variable constraint model formulation unit in FIG. 3; [Diagram 5] 4 is an explanatory diagram for explaining an example of processing by a network cost evaluation model formulation unit in FIG. 3; [Figure 6] 4 is an explanatory diagram for explaining an example of processing by a cache amount evaluation model formulation unit in FIG. 3; [Figure 7]4 is a flowchart showing an operation of the content management device according to the embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0016] [Overall configuration of content distribution system] First, with reference to FIG. 1, the overall configuration of a content distribution system including a content management device according to an embodiment of the present invention will be described.
[0017] The content delivery system S is a system that embodies a content delivery network (CDN). The content distribution system S includes a content distribution network consisting of a content server 1, a name resolution server 2, and a cache server 3 (31, 32, ...), a content management device 4, and a computer 5, and distributes content to multiple viewing terminals 61, 62, ..., which are viewer-side devices. These devices are connected via a network N. However, it is not necessary for all devices to be connected to each other, and some devices may not be connected. For example, the present invention can be applied to a case where cache server 31 and cache server 32 are connected, but cache server 31 and cache server 33 are not connected. Note that, although FIG. 1 illustrates a case where there is one content server 1, one name resolution server 2, four cache servers 3, and two viewing terminals 6, the number of these is not limited.
[0018] The content server (origin server) 1 stores multiple contents CO and transmits the contents CO in response to a request from the cache server 3 or the viewing terminal 6 to the cache server 3 or the viewing terminal 6 via the network N. The contents CO are data (original data) of moving images, still images, audio, or other Web contents. The content server 1 notifies the content management device 4 of content information a indicating the content number and data size of each stored content CO via the network N. This notification is made when the stored contents change, for example, when the content server 1 stores new content.
[0019] In response to a content request from the viewing terminal 6 specifying a domain name, the name resolution server 2 responds to the viewing terminal 6 with an address (IP address) that identifies a server (content server 1 or cache server 3) that can deliver the content. The name resolution server 2 holds the acquisition destination information x and the placement destination information y notified from the content management device 4, and identifies a server capable of distributing the content based on this information.
[0020] The acquisition source information x is information that associates the audio-visual terminal 6, the cache server 3, and the content CO, and indicates from which cache server 3 the content CO requested by a certain audio-visual terminal 6 is to be acquired. The location information y is information that associates a cache server 3 with a content CO, and indicates in which cache server 3 the content CO is located.
[0021] For example, if the content requested by the viewing terminal 6 is included in the acquisition location information x, the name resolution server 2 returns the IP address of the cache server 3 corresponding to the requested content to the viewing terminal 6. On the other hand, if the content requested by the viewing terminal 6 is not included in the acquisition location information x, the name resolution server 2 refers to the location information y and returns the IP address of the cache server 3 where the requested content is located to the viewing terminal 6. Moreover, if the content requested by the audio-visual terminal 6 is not included in the acquisition location information x and is not included in the placement location information y, the name resolution server 2 returns an IP address that identifies the content server 1.
[0022] The cache server 3 stores a copy of the content CO stored in the content server 1, and transmits the content CO in response to a request from the audio-visual terminal 6 to the audio-visual terminal 6 via the network N, instead of the content server 1. When the cache server 3 is notified of the placement destination information y from the content management device 4, the cache server 3 acquires the specified content CO from the content server 1 and stores it in advance.
[0023] Furthermore, the cache server 3 periodically notifies the content management device 4 of network information b indicating a cache server number identifying the cache server 3, a cache capacity upper limit, and a network cost (network distance, etc.) via the network N. The network cost is the number of hops between the cache server 3 and each viewing terminal 6, the total network bandwidth, etc. This network cost can be obtained, for example, by the cache server 3 periodically exchanging route information with adjacent cache servers 3.
[0024] The content management device 4 determines the cache server 3 from which the audiovisual terminal (client) 6 obtains the content, and the cache server 3 in which the content is to be placed. The content management device 4 generates acquisition destination information x and placement destination information y based on the content information a notified by the content server 1, the network information b notified by the cache server 3, and the client information c notified by the audio-visual terminal 6. The client information c notified from the audio-visual terminal 6 indicates a client number that identifies the client software operating on the audio-visual terminal 6, and a content number that each audio-visual terminal 6 is expected to request. Then, the content management device 4 notifies the name resolution server 2 of the generated acquisition location information x, and notifies the name resolution server 2 and the cache server 3 of the placement location information y.
[0025] The content management device 4 formulates a mathematical model of a combinatorial optimization problem using variables that indicate which cache server 3 should be assigned to the content that is expected to be requested by the viewing terminal 6 and variables that indicate which cache server 3 the content should be placed in as variables to be determined, and calculates a solution to the mathematical model using a calculator 5. Here, the content management device 4 constructs the mathematical model e using a QUBO (Quadratic unconstrained binary optimization) expression shown in the following formula (1).
[0026]
number
[0027] where z# i ,z# j are the i-th and j-th elements of the vector z#, and are binary variables that can take the values "0" or "1". Σ i ,Σ j is an operator that sums up all elements of vector z#. The symbol T at the top right of the vector represents the transpose of the vector. Q i,j is the element in the i-th row and j-th column of the parameter matrix Q, and is the product of binary variables z# i z# j This is the coefficient of The content management device 4 determines a set of z# (z# i ,z# j ) is calculated using Calculator 5. In addition, the mathematical model e may use an equivalent Ising model representation other than the QUBO representation. This content management device 4 will be explained in detail later.
[0028] The calculator 5 calculates solutions for variables of the mathematical model generated by the content management device 4. The computer 5 may be any computer that calculates solutions for variables of a mathematical model generated by the content management device 4. For example, the computer 5 is a computer such as a QUBO or an Ising machine that solves an Ising model.
[0029] The audiovisual terminal (client) 6 acquires the content and performs processes such as displaying and outputting the content. When acquiring content, the viewing terminal 6 first notifies the content management device 4 via the network N of client information c indicating a client number that identifies the client software operating on the viewing terminal 6 and a content number that is expected to be requested for acquisition from each viewing terminal 6. The content number that is expected to be requested for acquisition is, for example, a content number notified by a recommendation function such as content related to the content being viewed on the viewing terminal 6 or content recommended by a device (not shown) that recommends viewing content.
[0030] In addition, the viewing terminal 6 sends the domain name of the content for which a request is made to view the content using client software running on a Web browser or the like to the name resolution server 2, and obtains from the name resolution server 2 the IP address (destination IP address) of the cache server 3 (or content server 1) in which the content for which a request is made is stored. The audiovisual terminal 6 then acquires the content from the cache server 3 (or the content server 1) using the acquired IP address, and performs processing such as displaying and outputting video, still images, audio, or other Web content. The audiovisual terminal 6 is not limited to a particular one, but may be, for example, a smartphone terminal, a tablet terminal, a personal computer, or a wearable terminal.
[0031] As described above, the content delivery system S can use the content management device 4 to optimize the placement of content that is expected to be requested by the viewing terminal 6 in the cache server 3, thereby making effective use of the cache server 3. This allows the content delivery system S to reduce the load on the content server 1 and the load on the network N. The configuration and operation of the content management device 4 according to the embodiment of the present invention will be described below.
[0032] [Content management device configuration] The configuration of a content management device 4 according to an embodiment of the present invention will be described with reference to FIG. 2 (and also with reference to FIG. 1 as appropriate). The content management device 4 includes storage units ME1 and ME2, a communication unit NC, and a control unit CL.
[0033] The storage unit ME1 is a storage medium such as a ROM (Read Only Memory) that stores a content management program p. The content management program p is deployed in a RAM (Random Access Memory), not shown, and operates to realize the functions of the control unit CL. The memory unit ME2 stores various information collected by an information collection unit 40 of the control unit CL, which will be described later. This memory unit ME2 can be configured with a general storage medium such as a semiconductor memory or a hard disk. Here, the storage unit ME2 stores content information a collected from the content server 1, network information b collected from the cache server 3, and client information c collected from the audio-visual terminal 6.
[0034] The content information a is information indicating a content number for identifying the content CO stored in the content server 1 and the data size of the content CO. The network information b is information indicating a cache server number that identifies a cache server 3, the upper limit of the cache capacity of each cache server 3, and the network cost of each cache server 3. The client information c is information indicating a client number that identifies the client software operating on the audio-visual terminal 6 and a content number that each audio-visual terminal 6 is expected to request.
[0035] The communication unit NC communicates with the content server 1, the name resolution server 2, the cache server 3, and the audio-visual terminal 6 via the network N. The communication unit NC outputs the content information a received from the content server 1 to the control unit CL. The communication unit NC also outputs the network information b received from the cache server 3 to the control unit CL. The communication unit NC also outputs the client information c received from the viewing terminal 6 to the control unit CL. Moreover, the communication unit NC transmits the acquisition destination information x input from the control unit CL to the name resolution server 2. Moreover, the communication unit NC transmits the placement destination information y input from the control unit CL to the name resolution server 2 and the specified cache server 3.
[0036] The control unit CL is a functional block that functions according to the operation of the content management program p. The control unit CL includes an information collection unit 40, a placement optimization unit 41, and an information notification unit 42 as its functional blocks.
[0037] The information collecting unit 40 collects content information a from the content server 1, network information b from the cache server 3, and client information c from the audio-visual terminal 6 via the communication unit NC. The information collection unit 40 stores the collected content information a, network information b, and client information c in the storage unit ME2.
[0038] The placement optimization unit 41 constructs a mathematical model from the content information a, network information b, and client information c collected by the information collection unit 40, and determines the cache server 3 from which the content for the viewing terminal 6 is to be obtained, and the cache server 3 in which the content is to be placed, by finding the solution.
[0039] Here, symbols used in the explanation of the placement optimization unit 41 will be explained in advance. The audiovisual terminals (clients) 6 are assumed to be a group of I terminals Iset={i1, i2, . . . , iI}. The cache servers 3 are assumed to be a set of J servers Jset={j1, j2, . . . , jJ}. The content CO is assumed to be a set of K types of content Kset={k1, k2, . . . , kK}. The content that is expected to be requested for acquisition by an audiovisual terminal i∈Iset is denoted by Kset(i). Let S(j) be the upper limit of the cache capacity of cache server j∈Jset. The data size of content k∈Kset is defined as D(k). The network cost when a viewing terminal i∈Iset acquires content from a cache server j∈Jset is represented as C(i,j).
[0040] Let x#(i,j,k) be a binary variable (first variable) that is "1" when cache server j is assigned (as the acquisition destination) for content k expected to be requested by viewing terminal i, and "0" when not assigned. Let y#(j,k) be a binary variable (second variable) that is "1" when content k is placed in cache server j, and "0" when not placed.
[0041] Hereinafter, the specific processing of the placement optimization unit 41 will be described using the above symbols. As shown in FIG. 2, the placement optimization unit 41 includes a mathematical modeling unit 41A, a model variable calculation unit 41B, and a placement determination unit 41C.
[0042] The mathematical modeling unit 41A generates a mathematical model from content information a, network information b, and client information c, in which the first variable indicates whether or not an arbitrary cache server j is to be used as the acquisition destination for content k requested by a viewing terminal i, and the second variable indicates whether or not content k is to be placed in an arbitrary cache server j.
[0043] Here, the configuration of mathematical modeling unit 41A will be described in further detail with reference to FIG. 3 (and also with reference to FIGS. 1 and 2 as appropriate). As shown in FIG. 3, the mathematical modeling unit 41A includes a variable constraint model formulation unit 410, a network cost evaluation model formulation unit 411, a cache amount evaluation model formulation unit 412, and a cache hit rate evaluation model formulation unit 413.
[0044] The variable constraint model formulation unit 410 generates a constraint function that restricts the allocation of any one of the cache servers 3 to the content CO that the audio-visual terminal 6 is likely to request. Specifically, the variable constraint model formulation unit 410 formulates a constraint function that imposes constraints on variables using a variable constraint model H1 shown in the following equation (2).
[0045]
number
[0046] Here, Σ i∈Iset is an operator that takes the sum of all candidates Iset of the audiovisual terminal 6. Σ j∈Iset is an operator that takes the sum of all the candidates Jset of the cache server 3. Σ k∈Kset(i) is an operator that calculates the sum of all candidates Kset(i) of content that is likely to be requested by the audio-visual terminal 6 (i∈Iset). The variable constraint model formulation unit 410 outputs the variable constraint model H1 shown in equation (2) to the model variable calculation unit 41B.
[0047] A processing example of the variable constraint model formulation unit 410 will be described with reference to Fig. 4. Fig. 4 shows a combination example of binary variables (first variables) x#(i,j,k) in the case where there are two viewing terminals 6 with Iset={i1,i2}, four cache servers 3 with Jset={j1,j2,j3,j4}, five contents CO with Kset={k1,k2,k3,k4,k5}, two contents expected to be requested by the viewing terminal i1 with K(i1)={k1,k2}, and two contents expected to be requested by the viewing terminal i2 with K(i2)={k1,k5}. In this combination, the variable constraint model H1 becomes a constraint function for imposing a constraint to assign the acquisition destination to any one of the cache servers j for the content k expected to be requested by the viewing terminal i by minimizing the value thereof.
[0048] In the example of Fig. 4, as the content acquisition destination of the viewing terminal i1, the cache server j1 is assigned to the expected content k1 to be acquired, and the cache server j4 is assigned to the expected content k2 to be acquired. In addition, in the example of Fig. 4, as the content acquisition destination of the viewing terminal i2, the cache server j3 is assigned to the expected content k1 to be acquired, and the cache server j3 is assigned to the expected content k5 to be acquired. This assignment is actually performed by the arrangement determination unit 41C described later. Returning to FIG. 3, the description of the configuration of mathematical modeling unit 41A will be continued.
[0049] The variable constraint model H1 formulated by the variable constraint model formulation unit 410 imposes a constraint on the audio-visual terminal 6 to allocate one cache server 3 as the acquisition destination of the content CO. The evaluation for selecting an appropriate cache server 3 is realized by the following network cost evaluation model formulation unit 411, cache amount evaluation model formulation unit 412, and cache hit rate evaluation model formulation unit 413.
[0050] The network cost evaluation model formulation unit 411 generates an evaluation function (first evaluation function) for evaluating the total sum of the network costs of all audio-visual terminals 6 to the cache server 3 from which the audio-visual terminals 6 acquire data. Specifically, the network cost evaluation model formulation unit 411 formulates an evaluation function that takes a smaller value as the total sum of the network costs decreases, using the network cost evaluation model H2 shown in the following equation (3).
[0051]
number
[0052] Here, Σ i∈Iset , Σ j∈Iset , Σ k∈Kset(i) is the same operator as described in equation (2). The network cost C(i,j) when this viewing terminal i∈Iset obtains content from cache server j∈Jset is, for example, the number of hops between viewing terminal i and cache server j, and the smaller the number of hops, the less delay in obtaining the content can be suppressed. The network cost evaluation model formulation unit 411 outputs the network cost evaluation model H2 shown in equation (3) to the model variable calculation unit 41B.
[0053] An example of the processing of the network cost evaluation model formulation unit 411 will be described with reference to Fig. 5. Fig. 5 shows an example in which there is one audio-visual terminal 6 with Iset={i1} and four cache servers 3 with Jset={j1, j2, j3, j4}. Here, if the acquisition destination of content k for viewing terminal i1 is assigned to cache servers j1, j2, j3, and j4, the network costs are C(i1,j1)=2, C(i1,j2)=1, C(i1,j3)=2, and C(i1,j4)=2, respectively. In this example, the network cost evaluation model H2 acts to minimize this value, thereby assigning the acquisition destination of content k for audio-visual terminal i1 to cache server j2, which has the smallest network cost (i1, j2). Returning to FIG. 3, the description of the configuration of mathematical modeling unit 41A will be continued.
[0054] The cache amount evaluation model formulation unit 412 generates an evaluation function (second evaluation function) for evaluating the difference between the cache amount of each cache server 3 and the target value of the cache amount. Specifically, the cache amount evaluation model formulation unit 412 formulates an evaluation function that has a smaller value as the difference between the cache amount and a predetermined target value of the cache amount is smaller, using a cache amount evaluation model H3 shown in the following equation (4).
[0055]
number
[0056] Here, Σ j∈Jset is the same operator as explained in equation (2). Σ k∈Kset is an operator that takes the sum of all candidate Ksets of the content. In addition, α (0≦α≦1) is a parameter that adjusts the target value of the cache size, and is a preset value. For example, when α=0.8 and the cache capacity upper limit S(j)=50GB, the target value of the cache size is 40GB, which is 80% of 50GB. The cache amount evaluation model formulation unit 412 outputs a cache amount evaluation model H3 shown in equation (4) to the model variable calculation unit 41B.
[0057] An example of the process of the cache capacity evaluation model formulation unit 412 will be described with reference to Fig. 6. Fig. 6 shows an example in which the number of cache servers 3 is four, Jset = {j1, j2, j3, j4}, the number of contents CO is five, Kset = {k1, k2, k3, k4, k5}, the data sizes of the contents k1, k2, k3, k4, k5 are D(k1) = 10GB, D(k2) = 10GB, D(k3) = 20GB, D(k4) = 20GB, D(k5) = 30GB, the cache capacity upper limit S(j) = 50GB (j ∈ Jset), and the parameter α for adjusting the target value of the cache capacity = 0.8. In this case, the total cache capacity target value is αS(j) = 40GB.
[0058] In this example, the cache amount evaluation model H3 acts to minimize the value so that the total cache amount target value of each cache server 3 does not exceed the cache capacity upper limit. For example, as shown in Fig. 6, contents k1, k2, and k3 are arranged in cache server j1, contents k3 and k4 are arranged in cache server j2, contents k1 and k5 are arranged in cache server j3, and contents k1, k2, and k4 are arranged in cache server j4. The content arrangement is actually determined by an arrangement determination unit 41C, which will be described later. Returning to FIG. 3, the description of the configuration of mathematical modeling unit 41A will be continued.
[0059] The cache amount evaluation model H3 formulated by the cache amount evaluation model formulation unit 412 is an evaluation function for minimizing the difference between the total cache amount of each cache server 3 and the target value of the cache amount, and appropriate content placement allocation for each cache server 3 is realized by the network cost evaluation model formulation unit 411 and the cache hit rate evaluation model formulation unit 413.
[0060] The cache hit rate evaluation model formulation unit 413 generates an evaluation function (third evaluation function) for evaluating the rate at which content expected to be requested is cached (disposed) in the cache server 3, that is, the cache hit rate. Specifically, the cache hit ratio evaluation model formulation unit 413 formulates an evaluation function that takes a smaller value as the cache ratio increases, using a cache amount hit ratio evaluation model H4 shown in the following equation (5).
[0061]
number
[0062] Here, Σ i∈Iset , Σ j∈Iset , Σ k∈Kset(i) is the same operator as described in equation (2). In addition, x#(i,j,k)(1-y#(j,k)) in the cache capacity hit rate evaluation model H4 can take on values depending on the values of x#(i,j,k) and (1-y#(j,k)), as shown in the following equation (6).
[0063]
number
[0064] Therefore, by minimizing its value, the cache quantity hit rate evaluation model H4 works to avoid as much as possible x#(i,j,k)=1, y#(j,k)=0, which is a positive number, that is, x#(i,j,k)(1-y#(j,k))=1, which is the penalty term for the purpose of minimization. Here, x#(i,j,k)=1 and y#(j,k)=0 means that there is no cache in the cache server j from which content k is obtained for viewing terminal i. Therefore, the cache amount hit rate evaluation model H4 acts to improve the cache hit rate by minimizing this value, thereby avoiding cache hits as much as possible. The cache hit rate evaluation model formulation unit 413 outputs the cache amount hit rate evaluation model H4 shown in equation (5) to the model variable calculation unit 41B.
[0065] In this way, the variable constraint model H1 (formula (2) above), network cost evaluation model H2 (formula (3) above), cache amount evaluation model H3 (formula (4) above) and cache amount hit rate evaluation model H4 (formula (5) above) generated by the mathematical modeling unit 41A are expressed as quadratic expressions for the binary variables x#(i,j,k) and y#(j,k), and therefore can be converted into the QUBO expression represented by formula (1) above by transforming the expressions.
[0066] It is obvious that if the degree of a binary variable is quadratic or lower, it can be converted into a QUBO quadratic form (all degrees are quadratic or lower). In other words, for a binary variable z# that takes the values "0" or "1", z# and the square of z# are equivalent (both "0" and "1" are unchanged when squared), so linear terms and quadratic terms can be converted into equivalent terms. In addition, constant terms can be ignored because they have no effect on the evaluation function regardless of how the binary variable is selected. This allows binary variables of degree equal to or less than quadratic to be converted into the QUBO format. Returning to FIG. 2, the description of the configuration of the content management device 4 will be continued.
[0067] The model variable calculation unit 41B uses the calculator 5 to calculate a solution of variables (a solution to a combinatorial optimization problem) that optimizes the cache server 3 from which the content is obtained and the cache server 3 to which the content is placed, using the mathematical model generated by the mathematical modeling unit 41A. Here, the model variable calculation unit 41B calculates an overall function H ALL The calculator 5 is instructed to calculate a solution for the variables x#(i,j,k) and y#(j,k) that minimizes
[0068]
number
[0069] Here, the balance coefficients λ1, λ2, λ3, and λ4 are the weights of the mathematical models H1, H2, H3, and H4, and the larger the value, the more weight is placed on the mathematical model related to that value. The model variable calculation unit 41B sets initial values for the balance coefficients λ1, λ2, λ3, and λ4 in advance, and causes the calculator 5 to execute calculations to obtain solutions for the variables x#(i,j,k) and y#(j,k).
[0070] The model variable calculation unit 41B calculates the mathematical models H1, H2, H3, and H4 using the acquired variable solutions, and adjusts the balance coefficient so that the values (calculation results) of each mathematical model are equal to or less than a predetermined threshold. Note that the threshold of the variable constraint model H1 is set to "0" since it is necessary to strictly satisfy the constraints. The thresholds of the network cost evaluation model H2, cache amount evaluation model H3, and cache amount hit rate evaluation model H4 can be freely set according to the desired service requirements. During the adjustment of the balance coefficients, the model variable calculation unit 41B inputs the overall function H ALL Repeatedly execute the process of recalculating (solving) the above. As a result, the model variable calculation unit 41B calculates solutions for the variables of the mathematical model under the constraints imposed by the variable constraint model H1 so as to reduce the network cost, reduce the difference between the cache amount of the cache server and a predetermined target value for the cache amount, and increase the cache rate.
[0071] Here, if the value of a certain mathematical model is not equal to or less than a predetermined threshold, the weighting of the mathematical model is increased by increasing the balance coefficient corresponding to the mathematical model. This makes it possible to reduce the value of the mathematical model. ALL An upper limit may be set for the number of repetitions of the recalculation. This allows the calculation to be terminated even if the value of the mathematical model does not become equal to or less than the threshold value, depending on the set upper limit value of the number of repetitions. The model variable calculation unit 41B outputs the solutions of the variables x#(i,j,k) and y#(j,k) to the placement determination unit 41C.
[0072] The placement determination unit 41C generates acquisition destination information x, which is information that associates the viewing terminal 6, the cache server 3, and the content CO, and placement destination information y, which is information that associates the cache server 3 and the content CO, based on the solution of the variables x#(i,j,k) and y#(j,k) calculated by the model variable calculation unit 41B.
[0073] The method for generating the acquisition location information x and the placement location information y is not particularly limited, but they can be generated by the following method. For example, the acquisition source information x and the placement destination information y are text data that list the identifiers (i,j,k) and (j,k) of elements whose solution is “1” among the solutions of the variables x#(i,j,k) and y#(j,k). In this case, if the solution for variables x#(i,j,k) and y#(j,k) is, for example, the solution for variable x#(i,j,k) in the processing example of the variable constraint model formulation unit 410 shown in Figure 4 and the solution for variable y#(j,k) in the processing example of the cache amount evaluation model formulation unit 412 shown in Figure 6, the placement determination unit 41C generates the acquisition source information x and placement destination information y as text data written as shown in the following equation (8).
[0074]
number
[0075] Alternatively, the placement determination unit 41C may generate the acquisition destination information x by directly treating the solution of the variable x#(i, j, k) as i×j×k array data, and generate the placement destination information y by directly treating the solution of the variable y#(j, k) as j×k array data. The placement determination unit 41C outputs the generated acquisition destination information x and placement destination information y to the information notification unit .
[0076] The information notification unit 42 notifies the name resolution server 2 of the acquisition destination information x generated by the placement determination unit 41C, and notifies the name resolution server 2 and the cache server 3 of the placement destination information y, via the communication unit NC. It should be noted that the notification to the cache server 3 needs to be sent only to the cache server j included in the placement location information y.
[0077] With the above-described configuration, the content management device 4 can determine the location in the cache server 3 of the content expected to be requested by the audio-visual terminal 6, and can also determine the acquisition destination of the content CO for the audio-visual terminal 6.
[0078] [Content management device operation] Next, the operation of the content management device 4 according to the embodiment of the present invention will be described with reference to Fig. 7 (and Figs. 1 to 3 as appropriate). In the description of this operation, the symbols explained in the arrangement optimization unit 41 will be used as appropriate.
[0079] In step S1, the information collection unit 40 collects content information a from the content server 1, network information b from the cache server 3, and client information c from the audio-visual terminal 6 via the communication unit NC.
[0080] In step S2, the mathematical modeling unit 41A of the placement optimization unit 41 generates a mathematical model from the content information a, network information b, and client information c collected in step S1, with a first variable x#(i,j,k) indicating whether cache server j is to be the acquisition destination for content k requested by viewing terminal i, and a second variable y#(j,k) indicating whether content k is to be placed in cache server j. At this time, the mathematical modeling unit 41A generates a variable constraint model H1 (the above formula (2)) by the variable constraint model formulation unit 410. Furthermore, the mathematical modeling unit 41A generates a network cost evaluation model H2 (the above formula (3)) by the network cost evaluation model formulation unit 411. Furthermore, the mathematical modeling unit 41A generates a cache amount evaluation model H3 (the above formula (4)) by the cache amount evaluation model formulation unit 412. Furthermore, the mathematical modeling unit 41A generates a cache amount hit rate evaluation model H4 (the above formula (5)) by the cache hit rate evaluation model formulation unit 413.
[0081] In step S3, the model variable calculation unit 41B of the placement optimization unit 41 calculates the overall function H ALL Set the initial values of balance coefficients λ1, λ2, λ3, and λ4 when calculating
[0082] In step S4, the model variable calculation unit 41B calculates the overall function H ALL The solution for the variables x#(i,j,k) and y#(j,k) that minimizes is calculated using a calculator 5.
[0083] In step S5, the model variable calculation unit 41B calculates the overall function H ALL It is determined whether the number of calculations for calculating the variables that minimize the above equation is equal to or smaller than a predetermined threshold value. If the number of calculations is equal to or less than the predetermined threshold (Yes in step S5), the content management device 4 proceeds to step S6. On the other hand, if the number of calculations is not equal to or less than the predetermined threshold (No in step S5), the content management device 4 proceeds to step S8.
[0084] In step S6, the model variable calculation unit 41B calculates the mathematical models H1, H2, H3, and H4 using the solutions of the variables found in step S4, and determines whether the values are equal to or less than a predetermined threshold value. If all the values of the mathematical models H1, H2, H3, and H4 are equal to or less than the predetermined threshold (Yes in step S6), the content management device 4 proceeds to step S8. On the other hand, if any of the values of the mathematical models H1, H2, H3, and H4 is not equal to or less than the predetermined threshold (No in step S6), the content management device 4 proceeds to step S7.
[0085] In step S7, the model variable calculation unit 41B increases the balance coefficient for the mathematical models H1, H2, H3, and H4 whose values are equal to or less than a predetermined threshold by adding a predetermined positive real number to the corresponding balance coefficient. Alternatively, the model variable calculation unit 41B decreases the balance coefficient for the mathematical models H1, H2, H3, and H4 whose values are not equal to or less than the threshold by adding a predetermined negative real number to the corresponding balance coefficient. For example, if only the value of the variable constraint model H1 is not equal to or less than the threshold, the model variable calculation unit 41B increases only the balance coefficient λ1 or decreases the balance coefficients λ2, λ3, and λ4. This relatively increases the weight of the variable constraint model H1. Then, the contents management device 4 returns the operation to step S4.
[0086] In step S8, the placement determination unit 41C of the placement optimization unit 41 uses the solution of the variables x#(i, j, k) and y#(j, k) obtained in step S4 to generate (determine) acquisition destination information x, which is information that associates the viewing terminal 6, the cache server 3, and the content CO, and placement destination information y, which is information that associates the cache server 3 and the content CO.
[0087] In step S9, the information notification unit 42 notifies the name resolution server 2 of the acquisition destination information x generated in step S8, and notifies the name resolution server 2 and the cache server 3 of the placement destination information y, via the communication unit NC. Through the above operations, the content management device 4 can determine the placement destination in the cache server 3 of the content expected to be requested by the audio-visual terminal 6, and can also determine the acquisition destination of the content CO for the audio-visual terminal 6. In this way, the content management device 4 optimizes the placement destination of the content CO and the source from which the viewing terminal 6 obtains the content CO, thereby enabling the cache servers 3 to be utilized effectively without concentrating the source from which the content CO is obtained on a few cache servers 3.
[0088] Although the configuration and operation of the content management device 4 according to the embodiment of the present invention have been described above, the present invention is not limited to this embodiment. For example, although the computer 5 is configured to be independent of the content management device 4 here, it may be configured to be provided inside the content management device 4. [Explanation of symbols]
[0089] 1 Content Server 2 Name resolution server 3. Cache Server 4 Content Management Device 40 Information Gathering Department 41 Placement Optimization Section 41A Mathematical Modeling Department 410 Variable Constraint Model Formulation Section 411 Network Cost Evaluation Model Formulation Department 412 Cache Quantity Evaluation Model Formulation Section 413 Cache Hit Rate Evaluation Model Formulation 41B Model variable calculation section 41C Placement determination section 42 Information Notification Department 5 Calculator 6. Viewing Devices S Content Distribution System
Claims
1. A content management device that determines a content acquisition destination for a viewing terminal and a content placement destination in a cache server in a content distribution network that is configured of a content server, a name resolution server, and a cache server, comprising: an information collecting unit that collects from the content server content information including a data size of the content, from the cache server network information including a capacity upper limit and a network cost, and from the viewing terminal client information including a content number of a content expected to be requested; a mathematical modeling unit that generates a mathematical model based on the content information, the network information, and the client information, in which a first variable indicates whether or not an arbitrary cache server is to be used as an acquisition destination for the content requested by the viewing terminal, and a second variable indicates whether or not the content is to be placed in an arbitrary cache server; a model variable calculation unit that calculates solutions to variables in the mathematical model as solutions to a combinatorial optimization problem; a placement determination unit that generates, from a solution of the first variable calculated by the model variable calculation unit, acquisition destination information indicating an acquisition destination of the content for the viewing terminal, and generates, from the solution of the second variable, placement destination information indicating a placement destination in a cache server of the content; an information notification unit that notifies the name resolution server of the acquisition destination information generated by the placement determination unit, and notifies the name resolution server and the corresponding cache server of the placement destination information; A content management device comprising:
2. The mathematical modeling unit is a variable constraint model formulation unit that generates a constraint function that restricts the allocation of any one of the cache servers to a content that is expected to be requested by the viewing terminal; a network cost evaluation model formulation unit that generates a first evaluation function for evaluating a total sum of network costs of all the viewing terminals; a cache amount evaluation model formulation unit that generates a second evaluation function for evaluating a difference between the cache amount of the cache server and a predetermined target value of the cache amount; a cache hit rate evaluation model formulation unit that generates a third evaluation function for evaluating a cache rate of the content expected to be requested to be acquired, The content management device according to claim 1, characterized in that the model variable calculation unit uses an overall function obtained by weighting and adding the constraint function, the first evaluation function, the second evaluation function, and the third evaluation function as the mathematical model, and repeats calculations to find solutions to the variables of the mathematical model so as to reduce the network cost, reduce the difference between the cache amount of the cache server and a predetermined target value for the cache amount, and increase the cache rate based on a predetermined threshold under the constraints.
3. 3. The content management device according to claim 1, wherein the mathematical model is a model expressed in an unconstrained quadratic binary variable optimization representation or an Ising model representation.
4. A content management program for causing a computer to function as the content management device according to claim 1.
Citation Information
Patent Citations
Content management device and content management program
JP2003263359A
Content distribution system, content arrangement selection method, and distribution center device
JP2012247877A
Content distribution network, content distribution node and content disposition determination method
JP2016019153A