Quality adjustment device, quality adjustment method, and program

The quality adjustment device addresses the issue of failed resource allocation by adjusting the quality of network services within available resources, allowing users to access services even when initial quality requirements cannot be met.

JP7694807B2Active Publication Date: 2025-06-18NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024510747
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-03-28
Publication Date
2025-06-18
Estimated Expiration
2042-03-28

AI Technical Summary

Technical Problem

In existing network service technologies, when resources are exhausted and the target quality requested by users cannot be met, resource allocation fails, and users are unable to utilize the service, even if lower quality resources are available on the service provider side.

Method used

A quality adjustment device that receives a target quality from a user terminal and, when resource allocation cannot meet this target, selects a flow for quality adjustment and adjusts the quality within that flow, using macro-flows composed of micro-flows with similar requirements, and applying predetermined adjustment policies.

Benefits of technology

Enables users to utilize network services within available resources by adjusting quality to match allocable resources, ensuring service availability even when initial quality requirements cannot be met.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007694807000001
    Figure 0007694807000001
  • Figure 0007694807000002
    Figure 0007694807000002
  • Figure 0007694807000003
    Figure 0007694807000003
Patent Text Reader

Abstract

According to the present invention, a quality adjustment device for adjusting the quality of a service supplied to a user terminal over a network, comprises: a communication unit that receives a target quality from the user terminal; and a control unit that selects a flow to be subjected to quality adjustment and adjusts the quality of the flow when resource allocation cannot be performed on the network so as to satisfy the target quality of the user terminal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a technology for optimizing the quality of network services provided to terminals.

Background Art

[0002] As a network service, cloud-based services have become widely popular. In cloud-based services, services are provided in such a way that a user requests the quality and resources (e.g., CPU, memory capacity, network bandwidth, etc.) required by the user from a cloud server, and the server dynamically allocates resources.

[0003] In such a service provision form, the service provider does not notify the user of the degree of surplus of resources, and when it cannot satisfy the quality and resources requested by the user, it only responds to the user with a resource securing failure.

[0004] Even in Non-Patent Document 1 that discloses a network control technology based on service required quality, when it is determined that resources cannot be secured due to inability to perform path calculation, etc., it only returns that setting is not possible.

Prior Art Documents

Non-Patent Documents

[0005]

Non-Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0006] As described above, in the prior art, when network or server resources are exhausted and the target quality desired by the user cannot be satisfied, allocation fails and resources cannot be allocated.

[0007] Even if there are resources on the service provider side that can be realized with a smaller amount of resources or lower quality than the initial request from the user, the resources are not allocated to the user, and there is a problem that the user cannot use the service. Note that such a problem can occur in network services not limited to cloud-type services.

[0008] The present invention has been made in view of the above points, and an object of the present invention is to provide a technology that enables a user to use a service within available resources even when the quality requested by the user cannot be satisfied in a network service.

Means for Solving the Problems

[0009] According to the disclosed technology, there is provided a quality adjustment device for adjusting the quality of a service provided to a user terminal on a network, a communication unit that receives a target quality from the user terminal, a control unit that selects a flow to be the target of quality adjustment and adjusts the quality in the flow when resource allocation in the network cannot be performed to satisfy the target quality of the user terminal. The control unit selects one or more macro-flows related to the service as the target of the quality adjustment according to a predetermined adjustment target selection policy. Each macro-flow is composed of a plurality of micro-flows with the same required bit rate, starting address band, and destination server. A quality adjustment device is provided.

Effects of the Invention

[0010] According to the disclosed technology, there is provided a technology that enables a user to use a service within available resources even when the quality requested by the user cannot be satisfied in a network service.

Brief Description of the Drawings

[0011]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21

Figure 22

Figure 23

Figure 24

Figure 25

Figure 26

Figure 27

Figure 28

Figure 29

Figure 30

Mode for Carrying Out the Invention

[0012] Hereinafter, embodiments of the present invention (the present embodiments) will be described with reference to the drawings. The embodiments described below are merely examples, and the embodiments to which the present invention is applied are not limited to the following embodiments. Further, in the following description, "bandwidth" may be replaced with "bandwidth", "communication speed", or "bit rate".

[0013] Also, in the present embodiment, as examples of "quality", "bandwidth" and "QoE" are taken up, but "quality" is not limited to "bandwidth" and "QoE".

[0014] Also, in the present embodiment, the target of quality adjustment is the macro flow, but this is an example, and a flow other than the macro flow may be the adjustment target.

[0015] (Basic System Configuration) In the existing technology, when it becomes impossible to allocate resources that meet the requirements during resource design, the orchestrator ends the process without allocation. In contrast, in the present embodiment, during resource design, by repeatedly adjusting until the resource design becomes possible, the quality that can be provided to the user with the allocated resources is determined.

[0016] A configuration example of a quality adjustment system that realizes the above adjustment is shown in FIG. 1. As shown in FIG. 1, the quality adjustment system in the present embodiment includes a user terminal 200, a quality adjustment function unit 100, and an orchestrator 300. The above adjustment is performed between the quality adjustment function unit 100 and the orchestrator 300.

[0017] Note that the quality adjustment function unit 100 may be referred to as a "quality adjustment device". Also, the orchestrator 300 may be referred to as a "resource allocation device". Further, the quality adjustment function unit 100 and the orchestrator 300 may be one device, and that one device may be referred to as a "quality adjustment device".

[0018] As shown in FIG. 1, the quality adjustment function unit 100 includes a control unit 110, a storage unit 120, an input unit 130, a communication unit 140, and an output unit 150. The control unit 110 includes a quality adjustment processing function unit 111 and a macro flow generation function unit 112. The storage unit 120 includes an adjustment target selection policy storage unit 121, an adjustment policy storage unit 122, and a flow information storage unit 123.

