Communication management system and non-transitory computer readable medium
09866490 ยท 2018-01-09
Assignee
Inventors
Cpc classification
H04L47/225
ELECTRICITY
H04L47/2408
ELECTRICITY
H04L47/24
ELECTRICITY
H04L43/00
ELECTRICITY
International classification
Abstract
A communication management system includes: a communication unit that respectively communicates with an information terminal belonging to one of a plurality of groups, via a communication channel assigned to the group to which the information terminal belongs, from among a plurality of communication channels; a control unit that controls a communication via the communication channel on the basis of a configuration value of bandwidth on the communication channel; and a bandwidth configuration unit that, for each communication channel, configures the configuration value of bandwidth on the communication channel, on the basis of data indicating time transitions of communication traffic volume of the group to which the communication channel is assigned.
Claims
1. A communication management system comprising: at least one hardware processor configured to implement: a communication unit that respectively communicates with an information terminal belonging to one of a plurality of groups, via a communication channel assigned to the group to which the information terminal belongs, from among a plurality of communication channels; a control unit that controls a communication via the communication channel on the basis of a configuration value of bandwidth on the communication channel; a feature acquisition unit that, for each of the plurality of groups to which each of the communication channels is assigned, acquires a plurality of feature vectors whose components are a time at which a communication traffic volume reaches a peak and a peak value of the communication traffic volume, and acquires a vector sum of the plurality of feature vectors acquired as features for the communication channel; and a bandwidth configuration unit that, for each communication channel, configures the configuration value of bandwidth on the communication channel, on the basis of whether or not the features acquired for the communication channel satisfy a condition unique to the communication channel.
2. The communication management system according to claim 1, wherein the at least one hardware processor is further configured to implement: an acquisition unit that, after the configuration value of bandwidth on each communication channel is configured, repeatedly acquires a total of measured values of actual bandwidth on each communication channel; comparison unit that, every time the total is acquired, compares the acquired total to a total of the configuration values of bandwidth on each communication channel; and an update unit that, on the basis of a comparison result of the comparison unit, updates the configuration value of bandwidth on at least one communication channel.
3. The communication management system according to claim 2, wherein when the total of the measured values of actual bandwidth on each communication channel is smaller than the total of the configuration values of bandwidth on each communication channel, the update unit lowers the configuration value of bandwidth on at least one communication channel.
4. The communication management system according to claim 3, wherein when the total of the measured values of actual bandwidth on each communication channel is smaller than the total of the configuration values of bandwidth on each communication channel, the update unit lowers the configuration value of bandwidth on at least one communication channel, so that the total of the measured values of actual bandwidth on each communication channel does not become less than or equal to the total of the configuration values of bandwidth on each communication channel.
5. The communication management system according to claim 3, wherein when the total of the measured values of actual bandwidth on each communication channel is smaller than the total of the configuration values of bandwidth on each communication channel, the update unit prioritizes lowering the configuration value of bandwidth on a communication channel before lowering the configuration value of bandwidth on a communication channel with a larger configuration value than the relevant communication channel.
6. The communication management system according to claim 1, wherein the configuration values comprise a first threshold, a second threshold and a third threshold each representing a different bandwidth allocated to ones of the communication channels, the first threshold is assigned to the communication channel, the second threshold is assigned to a second communication channel of the communication channels, and the third threshold is assigned to a third communication channel of the communication channels.
7. The communication management system according to claim 6, wherein in response to determining a difference between a sum of the configuration values and a sum of the used bandwidths, the bandwidth configuration unit further adjusts each of the first threshold, the second threshold and the third threshold by an equal amount totaling to the difference.
8. The communication management system according to claim 6, wherein in response to determining a difference between a sum of the configuration values and a sum of the used bandwidths, the bandwidth configuration unit further adjusts at least one of the first threshold, the second threshold and the third threshold by an amount totaling to the difference.
9. The communication management system according to claim 6, wherein in response to determining a difference between a sum of the configuration values and a sum of the used bandwidths, the bandwidth configuration unit further adjusts each of the first threshold, the second threshold and the third threshold by differing amounts totaling to the difference.
10. The communication management system according to claim 6, wherein in response to determining that a difference indicates that a sum of the configuration values is less than a sum of the used bandwidths by the difference: the bandwidth configuration unit lowers the first threshold by a first amount such that the first threshold is lowered at most to a first lower bound preset to the communication channel, in a case in which the first amount is less than the difference, the bandwidth configuration unit further lowers the second threshold by a second amount such that the second threshold is lowered at most to a second lower bound preset to the second communication channel, and in a case in which a sum of the first amount and the second amount is less than the difference, the bandwidth configuration unit further lowers the third threshold by a third amount such that the third threshold is lowered at most to a third lower bound preset to the third communication channel.
11. The communication management system according to claim 10, wherein the first lower bound is less than the second lower bound, and the second lower bound is less than the third lower bound.
12. The communication management system according to claim 11, wherein in response to determining that the difference indicates that a sum of the configuration values is greater than a sum of the used bandwidths by the difference: the bandwidth configuration unit increases the third threshold by a fourth amount such that the fourth threshold is increased at most to a fourth upper bound preset to the third communication channel, in a case in which the fourth amount is less than the difference, the bandwidth configuration unit further increases the second threshold by a fifth amount such that the second threshold is increased at most to the third lower bound, and in a case in which a sum of the fourth amount and the fifth amount is less than the difference, the bandwidth configuration unit further increases the first threshold by a sixth amount such that the first threshold is increased at most to the second lower bound.
13. The communication management system according to claim 1, wherein the bandwidth configuration unit adjusts the configuration value of bandwidth on the communication channel in response to determining that a same of the configuration values differs from a sum of the used bandwidths on the communication channels.
14. A non-transitory computer readable medium storing a program configured to instruct at least one hardware processor to implement: a communication unit that respectively communicates with an information terminal belonging to one of a plurality of groups, via a communication channel assigned to the group to which the information terminal belongs, from among a plurality of communication channels; a control unit that controls a communication via the communication channel on the basis of a configuration value of bandwidth on the communication channel; a feature acquisition unit that, for each of the plurality of groups to which each of the communication channels is assigned, acquires a plurality of feature vectors whose components are a time at which a communication traffic volume reaches a peak and a peak value of the communication traffic volume, and acquires a vector sum of the plurality of feature vectors acquired as features for the communication channel; and a bandwidth configuration unit that, for each communication channel, configures the configuration value of bandwidth on the communication channel, on the basis of whether or not the features acquired for the communication channel satisfy a condition unique to the communication channel.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Exemplary embodiment(s) of the present invention will be described in detail based on the following figures, wherein
(2)
(3)
(4)
(5)
(6)
(7)
DETAILED DESCRIPTION
(8) As illustrated in
(9) Herein, suppose the MVNO leases three communication channels 6 (a communication channel 6G, a communication channel 6S, and a communication channel 6B), as illustrated in
(10) A communication channel 6 is assigned to each client organization 8 which is a client of the MVNO, depending on the class of the client organization 8. The cloud service system 1 communicates with each terminal 10 via the communication channel 6 assigned to the client organization 8 to which that terminal 10 belongs, and each client organization 8 uses the communication channel 6 assigned to itself to receive the provision of an information processing service. In the present exemplary embodiment, the communication channel 6G is assigned to a gold-class client organization 8G that has signed the most expensive contract with the MVNO. Communication with a terminal 10 belonging to the client organization 8G is conducted via the communication channel 6G. Also, the communication channel 6S is assigned to a silver-class client organization 8S that has signed the second most expensive contract with the MVNO. Communication with a terminal 10 belonging to the client organization 8S is conducted via the communication channel 6S. Also, the communication channel 6B is assigned to a bronze-class client organization 8B that has signed the least expensive contract with the MVNO. Communication with a terminal 10 belonging to the client organization 8B is conducted via the communication channel 6B.
(11) Note that a client organization 8 is an organization that includes multiple individuals, such as a company or association. Also, although the following describes the terminal 10 as being a portable information terminal such as a smartphone, tablet PC, or mobile phone, the terminal 10 may also be a stationary information terminal such as a desktop PC. In addition, since the terminal 10 is a portable information terminal, the following describes the physical communication network 4 and the terminal 10 as having a wireless connection, but the physical communication network 4 and the terminal 10 may also have a wired connection.
(12) The cloud service system 1 herein attempts to optimize the configuration value of the bandwidth of each communication channel 6 while ensuring the user quality of experience (QoE). This point is described below.
(13) Note that in the following, the communication channel 6G may be designated Ch1 in some cases. Also, the communication channel 6S may be designated Ch2 in some cases. Also, the communication channel 6B may be designated Ch3 in some cases.
(14)
(15) [Transition Data DB]
(16) As illustrated in
(17) Transition data indicates time transitions in the communication traffic volume for each client organization 8 over a predetermined period.
(18) Note that, although not illustrated in the drawings, the transition data also stores other information in association with the client ID of each client organization 8, such as an ID of the communication channel 6 assigned to that client organization, and a list of terminals 10 belonging to that client organization 8. For this reason, by referencing the transition data, it is possible to identify the communication channel 6 assigned to an individual client organization 8, and the client organization 8 to which an individual terminal 10 belongs.
(19)
(20) Ordinarily, time transitions reflect the characteristics of the business conducted by the client organization 8. For example, for a business that deals with customers concentrated in the evening, such as a bank, a peak appears in the evening. For this reason, the time transitions indicate a trend unique to the client organization.
(21) [Feature Acquisition Unit]
(22) Additionally, the communication management system 2 is equipped with a feature acquisition unit 2-2. The feature acquisition unit 2-2 reads out transition data from the transition data DB 2-1. For example, the feature acquisition unit 2-2 reads out transition data at a predetermined time (for example, at 0:00 midnight). Subsequently, on the basis of the read-out transition data, the feature acquisition unit 2-2 acquires, for each communication channel 6, features related to the communication traffic volume on that communication channel 6.
(23) In the case of the present exemplary embodiment, the feature acquisition unit 2-2 includes a first feature acquisition unit 2-2G, a second feature acquisition unit 2-2S, and a third feature acquisition unit 2-2B. The first feature acquisition unit 2-2G, on the basis of the transition data, acquires features related to the communication traffic volume on the communication channel Ch1. Specifically, the first feature acquisition unit 2-2G computes the vector sum of a feature vector r associated with the client ID of the gold-class client organization 8G. Note that in
(24) Additionally, the first feature acquisition unit 2-2G computes the scalar quantity |r.sub.G| of the vector sum r.sub.G and the argument Arg(r.sub.G) of the vector sum r.sub.G as the features.
(25) Also, the second feature acquisition unit 2-2S, on the basis of the transition data, acquires features related to the communication traffic volume on the communication channel Ch2. Specifically, the second feature acquisition unit 2-2S computes the vector sum of a feature vector r associated with the client ID of the silver-class client organization 8S. Note that in
(26) Also, the third feature acquisition unit 2-2B, on the basis of the transition data, acquires features related to the communication traffic volume on the communication channel Ch3. Specifically, the third feature acquisition unit 2-2B computes the vector sum of a feature vector r associated with the client ID of the bronze-class client organization 8B. Note that in
(27) [Determination Unit]
(28) Additionally, the communication management system 2, is equipped with a determination unit 2-3. The determination unit 2-3 determines, for each communication channel 6, whether or not the features acquired by the feature acquisition unit 2-2 for that communication channel 6 satisfy a condition unique to that communication channel. In the present exemplary embodiment, the determination unit 2-3 includes a first determination unit 2-3G, a second determination unit 2-3S, and a third determination unit 2-3B.
(29) The first determination unit 2-3G determines whether or not both the scalar quantity |r.sub.G| and the argument Arg(r.sub.G) satisfy a condition unique to the communication channel Ch1. Specifically, the first determination unit 2-3G determines whether or not the scalar quantity |r.sub.G| is less than or equal to an upper-limit scalar quantity R.sub.G unique to the communication channel Ch1, and also whether or not the argument Arg(r.sub.G) is less than or equal to an upper-limit argument .sub.G. In other words, the first determination unit 2-3G determines whether or not both of the following two inequalities hold true.
|r.sub.G|R.sub.GInequality (1)
Arg(r.sub.G).sub.GInequality (2)
(30) Also, the second determination unit 2-3S determines whether or not both the scalar quantity |r.sub.S| and the argument Arg(r.sub.S) satisfy a condition unique to the communication channel Ch2. Specifically, the second determination unit 2-3S determines whether or not the scalar quantity |r.sub.S| is less than or equal to an upper-limit scalar quantity R.sub.S unique to the communication channel Ch2, and also whether or not the argument Arg(r.sub.S) is less than or equal to an upper-limit argument .sub.S. In other words, the second determination unit 2-3S determines whether or not both of the following two inequalities hold true.
|r.sub.S|R.sub.SInequality (3)
Arg(r.sub.S).sub.SInequality (4)
(31) Also, the third determination unit 2-3B determines whether or not both the scalar quantity |r.sub.B| and the argument Arg(r.sub.B) satisfy a condition unique to the communication channel Ch3. Specifically, the third determination unit 2-3B determines whether or not the scalar quantity |r.sub.B| is less than or equal to an upper-limit scalar quantity R.sub.B unique to the communication channel Ch3, and also whether or not the argument Arg(r.sub.B) is less than or equal to an upper-limit argument .sub.B. In other words, the third determination unit 3-3B determines whether or not both of the following two inequalities hold true.
|r.sub.B|R.sub.BInequality (5)
Arg(r.sub.B).sub.BInequality (6)
(32) [Configuration Unit, Bandwidth Database]
(33) In addition, the communication management system 2 is equipped with a configuration unit 2-4 and a bandwidth database (hereinafter designated the bandwidth DB) 2-5. The bandwidth DB 2-5 stores, in association with each communication channel 6, a configuration value of the bandwidth on that communication channel 6.
(34) Hereinafter, the configuration values BW.sub.G, BW.sub.S, and BW.sub.B will be collectively designated BW in some cases.
(35) In addition, the configuration unit 2-4 configures, for each communication channel 6, the configuration value BW of the bandwidth on that communication channel 6, on the basis of a determination result of the determination unit 2-3. In the present exemplary embodiment, the configuration unit 2-4 includes a first configuration unit 2-4G, a second configuration unit 2-4S, and a third configuration unit 2-4B.
(36) The first configuration unit 2-4G configures the configuration value BW.sub.G on the basis of a determination result of the first determination unit 2-3G. Herein, the first configuration unit 2-4G configures the configuration value BW.sub.G to the above BW1 if the above Inequality (1) or Inequality (2) does not hold true, and configures the configuration value BW.sub.G to a value between the above BW2 and the above BW1 if Inequality (1) and Inequality (2) both hold true. Also, the second configuration unit 2-4S configures the configuration value BW.sub.S to the above BW2 if the above Inequality (3) or Inequality (4) does not hold true, and configures the configuration value BW.sub.S to a value between the above B3 and the above B2 if Inequality (3) and Inequality (4) both hold true. Also, the third configuration unit 2-4B configures the configuration value BW.sub.B to the above BW3 if the above Inequality (5) or Inequality (6) does not hold true, and configures the configuration value BW.sub.B to a value between the above BW4 and the above BW3 if Inequality (5) and Inequality (6) both hold true.
(37) In this way, the configuration value BW of the bandwidth on each communication channel 6 is configured periodically. Since the configuration value BW of the bandwidth on each communication channel 6 is configured from features related to the communication traffic volume on each communication channel 6, the configuration values BW are optimized while ensuring the user quality of experience.
(38) [Communication Unit, Delivery Database]
(39) Note that the communication management system 2 is equipped with a communication unit 2-6 and a delivery database (hereinafter, delivery DB) 2-7.
(40) The communication unit 2-6 communicates with each terminal 10 via the communication channel 6 assigned to the client organization 8 to which that terminal 10 belongs. In other words, the communication unit 2-6 provides an information processing service to each terminal 10 via the communication channel 6 assigned to the client organization 8 to which that terminal 10 belongs. Specifically, delivery data generated by the cloud service system 1 is plurally stored in the delivery DB 2-7. For each individual piece of delivery data, information such as the delivery destination terminal 10 and the delivery execution time are decided, and the communication unit 2-6 transmits, via one of the communication channels 6, delivery data whose delivery execution time has arrived.
(41) More specifically, the communication unit 2-6 includes a Ch1 queue 2-6G, a Ch2 queue 2-6S, and a Ch3 queue 2-6B. These queues are buffers that hold data in a first-in, first-out format. When transmitting delivery data whose delivery execution time has arrived, the communication unit 2-6 splits the delivery data into a group of packets of a predetermined data size, and enqueues the packet group in the queue of the communication channel 6 assigned to the client organization 8 to which the delivery destination terminal 10 belongs. For example, if the client organization 8 to which the delivery destination terminal 10 belongs is the gold-class client organization 8G, the communication unit 2-6 enqueues the packet group in the Ch1 queue 2-6G. Delivery data inserted into the queue is sent to the corresponding communication channel 6 in a first-in, first-out order. In other words, delivery data enqueued in the Ch1 queue 2-6G is sent to Ch1, delivery data enqueued in the Ch2 queue 2-6S is sent to Ch2, and delivery data enqueued in the Ch3 queue 2-6B is sent to Ch3.
(42) The role of the communication unit 2-6 is not limited to the above. When providing an information processing service to each terminal 10, the communication unit 2-6 controls the transmission of delivery data from each communication channel 6 on the basis of the configuration value BW of the bandwidth on that communication channel 6. In other words, the communication unit 2-6 controls the transmission of delivery data from the communication channel Ch1 on the basis of the configuration value BW.sub.G, controls the transmission of delivery data from the communication channel Ch2 on the basis of the configuration value BW.sub.S, and controls the transmission of delivery data from the communication channel Ch3 on the basis of the configuration value BW.sub.B.
(43) Specifically, the communication unit 2-6 includes a communication controller 2-8. The communication controller 2-8 monitors each queue, and conducts traffic shaping (also called packet shift) so that the data volume per unit time sent to each communication channel 6 does not exceed the configuration value BW of the bandwidth on that communication channel 6. Hereinafter, the Ch1 queue 2-6G will be used as an example to describe traffic shaping. With traffic shaping, all time slots in a queue are sequentially configured as the current time slot CT starting from the first time slot, and the following process is executed for the current time slot CT. Namely, the communication controller 2-8 determines whether or not the current time slot has free space. Specifically, the communication controller 2-8 computes the total data volume of all packets in the current time slot, and determines whether or not the total value is less than or equal to the configuration value BW.sub.G of the bandwidth on Ch1. Subsequently, if the total value exceeds the configuration value BWG, or in other words, if there is no free space in the current time slot CT, excess packets are shifted to a trailing time slot with free space, whereas if there is free space in the current time slot CT, the next time slot is configured as the current time slot CT. Note that if there is no free space in the trailing time slot, the communication controller 2-8 may also search for another queue with free space in the current time slot CT, and shift excess packets to the current time slot CT of a found communication channel 6.
(44) The structural elements of the communication management system 2 are not limited to the above. For example, the data volume per unit time flowing through each communication channel 6, or in other words, the actual bandwidth of each communication channel 6 changes from one moment to the next. Accordingly, the communication management system 2 is also configured to use the actual bandwidth of each communication channel 6 as feedback, so that the configuration value BW of the bandwidth on each communication channel 6 is adjusted according to the feedback results. This point is described below.
(45)
(46) [Actual Bandwidth Acquisition Unit]
(47) As illustrated in
(48) Although there are many methods of acquiring the measured values, the actual bandwidth acquisition unit 2-9 may acquire the measured values as described below, for example.
(49) Namely, at the above predetermined time interval, the actual bandwidth acquisition unit 2-9 selects, one at a time, a terminal 10 belonging to the gold-class client organization 8G (hereinafter designated the terminal G), a terminal 10 belonging to the silver-class client organization 8S (hereinafter designated the terminal S), and a terminal 10 belonging to the bronze-class client organization 8B (hereinafter designated the terminal B), and transmits an actual bandwidth measurement instruction to each of the selected terminals 10. Subsequently, the actual bandwidth acquisition unit 2-9 receives a measured value returned from the terminal G as the measured value BW.sub.Gtraffic, receives a measured value returned from the terminal S as the measured value BW.sub.Straffic, and receives a measured value returned from the terminal B as the measured value BW.sub.Btraffic. Note that if a measured value is not returned from any of the terminal G, the terminal S, and the terminal B within a predetermined time since the transmission of the measurement instruction, the actual bandwidth acquisition unit 2-9 may reselect any of the terminal G, the terminal S, and the terminal B, and retransmit the measurement instruction to each of the reselected terminal G, terminal S, and terminal B.
(50) Note that a terminal 10 receiving a measurement instruction measures the actual bandwidth as described below, for example. In other words, the terminal 10 receiving a measurement instruction transmits a dummy packet to the communication management system 2, and from the reception result of an acknowledgement returned in response, measures the packet loss ratio p and the round-trip time RTT. Subsequently, the packet loss ratio p, the round-trip time RTT, and a preset maximum segment size MSS are substituted into what is called a throughput equation, a measured value of the actual bandwidth is computed, and the computed measurement value is transmitted to the communication management system 2. The measured value computed by the terminal G corresponds to BW.sub.Gtraffic, while the measured value computed by the terminal S corresponds to BW.sub.Straffic, and the measured value computed by the terminal B corresponds to BW.sub.Btraffic.
(51) [Total Acquisition Unit]
(52) Additionally, the communication management system 2 is equipped with a total acquisition unit 2-10. The total acquisition unit 2-10 repeatedly computes the total BW.sub.traffic of the measured values BW.sub.Gtraffic, BW.sub.Straffic, and BW.sub.Btraffic of the actual bandwidth on each communication channel 6. Specifically, the total acquisition unit 2-10 computes the total BW.sub.traffic every time the actual bandwidth acquisition unit 2-9 acquires the measured values BW.sub.Gtraffic, BW.sub.Straffic, and BW.sub.Btraffic.
(53) [Comparison Unit, Update Unit]
(54) Additionally, the communication management system 2 is equipped with a comparison unit 2-11 and an update unit 2-12. Every time the total BW.sub.traffic is computed, the comparison unit 2-11 reads out the configuration values BW.sub.G, BW.sub.S, and BW.sub.B from the bandwidth DB 2-5, and compares the total BW.sub.SUM of the read-out configuration values (BW.sub.G+BW.sub.S+BW.sub.B) to the total BW.sub.traffic.
(55) Also, every time the total BW.sub.traffic and the total BW.sub.SUM are compared, the update unit 2-12 updates at least one of BW.sub.G, BW.sub.S, and BW.sub.B on the basis of the comparison result. In the present exemplary embodiment, if the total BW.sub.traffic is smaller than the total BW.sub.SUM, the update unit 2-12 lowers the value of at least one of BW.sub.G, BW.sub.S, and BW.sub.B so that the total BW.sub.SUM does not become less than or equal to BW.sub.traffic.
(56) For example, if the total BW.sub.traffic is smaller than the total BW.sub.SUM, the update unit 2-12 computes a value that is one-third the difference between the total BW.sub.sum and the total BW.sub.traffic (=/3), and lowers the value of BW.sub.G, BW.sub.S, and BW.sub.B by .
(57) As another example, if the total BW.sub.traffic is smaller than the total BW.sub.SUM, the update unit 2-12 lowers each of BW.sub.G, BW.sub.S, and BW.sub.B by a value depending on the type of communication channel 6. For example, the update unit 2-12 computes a value 1 that is one-sixth (1=/6), and lowers the value of BW.sub.G by 1, lowers the value of BW.sub.S by the double of 1, and lowers the value of BW.sub.B by the triple of 1.
(58) Herein, if the total BW.sub.traffic is smaller than the total BW.sub.SUM, the update unit 2-12 lowers the value of at least one of BW.sub.G, BW.sub.S, and BW.sub.B according to a priority order of BW.sub.B (BW.sub.B<BW.sub.S, BW.sub.G), BW.sub.S (BW.sub.S<BW.sub.G), and BW.sub.G. In other words, the update unit 2-12 prioritizes lowering the configuration value BW.sub.B by before lowering BW.sub.S and BW.sub.G. However, if BW.sub.B becomes less than or equal to the lower-bound value BW4, the update unit 2-12 prioritizes lowering the configuration value BW.sub.S by before lowering BW.sub.G. Note that if BW.sub.S becomes less than or equal to the lower-bound value BW3, the update unit 2-12 lowers the final remaining configuration value BW.sub.G by .
(59) In this way, the update unit 2-12 repeatedly updates the value of at least one of the configuration values BW.sub.G, BW.sub.S, and BW.sub.B at the above predetermined time interval.
(60) In this way, in the communication management system 2, the configuration value BW of the bandwidth on each communication channel 6 is continuously adjusted according to a measured value of the actual bandwidth on each communication channel 6. Thus, the configuration value BW of the bandwidth on each communication channel 6 is continuously optimized.
(61) Note that an exemplary embodiment of the present invention is not limited to just the above exemplary embodiment.
(62) For example, in the above, contracts for client organizations 8 are prepared by the MVNO, but contracts for individuals may also be prepared. For example, the contracts prepared as contracts for individuals may be a gold contract for users with a high usage frequency during the nighttime (hereinafter designated night users), a silver contract for night users, a bronze contract for night users, a gold contract for users with a high usage frequency during the daytime (hereinafter designated day users), a silver contract for day users, and a bronze contract for day users. In this case, one contract represents one group, rather than one client organization 8 representing one group. In addition, Ch1 is assigned to the groups corresponding to each of the night user gold contract and the day user gold contract, while Ch2 is assigned to the groups corresponding to each of the night user silver contract and the day user silver contract, and Ch3 is assigned to the groups corresponding to each of the night user bronze contract and the day user bronze contract.
(63) For example, the communication management system 2 may also be realized by one server (hereinafter designated the communication management server) among the servers constituting the cloud service system 1. In this case, the transition data DB 2-1, the bandwidth DB 2-5, and the delivery DB 2-7 may be realized by a hard disk provided in the communication management server. In addition, the Ch1 queue 2-6G, the Ch2 queue 2-6S, and the Ch3 queue 2-6B may be realized by main memory provided in the communication management server. In addition, the feature acquisition unit 2-2, the determination unit 2-3, the configuration unit 2-4, the communication controller 2-8, the total acquisition unit 2-10, the comparison unit 2-11, and the update unit 2-12 may be realized by a microprocessor, provided in the communication management server, that executes a communication management program stored in the above main memory. In addition, the communication unit 2-6 may be realized by main memory that realizes the queues, a microprocessor that realizes the communication controller 2-8, and a network interface provided in the communication management server. Also, the actual bandwidth acquisition unit 2-9 may be realized by a network interface and a microprocessor. Note that the above communication management program may be stored in main memory by being read out from a computer-readable information storage medium such as a DVD (registered trademark)-ROM, or stored in main memory by being downloaded from a network.
(64) As another example, in the foregoing, the actual bandwidth acquisition unit 2-9 obtained the measured values BW.sub.Gtraffic, BW.sub.Straffic, and BW.sub.Btraffic by receiving from the terminal G, the terminal S, and the terminal B, but the actual bandwidth acquisition unit 2-9 itself may also measure the measured values BW.sub.Gtraffic, BW.sub.Straffic, and BW.sub.Btraffic. In this case, to measure the measured values BW.sub.Gtraffic, BW.sub.Straffic, and BW.sub.Btraffic, the actual bandwidth acquisition unit 2-9 may transmit a dummy packet to the terminal G, the terminal S, and the terminal B at a predetermined time interval, and compute the measured values BW.sub.Gtraffic, BW.sub.Straffic, and BW.sub.Btraffic from the results of acknowledgements returned from each terminal 10.
(65) As another example, in the foregoing, the update unit 2-12 updates the value of at least one of BW.sub.G, BW.sub.S, and BW.sub.B only when the total BW.sub.traffic smaller than the total BW.sub.SUM, but the update unit 2-12 may also update the value of at least one of BW.sub.G, BW.sub.S, and BW.sub.B even when the total BW.sub.traffic is larger than the total BW.sub.SUM. For example, when the total BW.sub.traffic is larger than the total BW.sub.SUM, the update unit 2-12 may raise the value of at least one of BW.sub.G, BW.sub.S, and BW.sub.B.
(66) Specifically, if the total BW.sub.traffic is larger than the total BW.sub.SUM, the update unit 2-12 computes a value that is one-third the difference between the total BW.sub.SUM and the total BW.sub.traffic (=/3), and raises the value of BW.sub.G, BW.sub.S, and BW.sub.B by . As another example, if the total BW.sub.traffic is larger than the total BW.sub.SUM, the update unit 2-12 raises each of BW.sub.G, BW.sub.S, and BW.sub.B by a value depending on the type of communication channel 6. For example, the update unit 2-12 may compute a value 1 that is one-sixth (1=/6), and raise the value of BW.sub.G by the triple of 1, raise the value of BW.sub.S by the double of 1, and raise the value of BW.sub.B by 1. In this way, the values of BW.sub.G, BW.sub.S, and BW.sub.B are raised so that the total BW.sub.traffic becomes less than or equal to BW.sub.SUM. In addition, when the total BW.sub.traffic is larger than the total BW.sub.SUM, the update unit 2-12 may also revert each of BW.sub.G, BW.sub.S, and BW.sub.B to an initial value. Herein, the initial value refers to the value of each of BW.sub.G, BW.sub.S, and BW.sub.B configured by the configuration unit 2-4. In this case, the communication management system 2 may be additionally equipped with storage unit that stores initial values configured by the configuration unit 2-4, and when the total BW.sub.traffic is larger than the total BW.sub.SUM, the update unit 2-12 may read out the initial values.
(67) In addition, when the total BW.sub.traffic is larger than the total BW.sub.SUM, the update unit 2-12 may raise the value of at least one of BW.sub.G, BW.sub.S, and BW.sub.B according to a priority order BW.sub.G, BW.sub.S, and BW.sub.B. In other words, when the total BW.sub.traffic is larger than the total BW.sub.SUM, the update unit 2-12 prioritizes raising the value of the configuration value BW.sub.G by the above before raising BW.sub.S and BW.sub.B. However, if BW.sub.G+ exceeds the upper-bound value BW1, the update unit 2-12 prioritizes raising the configuration value BW.sub.S by before raising BW.sub.B. Note that if BW.sub.S+ becomes less than or equal to the upper-bound value BW2, the update unit 2-12 raises the final remaining configuration value BW.sub.B by .
(68) The foregoing description of the exemplary embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.