WO2021166288A1 - 制御装置、制御方法及びプログラム - Google Patents

制御装置、制御方法及びプログラム Download PDF

Info

Publication number
WO2021166288A1
WO2021166288A1 PCT/JP2020/032427 JP2020032427W WO2021166288A1 WO 2021166288 A1 WO2021166288 A1 WO 2021166288A1 JP 2020032427 W JP2020032427 W JP 2020032427W WO 2021166288 A1 WO2021166288 A1 WO 2021166288A1
Authority
WO
WIPO (PCT)
Prior art keywords
session
qoe
bandwidth
allocated
sessions
Prior art date
Application number
PCT/JP2020/032427
Other languages
English (en)
French (fr)
Inventor
英朗 金正
拓人 木村
太一 河野
和久 山岸
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to JP2022501609A priority Critical patent/JP7424465B2/ja
Priority to US17/800,078 priority patent/US11805074B2/en
Publication of WO2021166288A1 publication Critical patent/WO2021166288A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/803Application aware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Definitions

  • the present invention relates to a control device, a control method and a program.
  • QoS Quality of Service
  • QoE quality of service
  • Non-Patent Document 1 This control method is also used in a real network, and controls that allocate bandwidth fairly from the viewpoint of QoS. Further, there is Non-Patent Document 2 as an existing band control method for controlling an allocated band based on QoE.
  • FIG. 1 is a diagram showing an example of the relationship between QoS and QoS that differs for each application.
  • a graph shows the relationship between QoS (throughput) and QoE for each application when throughput is used as QoS and moving images and the Web are targeted as applications.
  • the bandwidth control method of Non-Patent Document 1 the bandwidth can be sufficiently utilized even for changes in the network by dynamically changing the allocated bandwidth so that QoS becomes fair, but it is based on quantitative QoS. And the allocated bandwidth cannot be set for each application.
  • the bandwidth control method using 5 taples (destination IP address, destination port number, source IP address, source port number, L4 protocol) that may be used in a real network is from 5 taples to a user (session).
  • the allocated bandwidth can be set for each application, and the bandwidth can be fully utilized even for network changes, but it is not based on a quantitative QoE index.
  • the allocated bandwidth can be set for each application based on the quantitative QoE index, but the allocated bandwidth cannot be dynamically changed, so that the network changes. Cannot fully utilize the bandwidth.
  • the allocated bandwidth can be set for each application based on the quantitative QoE index, but the allocated bandwidth cannot be changed dynamically. All of the above conditions cannot be met because the bandwidth cannot be fully utilized in response to changes in the network. This is because the combination of the existing methods does not hold the application state, and the QoE for the user (session) in the middle of communication cannot be calculated appropriately.
  • the present invention has been made in view of the above points, and an object of the present invention is to reduce sessions with low QoE when a plurality of types of applications are controlled in a network environment that changes with time. ..
  • the control device includes an acquisition unit that acquires application information related to the sessions at a plurality of timings for each of a plurality of sessions related to the plurality of types of applications communicating in the network. Based on the QoE predicted value of each session based on the application information and the condition for the band of the network, the search unit searches for the allocated band of each of the plurality of sessions at the plurality of timings, and the search unit It has a control unit that controls the allocation of the band for each session at the plurality of timings based on the searched allocated band.
  • FIG. 2 is a diagram showing a hardware configuration example of the control device 10 according to the first embodiment.
  • the control device 10 of FIG. 2 has a drive device 100, an auxiliary storage device 102, a memory device 103, a CPU 104, an interface device 105, and the like, which are connected to each other by a bus B, respectively.
  • the program that realizes the processing in the control device 10 is provided by a recording medium 101 such as a CD-ROM.
  • a recording medium 101 such as a CD-ROM.
  • the program is installed in the auxiliary storage device 102 from the recording medium 101 via the drive device 100.
  • the program does not necessarily have to be installed from the recording medium 101, and may be downloaded from another computer via the network.
  • the auxiliary storage device 102 stores the installed program and also stores necessary files, data, and the like.
  • the memory device 103 reads and stores the program from the auxiliary storage device 102 when the program is instructed to start.
  • the CPU 104 executes the function related to the control device 10 according to the program stored in the memory device 103.
  • the interface device 105 is used as an interface for connecting to a network.
  • FIG. 3 is a diagram showing a functional configuration example of the control device 10 according to the first embodiment.
  • the control device 10 searches for and controls the optimum allocated bandwidth for each session by inputting the information of each session used for communication.
  • the session information is session identification information represented by 5 tuples.
  • the 5-tuple refers to a set represented by a destination IP address, a destination port number, a source IP address, a source port number, and an L4 protocol.
  • the control device 10 includes an application information acquisition unit 11, an optimum allocation band search unit 12, an optimum allocation band control unit 13, and the like. Each of these parts is realized by a process of causing the CPU 104 to execute one or more programs installed in the control device 10.
  • the control device 10 also uses the application information storage unit 14.
  • These application information storage units 14 can be realized by using, for example, a storage device that can be connected to the auxiliary storage device 102 or the control device 10 via a network.
  • FIG. 4 is a flowchart for explaining an example of a processing procedure executed by the control device 10 of the first embodiment.
  • the processing procedure of FIG. 4 is repeatedly executed at a plurality of timings (for example, periodically (for example, a 2-second cycle)).
  • the application information acquisition unit 11 stores the application information corresponding to each session related to one or more input session information (hereinafter, each of the sessions is referred to as a “target session”) in the application information storage unit 14. Get from.
  • the session information of each session currently being communicated is input to the application information acquisition unit 11. For example, such session information may be acquired by acquiring the header information of the packet flowing through the network.
  • FIG. 5 is a diagram showing a configuration example of the application information storage unit 14.
  • the application information storage unit 14 stores the application information in association with the session information of each session currently being communicated.
  • the application information is updated from moment to moment during communication. Therefore, the information stored in the application information storage unit 14 may be input by a user or the like, or may be automatically input by an external device such as a device for monitoring the network.
  • the application information acquisition unit 11 may update the application information storage unit 14 by acquiring the packet information flowing through the network and estimating the application information from the packet information.
  • the application information includes parameters such as application type, buffer length, playback stop information, bit rate series, and communication time.
  • there is one Web session (session whose application type is "Web") and two video sessions (session whose application type is "video").
  • the application information of the Web session (hereinafter referred to as "Web session") is composed of the application type and the communication time.
  • the application type is the type of application corresponding to the session.
  • the type of application is classified into "Web” or "moving image”.
  • the communication time represents the elapsed time from the start of communication to almost the present time.
  • the application information of the video session includes the application type, the buffer length, the playback stop information, and the bit rate series.
  • the buffer length is the time length of unplayed video data that is currently buffered in a client of a video session (for example, a viewing terminal such as a PC (Personal Computer), a smartphone or a tablet terminal).
  • buffering means that the moving image data received by the terminal is stored in the memory of the terminal before being played back.
  • the playback stop information is an array of a set of a playback stop occurrence time and a playback stop time. For example, [(0,2)] indicates that the playback has stopped once and the playback has stopped until 2 seconds after the start of communication.
  • the bit rate series is an array of average bit rates for any media time.
  • [700,1000] means that the average bit rate from 0 seconds to 10 seconds is 700 kbps and the average bit rate from 10 seconds to 20 seconds is 1000 kbps in the media time.
  • these are examples, and the parameters held may differ depending on the variables required for QoE prediction.
  • frame rate, resolution, and the like can be mentioned as examples of variables required for QoE prediction.
  • the optimal allocated bandwidth search unit 12 searches for the allocated bandwidth (optimal allocated bandwidth) for each target session so that the minimum QoE predicted value among the QoE predicted values for each target session increases (S20). ).
  • the QoE predicted value is an estimated value of QoE obtained at a time point slightly after allocating a certain band to each session.
  • the time point a little ahead is, for example, the time when the chunk of one chunk ahead is completed without including the chunk being received at the time of band allocation in the moving image, and the estimated data amount (500KB) included in the content on the Web. Etc.) is the time when reception is completed.
  • the estimated value of QoE at the time when the chunk of the h chunk destination is received without including the chunk being received at the time of band allocation may be used as the QoE predicted value.
  • the estimated value of QoE at the time when a preset time has elapsed from the start of communication of each session may be used as the QoE predicted value.
  • the optimal allocated bandwidth control unit 13 controls the allocated bandwidth for each session based on the optimal allocated bandwidth searched by the optimal allocated bandwidth search unit 12 (S30). For example, when the router controls the data, the optimum allocated bandwidth control unit 13 controls the amount of data that each session can send per unit time by weighting based on the optimum allocated bandwidth. For example, if there are three sessions in a band with a total band of 10 Mbps and allocation is performed with (2 Mbps, 2 Mbps, 6 Mbps), (0.2, 0.2, 0.6) is set as the weight for each session. Therefore, weighting based on the optimum allocated bandwidth can be performed.
  • FIG. 6 is a flowchart for explaining an example of the processing procedure of the search processing of the optimum allocated bandwidth in the first embodiment.
  • step S400 the optimum allocated bandwidth search unit 12 sets initial values for the targetQoE, bw, and bw'variables.
  • targetQoE [1,5]
  • bw ⁇ bw i ⁇ ⁇ R N allocated band candidate vector (where, R represents set of real numbers (the same applies hereinafter)) represents
  • the optimum allocated bandwidth search unit 12 sets QoE init as an initial value for targetQoE.
  • the optimum allocated bandwidth search unit 12 sets (substitutes) bw as an initial value for bw'. For example, 1 may be set for QoE init , and 100 kbps may be set for bw init, for example.
  • the optimum allocated bandwidth search unit 12 searches for the allocated bandwidth satisfying the quality condition for each target session until the band condition (threshold value) is not satisfied.
  • the quality condition represents a condition (threshold value) that the QoE predicted value of each target session should satisfy, and in the present embodiment, the QoE predicted value of each target session is targetQoE or more.
  • step S410 the optimum allocated bandwidth search unit 12 substitutes 1 for the variable i.
  • the variable i is a variable for identifying each of the target sessions.
  • the i-th target session is referred to as "session i".
  • QoE i represents the QoE at the time a little earlier when assigning the bw i for the session i.
  • Prediction of QoE i is divided calculating a predicted value of the application information from bw i, from the application information into two steps of calculating the QoE i.
  • optimum allocation band search unit 12 calculates the respective predicted values of the reproduction stop information and bit rate sequence when assigning the bw i in session i.
  • the playback stop information and the bit rate series are estimated using the chunk length and bit rate selection algorithm.
  • the chunk length means the length of the moving image of one block when one moving image content is divided into a plurality of chunks. Moreover, this one mass is called a chunk. For example, when a 60-second video is divided into 30 chunks, the chunk length is 2 seconds. Since the chunk length differs depending on the settings of the video distribution service provider, it may be measured on the terminal when downloading the video of each video distribution service provider, or the chunk length that is generally used is a representative value. It may be used as. In addition, each chunk is re-encoded at a plurality of bit rates and stored in the distribution server.
  • the video player uses a bit rate selection algorithm to select a bit rate suitable for the current network and buffer conditions, and requests chunks encoded at that bit rate.
  • the video player plays back at any time while receiving chunks.
  • An example of a bit rate selection algorithm is an algorithm that selects the maximum bit rate that does not exceed the average throughput when the most recent chunk is received. Similar to the chunk length, the bit rate selection algorithm may measure and estimate the behavior of the algorithm when downloading the video of the video distributor, or it may be assumed that a specific algorithm is used. good.
  • Playback stop information and an estimated value of the bit rate series are calculated using these.
  • the bit rate series can be estimated according to the bit rate selection algorithm. For example, assuming that the current bit rate series is [700, 1000] and the bit rate selected according to the selection algorithm is 500 kbps, the bit rate series is calculated as [700, 1000, 500].
  • the playback stop information can be estimated by estimating the transition of the buffer length. For example, when the buffer length is 0 from 2 seconds to 4 seconds in real time, it can be determined that the playback stop occurs once and the playback stop time is 2 seconds. Buffer length transition can be estimated using the bit rate selection algorithm and chunk length and bw i.
  • optimal allocation band search unit 12 calculates the estimated value of the communication time at the time of a little earlier when assigned to bw i in session i.
  • the communication time is estimated using the Web content size.
  • the Web content size is multiplied by eight.
  • the Web content size may be obtained by actually downloading the content size of a representative website in advance, and the average value thereof may be used.
  • the optimum allocated bandwidth search unit 12 calculates QoE i by inputting the estimated application information into a known QoE estimation model.
  • a known QoE estimation model for example, "K. Yamagishi, and T. Hayashi," Parametric Quality- It may be calculated by inputting it in "Estimation Model for Adaptive-Bitrate-Streaming Services", IEEE Transactions on Multimedia, vol. 19, no. 7, pp. 1545-1557, Jul. 2017 ").
  • the application type corresponding to session i is Web
  • the estimated value of the communication time is a known QoE estimation model (for example, "T.
  • the value obtained by the experiment for each allocated band is stored in advance in the auxiliary storage device 102 or the like, and the value may be used as an estimated value.
  • the optimum allocated bandwidth search unit 12 determines whether or not the QoE i is the targetQoE or more (S430). That is, it is determined whether or not QoE i satisfies the quality condition.
  • the optimum allocated bandwidth search unit 12 increases bw i by ⁇ and returns to step S420. Therefore, until the QoE i is equal to or greater than targetQoE calculation of QoE i is repeated.
  • is a preset parameter. However, when a QoE i ⁇ targetQoE, allocated bandwidth of the session i proceeds to subsequent step S450 as bw i at that time.
  • the optimum allocated bandwidth search unit 12 adds 1 to the variable i (S450) and sets the value of the variable i and N (total number of target sessions). Compare (S460). When the value of the variable i is N or less (No in S450), the optimal allocated bandwidth search unit 12 executes step S420 and subsequent steps for session i. If the value of the variable i is larger than N (Yes in S460), the process proceeds to step S470. Accordingly, at the time when the process proceeds to step S470, for all the target session, the quality satisfies bw i is identified.
  • the optimum allocated bandwidth search unit 12 updates bw'to bw (S480), increases targetQoE by ⁇ (S490), and repeats step S410 and subsequent steps. ..
  • the optimum allocation band search unit 12 outputs bw'as the optimum allocation band to the optimum allocation band control unit 13 (S500).
  • step S400 the initial value of each variable is set as follows.
  • step S410 and subsequent (first time) for each session, for example, the quality condition is satisfied allocated bandwidth bw i is searched as follows.
  • the process proceeds to step S470 without any bw i is updated by ⁇ for quality satisfying a state of the initial value.
  • step S470 it is determined as follows whether or not the bandwidth condition is satisfied for the entire target session.
  • each of targetQoE and bw' is updated as follows, and the process returns to step S410.
  • the quality condition is satisfied allocated bandwidth bw i is searched as follows.
  • bw 1 500
  • bw 2 250
  • bw 3 250
  • step S470 it is determined as follows whether or not the bandwidth condition is satisfied for the entire target session.
  • each of targetQoE and bw' is updated as follows, and the process returns to step S410.
  • the allocated bands bw 1 and bb 2 satisfying the quality condition are searched as follows.
  • the allocated band bw 3 satisfying the quality condition is searched for as follows.
  • step S470 it is determined as follows whether or not the bandwidth condition is satisfied for the entire target session.
  • each of targetQoE and bw' is updated as follows, and the process returns to step S410.
  • bw 2 250
  • bw 2 is updated as follows.
  • the allocated band bw 2 satisfying the quality condition is searched for as follows.
  • the allocated bandwidth of each session is searched for at a plurality of timings based on the QoE predicted values of the plurality of sessions corresponding to the plurality of types of applications.
  • the second embodiment will be described which is different from the first embodiment.
  • the points not particularly mentioned in the second embodiment may be the same as those in the first embodiment.
  • the processing procedure of step S20 in FIG. 4 is different from that of the first embodiment.
  • the allocated bandwidth of the moving image session is determined without considering the predicted buffer length. If the predicted buffer length is not taken into consideration, the risk of playback stoppage increases, and the possibility of causing a final decrease in QoE increases. Therefore, in step S20 of the second embodiment, in addition to the quality condition in the first embodiment, the condition that the predicted value of the buffer length of the moving image session should be satisfied is set. In order to search for the optimum allocated bandwidth under such quality conditions, in addition to the relationship between the allocated bandwidth and the QoE predicted value, the relationship between the allocated bandwidth and the buffer length predicted value is required.
  • FIG. 7 is a flowchart for explaining an example of the processing procedure of the search processing of the optimum allocated bandwidth in the second embodiment.
  • the same steps as those in FIG. 6 are assigned the same step numbers, and the description thereof will be omitted as appropriate.
  • step S420 is replaced with S420a. Further, steps S441 and S442 are added between steps S440 and S450.
  • step S420a the optimum allocated bandwidth search unit 12 calculates the buffer length predicted value buffer i of the session i in addition to the QoE predicted value.
  • steps S441 and S442 in addition to the QoE i being the targetQoE or more, the condition that the buffer length predicted value buffer i of the moving image session i is the buffer length threshold buffer th or more is added to the quality condition. This is a step to realize.
  • step S441 the optimum allocated bandwidth search unit 12 determines whether or not the application type of session i is "moving image". When the application type of session i is "video" (Yes in S441), the optimum allocated band search unit 12 determines whether or not the buffer length predicted value buffer i of session i is equal to or greater than the buffer length threshold buffer th. (S442). If the predicted buffer length buffer i is less than the buffer length threshold value buffer th (No in S442), the process proceeds to step S430. If the predicted buffer length buffer i is equal to or greater than the buffer length threshold value buffer th (Yes in S442), the process proceeds to step S450.
  • the third embodiment will be described which is different from the first embodiment.
  • the points not particularly mentioned in the third embodiment may be the same as those in the first embodiment.
  • step S20 of the third embodiment the processing procedure of step S20 in FIG. 4 is different from that of the first embodiment.
  • the allocated bandwidth is searched so that the number of sessions in which the QoE predicted value becomes equal to or higher than the predetermined threshold targetQoE increases.
  • FIG. 8 is a flowchart for explaining an example of the processing procedure of the search processing of the optimum allocated band in the third embodiment.
  • the same steps as those in FIG. 6 are assigned the same step numbers, and the description thereof will be omitted as appropriate.
  • step S400 is replaced with S400a. Further, steps S510 and S520 are executed instead of steps S410 to S460. Further, step S530 is executed instead of step S490.
  • the optimal allocated bandwidth search unit 12 calculates (identifies) the session i'with the smallest allocated bandwidth required for the QoE predicted value QoE i to be equal to or greater than the targetQoE among the sessions related to the set U.
  • f i (bw) represents a function outputting a QoE prediction value QoE i the allocated bandwidth bw as input.
  • the optimal allocation band search section 12, 'the QoE i' bw i is the minimum allocated bandwidth equal to or greater than TargetQoE.
  • step S530 the optimal allocation band search unit 12 substitutes the difference set excluding i'from the set U into the set U.
  • the optimum allocated bandwidth search unit 12 repeats the above processing until the bandwidth condition is no longer satisfied (S470).
  • the third embodiment may be combined with the condition regarding the buffer length of the moving image session described in the second embodiment. In this case, a part of the conditions in steps S510 and S520 may be set to "f i (bw) ⁇ targetQoE && buffer i ⁇ buffer th ". However, the condition of "buffer i ⁇ buffer th " is applied only to the session in which the application type is moving image.
  • the fourth embodiment will be described which is different from the first embodiment.
  • the points not particularly mentioned in the fourth embodiment may be the same as those in the first embodiment.
  • step S20 of the fourth embodiment the processing procedure of step S20 in FIG. 4 is different from that of the first embodiment.
  • the allocated bandwidth is searched so that the average of the QoE predicted values increases.
  • FIG. 9 is a flowchart for explaining an example of the processing procedure of the search processing of the optimum allocated bandwidth in the fourth embodiment.
  • the same steps as those in FIG. 6 are assigned the same step numbers, and the description thereof will be omitted as appropriate.
  • step S400 is replaced with S400b. Further, steps S610 and S620 are executed instead of steps S410 to S460, and step S490 is not executed.
  • step S410b targetQoE is not initialized. This is because targetQoE is not used in the processing procedure of FIG.
  • step S610 the optimum allocated bandwidth search unit 12 calculates (specifies) the session i'that maximizes the amount of increase in the QoE predicted value when the allocated bandwidth is increased by ⁇ .
  • f i (bw) represents a function outputting a QoE prediction value QoE i the allocated bandwidth bw as input.
  • the optimal allocation band search unit 12 increases the bw i 'only alpha.
  • the optimum allocated bandwidth search unit 12 repeats the above process until the bandwidth condition is no longer satisfied.
  • the fourth embodiment may be combined with the condition regarding the buffer length of the moving image session described in the second embodiment. In this case, in step S610, for the session in which the application type is moving image, only the session satisfying "buffer i ⁇ buffer th " may be a candidate for session i'.
  • the fifth embodiment will be described which is different from the first embodiment.
  • the points not particularly mentioned in the fifth embodiment may be the same as those in the first embodiment.
  • step S20 of the fifth embodiment the processing procedure of step S20 in FIG. 4 is different from that of the first embodiment.
  • the allocated bandwidth is searched so that the minimum value of the QoE predicted value increases.
  • FIG. 10 is a flowchart for explaining an example of the processing procedure of the search processing of the optimum allocated band in the fifth embodiment.
  • the same steps as those in FIG. 9 are assigned the same step numbers, and the description thereof will be omitted as appropriate.
  • step S610a is executed instead of step S610.
  • the optimal allocated bandwidth search unit 12 calculates (identifies) the session i'that minimizes the QoE predicted value in the current allocated bandwidth bw.
  • f i (bw i) represents a function outputting a QoE prediction value QoE i the allocated bandwidth bw i as input.
  • the fifth embodiment may be combined with the condition regarding the buffer length of the moving image session described in the second embodiment.
  • step S610a 'when the application type is a moving
  • step S620 the session i' session i buffer prediction value of 'up satisfies " ⁇ buffer th, bw i buffer i''the ⁇ to You can keep adding.
  • the application information acquisition unit 11 is an example of the acquisition unit.
  • the optimum allocated band search unit 12 is an example of the search unit.
  • the optimum allocated band control unit 13 is an example of the control unit.
  • Control device 11 Application information acquisition unit 12 Optimal allocated bandwidth search unit 13 Optimal allocated bandwidth control unit 14
  • Application information storage unit 100 Drive device 101 Recording medium 102
  • Auxiliary storage device 103
  • Memory device 104
  • CPU 105 Interface device B bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

制御装置は、ネットワークにおいて通信中である、複数の種別のアプリケーションに係る複数のセッションのそれぞれについて、当該セッションに係るアプリケーション情報を複数のタイミングで取得する取得部と、前記アプリケーション情報に基づく前記各セッションのQoE予測値と、前記ネットワークの帯域に対する条件とに基づいて、前記複数のセッションのそれぞれの割当帯域を前記複数のタイミングで探索する探索部と、前記探索部により探索された割当帯域に基づいて、前記各セッションに対する帯域の割当を前記複数のタイミングで制御する制御部と、を有することで、時間的に変化するネットワーク環境において複数種類のアプリケーションを制御対象とした場合におけるQoEの低いセッション数を削減可能とする。

Description

制御装置、制御方法及びプログラム
 本発明は、制御装置、制御方法及びプログラムに関する。
 映像配信サービスの高品質化・Webセッションの増加等の影響により、ネットワークを流れるトラヒック量が急激に増加している。現在のネットワークでは、有限の帯域を多くのユーザが共有しているため、こうしたトラヒック量の増加は、スループットの低下、パケットロス率の増加など、ネットワーク品質(QoS:Quality of Service)の低下を引き起こす。さらに、このようなQoSの低下は、ユーザ体感品質(QoE:Quality of Experience)の低下をもたらす可能性がある。
 また、現在のネットワークでは、ボトルネック機器とそのインタフェースが一箇所に特定されるケースが多い。各インタフェースでは、各セッションに帯域を割り当てることで品質の制御を行っている。したがって、各セッションに対して適切な割当帯域を決定し、それに基づいて帯域の割当を実施することが重要である。
 多くのユーザがネットワークを介したサービスを快適に利用するためには、QoEの低いユーザ数(セッション数)を減少させたり、全ユーザ(セッション)のQoEの平均値を増加させるなど、QoEを考慮することが重要である。既存の帯域制御方式として、Round Robinがある(非特許文献1)。この制御方式、は実ネットワークでも利用されており、QoSの観点で帯域を公平に割り当てる制御を実施する。また、QoEに基づいて割当帯域を制御する既存の帯域制御方式として、非特許文献2がある。
Remzi H. Arpaci-Dusseeau and Andrea C. Arpaci-Dusseau, "Operating Systems: Three Easy Pieces", Arpaci-Dusseau Books, 2018. T. Hori and T. Ohtsuki, "QoE and Throughput Aware Radio Resource Allocation Algorithm in LTE Network with Users using Different Applications", in Proc 27th Annual International Symposium on Personal, Indoor, Mobile Radio Communications (PIMRC), pp.1-6, Sep. 2016.
 QoEの観点で制御を行うためには、MOS(Mean Opinion Score)などの定量的なQoE指標に基づいた帯域制御を行う必要がある。また、ネットワークを利用するユーザ数は時々刻々と変化するため、こうしたネットワークの変化に対しても、動的に割当帯域を変更することで十分に帯域を活用する必要がある。
 図1は、アプリケーションごとに異なるQoSとQoEの関係性の一例を示す図である。図1では、QoSとしてスループットを利用し、アプリケーションとして動画とWebを対象にした場合の、各アプリケーションに対するQoS(スループット)とQoEの関係性がグラフによって示されている。
 図1に示されるように、アプリケーションによってQoS(スループット)とQoEの関係性が異なるため、同じQoSであっても、アプリケーションによってQoEが異なる。そのため、複数のアプリケーションそれぞれに対して適切に割当帯域の設定を行う必要がある。
 しかし、既存の帯域制御方式には、これら全ての条件を満たすものはない。例えば、非特許文献1の帯域制御方式では、QoSが公平になるよう動的に割当帯域を変更することでネットワークの変化に対しても十分に帯域を活用できるが、定量的なQoEには基づいておらず、かつ、アプリケーションごとに割当帯域を設定できない。
 また、実ネットワークで利用されることがある5タプル(宛先IPアドレス、宛先ポート番号、送信元IPアドレス、送信元ポート番号、L4プロトコル)を用いた帯域制御方式は、5タプルからユーザ(セッション)ごとのアプリケーションを識別することで、アプリケーションごとに割当帯域を設定し、ネットワーク変化に対しても十分に帯域を活用できるが、定量的なQoE指標に基づいていない。
 さらに、非特許文献2の帯域制御方式は、定量的なQoE指標に基づき、かつアプリケーションごとに割当帯域を設定することができるが、動的に割当帯域を変更することができないため、ネットワークの変化に対して十分に帯域を活用できない。
 仮に、これら3つの既存方式を組み合わせた場合においても、定量的なQoE指標に基づき、かつ、アプリケーションごとに割当帯域を設定することはできるが、動的に割当帯域を変更することができず、ネットワークの変化に対して十分に帯域を活用できないため、上記の条件を全て満たすことはできない。これは、既存方式の組み合わせはアプリケーション状態を保持しておらず、通信途中のユーザ(セッション)に対するQoEを適切に計算できないためである。
 本発明は、上記の点に鑑みてなされたものであって、時間的に変化するネットワーク環境において複数種類のアプリケーションを制御対象とした場合におけるQoEの低いセッションを削減可能とすることを目的とする。
 そこで上記課題を解決するため、制御装置は、ネットワークにおいて通信中である、複数の種別のアプリケーションに係る複数のセッションのそれぞれについて、当該セッションに係るアプリケーション情報を複数のタイミングで取得する取得部と、前記アプリケーション情報に基づく前記各セッションのQoE予測値と、前記ネットワークの帯域に対する条件とに基づいて、前記複数のセッションのそれぞれの割当帯域を前記複数のタイミングで探索する探索部と、前記探索部により探索された割当帯域に基づいて、前記各セッションに対する帯域の割当を前記複数のタイミングで制御する制御部と、を有する。
 時間的に変化するネットワーク環境において複数種類のアプリケーションを制御対象とした場合におけるQoEの低いセッション数を削減可能とすることができる。
アプリケーションごとに異なるQoSとQoEの関係性の一例を示す図である。 第1の実施の形態における制御装置10のハードウェア構成例を示す図である。 第1の実施の形態における制御装置10の機能構成例を示す図である。 第1の実施の形態の制御装置10が実行する処理手順の一例を説明するためのフローチャートである。 アプリケーション情報記憶部14の構成例を示す図である。 第1の実施の形態における最適割当帯域の探索処理の処理手順の一例を説明するためのフローチャートである。 第2の実施の形態における最適割当帯域の探索処理の処理手順の一例を説明するためのフローチャートである。 第3の実施の形態における最適割当帯域の探索処理の処理手順の一例を説明するためのフローチャートである。 第4の実施の形態における最適割当帯域の探索処理の処理手順の一例を説明するためのフローチャートである。 第5の実施の形態における最適割当帯域の探索処理の処理手順の一例を説明するためのフローチャートである。
 以下、図面に基づいて本発明の実施の形態を説明する。図2は、第1の実施の形態における制御装置10のハードウェア構成例を示す図である。図2の制御装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
 制御装置10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
 メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って制御装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
 図3は、第1の実施の形態における制御装置10の機能構成例を示す図である。制御装置10は、通信に利用されている各セッションの情報を入力として、各セッションに対する最適な割当帯域を探索し、制御する。セッション情報は、5タプルで表される、セッションの識別情報である。5タプルは、宛先IPアドレス、宛先ポート番号、送信元IPアドレス、送信元ポート番号、L4プロトコルで表される組のことをいう。
 図3において、制御装置10は、アプリケーション情報取得部11、最適割当帯域探索部12及び最適割当帯域制御部13等を有する。これら各部は、制御装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。制御装置10は、また、アプリケーション情報記憶部14を利用する。これらアプリケーション情報記憶部14は、例えば、補助記憶装置102、又は制御装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
 以下、制御装置10が実行する処理手順について説明する。図4は、第1の実施の形態の制御装置10が実行する処理手順の一例を説明するためのフローチャートである。図4の処理手順は、複数のタイミングで(例えば、定期的(例えば、2秒周期等)に)繰り返し実行される。
 ステップS10において、アプリケーション情報取得部11は、入力された1以上のセッション情報に係る各セッション(以下、当該各セッションのそれぞれを「対象セッション」という。)に対応するアプリケーション情報をアプリケーション情報記憶部14から取得する。なお、アプリケーション情報取得部11には、現在通信中の各セッションのセッション情報が入力される。例えば、ネットワークを流れるパケットのヘッダ情報を取得することでこのようなセッション情報が取得されてもよい。
 図5は、アプリケーション情報記憶部14の構成例を示す図である。図5に示されるように、アプリケーション情報記憶部14には、現在通信中の各セッションのセッション情報に対応付けてアプリケーション情報が記憶されている。ここで、アプリケーション情報は通信中に時々刻々と更新されるものと仮定する。したがって、アプリケーション情報記憶部14に記憶されている情報は、ユーザ等によって入力されてもよいし、ネットワークを監視する装置など、外部装置によって自動的に入力されてもよい。又はアプリケーション情報取得部11が、ネットワークを流れるパケット情報を取得し、パケット情報からアプリケーション情報を推定することで、アプリケーション情報記憶部14を更新してもよい。
 図5に示されるように、アプリケーション情報は、アプリケーション種別、バッファ長、再生停止情報、ビットレート系列及び通信時間等のパラメータを含む。図5の例では、Webのセッション(アプリケーション種別が「Web」であるセッション)が1つ有り、動画のセッション(アプリケーション種別が「動画」であるセッション)が2つ有る例が示されている。
 アプリケーション情報を構成するパラメータのうち、Webのセッション(以下、「Webセッション」という。)のアプリケーション情報は、アプリケーション種別及び通信時間から構成される。アプリケーション種別とは、セッションに対応するアプリケーションの種別である。本実施の形態では、アプリケーションの種別は「Web」又は「動画」に分類される。通信時間とは、セッションが通信を開始してからほぼ現時点までの経過時間を表す。
 一方、動画のセッション(以下、「動画セッション」という。)のアプリケーション情報は、アプリケーション種別、バッファ長、再生停止情報及びビットレート系列を含む。バッファ長とは、動画セッションのクライアント(例えば、PC(Personal Computer)、スマートフォン又はタブレット端末等の視聴端末)において、現在バッファリングされており、さらに未再生の動画データの時間長である。ここで、バッファリングとは、端末で受信した動画データを再生する前に端末のメモリ上に蓄積しておくことを意味する。再生停止情報とは、再生停止の発生時刻及び終了時刻の組の配列である。例えば、[(0,2)]は、再生停止が一回発生しており、通信開始から2秒後まで再生が停止していたことを表す。ビットレート系列とは、任意のメディア時間ごとの平均ビットレートの配列である。例えば、[700,1000]は、メディア時間で0秒から10秒までの平均ビットレートが700kbpsであり、10秒から20秒までの平均ビットレートが1000kbpsであることを表す。但し、これらは一例であり、QoE予測時に必要となる変数に応じて保持されるパラメータは異なってよい。QoE予測時に必要となる変数の例として、上記以外にはフレームレートや解像度等が挙げられる。
 続いて、最適割当帯域探索部12は、各対象セッションに対するQoE予測値のうち、最小となるQoE予測値が増加するような、各対象セッションへの割当帯域(最適割当帯域)を探索する(S20)。
 QoE予測値とは、各セッションに対して或る帯域を割り当てた後の少し先の時点において得られるQoEの推定値をいう。少し先の時点とは、例えば、動画においては帯域割当時に受信中のチャンクを含めずに1チャンク先のチャンクを受信完了した時点等であり、Webにおいては、コンテンツに含まれる推定データ量(500KBなど)を受信完了した時点等である。但し、動画においては帯域割当時に受信中のチャンクを含めずにhチャンク先のチャンクを受信完了した時点におけるQoEの推定値がQoE予測値とされてもよい。Webにおいては、各セッションの通信開始から予め設定した時間分経過した時点におけるQoEの推定値がQoE予測値とされてもよい。
 続いて、最適割当帯域制御部13は、最適割当帯域探索部12によって探索された最適割当帯域に基づいて各セッションに対する割当帯域の制御を実施する(S30)。例えば、ルータで制御を実施する場合、最適割当帯域制御部13は、各セッションが単位時間当たりに送出することのできるデータ量を、最適割当帯域に基づく重み付けなどによって制御を実施する。例えば、全帯域が10Mbpsの帯域に3つのセッションがあり、(2Mbps,2Mbps,6Mbps)と割当を実施する場合、各セッションに対する重みとして(0.2,0.2,0.6)を設定することで、最適割当帯域に基づく重み付けを行うことができる。
 続いて、ステップS20の詳細について説明する。図6は、第1の実施の形態における最適割当帯域の探索処理の処理手順の一例を説明するためのフローチャートである。
 ステップS400において、最適割当帯域探索部12は、targetQoE、bw及びbw'の各変数に初期値を設定する。ここで、targetQoE∈[1,5]は、対象となる全てのセッションi(i=1,2,…,N)が最低限満たすべきQoE予測値を表し、bw={bw}∈Rは割当帯域候補ベクトル(但し、Rは実数の集合(以降についても同様))を表し、bw'={bw'}∈Rは、最適割当を表し、割当帯域のN次元ベクトルで表される。
 具体的には、最適割当帯域探索部12は、targetQoEに対して、初期値としてQoEinitを設定する。また、最適割当帯域探索部12は、bw={bw}∈Rにおける各要素bw(i=1,2,…,N)に対して、初期値としてbwinitを設定する。また、最適割当帯域探索部12は、bw'に対して、初期値としてbwを設定(代入)する。QoEinitには、例えば、1が設定され,bwinitには、例えば、100kbpsを設定されてもよい。
 続くステップS410~S490において、最適割当帯域探索部12は、帯域条件(閾値)が満たされなくなるまで、各対象セッションについて、品質条件を満たす割当帯域を探索する。品質条件は、各対象セッションのQoE予測値が満たすべき条件(閾値)を表しており、本実施の形態では、各対象セッションのQoE予測値がtargetQoE以上となることである。また、帯域条件は、割当帯域候補ベクトルbwの各要素bwの総和Σi=1 bwが利用可能帯域bwtotal以下となることである。
 ステップS410において、最適割当帯域探索部12は、変数iに1を代入する。変数iは、対象セッションのそれぞれを識別するための変数である。以下、i番目の対象セッションを「セッションi」という。
 ステップS420において、最適割当帯域探索部12は、セッションiのQoE予測値であるQoE(i=1、2、…、N)をセッションiのアプリケーション情報とbwとに基づいて計算する。QoEは、セッションiに対してbwを割り当てたときの少し先の時点におけるQoEを表す。QoEの予測は、bwからアプリケーション情報の予測値を計算するステップ、アプリケーション情報からQoEを計算するステップの2つに分かれる。
 各ステップはセッションが動画かWebかによって異なるので、まずは動画に関して説明を行う。セッションiに対応するアプリケーション種別が動画の場合、最適割当帯域探索部12は、セッションiにbwを割り当てた場合の再生停止情報及びビットレート系列のそれぞれの予測値を計算する。再生停止情報およびビットレート系列は、チャンク長およびビットレート選択アルゴリズムを用いて推定する。
 そこで、まずはチャンク長とビットレート選択アルゴリズムについて説明する。チャンク長は、1つの動画コンテンツを複数の塊に分割した際の、1つの塊がもつ動画の長さを意味する。また、この1つの塊をチャンクという。例えば、60秒の動画を30個のチャンクに分割した場合、チャンク長は2秒となる。チャンク長は、動画配信サービス事業者の設定ごとに異なるため、各動画配信サービス事業者の動画をダウンロードする際に端末で測定してもよいし、一般的に利用されているチャンク長を代表値として利用してもよい。また、それぞれのチャンクは、複数のビットレートで再エンコードされて配信サーバに保存されている。動画プレイヤは、ビットレート選択アルゴリズムを用いて現在のネットワーク状況・バッファ状況に適したビットレートを選択し、そのビットレートでエンコードされたチャンクを要求する。動画プレイヤは、チャンクを受信しながら随時再生を行っていく。ビットレート選択アルゴリズムの例として、直近のチャンクを受信した際の平均スループットを超えない最大のビットレートを選択するアルゴリズムがある。ビットレート選択アルゴリズムもチャンク長と同様に、動画配信事業者の動画をダウンロードする際にアルゴリズムの挙動を測定して推定してもよいし、特定のアルゴリズムが使われているものと仮定してもよい。
 これらを用いて再生停止情報およびビットレート系列の推定値が計算される。まず、ビットレート系列は、ビットレート選択アルゴリズムに従って推定することができる。例えば、現在のビットレート系列を[700,1000]、選択アルゴリズムに従って選択されたビットレートを500kbpsとすると、ビットレート系列は[700,1000,500]のように計算される。再生停止情報は、バッファ長の推移を推定することにより推定することができる。例えば、バッファ長が実時間で2秒から4秒まで0であった場合、再生停止が1回発生し、再生停止時間が2秒であったと判断できる。バッファ長の推移は、ビットレート選択アルゴリズムとチャンク長およびbwを用いて推定できる。例として、チャンク長を2秒、現在のバッファ長を1秒、bwを250kbps、現在の再生停止情報を[(0,2)]、現在の時刻を4、次に要求するチャンクのビットレートを500kbpsとした場合を考える。ここで、500kbpsはビットレート選択アルゴリズムに従って決定したものとする。要求したチャンクを受信するためには500kbps×2秒=1000kbitsのデータを受信する必要があるため、250kbpsの帯域で受信すると、受信に4秒かかる。現在のバッファ長は1秒であるため、1秒後にバッファ長は0となり、再生停止状態が3秒経過した後にチャンクの受信が完了しバッファ長が2秒になると計算することができる。このとき、再生停止情報は[(0,2),(5,8)]と推定することができる。
 一方、セッションiに対応するアプリケーション種別がWebの場合、最適割当帯域探索部12は、セッションiにbwを割り当てた場合の少し先の時点における通信時間の推定値を計算する。通信時間は、Webコンテンツサイズを用いて推定する。例えば、Webコンテンツサイズを500kB、bwを1000kbpsとした場合、通信時間は500×8/1000=4秒と計算することができる。ここで、バイトとビットの単位を変換するため、Webコンテンツサイズを8倍した。Webコンテンツサイズは、事前に代表的なWebサイトのコンテンツサイズを実際にダウンロードすることで取得し、それらの平均値を用いてもよい。次に、最適割当帯域探索部12は、推定されたアプリケーション情報を公知のQoE推定モデルに入力することで、QoEを計算する。例えば、セッションiに対応するアプリケーション種別が動画の場合、再生停止情報及びビットレート系列のそれぞれの推定値が、公知のQoE推定モデル(例えば、「K. Yamagishi, and T. Hayashi, "Parametric Quality-Estimation Model for Adaptive-Bitrate-Streaming Services", IEEE Transactions on Multimedia, vol. 19, no. 7, pp. 1545-1557, Jul. 2017」参照)に入力されることで計算されてもよい。一方、セッションiに対応するアプリケーション種別がWebの場合、通信時間の推定値が、公知のQoE推定モデル(例えば、「T. Tominaga, et al., "Web-Browsing QoE Estimation Model", IEICE Transactions on Communications, vol. E100-B, no. 10, pp. 1837-1845, Oct. 2017」参照)に入力されることで計算されてもよい。
 なお、bwをセッションiに割り当てた場合の少し先の時点における再生停止情報及びビットレート系列のそれぞれの推定値や、bwをセッションiに割り当てた場合の少し先の時点における通信時間の推定値については、例えば、或るセッションに関して、割当帯域ごとに実験によって得られた値が予め補助記憶装置102等に記憶されており、当該値が推定値として利用されてもよい。
 続いて、最適割当帯域探索部12は、QoEがtargetQoE以上であるか否かを判定する(S430)。すなわち、QoEが品質条件を満たすか否かが判定される。
 QoEがtargetQoE未満である場合(S440でNo)、最適割当帯域探索部12は、bwをαだけ増加してステップS420に戻る。したがって、QoEがtargetQoE以上になるまでQoEの計算が繰り返される。なお、αは予め設定されるパラメータである。但し、QoE≧targetQoEとなった場合、セッションiの割当帯域はその時点におけるbwとしてステップS450以降に進む。
 一方、QoEがtargetQoE以上である場合(S440でYes)、最適割当帯域探索部12は、変数iに1を加算して(S450)、変数iの値とN(対象セッションの総数)とを比較する(S460)。変数iの値がN以下である場合(S450でNo)、最適割当帯域探索部12は、セッションiについてステップS420以降を実行する。変数iの値がNより大きい場合(S460でYes)、ステップS470へ進む。したがって、ステップS470へ進む時点において、全ての対象セッションについて、品質条件を満たすbwが特定される。
 ステップS470において、最適割当帯域探索部12は、bwが帯域条件を満たしているか否かを判定する。すなわち、割当帯域候補ベクトルbwの各要素bwの総和Σi=1 bwが利用可能帯域bwtotal以下であるか否かが判定される。
 bwが帯域条件を満たしている場合(S470でYes)、最適割当帯域探索部12は、bw'をbwに更新し(S480)、targetQoEをβだけ増加させて(S490)、ステップS410以降を繰り返す。一方、bwが帯域条件を満たしていない場合(S470でNo)、最適割当帯域探索部12は、bw'を最適割当帯域として最適割当帯域制御部13に出力する(S500)。
 以下、具体例に基づいて、最適割当帯域の探索処理の処理手順を説明する。当該具体例において、QoEinit=1.0、bwinit=250、α=250、β=1.0、bwtotal=1500、N=3とし、セッション1をWebセッション、セッション2をバッファ長5秒の動画セッション、セッション3をバッファ長3秒の動画セッションとする。
 ステップS400において、各変数の初期値は以下のように設定される。
targetQoE=1.0、bw'=bw=(250,250,250)
 ステップS410以降(1回目)において、各セッションについて、例えば、品質条件を満たす割当帯域bwが次のように探索される。
bw=250の時、QoE=1.0≧targetQoE=1.0
bw=250の時、QoE=3.5≧targetQoE=1.0
bw=250の時、QoE=2.5≧targetQoE=1.0
 この場合、全てのbwが初期値の状態で品質条件を満たすためαによって更新することなくステップS470へ進む。
 ステップS470(1回目)において、対象セッション全体について、帯域条件を満たすか否かが以下のように判定される。
bw+bw+bw=250+250+250=750≦bwtotal=1500
 この場合、帯域条件を満たすため、targetQoE及びbw'のそれぞれが次のように更新されてステップS410に戻る。
targetQoE=targetQoE+β=1.0+1.0=2.0
bw'=bw=(250,250,250)
 ステップS410以降(2回目)において、bw=250の時、QoE=1.0<targetQoE=2.0のため、bwが以下のように更新される。
bw=bw+α=250+250=500
 その後、例えば、各セッションについて、品質条件を満たす割当帯域bwが次のように探索される。
bw=500の時、QoE=2.0≧targetQoE=2.0
bw=250の時、QoE=3.5≧targetQoE=2.0
bw=250の時、QoE=2.5≧targetQoE=2.0
 この状態で全てのbwが品質条件を満たすためステップS470へ進む。
 ステップS470(2回目)において、対象セッション全体について、帯域条件を満たすか否かが以下のように判定される。
bw+bw+bw=500+250+250=1000≦bwtotal=1500
 この場合、帯域条件を満たすため、targetQoE及びbw'のそれぞれが次のように更新されてステップS410に戻る。
targetQoE=targetQoE+β=2.0+1.0=3.0
bw'=bw=(500,250,250)
 ステップS410以降(3回目)において、bw=500の時、QoE=2.0<targetQoE=3.0のため、bwが以下のように更新される。
bw=bw+α=500+250=750
 その後、各セッションについて、例えば、品質条件を満たす割当帯域bw及びbwが次のように探索される。
bw=750の時、QoE=3.0≧targetQoE=3.0
bw=250の時、QoE=3.5≧targetQoE=3.0
 一方、bw=250の時、QoE=2.5<targetQoE=3.0のため、bwが以下のように更新される。
bw=bw+α=250+250=500
 その結果、品質条件を満たす割当帯域bwが次のように探索される。
bw=500の時、QoE=3.0≧targetQoE=3.0
 この状態で全てのbwが品質条件を満たすためステップS470へ進む。
 ステップS470(3回目)において、対象セッション全体について、帯域条件を満たすか否かが以下のように判定される。
bw+bw+bw=750+250+500=1500≦bwtotal=1500
 この場合、帯域条件を満たすため、targetQoE及びbw'のそれぞれが次のように更新されてステップS410に戻る。
targetQoE=targetQoE+β=3.0+1.0=4.0
bw'=bw=(750,250,500)
 ステップS410以降(4回目)において、bw=750の時、QoE=3.0<targetQoE=4.0のため、bwが以下のように更新される。
bw=bw+α=750+250=1000
 bw=1000の時、QoE=4.0≧targetQoE=4.0
 bw=250の時、QoE=3.5<targetQoE=4.0のため、bwが以下のように更新される。
bw=bw+α=250+250=500
 その結果、品質条件を満たす割当帯域bwが次のように探索される。
 bw=500の時、QoE=4.0≧targetQoE=4.0、
 bw=500の時、QoE=3.0<targetQoE=4.0のため、bwが以下のように更新される。
bw=bw+α=500+250=750
 また、bw=750の時、QoE=3.5<targetQoE=4.0のため、bwが以下のように更新される。
bw=bw+α=750+250=1000
 その結果、品質条件を満たす割当帯域bwが次のように探索される。
bw=1000の時、QoE=4.0≧targetQoE=4.0、
 この状態で全てのbwが品質条件を満たすためステップS470へ進む。
 ステップS470(4回目)。において、対象セッション全体について、帯域条件を満たすか否かが以下のように判定される。
bw+bw+bw=1000+500+1000=2500>bwtotal=1500
 この場合、帯域条件が満たされないため、現時点のbw'=(750,250,500)が出力され、探索が終了する。
 上述したように、第1の実施の形態によれば、複数のタイミングにおいて、複数の種別のアプリケーションに対応する複数のセッションのそれぞれQoE予測値に基づいて、各セッションの割当帯域が探索される。
 したがって、時間的に変化するネットワーク環境において複数種類のアプリケーションを制御対象とした場合におけるQoEの低いセッション数を削減可能とすることができる。その結果、既存のネットワーク設備を効率的に利用しつつQoEの低いセッション数をより削減することが可能となる。更に、将来の設備投資やユーザ解約リスクの低減が可能となる。
 次に,第2の実施の形態について説明する。第2の実施の形態では第1の実施の形態と異なる点について説明する。第2の実施の形態において特に言及されない点については,第1の実施の形態と同様でもよい。
 第2の実施の形態では、図4のステップS20の処理手順が第1の実施の形態と異なる。第1の実施の形態において、動画セッションの割当帯域は、バッファ長予測値が考慮されずに決定される。バッファ長予測値を考慮しない場合、再生停止の発生リスクが増加し、最終的なQoEの低下を引き起こす可能性が高まる。そこで、第2の実施の形態のステップS20では、第1の実施の形態における品質条件に加え、動画セッションのバッファ長予測値が満たすべき条件が設定される。このような品質条件下で最適な割当帯域を探索するためには、割当帯域とQoE予測値の関係に加え、割当帯域とバッファ長予測値の関係が必要となる。後者の関係は、例えば、「池上大介, 本多泰理, 山本浩司, 野尻秀樹, 高橋玲, "プログレッシブダウンロード系サービスの停止時間推定法", 信学技報, vol. 111, no. 278, CQ2011-59, pp. 91-96, 2011年11月」に記載された技術を利用すれば予測可能である。
 図7は、第2の実施の形態における最適割当帯域の探索処理の処理手順の一例を説明するためのフローチャートである。図7中、図6と同一ステップには同一ステップ番号を付し、その説明は適宜省略する。
 図7では、ステップS420がS420aに置換されている。また、ステップS440とS450との間に、ステップS441及びS442が追加されている。
 ステップS420aにおいて、最適割当帯域探索部12は、QoE予測値に加え、セッションiのバッファ長予測値bufferを計算する。
 ステップS441及びS442は、品質条件に対して、QoEがtargetQoE以上であることに加え、動画セッションiのバッファ長予測値bufferがバッファ長閾値bufferth以上であるという条件が追加されることを実現するためのステップである。
 すなわち、ステップS441において、最適割当帯域探索部12は、セッションiのアプリケーション種別が「動画」であるか否かを判定する。セッションiのアプリケーション種別が「動画」である場合(S441でYes)、最適割当帯域探索部12は、セッションiのバッファ長予測値bufferがバッファ長閾値bufferth以上であるか否かを判定する(S442)。バッファ長予測値bufferがバッファ長閾値bufferth未満である場合(S442でNo)、ステップS430に進む。バッファ長予測値bufferがバッファ長閾値bufferth以上である場合(S442でYes)、ステップS450へ進む。
 次に、第3の実施の形態について説明する。第3の実施の形態では第1の実施の形態と異なる点について説明する。第3の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
 第3の実施の形態では、図4のステップS20の処理手順が第1の実施の形態と異なる。第3の実施の形態のステップS20では、QoE予測値があらかじめ与えられた閾値targetQoE以上となるセッション数が増加するように割当帯域が探索される。
 図8は、第3の実施の形態における最適割当帯域の探索処理の処理手順の一例を説明するためのフローチャートである。図8中、図6と同一ステップには同一ステップ番号を付し、その説明は適宜省略する。
 図8では、ステップS400がS400aに置換されている。また、ステップS410~S460の代わりにステップS510及びS520が実行される。更に、ステップS490の代わりにステップS530が実行される。
 ステップS400aにおいて、最適割当帯域探索部12は、更に、変数Uを初期化(U={1,2,…N})する。U={1,2,…N}は、セッション番号の集合を示す変数である。
 ステップS510において、最適割当帯域探索部12は、集合Uに係るセッションの中で、QoE予測値QoEがtargetQoE以上となるために必要な割当帯域が最も少ないセッションi'を計算(特定)する。なお、ステップS510において、f(bw)は、割当帯域bwを入力としてQoE予測値QoEを出力する関数を表す。
 続くステップS520において、最適割当帯域探索部12は、bwi'をQoEi'がtargetQoE以上となる最小の割当帯域とする。
 また、ステップS530において、最適割当帯域探索部12は、集合Uからi'を除いた差集合を集合Uに代入する。
 最適割当帯域探索部12は、上記の処理を帯域条件が満たされなくなるまで繰り返す(S470)。なお、第3の実施形態は、第2の実施の形態に記載した動画セッションのバッファ長に関する条件と組み合わせてもよい。この場合、ステップS510及びS520における条件の部分を「f(bw)≧ targetQoE && buffer ≧ bufferth」とすればよい。但し、アプリケーション種別が動画であるセッションにのみ「buffer ≧ bufferth」の条件が適用されるようにする。
 次に,第4の実施の形態について説明する。第4の実施の形態では第1の実施の形態と異なる点について説明する。第4の実施の形態において特に言及されない点については,第1の実施の形態と同様でもよい。
 第4の実施の形態では、図4のステップS20の処理手順が第1の実施の形態と異なる。第4の実施の形態のステップS20では、QoE予測値の平均が増加するように割当帯域が探索される。
 図9は、第4の実施の形態における最適割当帯域の探索処理の処理手順の一例を説明するためのフローチャートである。図9中、図6と同一ステップには同一ステップ番号を付し、その説明は適宜省略する。
 図9では、ステップS400がS400bに置換されている。また、ステップS410~S460の代わりにステップS610及びS620が実行され、ステップS490は実行されない。
 ステップS410bでは、targetQoEの初期化は行われない。図9の処理手順では、targetQoEは使用されないからである。
 ステップS610において、最適割当帯域探索部12は、割当帯域をαだけ増加させた場合のQoE予測値の増加量が最大となるセッションi'を計算(特定)する。なお、ステップS610において、f(bw)は、割当帯域bwを入力としてQoE予測値QoEを出力する関数を表す。
 続くステップS620において、最適割当帯域探索部12は、bwi'をαだけ増加させる。
 最適割当帯域探索部12は、上記の処理を帯域条件が満たされなくなるまで繰り返す。なお、第4の実施形態は、第2の実施の形態に記載した動画セッションのバッファ長に関する条件と組み合わせてもよい。この場合、ステップS610において、アプリケーション種別が動画であるセッションについては、「buffer ≧ bufferth」を満たすセッションのみが、セッションi'の候補とされるようにすればよい。
 次に、第5の実施の形態について説明する。第5の実施の形態では第1の実施の形態と異なる点について説明する。第5の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
 第5の実施の形態では、図4のステップS20の処理手順が第1の実施の形態と異なる。第5の実施の形態のステップS20では、QoE予測値の最小値が増加するように割当帯域が探索される。
 図10は、第5の実施の形態における最適割当帯域の探索処理の処理手順の一例を説明するためのフローチャートである。図10中、図9と同一ステップには同一ステップ番号を付し、その説明は適宜省略する。
 図10では、ステップS610の代わりにステップS610aが実行される。ステップS610aにおいて、最適割当帯域探索部12は、現在の割当帯域bwにおけるQoE予測値が最小となるセッションi'を計算(特定)する。なお、ステップS610aにおいて、f(bw)は、割当帯域bwを入力としてQoE予測値QoEを出力する関数を表す。
 なお、第5の実施形態は、第2の実施の形態に記載した動画セッションのバッファ長に関する条件と組み合わせてもよい。この場合、ステップS610aにおいて、セッションi'のアプリケーション種別が動画であった場合、ステップS620において、セッションi'のバッファ予測値が「bufferi' ≧ bufferth」を満たすまで、bwi'にαを加え続けるようにすればよい。
 なお、上記各実施の形態において、アプリケーション情報取得部11は、取得部の一例である。最適割当帯域探索部12は、探索部の一例である。最適割当帯域制御部13は、制御部の一例である。
 以上,本発明の実施の形態について詳述したが,本発明は斯かる特定の実施形態に限定されるものではなく,請求の範囲に記載された本発明の要旨の範囲内において,種々の変形・変更が可能である。
 本出願は、2020年2月21日に出願された国際特許出願第PCT/JP2020/007227号に基づきその優先権を主張するものであり、同国際特許出願の全内容を参照することにより本願に援用する。
10     制御装置
11     アプリケーション情報取得部
12     最適割当帯域探索部
13     最適割当帯域制御部
14     アプリケーション情報記憶部
100    ドライブ装置
101    記録媒体
102    補助記憶装置
103    メモリ装置
104    CPU
105    インタフェース装置
B      バス

Claims (8)

  1.  ネットワークにおいて通信中である、複数の種別のアプリケーションに係る複数のセッションのそれぞれについて、当該セッションに係るアプリケーション情報を複数のタイミングで取得する取得部と、
     前記アプリケーション情報に基づく前記各セッションのQoE予測値と、前記ネットワークの帯域に対する条件とに基づいて、前記複数のセッションのそれぞれの割当帯域を前記複数のタイミングで探索する探索部と、
     前記探索部により探索された割当帯域に基づいて、前記各セッションに対する帯域の割当を前記複数のタイミングで制御する制御部と、
    を有することを特徴とする制御装置。
  2.  前記探索部は,前記QoE予測値が最小であるセッションのQoE予測値が増加するように、前記割当帯域を探索する、
    ことを特徴とする請求項1記載の制御装置。
  3.  前記探索部は,前記各セッションのQoE予測値が閾値以上となるセッション数が増加するように、前記割当帯域を探索する、
    ことを特徴とする請求項1記載の制御装置。
  4.  前記探索部は,前記各セッションのQoE予測値の平均が増加するように、前記割当帯域を探索する、
    ことを特徴とする請求項1記載の制御装置。
  5.  前記探索部は,動画のセッションに関する端末におけるバッファ長予測値が閾値以上となるように、前記割当帯域を探索する、
    ことを特徴とする請求項1乃至4いずれか一項記載の制御装置。
  6.  前記探索部は、前記QoE予測値の最小値が増加するように、前記割当帯域を探索する、
    ことを特徴とする請求項1記載の制御装置。
  7.  ネットワークにおいて通信中である、複数の種別のアプリケーションに係る複数のセッションのそれぞれについて、当該セッションに係るアプリケーション情報を複数のタイミングで取得する取得手順と、
     前記アプリケーション情報に基づく前記各セッションのQoE予測値と、前記ネットワークの帯域に対する条件とに基づいて、前記複数のセッションのそれぞれの割当帯域を前記複数のタイミングで探索する探索手順と、
     前記探索手順において探索された割当帯域に基づいて、前記各セッションに対する帯域の割当を前記複数のタイミングで制御する制御手順と、
    をコンピュータが実行することを特徴とする制御方法。
  8.  ネットワークにおいて通信中である、複数の種別のアプリケーションに係る複数のセッションのそれぞれについて、当該セッションに係るアプリケーション情報を複数のタイミングで取得する取得手順と、
     前記アプリケーション情報に基づく前記各セッションのQoE予測値と、前記ネットワークの帯域に対する条件とに基づいて、前記複数のセッションのそれぞれの割当帯域を前記複数のタイミングで探索する探索手順と、
     前記探索手順において探索された割当帯域に基づいて、前記各セッションに対する帯域の割当を前記複数のタイミングで制御する制御手順と、
    をコンピュータに実行させることを特徴とするプログラム。
PCT/JP2020/032427 2020-02-21 2020-08-27 制御装置、制御方法及びプログラム WO2021166288A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022501609A JP7424465B2 (ja) 2020-02-21 2020-08-27 制御装置、制御方法及びプログラム
US17/800,078 US11805074B2 (en) 2020-02-21 2020-08-27 Control apparatus, control method and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPPCT/JP2020/007227 2020-02-21
PCT/JP2020/007227 WO2021166251A1 (ja) 2020-02-21 2020-02-21 制御装置、制御方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2021166288A1 true WO2021166288A1 (ja) 2021-08-26

Family

ID=77390554

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2020/007227 WO2021166251A1 (ja) 2020-02-21 2020-02-21 制御装置、制御方法及びプログラム
PCT/JP2020/032427 WO2021166288A1 (ja) 2020-02-21 2020-08-27 制御装置、制御方法及びプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/007227 WO2021166251A1 (ja) 2020-02-21 2020-02-21 制御装置、制御方法及びプログラム

Country Status (3)

Country Link
US (1) US11805074B2 (ja)
JP (1) JP7424465B2 (ja)
WO (2) WO2021166251A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011155600A (ja) * 2010-01-28 2011-08-11 Oki Electric Industry Co Ltd 通信制御装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3639792B2 (ja) * 2000-07-25 2005-04-20 株式会社日立製作所 ネットワークシステムとその通信帯域制御方法
JP5011408B2 (ja) 2010-02-22 2012-08-29 株式会社日立製作所 通信装置および通信システム
KR101192415B1 (ko) * 2011-01-25 2012-10-17 한국과학기술원 M2m 네트워크 제공방법 및 m2m 네트워크 단말
US9722887B2 (en) * 2011-03-15 2017-08-01 Verizon Patent And Licensing Inc. Adaptive quality of service (QoS) based on application latency requirements
CN103632209B (zh) * 2013-11-28 2016-05-11 国家电网公司 一种基于排队论的智能配用电业务数据传输带宽预测方法
US20150281980A1 (en) * 2014-04-01 2015-10-01 Qualcomm Incorporated Edca adjustment for poor performance nodes
JP2018018217A (ja) * 2016-07-26 2018-02-01 日本電信電話株式会社 QoEモデル化装置、QoEモデル化方法及びプログラム
US10862771B2 (en) 2016-11-10 2020-12-08 Ciena Corporation Adaptive systems and methods enhancing service quality of experience
US10448283B2 (en) 2017-08-07 2019-10-15 T-Mobile Usa, Inc. Dynamic predictive buffering
JP6919761B2 (ja) 2018-03-14 2021-08-18 日本電気株式会社 トラヒック分析装置、方法及びプログラム
CN110366206A (zh) * 2018-03-26 2019-10-22 华为技术有限公司 一种信息传输方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011155600A (ja) * 2010-01-28 2011-08-11 Oki Electric Industry Co Ltd 通信制御装置

Also Published As

Publication number Publication date
US20230103218A1 (en) 2023-03-30
JPWO2021166288A1 (ja) 2021-08-26
JP7424465B2 (ja) 2024-01-30
US11805074B2 (en) 2023-10-31
WO2021166251A1 (ja) 2021-08-26

Similar Documents

Publication Publication Date Title
CN108833996B (zh) 分布式dash系统中服务节点选择、更新和码率自适应方法
Xing et al. A real-time adaptive algorithm for video streaming over multiple wireless access networks
CN103650451B (zh) 网络容量优化的自适应http流播
US11582146B2 (en) High-quality adaptive bitrate video through multiple links
KR20210135338A (ko) 피어 투 피어(Peer to peer, P2P) 네트워크에서 스트리밍 콘텐츠를 방송하는 방법
CN104471904B (zh) 用于内容优化的方法和设备
US9131251B2 (en) Use of a receive-window size advertised by a client to a content server to change a video stream bitrate streamed by the content server
Bayhan et al. EdgeDASH: Exploiting network-assisted adaptive video streaming for edge caching
Abuteir et al. An SDN approach to adaptive video streaming in wireless home networks
Baik et al. VSync: Cloud based video streaming service for mobile devices
KR102304476B1 (ko) 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법
Gama et al. Video streaming analysis in multi-tier edge-cloud networks
Nguyen et al. An adaptive streaming method of 360 videos over HTTP/2 protocol
EP4013006A1 (en) Method for playing on a player of a client device a content streamed in a network
WO2021166288A1 (ja) 制御装置、制御方法及びプログラム
Oliveira et al. QoE-based load balancing of OTT video content in SDN networks
Dubin et al. A fair server adaptation algorithm for HTTP adaptive streaming using video complexity
Togou et al. An elastic DASH-based bitrate adaptation scheme for smooth on-demand video streaming
Hayes et al. Adaptive bitrate video delivery using HTTP/2 over MPTCP architecture
Kalan et al. Implementation of sand architecture using sdn
JP7456445B2 (ja) 通信制御方法、通信装置及び通信システム
US20120246329A1 (en) Method for setting plurality of sessions and node using same
Younus et al. A model for a practical evaluation of a DASH-based rate adaptive algorithm over HTTP
Coutinho et al. Just-in-time proactive caching for dash video streaming
JP2002077857A (ja) マルチメディアデータの送出装置

Legal Events

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

Ref document number: 20920633

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022501609

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20920633

Country of ref document: EP

Kind code of ref document: A1