[0019] The user terminal 200 includes a control unit 210, and the control unit 210 includes a quality requirement unit 211.

[0020] The orchestrator 300 includes a macro flow management function unit 310, an optimal allocation processing function unit 320, a resource control unit 330, and a resource design function unit 340.

[0021] Hereinafter, the functions of each part of the user terminal 200, the quality adjustment function unit 100, and the orchestrator 300 will be described.

[0022] <Quality Adjustment Function Unit 100> When the quality adjustment processing function unit 111 in the control unit 110 receives a quality requirement message from the quality requirement unit 211 of the user terminal 200, it coordinates with the optimal allocation processing function unit 320 of the orchestrator 300 to determine the allocable bandwidth for the user terminal 200.

[0023] When the macro flow generation function unit 112 receives a macro flow generation request message from the quality adjustment processing function unit 111, it generates macro flow information according to the target bit rate and connection information included in the message. When receiving a macro flow adjustment request message, it uses the information stored in the storage unit 120 to generate new macro flow information with the required bandwidth reduced.

[0024] The adjustment target selection policy storage unit 121 of the storage unit 120 stores a policy for selecting an adjustment target when adjusting resources. The adjustment policy storage unit 122 stores an adjustment policy to be used when adjusting resources.

[0025] The flow information storage unit 123 stores information on the flows managed by the quality adjustment processing function unit 111.

[0026] The input unit 130 is an interface that receives input of network resource information from a maintainer. The communication unit 140 is a communication interface that transmits and receives various information to and from other devices (user terminals, orchestrators, etc.) connected via a network or the like. The output unit 150 is an interface that displays network resource information, allocation success or failure, etc. to the maintainer.

[0027] <User Terminal 200> The quality requirement unit 211 of the user terminal 200 requests the quality adjustment function unit 111 for the quality to be allocated to its own terminal.

[0028] <Orchestrator 300> The macro flow management functional unit 310 manages (registers, updates, deletes, etc.) information regarding the macro flow in response to a request from the macro flow generation functional unit 112 of the quality adjustment functional unit 100.

[0029] Based on the target quality information (such as target bandwidth) and terminal connection information included in the quality assurance request message notified from the quality adjustment functional unit 100, the optimal allocation processing functional unit 320 causes the resource design functional unit 340 to design the necessary resources. If resource design by the resource design functional unit 340 is possible, it answers allocation success to the quality adjustment functional unit 100 and instructs the resource control unit 330 of the orchestrator 300 to perform necessary settings. If resource design is impossible, it answers allocation failure to the quality adjustment functional unit 100 and performs quality adjustment processing with the quality adjustment functional unit 100.

[0030] The resource design functional unit 340 designs the resources necessary to satisfy the quality requested from the user terminal 200. The resource control unit 330 performs the resource control necessary to provide network services.

[0031] (Operation flow) With reference to FIG. 2, the basic operation flow of the quality adjustment system according to the present embodiment will be described.

[0032] In S1, when the quality adjustment functional unit 100 receives a quality request from the user terminal 200, it generates macro flow information. In S2, the quality adjustment functional unit 100 requests the orchestrator 300 to allocate quality in macro flow units.

[0033] In S3, the optimal allocation processing functional unit 320 of the orchestrator 300 performs a resource design process to satisfy the request. In S4, it is determined whether design is possible. If it is possible, it proceeds to S5. If it is not possible, it proceeds to S8.

[0034] In S5, the orchestrator 300 performs resource allocation based on the design information. In S6, the orchestrator 300 notifies the quality adjustment function unit 100 of successful allocation. In S7, the quality adjustment function unit 100 notifies the user terminal 200 of the allocated quality information.

[0035] In S8, the orchestrator 300 notifies the quality adjustment function unit 100 of allocation failure. In S9, the quality adjustment function unit 100 decreases the value of the required quality presented to the orchestrator 300 according to the policy. Then, the processing from S2 is performed again.

[0036] By the above processing, even when the quality requested from the user terminal 200 cannot be satisfied, it is possible to use the service with the optimal quality within the resources available at the time of service use.

[0037] (Example 1) Hereinafter, as Example 1 of the quality adjustment system, an example of performing macroflow bandwidth control will be described. In Example 1 (and Example 2), for the suppression of the number of routing tables and the improvement of traffic prediction accuracy, traffic control is performed not in flow units but in macroflow units that bundle flows with similar access tendencies.

[0038] Fig. 3 shows an image of control in macroflow units. Fig. 3 shows an example of performing path control for each of three types of macroflows. Note that the network layer control is not limited to path control, and for example, path control and bandwidth control may be combined.

[0039] Example 1 assumes the following operations.

[0040] The user terminal 200 presents the bandwidth (bit rate) it wants to use to the quality adjustment function unit 100. The quality adjustment function unit 100 manages macroflows that bundle flows with similar characteristics (required quality, communication partner, etc.) of the flows of the user terminal 200, and requests the orchestrator 300 to allocate resources to realize the bandwidth in macroflow units.

[0041] The orchestrator 300 manages the resource allocation status in microflow units. In Example 1, resource allocation is realized by path control, and it is determined that resource acquisition is impossible when a path design that can secure the required bandwidth cannot be made. However, this is just an example.

[0042] <System configuration of Example 1> Fig. 4 shows the configuration of the quality adjustment system in Example 1. Here, only the differences from the basic configuration (Fig. 1) will be described.

[0043] In Example 1, since the required quality is bandwidth (bit rate), the bandwidth adjustment processing function unit 113 is provided as a specific example of the quality adjustment processing function unit 111 included in the control unit 110 of the quality adjustment function unit 100. The user terminal 200 includes a bandwidth request unit 212 as the quality requirement unit 211.

[0044] <Overall flow of Example 1> Referring to Fig. 5, the overall flow of Example 1 will be described.

[0045] In S11, the bandwidth adjustment processing function unit 113 receives a bandwidth adjustment request from the user terminal 200. In S12, the macroflow generation function unit 112 generates or updates a macroflow.

[0046] In S13, the quality adjustment function unit 100 requests the orchestrator 300 for optimal control of the macroflow. In S14, the optimal allocation processing function unit 320 of the orchestrator 300 performs a resource design process using the resource design function unit 340. If it is possible to design (Yes in S15), it proceeds to S16; if it is not possible to design (No in S15), it proceeds to S19.

[0047] In S16, the orchestrator 300 performs resource setting based on the design information. In S17, the orchestrator 300 notifies the quality adjustment function unit 100 of successful allocation. In S18, the bandwidth adjustment processing function unit 113 notifies the user terminal 200 of the allocated bandwidth information.

[0048] In S19, the orchestrator 300 notifies the quality adjustment function unit 100 of allocation failure. In S20, the bandwidth adjustment processing function unit 113 performs macro flow adjustment processing.

[0049] <Macro Flow Adjustment Processing Flow> Referring to FIG. 6, the flow of the macro flow adjustment processing will be described.

[0050] In S20-1, the bandwidth adjustment processing function unit 113 notifies the macro flow generation function unit 112 of a macro flow adjustment request.

[0051] In S20-2, the macro flow generation function unit 112 acquires the adjustment target selection policy from the adjustment target selection policy storage unit 121. In S20-3, the macro flow generation function unit 112 applies the adjustment target selection policy to the flow information stored in the flow information storage unit 123 to select an adjustment target macro flow.

[0052] In S20-4, the macro flow generation function unit 112 acquires the adjustment policy from the adjustment policy storage unit 122. In S20-5, the macro flow generation function unit 112 applies the adjustment policy to the adjustment target macro flow to generate new macro flow information.

[0053] In S20-6, the macro flow generation function unit 112 registers the newly generated macro flow information with the orchestrator 300. In S20-7, the macro flow generation function unit 112 notifies the bandwidth adjustment processing function unit 113 of the completion of the macro flow adjustment.

[0054] <Operation When Resource Design Is OK> Next, the operation when the resource design (resource allocation) is OK will be described with reference to the sequence diagram of FIG. 7.

[0055] In S101, the bandwidth request unit 212 of the user terminal 200 transmits a bandwidth adjustment request message including user information, connection destination information, and a target bit rate to the bandwidth adjustment processing function unit 113. With this bandwidth adjustment request message, the bandwidth request unit 212 requests the bandwidth adjustment processing function unit 113 to perform a resource allocation process for realizing the available bit rate.

[0056] In S102, the bandwidth adjustment processing function unit 113 notifies the macro flow generation function unit 112 by including the target bit rate and connection information included in the bandwidth adjustment request message in the macro flow generation request message. The macro flow generation function unit 112 that has received the macro flow generation request message generates macro flow information.

[0057] In S103, the macro flow generation function unit 112 notifies the macro flow management function unit 310 by including the generated macro flow information in the macro flow registration request message.

[0058] In S104, the macro flow management function unit 310 that has performed the registration notifies the macro flow generation function unit 112 that the macro flow has been registered by the macro flow registration completion message.

[0059] In S105, the macro flow generation function unit 112 notifies the bandwidth adjustment processing function unit 113 that the macro flow information has been generated using the macro flow generation completion message.

[0060] In S106, the bandwidth adjustment processing function unit 113 calculates the required bandwidth of the generated macro flow, includes the calculated bandwidth as the target bandwidth together with the macro flow information in the optimal control execution request message, and notifies the optimal allocation processing function unit 320.

[0061] In S107, the optimal allocation processing function unit 320 notifies the resource design function unit 340 of a path calculation request message including macro flow information and a target bandwidth, which is included in the optimal control execution request message. The resource design function unit 340 calculates a path through which the macro flow can meet the target bandwidth. Calculating a path through which the macro flow can meet the target bandwidth is an example of performing resource allocation.

[0062] In S108, the resource design function unit 340 replies to the optimal allocation processing function unit 320 with a path calculation result message including the connection information included in the path calculation request message and the result of designing a path that meets the target bandwidth (such as path information). In the example of FIG. 7, since the design is successful, a design OK is replied with a path calculation result message.

[0063] In S109, the optimal allocation processing function unit 320 notifies the resource control unit 330 by including the path information in a resource control request message and requests necessary settings. The resource control unit 330 executes the settings.

[0064] The optimal allocation processing function unit 320 that has received a design OK in S108 replies to the bandwidth adjustment processing function unit 113 in S110 by including in an optimal control execution result (OK) message that the network resources have been secured.

[0065] In S111, the bandwidth adjustment processing function unit 113 notifies the bandwidth requirement unit 112 of the user terminal 200 of the available bit rate by a bandwidth adjustment result message. <Operation when resource design is NG> Next, the operation when the resource design is NG will be described with reference to the sequence diagram of FIG. 8. Hereinafter, only the parts different from the operation when the resource design is OK will be described.

[0066] In S108, the resource design function unit 340 designed a route that satisfies the connection information and target bandwidth included in the route calculation request message. However, since the design was not possible, a route calculation result (NG) message indicating design NG is returned to the optimal allocation function unit 320.

[0067] The optimal allocation processing function unit 320 that received design NG in S108 replies to the bandwidth adjustment processing function unit 113 with an optimal control execution result (NG) message indicating that network resources could not be secured in S110.

[0068] In S121, the bandwidth adjustment processing function unit 113 requests the macro flow generation function unit 112 to send a macro flow adjustment request message to request adjustment processing of the bandwidth allocated to the macro flow.

[0069] In S122, the macro flow generation function unit 112 adjusts the bandwidth allocated to the macro flow according to a pre-registered policy. Here, the macro flow registration process to the macro flow management function unit 310 after the macro flow adjustment is also performed.

[0070] In S123, the macro flow generation function unit 112 notifies the bandwidth adjustment processing function unit 113 of the information on the macro flow that needs to be adjusted and the adjustment amount using the macro flow adjustment completion message. Then, the processing from S106 is performed.

[0071] The processing of S106 to S123 is repeated until the optimal control execution result of S110 becomes OK.

[0072] <Adjustment example of Example 1> Subsequently, a specific adjustment example in Example 1 will be described. In this adjustment example, it is assumed that a situation has occurred where the allocated network resources are insufficient and the bandwidth needs to be reduced, and the macro flow generation function unit 112 performs adjustment processing according to a predetermined policy.

[0073] In this adjustment example, the macro flow information shown in FIG. 9 and the micro flow information shown in FIG. 10 are stored in the flow information storage unit 123.

[0074] The configuration of the flow corresponding to the flow information shown in FIGS. 9 and 10 is shown in FIG. 11. In this control example, for the sake of simplicity of explanation, it is assumed that macro flows I and II are realized by common physical resources (CPU and memory).

[0075] Macro flow I includes the micro flow of user terminal A and the micro flow of user terminal B, and it is assumed that a new user terminal C connects. Macro flow II is assumed to include the micro flow of user terminal D and the micro flow of user terminal E.

[0076] The bandwidth allocated to macro flow I is 1 Gbps, and the bandwidth allocated to macro flow II is 500 Mbps. There is 1500 Mbps of physical resources to accommodate these.

[0077] When a new user terminal C connects, a bandwidth shortage occurs for macro flow I, so bandwidth adjustment processing is performed when the connection request of user terminal C is received. That is, in S110 of FIG. 8, when the bandwidth adjustment processing function unit 113 receives the optimal control execution result indicating design NG, the bandwidth adjustment processing (macro flow adjustment processing) described below is started. The flow of the macro flow adjustment processing is as shown in FIG. 6, and in the following description, the step numbers used in FIG. 6 are appropriately used.

[0078] FIG. 12 shows an example of the adjustment target selection policy stored in the adjustment target selection policy storage unit 121 in the first embodiment. As shown in FIG. 12, three types of policies are stored.

[0079] The first policy is a policy for selecting a macro flow in which the bandwidth after update is larger than that before update when compared. In this policy, when accommodating a user terminal, a flow in which the bandwidth of the macro flow becomes larger (that is, a macro flow in which a user terminal is newly accommodated) is selected.

[0080] The second policy is a policy for selecting all macro flows. In this policy, all flows using the network are selected as targets.

[0081] The third policy is a policy for selecting a macro flow with high quality per user. In this policy, among all flows, a flow with high user quality is selected as a target. For example, when there are flows with bandwidths of 100 Mbps and 500 Mbps used by a user terminal, the macro flow with 500 Mbps is set as the adjustment target.

[0082] In the adjustment example of Example 1, as shown in FIG. 13, the case of using the first policy is described as adjustment example 1, and the case of using the second policy is described as adjustment example 2. In adjustment example 1, macro flow I is the adjustment target, and in adjustment example 2, macro flow II is the adjustment target. Hereinafter, each of adjustment example 1 and adjustment example 2 will be described. Note that in the adjustment example of Example 1, the case of using the third policy also has the same operation as adjustment example 1.

[0083] <Adjustment Example 1 of Example 1> Adjustment example 1 will be described with reference to FIG. 14 according to the procedure of FIG. 6. FIG. 14 shows the information stored in the flow information storage unit 123. Information on macro flows other than the adjustment target is shown shaded.

[0084] In S20-2, the macro flow generation function unit 112 acquires "a macro flow in which the bandwidth after update is larger than that before update" as the adjustment target selection policy from the adjustment target selection policy storage unit 121.

[0085] In S20-3, the macro flow generation function unit 112 applies the adjustment target selection policy to the flow information stored in the flow information storage unit 123, and selects macro flow I as the adjustment target macro flow. In S20-4, the macro flow generation function unit 112 obtains, as an adjustment policy from the adjustment policy storage unit 122, a policy of "reducing the bandwidth per adjustment by 100 Mbps".

[0086] At this stage, the flow information is as shown in "Before adjustment" in FIG. 14. Here, the bit rate of the micro flow is the bit rate of each micro flow in the macro flow. The same applies to the following description.

[0087] In S20-5, the macro flow generation function unit 112 reduces the bit rate of the micro flow of each user terminal accommodated in the macro flow I to be adjusted by 100 Mbps. As shown in "After the first adjustment" in FIG. 14, the required bandwidth of macro flow I is 1200 Mbps. In "After the first adjustment", the design at the orchestrator 300 becomes NG.

[0088] Therefore, the second adjustment is executed in the same procedure as above. As a result, as shown in "After the second adjustment" in FIG. 14, the required bandwidth of macro flow I becomes 900 Mbps. As a result, the total required bandwidth of macro flows I and II becomes smaller than 1500 Mbps, and the design at the orchestrator 300 becomes OK.

[0089] <Adjustment Example 2 of Embodiment 1> Adjustment Example 2 will be described with reference to FIG. 15 in accordance with the procedure of FIG. 6. FIG. 15 shows the information stored in the flow information storage unit 123.

[0090] In S20-2, the macro flow generation function unit 112 obtains "all macro flows" as the adjustment target selection policy from the adjustment target selection policy storage unit 121.

[0091] In S20-3, the macro flow generation functional unit 112 applies an adjustment target selection policy to the flow information stored in the flow information storage unit 123, and selects macro flows I and II as the adjustment target macro flows. In S20-4, the macro flow generation functional unit 112 obtains, as an adjustment policy from the adjustment policy storage unit 122, a policy of "setting the bandwidth reduction width per adjustment to 100 Mbps".

[0092] At this stage, the flow information is as shown in "Before adjustment" in FIG. 15. In S20-5, the macro flow generation functional unit 112 reduces the bit rate of each micro flow of each user terminal accommodated in each macro flow to be adjusted by 100 Mbps. As shown in "After the first adjustment" in FIG. 15, the required bandwidth of macro flow I becomes 1200 Mbps, and the required bandwidth of macro flow II becomes 300 Mbps. The total is 1500 Mbps. Therefore, the design is OK and the process ends.

[0093] (Options for the operation of Example 1) In Example 1, when the design cannot be made, only the allocation NG is returned from the orchestrator 300 (optimal allocation processing functional unit 320). However, the allocable bit rate may be notified from the optimal allocation processing functional unit 320 to the quality adjustment functional unit 100 (bandwidth adjustment functional unit 113), and based on that value, the quality adjustment functional unit 100 may change the bit rate allocated to the micro flow. Thereby, quality adjustment can be performed efficiently.

[0094] In Example 1, regarding the reduction of the bit rate, a fixed amount is reduced regardless of the value of the original bit rate, but it may be reduced at a fixed rate from the original bit rate. For example, the reduction may be 10% of the original bit rate or the like.

[0095] In the first embodiment, bandwidth adjustment is performed by triggering a bandwidth adjustment request from the user terminal 200. However, the quality adjustment function unit 100 may periodically collect flow information (target quality, achievable quality, communication destination, etc.) from the user terminal 200 to generate a macro flow, and the quality adjustment function unit 100 may perform an optimal allocation processing request at a free timing (for example, every 10 minutes).

[0096] In the first embodiment, the result of the quality adjustment is directly notified from the quality adjustment function unit 100 to the user terminal 200. However, the result of the quality adjustment may be converted into a policy (for example, a policy used during video distribution) and stored in the policy server, and the user terminal 200 may obtain the policy from the policy server at a free timing (for example, at the start of viewing).

[0097] (Second Embodiment) Next, the second embodiment will be described. The flow of the adjustment operation in the second embodiment is the same as the flow of the adjustment operation in the first embodiment. In the second embodiment, the quality required by the user is the QoE (Quality of Experience) index instead of the bit rate.

[0098] Also, in the first embodiment, the adjustment policy (regulation regarding quality reduction) was only defined in terms of the bit rate, whereas in the second embodiment, it also includes QoE-based definitions.

[0099] The second embodiment is different from the first embodiment only in that the request message from the user is changed to a QoE adjustment request or the like, and a process of converting from QoE to bit rate (QoS) is added during macro flow generation. Regarding the flow of the process, FIGS. 5 to 8 described in the first embodiment can also be applied in the second embodiment.

[0100] <System Configuration of the Second Embodiment> FIG. 16 shows the configuration of the quality adjustment system in the first embodiment. Here, only the points different from the basic configuration (FIG. 1) and the first embodiment (FIG. 4) will be described.

[0101] The quality adjustment function unit 100 of Example 2 includes an index value conversion function unit 114 that performs conversion processing between QoE and QoS. The conversion processing may be performed using mathematical formulas or using a table.

[0102] When the macro flow generation function unit 112 receives a macro flow generation request message from the quality adjustment processing function unit 111, it generates a macro flow according to the target QoE and connection information included in the message. The conversion between QoE and QoS (bandwidth) utilizes the index value conversion function unit 114. When receiving a macro flow adjustment request message, new macro flow information with a reduced required bandwidth is generated using the information stored in the storage unit.

[0103] When generating macro flow information, the macro flow generation function unit 112 converts the QoE index information presented from the user terminal 200 into a bit rate (QoS) using the index value conversion function unit 114.

[0104] Also, when the macro flow generation function unit 112 generates flow information based on QoE, it uses the index value conversion function unit 114 to convert the adjusted QoE into a bit rate and stores the converted flow information.

[0105] Also, when the macro flow generation function unit 112 adjusts flow information based on the bit rate, it uses the index value conversion function unit 114 to store flow information obtained by converting the adjusted bit rate into a QoE index value.

[0106] <Adjustment Example of Example 2> Hereinafter, a specific adjustment example in Example 2 will be described. In this adjustment example, it is assumed that the allocated network resources are insufficient and it is necessary to lower the QoE, and the macro flow generation function unit 112 performs adjustment processing according to a predetermined policy.

[0107] Examples of the macro flow information and micro flow information stored in the flow information storage unit 123 are shown in FIGS. 17 and 18, respectively.

[0108] There are two types of policies used during the adjustment process: a policy for selecting the target macro flow (e.g., Fig. 19) and a policy for selecting the bandwidth adjustment method (e.g., Fig. 20). These two are combined to form a reduction rule.

[0109] Fig. 19 shows an example of the adjustment target selection policy stored in the adjustment target selection policy storage unit 121 in Example 2. As shown in Fig. 19, three types of policies are stored.

[0110] The first policy is a policy for selecting a macro flow whose bandwidth after update is larger than that before update. With this policy, when accommodating user terminals, a flow with an increased macro flow bandwidth (i.e., a macro flow in which a new user terminal is accommodated) is selected.

[0111] The second policy is a policy for selecting all macro flows. With this policy, all flows using the network are selected as targets.

[0112] The third policy is a policy for selecting a macro flow with high quality per user. With this policy, among all flows, a flow with high user quality is selected as the target. For example, if there are flows with QoE indicators of 3 and 2, the flow of the user terminal with a QoE indicator of 3 is set as the adjustment target.

[0113] Fig. 20 shows an example of the adjustment policy stored in the adjustment policy storage unit 122 in Example 2. As shown in Fig. 20, three types of policies are stored.

[0114] The QoE-based policy is a policy that performs adjustment with the bandwidth calculated based on the QoE obtained by reducing the original QoE by the set QoE. The bandwidth-based policy is a policy that performs adjustment with the bandwidth obtained by reducing the original bandwidth by the set bandwidth. The hybrid policy is a policy that calculates the bandwidth using both the QoE-based and bandwidth-based methods and performs adjustment with the larger of these two bandwidths.

[0115] The configuration of the flow in the initial state in the adjustment example described below is shown in FIG. 21. In this adjustment example, for the sake of simplicity of explanation, it is assumed that macro flows I and II are realized by common physical resources (CPU and memory).

[0116] Macro flow I includes the micro flow of user terminal A, the micro flow of user terminal B, and the micro flow of user terminal C. Macro flow II includes the micro flow of user terminal D. The newly connected user terminal E connects to server β, and since the required QoE is 4, it will belong to macro flow II.

[0117] In carrying out the adjustment, in this adjustment example, the conversion between QoE and QoS is performed using the correspondence table shown in FIG. 22. Also, the reduction rules in each adjustment policy are as shown in FIG. 23.

[0118] Hereinafter, the following adjustment examples 1 to 6 will be described.

[0119] Adjustment example 1: "Adjustment target selection policy: The macro flow with increased bandwidth after update compared to before update", "Adjustment policy: QoE-based" Adjustment example 2: "Adjustment target selection policy: The macro flow with increased bandwidth after update compared to before update", "Adjustment policy: Bandwidth-based" Adjustment example 3: "Adjustment target selection policy: All macro flows", "Adjustment policy: QoE-based" Adjustment example 4: "Adjustment target selection policy: All macro flows", "Adjustment policy: Bandwidth-based" Adjustment example 5: "Adjustment target selection policy: The macro flow with high quality per user", "Adjustment policy: QoE-based" Adjustment example 6: "Adjustment target selection policy: The macro flow with high quality per user", "Adjustment policy: Bandwidth-based" Hereinafter, each adjustment example will be described.

[0120] <Adjustment example 1 of Example 2> Adjustment Example 1 will be described with reference to FIG. 24 in accordance with the procedure of FIG. 6. FIG. 24 shows the information stored in the flow information storage unit 123. The information of macroflows other than those to be adjusted is shown shaded. Each policy of Adjustment Example 1 is as follows.

[0121] Adjustment target selection policy: Macroflows with increased bandwidth after update compared to before update Adjustment policy: QoE-based In S20-3, the macroflow generation function unit 112 applies the adjustment target selection policy to the flow information stored in the flow information storage unit 123, and selects Macroflow II as the adjustment target macroflow.

[0122] In S20-5, the macroflow generation function unit 112 decreases the QoE of each microflow of the user terminals accommodated in the adjustment target macroflow II by 1. Through the conversion process, the bitrate is decreased by 100 Mbps.

[0123] As shown in "After the first adjustment" in FIG. 24, the required bandwidth of Macroflow II becomes 800 Mbps. Since the bandwidth allocated to Macroflow I and Macroflow II is 1500 Mbps, the design at the orchestrator 300 is NG after "the first adjustment".

[0124] Therefore, the second adjustment is executed in the same procedure as above. As a result, as shown in "After the second adjustment" in FIG. 24, the required bandwidth of Macroflow II becomes 600 Mbps. This enables the allocation of the bandwidth required by each macroflow within the physical resources, and the design at the orchestrator 300 becomes OK. The changed QoE is notified to each user terminal included in Macroflow II.

[0125] <Adjustment Example 2 of Example 2> Adjustment Example 2 will be described according to the procedure of FIG. 6 with reference to FIG. 25. FIG. 25 shows the information stored in the flow information storage unit 123. The information of macro flows other than the adjustment target is shown in shaded form. Each policy of Adjustment Example 2 is as follows.

[0126] Adjustment target selection policy: Macro flows with increased bandwidth after update compared to before update Adjustment policy: Bandwidth-based In S20-3, the macro flow generation function unit 112 applies the adjustment target selection policy to the flow information stored in the flow information storage unit 123, and selects Macro Flow II as the adjustment target macro flow.

[0127] In S20-5, the macro flow generation function unit 112 reduces the bit rate of the micro flow of each user terminal accommodated in the adjustment target macro flow II by 100 Mbps.

[0128] As shown in "After the first adjustment" in FIG. 24, the required bandwidth of Macro Flow II becomes 800 Mbps. Since the bandwidths allocated to Macro Flow I and Macro Flow II are 1500 Mbps, the design at the orchestrator 300 is NG after "the first adjustment".

[0129] Therefore, the second adjustment is executed in the same procedure as above. As a result, as shown in "After the second adjustment" in FIG. 24, the required bandwidth of Macro Flow II becomes 600 Mbps. This enables the allocation of the bandwidth required by each macro flow within the physical resources, and the design at the orchestrator 300 is OK. The changed QoE is notified to each user terminal included in Macro Flow II.

[0130] <Adjustment Example 3 of Embodiment 2> Adjustment Example 3 will be described according to the procedure of FIG. 6 with reference to FIG. 26. FIG. 26 shows the information stored in the flow information storage unit 123. Each policy of Adjustment Example 3 is as follows.

[0131] Adjustment target selection policy: All macroflows Adjustment policy: QoE-based In S20-3, the macroflow generation function unit 112 applies the adjustment target selection policy to the flow information stored in the flow information storage unit 123, and selects macroflow I and macroflow II as the adjustment target macroflows.

[0132] In S20-5, for each of the macroflows I and II that are the adjustment targets, the macroflow generation function unit 112 reduces the QoE of the microflows of each accommodated user terminal by 1. Through the conversion process, the bit rate is reduced by 100 Mbps.

[0133] As shown in "After the first adjustment" in Fig. 26, the required bandwidths of macroflow I and macroflow II become 600 Mbps and 800 Mbps respectively. As a result, it becomes possible to allocate the bandwidth required by each macroflow within the physical resources, and the design in the orchestrator 300 is OK. The changed QoE is notified to each user terminal included in macroflow I and macroflow II.

[0134] <Adjustment example 4 of Example 2> Adjustment example 4 will be described according to the procedure of Fig. 6 with reference to Fig. 27. Fig. 27 shows the information stored in the flow information storage unit 123. Each policy of adjustment example 4 is as follows.

[0135] Adjustment target selection policy: All macroflows Adjustment policy: Bandwidth-based In S20-3, the macroflow generation function unit 112 applies the adjustment target selection policy to the flow information stored in the flow information storage unit 123, and selects macroflow I and macroflow II as the adjustment target macroflows.

[0136] In S20-5, for each of the macroflows I and II that are the adjustment targets, the macroflow generation function unit 112 reduces the bit rate by 100 Mbps.

[0137] As shown in "After the First Adjustment" in FIG. 27, the required bandwidths of Macro Flow I and Macro Flow II are 600 Mbps and 800 Mbps respectively. As a result, it becomes possible to allocate the bandwidth required by each macro flow within the physical resources, and the design in the orchestrator 300 is OK. The changed QoE is notified to each user terminal included in Macro Flow I and Macro Flow II.

[0138] <Adjustment Example 5 of Example 2> Adjustment Example 5 will be described with reference to FIG. 28 in accordance with the procedure of FIG. 6. FIG. 28 shows the information stored in the flow information storage unit 123. Information on macro flows other than those to be adjusted is shown shaded. Each policy of Adjustment Example 5 is as follows.

[0139] Adjustment Target Selection Policy: Macro flow with high quality per user Adjustment Policy: QoE-based In S20-3, the macro flow generation function unit 112 applies the adjustment target selection policy to the flow information stored in the flow information storage unit 123, and selects Macro Flow II as the adjustment target macro flow.

[0140] In S20-5, the macro flow generation function unit 112 decreases the QoE of the micro flow of each user terminal accommodated in the adjustment target macro flow II by 1. By the conversion process, the bit rate is decreased by 100 Mbps.

[0141] As shown in "After the First Adjustment" in FIG. 28, the required bandwidth of Macro Flow II becomes 800 Mbps. Since the bandwidths allocated to Macro Flow I and Macro Flow II are 1500 Mbps, the design in the orchestrator 300 is NG after "After the First Adjustment".

[0142] Therefore, the second adjustment is executed in the same procedure as above. As a result, as shown in "After the second adjustment" in FIG. 28, the required bandwidth of Macro Flow II becomes 600 Mbps. This enables the bandwidth allocation required for each macro flow within the physical resources, and the design in the orchestrator 300 is okay. The changed QoE is notified to each user terminal included in Macro Flow II.

[0143] <Adjustment Example 6 of Embodiment 2> Adjustment Example 6 will be described along the procedure of FIG. 6 with reference to FIG. 29. FIG. 29 shows the information stored in the flow information storage unit 123. Information on macro flows other than the adjustment target is shown shaded. Each policy of Adjustment Example 6 is as follows.

[0144] Adjustment target selection policy: Macro flow with high quality per user Adjustment policy: Bandwidth-based In S20-3, the macro flow generation function unit 112 applies the adjustment target selection policy to the flow information stored in the flow information storage unit 123, and selects Macro Flow II as the adjustment target macro flow.

[0145] In S20-5, the macro flow generation function unit 112 reduces the bit rate of the micro flow of each user terminal accommodated in the adjustment target macro flow II by 100 Mbps.

[0146] As shown in "After the first adjustment" in FIG. 29, the required bandwidth of Macro Flow II becomes 800 Mbps. Since the bandwidth allocated to Macro Flow I and Macro Flow II is 1500 Mbps, the design in the orchestrator 300 is NG after the "first adjustment".

[0147] Therefore, the second adjustment is performed in the same procedure as above. As a result, as shown in "After the Second Adjustment" in FIG. 29, the required bandwidth of Macro Flow II becomes 600 Mbps. This enables the allocation of the bandwidth required by each macro flow within the physical resources, and the design in the orchestrator 300 is OK. The changed QoE is notified to each user terminal included in Macro Flow II.

[0148] (Hardware Configuration Example) Each of the user terminal 200, the quality adjustment function unit 100 (quality adjustment device), and the orchestrator 300 can be realized, for example, by causing a computer to execute a program. This computer may be a physical computer or a virtual machine on the cloud. When using a virtual machine on the cloud, the configuration described below is a virtual configuration. Hereinafter, the user terminal 200, the quality adjustment function unit 100 (quality adjustment device), and the orchestrator 300 are collectively referred to as "devices".

[0149] That is, the device can be realized by executing a program corresponding to the processing performed by the device using hardware resources such as a CPU and a memory built in the computer. The above program can be recorded on a computer-readable recording medium (such as a portable memory), stored, distributed, or provided through a network such as the Internet or e-mail.

[0150] FIG. 30 is a diagram showing a hardware configuration example of the above computer. The computer in FIG. 30 includes a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, an output device 1008, etc., which are mutually connected by a bus BS.

[0151] A program for realizing the processing on the computer is provided by a recording medium 1001 such as a CD-ROM or a memory card, for example. When the recording medium 1001 storing the program is set in the drive device 1000, the program is installed from the recording medium 1001 via the drive device 1000 into the auxiliary storage device 1002. However, the program does not necessarily have to be installed from the recording medium 1001, and it may be downloaded from another computer via a network. The auxiliary storage device 1002 stores the installed program and also stores necessary files, data, etc.

[0152] When an instruction to start the program is given, the memory device 1003 reads out and stores the program from the auxiliary storage device 1002. The CPU 1004 realizes the functions related to the device according to the program stored in the memory device 1003. The interface device 1005 is used as an interface for connecting to a network or the like. The display device 1006 displays a GUI (Graphical User Interface) or the like by the program. The input device 1007 is composed of a keyboard, a mouse, buttons, or a touch panel, etc., and is used to input various operation instructions. The output device 1008 outputs the calculation result.

[0153] (Effects of the Embodiment) According to the technology of the present embodiment, even when there are no network resources or server resources that satisfy the target quality indicated from the terminal, if there is a surplus in the resources, adjustment processing is performed so as to obtain the quality that can be realized within the surplus resources. As a result, the user can use the service with the best quality within the resources available at the time of using the service.

[0154] (Supplementary Note) Regarding the above embodiment, the following supplementary claims are further disclosed. (Supplementary Claim 1) A quality adjustment device for adjusting the quality of a service provided to a user terminal on a network, comprising: a memory, and At least one processor connected to the memory, including, the processor receives a target quality from the user terminal, when resource allocation in the network cannot be performed to meet the target quality of the user terminal, selects a flow to be subject to quality adjustment, and adjusts the quality in the flow. Quality adjustment device. (Additional item 2) The processor repeats the process of requesting resource allocation to the network by performing quality adjustment of the flow and notifying the resource allocation device of the information of the flow after quality adjustment until resource allocation in the network can be performed. The quality adjustment device according to Additional item 1. (Additional item 3) The processor adjusts the quality in the flow according to a predetermined adjustment policy. The quality adjustment device according to Additional item 1. (Additional item 4) The processor selects one or more macroflows related to the service as the target of the quality adjustment according to a predetermined adjustment target selection policy. The quality adjustment device according to Additional item 1. (Additional item 5) The processor executes the adjustment by reducing the bit rate or the perceived quality index value in each microflow constituting the macroflow to be subject to quality adjustment. The quality adjustment device according to Additional item 4. (Additional item 6) A quality adjustment method executed by a computer functioning as a quality adjustment device for adjusting the quality of a service provided to a user terminal on a network, receiving a target quality from the user terminal, when resource allocation in the network cannot be performed to meet the target quality of the user terminal, selecting a flow to be subject to quality adjustment, and adjusting the quality in the flow. Quality adjustment method. (Supplementary Note 7) A non-transitory storage medium storing a program for causing a computer to function as each part in the quality adjustment device according to any one of claims 1 to 5.

[0155] Although the present embodiment has been described above, the present invention is not limited to such a specific embodiment, and various modifications and changes are possible within the scope of the gist of the present invention described in the claims.

Explanation of Reference Numerals

[0156] 100 Quality adjustment function unit 110 Control unit 111 Quality adjustment processing function unit 112 Macro flow generation function unit 113 Bandwidth adjustment processing function unit 114 Index value conversion function unit 120 Storage unit 121 Adjustment target selection policy storage unit 122 Adjustment policy storage unit 123 Flow information storage unit 130 Input unit 140 Communication unit 150 Output unit 200 User terminal 210 Control unit 211 Quality requirement unit 212 Bandwidth requirement unit 300 Orchestrator 310 Macro flow management function unit 320 Optimal allocation processing function unit 330 Resource control unit 340 Resource design function unit 1000 Drive device 1001 Recording medium 1002 Auxiliary storage device 1003 Memory device 1004 CPU 1005 Interface device 1006 Display device 1007 Input device 1008 Output device

Claims

1. A quality adjustment device for adjusting the quality of a service provided to a user terminal on a network, a communication unit that receives a target quality from the user terminal; a control unit that selects a flow to be quality-adjusted when resource allocation in the network cannot be performed to meet the target quality of the user terminal, and adjusts the quality in the flow, comprising: The control unit selects one or more macroflows related to the service as the target of the quality adjustment according to a predetermined adjustment target selection policy, Each macroflow is composed of a plurality of microflows with the same required bit rate, starting address band, and destination server Quality adjustment device.

2. The control unit performs quality adjustment of the flow, and repeats the process of requesting resource allocation to the network by notifying the resource allocation device of information on the flow after quality adjustment until resource allocation in the network can be performed. The quality adjustment device according to claim 1.

3. The control unit adjusts the quality in the flow according to a predetermined adjustment policy. The quality adjustment device according to claim 1.

4. The control unit executes the adjustment by reducing the bit rate or the perceived quality index value in each microflow constituting the macroflow to be quality-adjusted. The quality adjustment device according to claim 1.

5. A quality adjustment method executed by a computer functioning as a quality adjustment device for adjusting the quality of a service provided to a user terminal on a network, receiving a target quality from the user terminal; When resource allocation in the network cannot be performed to meet the target quality of the user terminal, a control step of selecting a flow to be subject to quality adjustment and adjusting the quality in the flow is provided. In the control step, the computer selects, as the target of the quality adjustment, one or more macro flows related to the service according to a predetermined adjustment target selection policy. Each macro flow is composed of a plurality of micro flows having the same required bit rate, start address band, and destination server. Quality adjustment method.

6. A program for causing a computer to function as each part in the quality adjustment device according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Control device, traffic control method, and recording medium onto which computer program is recorded

    WO2016136215A1